precise_struct_block.vert
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.

Shader version: 450
0:? Sequence
0:11  Function Definition: struct_member( (global float)
0:11    Function Parameters: 
0:12    Sequence
0:12      Sequence
0:12        move second child to first child (temp float)
0:12          'a' (noContraction temp float)
0:12          Constant:
0:12            1.000000
0:13      Sequence
0:13        move second child to first child (temp float)
0:13          'b' (temp float)
0:13          Constant:
0:13            2.000000
0:14      Sequence
0:14        move second child to first child (temp float)
0:14          'c' (temp float)
0:14          Constant:
0:14            3.000000
0:15      Sequence
0:15        move second child to first child (temp float)
0:15          'd' (temp float)
0:15          Constant:
0:15            4.000000
0:21      move second child to first child (temp float)
0:21        f1: direct index for structure (noContraction global float)
0:21          'S2' (temp structure{global float f1, global float f2})
0:21          Constant:
0:21            0 (const int)
0:21        add (noContraction temp float)
0:21          'a' (noContraction temp float)
0:21          Constant:
0:21            0.200000
0:22      move second child to first child (temp float)
0:22        f2: direct index for structure (global float)
0:22          'S2' (temp structure{global float f1, global float f2})
0:22          Constant:
0:22            1 (const int)
0:22        add (temp float)
0:22          'b' (temp float)
0:22          Constant:
0:22            0.200000
0:23      move second child to first child (temp float)
0:23        f1: direct index for structure (global float)
0:23          'S3' (temp structure{global float f1, global float f2})
0:23          Constant:
0:23            0 (const int)
0:23        add (temp float)
0:23          'a' (temp float)
0:23          'b' (temp float)
0:24      move second child to first child (temp structure{global float f1, global float f2})
0:24        'S' (temp structure{global float f1, global float f2})
0:24        'S2' (temp structure{global float f1, global float f2})
0:25      move second child to first child (temp float)
0:25        'result' (noContraction temp float)
0:25        add (noContraction temp float)
0:25          f1: direct index for structure (noContraction global float)
0:25            'S' (temp structure{global float f1, global float f2})
0:25            Constant:
0:25              0 (const int)
0:25          Constant:
0:25            0.100000
0:27      Branch: Return with expression
0:27        'result' (noContraction temp float)
0:30  Function Definition: complex_array_struct( (global float)
0:30    Function Parameters: 
0:?     Sequence
0:43      Sequence
0:43        Sequence
0:43          move second child to first child (temp int)
0:43            'i' (noContraction temp int)
0:43            Constant:
0:43              0 (const int)
0:43        Loop with condition tested first
0:43          Loop Condition
0:43          Compare Less Than (temp bool)
0:43            'i' (temp int)
0:43            Constant:
0:43              10 (const int)
0:43          Loop Body
0:44          Sequence
0:44            move second child to first child (temp float)
0:44              f: direct index for structure (temp float)
0:44                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:44                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:44                  'i' (temp int)
0:44                Constant:
0:44                  0 (const int)
0:44              divide (temp float)
0:44                Convert int to float (temp float)
0:44                  'i' (temp int)
0:44                Constant:
0:44                  3.000000
0:45            move second child to first child (temp 4-component vector of float)
0:45              v: direct index for structure (noContraction temp 4-component vector of float)
0:45                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:45                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:45                  'i' (temp int)
0:45                Constant:
0:45                  2 (const int)
0:45              Construct vec4 (temp 4-component vector of float)
0:45                component-wise multiply (noContraction temp float)
0:45                  Convert int to float (temp float)
0:45                    'i' (noContraction temp int)
0:45                  Constant:
0:45                    1.500000
0:46            move second child to first child (temp int)
0:46              p: direct index for structure (temp int)
0:46                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:46                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:46                  'i' (temp int)
0:46                Constant:
0:46                  3 (const int)
0:46              add (temp int)
0:46                'i' (temp int)
0:46                Constant:
0:46                  1 (const int)
0:47            Sequence
0:47              Sequence
0:47                move second child to first child (temp int)
0:47                  'j' (temp int)
0:47                  Constant:
0:47                    0 (const int)
0:47              Loop with condition tested first
0:47                Loop Condition
0:47                Compare Less Than (temp bool)
0:47                  'j' (temp int)
0:47                  Constant:
0:47                    5 (const int)
0:47                Loop Body
0:48                Sequence
0:48                  Sequence
0:48                    Sequence
0:48                      move second child to first child (temp int)
0:48                        'k' (temp int)
0:48                        Constant:
0:48                          0 (const int)
0:48                    Loop with condition tested first
0:48                      Loop Condition
0:48                      Compare Less Than (temp bool)
0:48                        'k' (temp int)
0:48                        Constant:
0:48                          3 (const int)
0:48                      Loop Body
0:49                      Sequence
0:49                        move second child to first child (temp float)
0:49                          indirect index (temp float)
0:49                            t1_array: direct index for structure (temp 3-element array of float)
0:49                              indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:49                                t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:49                                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:49                                    indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:49                                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:49                                      'i' (temp int)
0:49                                    Constant:
0:49                                      1 (const int)
0:49                                  Constant:
0:49                                    0 (const int)
0:49                                'j' (temp int)
0:49                              Constant:
0:49                                0 (const int)
0:49                            'k' (temp int)
0:49                          Convert int to float (temp float)
0:49                            add (temp int)
0:49                              component-wise multiply (temp int)
0:49                                'i' (temp int)
0:49                                'j' (temp int)
0:49                              'k' (temp int)
0:48                      Loop Terminal Expression
0:48                      Post-Increment (temp int)
0:48                        'k' (temp int)
0:51                  move second child to first child (temp float)
0:51                    t1_scalar: direct index for structure (temp float)
0:51                      indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:51                        t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:51                          t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:51                            indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:51                              't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:51                              'i' (temp int)
0:51                            Constant:
0:51                              1 (const int)
0:51                          Constant:
0:51                            0 (const int)
0:51                        'j' (temp int)
0:51                      Constant:
0:51                        1 (const int)
0:51                    divide (temp float)
0:51                      component-wise multiply (temp float)
0:51                        Convert int to float (temp float)
0:51                          'j' (temp int)
0:51                        Constant:
0:51                          2.000000
0:51                      Convert int to float (temp float)
0:51                        'i' (temp int)
0:47                Loop Terminal Expression
0:47                Post-Increment (temp int)
0:47                  'j' (temp int)
0:54            Sequence
0:54              Sequence
0:54                move second child to first child (temp int)
0:54                  'j' (noContraction temp int)
0:54                  Constant:
0:54                    0 (const int)
0:54              Loop with condition tested first
0:54                Loop Condition
0:54                Compare Less Than (temp bool)
0:54                  'j' (temp int)
0:54                  Constant:
0:54                    6 (const int)
0:54                Loop Body
0:55                Sequence
0:55                  Sequence
0:55                    Sequence
0:55                      move second child to first child (temp int)
0:55                        'k' (temp int)
0:55                        Constant:
0:55                          0 (const int)
0:55                    Loop with condition tested first
0:55                      Loop Condition
0:55                      Compare Less Than (temp bool)
0:55                        'k' (temp int)
0:55                        Constant:
0:55                          3 (const int)
0:55                      Loop Body
0:56                      Sequence
0:56                        move second child to first child (temp float)
0:56                          indirect index (temp float)
0:56                            t1_array: direct index for structure (temp 3-element array of float)
0:56                              indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:56                                t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:56                                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:56                                    indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:56                                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:56                                      'i' (temp int)
0:56                                    Constant:
0:56                                      1 (const int)
0:56                                  Constant:
0:56                                    1 (const int)
0:56                                'j' (temp int)
0:56                              Constant:
0:56                                0 (const int)
0:56                            'k' (temp int)
0:56                          Convert int to float (temp float)
0:56                            add (temp int)
0:56                              component-wise multiply (temp int)
0:56                                'i' (temp int)
0:56                                'j' (temp int)
0:56                              'k' (temp int)
0:55                      Loop Terminal Expression
0:55                      Post-Increment (temp int)
0:55                        'k' (temp int)
0:58                  move second child to first child (temp float)
0:58                    t1_scalar: direct index for structure (noContraction temp float)
0:58                      indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:58                        t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:58                          t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:58                            indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:58                              't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:58                              'i' (temp int)
0:58                            Constant:
0:58                              1 (const int)
0:58                          Constant:
0:58                            1 (const int)
0:58                        'j' (temp int)
0:58                      Constant:
0:58                        1 (const int)
0:58                    divide (noContraction temp float)
0:58                      component-wise multiply (noContraction temp float)
0:58                        Convert int to float (temp float)
0:58                          'j' (noContraction temp int)
0:58                        Constant:
0:58                          2.000000
0:58                      Convert int to float (temp float)
0:58                        'i' (noContraction temp int)
0:54                Loop Terminal Expression
0:54                Post-Increment (noContraction temp int)
0:54                  'j' (noContraction temp int)
0:61            Sequence
0:61              Sequence
0:61                move second child to first child (temp int)
0:61                  'j' (noContraction temp int)
0:61                  Constant:
0:61                    0 (const int)
0:61              Loop with condition tested first
0:61                Loop Condition
0:61                Compare Less Than (temp bool)
0:61                  'j' (temp int)
0:61                  Constant:
0:61                    6 (const int)
0:61                Loop Body
0:62                Sequence
0:62                  Sequence
0:62                    Sequence
0:62                      move second child to first child (temp int)
0:62                        'k' (noContraction temp int)
0:62                        Constant:
0:62                          0 (const int)
0:62                    Loop with condition tested first
0:62                      Loop Condition
0:62                      Compare Less Than (temp bool)
0:62                        'k' (temp int)
0:62                        Constant:
0:62                          3 (const int)
0:62                      Loop Body
0:63                      Sequence
0:63                        move second child to first child (temp float)
0:63                          indirect index (noContraction temp float)
0:63                            t1_array: direct index for structure (noContraction temp 3-element array of float)
0:63                              indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:63                                t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:63                                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:63                                    indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:63                                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:63                                      'i' (temp int)
0:63                                    Constant:
0:63                                      1 (const int)
0:63                                  Constant:
0:63                                    2 (const int)
0:63                                'j' (temp int)
0:63                              Constant:
0:63                                0 (const int)
0:63                            'k' (temp int)
0:63                          Convert int to float (temp float)
0:63                            add (temp int)
0:63                              component-wise multiply (temp int)
0:63                                'i' (noContraction temp int)
0:63                                'j' (noContraction temp int)
0:63                              'k' (noContraction temp int)
0:62                      Loop Terminal Expression
0:62                      Post-Increment (noContraction temp int)
0:62                        'k' (noContraction temp int)
0:65                  move second child to first child (temp float)
0:65                    t1_scalar: direct index for structure (temp float)
0:65                      indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:65                        t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:65                          t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:65                            indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:65                              't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:65                              'i' (temp int)
0:65                            Constant:
0:65                              1 (const int)
0:65                          Constant:
0:65                            2 (const int)
0:65                        'j' (temp int)
0:65                      Constant:
0:65                        1 (const int)
0:65                    divide (temp float)
0:65                      component-wise multiply (temp float)
0:65                        Convert int to float (temp float)
0:65                          'j' (temp int)
0:65                        Constant:
0:65                          2.000000
0:65                      Convert int to float (temp float)
0:65                        'i' (temp int)
0:61                Loop Terminal Expression
0:61                Post-Increment (noContraction temp int)
0:61                  'j' (noContraction temp int)
0:43          Loop Terminal Expression
0:43          Post-Increment (noContraction temp int)
0:43            'i' (noContraction temp int)
0:68      Sequence
0:68        move second child to first child (temp int)
0:68          'i' (temp int)
0:68          Constant:
0:68            2 (const int)
0:69      move second child to first child (temp float)
0:69        'result' (noContraction temp float)
0:71        add (noContraction temp float)
0:70          add (noContraction temp float)
0:69            direct index (noContraction temp float)
0:69              t1_array: direct index for structure (temp 3-element array of float)
0:69                direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:69                  t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:69                    t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:69                      direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:69                        't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:69                        Constant:
0:69                          5 (const int)
0:69                      Constant:
0:69                        1 (const int)
0:69                    Constant:
0:69                      2 (const int)
0:69                  Constant:
0:69                    6 (const int)
0:69                Constant:
0:69                  0 (const int)
0:69              Constant:
0:69                1 (const int)
0:70            t1_scalar: direct index for structure (noContraction temp float)
0:70              direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:70                t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:70                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:70                    direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:70                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:70                      Constant:
0:70                        2 (const int)
0:70                    Constant:
0:70                      1 (const int)
0:70                  Constant:
0:70                    1 (const int)
0:70                Constant:
0:70                  1 (const int)
0:70              Constant:
0:70                1 (const int)
0:71          direct index (noContraction temp float)
0:71            vector swizzle (temp 2-component vector of float)
0:71              v: direct index for structure (temp 4-component vector of float)
0:71                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:71                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:71                  subtract (temp int)
0:71                    'i' (temp int)
0:71                    Constant:
0:71                      1 (const int)
0:71                Constant:
0:71                  2 (const int)
0:71              Sequence
0:71                Constant:
0:71                  0 (const int)
0:71                Constant:
0:71                  1 (const int)
0:71            Constant:
0:71              0 (const int)
0:72      Branch: Return with expression
0:72        'result' (noContraction temp float)
0:75  Function Definition: out_block( (global float)
0:75    Function Parameters: 
0:76    Sequence
0:76      Sequence
0:76        move second child to first child (temp float)
0:76          'a' (noContraction temp float)
0:76          Constant:
0:76            0.100000
0:77      Sequence
0:77        move second child to first child (temp float)
0:77          'b' (noContraction temp float)
0:77          Constant:
0:77            0.200000
0:78      move second child to first child (temp float)
0:78        f1: direct index for structure (noContraction global float)
0:78          s: direct index for structure (noContraction out structure{global float f1, global float f2})
0:78            'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
0:78            Constant:
0:78              0 (const int)
0:78          Constant:
0:78            0 (const int)
0:78        add (noContraction temp float)
0:78          'a' (noContraction temp float)
0:78          'b' (noContraction temp float)
0:79      move second child to first child (temp float)
0:79        f2: direct index for structure (noContraction global float)
0:79          s: direct index for structure (noContraction out structure{global float f1, global float f2})
0:79            'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
0:79            Constant:
0:79              0 (const int)
0:79          Constant:
0:79            1 (const int)
0:79        subtract (noContraction temp float)
0:79          'a' (noContraction temp float)
0:79          'b' (noContraction temp float)
0:80      move second child to first child (temp float)
0:80        x: direct index for structure (out float)
0:80          'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
0:80          Constant:
0:80            1 (const int)
0:80        component-wise multiply (temp float)
0:80          'a' (temp float)
0:80          'b' (temp float)
0:82      move second child to first child (temp float)
0:82        f1: direct index for structure (noContraction global float)
0:82          s: direct index for structure (noContraction out structure{global float f1, global float f2})
0:82            'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
0:82            Constant:
0:82              0 (const int)
0:82          Constant:
0:82            0 (const int)
0:82        add (noContraction temp float)
0:82          add (noContraction temp float)
0:82            'a' (noContraction temp float)
0:82            'b' (noContraction temp float)
0:82          Constant:
0:82            1.000000
0:83      move second child to first child (temp float)
0:83        f2: direct index for structure (noContraction global float)
0:83          s: direct index for structure (noContraction out structure{global float f1, global float f2})
0:83            'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
0:83            Constant:
0:83              0 (const int)
0:83          Constant:
0:83            1 (const int)
0:83        subtract (noContraction temp float)
0:83          subtract (noContraction temp float)
0:83            'a' (noContraction temp float)
0:83            'b' (noContraction temp float)
0:83          Constant:
0:83            1.000000
0:84      move second child to first child (temp float)
0:84        x: direct index for structure (noContraction out float)
0:84          'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
0:84          Constant:
0:84            1 (const int)
0:84        component-wise multiply (noContraction temp float)
0:84          component-wise multiply (noContraction temp float)
0:84            'a' (noContraction temp float)
0:84            'b' (noContraction temp float)
0:84          Constant:
0:84            2.000000
0:86      Branch: Return with expression
0:86        add (temp float)
0:86          'a' (temp float)
0:86          'b' (temp float)
0:89  Function Definition: main( (global void)
0:89    Function Parameters: 
0:?   Linker Objects
0:?     'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
0:?     'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
0:?     'gl_VertexID' (gl_VertexId int VertexId)
0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)


Linked vertex stage:


Shader version: 450
0:? Sequence
0:11  Function Definition: struct_member( (global float)
0:11    Function Parameters: 
0:12    Sequence
0:12      Sequence
0:12        move second child to first child (temp float)
0:12          'a' (noContraction temp float)
0:12          Constant:
0:12            1.000000
0:13      Sequence
0:13        move second child to first child (temp float)
0:13          'b' (temp float)
0:13          Constant:
0:13            2.000000
0:14      Sequence
0:14        move second child to first child (temp float)
0:14          'c' (temp float)
0:14          Constant:
0:14            3.000000
0:15      Sequence
0:15        move second child to first child (temp float)
0:15          'd' (temp float)
0:15          Constant:
0:15            4.000000
0:21      move second child to first child (temp float)
0:21        f1: direct index for structure (noContraction global float)
0:21          'S2' (temp structure{global float f1, global float f2})
0:21          Constant:
0:21            0 (const int)
0:21        add (noContraction temp float)
0:21          'a' (noContraction temp float)
0:21          Constant:
0:21            0.200000
0:22      move second child to first child (temp float)
0:22        f2: direct index for structure (global float)
0:22          'S2' (temp structure{global float f1, global float f2})
0:22          Constant:
0:22            1 (const int)
0:22        add (temp float)
0:22          'b' (temp float)
0:22          Constant:
0:22            0.200000
0:23      move second child to first child (temp float)
0:23        f1: direct index for structure (global float)
0:23          'S3' (temp structure{global float f1, global float f2})
0:23          Constant:
0:23            0 (const int)
0:23        add (temp float)
0:23          'a' (temp float)
0:23          'b' (temp float)
0:24      move second child to first child (temp structure{global float f1, global float f2})
0:24        'S' (temp structure{global float f1, global float f2})
0:24        'S2' (temp structure{global float f1, global float f2})
0:25      move second child to first child (temp float)
0:25        'result' (noContraction temp float)
0:25        add (noContraction temp float)
0:25          f1: direct index for structure (noContraction global float)
0:25            'S' (temp structure{global float f1, global float f2})
0:25            Constant:
0:25              0 (const int)
0:25          Constant:
0:25            0.100000
0:27      Branch: Return with expression
0:27        'result' (noContraction temp float)
0:30  Function Definition: complex_array_struct( (global float)
0:30    Function Parameters: 
0:?     Sequence
0:43      Sequence
0:43        Sequence
0:43          move second child to first child (temp int)
0:43            'i' (noContraction temp int)
0:43            Constant:
0:43              0 (const int)
0:43        Loop with condition tested first
0:43          Loop Condition
0:43          Compare Less Than (temp bool)
0:43            'i' (temp int)
0:43            Constant:
0:43              10 (const int)
0:43          Loop Body
0:44          Sequence
0:44            move second child to first child (temp float)
0:44              f: direct index for structure (temp float)
0:44                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:44                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:44                  'i' (temp int)
0:44                Constant:
0:44                  0 (const int)
0:44              divide (temp float)
0:44                Convert int to float (temp float)
0:44                  'i' (temp int)
0:44                Constant:
0:44                  3.000000
0:45            move second child to first child (temp 4-component vector of float)
0:45              v: direct index for structure (noContraction temp 4-component vector of float)
0:45                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:45                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:45                  'i' (temp int)
0:45                Constant:
0:45                  2 (const int)
0:45              Construct vec4 (temp 4-component vector of float)
0:45                component-wise multiply (noContraction temp float)
0:45                  Convert int to float (temp float)
0:45                    'i' (noContraction temp int)
0:45                  Constant:
0:45                    1.500000
0:46            move second child to first child (temp int)
0:46              p: direct index for structure (temp int)
0:46                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:46                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:46                  'i' (temp int)
0:46                Constant:
0:46                  3 (const int)
0:46              add (temp int)
0:46                'i' (temp int)
0:46                Constant:
0:46                  1 (const int)
0:47            Sequence
0:47              Sequence
0:47                move second child to first child (temp int)
0:47                  'j' (temp int)
0:47                  Constant:
0:47                    0 (const int)
0:47              Loop with condition tested first
0:47                Loop Condition
0:47                Compare Less Than (temp bool)
0:47                  'j' (temp int)
0:47                  Constant:
0:47                    5 (const int)
0:47                Loop Body
0:48                Sequence
0:48                  Sequence
0:48                    Sequence
0:48                      move second child to first child (temp int)
0:48                        'k' (temp int)
0:48                        Constant:
0:48                          0 (const int)
0:48                    Loop with condition tested first
0:48                      Loop Condition
0:48                      Compare Less Than (temp bool)
0:48                        'k' (temp int)
0:48                        Constant:
0:48                          3 (const int)
0:48                      Loop Body
0:49                      Sequence
0:49                        move second child to first child (temp float)
0:49                          indirect index (temp float)
0:49                            t1_array: direct index for structure (temp 3-element array of float)
0:49                              indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:49                                t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:49                                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:49                                    indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:49                                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:49                                      'i' (temp int)
0:49                                    Constant:
0:49                                      1 (const int)
0:49                                  Constant:
0:49                                    0 (const int)
0:49                                'j' (temp int)
0:49                              Constant:
0:49                                0 (const int)
0:49                            'k' (temp int)
0:49                          Convert int to float (temp float)
0:49                            add (temp int)
0:49                              component-wise multiply (temp int)
0:49                                'i' (temp int)
0:49                                'j' (temp int)
0:49                              'k' (temp int)
0:48                      Loop Terminal Expression
0:48                      Post-Increment (temp int)
0:48                        'k' (temp int)
0:51                  move second child to first child (temp float)
0:51                    t1_scalar: direct index for structure (temp float)
0:51                      indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:51                        t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:51                          t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:51                            indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:51                              't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:51                              'i' (temp int)
0:51                            Constant:
0:51                              1 (const int)
0:51                          Constant:
0:51                            0 (const int)
0:51                        'j' (temp int)
0:51                      Constant:
0:51                        1 (const int)
0:51                    divide (temp float)
0:51                      component-wise multiply (temp float)
0:51                        Convert int to float (temp float)
0:51                          'j' (temp int)
0:51                        Constant:
0:51                          2.000000
0:51                      Convert int to float (temp float)
0:51                        'i' (temp int)
0:47                Loop Terminal Expression
0:47                Post-Increment (temp int)
0:47                  'j' (temp int)
0:54            Sequence
0:54              Sequence
0:54                move second child to first child (temp int)
0:54                  'j' (noContraction temp int)
0:54                  Constant:
0:54                    0 (const int)
0:54              Loop with condition tested first
0:54                Loop Condition
0:54                Compare Less Than (temp bool)
0:54                  'j' (temp int)
0:54                  Constant:
0:54                    6 (const int)
0:54                Loop Body
0:55                Sequence
0:55                  Sequence
0:55                    Sequence
0:55                      move second child to first child (temp int)
0:55                        'k' (temp int)
0:55                        Constant:
0:55                          0 (const int)
0:55                    Loop with condition tested first
0:55                      Loop Condition
0:55                      Compare Less Than (temp bool)
0:55                        'k' (temp int)
0:55                        Constant:
0:55                          3 (const int)
0:55                      Loop Body
0:56                      Sequence
0:56                        move second child to first child (temp float)
0:56                          indirect index (temp float)
0:56                            t1_array: direct index for structure (temp 3-element array of float)
0:56                              indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:56                                t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:56                                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:56                                    indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:56                                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:56                                      'i' (temp int)
0:56                                    Constant:
0:56                                      1 (const int)
0:56                                  Constant:
0:56                                    1 (const int)
0:56                                'j' (temp int)
0:56                              Constant:
0:56                                0 (const int)
0:56                            'k' (temp int)
0:56                          Convert int to float (temp float)
0:56                            add (temp int)
0:56                              component-wise multiply (temp int)
0:56                                'i' (temp int)
0:56                                'j' (temp int)
0:56                              'k' (temp int)
0:55                      Loop Terminal Expression
0:55                      Post-Increment (temp int)
0:55                        'k' (temp int)
0:58                  move second child to first child (temp float)
0:58                    t1_scalar: direct index for structure (noContraction temp float)
0:58                      indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:58                        t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:58                          t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:58                            indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:58                              't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:58                              'i' (temp int)
0:58                            Constant:
0:58                              1 (const int)
0:58                          Constant:
0:58                            1 (const int)
0:58                        'j' (temp int)
0:58                      Constant:
0:58                        1 (const int)
0:58                    divide (noContraction temp float)
0:58                      component-wise multiply (noContraction temp float)
0:58                        Convert int to float (temp float)
0:58                          'j' (noContraction temp int)
0:58                        Constant:
0:58                          2.000000
0:58                      Convert int to float (temp float)
0:58                        'i' (noContraction temp int)
0:54                Loop Terminal Expression
0:54                Post-Increment (noContraction temp int)
0:54                  'j' (noContraction temp int)
0:61            Sequence
0:61              Sequence
0:61                move second child to first child (temp int)
0:61                  'j' (noContraction temp int)
0:61                  Constant:
0:61                    0 (const int)
0:61              Loop with condition tested first
0:61                Loop Condition
0:61                Compare Less Than (temp bool)
0:61                  'j' (temp int)
0:61                  Constant:
0:61                    6 (const int)
0:61                Loop Body
0:62                Sequence
0:62                  Sequence
0:62                    Sequence
0:62                      move second child to first child (temp int)
0:62                        'k' (noContraction temp int)
0:62                        Constant:
0:62                          0 (const int)
0:62                    Loop with condition tested first
0:62                      Loop Condition
0:62                      Compare Less Than (temp bool)
0:62                        'k' (temp int)
0:62                        Constant:
0:62                          3 (const int)
0:62                      Loop Body
0:63                      Sequence
0:63                        move second child to first child (temp float)
0:63                          indirect index (noContraction temp float)
0:63                            t1_array: direct index for structure (noContraction temp 3-element array of float)
0:63                              indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:63                                t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:63                                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:63                                    indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:63                                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:63                                      'i' (temp int)
0:63                                    Constant:
0:63                                      1 (const int)
0:63                                  Constant:
0:63                                    2 (const int)
0:63                                'j' (temp int)
0:63                              Constant:
0:63                                0 (const int)
0:63                            'k' (temp int)
0:63                          Convert int to float (temp float)
0:63                            add (temp int)
0:63                              component-wise multiply (temp int)
0:63                                'i' (noContraction temp int)
0:63                                'j' (noContraction temp int)
0:63                              'k' (noContraction temp int)
0:62                      Loop Terminal Expression
0:62                      Post-Increment (noContraction temp int)
0:62                        'k' (noContraction temp int)
0:65                  move second child to first child (temp float)
0:65                    t1_scalar: direct index for structure (temp float)
0:65                      indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:65                        t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:65                          t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:65                            indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:65                              't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:65                              'i' (temp int)
0:65                            Constant:
0:65                              1 (const int)
0:65                          Constant:
0:65                            2 (const int)
0:65                        'j' (temp int)
0:65                      Constant:
0:65                        1 (const int)
0:65                    divide (temp float)
0:65                      component-wise multiply (temp float)
0:65                        Convert int to float (temp float)
0:65                          'j' (temp int)
0:65                        Constant:
0:65                          2.000000
0:65                      Convert int to float (temp float)
0:65                        'i' (temp int)
0:61                Loop Terminal Expression
0:61                Post-Increment (noContraction temp int)
0:61                  'j' (noContraction temp int)
0:43          Loop Terminal Expression
0:43          Post-Increment (noContraction temp int)
0:43            'i' (noContraction temp int)
0:68      Sequence
0:68        move second child to first child (temp int)
0:68          'i' (temp int)
0:68          Constant:
0:68            2 (const int)
0:69      move second child to first child (temp float)
0:69        'result' (noContraction temp float)
0:71        add (noContraction temp float)
0:70          add (noContraction temp float)
0:69            direct index (noContraction temp float)
0:69              t1_array: direct index for structure (temp 3-element array of float)
0:69                direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:69                  t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:69                    t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:69                      direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:69                        't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:69                        Constant:
0:69                          5 (const int)
0:69                      Constant:
0:69                        1 (const int)
0:69                    Constant:
0:69                      2 (const int)
0:69                  Constant:
0:69                    6 (const int)
0:69                Constant:
0:69                  0 (const int)
0:69              Constant:
0:69                1 (const int)
0:70            t1_scalar: direct index for structure (noContraction temp float)
0:70              direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:70                t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
0:70                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
0:70                    direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:70                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:70                      Constant:
0:70                        2 (const int)
0:70                    Constant:
0:70                      1 (const int)
0:70                  Constant:
0:70                    1 (const int)
0:70                Constant:
0:70                  1 (const int)
0:70              Constant:
0:70                1 (const int)
0:71          direct index (noContraction temp float)
0:71            vector swizzle (temp 2-component vector of float)
0:71              v: direct index for structure (temp 4-component vector of float)
0:71                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:71                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
0:71                  subtract (temp int)
0:71                    'i' (temp int)
0:71                    Constant:
0:71                      1 (const int)
0:71                Constant:
0:71                  2 (const int)
0:71              Sequence
0:71                Constant:
0:71                  0 (const int)
0:71                Constant:
0:71                  1 (const int)
0:71            Constant:
0:71              0 (const int)
0:72      Branch: Return with expression
0:72        'result' (noContraction temp float)
0:75  Function Definition: out_block( (global float)
0:75    Function Parameters: 
0:76    Sequence
0:76      Sequence
0:76        move second child to first child (temp float)
0:76          'a' (noContraction temp float)
0:76          Constant:
0:76            0.100000
0:77      Sequence
0:77        move second child to first child (temp float)
0:77          'b' (noContraction temp float)
0:77          Constant:
0:77            0.200000
0:78      move second child to first child (temp float)
0:78        f1: direct index for structure (noContraction global float)
0:78          s: direct index for structure (noContraction out structure{global float f1, global float f2})
0:78            'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
0:78            Constant:
0:78              0 (const int)
0:78          Constant:
0:78            0 (const int)
0:78        add (noContraction temp float)
0:78          'a' (noContraction temp float)
0:78          'b' (noContraction temp float)
0:79      move second child to first child (temp float)
0:79        f2: direct index for structure (noContraction global float)
0:79          s: direct index for structure (noContraction out structure{global float f1, global float f2})
0:79            'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
0:79            Constant:
0:79              0 (const int)
0:79          Constant:
0:79            1 (const int)
0:79        subtract (noContraction temp float)
0:79          'a' (noContraction temp float)
0:79          'b' (noContraction temp float)
0:80      move second child to first child (temp float)
0:80        x: direct index for structure (out float)
0:80          'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
0:80          Constant:
0:80            1 (const int)
0:80        component-wise multiply (temp float)
0:80          'a' (temp float)
0:80          'b' (temp float)
0:82      move second child to first child (temp float)
0:82        f1: direct index for structure (noContraction global float)
0:82          s: direct index for structure (noContraction out structure{global float f1, global float f2})
0:82            'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
0:82            Constant:
0:82              0 (const int)
0:82          Constant:
0:82            0 (const int)
0:82        add (noContraction temp float)
0:82          add (noContraction temp float)
0:82            'a' (noContraction temp float)
0:82            'b' (noContraction temp float)
0:82          Constant:
0:82            1.000000
0:83      move second child to first child (temp float)
0:83        f2: direct index for structure (noContraction global float)
0:83          s: direct index for structure (noContraction out structure{global float f1, global float f2})
0:83            'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
0:83            Constant:
0:83              0 (const int)
0:83          Constant:
0:83            1 (const int)
0:83        subtract (noContraction temp float)
0:83          subtract (noContraction temp float)
0:83            'a' (noContraction temp float)
0:83            'b' (noContraction temp float)
0:83          Constant:
0:83            1.000000
0:84      move second child to first child (temp float)
0:84        x: direct index for structure (noContraction out float)
0:84          'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
0:84          Constant:
0:84            1 (const int)
0:84        component-wise multiply (noContraction temp float)
0:84          component-wise multiply (noContraction temp float)
0:84            'a' (noContraction temp float)
0:84            'b' (noContraction temp float)
0:84          Constant:
0:84            2.000000
0:86      Branch: Return with expression
0:86        add (temp float)
0:86          'a' (temp float)
0:86          'b' (temp float)
0:89  Function Definition: main( (global void)
0:89    Function Parameters: 
0:?   Linker Objects
0:?     'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
0:?     'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
0:?     'gl_VertexID' (gl_VertexId int VertexId)
0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

