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 SubgroupInvocationID)
0:17              'gl_SubgroupSize' ( in uint SubgroupSize)
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 SubgroupInvocationID)
0:17              'gl_SubgroupSize' ( in uint SubgroupSize)
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})

