hlsl.wavequad.comp
Shader version: 500
local_size = (32, 16, 1)
0:? Sequence
0:13  Function Definition: @CSMain(vu3; ( temp void)
0:13    Function Parameters: 
0:13      'dti' ( in 3-component vector of uint)
0:?     Sequence
0:14      move second child to first child ( temp 4-component vector of uint)
0:14        u: direct index for structure ( temp 4-component vector of uint)
0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:14            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:14              Constant:
0:14                0 (const uint)
0:14            direct index ( temp uint)
0:14              'dti' ( in 3-component vector of uint)
0:14              Constant:
0:14                0 (const int)
0:14          Constant:
0:14            0 (const int)
0:14        subgroupQuadBroadcast ( temp 4-component vector of uint)
0:14          u: direct index for structure ( temp 4-component vector of uint)
0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:14              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:14                Constant:
0:14                  0 (const uint)
0:14              direct index ( temp uint)
0:14                'dti' ( in 3-component vector of uint)
0:14                Constant:
0:14                  0 (const int)
0:14            Constant:
0:14              0 (const int)
0:14          Constant:
0:14            0 (const uint)
0:15      move second child to first child ( temp uint)
0:15        direct index ( temp uint)
0:15          u: direct index for structure ( temp 4-component vector of uint)
0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:15              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:15                Constant:
0:15                  0 (const uint)
0:15              direct index ( temp uint)
0:15                'dti' ( in 3-component vector of uint)
0:15                Constant:
0:15                  0 (const int)
0:15            Constant:
0:15              0 (const int)
0:15          Constant:
0:15            0 (const int)
0:15        subgroupQuadBroadcast ( temp uint)
0:15          direct index ( temp uint)
0:15            u: direct index for structure ( temp 4-component vector of uint)
0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:15                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:15                  Constant:
0:15                    0 (const uint)
0:15                direct index ( temp uint)
0:15                  'dti' ( in 3-component vector of uint)
0:15                  Constant:
0:15                    0 (const int)
0:15              Constant:
0:15                0 (const int)
0:15            Constant:
0:15              0 (const int)
0:15          Constant:
0:15            0 (const uint)
0:16      move second child to first child ( temp 2-component vector of uint)
0:16        vector swizzle ( temp 2-component vector of uint)
0:16          u: direct index for structure ( temp 4-component vector of uint)
0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:16              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:16                Constant:
0:16                  0 (const uint)
0:16              direct index ( temp uint)
0:16                'dti' ( in 3-component vector of uint)
0:16                Constant:
0:16                  0 (const int)
0:16            Constant:
0:16              0 (const int)
0:16          Sequence
0:16            Constant:
0:16              0 (const int)
0:16            Constant:
0:16              1 (const int)
0:16        subgroupQuadBroadcast ( temp 2-component vector of uint)
0:16          vector swizzle ( temp 2-component vector of uint)
0:16            u: direct index for structure ( temp 4-component vector of uint)
0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:16                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:16                  Constant:
0:16                    0 (const uint)
0:16                direct index ( temp uint)
0:16                  'dti' ( in 3-component vector of uint)
0:16                  Constant:
0:16                    0 (const int)
0:16              Constant:
0:16                0 (const int)
0:16            Sequence
0:16              Constant:
0:16                0 (const int)
0:16              Constant:
0:16                1 (const int)
0:16          Constant:
0:16            0 (const uint)
0:17      move second child to first child ( temp 3-component vector of uint)
0:17        vector swizzle ( temp 3-component vector of uint)
0:17          u: direct index for structure ( temp 4-component vector of uint)
0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:17              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:17                Constant:
0:17                  0 (const uint)
0:17              direct index ( temp uint)
0:17                'dti' ( in 3-component vector of uint)
0:17                Constant:
0:17                  0 (const int)
0:17            Constant:
0:17              0 (const int)
0:17          Sequence
0:17            Constant:
0:17              0 (const int)
0:17            Constant:
0:17              1 (const int)
0:17            Constant:
0:17              2 (const int)
0:17        subgroupQuadBroadcast ( temp 3-component vector of uint)
0:17          vector swizzle ( temp 3-component vector of uint)
0:17            u: direct index for structure ( temp 4-component vector of uint)
0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:17                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:17                  Constant:
0:17                    0 (const uint)
0:17                direct index ( temp uint)
0:17                  'dti' ( in 3-component vector of uint)
0:17                  Constant:
0:17                    0 (const int)
0:17              Constant:
0:17                0 (const int)
0:17            Sequence
0:17              Constant:
0:17                0 (const int)
0:17              Constant:
0:17                1 (const int)
0:17              Constant:
0:17                2 (const int)
0:17          Constant:
0:17            0 (const uint)
0:19      move second child to first child ( temp 4-component vector of int)
0:19        i: direct index for structure ( temp 4-component vector of int)
0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:19            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:19              Constant:
0:19                0 (const uint)
0:19            direct index ( temp uint)
0:19              'dti' ( in 3-component vector of uint)
0:19              Constant:
0:19                0 (const int)
0:19          Constant:
0:19            1 (const int)
0:19        subgroupQuadBroadcast ( temp 4-component vector of int)
0:19          i: direct index for structure ( temp 4-component vector of int)
0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:19              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:19                Constant:
0:19                  0 (const uint)
0:19              direct index ( temp uint)
0:19                'dti' ( in 3-component vector of uint)
0:19                Constant:
0:19                  0 (const int)
0:19            Constant:
0:19              1 (const int)
0:19          Constant:
0:19            0 (const uint)
0:20      move second child to first child ( temp int)
0:20        direct index ( temp int)
0:20          i: direct index for structure ( temp 4-component vector of int)
0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:20              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:20                Constant:
0:20                  0 (const uint)
0:20              direct index ( temp uint)
0:20                'dti' ( in 3-component vector of uint)
0:20                Constant:
0:20                  0 (const int)
0:20            Constant:
0:20              1 (const int)
0:20          Constant:
0:20            0 (const int)
0:20        subgroupQuadBroadcast ( temp int)
0:20          direct index ( temp int)
0:20            i: direct index for structure ( temp 4-component vector of int)
0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:20                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:20                  Constant:
0:20                    0 (const uint)
0:20                direct index ( temp uint)
0:20                  'dti' ( in 3-component vector of uint)
0:20                  Constant:
0:20                    0 (const int)
0:20              Constant:
0:20                1 (const int)
0:20            Constant:
0:20              0 (const int)
0:20          Constant:
0:20            0 (const uint)
0:21      move second child to first child ( temp 2-component vector of int)
0:21        vector swizzle ( temp 2-component vector of int)
0:21          i: direct index for structure ( temp 4-component vector of int)
0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:21              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:21                Constant:
0:21                  0 (const uint)
0:21              direct index ( temp uint)
0:21                'dti' ( in 3-component vector of uint)
0:21                Constant:
0:21                  0 (const int)
0:21            Constant:
0:21              1 (const int)
0:21          Sequence
0:21            Constant:
0:21              0 (const int)
0:21            Constant:
0:21              1 (const int)
0:21        subgroupQuadBroadcast ( temp 2-component vector of int)
0:21          vector swizzle ( temp 2-component vector of int)
0:21            i: direct index for structure ( temp 4-component vector of int)
0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:21                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:21                  Constant:
0:21                    0 (const uint)
0:21                direct index ( temp uint)
0:21                  'dti' ( in 3-component vector of uint)
0:21                  Constant:
0:21                    0 (const int)
0:21              Constant:
0:21                1 (const int)
0:21            Sequence
0:21              Constant:
0:21                0 (const int)
0:21              Constant:
0:21                1 (const int)
0:21          Constant:
0:21            0 (const uint)
0:22      move second child to first child ( temp 3-component vector of int)
0:22        vector swizzle ( temp 3-component vector of int)
0:22          i: direct index for structure ( temp 4-component vector of int)
0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:22              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:22                Constant:
0:22                  0 (const uint)
0:22              direct index ( temp uint)
0:22                'dti' ( in 3-component vector of uint)
0:22                Constant:
0:22                  0 (const int)
0:22            Constant:
0:22              1 (const int)
0:22          Sequence
0:22            Constant:
0:22              0 (const int)
0:22            Constant:
0:22              1 (const int)
0:22            Constant:
0:22              2 (const int)
0:22        subgroupQuadBroadcast ( temp 3-component vector of int)
0:22          vector swizzle ( temp 3-component vector of int)
0:22            i: direct index for structure ( temp 4-component vector of int)
0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:22                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:22                  Constant:
0:22                    0 (const uint)
0:22                direct index ( temp uint)
0:22                  'dti' ( in 3-component vector of uint)
0:22                  Constant:
0:22                    0 (const int)
0:22              Constant:
0:22                1 (const int)
0:22            Sequence
0:22              Constant:
0:22                0 (const int)
0:22              Constant:
0:22                1 (const int)
0:22              Constant:
0:22                2 (const int)
0:22          Constant:
0:22            0 (const uint)
0:24      move second child to first child ( temp 4-component vector of float)
0:24        f: direct index for structure ( temp 4-component vector of float)
0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:24            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:24              Constant:
0:24                0 (const uint)
0:24            direct index ( temp uint)
0:24              'dti' ( in 3-component vector of uint)
0:24              Constant:
0:24                0 (const int)
0:24          Constant:
0:24            2 (const int)
0:24        subgroupQuadBroadcast ( temp 4-component vector of float)
0:24          f: direct index for structure ( temp 4-component vector of float)
0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:24              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:24                Constant:
0:24                  0 (const uint)
0:24              direct index ( temp uint)
0:24                'dti' ( in 3-component vector of uint)
0:24                Constant:
0:24                  0 (const int)
0:24            Constant:
0:24              2 (const int)
0:24          Constant:
0:24            0 (const uint)
0:25      move second child to first child ( temp float)
0:25        direct index ( temp float)
0:25          f: direct index for structure ( temp 4-component vector of float)
0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:25              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:25                Constant:
0:25                  0 (const uint)
0:25              direct index ( temp uint)
0:25                'dti' ( in 3-component vector of uint)
0:25                Constant:
0:25                  0 (const int)
0:25            Constant:
0:25              2 (const int)
0:25          Constant:
0:25            0 (const int)
0:25        subgroupQuadBroadcast ( temp float)
0:25          direct index ( temp float)
0:25            f: direct index for structure ( temp 4-component vector of float)
0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:25                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:25                  Constant:
0:25                    0 (const uint)
0:25                direct index ( temp uint)
0:25                  'dti' ( in 3-component vector of uint)
0:25                  Constant:
0:25                    0 (const int)
0:25              Constant:
0:25                2 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          Constant:
0:25            0 (const uint)
0:26      move second child to first child ( temp 2-component vector of float)
0:26        vector swizzle ( temp 2-component vector of float)
0:26          f: direct index for structure ( temp 4-component vector of float)
0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:26              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:26                Constant:
0:26                  0 (const uint)
0:26              direct index ( temp uint)
0:26                'dti' ( in 3-component vector of uint)
0:26                Constant:
0:26                  0 (const int)
0:26            Constant:
0:26              2 (const int)
0:26          Sequence
0:26            Constant:
0:26              0 (const int)
0:26            Constant:
0:26              1 (const int)
0:26        subgroupQuadBroadcast ( temp 2-component vector of float)
0:26          vector swizzle ( temp 2-component vector of float)
0:26            f: direct index for structure ( temp 4-component vector of float)
0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:26                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:26                  Constant:
0:26                    0 (const uint)
0:26                direct index ( temp uint)
0:26                  'dti' ( in 3-component vector of uint)
0:26                  Constant:
0:26                    0 (const int)
0:26              Constant:
0:26                2 (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            0 (const uint)
0:27      move second child to first child ( temp 3-component vector of float)
0:27        vector swizzle ( temp 3-component vector of float)
0:27          f: direct index for structure ( temp 4-component vector of float)
0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:27              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:27                Constant:
0:27                  0 (const uint)
0:27              direct index ( temp uint)
0:27                'dti' ( in 3-component vector of uint)
0:27                Constant:
0:27                  0 (const int)
0:27            Constant:
0:27              2 (const int)
0:27          Sequence
0:27            Constant:
0:27              0 (const int)
0:27            Constant:
0:27              1 (const int)
0:27            Constant:
0:27              2 (const int)
0:27        subgroupQuadBroadcast ( temp 3-component vector of float)
0:27          vector swizzle ( temp 3-component vector of float)
0:27            f: direct index for structure ( temp 4-component vector of float)
0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:27                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:27                  Constant:
0:27                    0 (const uint)
0:27                direct index ( temp uint)
0:27                  'dti' ( in 3-component vector of uint)
0:27                  Constant:
0:27                    0 (const int)
0:27              Constant:
0:27                2 (const int)
0:27            Sequence
0:27              Constant:
0:27                0 (const int)
0:27              Constant:
0:27                1 (const int)
0:27              Constant:
0:27                2 (const int)
0:27          Constant:
0:27            0 (const uint)
0:29      move second child to first child ( temp 4-component vector of double)
0:29        d: direct index for structure ( temp 4-component vector of double)
0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:29            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:29              Constant:
0:29                0 (const uint)
0:29            direct index ( temp uint)
0:29              'dti' ( in 3-component vector of uint)
0:29              Constant:
0:29                0 (const int)
0:29          Constant:
0:29            3 (const int)
0:29        subgroupQuadBroadcast ( temp 4-component vector of double)
0:29          d: direct index for structure ( temp 4-component vector of double)
0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:29              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:29                Constant:
0:29                  0 (const uint)
0:29              direct index ( temp uint)
0:29                'dti' ( in 3-component vector of uint)
0:29                Constant:
0:29                  0 (const int)
0:29            Constant:
0:29              3 (const int)
0:29          Constant:
0:29            0 (const uint)
0:30      move second child to first child ( temp double)
0:30        direct index ( temp double)
0:30          d: direct index for structure ( temp 4-component vector of double)
0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:30              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:30                Constant:
0:30                  0 (const uint)
0:30              direct index ( temp uint)
0:30                'dti' ( in 3-component vector of uint)
0:30                Constant:
0:30                  0 (const int)
0:30            Constant:
0:30              3 (const int)
0:30          Constant:
0:30            0 (const int)
0:30        subgroupQuadBroadcast ( temp double)
0:30          direct index ( temp double)
0:30            d: direct index for structure ( temp 4-component vector of double)
0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:30                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:30                  Constant:
0:30                    0 (const uint)
0:30                direct index ( temp uint)
0:30                  'dti' ( in 3-component vector of uint)
0:30                  Constant:
0:30                    0 (const int)
0:30              Constant:
0:30                3 (const int)
0:30            Constant:
0:30              0 (const int)
0:30          Constant:
0:30            0 (const uint)
0:31      move second child to first child ( temp 2-component vector of double)
0:31        vector swizzle ( temp 2-component vector of double)
0:31          d: direct index for structure ( temp 4-component vector of double)
0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:31              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:31                Constant:
0:31                  0 (const uint)
0:31              direct index ( temp uint)
0:31                'dti' ( in 3-component vector of uint)
0:31                Constant:
0:31                  0 (const int)
0:31            Constant:
0:31              3 (const int)
0:31          Sequence
0:31            Constant:
0:31              0 (const int)
0:31            Constant:
0:31              1 (const int)
0:31        subgroupQuadBroadcast ( temp 2-component vector of double)
0:31          vector swizzle ( temp 2-component vector of double)
0:31            d: direct index for structure ( temp 4-component vector of double)
0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:31                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:31                  Constant:
0:31                    0 (const uint)
0:31                direct index ( temp uint)
0:31                  'dti' ( in 3-component vector of uint)
0:31                  Constant:
0:31                    0 (const int)
0:31              Constant:
0:31                3 (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            0 (const uint)
0:32      move second child to first child ( temp 3-component vector of double)
0:32        vector swizzle ( temp 3-component vector of double)
0:32          d: direct index for structure ( temp 4-component vector of double)
0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:32              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:32                Constant:
0:32                  0 (const uint)
0:32              direct index ( temp uint)
0:32                'dti' ( in 3-component vector of uint)
0:32                Constant:
0:32                  0 (const int)
0:32            Constant:
0:32              3 (const int)
0:32          Sequence
0:32            Constant:
0:32              0 (const int)
0:32            Constant:
0:32              1 (const int)
0:32            Constant:
0:32              2 (const int)
0:32        subgroupQuadBroadcast ( temp 3-component vector of double)
0:32          vector swizzle ( temp 3-component vector of double)
0:32            d: direct index for structure ( temp 4-component vector of double)
0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:32                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:32                  Constant:
0:32                    0 (const uint)
0:32                direct index ( temp uint)
0:32                  'dti' ( in 3-component vector of uint)
0:32                  Constant:
0:32                    0 (const int)
0:32              Constant:
0:32                3 (const int)
0:32            Sequence
0:32              Constant:
0:32                0 (const int)
0:32              Constant:
0:32                1 (const int)
0:32              Constant:
0:32                2 (const int)
0:32          Constant:
0:32            0 (const uint)
0:34      move second child to first child ( temp 4-component vector of uint)
0:34        u: direct index for structure ( temp 4-component vector of uint)
0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:34            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:34              Constant:
0:34                0 (const uint)
0:34            direct index ( temp uint)
0:34              'dti' ( in 3-component vector of uint)
0:34              Constant:
0:34                0 (const int)
0:34          Constant:
0:34            0 (const int)
0:34        subgroupQuadBroadcast ( temp 4-component vector of uint)
0:34          u: direct index for structure ( temp 4-component vector of uint)
0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:34              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:34                Constant:
0:34                  0 (const uint)
0:34              direct index ( temp uint)
0:34                'dti' ( in 3-component vector of uint)
0:34                Constant:
0:34                  0 (const int)
0:34            Constant:
0:34              0 (const int)
0:34          Constant:
0:34            1 (const uint)
0:35      move second child to first child ( temp uint)
0:35        direct index ( temp uint)
0:35          u: direct index for structure ( temp 4-component vector of uint)
0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:35              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:35                Constant:
0:35                  0 (const uint)
0:35              direct index ( temp uint)
0:35                'dti' ( in 3-component vector of uint)
0:35                Constant:
0:35                  0 (const int)
0:35            Constant:
0:35              0 (const int)
0:35          Constant:
0:35            0 (const int)
0:35        subgroupQuadBroadcast ( temp uint)
0:35          direct index ( temp uint)
0:35            u: direct index for structure ( temp 4-component vector of uint)
0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:35                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:35                  Constant:
0:35                    0 (const uint)
0:35                direct index ( temp uint)
0:35                  'dti' ( in 3-component vector of uint)
0:35                  Constant:
0:35                    0 (const int)
0:35              Constant:
0:35                0 (const int)
0:35            Constant:
0:35              0 (const int)
0:35          Constant:
0:35            1 (const uint)
0:36      move second child to first child ( temp 2-component vector of uint)
0:36        vector swizzle ( temp 2-component vector of uint)
0:36          u: direct index for structure ( temp 4-component vector of uint)
0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:36              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:36                Constant:
0:36                  0 (const uint)
0:36              direct index ( temp uint)
0:36                'dti' ( in 3-component vector of uint)
0:36                Constant:
0:36                  0 (const int)
0:36            Constant:
0:36              0 (const int)
0:36          Sequence
0:36            Constant:
0:36              0 (const int)
0:36            Constant:
0:36              1 (const int)
0:36        subgroupQuadBroadcast ( temp 2-component vector of uint)
0:36          vector swizzle ( temp 2-component vector of uint)
0:36            u: direct index for structure ( temp 4-component vector of uint)
0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:36                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:36                  Constant:
0:36                    0 (const uint)
0:36                direct index ( temp uint)
0:36                  'dti' ( in 3-component vector of uint)
0:36                  Constant:
0:36                    0 (const int)
0:36              Constant:
0:36                0 (const int)
0:36            Sequence
0:36              Constant:
0:36                0 (const int)
0:36              Constant:
0:36                1 (const int)
0:36          Constant:
0:36            1 (const uint)
0:37      move second child to first child ( temp 3-component vector of uint)
0:37        vector swizzle ( temp 3-component vector of uint)
0:37          u: direct index for structure ( temp 4-component vector of uint)
0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:37              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:37                Constant:
0:37                  0 (const uint)
0:37              direct index ( temp uint)
0:37                'dti' ( in 3-component vector of uint)
0:37                Constant:
0:37                  0 (const int)
0:37            Constant:
0:37              0 (const int)
0:37          Sequence
0:37            Constant:
0:37              0 (const int)
0:37            Constant:
0:37              1 (const int)
0:37            Constant:
0:37              2 (const int)
0:37        subgroupQuadBroadcast ( temp 3-component vector of uint)
0:37          vector swizzle ( temp 3-component vector of uint)
0:37            u: direct index for structure ( temp 4-component vector of uint)
0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:37                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:37                  Constant:
0:37                    0 (const uint)
0:37                direct index ( temp uint)
0:37                  'dti' ( in 3-component vector of uint)
0:37                  Constant:
0:37                    0 (const int)
0:37              Constant:
0:37                0 (const int)
0:37            Sequence
0:37              Constant:
0:37                0 (const int)
0:37              Constant:
0:37                1 (const int)
0:37              Constant:
0:37                2 (const int)
0:37          Constant:
0:37            1 (const uint)
0:39      move second child to first child ( temp 4-component vector of int)
0:39        i: direct index for structure ( temp 4-component vector of int)
0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:39            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:39              Constant:
0:39                0 (const uint)
0:39            direct index ( temp uint)
0:39              'dti' ( in 3-component vector of uint)
0:39              Constant:
0:39                0 (const int)
0:39          Constant:
0:39            1 (const int)
0:39        subgroupQuadBroadcast ( temp 4-component vector of int)
0:39          i: direct index for structure ( temp 4-component vector of int)
0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:39              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:39                Constant:
0:39                  0 (const uint)
0:39              direct index ( temp uint)
0:39                'dti' ( in 3-component vector of uint)
0:39                Constant:
0:39                  0 (const int)
0:39            Constant:
0:39              1 (const int)
0:39          Constant:
0:39            1 (const uint)
0:40      move second child to first child ( temp int)
0:40        direct index ( temp int)
0:40          i: direct index for structure ( temp 4-component vector of int)
0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:40              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:40                Constant:
0:40                  0 (const uint)
0:40              direct index ( temp uint)
0:40                'dti' ( in 3-component vector of uint)
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        subgroupQuadBroadcast ( temp int)
0:40          direct index ( temp int)
0:40            i: direct index for structure ( temp 4-component vector of int)
0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:40                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:40                  Constant:
0:40                    0 (const uint)
0:40                direct index ( temp uint)
0:40                  'dti' ( in 3-component vector of uint)
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          Constant:
0:40            1 (const uint)
0:41      move second child to first child ( temp 2-component vector of int)
0:41        vector swizzle ( temp 2-component vector of int)
0:41          i: direct index for structure ( temp 4-component vector of int)
0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:41              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:41                Constant:
0:41                  0 (const uint)
0:41              direct index ( temp uint)
0:41                'dti' ( in 3-component vector of uint)
0:41                Constant:
0:41                  0 (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        subgroupQuadBroadcast ( temp 2-component vector of int)
0:41          vector swizzle ( temp 2-component vector of int)
0:41            i: direct index for structure ( temp 4-component vector of int)
0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:41                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:41                  Constant:
0:41                    0 (const uint)
0:41                direct index ( temp uint)
0:41                  'dti' ( in 3-component vector of uint)
0:41                  Constant:
0:41                    0 (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            1 (const uint)
0:42      move second child to first child ( temp 3-component vector of int)
0:42        vector swizzle ( temp 3-component vector of int)
0:42          i: direct index for structure ( temp 4-component vector of int)
0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:42              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:42                Constant:
0:42                  0 (const uint)
0:42              direct index ( temp uint)
0:42                'dti' ( in 3-component vector of uint)
0:42                Constant:
0:42                  0 (const int)
0:42            Constant:
0:42              1 (const int)
0:42          Sequence
0:42            Constant:
0:42              0 (const int)
0:42            Constant:
0:42              1 (const int)
0:42            Constant:
0:42              2 (const int)
0:42        subgroupQuadBroadcast ( temp 3-component vector of int)
0:42          vector swizzle ( temp 3-component vector of int)
0:42            i: direct index for structure ( temp 4-component vector of int)
0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:42                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:42                  Constant:
0:42                    0 (const uint)
0:42                direct index ( temp uint)
0:42                  'dti' ( in 3-component vector of uint)
0:42                  Constant:
0:42                    0 (const int)
0:42              Constant:
0:42                1 (const int)
0:42            Sequence
0:42              Constant:
0:42                0 (const int)
0:42              Constant:
0:42                1 (const int)
0:42              Constant:
0:42                2 (const int)
0:42          Constant:
0:42            1 (const uint)
0:44      move second child to first child ( temp 4-component vector of float)
0:44        f: direct index for structure ( temp 4-component vector of float)
0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:44            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:44              Constant:
0:44                0 (const uint)
0:44            direct index ( temp uint)
0:44              'dti' ( in 3-component vector of uint)
0:44              Constant:
0:44                0 (const int)
0:44          Constant:
0:44            2 (const int)
0:44        subgroupQuadBroadcast ( temp 4-component vector of float)
0:44          f: direct index for structure ( temp 4-component vector of float)
0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:44              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:44                Constant:
0:44                  0 (const uint)
0:44              direct index ( temp uint)
0:44                'dti' ( in 3-component vector of uint)
0:44                Constant:
0:44                  0 (const int)
0:44            Constant:
0:44              2 (const int)
0:44          Constant:
0:44            1 (const uint)
0:45      move second child to first child ( temp float)
0:45        direct index ( temp float)
0:45          f: direct index for structure ( temp 4-component vector of float)
0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:45              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:45                Constant:
0:45                  0 (const uint)
0:45              direct index ( temp uint)
0:45                'dti' ( in 3-component vector of uint)
0:45                Constant:
0:45                  0 (const int)
0:45            Constant:
0:45              2 (const int)
0:45          Constant:
0:45            0 (const int)
0:45        subgroupQuadBroadcast ( temp float)
0:45          direct index ( temp float)
0:45            f: direct index for structure ( temp 4-component vector of float)
0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:45                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:45                  Constant:
0:45                    0 (const uint)
0:45                direct index ( temp uint)
0:45                  'dti' ( in 3-component vector of uint)
0:45                  Constant:
0:45                    0 (const int)
0:45              Constant:
0:45                2 (const int)
0:45            Constant:
0:45              0 (const int)
0:45          Constant:
0:45            1 (const uint)
0:46      move second child to first child ( temp 2-component vector of float)
0:46        vector swizzle ( temp 2-component vector of float)
0:46          f: direct index for structure ( temp 4-component vector of float)
0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:46              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:46                Constant:
0:46                  0 (const uint)
0:46              direct index ( temp uint)
0:46                'dti' ( in 3-component vector of uint)
0:46                Constant:
0:46                  0 (const int)
0:46            Constant:
0:46              2 (const int)
0:46          Sequence
0:46            Constant:
0:46              0 (const int)
0:46            Constant:
0:46              1 (const int)
0:46        subgroupQuadBroadcast ( temp 2-component vector of float)
0:46          vector swizzle ( temp 2-component vector of float)
0:46            f: direct index for structure ( temp 4-component vector of float)
0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:46                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:46                  Constant:
0:46                    0 (const uint)
0:46                direct index ( temp uint)
0:46                  'dti' ( in 3-component vector of uint)
0:46                  Constant:
0:46                    0 (const int)
0:46              Constant:
0:46                2 (const int)
0:46            Sequence
0:46              Constant:
0:46                0 (const int)
0:46              Constant:
0:46                1 (const int)
0:46          Constant:
0:46            1 (const uint)
0:47      move second child to first child ( temp 3-component vector of float)
0:47        vector swizzle ( temp 3-component vector of float)
0:47          f: direct index for structure ( temp 4-component vector of float)
0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:47              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:47                Constant:
0:47                  0 (const uint)
0:47              direct index ( temp uint)
0:47                'dti' ( in 3-component vector of uint)
0:47                Constant:
0:47                  0 (const int)
0:47            Constant:
0:47              2 (const int)
0:47          Sequence
0:47            Constant:
0:47              0 (const int)
0:47            Constant:
0:47              1 (const int)
0:47            Constant:
0:47              2 (const int)
0:47        subgroupQuadBroadcast ( temp 3-component vector of float)
0:47          vector swizzle ( temp 3-component vector of float)
0:47            f: direct index for structure ( temp 4-component vector of float)
0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:47                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:47                  Constant:
0:47                    0 (const uint)
0:47                direct index ( temp uint)
0:47                  'dti' ( in 3-component vector of uint)
0:47                  Constant:
0:47                    0 (const int)
0:47              Constant:
0:47                2 (const int)
0:47            Sequence
0:47              Constant:
0:47                0 (const int)
0:47              Constant:
0:47                1 (const int)
0:47              Constant:
0:47                2 (const int)
0:47          Constant:
0:47            1 (const uint)
0:49      move second child to first child ( temp 4-component vector of double)
0:49        d: direct index for structure ( temp 4-component vector of double)
0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:49            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:49              Constant:
0:49                0 (const uint)
0:49            direct index ( temp uint)
0:49              'dti' ( in 3-component vector of uint)
0:49              Constant:
0:49                0 (const int)
0:49          Constant:
0:49            3 (const int)
0:49        subgroupQuadBroadcast ( temp 4-component vector of double)
0:49          d: direct index for structure ( temp 4-component vector of double)
0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:49              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:49                Constant:
0:49                  0 (const uint)
0:49              direct index ( temp uint)
0:49                'dti' ( in 3-component vector of uint)
0:49                Constant:
0:49                  0 (const int)
0:49            Constant:
0:49              3 (const int)
0:49          Constant:
0:49            1 (const uint)
0:50      move second child to first child ( temp double)
0:50        direct index ( temp double)
0:50          d: direct index for structure ( temp 4-component vector of double)
0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:50              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:50                Constant:
0:50                  0 (const uint)
0:50              direct index ( temp uint)
0:50                'dti' ( in 3-component vector of uint)
0:50                Constant:
0:50                  0 (const int)
0:50            Constant:
0:50              3 (const int)
0:50          Constant:
0:50            0 (const int)
0:50        subgroupQuadBroadcast ( temp double)
0:50          direct index ( temp double)
0:50            d: direct index for structure ( temp 4-component vector of double)
0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:50                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:50                  Constant:
0:50                    0 (const uint)
0:50                direct index ( temp uint)
0:50                  'dti' ( in 3-component vector of uint)
0:50                  Constant:
0:50                    0 (const int)
0:50              Constant:
0:50                3 (const int)
0:50            Constant:
0:50              0 (const int)
0:50          Constant:
0:50            1 (const uint)
0:51      move second child to first child ( temp 2-component vector of double)
0:51        vector swizzle ( temp 2-component vector of double)
0:51          d: direct index for structure ( temp 4-component vector of double)
0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:51              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:51                Constant:
0:51                  0 (const uint)
0:51              direct index ( temp uint)
0:51                'dti' ( in 3-component vector of uint)
0:51                Constant:
0:51                  0 (const int)
0:51            Constant:
0:51              3 (const int)
0:51          Sequence
0:51            Constant:
0:51              0 (const int)
0:51            Constant:
0:51              1 (const int)
0:51        subgroupQuadBroadcast ( temp 2-component vector of double)
0:51          vector swizzle ( temp 2-component vector of double)
0:51            d: direct index for structure ( temp 4-component vector of double)
0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:51                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:51                  Constant:
0:51                    0 (const uint)
0:51                direct index ( temp uint)
0:51                  'dti' ( in 3-component vector of uint)
0:51                  Constant:
0:51                    0 (const int)
0:51              Constant:
0:51                3 (const int)
0:51            Sequence
0:51              Constant:
0:51                0 (const int)
0:51              Constant:
0:51                1 (const int)
0:51          Constant:
0:51            1 (const uint)
0:52      move second child to first child ( temp 3-component vector of double)
0:52        vector swizzle ( temp 3-component vector of double)
0:52          d: direct index for structure ( temp 4-component vector of double)
0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:52              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:52                Constant:
0:52                  0 (const uint)
0:52              direct index ( temp uint)
0:52                'dti' ( in 3-component vector of uint)
0:52                Constant:
0:52                  0 (const int)
0:52            Constant:
0:52              3 (const int)
0:52          Sequence
0:52            Constant:
0:52              0 (const int)
0:52            Constant:
0:52              1 (const int)
0:52            Constant:
0:52              2 (const int)
0:52        subgroupQuadBroadcast ( temp 3-component vector of double)
0:52          vector swizzle ( temp 3-component vector of double)
0:52            d: direct index for structure ( temp 4-component vector of double)
0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:52                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:52                  Constant:
0:52                    0 (const uint)
0:52                direct index ( temp uint)
0:52                  'dti' ( in 3-component vector of uint)
0:52                  Constant:
0:52                    0 (const int)
0:52              Constant:
0:52                3 (const int)
0:52            Sequence
0:52              Constant:
0:52                0 (const int)
0:52              Constant:
0:52                1 (const int)
0:52              Constant:
0:52                2 (const int)
0:52          Constant:
0:52            1 (const uint)
0:54      move second child to first child ( temp 4-component vector of uint)
0:54        u: direct index for structure ( temp 4-component vector of uint)
0:54          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:54            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:54              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:54              Constant:
0:54                0 (const uint)
0:54            direct index ( temp uint)
0:54              'dti' ( in 3-component vector of uint)
0:54              Constant:
0:54                0 (const int)
0:54          Constant:
0:54            0 (const int)
0:54        subgroupQuadBroadcast ( temp 4-component vector of uint)
0:54          u: direct index for structure ( temp 4-component vector of uint)
0:54            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:54              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:54                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:54                Constant:
0:54                  0 (const uint)
0:54              direct index ( temp uint)
0:54                'dti' ( in 3-component vector of uint)
0:54                Constant:
0:54                  0 (const int)
0:54            Constant:
0:54              0 (const int)
0:54          Constant:
0:54            2 (const uint)
0:55      move second child to first child ( temp uint)
0:55        direct index ( temp uint)
0:55          u: direct index for structure ( temp 4-component vector of uint)
0:55            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:55              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:55                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:55                Constant:
0:55                  0 (const uint)
0:55              direct index ( temp uint)
0:55                'dti' ( in 3-component vector of uint)
0:55                Constant:
0:55                  0 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          Constant:
0:55            0 (const int)
0:55        subgroupQuadBroadcast ( temp uint)
0:55          direct index ( temp uint)
0:55            u: direct index for structure ( temp 4-component vector of uint)
0:55              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:55                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:55                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:55                  Constant:
0:55                    0 (const uint)
0:55                direct index ( temp uint)
0:55                  'dti' ( in 3-component vector of uint)
0:55                  Constant:
0:55                    0 (const int)
0:55              Constant:
0:55                0 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          Constant:
0:55            2 (const uint)
0:56      move second child to first child ( temp 2-component vector of uint)
0:56        vector swizzle ( temp 2-component vector of uint)
0:56          u: direct index for structure ( temp 4-component vector of uint)
0:56            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:56              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:56                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:56                Constant:
0:56                  0 (const uint)
0:56              direct index ( temp uint)
0:56                'dti' ( in 3-component vector of uint)
0:56                Constant:
0:56                  0 (const int)
0:56            Constant:
0:56              0 (const int)
0:56          Sequence
0:56            Constant:
0:56              0 (const int)
0:56            Constant:
0:56              1 (const int)
0:56        subgroupQuadBroadcast ( temp 2-component vector of uint)
0:56          vector swizzle ( temp 2-component vector of uint)
0:56            u: direct index for structure ( temp 4-component vector of uint)
0:56              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:56                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:56                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:56                  Constant:
0:56                    0 (const uint)
0:56                direct index ( temp uint)
0:56                  'dti' ( in 3-component vector of uint)
0:56                  Constant:
0:56                    0 (const int)
0:56              Constant:
0:56                0 (const int)
0:56            Sequence
0:56              Constant:
0:56                0 (const int)
0:56              Constant:
0:56                1 (const int)
0:56          Constant:
0:56            2 (const uint)
0:57      move second child to first child ( temp 3-component vector of uint)
0:57        vector swizzle ( temp 3-component vector of uint)
0:57          u: direct index for structure ( temp 4-component vector of uint)
0:57            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:57              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:57                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:57                Constant:
0:57                  0 (const uint)
0:57              direct index ( temp uint)
0:57                'dti' ( in 3-component vector of uint)
0:57                Constant:
0:57                  0 (const int)
0:57            Constant:
0:57              0 (const int)
0:57          Sequence
0:57            Constant:
0:57              0 (const int)
0:57            Constant:
0:57              1 (const int)
0:57            Constant:
0:57              2 (const int)
0:57        subgroupQuadBroadcast ( temp 3-component vector of uint)
0:57          vector swizzle ( temp 3-component vector of uint)
0:57            u: direct index for structure ( temp 4-component vector of uint)
0:57              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:57                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:57                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:57                  Constant:
0:57                    0 (const uint)
0:57                direct index ( temp uint)
0:57                  'dti' ( in 3-component vector of uint)
0:57                  Constant:
0:57                    0 (const int)
0:57              Constant:
0:57                0 (const int)
0:57            Sequence
0:57              Constant:
0:57                0 (const int)
0:57              Constant:
0:57                1 (const int)
0:57              Constant:
0:57                2 (const int)
0:57          Constant:
0:57            2 (const uint)
0:59      move second child to first child ( temp 4-component vector of int)
0:59        i: direct index for structure ( temp 4-component vector of int)
0:59          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:59            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:59              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:59              Constant:
0:59                0 (const uint)
0:59            direct index ( temp uint)
0:59              'dti' ( in 3-component vector of uint)
0:59              Constant:
0:59                0 (const int)
0:59          Constant:
0:59            1 (const int)
0:59        subgroupQuadBroadcast ( temp 4-component vector of int)
0:59          i: direct index for structure ( temp 4-component vector of int)
0:59            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:59              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:59                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:59                Constant:
0:59                  0 (const uint)
0:59              direct index ( temp uint)
0:59                'dti' ( in 3-component vector of uint)
0:59                Constant:
0:59                  0 (const int)
0:59            Constant:
0:59              1 (const int)
0:59          Constant:
0:59            2 (const uint)
0:60      move second child to first child ( temp int)
0:60        direct index ( temp int)
0:60          i: direct index for structure ( temp 4-component vector of int)
0:60            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:60              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:60                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:60                Constant:
0:60                  0 (const uint)
0:60              direct index ( temp uint)
0:60                'dti' ( in 3-component vector of uint)
0:60                Constant:
0:60                  0 (const int)
0:60            Constant:
0:60              1 (const int)
0:60          Constant:
0:60            0 (const int)
0:60        subgroupQuadBroadcast ( temp int)
0:60          direct index ( temp int)
0:60            i: direct index for structure ( temp 4-component vector of int)
0:60              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:60                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:60                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:60                  Constant:
0:60                    0 (const uint)
0:60                direct index ( temp uint)
0:60                  'dti' ( in 3-component vector of uint)
0:60                  Constant:
0:60                    0 (const int)
0:60              Constant:
0:60                1 (const int)
0:60            Constant:
0:60              0 (const int)
0:60          Constant:
0:60            2 (const uint)
0:61      move second child to first child ( temp 2-component vector of int)
0:61        vector swizzle ( temp 2-component vector of int)
0:61          i: direct index for structure ( temp 4-component vector of int)
0:61            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:61              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:61                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:61                Constant:
0:61                  0 (const uint)
0:61              direct index ( temp uint)
0:61                'dti' ( in 3-component vector of uint)
0:61                Constant:
0:61                  0 (const int)
0:61            Constant:
0:61              1 (const int)
0:61          Sequence
0:61            Constant:
0:61              0 (const int)
0:61            Constant:
0:61              1 (const int)
0:61        subgroupQuadBroadcast ( temp 2-component vector of int)
0:61          vector swizzle ( temp 2-component vector of int)
0:61            i: direct index for structure ( temp 4-component vector of int)
0:61              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:61                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:61                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:61                  Constant:
0:61                    0 (const uint)
0:61                direct index ( temp uint)
0:61                  'dti' ( in 3-component vector of uint)
0:61                  Constant:
0:61                    0 (const int)
0:61              Constant:
0:61                1 (const int)
0:61            Sequence
0:61              Constant:
0:61                0 (const int)
0:61              Constant:
0:61                1 (const int)
0:61          Constant:
0:61            2 (const uint)
0:62      move second child to first child ( temp 3-component vector of int)
0:62        vector swizzle ( temp 3-component vector of int)
0:62          i: direct index for structure ( temp 4-component vector of int)
0:62            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:62              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:62                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:62                Constant:
0:62                  0 (const uint)
0:62              direct index ( temp uint)
0:62                'dti' ( in 3-component vector of uint)
0:62                Constant:
0:62                  0 (const int)
0:62            Constant:
0:62              1 (const int)
0:62          Sequence
0:62            Constant:
0:62              0 (const int)
0:62            Constant:
0:62              1 (const int)
0:62            Constant:
0:62              2 (const int)
0:62        subgroupQuadBroadcast ( temp 3-component vector of int)
0:62          vector swizzle ( temp 3-component vector of int)
0:62            i: direct index for structure ( temp 4-component vector of int)
0:62              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:62                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:62                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:62                  Constant:
0:62                    0 (const uint)
0:62                direct index ( temp uint)
0:62                  'dti' ( in 3-component vector of uint)
0:62                  Constant:
0:62                    0 (const int)
0:62              Constant:
0:62                1 (const int)
0:62            Sequence
0:62              Constant:
0:62                0 (const int)
0:62              Constant:
0:62                1 (const int)
0:62              Constant:
0:62                2 (const int)
0:62          Constant:
0:62            2 (const uint)
0:64      move second child to first child ( temp 4-component vector of float)
0:64        f: direct index for structure ( temp 4-component vector of float)
0:64          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:64            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:64              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:64              Constant:
0:64                0 (const uint)
0:64            direct index ( temp uint)
0:64              'dti' ( in 3-component vector of uint)
0:64              Constant:
0:64                0 (const int)
0:64          Constant:
0:64            2 (const int)
0:64        subgroupQuadBroadcast ( temp 4-component vector of float)
0:64          f: direct index for structure ( temp 4-component vector of float)
0:64            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:64              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:64                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:64                Constant:
0:64                  0 (const uint)
0:64              direct index ( temp uint)
0:64                'dti' ( in 3-component vector of uint)
0:64                Constant:
0:64                  0 (const int)
0:64            Constant:
0:64              2 (const int)
0:64          Constant:
0:64            2 (const uint)
0:65      move second child to first child ( temp float)
0:65        direct index ( temp float)
0:65          f: direct index for structure ( temp 4-component vector of float)
0:65            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:65              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:65                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:65                Constant:
0:65                  0 (const uint)
0:65              direct index ( temp uint)
0:65                'dti' ( in 3-component vector of uint)
0:65                Constant:
0:65                  0 (const int)
0:65            Constant:
0:65              2 (const int)
0:65          Constant:
0:65            0 (const int)
0:65        subgroupQuadBroadcast ( temp float)
0:65          direct index ( temp float)
0:65            f: direct index for structure ( temp 4-component vector of float)
0:65              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:65                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:65                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:65                  Constant:
0:65                    0 (const uint)
0:65                direct index ( temp uint)
0:65                  'dti' ( in 3-component vector of uint)
0:65                  Constant:
0:65                    0 (const int)
0:65              Constant:
0:65                2 (const int)
0:65            Constant:
0:65              0 (const int)
0:65          Constant:
0:65            2 (const uint)
0:66      move second child to first child ( temp 2-component vector of float)
0:66        vector swizzle ( temp 2-component vector of float)
0:66          f: direct index for structure ( temp 4-component vector of float)
0:66            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:66              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:66                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:66                Constant:
0:66                  0 (const uint)
0:66              direct index ( temp uint)
0:66                'dti' ( in 3-component vector of uint)
0:66                Constant:
0:66                  0 (const int)
0:66            Constant:
0:66              2 (const int)
0:66          Sequence
0:66            Constant:
0:66              0 (const int)
0:66            Constant:
0:66              1 (const int)
0:66        subgroupQuadBroadcast ( temp 2-component vector of float)
0:66          vector swizzle ( temp 2-component vector of float)
0:66            f: direct index for structure ( temp 4-component vector of float)
0:66              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:66                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:66                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:66                  Constant:
0:66                    0 (const uint)
0:66                direct index ( temp uint)
0:66                  'dti' ( in 3-component vector of uint)
0:66                  Constant:
0:66                    0 (const int)
0:66              Constant:
0:66                2 (const int)
0:66            Sequence
0:66              Constant:
0:66                0 (const int)
0:66              Constant:
0:66                1 (const int)
0:66          Constant:
0:66            2 (const uint)
0:67      move second child to first child ( temp 3-component vector of float)
0:67        vector swizzle ( temp 3-component vector of float)
0:67          f: direct index for structure ( temp 4-component vector of float)
0:67            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:67              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:67                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:67                Constant:
0:67                  0 (const uint)
0:67              direct index ( temp uint)
0:67                'dti' ( in 3-component vector of uint)
0:67                Constant:
0:67                  0 (const int)
0:67            Constant:
0:67              2 (const int)
0:67          Sequence
0:67            Constant:
0:67              0 (const int)
0:67            Constant:
0:67              1 (const int)
0:67            Constant:
0:67              2 (const int)
0:67        subgroupQuadBroadcast ( temp 3-component vector of float)
0:67          vector swizzle ( temp 3-component vector of float)
0:67            f: direct index for structure ( temp 4-component vector of float)
0:67              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:67                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:67                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:67                  Constant:
0:67                    0 (const uint)
0:67                direct index ( temp uint)
0:67                  'dti' ( in 3-component vector of uint)
0:67                  Constant:
0:67                    0 (const int)
0:67              Constant:
0:67                2 (const int)
0:67            Sequence
0:67              Constant:
0:67                0 (const int)
0:67              Constant:
0:67                1 (const int)
0:67              Constant:
0:67                2 (const int)
0:67          Constant:
0:67            2 (const uint)
0:69      move second child to first child ( temp 4-component vector of double)
0:69        d: direct index for structure ( temp 4-component vector of double)
0:69          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:69            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:69              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:69              Constant:
0:69                0 (const uint)
0:69            direct index ( temp uint)
0:69              'dti' ( in 3-component vector of uint)
0:69              Constant:
0:69                0 (const int)
0:69          Constant:
0:69            3 (const int)
0:69        subgroupQuadBroadcast ( temp 4-component vector of double)
0:69          d: direct index for structure ( temp 4-component vector of double)
0:69            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:69              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:69                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:69                Constant:
0:69                  0 (const uint)
0:69              direct index ( temp uint)
0:69                'dti' ( in 3-component vector of uint)
0:69                Constant:
0:69                  0 (const int)
0:69            Constant:
0:69              3 (const int)
0:69          Constant:
0:69            2 (const uint)
0:70      move second child to first child ( temp double)
0:70        direct index ( temp double)
0:70          d: direct index for structure ( temp 4-component vector of double)
0:70            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:70              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:70                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:70                Constant:
0:70                  0 (const uint)
0:70              direct index ( temp uint)
0:70                'dti' ( in 3-component vector of uint)
0:70                Constant:
0:70                  0 (const int)
0:70            Constant:
0:70              3 (const int)
0:70          Constant:
0:70            0 (const int)
0:70        subgroupQuadBroadcast ( temp double)
0:70          direct index ( temp double)
0:70            d: direct index for structure ( temp 4-component vector of double)
0:70              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:70                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:70                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:70                  Constant:
0:70                    0 (const uint)
0:70                direct index ( temp uint)
0:70                  'dti' ( in 3-component vector of uint)
0:70                  Constant:
0:70                    0 (const int)
0:70              Constant:
0:70                3 (const int)
0:70            Constant:
0:70              0 (const int)
0:70          Constant:
0:70            2 (const uint)
0:71      move second child to first child ( temp 2-component vector of double)
0:71        vector swizzle ( temp 2-component vector of double)
0:71          d: direct index for structure ( temp 4-component vector of double)
0:71            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:71              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:71                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:71                Constant:
0:71                  0 (const uint)
0:71              direct index ( temp uint)
0:71                'dti' ( in 3-component vector of uint)
0:71                Constant:
0:71                  0 (const int)
0:71            Constant:
0:71              3 (const int)
0:71          Sequence
0:71            Constant:
0:71              0 (const int)
0:71            Constant:
0:71              1 (const int)
0:71        subgroupQuadBroadcast ( temp 2-component vector of double)
0:71          vector swizzle ( temp 2-component vector of double)
0:71            d: direct index for structure ( temp 4-component vector of double)
0:71              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:71                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:71                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:71                  Constant:
0:71                    0 (const uint)
0:71                direct index ( temp uint)
0:71                  'dti' ( in 3-component vector of uint)
0:71                  Constant:
0:71                    0 (const int)
0:71              Constant:
0:71                3 (const int)
0:71            Sequence
0:71              Constant:
0:71                0 (const int)
0:71              Constant:
0:71                1 (const int)
0:71          Constant:
0:71            2 (const uint)
0:72      move second child to first child ( temp 3-component vector of double)
0:72        vector swizzle ( temp 3-component vector of double)
0:72          d: direct index for structure ( temp 4-component vector of double)
0:72            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:72              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:72                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:72                Constant:
0:72                  0 (const uint)
0:72              direct index ( temp uint)
0:72                'dti' ( in 3-component vector of uint)
0:72                Constant:
0:72                  0 (const int)
0:72            Constant:
0:72              3 (const int)
0:72          Sequence
0:72            Constant:
0:72              0 (const int)
0:72            Constant:
0:72              1 (const int)
0:72            Constant:
0:72              2 (const int)
0:72        subgroupQuadBroadcast ( temp 3-component vector of double)
0:72          vector swizzle ( temp 3-component vector of double)
0:72            d: direct index for structure ( temp 4-component vector of double)
0:72              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:72                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:72                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:72                  Constant:
0:72                    0 (const uint)
0:72                direct index ( temp uint)
0:72                  'dti' ( in 3-component vector of uint)
0:72                  Constant:
0:72                    0 (const int)
0:72              Constant:
0:72                3 (const int)
0:72            Sequence
0:72              Constant:
0:72                0 (const int)
0:72              Constant:
0:72                1 (const int)
0:72              Constant:
0:72                2 (const int)
0:72          Constant:
0:72            2 (const uint)
0:74      move second child to first child ( temp 4-component vector of uint)
0:74        u: direct index for structure ( temp 4-component vector of uint)
0:74          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:74            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:74              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:74              Constant:
0:74                0 (const uint)
0:74            direct index ( temp uint)
0:74              'dti' ( in 3-component vector of uint)
0:74              Constant:
0:74                0 (const int)
0:74          Constant:
0:74            0 (const int)
0:74        subgroupQuadBroadcast ( temp 4-component vector of uint)
0:74          u: direct index for structure ( temp 4-component vector of uint)
0:74            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:74              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:74                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:74                Constant:
0:74                  0 (const uint)
0:74              direct index ( temp uint)
0:74                'dti' ( in 3-component vector of uint)
0:74                Constant:
0:74                  0 (const int)
0:74            Constant:
0:74              0 (const int)
0:74          Constant:
0:74            3 (const uint)
0:75      move second child to first child ( temp uint)
0:75        direct index ( temp uint)
0:75          u: direct index for structure ( temp 4-component vector of uint)
0:75            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:75              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:75                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:75                Constant:
0:75                  0 (const uint)
0:75              direct index ( temp uint)
0:75                'dti' ( in 3-component vector of uint)
0:75                Constant:
0:75                  0 (const int)
0:75            Constant:
0:75              0 (const int)
0:75          Constant:
0:75            0 (const int)
0:75        subgroupQuadBroadcast ( temp uint)
0:75          direct index ( temp uint)
0:75            u: direct index for structure ( temp 4-component vector of uint)
0:75              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:75                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:75                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:75                  Constant:
0:75                    0 (const uint)
0:75                direct index ( temp uint)
0:75                  'dti' ( in 3-component vector of uint)
0:75                  Constant:
0:75                    0 (const int)
0:75              Constant:
0:75                0 (const int)
0:75            Constant:
0:75              0 (const int)
0:75          Constant:
0:75            3 (const uint)
0:76      move second child to first child ( temp 2-component vector of uint)
0:76        vector swizzle ( temp 2-component vector of uint)
0:76          u: direct index for structure ( temp 4-component vector of uint)
0:76            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:76              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:76                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:76                Constant:
0:76                  0 (const uint)
0:76              direct index ( temp uint)
0:76                'dti' ( in 3-component vector of uint)
0:76                Constant:
0:76                  0 (const int)
0:76            Constant:
0:76              0 (const int)
0:76          Sequence
0:76            Constant:
0:76              0 (const int)
0:76            Constant:
0:76              1 (const int)
0:76        subgroupQuadBroadcast ( temp 2-component vector of uint)
0:76          vector swizzle ( temp 2-component vector of uint)
0:76            u: direct index for structure ( temp 4-component vector of uint)
0:76              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:76                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:76                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:76                  Constant:
0:76                    0 (const uint)
0:76                direct index ( temp uint)
0:76                  'dti' ( in 3-component vector of uint)
0:76                  Constant:
0:76                    0 (const int)
0:76              Constant:
0:76                0 (const int)
0:76            Sequence
0:76              Constant:
0:76                0 (const int)
0:76              Constant:
0:76                1 (const int)
0:76          Constant:
0:76            3 (const uint)
0:77      move second child to first child ( temp 3-component vector of uint)
0:77        vector swizzle ( temp 3-component vector of uint)
0:77          u: direct index for structure ( temp 4-component vector of uint)
0:77            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:77              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:77                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:77                Constant:
0:77                  0 (const uint)
0:77              direct index ( temp uint)
0:77                'dti' ( in 3-component vector of uint)
0:77                Constant:
0:77                  0 (const int)
0:77            Constant:
0:77              0 (const int)
0:77          Sequence
0:77            Constant:
0:77              0 (const int)
0:77            Constant:
0:77              1 (const int)
0:77            Constant:
0:77              2 (const int)
0:77        subgroupQuadBroadcast ( temp 3-component vector of uint)
0:77          vector swizzle ( temp 3-component vector of uint)
0:77            u: direct index for structure ( temp 4-component vector of uint)
0:77              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:77                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:77                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:77                  Constant:
0:77                    0 (const uint)
0:77                direct index ( temp uint)
0:77                  'dti' ( in 3-component vector of uint)
0:77                  Constant:
0:77                    0 (const int)
0:77              Constant:
0:77                0 (const int)
0:77            Sequence
0:77              Constant:
0:77                0 (const int)
0:77              Constant:
0:77                1 (const int)
0:77              Constant:
0:77                2 (const int)
0:77          Constant:
0:77            3 (const uint)
0:79      move second child to first child ( temp 4-component vector of int)
0:79        i: direct index for structure ( temp 4-component vector of int)
0:79          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:79            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:79              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:79              Constant:
0:79                0 (const uint)
0:79            direct index ( temp uint)
0:79              'dti' ( in 3-component vector of uint)
0:79              Constant:
0:79                0 (const int)
0:79          Constant:
0:79            1 (const int)
0:79        subgroupQuadBroadcast ( temp 4-component vector of int)
0:79          i: direct index for structure ( temp 4-component vector of int)
0:79            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:79              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:79                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:79                Constant:
0:79                  0 (const uint)
0:79              direct index ( temp uint)
0:79                'dti' ( in 3-component vector of uint)
0:79                Constant:
0:79                  0 (const int)
0:79            Constant:
0:79              1 (const int)
0:79          Constant:
0:79            3 (const uint)
0:80      move second child to first child ( temp int)
0:80        direct index ( temp int)
0:80          i: direct index for structure ( temp 4-component vector of int)
0:80            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:80              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:80                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:80                Constant:
0:80                  0 (const uint)
0:80              direct index ( temp uint)
0:80                'dti' ( in 3-component vector of uint)
0:80                Constant:
0:80                  0 (const int)
0:80            Constant:
0:80              1 (const int)
0:80          Constant:
0:80            0 (const int)
0:80        subgroupQuadBroadcast ( temp int)
0:80          direct index ( temp int)
0:80            i: direct index for structure ( temp 4-component vector of int)
0:80              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:80                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:80                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:80                  Constant:
0:80                    0 (const uint)
0:80                direct index ( temp uint)
0:80                  'dti' ( in 3-component vector of uint)
0:80                  Constant:
0:80                    0 (const int)
0:80              Constant:
0:80                1 (const int)
0:80            Constant:
0:80              0 (const int)
0:80          Constant:
0:80            3 (const uint)
0:81      move second child to first child ( temp 2-component vector of int)
0:81        vector swizzle ( temp 2-component vector of int)
0:81          i: direct index for structure ( temp 4-component vector of int)
0:81            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:81              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:81                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:81                Constant:
0:81                  0 (const uint)
0:81              direct index ( temp uint)
0:81                'dti' ( in 3-component vector of uint)
0:81                Constant:
0:81                  0 (const int)
0:81            Constant:
0:81              1 (const int)
0:81          Sequence
0:81            Constant:
0:81              0 (const int)
0:81            Constant:
0:81              1 (const int)
0:81        subgroupQuadBroadcast ( temp 2-component vector of int)
0:81          vector swizzle ( temp 2-component vector of int)
0:81            i: direct index for structure ( temp 4-component vector of int)
0:81              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:81                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:81                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:81                  Constant:
0:81                    0 (const uint)
0:81                direct index ( temp uint)
0:81                  'dti' ( in 3-component vector of uint)
0:81                  Constant:
0:81                    0 (const int)
0:81              Constant:
0:81                1 (const int)
0:81            Sequence
0:81              Constant:
0:81                0 (const int)
0:81              Constant:
0:81                1 (const int)
0:81          Constant:
0:81            3 (const uint)
0:82      move second child to first child ( temp 3-component vector of int)
0:82        vector swizzle ( temp 3-component vector of int)
0:82          i: direct index for structure ( temp 4-component vector of int)
0:82            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:82              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:82                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:82                Constant:
0:82                  0 (const uint)
0:82              direct index ( temp uint)
0:82                'dti' ( in 3-component vector of uint)
0:82                Constant:
0:82                  0 (const int)
0:82            Constant:
0:82              1 (const int)
0:82          Sequence
0:82            Constant:
0:82              0 (const int)
0:82            Constant:
0:82              1 (const int)
0:82            Constant:
0:82              2 (const int)
0:82        subgroupQuadBroadcast ( temp 3-component vector of int)
0:82          vector swizzle ( temp 3-component vector of int)
0:82            i: direct index for structure ( temp 4-component vector of int)
0:82              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:82                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:82                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:82                  Constant:
0:82                    0 (const uint)
0:82                direct index ( temp uint)
0:82                  'dti' ( in 3-component vector of uint)
0:82                  Constant:
0:82                    0 (const int)
0:82              Constant:
0:82                1 (const int)
0:82            Sequence
0:82              Constant:
0:82                0 (const int)
0:82              Constant:
0:82                1 (const int)
0:82              Constant:
0:82                2 (const int)
0:82          Constant:
0:82            3 (const uint)
0:84      move second child to first child ( temp 4-component vector of float)
0:84        f: direct index for structure ( temp 4-component vector of float)
0:84          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:84            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:84              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:84              Constant:
0:84                0 (const uint)
0:84            direct index ( temp uint)
0:84              'dti' ( in 3-component vector of uint)
0:84              Constant:
0:84                0 (const int)
0:84          Constant:
0:84            2 (const int)
0:84        subgroupQuadBroadcast ( temp 4-component vector of float)
0:84          f: direct index for structure ( temp 4-component vector of float)
0:84            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:84              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:84                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:84                Constant:
0:84                  0 (const uint)
0:84              direct index ( temp uint)
0:84                'dti' ( in 3-component vector of uint)
0:84                Constant:
0:84                  0 (const int)
0:84            Constant:
0:84              2 (const int)
0:84          Constant:
0:84            3 (const uint)
0:85      move second child to first child ( temp float)
0:85        direct index ( temp float)
0:85          f: direct index for structure ( temp 4-component vector of float)
0:85            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:85              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:85                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:85                Constant:
0:85                  0 (const uint)
0:85              direct index ( temp uint)
0:85                'dti' ( in 3-component vector of uint)
0:85                Constant:
0:85                  0 (const int)
0:85            Constant:
0:85              2 (const int)
0:85          Constant:
0:85            0 (const int)
0:85        subgroupQuadBroadcast ( temp float)
0:85          direct index ( temp float)
0:85            f: direct index for structure ( temp 4-component vector of float)
0:85              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:85                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:85                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:85                  Constant:
0:85                    0 (const uint)
0:85                direct index ( temp uint)
0:85                  'dti' ( in 3-component vector of uint)
0:85                  Constant:
0:85                    0 (const int)
0:85              Constant:
0:85                2 (const int)
0:85            Constant:
0:85              0 (const int)
0:85          Constant:
0:85            3 (const uint)
0:86      move second child to first child ( temp 2-component vector of float)
0:86        vector swizzle ( temp 2-component vector of float)
0:86          f: direct index for structure ( temp 4-component vector of float)
0:86            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:86              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:86                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:86                Constant:
0:86                  0 (const uint)
0:86              direct index ( temp uint)
0:86                'dti' ( in 3-component vector of uint)
0:86                Constant:
0:86                  0 (const int)
0:86            Constant:
0:86              2 (const int)
0:86          Sequence
0:86            Constant:
0:86              0 (const int)
0:86            Constant:
0:86              1 (const int)
0:86        subgroupQuadBroadcast ( temp 2-component vector of float)
0:86          vector swizzle ( temp 2-component vector of float)
0:86            f: direct index for structure ( temp 4-component vector of float)
0:86              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:86                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:86                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:86                  Constant:
0:86                    0 (const uint)
0:86                direct index ( temp uint)
0:86                  'dti' ( in 3-component vector of uint)
0:86                  Constant:
0:86                    0 (const int)
0:86              Constant:
0:86                2 (const int)
0:86            Sequence
0:86              Constant:
0:86                0 (const int)
0:86              Constant:
0:86                1 (const int)
0:86          Constant:
0:86            3 (const uint)
0:87      move second child to first child ( temp 3-component vector of float)
0:87        vector swizzle ( temp 3-component vector of float)
0:87          f: direct index for structure ( temp 4-component vector of float)
0:87            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:87              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:87                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:87                Constant:
0:87                  0 (const uint)
0:87              direct index ( temp uint)
0:87                'dti' ( in 3-component vector of uint)
0:87                Constant:
0:87                  0 (const int)
0:87            Constant:
0:87              2 (const int)
0:87          Sequence
0:87            Constant:
0:87              0 (const int)
0:87            Constant:
0:87              1 (const int)
0:87            Constant:
0:87              2 (const int)
0:87        subgroupQuadBroadcast ( temp 3-component vector of float)
0:87          vector swizzle ( temp 3-component vector of float)
0:87            f: direct index for structure ( temp 4-component vector of float)
0:87              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:87                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:87                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:87                  Constant:
0:87                    0 (const uint)
0:87                direct index ( temp uint)
0:87                  'dti' ( in 3-component vector of uint)
0:87                  Constant:
0:87                    0 (const int)
0:87              Constant:
0:87                2 (const int)
0:87            Sequence
0:87              Constant:
0:87                0 (const int)
0:87              Constant:
0:87                1 (const int)
0:87              Constant:
0:87                2 (const int)
0:87          Constant:
0:87            3 (const uint)
0:89      move second child to first child ( temp 4-component vector of double)
0:89        d: direct index for structure ( temp 4-component vector of double)
0:89          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:89            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:89              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:89              Constant:
0:89                0 (const uint)
0:89            direct index ( temp uint)
0:89              'dti' ( in 3-component vector of uint)
0:89              Constant:
0:89                0 (const int)
0:89          Constant:
0:89            3 (const int)
0:89        subgroupQuadBroadcast ( temp 4-component vector of double)
0:89          d: direct index for structure ( temp 4-component vector of double)
0:89            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:89              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:89                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:89                Constant:
0:89                  0 (const uint)
0:89              direct index ( temp uint)
0:89                'dti' ( in 3-component vector of uint)
0:89                Constant:
0:89                  0 (const int)
0:89            Constant:
0:89              3 (const int)
0:89          Constant:
0:89            3 (const uint)
0:90      move second child to first child ( temp double)
0:90        direct index ( temp double)
0:90          d: direct index for structure ( temp 4-component vector of double)
0:90            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:90              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:90                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:90                Constant:
0:90                  0 (const uint)
0:90              direct index ( temp uint)
0:90                'dti' ( in 3-component vector of uint)
0:90                Constant:
0:90                  0 (const int)
0:90            Constant:
0:90              3 (const int)
0:90          Constant:
0:90            0 (const int)
0:90        subgroupQuadBroadcast ( temp double)
0:90          direct index ( temp double)
0:90            d: direct index for structure ( temp 4-component vector of double)
0:90              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:90                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:90                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:90                  Constant:
0:90                    0 (const uint)
0:90                direct index ( temp uint)
0:90                  'dti' ( in 3-component vector of uint)
0:90                  Constant:
0:90                    0 (const int)
0:90              Constant:
0:90                3 (const int)
0:90            Constant:
0:90              0 (const int)
0:90          Constant:
0:90            3 (const uint)
0:91      move second child to first child ( temp 2-component vector of double)
0:91        vector swizzle ( temp 2-component vector of double)
0:91          d: direct index for structure ( temp 4-component vector of double)
0:91            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:91              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:91                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:91                Constant:
0:91                  0 (const uint)
0:91              direct index ( temp uint)
0:91                'dti' ( in 3-component vector of uint)
0:91                Constant:
0:91                  0 (const int)
0:91            Constant:
0:91              3 (const int)
0:91          Sequence
0:91            Constant:
0:91              0 (const int)
0:91            Constant:
0:91              1 (const int)
0:91        subgroupQuadBroadcast ( temp 2-component vector of double)
0:91          vector swizzle ( temp 2-component vector of double)
0:91            d: direct index for structure ( temp 4-component vector of double)
0:91              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:91                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:91                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:91                  Constant:
0:91                    0 (const uint)
0:91                direct index ( temp uint)
0:91                  'dti' ( in 3-component vector of uint)
0:91                  Constant:
0:91                    0 (const int)
0:91              Constant:
0:91                3 (const int)
0:91            Sequence
0:91              Constant:
0:91                0 (const int)
0:91              Constant:
0:91                1 (const int)
0:91          Constant:
0:91            3 (const uint)
0:92      move second child to first child ( temp 3-component vector of double)
0:92        vector swizzle ( temp 3-component vector of double)
0:92          d: direct index for structure ( temp 4-component vector of double)
0:92            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:92              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:92                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:92                Constant:
0:92                  0 (const uint)
0:92              direct index ( temp uint)
0:92                'dti' ( in 3-component vector of uint)
0:92                Constant:
0:92                  0 (const int)
0:92            Constant:
0:92              3 (const int)
0:92          Sequence
0:92            Constant:
0:92              0 (const int)
0:92            Constant:
0:92              1 (const int)
0:92            Constant:
0:92              2 (const int)
0:92        subgroupQuadBroadcast ( temp 3-component vector of double)
0:92          vector swizzle ( temp 3-component vector of double)
0:92            d: direct index for structure ( temp 4-component vector of double)
0:92              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:92                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:92                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:92                  Constant:
0:92                    0 (const uint)
0:92                direct index ( temp uint)
0:92                  'dti' ( in 3-component vector of uint)
0:92                  Constant:
0:92                    0 (const int)
0:92              Constant:
0:92                3 (const int)
0:92            Sequence
0:92              Constant:
0:92                0 (const int)
0:92              Constant:
0:92                1 (const int)
0:92              Constant:
0:92                2 (const int)
0:92          Constant:
0:92            3 (const uint)
0:94      move second child to first child ( temp 4-component vector of uint)
0:94        u: direct index for structure ( temp 4-component vector of uint)
0:94          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:94            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:94              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:94              Constant:
0:94                0 (const uint)
0:94            direct index ( temp uint)
0:94              'dti' ( in 3-component vector of uint)
0:94              Constant:
0:94                0 (const int)
0:94          Constant:
0:94            0 (const int)
0:94        subgroupQuadSwapHorizontal ( temp 4-component vector of uint)
0:94          u: direct index for structure ( temp 4-component vector of uint)
0:94            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:94              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:94                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:94                Constant:
0:94                  0 (const uint)
0:94              direct index ( temp uint)
0:94                'dti' ( in 3-component vector of uint)
0:94                Constant:
0:94                  0 (const int)
0:94            Constant:
0:94              0 (const int)
0:95      move second child to first child ( temp uint)
0:95        direct index ( temp uint)
0:95          u: direct index for structure ( temp 4-component vector of uint)
0:95            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:95              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:95                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:95                Constant:
0:95                  0 (const uint)
0:95              direct index ( temp uint)
0:95                'dti' ( in 3-component vector of uint)
0:95                Constant:
0:95                  0 (const int)
0:95            Constant:
0:95              0 (const int)
0:95          Constant:
0:95            0 (const int)
0:95        subgroupQuadSwapHorizontal ( temp uint)
0:95          direct index ( temp uint)
0:95            u: direct index for structure ( temp 4-component vector of uint)
0:95              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:95                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:95                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:95                  Constant:
0:95                    0 (const uint)
0:95                direct index ( temp uint)
0:95                  'dti' ( in 3-component vector of uint)
0:95                  Constant:
0:95                    0 (const int)
0:95              Constant:
0:95                0 (const int)
0:95            Constant:
0:95              0 (const int)
0:96      move second child to first child ( temp 2-component vector of uint)
0:96        vector swizzle ( temp 2-component vector of uint)
0:96          u: direct index for structure ( temp 4-component vector of uint)
0:96            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:96              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:96                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:96                Constant:
0:96                  0 (const uint)
0:96              direct index ( temp uint)
0:96                'dti' ( in 3-component vector of uint)
0:96                Constant:
0:96                  0 (const int)
0:96            Constant:
0:96              0 (const int)
0:96          Sequence
0:96            Constant:
0:96              0 (const int)
0:96            Constant:
0:96              1 (const int)
0:96        subgroupQuadSwapHorizontal ( temp 2-component vector of uint)
0:96          vector swizzle ( temp 2-component vector of uint)
0:96            u: direct index for structure ( temp 4-component vector of uint)
0:96              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:96                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:96                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:96                  Constant:
0:96                    0 (const uint)
0:96                direct index ( temp uint)
0:96                  'dti' ( in 3-component vector of uint)
0:96                  Constant:
0:96                    0 (const int)
0:96              Constant:
0:96                0 (const int)
0:96            Sequence
0:96              Constant:
0:96                0 (const int)
0:96              Constant:
0:96                1 (const int)
0:97      move second child to first child ( temp 3-component vector of uint)
0:97        vector swizzle ( temp 3-component vector of uint)
0:97          u: direct index for structure ( temp 4-component vector of uint)
0:97            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:97              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:97                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:97                Constant:
0:97                  0 (const uint)
0:97              direct index ( temp uint)
0:97                'dti' ( in 3-component vector of uint)
0:97                Constant:
0:97                  0 (const int)
0:97            Constant:
0:97              0 (const int)
0:97          Sequence
0:97            Constant:
0:97              0 (const int)
0:97            Constant:
0:97              1 (const int)
0:97            Constant:
0:97              2 (const int)
0:97        subgroupQuadSwapHorizontal ( temp 3-component vector of uint)
0:97          vector swizzle ( temp 3-component vector of uint)
0:97            u: direct index for structure ( temp 4-component vector of uint)
0:97              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:97                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:97                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:97                  Constant:
0:97                    0 (const uint)
0:97                direct index ( temp uint)
0:97                  'dti' ( in 3-component vector of uint)
0:97                  Constant:
0:97                    0 (const int)
0:97              Constant:
0:97                0 (const int)
0:97            Sequence
0:97              Constant:
0:97                0 (const int)
0:97              Constant:
0:97                1 (const int)
0:97              Constant:
0:97                2 (const int)
0:99      move second child to first child ( temp 4-component vector of int)
0:99        i: direct index for structure ( temp 4-component vector of int)
0:99          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:99            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:99              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:99              Constant:
0:99                0 (const uint)
0:99            direct index ( temp uint)
0:99              'dti' ( in 3-component vector of uint)
0:99              Constant:
0:99                0 (const int)
0:99          Constant:
0:99            1 (const int)
0:99        subgroupQuadSwapHorizontal ( temp 4-component vector of int)
0:99          i: direct index for structure ( temp 4-component vector of int)
0:99            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:99              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:99                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:99                Constant:
0:99                  0 (const uint)
0:99              direct index ( temp uint)
0:99                'dti' ( in 3-component vector of uint)
0:99                Constant:
0:99                  0 (const int)
0:99            Constant:
0:99              1 (const int)
0:100      move second child to first child ( temp int)
0:100        direct index ( temp int)
0:100          i: direct index for structure ( temp 4-component vector of int)
0:100            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:100              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:100                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:100                Constant:
0:100                  0 (const uint)
0:100              direct index ( temp uint)
0:100                'dti' ( in 3-component vector of uint)
0:100                Constant:
0:100                  0 (const int)
0:100            Constant:
0:100              1 (const int)
0:100          Constant:
0:100            0 (const int)
0:100        subgroupQuadSwapHorizontal ( temp int)
0:100          direct index ( temp int)
0:100            i: direct index for structure ( temp 4-component vector of int)
0:100              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:100                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:100                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:100                  Constant:
0:100                    0 (const uint)
0:100                direct index ( temp uint)
0:100                  'dti' ( in 3-component vector of uint)
0:100                  Constant:
0:100                    0 (const int)
0:100              Constant:
0:100                1 (const int)
0:100            Constant:
0:100              0 (const int)
0:101      move second child to first child ( temp 2-component vector of int)
0:101        vector swizzle ( temp 2-component vector of int)
0:101          i: direct index for structure ( temp 4-component vector of int)
0:101            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:101              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:101                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:101                Constant:
0:101                  0 (const uint)
0:101              direct index ( temp uint)
0:101                'dti' ( in 3-component vector of uint)
0:101                Constant:
0:101                  0 (const int)
0:101            Constant:
0:101              1 (const int)
0:101          Sequence
0:101            Constant:
0:101              0 (const int)
0:101            Constant:
0:101              1 (const int)
0:101        subgroupQuadSwapHorizontal ( temp 2-component vector of int)
0:101          vector swizzle ( temp 2-component vector of int)
0:101            i: direct index for structure ( temp 4-component vector of int)
0:101              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:101                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:101                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:101                  Constant:
0:101                    0 (const uint)
0:101                direct index ( temp uint)
0:101                  'dti' ( in 3-component vector of uint)
0:101                  Constant:
0:101                    0 (const int)
0:101              Constant:
0:101                1 (const int)
0:101            Sequence
0:101              Constant:
0:101                0 (const int)
0:101              Constant:
0:101                1 (const int)
0:102      move second child to first child ( temp 3-component vector of int)
0:102        vector swizzle ( temp 3-component vector of int)
0:102          i: direct index for structure ( temp 4-component vector of int)
0:102            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:102              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:102                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:102                Constant:
0:102                  0 (const uint)
0:102              direct index ( temp uint)
0:102                'dti' ( in 3-component vector of uint)
0:102                Constant:
0:102                  0 (const int)
0:102            Constant:
0:102              1 (const int)
0:102          Sequence
0:102            Constant:
0:102              0 (const int)
0:102            Constant:
0:102              1 (const int)
0:102            Constant:
0:102              2 (const int)
0:102        subgroupQuadSwapHorizontal ( temp 3-component vector of int)
0:102          vector swizzle ( temp 3-component vector of int)
0:102            i: direct index for structure ( temp 4-component vector of int)
0:102              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:102                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:102                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:102                  Constant:
0:102                    0 (const uint)
0:102                direct index ( temp uint)
0:102                  'dti' ( in 3-component vector of uint)
0:102                  Constant:
0:102                    0 (const int)
0:102              Constant:
0:102                1 (const int)
0:102            Sequence
0:102              Constant:
0:102                0 (const int)
0:102              Constant:
0:102                1 (const int)
0:102              Constant:
0:102                2 (const int)
0:104      move second child to first child ( temp 4-component vector of float)
0:104        f: direct index for structure ( temp 4-component vector of float)
0:104          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:104            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:104              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:104              Constant:
0:104                0 (const uint)
0:104            direct index ( temp uint)
0:104              'dti' ( in 3-component vector of uint)
0:104              Constant:
0:104                0 (const int)
0:104          Constant:
0:104            2 (const int)
0:104        subgroupQuadSwapHorizontal ( temp 4-component vector of float)
0:104          f: direct index for structure ( temp 4-component vector of float)
0:104            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:104              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:104                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:104                Constant:
0:104                  0 (const uint)
0:104              direct index ( temp uint)
0:104                'dti' ( in 3-component vector of uint)
0:104                Constant:
0:104                  0 (const int)
0:104            Constant:
0:104              2 (const int)
0:105      move second child to first child ( temp float)
0:105        direct index ( temp float)
0:105          f: direct index for structure ( temp 4-component vector of float)
0:105            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:105              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:105                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:105                Constant:
0:105                  0 (const uint)
0:105              direct index ( temp uint)
0:105                'dti' ( in 3-component vector of uint)
0:105                Constant:
0:105                  0 (const int)
0:105            Constant:
0:105              2 (const int)
0:105          Constant:
0:105            0 (const int)
0:105        subgroupQuadSwapHorizontal ( temp float)
0:105          direct index ( temp float)
0:105            f: direct index for structure ( temp 4-component vector of float)
0:105              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:105                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:105                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:105                  Constant:
0:105                    0 (const uint)
0:105                direct index ( temp uint)
0:105                  'dti' ( in 3-component vector of uint)
0:105                  Constant:
0:105                    0 (const int)
0:105              Constant:
0:105                2 (const int)
0:105            Constant:
0:105              0 (const int)
0:106      move second child to first child ( temp 2-component vector of float)
0:106        vector swizzle ( temp 2-component vector of float)
0:106          f: direct index for structure ( temp 4-component vector of float)
0:106            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:106              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:106                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:106                Constant:
0:106                  0 (const uint)
0:106              direct index ( temp uint)
0:106                'dti' ( in 3-component vector of uint)
0:106                Constant:
0:106                  0 (const int)
0:106            Constant:
0:106              2 (const int)
0:106          Sequence
0:106            Constant:
0:106              0 (const int)
0:106            Constant:
0:106              1 (const int)
0:106        subgroupQuadSwapHorizontal ( temp 2-component vector of float)
0:106          vector swizzle ( temp 2-component vector of float)
0:106            f: direct index for structure ( temp 4-component vector of float)
0:106              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:106                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:106                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:106                  Constant:
0:106                    0 (const uint)
0:106                direct index ( temp uint)
0:106                  'dti' ( in 3-component vector of uint)
0:106                  Constant:
0:106                    0 (const int)
0:106              Constant:
0:106                2 (const int)
0:106            Sequence
0:106              Constant:
0:106                0 (const int)
0:106              Constant:
0:106                1 (const int)
0:107      move second child to first child ( temp 3-component vector of float)
0:107        vector swizzle ( temp 3-component vector of float)
0:107          f: direct index for structure ( temp 4-component vector of float)
0:107            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:107              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:107                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:107                Constant:
0:107                  0 (const uint)
0:107              direct index ( temp uint)
0:107                'dti' ( in 3-component vector of uint)
0:107                Constant:
0:107                  0 (const int)
0:107            Constant:
0:107              2 (const int)
0:107          Sequence
0:107            Constant:
0:107              0 (const int)
0:107            Constant:
0:107              1 (const int)
0:107            Constant:
0:107              2 (const int)
0:107        subgroupQuadSwapHorizontal ( temp 3-component vector of float)
0:107          vector swizzle ( temp 3-component vector of float)
0:107            f: direct index for structure ( temp 4-component vector of float)
0:107              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:107                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:107                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:107                  Constant:
0:107                    0 (const uint)
0:107                direct index ( temp uint)
0:107                  'dti' ( in 3-component vector of uint)
0:107                  Constant:
0:107                    0 (const int)
0:107              Constant:
0:107                2 (const int)
0:107            Sequence
0:107              Constant:
0:107                0 (const int)
0:107              Constant:
0:107                1 (const int)
0:107              Constant:
0:107                2 (const int)
0:109      move second child to first child ( temp 4-component vector of double)
0:109        d: direct index for structure ( temp 4-component vector of double)
0:109          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:109            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:109              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:109              Constant:
0:109                0 (const uint)
0:109            direct index ( temp uint)
0:109              'dti' ( in 3-component vector of uint)
0:109              Constant:
0:109                0 (const int)
0:109          Constant:
0:109            3 (const int)
0:109        subgroupQuadSwapHorizontal ( temp 4-component vector of double)
0:109          d: direct index for structure ( temp 4-component vector of double)
0:109            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:109              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:109                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:109                Constant:
0:109                  0 (const uint)
0:109              direct index ( temp uint)
0:109                'dti' ( in 3-component vector of uint)
0:109                Constant:
0:109                  0 (const int)
0:109            Constant:
0:109              3 (const int)
0:110      move second child to first child ( temp double)
0:110        direct index ( temp double)
0:110          d: direct index for structure ( temp 4-component vector of double)
0:110            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:110              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:110                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:110                Constant:
0:110                  0 (const uint)
0:110              direct index ( temp uint)
0:110                'dti' ( in 3-component vector of uint)
0:110                Constant:
0:110                  0 (const int)
0:110            Constant:
0:110              3 (const int)
0:110          Constant:
0:110            0 (const int)
0:110        subgroupQuadSwapHorizontal ( temp double)
0:110          direct index ( temp double)
0:110            d: direct index for structure ( temp 4-component vector of double)
0:110              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:110                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:110                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:110                  Constant:
0:110                    0 (const uint)
0:110                direct index ( temp uint)
0:110                  'dti' ( in 3-component vector of uint)
0:110                  Constant:
0:110                    0 (const int)
0:110              Constant:
0:110                3 (const int)
0:110            Constant:
0:110              0 (const int)
0:111      move second child to first child ( temp 2-component vector of double)
0:111        vector swizzle ( temp 2-component vector of double)
0:111          d: direct index for structure ( temp 4-component vector of double)
0:111            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:111              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:111                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:111                Constant:
0:111                  0 (const uint)
0:111              direct index ( temp uint)
0:111                'dti' ( in 3-component vector of uint)
0:111                Constant:
0:111                  0 (const int)
0:111            Constant:
0:111              3 (const int)
0:111          Sequence
0:111            Constant:
0:111              0 (const int)
0:111            Constant:
0:111              1 (const int)
0:111        subgroupQuadSwapHorizontal ( temp 2-component vector of double)
0:111          vector swizzle ( temp 2-component vector of double)
0:111            d: direct index for structure ( temp 4-component vector of double)
0:111              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:111                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:111                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:111                  Constant:
0:111                    0 (const uint)
0:111                direct index ( temp uint)
0:111                  'dti' ( in 3-component vector of uint)
0:111                  Constant:
0:111                    0 (const int)
0:111              Constant:
0:111                3 (const int)
0:111            Sequence
0:111              Constant:
0:111                0 (const int)
0:111              Constant:
0:111                1 (const int)
0:112      move second child to first child ( temp 3-component vector of double)
0:112        vector swizzle ( temp 3-component vector of double)
0:112          d: direct index for structure ( temp 4-component vector of double)
0:112            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:112              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:112                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:112                Constant:
0:112                  0 (const uint)
0:112              direct index ( temp uint)
0:112                'dti' ( in 3-component vector of uint)
0:112                Constant:
0:112                  0 (const int)
0:112            Constant:
0:112              3 (const int)
0:112          Sequence
0:112            Constant:
0:112              0 (const int)
0:112            Constant:
0:112              1 (const int)
0:112            Constant:
0:112              2 (const int)
0:112        subgroupQuadSwapHorizontal ( temp 3-component vector of double)
0:112          vector swizzle ( temp 3-component vector of double)
0:112            d: direct index for structure ( temp 4-component vector of double)
0:112              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:112                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:112                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:112                  Constant:
0:112                    0 (const uint)
0:112                direct index ( temp uint)
0:112                  'dti' ( in 3-component vector of uint)
0:112                  Constant:
0:112                    0 (const int)
0:112              Constant:
0:112                3 (const int)
0:112            Sequence
0:112              Constant:
0:112                0 (const int)
0:112              Constant:
0:112                1 (const int)
0:112              Constant:
0:112                2 (const int)
0:114      move second child to first child ( temp 4-component vector of uint)
0:114        u: direct index for structure ( temp 4-component vector of uint)
0:114          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:114            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:114              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:114              Constant:
0:114                0 (const uint)
0:114            direct index ( temp uint)
0:114              'dti' ( in 3-component vector of uint)
0:114              Constant:
0:114                0 (const int)
0:114          Constant:
0:114            0 (const int)
0:114        subgroupQuadSwapVertical ( temp 4-component vector of uint)
0:114          u: direct index for structure ( temp 4-component vector of uint)
0:114            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:114              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:114                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:114                Constant:
0:114                  0 (const uint)
0:114              direct index ( temp uint)
0:114                'dti' ( in 3-component vector of uint)
0:114                Constant:
0:114                  0 (const int)
0:114            Constant:
0:114              0 (const int)
0:115      move second child to first child ( temp uint)
0:115        direct index ( temp uint)
0:115          u: direct index for structure ( temp 4-component vector of uint)
0:115            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:115              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:115                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:115                Constant:
0:115                  0 (const uint)
0:115              direct index ( temp uint)
0:115                'dti' ( in 3-component vector of uint)
0:115                Constant:
0:115                  0 (const int)
0:115            Constant:
0:115              0 (const int)
0:115          Constant:
0:115            0 (const int)
0:115        subgroupQuadSwapVertical ( temp uint)
0:115          direct index ( temp uint)
0:115            u: direct index for structure ( temp 4-component vector of uint)
0:115              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:115                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:115                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:115                  Constant:
0:115                    0 (const uint)
0:115                direct index ( temp uint)
0:115                  'dti' ( in 3-component vector of uint)
0:115                  Constant:
0:115                    0 (const int)
0:115              Constant:
0:115                0 (const int)
0:115            Constant:
0:115              0 (const int)
0:116      move second child to first child ( temp 2-component vector of uint)
0:116        vector swizzle ( temp 2-component vector of uint)
0:116          u: direct index for structure ( temp 4-component vector of uint)
0:116            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:116              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:116                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:116                Constant:
0:116                  0 (const uint)
0:116              direct index ( temp uint)
0:116                'dti' ( in 3-component vector of uint)
0:116                Constant:
0:116                  0 (const int)
0:116            Constant:
0:116              0 (const int)
0:116          Sequence
0:116            Constant:
0:116              0 (const int)
0:116            Constant:
0:116              1 (const int)
0:116        subgroupQuadSwapVertical ( temp 2-component vector of uint)
0:116          vector swizzle ( temp 2-component vector of uint)
0:116            u: direct index for structure ( temp 4-component vector of uint)
0:116              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:116                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:116                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:116                  Constant:
0:116                    0 (const uint)
0:116                direct index ( temp uint)
0:116                  'dti' ( in 3-component vector of uint)
0:116                  Constant:
0:116                    0 (const int)
0:116              Constant:
0:116                0 (const int)
0:116            Sequence
0:116              Constant:
0:116                0 (const int)
0:116              Constant:
0:116                1 (const int)
0:117      move second child to first child ( temp 3-component vector of uint)
0:117        vector swizzle ( temp 3-component vector of uint)
0:117          u: direct index for structure ( temp 4-component vector of uint)
0:117            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:117              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:117                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:117                Constant:
0:117                  0 (const uint)
0:117              direct index ( temp uint)
0:117                'dti' ( in 3-component vector of uint)
0:117                Constant:
0:117                  0 (const int)
0:117            Constant:
0:117              0 (const int)
0:117          Sequence
0:117            Constant:
0:117              0 (const int)
0:117            Constant:
0:117              1 (const int)
0:117            Constant:
0:117              2 (const int)
0:117        subgroupQuadSwapVertical ( temp 3-component vector of uint)
0:117          vector swizzle ( temp 3-component vector of uint)
0:117            u: direct index for structure ( temp 4-component vector of uint)
0:117              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:117                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:117                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:117                  Constant:
0:117                    0 (const uint)
0:117                direct index ( temp uint)
0:117                  'dti' ( in 3-component vector of uint)
0:117                  Constant:
0:117                    0 (const int)
0:117              Constant:
0:117                0 (const int)
0:117            Sequence
0:117              Constant:
0:117                0 (const int)
0:117              Constant:
0:117                1 (const int)
0:117              Constant:
0:117                2 (const int)
0:119      move second child to first child ( temp 4-component vector of int)
0:119        i: direct index for structure ( temp 4-component vector of int)
0:119          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:119            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:119              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:119              Constant:
0:119                0 (const uint)
0:119            direct index ( temp uint)
0:119              'dti' ( in 3-component vector of uint)
0:119              Constant:
0:119                0 (const int)
0:119          Constant:
0:119            1 (const int)
0:119        subgroupQuadSwapVertical ( temp 4-component vector of int)
0:119          i: direct index for structure ( temp 4-component vector of int)
0:119            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:119              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:119                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:119                Constant:
0:119                  0 (const uint)
0:119              direct index ( temp uint)
0:119                'dti' ( in 3-component vector of uint)
0:119                Constant:
0:119                  0 (const int)
0:119            Constant:
0:119              1 (const int)
0:120      move second child to first child ( temp int)
0:120        direct index ( temp int)
0:120          i: direct index for structure ( temp 4-component vector of int)
0:120            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:120              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:120                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:120                Constant:
0:120                  0 (const uint)
0:120              direct index ( temp uint)
0:120                'dti' ( in 3-component vector of uint)
0:120                Constant:
0:120                  0 (const int)
0:120            Constant:
0:120              1 (const int)
0:120          Constant:
0:120            0 (const int)
0:120        subgroupQuadSwapVertical ( temp int)
0:120          direct index ( temp int)
0:120            i: direct index for structure ( temp 4-component vector of int)
0:120              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:120                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:120                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:120                  Constant:
0:120                    0 (const uint)
0:120                direct index ( temp uint)
0:120                  'dti' ( in 3-component vector of uint)
0:120                  Constant:
0:120                    0 (const int)
0:120              Constant:
0:120                1 (const int)
0:120            Constant:
0:120              0 (const int)
0:121      move second child to first child ( temp 2-component vector of int)
0:121        vector swizzle ( temp 2-component vector of int)
0:121          i: direct index for structure ( temp 4-component vector of int)
0:121            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:121              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:121                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:121                Constant:
0:121                  0 (const uint)
0:121              direct index ( temp uint)
0:121                'dti' ( in 3-component vector of uint)
0:121                Constant:
0:121                  0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121          Sequence
0:121            Constant:
0:121              0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121        subgroupQuadSwapVertical ( temp 2-component vector of int)
0:121          vector swizzle ( temp 2-component vector of int)
0:121            i: direct index for structure ( temp 4-component vector of int)
0:121              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:121                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:121                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:121                  Constant:
0:121                    0 (const uint)
0:121                direct index ( temp uint)
0:121                  'dti' ( in 3-component vector of uint)
0:121                  Constant:
0:121                    0 (const int)
0:121              Constant:
0:121                1 (const int)
0:121            Sequence
0:121              Constant:
0:121                0 (const int)
0:121              Constant:
0:121                1 (const int)
0:122      move second child to first child ( temp 3-component vector of int)
0:122        vector swizzle ( temp 3-component vector of int)
0:122          i: direct index for structure ( temp 4-component vector of int)
0:122            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:122              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:122                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:122                Constant:
0:122                  0 (const uint)
0:122              direct index ( temp uint)
0:122                'dti' ( in 3-component vector of uint)
0:122                Constant:
0:122                  0 (const int)
0:122            Constant:
0:122              1 (const int)
0:122          Sequence
0:122            Constant:
0:122              0 (const int)
0:122            Constant:
0:122              1 (const int)
0:122            Constant:
0:122              2 (const int)
0:122        subgroupQuadSwapVertical ( temp 3-component vector of int)
0:122          vector swizzle ( temp 3-component vector of int)
0:122            i: direct index for structure ( temp 4-component vector of int)
0:122              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:122                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:122                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:122                  Constant:
0:122                    0 (const uint)
0:122                direct index ( temp uint)
0:122                  'dti' ( in 3-component vector of uint)
0:122                  Constant:
0:122                    0 (const int)
0:122              Constant:
0:122                1 (const int)
0:122            Sequence
0:122              Constant:
0:122                0 (const int)
0:122              Constant:
0:122                1 (const int)
0:122              Constant:
0:122                2 (const int)
0:124      move second child to first child ( temp 4-component vector of float)
0:124        f: direct index for structure ( temp 4-component vector of float)
0:124          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:124            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:124              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:124              Constant:
0:124                0 (const uint)
0:124            direct index ( temp uint)
0:124              'dti' ( in 3-component vector of uint)
0:124              Constant:
0:124                0 (const int)
0:124          Constant:
0:124            2 (const int)
0:124        subgroupQuadSwapVertical ( temp 4-component vector of float)
0:124          f: direct index for structure ( temp 4-component vector of float)
0:124            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:124              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:124                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:124                Constant:
0:124                  0 (const uint)
0:124              direct index ( temp uint)
0:124                'dti' ( in 3-component vector of uint)
0:124                Constant:
0:124                  0 (const int)
0:124            Constant:
0:124              2 (const int)
0:125      move second child to first child ( temp float)
0:125        direct index ( temp float)
0:125          f: direct index for structure ( temp 4-component vector of float)
0:125            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:125              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:125                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:125                Constant:
0:125                  0 (const uint)
0:125              direct index ( temp uint)
0:125                'dti' ( in 3-component vector of uint)
0:125                Constant:
0:125                  0 (const int)
0:125            Constant:
0:125              2 (const int)
0:125          Constant:
0:125            0 (const int)
0:125        subgroupQuadSwapVertical ( temp float)
0:125          direct index ( temp float)
0:125            f: direct index for structure ( temp 4-component vector of float)
0:125              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:125                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:125                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:125                  Constant:
0:125                    0 (const uint)
0:125                direct index ( temp uint)
0:125                  'dti' ( in 3-component vector of uint)
0:125                  Constant:
0:125                    0 (const int)
0:125              Constant:
0:125                2 (const int)
0:125            Constant:
0:125              0 (const int)
0:126      move second child to first child ( temp 2-component vector of float)
0:126        vector swizzle ( temp 2-component vector of float)
0:126          f: direct index for structure ( temp 4-component vector of float)
0:126            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:126              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:126                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:126                Constant:
0:126                  0 (const uint)
0:126              direct index ( temp uint)
0:126                'dti' ( in 3-component vector of uint)
0:126                Constant:
0:126                  0 (const int)
0:126            Constant:
0:126              2 (const int)
0:126          Sequence
0:126            Constant:
0:126              0 (const int)
0:126            Constant:
0:126              1 (const int)
0:126        subgroupQuadSwapVertical ( temp 2-component vector of float)
0:126          vector swizzle ( temp 2-component vector of float)
0:126            f: direct index for structure ( temp 4-component vector of float)
0:126              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:126                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:126                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:126                  Constant:
0:126                    0 (const uint)
0:126                direct index ( temp uint)
0:126                  'dti' ( in 3-component vector of uint)
0:126                  Constant:
0:126                    0 (const int)
0:126              Constant:
0:126                2 (const int)
0:126            Sequence
0:126              Constant:
0:126                0 (const int)
0:126              Constant:
0:126                1 (const int)
0:127      move second child to first child ( temp 3-component vector of float)
0:127        vector swizzle ( temp 3-component vector of float)
0:127          f: direct index for structure ( temp 4-component vector of float)
0:127            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:127              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:127                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:127                Constant:
0:127                  0 (const uint)
0:127              direct index ( temp uint)
0:127                'dti' ( in 3-component vector of uint)
0:127                Constant:
0:127                  0 (const int)
0:127            Constant:
0:127              2 (const int)
0:127          Sequence
0:127            Constant:
0:127              0 (const int)
0:127            Constant:
0:127              1 (const int)
0:127            Constant:
0:127              2 (const int)
0:127        subgroupQuadSwapVertical ( temp 3-component vector of float)
0:127          vector swizzle ( temp 3-component vector of float)
0:127            f: direct index for structure ( temp 4-component vector of float)
0:127              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:127                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:127                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:127                  Constant:
0:127                    0 (const uint)
0:127                direct index ( temp uint)
0:127                  'dti' ( in 3-component vector of uint)
0:127                  Constant:
0:127                    0 (const int)
0:127              Constant:
0:127                2 (const int)
0:127            Sequence
0:127              Constant:
0:127                0 (const int)
0:127              Constant:
0:127                1 (const int)
0:127              Constant:
0:127                2 (const int)
0:129      move second child to first child ( temp 4-component vector of double)
0:129        d: direct index for structure ( temp 4-component vector of double)
0:129          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:129            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:129              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:129              Constant:
0:129                0 (const uint)
0:129            direct index ( temp uint)
0:129              'dti' ( in 3-component vector of uint)
0:129              Constant:
0:129                0 (const int)
0:129          Constant:
0:129            3 (const int)
0:129        subgroupQuadSwapVertical ( temp 4-component vector of double)
0:129          d: direct index for structure ( temp 4-component vector of double)
0:129            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:129              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:129                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:129                Constant:
0:129                  0 (const uint)
0:129              direct index ( temp uint)
0:129                'dti' ( in 3-component vector of uint)
0:129                Constant:
0:129                  0 (const int)
0:129            Constant:
0:129              3 (const int)
0:130      move second child to first child ( temp double)
0:130        direct index ( temp double)
0:130          d: direct index for structure ( temp 4-component vector of double)
0:130            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:130              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:130                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:130                Constant:
0:130                  0 (const uint)
0:130              direct index ( temp uint)
0:130                'dti' ( in 3-component vector of uint)
0:130                Constant:
0:130                  0 (const int)
0:130            Constant:
0:130              3 (const int)
0:130          Constant:
0:130            0 (const int)
0:130        subgroupQuadSwapVertical ( temp double)
0:130          direct index ( temp double)
0:130            d: direct index for structure ( temp 4-component vector of double)
0:130              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:130                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:130                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:130                  Constant:
0:130                    0 (const uint)
0:130                direct index ( temp uint)
0:130                  'dti' ( in 3-component vector of uint)
0:130                  Constant:
0:130                    0 (const int)
0:130              Constant:
0:130                3 (const int)
0:130            Constant:
0:130              0 (const int)
0:131      move second child to first child ( temp 2-component vector of double)
0:131        vector swizzle ( temp 2-component vector of double)
0:131          d: direct index for structure ( temp 4-component vector of double)
0:131            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:131              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:131                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:131                Constant:
0:131                  0 (const uint)
0:131              direct index ( temp uint)
0:131                'dti' ( in 3-component vector of uint)
0:131                Constant:
0:131                  0 (const int)
0:131            Constant:
0:131              3 (const int)
0:131          Sequence
0:131            Constant:
0:131              0 (const int)
0:131            Constant:
0:131              1 (const int)
0:131        subgroupQuadSwapVertical ( temp 2-component vector of double)
0:131          vector swizzle ( temp 2-component vector of double)
0:131            d: direct index for structure ( temp 4-component vector of double)
0:131              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:131                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:131                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:131                  Constant:
0:131                    0 (const uint)
0:131                direct index ( temp uint)
0:131                  'dti' ( in 3-component vector of uint)
0:131                  Constant:
0:131                    0 (const int)
0:131              Constant:
0:131                3 (const int)
0:131            Sequence
0:131              Constant:
0:131                0 (const int)
0:131              Constant:
0:131                1 (const int)
0:132      move second child to first child ( temp 3-component vector of double)
0:132        vector swizzle ( temp 3-component vector of double)
0:132          d: direct index for structure ( temp 4-component vector of double)
0:132            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:132              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:132                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:132                Constant:
0:132                  0 (const uint)
0:132              direct index ( temp uint)
0:132                'dti' ( in 3-component vector of uint)
0:132                Constant:
0:132                  0 (const int)
0:132            Constant:
0:132              3 (const int)
0:132          Sequence
0:132            Constant:
0:132              0 (const int)
0:132            Constant:
0:132              1 (const int)
0:132            Constant:
0:132              2 (const int)
0:132        subgroupQuadSwapVertical ( temp 3-component vector of double)
0:132          vector swizzle ( temp 3-component vector of double)
0:132            d: direct index for structure ( temp 4-component vector of double)
0:132              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:132                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:132                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:132                  Constant:
0:132                    0 (const uint)
0:132                direct index ( temp uint)
0:132                  'dti' ( in 3-component vector of uint)
0:132                  Constant:
0:132                    0 (const int)
0:132              Constant:
0:132                3 (const int)
0:132            Sequence
0:132              Constant:
0:132                0 (const int)
0:132              Constant:
0:132                1 (const int)
0:132              Constant:
0:132                2 (const int)
0:134      move second child to first child ( temp 4-component vector of uint)
0:134        u: direct index for structure ( temp 4-component vector of uint)
0:134          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:134            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:134              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:134              Constant:
0:134                0 (const uint)
0:134            direct index ( temp uint)
0:134              'dti' ( in 3-component vector of uint)
0:134              Constant:
0:134                0 (const int)
0:134          Constant:
0:134            0 (const int)
0:134        subgroupQuadSwapDiagonal ( temp 4-component vector of uint)
0:134          u: direct index for structure ( temp 4-component vector of uint)
0:134            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:134              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:134                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:134                Constant:
0:134                  0 (const uint)
0:134              direct index ( temp uint)
0:134                'dti' ( in 3-component vector of uint)
0:134                Constant:
0:134                  0 (const int)
0:134            Constant:
0:134              0 (const int)
0:135      move second child to first child ( temp uint)
0:135        direct index ( temp uint)
0:135          u: direct index for structure ( temp 4-component vector of uint)
0:135            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:135              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:135                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:135                Constant:
0:135                  0 (const uint)
0:135              direct index ( temp uint)
0:135                'dti' ( in 3-component vector of uint)
0:135                Constant:
0:135                  0 (const int)
0:135            Constant:
0:135              0 (const int)
0:135          Constant:
0:135            0 (const int)
0:135        subgroupQuadSwapDiagonal ( temp uint)
0:135          direct index ( temp uint)
0:135            u: direct index for structure ( temp 4-component vector of uint)
0:135              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:135                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:135                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:135                  Constant:
0:135                    0 (const uint)
0:135                direct index ( temp uint)
0:135                  'dti' ( in 3-component vector of uint)
0:135                  Constant:
0:135                    0 (const int)
0:135              Constant:
0:135                0 (const int)
0:135            Constant:
0:135              0 (const int)
0:136      move second child to first child ( temp 2-component vector of uint)
0:136        vector swizzle ( temp 2-component vector of uint)
0:136          u: direct index for structure ( temp 4-component vector of uint)
0:136            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:136              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:136                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:136                Constant:
0:136                  0 (const uint)
0:136              direct index ( temp uint)
0:136                'dti' ( in 3-component vector of uint)
0:136                Constant:
0:136                  0 (const int)
0:136            Constant:
0:136              0 (const int)
0:136          Sequence
0:136            Constant:
0:136              0 (const int)
0:136            Constant:
0:136              1 (const int)
0:136        subgroupQuadSwapDiagonal ( temp 2-component vector of uint)
0:136          vector swizzle ( temp 2-component vector of uint)
0:136            u: direct index for structure ( temp 4-component vector of uint)
0:136              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:136                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:136                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:136                  Constant:
0:136                    0 (const uint)
0:136                direct index ( temp uint)
0:136                  'dti' ( in 3-component vector of uint)
0:136                  Constant:
0:136                    0 (const int)
0:136              Constant:
0:136                0 (const int)
0:136            Sequence
0:136              Constant:
0:136                0 (const int)
0:136              Constant:
0:136                1 (const int)
0:137      move second child to first child ( temp 3-component vector of uint)
0:137        vector swizzle ( temp 3-component vector of uint)
0:137          u: direct index for structure ( temp 4-component vector of uint)
0:137            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:137              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:137                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:137                Constant:
0:137                  0 (const uint)
0:137              direct index ( temp uint)
0:137                'dti' ( in 3-component vector of uint)
0:137                Constant:
0:137                  0 (const int)
0:137            Constant:
0:137              0 (const int)
0:137          Sequence
0:137            Constant:
0:137              0 (const int)
0:137            Constant:
0:137              1 (const int)
0:137            Constant:
0:137              2 (const int)
0:137        subgroupQuadSwapDiagonal ( temp 3-component vector of uint)
0:137          vector swizzle ( temp 3-component vector of uint)
0:137            u: direct index for structure ( temp 4-component vector of uint)
0:137              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:137                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:137                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:137                  Constant:
0:137                    0 (const uint)
0:137                direct index ( temp uint)
0:137                  'dti' ( in 3-component vector of uint)
0:137                  Constant:
0:137                    0 (const int)
0:137              Constant:
0:137                0 (const int)
0:137            Sequence
0:137              Constant:
0:137                0 (const int)
0:137              Constant:
0:137                1 (const int)
0:137              Constant:
0:137                2 (const int)
0:139      move second child to first child ( temp 4-component vector of int)
0:139        i: direct index for structure ( temp 4-component vector of int)
0:139          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:139            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:139              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:139              Constant:
0:139                0 (const uint)
0:139            direct index ( temp uint)
0:139              'dti' ( in 3-component vector of uint)
0:139              Constant:
0:139                0 (const int)
0:139          Constant:
0:139            1 (const int)
0:139        subgroupQuadSwapDiagonal ( temp 4-component vector of int)
0:139          i: direct index for structure ( temp 4-component vector of int)
0:139            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:139              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:139                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:139                Constant:
0:139                  0 (const uint)
0:139              direct index ( temp uint)
0:139                'dti' ( in 3-component vector of uint)
0:139                Constant:
0:139                  0 (const int)
0:139            Constant:
0:139              1 (const int)
0:140      move second child to first child ( temp int)
0:140        direct index ( temp int)
0:140          i: direct index for structure ( temp 4-component vector of int)
0:140            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:140              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:140                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:140                Constant:
0:140                  0 (const uint)
0:140              direct index ( temp uint)
0:140                'dti' ( in 3-component vector of uint)
0:140                Constant:
0:140                  0 (const int)
0:140            Constant:
0:140              1 (const int)
0:140          Constant:
0:140            0 (const int)
0:140        subgroupQuadSwapDiagonal ( temp int)
0:140          direct index ( temp int)
0:140            i: direct index for structure ( temp 4-component vector of int)
0:140              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:140                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:140                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:140                  Constant:
0:140                    0 (const uint)
0:140                direct index ( temp uint)
0:140                  'dti' ( in 3-component vector of uint)
0:140                  Constant:
0:140                    0 (const int)
0:140              Constant:
0:140                1 (const int)
0:140            Constant:
0:140              0 (const int)
0:141      move second child to first child ( temp 2-component vector of int)
0:141        vector swizzle ( temp 2-component vector of int)
0:141          i: direct index for structure ( temp 4-component vector of int)
0:141            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:141              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:141                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:141                Constant:
0:141                  0 (const uint)
0:141              direct index ( temp uint)
0:141                'dti' ( in 3-component vector of uint)
0:141                Constant:
0:141                  0 (const int)
0:141            Constant:
0:141              1 (const int)
0:141          Sequence
0:141            Constant:
0:141              0 (const int)
0:141            Constant:
0:141              1 (const int)
0:141        subgroupQuadSwapDiagonal ( temp 2-component vector of int)
0:141          vector swizzle ( temp 2-component vector of int)
0:141            i: direct index for structure ( temp 4-component vector of int)
0:141              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:141                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:141                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:141                  Constant:
0:141                    0 (const uint)
0:141                direct index ( temp uint)
0:141                  'dti' ( in 3-component vector of uint)
0:141                  Constant:
0:141                    0 (const int)
0:141              Constant:
0:141                1 (const int)
0:141            Sequence
0:141              Constant:
0:141                0 (const int)
0:141              Constant:
0:141                1 (const int)
0:142      move second child to first child ( temp 3-component vector of int)
0:142        vector swizzle ( temp 3-component vector of int)
0:142          i: direct index for structure ( temp 4-component vector of int)
0:142            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:142              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:142                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:142                Constant:
0:142                  0 (const uint)
0:142              direct index ( temp uint)
0:142                'dti' ( in 3-component vector of uint)
0:142                Constant:
0:142                  0 (const int)
0:142            Constant:
0:142              1 (const int)
0:142          Sequence
0:142            Constant:
0:142              0 (const int)
0:142            Constant:
0:142              1 (const int)
0:142            Constant:
0:142              2 (const int)
0:142        subgroupQuadSwapDiagonal ( temp 3-component vector of int)
0:142          vector swizzle ( temp 3-component vector of int)
0:142            i: direct index for structure ( temp 4-component vector of int)
0:142              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:142                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:142                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:142                  Constant:
0:142                    0 (const uint)
0:142                direct index ( temp uint)
0:142                  'dti' ( in 3-component vector of uint)
0:142                  Constant:
0:142                    0 (const int)
0:142              Constant:
0:142                1 (const int)
0:142            Sequence
0:142              Constant:
0:142                0 (const int)
0:142              Constant:
0:142                1 (const int)
0:142              Constant:
0:142                2 (const int)
0:144      move second child to first child ( temp 4-component vector of float)
0:144        f: direct index for structure ( temp 4-component vector of float)
0:144          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:144            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:144              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:144              Constant:
0:144                0 (const uint)
0:144            direct index ( temp uint)
0:144              'dti' ( in 3-component vector of uint)
0:144              Constant:
0:144                0 (const int)
0:144          Constant:
0:144            2 (const int)
0:144        subgroupQuadSwapDiagonal ( temp 4-component vector of float)
0:144          f: direct index for structure ( temp 4-component vector of float)
0:144            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:144              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:144                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:144                Constant:
0:144                  0 (const uint)
0:144              direct index ( temp uint)
0:144                'dti' ( in 3-component vector of uint)
0:144                Constant:
0:144                  0 (const int)
0:144            Constant:
0:144              2 (const int)
0:145      move second child to first child ( temp float)
0:145        direct index ( temp float)
0:145          f: direct index for structure ( temp 4-component vector of float)
0:145            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:145              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:145                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:145                Constant:
0:145                  0 (const uint)
0:145              direct index ( temp uint)
0:145                'dti' ( in 3-component vector of uint)
0:145                Constant:
0:145                  0 (const int)
0:145            Constant:
0:145              2 (const int)
0:145          Constant:
0:145            0 (const int)
0:145        subgroupQuadSwapDiagonal ( temp float)
0:145          direct index ( temp float)
0:145            f: direct index for structure ( temp 4-component vector of float)
0:145              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:145                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:145                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:145                  Constant:
0:145                    0 (const uint)
0:145                direct index ( temp uint)
0:145                  'dti' ( in 3-component vector of uint)
0:145                  Constant:
0:145                    0 (const int)
0:145              Constant:
0:145                2 (const int)
0:145            Constant:
0:145              0 (const int)
0:146      move second child to first child ( temp 2-component vector of float)
0:146        vector swizzle ( temp 2-component vector of float)
0:146          f: direct index for structure ( temp 4-component vector of float)
0:146            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:146              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:146                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:146                Constant:
0:146                  0 (const uint)
0:146              direct index ( temp uint)
0:146                'dti' ( in 3-component vector of uint)
0:146                Constant:
0:146                  0 (const int)
0:146            Constant:
0:146              2 (const int)
0:146          Sequence
0:146            Constant:
0:146              0 (const int)
0:146            Constant:
0:146              1 (const int)
0:146        subgroupQuadSwapDiagonal ( temp 2-component vector of float)
0:146          vector swizzle ( temp 2-component vector of float)
0:146            f: direct index for structure ( temp 4-component vector of float)
0:146              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:146                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:146                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:146                  Constant:
0:146                    0 (const uint)
0:146                direct index ( temp uint)
0:146                  'dti' ( in 3-component vector of uint)
0:146                  Constant:
0:146                    0 (const int)
0:146              Constant:
0:146                2 (const int)
0:146            Sequence
0:146              Constant:
0:146                0 (const int)
0:146              Constant:
0:146                1 (const int)
0:147      move second child to first child ( temp 3-component vector of float)
0:147        vector swizzle ( temp 3-component vector of float)
0:147          f: direct index for structure ( temp 4-component vector of float)
0:147            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:147              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:147                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:147                Constant:
0:147                  0 (const uint)
0:147              direct index ( temp uint)
0:147                'dti' ( in 3-component vector of uint)
0:147                Constant:
0:147                  0 (const int)
0:147            Constant:
0:147              2 (const int)
0:147          Sequence
0:147            Constant:
0:147              0 (const int)
0:147            Constant:
0:147              1 (const int)
0:147            Constant:
0:147              2 (const int)
0:147        subgroupQuadSwapDiagonal ( temp 3-component vector of float)
0:147          vector swizzle ( temp 3-component vector of float)
0:147            f: direct index for structure ( temp 4-component vector of float)
0:147              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:147                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:147                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:147                  Constant:
0:147                    0 (const uint)
0:147                direct index ( temp uint)
0:147                  'dti' ( in 3-component vector of uint)
0:147                  Constant:
0:147                    0 (const int)
0:147              Constant:
0:147                2 (const int)
0:147            Sequence
0:147              Constant:
0:147                0 (const int)
0:147              Constant:
0:147                1 (const int)
0:147              Constant:
0:147                2 (const int)
0:149      move second child to first child ( temp 4-component vector of double)
0:149        d: direct index for structure ( temp 4-component vector of double)
0:149          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:149            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:149              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:149              Constant:
0:149                0 (const uint)
0:149            direct index ( temp uint)
0:149              'dti' ( in 3-component vector of uint)
0:149              Constant:
0:149                0 (const int)
0:149          Constant:
0:149            3 (const int)
0:149        subgroupQuadSwapDiagonal ( temp 4-component vector of double)
0:149          d: direct index for structure ( temp 4-component vector of double)
0:149            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:149              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:149                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:149                Constant:
0:149                  0 (const uint)
0:149              direct index ( temp uint)
0:149                'dti' ( in 3-component vector of uint)
0:149                Constant:
0:149                  0 (const int)
0:149            Constant:
0:149              3 (const int)
0:150      move second child to first child ( temp double)
0:150        direct index ( temp double)
0:150          d: direct index for structure ( temp 4-component vector of double)
0:150            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:150              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:150                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:150                Constant:
0:150                  0 (const uint)
0:150              direct index ( temp uint)
0:150                'dti' ( in 3-component vector of uint)
0:150                Constant:
0:150                  0 (const int)
0:150            Constant:
0:150              3 (const int)
0:150          Constant:
0:150            0 (const int)
0:150        subgroupQuadSwapDiagonal ( temp double)
0:150          direct index ( temp double)
0:150            d: direct index for structure ( temp 4-component vector of double)
0:150              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:150                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:150                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:150                  Constant:
0:150                    0 (const uint)
0:150                direct index ( temp uint)
0:150                  'dti' ( in 3-component vector of uint)
0:150                  Constant:
0:150                    0 (const int)
0:150              Constant:
0:150                3 (const int)
0:150            Constant:
0:150              0 (const int)
0:151      move second child to first child ( temp 2-component vector of double)
0:151        vector swizzle ( temp 2-component vector of double)
0:151          d: direct index for structure ( temp 4-component vector of double)
0:151            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:151              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:151                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:151                Constant:
0:151                  0 (const uint)
0:151              direct index ( temp uint)
0:151                'dti' ( in 3-component vector of uint)
0:151                Constant:
0:151                  0 (const int)
0:151            Constant:
0:151              3 (const int)
0:151          Sequence
0:151            Constant:
0:151              0 (const int)
0:151            Constant:
0:151              1 (const int)
0:151        subgroupQuadSwapDiagonal ( temp 2-component vector of double)
0:151          vector swizzle ( temp 2-component vector of double)
0:151            d: direct index for structure ( temp 4-component vector of double)
0:151              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:151                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:151                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:151                  Constant:
0:151                    0 (const uint)
0:151                direct index ( temp uint)
0:151                  'dti' ( in 3-component vector of uint)
0:151                  Constant:
0:151                    0 (const int)
0:151              Constant:
0:151                3 (const int)
0:151            Sequence
0:151              Constant:
0:151                0 (const int)
0:151              Constant:
0:151                1 (const int)
0:152      move second child to first child ( temp 3-component vector of double)
0:152        vector swizzle ( temp 3-component vector of double)
0:152          d: direct index for structure ( temp 4-component vector of double)
0:152            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:152              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:152                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:152                Constant:
0:152                  0 (const uint)
0:152              direct index ( temp uint)
0:152                'dti' ( in 3-component vector of uint)
0:152                Constant:
0:152                  0 (const int)
0:152            Constant:
0:152              3 (const int)
0:152          Sequence
0:152            Constant:
0:152              0 (const int)
0:152            Constant:
0:152              1 (const int)
0:152            Constant:
0:152              2 (const int)
0:152        subgroupQuadSwapDiagonal ( temp 3-component vector of double)
0:152          vector swizzle ( temp 3-component vector of double)
0:152            d: direct index for structure ( temp 4-component vector of double)
0:152              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:152                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:152                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:152                  Constant:
0:152                    0 (const uint)
0:152                direct index ( temp uint)
0:152                  'dti' ( in 3-component vector of uint)
0:152                  Constant:
0:152                    0 (const int)
0:152              Constant:
0:152                3 (const int)
0:152            Sequence
0:152              Constant:
0:152                0 (const int)
0:152              Constant:
0:152                1 (const int)
0:152              Constant:
0:152                2 (const int)
0:13  Function Definition: CSMain( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      move second child to first child ( temp 3-component vector of uint)
0:?         'dti' ( temp 3-component vector of uint)
0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
0:13      Function Call: @CSMain(vu3; ( temp void)
0:?         'dti' ( temp 3-component vector of uint)
0:?   Linker Objects
0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)


Linked compute stage:


Shader version: 500
local_size = (32, 16, 1)
0:? Sequence
0:13  Function Definition: @CSMain(vu3; ( temp void)
0:13    Function Parameters: 
0:13      'dti' ( in 3-component vector of uint)
0:?     Sequence
0:14      move second child to first child ( temp 4-component vector of uint)
0:14        u: direct index for structure ( temp 4-component vector of uint)
0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:14            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:14              Constant:
0:14                0 (const uint)
0:14            direct index ( temp uint)
0:14              'dti' ( in 3-component vector of uint)
0:14              Constant:
0:14                0 (const int)
0:14          Constant:
0:14            0 (const int)
0:14        subgroupQuadBroadcast ( temp 4-component vector of uint)
0:14          u: direct index for structure ( temp 4-component vector of uint)
0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:14              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:14                Constant:
0:14                  0 (const uint)
0:14              direct index ( temp uint)
0:14                'dti' ( in 3-component vector of uint)
0:14                Constant:
0:14                  0 (const int)
0:14            Constant:
0:14              0 (const int)
0:14          Constant:
0:14            0 (const uint)
0:15      move second child to first child ( temp uint)
0:15        direct index ( temp uint)
0:15          u: direct index for structure ( temp 4-component vector of uint)
0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:15              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:15                Constant:
0:15                  0 (const uint)
0:15              direct index ( temp uint)
0:15                'dti' ( in 3-component vector of uint)
0:15                Constant:
0:15                  0 (const int)
0:15            Constant:
0:15              0 (const int)
0:15          Constant:
0:15            0 (const int)
0:15        subgroupQuadBroadcast ( temp uint)
0:15          direct index ( temp uint)
0:15            u: direct index for structure ( temp 4-component vector of uint)
0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:15                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:15                  Constant:
0:15                    0 (const uint)
0:15                direct index ( temp uint)
0:15                  'dti' ( in 3-component vector of uint)
0:15                  Constant:
0:15                    0 (const int)
0:15              Constant:
0:15                0 (const int)
0:15            Constant:
0:15              0 (const int)
0:15          Constant:
0:15            0 (const uint)
0:16      move second child to first child ( temp 2-component vector of uint)
0:16        vector swizzle ( temp 2-component vector of uint)
0:16          u: direct index for structure ( temp 4-component vector of uint)
0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:16              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:16                Constant:
0:16                  0 (const uint)
0:16              direct index ( temp uint)
0:16                'dti' ( in 3-component vector of uint)
0:16                Constant:
0:16                  0 (const int)
0:16            Constant:
0:16              0 (const int)
0:16          Sequence
0:16            Constant:
0:16              0 (const int)
0:16            Constant:
0:16              1 (const int)
0:16        subgroupQuadBroadcast ( temp 2-component vector of uint)
0:16          vector swizzle ( temp 2-component vector of uint)
0:16            u: direct index for structure ( temp 4-component vector of uint)
0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:16                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:16                  Constant:
0:16                    0 (const uint)
0:16                direct index ( temp uint)
0:16                  'dti' ( in 3-component vector of uint)
0:16                  Constant:
0:16                    0 (const int)
0:16              Constant:
0:16                0 (const int)
0:16            Sequence
0:16              Constant:
0:16                0 (const int)
0:16              Constant:
0:16                1 (const int)
0:16          Constant:
0:16            0 (const uint)
0:17      move second child to first child ( temp 3-component vector of uint)
0:17        vector swizzle ( temp 3-component vector of uint)
0:17          u: direct index for structure ( temp 4-component vector of uint)
0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:17              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:17                Constant:
0:17                  0 (const uint)
0:17              direct index ( temp uint)
0:17                'dti' ( in 3-component vector of uint)
0:17                Constant:
0:17                  0 (const int)
0:17            Constant:
0:17              0 (const int)
0:17          Sequence
0:17            Constant:
0:17              0 (const int)
0:17            Constant:
0:17              1 (const int)
0:17            Constant:
0:17              2 (const int)
0:17        subgroupQuadBroadcast ( temp 3-component vector of uint)
0:17          vector swizzle ( temp 3-component vector of uint)
0:17            u: direct index for structure ( temp 4-component vector of uint)
0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:17                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:17                  Constant:
0:17                    0 (const uint)
0:17                direct index ( temp uint)
0:17                  'dti' ( in 3-component vector of uint)
0:17                  Constant:
0:17                    0 (const int)
0:17              Constant:
0:17                0 (const int)
0:17            Sequence
0:17              Constant:
0:17                0 (const int)
0:17              Constant:
0:17                1 (const int)
0:17              Constant:
0:17                2 (const int)
0:17          Constant:
0:17            0 (const uint)
0:19      move second child to first child ( temp 4-component vector of int)
0:19        i: direct index for structure ( temp 4-component vector of int)
0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:19            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:19              Constant:
0:19                0 (const uint)
0:19            direct index ( temp uint)
0:19              'dti' ( in 3-component vector of uint)
0:19              Constant:
0:19                0 (const int)
0:19          Constant:
0:19            1 (const int)
0:19        subgroupQuadBroadcast ( temp 4-component vector of int)
0:19          i: direct index for structure ( temp 4-component vector of int)
0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:19              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:19                Constant:
0:19                  0 (const uint)
0:19              direct index ( temp uint)
0:19                'dti' ( in 3-component vector of uint)
0:19                Constant:
0:19                  0 (const int)
0:19            Constant:
0:19              1 (const int)
0:19          Constant:
0:19            0 (const uint)
0:20      move second child to first child ( temp int)
0:20        direct index ( temp int)
0:20          i: direct index for structure ( temp 4-component vector of int)
0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:20              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:20                Constant:
0:20                  0 (const uint)
0:20              direct index ( temp uint)
0:20                'dti' ( in 3-component vector of uint)
0:20                Constant:
0:20                  0 (const int)
0:20            Constant:
0:20              1 (const int)
0:20          Constant:
0:20            0 (const int)
0:20        subgroupQuadBroadcast ( temp int)
0:20          direct index ( temp int)
0:20            i: direct index for structure ( temp 4-component vector of int)
0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:20                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:20                  Constant:
0:20                    0 (const uint)
0:20                direct index ( temp uint)
0:20                  'dti' ( in 3-component vector of uint)
0:20                  Constant:
0:20                    0 (const int)
0:20              Constant:
0:20                1 (const int)
0:20            Constant:
0:20              0 (const int)
0:20          Constant:
0:20            0 (const uint)
0:21      move second child to first child ( temp 2-component vector of int)
0:21        vector swizzle ( temp 2-component vector of int)
0:21          i: direct index for structure ( temp 4-component vector of int)
0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:21              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:21                Constant:
0:21                  0 (const uint)
0:21              direct index ( temp uint)
0:21                'dti' ( in 3-component vector of uint)
0:21                Constant:
0:21                  0 (const int)
0:21            Constant:
0:21              1 (const int)
0:21          Sequence
0:21            Constant:
0:21              0 (const int)
0:21            Constant:
0:21              1 (const int)
0:21        subgroupQuadBroadcast ( temp 2-component vector of int)
0:21          vector swizzle ( temp 2-component vector of int)
0:21            i: direct index for structure ( temp 4-component vector of int)
0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:21                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:21                  Constant:
0:21                    0 (const uint)
0:21                direct index ( temp uint)
0:21                  'dti' ( in 3-component vector of uint)
0:21                  Constant:
0:21                    0 (const int)
0:21              Constant:
0:21                1 (const int)
0:21            Sequence
0:21              Constant:
0:21                0 (const int)
0:21              Constant:
0:21                1 (const int)
0:21          Constant:
0:21            0 (const uint)
0:22      move second child to first child ( temp 3-component vector of int)
0:22        vector swizzle ( temp 3-component vector of int)
0:22          i: direct index for structure ( temp 4-component vector of int)
0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:22              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:22                Constant:
0:22                  0 (const uint)
0:22              direct index ( temp uint)
0:22                'dti' ( in 3-component vector of uint)
0:22                Constant:
0:22                  0 (const int)
0:22            Constant:
0:22              1 (const int)
0:22          Sequence
0:22            Constant:
0:22              0 (const int)
0:22            Constant:
0:22              1 (const int)
0:22            Constant:
0:22              2 (const int)
0:22        subgroupQuadBroadcast ( temp 3-component vector of int)
0:22          vector swizzle ( temp 3-component vector of int)
0:22            i: direct index for structure ( temp 4-component vector of int)
0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:22                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:22                  Constant:
0:22                    0 (const uint)
0:22                direct index ( temp uint)
0:22                  'dti' ( in 3-component vector of uint)
0:22                  Constant:
0:22                    0 (const int)
0:22              Constant:
0:22                1 (const int)
0:22            Sequence
0:22              Constant:
0:22                0 (const int)
0:22              Constant:
0:22                1 (const int)
0:22              Constant:
0:22                2 (const int)
0:22          Constant:
0:22            0 (const uint)
0:24      move second child to first child ( temp 4-component vector of float)
0:24        f: direct index for structure ( temp 4-component vector of float)
0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:24            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:24              Constant:
0:24                0 (const uint)
0:24            direct index ( temp uint)
0:24              'dti' ( in 3-component vector of uint)
0:24              Constant:
0:24                0 (const int)
0:24          Constant:
0:24            2 (const int)
0:24        subgroupQuadBroadcast ( temp 4-component vector of float)
0:24          f: direct index for structure ( temp 4-component vector of float)
0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:24              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:24                Constant:
0:24                  0 (const uint)
0:24              direct index ( temp uint)
0:24                'dti' ( in 3-component vector of uint)
0:24                Constant:
0:24                  0 (const int)
0:24            Constant:
0:24              2 (const int)
0:24          Constant:
0:24            0 (const uint)
0:25      move second child to first child ( temp float)
0:25        direct index ( temp float)
0:25          f: direct index for structure ( temp 4-component vector of float)
0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:25              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:25                Constant:
0:25                  0 (const uint)
0:25              direct index ( temp uint)
0:25                'dti' ( in 3-component vector of uint)
0:25                Constant:
0:25                  0 (const int)
0:25            Constant:
0:25              2 (const int)
0:25          Constant:
0:25            0 (const int)
0:25        subgroupQuadBroadcast ( temp float)
0:25          direct index ( temp float)
0:25            f: direct index for structure ( temp 4-component vector of float)
0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:25                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:25                  Constant:
0:25                    0 (const uint)
0:25                direct index ( temp uint)
0:25                  'dti' ( in 3-component vector of uint)
0:25                  Constant:
0:25                    0 (const int)
0:25              Constant:
0:25                2 (const int)
0:25            Constant:
0:25              0 (const int)
0:25          Constant:
0:25            0 (const uint)
0:26      move second child to first child ( temp 2-component vector of float)
0:26        vector swizzle ( temp 2-component vector of float)
0:26          f: direct index for structure ( temp 4-component vector of float)
0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:26              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:26                Constant:
0:26                  0 (const uint)
0:26              direct index ( temp uint)
0:26                'dti' ( in 3-component vector of uint)
0:26                Constant:
0:26                  0 (const int)
0:26            Constant:
0:26              2 (const int)
0:26          Sequence
0:26            Constant:
0:26              0 (const int)
0:26            Constant:
0:26              1 (const int)
0:26        subgroupQuadBroadcast ( temp 2-component vector of float)
0:26          vector swizzle ( temp 2-component vector of float)
0:26            f: direct index for structure ( temp 4-component vector of float)
0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:26                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:26                  Constant:
0:26                    0 (const uint)
0:26                direct index ( temp uint)
0:26                  'dti' ( in 3-component vector of uint)
0:26                  Constant:
0:26                    0 (const int)
0:26              Constant:
0:26                2 (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            0 (const uint)
0:27      move second child to first child ( temp 3-component vector of float)
0:27        vector swizzle ( temp 3-component vector of float)
0:27          f: direct index for structure ( temp 4-component vector of float)
0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:27              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:27                Constant:
0:27                  0 (const uint)
0:27              direct index ( temp uint)
0:27                'dti' ( in 3-component vector of uint)
0:27                Constant:
0:27                  0 (const int)
0:27            Constant:
0:27              2 (const int)
0:27          Sequence
0:27            Constant:
0:27              0 (const int)
0:27            Constant:
0:27              1 (const int)
0:27            Constant:
0:27              2 (const int)
0:27        subgroupQuadBroadcast ( temp 3-component vector of float)
0:27          vector swizzle ( temp 3-component vector of float)
0:27            f: direct index for structure ( temp 4-component vector of float)
0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:27                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:27                  Constant:
0:27                    0 (const uint)
0:27                direct index ( temp uint)
0:27                  'dti' ( in 3-component vector of uint)
0:27                  Constant:
0:27                    0 (const int)
0:27              Constant:
0:27                2 (const int)
0:27            Sequence
0:27              Constant:
0:27                0 (const int)
0:27              Constant:
0:27                1 (const int)
0:27              Constant:
0:27                2 (const int)
0:27          Constant:
0:27            0 (const uint)
0:29      move second child to first child ( temp 4-component vector of double)
0:29        d: direct index for structure ( temp 4-component vector of double)
0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:29            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:29              Constant:
0:29                0 (const uint)
0:29            direct index ( temp uint)
0:29              'dti' ( in 3-component vector of uint)
0:29              Constant:
0:29                0 (const int)
0:29          Constant:
0:29            3 (const int)
0:29        subgroupQuadBroadcast ( temp 4-component vector of double)
0:29          d: direct index for structure ( temp 4-component vector of double)
0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:29              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:29                Constant:
0:29                  0 (const uint)
0:29              direct index ( temp uint)
0:29                'dti' ( in 3-component vector of uint)
0:29                Constant:
0:29                  0 (const int)
0:29            Constant:
0:29              3 (const int)
0:29          Constant:
0:29            0 (const uint)
0:30      move second child to first child ( temp double)
0:30        direct index ( temp double)
0:30          d: direct index for structure ( temp 4-component vector of double)
0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:30              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:30                Constant:
0:30                  0 (const uint)
0:30              direct index ( temp uint)
0:30                'dti' ( in 3-component vector of uint)
0:30                Constant:
0:30                  0 (const int)
0:30            Constant:
0:30              3 (const int)
0:30          Constant:
0:30            0 (const int)
0:30        subgroupQuadBroadcast ( temp double)
0:30          direct index ( temp double)
0:30            d: direct index for structure ( temp 4-component vector of double)
0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:30                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:30                  Constant:
0:30                    0 (const uint)
0:30                direct index ( temp uint)
0:30                  'dti' ( in 3-component vector of uint)
0:30                  Constant:
0:30                    0 (const int)
0:30              Constant:
0:30                3 (const int)
0:30            Constant:
0:30              0 (const int)
0:30          Constant:
0:30            0 (const uint)
0:31      move second child to first child ( temp 2-component vector of double)
0:31        vector swizzle ( temp 2-component vector of double)
0:31          d: direct index for structure ( temp 4-component vector of double)
0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:31              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:31                Constant:
0:31                  0 (const uint)
0:31              direct index ( temp uint)
0:31                'dti' ( in 3-component vector of uint)
0:31                Constant:
0:31                  0 (const int)
0:31            Constant:
0:31              3 (const int)
0:31          Sequence
0:31            Constant:
0:31              0 (const int)
0:31            Constant:
0:31              1 (const int)
0:31        subgroupQuadBroadcast ( temp 2-component vector of double)
0:31          vector swizzle ( temp 2-component vector of double)
0:31            d: direct index for structure ( temp 4-component vector of double)
0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:31                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:31                  Constant:
0:31                    0 (const uint)
0:31                direct index ( temp uint)
0:31                  'dti' ( in 3-component vector of uint)
0:31                  Constant:
0:31                    0 (const int)
0:31              Constant:
0:31                3 (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            0 (const uint)
0:32      move second child to first child ( temp 3-component vector of double)
0:32        vector swizzle ( temp 3-component vector of double)
0:32          d: direct index for structure ( temp 4-component vector of double)
0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:32              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:32                Constant:
0:32                  0 (const uint)
0:32              direct index ( temp uint)
0:32                'dti' ( in 3-component vector of uint)
0:32                Constant:
0:32                  0 (const int)
0:32            Constant:
0:32              3 (const int)
0:32          Sequence
0:32            Constant:
0:32              0 (const int)
0:32            Constant:
0:32              1 (const int)
0:32            Constant:
0:32              2 (const int)
0:32        subgroupQuadBroadcast ( temp 3-component vector of double)
0:32          vector swizzle ( temp 3-component vector of double)
0:32            d: direct index for structure ( temp 4-component vector of double)
0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:32                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:32                  Constant:
0:32                    0 (const uint)
0:32                direct index ( temp uint)
0:32                  'dti' ( in 3-component vector of uint)
0:32                  Constant:
0:32                    0 (const int)
0:32              Constant:
0:32                3 (const int)
0:32            Sequence
0:32              Constant:
0:32                0 (const int)
0:32              Constant:
0:32                1 (const int)
0:32              Constant:
0:32                2 (const int)
0:32          Constant:
0:32            0 (const uint)
0:34      move second child to first child ( temp 4-component vector of uint)
0:34        u: direct index for structure ( temp 4-component vector of uint)
0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:34            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:34              Constant:
0:34                0 (const uint)
0:34            direct index ( temp uint)
0:34              'dti' ( in 3-component vector of uint)
0:34              Constant:
0:34                0 (const int)
0:34          Constant:
0:34            0 (const int)
0:34        subgroupQuadBroadcast ( temp 4-component vector of uint)
0:34          u: direct index for structure ( temp 4-component vector of uint)
0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:34              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:34                Constant:
0:34                  0 (const uint)
0:34              direct index ( temp uint)
0:34                'dti' ( in 3-component vector of uint)
0:34                Constant:
0:34                  0 (const int)
0:34            Constant:
0:34              0 (const int)
0:34          Constant:
0:34            1 (const uint)
0:35      move second child to first child ( temp uint)
0:35        direct index ( temp uint)
0:35          u: direct index for structure ( temp 4-component vector of uint)
0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:35              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:35                Constant:
0:35                  0 (const uint)
0:35              direct index ( temp uint)
0:35                'dti' ( in 3-component vector of uint)
0:35                Constant:
0:35                  0 (const int)
0:35            Constant:
0:35              0 (const int)
0:35          Constant:
0:35            0 (const int)
0:35        subgroupQuadBroadcast ( temp uint)
0:35          direct index ( temp uint)
0:35            u: direct index for structure ( temp 4-component vector of uint)
0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:35                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:35                  Constant:
0:35                    0 (const uint)
0:35                direct index ( temp uint)
0:35                  'dti' ( in 3-component vector of uint)
0:35                  Constant:
0:35                    0 (const int)
0:35              Constant:
0:35                0 (const int)
0:35            Constant:
0:35              0 (const int)
0:35          Constant:
0:35            1 (const uint)
0:36      move second child to first child ( temp 2-component vector of uint)
0:36        vector swizzle ( temp 2-component vector of uint)
0:36          u: direct index for structure ( temp 4-component vector of uint)
0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:36              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:36                Constant:
0:36                  0 (const uint)
0:36              direct index ( temp uint)
0:36                'dti' ( in 3-component vector of uint)
0:36                Constant:
0:36                  0 (const int)
0:36            Constant:
0:36              0 (const int)
0:36          Sequence
0:36            Constant:
0:36              0 (const int)
0:36            Constant:
0:36              1 (const int)
0:36        subgroupQuadBroadcast ( temp 2-component vector of uint)
0:36          vector swizzle ( temp 2-component vector of uint)
0:36            u: direct index for structure ( temp 4-component vector of uint)
0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:36                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:36                  Constant:
0:36                    0 (const uint)
0:36                direct index ( temp uint)
0:36                  'dti' ( in 3-component vector of uint)
0:36                  Constant:
0:36                    0 (const int)
0:36              Constant:
0:36                0 (const int)
0:36            Sequence
0:36              Constant:
0:36                0 (const int)
0:36              Constant:
0:36                1 (const int)
0:36          Constant:
0:36            1 (const uint)
0:37      move second child to first child ( temp 3-component vector of uint)
0:37        vector swizzle ( temp 3-component vector of uint)
0:37          u: direct index for structure ( temp 4-component vector of uint)
0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:37              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:37                Constant:
0:37                  0 (const uint)
0:37              direct index ( temp uint)
0:37                'dti' ( in 3-component vector of uint)
0:37                Constant:
0:37                  0 (const int)
0:37            Constant:
0:37              0 (const int)
0:37          Sequence
0:37            Constant:
0:37              0 (const int)
0:37            Constant:
0:37              1 (const int)
0:37            Constant:
0:37              2 (const int)
0:37        subgroupQuadBroadcast ( temp 3-component vector of uint)
0:37          vector swizzle ( temp 3-component vector of uint)
0:37            u: direct index for structure ( temp 4-component vector of uint)
0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:37                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:37                  Constant:
0:37                    0 (const uint)
0:37                direct index ( temp uint)
0:37                  'dti' ( in 3-component vector of uint)
0:37                  Constant:
0:37                    0 (const int)
0:37              Constant:
0:37                0 (const int)
0:37            Sequence
0:37              Constant:
0:37                0 (const int)
0:37              Constant:
0:37                1 (const int)
0:37              Constant:
0:37                2 (const int)
0:37          Constant:
0:37            1 (const uint)
0:39      move second child to first child ( temp 4-component vector of int)
0:39        i: direct index for structure ( temp 4-component vector of int)
0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:39            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:39              Constant:
0:39                0 (const uint)
0:39            direct index ( temp uint)
0:39              'dti' ( in 3-component vector of uint)
0:39              Constant:
0:39                0 (const int)
0:39          Constant:
0:39            1 (const int)
0:39        subgroupQuadBroadcast ( temp 4-component vector of int)
0:39          i: direct index for structure ( temp 4-component vector of int)
0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:39              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:39                Constant:
0:39                  0 (const uint)
0:39              direct index ( temp uint)
0:39                'dti' ( in 3-component vector of uint)
0:39                Constant:
0:39                  0 (const int)
0:39            Constant:
0:39              1 (const int)
0:39          Constant:
0:39            1 (const uint)
0:40      move second child to first child ( temp int)
0:40        direct index ( temp int)
0:40          i: direct index for structure ( temp 4-component vector of int)
0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:40              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:40                Constant:
0:40                  0 (const uint)
0:40              direct index ( temp uint)
0:40                'dti' ( in 3-component vector of uint)
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        subgroupQuadBroadcast ( temp int)
0:40          direct index ( temp int)
0:40            i: direct index for structure ( temp 4-component vector of int)
0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:40                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:40                  Constant:
0:40                    0 (const uint)
0:40                direct index ( temp uint)
0:40                  'dti' ( in 3-component vector of uint)
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          Constant:
0:40            1 (const uint)
0:41      move second child to first child ( temp 2-component vector of int)
0:41        vector swizzle ( temp 2-component vector of int)
0:41          i: direct index for structure ( temp 4-component vector of int)
0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:41              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:41                Constant:
0:41                  0 (const uint)
0:41              direct index ( temp uint)
0:41                'dti' ( in 3-component vector of uint)
0:41                Constant:
0:41                  0 (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        subgroupQuadBroadcast ( temp 2-component vector of int)
0:41          vector swizzle ( temp 2-component vector of int)
0:41            i: direct index for structure ( temp 4-component vector of int)
0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:41                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:41                  Constant:
0:41                    0 (const uint)
0:41                direct index ( temp uint)
0:41                  'dti' ( in 3-component vector of uint)
0:41                  Constant:
0:41                    0 (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            1 (const uint)
0:42      move second child to first child ( temp 3-component vector of int)
0:42        vector swizzle ( temp 3-component vector of int)
0:42          i: direct index for structure ( temp 4-component vector of int)
0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:42              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:42                Constant:
0:42                  0 (const uint)
0:42              direct index ( temp uint)
0:42                'dti' ( in 3-component vector of uint)
0:42                Constant:
0:42                  0 (const int)
0:42            Constant:
0:42              1 (const int)
0:42          Sequence
0:42            Constant:
0:42              0 (const int)
0:42            Constant:
0:42              1 (const int)
0:42            Constant:
0:42              2 (const int)
0:42        subgroupQuadBroadcast ( temp 3-component vector of int)
0:42          vector swizzle ( temp 3-component vector of int)
0:42            i: direct index for structure ( temp 4-component vector of int)
0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:42                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:42                  Constant:
0:42                    0 (const uint)
0:42                direct index ( temp uint)
0:42                  'dti' ( in 3-component vector of uint)
0:42                  Constant:
0:42                    0 (const int)
0:42              Constant:
0:42                1 (const int)
0:42            Sequence
0:42              Constant:
0:42                0 (const int)
0:42              Constant:
0:42                1 (const int)
0:42              Constant:
0:42                2 (const int)
0:42          Constant:
0:42            1 (const uint)
0:44      move second child to first child ( temp 4-component vector of float)
0:44        f: direct index for structure ( temp 4-component vector of float)
0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:44            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:44              Constant:
0:44                0 (const uint)
0:44            direct index ( temp uint)
0:44              'dti' ( in 3-component vector of uint)
0:44              Constant:
0:44                0 (const int)
0:44          Constant:
0:44            2 (const int)
0:44        subgroupQuadBroadcast ( temp 4-component vector of float)
0:44          f: direct index for structure ( temp 4-component vector of float)
0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:44              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:44                Constant:
0:44                  0 (const uint)
0:44              direct index ( temp uint)
0:44                'dti' ( in 3-component vector of uint)
0:44                Constant:
0:44                  0 (const int)
0:44            Constant:
0:44              2 (const int)
0:44          Constant:
0:44            1 (const uint)
0:45      move second child to first child ( temp float)
0:45        direct index ( temp float)
0:45          f: direct index for structure ( temp 4-component vector of float)
0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:45              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:45                Constant:
0:45                  0 (const uint)
0:45              direct index ( temp uint)
0:45                'dti' ( in 3-component vector of uint)
0:45                Constant:
0:45                  0 (const int)
0:45            Constant:
0:45              2 (const int)
0:45          Constant:
0:45            0 (const int)
0:45        subgroupQuadBroadcast ( temp float)
0:45          direct index ( temp float)
0:45            f: direct index for structure ( temp 4-component vector of float)
0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:45                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:45                  Constant:
0:45                    0 (const uint)
0:45                direct index ( temp uint)
0:45                  'dti' ( in 3-component vector of uint)
0:45                  Constant:
0:45                    0 (const int)
0:45              Constant:
0:45                2 (const int)
0:45            Constant:
0:45              0 (const int)
0:45          Constant:
0:45            1 (const uint)
0:46      move second child to first child ( temp 2-component vector of float)
0:46        vector swizzle ( temp 2-component vector of float)
0:46          f: direct index for structure ( temp 4-component vector of float)
0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:46              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:46                Constant:
0:46                  0 (const uint)
0:46              direct index ( temp uint)
0:46                'dti' ( in 3-component vector of uint)
0:46                Constant:
0:46                  0 (const int)
0:46            Constant:
0:46              2 (const int)
0:46          Sequence
0:46            Constant:
0:46              0 (const int)
0:46            Constant:
0:46              1 (const int)
0:46        subgroupQuadBroadcast ( temp 2-component vector of float)
0:46          vector swizzle ( temp 2-component vector of float)
0:46            f: direct index for structure ( temp 4-component vector of float)
0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:46                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:46                  Constant:
0:46                    0 (const uint)
0:46                direct index ( temp uint)
0:46                  'dti' ( in 3-component vector of uint)
0:46                  Constant:
0:46                    0 (const int)
0:46              Constant:
0:46                2 (const int)
0:46            Sequence
0:46              Constant:
0:46                0 (const int)
0:46              Constant:
0:46                1 (const int)
0:46          Constant:
0:46            1 (const uint)
0:47      move second child to first child ( temp 3-component vector of float)
0:47        vector swizzle ( temp 3-component vector of float)
0:47          f: direct index for structure ( temp 4-component vector of float)
0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:47              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:47                Constant:
0:47                  0 (const uint)
0:47              direct index ( temp uint)
0:47                'dti' ( in 3-component vector of uint)
0:47                Constant:
0:47                  0 (const int)
0:47            Constant:
0:47              2 (const int)
0:47          Sequence
0:47            Constant:
0:47              0 (const int)
0:47            Constant:
0:47              1 (const int)
0:47            Constant:
0:47              2 (const int)
0:47        subgroupQuadBroadcast ( temp 3-component vector of float)
0:47          vector swizzle ( temp 3-component vector of float)
0:47            f: direct index for structure ( temp 4-component vector of float)
0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:47                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:47                  Constant:
0:47                    0 (const uint)
0:47                direct index ( temp uint)
0:47                  'dti' ( in 3-component vector of uint)
0:47                  Constant:
0:47                    0 (const int)
0:47              Constant:
0:47                2 (const int)
0:47            Sequence
0:47              Constant:
0:47                0 (const int)
0:47              Constant:
0:47                1 (const int)
0:47              Constant:
0:47                2 (const int)
0:47          Constant:
0:47            1 (const uint)
0:49      move second child to first child ( temp 4-component vector of double)
0:49        d: direct index for structure ( temp 4-component vector of double)
0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:49            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:49              Constant:
0:49                0 (const uint)
0:49            direct index ( temp uint)
0:49              'dti' ( in 3-component vector of uint)
0:49              Constant:
0:49                0 (const int)
0:49          Constant:
0:49            3 (const int)
0:49        subgroupQuadBroadcast ( temp 4-component vector of double)
0:49          d: direct index for structure ( temp 4-component vector of double)
0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:49              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:49                Constant:
0:49                  0 (const uint)
0:49              direct index ( temp uint)
0:49                'dti' ( in 3-component vector of uint)
0:49                Constant:
0:49                  0 (const int)
0:49            Constant:
0:49              3 (const int)
0:49          Constant:
0:49            1 (const uint)
0:50      move second child to first child ( temp double)
0:50        direct index ( temp double)
0:50          d: direct index for structure ( temp 4-component vector of double)
0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:50              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:50                Constant:
0:50                  0 (const uint)
0:50              direct index ( temp uint)
0:50                'dti' ( in 3-component vector of uint)
0:50                Constant:
0:50                  0 (const int)
0:50            Constant:
0:50              3 (const int)
0:50          Constant:
0:50            0 (const int)
0:50        subgroupQuadBroadcast ( temp double)
0:50          direct index ( temp double)
0:50            d: direct index for structure ( temp 4-component vector of double)
0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:50                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:50                  Constant:
0:50                    0 (const uint)
0:50                direct index ( temp uint)
0:50                  'dti' ( in 3-component vector of uint)
0:50                  Constant:
0:50                    0 (const int)
0:50              Constant:
0:50                3 (const int)
0:50            Constant:
0:50              0 (const int)
0:50          Constant:
0:50            1 (const uint)
0:51      move second child to first child ( temp 2-component vector of double)
0:51        vector swizzle ( temp 2-component vector of double)
0:51          d: direct index for structure ( temp 4-component vector of double)
0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:51              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:51                Constant:
0:51                  0 (const uint)
0:51              direct index ( temp uint)
0:51                'dti' ( in 3-component vector of uint)
0:51                Constant:
0:51                  0 (const int)
0:51            Constant:
0:51              3 (const int)
0:51          Sequence
0:51            Constant:
0:51              0 (const int)
0:51            Constant:
0:51              1 (const int)
0:51        subgroupQuadBroadcast ( temp 2-component vector of double)
0:51          vector swizzle ( temp 2-component vector of double)
0:51            d: direct index for structure ( temp 4-component vector of double)
0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:51                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:51                  Constant:
0:51                    0 (const uint)
0:51                direct index ( temp uint)
0:51                  'dti' ( in 3-component vector of uint)
0:51                  Constant:
0:51                    0 (const int)
0:51              Constant:
0:51                3 (const int)
0:51            Sequence
0:51              Constant:
0:51                0 (const int)
0:51              Constant:
0:51                1 (const int)
0:51          Constant:
0:51            1 (const uint)
0:52      move second child to first child ( temp 3-component vector of double)
0:52        vector swizzle ( temp 3-component vector of double)
0:52          d: direct index for structure ( temp 4-component vector of double)
0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:52              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:52                Constant:
0:52                  0 (const uint)
0:52              direct index ( temp uint)
0:52                'dti' ( in 3-component vector of uint)
0:52                Constant:
0:52                  0 (const int)
0:52            Constant:
0:52              3 (const int)
0:52          Sequence
0:52            Constant:
0:52              0 (const int)
0:52            Constant:
0:52              1 (const int)
0:52            Constant:
0:52              2 (const int)
0:52        subgroupQuadBroadcast ( temp 3-component vector of double)
0:52          vector swizzle ( temp 3-component vector of double)
0:52            d: direct index for structure ( temp 4-component vector of double)
0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:52                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:52                  Constant:
0:52                    0 (const uint)
0:52                direct index ( temp uint)
0:52                  'dti' ( in 3-component vector of uint)
0:52                  Constant:
0:52                    0 (const int)
0:52              Constant:
0:52                3 (const int)
0:52            Sequence
0:52              Constant:
0:52                0 (const int)
0:52              Constant:
0:52                1 (const int)
0:52              Constant:
0:52                2 (const int)
0:52          Constant:
0:52            1 (const uint)
0:54      move second child to first child ( temp 4-component vector of uint)
0:54        u: direct index for structure ( temp 4-component vector of uint)
0:54          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:54            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:54              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:54              Constant:
0:54                0 (const uint)
0:54            direct index ( temp uint)
0:54              'dti' ( in 3-component vector of uint)
0:54              Constant:
0:54                0 (const int)
0:54          Constant:
0:54            0 (const int)
0:54        subgroupQuadBroadcast ( temp 4-component vector of uint)
0:54          u: direct index for structure ( temp 4-component vector of uint)
0:54            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:54              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:54                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:54                Constant:
0:54                  0 (const uint)
0:54              direct index ( temp uint)
0:54                'dti' ( in 3-component vector of uint)
0:54                Constant:
0:54                  0 (const int)
0:54            Constant:
0:54              0 (const int)
0:54          Constant:
0:54            2 (const uint)
0:55      move second child to first child ( temp uint)
0:55        direct index ( temp uint)
0:55          u: direct index for structure ( temp 4-component vector of uint)
0:55            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:55              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:55                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:55                Constant:
0:55                  0 (const uint)
0:55              direct index ( temp uint)
0:55                'dti' ( in 3-component vector of uint)
0:55                Constant:
0:55                  0 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          Constant:
0:55            0 (const int)
0:55        subgroupQuadBroadcast ( temp uint)
0:55          direct index ( temp uint)
0:55            u: direct index for structure ( temp 4-component vector of uint)
0:55              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:55                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:55                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:55                  Constant:
0:55                    0 (const uint)
0:55                direct index ( temp uint)
0:55                  'dti' ( in 3-component vector of uint)
0:55                  Constant:
0:55                    0 (const int)
0:55              Constant:
0:55                0 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          Constant:
0:55            2 (const uint)
0:56      move second child to first child ( temp 2-component vector of uint)
0:56        vector swizzle ( temp 2-component vector of uint)
0:56          u: direct index for structure ( temp 4-component vector of uint)
0:56            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:56              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:56                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:56                Constant:
0:56                  0 (const uint)
0:56              direct index ( temp uint)
0:56                'dti' ( in 3-component vector of uint)
0:56                Constant:
0:56                  0 (const int)
0:56            Constant:
0:56              0 (const int)
0:56          Sequence
0:56            Constant:
0:56              0 (const int)
0:56            Constant:
0:56              1 (const int)
0:56        subgroupQuadBroadcast ( temp 2-component vector of uint)
0:56          vector swizzle ( temp 2-component vector of uint)
0:56            u: direct index for structure ( temp 4-component vector of uint)
0:56              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:56                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:56                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:56                  Constant:
0:56                    0 (const uint)
0:56                direct index ( temp uint)
0:56                  'dti' ( in 3-component vector of uint)
0:56                  Constant:
0:56                    0 (const int)
0:56              Constant:
0:56                0 (const int)
0:56            Sequence
0:56              Constant:
0:56                0 (const int)
0:56              Constant:
0:56                1 (const int)
0:56          Constant:
0:56            2 (const uint)
0:57      move second child to first child ( temp 3-component vector of uint)
0:57        vector swizzle ( temp 3-component vector of uint)
0:57          u: direct index for structure ( temp 4-component vector of uint)
0:57            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:57              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:57                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:57                Constant:
0:57                  0 (const uint)
0:57              direct index ( temp uint)
0:57                'dti' ( in 3-component vector of uint)
0:57                Constant:
0:57                  0 (const int)
0:57            Constant:
0:57              0 (const int)
0:57          Sequence
0:57            Constant:
0:57              0 (const int)
0:57            Constant:
0:57              1 (const int)
0:57            Constant:
0:57              2 (const int)
0:57        subgroupQuadBroadcast ( temp 3-component vector of uint)
0:57          vector swizzle ( temp 3-component vector of uint)
0:57            u: direct index for structure ( temp 4-component vector of uint)
0:57              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:57                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:57                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:57                  Constant:
0:57                    0 (const uint)
0:57                direct index ( temp uint)
0:57                  'dti' ( in 3-component vector of uint)
0:57                  Constant:
0:57                    0 (const int)
0:57              Constant:
0:57                0 (const int)
0:57            Sequence
0:57              Constant:
0:57                0 (const int)
0:57              Constant:
0:57                1 (const int)
0:57              Constant:
0:57                2 (const int)
0:57          Constant:
0:57            2 (const uint)
0:59      move second child to first child ( temp 4-component vector of int)
0:59        i: direct index for structure ( temp 4-component vector of int)
0:59          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:59            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:59              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:59              Constant:
0:59                0 (const uint)
0:59            direct index ( temp uint)
0:59              'dti' ( in 3-component vector of uint)
0:59              Constant:
0:59                0 (const int)
0:59          Constant:
0:59            1 (const int)
0:59        subgroupQuadBroadcast ( temp 4-component vector of int)
0:59          i: direct index for structure ( temp 4-component vector of int)
0:59            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:59              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:59                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:59                Constant:
0:59                  0 (const uint)
0:59              direct index ( temp uint)
0:59                'dti' ( in 3-component vector of uint)
0:59                Constant:
0:59                  0 (const int)
0:59            Constant:
0:59              1 (const int)
0:59          Constant:
0:59            2 (const uint)
0:60      move second child to first child ( temp int)
0:60        direct index ( temp int)
0:60          i: direct index for structure ( temp 4-component vector of int)
0:60            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:60              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:60                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:60                Constant:
0:60                  0 (const uint)
0:60              direct index ( temp uint)
0:60                'dti' ( in 3-component vector of uint)
0:60                Constant:
0:60                  0 (const int)
0:60            Constant:
0:60              1 (const int)
0:60          Constant:
0:60            0 (const int)
0:60        subgroupQuadBroadcast ( temp int)
0:60          direct index ( temp int)
0:60            i: direct index for structure ( temp 4-component vector of int)
0:60              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:60                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:60                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:60                  Constant:
0:60                    0 (const uint)
0:60                direct index ( temp uint)
0:60                  'dti' ( in 3-component vector of uint)
0:60                  Constant:
0:60                    0 (const int)
0:60              Constant:
0:60                1 (const int)
0:60            Constant:
0:60              0 (const int)
0:60          Constant:
0:60            2 (const uint)
0:61      move second child to first child ( temp 2-component vector of int)
0:61        vector swizzle ( temp 2-component vector of int)
0:61          i: direct index for structure ( temp 4-component vector of int)
0:61            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:61              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:61                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:61                Constant:
0:61                  0 (const uint)
0:61              direct index ( temp uint)
0:61                'dti' ( in 3-component vector of uint)
0:61                Constant:
0:61                  0 (const int)
0:61            Constant:
0:61              1 (const int)
0:61          Sequence
0:61            Constant:
0:61              0 (const int)
0:61            Constant:
0:61              1 (const int)
0:61        subgroupQuadBroadcast ( temp 2-component vector of int)
0:61          vector swizzle ( temp 2-component vector of int)
0:61            i: direct index for structure ( temp 4-component vector of int)
0:61              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:61                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:61                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:61                  Constant:
0:61                    0 (const uint)
0:61                direct index ( temp uint)
0:61                  'dti' ( in 3-component vector of uint)
0:61                  Constant:
0:61                    0 (const int)
0:61              Constant:
0:61                1 (const int)
0:61            Sequence
0:61              Constant:
0:61                0 (const int)
0:61              Constant:
0:61                1 (const int)
0:61          Constant:
0:61            2 (const uint)
0:62      move second child to first child ( temp 3-component vector of int)
0:62        vector swizzle ( temp 3-component vector of int)
0:62          i: direct index for structure ( temp 4-component vector of int)
0:62            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:62              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:62                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:62                Constant:
0:62                  0 (const uint)
0:62              direct index ( temp uint)
0:62                'dti' ( in 3-component vector of uint)
0:62                Constant:
0:62                  0 (const int)
0:62            Constant:
0:62              1 (const int)
0:62          Sequence
0:62            Constant:
0:62              0 (const int)
0:62            Constant:
0:62              1 (const int)
0:62            Constant:
0:62              2 (const int)
0:62        subgroupQuadBroadcast ( temp 3-component vector of int)
0:62          vector swizzle ( temp 3-component vector of int)
0:62            i: direct index for structure ( temp 4-component vector of int)
0:62              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:62                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:62                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:62                  Constant:
0:62                    0 (const uint)
0:62                direct index ( temp uint)
0:62                  'dti' ( in 3-component vector of uint)
0:62                  Constant:
0:62                    0 (const int)
0:62              Constant:
0:62                1 (const int)
0:62            Sequence
0:62              Constant:
0:62                0 (const int)
0:62              Constant:
0:62                1 (const int)
0:62              Constant:
0:62                2 (const int)
0:62          Constant:
0:62            2 (const uint)
0:64      move second child to first child ( temp 4-component vector of float)
0:64        f: direct index for structure ( temp 4-component vector of float)
0:64          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:64            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:64              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:64              Constant:
0:64                0 (const uint)
0:64            direct index ( temp uint)
0:64              'dti' ( in 3-component vector of uint)
0:64              Constant:
0:64                0 (const int)
0:64          Constant:
0:64            2 (const int)
0:64        subgroupQuadBroadcast ( temp 4-component vector of float)
0:64          f: direct index for structure ( temp 4-component vector of float)
0:64            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:64              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:64                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:64                Constant:
0:64                  0 (const uint)
0:64              direct index ( temp uint)
0:64                'dti' ( in 3-component vector of uint)
0:64                Constant:
0:64                  0 (const int)
0:64            Constant:
0:64              2 (const int)
0:64          Constant:
0:64            2 (const uint)
0:65      move second child to first child ( temp float)
0:65        direct index ( temp float)
0:65          f: direct index for structure ( temp 4-component vector of float)
0:65            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:65              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:65                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:65                Constant:
0:65                  0 (const uint)
0:65              direct index ( temp uint)
0:65                'dti' ( in 3-component vector of uint)
0:65                Constant:
0:65                  0 (const int)
0:65            Constant:
0:65              2 (const int)
0:65          Constant:
0:65            0 (const int)
0:65        subgroupQuadBroadcast ( temp float)
0:65          direct index ( temp float)
0:65            f: direct index for structure ( temp 4-component vector of float)
0:65              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:65                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:65                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:65                  Constant:
0:65                    0 (const uint)
0:65                direct index ( temp uint)
0:65                  'dti' ( in 3-component vector of uint)
0:65                  Constant:
0:65                    0 (const int)
0:65              Constant:
0:65                2 (const int)
0:65            Constant:
0:65              0 (const int)
0:65          Constant:
0:65            2 (const uint)
0:66      move second child to first child ( temp 2-component vector of float)
0:66        vector swizzle ( temp 2-component vector of float)
0:66          f: direct index for structure ( temp 4-component vector of float)
0:66            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:66              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:66                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:66                Constant:
0:66                  0 (const uint)
0:66              direct index ( temp uint)
0:66                'dti' ( in 3-component vector of uint)
0:66                Constant:
0:66                  0 (const int)
0:66            Constant:
0:66              2 (const int)
0:66          Sequence
0:66            Constant:
0:66              0 (const int)
0:66            Constant:
0:66              1 (const int)
0:66        subgroupQuadBroadcast ( temp 2-component vector of float)
0:66          vector swizzle ( temp 2-component vector of float)
0:66            f: direct index for structure ( temp 4-component vector of float)
0:66              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:66                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:66                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:66                  Constant:
0:66                    0 (const uint)
0:66                direct index ( temp uint)
0:66                  'dti' ( in 3-component vector of uint)
0:66                  Constant:
0:66                    0 (const int)
0:66              Constant:
0:66                2 (const int)
0:66            Sequence
0:66              Constant:
0:66                0 (const int)
0:66              Constant:
0:66                1 (const int)
0:66          Constant:
0:66            2 (const uint)
0:67      move second child to first child ( temp 3-component vector of float)
0:67        vector swizzle ( temp 3-component vector of float)
0:67          f: direct index for structure ( temp 4-component vector of float)
0:67            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:67              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:67                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:67                Constant:
0:67                  0 (const uint)
0:67              direct index ( temp uint)
0:67                'dti' ( in 3-component vector of uint)
0:67                Constant:
0:67                  0 (const int)
0:67            Constant:
0:67              2 (const int)
0:67          Sequence
0:67            Constant:
0:67              0 (const int)
0:67            Constant:
0:67              1 (const int)
0:67            Constant:
0:67              2 (const int)
0:67        subgroupQuadBroadcast ( temp 3-component vector of float)
0:67          vector swizzle ( temp 3-component vector of float)
0:67            f: direct index for structure ( temp 4-component vector of float)
0:67              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:67                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:67                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:67                  Constant:
0:67                    0 (const uint)
0:67                direct index ( temp uint)
0:67                  'dti' ( in 3-component vector of uint)
0:67                  Constant:
0:67                    0 (const int)
0:67              Constant:
0:67                2 (const int)
0:67            Sequence
0:67              Constant:
0:67                0 (const int)
0:67              Constant:
0:67                1 (const int)
0:67              Constant:
0:67                2 (const int)
0:67          Constant:
0:67            2 (const uint)
0:69      move second child to first child ( temp 4-component vector of double)
0:69        d: direct index for structure ( temp 4-component vector of double)
0:69          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:69            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:69              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:69              Constant:
0:69                0 (const uint)
0:69            direct index ( temp uint)
0:69              'dti' ( in 3-component vector of uint)
0:69              Constant:
0:69                0 (const int)
0:69          Constant:
0:69            3 (const int)
0:69        subgroupQuadBroadcast ( temp 4-component vector of double)
0:69          d: direct index for structure ( temp 4-component vector of double)
0:69            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:69              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:69                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:69                Constant:
0:69                  0 (const uint)
0:69              direct index ( temp uint)
0:69                'dti' ( in 3-component vector of uint)
0:69                Constant:
0:69                  0 (const int)
0:69            Constant:
0:69              3 (const int)
0:69          Constant:
0:69            2 (const uint)
0:70      move second child to first child ( temp double)
0:70        direct index ( temp double)
0:70          d: direct index for structure ( temp 4-component vector of double)
0:70            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:70              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:70                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:70                Constant:
0:70                  0 (const uint)
0:70              direct index ( temp uint)
0:70                'dti' ( in 3-component vector of uint)
0:70                Constant:
0:70                  0 (const int)
0:70            Constant:
0:70              3 (const int)
0:70          Constant:
0:70            0 (const int)
0:70        subgroupQuadBroadcast ( temp double)
0:70          direct index ( temp double)
0:70            d: direct index for structure ( temp 4-component vector of double)
0:70              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:70                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:70                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:70                  Constant:
0:70                    0 (const uint)
0:70                direct index ( temp uint)
0:70                  'dti' ( in 3-component vector of uint)
0:70                  Constant:
0:70                    0 (const int)
0:70              Constant:
0:70                3 (const int)
0:70            Constant:
0:70              0 (const int)
0:70          Constant:
0:70            2 (const uint)
0:71      move second child to first child ( temp 2-component vector of double)
0:71        vector swizzle ( temp 2-component vector of double)
0:71          d: direct index for structure ( temp 4-component vector of double)
0:71            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:71              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:71                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:71                Constant:
0:71                  0 (const uint)
0:71              direct index ( temp uint)
0:71                'dti' ( in 3-component vector of uint)
0:71                Constant:
0:71                  0 (const int)
0:71            Constant:
0:71              3 (const int)
0:71          Sequence
0:71            Constant:
0:71              0 (const int)
0:71            Constant:
0:71              1 (const int)
0:71        subgroupQuadBroadcast ( temp 2-component vector of double)
0:71          vector swizzle ( temp 2-component vector of double)
0:71            d: direct index for structure ( temp 4-component vector of double)
0:71              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:71                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:71                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:71                  Constant:
0:71                    0 (const uint)
0:71                direct index ( temp uint)
0:71                  'dti' ( in 3-component vector of uint)
0:71                  Constant:
0:71                    0 (const int)
0:71              Constant:
0:71                3 (const int)
0:71            Sequence
0:71              Constant:
0:71                0 (const int)
0:71              Constant:
0:71                1 (const int)
0:71          Constant:
0:71            2 (const uint)
0:72      move second child to first child ( temp 3-component vector of double)
0:72        vector swizzle ( temp 3-component vector of double)
0:72          d: direct index for structure ( temp 4-component vector of double)
0:72            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:72              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:72                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:72                Constant:
0:72                  0 (const uint)
0:72              direct index ( temp uint)
0:72                'dti' ( in 3-component vector of uint)
0:72                Constant:
0:72                  0 (const int)
0:72            Constant:
0:72              3 (const int)
0:72          Sequence
0:72            Constant:
0:72              0 (const int)
0:72            Constant:
0:72              1 (const int)
0:72            Constant:
0:72              2 (const int)
0:72        subgroupQuadBroadcast ( temp 3-component vector of double)
0:72          vector swizzle ( temp 3-component vector of double)
0:72            d: direct index for structure ( temp 4-component vector of double)
0:72              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:72                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:72                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:72                  Constant:
0:72                    0 (const uint)
0:72                direct index ( temp uint)
0:72                  'dti' ( in 3-component vector of uint)
0:72                  Constant:
0:72                    0 (const int)
0:72              Constant:
0:72                3 (const int)
0:72            Sequence
0:72              Constant:
0:72                0 (const int)
0:72              Constant:
0:72                1 (const int)
0:72              Constant:
0:72                2 (const int)
0:72          Constant:
0:72            2 (const uint)
0:74      move second child to first child ( temp 4-component vector of uint)
0:74        u: direct index for structure ( temp 4-component vector of uint)
0:74          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:74            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:74              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:74              Constant:
0:74                0 (const uint)
0:74            direct index ( temp uint)
0:74              'dti' ( in 3-component vector of uint)
0:74              Constant:
0:74                0 (const int)
0:74          Constant:
0:74            0 (const int)
0:74        subgroupQuadBroadcast ( temp 4-component vector of uint)
0:74          u: direct index for structure ( temp 4-component vector of uint)
0:74            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:74              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:74                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:74                Constant:
0:74                  0 (const uint)
0:74              direct index ( temp uint)
0:74                'dti' ( in 3-component vector of uint)
0:74                Constant:
0:74                  0 (const int)
0:74            Constant:
0:74              0 (const int)
0:74          Constant:
0:74            3 (const uint)
0:75      move second child to first child ( temp uint)
0:75        direct index ( temp uint)
0:75          u: direct index for structure ( temp 4-component vector of uint)
0:75            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:75              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:75                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:75                Constant:
0:75                  0 (const uint)
0:75              direct index ( temp uint)
0:75                'dti' ( in 3-component vector of uint)
0:75                Constant:
0:75                  0 (const int)
0:75            Constant:
0:75              0 (const int)
0:75          Constant:
0:75            0 (const int)
0:75        subgroupQuadBroadcast ( temp uint)
0:75          direct index ( temp uint)
0:75            u: direct index for structure ( temp 4-component vector of uint)
0:75              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:75                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:75                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:75                  Constant:
0:75                    0 (const uint)
0:75                direct index ( temp uint)
0:75                  'dti' ( in 3-component vector of uint)
0:75                  Constant:
0:75                    0 (const int)
0:75              Constant:
0:75                0 (const int)
0:75            Constant:
0:75              0 (const int)
0:75          Constant:
0:75            3 (const uint)
0:76      move second child to first child ( temp 2-component vector of uint)
0:76        vector swizzle ( temp 2-component vector of uint)
0:76          u: direct index for structure ( temp 4-component vector of uint)
0:76            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:76              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:76                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:76                Constant:
0:76                  0 (const uint)
0:76              direct index ( temp uint)
0:76                'dti' ( in 3-component vector of uint)
0:76                Constant:
0:76                  0 (const int)
0:76            Constant:
0:76              0 (const int)
0:76          Sequence
0:76            Constant:
0:76              0 (const int)
0:76            Constant:
0:76              1 (const int)
0:76        subgroupQuadBroadcast ( temp 2-component vector of uint)
0:76          vector swizzle ( temp 2-component vector of uint)
0:76            u: direct index for structure ( temp 4-component vector of uint)
0:76              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:76                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:76                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:76                  Constant:
0:76                    0 (const uint)
0:76                direct index ( temp uint)
0:76                  'dti' ( in 3-component vector of uint)
0:76                  Constant:
0:76                    0 (const int)
0:76              Constant:
0:76                0 (const int)
0:76            Sequence
0:76              Constant:
0:76                0 (const int)
0:76              Constant:
0:76                1 (const int)
0:76          Constant:
0:76            3 (const uint)
0:77      move second child to first child ( temp 3-component vector of uint)
0:77        vector swizzle ( temp 3-component vector of uint)
0:77          u: direct index for structure ( temp 4-component vector of uint)
0:77            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:77              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:77                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:77                Constant:
0:77                  0 (const uint)
0:77              direct index ( temp uint)
0:77                'dti' ( in 3-component vector of uint)
0:77                Constant:
0:77                  0 (const int)
0:77            Constant:
0:77              0 (const int)
0:77          Sequence
0:77            Constant:
0:77              0 (const int)
0:77            Constant:
0:77              1 (const int)
0:77            Constant:
0:77              2 (const int)
0:77        subgroupQuadBroadcast ( temp 3-component vector of uint)
0:77          vector swizzle ( temp 3-component vector of uint)
0:77            u: direct index for structure ( temp 4-component vector of uint)
0:77              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:77                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:77                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:77                  Constant:
0:77                    0 (const uint)
0:77                direct index ( temp uint)
0:77                  'dti' ( in 3-component vector of uint)
0:77                  Constant:
0:77                    0 (const int)
0:77              Constant:
0:77                0 (const int)
0:77            Sequence
0:77              Constant:
0:77                0 (const int)
0:77              Constant:
0:77                1 (const int)
0:77              Constant:
0:77                2 (const int)
0:77          Constant:
0:77            3 (const uint)
0:79      move second child to first child ( temp 4-component vector of int)
0:79        i: direct index for structure ( temp 4-component vector of int)
0:79          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:79            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:79              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:79              Constant:
0:79                0 (const uint)
0:79            direct index ( temp uint)
0:79              'dti' ( in 3-component vector of uint)
0:79              Constant:
0:79                0 (const int)
0:79          Constant:
0:79            1 (const int)
0:79        subgroupQuadBroadcast ( temp 4-component vector of int)
0:79          i: direct index for structure ( temp 4-component vector of int)
0:79            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:79              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:79                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:79                Constant:
0:79                  0 (const uint)
0:79              direct index ( temp uint)
0:79                'dti' ( in 3-component vector of uint)
0:79                Constant:
0:79                  0 (const int)
0:79            Constant:
0:79              1 (const int)
0:79          Constant:
0:79            3 (const uint)
0:80      move second child to first child ( temp int)
0:80        direct index ( temp int)
0:80          i: direct index for structure ( temp 4-component vector of int)
0:80            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:80              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:80                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:80                Constant:
0:80                  0 (const uint)
0:80              direct index ( temp uint)
0:80                'dti' ( in 3-component vector of uint)
0:80                Constant:
0:80                  0 (const int)
0:80            Constant:
0:80              1 (const int)
0:80          Constant:
0:80            0 (const int)
0:80        subgroupQuadBroadcast ( temp int)
0:80          direct index ( temp int)
0:80            i: direct index for structure ( temp 4-component vector of int)
0:80              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:80                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:80                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:80                  Constant:
0:80                    0 (const uint)
0:80                direct index ( temp uint)
0:80                  'dti' ( in 3-component vector of uint)
0:80                  Constant:
0:80                    0 (const int)
0:80              Constant:
0:80                1 (const int)
0:80            Constant:
0:80              0 (const int)
0:80          Constant:
0:80            3 (const uint)
0:81      move second child to first child ( temp 2-component vector of int)
0:81        vector swizzle ( temp 2-component vector of int)
0:81          i: direct index for structure ( temp 4-component vector of int)
0:81            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:81              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:81                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:81                Constant:
0:81                  0 (const uint)
0:81              direct index ( temp uint)
0:81                'dti' ( in 3-component vector of uint)
0:81                Constant:
0:81                  0 (const int)
0:81            Constant:
0:81              1 (const int)
0:81          Sequence
0:81            Constant:
0:81              0 (const int)
0:81            Constant:
0:81              1 (const int)
0:81        subgroupQuadBroadcast ( temp 2-component vector of int)
0:81          vector swizzle ( temp 2-component vector of int)
0:81            i: direct index for structure ( temp 4-component vector of int)
0:81              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:81                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:81                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:81                  Constant:
0:81                    0 (const uint)
0:81                direct index ( temp uint)
0:81                  'dti' ( in 3-component vector of uint)
0:81                  Constant:
0:81                    0 (const int)
0:81              Constant:
0:81                1 (const int)
0:81            Sequence
0:81              Constant:
0:81                0 (const int)
0:81              Constant:
0:81                1 (const int)
0:81          Constant:
0:81            3 (const uint)
0:82      move second child to first child ( temp 3-component vector of int)
0:82        vector swizzle ( temp 3-component vector of int)
0:82          i: direct index for structure ( temp 4-component vector of int)
0:82            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:82              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:82                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:82                Constant:
0:82                  0 (const uint)
0:82              direct index ( temp uint)
0:82                'dti' ( in 3-component vector of uint)
0:82                Constant:
0:82                  0 (const int)
0:82            Constant:
0:82              1 (const int)
0:82          Sequence
0:82            Constant:
0:82              0 (const int)
0:82            Constant:
0:82              1 (const int)
0:82            Constant:
0:82              2 (const int)
0:82        subgroupQuadBroadcast ( temp 3-component vector of int)
0:82          vector swizzle ( temp 3-component vector of int)
0:82            i: direct index for structure ( temp 4-component vector of int)
0:82              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:82                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:82                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:82                  Constant:
0:82                    0 (const uint)
0:82                direct index ( temp uint)
0:82                  'dti' ( in 3-component vector of uint)
0:82                  Constant:
0:82                    0 (const int)
0:82              Constant:
0:82                1 (const int)
0:82            Sequence
0:82              Constant:
0:82                0 (const int)
0:82              Constant:
0:82                1 (const int)
0:82              Constant:
0:82                2 (const int)
0:82          Constant:
0:82            3 (const uint)
0:84      move second child to first child ( temp 4-component vector of float)
0:84        f: direct index for structure ( temp 4-component vector of float)
0:84          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:84            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:84              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:84              Constant:
0:84                0 (const uint)
0:84            direct index ( temp uint)
0:84              'dti' ( in 3-component vector of uint)
0:84              Constant:
0:84                0 (const int)
0:84          Constant:
0:84            2 (const int)
0:84        subgroupQuadBroadcast ( temp 4-component vector of float)
0:84          f: direct index for structure ( temp 4-component vector of float)
0:84            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:84              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:84                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:84                Constant:
0:84                  0 (const uint)
0:84              direct index ( temp uint)
0:84                'dti' ( in 3-component vector of uint)
0:84                Constant:
0:84                  0 (const int)
0:84            Constant:
0:84              2 (const int)
0:84          Constant:
0:84            3 (const uint)
0:85      move second child to first child ( temp float)
0:85        direct index ( temp float)
0:85          f: direct index for structure ( temp 4-component vector of float)
0:85            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:85              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:85                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:85                Constant:
0:85                  0 (const uint)
0:85              direct index ( temp uint)
0:85                'dti' ( in 3-component vector of uint)
0:85                Constant:
0:85                  0 (const int)
0:85            Constant:
0:85              2 (const int)
0:85          Constant:
0:85            0 (const int)
0:85        subgroupQuadBroadcast ( temp float)
0:85          direct index ( temp float)
0:85            f: direct index for structure ( temp 4-component vector of float)
0:85              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:85                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:85                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:85                  Constant:
0:85                    0 (const uint)
0:85                direct index ( temp uint)
0:85                  'dti' ( in 3-component vector of uint)
0:85                  Constant:
0:85                    0 (const int)
0:85              Constant:
0:85                2 (const int)
0:85            Constant:
0:85              0 (const int)
0:85          Constant:
0:85            3 (const uint)
0:86      move second child to first child ( temp 2-component vector of float)
0:86        vector swizzle ( temp 2-component vector of float)
0:86          f: direct index for structure ( temp 4-component vector of float)
0:86            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:86              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:86                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:86                Constant:
0:86                  0 (const uint)
0:86              direct index ( temp uint)
0:86                'dti' ( in 3-component vector of uint)
0:86                Constant:
0:86                  0 (const int)
0:86            Constant:
0:86              2 (const int)
0:86          Sequence
0:86            Constant:
0:86              0 (const int)
0:86            Constant:
0:86              1 (const int)
0:86        subgroupQuadBroadcast ( temp 2-component vector of float)
0:86          vector swizzle ( temp 2-component vector of float)
0:86            f: direct index for structure ( temp 4-component vector of float)
0:86              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:86                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:86                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:86                  Constant:
0:86                    0 (const uint)
0:86                direct index ( temp uint)
0:86                  'dti' ( in 3-component vector of uint)
0:86                  Constant:
0:86                    0 (const int)
0:86              Constant:
0:86                2 (const int)
0:86            Sequence
0:86              Constant:
0:86                0 (const int)
0:86              Constant:
0:86                1 (const int)
0:86          Constant:
0:86            3 (const uint)
0:87      move second child to first child ( temp 3-component vector of float)
0:87        vector swizzle ( temp 3-component vector of float)
0:87          f: direct index for structure ( temp 4-component vector of float)
0:87            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:87              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:87                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:87                Constant:
0:87                  0 (const uint)
0:87              direct index ( temp uint)
0:87                'dti' ( in 3-component vector of uint)
0:87                Constant:
0:87                  0 (const int)
0:87            Constant:
0:87              2 (const int)
0:87          Sequence
0:87            Constant:
0:87              0 (const int)
0:87            Constant:
0:87              1 (const int)
0:87            Constant:
0:87              2 (const int)
0:87        subgroupQuadBroadcast ( temp 3-component vector of float)
0:87          vector swizzle ( temp 3-component vector of float)
0:87            f: direct index for structure ( temp 4-component vector of float)
0:87              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:87                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:87                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:87                  Constant:
0:87                    0 (const uint)
0:87                direct index ( temp uint)
0:87                  'dti' ( in 3-component vector of uint)
0:87                  Constant:
0:87                    0 (const int)
0:87              Constant:
0:87                2 (const int)
0:87            Sequence
0:87              Constant:
0:87                0 (const int)
0:87              Constant:
0:87                1 (const int)
0:87              Constant:
0:87                2 (const int)
0:87          Constant:
0:87            3 (const uint)
0:89      move second child to first child ( temp 4-component vector of double)
0:89        d: direct index for structure ( temp 4-component vector of double)
0:89          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:89            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:89              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:89              Constant:
0:89                0 (const uint)
0:89            direct index ( temp uint)
0:89              'dti' ( in 3-component vector of uint)
0:89              Constant:
0:89                0 (const int)
0:89          Constant:
0:89            3 (const int)
0:89        subgroupQuadBroadcast ( temp 4-component vector of double)
0:89          d: direct index for structure ( temp 4-component vector of double)
0:89            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:89              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:89                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:89                Constant:
0:89                  0 (const uint)
0:89              direct index ( temp uint)
0:89                'dti' ( in 3-component vector of uint)
0:89                Constant:
0:89                  0 (const int)
0:89            Constant:
0:89              3 (const int)
0:89          Constant:
0:89            3 (const uint)
0:90      move second child to first child ( temp double)
0:90        direct index ( temp double)
0:90          d: direct index for structure ( temp 4-component vector of double)
0:90            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:90              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:90                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:90                Constant:
0:90                  0 (const uint)
0:90              direct index ( temp uint)
0:90                'dti' ( in 3-component vector of uint)
0:90                Constant:
0:90                  0 (const int)
0:90            Constant:
0:90              3 (const int)
0:90          Constant:
0:90            0 (const int)
0:90        subgroupQuadBroadcast ( temp double)
0:90          direct index ( temp double)
0:90            d: direct index for structure ( temp 4-component vector of double)
0:90              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:90                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:90                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:90                  Constant:
0:90                    0 (const uint)
0:90                direct index ( temp uint)
0:90                  'dti' ( in 3-component vector of uint)
0:90                  Constant:
0:90                    0 (const int)
0:90              Constant:
0:90                3 (const int)
0:90            Constant:
0:90              0 (const int)
0:90          Constant:
0:90            3 (const uint)
0:91      move second child to first child ( temp 2-component vector of double)
0:91        vector swizzle ( temp 2-component vector of double)
0:91          d: direct index for structure ( temp 4-component vector of double)
0:91            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:91              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:91                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:91                Constant:
0:91                  0 (const uint)
0:91              direct index ( temp uint)
0:91                'dti' ( in 3-component vector of uint)
0:91                Constant:
0:91                  0 (const int)
0:91            Constant:
0:91              3 (const int)
0:91          Sequence
0:91            Constant:
0:91              0 (const int)
0:91            Constant:
0:91              1 (const int)
0:91        subgroupQuadBroadcast ( temp 2-component vector of double)
0:91          vector swizzle ( temp 2-component vector of double)
0:91            d: direct index for structure ( temp 4-component vector of double)
0:91              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:91                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:91                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:91                  Constant:
0:91                    0 (const uint)
0:91                direct index ( temp uint)
0:91                  'dti' ( in 3-component vector of uint)
0:91                  Constant:
0:91                    0 (const int)
0:91              Constant:
0:91                3 (const int)
0:91            Sequence
0:91              Constant:
0:91                0 (const int)
0:91              Constant:
0:91                1 (const int)
0:91          Constant:
0:91            3 (const uint)
0:92      move second child to first child ( temp 3-component vector of double)
0:92        vector swizzle ( temp 3-component vector of double)
0:92          d: direct index for structure ( temp 4-component vector of double)
0:92            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:92              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:92                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:92                Constant:
0:92                  0 (const uint)
0:92              direct index ( temp uint)
0:92                'dti' ( in 3-component vector of uint)
0:92                Constant:
0:92                  0 (const int)
0:92            Constant:
0:92              3 (const int)
0:92          Sequence
0:92            Constant:
0:92              0 (const int)
0:92            Constant:
0:92              1 (const int)
0:92            Constant:
0:92              2 (const int)
0:92        subgroupQuadBroadcast ( temp 3-component vector of double)
0:92          vector swizzle ( temp 3-component vector of double)
0:92            d: direct index for structure ( temp 4-component vector of double)
0:92              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:92                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:92                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:92                  Constant:
0:92                    0 (const uint)
0:92                direct index ( temp uint)
0:92                  'dti' ( in 3-component vector of uint)
0:92                  Constant:
0:92                    0 (const int)
0:92              Constant:
0:92                3 (const int)
0:92            Sequence
0:92              Constant:
0:92                0 (const int)
0:92              Constant:
0:92                1 (const int)
0:92              Constant:
0:92                2 (const int)
0:92          Constant:
0:92            3 (const uint)
0:94      move second child to first child ( temp 4-component vector of uint)
0:94        u: direct index for structure ( temp 4-component vector of uint)
0:94          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:94            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:94              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:94              Constant:
0:94                0 (const uint)
0:94            direct index ( temp uint)
0:94              'dti' ( in 3-component vector of uint)
0:94              Constant:
0:94                0 (const int)
0:94          Constant:
0:94            0 (const int)
0:94        subgroupQuadSwapHorizontal ( temp 4-component vector of uint)
0:94          u: direct index for structure ( temp 4-component vector of uint)
0:94            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:94              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:94                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:94                Constant:
0:94                  0 (const uint)
0:94              direct index ( temp uint)
0:94                'dti' ( in 3-component vector of uint)
0:94                Constant:
0:94                  0 (const int)
0:94            Constant:
0:94              0 (const int)
0:95      move second child to first child ( temp uint)
0:95        direct index ( temp uint)
0:95          u: direct index for structure ( temp 4-component vector of uint)
0:95            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:95              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:95                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:95                Constant:
0:95                  0 (const uint)
0:95              direct index ( temp uint)
0:95                'dti' ( in 3-component vector of uint)
0:95                Constant:
0:95                  0 (const int)
0:95            Constant:
0:95              0 (const int)
0:95          Constant:
0:95            0 (const int)
0:95        subgroupQuadSwapHorizontal ( temp uint)
0:95          direct index ( temp uint)
0:95            u: direct index for structure ( temp 4-component vector of uint)
0:95              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:95                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:95                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:95                  Constant:
0:95                    0 (const uint)
0:95                direct index ( temp uint)
0:95                  'dti' ( in 3-component vector of uint)
0:95                  Constant:
0:95                    0 (const int)
0:95              Constant:
0:95                0 (const int)
0:95            Constant:
0:95              0 (const int)
0:96      move second child to first child ( temp 2-component vector of uint)
0:96        vector swizzle ( temp 2-component vector of uint)
0:96          u: direct index for structure ( temp 4-component vector of uint)
0:96            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:96              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:96                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:96                Constant:
0:96                  0 (const uint)
0:96              direct index ( temp uint)
0:96                'dti' ( in 3-component vector of uint)
0:96                Constant:
0:96                  0 (const int)
0:96            Constant:
0:96              0 (const int)
0:96          Sequence
0:96            Constant:
0:96              0 (const int)
0:96            Constant:
0:96              1 (const int)
0:96        subgroupQuadSwapHorizontal ( temp 2-component vector of uint)
0:96          vector swizzle ( temp 2-component vector of uint)
0:96            u: direct index for structure ( temp 4-component vector of uint)
0:96              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:96                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:96                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:96                  Constant:
0:96                    0 (const uint)
0:96                direct index ( temp uint)
0:96                  'dti' ( in 3-component vector of uint)
0:96                  Constant:
0:96                    0 (const int)
0:96              Constant:
0:96                0 (const int)
0:96            Sequence
0:96              Constant:
0:96                0 (const int)
0:96              Constant:
0:96                1 (const int)
0:97      move second child to first child ( temp 3-component vector of uint)
0:97        vector swizzle ( temp 3-component vector of uint)
0:97          u: direct index for structure ( temp 4-component vector of uint)
0:97            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:97              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:97                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:97                Constant:
0:97                  0 (const uint)
0:97              direct index ( temp uint)
0:97                'dti' ( in 3-component vector of uint)
0:97                Constant:
0:97                  0 (const int)
0:97            Constant:
0:97              0 (const int)
0:97          Sequence
0:97            Constant:
0:97              0 (const int)
0:97            Constant:
0:97              1 (const int)
0:97            Constant:
0:97              2 (const int)
0:97        subgroupQuadSwapHorizontal ( temp 3-component vector of uint)
0:97          vector swizzle ( temp 3-component vector of uint)
0:97            u: direct index for structure ( temp 4-component vector of uint)
0:97              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:97                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:97                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:97                  Constant:
0:97                    0 (const uint)
0:97                direct index ( temp uint)
0:97                  'dti' ( in 3-component vector of uint)
0:97                  Constant:
0:97                    0 (const int)
0:97              Constant:
0:97                0 (const int)
0:97            Sequence
0:97              Constant:
0:97                0 (const int)
0:97              Constant:
0:97                1 (const int)
0:97              Constant:
0:97                2 (const int)
0:99      move second child to first child ( temp 4-component vector of int)
0:99        i: direct index for structure ( temp 4-component vector of int)
0:99          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:99            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:99              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:99              Constant:
0:99                0 (const uint)
0:99            direct index ( temp uint)
0:99              'dti' ( in 3-component vector of uint)
0:99              Constant:
0:99                0 (const int)
0:99          Constant:
0:99            1 (const int)
0:99        subgroupQuadSwapHorizontal ( temp 4-component vector of int)
0:99          i: direct index for structure ( temp 4-component vector of int)
0:99            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:99              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:99                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:99                Constant:
0:99                  0 (const uint)
0:99              direct index ( temp uint)
0:99                'dti' ( in 3-component vector of uint)
0:99                Constant:
0:99                  0 (const int)
0:99            Constant:
0:99              1 (const int)
0:100      move second child to first child ( temp int)
0:100        direct index ( temp int)
0:100          i: direct index for structure ( temp 4-component vector of int)
0:100            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:100              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:100                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:100                Constant:
0:100                  0 (const uint)
0:100              direct index ( temp uint)
0:100                'dti' ( in 3-component vector of uint)
0:100                Constant:
0:100                  0 (const int)
0:100            Constant:
0:100              1 (const int)
0:100          Constant:
0:100            0 (const int)
0:100        subgroupQuadSwapHorizontal ( temp int)
0:100          direct index ( temp int)
0:100            i: direct index for structure ( temp 4-component vector of int)
0:100              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:100                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:100                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:100                  Constant:
0:100                    0 (const uint)
0:100                direct index ( temp uint)
0:100                  'dti' ( in 3-component vector of uint)
0:100                  Constant:
0:100                    0 (const int)
0:100              Constant:
0:100                1 (const int)
0:100            Constant:
0:100              0 (const int)
0:101      move second child to first child ( temp 2-component vector of int)
0:101        vector swizzle ( temp 2-component vector of int)
0:101          i: direct index for structure ( temp 4-component vector of int)
0:101            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:101              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:101                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:101                Constant:
0:101                  0 (const uint)
0:101              direct index ( temp uint)
0:101                'dti' ( in 3-component vector of uint)
0:101                Constant:
0:101                  0 (const int)
0:101            Constant:
0:101              1 (const int)
0:101          Sequence
0:101            Constant:
0:101              0 (const int)
0:101            Constant:
0:101              1 (const int)
0:101        subgroupQuadSwapHorizontal ( temp 2-component vector of int)
0:101          vector swizzle ( temp 2-component vector of int)
0:101            i: direct index for structure ( temp 4-component vector of int)
0:101              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:101                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:101                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:101                  Constant:
0:101                    0 (const uint)
0:101                direct index ( temp uint)
0:101                  'dti' ( in 3-component vector of uint)
0:101                  Constant:
0:101                    0 (const int)
0:101              Constant:
0:101                1 (const int)
0:101            Sequence
0:101              Constant:
0:101                0 (const int)
0:101              Constant:
0:101                1 (const int)
0:102      move second child to first child ( temp 3-component vector of int)
0:102        vector swizzle ( temp 3-component vector of int)
0:102          i: direct index for structure ( temp 4-component vector of int)
0:102            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:102              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:102                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:102                Constant:
0:102                  0 (const uint)
0:102              direct index ( temp uint)
0:102                'dti' ( in 3-component vector of uint)
0:102                Constant:
0:102                  0 (const int)
0:102            Constant:
0:102              1 (const int)
0:102          Sequence
0:102            Constant:
0:102              0 (const int)
0:102            Constant:
0:102              1 (const int)
0:102            Constant:
0:102              2 (const int)
0:102        subgroupQuadSwapHorizontal ( temp 3-component vector of int)
0:102          vector swizzle ( temp 3-component vector of int)
0:102            i: direct index for structure ( temp 4-component vector of int)
0:102              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:102                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:102                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:102                  Constant:
0:102                    0 (const uint)
0:102                direct index ( temp uint)
0:102                  'dti' ( in 3-component vector of uint)
0:102                  Constant:
0:102                    0 (const int)
0:102              Constant:
0:102                1 (const int)
0:102            Sequence
0:102              Constant:
0:102                0 (const int)
0:102              Constant:
0:102                1 (const int)
0:102              Constant:
0:102                2 (const int)
0:104      move second child to first child ( temp 4-component vector of float)
0:104        f: direct index for structure ( temp 4-component vector of float)
0:104          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:104            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:104              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:104              Constant:
0:104                0 (const uint)
0:104            direct index ( temp uint)
0:104              'dti' ( in 3-component vector of uint)
0:104              Constant:
0:104                0 (const int)
0:104          Constant:
0:104            2 (const int)
0:104        subgroupQuadSwapHorizontal ( temp 4-component vector of float)
0:104          f: direct index for structure ( temp 4-component vector of float)
0:104            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:104              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:104                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:104                Constant:
0:104                  0 (const uint)
0:104              direct index ( temp uint)
0:104                'dti' ( in 3-component vector of uint)
0:104                Constant:
0:104                  0 (const int)
0:104            Constant:
0:104              2 (const int)
0:105      move second child to first child ( temp float)
0:105        direct index ( temp float)
0:105          f: direct index for structure ( temp 4-component vector of float)
0:105            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:105              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:105                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:105                Constant:
0:105                  0 (const uint)
0:105              direct index ( temp uint)
0:105                'dti' ( in 3-component vector of uint)
0:105                Constant:
0:105                  0 (const int)
0:105            Constant:
0:105              2 (const int)
0:105          Constant:
0:105            0 (const int)
0:105        subgroupQuadSwapHorizontal ( temp float)
0:105          direct index ( temp float)
0:105            f: direct index for structure ( temp 4-component vector of float)
0:105              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:105                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:105                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:105                  Constant:
0:105                    0 (const uint)
0:105                direct index ( temp uint)
0:105                  'dti' ( in 3-component vector of uint)
0:105                  Constant:
0:105                    0 (const int)
0:105              Constant:
0:105                2 (const int)
0:105            Constant:
0:105              0 (const int)
0:106      move second child to first child ( temp 2-component vector of float)
0:106        vector swizzle ( temp 2-component vector of float)
0:106          f: direct index for structure ( temp 4-component vector of float)
0:106            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:106              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:106                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:106                Constant:
0:106                  0 (const uint)
0:106              direct index ( temp uint)
0:106                'dti' ( in 3-component vector of uint)
0:106                Constant:
0:106                  0 (const int)
0:106            Constant:
0:106              2 (const int)
0:106          Sequence
0:106            Constant:
0:106              0 (const int)
0:106            Constant:
0:106              1 (const int)
0:106        subgroupQuadSwapHorizontal ( temp 2-component vector of float)
0:106          vector swizzle ( temp 2-component vector of float)
0:106            f: direct index for structure ( temp 4-component vector of float)
0:106              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:106                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:106                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:106                  Constant:
0:106                    0 (const uint)
0:106                direct index ( temp uint)
0:106                  'dti' ( in 3-component vector of uint)
0:106                  Constant:
0:106                    0 (const int)
0:106              Constant:
0:106                2 (const int)
0:106            Sequence
0:106              Constant:
0:106                0 (const int)
0:106              Constant:
0:106                1 (const int)
0:107      move second child to first child ( temp 3-component vector of float)
0:107        vector swizzle ( temp 3-component vector of float)
0:107          f: direct index for structure ( temp 4-component vector of float)
0:107            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:107              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:107                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:107                Constant:
0:107                  0 (const uint)
0:107              direct index ( temp uint)
0:107                'dti' ( in 3-component vector of uint)
0:107                Constant:
0:107                  0 (const int)
0:107            Constant:
0:107              2 (const int)
0:107          Sequence
0:107            Constant:
0:107              0 (const int)
0:107            Constant:
0:107              1 (const int)
0:107            Constant:
0:107              2 (const int)
0:107        subgroupQuadSwapHorizontal ( temp 3-component vector of float)
0:107          vector swizzle ( temp 3-component vector of float)
0:107            f: direct index for structure ( temp 4-component vector of float)
0:107              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:107                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:107                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:107                  Constant:
0:107                    0 (const uint)
0:107                direct index ( temp uint)
0:107                  'dti' ( in 3-component vector of uint)
0:107                  Constant:
0:107                    0 (const int)
0:107              Constant:
0:107                2 (const int)
0:107            Sequence
0:107              Constant:
0:107                0 (const int)
0:107              Constant:
0:107                1 (const int)
0:107              Constant:
0:107                2 (const int)
0:109      move second child to first child ( temp 4-component vector of double)
0:109        d: direct index for structure ( temp 4-component vector of double)
0:109          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:109            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:109              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:109              Constant:
0:109                0 (const uint)
0:109            direct index ( temp uint)
0:109              'dti' ( in 3-component vector of uint)
0:109              Constant:
0:109                0 (const int)
0:109          Constant:
0:109            3 (const int)
0:109        subgroupQuadSwapHorizontal ( temp 4-component vector of double)
0:109          d: direct index for structure ( temp 4-component vector of double)
0:109            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:109              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:109                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:109                Constant:
0:109                  0 (const uint)
0:109              direct index ( temp uint)
0:109                'dti' ( in 3-component vector of uint)
0:109                Constant:
0:109                  0 (const int)
0:109            Constant:
0:109              3 (const int)
0:110      move second child to first child ( temp double)
0:110        direct index ( temp double)
0:110          d: direct index for structure ( temp 4-component vector of double)
0:110            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:110              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:110                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:110                Constant:
0:110                  0 (const uint)
0:110              direct index ( temp uint)
0:110                'dti' ( in 3-component vector of uint)
0:110                Constant:
0:110                  0 (const int)
0:110            Constant:
0:110              3 (const int)
0:110          Constant:
0:110            0 (const int)
0:110        subgroupQuadSwapHorizontal ( temp double)
0:110          direct index ( temp double)
0:110            d: direct index for structure ( temp 4-component vector of double)
0:110              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:110                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:110                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:110                  Constant:
0:110                    0 (const uint)
0:110                direct index ( temp uint)
0:110                  'dti' ( in 3-component vector of uint)
0:110                  Constant:
0:110                    0 (const int)
0:110              Constant:
0:110                3 (const int)
0:110            Constant:
0:110              0 (const int)
0:111      move second child to first child ( temp 2-component vector of double)
0:111        vector swizzle ( temp 2-component vector of double)
0:111          d: direct index for structure ( temp 4-component vector of double)
0:111            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:111              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:111                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:111                Constant:
0:111                  0 (const uint)
0:111              direct index ( temp uint)
0:111                'dti' ( in 3-component vector of uint)
0:111                Constant:
0:111                  0 (const int)
0:111            Constant:
0:111              3 (const int)
0:111          Sequence
0:111            Constant:
0:111              0 (const int)
0:111            Constant:
0:111              1 (const int)
0:111        subgroupQuadSwapHorizontal ( temp 2-component vector of double)
0:111          vector swizzle ( temp 2-component vector of double)
0:111            d: direct index for structure ( temp 4-component vector of double)
0:111              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:111                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:111                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:111                  Constant:
0:111                    0 (const uint)
0:111                direct index ( temp uint)
0:111                  'dti' ( in 3-component vector of uint)
0:111                  Constant:
0:111                    0 (const int)
0:111              Constant:
0:111                3 (const int)
0:111            Sequence
0:111              Constant:
0:111                0 (const int)
0:111              Constant:
0:111                1 (const int)
0:112      move second child to first child ( temp 3-component vector of double)
0:112        vector swizzle ( temp 3-component vector of double)
0:112          d: direct index for structure ( temp 4-component vector of double)
0:112            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:112              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:112                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:112                Constant:
0:112                  0 (const uint)
0:112              direct index ( temp uint)
0:112                'dti' ( in 3-component vector of uint)
0:112                Constant:
0:112                  0 (const int)
0:112            Constant:
0:112              3 (const int)
0:112          Sequence
0:112            Constant:
0:112              0 (const int)
0:112            Constant:
0:112              1 (const int)
0:112            Constant:
0:112              2 (const int)
0:112        subgroupQuadSwapHorizontal ( temp 3-component vector of double)
0:112          vector swizzle ( temp 3-component vector of double)
0:112            d: direct index for structure ( temp 4-component vector of double)
0:112              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:112                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:112                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:112                  Constant:
0:112                    0 (const uint)
0:112                direct index ( temp uint)
0:112                  'dti' ( in 3-component vector of uint)
0:112                  Constant:
0:112                    0 (const int)
0:112              Constant:
0:112                3 (const int)
0:112            Sequence
0:112              Constant:
0:112                0 (const int)
0:112              Constant:
0:112                1 (const int)
0:112              Constant:
0:112                2 (const int)
0:114      move second child to first child ( temp 4-component vector of uint)
0:114        u: direct index for structure ( temp 4-component vector of uint)
0:114          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:114            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:114              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:114              Constant:
0:114                0 (const uint)
0:114            direct index ( temp uint)
0:114              'dti' ( in 3-component vector of uint)
0:114              Constant:
0:114                0 (const int)
0:114          Constant:
0:114            0 (const int)
0:114        subgroupQuadSwapVertical ( temp 4-component vector of uint)
0:114          u: direct index for structure ( temp 4-component vector of uint)
0:114            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:114              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:114                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:114                Constant:
0:114                  0 (const uint)
0:114              direct index ( temp uint)
0:114                'dti' ( in 3-component vector of uint)
0:114                Constant:
0:114                  0 (const int)
0:114            Constant:
0:114              0 (const int)
0:115      move second child to first child ( temp uint)
0:115        direct index ( temp uint)
0:115          u: direct index for structure ( temp 4-component vector of uint)
0:115            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:115              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:115                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:115                Constant:
0:115                  0 (const uint)
0:115              direct index ( temp uint)
0:115                'dti' ( in 3-component vector of uint)
0:115                Constant:
0:115                  0 (const int)
0:115            Constant:
0:115              0 (const int)
0:115          Constant:
0:115            0 (const int)
0:115        subgroupQuadSwapVertical ( temp uint)
0:115          direct index ( temp uint)
0:115            u: direct index for structure ( temp 4-component vector of uint)
0:115              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:115                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:115                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:115                  Constant:
0:115                    0 (const uint)
0:115                direct index ( temp uint)
0:115                  'dti' ( in 3-component vector of uint)
0:115                  Constant:
0:115                    0 (const int)
0:115              Constant:
0:115                0 (const int)
0:115            Constant:
0:115              0 (const int)
0:116      move second child to first child ( temp 2-component vector of uint)
0:116        vector swizzle ( temp 2-component vector of uint)
0:116          u: direct index for structure ( temp 4-component vector of uint)
0:116            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:116              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:116                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:116                Constant:
0:116                  0 (const uint)
0:116              direct index ( temp uint)
0:116                'dti' ( in 3-component vector of uint)
0:116                Constant:
0:116                  0 (const int)
0:116            Constant:
0:116              0 (const int)
0:116          Sequence
0:116            Constant:
0:116              0 (const int)
0:116            Constant:
0:116              1 (const int)
0:116        subgroupQuadSwapVertical ( temp 2-component vector of uint)
0:116          vector swizzle ( temp 2-component vector of uint)
0:116            u: direct index for structure ( temp 4-component vector of uint)
0:116              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:116                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:116                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:116                  Constant:
0:116                    0 (const uint)
0:116                direct index ( temp uint)
0:116                  'dti' ( in 3-component vector of uint)
0:116                  Constant:
0:116                    0 (const int)
0:116              Constant:
0:116                0 (const int)
0:116            Sequence
0:116              Constant:
0:116                0 (const int)
0:116              Constant:
0:116                1 (const int)
0:117      move second child to first child ( temp 3-component vector of uint)
0:117        vector swizzle ( temp 3-component vector of uint)
0:117          u: direct index for structure ( temp 4-component vector of uint)
0:117            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:117              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:117                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:117                Constant:
0:117                  0 (const uint)
0:117              direct index ( temp uint)
0:117                'dti' ( in 3-component vector of uint)
0:117                Constant:
0:117                  0 (const int)
0:117            Constant:
0:117              0 (const int)
0:117          Sequence
0:117            Constant:
0:117              0 (const int)
0:117            Constant:
0:117              1 (const int)
0:117            Constant:
0:117              2 (const int)
0:117        subgroupQuadSwapVertical ( temp 3-component vector of uint)
0:117          vector swizzle ( temp 3-component vector of uint)
0:117            u: direct index for structure ( temp 4-component vector of uint)
0:117              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:117                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:117                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:117                  Constant:
0:117                    0 (const uint)
0:117                direct index ( temp uint)
0:117                  'dti' ( in 3-component vector of uint)
0:117                  Constant:
0:117                    0 (const int)
0:117              Constant:
0:117                0 (const int)
0:117            Sequence
0:117              Constant:
0:117                0 (const int)
0:117              Constant:
0:117                1 (const int)
0:117              Constant:
0:117                2 (const int)
0:119      move second child to first child ( temp 4-component vector of int)
0:119        i: direct index for structure ( temp 4-component vector of int)
0:119          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:119            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:119              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:119              Constant:
0:119                0 (const uint)
0:119            direct index ( temp uint)
0:119              'dti' ( in 3-component vector of uint)
0:119              Constant:
0:119                0 (const int)
0:119          Constant:
0:119            1 (const int)
0:119        subgroupQuadSwapVertical ( temp 4-component vector of int)
0:119          i: direct index for structure ( temp 4-component vector of int)
0:119            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:119              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:119                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:119                Constant:
0:119                  0 (const uint)
0:119              direct index ( temp uint)
0:119                'dti' ( in 3-component vector of uint)
0:119                Constant:
0:119                  0 (const int)
0:119            Constant:
0:119              1 (const int)
0:120      move second child to first child ( temp int)
0:120        direct index ( temp int)
0:120          i: direct index for structure ( temp 4-component vector of int)
0:120            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:120              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:120                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:120                Constant:
0:120                  0 (const uint)
0:120              direct index ( temp uint)
0:120                'dti' ( in 3-component vector of uint)
0:120                Constant:
0:120                  0 (const int)
0:120            Constant:
0:120              1 (const int)
0:120          Constant:
0:120            0 (const int)
0:120        subgroupQuadSwapVertical ( temp int)
0:120          direct index ( temp int)
0:120            i: direct index for structure ( temp 4-component vector of int)
0:120              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:120                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:120                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:120                  Constant:
0:120                    0 (const uint)
0:120                direct index ( temp uint)
0:120                  'dti' ( in 3-component vector of uint)
0:120                  Constant:
0:120                    0 (const int)
0:120              Constant:
0:120                1 (const int)
0:120            Constant:
0:120              0 (const int)
0:121      move second child to first child ( temp 2-component vector of int)
0:121        vector swizzle ( temp 2-component vector of int)
0:121          i: direct index for structure ( temp 4-component vector of int)
0:121            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:121              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:121                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:121                Constant:
0:121                  0 (const uint)
0:121              direct index ( temp uint)
0:121                'dti' ( in 3-component vector of uint)
0:121                Constant:
0:121                  0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121          Sequence
0:121            Constant:
0:121              0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121        subgroupQuadSwapVertical ( temp 2-component vector of int)
0:121          vector swizzle ( temp 2-component vector of int)
0:121            i: direct index for structure ( temp 4-component vector of int)
0:121              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:121                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:121                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:121                  Constant:
0:121                    0 (const uint)
0:121                direct index ( temp uint)
0:121                  'dti' ( in 3-component vector of uint)
0:121                  Constant:
0:121                    0 (const int)
0:121              Constant:
0:121                1 (const int)
0:121            Sequence
0:121              Constant:
0:121                0 (const int)
0:121              Constant:
0:121                1 (const int)
0:122      move second child to first child ( temp 3-component vector of int)
0:122        vector swizzle ( temp 3-component vector of int)
0:122          i: direct index for structure ( temp 4-component vector of int)
0:122            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:122              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:122                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:122                Constant:
0:122                  0 (const uint)
0:122              direct index ( temp uint)
0:122                'dti' ( in 3-component vector of uint)
0:122                Constant:
0:122                  0 (const int)
0:122            Constant:
0:122              1 (const int)
0:122          Sequence
0:122            Constant:
0:122              0 (const int)
0:122            Constant:
0:122              1 (const int)
0:122            Constant:
0:122              2 (const int)
0:122        subgroupQuadSwapVertical ( temp 3-component vector of int)
0:122          vector swizzle ( temp 3-component vector of int)
0:122            i: direct index for structure ( temp 4-component vector of int)
0:122              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:122                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:122                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:122                  Constant:
0:122                    0 (const uint)
0:122                direct index ( temp uint)
0:122                  'dti' ( in 3-component vector of uint)
0:122                  Constant:
0:122                    0 (const int)
0:122              Constant:
0:122                1 (const int)
0:122            Sequence
0:122              Constant:
0:122                0 (const int)
0:122              Constant:
0:122                1 (const int)
0:122              Constant:
0:122                2 (const int)
0:124      move second child to first child ( temp 4-component vector of float)
0:124        f: direct index for structure ( temp 4-component vector of float)
0:124          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:124            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:124              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:124              Constant:
0:124                0 (const uint)
0:124            direct index ( temp uint)
0:124              'dti' ( in 3-component vector of uint)
0:124              Constant:
0:124                0 (const int)
0:124          Constant:
0:124            2 (const int)
0:124        subgroupQuadSwapVertical ( temp 4-component vector of float)
0:124          f: direct index for structure ( temp 4-component vector of float)
0:124            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:124              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:124                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:124                Constant:
0:124                  0 (const uint)
0:124              direct index ( temp uint)
0:124                'dti' ( in 3-component vector of uint)
0:124                Constant:
0:124                  0 (const int)
0:124            Constant:
0:124              2 (const int)
0:125      move second child to first child ( temp float)
0:125        direct index ( temp float)
0:125          f: direct index for structure ( temp 4-component vector of float)
0:125            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:125              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:125                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:125                Constant:
0:125                  0 (const uint)
0:125              direct index ( temp uint)
0:125                'dti' ( in 3-component vector of uint)
0:125                Constant:
0:125                  0 (const int)
0:125            Constant:
0:125              2 (const int)
0:125          Constant:
0:125            0 (const int)
0:125        subgroupQuadSwapVertical ( temp float)
0:125          direct index ( temp float)
0:125            f: direct index for structure ( temp 4-component vector of float)
0:125              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:125                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:125                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:125                  Constant:
0:125                    0 (const uint)
0:125                direct index ( temp uint)
0:125                  'dti' ( in 3-component vector of uint)
0:125                  Constant:
0:125                    0 (const int)
0:125              Constant:
0:125                2 (const int)
0:125            Constant:
0:125              0 (const int)
0:126      move second child to first child ( temp 2-component vector of float)
0:126        vector swizzle ( temp 2-component vector of float)
0:126          f: direct index for structure ( temp 4-component vector of float)
0:126            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:126              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:126                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:126                Constant:
0:126                  0 (const uint)
0:126              direct index ( temp uint)
0:126                'dti' ( in 3-component vector of uint)
0:126                Constant:
0:126                  0 (const int)
0:126            Constant:
0:126              2 (const int)
0:126          Sequence
0:126            Constant:
0:126              0 (const int)
0:126            Constant:
0:126              1 (const int)
0:126        subgroupQuadSwapVertical ( temp 2-component vector of float)
0:126          vector swizzle ( temp 2-component vector of float)
0:126            f: direct index for structure ( temp 4-component vector of float)
0:126              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:126                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:126                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:126                  Constant:
0:126                    0 (const uint)
0:126                direct index ( temp uint)
0:126                  'dti' ( in 3-component vector of uint)
0:126                  Constant:
0:126                    0 (const int)
0:126              Constant:
0:126                2 (const int)
0:126            Sequence
0:126              Constant:
0:126                0 (const int)
0:126              Constant:
0:126                1 (const int)
0:127      move second child to first child ( temp 3-component vector of float)
0:127        vector swizzle ( temp 3-component vector of float)
0:127          f: direct index for structure ( temp 4-component vector of float)
0:127            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:127              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:127                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:127                Constant:
0:127                  0 (const uint)
0:127              direct index ( temp uint)
0:127                'dti' ( in 3-component vector of uint)
0:127                Constant:
0:127                  0 (const int)
0:127            Constant:
0:127              2 (const int)
0:127          Sequence
0:127            Constant:
0:127              0 (const int)
0:127            Constant:
0:127              1 (const int)
0:127            Constant:
0:127              2 (const int)
0:127        subgroupQuadSwapVertical ( temp 3-component vector of float)
0:127          vector swizzle ( temp 3-component vector of float)
0:127            f: direct index for structure ( temp 4-component vector of float)
0:127              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:127                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:127                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:127                  Constant:
0:127                    0 (const uint)
0:127                direct index ( temp uint)
0:127                  'dti' ( in 3-component vector of uint)
0:127                  Constant:
0:127                    0 (const int)
0:127              Constant:
0:127                2 (const int)
0:127            Sequence
0:127              Constant:
0:127                0 (const int)
0:127              Constant:
0:127                1 (const int)
0:127              Constant:
0:127                2 (const int)
0:129      move second child to first child ( temp 4-component vector of double)
0:129        d: direct index for structure ( temp 4-component vector of double)
0:129          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:129            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:129              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:129              Constant:
0:129                0 (const uint)
0:129            direct index ( temp uint)
0:129              'dti' ( in 3-component vector of uint)
0:129              Constant:
0:129                0 (const int)
0:129          Constant:
0:129            3 (const int)
0:129        subgroupQuadSwapVertical ( temp 4-component vector of double)
0:129          d: direct index for structure ( temp 4-component vector of double)
0:129            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:129              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:129                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:129                Constant:
0:129                  0 (const uint)
0:129              direct index ( temp uint)
0:129                'dti' ( in 3-component vector of uint)
0:129                Constant:
0:129                  0 (const int)
0:129            Constant:
0:129              3 (const int)
0:130      move second child to first child ( temp double)
0:130        direct index ( temp double)
0:130          d: direct index for structure ( temp 4-component vector of double)
0:130            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:130              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:130                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:130                Constant:
0:130                  0 (const uint)
0:130              direct index ( temp uint)
0:130                'dti' ( in 3-component vector of uint)
0:130                Constant:
0:130                  0 (const int)
0:130            Constant:
0:130              3 (const int)
0:130          Constant:
0:130            0 (const int)
0:130        subgroupQuadSwapVertical ( temp double)
0:130          direct index ( temp double)
0:130            d: direct index for structure ( temp 4-component vector of double)
0:130              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:130                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:130                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:130                  Constant:
0:130                    0 (const uint)
0:130                direct index ( temp uint)
0:130                  'dti' ( in 3-component vector of uint)
0:130                  Constant:
0:130                    0 (const int)
0:130              Constant:
0:130                3 (const int)
0:130            Constant:
0:130              0 (const int)
0:131      move second child to first child ( temp 2-component vector of double)
0:131        vector swizzle ( temp 2-component vector of double)
0:131          d: direct index for structure ( temp 4-component vector of double)
0:131            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:131              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:131                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:131                Constant:
0:131                  0 (const uint)
0:131              direct index ( temp uint)
0:131                'dti' ( in 3-component vector of uint)
0:131                Constant:
0:131                  0 (const int)
0:131            Constant:
0:131              3 (const int)
0:131          Sequence
0:131            Constant:
0:131              0 (const int)
0:131            Constant:
0:131              1 (const int)
0:131        subgroupQuadSwapVertical ( temp 2-component vector of double)
0:131          vector swizzle ( temp 2-component vector of double)
0:131            d: direct index for structure ( temp 4-component vector of double)
0:131              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:131                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:131                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:131                  Constant:
0:131                    0 (const uint)
0:131                direct index ( temp uint)
0:131                  'dti' ( in 3-component vector of uint)
0:131                  Constant:
0:131                    0 (const int)
0:131              Constant:
0:131                3 (const int)
0:131            Sequence
0:131              Constant:
0:131                0 (const int)
0:131              Constant:
0:131                1 (const int)
0:132      move second child to first child ( temp 3-component vector of double)
0:132        vector swizzle ( temp 3-component vector of double)
0:132          d: direct index for structure ( temp 4-component vector of double)
0:132            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:132              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:132                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:132                Constant:
0:132                  0 (const uint)
0:132              direct index ( temp uint)
0:132                'dti' ( in 3-component vector of uint)
0:132                Constant:
0:132                  0 (const int)
0:132            Constant:
0:132              3 (const int)
0:132          Sequence
0:132            Constant:
0:132              0 (const int)
0:132            Constant:
0:132              1 (const int)
0:132            Constant:
0:132              2 (const int)
0:132        subgroupQuadSwapVertical ( temp 3-component vector of double)
0:132          vector swizzle ( temp 3-component vector of double)
0:132            d: direct index for structure ( temp 4-component vector of double)
0:132              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:132                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:132                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:132                  Constant:
0:132                    0 (const uint)
0:132                direct index ( temp uint)
0:132                  'dti' ( in 3-component vector of uint)
0:132                  Constant:
0:132                    0 (const int)
0:132              Constant:
0:132                3 (const int)
0:132            Sequence
0:132              Constant:
0:132                0 (const int)
0:132              Constant:
0:132                1 (const int)
0:132              Constant:
0:132                2 (const int)
0:134      move second child to first child ( temp 4-component vector of uint)
0:134        u: direct index for structure ( temp 4-component vector of uint)
0:134          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:134            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:134              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:134              Constant:
0:134                0 (const uint)
0:134            direct index ( temp uint)
0:134              'dti' ( in 3-component vector of uint)
0:134              Constant:
0:134                0 (const int)
0:134          Constant:
0:134            0 (const int)
0:134        subgroupQuadSwapDiagonal ( temp 4-component vector of uint)
0:134          u: direct index for structure ( temp 4-component vector of uint)
0:134            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:134              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:134                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:134                Constant:
0:134                  0 (const uint)
0:134              direct index ( temp uint)
0:134                'dti' ( in 3-component vector of uint)
0:134                Constant:
0:134                  0 (const int)
0:134            Constant:
0:134              0 (const int)
0:135      move second child to first child ( temp uint)
0:135        direct index ( temp uint)
0:135          u: direct index for structure ( temp 4-component vector of uint)
0:135            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:135              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:135                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:135                Constant:
0:135                  0 (const uint)
0:135              direct index ( temp uint)
0:135                'dti' ( in 3-component vector of uint)
0:135                Constant:
0:135                  0 (const int)
0:135            Constant:
0:135              0 (const int)
0:135          Constant:
0:135            0 (const int)
0:135        subgroupQuadSwapDiagonal ( temp uint)
0:135          direct index ( temp uint)
0:135            u: direct index for structure ( temp 4-component vector of uint)
0:135              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:135                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:135                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:135                  Constant:
0:135                    0 (const uint)
0:135                direct index ( temp uint)
0:135                  'dti' ( in 3-component vector of uint)
0:135                  Constant:
0:135                    0 (const int)
0:135              Constant:
0:135                0 (const int)
0:135            Constant:
0:135              0 (const int)
0:136      move second child to first child ( temp 2-component vector of uint)
0:136        vector swizzle ( temp 2-component vector of uint)
0:136          u: direct index for structure ( temp 4-component vector of uint)
0:136            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:136              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:136                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:136                Constant:
0:136                  0 (const uint)
0:136              direct index ( temp uint)
0:136                'dti' ( in 3-component vector of uint)
0:136                Constant:
0:136                  0 (const int)
0:136            Constant:
0:136              0 (const int)
0:136          Sequence
0:136            Constant:
0:136              0 (const int)
0:136            Constant:
0:136              1 (const int)
0:136        subgroupQuadSwapDiagonal ( temp 2-component vector of uint)
0:136          vector swizzle ( temp 2-component vector of uint)
0:136            u: direct index for structure ( temp 4-component vector of uint)
0:136              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:136                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:136                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:136                  Constant:
0:136                    0 (const uint)
0:136                direct index ( temp uint)
0:136                  'dti' ( in 3-component vector of uint)
0:136                  Constant:
0:136                    0 (const int)
0:136              Constant:
0:136                0 (const int)
0:136            Sequence
0:136              Constant:
0:136                0 (const int)
0:136              Constant:
0:136                1 (const int)
0:137      move second child to first child ( temp 3-component vector of uint)
0:137        vector swizzle ( temp 3-component vector of uint)
0:137          u: direct index for structure ( temp 4-component vector of uint)
0:137            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:137              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:137                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:137                Constant:
0:137                  0 (const uint)
0:137              direct index ( temp uint)
0:137                'dti' ( in 3-component vector of uint)
0:137                Constant:
0:137                  0 (const int)
0:137            Constant:
0:137              0 (const int)
0:137          Sequence
0:137            Constant:
0:137              0 (const int)
0:137            Constant:
0:137              1 (const int)
0:137            Constant:
0:137              2 (const int)
0:137        subgroupQuadSwapDiagonal ( temp 3-component vector of uint)
0:137          vector swizzle ( temp 3-component vector of uint)
0:137            u: direct index for structure ( temp 4-component vector of uint)
0:137              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:137                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:137                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:137                  Constant:
0:137                    0 (const uint)
0:137                direct index ( temp uint)
0:137                  'dti' ( in 3-component vector of uint)
0:137                  Constant:
0:137                    0 (const int)
0:137              Constant:
0:137                0 (const int)
0:137            Sequence
0:137              Constant:
0:137                0 (const int)
0:137              Constant:
0:137                1 (const int)
0:137              Constant:
0:137                2 (const int)
0:139      move second child to first child ( temp 4-component vector of int)
0:139        i: direct index for structure ( temp 4-component vector of int)
0:139          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:139            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:139              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:139              Constant:
0:139                0 (const uint)
0:139            direct index ( temp uint)
0:139              'dti' ( in 3-component vector of uint)
0:139              Constant:
0:139                0 (const int)
0:139          Constant:
0:139            1 (const int)
0:139        subgroupQuadSwapDiagonal ( temp 4-component vector of int)
0:139          i: direct index for structure ( temp 4-component vector of int)
0:139            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:139              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:139                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:139                Constant:
0:139                  0 (const uint)
0:139              direct index ( temp uint)
0:139                'dti' ( in 3-component vector of uint)
0:139                Constant:
0:139                  0 (const int)
0:139            Constant:
0:139              1 (const int)
0:140      move second child to first child ( temp int)
0:140        direct index ( temp int)
0:140          i: direct index for structure ( temp 4-component vector of int)
0:140            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:140              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:140                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:140                Constant:
0:140                  0 (const uint)
0:140              direct index ( temp uint)
0:140                'dti' ( in 3-component vector of uint)
0:140                Constant:
0:140                  0 (const int)
0:140            Constant:
0:140              1 (const int)
0:140          Constant:
0:140            0 (const int)
0:140        subgroupQuadSwapDiagonal ( temp int)
0:140          direct index ( temp int)
0:140            i: direct index for structure ( temp 4-component vector of int)
0:140              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:140                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:140                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:140                  Constant:
0:140                    0 (const uint)
0:140                direct index ( temp uint)
0:140                  'dti' ( in 3-component vector of uint)
0:140                  Constant:
0:140                    0 (const int)
0:140              Constant:
0:140                1 (const int)
0:140            Constant:
0:140              0 (const int)
0:141      move second child to first child ( temp 2-component vector of int)
0:141        vector swizzle ( temp 2-component vector of int)
0:141          i: direct index for structure ( temp 4-component vector of int)
0:141            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:141              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:141                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:141                Constant:
0:141                  0 (const uint)
0:141              direct index ( temp uint)
0:141                'dti' ( in 3-component vector of uint)
0:141                Constant:
0:141                  0 (const int)
0:141            Constant:
0:141              1 (const int)
0:141          Sequence
0:141            Constant:
0:141              0 (const int)
0:141            Constant:
0:141              1 (const int)
0:141        subgroupQuadSwapDiagonal ( temp 2-component vector of int)
0:141          vector swizzle ( temp 2-component vector of int)
0:141            i: direct index for structure ( temp 4-component vector of int)
0:141              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:141                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:141                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:141                  Constant:
0:141                    0 (const uint)
0:141                direct index ( temp uint)
0:141                  'dti' ( in 3-component vector of uint)
0:141                  Constant:
0:141                    0 (const int)
0:141              Constant:
0:141                1 (const int)
0:141            Sequence
0:141              Constant:
0:141                0 (const int)
0:141              Constant:
0:141                1 (const int)
0:142      move second child to first child ( temp 3-component vector of int)
0:142        vector swizzle ( temp 3-component vector of int)
0:142          i: direct index for structure ( temp 4-component vector of int)
0:142            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:142              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:142                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:142                Constant:
0:142                  0 (const uint)
0:142              direct index ( temp uint)
0:142                'dti' ( in 3-component vector of uint)
0:142                Constant:
0:142                  0 (const int)
0:142            Constant:
0:142              1 (const int)
0:142          Sequence
0:142            Constant:
0:142              0 (const int)
0:142            Constant:
0:142              1 (const int)
0:142            Constant:
0:142              2 (const int)
0:142        subgroupQuadSwapDiagonal ( temp 3-component vector of int)
0:142          vector swizzle ( temp 3-component vector of int)
0:142            i: direct index for structure ( temp 4-component vector of int)
0:142              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:142                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:142                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:142                  Constant:
0:142                    0 (const uint)
0:142                direct index ( temp uint)
0:142                  'dti' ( in 3-component vector of uint)
0:142                  Constant:
0:142                    0 (const int)
0:142              Constant:
0:142                1 (const int)
0:142            Sequence
0:142              Constant:
0:142                0 (const int)
0:142              Constant:
0:142                1 (const int)
0:142              Constant:
0:142                2 (const int)
0:144      move second child to first child ( temp 4-component vector of float)
0:144        f: direct index for structure ( temp 4-component vector of float)
0:144          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:144            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:144              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:144              Constant:
0:144                0 (const uint)
0:144            direct index ( temp uint)
0:144              'dti' ( in 3-component vector of uint)
0:144              Constant:
0:144                0 (const int)
0:144          Constant:
0:144            2 (const int)
0:144        subgroupQuadSwapDiagonal ( temp 4-component vector of float)
0:144          f: direct index for structure ( temp 4-component vector of float)
0:144            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:144              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:144                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:144                Constant:
0:144                  0 (const uint)
0:144              direct index ( temp uint)
0:144                'dti' ( in 3-component vector of uint)
0:144                Constant:
0:144                  0 (const int)
0:144            Constant:
0:144              2 (const int)
0:145      move second child to first child ( temp float)
0:145        direct index ( temp float)
0:145          f: direct index for structure ( temp 4-component vector of float)
0:145            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:145              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:145                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:145                Constant:
0:145                  0 (const uint)
0:145              direct index ( temp uint)
0:145                'dti' ( in 3-component vector of uint)
0:145                Constant:
0:145                  0 (const int)
0:145            Constant:
0:145              2 (const int)
0:145          Constant:
0:145            0 (const int)
0:145        subgroupQuadSwapDiagonal ( temp float)
0:145          direct index ( temp float)
0:145            f: direct index for structure ( temp 4-component vector of float)
0:145              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:145                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:145                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:145                  Constant:
0:145                    0 (const uint)
0:145                direct index ( temp uint)
0:145                  'dti' ( in 3-component vector of uint)
0:145                  Constant:
0:145                    0 (const int)
0:145              Constant:
0:145                2 (const int)
0:145            Constant:
0:145              0 (const int)
0:146      move second child to first child ( temp 2-component vector of float)
0:146        vector swizzle ( temp 2-component vector of float)
0:146          f: direct index for structure ( temp 4-component vector of float)
0:146            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:146              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:146                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:146                Constant:
0:146                  0 (const uint)
0:146              direct index ( temp uint)
0:146                'dti' ( in 3-component vector of uint)
0:146                Constant:
0:146                  0 (const int)
0:146            Constant:
0:146              2 (const int)
0:146          Sequence
0:146            Constant:
0:146              0 (const int)
0:146            Constant:
0:146              1 (const int)
0:146        subgroupQuadSwapDiagonal ( temp 2-component vector of float)
0:146          vector swizzle ( temp 2-component vector of float)
0:146            f: direct index for structure ( temp 4-component vector of float)
0:146              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:146                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:146                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:146                  Constant:
0:146                    0 (const uint)
0:146                direct index ( temp uint)
0:146                  'dti' ( in 3-component vector of uint)
0:146                  Constant:
0:146                    0 (const int)
0:146              Constant:
0:146                2 (const int)
0:146            Sequence
0:146              Constant:
0:146                0 (const int)
0:146              Constant:
0:146                1 (const int)
0:147      move second child to first child ( temp 3-component vector of float)
0:147        vector swizzle ( temp 3-component vector of float)
0:147          f: direct index for structure ( temp 4-component vector of float)
0:147            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:147              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:147                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:147                Constant:
0:147                  0 (const uint)
0:147              direct index ( temp uint)
0:147                'dti' ( in 3-component vector of uint)
0:147                Constant:
0:147                  0 (const int)
0:147            Constant:
0:147              2 (const int)
0:147          Sequence
0:147            Constant:
0:147              0 (const int)
0:147            Constant:
0:147              1 (const int)
0:147            Constant:
0:147              2 (const int)
0:147        subgroupQuadSwapDiagonal ( temp 3-component vector of float)
0:147          vector swizzle ( temp 3-component vector of float)
0:147            f: direct index for structure ( temp 4-component vector of float)
0:147              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:147                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:147                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:147                  Constant:
0:147                    0 (const uint)
0:147                direct index ( temp uint)
0:147                  'dti' ( in 3-component vector of uint)
0:147                  Constant:
0:147                    0 (const int)
0:147              Constant:
0:147                2 (const int)
0:147            Sequence
0:147              Constant:
0:147                0 (const int)
0:147              Constant:
0:147                1 (const int)
0:147              Constant:
0:147                2 (const int)
0:149      move second child to first child ( temp 4-component vector of double)
0:149        d: direct index for structure ( temp 4-component vector of double)
0:149          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:149            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:149              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:149              Constant:
0:149                0 (const uint)
0:149            direct index ( temp uint)
0:149              'dti' ( in 3-component vector of uint)
0:149              Constant:
0:149                0 (const int)
0:149          Constant:
0:149            3 (const int)
0:149        subgroupQuadSwapDiagonal ( temp 4-component vector of double)
0:149          d: direct index for structure ( temp 4-component vector of double)
0:149            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:149              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:149                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:149                Constant:
0:149                  0 (const uint)
0:149              direct index ( temp uint)
0:149                'dti' ( in 3-component vector of uint)
0:149                Constant:
0:149                  0 (const int)
0:149            Constant:
0:149              3 (const int)
0:150      move second child to first child ( temp double)
0:150        direct index ( temp double)
0:150          d: direct index for structure ( temp 4-component vector of double)
0:150            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:150              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:150                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:150                Constant:
0:150                  0 (const uint)
0:150              direct index ( temp uint)
0:150                'dti' ( in 3-component vector of uint)
0:150                Constant:
0:150                  0 (const int)
0:150            Constant:
0:150              3 (const int)
0:150          Constant:
0:150            0 (const int)
0:150        subgroupQuadSwapDiagonal ( temp double)
0:150          direct index ( temp double)
0:150            d: direct index for structure ( temp 4-component vector of double)
0:150              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:150                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:150                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:150                  Constant:
0:150                    0 (const uint)
0:150                direct index ( temp uint)
0:150                  'dti' ( in 3-component vector of uint)
0:150                  Constant:
0:150                    0 (const int)
0:150              Constant:
0:150                3 (const int)
0:150            Constant:
0:150              0 (const int)
0:151      move second child to first child ( temp 2-component vector of double)
0:151        vector swizzle ( temp 2-component vector of double)
0:151          d: direct index for structure ( temp 4-component vector of double)
0:151            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:151              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:151                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:151                Constant:
0:151                  0 (const uint)
0:151              direct index ( temp uint)
0:151                'dti' ( in 3-component vector of uint)
0:151                Constant:
0:151                  0 (const int)
0:151            Constant:
0:151              3 (const int)
0:151          Sequence
0:151            Constant:
0:151              0 (const int)
0:151            Constant:
0:151              1 (const int)
0:151        subgroupQuadSwapDiagonal ( temp 2-component vector of double)
0:151          vector swizzle ( temp 2-component vector of double)
0:151            d: direct index for structure ( temp 4-component vector of double)
0:151              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:151                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:151                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:151                  Constant:
0:151                    0 (const uint)
0:151                direct index ( temp uint)
0:151                  'dti' ( in 3-component vector of uint)
0:151                  Constant:
0:151                    0 (const int)
0:151              Constant:
0:151                3 (const int)
0:151            Sequence
0:151              Constant:
0:151                0 (const int)
0:151              Constant:
0:151                1 (const int)
0:152      move second child to first child ( temp 3-component vector of double)
0:152        vector swizzle ( temp 3-component vector of double)
0:152          d: direct index for structure ( temp 4-component vector of double)
0:152            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:152              @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:152                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:152                Constant:
0:152                  0 (const uint)
0:152              direct index ( temp uint)
0:152                'dti' ( in 3-component vector of uint)
0:152                Constant:
0:152                  0 (const int)
0:152            Constant:
0:152              3 (const int)
0:152          Sequence
0:152            Constant:
0:152              0 (const int)
0:152            Constant:
0:152              1 (const int)
0:152            Constant:
0:152              2 (const int)
0:152        subgroupQuadSwapDiagonal ( temp 3-component vector of double)
0:152          vector swizzle ( temp 3-component vector of double)
0:152            d: direct index for structure ( temp 4-component vector of double)
0:152              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:152                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
0:152                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:152                  Constant:
0:152                    0 (const uint)
0:152                direct index ( temp uint)
0:152                  'dti' ( in 3-component vector of uint)
0:152                  Constant:
0:152                    0 (const int)
0:152              Constant:
0:152                3 (const int)
0:152            Sequence
0:152              Constant:
0:152                0 (const int)
0:152              Constant:
0:152                1 (const int)
0:152              Constant:
0:152                2 (const int)
0:13  Function Definition: CSMain( ( temp void)
0:13    Function Parameters: 
0:?     Sequence
0:13      move second child to first child ( temp 3-component vector of uint)
0:?         'dti' ( temp 3-component vector of uint)
0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
0:13      Function Call: @CSMain(vu3; ( temp void)
0:?         'dti' ( temp 3-component vector of uint)
0:?   Linker Objects
0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)

// Module Version 10300
// Generated by (magic number): 80007
// Id's are bound by 1120

                              Capability Shader
                              Capability Float64
                              Capability GroupNonUniform
                              Capability GroupNonUniformQuad
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "CSMain" 1115
                              ExecutionMode 4 LocalSize 32 16 1
                              Source HLSL 500
                              Name 4  "CSMain"
                              Name 11  "@CSMain(vu3;"
                              Name 10  "dti"
                              Name 20  "Types"
                              MemberName 20(Types) 0  "u"
                              MemberName 20(Types) 1  "i"
                              MemberName 20(Types) 2  "f"
                              MemberName 20(Types) 3  "d"
                              Name 22  "data"
                              MemberName 22(data) 0  "@data"
                              Name 24  "data"
                              Name 1113  "dti"
                              Name 1115  "dti"
                              Name 1117  "param"
                              MemberDecorate 20(Types) 0 Offset 0
                              MemberDecorate 20(Types) 1 Offset 16
                              MemberDecorate 20(Types) 2 Offset 32
                              MemberDecorate 20(Types) 3 Offset 64
                              Decorate 21 ArrayStride 96
                              MemberDecorate 22(data) 0 Offset 0
                              Decorate 22(data) BufferBlock
                              Decorate 24(data) DescriptorSet 0
                              Decorate 1115(dti) BuiltIn GlobalInvocationId
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypeVector 6(int) 3
               8:             TypePointer Function 7(ivec3)
               9:             TypeFunction 2 8(ptr)
              13:             TypeVector 6(int) 4
              14:             TypeInt 32 1
              15:             TypeVector 14(int) 4
              16:             TypeFloat 32
              17:             TypeVector 16(float) 4
              18:             TypeFloat 64
              19:             TypeVector 18(float64_t) 4
       20(Types):             TypeStruct 13(ivec4) 15(ivec4) 17(fvec4) 19(f64vec4)
              21:             TypeRuntimeArray 20(Types)
        22(data):             TypeStruct 21
              23:             TypePointer Uniform 22(data)
        24(data):     23(ptr) Variable Uniform
              25:     14(int) Constant 0
              26:      6(int) Constant 0
              27:             TypePointer Function 6(int)
              32:             TypePointer Uniform 13(ivec4)
              35:      6(int) Constant 3
              42:             TypePointer Uniform 6(int)
              51:             TypeVector 6(int) 2
              72:     14(int) Constant 1
              75:             TypePointer Uniform 15(ivec4)
              84:             TypePointer Uniform 14(int)
              93:             TypeVector 14(int) 2
             105:             TypeVector 14(int) 3
             115:     14(int) Constant 2
             118:             TypePointer Uniform 17(fvec4)
             127:             TypePointer Uniform 16(float)
             136:             TypeVector 16(float) 2
             148:             TypeVector 16(float) 3
             158:     14(int) Constant 3
             161:             TypePointer Uniform 19(f64vec4)
             170:             TypePointer Uniform 18(float64_t)
             179:             TypeVector 18(float64_t) 2
             191:             TypeVector 18(float64_t) 3
             205:      6(int) Constant 1
             358:      6(int) Constant 2
            1114:             TypePointer Input 7(ivec3)
       1115(dti):   1114(ptr) Variable Input
       4(CSMain):           2 Function None 3
               5:             Label
       1113(dti):      8(ptr) Variable Function
     1117(param):      8(ptr) Variable Function
            1116:    7(ivec3) Load 1115(dti)
                              Store 1113(dti) 1116
            1118:    7(ivec3) Load 1113(dti)
                              Store 1117(param) 1118
            1119:           2 FunctionCall 11(@CSMain(vu3;) 1117(param)
                              Return
                              FunctionEnd
11(@CSMain(vu3;):           2 Function None 9
         10(dti):      8(ptr) FunctionParameter
              12:             Label
              28:     27(ptr) AccessChain 10(dti) 26
              29:      6(int) Load 28
              30:     27(ptr) AccessChain 10(dti) 26
              31:      6(int) Load 30
              33:     32(ptr) AccessChain 24(data) 25 31 25
              34:   13(ivec4) Load 33
              36:   13(ivec4) GroupNonUniformQuadBroadcast 35 34 26
              37:     32(ptr) AccessChain 24(data) 25 29 25
                              Store 37 36
              38:     27(ptr) AccessChain 10(dti) 26
              39:      6(int) Load 38
              40:     27(ptr) AccessChain 10(dti) 26
              41:      6(int) Load 40
              43:     42(ptr) AccessChain 24(data) 25 41 25 26
              44:      6(int) Load 43
              45:      6(int) GroupNonUniformQuadBroadcast 35 44 26
              46:     42(ptr) AccessChain 24(data) 25 39 25 26
                              Store 46 45
              47:     27(ptr) AccessChain 10(dti) 26
              48:      6(int) Load 47
              49:     27(ptr) AccessChain 10(dti) 26
              50:      6(int) Load 49
              52:     32(ptr) AccessChain 24(data) 25 50 25
              53:   13(ivec4) Load 52
              54:   51(ivec2) VectorShuffle 53 53 0 1
              55:   51(ivec2) GroupNonUniformQuadBroadcast 35 54 26
              56:     32(ptr) AccessChain 24(data) 25 48 25
              57:   13(ivec4) Load 56
              58:   13(ivec4) VectorShuffle 57 55 4 5 2 3
                              Store 56 58
              59:     27(ptr) AccessChain 10(dti) 26
              60:      6(int) Load 59
              61:     27(ptr) AccessChain 10(dti) 26
              62:      6(int) Load 61
              63:     32(ptr) AccessChain 24(data) 25 62 25
              64:   13(ivec4) Load 63
              65:    7(ivec3) VectorShuffle 64 64 0 1 2
              66:    7(ivec3) GroupNonUniformQuadBroadcast 35 65 26
              67:     32(ptr) AccessChain 24(data) 25 60 25
              68:   13(ivec4) Load 67
              69:   13(ivec4) VectorShuffle 68 66 4 5 6 3
                              Store 67 69
              70:     27(ptr) AccessChain 10(dti) 26
              71:      6(int) Load 70
              73:     27(ptr) AccessChain 10(dti) 26
              74:      6(int) Load 73
              76:     75(ptr) AccessChain 24(data) 25 74 72
              77:   15(ivec4) Load 76
              78:   15(ivec4) GroupNonUniformQuadBroadcast 35 77 26
              79:     75(ptr) AccessChain 24(data) 25 71 72
                              Store 79 78
              80:     27(ptr) AccessChain 10(dti) 26
              81:      6(int) Load 80
              82:     27(ptr) AccessChain 10(dti) 26
              83:      6(int) Load 82
              85:     84(ptr) AccessChain 24(data) 25 83 72 26
              86:     14(int) Load 85
              87:     14(int) GroupNonUniformQuadBroadcast 35 86 26
              88:     84(ptr) AccessChain 24(data) 25 81 72 26
                              Store 88 87
              89:     27(ptr) AccessChain 10(dti) 26
              90:      6(int) Load 89
              91:     27(ptr) AccessChain 10(dti) 26
              92:      6(int) Load 91
              94:     75(ptr) AccessChain 24(data) 25 92 72
              95:   15(ivec4) Load 94
              96:   93(ivec2) VectorShuffle 95 95 0 1
              97:   93(ivec2) GroupNonUniformQuadBroadcast 35 96 26
              98:     75(ptr) AccessChain 24(data) 25 90 72
              99:   15(ivec4) Load 98
             100:   15(ivec4) VectorShuffle 99 97 4 5 2 3
                              Store 98 100
             101:     27(ptr) AccessChain 10(dti) 26
             102:      6(int) Load 101
             103:     27(ptr) AccessChain 10(dti) 26
             104:      6(int) Load 103
             106:     75(ptr) AccessChain 24(data) 25 104 72
             107:   15(ivec4) Load 106
             108:  105(ivec3) VectorShuffle 107 107 0 1 2
             109:  105(ivec3) GroupNonUniformQuadBroadcast 35 108 26
             110:     75(ptr) AccessChain 24(data) 25 102 72
             111:   15(ivec4) Load 110
             112:   15(ivec4) VectorShuffle 111 109 4 5 6 3
                              Store 110 112
             113:     27(ptr) AccessChain 10(dti) 26
             114:      6(int) Load 113
             116:     27(ptr) AccessChain 10(dti) 26
             117:      6(int) Load 116
             119:    118(ptr) AccessChain 24(data) 25 117 115
             120:   17(fvec4) Load 119
             121:   17(fvec4) GroupNonUniformQuadBroadcast 35 120 26
             122:    118(ptr) AccessChain 24(data) 25 114 115
                              Store 122 121
             123:     27(ptr) AccessChain 10(dti) 26
             124:      6(int) Load 123
             125:     27(ptr) AccessChain 10(dti) 26
             126:      6(int) Load 125
             128:    127(ptr) AccessChain 24(data) 25 126 115 26
             129:   16(float) Load 128
             130:   16(float) GroupNonUniformQuadBroadcast 35 129 26
             131:    127(ptr) AccessChain 24(data) 25 124 115 26
                              Store 131 130
             132:     27(ptr) AccessChain 10(dti) 26
             133:      6(int) Load 132
             134:     27(ptr) AccessChain 10(dti) 26
             135:      6(int) Load 134
             137:    118(ptr) AccessChain 24(data) 25 135 115
             138:   17(fvec4) Load 137
             139:  136(fvec2) VectorShuffle 138 138 0 1
             140:  136(fvec2) GroupNonUniformQuadBroadcast 35 139 26
             141:    118(ptr) AccessChain 24(data) 25 133 115
             142:   17(fvec4) Load 141
             143:   17(fvec4) VectorShuffle 142 140 4 5 2 3
                              Store 141 143
             144:     27(ptr) AccessChain 10(dti) 26
             145:      6(int) Load 144
             146:     27(ptr) AccessChain 10(dti) 26
             147:      6(int) Load 146
             149:    118(ptr) AccessChain 24(data) 25 147 115
             150:   17(fvec4) Load 149
             151:  148(fvec3) VectorShuffle 150 150 0 1 2
             152:  148(fvec3) GroupNonUniformQuadBroadcast 35 151 26
             153:    118(ptr) AccessChain 24(data) 25 145 115
             154:   17(fvec4) Load 153
             155:   17(fvec4) VectorShuffle 154 152 4 5 6 3
                              Store 153 155
             156:     27(ptr) AccessChain 10(dti) 26
             157:      6(int) Load 156
             159:     27(ptr) AccessChain 10(dti) 26
             160:      6(int) Load 159
             162:    161(ptr) AccessChain 24(data) 25 160 158
             163: 19(f64vec4) Load 162
             164: 19(f64vec4) GroupNonUniformQuadBroadcast 35 163 26
             165:    161(ptr) AccessChain 24(data) 25 157 158
                              Store 165 164
             166:     27(ptr) AccessChain 10(dti) 26
             167:      6(int) Load 166
             168:     27(ptr) AccessChain 10(dti) 26
             169:      6(int) Load 168
             171:    170(ptr) AccessChain 24(data) 25 169 158 26
             172:18(float64_t) Load 171
             173:18(float64_t) GroupNonUniformQuadBroadcast 35 172 26
             174:    170(ptr) AccessChain 24(data) 25 167 158 26
                              Store 174 173
             175:     27(ptr) AccessChain 10(dti) 26
             176:      6(int) Load 175
             177:     27(ptr) AccessChain 10(dti) 26
             178:      6(int) Load 177
             180:    161(ptr) AccessChain 24(data) 25 178 158
             181: 19(f64vec4) Load 180
             182:179(f64vec2) VectorShuffle 181 181 0 1
             183:179(f64vec2) GroupNonUniformQuadBroadcast 35 182 26
             184:    161(ptr) AccessChain 24(data) 25 176 158
             185: 19(f64vec4) Load 184
             186: 19(f64vec4) VectorShuffle 185 183 4 5 2 3
                              Store 184 186
             187:     27(ptr) AccessChain 10(dti) 26
             188:      6(int) Load 187
             189:     27(ptr) AccessChain 10(dti) 26
             190:      6(int) Load 189
             192:    161(ptr) AccessChain 24(data) 25 190 158
             193: 19(f64vec4) Load 192
             194:191(f64vec3) VectorShuffle 193 193 0 1 2
             195:191(f64vec3) GroupNonUniformQuadBroadcast 35 194 26
             196:    161(ptr) AccessChain 24(data) 25 188 158
             197: 19(f64vec4) Load 196
             198: 19(f64vec4) VectorShuffle 197 195 4 5 6 3
                              Store 196 198
             199:     27(ptr) AccessChain 10(dti) 26
             200:      6(int) Load 199
             201:     27(ptr) AccessChain 10(dti) 26
             202:      6(int) Load 201
             203:     32(ptr) AccessChain 24(data) 25 202 25
             204:   13(ivec4) Load 203
             206:   13(ivec4) GroupNonUniformQuadBroadcast 35 204 205
             207:     32(ptr) AccessChain 24(data) 25 200 25
                              Store 207 206
             208:     27(ptr) AccessChain 10(dti) 26
             209:      6(int) Load 208
             210:     27(ptr) AccessChain 10(dti) 26
             211:      6(int) Load 210
             212:     42(ptr) AccessChain 24(data) 25 211 25 26
             213:      6(int) Load 212
             214:      6(int) GroupNonUniformQuadBroadcast 35 213 205
             215:     42(ptr) AccessChain 24(data) 25 209 25 26
                              Store 215 214
             216:     27(ptr) AccessChain 10(dti) 26
             217:      6(int) Load 216
             218:     27(ptr) AccessChain 10(dti) 26
             219:      6(int) Load 218
             220:     32(ptr) AccessChain 24(data) 25 219 25
             221:   13(ivec4) Load 220
             222:   51(ivec2) VectorShuffle 221 221 0 1
             223:   51(ivec2) GroupNonUniformQuadBroadcast 35 222 205
             224:     32(ptr) AccessChain 24(data) 25 217 25
             225:   13(ivec4) Load 224
             226:   13(ivec4) VectorShuffle 225 223 4 5 2 3
                              Store 224 226
             227:     27(ptr) AccessChain 10(dti) 26
             228:      6(int) Load 227
             229:     27(ptr) AccessChain 10(dti) 26
             230:      6(int) Load 229
             231:     32(ptr) AccessChain 24(data) 25 230 25
             232:   13(ivec4) Load 231
             233:    7(ivec3) VectorShuffle 232 232 0 1 2
             234:    7(ivec3) GroupNonUniformQuadBroadcast 35 233 205
             235:     32(ptr) AccessChain 24(data) 25 228 25
             236:   13(ivec4) Load 235
             237:   13(ivec4) VectorShuffle 236 234 4 5 6 3
                              Store 235 237
             238:     27(ptr) AccessChain 10(dti) 26
             239:      6(int) Load 238
             240:     27(ptr) AccessChain 10(dti) 26
             241:      6(int) Load 240
             242:     75(ptr) AccessChain 24(data) 25 241 72
             243:   15(ivec4) Load 242
             244:   15(ivec4) GroupNonUniformQuadBroadcast 35 243 205
             245:     75(ptr) AccessChain 24(data) 25 239 72
                              Store 245 244
             246:     27(ptr) AccessChain 10(dti) 26
             247:      6(int) Load 246
             248:     27(ptr) AccessChain 10(dti) 26
             249:      6(int) Load 248
             250:     84(ptr) AccessChain 24(data) 25 249 72 26
             251:     14(int) Load 250
             252:     14(int) GroupNonUniformQuadBroadcast 35 251 205
             253:     84(ptr) AccessChain 24(data) 25 247 72 26
                              Store 253 252
             254:     27(ptr) AccessChain 10(dti) 26
             255:      6(int) Load 254
             256:     27(ptr) AccessChain 10(dti) 26
             257:      6(int) Load 256
             258:     75(ptr) AccessChain 24(data) 25 257 72
             259:   15(ivec4) Load 258
             260:   93(ivec2) VectorShuffle 259 259 0 1
             261:   93(ivec2) GroupNonUniformQuadBroadcast 35 260 205
             262:     75(ptr) AccessChain 24(data) 25 255 72
             263:   15(ivec4) Load 262
             264:   15(ivec4) VectorShuffle 263 261 4 5 2 3
                              Store 262 264
             265:     27(ptr) AccessChain 10(dti) 26
             266:      6(int) Load 265
             267:     27(ptr) AccessChain 10(dti) 26
             268:      6(int) Load 267
             269:     75(ptr) AccessChain 24(data) 25 268 72
             270:   15(ivec4) Load 269
             271:  105(ivec3) VectorShuffle 270 270 0 1 2
             272:  105(ivec3) GroupNonUniformQuadBroadcast 35 271 205
             273:     75(ptr) AccessChain 24(data) 25 266 72
             274:   15(ivec4) Load 273
             275:   15(ivec4) VectorShuffle 274 272 4 5 6 3
                              Store 273 275
             276:     27(ptr) AccessChain 10(dti) 26
             277:      6(int) Load 276
             278:     27(ptr) AccessChain 10(dti) 26
             279:      6(int) Load 278
             280:    118(ptr) AccessChain 24(data) 25 279 115
             281:   17(fvec4) Load 280
             282:   17(fvec4) GroupNonUniformQuadBroadcast 35 281 205
             283:    118(ptr) AccessChain 24(data) 25 277 115
                              Store 283 282
             284:     27(ptr) AccessChain 10(dti) 26
             285:      6(int) Load 284
             286:     27(ptr) AccessChain 10(dti) 26
             287:      6(int) Load 286
             288:    127(ptr) AccessChain 24(data) 25 287 115 26
             289:   16(float) Load 288
             290:   16(float) GroupNonUniformQuadBroadcast 35 289 205
             291:    127(ptr) AccessChain 24(data) 25 285 115 26
                              Store 291 290
             292:     27(ptr) AccessChain 10(dti) 26
             293:      6(int) Load 292
             294:     27(ptr) AccessChain 10(dti) 26
             295:      6(int) Load 294
             296:    118(ptr) AccessChain 24(data) 25 295 115
             297:   17(fvec4) Load 296
             298:  136(fvec2) VectorShuffle 297 297 0 1
             299:  136(fvec2) GroupNonUniformQuadBroadcast 35 298 205
             300:    118(ptr) AccessChain 24(data) 25 293 115
             301:   17(fvec4) Load 300
             302:   17(fvec4) VectorShuffle 301 299 4 5 2 3
                              Store 300 302
             303:     27(ptr) AccessChain 10(dti) 26
             304:      6(int) Load 303
             305:     27(ptr) AccessChain 10(dti) 26
             306:      6(int) Load 305
             307:    118(ptr) AccessChain 24(data) 25 306 115
             308:   17(fvec4) Load 307
             309:  148(fvec3) VectorShuffle 308 308 0 1 2
             310:  148(fvec3) GroupNonUniformQuadBroadcast 35 309 205
             311:    118(ptr) AccessChain 24(data) 25 304 115
             312:   17(fvec4) Load 311
             313:   17(fvec4) VectorShuffle 312 310 4 5 6 3
                              Store 311 313
             314:     27(ptr) AccessChain 10(dti) 26
             315:      6(int) Load 314
             316:     27(ptr) AccessChain 10(dti) 26
             317:      6(int) Load 316
             318:    161(ptr) AccessChain 24(data) 25 317 158
             319: 19(f64vec4) Load 318
             320: 19(f64vec4) GroupNonUniformQuadBroadcast 35 319 205
             321:    161(ptr) AccessChain 24(data) 25 315 158
                              Store 321 320
             322:     27(ptr) AccessChain 10(dti) 26
             323:      6(int) Load 322
             324:     27(ptr) AccessChain 10(dti) 26
             325:      6(int) Load 324
             326:    170(ptr) AccessChain 24(data) 25 325 158 26
             327:18(float64_t) Load 326
             328:18(float64_t) GroupNonUniformQuadBroadcast 35 327 205
             329:    170(ptr) AccessChain 24(data) 25 323 158 26
                              Store 329 328
             330:     27(ptr) AccessChain 10(dti) 26
             331:      6(int) Load 330
             332:     27(ptr) AccessChain 10(dti) 26
             333:      6(int) Load 332
             334:    161(ptr) AccessChain 24(data) 25 333 158
             335: 19(f64vec4) Load 334
             336:179(f64vec2) VectorShuffle 335 335 0 1
             337:179(f64vec2) GroupNonUniformQuadBroadcast 35 336 205
             338:    161(ptr) AccessChain 24(data) 25 331 158
             339: 19(f64vec4) Load 338
             340: 19(f64vec4) VectorShuffle 339 337 4 5 2 3
                              Store 338 340
             341:     27(ptr) AccessChain 10(dti) 26
             342:      6(int) Load 341
             343:     27(ptr) AccessChain 10(dti) 26
             344:      6(int) Load 343
             345:    161(ptr) AccessChain 24(data) 25 344 158
             346: 19(f64vec4) Load 345
             347:191(f64vec3) VectorShuffle 346 346 0 1 2
             348:191(f64vec3) GroupNonUniformQuadBroadcast 35 347 205
             349:    161(ptr) AccessChain 24(data) 25 342 158
             350: 19(f64vec4) Load 349
             351: 19(f64vec4) VectorShuffle 350 348 4 5 6 3
                              Store 349 351
             352:     27(ptr) AccessChain 10(dti) 26
             353:      6(int) Load 352
             354:     27(ptr) AccessChain 10(dti) 26
             355:      6(int) Load 354
             356:     32(ptr) AccessChain 24(data) 25 355 25
             357:   13(ivec4) Load 356
             359:   13(ivec4) GroupNonUniformQuadBroadcast 35 357 358
             360:     32(ptr) AccessChain 24(data) 25 353 25
                              Store 360 359
             361:     27(ptr) AccessChain 10(dti) 26
             362:      6(int) Load 361
             363:     27(ptr) AccessChain 10(dti) 26
             364:      6(int) Load 363
             365:     42(ptr) AccessChain 24(data) 25 364 25 26
             366:      6(int) Load 365
             367:      6(int) GroupNonUniformQuadBroadcast 35 366 358
             368:     42(ptr) AccessChain 24(data) 25 362 25 26
                              Store 368 367
             369:     27(ptr) AccessChain 10(dti) 26
             370:      6(int) Load 369
             371:     27(ptr) AccessChain 10(dti) 26
             372:      6(int) Load 371
             373:     32(ptr) AccessChain 24(data) 25 372 25
             374:   13(ivec4) Load 373
             375:   51(ivec2) VectorShuffle 374 374 0 1
             376:   51(ivec2) GroupNonUniformQuadBroadcast 35 375 358
             377:     32(ptr) AccessChain 24(data) 25 370 25
             378:   13(ivec4) Load 377
             379:   13(ivec4) VectorShuffle 378 376 4 5 2 3
                              Store 377 379
             380:     27(ptr) AccessChain 10(dti) 26
             381:      6(int) Load 380
             382:     27(ptr) AccessChain 10(dti) 26
             383:      6(int) Load 382
             384:     32(ptr) AccessChain 24(data) 25 383 25
             385:   13(ivec4) Load 384
             386:    7(ivec3) VectorShuffle 385 385 0 1 2
             387:    7(ivec3) GroupNonUniformQuadBroadcast 35 386 358
             388:     32(ptr) AccessChain 24(data) 25 381 25
             389:   13(ivec4) Load 388
             390:   13(ivec4) VectorShuffle 389 387 4 5 6 3
                              Store 388 390
             391:     27(ptr) AccessChain 10(dti) 26
             392:      6(int) Load 391
             393:     27(ptr) AccessChain 10(dti) 26
             394:      6(int) Load 393
             395:     75(ptr) AccessChain 24(data) 25 394 72
             396:   15(ivec4) Load 395
             397:   15(ivec4) GroupNonUniformQuadBroadcast 35 396 358
             398:     75(ptr) AccessChain 24(data) 25 392 72
                              Store 398 397
             399:     27(ptr) AccessChain 10(dti) 26
             400:      6(int) Load 399
             401:     27(ptr) AccessChain 10(dti) 26
             402:      6(int) Load 401
             403:     84(ptr) AccessChain 24(data) 25 402 72 26
             404:     14(int) Load 403
             405:     14(int) GroupNonUniformQuadBroadcast 35 404 358
             406:     84(ptr) AccessChain 24(data) 25 400 72 26
                              Store 406 405
             407:     27(ptr) AccessChain 10(dti) 26
             408:      6(int) Load 407
             409:     27(ptr) AccessChain 10(dti) 26
             410:      6(int) Load 409
             411:     75(ptr) AccessChain 24(data) 25 410 72
             412:   15(ivec4) Load 411
             413:   93(ivec2) VectorShuffle 412 412 0 1
             414:   93(ivec2) GroupNonUniformQuadBroadcast 35 413 358
             415:     75(ptr) AccessChain 24(data) 25 408 72
             416:   15(ivec4) Load 415
             417:   15(ivec4) VectorShuffle 416 414 4 5 2 3
                              Store 415 417
             418:     27(ptr) AccessChain 10(dti) 26
             419:      6(int) Load 418
             420:     27(ptr) AccessChain 10(dti) 26
             421:      6(int) Load 420
             422:     75(ptr) AccessChain 24(data) 25 421 72
             423:   15(ivec4) Load 422
             424:  105(ivec3) VectorShuffle 423 423 0 1 2
             425:  105(ivec3) GroupNonUniformQuadBroadcast 35 424 358
             426:     75(ptr) AccessChain 24(data) 25 419 72
             427:   15(ivec4) Load 426
             428:   15(ivec4) VectorShuffle 427 425 4 5 6 3
                              Store 426 428
             429:     27(ptr) AccessChain 10(dti) 26
             430:      6(int) Load 429
             431:     27(ptr) AccessChain 10(dti) 26
             432:      6(int) Load 431
             433:    118(ptr) AccessChain 24(data) 25 432 115
             434:   17(fvec4) Load 433
             435:   17(fvec4) GroupNonUniformQuadBroadcast 35 434 358
             436:    118(ptr) AccessChain 24(data) 25 430 115
                              Store 436 435
             437:     27(ptr) AccessChain 10(dti) 26
             438:      6(int) Load 437
             439:     27(ptr) AccessChain 10(dti) 26
             440:      6(int) Load 439
             441:    127(ptr) AccessChain 24(data) 25 440 115 26
             442:   16(float) Load 441
             443:   16(float) GroupNonUniformQuadBroadcast 35 442 358
             444:    127(ptr) AccessChain 24(data) 25 438 115 26
                              Store 444 443
             445:     27(ptr) AccessChain 10(dti) 26
             446:      6(int) Load 445
             447:     27(ptr) AccessChain 10(dti) 26
             448:      6(int) Load 447
             449:    118(ptr) AccessChain 24(data) 25 448 115
             450:   17(fvec4) Load 449
             451:  136(fvec2) VectorShuffle 450 450 0 1
             452:  136(fvec2) GroupNonUniformQuadBroadcast 35 451 358
             453:    118(ptr) AccessChain 24(data) 25 446 115
             454:   17(fvec4) Load 453
             455:   17(fvec4) VectorShuffle 454 452 4 5 2 3
                              Store 453 455
             456:     27(ptr) AccessChain 10(dti) 26
             457:      6(int) Load 456
             458:     27(ptr) AccessChain 10(dti) 26
             459:      6(int) Load 458
             460:    118(ptr) AccessChain 24(data) 25 459 115
             461:   17(fvec4) Load 460
             462:  148(fvec3) VectorShuffle 461 461 0 1 2
             463:  148(fvec3) GroupNonUniformQuadBroadcast 35 462 358
             464:    118(ptr) AccessChain 24(data) 25 457 115
             465:   17(fvec4) Load 464
             466:   17(fvec4) VectorShuffle 465 463 4 5 6 3
                              Store 464 466
             467:     27(ptr) AccessChain 10(dti) 26
             468:      6(int) Load 467
             469:     27(ptr) AccessChain 10(dti) 26
             470:      6(int) Load 469
             471:    161(ptr) AccessChain 24(data) 25 470 158
             472: 19(f64vec4) Load 471
             473: 19(f64vec4) GroupNonUniformQuadBroadcast 35 472 358
             474:    161(ptr) AccessChain 24(data) 25 468 158
                              Store 474 473
             475:     27(ptr) AccessChain 10(dti) 26
             476:      6(int) Load 475
             477:     27(ptr) AccessChain 10(dti) 26
             478:      6(int) Load 477
             479:    170(ptr) AccessChain 24(data) 25 478 158 26
             480:18(float64_t) Load 479
             481:18(float64_t) GroupNonUniformQuadBroadcast 35 480 358
             482:    170(ptr) AccessChain 24(data) 25 476 158 26
                              Store 482 481
             483:     27(ptr) AccessChain 10(dti) 26
             484:      6(int) Load 483
             485:     27(ptr) AccessChain 10(dti) 26
             486:      6(int) Load 485
             487:    161(ptr) AccessChain 24(data) 25 486 158
             488: 19(f64vec4) Load 487
             489:179(f64vec2) VectorShuffle 488 488 0 1
             490:179(f64vec2) GroupNonUniformQuadBroadcast 35 489 358
             491:    161(ptr) AccessChain 24(data) 25 484 158
             492: 19(f64vec4) Load 491
             493: 19(f64vec4) VectorShuffle 492 490 4 5 2 3
                              Store 491 493
             494:     27(ptr) AccessChain 10(dti) 26
             495:      6(int) Load 494
             496:     27(ptr) AccessChain 10(dti) 26
             497:      6(int) Load 496
             498:    161(ptr) AccessChain 24(data) 25 497 158
             499: 19(f64vec4) Load 498
             500:191(f64vec3) VectorShuffle 499 499 0 1 2
             501:191(f64vec3) GroupNonUniformQuadBroadcast 35 500 358
             502:    161(ptr) AccessChain 24(data) 25 495 158
             503: 19(f64vec4) Load 502
             504: 19(f64vec4) VectorShuffle 503 501 4 5 6 3
                              Store 502 504
             505:     27(ptr) AccessChain 10(dti) 26
             506:      6(int) Load 505
             507:     27(ptr) AccessChain 10(dti) 26
             508:      6(int) Load 507
             509:     32(ptr) AccessChain 24(data) 25 508 25
             510:   13(ivec4) Load 509
             511:   13(ivec4) GroupNonUniformQuadBroadcast 35 510 35
             512:     32(ptr) AccessChain 24(data) 25 506 25
                              Store 512 511
             513:     27(ptr) AccessChain 10(dti) 26
             514:      6(int) Load 513
             515:     27(ptr) AccessChain 10(dti) 26
             516:      6(int) Load 515
             517:     42(ptr) AccessChain 24(data) 25 516 25 26
             518:      6(int) Load 517
             519:      6(int) GroupNonUniformQuadBroadcast 35 518 35
             520:     42(ptr) AccessChain 24(data) 25 514 25 26
                              Store 520 519
             521:     27(ptr) AccessChain 10(dti) 26
             522:      6(int) Load 521
             523:     27(ptr) AccessChain 10(dti) 26
             524:      6(int) Load 523
             525:     32(ptr) AccessChain 24(data) 25 524 25
             526:   13(ivec4) Load 525
             527:   51(ivec2) VectorShuffle 526 526 0 1
             528:   51(ivec2) GroupNonUniformQuadBroadcast 35 527 35
             529:     32(ptr) AccessChain 24(data) 25 522 25
             530:   13(ivec4) Load 529
             531:   13(ivec4) VectorShuffle 530 528 4 5 2 3
                              Store 529 531
             532:     27(ptr) AccessChain 10(dti) 26
             533:      6(int) Load 532
             534:     27(ptr) AccessChain 10(dti) 26
             535:      6(int) Load 534
             536:     32(ptr) AccessChain 24(data) 25 535 25
             537:   13(ivec4) Load 536
             538:    7(ivec3) VectorShuffle 537 537 0 1 2
             539:    7(ivec3) GroupNonUniformQuadBroadcast 35 538 35
             540:     32(ptr) AccessChain 24(data) 25 533 25
             541:   13(ivec4) Load 540
             542:   13(ivec4) VectorShuffle 541 539 4 5 6 3
                              Store 540 542
             543:     27(ptr) AccessChain 10(dti) 26
             544:      6(int) Load 543
             545:     27(ptr) AccessChain 10(dti) 26
             546:      6(int) Load 545
             547:     75(ptr) AccessChain 24(data) 25 546 72
             548:   15(ivec4) Load 547
             549:   15(ivec4) GroupNonUniformQuadBroadcast 35 548 35
             550:     75(ptr) AccessChain 24(data) 25 544 72
                              Store 550 549
             551:     27(ptr) AccessChain 10(dti) 26
             552:      6(int) Load 551
             553:     27(ptr) AccessChain 10(dti) 26
             554:      6(int) Load 553
             555:     84(ptr) AccessChain 24(data) 25 554 72 26
             556:     14(int) Load 555
             557:     14(int) GroupNonUniformQuadBroadcast 35 556 35
             558:     84(ptr) AccessChain 24(data) 25 552 72 26
                              Store 558 557
             559:     27(ptr) AccessChain 10(dti) 26
             560:      6(int) Load 559
             561:     27(ptr) AccessChain 10(dti) 26
             562:      6(int) Load 561
             563:     75(ptr) AccessChain 24(data) 25 562 72
             564:   15(ivec4) Load 563
             565:   93(ivec2) VectorShuffle 564 564 0 1
             566:   93(ivec2) GroupNonUniformQuadBroadcast 35 565 35
             567:     75(ptr) AccessChain 24(data) 25 560 72
             568:   15(ivec4) Load 567
             569:   15(ivec4) VectorShuffle 568 566 4 5 2 3
                              Store 567 569
             570:     27(ptr) AccessChain 10(dti) 26
             571:      6(int) Load 570
             572:     27(ptr) AccessChain 10(dti) 26
             573:      6(int) Load 572
             574:     75(ptr) AccessChain 24(data) 25 573 72
             575:   15(ivec4) Load 574
             576:  105(ivec3) VectorShuffle 575 575 0 1 2
             577:  105(ivec3) GroupNonUniformQuadBroadcast 35 576 35
             578:     75(ptr) AccessChain 24(data) 25 571 72
             579:   15(ivec4) Load 578
             580:   15(ivec4) VectorShuffle 579 577 4 5 6 3
                              Store 578 580
             581:     27(ptr) AccessChain 10(dti) 26
             582:      6(int) Load 581
             583:     27(ptr) AccessChain 10(dti) 26
             584:      6(int) Load 583
             585:    118(ptr) AccessChain 24(data) 25 584 115
             586:   17(fvec4) Load 585
             587:   17(fvec4) GroupNonUniformQuadBroadcast 35 586 35
             588:    118(ptr) AccessChain 24(data) 25 582 115
                              Store 588 587
             589:     27(ptr) AccessChain 10(dti) 26
             590:      6(int) Load 589
             591:     27(ptr) AccessChain 10(dti) 26
             592:      6(int) Load 591
             593:    127(ptr) AccessChain 24(data) 25 592 115 26
             594:   16(float) Load 593
             595:   16(float) GroupNonUniformQuadBroadcast 35 594 35
             596:    127(ptr) AccessChain 24(data) 25 590 115 26
                              Store 596 595
             597:     27(ptr) AccessChain 10(dti) 26
             598:      6(int) Load 597
             599:     27(ptr) AccessChain 10(dti) 26
             600:      6(int) Load 599
             601:    118(ptr) AccessChain 24(data) 25 600 115
             602:   17(fvec4) Load 601
             603:  136(fvec2) VectorShuffle 602 602 0 1
             604:  136(fvec2) GroupNonUniformQuadBroadcast 35 603 35
             605:    118(ptr) AccessChain 24(data) 25 598 115
             606:   17(fvec4) Load 605
             607:   17(fvec4) VectorShuffle 606 604 4 5 2 3
                              Store 605 607
             608:     27(ptr) AccessChain 10(dti) 26
             609:      6(int) Load 608
             610:     27(ptr) AccessChain 10(dti) 26
             611:      6(int) Load 610
             612:    118(ptr) AccessChain 24(data) 25 611 115
             613:   17(fvec4) Load 612
             614:  148(fvec3) VectorShuffle 613 613 0 1 2
             615:  148(fvec3) GroupNonUniformQuadBroadcast 35 614 35
             616:    118(ptr) AccessChain 24(data) 25 609 115
             617:   17(fvec4) Load 616
             618:   17(fvec4) VectorShuffle 617 615 4 5 6 3
                              Store 616 618
             619:     27(ptr) AccessChain 10(dti) 26
             620:      6(int) Load 619
             621:     27(ptr) AccessChain 10(dti) 26
             622:      6(int) Load 621
             623:    161(ptr) AccessChain 24(data) 25 622 158
             624: 19(f64vec4) Load 623
             625: 19(f64vec4) GroupNonUniformQuadBroadcast 35 624 35
             626:    161(ptr) AccessChain 24(data) 25 620 158
                              Store 626 625
             627:     27(ptr) AccessChain 10(dti) 26
             628:      6(int) Load 627
             629:     27(ptr) AccessChain 10(dti) 26
             630:      6(int) Load 629
             631:    170(ptr) AccessChain 24(data) 25 630 158 26
             632:18(float64_t) Load 631
             633:18(float64_t) GroupNonUniformQuadBroadcast 35 632 35
             634:    170(ptr) AccessChain 24(data) 25 628 158 26
                              Store 634 633
             635:     27(ptr) AccessChain 10(dti) 26
             636:      6(int) Load 635
             637:     27(ptr) AccessChain 10(dti) 26
             638:      6(int) Load 637
             639:    161(ptr) AccessChain 24(data) 25 638 158
             640: 19(f64vec4) Load 639
             641:179(f64vec2) VectorShuffle 640 640 0 1
             642:179(f64vec2) GroupNonUniformQuadBroadcast 35 641 35
             643:    161(ptr) AccessChain 24(data) 25 636 158
             644: 19(f64vec4) Load 643
             645: 19(f64vec4) VectorShuffle 644 642 4 5 2 3
                              Store 643 645
             646:     27(ptr) AccessChain 10(dti) 26
             647:      6(int) Load 646
             648:     27(ptr) AccessChain 10(dti) 26
             649:      6(int) Load 648
             650:    161(ptr) AccessChain 24(data) 25 649 158
             651: 19(f64vec4) Load 650
             652:191(f64vec3) VectorShuffle 651 651 0 1 2
             653:191(f64vec3) GroupNonUniformQuadBroadcast 35 652 35
             654:    161(ptr) AccessChain 24(data) 25 647 158
             655: 19(f64vec4) Load 654
             656: 19(f64vec4) VectorShuffle 655 653 4 5 6 3
                              Store 654 656
             657:     27(ptr) AccessChain 10(dti) 26
             658:      6(int) Load 657
             659:     27(ptr) AccessChain 10(dti) 26
             660:      6(int) Load 659
             661:     32(ptr) AccessChain 24(data) 25 660 25
             662:   13(ivec4) Load 661
             663:   13(ivec4) GroupNonUniformQuadSwap 35 662 26
             664:     32(ptr) AccessChain 24(data) 25 658 25
                              Store 664 663
             665:     27(ptr) AccessChain 10(dti) 26
             666:      6(int) Load 665
             667:     27(ptr) AccessChain 10(dti) 26
             668:      6(int) Load 667
             669:     42(ptr) AccessChain 24(data) 25 668 25 26
             670:      6(int) Load 669
             671:      6(int) GroupNonUniformQuadSwap 35 670 26
             672:     42(ptr) AccessChain 24(data) 25 666 25 26
                              Store 672 671
             673:     27(ptr) AccessChain 10(dti) 26
             674:      6(int) Load 673
             675:     27(ptr) AccessChain 10(dti) 26
             676:      6(int) Load 675
             677:     32(ptr) AccessChain 24(data) 25 676 25
             678:   13(ivec4) Load 677
             679:   51(ivec2) VectorShuffle 678 678 0 1
             680:   51(ivec2) GroupNonUniformQuadSwap 35 679 26
             681:     32(ptr) AccessChain 24(data) 25 674 25
             682:   13(ivec4) Load 681
             683:   13(ivec4) VectorShuffle 682 680 4 5 2 3
                              Store 681 683
             684:     27(ptr) AccessChain 10(dti) 26
             685:      6(int) Load 684
             686:     27(ptr) AccessChain 10(dti) 26
             687:      6(int) Load 686
             688:     32(ptr) AccessChain 24(data) 25 687 25
             689:   13(ivec4) Load 688
             690:    7(ivec3) VectorShuffle 689 689 0 1 2
             691:    7(ivec3) GroupNonUniformQuadSwap 35 690 26
             692:     32(ptr) AccessChain 24(data) 25 685 25
             693:   13(ivec4) Load 692
             694:   13(ivec4) VectorShuffle 693 691 4 5 6 3
                              Store 692 694
             695:     27(ptr) AccessChain 10(dti) 26
             696:      6(int) Load 695
             697:     27(ptr) AccessChain 10(dti) 26
             698:      6(int) Load 697
             699:     75(ptr) AccessChain 24(data) 25 698 72
             700:   15(ivec4) Load 699
             701:   15(ivec4) GroupNonUniformQuadSwap 35 700 26
             702:     75(ptr) AccessChain 24(data) 25 696 72
                              Store 702 701
             703:     27(ptr) AccessChain 10(dti) 26
             704:      6(int) Load 703
             705:     27(ptr) AccessChain 10(dti) 26
             706:      6(int) Load 705
             707:     84(ptr) AccessChain 24(data) 25 706 72 26
             708:     14(int) Load 707
             709:     14(int) GroupNonUniformQuadSwap 35 708 26
             710:     84(ptr) AccessChain 24(data) 25 704 72 26
                              Store 710 709
             711:     27(ptr) AccessChain 10(dti) 26
             712:      6(int) Load 711
             713:     27(ptr) AccessChain 10(dti) 26
             714:      6(int) Load 713
             715:     75(ptr) AccessChain 24(data) 25 714 72
             716:   15(ivec4) Load 715
             717:   93(ivec2) VectorShuffle 716 716 0 1
             718:   93(ivec2) GroupNonUniformQuadSwap 35 717 26
             719:     75(ptr) AccessChain 24(data) 25 712 72
             720:   15(ivec4) Load 719
             721:   15(ivec4) VectorShuffle 720 718 4 5 2 3
                              Store 719 721
             722:     27(ptr) AccessChain 10(dti) 26
             723:      6(int) Load 722
             724:     27(ptr) AccessChain 10(dti) 26
             725:      6(int) Load 724
             726:     75(ptr) AccessChain 24(data) 25 725 72
             727:   15(ivec4) Load 726
             728:  105(ivec3) VectorShuffle 727 727 0 1 2
             729:  105(ivec3) GroupNonUniformQuadSwap 35 728 26
             730:     75(ptr) AccessChain 24(data) 25 723 72
             731:   15(ivec4) Load 730
             732:   15(ivec4) VectorShuffle 731 729 4 5 6 3
                              Store 730 732
             733:     27(ptr) AccessChain 10(dti) 26
             734:      6(int) Load 733
             735:     27(ptr) AccessChain 10(dti) 26
             736:      6(int) Load 735
             737:    118(ptr) AccessChain 24(data) 25 736 115
             738:   17(fvec4) Load 737
             739:   17(fvec4) GroupNonUniformQuadSwap 35 738 26
             740:    118(ptr) AccessChain 24(data) 25 734 115
                              Store 740 739
             741:     27(ptr) AccessChain 10(dti) 26
             742:      6(int) Load 741
             743:     27(ptr) AccessChain 10(dti) 26
             744:      6(int) Load 743
             745:    127(ptr) AccessChain 24(data) 25 744 115 26
             746:   16(float) Load 745
             747:   16(float) GroupNonUniformQuadSwap 35 746 26
             748:    127(ptr) AccessChain 24(data) 25 742 115 26
                              Store 748 747
             749:     27(ptr) AccessChain 10(dti) 26
             750:      6(int) Load 749
             751:     27(ptr) AccessChain 10(dti) 26
             752:      6(int) Load 751
             753:    118(ptr) AccessChain 24(data) 25 752 115
             754:   17(fvec4) Load 753
             755:  136(fvec2) VectorShuffle 754 754 0 1
             756:  136(fvec2) GroupNonUniformQuadSwap 35 755 26
             757:    118(ptr) AccessChain 24(data) 25 750 115
             758:   17(fvec4) Load 757
             759:   17(fvec4) VectorShuffle 758 756 4 5 2 3
                              Store 757 759
             760:     27(ptr) AccessChain 10(dti) 26
             761:      6(int) Load 760
             762:     27(ptr) AccessChain 10(dti) 26
             763:      6(int) Load 762
             764:    118(ptr) AccessChain 24(data) 25 763 115
             765:   17(fvec4) Load 764
             766:  148(fvec3) VectorShuffle 765 765 0 1 2
             767:  148(fvec3) GroupNonUniformQuadSwap 35 766 26
             768:    118(ptr) AccessChain 24(data) 25 761 115
             769:   17(fvec4) Load 768
             770:   17(fvec4) VectorShuffle 769 767 4 5 6 3
                              Store 768 770
             771:     27(ptr) AccessChain 10(dti) 26
             772:      6(int) Load 771
             773:     27(ptr) AccessChain 10(dti) 26
             774:      6(int) Load 773
             775:    161(ptr) AccessChain 24(data) 25 774 158
             776: 19(f64vec4) Load 775
             777: 19(f64vec4) GroupNonUniformQuadSwap 35 776 26
             778:    161(ptr) AccessChain 24(data) 25 772 158
                              Store 778 777
             779:     27(ptr) AccessChain 10(dti) 26
             780:      6(int) Load 779
             781:     27(ptr) AccessChain 10(dti) 26
             782:      6(int) Load 781
             783:    170(ptr) AccessChain 24(data) 25 782 158 26
             784:18(float64_t) Load 783
             785:18(float64_t) GroupNonUniformQuadSwap 35 784 26
             786:    170(ptr) AccessChain 24(data) 25 780 158 26
                              Store 786 785
             787:     27(ptr) AccessChain 10(dti) 26
             788:      6(int) Load 787
             789:     27(ptr) AccessChain 10(dti) 26
             790:      6(int) Load 789
             791:    161(ptr) AccessChain 24(data) 25 790 158
             792: 19(f64vec4) Load 791
             793:179(f64vec2) VectorShuffle 792 792 0 1
             794:179(f64vec2) GroupNonUniformQuadSwap 35 793 26
             795:    161(ptr) AccessChain 24(data) 25 788 158
             796: 19(f64vec4) Load 795
             797: 19(f64vec4) VectorShuffle 796 794 4 5 2 3
                              Store 795 797
             798:     27(ptr) AccessChain 10(dti) 26
             799:      6(int) Load 798
             800:     27(ptr) AccessChain 10(dti) 26
             801:      6(int) Load 800
             802:    161(ptr) AccessChain 24(data) 25 801 158
             803: 19(f64vec4) Load 802
             804:191(f64vec3) VectorShuffle 803 803 0 1 2
             805:191(f64vec3) GroupNonUniformQuadSwap 35 804 26
             806:    161(ptr) AccessChain 24(data) 25 799 158
             807: 19(f64vec4) Load 806
             808: 19(f64vec4) VectorShuffle 807 805 4 5 6 3
                              Store 806 808
             809:     27(ptr) AccessChain 10(dti) 26
             810:      6(int) Load 809
             811:     27(ptr) AccessChain 10(dti) 26
             812:      6(int) Load 811
             813:     32(ptr) AccessChain 24(data) 25 812 25
             814:   13(ivec4) Load 813
             815:   13(ivec4) GroupNonUniformQuadSwap 35 814 205
             816:     32(ptr) AccessChain 24(data) 25 810 25
                              Store 816 815
             817:     27(ptr) AccessChain 10(dti) 26
             818:      6(int) Load 817
             819:     27(ptr) AccessChain 10(dti) 26
             820:      6(int) Load 819
             821:     42(ptr) AccessChain 24(data) 25 820 25 26
             822:      6(int) Load 821
             823:      6(int) GroupNonUniformQuadSwap 35 822 205
             824:     42(ptr) AccessChain 24(data) 25 818 25 26
                              Store 824 823
             825:     27(ptr) AccessChain 10(dti) 26
             826:      6(int) Load 825
             827:     27(ptr) AccessChain 10(dti) 26
             828:      6(int) Load 827
             829:     32(ptr) AccessChain 24(data) 25 828 25
             830:   13(ivec4) Load 829
             831:   51(ivec2) VectorShuffle 830 830 0 1
             832:   51(ivec2) GroupNonUniformQuadSwap 35 831 205
             833:     32(ptr) AccessChain 24(data) 25 826 25
             834:   13(ivec4) Load 833
             835:   13(ivec4) VectorShuffle 834 832 4 5 2 3
                              Store 833 835
             836:     27(ptr) AccessChain 10(dti) 26
             837:      6(int) Load 836
             838:     27(ptr) AccessChain 10(dti) 26
             839:      6(int) Load 838
             840:     32(ptr) AccessChain 24(data) 25 839 25
             841:   13(ivec4) Load 840
             842:    7(ivec3) VectorShuffle 841 841 0 1 2
             843:    7(ivec3) GroupNonUniformQuadSwap 35 842 205
             844:     32(ptr) AccessChain 24(data) 25 837 25
             845:   13(ivec4) Load 844
             846:   13(ivec4) VectorShuffle 845 843 4 5 6 3
                              Store 844 846
             847:     27(ptr) AccessChain 10(dti) 26
             848:      6(int) Load 847
             849:     27(ptr) AccessChain 10(dti) 26
             850:      6(int) Load 849
             851:     75(ptr) AccessChain 24(data) 25 850 72
             852:   15(ivec4) Load 851
             853:   15(ivec4) GroupNonUniformQuadSwap 35 852 205
             854:     75(ptr) AccessChain 24(data) 25 848 72
                              Store 854 853
             855:     27(ptr) AccessChain 10(dti) 26
             856:      6(int) Load 855
             857:     27(ptr) AccessChain 10(dti) 26
             858:      6(int) Load 857
             859:     84(ptr) AccessChain 24(data) 25 858 72 26
             860:     14(int) Load 859
             861:     14(int) GroupNonUniformQuadSwap 35 860 205
             862:     84(ptr) AccessChain 24(data) 25 856 72 26
                              Store 862 861
             863:     27(ptr) AccessChain 10(dti) 26
             864:      6(int) Load 863
             865:     27(ptr) AccessChain 10(dti) 26
             866:      6(int) Load 865
             867:     75(ptr) AccessChain 24(data) 25 866 72
             868:   15(ivec4) Load 867
             869:   93(ivec2) VectorShuffle 868 868 0 1
             870:   93(ivec2) GroupNonUniformQuadSwap 35 869 205
             871:     75(ptr) AccessChain 24(data) 25 864 72
             872:   15(ivec4) Load 871
             873:   15(ivec4) VectorShuffle 872 870 4 5 2 3
                              Store 871 873
             874:     27(ptr) AccessChain 10(dti) 26
             875:      6(int) Load 874
             876:     27(ptr) AccessChain 10(dti) 26
             877:      6(int) Load 876
             878:     75(ptr) AccessChain 24(data) 25 877 72
             879:   15(ivec4) Load 878
             880:  105(ivec3) VectorShuffle 879 879 0 1 2
             881:  105(ivec3) GroupNonUniformQuadSwap 35 880 205
             882:     75(ptr) AccessChain 24(data) 25 875 72
             883:   15(ivec4) Load 882
             884:   15(ivec4) VectorShuffle 883 881 4 5 6 3
                              Store 882 884
             885:     27(ptr) AccessChain 10(dti) 26
             886:      6(int) Load 885
             887:     27(ptr) AccessChain 10(dti) 26
             888:      6(int) Load 887
             889:    118(ptr) AccessChain 24(data) 25 888 115
             890:   17(fvec4) Load 889
             891:   17(fvec4) GroupNonUniformQuadSwap 35 890 205
             892:    118(ptr) AccessChain 24(data) 25 886 115
                              Store 892 891
             893:     27(ptr) AccessChain 10(dti) 26
             894:      6(int) Load 893
             895:     27(ptr) AccessChain 10(dti) 26
             896:      6(int) Load 895
             897:    127(ptr) AccessChain 24(data) 25 896 115 26
             898:   16(float) Load 897
             899:   16(float) GroupNonUniformQuadSwap 35 898 205
             900:    127(ptr) AccessChain 24(data) 25 894 115 26
                              Store 900 899
             901:     27(ptr) AccessChain 10(dti) 26
             902:      6(int) Load 901
             903:     27(ptr) AccessChain 10(dti) 26
             904:      6(int) Load 903
             905:    118(ptr) AccessChain 24(data) 25 904 115
             906:   17(fvec4) Load 905
             907:  136(fvec2) VectorShuffle 906 906 0 1
             908:  136(fvec2) GroupNonUniformQuadSwap 35 907 205
             909:    118(ptr) AccessChain 24(data) 25 902 115
             910:   17(fvec4) Load 909
             911:   17(fvec4) VectorShuffle 910 908 4 5 2 3
                              Store 909 911
             912:     27(ptr) AccessChain 10(dti) 26
             913:      6(int) Load 912
             914:     27(ptr) AccessChain 10(dti) 26
             915:      6(int) Load 914
             916:    118(ptr) AccessChain 24(data) 25 915 115
             917:   17(fvec4) Load 916
             918:  148(fvec3) VectorShuffle 917 917 0 1 2
             919:  148(fvec3) GroupNonUniformQuadSwap 35 918 205
             920:    118(ptr) AccessChain 24(data) 25 913 115
             921:   17(fvec4) Load 920
             922:   17(fvec4) VectorShuffle 921 919 4 5 6 3
                              Store 920 922
             923:     27(ptr) AccessChain 10(dti) 26
             924:      6(int) Load 923
             925:     27(ptr) AccessChain 10(dti) 26
             926:      6(int) Load 925
             927:    161(ptr) AccessChain 24(data) 25 926 158
             928: 19(f64vec4) Load 927
             929: 19(f64vec4) GroupNonUniformQuadSwap 35 928 205
             930:    161(ptr) AccessChain 24(data) 25 924 158
                              Store 930 929
             931:     27(ptr) AccessChain 10(dti) 26
             932:      6(int) Load 931
             933:     27(ptr) AccessChain 10(dti) 26
             934:      6(int) Load 933
             935:    170(ptr) AccessChain 24(data) 25 934 158 26
             936:18(float64_t) Load 935
             937:18(float64_t) GroupNonUniformQuadSwap 35 936 205
             938:    170(ptr) AccessChain 24(data) 25 932 158 26
                              Store 938 937
             939:     27(ptr) AccessChain 10(dti) 26
             940:      6(int) Load 939
             941:     27(ptr) AccessChain 10(dti) 26
             942:      6(int) Load 941
             943:    161(ptr) AccessChain 24(data) 25 942 158
             944: 19(f64vec4) Load 943
             945:179(f64vec2) VectorShuffle 944 944 0 1
             946:179(f64vec2) GroupNonUniformQuadSwap 35 945 205
             947:    161(ptr) AccessChain 24(data) 25 940 158
             948: 19(f64vec4) Load 947
             949: 19(f64vec4) VectorShuffle 948 946 4 5 2 3
                              Store 947 949
             950:     27(ptr) AccessChain 10(dti) 26
             951:      6(int) Load 950
             952:     27(ptr) AccessChain 10(dti) 26
             953:      6(int) Load 952
             954:    161(ptr) AccessChain 24(data) 25 953 158
             955: 19(f64vec4) Load 954
             956:191(f64vec3) VectorShuffle 955 955 0 1 2
             957:191(f64vec3) GroupNonUniformQuadSwap 35 956 205
             958:    161(ptr) AccessChain 24(data) 25 951 158
             959: 19(f64vec4) Load 958
             960: 19(f64vec4) VectorShuffle 959 957 4 5 6 3
                              Store 958 960
             961:     27(ptr) AccessChain 10(dti) 26
             962:      6(int) Load 961
             963:     27(ptr) AccessChain 10(dti) 26
             964:      6(int) Load 963
             965:     32(ptr) AccessChain 24(data) 25 964 25
             966:   13(ivec4) Load 965
             967:   13(ivec4) GroupNonUniformQuadSwap 35 966 358
             968:     32(ptr) AccessChain 24(data) 25 962 25
                              Store 968 967
             969:     27(ptr) AccessChain 10(dti) 26
             970:      6(int) Load 969
             971:     27(ptr) AccessChain 10(dti) 26
             972:      6(int) Load 971
             973:     42(ptr) AccessChain 24(data) 25 972 25 26
             974:      6(int) Load 973
             975:      6(int) GroupNonUniformQuadSwap 35 974 358
             976:     42(ptr) AccessChain 24(data) 25 970 25 26
                              Store 976 975
             977:     27(ptr) AccessChain 10(dti) 26
             978:      6(int) Load 977
             979:     27(ptr) AccessChain 10(dti) 26
             980:      6(int) Load 979
             981:     32(ptr) AccessChain 24(data) 25 980 25
             982:   13(ivec4) Load 981
             983:   51(ivec2) VectorShuffle 982 982 0 1
             984:   51(ivec2) GroupNonUniformQuadSwap 35 983 358
             985:     32(ptr) AccessChain 24(data) 25 978 25
             986:   13(ivec4) Load 985
             987:   13(ivec4) VectorShuffle 986 984 4 5 2 3
                              Store 985 987
             988:     27(ptr) AccessChain 10(dti) 26
             989:      6(int) Load 988
             990:     27(ptr) AccessChain 10(dti) 26
             991:      6(int) Load 990
             992:     32(ptr) AccessChain 24(data) 25 991 25
             993:   13(ivec4) Load 992
             994:    7(ivec3) VectorShuffle 993 993 0 1 2
             995:    7(ivec3) GroupNonUniformQuadSwap 35 994 358
             996:     32(ptr) AccessChain 24(data) 25 989 25
             997:   13(ivec4) Load 996
             998:   13(ivec4) VectorShuffle 997 995 4 5 6 3
                              Store 996 998
             999:     27(ptr) AccessChain 10(dti) 26
            1000:      6(int) Load 999
            1001:     27(ptr) AccessChain 10(dti) 26
            1002:      6(int) Load 1001
            1003:     75(ptr) AccessChain 24(data) 25 1002 72
            1004:   15(ivec4) Load 1003
            1005:   15(ivec4) GroupNonUniformQuadSwap 35 1004 358
            1006:     75(ptr) AccessChain 24(data) 25 1000 72
                              Store 1006 1005
            1007:     27(ptr) AccessChain 10(dti) 26
            1008:      6(int) Load 1007
            1009:     27(ptr) AccessChain 10(dti) 26
            1010:      6(int) Load 1009
            1011:     84(ptr) AccessChain 24(data) 25 1010 72 26
            1012:     14(int) Load 1011
            1013:     14(int) GroupNonUniformQuadSwap 35 1012 358
            1014:     84(ptr) AccessChain 24(data) 25 1008 72 26
                              Store 1014 1013
            1015:     27(ptr) AccessChain 10(dti) 26
            1016:      6(int) Load 1015
            1017:     27(ptr) AccessChain 10(dti) 26
            1018:      6(int) Load 1017
            1019:     75(ptr) AccessChain 24(data) 25 1018 72
            1020:   15(ivec4) Load 1019
            1021:   93(ivec2) VectorShuffle 1020 1020 0 1
            1022:   93(ivec2) GroupNonUniformQuadSwap 35 1021 358
            1023:     75(ptr) AccessChain 24(data) 25 1016 72
            1024:   15(ivec4) Load 1023
            1025:   15(ivec4) VectorShuffle 1024 1022 4 5 2 3
                              Store 1023 1025
            1026:     27(ptr) AccessChain 10(dti) 26
            1027:      6(int) Load 1026
            1028:     27(ptr) AccessChain 10(dti) 26
            1029:      6(int) Load 1028
            1030:     75(ptr) AccessChain 24(data) 25 1029 72
            1031:   15(ivec4) Load 1030
            1032:  105(ivec3) VectorShuffle 1031 1031 0 1 2
            1033:  105(ivec3) GroupNonUniformQuadSwap 35 1032 358
            1034:     75(ptr) AccessChain 24(data) 25 1027 72
            1035:   15(ivec4) Load 1034
            1036:   15(ivec4) VectorShuffle 1035 1033 4 5 6 3
                              Store 1034 1036
            1037:     27(ptr) AccessChain 10(dti) 26
            1038:      6(int) Load 1037
            1039:     27(ptr) AccessChain 10(dti) 26
            1040:      6(int) Load 1039
            1041:    118(ptr) AccessChain 24(data) 25 1040 115
            1042:   17(fvec4) Load 1041
            1043:   17(fvec4) GroupNonUniformQuadSwap 35 1042 358
            1044:    118(ptr) AccessChain 24(data) 25 1038 115
                              Store 1044 1043
            1045:     27(ptr) AccessChain 10(dti) 26
            1046:      6(int) Load 1045
            1047:     27(ptr) AccessChain 10(dti) 26
            1048:      6(int) Load 1047
            1049:    127(ptr) AccessChain 24(data) 25 1048 115 26
            1050:   16(float) Load 1049
            1051:   16(float) GroupNonUniformQuadSwap 35 1050 358
            1052:    127(ptr) AccessChain 24(data) 25 1046 115 26
                              Store 1052 1051
            1053:     27(ptr) AccessChain 10(dti) 26
            1054:      6(int) Load 1053
            1055:     27(ptr) AccessChain 10(dti) 26
            1056:      6(int) Load 1055
            1057:    118(ptr) AccessChain 24(data) 25 1056 115
            1058:   17(fvec4) Load 1057
            1059:  136(fvec2) VectorShuffle 1058 1058 0 1
            1060:  136(fvec2) GroupNonUniformQuadSwap 35 1059 358
            1061:    118(ptr) AccessChain 24(data) 25 1054 115
            1062:   17(fvec4) Load 1061
            1063:   17(fvec4) VectorShuffle 1062 1060 4 5 2 3
                              Store 1061 1063
            1064:     27(ptr) AccessChain 10(dti) 26
            1065:      6(int) Load 1064
            1066:     27(ptr) AccessChain 10(dti) 26
            1067:      6(int) Load 1066
            1068:    118(ptr) AccessChain 24(data) 25 1067 115
            1069:   17(fvec4) Load 1068
            1070:  148(fvec3) VectorShuffle 1069 1069 0 1 2
            1071:  148(fvec3) GroupNonUniformQuadSwap 35 1070 358
            1072:    118(ptr) AccessChain 24(data) 25 1065 115
            1073:   17(fvec4) Load 1072
            1074:   17(fvec4) VectorShuffle 1073 1071 4 5 6 3
                              Store 1072 1074
            1075:     27(ptr) AccessChain 10(dti) 26
            1076:      6(int) Load 1075
            1077:     27(ptr) AccessChain 10(dti) 26
            1078:      6(int) Load 1077
            1079:    161(ptr) AccessChain 24(data) 25 1078 158
            1080: 19(f64vec4) Load 1079
            1081: 19(f64vec4) GroupNonUniformQuadSwap 35 1080 358
            1082:    161(ptr) AccessChain 24(data) 25 1076 158
                              Store 1082 1081
            1083:     27(ptr) AccessChain 10(dti) 26
            1084:      6(int) Load 1083
            1085:     27(ptr) AccessChain 10(dti) 26
            1086:      6(int) Load 1085
            1087:    170(ptr) AccessChain 24(data) 25 1086 158 26
            1088:18(float64_t) Load 1087
            1089:18(float64_t) GroupNonUniformQuadSwap 35 1088 358
            1090:    170(ptr) AccessChain 24(data) 25 1084 158 26
                              Store 1090 1089
            1091:     27(ptr) AccessChain 10(dti) 26
            1092:      6(int) Load 1091
            1093:     27(ptr) AccessChain 10(dti) 26
            1094:      6(int) Load 1093
            1095:    161(ptr) AccessChain 24(data) 25 1094 158
            1096: 19(f64vec4) Load 1095
            1097:179(f64vec2) VectorShuffle 1096 1096 0 1
            1098:179(f64vec2) GroupNonUniformQuadSwap 35 1097 358
            1099:    161(ptr) AccessChain 24(data) 25 1092 158
            1100: 19(f64vec4) Load 1099
            1101: 19(f64vec4) VectorShuffle 1100 1098 4 5 2 3
                              Store 1099 1101
            1102:     27(ptr) AccessChain 10(dti) 26
            1103:      6(int) Load 1102
            1104:     27(ptr) AccessChain 10(dti) 26
            1105:      6(int) Load 1104
            1106:    161(ptr) AccessChain 24(data) 25 1105 158
            1107: 19(f64vec4) Load 1106
            1108:191(f64vec3) VectorShuffle 1107 1107 0 1 2
            1109:191(f64vec3) GroupNonUniformQuadSwap 35 1108 358
            1110:    161(ptr) AccessChain 24(data) 25 1103 158
            1111: 19(f64vec4) Load 1110
            1112: 19(f64vec4) VectorShuffle 1111 1109 4 5 6 3
                              Store 1110 1112
                              Return
                              FunctionEnd
