precise_struct_block.vert
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: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)

