diff --git a/Test/baseResults/forLoop.frag.out b/Test/baseResults/forLoop.frag.out
index 1cf62a6513e86b4a1a4ce57f8b7d6c3220e28efb..f3e977ef17c9b2722d99ec5076da376e588b7912 100644
--- a/Test/baseResults/forLoop.frag.out
+++ b/Test/baseResults/forLoop.frag.out
@@ -2,98 +2,158 @@
 
 Shader version: 130
 0:? Sequence
-0:9  Function Definition: main( (void)
-0:9    Function Parameters: 
-0:11    Sequence
-0:11      Sequence
-0:11        move second child to first child (4-component vector of float)
-0:11          'color' (4-component vector of float)
-0:11          'BaseColor' (smooth in 4-component vector of float)
-0:13      Sequence
-0:13        Sequence
-0:13          move second child to first child (int)
-0:13            'i' (int)
-0:13            Constant:
-0:13              0 (const int)
-0:13        Loop with condition tested first
-0:13          Loop Condition
-0:13          Compare Less Than (bool)
-0:13            'i' (int)
-0:13            'Count' (uniform int)
-0:13          Loop Body
-0:14          Sequence
-0:14            add second child into first child (4-component vector of float)
-0:14              'color' (4-component vector of float)
-0:14              'bigColor' (uniform 4-component vector of float)
-0:13          Loop Terminal Expression
-0:13          Pre-Increment (int)
-0:13            'i' (int)
-0:17      move second child to first child (4-component vector of float)
-0:17        'gl_FragColor' (fragColor 4-component vector of float)
-0:17        'color' (4-component vector of float)
-0:19      Sequence
-0:19        move second child to first child (float)
-0:19          'sum' (float)
-0:19          Constant:
-0:19            0.000000
+0:10  Function Definition: main( (void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      Sequence
+0:12        move second child to first child (4-component vector of float)
+0:12          'color' (4-component vector of float)
+0:12          'BaseColor' (smooth in 4-component vector of float)
+0:14      Sequence
+0:14        Sequence
+0:14          move second child to first child (int)
+0:14            'i' (int)
+0:14            Constant:
+0:14              0 (const int)
+0:14        Loop with condition tested first
+0:14          Loop Condition
+0:14          Compare Less Than (bool)
+0:14            'i' (int)
+0:14            'Count' (uniform int)
+0:14          Loop Body
+0:15          Sequence
+0:15            add second child into first child (4-component vector of float)
+0:15              'color' (4-component vector of float)
+0:15              'bigColor' (uniform 4-component vector of float)
+0:14          Loop Terminal Expression
+0:14          Pre-Increment (int)
+0:14            'i' (int)
+0:18      move second child to first child (4-component vector of float)
+0:18        'gl_FragColor' (fragColor 4-component vector of float)
+0:18        'color' (4-component vector of float)
 0:20      Sequence
-0:20        Sequence
-0:20          move second child to first child (int)
-0:20            'i' (int)
-0:20            Constant:
-0:20              0 (const int)
-0:20        Loop with condition tested first
-0:20          Loop Condition
-0:20          Compare Less Than (bool)
-0:20            'i' (int)
-0:20            Constant:
-0:20              4 (const int)
-0:20          Loop Body
-0:21          add second child into first child (float)
-0:21            'sum' (float)
-0:21            Convert uint to float (float)
-0:21              indirect index (uint)
-0:21                'v4' (uniform 4-component vector of uint)
-0:21                'i' (int)
-0:20          Loop Terminal Expression
-0:20          Pre-Increment (int)
-0:20            'i' (int)
-0:25      Sequence
-0:25        Sequence
-0:25          move second child to first child (int)
-0:25            'i' (int)
-0:25            Constant:
-0:25              0 (const int)
-0:25        Loop with condition tested first
-0:25          Loop Condition
-0:25          Compare Less Than (bool)
-0:25            'i' (int)
-0:25            Constant:
-0:25              4 (const int)
-0:25          Loop Body
-0:26          move second child to first child (float)
-0:26            indirect index (float)
-0:26              'tv4' (4-component vector of float)
-0:26              'i' (int)
-0:26            Convert uint to float (float)
-0:26              component-wise multiply (uint)
-0:26                indirect index (uint)
-0:26                  'v4' (uniform 4-component vector of uint)
-0:26                  'i' (int)
-0:26                Constant:
-0:26                  4 (const uint)
-0:25          Loop Terminal Expression
-0:25          Pre-Increment (int)
-0:25            'i' (int)
-0:28      add second child into first child (4-component vector of float)
-0:28        'gl_FragColor' (fragColor 4-component vector of float)
-0:28        add (4-component vector of float)
-0:28          Construct vec4 (4-component vector of float)
-0:28            'sum' (float)
-0:28          'tv4' (4-component vector of float)
+0:20        move second child to first child (float)
+0:20          'sum' (float)
+0:20          Constant:
+0:20            0.000000
+0:21      Sequence
+0:21        Sequence
+0:21          move second child to first child (int)
+0:21            'i' (int)
+0:21            Constant:
+0:21              0 (const int)
+0:21        Loop with condition tested first
+0:21          Loop Condition
+0:21          Compare Less Than (bool)
+0:21            'i' (int)
+0:21            Constant:
+0:21              4 (const int)
+0:21          Loop Body
+0:22          add second child into first child (float)
+0:22            'sum' (float)
+0:22            Convert uint to float (float)
+0:22              indirect index (uint)
+0:22                'v4' (uniform 4-component vector of uint)
+0:22                'i' (int)
+0:21          Loop Terminal Expression
+0:21          Pre-Increment (int)
+0:21            'i' (int)
+0:26      Sequence
+0:26        Sequence
+0:26          move second child to first child (int)
+0:26            'i' (int)
+0:26            Constant:
+0:26              0 (const int)
+0:26        Loop with condition tested first
+0:26          Loop Condition
+0:26          Compare Less Than (bool)
+0:26            'i' (int)
+0:26            Constant:
+0:26              4 (const int)
+0:26          Loop Body
+0:27          move second child to first child (float)
+0:27            indirect index (float)
+0:27              'tv4' (4-component vector of float)
+0:27              'i' (int)
+0:27            Convert uint to float (float)
+0:27              component-wise multiply (uint)
+0:27                indirect index (uint)
+0:27                  'v4' (uniform 4-component vector of uint)
+0:27                  'i' (int)
+0:27                Constant:
+0:27                  4 (const uint)
+0:26          Loop Terminal Expression
+0:26          Pre-Increment (int)
+0:26            'i' (int)
+0:29      add second child into first child (4-component vector of float)
+0:29        'gl_FragColor' (fragColor 4-component vector of float)
+0:29        add (4-component vector of float)
+0:29          Construct vec4 (4-component vector of float)
+0:29            'sum' (float)
+0:29          'tv4' (4-component vector of float)
+0:32      move second child to first child (3-component vector of float)
+0:32        vector swizzle (3-component vector of float)
+0:32          'r' (4-component vector of float)
+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        vector swizzle (3-component vector of float)
+0:32          'BaseColor' (smooth in 4-component vector of float)
+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:34      Sequence
+0:34        Sequence
+0:34          move second child to first child (int)
+0:34            'i' (int)
+0:34            Constant:
+0:34              0 (const int)
+0:34        Loop with condition tested first
+0:34          Loop Condition
+0:34          Compare Less Than (bool)
+0:34            'i' (int)
+0:34            'Count' (uniform int)
+0:34          Loop Body
+0:35          move second child to first child (float)
+0:35            direct index (float)
+0:35              'r' (4-component vector of float)
+0:35              Constant:
+0:35                3 (const int)
+0:35            'f' (smooth in float)
+0:34          Loop Terminal Expression
+0:34          Pre-Increment (int)
+0:34            'i' (int)
+0:37      add second child into first child (3-component vector of float)
+0:37        vector swizzle (3-component vector of float)
+0:37          'gl_FragColor' (fragColor 4-component vector of float)
+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        vector swizzle (3-component vector of float)
+0:37          'r' (4-component vector of float)
+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:?   Linker Objects
 0:?     'bigColor' (uniform 4-component vector of float)
 0:?     'BaseColor' (smooth in 4-component vector of float)
+0:?     'f' (smooth in float)
 0:?     'Count' (uniform int)
 0:?     'v4' (uniform 4-component vector of uint)
 
@@ -103,98 +163,158 @@ Linked fragment stage:
 
 Shader version: 130
 0:? Sequence
-0:9  Function Definition: main( (void)
-0:9    Function Parameters: 
-0:11    Sequence
-0:11      Sequence
-0:11        move second child to first child (4-component vector of float)
-0:11          'color' (4-component vector of float)
-0:11          'BaseColor' (smooth in 4-component vector of float)
-0:13      Sequence
-0:13        Sequence
-0:13          move second child to first child (int)
-0:13            'i' (int)
-0:13            Constant:
-0:13              0 (const int)
-0:13        Loop with condition tested first
-0:13          Loop Condition
-0:13          Compare Less Than (bool)
-0:13            'i' (int)
-0:13            'Count' (uniform int)
-0:13          Loop Body
-0:14          Sequence
-0:14            add second child into first child (4-component vector of float)
-0:14              'color' (4-component vector of float)
-0:14              'bigColor' (uniform 4-component vector of float)
-0:13          Loop Terminal Expression
-0:13          Pre-Increment (int)
-0:13            'i' (int)
-0:17      move second child to first child (4-component vector of float)
-0:17        'gl_FragColor' (fragColor 4-component vector of float)
-0:17        'color' (4-component vector of float)
-0:19      Sequence
-0:19        move second child to first child (float)
-0:19          'sum' (float)
-0:19          Constant:
-0:19            0.000000
+0:10  Function Definition: main( (void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      Sequence
+0:12        move second child to first child (4-component vector of float)
+0:12          'color' (4-component vector of float)
+0:12          'BaseColor' (smooth in 4-component vector of float)
+0:14      Sequence
+0:14        Sequence
+0:14          move second child to first child (int)
+0:14            'i' (int)
+0:14            Constant:
+0:14              0 (const int)
+0:14        Loop with condition tested first
+0:14          Loop Condition
+0:14          Compare Less Than (bool)
+0:14            'i' (int)
+0:14            'Count' (uniform int)
+0:14          Loop Body
+0:15          Sequence
+0:15            add second child into first child (4-component vector of float)
+0:15              'color' (4-component vector of float)
+0:15              'bigColor' (uniform 4-component vector of float)
+0:14          Loop Terminal Expression
+0:14          Pre-Increment (int)
+0:14            'i' (int)
+0:18      move second child to first child (4-component vector of float)
+0:18        'gl_FragColor' (fragColor 4-component vector of float)
+0:18        'color' (4-component vector of float)
 0:20      Sequence
-0:20        Sequence
-0:20          move second child to first child (int)
-0:20            'i' (int)
-0:20            Constant:
-0:20              0 (const int)
-0:20        Loop with condition tested first
-0:20          Loop Condition
-0:20          Compare Less Than (bool)
-0:20            'i' (int)
-0:20            Constant:
-0:20              4 (const int)
-0:20          Loop Body
-0:21          add second child into first child (float)
-0:21            'sum' (float)
-0:21            Convert uint to float (float)
-0:21              indirect index (uint)
-0:21                'v4' (uniform 4-component vector of uint)
-0:21                'i' (int)
-0:20          Loop Terminal Expression
-0:20          Pre-Increment (int)
-0:20            'i' (int)
-0:25      Sequence
-0:25        Sequence
-0:25          move second child to first child (int)
-0:25            'i' (int)
-0:25            Constant:
-0:25              0 (const int)
-0:25        Loop with condition tested first
-0:25          Loop Condition
-0:25          Compare Less Than (bool)
-0:25            'i' (int)
-0:25            Constant:
-0:25              4 (const int)
-0:25          Loop Body
-0:26          move second child to first child (float)
-0:26            indirect index (float)
-0:26              'tv4' (4-component vector of float)
-0:26              'i' (int)
-0:26            Convert uint to float (float)
-0:26              component-wise multiply (uint)
-0:26                indirect index (uint)
-0:26                  'v4' (uniform 4-component vector of uint)
-0:26                  'i' (int)
-0:26                Constant:
-0:26                  4 (const uint)
-0:25          Loop Terminal Expression
-0:25          Pre-Increment (int)
-0:25            'i' (int)
-0:28      add second child into first child (4-component vector of float)
-0:28        'gl_FragColor' (fragColor 4-component vector of float)
-0:28        add (4-component vector of float)
-0:28          Construct vec4 (4-component vector of float)
-0:28            'sum' (float)
-0:28          'tv4' (4-component vector of float)
+0:20        move second child to first child (float)
+0:20          'sum' (float)
+0:20          Constant:
+0:20            0.000000
+0:21      Sequence
+0:21        Sequence
+0:21          move second child to first child (int)
+0:21            'i' (int)
+0:21            Constant:
+0:21              0 (const int)
+0:21        Loop with condition tested first
+0:21          Loop Condition
+0:21          Compare Less Than (bool)
+0:21            'i' (int)
+0:21            Constant:
+0:21              4 (const int)
+0:21          Loop Body
+0:22          add second child into first child (float)
+0:22            'sum' (float)
+0:22            Convert uint to float (float)
+0:22              indirect index (uint)
+0:22                'v4' (uniform 4-component vector of uint)
+0:22                'i' (int)
+0:21          Loop Terminal Expression
+0:21          Pre-Increment (int)
+0:21            'i' (int)
+0:26      Sequence
+0:26        Sequence
+0:26          move second child to first child (int)
+0:26            'i' (int)
+0:26            Constant:
+0:26              0 (const int)
+0:26        Loop with condition tested first
+0:26          Loop Condition
+0:26          Compare Less Than (bool)
+0:26            'i' (int)
+0:26            Constant:
+0:26              4 (const int)
+0:26          Loop Body
+0:27          move second child to first child (float)
+0:27            indirect index (float)
+0:27              'tv4' (4-component vector of float)
+0:27              'i' (int)
+0:27            Convert uint to float (float)
+0:27              component-wise multiply (uint)
+0:27                indirect index (uint)
+0:27                  'v4' (uniform 4-component vector of uint)
+0:27                  'i' (int)
+0:27                Constant:
+0:27                  4 (const uint)
+0:26          Loop Terminal Expression
+0:26          Pre-Increment (int)
+0:26            'i' (int)
+0:29      add second child into first child (4-component vector of float)
+0:29        'gl_FragColor' (fragColor 4-component vector of float)
+0:29        add (4-component vector of float)
+0:29          Construct vec4 (4-component vector of float)
+0:29            'sum' (float)
+0:29          'tv4' (4-component vector of float)
+0:32      move second child to first child (3-component vector of float)
+0:32        vector swizzle (3-component vector of float)
+0:32          'r' (4-component vector of float)
+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        vector swizzle (3-component vector of float)
+0:32          'BaseColor' (smooth in 4-component vector of float)
+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:34      Sequence
+0:34        Sequence
+0:34          move second child to first child (int)
+0:34            'i' (int)
+0:34            Constant:
+0:34              0 (const int)
+0:34        Loop with condition tested first
+0:34          Loop Condition
+0:34          Compare Less Than (bool)
+0:34            'i' (int)
+0:34            'Count' (uniform int)
+0:34          Loop Body
+0:35          move second child to first child (float)
+0:35            direct index (float)
+0:35              'r' (4-component vector of float)
+0:35              Constant:
+0:35                3 (const int)
+0:35            'f' (smooth in float)
+0:34          Loop Terminal Expression
+0:34          Pre-Increment (int)
+0:34            'i' (int)
+0:37      add second child into first child (3-component vector of float)
+0:37        vector swizzle (3-component vector of float)
+0:37          'gl_FragColor' (fragColor 4-component vector of float)
+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        vector swizzle (3-component vector of float)
+0:37          'r' (4-component vector of float)
+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:?   Linker Objects
 0:?     'bigColor' (uniform 4-component vector of float)
 0:?     'BaseColor' (smooth in 4-component vector of float)
+0:?     'f' (smooth in float)
 0:?     'Count' (uniform int)
 0:?     'v4' (uniform 4-component vector of uint)