HLSL: Fix #1445: distance() works on scalars.
authorJohn Kessenich <cepheus@frii.com>
Mon, 23 Jul 2018 22:55:01 +0000 (16:55 -0600)
committerJohn Kessenich <cepheus@frii.com>
Mon, 23 Jul 2018 22:55:01 +0000 (16:55 -0600)
Test/baseResults/hlsl.intrinsics.frag.out
Test/hlsl.intrinsics.frag [changed mode: 0644->0755]
hlsl/hlslParseables.cpp

index b7d7139..20eb032 100644 (file)
@@ -142,1110 +142,1104 @@ gl_FragCoord origin is upper left
 0:44          'r023' ( temp float)
 0:44          degrees ( temp float)
 0:44            'inF0' ( in float)
-0:48      Sequence
-0:48        move second child to first child ( temp float)
-0:48          'r027' ( temp float)
-0:48          exp ( temp float)
-0:48            'inF0' ( in float)
+0:45      Sequence
+0:45        move second child to first child ( temp float)
+0:45          'r024' ( temp float)
+0:45          distance ( temp float)
+0:45            'inF0' ( in float)
+0:45            'inF1' ( in float)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
-0:49          'r028' ( temp float)
-0:49          exp2 ( temp float)
+0:49          'r027' ( temp float)
+0:49          exp ( temp float)
 0:49            'inF0' ( in float)
 0:50      Sequence
-0:50        move second child to first child ( temp uint)
-0:50          'r029' ( temp uint)
-0:50          Convert int to uint ( temp uint)
-0:50            findMSB ( temp int)
-0:50              Constant:
-0:50                7 (const int)
+0:50        move second child to first child ( temp float)
+0:50          'r028' ( temp float)
+0:50          exp2 ( temp float)
+0:50            'inF0' ( in float)
 0:51      Sequence
 0:51        move second child to first child ( temp uint)
-0:51          'r030' ( temp uint)
+0:51          'r029' ( temp uint)
 0:51          Convert int to uint ( temp uint)
-0:51            findLSB ( temp int)
+0:51            findMSB ( temp int)
 0:51              Constant:
 0:51                7 (const int)
 0:52      Sequence
-0:52        move second child to first child ( temp float)
-0:52          'r031' ( temp float)
-0:52          Floor ( temp float)
-0:52            'inF0' ( in float)
-0:54      Sequence
-0:54        move second child to first child ( temp float)
-0:54          'r033' ( temp float)
-0:54          mod ( temp float)
-0:54            'inF0' ( in float)
-0:54            'inF1' ( in float)
+0:52        move second child to first child ( temp uint)
+0:52          'r030' ( temp uint)
+0:52          Convert int to uint ( temp uint)
+0:52            findLSB ( temp int)
+0:52              Constant:
+0:52                7 (const int)
+0:53      Sequence
+0:53        move second child to first child ( temp float)
+0:53          'r031' ( temp float)
+0:53          Floor ( temp float)
+0:53            'inF0' ( in float)
 0:55      Sequence
 0:55        move second child to first child ( temp float)
-0:55          'r034' ( temp float)
-0:55          Fraction ( temp float)
+0:55          'r033' ( temp float)
+0:55          mod ( temp float)
 0:55            'inF0' ( in float)
+0:55            'inF1' ( in float)
 0:56      Sequence
 0:56        move second child to first child ( temp float)
-0:56          'r036' ( temp float)
-0:56          fwidth ( temp float)
+0:56          'r034' ( temp float)
+0:56          Fraction ( temp float)
 0:56            'inF0' ( in float)
 0:57      Sequence
-0:57        move second child to first child ( temp bool)
-0:57          'r037' ( temp bool)
-0:57          isinf ( temp bool)
+0:57        move second child to first child ( temp float)
+0:57          'r036' ( temp float)
+0:57          fwidth ( temp float)
 0:57            'inF0' ( in float)
 0:58      Sequence
 0:58        move second child to first child ( temp bool)
-0:58          'r038' ( temp bool)
-0:58          isnan ( temp bool)
+0:58          'r037' ( temp bool)
+0:58          isinf ( temp bool)
 0:58            'inF0' ( in float)
 0:59      Sequence
-0:59        move second child to first child ( temp float)
-0:59          'r039' ( temp float)
-0:59          ldexp ( temp float)
+0:59        move second child to first child ( temp bool)
+0:59          'r038' ( temp bool)
+0:59          isnan ( temp bool)
 0:59            'inF0' ( in float)
-0:59            'inF1' ( in float)
 0:60      Sequence
 0:60        move second child to first child ( temp float)
-0:60          'r039a' ( temp float)
-0:60          mix ( temp float)
+0:60          'r039' ( temp float)
+0:60          ldexp ( temp float)
 0:60            'inF0' ( in float)
 0:60            'inF1' ( in float)
-0:60            'inF2' ( in float)
 0:61      Sequence
 0:61        move second child to first child ( temp float)
-0:61          'r040' ( temp float)
-0:61          log ( temp float)
+0:61          'r039a' ( temp float)
+0:61          mix ( temp float)
 0:61            'inF0' ( in float)
+0:61            'inF1' ( in float)
+0:61            'inF2' ( in float)
 0:62      Sequence
 0:62        move second child to first child ( temp float)
-0:62          'r041' ( temp float)
-0:62          component-wise multiply ( temp float)
-0:62            log2 ( temp float)
-0:62              'inF0' ( in float)
-0:62            Constant:
-0:62              0.301030
+0:62          'r040' ( temp float)
+0:62          log ( temp float)
+0:62            'inF0' ( in float)
 0:63      Sequence
 0:63        move second child to first child ( temp float)
-0:63          'r042' ( temp float)
-0:63          log2 ( temp float)
-0:63            'inF0' ( in float)
+0:63          'r041' ( temp float)
+0:63          component-wise multiply ( temp float)
+0:63            log2 ( temp float)
+0:63              'inF0' ( in float)
+0:63            Constant:
+0:63              0.301030
 0:64      Sequence
 0:64        move second child to first child ( temp float)
-0:64          'r043' ( temp float)
-0:64          max ( temp float)
+0:64          'r042' ( temp float)
+0:64          log2 ( temp float)
 0:64            'inF0' ( in float)
-0:64            'inF1' ( in float)
 0:65      Sequence
 0:65        move second child to first child ( temp float)
-0:65          'r044' ( temp float)
-0:65          min ( temp float)
+0:65          'r043' ( temp float)
+0:65          max ( temp float)
 0:65            'inF0' ( in float)
 0:65            'inF1' ( in float)
 0:66      Sequence
 0:66        move second child to first child ( temp float)
-0:66          'r045' ( temp float)
-0:66          pow ( temp float)
+0:66          'r044' ( temp float)
+0:66          min ( temp float)
 0:66            'inF0' ( in float)
 0:66            'inF1' ( in float)
 0:67      Sequence
 0:67        move second child to first child ( temp float)
-0:67          'r046' ( temp float)
-0:67          radians ( temp float)
+0:67          'r045' ( temp float)
+0:67          pow ( temp float)
 0:67            'inF0' ( in float)
+0:67            'inF1' ( in float)
 0:68      Sequence
 0:68        move second child to first child ( temp float)
-0:68          'r047' ( temp float)
-0:68          divide ( temp float)
-0:68            Constant:
-0:68              1.000000
+0:68          'r046' ( temp float)
+0:68          radians ( temp float)
 0:68            'inF0' ( in float)
 0:69      Sequence
-0:69        move second child to first child ( temp uint)
-0:69          'r048' ( temp uint)
-0:69          Convert int to uint ( temp uint)
-0:69            bitFieldReverse ( temp int)
-0:69              Constant:
-0:69                2 (const int)
+0:69        move second child to first child ( temp float)
+0:69          'r047' ( temp float)
+0:69          divide ( temp float)
+0:69            Constant:
+0:69              1.000000
+0:69            'inF0' ( in float)
 0:70      Sequence
-0:70        move second child to first child ( temp float)
-0:70          'r049' ( temp float)
-0:70          roundEven ( temp float)
-0:70            'inF0' ( in float)
+0:70        move second child to first child ( temp uint)
+0:70          'r048' ( temp uint)
+0:70          Convert int to uint ( temp uint)
+0:70            bitFieldReverse ( temp int)
+0:70              Constant:
+0:70                2 (const int)
 0:71      Sequence
 0:71        move second child to first child ( temp float)
-0:71          'r050' ( temp float)
-0:71          inverse sqrt ( temp float)
+0:71          'r049' ( temp float)
+0:71          roundEven ( temp float)
 0:71            'inF0' ( in float)
 0:72      Sequence
 0:72        move second child to first child ( temp float)
-0:72          'r051' ( temp float)
-0:72          clamp ( temp float)
+0:72          'r050' ( temp float)
+0:72          inverse sqrt ( temp float)
 0:72            'inF0' ( in float)
-0:72            Constant:
-0:72              0.000000
-0:72            Constant:
-0:72              1.000000
 0:73      Sequence
 0:73        move second child to first child ( temp float)
-0:73          'r052' ( temp float)
-0:73          Sign ( temp float)
+0:73          'r051' ( temp float)
+0:73          clamp ( temp float)
 0:73            'inF0' ( in float)
+0:73            Constant:
+0:73              0.000000
+0:73            Constant:
+0:73              1.000000
 0:74      Sequence
 0:74        move second child to first child ( temp float)
-0:74          'r053' ( temp float)
-0:74          sine ( temp float)
+0:74          'r052' ( temp float)
+0:74          Sign ( temp float)
 0:74            'inF0' ( in float)
 0:75      Sequence
 0:75        move second child to first child ( temp float)
-0:75          'inF1' ( in float)
+0:75          'r053' ( temp float)
 0:75          sine ( temp float)
 0:75            'inF0' ( in float)
-0:75        move second child to first child ( temp float)
-0:75          'inF2' ( in float)
-0:75          cosine ( temp float)
-0:75            'inF0' ( in float)
 0:76      Sequence
 0:76        move second child to first child ( temp float)
-0:76          'r055' ( temp float)
-0:76          hyp. sine ( temp float)
+0:76          'inF1' ( in float)
+0:76          sine ( temp float)
+0:76            'inF0' ( in float)
+0:76        move second child to first child ( temp float)
+0:76          'inF2' ( in float)
+0:76          cosine ( temp float)
 0:76            'inF0' ( in float)
 0:77      Sequence
 0:77        move second child to first child ( temp float)
-0:77          'r056' ( temp float)
-0:77          smoothstep ( temp float)
+0:77          'r055' ( temp float)
+0:77          hyp. sine ( temp float)
 0:77            'inF0' ( in float)
-0:77            'inF1' ( in float)
-0:77            'inF2' ( in float)
 0:78      Sequence
 0:78        move second child to first child ( temp float)
-0:78          'r057' ( temp float)
-0:78          sqrt ( temp float)
+0:78          'r056' ( temp float)
+0:78          smoothstep ( temp float)
 0:78            'inF0' ( in float)
+0:78            'inF1' ( in float)
+0:78            'inF2' ( in float)
 0:79      Sequence
 0:79        move second child to first child ( temp float)
-0:79          'r058' ( temp float)
-0:79          step ( temp float)
+0:79          'r057' ( temp float)
+0:79          sqrt ( temp float)
 0:79            'inF0' ( in float)
-0:79            'inF1' ( in float)
 0:80      Sequence
 0:80        move second child to first child ( temp float)
-0:80          'r059' ( temp float)
-0:80          tangent ( temp float)
+0:80          'r058' ( temp float)
+0:80          step ( temp float)
 0:80            'inF0' ( in float)
+0:80            'inF1' ( in float)
 0:81      Sequence
 0:81        move second child to first child ( temp float)
-0:81          'r060' ( temp float)
-0:81          hyp. tangent ( temp float)
+0:81          'r059' ( temp float)
+0:81          tangent ( temp float)
 0:81            'inF0' ( in float)
-0:83      Sequence
-0:83        move second child to first child ( temp float)
-0:83          'r061' ( temp float)
-0:83          trunc ( temp float)
-0:83            'inF0' ( in float)
-0:85      Branch: Return with expression
-0:85        Constant:
-0:85          0.000000
-0:89  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
-0:89    Function Parameters: 
-0:89      'inF0' ( in 1-component vector of float)
-0:89      'inF1' ( in 1-component vector of float)
-0:89      'inF2' ( in 1-component vector of float)
+0:82      Sequence
+0:82        move second child to first child ( temp float)
+0:82          'r060' ( temp float)
+0:82          hyp. tangent ( temp float)
+0:82            'inF0' ( in float)
+0:84      Sequence
+0:84        move second child to first child ( temp float)
+0:84          'r061' ( temp float)
+0:84          trunc ( temp float)
+0:84            'inF0' ( in float)
+0:86      Branch: Return with expression
+0:86        Constant:
+0:86          0.000000
+0:90  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:90    Function Parameters: 
+0:90      'inF0' ( in 1-component vector of float)
+0:90      'inF1' ( in 1-component vector of float)
+0:90      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-0:91      Branch: Return with expression
-0:91        Constant:
-0:91          0.000000
-0:95  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
-0:95    Function Parameters: 
-0:95      'inF0' ( in 2-component vector of float)
-0:95      'inF1' ( in 2-component vector of float)
-0:95      'inF2' ( in 2-component vector of float)
-0:95      'inU0' ( in 2-component vector of uint)
-0:95      'inU1' ( in 2-component vector of uint)
+0:92      Branch: Return with expression
+0:92        Constant:
+0:92          0.000000
+0:96  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:96    Function Parameters: 
+0:96      'inF0' ( in 2-component vector of float)
+0:96      'inF1' ( in 2-component vector of float)
+0:96      'inF2' ( in 2-component vector of float)
+0:96      'inU0' ( in 2-component vector of uint)
+0:96      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
-0:98      Sequence
-0:98        move second child to first child ( temp bool)
-0:98          'r000' ( temp bool)
-0:98          all ( temp bool)
-0:98            Convert float to bool ( temp 2-component vector of bool)
-0:98              'inF0' ( in 2-component vector of float)
 0:99      Sequence
-0:99        move second child to first child ( temp 2-component vector of float)
-0:99          'r001' ( temp 2-component vector of float)
-0:99          Absolute value ( temp 2-component vector of float)
-0:99            'inF0' ( in 2-component vector of float)
+0:99        move second child to first child ( temp bool)
+0:99          'r000' ( temp bool)
+0:99          all ( temp bool)
+0:99            Convert float to bool ( temp 2-component vector of bool)
+0:99              'inF0' ( in 2-component vector of float)
 0:100      Sequence
 0:100        move second child to first child ( temp 2-component vector of float)
-0:100          'r002' ( temp 2-component vector of float)
-0:100          arc cosine ( temp 2-component vector of float)
+0:100          'r001' ( temp 2-component vector of float)
+0:100          Absolute value ( temp 2-component vector of float)
 0:100            'inF0' ( in 2-component vector of float)
 0:101      Sequence
-0:101        move second child to first child ( temp bool)
-0:101          'r003' ( temp bool)
-0:101          any ( temp bool)
-0:101            Convert float to bool ( temp 2-component vector of bool)
-0:101              'inF0' ( in 2-component vector of float)
+0:101        move second child to first child ( temp 2-component vector of float)
+0:101          'r002' ( temp 2-component vector of float)
+0:101          arc cosine ( temp 2-component vector of float)
+0:101            'inF0' ( in 2-component vector of float)
 0:102      Sequence
-0:102        move second child to first child ( temp 2-component vector of float)
-0:102          'r004' ( temp 2-component vector of float)
-0:102          arc sine ( temp 2-component vector of float)
-0:102            'inF0' ( in 2-component vector of float)
+0:102        move second child to first child ( temp bool)
+0:102          'r003' ( temp bool)
+0:102          any ( temp bool)
+0:102            Convert float to bool ( temp 2-component vector of bool)
+0:102              'inF0' ( in 2-component vector of float)
 0:103      Sequence
-0:103        move second child to first child ( temp 2-component vector of int)
-0:103          'r005' ( temp 2-component vector of int)
-0:103          floatBitsToInt ( temp 2-component vector of int)
+0:103        move second child to first child ( temp 2-component vector of float)
+0:103          'r004' ( temp 2-component vector of float)
+0:103          arc sine ( temp 2-component vector of float)
 0:103            'inF0' ( in 2-component vector of float)
 0:104      Sequence
-0:104        move second child to first child ( temp 2-component vector of uint)
-0:104          'r006' ( temp 2-component vector of uint)
-0:104          floatBitsToUint ( temp 2-component vector of uint)
+0:104        move second child to first child ( temp 2-component vector of int)
+0:104          'r005' ( temp 2-component vector of int)
+0:104          floatBitsToInt ( temp 2-component vector of int)
 0:104            'inF0' ( in 2-component vector of float)
 0:105      Sequence
-0:105        move second child to first child ( temp 2-component vector of float)
-0:105          'r007' ( temp 2-component vector of float)
-0:105          intBitsToFloat ( temp 2-component vector of float)
-0:105            'inU0' ( in 2-component vector of uint)
-0:107      Sequence
-0:107        move second child to first child ( temp 2-component vector of float)
-0:107          'r009' ( temp 2-component vector of float)
-0:107          arc tangent ( temp 2-component vector of float)
-0:107            'inF0' ( in 2-component vector of float)
+0:105        move second child to first child ( temp 2-component vector of uint)
+0:105          'r006' ( temp 2-component vector of uint)
+0:105          floatBitsToUint ( temp 2-component vector of uint)
+0:105            'inF0' ( in 2-component vector of float)
+0:106      Sequence
+0:106        move second child to first child ( temp 2-component vector of float)
+0:106          'r007' ( temp 2-component vector of float)
+0:106          intBitsToFloat ( temp 2-component vector of float)
+0:106            'inU0' ( in 2-component vector of uint)
 0:108      Sequence
 0:108        move second child to first child ( temp 2-component vector of float)
-0:108          'r010' ( temp 2-component vector of float)
+0:108          'r009' ( temp 2-component vector of float)
 0:108          arc tangent ( temp 2-component vector of float)
 0:108            'inF0' ( in 2-component vector of float)
-0:108            'inF1' ( in 2-component vector of float)
 0:109      Sequence
 0:109        move second child to first child ( temp 2-component vector of float)
-0:109          'r011' ( temp 2-component vector of float)
-0:109          Ceiling ( temp 2-component vector of float)
+0:109          'r010' ( temp 2-component vector of float)
+0:109          arc tangent ( temp 2-component vector of float)
 0:109            'inF0' ( in 2-component vector of float)
+0:109            'inF1' ( in 2-component vector of float)
 0:110      Sequence
 0:110        move second child to first child ( temp 2-component vector of float)
-0:110          'r012' ( temp 2-component vector of float)
-0:110          clamp ( temp 2-component vector of float)
+0:110          'r011' ( temp 2-component vector of float)
+0:110          Ceiling ( temp 2-component vector of float)
 0:110            'inF0' ( in 2-component vector of float)
-0:110            'inF1' ( in 2-component vector of float)
-0:110            'inF2' ( in 2-component vector of float)
-0:111      Test condition and select ( temp void)
-0:111        Condition
-0:111        any ( temp bool)
-0:111          Compare Less Than ( temp 2-component vector of bool)
+0:111      Sequence
+0:111        move second child to first child ( temp 2-component vector of float)
+0:111          'r012' ( temp 2-component vector of float)
+0:111          clamp ( temp 2-component vector of float)
 0:111            'inF0' ( in 2-component vector of float)
-0:111            Constant:
-0:111              0.000000
-0:111              0.000000
-0:111        true case
-0:111        Branch: Kill
+0:111            'inF1' ( in 2-component vector of float)
+0:111            'inF2' ( in 2-component vector of float)
 0:112      Test condition and select ( temp void)
 0:112        Condition
 0:112        any ( temp bool)
 0:112          Compare Less Than ( temp 2-component vector of bool)
-0:112            'inU0' ( in 2-component vector of uint)
+0:112            'inF0' ( in 2-component vector of float)
 0:112            Constant:
 0:112              0.000000
 0:112              0.000000
 0:112        true case
 0:112        Branch: Kill
-0:113      Sequence
-0:113        move second child to first child ( temp 2-component vector of float)
-0:113          'r013' ( temp 2-component vector of float)
-0:113          cosine ( temp 2-component vector of float)
-0:113            'inF0' ( in 2-component vector of float)
+0:113      Test condition and select ( temp void)
+0:113        Condition
+0:113        any ( temp bool)
+0:113          Compare Less Than ( temp 2-component vector of bool)
+0:113            'inU0' ( in 2-component vector of uint)
+0:113            Constant:
+0:113              0.000000
+0:113              0.000000
+0:113        true case
+0:113        Branch: Kill
 0:114      Sequence
 0:114        move second child to first child ( temp 2-component vector of float)
-0:114          'r015' ( temp 2-component vector of float)
-0:114          hyp. cosine ( temp 2-component vector of float)
+0:114          'r013' ( temp 2-component vector of float)
+0:114          cosine ( temp 2-component vector of float)
 0:114            'inF0' ( in 2-component vector of float)
 0:115      Sequence
-0:115        move second child to first child ( temp 2-component vector of int)
-0:115          'r016' ( temp 2-component vector of int)
+0:115        move second child to first child ( temp 2-component vector of float)
+0:115          'r015' ( temp 2-component vector of float)
+0:115          hyp. cosine ( temp 2-component vector of float)
+0:115            'inF0' ( in 2-component vector of float)
+0:116      Sequence
+0:116        move second child to first child ( temp 2-component vector of int)
+0:116          'r016' ( temp 2-component vector of int)
 0:?           bitCount ( temp 2-component vector of int)
 0:?             Constant:
 0:?               7 (const int)
 0:?               3 (const int)
-0:116      Sequence
-0:116        move second child to first child ( temp 2-component vector of float)
-0:116          'r017' ( temp 2-component vector of float)
-0:116          dPdx ( temp 2-component vector of float)
-0:116            'inF0' ( in 2-component vector of float)
 0:117      Sequence
 0:117        move second child to first child ( temp 2-component vector of float)
-0:117          'r018' ( temp 2-component vector of float)
-0:117          dPdxCoarse ( temp 2-component vector of float)
+0:117          'r017' ( temp 2-component vector of float)
+0:117          dPdx ( temp 2-component vector of float)
 0:117            'inF0' ( in 2-component vector of float)
 0:118      Sequence
 0:118        move second child to first child ( temp 2-component vector of float)
-0:118          'r019' ( temp 2-component vector of float)
-0:118          dPdxFine ( temp 2-component vector of float)
+0:118          'r018' ( temp 2-component vector of float)
+0:118          dPdxCoarse ( temp 2-component vector of float)
 0:118            'inF0' ( in 2-component vector of float)
 0:119      Sequence
 0:119        move second child to first child ( temp 2-component vector of float)
-0:119          'r020' ( temp 2-component vector of float)
-0:119          dPdy ( temp 2-component vector of float)
+0:119          'r019' ( temp 2-component vector of float)
+0:119          dPdxFine ( temp 2-component vector of float)
 0:119            'inF0' ( in 2-component vector of float)
 0:120      Sequence
 0:120        move second child to first child ( temp 2-component vector of float)
-0:120          'r021' ( temp 2-component vector of float)
-0:120          dPdyCoarse ( temp 2-component vector of float)
+0:120          'r020' ( temp 2-component vector of float)
+0:120          dPdy ( temp 2-component vector of float)
 0:120            'inF0' ( in 2-component vector of float)
 0:121      Sequence
 0:121        move second child to first child ( temp 2-component vector of float)
-0:121          'r022' ( temp 2-component vector of float)
-0:121          dPdyFine ( temp 2-component vector of float)
+0:121          'r021' ( temp 2-component vector of float)
+0:121          dPdyCoarse ( temp 2-component vector of float)
 0:121            'inF0' ( in 2-component vector of float)
 0:122      Sequence
 0:122        move second child to first child ( temp 2-component vector of float)
-0:122          'r023' ( temp 2-component vector of float)
-0:122          degrees ( temp 2-component vector of float)
+0:122          'r022' ( temp 2-component vector of float)
+0:122          dPdyFine ( temp 2-component vector of float)
 0:122            'inF0' ( in 2-component vector of float)
-0:126      Sequence
-0:126        move second child to first child ( temp float)
-0:126          'r026' ( temp float)
-0:126          distance ( temp float)
-0:126            'inF0' ( in 2-component vector of float)
-0:126            'inF1' ( in 2-component vector of float)
+0:123      Sequence
+0:123        move second child to first child ( temp 2-component vector of float)
+0:123          'r023' ( temp 2-component vector of float)
+0:123          degrees ( temp 2-component vector of float)
+0:123            'inF0' ( in 2-component vector of float)
 0:127      Sequence
 0:127        move second child to first child ( temp float)
-0:127          'r027' ( temp float)
-0:127          dot-product ( temp float)
+0:127          'r026' ( temp float)
+0:127          distance ( temp float)
 0:127            'inF0' ( in 2-component vector of float)
 0:127            'inF1' ( in 2-component vector of float)
-0:131      Sequence
-0:131        move second child to first child ( temp 2-component vector of float)
-0:131          'r028' ( temp 2-component vector of float)
-0:131          exp ( temp 2-component vector of float)
-0:131            'inF0' ( in 2-component vector of float)
+0:128      Sequence
+0:128        move second child to first child ( temp float)
+0:128          'r027' ( temp float)
+0:128          dot-product ( temp float)
+0:128            'inF0' ( in 2-component vector of float)
+0:128            'inF1' ( in 2-component vector of float)
 0:132      Sequence
 0:132        move second child to first child ( temp 2-component vector of float)
-0:132          'r029' ( temp 2-component vector of float)
-0:132          exp2 ( temp 2-component vector of float)
+0:132          'r028' ( temp 2-component vector of float)
+0:132          exp ( temp 2-component vector of float)
 0:132            'inF0' ( in 2-component vector of float)
 0:133      Sequence
 0:133        move second child to first child ( temp 2-component vector of float)
-0:133          'r030' ( temp 2-component vector of float)
-0:133          face-forward ( temp 2-component vector of float)
+0:133          'r029' ( temp 2-component vector of float)
+0:133          exp2 ( temp 2-component vector of float)
 0:133            'inF0' ( in 2-component vector of float)
-0:133            'inF1' ( in 2-component vector of float)
-0:133            'inF2' ( in 2-component vector of float)
 0:134      Sequence
-0:134        move second child to first child ( temp 2-component vector of uint)
-0:134          'r031' ( temp 2-component vector of uint)
+0:134        move second child to first child ( temp 2-component vector of float)
+0:134          'r030' ( temp 2-component vector of float)
+0:134          face-forward ( temp 2-component vector of float)
+0:134            'inF0' ( in 2-component vector of float)
+0:134            'inF1' ( in 2-component vector of float)
+0:134            'inF2' ( in 2-component vector of float)
+0:135      Sequence
+0:135        move second child to first child ( temp 2-component vector of uint)
+0:135          'r031' ( temp 2-component vector of uint)
 0:?           findMSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:135      Sequence
-0:135        move second child to first child ( temp 2-component vector of uint)
-0:135          'r032' ( temp 2-component vector of uint)
+0:136      Sequence
+0:136        move second child to first child ( temp 2-component vector of uint)
+0:136          'r032' ( temp 2-component vector of uint)
 0:?           findLSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:136      Sequence
-0:136        move second child to first child ( temp 2-component vector of float)
-0:136          'r033' ( temp 2-component vector of float)
-0:136          Floor ( temp 2-component vector of float)
-0:136            'inF0' ( in 2-component vector of float)
-0:138      Sequence
-0:138        move second child to first child ( temp 2-component vector of float)
-0:138          'r035' ( temp 2-component vector of float)
-0:138          mod ( temp 2-component vector of float)
-0:138            'inF0' ( in 2-component vector of float)
-0:138            'inF1' ( in 2-component vector of float)
+0:137      Sequence
+0:137        move second child to first child ( temp 2-component vector of float)
+0:137          'r033' ( temp 2-component vector of float)
+0:137          Floor ( temp 2-component vector of float)
+0:137            'inF0' ( in 2-component vector of float)
 0:139      Sequence
 0:139        move second child to first child ( temp 2-component vector of float)
-0:139          'r036' ( temp 2-component vector of float)
-0:139          Fraction ( temp 2-component vector of float)
+0:139          'r035' ( temp 2-component vector of float)
+0:139          mod ( temp 2-component vector of float)
 0:139            'inF0' ( in 2-component vector of float)
+0:139            'inF1' ( in 2-component vector of float)
 0:140      Sequence
 0:140        move second child to first child ( temp 2-component vector of float)
-0:140          'r038' ( temp 2-component vector of float)
-0:140          fwidth ( temp 2-component vector of float)
+0:140          'r036' ( temp 2-component vector of float)
+0:140          Fraction ( temp 2-component vector of float)
 0:140            'inF0' ( in 2-component vector of float)
 0:141      Sequence
-0:141        move second child to first child ( temp 2-component vector of bool)
-0:141          'r039' ( temp 2-component vector of bool)
-0:141          isinf ( temp 2-component vector of bool)
+0:141        move second child to first child ( temp 2-component vector of float)
+0:141          'r038' ( temp 2-component vector of float)
+0:141          fwidth ( temp 2-component vector of float)
 0:141            'inF0' ( in 2-component vector of float)
 0:142      Sequence
 0:142        move second child to first child ( temp 2-component vector of bool)
-0:142          'r040' ( temp 2-component vector of bool)
-0:142          isnan ( temp 2-component vector of bool)
+0:142          'r039' ( temp 2-component vector of bool)
+0:142          isinf ( temp 2-component vector of bool)
 0:142            'inF0' ( in 2-component vector of float)
 0:143      Sequence
-0:143        move second child to first child ( temp 2-component vector of float)
-0:143          'r041' ( temp 2-component vector of float)
-0:143          ldexp ( temp 2-component vector of float)
+0:143        move second child to first child ( temp 2-component vector of bool)
+0:143          'r040' ( temp 2-component vector of bool)
+0:143          isnan ( temp 2-component vector of bool)
 0:143            'inF0' ( in 2-component vector of float)
-0:143            'inF1' ( in 2-component vector of float)
 0:144      Sequence
 0:144        move second child to first child ( temp 2-component vector of float)
-0:144          'r039a' ( temp 2-component vector of float)
-0:144          mix ( temp 2-component vector of float)
+0:144          'r041' ( temp 2-component vector of float)
+0:144          ldexp ( temp 2-component vector of float)
 0:144            'inF0' ( in 2-component vector of float)
 0:144            'inF1' ( in 2-component vector of float)
-0:144            'inF2' ( in 2-component vector of float)
 0:145      Sequence
-0:145        move second child to first child ( temp float)
-0:145          'r042' ( temp float)
-0:145          length ( temp float)
+0:145        move second child to first child ( temp 2-component vector of float)
+0:145          'r039a' ( temp 2-component vector of float)
+0:145          mix ( temp 2-component vector of float)
 0:145            'inF0' ( in 2-component vector of float)
+0:145            'inF1' ( in 2-component vector of float)
+0:145            'inF2' ( in 2-component vector of float)
 0:146      Sequence
-0:146        move second child to first child ( temp 2-component vector of float)
-0:146          'r043' ( temp 2-component vector of float)
-0:146          log ( temp 2-component vector of float)
+0:146        move second child to first child ( temp float)
+0:146          'r042' ( temp float)
+0:146          length ( temp float)
 0:146            'inF0' ( in 2-component vector of float)
 0:147      Sequence
 0:147        move second child to first child ( temp 2-component vector of float)
-0:147          'r044' ( temp 2-component vector of float)
-0:147          vector-scale ( temp 2-component vector of float)
-0:147            log2 ( temp 2-component vector of float)
-0:147              'inF0' ( in 2-component vector of float)
-0:147            Constant:
-0:147              0.301030
+0:147          'r043' ( temp 2-component vector of float)
+0:147          log ( temp 2-component vector of float)
+0:147            'inF0' ( in 2-component vector of float)
 0:148      Sequence
 0:148        move second child to first child ( temp 2-component vector of float)
-0:148          'r045' ( temp 2-component vector of float)
-0:148          log2 ( temp 2-component vector of float)
-0:148            'inF0' ( in 2-component vector of float)
+0:148          'r044' ( temp 2-component vector of float)
+0:148          vector-scale ( temp 2-component vector of float)
+0:148            log2 ( temp 2-component vector of float)
+0:148              'inF0' ( in 2-component vector of float)
+0:148            Constant:
+0:148              0.301030
 0:149      Sequence
 0:149        move second child to first child ( temp 2-component vector of float)
-0:149          'r046' ( temp 2-component vector of float)
-0:149          max ( temp 2-component vector of float)
+0:149          'r045' ( temp 2-component vector of float)
+0:149          log2 ( temp 2-component vector of float)
 0:149            'inF0' ( in 2-component vector of float)
-0:149            'inF1' ( in 2-component vector of float)
 0:150      Sequence
 0:150        move second child to first child ( temp 2-component vector of float)
-0:150          'r047' ( temp 2-component vector of float)
-0:150          min ( temp 2-component vector of float)
+0:150          'r046' ( temp 2-component vector of float)
+0:150          max ( temp 2-component vector of float)
 0:150            'inF0' ( in 2-component vector of float)
 0:150            'inF1' ( in 2-component vector of float)
 0:151      Sequence
 0:151        move second child to first child ( temp 2-component vector of float)
-0:151          'r048' ( temp 2-component vector of float)
-0:151          normalize ( temp 2-component vector of float)
+0:151          'r047' ( temp 2-component vector of float)
+0:151          min ( temp 2-component vector of float)
 0:151            'inF0' ( in 2-component vector of float)
+0:151            'inF1' ( in 2-component vector of float)
 0:152      Sequence
 0:152        move second child to first child ( temp 2-component vector of float)
-0:152          'r049' ( temp 2-component vector of float)
-0:152          pow ( temp 2-component vector of float)
+0:152          'r048' ( temp 2-component vector of float)
+0:152          normalize ( temp 2-component vector of float)
 0:152            'inF0' ( in 2-component vector of float)
-0:152            'inF1' ( in 2-component vector of float)
 0:153      Sequence
 0:153        move second child to first child ( temp 2-component vector of float)
-0:153          'r050' ( temp 2-component vector of float)
-0:153          radians ( temp 2-component vector of float)
+0:153          'r049' ( temp 2-component vector of float)
+0:153          pow ( temp 2-component vector of float)
 0:153            'inF0' ( in 2-component vector of float)
+0:153            'inF1' ( in 2-component vector of float)
 0:154      Sequence
 0:154        move second child to first child ( temp 2-component vector of float)
-0:154          'r051' ( temp 2-component vector of float)
-0:154          divide ( temp 2-component vector of float)
-0:154            Constant:
-0:154              1.000000
+0:154          'r050' ( temp 2-component vector of float)
+0:154          radians ( temp 2-component vector of float)
 0:154            'inF0' ( in 2-component vector of float)
 0:155      Sequence
 0:155        move second child to first child ( temp 2-component vector of float)
-0:155          'r052' ( temp 2-component vector of float)
-0:155          reflect ( temp 2-component vector of float)
+0:155          'r051' ( temp 2-component vector of float)
+0:155          divide ( temp 2-component vector of float)
+0:155            Constant:
+0:155              1.000000
 0:155            'inF0' ( in 2-component vector of float)
-0:155            'inF1' ( in 2-component vector of float)
 0:156      Sequence
 0:156        move second child to first child ( temp 2-component vector of float)
-0:156          'r053' ( temp 2-component vector of float)
-0:156          refract ( temp 2-component vector of float)
+0:156          'r052' ( temp 2-component vector of float)
+0:156          reflect ( temp 2-component vector of float)
 0:156            'inF0' ( in 2-component vector of float)
 0:156            'inF1' ( in 2-component vector of float)
-0:156            Constant:
-0:156              2.000000
 0:157      Sequence
-0:157        move second child to first child ( temp 2-component vector of uint)
-0:157          'r054' ( temp 2-component vector of uint)
+0:157        move second child to first child ( temp 2-component vector of float)
+0:157          'r053' ( temp 2-component vector of float)
+0:157          refract ( temp 2-component vector of float)
+0:157            'inF0' ( in 2-component vector of float)
+0:157            'inF1' ( in 2-component vector of float)
+0:157            Constant:
+0:157              2.000000
+0:158      Sequence
+0:158        move second child to first child ( temp 2-component vector of uint)
+0:158          'r054' ( temp 2-component vector of uint)
 0:?           bitFieldReverse ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
-0:158      Sequence
-0:158        move second child to first child ( temp 2-component vector of float)
-0:158          'r055' ( temp 2-component vector of float)
-0:158          roundEven ( temp 2-component vector of float)
-0:158            'inF0' ( in 2-component vector of float)
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of float)
-0:159          'r056' ( temp 2-component vector of float)
-0:159          inverse sqrt ( temp 2-component vector of float)
+0:159          'r055' ( temp 2-component vector of float)
+0:159          roundEven ( temp 2-component vector of float)
 0:159            'inF0' ( in 2-component vector of float)
 0:160      Sequence
 0:160        move second child to first child ( temp 2-component vector of float)
-0:160          'r057' ( temp 2-component vector of float)
-0:160          clamp ( temp 2-component vector of float)
+0:160          'r056' ( temp 2-component vector of float)
+0:160          inverse sqrt ( temp 2-component vector of float)
 0:160            'inF0' ( in 2-component vector of float)
-0:160            Constant:
-0:160              0.000000
-0:160            Constant:
-0:160              1.000000
 0:161      Sequence
 0:161        move second child to first child ( temp 2-component vector of float)
-0:161          'r058' ( temp 2-component vector of float)
-0:161          Sign ( temp 2-component vector of float)
+0:161          'r057' ( temp 2-component vector of float)
+0:161          clamp ( temp 2-component vector of float)
 0:161            'inF0' ( in 2-component vector of float)
+0:161            Constant:
+0:161              0.000000
+0:161            Constant:
+0:161              1.000000
 0:162      Sequence
 0:162        move second child to first child ( temp 2-component vector of float)
-0:162          'r059' ( temp 2-component vector of float)
-0:162          sine ( temp 2-component vector of float)
+0:162          'r058' ( temp 2-component vector of float)
+0:162          Sign ( temp 2-component vector of float)
 0:162            'inF0' ( in 2-component vector of float)
 0:163      Sequence
 0:163        move second child to first child ( temp 2-component vector of float)
-0:163          'inF1' ( in 2-component vector of float)
+0:163          'r059' ( temp 2-component vector of float)
 0:163          sine ( temp 2-component vector of float)
 0:163            'inF0' ( in 2-component vector of float)
-0:163        move second child to first child ( temp 2-component vector of float)
-0:163          'inF2' ( in 2-component vector of float)
-0:163          cosine ( temp 2-component vector of float)
-0:163            'inF0' ( in 2-component vector of float)
 0:164      Sequence
 0:164        move second child to first child ( temp 2-component vector of float)
-0:164          'r060' ( temp 2-component vector of float)
-0:164          hyp. sine ( temp 2-component vector of float)
+0:164          'inF1' ( in 2-component vector of float)
+0:164          sine ( temp 2-component vector of float)
+0:164            'inF0' ( in 2-component vector of float)
+0:164        move second child to first child ( temp 2-component vector of float)
+0:164          'inF2' ( in 2-component vector of float)
+0:164          cosine ( temp 2-component vector of float)
 0:164            'inF0' ( in 2-component vector of float)
 0:165      Sequence
 0:165        move second child to first child ( temp 2-component vector of float)
-0:165          'r061' ( temp 2-component vector of float)
-0:165          smoothstep ( temp 2-component vector of float)
+0:165          'r060' ( temp 2-component vector of float)
+0:165          hyp. sine ( temp 2-component vector of float)
 0:165            'inF0' ( in 2-component vector of float)
-0:165            'inF1' ( in 2-component vector of float)
-0:165            'inF2' ( in 2-component vector of float)
 0:166      Sequence
 0:166        move second child to first child ( temp 2-component vector of float)
-0:166          'r062' ( temp 2-component vector of float)
-0:166          sqrt ( temp 2-component vector of float)
+0:166          'r061' ( temp 2-component vector of float)
+0:166          smoothstep ( temp 2-component vector of float)
 0:166            'inF0' ( in 2-component vector of float)
+0:166            'inF1' ( in 2-component vector of float)
+0:166            'inF2' ( in 2-component vector of float)
 0:167      Sequence
 0:167        move second child to first child ( temp 2-component vector of float)
-0:167          'r063' ( temp 2-component vector of float)
-0:167          step ( temp 2-component vector of float)
+0:167          'r062' ( temp 2-component vector of float)
+0:167          sqrt ( temp 2-component vector of float)
 0:167            'inF0' ( in 2-component vector of float)
-0:167            'inF1' ( in 2-component vector of float)
 0:168      Sequence
 0:168        move second child to first child ( temp 2-component vector of float)
-0:168          'r064' ( temp 2-component vector of float)
-0:168          tangent ( temp 2-component vector of float)
+0:168          'r063' ( temp 2-component vector of float)
+0:168          step ( temp 2-component vector of float)
 0:168            'inF0' ( in 2-component vector of float)
+0:168            'inF1' ( in 2-component vector of float)
 0:169      Sequence
 0:169        move second child to first child ( temp 2-component vector of float)
-0:169          'r065' ( temp 2-component vector of float)
-0:169          hyp. tangent ( temp 2-component vector of float)
+0:169          'r064' ( temp 2-component vector of float)
+0:169          tangent ( temp 2-component vector of float)
 0:169            'inF0' ( in 2-component vector of float)
-0:171      Sequence
-0:171        move second child to first child ( temp 2-component vector of float)
-0:171          'r066' ( temp 2-component vector of float)
-0:171          trunc ( temp 2-component vector of float)
-0:171            'inF0' ( in 2-component vector of float)
-0:174      Branch: Return with expression
+0:170      Sequence
+0:170        move second child to first child ( temp 2-component vector of float)
+0:170          'r065' ( temp 2-component vector of float)
+0:170          hyp. tangent ( temp 2-component vector of float)
+0:170            'inF0' ( in 2-component vector of float)
+0:172      Sequence
+0:172        move second child to first child ( temp 2-component vector of float)
+0:172          'r066' ( temp 2-component vector of float)
+0:172          trunc ( temp 2-component vector of float)
+0:172            'inF0' ( in 2-component vector of float)
+0:175      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:178  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
-0:178    Function Parameters: 
-0:178      'inF0' ( in 3-component vector of float)
-0:178      'inF1' ( in 3-component vector of float)
-0:178      'inF2' ( in 3-component vector of float)
-0:178      'inU0' ( in 3-component vector of uint)
-0:178      'inU1' ( in 3-component vector of uint)
+0:179  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:179    Function Parameters: 
+0:179      'inF0' ( in 3-component vector of float)
+0:179      'inF1' ( in 3-component vector of float)
+0:179      'inF2' ( in 3-component vector of float)
+0:179      'inU0' ( in 3-component vector of uint)
+0:179      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
-0:181      Sequence
-0:181        move second child to first child ( temp bool)
-0:181          'r000' ( temp bool)
-0:181          all ( temp bool)
-0:181            Convert float to bool ( temp 3-component vector of bool)
-0:181              'inF0' ( in 3-component vector of float)
 0:182      Sequence
-0:182        move second child to first child ( temp 3-component vector of float)
-0:182          'r001' ( temp 3-component vector of float)
-0:182          Absolute value ( temp 3-component vector of float)
-0:182            'inF0' ( in 3-component vector of float)
+0:182        move second child to first child ( temp bool)
+0:182          'r000' ( temp bool)
+0:182          all ( temp bool)
+0:182            Convert float to bool ( temp 3-component vector of bool)
+0:182              'inF0' ( in 3-component vector of float)
 0:183      Sequence
 0:183        move second child to first child ( temp 3-component vector of float)
-0:183          'r002' ( temp 3-component vector of float)
-0:183          arc cosine ( temp 3-component vector of float)
+0:183          'r001' ( temp 3-component vector of float)
+0:183          Absolute value ( temp 3-component vector of float)
 0:183            'inF0' ( in 3-component vector of float)
 0:184      Sequence
-0:184        move second child to first child ( temp bool)
-0:184          'r003' ( temp bool)
-0:184          any ( temp bool)
-0:184            Convert float to bool ( temp 3-component vector of bool)
-0:184              'inF0' ( in 3-component vector of float)
+0:184        move second child to first child ( temp 3-component vector of float)
+0:184          'r002' ( temp 3-component vector of float)
+0:184          arc cosine ( temp 3-component vector of float)
+0:184            'inF0' ( in 3-component vector of float)
 0:185      Sequence
-0:185        move second child to first child ( temp 3-component vector of float)
-0:185          'r004' ( temp 3-component vector of float)
-0:185          arc sine ( temp 3-component vector of float)
-0:185            'inF0' ( in 3-component vector of float)
+0:185        move second child to first child ( temp bool)
+0:185          'r003' ( temp bool)
+0:185          any ( temp bool)
+0:185            Convert float to bool ( temp 3-component vector of bool)
+0:185              'inF0' ( in 3-component vector of float)
 0:186      Sequence
-0:186        move second child to first child ( temp 3-component vector of int)
-0:186          'r005' ( temp 3-component vector of int)
-0:186          floatBitsToInt ( temp 3-component vector of int)
+0:186        move second child to first child ( temp 3-component vector of float)
+0:186          'r004' ( temp 3-component vector of float)
+0:186          arc sine ( temp 3-component vector of float)
 0:186            'inF0' ( in 3-component vector of float)
 0:187      Sequence
-0:187        move second child to first child ( temp 3-component vector of uint)
-0:187          'r006' ( temp 3-component vector of uint)
-0:187          floatBitsToUint ( temp 3-component vector of uint)
+0:187        move second child to first child ( temp 3-component vector of int)
+0:187          'r005' ( temp 3-component vector of int)
+0:187          floatBitsToInt ( temp 3-component vector of int)
 0:187            'inF0' ( in 3-component vector of float)
 0:188      Sequence
-0:188        move second child to first child ( temp 3-component vector of float)
-0:188          'r007' ( temp 3-component vector of float)
-0:188          intBitsToFloat ( temp 3-component vector of float)
-0:188            'inU0' ( in 3-component vector of uint)
-0:190      Sequence
-0:190        move second child to first child ( temp 3-component vector of float)
-0:190          'r009' ( temp 3-component vector of float)
-0:190          arc tangent ( temp 3-component vector of float)
-0:190            'inF0' ( in 3-component vector of float)
+0:188        move second child to first child ( temp 3-component vector of uint)
+0:188          'r006' ( temp 3-component vector of uint)
+0:188          floatBitsToUint ( temp 3-component vector of uint)
+0:188            'inF0' ( in 3-component vector of float)
+0:189      Sequence
+0:189        move second child to first child ( temp 3-component vector of float)
+0:189          'r007' ( temp 3-component vector of float)
+0:189          intBitsToFloat ( temp 3-component vector of float)
+0:189            'inU0' ( in 3-component vector of uint)
 0:191      Sequence
 0:191        move second child to first child ( temp 3-component vector of float)
-0:191          'r010' ( temp 3-component vector of float)
+0:191          'r009' ( temp 3-component vector of float)
 0:191          arc tangent ( temp 3-component vector of float)
 0:191            'inF0' ( in 3-component vector of float)
-0:191            'inF1' ( in 3-component vector of float)
 0:192      Sequence
 0:192        move second child to first child ( temp 3-component vector of float)
-0:192          'r011' ( temp 3-component vector of float)
-0:192          Ceiling ( temp 3-component vector of float)
+0:192          'r010' ( temp 3-component vector of float)
+0:192          arc tangent ( temp 3-component vector of float)
 0:192            'inF0' ( in 3-component vector of float)
+0:192            'inF1' ( in 3-component vector of float)
 0:193      Sequence
 0:193        move second child to first child ( temp 3-component vector of float)
-0:193          'r012' ( temp 3-component vector of float)
-0:193          clamp ( temp 3-component vector of float)
+0:193          'r011' ( temp 3-component vector of float)
+0:193          Ceiling ( temp 3-component vector of float)
 0:193            'inF0' ( in 3-component vector of float)
-0:193            'inF1' ( in 3-component vector of float)
-0:193            'inF2' ( in 3-component vector of float)
-0:194      Test condition and select ( temp void)
-0:194        Condition
-0:194        any ( temp bool)
-0:194          Compare Less Than ( temp 3-component vector of bool)
+0:194      Sequence
+0:194        move second child to first child ( temp 3-component vector of float)
+0:194          'r012' ( temp 3-component vector of float)
+0:194          clamp ( temp 3-component vector of float)
 0:194            'inF0' ( in 3-component vector of float)
-0:194            Constant:
-0:194              0.000000
-0:194              0.000000
-0:194              0.000000
-0:194        true case
-0:194        Branch: Kill
+0:194            'inF1' ( in 3-component vector of float)
+0:194            'inF2' ( in 3-component vector of float)
 0:195      Test condition and select ( temp void)
 0:195        Condition
 0:195        any ( temp bool)
 0:195          Compare Less Than ( temp 3-component vector of bool)
-0:195            'inU0' ( in 3-component vector of uint)
+0:195            'inF0' ( in 3-component vector of float)
 0:195            Constant:
 0:195              0.000000
 0:195              0.000000
 0:195              0.000000
 0:195        true case
 0:195        Branch: Kill
-0:196      Sequence
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'r013' ( temp 3-component vector of float)
-0:196          cosine ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
+0:196      Test condition and select ( temp void)
+0:196        Condition
+0:196        any ( temp bool)
+0:196          Compare Less Than ( temp 3-component vector of bool)
+0:196            'inU0' ( in 3-component vector of uint)
+0:196            Constant:
+0:196              0.000000
+0:196              0.000000
+0:196              0.000000
+0:196        true case
+0:196        Branch: Kill
 0:197      Sequence
 0:197        move second child to first child ( temp 3-component vector of float)
-0:197          'r014' ( temp 3-component vector of float)
-0:197          hyp. cosine ( temp 3-component vector of float)
+0:197          'r013' ( temp 3-component vector of float)
+0:197          cosine ( temp 3-component vector of float)
 0:197            'inF0' ( in 3-component vector of float)
 0:198      Sequence
-0:198        move second child to first child ( temp 3-component vector of uint)
-0:198          'r015' ( temp 3-component vector of uint)
+0:198        move second child to first child ( temp 3-component vector of float)
+0:198          'r014' ( temp 3-component vector of float)
+0:198          hyp. cosine ( temp 3-component vector of float)
+0:198            'inF0' ( in 3-component vector of float)
+0:199      Sequence
+0:199        move second child to first child ( temp 3-component vector of uint)
+0:199          'r015' ( temp 3-component vector of uint)
 0:?           bitCount ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:?               5 (const uint)
-0:199      Sequence
-0:199        move second child to first child ( temp 3-component vector of float)
-0:199          'r016' ( temp 3-component vector of float)
-0:199          cross-product ( temp 3-component vector of float)
-0:199            'inF0' ( in 3-component vector of float)
-0:199            'inF1' ( in 3-component vector of float)
 0:200      Sequence
 0:200        move second child to first child ( temp 3-component vector of float)
-0:200          'r017' ( temp 3-component vector of float)
-0:200          dPdx ( temp 3-component vector of float)
+0:200          'r016' ( temp 3-component vector of float)
+0:200          cross-product ( temp 3-component vector of float)
 0:200            'inF0' ( in 3-component vector of float)
+0:200            'inF1' ( in 3-component vector of float)
 0:201      Sequence
 0:201        move second child to first child ( temp 3-component vector of float)
-0:201          'r018' ( temp 3-component vector of float)
-0:201          dPdxCoarse ( temp 3-component vector of float)
+0:201          'r017' ( temp 3-component vector of float)
+0:201          dPdx ( temp 3-component vector of float)
 0:201            'inF0' ( in 3-component vector of float)
 0:202      Sequence
 0:202        move second child to first child ( temp 3-component vector of float)
-0:202          'r019' ( temp 3-component vector of float)
-0:202          dPdxFine ( temp 3-component vector of float)
+0:202          'r018' ( temp 3-component vector of float)
+0:202          dPdxCoarse ( temp 3-component vector of float)
 0:202            'inF0' ( in 3-component vector of float)
 0:203      Sequence
 0:203        move second child to first child ( temp 3-component vector of float)
-0:203          'r020' ( temp 3-component vector of float)
-0:203          dPdy ( temp 3-component vector of float)
+0:203          'r019' ( temp 3-component vector of float)
+0:203          dPdxFine ( temp 3-component vector of float)
 0:203            'inF0' ( in 3-component vector of float)
 0:204      Sequence
 0:204        move second child to first child ( temp 3-component vector of float)
-0:204          'r021' ( temp 3-component vector of float)
-0:204          dPdyCoarse ( temp 3-component vector of float)
+0:204          'r020' ( temp 3-component vector of float)
+0:204          dPdy ( temp 3-component vector of float)
 0:204            'inF0' ( in 3-component vector of float)
 0:205      Sequence
 0:205        move second child to first child ( temp 3-component vector of float)
-0:205          'r022' ( temp 3-component vector of float)
-0:205          dPdyFine ( temp 3-component vector of float)
+0:205          'r021' ( temp 3-component vector of float)
+0:205          dPdyCoarse ( temp 3-component vector of float)
 0:205            'inF0' ( in 3-component vector of float)
 0:206      Sequence
 0:206        move second child to first child ( temp 3-component vector of float)
-0:206          'r023' ( temp 3-component vector of float)
-0:206          degrees ( temp 3-component vector of float)
+0:206          'r022' ( temp 3-component vector of float)
+0:206          dPdyFine ( temp 3-component vector of float)
 0:206            'inF0' ( in 3-component vector of float)
 0:207      Sequence
-0:207        move second child to first child ( temp float)
-0:207          'r024' ( temp float)
-0:207          distance ( temp float)
+0:207        move second child to first child ( temp 3-component vector of float)
+0:207          'r023' ( temp 3-component vector of float)
+0:207          degrees ( temp 3-component vector of float)
 0:207            'inF0' ( in 3-component vector of float)
-0:207            'inF1' ( in 3-component vector of float)
 0:208      Sequence
 0:208        move second child to first child ( temp float)
-0:208          'r025' ( temp float)
-0:208          dot-product ( temp float)
+0:208          'r024' ( temp float)
+0:208          distance ( temp float)
 0:208            'inF0' ( in 3-component vector of float)
 0:208            'inF1' ( in 3-component vector of float)
-0:212      Sequence
-0:212        move second child to first child ( temp 3-component vector of float)
-0:212          'r029' ( temp 3-component vector of float)
-0:212          exp ( temp 3-component vector of float)
-0:212            'inF0' ( in 3-component vector of float)
+0:209      Sequence
+0:209        move second child to first child ( temp float)
+0:209          'r025' ( temp float)
+0:209          dot-product ( temp float)
+0:209            'inF0' ( in 3-component vector of float)
+0:209            'inF1' ( in 3-component vector of float)
 0:213      Sequence
 0:213        move second child to first child ( temp 3-component vector of float)
-0:213          'r030' ( temp 3-component vector of float)
-0:213          exp2 ( temp 3-component vector of float)
+0:213          'r029' ( temp 3-component vector of float)
+0:213          exp ( temp 3-component vector of float)
 0:213            'inF0' ( in 3-component vector of float)
 0:214      Sequence
 0:214        move second child to first child ( temp 3-component vector of float)
-0:214          'r031' ( temp 3-component vector of float)
-0:214          face-forward ( temp 3-component vector of float)
+0:214          'r030' ( temp 3-component vector of float)
+0:214          exp2 ( temp 3-component vector of float)
 0:214            'inF0' ( in 3-component vector of float)
-0:214            'inF1' ( in 3-component vector of float)
-0:214            'inF2' ( in 3-component vector of float)
 0:215      Sequence
-0:215        move second child to first child ( temp 3-component vector of uint)
-0:215          'r032' ( temp 3-component vector of uint)
+0:215        move second child to first child ( temp 3-component vector of float)
+0:215          'r031' ( temp 3-component vector of float)
+0:215          face-forward ( temp 3-component vector of float)
+0:215            'inF0' ( in 3-component vector of float)
+0:215            'inF1' ( in 3-component vector of float)
+0:215            'inF2' ( in 3-component vector of float)
+0:216      Sequence
+0:216        move second child to first child ( temp 3-component vector of uint)
+0:216          'r032' ( temp 3-component vector of uint)
 0:?           findMSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:216      Sequence
-0:216        move second child to first child ( temp 3-component vector of uint)
-0:216          'r033' ( temp 3-component vector of uint)
+0:217      Sequence
+0:217        move second child to first child ( temp 3-component vector of uint)
+0:217          'r033' ( temp 3-component vector of uint)
 0:?           findLSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:217      Sequence
-0:217        move second child to first child ( temp 3-component vector of float)
-0:217          'r034' ( temp 3-component vector of float)
-0:217          Floor ( temp 3-component vector of float)
-0:217            'inF0' ( in 3-component vector of float)
-0:219      Sequence
-0:219        move second child to first child ( temp 3-component vector of float)
-0:219          'r036' ( temp 3-component vector of float)
-0:219          mod ( temp 3-component vector of float)
-0:219            'inF0' ( in 3-component vector of float)
-0:219            'inF1' ( in 3-component vector of float)
+0:218      Sequence
+0:218        move second child to first child ( temp 3-component vector of float)
+0:218          'r034' ( temp 3-component vector of float)
+0:218          Floor ( temp 3-component vector of float)
+0:218            'inF0' ( in 3-component vector of float)
 0:220      Sequence
 0:220        move second child to first child ( temp 3-component vector of float)
-0:220          'r037' ( temp 3-component vector of float)
-0:220          Fraction ( temp 3-component vector of float)
+0:220          'r036' ( temp 3-component vector of float)
+0:220          mod ( temp 3-component vector of float)
 0:220            'inF0' ( in 3-component vector of float)
+0:220            'inF1' ( in 3-component vector of float)
 0:221      Sequence
 0:221        move second child to first child ( temp 3-component vector of float)
-0:221          'r039' ( temp 3-component vector of float)
-0:221          fwidth ( temp 3-component vector of float)
+0:221          'r037' ( temp 3-component vector of float)
+0:221          Fraction ( temp 3-component vector of float)
 0:221            'inF0' ( in 3-component vector of float)
 0:222      Sequence
-0:222        move second child to first child ( temp 3-component vector of bool)
-0:222          'r040' ( temp 3-component vector of bool)
-0:222          isinf ( temp 3-component vector of bool)
+0:222        move second child to first child ( temp 3-component vector of float)
+0:222          'r039' ( temp 3-component vector of float)
+0:222          fwidth ( temp 3-component vector of float)
 0:222            'inF0' ( in 3-component vector of float)
 0:223      Sequence
 0:223        move second child to first child ( temp 3-component vector of bool)
-0:223          'r041' ( temp 3-component vector of bool)
-0:223          isnan ( temp 3-component vector of bool)
+0:223          'r040' ( temp 3-component vector of bool)
+0:223          isinf ( temp 3-component vector of bool)
 0:223            'inF0' ( in 3-component vector of float)
 0:224      Sequence
-0:224        move second child to first child ( temp 3-component vector of float)
-0:224          'r042' ( temp 3-component vector of float)
-0:224          ldexp ( temp 3-component vector of float)
+0:224        move second child to first child ( temp 3-component vector of bool)
+0:224          'r041' ( temp 3-component vector of bool)
+0:224          isnan ( temp 3-component vector of bool)
 0:224            'inF0' ( in 3-component vector of float)
-0:224            'inF1' ( in 3-component vector of float)
 0:225      Sequence
 0:225        move second child to first child ( temp 3-component vector of float)
-0:225          'r039a' ( temp 3-component vector of float)
-0:225          mix ( temp 3-component vector of float)
+0:225          'r042' ( temp 3-component vector of float)
+0:225          ldexp ( temp 3-component vector of float)
 0:225            'inF0' ( in 3-component vector of float)
 0:225            'inF1' ( in 3-component vector of float)
-0:225            'inF2' ( in 3-component vector of float)
 0:226      Sequence
 0:226        move second child to first child ( temp 3-component vector of float)
-0:226          'r039b' ( temp 3-component vector of float)
+0:226          'r039a' ( temp 3-component vector of float)
 0:226          mix ( temp 3-component vector of float)
 0:226            'inF0' ( in 3-component vector of float)
 0:226            'inF1' ( in 3-component vector of float)
-0:226            Constant:
-0:226              0.300000
+0:226            'inF2' ( in 3-component vector of float)
 0:227      Sequence
-0:227        move second child to first child ( temp float)
-0:227          'r043' ( temp float)
-0:227          length ( temp float)
+0:227        move second child to first child ( temp 3-component vector of float)
+0:227          'r039b' ( temp 3-component vector of float)
+0:227          mix ( temp 3-component vector of float)
 0:227            'inF0' ( in 3-component vector of float)
+0:227            'inF1' ( in 3-component vector of float)
+0:227            Constant:
+0:227              0.300000
 0:228      Sequence
-0:228        move second child to first child ( temp 3-component vector of float)
-0:228          'r044' ( temp 3-component vector of float)
-0:228          log ( temp 3-component vector of float)
+0:228        move second child to first child ( temp float)
+0:228          'r043' ( temp float)
+0:228          length ( temp float)
 0:228            'inF0' ( in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child ( temp 3-component vector of float)
-0:229          'r045' ( temp 3-component vector of float)
-0:229          vector-scale ( temp 3-component vector of float)
-0:229            log2 ( temp 3-component vector of float)
-0:229              'inF0' ( in 3-component vector of float)
-0:229            Constant:
-0:229              0.301030
+0:229          'r044' ( temp 3-component vector of float)
+0:229          log ( temp 3-component vector of float)
+0:229            'inF0' ( in 3-component vector of float)
 0:230      Sequence
 0:230        move second child to first child ( temp 3-component vector of float)
-0:230          'r046' ( temp 3-component vector of float)
-0:230          log2 ( temp 3-component vector of float)
-0:230            'inF0' ( in 3-component vector of float)
+0:230          'r045' ( temp 3-component vector of float)
+0:230          vector-scale ( temp 3-component vector of float)
+0:230            log2 ( temp 3-component vector of float)
+0:230              'inF0' ( in 3-component vector of float)
+0:230            Constant:
+0:230              0.301030
 0:231      Sequence
 0:231        move second child to first child ( temp 3-component vector of float)
-0:231          'r047' ( temp 3-component vector of float)
-0:231          max ( temp 3-component vector of float)
+0:231          'r046' ( temp 3-component vector of float)
+0:231          log2 ( temp 3-component vector of float)
 0:231            'inF0' ( in 3-component vector of float)
-0:231            'inF1' ( in 3-component vector of float)
 0:232      Sequence
 0:232        move second child to first child ( temp 3-component vector of float)
-0:232          'r048' ( temp 3-component vector of float)
-0:232          min ( temp 3-component vector of float)
+0:232          'r047' ( temp 3-component vector of float)
+0:232          max ( temp 3-component vector of float)
 0:232            'inF0' ( in 3-component vector of float)
 0:232            'inF1' ( in 3-component vector of float)
 0:233      Sequence
 0:233        move second child to first child ( temp 3-component vector of float)
-0:233          'r049' ( temp 3-component vector of float)
-0:233          normalize ( temp 3-component vector of float)
+0:233          'r048' ( temp 3-component vector of float)
+0:233          min ( temp 3-component vector of float)
 0:233            'inF0' ( in 3-component vector of float)
+0:233            'inF1' ( in 3-component vector of float)
 0:234      Sequence
 0:234        move second child to first child ( temp 3-component vector of float)
-0:234          'r050' ( temp 3-component vector of float)
-0:234          pow ( temp 3-component vector of float)
+0:234          'r049' ( temp 3-component vector of float)
+0:234          normalize ( temp 3-component vector of float)
 0:234            'inF0' ( in 3-component vector of float)
-0:234            'inF1' ( in 3-component vector of float)
 0:235      Sequence
 0:235        move second child to first child ( temp 3-component vector of float)
-0:235          'r051' ( temp 3-component vector of float)
-0:235          radians ( temp 3-component vector of float)
+0:235          'r050' ( temp 3-component vector of float)
+0:235          pow ( temp 3-component vector of float)
 0:235            'inF0' ( in 3-component vector of float)
+0:235            'inF1' ( in 3-component vector of float)
 0:236      Sequence
 0:236        move second child to first child ( temp 3-component vector of float)
-0:236          'r052' ( temp 3-component vector of float)
-0:236          divide ( temp 3-component vector of float)
-0:236            Constant:
-0:236              1.000000
+0:236          'r051' ( temp 3-component vector of float)
+0:236          radians ( temp 3-component vector of float)
 0:236            'inF0' ( in 3-component vector of float)
 0:237      Sequence
 0:237        move second child to first child ( temp 3-component vector of float)
-0:237          'r053' ( temp 3-component vector of float)
-0:237          reflect ( temp 3-component vector of float)
+0:237          'r052' ( temp 3-component vector of float)
+0:237          divide ( temp 3-component vector of float)
+0:237            Constant:
+0:237              1.000000
 0:237            'inF0' ( in 3-component vector of float)
-0:237            'inF1' ( in 3-component vector of float)
 0:238      Sequence
 0:238        move second child to first child ( temp 3-component vector of float)
-0:238          'r054' ( temp 3-component vector of float)
-0:238          refract ( temp 3-component vector of float)
+0:238          'r053' ( temp 3-component vector of float)
+0:238          reflect ( temp 3-component vector of float)
 0:238            'inF0' ( in 3-component vector of float)
 0:238            'inF1' ( in 3-component vector of float)
-0:238            Constant:
-0:238              2.000000
 0:239      Sequence
-0:239        move second child to first child ( temp 3-component vector of uint)
-0:239          'r055' ( temp 3-component vector of uint)
+0:239        move second child to first child ( temp 3-component vector of float)
+0:239          'r054' ( temp 3-component vector of float)
+0:239          refract ( temp 3-component vector of float)
+0:239            'inF0' ( in 3-component vector of float)
+0:239            'inF1' ( in 3-component vector of float)
+0:239            Constant:
+0:239              2.000000
+0:240      Sequence
+0:240        move second child to first child ( temp 3-component vector of uint)
+0:240          'r055' ( temp 3-component vector of uint)
 0:?           bitFieldReverse ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
-0:240      Sequence
-0:240        move second child to first child ( temp 3-component vector of float)
-0:240          'r056' ( temp 3-component vector of float)
-0:240          roundEven ( temp 3-component vector of float)
-0:240            'inF0' ( in 3-component vector of float)
 0:241      Sequence
 0:241        move second child to first child ( temp 3-component vector of float)
-0:241          'r057' ( temp 3-component vector of float)
-0:241          inverse sqrt ( temp 3-component vector of float)
+0:241          'r056' ( temp 3-component vector of float)
+0:241          roundEven ( temp 3-component vector of float)
 0:241            'inF0' ( in 3-component vector of float)
 0:242      Sequence
 0:242        move second child to first child ( temp 3-component vector of float)
-0:242          'r058' ( temp 3-component vector of float)
-0:242          clamp ( temp 3-component vector of float)
+0:242          'r057' ( temp 3-component vector of float)
+0:242          inverse sqrt ( temp 3-component vector of float)
 0:242            'inF0' ( in 3-component vector of float)
-0:242            Constant:
-0:242              0.000000
-0:242            Constant:
-0:242              1.000000
 0:243      Sequence
 0:243        move second child to first child ( temp 3-component vector of float)
-0:243          'r059' ( temp 3-component vector of float)
-0:243          Sign ( temp 3-component vector of float)
+0:243          'r058' ( temp 3-component vector of float)
+0:243          clamp ( temp 3-component vector of float)
 0:243            'inF0' ( in 3-component vector of float)
+0:243            Constant:
+0:243              0.000000
+0:243            Constant:
+0:243              1.000000
 0:244      Sequence
 0:244        move second child to first child ( temp 3-component vector of float)
-0:244          'r060' ( temp 3-component vector of float)
-0:244          sine ( temp 3-component vector of float)
+0:244          'r059' ( temp 3-component vector of float)
+0:244          Sign ( temp 3-component vector of float)
 0:244            'inF0' ( in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'inF1' ( in 3-component vector of float)
+0:245          'r060' ( temp 3-component vector of float)
 0:245          sine ( temp 3-component vector of float)
 0:245            'inF0' ( in 3-component vector of float)
-0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'inF2' ( in 3-component vector of float)
-0:245          cosine ( temp 3-component vector of float)
-0:245            'inF0' ( in 3-component vector of float)
 0:246      Sequence
 0:246        move second child to first child ( temp 3-component vector of float)
-0:246          'r061' ( temp 3-component vector of float)
-0:246          hyp. sine ( temp 3-component vector of float)
+0:246          'inF1' ( in 3-component vector of float)
+0:246          sine ( temp 3-component vector of float)
+0:246            'inF0' ( in 3-component vector of float)
+0:246        move second child to first child ( temp 3-component vector of float)
+0:246          'inF2' ( in 3-component vector of float)
+0:246          cosine ( temp 3-component vector of float)
 0:246            'inF0' ( in 3-component vector of float)
 0:247      Sequence
 0:247        move second child to first child ( temp 3-component vector of float)
-0:247          'r062' ( temp 3-component vector of float)
-0:247          smoothstep ( temp 3-component vector of float)
+0:247          'r061' ( temp 3-component vector of float)
+0:247          hyp. sine ( temp 3-component vector of float)
 0:247            'inF0' ( in 3-component vector of float)
-0:247            'inF1' ( in 3-component vector of float)
-0:247            'inF2' ( in 3-component vector of float)
 0:248      Sequence
 0:248        move second child to first child ( temp 3-component vector of float)
-0:248          'r063' ( temp 3-component vector of float)
-0:248          sqrt ( temp 3-component vector of float)
+0:248          'r062' ( temp 3-component vector of float)
+0:248          smoothstep ( temp 3-component vector of float)
 0:248            'inF0' ( in 3-component vector of float)
+0:248            'inF1' ( in 3-component vector of float)
+0:248            'inF2' ( in 3-component vector of float)
 0:249      Sequence
 0:249        move second child to first child ( temp 3-component vector of float)
-0:249          'r064' ( temp 3-component vector of float)
-0:249          step ( temp 3-component vector of float)
+0:249          'r063' ( temp 3-component vector of float)
+0:249          sqrt ( temp 3-component vector of float)
 0:249            'inF0' ( in 3-component vector of float)
-0:249            'inF1' ( in 3-component vector of float)
 0:250      Sequence
 0:250        move second child to first child ( temp 3-component vector of float)
-0:250          'r065' ( temp 3-component vector of float)
-0:250          tangent ( temp 3-component vector of float)
+0:250          'r064' ( temp 3-component vector of float)
+0:250          step ( temp 3-component vector of float)
 0:250            'inF0' ( in 3-component vector of float)
+0:250            'inF1' ( in 3-component vector of float)
 0:251      Sequence
 0:251        move second child to first child ( temp 3-component vector of float)
-0:251          'r066' ( temp 3-component vector of float)
-0:251          hyp. tangent ( temp 3-component vector of float)
+0:251          'r065' ( temp 3-component vector of float)
+0:251          tangent ( temp 3-component vector of float)
 0:251            'inF0' ( in 3-component vector of float)
-0:253      Sequence
-0:253        move second child to first child ( temp 3-component vector of float)
-0:253          'r067' ( temp 3-component vector of float)
-0:253          trunc ( temp 3-component vector of float)
-0:253            'inF0' ( in 3-component vector of float)
-0:256      Branch: Return with expression
+0:252      Sequence
+0:252        move second child to first child ( temp 3-component vector of float)
+0:252          'r066' ( temp 3-component vector of float)
+0:252          hyp. tangent ( temp 3-component vector of float)
+0:252            'inF0' ( in 3-component vector of float)
+0:254      Sequence
+0:254        move second child to first child ( temp 3-component vector of float)
+0:254          'r067' ( temp 3-component vector of float)
+0:254          trunc ( temp 3-component vector of float)
+0:254            'inF0' ( in 3-component vector of float)
+0:257      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:260  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
-0:260    Function Parameters: 
-0:260      'inF0' ( in 4-component vector of float)
-0:260      'inF1' ( in 4-component vector of float)
-0:260      'inF2' ( in 4-component vector of float)
-0:260      'inU0' ( in 4-component vector of uint)
-0:260      'inU1' ( in 4-component vector of uint)
+0:261  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:261    Function Parameters: 
+0:261      'inF0' ( in 4-component vector of float)
+0:261      'inF1' ( in 4-component vector of float)
+0:261      'inF2' ( in 4-component vector of float)
+0:261      'inU0' ( in 4-component vector of uint)
+0:261      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
-0:263      Sequence
-0:263        move second child to first child ( temp bool)
-0:263          'r000' ( temp bool)
-0:263          all ( temp bool)
-0:263            Convert float to bool ( temp 4-component vector of bool)
-0:263              'inF0' ( in 4-component vector of float)
 0:264      Sequence
-0:264        move second child to first child ( temp 4-component vector of float)
-0:264          'r001' ( temp 4-component vector of float)
-0:264          Absolute value ( temp 4-component vector of float)
-0:264            'inF0' ( in 4-component vector of float)
+0:264        move second child to first child ( temp bool)
+0:264          'r000' ( temp bool)
+0:264          all ( temp bool)
+0:264            Convert float to bool ( temp 4-component vector of bool)
+0:264              'inF0' ( in 4-component vector of float)
 0:265      Sequence
 0:265        move second child to first child ( temp 4-component vector of float)
-0:265          'r002' ( temp 4-component vector of float)
-0:265          arc cosine ( temp 4-component vector of float)
+0:265          'r001' ( temp 4-component vector of float)
+0:265          Absolute value ( temp 4-component vector of float)
 0:265            'inF0' ( in 4-component vector of float)
 0:266      Sequence
-0:266        move second child to first child ( temp bool)
-0:266          'r003' ( temp bool)
-0:266          any ( temp bool)
-0:266            Convert float to bool ( temp 4-component vector of bool)
-0:266              'inF0' ( in 4-component vector of float)
+0:266        move second child to first child ( temp 4-component vector of float)
+0:266          'r002' ( temp 4-component vector of float)
+0:266          arc cosine ( temp 4-component vector of float)
+0:266            'inF0' ( in 4-component vector of float)
 0:267      Sequence
-0:267        move second child to first child ( temp 4-component vector of float)
-0:267          'r004' ( temp 4-component vector of float)
-0:267          arc sine ( temp 4-component vector of float)
-0:267            'inF0' ( in 4-component vector of float)
+0:267        move second child to first child ( temp bool)
+0:267          'r003' ( temp bool)
+0:267          any ( temp bool)
+0:267            Convert float to bool ( temp 4-component vector of bool)
+0:267              'inF0' ( in 4-component vector of float)
 0:268      Sequence
-0:268        move second child to first child ( temp 4-component vector of int)
-0:268          'r005' ( temp 4-component vector of int)
-0:268          floatBitsToInt ( temp 4-component vector of int)
+0:268        move second child to first child ( temp 4-component vector of float)
+0:268          'r004' ( temp 4-component vector of float)
+0:268          arc sine ( temp 4-component vector of float)
 0:268            'inF0' ( in 4-component vector of float)
 0:269      Sequence
-0:269        move second child to first child ( temp 4-component vector of uint)
-0:269          'r006' ( temp 4-component vector of uint)
-0:269          floatBitsToUint ( temp 4-component vector of uint)
+0:269        move second child to first child ( temp 4-component vector of int)
+0:269          'r005' ( temp 4-component vector of int)
+0:269          floatBitsToInt ( temp 4-component vector of int)
 0:269            'inF0' ( in 4-component vector of float)
 0:270      Sequence
-0:270        move second child to first child ( temp 4-component vector of float)
-0:270          'r007' ( temp 4-component vector of float)
-0:270          intBitsToFloat ( temp 4-component vector of float)
-0:270            'inU0' ( in 4-component vector of uint)
-0:272      Sequence
-0:272        move second child to first child ( temp 4-component vector of float)
-0:272          'r009' ( temp 4-component vector of float)
-0:272          arc tangent ( temp 4-component vector of float)
-0:272            'inF0' ( in 4-component vector of float)
+0:270        move second child to first child ( temp 4-component vector of uint)
+0:270          'r006' ( temp 4-component vector of uint)
+0:270          floatBitsToUint ( temp 4-component vector of uint)
+0:270            'inF0' ( in 4-component vector of float)
+0:271      Sequence
+0:271        move second child to first child ( temp 4-component vector of float)
+0:271          'r007' ( temp 4-component vector of float)
+0:271          intBitsToFloat ( temp 4-component vector of float)
+0:271            'inU0' ( in 4-component vector of uint)
 0:273      Sequence
 0:273        move second child to first child ( temp 4-component vector of float)
-0:273          'r010' ( temp 4-component vector of float)
+0:273          'r009' ( temp 4-component vector of float)
 0:273          arc tangent ( temp 4-component vector of float)
 0:273            'inF0' ( in 4-component vector of float)
-0:273            'inF1' ( in 4-component vector of float)
 0:274      Sequence
 0:274        move second child to first child ( temp 4-component vector of float)
-0:274          'r011' ( temp 4-component vector of float)
-0:274          Ceiling ( temp 4-component vector of float)
+0:274          'r010' ( temp 4-component vector of float)
+0:274          arc tangent ( temp 4-component vector of float)
 0:274            'inF0' ( in 4-component vector of float)
+0:274            'inF1' ( in 4-component vector of float)
 0:275      Sequence
 0:275        move second child to first child ( temp 4-component vector of float)
-0:275          'r012' ( temp 4-component vector of float)
-0:275          clamp ( temp 4-component vector of float)
+0:275          'r011' ( temp 4-component vector of float)
+0:275          Ceiling ( temp 4-component vector of float)
 0:275            'inF0' ( in 4-component vector of float)
-0:275            'inF1' ( in 4-component vector of float)
-0:275            'inF2' ( in 4-component vector of float)
-0:276      Test condition and select ( temp void)
-0:276        Condition
-0:276        any ( temp bool)
-0:276          Compare Less Than ( temp 4-component vector of bool)
+0:276      Sequence
+0:276        move second child to first child ( temp 4-component vector of float)
+0:276          'r012' ( temp 4-component vector of float)
+0:276          clamp ( temp 4-component vector of float)
 0:276            'inF0' ( in 4-component vector of float)
-0:276            Constant:
-0:276              0.000000
-0:276              0.000000
-0:276              0.000000
-0:276              0.000000
-0:276        true case
-0:276        Branch: Kill
+0:276            'inF1' ( in 4-component vector of float)
+0:276            'inF2' ( in 4-component vector of float)
 0:277      Test condition and select ( temp void)
 0:277        Condition
 0:277        any ( temp bool)
 0:277          Compare Less Than ( temp 4-component vector of bool)
-0:277            'inU0' ( in 4-component vector of uint)
+0:277            'inF0' ( in 4-component vector of float)
 0:277            Constant:
 0:277              0.000000
 0:277              0.000000
@@ -1253,905 +1247,917 @@ gl_FragCoord origin is upper left
 0:277              0.000000
 0:277        true case
 0:277        Branch: Kill
-0:278      Sequence
-0:278        move second child to first child ( temp 4-component vector of float)
-0:278          'r013' ( temp 4-component vector of float)
-0:278          cosine ( temp 4-component vector of float)
-0:278            'inF0' ( in 4-component vector of float)
+0:278      Test condition and select ( temp void)
+0:278        Condition
+0:278        any ( temp bool)
+0:278          Compare Less Than ( temp 4-component vector of bool)
+0:278            'inU0' ( in 4-component vector of uint)
+0:278            Constant:
+0:278              0.000000
+0:278              0.000000
+0:278              0.000000
+0:278              0.000000
+0:278        true case
+0:278        Branch: Kill
 0:279      Sequence
 0:279        move second child to first child ( temp 4-component vector of float)
-0:279          'r014' ( temp 4-component vector of float)
-0:279          hyp. cosine ( temp 4-component vector of float)
+0:279          'r013' ( temp 4-component vector of float)
+0:279          cosine ( temp 4-component vector of float)
 0:279            'inF0' ( in 4-component vector of float)
 0:280      Sequence
-0:280        move second child to first child ( temp 4-component vector of uint)
-0:280          'r015' ( temp 4-component vector of uint)
+0:280        move second child to first child ( temp 4-component vector of float)
+0:280          'r014' ( temp 4-component vector of float)
+0:280          hyp. cosine ( temp 4-component vector of float)
+0:280            'inF0' ( in 4-component vector of float)
+0:281      Sequence
+0:281        move second child to first child ( temp 4-component vector of uint)
+0:281          'r015' ( temp 4-component vector of uint)
 0:?           bitCount ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:?               5 (const uint)
 0:?               2 (const uint)
-0:281      Sequence
-0:281        move second child to first child ( temp 4-component vector of float)
-0:281          'r016' ( temp 4-component vector of float)
-0:281          dPdx ( temp 4-component vector of float)
-0:281            'inF0' ( in 4-component vector of float)
 0:282      Sequence
 0:282        move second child to first child ( temp 4-component vector of float)
-0:282          'r017' ( temp 4-component vector of float)
-0:282          dPdxCoarse ( temp 4-component vector of float)
+0:282          'r016' ( temp 4-component vector of float)
+0:282          dPdx ( temp 4-component vector of float)
 0:282            'inF0' ( in 4-component vector of float)
 0:283      Sequence
 0:283        move second child to first child ( temp 4-component vector of float)
-0:283          'r018' ( temp 4-component vector of float)
-0:283          dPdxFine ( temp 4-component vector of float)
+0:283          'r017' ( temp 4-component vector of float)
+0:283          dPdxCoarse ( temp 4-component vector of float)
 0:283            'inF0' ( in 4-component vector of float)
 0:284      Sequence
 0:284        move second child to first child ( temp 4-component vector of float)
-0:284          'r019' ( temp 4-component vector of float)
-0:284          dPdy ( temp 4-component vector of float)
+0:284          'r018' ( temp 4-component vector of float)
+0:284          dPdxFine ( temp 4-component vector of float)
 0:284            'inF0' ( in 4-component vector of float)
 0:285      Sequence
 0:285        move second child to first child ( temp 4-component vector of float)
-0:285          'r020' ( temp 4-component vector of float)
-0:285          dPdyCoarse ( temp 4-component vector of float)
+0:285          'r019' ( temp 4-component vector of float)
+0:285          dPdy ( temp 4-component vector of float)
 0:285            'inF0' ( in 4-component vector of float)
 0:286      Sequence
 0:286        move second child to first child ( temp 4-component vector of float)
-0:286          'r021' ( temp 4-component vector of float)
-0:286          dPdyFine ( temp 4-component vector of float)
+0:286          'r020' ( temp 4-component vector of float)
+0:286          dPdyCoarse ( temp 4-component vector of float)
 0:286            'inF0' ( in 4-component vector of float)
 0:287      Sequence
 0:287        move second child to first child ( temp 4-component vector of float)
-0:287          'r022' ( temp 4-component vector of float)
-0:287          degrees ( temp 4-component vector of float)
+0:287          'r021' ( temp 4-component vector of float)
+0:287          dPdyFine ( temp 4-component vector of float)
 0:287            'inF0' ( in 4-component vector of float)
 0:288      Sequence
-0:288        move second child to first child ( temp float)
-0:288          'r023' ( temp float)
-0:288          distance ( temp float)
+0:288        move second child to first child ( temp 4-component vector of float)
+0:288          'r022' ( temp 4-component vector of float)
+0:288          degrees ( temp 4-component vector of float)
 0:288            'inF0' ( in 4-component vector of float)
-0:288            'inF1' ( in 4-component vector of float)
 0:289      Sequence
 0:289        move second child to first child ( temp float)
-0:289          'r024' ( temp float)
-0:289          dot-product ( temp float)
+0:289          'r023' ( temp float)
+0:289          distance ( temp float)
 0:289            'inF0' ( in 4-component vector of float)
 0:289            'inF1' ( in 4-component vector of float)
 0:290      Sequence
-0:290        move second child to first child ( temp 4-component vector of float)
-0:290          'r025' ( temp 4-component vector of float)
-0:290          Construct vec4 ( temp 4-component vector of float)
-0:290            Constant:
-0:290              1.000000
-0:290            component-wise multiply ( temp float)
-0:290              direct index ( temp float)
-0:290                'inF0' ( in 4-component vector of float)
-0:290                Constant:
-0:290                  1 (const int)
-0:290              direct index ( temp float)
-0:290                'inF1' ( in 4-component vector of float)
-0:290                Constant:
-0:290                  1 (const int)
-0:290            direct index ( temp float)
-0:290              'inF0' ( in 4-component vector of float)
-0:290              Constant:
-0:290                2 (const int)
-0:290            direct index ( temp float)
-0:290              'inF1' ( in 4-component vector of float)
-0:290              Constant:
-0:290                3 (const int)
-0:294      Sequence
-0:294        move second child to first child ( temp 4-component vector of float)
-0:294          'r029' ( temp 4-component vector of float)
-0:294          exp ( temp 4-component vector of float)
-0:294            'inF0' ( in 4-component vector of float)
+0:290        move second child to first child ( temp float)
+0:290          'r024' ( temp float)
+0:290          dot-product ( temp float)
+0:290            'inF0' ( in 4-component vector of float)
+0:290            'inF1' ( in 4-component vector of float)
+0:291      Sequence
+0:291        move second child to first child ( temp 4-component vector of float)
+0:291          'r025' ( temp 4-component vector of float)
+0:291          Construct vec4 ( temp 4-component vector of float)
+0:291            Constant:
+0:291              1.000000
+0:291            component-wise multiply ( temp float)
+0:291              direct index ( temp float)
+0:291                'inF0' ( in 4-component vector of float)
+0:291                Constant:
+0:291                  1 (const int)
+0:291              direct index ( temp float)
+0:291                'inF1' ( in 4-component vector of float)
+0:291                Constant:
+0:291                  1 (const int)
+0:291            direct index ( temp float)
+0:291              'inF0' ( in 4-component vector of float)
+0:291              Constant:
+0:291                2 (const int)
+0:291            direct index ( temp float)
+0:291              'inF1' ( in 4-component vector of float)
+0:291              Constant:
+0:291                3 (const int)
 0:295      Sequence
 0:295        move second child to first child ( temp 4-component vector of float)
-0:295          'r030' ( temp 4-component vector of float)
-0:295          exp2 ( temp 4-component vector of float)
+0:295          'r029' ( temp 4-component vector of float)
+0:295          exp ( temp 4-component vector of float)
 0:295            'inF0' ( in 4-component vector of float)
 0:296      Sequence
 0:296        move second child to first child ( temp 4-component vector of float)
-0:296          'r031' ( temp 4-component vector of float)
-0:296          face-forward ( temp 4-component vector of float)
+0:296          'r030' ( temp 4-component vector of float)
+0:296          exp2 ( temp 4-component vector of float)
 0:296            'inF0' ( in 4-component vector of float)
-0:296            'inF1' ( in 4-component vector of float)
-0:296            'inF2' ( in 4-component vector of float)
 0:297      Sequence
-0:297        move second child to first child ( temp 4-component vector of uint)
-0:297          'r032' ( temp 4-component vector of uint)
+0:297        move second child to first child ( temp 4-component vector of float)
+0:297          'r031' ( temp 4-component vector of float)
+0:297          face-forward ( temp 4-component vector of float)
+0:297            'inF0' ( in 4-component vector of float)
+0:297            'inF1' ( in 4-component vector of float)
+0:297            'inF2' ( in 4-component vector of float)
+0:298      Sequence
+0:298        move second child to first child ( temp 4-component vector of uint)
+0:298          'r032' ( temp 4-component vector of uint)
 0:?           findMSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:298      Sequence
-0:298        move second child to first child ( temp 4-component vector of uint)
-0:298          'r033' ( temp 4-component vector of uint)
+0:299      Sequence
+0:299        move second child to first child ( temp 4-component vector of uint)
+0:299          'r033' ( temp 4-component vector of uint)
 0:?           findLSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:299      Sequence
-0:299        move second child to first child ( temp 4-component vector of float)
-0:299          'r034' ( temp 4-component vector of float)
-0:299          Floor ( temp 4-component vector of float)
-0:299            'inF0' ( in 4-component vector of float)
-0:301      Sequence
-0:301        move second child to first child ( temp 4-component vector of float)
-0:301          'r036' ( temp 4-component vector of float)
-0:301          mod ( temp 4-component vector of float)
-0:301            'inF0' ( in 4-component vector of float)
-0:301            'inF1' ( in 4-component vector of float)
+0:300      Sequence
+0:300        move second child to first child ( temp 4-component vector of float)
+0:300          'r034' ( temp 4-component vector of float)
+0:300          Floor ( temp 4-component vector of float)
+0:300            'inF0' ( in 4-component vector of float)
 0:302      Sequence
 0:302        move second child to first child ( temp 4-component vector of float)
-0:302          'r037' ( temp 4-component vector of float)
-0:302          Fraction ( temp 4-component vector of float)
+0:302          'r036' ( temp 4-component vector of float)
+0:302          mod ( temp 4-component vector of float)
 0:302            'inF0' ( in 4-component vector of float)
+0:302            'inF1' ( in 4-component vector of float)
 0:303      Sequence
 0:303        move second child to first child ( temp 4-component vector of float)
-0:303          'r039' ( temp 4-component vector of float)
-0:303          fwidth ( temp 4-component vector of float)
+0:303          'r037' ( temp 4-component vector of float)
+0:303          Fraction ( temp 4-component vector of float)
 0:303            'inF0' ( in 4-component vector of float)
 0:304      Sequence
-0:304        move second child to first child ( temp 4-component vector of bool)
-0:304          'r040' ( temp 4-component vector of bool)
-0:304          isinf ( temp 4-component vector of bool)
+0:304        move second child to first child ( temp 4-component vector of float)
+0:304          'r039' ( temp 4-component vector of float)
+0:304          fwidth ( temp 4-component vector of float)
 0:304            'inF0' ( in 4-component vector of float)
 0:305      Sequence
 0:305        move second child to first child ( temp 4-component vector of bool)
-0:305          'r041' ( temp 4-component vector of bool)
-0:305          isnan ( temp 4-component vector of bool)
+0:305          'r040' ( temp 4-component vector of bool)
+0:305          isinf ( temp 4-component vector of bool)
 0:305            'inF0' ( in 4-component vector of float)
 0:306      Sequence
-0:306        move second child to first child ( temp 4-component vector of float)
-0:306          'r042' ( temp 4-component vector of float)
-0:306          ldexp ( temp 4-component vector of float)
+0:306        move second child to first child ( temp 4-component vector of bool)
+0:306          'r041' ( temp 4-component vector of bool)
+0:306          isnan ( temp 4-component vector of bool)
 0:306            'inF0' ( in 4-component vector of float)
-0:306            'inF1' ( in 4-component vector of float)
 0:307      Sequence
 0:307        move second child to first child ( temp 4-component vector of float)
-0:307          'r039a' ( temp 4-component vector of float)
-0:307          mix ( temp 4-component vector of float)
+0:307          'r042' ( temp 4-component vector of float)
+0:307          ldexp ( temp 4-component vector of float)
 0:307            'inF0' ( in 4-component vector of float)
 0:307            'inF1' ( in 4-component vector of float)
-0:307            'inF2' ( in 4-component vector of float)
 0:308      Sequence
-0:308        move second child to first child ( temp float)
-0:308          'r043' ( temp float)
-0:308          length ( temp float)
+0:308        move second child to first child ( temp 4-component vector of float)
+0:308          'r039a' ( temp 4-component vector of float)
+0:308          mix ( temp 4-component vector of float)
 0:308            'inF0' ( in 4-component vector of float)
+0:308            'inF1' ( in 4-component vector of float)
+0:308            'inF2' ( in 4-component vector of float)
 0:309      Sequence
-0:309        move second child to first child ( temp 4-component vector of float)
-0:309          'r044' ( temp 4-component vector of float)
-0:309          log ( temp 4-component vector of float)
+0:309        move second child to first child ( temp float)
+0:309          'r043' ( temp float)
+0:309          length ( temp float)
 0:309            'inF0' ( in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child ( temp 4-component vector of float)
-0:310          'r045' ( temp 4-component vector of float)
-0:310          vector-scale ( temp 4-component vector of float)
-0:310            log2 ( temp 4-component vector of float)
-0:310              'inF0' ( in 4-component vector of float)
-0:310            Constant:
-0:310              0.301030
+0:310          'r044' ( temp 4-component vector of float)
+0:310          log ( temp 4-component vector of float)
+0:310            'inF0' ( in 4-component vector of float)
 0:311      Sequence
 0:311        move second child to first child ( temp 4-component vector of float)
-0:311          'r046' ( temp 4-component vector of float)
-0:311          log2 ( temp 4-component vector of float)
-0:311            'inF0' ( in 4-component vector of float)
+0:311          'r045' ( temp 4-component vector of float)
+0:311          vector-scale ( temp 4-component vector of float)
+0:311            log2 ( temp 4-component vector of float)
+0:311              'inF0' ( in 4-component vector of float)
+0:311            Constant:
+0:311              0.301030
 0:312      Sequence
 0:312        move second child to first child ( temp 4-component vector of float)
-0:312          'r047' ( temp 4-component vector of float)
-0:312          max ( temp 4-component vector of float)
+0:312          'r046' ( temp 4-component vector of float)
+0:312          log2 ( temp 4-component vector of float)
 0:312            'inF0' ( in 4-component vector of float)
-0:312            'inF1' ( in 4-component vector of float)
 0:313      Sequence
 0:313        move second child to first child ( temp 4-component vector of float)
-0:313          'r048' ( temp 4-component vector of float)
-0:313          min ( temp 4-component vector of float)
+0:313          'r047' ( temp 4-component vector of float)
+0:313          max ( temp 4-component vector of float)
 0:313            'inF0' ( in 4-component vector of float)
 0:313            'inF1' ( in 4-component vector of float)
 0:314      Sequence
 0:314        move second child to first child ( temp 4-component vector of float)
-0:314          'r049' ( temp 4-component vector of float)
-0:314          normalize ( temp 4-component vector of float)
+0:314          'r048' ( temp 4-component vector of float)
+0:314          min ( temp 4-component vector of float)
 0:314            'inF0' ( in 4-component vector of float)
+0:314            'inF1' ( in 4-component vector of float)
 0:315      Sequence
 0:315        move second child to first child ( temp 4-component vector of float)
-0:315          'r050' ( temp 4-component vector of float)
-0:315          pow ( temp 4-component vector of float)
+0:315          'r049' ( temp 4-component vector of float)
+0:315          normalize ( temp 4-component vector of float)
 0:315            'inF0' ( in 4-component vector of float)
-0:315            'inF1' ( in 4-component vector of float)
 0:316      Sequence
 0:316        move second child to first child ( temp 4-component vector of float)
-0:316          'r051' ( temp 4-component vector of float)
-0:316          radians ( temp 4-component vector of float)
+0:316          'r050' ( temp 4-component vector of float)
+0:316          pow ( temp 4-component vector of float)
 0:316            'inF0' ( in 4-component vector of float)
+0:316            'inF1' ( in 4-component vector of float)
 0:317      Sequence
 0:317        move second child to first child ( temp 4-component vector of float)
-0:317          'r052' ( temp 4-component vector of float)
-0:317          divide ( temp 4-component vector of float)
-0:317            Constant:
-0:317              1.000000
+0:317          'r051' ( temp 4-component vector of float)
+0:317          radians ( temp 4-component vector of float)
 0:317            'inF0' ( in 4-component vector of float)
 0:318      Sequence
 0:318        move second child to first child ( temp 4-component vector of float)
-0:318          'r053' ( temp 4-component vector of float)
-0:318          reflect ( temp 4-component vector of float)
+0:318          'r052' ( temp 4-component vector of float)
+0:318          divide ( temp 4-component vector of float)
+0:318            Constant:
+0:318              1.000000
 0:318            'inF0' ( in 4-component vector of float)
-0:318            'inF1' ( in 4-component vector of float)
 0:319      Sequence
 0:319        move second child to first child ( temp 4-component vector of float)
-0:319          'r054' ( temp 4-component vector of float)
-0:319          refract ( temp 4-component vector of float)
+0:319          'r053' ( temp 4-component vector of float)
+0:319          reflect ( temp 4-component vector of float)
 0:319            'inF0' ( in 4-component vector of float)
 0:319            'inF1' ( in 4-component vector of float)
-0:319            Constant:
-0:319              2.000000
 0:320      Sequence
-0:320        move second child to first child ( temp 4-component vector of uint)
-0:320          'r055' ( temp 4-component vector of uint)
+0:320        move second child to first child ( temp 4-component vector of float)
+0:320          'r054' ( temp 4-component vector of float)
+0:320          refract ( temp 4-component vector of float)
+0:320            'inF0' ( in 4-component vector of float)
+0:320            'inF1' ( in 4-component vector of float)
+0:320            Constant:
+0:320              2.000000
+0:321      Sequence
+0:321        move second child to first child ( temp 4-component vector of uint)
+0:321          'r055' ( temp 4-component vector of uint)
 0:?           bitFieldReverse ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:321      Sequence
-0:321        move second child to first child ( temp 4-component vector of float)
-0:321          'r056' ( temp 4-component vector of float)
-0:321          roundEven ( temp 4-component vector of float)
-0:321            'inF0' ( in 4-component vector of float)
 0:322      Sequence
 0:322        move second child to first child ( temp 4-component vector of float)
-0:322          'r057' ( temp 4-component vector of float)
-0:322          inverse sqrt ( temp 4-component vector of float)
+0:322          'r056' ( temp 4-component vector of float)
+0:322          roundEven ( temp 4-component vector of float)
 0:322            'inF0' ( in 4-component vector of float)
 0:323      Sequence
 0:323        move second child to first child ( temp 4-component vector of float)
-0:323          'r058' ( temp 4-component vector of float)
-0:323          clamp ( temp 4-component vector of float)
+0:323          'r057' ( temp 4-component vector of float)
+0:323          inverse sqrt ( temp 4-component vector of float)
 0:323            'inF0' ( in 4-component vector of float)
-0:323            Constant:
-0:323              0.000000
-0:323            Constant:
-0:323              1.000000
 0:324      Sequence
 0:324        move second child to first child ( temp 4-component vector of float)
-0:324          'r059' ( temp 4-component vector of float)
-0:324          Sign ( temp 4-component vector of float)
+0:324          'r058' ( temp 4-component vector of float)
+0:324          clamp ( temp 4-component vector of float)
 0:324            'inF0' ( in 4-component vector of float)
+0:324            Constant:
+0:324              0.000000
+0:324            Constant:
+0:324              1.000000
 0:325      Sequence
 0:325        move second child to first child ( temp 4-component vector of float)
-0:325          'r060' ( temp 4-component vector of float)
-0:325          sine ( temp 4-component vector of float)
+0:325          'r059' ( temp 4-component vector of float)
+0:325          Sign ( temp 4-component vector of float)
 0:325            'inF0' ( in 4-component vector of float)
 0:326      Sequence
 0:326        move second child to first child ( temp 4-component vector of float)
-0:326          'inF1' ( in 4-component vector of float)
+0:326          'r060' ( temp 4-component vector of float)
 0:326          sine ( temp 4-component vector of float)
 0:326            'inF0' ( in 4-component vector of float)
-0:326        move second child to first child ( temp 4-component vector of float)
-0:326          'inF2' ( in 4-component vector of float)
-0:326          cosine ( temp 4-component vector of float)
-0:326            'inF0' ( in 4-component vector of float)
 0:327      Sequence
 0:327        move second child to first child ( temp 4-component vector of float)
-0:327          'r061' ( temp 4-component vector of float)
-0:327          hyp. sine ( temp 4-component vector of float)
+0:327          'inF1' ( in 4-component vector of float)
+0:327          sine ( temp 4-component vector of float)
+0:327            'inF0' ( in 4-component vector of float)
+0:327        move second child to first child ( temp 4-component vector of float)
+0:327          'inF2' ( in 4-component vector of float)
+0:327          cosine ( temp 4-component vector of float)
 0:327            'inF0' ( in 4-component vector of float)
 0:328      Sequence
 0:328        move second child to first child ( temp 4-component vector of float)
-0:328          'r062' ( temp 4-component vector of float)
-0:328          smoothstep ( temp 4-component vector of float)
+0:328          'r061' ( temp 4-component vector of float)
+0:328          hyp. sine ( temp 4-component vector of float)
 0:328            'inF0' ( in 4-component vector of float)
-0:328            'inF1' ( in 4-component vector of float)
-0:328            'inF2' ( in 4-component vector of float)
 0:329      Sequence
 0:329        move second child to first child ( temp 4-component vector of float)
-0:329          'r063' ( temp 4-component vector of float)
-0:329          sqrt ( temp 4-component vector of float)
+0:329          'r062' ( temp 4-component vector of float)
+0:329          smoothstep ( temp 4-component vector of float)
 0:329            'inF0' ( in 4-component vector of float)
+0:329            'inF1' ( in 4-component vector of float)
+0:329            'inF2' ( in 4-component vector of float)
 0:330      Sequence
 0:330        move second child to first child ( temp 4-component vector of float)
-0:330          'r064' ( temp 4-component vector of float)
-0:330          step ( temp 4-component vector of float)
+0:330          'r063' ( temp 4-component vector of float)
+0:330          sqrt ( temp 4-component vector of float)
 0:330            'inF0' ( in 4-component vector of float)
-0:330            'inF1' ( in 4-component vector of float)
 0:331      Sequence
 0:331        move second child to first child ( temp 4-component vector of float)
-0:331          'r065' ( temp 4-component vector of float)
-0:331          tangent ( temp 4-component vector of float)
+0:331          'r064' ( temp 4-component vector of float)
+0:331          step ( temp 4-component vector of float)
 0:331            'inF0' ( in 4-component vector of float)
+0:331            'inF1' ( in 4-component vector of float)
 0:332      Sequence
 0:332        move second child to first child ( temp 4-component vector of float)
-0:332          'r066' ( temp 4-component vector of float)
-0:332          hyp. tangent ( temp 4-component vector of float)
+0:332          'r065' ( temp 4-component vector of float)
+0:332          tangent ( temp 4-component vector of float)
 0:332            'inF0' ( in 4-component vector of float)
-0:334      Sequence
-0:334        move second child to first child ( temp 4-component vector of float)
-0:334          'r067' ( temp 4-component vector of float)
-0:334          trunc ( temp 4-component vector of float)
-0:334            'inF0' ( in 4-component vector of float)
-0:337      Branch: Return with expression
+0:333      Sequence
+0:333        move second child to first child ( temp 4-component vector of float)
+0:333          'r066' ( temp 4-component vector of float)
+0:333          hyp. tangent ( temp 4-component vector of float)
+0:333            'inF0' ( in 4-component vector of float)
+0:335      Sequence
+0:335        move second child to first child ( temp 4-component vector of float)
+0:335          'r067' ( temp 4-component vector of float)
+0:335          trunc ( temp 4-component vector of float)
+0:335            'inF0' ( in 4-component vector of float)
+0:338      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:400  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
-0:400    Function Parameters: 
-0:400      'inF0' ( in 2X2 matrix of float)
-0:400      'inF1' ( in 2X2 matrix of float)
-0:400      'inF2' ( in 2X2 matrix of float)
+0:401  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:401    Function Parameters: 
+0:401      'inF0' ( in 2X2 matrix of float)
+0:401      'inF1' ( in 2X2 matrix of float)
+0:401      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-0:402      Sequence
-0:402        move second child to first child ( temp bool)
-0:402          'r000' ( temp bool)
-0:402          all ( temp bool)
-0:402            Convert float to bool ( temp 2X2 matrix of bool)
-0:402              'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r001' ( temp 2X2 matrix of float)
-0:402          Absolute value ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      arc cosine ( temp 2X2 matrix of float)
-0:402        'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp bool)
-0:402          'r003' ( temp bool)
-0:402          any ( temp bool)
-0:402            Convert float to bool ( temp 2X2 matrix of bool)
-0:402              'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r004' ( temp 2X2 matrix of float)
-0:402          arc sine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r005' ( temp 2X2 matrix of float)
-0:402          arc tangent ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r006' ( temp 2X2 matrix of float)
-0:402          arc tangent ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r007' ( temp 2X2 matrix of float)
-0:402          Ceiling ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Test condition and select ( temp void)
-0:402        Condition
-0:402        any ( temp bool)
-0:402          Compare Less Than ( temp 2X2 matrix of bool)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            Constant:
-0:402              0.000000
-0:402              0.000000
-0:402              0.000000
-0:402              0.000000
-0:402        true case
-0:402        Branch: Kill
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r008' ( temp 2X2 matrix of float)
-0:402          clamp ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402            'inF2' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r009' ( temp 2X2 matrix of float)
-0:402          cosine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r010' ( temp 2X2 matrix of float)
-0:402          hyp. cosine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r011' ( temp 2X2 matrix of float)
-0:402          dPdx ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r012' ( temp 2X2 matrix of float)
-0:402          dPdxCoarse ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r013' ( temp 2X2 matrix of float)
-0:402          dPdxFine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r014' ( temp 2X2 matrix of float)
-0:402          dPdy ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r015' ( temp 2X2 matrix of float)
-0:402          dPdyCoarse ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r016' ( temp 2X2 matrix of float)
-0:402          dPdyFine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r017' ( temp 2X2 matrix of float)
-0:402          degrees ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp float)
-0:402          'r018' ( temp float)
-0:402          determinant ( temp float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r019' ( temp 2X2 matrix of float)
-0:402          exp ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'R020' ( temp 2X2 matrix of float)
-0:402          exp2 ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r021' ( temp 2X2 matrix of float)
-0:402          Floor ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r022' ( temp 2X2 matrix of float)
-0:402          mod ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r023' ( temp 2X2 matrix of float)
-0:402          Fraction ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r025' ( temp 2X2 matrix of float)
-0:402          fwidth ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r026' ( temp 2X2 matrix of float)
-0:402          ldexp ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r026a' ( temp 2X2 matrix of float)
-0:402          mix ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402            'inF2' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r027' ( temp 2X2 matrix of float)
-0:402          log ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r028' ( temp 2X2 matrix of float)
-0:402          matrix-scale ( temp 2X2 matrix of float)
-0:402            log2 ( temp 2X2 matrix of float)
-0:402              'inF0' ( in 2X2 matrix of float)
-0:402            Constant:
-0:402              0.301030
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r029' ( temp 2X2 matrix of float)
-0:402          log2 ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r030' ( temp 2X2 matrix of float)
-0:402          max ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r031' ( temp 2X2 matrix of float)
-0:402          min ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r032' ( temp 2X2 matrix of float)
-0:402          pow ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r033' ( temp 2X2 matrix of float)
-0:402          radians ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r034' ( temp 2X2 matrix of float)
-0:402          roundEven ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r035' ( temp 2X2 matrix of float)
-0:402          inverse sqrt ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r036' ( temp 2X2 matrix of float)
-0:402          clamp ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            Constant:
-0:402              0.000000
-0:402            Constant:
-0:402              1.000000
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r037' ( temp 2X2 matrix of float)
-0:402          Sign ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r038' ( temp 2X2 matrix of float)
-0:402          sine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'inF1' ( in 2X2 matrix of float)
-0:402          sine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'inF2' ( in 2X2 matrix of float)
-0:402          cosine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r039' ( temp 2X2 matrix of float)
-0:402          hyp. sine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r049' ( temp 2X2 matrix of float)
-0:402          smoothstep ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402            'inF2' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r041' ( temp 2X2 matrix of float)
-0:402          sqrt ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r042' ( temp 2X2 matrix of float)
-0:402          step ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r043' ( temp 2X2 matrix of float)
-0:402          tangent ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r044' ( temp 2X2 matrix of float)
-0:402          hyp. tangent ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      transpose ( temp 2X2 matrix of float)
-0:402        'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r046' ( temp 2X2 matrix of float)
-0:402          trunc ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:405      Branch: Return with expression
+0:403      Sequence
+0:403        move second child to first child ( temp bool)
+0:403          'r000' ( temp bool)
+0:403          all ( temp bool)
+0:403            Convert float to bool ( temp 2X2 matrix of bool)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r001' ( temp 2X2 matrix of float)
+0:403          Absolute value ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      arc cosine ( temp 2X2 matrix of float)
+0:403        'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp bool)
+0:403          'r003' ( temp bool)
+0:403          any ( temp bool)
+0:403            Convert float to bool ( temp 2X2 matrix of bool)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r004' ( temp 2X2 matrix of float)
+0:403          arc sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r005' ( temp 2X2 matrix of float)
+0:403          arc tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r006' ( temp 2X2 matrix of float)
+0:403          arc tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r007' ( temp 2X2 matrix of float)
+0:403          Ceiling ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Test condition and select ( temp void)
+0:403        Condition
+0:403        any ( temp bool)
+0:403          Compare Less Than ( temp 2X2 matrix of bool)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.000000
+0:403              0.000000
+0:403              0.000000
+0:403              0.000000
+0:403        true case
+0:403        Branch: Kill
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r008' ( temp 2X2 matrix of float)
+0:403          clamp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r009' ( temp 2X2 matrix of float)
+0:403          cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r010' ( temp 2X2 matrix of float)
+0:403          hyp. cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r011' ( temp 2X2 matrix of float)
+0:403          dPdx ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r012' ( temp 2X2 matrix of float)
+0:403          dPdxCoarse ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r013' ( temp 2X2 matrix of float)
+0:403          dPdxFine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r014' ( temp 2X2 matrix of float)
+0:403          dPdy ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r015' ( temp 2X2 matrix of float)
+0:403          dPdyCoarse ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r016' ( temp 2X2 matrix of float)
+0:403          dPdyFine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r017' ( temp 2X2 matrix of float)
+0:403          degrees ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp float)
+0:403          'r018' ( temp float)
+0:403          determinant ( temp float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r019' ( temp 2X2 matrix of float)
+0:403          exp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'R020' ( temp 2X2 matrix of float)
+0:403          exp2 ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r021' ( temp 2X2 matrix of float)
+0:403          Floor ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r022' ( temp 2X2 matrix of float)
+0:403          mod ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r023' ( temp 2X2 matrix of float)
+0:403          Fraction ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r025' ( temp 2X2 matrix of float)
+0:403          fwidth ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r026' ( temp 2X2 matrix of float)
+0:403          ldexp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r026a' ( temp 2X2 matrix of float)
+0:403          mix ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r027' ( temp 2X2 matrix of float)
+0:403          log ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r028' ( temp 2X2 matrix of float)
+0:403          matrix-scale ( temp 2X2 matrix of float)
+0:403            log2 ( temp 2X2 matrix of float)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.301030
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r029' ( temp 2X2 matrix of float)
+0:403          log2 ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r030' ( temp 2X2 matrix of float)
+0:403          max ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r031' ( temp 2X2 matrix of float)
+0:403          min ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r032' ( temp 2X2 matrix of float)
+0:403          pow ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r033' ( temp 2X2 matrix of float)
+0:403          radians ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r034' ( temp 2X2 matrix of float)
+0:403          roundEven ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r035' ( temp 2X2 matrix of float)
+0:403          inverse sqrt ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r036' ( temp 2X2 matrix of float)
+0:403          clamp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.000000
+0:403            Constant:
+0:403              1.000000
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r037' ( temp 2X2 matrix of float)
+0:403          Sign ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r038' ( temp 2X2 matrix of float)
+0:403          sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'inF1' ( in 2X2 matrix of float)
+0:403          sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'inF2' ( in 2X2 matrix of float)
+0:403          cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r039' ( temp 2X2 matrix of float)
+0:403          hyp. sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r049' ( temp 2X2 matrix of float)
+0:403          smoothstep ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r041' ( temp 2X2 matrix of float)
+0:403          sqrt ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r042' ( temp 2X2 matrix of float)
+0:403          step ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r043' ( temp 2X2 matrix of float)
+0:403          tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r044' ( temp 2X2 matrix of float)
+0:403          hyp. tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      transpose ( temp 2X2 matrix of float)
+0:403        'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r046' ( temp 2X2 matrix of float)
+0:403          trunc ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:406      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:409  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
-0:409    Function Parameters: 
-0:409      'inF0' ( in 3X3 matrix of float)
-0:409      'inF1' ( in 3X3 matrix of float)
-0:409      'inF2' ( in 3X3 matrix of float)
+0:410  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:410    Function Parameters: 
+0:410      'inF0' ( in 3X3 matrix of float)
+0:410      'inF1' ( in 3X3 matrix of float)
+0:410      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-0:411      Sequence
-0:411        move second child to first child ( temp bool)
-0:411          'r000' ( temp bool)
-0:411          all ( temp bool)
-0:411            Convert float to bool ( temp 3X3 matrix of bool)
-0:411              'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r001' ( temp 3X3 matrix of float)
-0:411          Absolute value ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      arc cosine ( temp 3X3 matrix of float)
-0:411        'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp bool)
-0:411          'r003' ( temp bool)
-0:411          any ( temp bool)
-0:411            Convert float to bool ( temp 3X3 matrix of bool)
-0:411              'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r004' ( temp 3X3 matrix of float)
-0:411          arc sine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r005' ( temp 3X3 matrix of float)
-0:411          arc tangent ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r006' ( temp 3X3 matrix of float)
-0:411          arc tangent ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r007' ( temp 3X3 matrix of float)
-0:411          Ceiling ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Test condition and select ( temp void)
-0:411        Condition
-0:411        any ( temp bool)
-0:411          Compare Less Than ( temp 3X3 matrix of bool)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            Constant:
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411        true case
-0:411        Branch: Kill
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r008' ( temp 3X3 matrix of float)
-0:411          clamp ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411            'inF2' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r009' ( temp 3X3 matrix of float)
-0:411          cosine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r010' ( temp 3X3 matrix of float)
-0:411          hyp. cosine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r011' ( temp 3X3 matrix of float)
-0:411          dPdx ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r012' ( temp 3X3 matrix of float)
-0:411          dPdxCoarse ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r013' ( temp 3X3 matrix of float)
-0:411          dPdxFine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r014' ( temp 3X3 matrix of float)
-0:411          dPdy ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r015' ( temp 3X3 matrix of float)
-0:411          dPdyCoarse ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r016' ( temp 3X3 matrix of float)
-0:411          dPdyFine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r017' ( temp 3X3 matrix of float)
-0:411          degrees ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp float)
-0:411          'r018' ( temp float)
-0:411          determinant ( temp float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r019' ( temp 3X3 matrix of float)
-0:411          exp ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'R020' ( temp 3X3 matrix of float)
-0:411          exp2 ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r021' ( temp 3X3 matrix of float)
-0:411          Floor ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r022' ( temp 3X3 matrix of float)
-0:411          mod ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r023' ( temp 3X3 matrix of float)
-0:411          Fraction ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r025' ( temp 3X3 matrix of float)
-0:411          fwidth ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r026' ( temp 3X3 matrix of float)
-0:411          ldexp ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r026a' ( temp 3X3 matrix of float)
-0:411          mix ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411            'inF2' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r027' ( temp 3X3 matrix of float)
-0:411          log ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r028' ( temp 3X3 matrix of float)
-0:411          matrix-scale ( temp 3X3 matrix of float)
-0:411            log2 ( temp 3X3 matrix of float)
-0:411              'inF0' ( in 3X3 matrix of float)
-0:411            Constant:
-0:411              0.301030
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r029' ( temp 3X3 matrix of float)
-0:411          log2 ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r030' ( temp 3X3 matrix of float)
-0:411          max ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r031' ( temp 3X3 matrix of float)
-0:411          min ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r032' ( temp 3X3 matrix of float)
-0:411          pow ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r033' ( temp 3X3 matrix of float)
-0:411          radians ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r034' ( temp 3X3 matrix of float)
-0:411          roundEven ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r035' ( temp 3X3 matrix of float)
-0:411          inverse sqrt ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r036' ( temp 3X3 matrix of float)
-0:411          clamp ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            Constant:
-0:411              0.000000
-0:411            Constant:
-0:411              1.000000
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r037' ( temp 3X3 matrix of float)
-0:411          Sign ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r038' ( temp 3X3 matrix of float)
-0:411          sine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'inF1' ( in 3X3 matrix of float)
-0:411          sine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'inF2' ( in 3X3 matrix of float)
-0:411          cosine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r039' ( temp 3X3 matrix of float)
-0:411          hyp. sine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r049' ( temp 3X3 matrix of float)
-0:411          smoothstep ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411            'inF2' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r041' ( temp 3X3 matrix of float)
-0:411          sqrt ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r042' ( temp 3X3 matrix of float)
-0:411          step ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r043' ( temp 3X3 matrix of float)
-0:411          tangent ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r044' ( temp 3X3 matrix of float)
-0:411          hyp. tangent ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      transpose ( temp 3X3 matrix of float)
-0:411        'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r046' ( temp 3X3 matrix of float)
-0:411          trunc ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:414      Branch: Return with expression
+0:412      Sequence
+0:412        move second child to first child ( temp bool)
+0:412          'r000' ( temp bool)
+0:412          all ( temp bool)
+0:412            Convert float to bool ( temp 3X3 matrix of bool)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r001' ( temp 3X3 matrix of float)
+0:412          Absolute value ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      arc cosine ( temp 3X3 matrix of float)
+0:412        'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp bool)
+0:412          'r003' ( temp bool)
+0:412          any ( temp bool)
+0:412            Convert float to bool ( temp 3X3 matrix of bool)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r004' ( temp 3X3 matrix of float)
+0:412          arc sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r005' ( temp 3X3 matrix of float)
+0:412          arc tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r006' ( temp 3X3 matrix of float)
+0:412          arc tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r007' ( temp 3X3 matrix of float)
+0:412          Ceiling ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Test condition and select ( temp void)
+0:412        Condition
+0:412        any ( temp bool)
+0:412          Compare Less Than ( temp 3X3 matrix of bool)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412        true case
+0:412        Branch: Kill
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r008' ( temp 3X3 matrix of float)
+0:412          clamp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r009' ( temp 3X3 matrix of float)
+0:412          cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r010' ( temp 3X3 matrix of float)
+0:412          hyp. cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r011' ( temp 3X3 matrix of float)
+0:412          dPdx ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r012' ( temp 3X3 matrix of float)
+0:412          dPdxCoarse ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r013' ( temp 3X3 matrix of float)
+0:412          dPdxFine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r014' ( temp 3X3 matrix of float)
+0:412          dPdy ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r015' ( temp 3X3 matrix of float)
+0:412          dPdyCoarse ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r016' ( temp 3X3 matrix of float)
+0:412          dPdyFine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r017' ( temp 3X3 matrix of float)
+0:412          degrees ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp float)
+0:412          'r018' ( temp float)
+0:412          determinant ( temp float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r019' ( temp 3X3 matrix of float)
+0:412          exp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'R020' ( temp 3X3 matrix of float)
+0:412          exp2 ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r021' ( temp 3X3 matrix of float)
+0:412          Floor ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r022' ( temp 3X3 matrix of float)
+0:412          mod ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r023' ( temp 3X3 matrix of float)
+0:412          Fraction ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r025' ( temp 3X3 matrix of float)
+0:412          fwidth ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r026' ( temp 3X3 matrix of float)
+0:412          ldexp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r026a' ( temp 3X3 matrix of float)
+0:412          mix ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r027' ( temp 3X3 matrix of float)
+0:412          log ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r028' ( temp 3X3 matrix of float)
+0:412          matrix-scale ( temp 3X3 matrix of float)
+0:412            log2 ( temp 3X3 matrix of float)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.301030
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r029' ( temp 3X3 matrix of float)
+0:412          log2 ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r030' ( temp 3X3 matrix of float)
+0:412          max ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r031' ( temp 3X3 matrix of float)
+0:412          min ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r032' ( temp 3X3 matrix of float)
+0:412          pow ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r033' ( temp 3X3 matrix of float)
+0:412          radians ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r034' ( temp 3X3 matrix of float)
+0:412          roundEven ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r035' ( temp 3X3 matrix of float)
+0:412          inverse sqrt ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r036' ( temp 3X3 matrix of float)
+0:412          clamp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.000000
+0:412            Constant:
+0:412              1.000000
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r037' ( temp 3X3 matrix of float)
+0:412          Sign ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r038' ( temp 3X3 matrix of float)
+0:412          sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'inF1' ( in 3X3 matrix of float)
+0:412          sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'inF2' ( in 3X3 matrix of float)
+0:412          cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r039' ( temp 3X3 matrix of float)
+0:412          hyp. sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r049' ( temp 3X3 matrix of float)
+0:412          smoothstep ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r041' ( temp 3X3 matrix of float)
+0:412          sqrt ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r042' ( temp 3X3 matrix of float)
+0:412          step ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r043' ( temp 3X3 matrix of float)
+0:412          tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r044' ( temp 3X3 matrix of float)
+0:412          hyp. tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      transpose ( temp 3X3 matrix of float)
+0:412        'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r046' ( temp 3X3 matrix of float)
+0:412          trunc ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:415      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -2162,297 +2168,297 @@ gl_FragCoord origin is upper left
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:418  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
-0:418    Function Parameters: 
-0:418      'inF0' ( in 4X4 matrix of float)
-0:418      'inF1' ( in 4X4 matrix of float)
-0:418      'inF2' ( in 4X4 matrix of float)
+0:419  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:419    Function Parameters: 
+0:419      'inF0' ( in 4X4 matrix of float)
+0:419      'inF1' ( in 4X4 matrix of float)
+0:419      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-0:420      Sequence
-0:420        move second child to first child ( temp bool)
-0:420          'r000' ( temp bool)
-0:420          all ( temp bool)
-0:420            Convert float to bool ( temp 4X4 matrix of bool)
-0:420              'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r001' ( temp 4X4 matrix of float)
-0:420          Absolute value ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      arc cosine ( temp 4X4 matrix of float)
-0:420        'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp bool)
-0:420          'r003' ( temp bool)
-0:420          any ( temp bool)
-0:420            Convert float to bool ( temp 4X4 matrix of bool)
-0:420              'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r004' ( temp 4X4 matrix of float)
-0:420          arc sine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r005' ( temp 4X4 matrix of float)
-0:420          arc tangent ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r006' ( temp 4X4 matrix of float)
-0:420          arc tangent ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r007' ( temp 4X4 matrix of float)
-0:420          Ceiling ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Test condition and select ( temp void)
-0:420        Condition
-0:420        any ( temp bool)
-0:420          Compare Less Than ( temp 4X4 matrix of bool)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            Constant:
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420        true case
-0:420        Branch: Kill
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r008' ( temp 4X4 matrix of float)
-0:420          clamp ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420            'inF2' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r009' ( temp 4X4 matrix of float)
-0:420          cosine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r010' ( temp 4X4 matrix of float)
-0:420          hyp. cosine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r011' ( temp 4X4 matrix of float)
-0:420          dPdx ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r012' ( temp 4X4 matrix of float)
-0:420          dPdxCoarse ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r013' ( temp 4X4 matrix of float)
-0:420          dPdxFine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r014' ( temp 4X4 matrix of float)
-0:420          dPdy ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r015' ( temp 4X4 matrix of float)
-0:420          dPdyCoarse ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r016' ( temp 4X4 matrix of float)
-0:420          dPdyFine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r017' ( temp 4X4 matrix of float)
-0:420          degrees ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp float)
-0:420          'r018' ( temp float)
-0:420          determinant ( temp float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r019' ( temp 4X4 matrix of float)
-0:420          exp ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'R020' ( temp 4X4 matrix of float)
-0:420          exp2 ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r021' ( temp 4X4 matrix of float)
-0:420          Floor ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r022' ( temp 4X4 matrix of float)
-0:420          mod ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r023' ( temp 4X4 matrix of float)
-0:420          Fraction ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r025' ( temp 4X4 matrix of float)
-0:420          fwidth ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r026' ( temp 4X4 matrix of float)
-0:420          ldexp ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r026a' ( temp 4X4 matrix of float)
-0:420          mix ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420            'inF2' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r027' ( temp 4X4 matrix of float)
-0:420          log ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r028' ( temp 4X4 matrix of float)
-0:420          matrix-scale ( temp 4X4 matrix of float)
-0:420            log2 ( temp 4X4 matrix of float)
-0:420              'inF0' ( in 4X4 matrix of float)
-0:420            Constant:
-0:420              0.301030
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r029' ( temp 4X4 matrix of float)
-0:420          log2 ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r030' ( temp 4X4 matrix of float)
-0:420          max ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r031' ( temp 4X4 matrix of float)
-0:420          min ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r032' ( temp 4X4 matrix of float)
-0:420          pow ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r033' ( temp 4X4 matrix of float)
-0:420          radians ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r034' ( temp 4X4 matrix of float)
-0:420          roundEven ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r035' ( temp 4X4 matrix of float)
-0:420          inverse sqrt ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r036' ( temp 4X4 matrix of float)
-0:420          clamp ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            Constant:
-0:420              0.000000
-0:420            Constant:
-0:420              1.000000
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r037' ( temp 4X4 matrix of float)
-0:420          Sign ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r038' ( temp 4X4 matrix of float)
-0:420          sine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'inF1' ( in 4X4 matrix of float)
-0:420          sine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'inF2' ( in 4X4 matrix of float)
-0:420          cosine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r039' ( temp 4X4 matrix of float)
-0:420          hyp. sine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r049' ( temp 4X4 matrix of float)
-0:420          smoothstep ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420            'inF2' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r041' ( temp 4X4 matrix of float)
-0:420          sqrt ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r042' ( temp 4X4 matrix of float)
-0:420          step ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r043' ( temp 4X4 matrix of float)
-0:420          tangent ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r044' ( temp 4X4 matrix of float)
-0:420          hyp. tangent ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      transpose ( temp 4X4 matrix of float)
-0:420        'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r046' ( temp 4X4 matrix of float)
-0:420          trunc ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:423      Branch: Return with expression
+0:421      Sequence
+0:421        move second child to first child ( temp bool)
+0:421          'r000' ( temp bool)
+0:421          all ( temp bool)
+0:421            Convert float to bool ( temp 4X4 matrix of bool)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r001' ( temp 4X4 matrix of float)
+0:421          Absolute value ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      arc cosine ( temp 4X4 matrix of float)
+0:421        'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp bool)
+0:421          'r003' ( temp bool)
+0:421          any ( temp bool)
+0:421            Convert float to bool ( temp 4X4 matrix of bool)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r004' ( temp 4X4 matrix of float)
+0:421          arc sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r005' ( temp 4X4 matrix of float)
+0:421          arc tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r006' ( temp 4X4 matrix of float)
+0:421          arc tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r007' ( temp 4X4 matrix of float)
+0:421          Ceiling ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Test condition and select ( temp void)
+0:421        Condition
+0:421        any ( temp bool)
+0:421          Compare Less Than ( temp 4X4 matrix of bool)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421        true case
+0:421        Branch: Kill
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r008' ( temp 4X4 matrix of float)
+0:421          clamp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r009' ( temp 4X4 matrix of float)
+0:421          cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r010' ( temp 4X4 matrix of float)
+0:421          hyp. cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r011' ( temp 4X4 matrix of float)
+0:421          dPdx ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r012' ( temp 4X4 matrix of float)
+0:421          dPdxCoarse ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r013' ( temp 4X4 matrix of float)
+0:421          dPdxFine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r014' ( temp 4X4 matrix of float)
+0:421          dPdy ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r015' ( temp 4X4 matrix of float)
+0:421          dPdyCoarse ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r016' ( temp 4X4 matrix of float)
+0:421          dPdyFine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r017' ( temp 4X4 matrix of float)
+0:421          degrees ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp float)
+0:421          'r018' ( temp float)
+0:421          determinant ( temp float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r019' ( temp 4X4 matrix of float)
+0:421          exp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'R020' ( temp 4X4 matrix of float)
+0:421          exp2 ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r021' ( temp 4X4 matrix of float)
+0:421          Floor ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r022' ( temp 4X4 matrix of float)
+0:421          mod ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r023' ( temp 4X4 matrix of float)
+0:421          Fraction ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r025' ( temp 4X4 matrix of float)
+0:421          fwidth ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r026' ( temp 4X4 matrix of float)
+0:421          ldexp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r026a' ( temp 4X4 matrix of float)
+0:421          mix ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r027' ( temp 4X4 matrix of float)
+0:421          log ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r028' ( temp 4X4 matrix of float)
+0:421          matrix-scale ( temp 4X4 matrix of float)
+0:421            log2 ( temp 4X4 matrix of float)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.301030
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r029' ( temp 4X4 matrix of float)
+0:421          log2 ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r030' ( temp 4X4 matrix of float)
+0:421          max ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r031' ( temp 4X4 matrix of float)
+0:421          min ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r032' ( temp 4X4 matrix of float)
+0:421          pow ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r033' ( temp 4X4 matrix of float)
+0:421          radians ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r034' ( temp 4X4 matrix of float)
+0:421          roundEven ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r035' ( temp 4X4 matrix of float)
+0:421          inverse sqrt ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r036' ( temp 4X4 matrix of float)
+0:421          clamp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.000000
+0:421            Constant:
+0:421              1.000000
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r037' ( temp 4X4 matrix of float)
+0:421          Sign ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r038' ( temp 4X4 matrix of float)
+0:421          sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'inF1' ( in 4X4 matrix of float)
+0:421          sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'inF2' ( in 4X4 matrix of float)
+0:421          cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r039' ( temp 4X4 matrix of float)
+0:421          hyp. sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r049' ( temp 4X4 matrix of float)
+0:421          smoothstep ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r041' ( temp 4X4 matrix of float)
+0:421          sqrt ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r042' ( temp 4X4 matrix of float)
+0:421          step ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r043' ( temp 4X4 matrix of float)
+0:421          tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r044' ( temp 4X4 matrix of float)
+0:421          hyp. tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      transpose ( temp 4X4 matrix of float)
+0:421        'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r046' ( temp 4X4 matrix of float)
+0:421          trunc ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:424      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -2470,334 +2476,334 @@ gl_FragCoord origin is upper left
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:441  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
-0:441    Function Parameters: 
-0:441      'inF0' ( in float)
-0:441      'inF1' ( in float)
-0:441      'inFV0' ( in 2-component vector of float)
-0:441      'inFV1' ( in 2-component vector of float)
-0:441      'inFM0' ( in 2X2 matrix of float)
-0:441      'inFM1' ( in 2X2 matrix of float)
+0:442  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:442    Function Parameters: 
+0:442      'inF0' ( in float)
+0:442      'inF1' ( in float)
+0:442      'inFV0' ( in 2-component vector of float)
+0:442      'inFV1' ( in 2-component vector of float)
+0:442      'inFM0' ( in 2X2 matrix of float)
+0:442      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-0:442      Sequence
-0:442        move second child to first child ( temp float)
-0:442          'r0' ( temp float)
-0:442          component-wise multiply ( temp float)
-0:442            'inF1' ( in float)
-0:442            'inF0' ( in float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2-component vector of float)
-0:442          'r1' ( temp 2-component vector of float)
-0:442          vector-scale ( temp 2-component vector of float)
-0:442            'inF0' ( in float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2-component vector of float)
-0:442          'r2' ( temp 2-component vector of float)
-0:442          vector-scale ( temp 2-component vector of float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442            'inF0' ( in float)
-0:442      Sequence
-0:442        move second child to first child ( temp float)
-0:442          'r3' ( temp float)
-0:442          dot-product ( temp float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442            'inFV1' ( in 2-component vector of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2-component vector of float)
-0:442          'r4' ( temp 2-component vector of float)
-0:442          vector-times-matrix ( temp 2-component vector of float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2-component vector of float)
-0:442          'r5' ( temp 2-component vector of float)
-0:442          matrix-times-vector ( temp 2-component vector of float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2X2 matrix of float)
-0:442          'r6' ( temp 2X2 matrix of float)
-0:442          matrix-scale ( temp 2X2 matrix of float)
-0:442            'inF0' ( in float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2X2 matrix of float)
-0:442          'r7' ( temp 2X2 matrix of float)
-0:442          matrix-scale ( temp 2X2 matrix of float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:442            'inF0' ( in float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2X2 matrix of float)
-0:442          'r8' ( temp 2X2 matrix of float)
-0:442          matrix-multiply ( temp 2X2 matrix of float)
-0:442            'inFM1' ( in 2X2 matrix of float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:448  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
-0:448    Function Parameters: 
-0:448      'inF0' ( in float)
-0:448      'inF1' ( in float)
-0:448      'inFV0' ( in 3-component vector of float)
-0:448      'inFV1' ( in 3-component vector of float)
-0:448      'inFM0' ( in 3X3 matrix of float)
-0:448      'inFM1' ( in 3X3 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp float)
+0:443          'r0' ( temp float)
+0:443          component-wise multiply ( temp float)
+0:443            'inF1' ( in float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r1' ( temp 2-component vector of float)
+0:443          vector-scale ( temp 2-component vector of float)
+0:443            'inF0' ( in float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r2' ( temp 2-component vector of float)
+0:443          vector-scale ( temp 2-component vector of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp float)
+0:443          'r3' ( temp float)
+0:443          dot-product ( temp float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inFV1' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r4' ( temp 2-component vector of float)
+0:443          vector-times-matrix ( temp 2-component vector of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r5' ( temp 2-component vector of float)
+0:443          matrix-times-vector ( temp 2-component vector of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r6' ( temp 2X2 matrix of float)
+0:443          matrix-scale ( temp 2X2 matrix of float)
+0:443            'inF0' ( in float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r7' ( temp 2X2 matrix of float)
+0:443          matrix-scale ( temp 2X2 matrix of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r8' ( temp 2X2 matrix of float)
+0:443          matrix-multiply ( temp 2X2 matrix of float)
+0:443            'inFM1' ( in 2X2 matrix of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:449  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:449    Function Parameters: 
+0:449      'inF0' ( in float)
+0:449      'inF1' ( in float)
+0:449      'inFV0' ( in 3-component vector of float)
+0:449      'inFV1' ( in 3-component vector of float)
+0:449      'inFM0' ( in 3X3 matrix of float)
+0:449      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-0:449      Sequence
-0:449        move second child to first child ( temp float)
-0:449          'r0' ( temp float)
-0:449          component-wise multiply ( temp float)
-0:449            'inF1' ( in float)
-0:449            'inF0' ( in float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3-component vector of float)
-0:449          'r1' ( temp 3-component vector of float)
-0:449          vector-scale ( temp 3-component vector of float)
-0:449            'inF0' ( in float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3-component vector of float)
-0:449          'r2' ( temp 3-component vector of float)
-0:449          vector-scale ( temp 3-component vector of float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449            'inF0' ( in float)
-0:449      Sequence
-0:449        move second child to first child ( temp float)
-0:449          'r3' ( temp float)
-0:449          dot-product ( temp float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449            'inFV1' ( in 3-component vector of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3-component vector of float)
-0:449          'r4' ( temp 3-component vector of float)
-0:449          vector-times-matrix ( temp 3-component vector of float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3-component vector of float)
-0:449          'r5' ( temp 3-component vector of float)
-0:449          matrix-times-vector ( temp 3-component vector of float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3X3 matrix of float)
-0:449          'r6' ( temp 3X3 matrix of float)
-0:449          matrix-scale ( temp 3X3 matrix of float)
-0:449            'inF0' ( in float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3X3 matrix of float)
-0:449          'r7' ( temp 3X3 matrix of float)
-0:449          matrix-scale ( temp 3X3 matrix of float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:449            'inF0' ( in float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3X3 matrix of float)
-0:449          'r8' ( temp 3X3 matrix of float)
-0:449          matrix-multiply ( temp 3X3 matrix of float)
-0:449            'inFM1' ( in 3X3 matrix of float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:455  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
-0:455    Function Parameters: 
-0:455      'inF0' ( in float)
-0:455      'inF1' ( in float)
-0:455      'inFV0' ( in 4-component vector of float)
-0:455      'inFV1' ( in 4-component vector of float)
-0:455      'inFM0' ( in 4X4 matrix of float)
-0:455      'inFM1' ( in 4X4 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp float)
+0:450          'r0' ( temp float)
+0:450          component-wise multiply ( temp float)
+0:450            'inF1' ( in float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r1' ( temp 3-component vector of float)
+0:450          vector-scale ( temp 3-component vector of float)
+0:450            'inF0' ( in float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r2' ( temp 3-component vector of float)
+0:450          vector-scale ( temp 3-component vector of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp float)
+0:450          'r3' ( temp float)
+0:450          dot-product ( temp float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inFV1' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r4' ( temp 3-component vector of float)
+0:450          vector-times-matrix ( temp 3-component vector of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r5' ( temp 3-component vector of float)
+0:450          matrix-times-vector ( temp 3-component vector of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r6' ( temp 3X3 matrix of float)
+0:450          matrix-scale ( temp 3X3 matrix of float)
+0:450            'inF0' ( in float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r7' ( temp 3X3 matrix of float)
+0:450          matrix-scale ( temp 3X3 matrix of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r8' ( temp 3X3 matrix of float)
+0:450          matrix-multiply ( temp 3X3 matrix of float)
+0:450            'inFM1' ( in 3X3 matrix of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:456  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:456    Function Parameters: 
+0:456      'inF0' ( in float)
+0:456      'inF1' ( in float)
+0:456      'inFV0' ( in 4-component vector of float)
+0:456      'inFV1' ( in 4-component vector of float)
+0:456      'inFM0' ( in 4X4 matrix of float)
+0:456      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-0:456      Sequence
-0:456        move second child to first child ( temp float)
-0:456          'r0' ( temp float)
-0:456          component-wise multiply ( temp float)
-0:456            'inF1' ( in float)
-0:456            'inF0' ( in float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4-component vector of float)
-0:456          'r1' ( temp 4-component vector of float)
-0:456          vector-scale ( temp 4-component vector of float)
-0:456            'inF0' ( in float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4-component vector of float)
-0:456          'r2' ( temp 4-component vector of float)
-0:456          vector-scale ( temp 4-component vector of float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456            'inF0' ( in float)
-0:456      Sequence
-0:456        move second child to first child ( temp float)
-0:456          'r3' ( temp float)
-0:456          dot-product ( temp float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456            'inFV1' ( in 4-component vector of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4-component vector of float)
-0:456          'r4' ( temp 4-component vector of float)
-0:456          vector-times-matrix ( temp 4-component vector of float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4-component vector of float)
-0:456          'r5' ( temp 4-component vector of float)
-0:456          matrix-times-vector ( temp 4-component vector of float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4X4 matrix of float)
-0:456          'r6' ( temp 4X4 matrix of float)
-0:456          matrix-scale ( temp 4X4 matrix of float)
-0:456            'inF0' ( in float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4X4 matrix of float)
-0:456          'r7' ( temp 4X4 matrix of float)
-0:456          matrix-scale ( temp 4X4 matrix of float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:456            'inF0' ( in float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4X4 matrix of float)
-0:456          'r8' ( temp 4X4 matrix of float)
-0:456          matrix-multiply ( temp 4X4 matrix of float)
-0:456            'inFM1' ( in 4X4 matrix of float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:465  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
-0:465    Function Parameters: 
-0:465      'inF0' ( in float)
-0:465      'inF1' ( in float)
-0:465      'inFV2' ( in 2-component vector of float)
-0:465      'inFV3' ( in 3-component vector of float)
-0:465      'inFM2x3' ( in 2X3 matrix of float)
-0:465      'inFM3x2' ( in 3X2 matrix of float)
-0:465      'inFM3x3' ( in 3X3 matrix of float)
-0:465      'inFM3x4' ( in 3X4 matrix of float)
-0:465      'inFM2x4' ( in 2X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp float)
+0:457          'r0' ( temp float)
+0:457          component-wise multiply ( temp float)
+0:457            'inF1' ( in float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r1' ( temp 4-component vector of float)
+0:457          vector-scale ( temp 4-component vector of float)
+0:457            'inF0' ( in float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r2' ( temp 4-component vector of float)
+0:457          vector-scale ( temp 4-component vector of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp float)
+0:457          'r3' ( temp float)
+0:457          dot-product ( temp float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inFV1' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r4' ( temp 4-component vector of float)
+0:457          vector-times-matrix ( temp 4-component vector of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r5' ( temp 4-component vector of float)
+0:457          matrix-times-vector ( temp 4-component vector of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r6' ( temp 4X4 matrix of float)
+0:457          matrix-scale ( temp 4X4 matrix of float)
+0:457            'inF0' ( in float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r7' ( temp 4X4 matrix of float)
+0:457          matrix-scale ( temp 4X4 matrix of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r8' ( temp 4X4 matrix of float)
+0:457          matrix-multiply ( temp 4X4 matrix of float)
+0:457            'inFM1' ( in 4X4 matrix of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:466  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:466    Function Parameters: 
+0:466      'inF0' ( in float)
+0:466      'inF1' ( in float)
+0:466      'inFV2' ( in 2-component vector of float)
+0:466      'inFV3' ( in 3-component vector of float)
+0:466      'inFM2x3' ( in 2X3 matrix of float)
+0:466      'inFM3x2' ( in 3X2 matrix of float)
+0:466      'inFM3x3' ( in 3X3 matrix of float)
+0:466      'inFM3x4' ( in 3X4 matrix of float)
+0:466      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
-0:466      Sequence
-0:466        move second child to first child ( temp float)
-0:466          'r00' ( temp float)
-0:466          component-wise multiply ( temp float)
-0:466            'inF1' ( in float)
-0:466            'inF0' ( in float)
 0:467      Sequence
-0:467        move second child to first child ( temp 2-component vector of float)
-0:467          'r01' ( temp 2-component vector of float)
-0:467          vector-scale ( temp 2-component vector of float)
+0:467        move second child to first child ( temp float)
+0:467          'r00' ( temp float)
+0:467          component-wise multiply ( temp float)
+0:467            'inF1' ( in float)
 0:467            'inF0' ( in float)
-0:467            'inFV2' ( in 2-component vector of float)
 0:468      Sequence
-0:468        move second child to first child ( temp 3-component vector of float)
-0:468          'r02' ( temp 3-component vector of float)
-0:468          vector-scale ( temp 3-component vector of float)
+0:468        move second child to first child ( temp 2-component vector of float)
+0:468          'r01' ( temp 2-component vector of float)
+0:468          vector-scale ( temp 2-component vector of float)
 0:468            'inF0' ( in float)
-0:468            'inFV3' ( in 3-component vector of float)
+0:468            'inFV2' ( in 2-component vector of float)
 0:469      Sequence
-0:469        move second child to first child ( temp 2-component vector of float)
-0:469          'r03' ( temp 2-component vector of float)
-0:469          vector-scale ( temp 2-component vector of float)
-0:469            'inFV2' ( in 2-component vector of float)
+0:469        move second child to first child ( temp 3-component vector of float)
+0:469          'r02' ( temp 3-component vector of float)
+0:469          vector-scale ( temp 3-component vector of float)
 0:469            'inF0' ( in float)
+0:469            'inFV3' ( in 3-component vector of float)
 0:470      Sequence
-0:470        move second child to first child ( temp 3-component vector of float)
-0:470          'r04' ( temp 3-component vector of float)
-0:470          vector-scale ( temp 3-component vector of float)
-0:470            'inFV3' ( in 3-component vector of float)
+0:470        move second child to first child ( temp 2-component vector of float)
+0:470          'r03' ( temp 2-component vector of float)
+0:470          vector-scale ( temp 2-component vector of float)
+0:470            'inFV2' ( in 2-component vector of float)
 0:470            'inF0' ( in float)
 0:471      Sequence
-0:471        move second child to first child ( temp float)
-0:471          'r05' ( temp float)
-0:471          dot-product ( temp float)
-0:471            'inFV2' ( in 2-component vector of float)
-0:471            'inFV2' ( in 2-component vector of float)
+0:471        move second child to first child ( temp 3-component vector of float)
+0:471          'r04' ( temp 3-component vector of float)
+0:471          vector-scale ( temp 3-component vector of float)
+0:471            'inFV3' ( in 3-component vector of float)
+0:471            'inF0' ( in float)
 0:472      Sequence
 0:472        move second child to first child ( temp float)
-0:472          'r06' ( temp float)
+0:472          'r05' ( temp float)
 0:472          dot-product ( temp float)
-0:472            'inFV3' ( in 3-component vector of float)
-0:472            'inFV3' ( in 3-component vector of float)
+0:472            'inFV2' ( in 2-component vector of float)
+0:472            'inFV2' ( in 2-component vector of float)
 0:473      Sequence
-0:473        move second child to first child ( temp 3-component vector of float)
-0:473          'r07' ( temp 3-component vector of float)
-0:473          matrix-times-vector ( temp 3-component vector of float)
-0:473            'inFM2x3' ( in 2X3 matrix of float)
-0:473            'inFV2' ( in 2-component vector of float)
+0:473        move second child to first child ( temp float)
+0:473          'r06' ( temp float)
+0:473          dot-product ( temp float)
+0:473            'inFV3' ( in 3-component vector of float)
+0:473            'inFV3' ( in 3-component vector of float)
 0:474      Sequence
-0:474        move second child to first child ( temp 2-component vector of float)
-0:474          'r08' ( temp 2-component vector of float)
-0:474          matrix-times-vector ( temp 2-component vector of float)
-0:474            'inFM3x2' ( in 3X2 matrix of float)
-0:474            'inFV3' ( in 3-component vector of float)
+0:474        move second child to first child ( temp 3-component vector of float)
+0:474          'r07' ( temp 3-component vector of float)
+0:474          matrix-times-vector ( temp 3-component vector of float)
+0:474            'inFM2x3' ( in 2X3 matrix of float)
+0:474            'inFV2' ( in 2-component vector of float)
 0:475      Sequence
 0:475        move second child to first child ( temp 2-component vector of float)
-0:475          'r09' ( temp 2-component vector of float)
-0:475          vector-times-matrix ( temp 2-component vector of float)
+0:475          'r08' ( temp 2-component vector of float)
+0:475          matrix-times-vector ( temp 2-component vector of float)
+0:475            'inFM3x2' ( in 3X2 matrix of float)
 0:475            'inFV3' ( in 3-component vector of float)
-0:475            'inFM2x3' ( in 2X3 matrix of float)
 0:476      Sequence
-0:476        move second child to first child ( temp 3-component vector of float)
-0:476          'r10' ( temp 3-component vector of float)
-0:476          vector-times-matrix ( temp 3-component vector of float)
-0:476            'inFV2' ( in 2-component vector of float)
-0:476            'inFM3x2' ( in 3X2 matrix of float)
+0:476        move second child to first child ( temp 2-component vector of float)
+0:476          'r09' ( temp 2-component vector of float)
+0:476          vector-times-matrix ( temp 2-component vector of float)
+0:476            'inFV3' ( in 3-component vector of float)
+0:476            'inFM2x3' ( in 2X3 matrix of float)
 0:477      Sequence
-0:477        move second child to first child ( temp 2X3 matrix of float)
-0:477          'r11' ( temp 2X3 matrix of float)
-0:477          matrix-scale ( temp 2X3 matrix of float)
-0:477            'inF0' ( in float)
-0:477            'inFM2x3' ( in 2X3 matrix of float)
+0:477        move second child to first child ( temp 3-component vector of float)
+0:477          'r10' ( temp 3-component vector of float)
+0:477          vector-times-matrix ( temp 3-component vector of float)
+0:477            'inFV2' ( in 2-component vector of float)
+0:477            'inFM3x2' ( in 3X2 matrix of float)
 0:478      Sequence
-0:478        move second child to first child ( temp 3X2 matrix of float)
-0:478          'r12' ( temp 3X2 matrix of float)
-0:478          matrix-scale ( temp 3X2 matrix of float)
+0:478        move second child to first child ( temp 2X3 matrix of float)
+0:478          'r11' ( temp 2X3 matrix of float)
+0:478          matrix-scale ( temp 2X3 matrix of float)
 0:478            'inF0' ( in float)
-0:478            'inFM3x2' ( in 3X2 matrix of float)
+0:478            'inFM2x3' ( in 2X3 matrix of float)
 0:479      Sequence
-0:479        move second child to first child ( temp 2X2 matrix of float)
-0:479          'r13' ( temp 2X2 matrix of float)
-0:479          matrix-multiply ( temp 2X2 matrix of float)
+0:479        move second child to first child ( temp 3X2 matrix of float)
+0:479          'r12' ( temp 3X2 matrix of float)
+0:479          matrix-scale ( temp 3X2 matrix of float)
+0:479            'inF0' ( in float)
 0:479            'inFM3x2' ( in 3X2 matrix of float)
-0:479            'inFM2x3' ( in 2X3 matrix of float)
 0:480      Sequence
-0:480        move second child to first child ( temp 2X3 matrix of float)
-0:480          'r14' ( temp 2X3 matrix of float)
-0:480          matrix-multiply ( temp 2X3 matrix of float)
-0:480            'inFM3x3' ( in 3X3 matrix of float)
+0:480        move second child to first child ( temp 2X2 matrix of float)
+0:480          'r13' ( temp 2X2 matrix of float)
+0:480          matrix-multiply ( temp 2X2 matrix of float)
+0:480            'inFM3x2' ( in 3X2 matrix of float)
 0:480            'inFM2x3' ( in 2X3 matrix of float)
 0:481      Sequence
-0:481        move second child to first child ( temp 2X4 matrix of float)
-0:481          'r15' ( temp 2X4 matrix of float)
-0:481          matrix-multiply ( temp 2X4 matrix of float)
-0:481            'inFM3x4' ( in 3X4 matrix of float)
+0:481        move second child to first child ( temp 2X3 matrix of float)
+0:481          'r14' ( temp 2X3 matrix of float)
+0:481          matrix-multiply ( temp 2X3 matrix of float)
+0:481            'inFM3x3' ( in 3X3 matrix of float)
 0:481            'inFM2x3' ( in 2X3 matrix of float)
 0:482      Sequence
-0:482        move second child to first child ( temp 3X4 matrix of float)
-0:482          'r16' ( temp 3X4 matrix of float)
-0:482          matrix-multiply ( temp 3X4 matrix of float)
-0:482            'inFM2x4' ( in 2X4 matrix of float)
-0:482            'inFM3x2' ( in 3X2 matrix of float)
-0:488  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
-0:488    Function Parameters: 
+0:482        move second child to first child ( temp 2X4 matrix of float)
+0:482          'r15' ( temp 2X4 matrix of float)
+0:482          matrix-multiply ( temp 2X4 matrix of float)
+0:482            'inFM3x4' ( in 3X4 matrix of float)
+0:482            'inFM2x3' ( in 2X3 matrix of float)
+0:483      Sequence
+0:483        move second child to first child ( temp 3X4 matrix of float)
+0:483          'r16' ( temp 3X4 matrix of float)
+0:483          matrix-multiply ( temp 3X4 matrix of float)
+0:483            'inFM2x4' ( in 2X4 matrix of float)
+0:483            'inFM3x2' ( in 3X2 matrix of float)
+0:489  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:489    Function Parameters: 
 0:?     Sequence
-0:490      move second child to first child ( temp 4-component vector of float)
-0:490        color: direct index for structure ( temp 4-component vector of float)
-0:490          'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:490          Constant:
-0:490            0 (const int)
-0:490        Constant:
-0:490          1.000000
-0:490          1.000000
-0:490          1.000000
-0:490          1.000000
-0:491      Branch: Return with expression
-0:491        'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:488  Function Definition: main( ( temp void)
-0:488    Function Parameters: 
+0:491      move second child to first child ( temp 4-component vector of float)
+0:491        color: direct index for structure ( temp 4-component vector of float)
+0:491          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:491          Constant:
+0:491            0 (const int)
+0:491        Constant:
+0:491          1.000000
+0:491          1.000000
+0:491          1.000000
+0:491          1.000000
+0:492      Branch: Return with expression
+0:492        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:489  Function Definition: main( ( temp void)
+0:489    Function Parameters: 
 0:?     Sequence
-0:488      Sequence
-0:488        move second child to first child ( temp 4-component vector of float)
+0:489      Sequence
+0:489        move second child to first child ( temp 4-component vector of float)
 0:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
-0:488          color: direct index for structure ( temp 4-component vector of float)
-0:488            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
-0:488            Constant:
-0:488              0 (const int)
+0:489          color: direct index for structure ( temp 4-component vector of float)
+0:489            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:489            Constant:
+0:489              0 (const int)
 0:?   Linker Objects
 0:?     'gs_ua' ( shared uint)
 0:?     'gs_ub' ( shared uint)
@@ -2960,1110 +2966,1104 @@ gl_FragCoord origin is upper left
 0:44          'r023' ( temp float)
 0:44          degrees ( temp float)
 0:44            'inF0' ( in float)
-0:48      Sequence
-0:48        move second child to first child ( temp float)
-0:48          'r027' ( temp float)
-0:48          exp ( temp float)
-0:48            'inF0' ( in float)
+0:45      Sequence
+0:45        move second child to first child ( temp float)
+0:45          'r024' ( temp float)
+0:45          distance ( temp float)
+0:45            'inF0' ( in float)
+0:45            'inF1' ( in float)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
-0:49          'r028' ( temp float)
-0:49          exp2 ( temp float)
+0:49          'r027' ( temp float)
+0:49          exp ( temp float)
 0:49            'inF0' ( in float)
 0:50      Sequence
-0:50        move second child to first child ( temp uint)
-0:50          'r029' ( temp uint)
-0:50          Convert int to uint ( temp uint)
-0:50            findMSB ( temp int)
-0:50              Constant:
-0:50                7 (const int)
+0:50        move second child to first child ( temp float)
+0:50          'r028' ( temp float)
+0:50          exp2 ( temp float)
+0:50            'inF0' ( in float)
 0:51      Sequence
 0:51        move second child to first child ( temp uint)
-0:51          'r030' ( temp uint)
+0:51          'r029' ( temp uint)
 0:51          Convert int to uint ( temp uint)
-0:51            findLSB ( temp int)
+0:51            findMSB ( temp int)
 0:51              Constant:
 0:51                7 (const int)
 0:52      Sequence
-0:52        move second child to first child ( temp float)
-0:52          'r031' ( temp float)
-0:52          Floor ( temp float)
-0:52            'inF0' ( in float)
-0:54      Sequence
-0:54        move second child to first child ( temp float)
-0:54          'r033' ( temp float)
-0:54          mod ( temp float)
-0:54            'inF0' ( in float)
-0:54            'inF1' ( in float)
+0:52        move second child to first child ( temp uint)
+0:52          'r030' ( temp uint)
+0:52          Convert int to uint ( temp uint)
+0:52            findLSB ( temp int)
+0:52              Constant:
+0:52                7 (const int)
+0:53      Sequence
+0:53        move second child to first child ( temp float)
+0:53          'r031' ( temp float)
+0:53          Floor ( temp float)
+0:53            'inF0' ( in float)
 0:55      Sequence
 0:55        move second child to first child ( temp float)
-0:55          'r034' ( temp float)
-0:55          Fraction ( temp float)
+0:55          'r033' ( temp float)
+0:55          mod ( temp float)
 0:55            'inF0' ( in float)
+0:55            'inF1' ( in float)
 0:56      Sequence
 0:56        move second child to first child ( temp float)
-0:56          'r036' ( temp float)
-0:56          fwidth ( temp float)
+0:56          'r034' ( temp float)
+0:56          Fraction ( temp float)
 0:56            'inF0' ( in float)
 0:57      Sequence
-0:57        move second child to first child ( temp bool)
-0:57          'r037' ( temp bool)
-0:57          isinf ( temp bool)
+0:57        move second child to first child ( temp float)
+0:57          'r036' ( temp float)
+0:57          fwidth ( temp float)
 0:57            'inF0' ( in float)
 0:58      Sequence
 0:58        move second child to first child ( temp bool)
-0:58          'r038' ( temp bool)
-0:58          isnan ( temp bool)
+0:58          'r037' ( temp bool)
+0:58          isinf ( temp bool)
 0:58            'inF0' ( in float)
 0:59      Sequence
-0:59        move second child to first child ( temp float)
-0:59          'r039' ( temp float)
-0:59          ldexp ( temp float)
+0:59        move second child to first child ( temp bool)
+0:59          'r038' ( temp bool)
+0:59          isnan ( temp bool)
 0:59            'inF0' ( in float)
-0:59            'inF1' ( in float)
 0:60      Sequence
 0:60        move second child to first child ( temp float)
-0:60          'r039a' ( temp float)
-0:60          mix ( temp float)
+0:60          'r039' ( temp float)
+0:60          ldexp ( temp float)
 0:60            'inF0' ( in float)
 0:60            'inF1' ( in float)
-0:60            'inF2' ( in float)
 0:61      Sequence
 0:61        move second child to first child ( temp float)
-0:61          'r040' ( temp float)
-0:61          log ( temp float)
+0:61          'r039a' ( temp float)
+0:61          mix ( temp float)
 0:61            'inF0' ( in float)
+0:61            'inF1' ( in float)
+0:61            'inF2' ( in float)
 0:62      Sequence
 0:62        move second child to first child ( temp float)
-0:62          'r041' ( temp float)
-0:62          component-wise multiply ( temp float)
-0:62            log2 ( temp float)
-0:62              'inF0' ( in float)
-0:62            Constant:
-0:62              0.301030
+0:62          'r040' ( temp float)
+0:62          log ( temp float)
+0:62            'inF0' ( in float)
 0:63      Sequence
 0:63        move second child to first child ( temp float)
-0:63          'r042' ( temp float)
-0:63          log2 ( temp float)
-0:63            'inF0' ( in float)
+0:63          'r041' ( temp float)
+0:63          component-wise multiply ( temp float)
+0:63            log2 ( temp float)
+0:63              'inF0' ( in float)
+0:63            Constant:
+0:63              0.301030
 0:64      Sequence
 0:64        move second child to first child ( temp float)
-0:64          'r043' ( temp float)
-0:64          max ( temp float)
+0:64          'r042' ( temp float)
+0:64          log2 ( temp float)
 0:64            'inF0' ( in float)
-0:64            'inF1' ( in float)
 0:65      Sequence
 0:65        move second child to first child ( temp float)
-0:65          'r044' ( temp float)
-0:65          min ( temp float)
+0:65          'r043' ( temp float)
+0:65          max ( temp float)
 0:65            'inF0' ( in float)
 0:65            'inF1' ( in float)
 0:66      Sequence
 0:66        move second child to first child ( temp float)
-0:66          'r045' ( temp float)
-0:66          pow ( temp float)
+0:66          'r044' ( temp float)
+0:66          min ( temp float)
 0:66            'inF0' ( in float)
 0:66            'inF1' ( in float)
 0:67      Sequence
 0:67        move second child to first child ( temp float)
-0:67          'r046' ( temp float)
-0:67          radians ( temp float)
+0:67          'r045' ( temp float)
+0:67          pow ( temp float)
 0:67            'inF0' ( in float)
+0:67            'inF1' ( in float)
 0:68      Sequence
 0:68        move second child to first child ( temp float)
-0:68          'r047' ( temp float)
-0:68          divide ( temp float)
-0:68            Constant:
-0:68              1.000000
+0:68          'r046' ( temp float)
+0:68          radians ( temp float)
 0:68            'inF0' ( in float)
 0:69      Sequence
-0:69        move second child to first child ( temp uint)
-0:69          'r048' ( temp uint)
-0:69          Convert int to uint ( temp uint)
-0:69            bitFieldReverse ( temp int)
-0:69              Constant:
-0:69                2 (const int)
+0:69        move second child to first child ( temp float)
+0:69          'r047' ( temp float)
+0:69          divide ( temp float)
+0:69            Constant:
+0:69              1.000000
+0:69            'inF0' ( in float)
 0:70      Sequence
-0:70        move second child to first child ( temp float)
-0:70          'r049' ( temp float)
-0:70          roundEven ( temp float)
-0:70            'inF0' ( in float)
+0:70        move second child to first child ( temp uint)
+0:70          'r048' ( temp uint)
+0:70          Convert int to uint ( temp uint)
+0:70            bitFieldReverse ( temp int)
+0:70              Constant:
+0:70                2 (const int)
 0:71      Sequence
 0:71        move second child to first child ( temp float)
-0:71          'r050' ( temp float)
-0:71          inverse sqrt ( temp float)
+0:71          'r049' ( temp float)
+0:71          roundEven ( temp float)
 0:71            'inF0' ( in float)
 0:72      Sequence
 0:72        move second child to first child ( temp float)
-0:72          'r051' ( temp float)
-0:72          clamp ( temp float)
+0:72          'r050' ( temp float)
+0:72          inverse sqrt ( temp float)
 0:72            'inF0' ( in float)
-0:72            Constant:
-0:72              0.000000
-0:72            Constant:
-0:72              1.000000
 0:73      Sequence
 0:73        move second child to first child ( temp float)
-0:73          'r052' ( temp float)
-0:73          Sign ( temp float)
+0:73          'r051' ( temp float)
+0:73          clamp ( temp float)
 0:73            'inF0' ( in float)
+0:73            Constant:
+0:73              0.000000
+0:73            Constant:
+0:73              1.000000
 0:74      Sequence
 0:74        move second child to first child ( temp float)
-0:74          'r053' ( temp float)
-0:74          sine ( temp float)
+0:74          'r052' ( temp float)
+0:74          Sign ( temp float)
 0:74            'inF0' ( in float)
 0:75      Sequence
 0:75        move second child to first child ( temp float)
-0:75          'inF1' ( in float)
+0:75          'r053' ( temp float)
 0:75          sine ( temp float)
 0:75            'inF0' ( in float)
-0:75        move second child to first child ( temp float)
-0:75          'inF2' ( in float)
-0:75          cosine ( temp float)
-0:75            'inF0' ( in float)
 0:76      Sequence
 0:76        move second child to first child ( temp float)
-0:76          'r055' ( temp float)
-0:76          hyp. sine ( temp float)
+0:76          'inF1' ( in float)
+0:76          sine ( temp float)
+0:76            'inF0' ( in float)
+0:76        move second child to first child ( temp float)
+0:76          'inF2' ( in float)
+0:76          cosine ( temp float)
 0:76            'inF0' ( in float)
 0:77      Sequence
 0:77        move second child to first child ( temp float)
-0:77          'r056' ( temp float)
-0:77          smoothstep ( temp float)
+0:77          'r055' ( temp float)
+0:77          hyp. sine ( temp float)
 0:77            'inF0' ( in float)
-0:77            'inF1' ( in float)
-0:77            'inF2' ( in float)
 0:78      Sequence
 0:78        move second child to first child ( temp float)
-0:78          'r057' ( temp float)
-0:78          sqrt ( temp float)
+0:78          'r056' ( temp float)
+0:78          smoothstep ( temp float)
 0:78            'inF0' ( in float)
+0:78            'inF1' ( in float)
+0:78            'inF2' ( in float)
 0:79      Sequence
 0:79        move second child to first child ( temp float)
-0:79          'r058' ( temp float)
-0:79          step ( temp float)
+0:79          'r057' ( temp float)
+0:79          sqrt ( temp float)
 0:79            'inF0' ( in float)
-0:79            'inF1' ( in float)
 0:80      Sequence
 0:80        move second child to first child ( temp float)
-0:80          'r059' ( temp float)
-0:80          tangent ( temp float)
+0:80          'r058' ( temp float)
+0:80          step ( temp float)
 0:80            'inF0' ( in float)
+0:80            'inF1' ( in float)
 0:81      Sequence
 0:81        move second child to first child ( temp float)
-0:81          'r060' ( temp float)
-0:81          hyp. tangent ( temp float)
+0:81          'r059' ( temp float)
+0:81          tangent ( temp float)
 0:81            'inF0' ( in float)
-0:83      Sequence
-0:83        move second child to first child ( temp float)
-0:83          'r061' ( temp float)
-0:83          trunc ( temp float)
-0:83            'inF0' ( in float)
-0:85      Branch: Return with expression
-0:85        Constant:
-0:85          0.000000
-0:89  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
-0:89    Function Parameters: 
-0:89      'inF0' ( in 1-component vector of float)
-0:89      'inF1' ( in 1-component vector of float)
-0:89      'inF2' ( in 1-component vector of float)
+0:82      Sequence
+0:82        move second child to first child ( temp float)
+0:82          'r060' ( temp float)
+0:82          hyp. tangent ( temp float)
+0:82            'inF0' ( in float)
+0:84      Sequence
+0:84        move second child to first child ( temp float)
+0:84          'r061' ( temp float)
+0:84          trunc ( temp float)
+0:84            'inF0' ( in float)
+0:86      Branch: Return with expression
+0:86        Constant:
+0:86          0.000000
+0:90  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:90    Function Parameters: 
+0:90      'inF0' ( in 1-component vector of float)
+0:90      'inF1' ( in 1-component vector of float)
+0:90      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-0:91      Branch: Return with expression
-0:91        Constant:
-0:91          0.000000
-0:95  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
-0:95    Function Parameters: 
-0:95      'inF0' ( in 2-component vector of float)
-0:95      'inF1' ( in 2-component vector of float)
-0:95      'inF2' ( in 2-component vector of float)
-0:95      'inU0' ( in 2-component vector of uint)
-0:95      'inU1' ( in 2-component vector of uint)
+0:92      Branch: Return with expression
+0:92        Constant:
+0:92          0.000000
+0:96  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:96    Function Parameters: 
+0:96      'inF0' ( in 2-component vector of float)
+0:96      'inF1' ( in 2-component vector of float)
+0:96      'inF2' ( in 2-component vector of float)
+0:96      'inU0' ( in 2-component vector of uint)
+0:96      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
-0:98      Sequence
-0:98        move second child to first child ( temp bool)
-0:98          'r000' ( temp bool)
-0:98          all ( temp bool)
-0:98            Convert float to bool ( temp 2-component vector of bool)
-0:98              'inF0' ( in 2-component vector of float)
 0:99      Sequence
-0:99        move second child to first child ( temp 2-component vector of float)
-0:99          'r001' ( temp 2-component vector of float)
-0:99          Absolute value ( temp 2-component vector of float)
-0:99            'inF0' ( in 2-component vector of float)
+0:99        move second child to first child ( temp bool)
+0:99          'r000' ( temp bool)
+0:99          all ( temp bool)
+0:99            Convert float to bool ( temp 2-component vector of bool)
+0:99              'inF0' ( in 2-component vector of float)
 0:100      Sequence
 0:100        move second child to first child ( temp 2-component vector of float)
-0:100          'r002' ( temp 2-component vector of float)
-0:100          arc cosine ( temp 2-component vector of float)
+0:100          'r001' ( temp 2-component vector of float)
+0:100          Absolute value ( temp 2-component vector of float)
 0:100            'inF0' ( in 2-component vector of float)
 0:101      Sequence
-0:101        move second child to first child ( temp bool)
-0:101          'r003' ( temp bool)
-0:101          any ( temp bool)
-0:101            Convert float to bool ( temp 2-component vector of bool)
-0:101              'inF0' ( in 2-component vector of float)
+0:101        move second child to first child ( temp 2-component vector of float)
+0:101          'r002' ( temp 2-component vector of float)
+0:101          arc cosine ( temp 2-component vector of float)
+0:101            'inF0' ( in 2-component vector of float)
 0:102      Sequence
-0:102        move second child to first child ( temp 2-component vector of float)
-0:102          'r004' ( temp 2-component vector of float)
-0:102          arc sine ( temp 2-component vector of float)
-0:102            'inF0' ( in 2-component vector of float)
+0:102        move second child to first child ( temp bool)
+0:102          'r003' ( temp bool)
+0:102          any ( temp bool)
+0:102            Convert float to bool ( temp 2-component vector of bool)
+0:102              'inF0' ( in 2-component vector of float)
 0:103      Sequence
-0:103        move second child to first child ( temp 2-component vector of int)
-0:103          'r005' ( temp 2-component vector of int)
-0:103          floatBitsToInt ( temp 2-component vector of int)
+0:103        move second child to first child ( temp 2-component vector of float)
+0:103          'r004' ( temp 2-component vector of float)
+0:103          arc sine ( temp 2-component vector of float)
 0:103            'inF0' ( in 2-component vector of float)
 0:104      Sequence
-0:104        move second child to first child ( temp 2-component vector of uint)
-0:104          'r006' ( temp 2-component vector of uint)
-0:104          floatBitsToUint ( temp 2-component vector of uint)
+0:104        move second child to first child ( temp 2-component vector of int)
+0:104          'r005' ( temp 2-component vector of int)
+0:104          floatBitsToInt ( temp 2-component vector of int)
 0:104            'inF0' ( in 2-component vector of float)
 0:105      Sequence
-0:105        move second child to first child ( temp 2-component vector of float)
-0:105          'r007' ( temp 2-component vector of float)
-0:105          intBitsToFloat ( temp 2-component vector of float)
-0:105            'inU0' ( in 2-component vector of uint)
-0:107      Sequence
-0:107        move second child to first child ( temp 2-component vector of float)
-0:107          'r009' ( temp 2-component vector of float)
-0:107          arc tangent ( temp 2-component vector of float)
-0:107            'inF0' ( in 2-component vector of float)
+0:105        move second child to first child ( temp 2-component vector of uint)
+0:105          'r006' ( temp 2-component vector of uint)
+0:105          floatBitsToUint ( temp 2-component vector of uint)
+0:105            'inF0' ( in 2-component vector of float)
+0:106      Sequence
+0:106        move second child to first child ( temp 2-component vector of float)
+0:106          'r007' ( temp 2-component vector of float)
+0:106          intBitsToFloat ( temp 2-component vector of float)
+0:106            'inU0' ( in 2-component vector of uint)
 0:108      Sequence
 0:108        move second child to first child ( temp 2-component vector of float)
-0:108          'r010' ( temp 2-component vector of float)
+0:108          'r009' ( temp 2-component vector of float)
 0:108          arc tangent ( temp 2-component vector of float)
 0:108            'inF0' ( in 2-component vector of float)
-0:108            'inF1' ( in 2-component vector of float)
 0:109      Sequence
 0:109        move second child to first child ( temp 2-component vector of float)
-0:109          'r011' ( temp 2-component vector of float)
-0:109          Ceiling ( temp 2-component vector of float)
+0:109          'r010' ( temp 2-component vector of float)
+0:109          arc tangent ( temp 2-component vector of float)
 0:109            'inF0' ( in 2-component vector of float)
+0:109            'inF1' ( in 2-component vector of float)
 0:110      Sequence
 0:110        move second child to first child ( temp 2-component vector of float)
-0:110          'r012' ( temp 2-component vector of float)
-0:110          clamp ( temp 2-component vector of float)
+0:110          'r011' ( temp 2-component vector of float)
+0:110          Ceiling ( temp 2-component vector of float)
 0:110            'inF0' ( in 2-component vector of float)
-0:110            'inF1' ( in 2-component vector of float)
-0:110            'inF2' ( in 2-component vector of float)
-0:111      Test condition and select ( temp void)
-0:111        Condition
-0:111        any ( temp bool)
-0:111          Compare Less Than ( temp 2-component vector of bool)
+0:111      Sequence
+0:111        move second child to first child ( temp 2-component vector of float)
+0:111          'r012' ( temp 2-component vector of float)
+0:111          clamp ( temp 2-component vector of float)
 0:111            'inF0' ( in 2-component vector of float)
-0:111            Constant:
-0:111              0.000000
-0:111              0.000000
-0:111        true case
-0:111        Branch: Kill
+0:111            'inF1' ( in 2-component vector of float)
+0:111            'inF2' ( in 2-component vector of float)
 0:112      Test condition and select ( temp void)
 0:112        Condition
 0:112        any ( temp bool)
 0:112          Compare Less Than ( temp 2-component vector of bool)
-0:112            'inU0' ( in 2-component vector of uint)
+0:112            'inF0' ( in 2-component vector of float)
 0:112            Constant:
 0:112              0.000000
 0:112              0.000000
 0:112        true case
 0:112        Branch: Kill
-0:113      Sequence
-0:113        move second child to first child ( temp 2-component vector of float)
-0:113          'r013' ( temp 2-component vector of float)
-0:113          cosine ( temp 2-component vector of float)
-0:113            'inF0' ( in 2-component vector of float)
+0:113      Test condition and select ( temp void)
+0:113        Condition
+0:113        any ( temp bool)
+0:113          Compare Less Than ( temp 2-component vector of bool)
+0:113            'inU0' ( in 2-component vector of uint)
+0:113            Constant:
+0:113              0.000000
+0:113              0.000000
+0:113        true case
+0:113        Branch: Kill
 0:114      Sequence
 0:114        move second child to first child ( temp 2-component vector of float)
-0:114          'r015' ( temp 2-component vector of float)
-0:114          hyp. cosine ( temp 2-component vector of float)
+0:114          'r013' ( temp 2-component vector of float)
+0:114          cosine ( temp 2-component vector of float)
 0:114            'inF0' ( in 2-component vector of float)
 0:115      Sequence
-0:115        move second child to first child ( temp 2-component vector of int)
-0:115          'r016' ( temp 2-component vector of int)
+0:115        move second child to first child ( temp 2-component vector of float)
+0:115          'r015' ( temp 2-component vector of float)
+0:115          hyp. cosine ( temp 2-component vector of float)
+0:115            'inF0' ( in 2-component vector of float)
+0:116      Sequence
+0:116        move second child to first child ( temp 2-component vector of int)
+0:116          'r016' ( temp 2-component vector of int)
 0:?           bitCount ( temp 2-component vector of int)
 0:?             Constant:
 0:?               7 (const int)
 0:?               3 (const int)
-0:116      Sequence
-0:116        move second child to first child ( temp 2-component vector of float)
-0:116          'r017' ( temp 2-component vector of float)
-0:116          dPdx ( temp 2-component vector of float)
-0:116            'inF0' ( in 2-component vector of float)
 0:117      Sequence
 0:117        move second child to first child ( temp 2-component vector of float)
-0:117          'r018' ( temp 2-component vector of float)
-0:117          dPdxCoarse ( temp 2-component vector of float)
+0:117          'r017' ( temp 2-component vector of float)
+0:117          dPdx ( temp 2-component vector of float)
 0:117            'inF0' ( in 2-component vector of float)
 0:118      Sequence
 0:118        move second child to first child ( temp 2-component vector of float)
-0:118          'r019' ( temp 2-component vector of float)
-0:118          dPdxFine ( temp 2-component vector of float)
+0:118          'r018' ( temp 2-component vector of float)
+0:118          dPdxCoarse ( temp 2-component vector of float)
 0:118            'inF0' ( in 2-component vector of float)
 0:119      Sequence
 0:119        move second child to first child ( temp 2-component vector of float)
-0:119          'r020' ( temp 2-component vector of float)
-0:119          dPdy ( temp 2-component vector of float)
+0:119          'r019' ( temp 2-component vector of float)
+0:119          dPdxFine ( temp 2-component vector of float)
 0:119            'inF0' ( in 2-component vector of float)
 0:120      Sequence
 0:120        move second child to first child ( temp 2-component vector of float)
-0:120          'r021' ( temp 2-component vector of float)
-0:120          dPdyCoarse ( temp 2-component vector of float)
+0:120          'r020' ( temp 2-component vector of float)
+0:120          dPdy ( temp 2-component vector of float)
 0:120            'inF0' ( in 2-component vector of float)
 0:121      Sequence
 0:121        move second child to first child ( temp 2-component vector of float)
-0:121          'r022' ( temp 2-component vector of float)
-0:121          dPdyFine ( temp 2-component vector of float)
+0:121          'r021' ( temp 2-component vector of float)
+0:121          dPdyCoarse ( temp 2-component vector of float)
 0:121            'inF0' ( in 2-component vector of float)
 0:122      Sequence
 0:122        move second child to first child ( temp 2-component vector of float)
-0:122          'r023' ( temp 2-component vector of float)
-0:122          degrees ( temp 2-component vector of float)
+0:122          'r022' ( temp 2-component vector of float)
+0:122          dPdyFine ( temp 2-component vector of float)
 0:122            'inF0' ( in 2-component vector of float)
-0:126      Sequence
-0:126        move second child to first child ( temp float)
-0:126          'r026' ( temp float)
-0:126          distance ( temp float)
-0:126            'inF0' ( in 2-component vector of float)
-0:126            'inF1' ( in 2-component vector of float)
+0:123      Sequence
+0:123        move second child to first child ( temp 2-component vector of float)
+0:123          'r023' ( temp 2-component vector of float)
+0:123          degrees ( temp 2-component vector of float)
+0:123            'inF0' ( in 2-component vector of float)
 0:127      Sequence
 0:127        move second child to first child ( temp float)
-0:127          'r027' ( temp float)
-0:127          dot-product ( temp float)
+0:127          'r026' ( temp float)
+0:127          distance ( temp float)
 0:127            'inF0' ( in 2-component vector of float)
 0:127            'inF1' ( in 2-component vector of float)
-0:131      Sequence
-0:131        move second child to first child ( temp 2-component vector of float)
-0:131          'r028' ( temp 2-component vector of float)
-0:131          exp ( temp 2-component vector of float)
-0:131            'inF0' ( in 2-component vector of float)
+0:128      Sequence
+0:128        move second child to first child ( temp float)
+0:128          'r027' ( temp float)
+0:128          dot-product ( temp float)
+0:128            'inF0' ( in 2-component vector of float)
+0:128            'inF1' ( in 2-component vector of float)
 0:132      Sequence
 0:132        move second child to first child ( temp 2-component vector of float)
-0:132          'r029' ( temp 2-component vector of float)
-0:132          exp2 ( temp 2-component vector of float)
+0:132          'r028' ( temp 2-component vector of float)
+0:132          exp ( temp 2-component vector of float)
 0:132            'inF0' ( in 2-component vector of float)
 0:133      Sequence
 0:133        move second child to first child ( temp 2-component vector of float)
-0:133          'r030' ( temp 2-component vector of float)
-0:133          face-forward ( temp 2-component vector of float)
+0:133          'r029' ( temp 2-component vector of float)
+0:133          exp2 ( temp 2-component vector of float)
 0:133            'inF0' ( in 2-component vector of float)
-0:133            'inF1' ( in 2-component vector of float)
-0:133            'inF2' ( in 2-component vector of float)
 0:134      Sequence
-0:134        move second child to first child ( temp 2-component vector of uint)
-0:134          'r031' ( temp 2-component vector of uint)
+0:134        move second child to first child ( temp 2-component vector of float)
+0:134          'r030' ( temp 2-component vector of float)
+0:134          face-forward ( temp 2-component vector of float)
+0:134            'inF0' ( in 2-component vector of float)
+0:134            'inF1' ( in 2-component vector of float)
+0:134            'inF2' ( in 2-component vector of float)
+0:135      Sequence
+0:135        move second child to first child ( temp 2-component vector of uint)
+0:135          'r031' ( temp 2-component vector of uint)
 0:?           findMSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:135      Sequence
-0:135        move second child to first child ( temp 2-component vector of uint)
-0:135          'r032' ( temp 2-component vector of uint)
+0:136      Sequence
+0:136        move second child to first child ( temp 2-component vector of uint)
+0:136          'r032' ( temp 2-component vector of uint)
 0:?           findLSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:136      Sequence
-0:136        move second child to first child ( temp 2-component vector of float)
-0:136          'r033' ( temp 2-component vector of float)
-0:136          Floor ( temp 2-component vector of float)
-0:136            'inF0' ( in 2-component vector of float)
-0:138      Sequence
-0:138        move second child to first child ( temp 2-component vector of float)
-0:138          'r035' ( temp 2-component vector of float)
-0:138          mod ( temp 2-component vector of float)
-0:138            'inF0' ( in 2-component vector of float)
-0:138            'inF1' ( in 2-component vector of float)
+0:137      Sequence
+0:137        move second child to first child ( temp 2-component vector of float)
+0:137          'r033' ( temp 2-component vector of float)
+0:137          Floor ( temp 2-component vector of float)
+0:137            'inF0' ( in 2-component vector of float)
 0:139      Sequence
 0:139        move second child to first child ( temp 2-component vector of float)
-0:139          'r036' ( temp 2-component vector of float)
-0:139          Fraction ( temp 2-component vector of float)
+0:139          'r035' ( temp 2-component vector of float)
+0:139          mod ( temp 2-component vector of float)
 0:139            'inF0' ( in 2-component vector of float)
+0:139            'inF1' ( in 2-component vector of float)
 0:140      Sequence
 0:140        move second child to first child ( temp 2-component vector of float)
-0:140          'r038' ( temp 2-component vector of float)
-0:140          fwidth ( temp 2-component vector of float)
+0:140          'r036' ( temp 2-component vector of float)
+0:140          Fraction ( temp 2-component vector of float)
 0:140            'inF0' ( in 2-component vector of float)
 0:141      Sequence
-0:141        move second child to first child ( temp 2-component vector of bool)
-0:141          'r039' ( temp 2-component vector of bool)
-0:141          isinf ( temp 2-component vector of bool)
+0:141        move second child to first child ( temp 2-component vector of float)
+0:141          'r038' ( temp 2-component vector of float)
+0:141          fwidth ( temp 2-component vector of float)
 0:141            'inF0' ( in 2-component vector of float)
 0:142      Sequence
 0:142        move second child to first child ( temp 2-component vector of bool)
-0:142          'r040' ( temp 2-component vector of bool)
-0:142          isnan ( temp 2-component vector of bool)
+0:142          'r039' ( temp 2-component vector of bool)
+0:142          isinf ( temp 2-component vector of bool)
 0:142            'inF0' ( in 2-component vector of float)
 0:143      Sequence
-0:143        move second child to first child ( temp 2-component vector of float)
-0:143          'r041' ( temp 2-component vector of float)
-0:143          ldexp ( temp 2-component vector of float)
+0:143        move second child to first child ( temp 2-component vector of bool)
+0:143          'r040' ( temp 2-component vector of bool)
+0:143          isnan ( temp 2-component vector of bool)
 0:143            'inF0' ( in 2-component vector of float)
-0:143            'inF1' ( in 2-component vector of float)
 0:144      Sequence
 0:144        move second child to first child ( temp 2-component vector of float)
-0:144          'r039a' ( temp 2-component vector of float)
-0:144          mix ( temp 2-component vector of float)
+0:144          'r041' ( temp 2-component vector of float)
+0:144          ldexp ( temp 2-component vector of float)
 0:144            'inF0' ( in 2-component vector of float)
 0:144            'inF1' ( in 2-component vector of float)
-0:144            'inF2' ( in 2-component vector of float)
 0:145      Sequence
-0:145        move second child to first child ( temp float)
-0:145          'r042' ( temp float)
-0:145          length ( temp float)
+0:145        move second child to first child ( temp 2-component vector of float)
+0:145          'r039a' ( temp 2-component vector of float)
+0:145          mix ( temp 2-component vector of float)
 0:145            'inF0' ( in 2-component vector of float)
+0:145            'inF1' ( in 2-component vector of float)
+0:145            'inF2' ( in 2-component vector of float)
 0:146      Sequence
-0:146        move second child to first child ( temp 2-component vector of float)
-0:146          'r043' ( temp 2-component vector of float)
-0:146          log ( temp 2-component vector of float)
+0:146        move second child to first child ( temp float)
+0:146          'r042' ( temp float)
+0:146          length ( temp float)
 0:146            'inF0' ( in 2-component vector of float)
 0:147      Sequence
 0:147        move second child to first child ( temp 2-component vector of float)
-0:147          'r044' ( temp 2-component vector of float)
-0:147          vector-scale ( temp 2-component vector of float)
-0:147            log2 ( temp 2-component vector of float)
-0:147              'inF0' ( in 2-component vector of float)
-0:147            Constant:
-0:147              0.301030
+0:147          'r043' ( temp 2-component vector of float)
+0:147          log ( temp 2-component vector of float)
+0:147            'inF0' ( in 2-component vector of float)
 0:148      Sequence
 0:148        move second child to first child ( temp 2-component vector of float)
-0:148          'r045' ( temp 2-component vector of float)
-0:148          log2 ( temp 2-component vector of float)
-0:148            'inF0' ( in 2-component vector of float)
+0:148          'r044' ( temp 2-component vector of float)
+0:148          vector-scale ( temp 2-component vector of float)
+0:148            log2 ( temp 2-component vector of float)
+0:148              'inF0' ( in 2-component vector of float)
+0:148            Constant:
+0:148              0.301030
 0:149      Sequence
 0:149        move second child to first child ( temp 2-component vector of float)
-0:149          'r046' ( temp 2-component vector of float)
-0:149          max ( temp 2-component vector of float)
+0:149          'r045' ( temp 2-component vector of float)
+0:149          log2 ( temp 2-component vector of float)
 0:149            'inF0' ( in 2-component vector of float)
-0:149            'inF1' ( in 2-component vector of float)
 0:150      Sequence
 0:150        move second child to first child ( temp 2-component vector of float)
-0:150          'r047' ( temp 2-component vector of float)
-0:150          min ( temp 2-component vector of float)
+0:150          'r046' ( temp 2-component vector of float)
+0:150          max ( temp 2-component vector of float)
 0:150            'inF0' ( in 2-component vector of float)
 0:150            'inF1' ( in 2-component vector of float)
 0:151      Sequence
 0:151        move second child to first child ( temp 2-component vector of float)
-0:151          'r048' ( temp 2-component vector of float)
-0:151          normalize ( temp 2-component vector of float)
+0:151          'r047' ( temp 2-component vector of float)
+0:151          min ( temp 2-component vector of float)
 0:151            'inF0' ( in 2-component vector of float)
+0:151            'inF1' ( in 2-component vector of float)
 0:152      Sequence
 0:152        move second child to first child ( temp 2-component vector of float)
-0:152          'r049' ( temp 2-component vector of float)
-0:152          pow ( temp 2-component vector of float)
+0:152          'r048' ( temp 2-component vector of float)
+0:152          normalize ( temp 2-component vector of float)
 0:152            'inF0' ( in 2-component vector of float)
-0:152            'inF1' ( in 2-component vector of float)
 0:153      Sequence
 0:153        move second child to first child ( temp 2-component vector of float)
-0:153          'r050' ( temp 2-component vector of float)
-0:153          radians ( temp 2-component vector of float)
+0:153          'r049' ( temp 2-component vector of float)
+0:153          pow ( temp 2-component vector of float)
 0:153            'inF0' ( in 2-component vector of float)
+0:153            'inF1' ( in 2-component vector of float)
 0:154      Sequence
 0:154        move second child to first child ( temp 2-component vector of float)
-0:154          'r051' ( temp 2-component vector of float)
-0:154          divide ( temp 2-component vector of float)
-0:154            Constant:
-0:154              1.000000
+0:154          'r050' ( temp 2-component vector of float)
+0:154          radians ( temp 2-component vector of float)
 0:154            'inF0' ( in 2-component vector of float)
 0:155      Sequence
 0:155        move second child to first child ( temp 2-component vector of float)
-0:155          'r052' ( temp 2-component vector of float)
-0:155          reflect ( temp 2-component vector of float)
+0:155          'r051' ( temp 2-component vector of float)
+0:155          divide ( temp 2-component vector of float)
+0:155            Constant:
+0:155              1.000000
 0:155            'inF0' ( in 2-component vector of float)
-0:155            'inF1' ( in 2-component vector of float)
 0:156      Sequence
 0:156        move second child to first child ( temp 2-component vector of float)
-0:156          'r053' ( temp 2-component vector of float)
-0:156          refract ( temp 2-component vector of float)
+0:156          'r052' ( temp 2-component vector of float)
+0:156          reflect ( temp 2-component vector of float)
 0:156            'inF0' ( in 2-component vector of float)
 0:156            'inF1' ( in 2-component vector of float)
-0:156            Constant:
-0:156              2.000000
 0:157      Sequence
-0:157        move second child to first child ( temp 2-component vector of uint)
-0:157          'r054' ( temp 2-component vector of uint)
+0:157        move second child to first child ( temp 2-component vector of float)
+0:157          'r053' ( temp 2-component vector of float)
+0:157          refract ( temp 2-component vector of float)
+0:157            'inF0' ( in 2-component vector of float)
+0:157            'inF1' ( in 2-component vector of float)
+0:157            Constant:
+0:157              2.000000
+0:158      Sequence
+0:158        move second child to first child ( temp 2-component vector of uint)
+0:158          'r054' ( temp 2-component vector of uint)
 0:?           bitFieldReverse ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
-0:158      Sequence
-0:158        move second child to first child ( temp 2-component vector of float)
-0:158          'r055' ( temp 2-component vector of float)
-0:158          roundEven ( temp 2-component vector of float)
-0:158            'inF0' ( in 2-component vector of float)
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of float)
-0:159          'r056' ( temp 2-component vector of float)
-0:159          inverse sqrt ( temp 2-component vector of float)
+0:159          'r055' ( temp 2-component vector of float)
+0:159          roundEven ( temp 2-component vector of float)
 0:159            'inF0' ( in 2-component vector of float)
 0:160      Sequence
 0:160        move second child to first child ( temp 2-component vector of float)
-0:160          'r057' ( temp 2-component vector of float)
-0:160          clamp ( temp 2-component vector of float)
+0:160          'r056' ( temp 2-component vector of float)
+0:160          inverse sqrt ( temp 2-component vector of float)
 0:160            'inF0' ( in 2-component vector of float)
-0:160            Constant:
-0:160              0.000000
-0:160            Constant:
-0:160              1.000000
 0:161      Sequence
 0:161        move second child to first child ( temp 2-component vector of float)
-0:161          'r058' ( temp 2-component vector of float)
-0:161          Sign ( temp 2-component vector of float)
+0:161          'r057' ( temp 2-component vector of float)
+0:161          clamp ( temp 2-component vector of float)
 0:161            'inF0' ( in 2-component vector of float)
+0:161            Constant:
+0:161              0.000000
+0:161            Constant:
+0:161              1.000000
 0:162      Sequence
 0:162        move second child to first child ( temp 2-component vector of float)
-0:162          'r059' ( temp 2-component vector of float)
-0:162          sine ( temp 2-component vector of float)
+0:162          'r058' ( temp 2-component vector of float)
+0:162          Sign ( temp 2-component vector of float)
 0:162            'inF0' ( in 2-component vector of float)
 0:163      Sequence
 0:163        move second child to first child ( temp 2-component vector of float)
-0:163          'inF1' ( in 2-component vector of float)
+0:163          'r059' ( temp 2-component vector of float)
 0:163          sine ( temp 2-component vector of float)
 0:163            'inF0' ( in 2-component vector of float)
-0:163        move second child to first child ( temp 2-component vector of float)
-0:163          'inF2' ( in 2-component vector of float)
-0:163          cosine ( temp 2-component vector of float)
-0:163            'inF0' ( in 2-component vector of float)
 0:164      Sequence
 0:164        move second child to first child ( temp 2-component vector of float)
-0:164          'r060' ( temp 2-component vector of float)
-0:164          hyp. sine ( temp 2-component vector of float)
+0:164          'inF1' ( in 2-component vector of float)
+0:164          sine ( temp 2-component vector of float)
+0:164            'inF0' ( in 2-component vector of float)
+0:164        move second child to first child ( temp 2-component vector of float)
+0:164          'inF2' ( in 2-component vector of float)
+0:164          cosine ( temp 2-component vector of float)
 0:164            'inF0' ( in 2-component vector of float)
 0:165      Sequence
 0:165        move second child to first child ( temp 2-component vector of float)
-0:165          'r061' ( temp 2-component vector of float)
-0:165          smoothstep ( temp 2-component vector of float)
+0:165          'r060' ( temp 2-component vector of float)
+0:165          hyp. sine ( temp 2-component vector of float)
 0:165            'inF0' ( in 2-component vector of float)
-0:165            'inF1' ( in 2-component vector of float)
-0:165            'inF2' ( in 2-component vector of float)
 0:166      Sequence
 0:166        move second child to first child ( temp 2-component vector of float)
-0:166          'r062' ( temp 2-component vector of float)
-0:166          sqrt ( temp 2-component vector of float)
+0:166          'r061' ( temp 2-component vector of float)
+0:166          smoothstep ( temp 2-component vector of float)
 0:166            'inF0' ( in 2-component vector of float)
+0:166            'inF1' ( in 2-component vector of float)
+0:166            'inF2' ( in 2-component vector of float)
 0:167      Sequence
 0:167        move second child to first child ( temp 2-component vector of float)
-0:167          'r063' ( temp 2-component vector of float)
-0:167          step ( temp 2-component vector of float)
+0:167          'r062' ( temp 2-component vector of float)
+0:167          sqrt ( temp 2-component vector of float)
 0:167            'inF0' ( in 2-component vector of float)
-0:167            'inF1' ( in 2-component vector of float)
 0:168      Sequence
 0:168        move second child to first child ( temp 2-component vector of float)
-0:168          'r064' ( temp 2-component vector of float)
-0:168          tangent ( temp 2-component vector of float)
+0:168          'r063' ( temp 2-component vector of float)
+0:168          step ( temp 2-component vector of float)
 0:168            'inF0' ( in 2-component vector of float)
+0:168            'inF1' ( in 2-component vector of float)
 0:169      Sequence
 0:169        move second child to first child ( temp 2-component vector of float)
-0:169          'r065' ( temp 2-component vector of float)
-0:169          hyp. tangent ( temp 2-component vector of float)
+0:169          'r064' ( temp 2-component vector of float)
+0:169          tangent ( temp 2-component vector of float)
 0:169            'inF0' ( in 2-component vector of float)
-0:171      Sequence
-0:171        move second child to first child ( temp 2-component vector of float)
-0:171          'r066' ( temp 2-component vector of float)
-0:171          trunc ( temp 2-component vector of float)
-0:171            'inF0' ( in 2-component vector of float)
-0:174      Branch: Return with expression
+0:170      Sequence
+0:170        move second child to first child ( temp 2-component vector of float)
+0:170          'r065' ( temp 2-component vector of float)
+0:170          hyp. tangent ( temp 2-component vector of float)
+0:170            'inF0' ( in 2-component vector of float)
+0:172      Sequence
+0:172        move second child to first child ( temp 2-component vector of float)
+0:172          'r066' ( temp 2-component vector of float)
+0:172          trunc ( temp 2-component vector of float)
+0:172            'inF0' ( in 2-component vector of float)
+0:175      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:178  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
-0:178    Function Parameters: 
-0:178      'inF0' ( in 3-component vector of float)
-0:178      'inF1' ( in 3-component vector of float)
-0:178      'inF2' ( in 3-component vector of float)
-0:178      'inU0' ( in 3-component vector of uint)
-0:178      'inU1' ( in 3-component vector of uint)
+0:179  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:179    Function Parameters: 
+0:179      'inF0' ( in 3-component vector of float)
+0:179      'inF1' ( in 3-component vector of float)
+0:179      'inF2' ( in 3-component vector of float)
+0:179      'inU0' ( in 3-component vector of uint)
+0:179      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
-0:181      Sequence
-0:181        move second child to first child ( temp bool)
-0:181          'r000' ( temp bool)
-0:181          all ( temp bool)
-0:181            Convert float to bool ( temp 3-component vector of bool)
-0:181              'inF0' ( in 3-component vector of float)
 0:182      Sequence
-0:182        move second child to first child ( temp 3-component vector of float)
-0:182          'r001' ( temp 3-component vector of float)
-0:182          Absolute value ( temp 3-component vector of float)
-0:182            'inF0' ( in 3-component vector of float)
+0:182        move second child to first child ( temp bool)
+0:182          'r000' ( temp bool)
+0:182          all ( temp bool)
+0:182            Convert float to bool ( temp 3-component vector of bool)
+0:182              'inF0' ( in 3-component vector of float)
 0:183      Sequence
 0:183        move second child to first child ( temp 3-component vector of float)
-0:183          'r002' ( temp 3-component vector of float)
-0:183          arc cosine ( temp 3-component vector of float)
+0:183          'r001' ( temp 3-component vector of float)
+0:183          Absolute value ( temp 3-component vector of float)
 0:183            'inF0' ( in 3-component vector of float)
 0:184      Sequence
-0:184        move second child to first child ( temp bool)
-0:184          'r003' ( temp bool)
-0:184          any ( temp bool)
-0:184            Convert float to bool ( temp 3-component vector of bool)
-0:184              'inF0' ( in 3-component vector of float)
+0:184        move second child to first child ( temp 3-component vector of float)
+0:184          'r002' ( temp 3-component vector of float)
+0:184          arc cosine ( temp 3-component vector of float)
+0:184            'inF0' ( in 3-component vector of float)
 0:185      Sequence
-0:185        move second child to first child ( temp 3-component vector of float)
-0:185          'r004' ( temp 3-component vector of float)
-0:185          arc sine ( temp 3-component vector of float)
-0:185            'inF0' ( in 3-component vector of float)
+0:185        move second child to first child ( temp bool)
+0:185          'r003' ( temp bool)
+0:185          any ( temp bool)
+0:185            Convert float to bool ( temp 3-component vector of bool)
+0:185              'inF0' ( in 3-component vector of float)
 0:186      Sequence
-0:186        move second child to first child ( temp 3-component vector of int)
-0:186          'r005' ( temp 3-component vector of int)
-0:186          floatBitsToInt ( temp 3-component vector of int)
+0:186        move second child to first child ( temp 3-component vector of float)
+0:186          'r004' ( temp 3-component vector of float)
+0:186          arc sine ( temp 3-component vector of float)
 0:186            'inF0' ( in 3-component vector of float)
 0:187      Sequence
-0:187        move second child to first child ( temp 3-component vector of uint)
-0:187          'r006' ( temp 3-component vector of uint)
-0:187          floatBitsToUint ( temp 3-component vector of uint)
+0:187        move second child to first child ( temp 3-component vector of int)
+0:187          'r005' ( temp 3-component vector of int)
+0:187          floatBitsToInt ( temp 3-component vector of int)
 0:187            'inF0' ( in 3-component vector of float)
 0:188      Sequence
-0:188        move second child to first child ( temp 3-component vector of float)
-0:188          'r007' ( temp 3-component vector of float)
-0:188          intBitsToFloat ( temp 3-component vector of float)
-0:188            'inU0' ( in 3-component vector of uint)
-0:190      Sequence
-0:190        move second child to first child ( temp 3-component vector of float)
-0:190          'r009' ( temp 3-component vector of float)
-0:190          arc tangent ( temp 3-component vector of float)
-0:190            'inF0' ( in 3-component vector of float)
+0:188        move second child to first child ( temp 3-component vector of uint)
+0:188          'r006' ( temp 3-component vector of uint)
+0:188          floatBitsToUint ( temp 3-component vector of uint)
+0:188            'inF0' ( in 3-component vector of float)
+0:189      Sequence
+0:189        move second child to first child ( temp 3-component vector of float)
+0:189          'r007' ( temp 3-component vector of float)
+0:189          intBitsToFloat ( temp 3-component vector of float)
+0:189            'inU0' ( in 3-component vector of uint)
 0:191      Sequence
 0:191        move second child to first child ( temp 3-component vector of float)
-0:191          'r010' ( temp 3-component vector of float)
+0:191          'r009' ( temp 3-component vector of float)
 0:191          arc tangent ( temp 3-component vector of float)
 0:191            'inF0' ( in 3-component vector of float)
-0:191            'inF1' ( in 3-component vector of float)
 0:192      Sequence
 0:192        move second child to first child ( temp 3-component vector of float)
-0:192          'r011' ( temp 3-component vector of float)
-0:192          Ceiling ( temp 3-component vector of float)
+0:192          'r010' ( temp 3-component vector of float)
+0:192          arc tangent ( temp 3-component vector of float)
 0:192            'inF0' ( in 3-component vector of float)
+0:192            'inF1' ( in 3-component vector of float)
 0:193      Sequence
 0:193        move second child to first child ( temp 3-component vector of float)
-0:193          'r012' ( temp 3-component vector of float)
-0:193          clamp ( temp 3-component vector of float)
+0:193          'r011' ( temp 3-component vector of float)
+0:193          Ceiling ( temp 3-component vector of float)
 0:193            'inF0' ( in 3-component vector of float)
-0:193            'inF1' ( in 3-component vector of float)
-0:193            'inF2' ( in 3-component vector of float)
-0:194      Test condition and select ( temp void)
-0:194        Condition
-0:194        any ( temp bool)
-0:194          Compare Less Than ( temp 3-component vector of bool)
+0:194      Sequence
+0:194        move second child to first child ( temp 3-component vector of float)
+0:194          'r012' ( temp 3-component vector of float)
+0:194          clamp ( temp 3-component vector of float)
 0:194            'inF0' ( in 3-component vector of float)
-0:194            Constant:
-0:194              0.000000
-0:194              0.000000
-0:194              0.000000
-0:194        true case
-0:194        Branch: Kill
+0:194            'inF1' ( in 3-component vector of float)
+0:194            'inF2' ( in 3-component vector of float)
 0:195      Test condition and select ( temp void)
 0:195        Condition
 0:195        any ( temp bool)
 0:195          Compare Less Than ( temp 3-component vector of bool)
-0:195            'inU0' ( in 3-component vector of uint)
+0:195            'inF0' ( in 3-component vector of float)
 0:195            Constant:
 0:195              0.000000
 0:195              0.000000
 0:195              0.000000
 0:195        true case
 0:195        Branch: Kill
-0:196      Sequence
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'r013' ( temp 3-component vector of float)
-0:196          cosine ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
+0:196      Test condition and select ( temp void)
+0:196        Condition
+0:196        any ( temp bool)
+0:196          Compare Less Than ( temp 3-component vector of bool)
+0:196            'inU0' ( in 3-component vector of uint)
+0:196            Constant:
+0:196              0.000000
+0:196              0.000000
+0:196              0.000000
+0:196        true case
+0:196        Branch: Kill
 0:197      Sequence
 0:197        move second child to first child ( temp 3-component vector of float)
-0:197          'r014' ( temp 3-component vector of float)
-0:197          hyp. cosine ( temp 3-component vector of float)
+0:197          'r013' ( temp 3-component vector of float)
+0:197          cosine ( temp 3-component vector of float)
 0:197            'inF0' ( in 3-component vector of float)
 0:198      Sequence
-0:198        move second child to first child ( temp 3-component vector of uint)
-0:198          'r015' ( temp 3-component vector of uint)
+0:198        move second child to first child ( temp 3-component vector of float)
+0:198          'r014' ( temp 3-component vector of float)
+0:198          hyp. cosine ( temp 3-component vector of float)
+0:198            'inF0' ( in 3-component vector of float)
+0:199      Sequence
+0:199        move second child to first child ( temp 3-component vector of uint)
+0:199          'r015' ( temp 3-component vector of uint)
 0:?           bitCount ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:?               5 (const uint)
-0:199      Sequence
-0:199        move second child to first child ( temp 3-component vector of float)
-0:199          'r016' ( temp 3-component vector of float)
-0:199          cross-product ( temp 3-component vector of float)
-0:199            'inF0' ( in 3-component vector of float)
-0:199            'inF1' ( in 3-component vector of float)
 0:200      Sequence
 0:200        move second child to first child ( temp 3-component vector of float)
-0:200          'r017' ( temp 3-component vector of float)
-0:200          dPdx ( temp 3-component vector of float)
+0:200          'r016' ( temp 3-component vector of float)
+0:200          cross-product ( temp 3-component vector of float)
 0:200            'inF0' ( in 3-component vector of float)
+0:200            'inF1' ( in 3-component vector of float)
 0:201      Sequence
 0:201        move second child to first child ( temp 3-component vector of float)
-0:201          'r018' ( temp 3-component vector of float)
-0:201          dPdxCoarse ( temp 3-component vector of float)
+0:201          'r017' ( temp 3-component vector of float)
+0:201          dPdx ( temp 3-component vector of float)
 0:201            'inF0' ( in 3-component vector of float)
 0:202      Sequence
 0:202        move second child to first child ( temp 3-component vector of float)
-0:202          'r019' ( temp 3-component vector of float)
-0:202          dPdxFine ( temp 3-component vector of float)
+0:202          'r018' ( temp 3-component vector of float)
+0:202          dPdxCoarse ( temp 3-component vector of float)
 0:202            'inF0' ( in 3-component vector of float)
 0:203      Sequence
 0:203        move second child to first child ( temp 3-component vector of float)
-0:203          'r020' ( temp 3-component vector of float)
-0:203          dPdy ( temp 3-component vector of float)
+0:203          'r019' ( temp 3-component vector of float)
+0:203          dPdxFine ( temp 3-component vector of float)
 0:203            'inF0' ( in 3-component vector of float)
 0:204      Sequence
 0:204        move second child to first child ( temp 3-component vector of float)
-0:204          'r021' ( temp 3-component vector of float)
-0:204          dPdyCoarse ( temp 3-component vector of float)
+0:204          'r020' ( temp 3-component vector of float)
+0:204          dPdy ( temp 3-component vector of float)
 0:204            'inF0' ( in 3-component vector of float)
 0:205      Sequence
 0:205        move second child to first child ( temp 3-component vector of float)
-0:205          'r022' ( temp 3-component vector of float)
-0:205          dPdyFine ( temp 3-component vector of float)
+0:205          'r021' ( temp 3-component vector of float)
+0:205          dPdyCoarse ( temp 3-component vector of float)
 0:205            'inF0' ( in 3-component vector of float)
 0:206      Sequence
 0:206        move second child to first child ( temp 3-component vector of float)
-0:206          'r023' ( temp 3-component vector of float)
-0:206          degrees ( temp 3-component vector of float)
+0:206          'r022' ( temp 3-component vector of float)
+0:206          dPdyFine ( temp 3-component vector of float)
 0:206            'inF0' ( in 3-component vector of float)
 0:207      Sequence
-0:207        move second child to first child ( temp float)
-0:207          'r024' ( temp float)
-0:207          distance ( temp float)
+0:207        move second child to first child ( temp 3-component vector of float)
+0:207          'r023' ( temp 3-component vector of float)
+0:207          degrees ( temp 3-component vector of float)
 0:207            'inF0' ( in 3-component vector of float)
-0:207            'inF1' ( in 3-component vector of float)
 0:208      Sequence
 0:208        move second child to first child ( temp float)
-0:208          'r025' ( temp float)
-0:208          dot-product ( temp float)
+0:208          'r024' ( temp float)
+0:208          distance ( temp float)
 0:208            'inF0' ( in 3-component vector of float)
 0:208            'inF1' ( in 3-component vector of float)
-0:212      Sequence
-0:212        move second child to first child ( temp 3-component vector of float)
-0:212          'r029' ( temp 3-component vector of float)
-0:212          exp ( temp 3-component vector of float)
-0:212            'inF0' ( in 3-component vector of float)
+0:209      Sequence
+0:209        move second child to first child ( temp float)
+0:209          'r025' ( temp float)
+0:209          dot-product ( temp float)
+0:209            'inF0' ( in 3-component vector of float)
+0:209            'inF1' ( in 3-component vector of float)
 0:213      Sequence
 0:213        move second child to first child ( temp 3-component vector of float)
-0:213          'r030' ( temp 3-component vector of float)
-0:213          exp2 ( temp 3-component vector of float)
+0:213          'r029' ( temp 3-component vector of float)
+0:213          exp ( temp 3-component vector of float)
 0:213            'inF0' ( in 3-component vector of float)
 0:214      Sequence
 0:214        move second child to first child ( temp 3-component vector of float)
-0:214          'r031' ( temp 3-component vector of float)
-0:214          face-forward ( temp 3-component vector of float)
+0:214          'r030' ( temp 3-component vector of float)
+0:214          exp2 ( temp 3-component vector of float)
 0:214            'inF0' ( in 3-component vector of float)
-0:214            'inF1' ( in 3-component vector of float)
-0:214            'inF2' ( in 3-component vector of float)
 0:215      Sequence
-0:215        move second child to first child ( temp 3-component vector of uint)
-0:215          'r032' ( temp 3-component vector of uint)
+0:215        move second child to first child ( temp 3-component vector of float)
+0:215          'r031' ( temp 3-component vector of float)
+0:215          face-forward ( temp 3-component vector of float)
+0:215            'inF0' ( in 3-component vector of float)
+0:215            'inF1' ( in 3-component vector of float)
+0:215            'inF2' ( in 3-component vector of float)
+0:216      Sequence
+0:216        move second child to first child ( temp 3-component vector of uint)
+0:216          'r032' ( temp 3-component vector of uint)
 0:?           findMSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:216      Sequence
-0:216        move second child to first child ( temp 3-component vector of uint)
-0:216          'r033' ( temp 3-component vector of uint)
+0:217      Sequence
+0:217        move second child to first child ( temp 3-component vector of uint)
+0:217          'r033' ( temp 3-component vector of uint)
 0:?           findLSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:217      Sequence
-0:217        move second child to first child ( temp 3-component vector of float)
-0:217          'r034' ( temp 3-component vector of float)
-0:217          Floor ( temp 3-component vector of float)
-0:217            'inF0' ( in 3-component vector of float)
-0:219      Sequence
-0:219        move second child to first child ( temp 3-component vector of float)
-0:219          'r036' ( temp 3-component vector of float)
-0:219          mod ( temp 3-component vector of float)
-0:219            'inF0' ( in 3-component vector of float)
-0:219            'inF1' ( in 3-component vector of float)
+0:218      Sequence
+0:218        move second child to first child ( temp 3-component vector of float)
+0:218          'r034' ( temp 3-component vector of float)
+0:218          Floor ( temp 3-component vector of float)
+0:218            'inF0' ( in 3-component vector of float)
 0:220      Sequence
 0:220        move second child to first child ( temp 3-component vector of float)
-0:220          'r037' ( temp 3-component vector of float)
-0:220          Fraction ( temp 3-component vector of float)
+0:220          'r036' ( temp 3-component vector of float)
+0:220          mod ( temp 3-component vector of float)
 0:220            'inF0' ( in 3-component vector of float)
+0:220            'inF1' ( in 3-component vector of float)
 0:221      Sequence
 0:221        move second child to first child ( temp 3-component vector of float)
-0:221          'r039' ( temp 3-component vector of float)
-0:221          fwidth ( temp 3-component vector of float)
+0:221          'r037' ( temp 3-component vector of float)
+0:221          Fraction ( temp 3-component vector of float)
 0:221            'inF0' ( in 3-component vector of float)
 0:222      Sequence
-0:222        move second child to first child ( temp 3-component vector of bool)
-0:222          'r040' ( temp 3-component vector of bool)
-0:222          isinf ( temp 3-component vector of bool)
+0:222        move second child to first child ( temp 3-component vector of float)
+0:222          'r039' ( temp 3-component vector of float)
+0:222          fwidth ( temp 3-component vector of float)
 0:222            'inF0' ( in 3-component vector of float)
 0:223      Sequence
 0:223        move second child to first child ( temp 3-component vector of bool)
-0:223          'r041' ( temp 3-component vector of bool)
-0:223          isnan ( temp 3-component vector of bool)
+0:223          'r040' ( temp 3-component vector of bool)
+0:223          isinf ( temp 3-component vector of bool)
 0:223            'inF0' ( in 3-component vector of float)
 0:224      Sequence
-0:224        move second child to first child ( temp 3-component vector of float)
-0:224          'r042' ( temp 3-component vector of float)
-0:224          ldexp ( temp 3-component vector of float)
+0:224        move second child to first child ( temp 3-component vector of bool)
+0:224          'r041' ( temp 3-component vector of bool)
+0:224          isnan ( temp 3-component vector of bool)
 0:224            'inF0' ( in 3-component vector of float)
-0:224            'inF1' ( in 3-component vector of float)
 0:225      Sequence
 0:225        move second child to first child ( temp 3-component vector of float)
-0:225          'r039a' ( temp 3-component vector of float)
-0:225          mix ( temp 3-component vector of float)
+0:225          'r042' ( temp 3-component vector of float)
+0:225          ldexp ( temp 3-component vector of float)
 0:225            'inF0' ( in 3-component vector of float)
 0:225            'inF1' ( in 3-component vector of float)
-0:225            'inF2' ( in 3-component vector of float)
 0:226      Sequence
 0:226        move second child to first child ( temp 3-component vector of float)
-0:226          'r039b' ( temp 3-component vector of float)
+0:226          'r039a' ( temp 3-component vector of float)
 0:226          mix ( temp 3-component vector of float)
 0:226            'inF0' ( in 3-component vector of float)
 0:226            'inF1' ( in 3-component vector of float)
-0:226            Constant:
-0:226              0.300000
+0:226            'inF2' ( in 3-component vector of float)
 0:227      Sequence
-0:227        move second child to first child ( temp float)
-0:227          'r043' ( temp float)
-0:227          length ( temp float)
+0:227        move second child to first child ( temp 3-component vector of float)
+0:227          'r039b' ( temp 3-component vector of float)
+0:227          mix ( temp 3-component vector of float)
 0:227            'inF0' ( in 3-component vector of float)
+0:227            'inF1' ( in 3-component vector of float)
+0:227            Constant:
+0:227              0.300000
 0:228      Sequence
-0:228        move second child to first child ( temp 3-component vector of float)
-0:228          'r044' ( temp 3-component vector of float)
-0:228          log ( temp 3-component vector of float)
+0:228        move second child to first child ( temp float)
+0:228          'r043' ( temp float)
+0:228          length ( temp float)
 0:228            'inF0' ( in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child ( temp 3-component vector of float)
-0:229          'r045' ( temp 3-component vector of float)
-0:229          vector-scale ( temp 3-component vector of float)
-0:229            log2 ( temp 3-component vector of float)
-0:229              'inF0' ( in 3-component vector of float)
-0:229            Constant:
-0:229              0.301030
+0:229          'r044' ( temp 3-component vector of float)
+0:229          log ( temp 3-component vector of float)
+0:229            'inF0' ( in 3-component vector of float)
 0:230      Sequence
 0:230        move second child to first child ( temp 3-component vector of float)
-0:230          'r046' ( temp 3-component vector of float)
-0:230          log2 ( temp 3-component vector of float)
-0:230            'inF0' ( in 3-component vector of float)
+0:230          'r045' ( temp 3-component vector of float)
+0:230          vector-scale ( temp 3-component vector of float)
+0:230            log2 ( temp 3-component vector of float)
+0:230              'inF0' ( in 3-component vector of float)
+0:230            Constant:
+0:230              0.301030
 0:231      Sequence
 0:231        move second child to first child ( temp 3-component vector of float)
-0:231          'r047' ( temp 3-component vector of float)
-0:231          max ( temp 3-component vector of float)
+0:231          'r046' ( temp 3-component vector of float)
+0:231          log2 ( temp 3-component vector of float)
 0:231            'inF0' ( in 3-component vector of float)
-0:231            'inF1' ( in 3-component vector of float)
 0:232      Sequence
 0:232        move second child to first child ( temp 3-component vector of float)
-0:232          'r048' ( temp 3-component vector of float)
-0:232          min ( temp 3-component vector of float)
+0:232          'r047' ( temp 3-component vector of float)
+0:232          max ( temp 3-component vector of float)
 0:232            'inF0' ( in 3-component vector of float)
 0:232            'inF1' ( in 3-component vector of float)
 0:233      Sequence
 0:233        move second child to first child ( temp 3-component vector of float)
-0:233          'r049' ( temp 3-component vector of float)
-0:233          normalize ( temp 3-component vector of float)
+0:233          'r048' ( temp 3-component vector of float)
+0:233          min ( temp 3-component vector of float)
 0:233            'inF0' ( in 3-component vector of float)
+0:233            'inF1' ( in 3-component vector of float)
 0:234      Sequence
 0:234        move second child to first child ( temp 3-component vector of float)
-0:234          'r050' ( temp 3-component vector of float)
-0:234          pow ( temp 3-component vector of float)
+0:234          'r049' ( temp 3-component vector of float)
+0:234          normalize ( temp 3-component vector of float)
 0:234            'inF0' ( in 3-component vector of float)
-0:234            'inF1' ( in 3-component vector of float)
 0:235      Sequence
 0:235        move second child to first child ( temp 3-component vector of float)
-0:235          'r051' ( temp 3-component vector of float)
-0:235          radians ( temp 3-component vector of float)
+0:235          'r050' ( temp 3-component vector of float)
+0:235          pow ( temp 3-component vector of float)
 0:235            'inF0' ( in 3-component vector of float)
+0:235            'inF1' ( in 3-component vector of float)
 0:236      Sequence
 0:236        move second child to first child ( temp 3-component vector of float)
-0:236          'r052' ( temp 3-component vector of float)
-0:236          divide ( temp 3-component vector of float)
-0:236            Constant:
-0:236              1.000000
+0:236          'r051' ( temp 3-component vector of float)
+0:236          radians ( temp 3-component vector of float)
 0:236            'inF0' ( in 3-component vector of float)
 0:237      Sequence
 0:237        move second child to first child ( temp 3-component vector of float)
-0:237          'r053' ( temp 3-component vector of float)
-0:237          reflect ( temp 3-component vector of float)
+0:237          'r052' ( temp 3-component vector of float)
+0:237          divide ( temp 3-component vector of float)
+0:237            Constant:
+0:237              1.000000
 0:237            'inF0' ( in 3-component vector of float)
-0:237            'inF1' ( in 3-component vector of float)
 0:238      Sequence
 0:238        move second child to first child ( temp 3-component vector of float)
-0:238          'r054' ( temp 3-component vector of float)
-0:238          refract ( temp 3-component vector of float)
+0:238          'r053' ( temp 3-component vector of float)
+0:238          reflect ( temp 3-component vector of float)
 0:238            'inF0' ( in 3-component vector of float)
 0:238            'inF1' ( in 3-component vector of float)
-0:238            Constant:
-0:238              2.000000
 0:239      Sequence
-0:239        move second child to first child ( temp 3-component vector of uint)
-0:239          'r055' ( temp 3-component vector of uint)
+0:239        move second child to first child ( temp 3-component vector of float)
+0:239          'r054' ( temp 3-component vector of float)
+0:239          refract ( temp 3-component vector of float)
+0:239            'inF0' ( in 3-component vector of float)
+0:239            'inF1' ( in 3-component vector of float)
+0:239            Constant:
+0:239              2.000000
+0:240      Sequence
+0:240        move second child to first child ( temp 3-component vector of uint)
+0:240          'r055' ( temp 3-component vector of uint)
 0:?           bitFieldReverse ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
-0:240      Sequence
-0:240        move second child to first child ( temp 3-component vector of float)
-0:240          'r056' ( temp 3-component vector of float)
-0:240          roundEven ( temp 3-component vector of float)
-0:240            'inF0' ( in 3-component vector of float)
 0:241      Sequence
 0:241        move second child to first child ( temp 3-component vector of float)
-0:241          'r057' ( temp 3-component vector of float)
-0:241          inverse sqrt ( temp 3-component vector of float)
+0:241          'r056' ( temp 3-component vector of float)
+0:241          roundEven ( temp 3-component vector of float)
 0:241            'inF0' ( in 3-component vector of float)
 0:242      Sequence
 0:242        move second child to first child ( temp 3-component vector of float)
-0:242          'r058' ( temp 3-component vector of float)
-0:242          clamp ( temp 3-component vector of float)
+0:242          'r057' ( temp 3-component vector of float)
+0:242          inverse sqrt ( temp 3-component vector of float)
 0:242            'inF0' ( in 3-component vector of float)
-0:242            Constant:
-0:242              0.000000
-0:242            Constant:
-0:242              1.000000
 0:243      Sequence
 0:243        move second child to first child ( temp 3-component vector of float)
-0:243          'r059' ( temp 3-component vector of float)
-0:243          Sign ( temp 3-component vector of float)
+0:243          'r058' ( temp 3-component vector of float)
+0:243          clamp ( temp 3-component vector of float)
 0:243            'inF0' ( in 3-component vector of float)
+0:243            Constant:
+0:243              0.000000
+0:243            Constant:
+0:243              1.000000
 0:244      Sequence
 0:244        move second child to first child ( temp 3-component vector of float)
-0:244          'r060' ( temp 3-component vector of float)
-0:244          sine ( temp 3-component vector of float)
+0:244          'r059' ( temp 3-component vector of float)
+0:244          Sign ( temp 3-component vector of float)
 0:244            'inF0' ( in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'inF1' ( in 3-component vector of float)
+0:245          'r060' ( temp 3-component vector of float)
 0:245          sine ( temp 3-component vector of float)
 0:245            'inF0' ( in 3-component vector of float)
-0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'inF2' ( in 3-component vector of float)
-0:245          cosine ( temp 3-component vector of float)
-0:245            'inF0' ( in 3-component vector of float)
 0:246      Sequence
 0:246        move second child to first child ( temp 3-component vector of float)
-0:246          'r061' ( temp 3-component vector of float)
-0:246          hyp. sine ( temp 3-component vector of float)
+0:246          'inF1' ( in 3-component vector of float)
+0:246          sine ( temp 3-component vector of float)
+0:246            'inF0' ( in 3-component vector of float)
+0:246        move second child to first child ( temp 3-component vector of float)
+0:246          'inF2' ( in 3-component vector of float)
+0:246          cosine ( temp 3-component vector of float)
 0:246            'inF0' ( in 3-component vector of float)
 0:247      Sequence
 0:247        move second child to first child ( temp 3-component vector of float)
-0:247          'r062' ( temp 3-component vector of float)
-0:247          smoothstep ( temp 3-component vector of float)
+0:247          'r061' ( temp 3-component vector of float)
+0:247          hyp. sine ( temp 3-component vector of float)
 0:247            'inF0' ( in 3-component vector of float)
-0:247            'inF1' ( in 3-component vector of float)
-0:247            'inF2' ( in 3-component vector of float)
 0:248      Sequence
 0:248        move second child to first child ( temp 3-component vector of float)
-0:248          'r063' ( temp 3-component vector of float)
-0:248          sqrt ( temp 3-component vector of float)
+0:248          'r062' ( temp 3-component vector of float)
+0:248          smoothstep ( temp 3-component vector of float)
 0:248            'inF0' ( in 3-component vector of float)
+0:248            'inF1' ( in 3-component vector of float)
+0:248            'inF2' ( in 3-component vector of float)
 0:249      Sequence
 0:249        move second child to first child ( temp 3-component vector of float)
-0:249          'r064' ( temp 3-component vector of float)
-0:249          step ( temp 3-component vector of float)
+0:249          'r063' ( temp 3-component vector of float)
+0:249          sqrt ( temp 3-component vector of float)
 0:249            'inF0' ( in 3-component vector of float)
-0:249            'inF1' ( in 3-component vector of float)
 0:250      Sequence
 0:250        move second child to first child ( temp 3-component vector of float)
-0:250          'r065' ( temp 3-component vector of float)
-0:250          tangent ( temp 3-component vector of float)
+0:250          'r064' ( temp 3-component vector of float)
+0:250          step ( temp 3-component vector of float)
 0:250            'inF0' ( in 3-component vector of float)
+0:250            'inF1' ( in 3-component vector of float)
 0:251      Sequence
 0:251        move second child to first child ( temp 3-component vector of float)
-0:251          'r066' ( temp 3-component vector of float)
-0:251          hyp. tangent ( temp 3-component vector of float)
+0:251          'r065' ( temp 3-component vector of float)
+0:251          tangent ( temp 3-component vector of float)
 0:251            'inF0' ( in 3-component vector of float)
-0:253      Sequence
-0:253        move second child to first child ( temp 3-component vector of float)
-0:253          'r067' ( temp 3-component vector of float)
-0:253          trunc ( temp 3-component vector of float)
-0:253            'inF0' ( in 3-component vector of float)
-0:256      Branch: Return with expression
+0:252      Sequence
+0:252        move second child to first child ( temp 3-component vector of float)
+0:252          'r066' ( temp 3-component vector of float)
+0:252          hyp. tangent ( temp 3-component vector of float)
+0:252            'inF0' ( in 3-component vector of float)
+0:254      Sequence
+0:254        move second child to first child ( temp 3-component vector of float)
+0:254          'r067' ( temp 3-component vector of float)
+0:254          trunc ( temp 3-component vector of float)
+0:254            'inF0' ( in 3-component vector of float)
+0:257      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:260  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
-0:260    Function Parameters: 
-0:260      'inF0' ( in 4-component vector of float)
-0:260      'inF1' ( in 4-component vector of float)
-0:260      'inF2' ( in 4-component vector of float)
-0:260      'inU0' ( in 4-component vector of uint)
-0:260      'inU1' ( in 4-component vector of uint)
+0:261  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:261    Function Parameters: 
+0:261      'inF0' ( in 4-component vector of float)
+0:261      'inF1' ( in 4-component vector of float)
+0:261      'inF2' ( in 4-component vector of float)
+0:261      'inU0' ( in 4-component vector of uint)
+0:261      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
-0:263      Sequence
-0:263        move second child to first child ( temp bool)
-0:263          'r000' ( temp bool)
-0:263          all ( temp bool)
-0:263            Convert float to bool ( temp 4-component vector of bool)
-0:263              'inF0' ( in 4-component vector of float)
 0:264      Sequence
-0:264        move second child to first child ( temp 4-component vector of float)
-0:264          'r001' ( temp 4-component vector of float)
-0:264          Absolute value ( temp 4-component vector of float)
-0:264            'inF0' ( in 4-component vector of float)
+0:264        move second child to first child ( temp bool)
+0:264          'r000' ( temp bool)
+0:264          all ( temp bool)
+0:264            Convert float to bool ( temp 4-component vector of bool)
+0:264              'inF0' ( in 4-component vector of float)
 0:265      Sequence
 0:265        move second child to first child ( temp 4-component vector of float)
-0:265          'r002' ( temp 4-component vector of float)
-0:265          arc cosine ( temp 4-component vector of float)
+0:265          'r001' ( temp 4-component vector of float)
+0:265          Absolute value ( temp 4-component vector of float)
 0:265            'inF0' ( in 4-component vector of float)
 0:266      Sequence
-0:266        move second child to first child ( temp bool)
-0:266          'r003' ( temp bool)
-0:266          any ( temp bool)
-0:266            Convert float to bool ( temp 4-component vector of bool)
-0:266              'inF0' ( in 4-component vector of float)
+0:266        move second child to first child ( temp 4-component vector of float)
+0:266          'r002' ( temp 4-component vector of float)
+0:266          arc cosine ( temp 4-component vector of float)
+0:266            'inF0' ( in 4-component vector of float)
 0:267      Sequence
-0:267        move second child to first child ( temp 4-component vector of float)
-0:267          'r004' ( temp 4-component vector of float)
-0:267          arc sine ( temp 4-component vector of float)
-0:267            'inF0' ( in 4-component vector of float)
+0:267        move second child to first child ( temp bool)
+0:267          'r003' ( temp bool)
+0:267          any ( temp bool)
+0:267            Convert float to bool ( temp 4-component vector of bool)
+0:267              'inF0' ( in 4-component vector of float)
 0:268      Sequence
-0:268        move second child to first child ( temp 4-component vector of int)
-0:268          'r005' ( temp 4-component vector of int)
-0:268          floatBitsToInt ( temp 4-component vector of int)
+0:268        move second child to first child ( temp 4-component vector of float)
+0:268          'r004' ( temp 4-component vector of float)
+0:268          arc sine ( temp 4-component vector of float)
 0:268            'inF0' ( in 4-component vector of float)
 0:269      Sequence
-0:269        move second child to first child ( temp 4-component vector of uint)
-0:269          'r006' ( temp 4-component vector of uint)
-0:269          floatBitsToUint ( temp 4-component vector of uint)
+0:269        move second child to first child ( temp 4-component vector of int)
+0:269          'r005' ( temp 4-component vector of int)
+0:269          floatBitsToInt ( temp 4-component vector of int)
 0:269            'inF0' ( in 4-component vector of float)
 0:270      Sequence
-0:270        move second child to first child ( temp 4-component vector of float)
-0:270          'r007' ( temp 4-component vector of float)
-0:270          intBitsToFloat ( temp 4-component vector of float)
-0:270            'inU0' ( in 4-component vector of uint)
-0:272      Sequence
-0:272        move second child to first child ( temp 4-component vector of float)
-0:272          'r009' ( temp 4-component vector of float)
-0:272          arc tangent ( temp 4-component vector of float)
-0:272            'inF0' ( in 4-component vector of float)
+0:270        move second child to first child ( temp 4-component vector of uint)
+0:270          'r006' ( temp 4-component vector of uint)
+0:270          floatBitsToUint ( temp 4-component vector of uint)
+0:270            'inF0' ( in 4-component vector of float)
+0:271      Sequence
+0:271        move second child to first child ( temp 4-component vector of float)
+0:271          'r007' ( temp 4-component vector of float)
+0:271          intBitsToFloat ( temp 4-component vector of float)
+0:271            'inU0' ( in 4-component vector of uint)
 0:273      Sequence
 0:273        move second child to first child ( temp 4-component vector of float)
-0:273          'r010' ( temp 4-component vector of float)
+0:273          'r009' ( temp 4-component vector of float)
 0:273          arc tangent ( temp 4-component vector of float)
 0:273            'inF0' ( in 4-component vector of float)
-0:273            'inF1' ( in 4-component vector of float)
 0:274      Sequence
 0:274        move second child to first child ( temp 4-component vector of float)
-0:274          'r011' ( temp 4-component vector of float)
-0:274          Ceiling ( temp 4-component vector of float)
+0:274          'r010' ( temp 4-component vector of float)
+0:274          arc tangent ( temp 4-component vector of float)
 0:274            'inF0' ( in 4-component vector of float)
+0:274            'inF1' ( in 4-component vector of float)
 0:275      Sequence
 0:275        move second child to first child ( temp 4-component vector of float)
-0:275          'r012' ( temp 4-component vector of float)
-0:275          clamp ( temp 4-component vector of float)
+0:275          'r011' ( temp 4-component vector of float)
+0:275          Ceiling ( temp 4-component vector of float)
 0:275            'inF0' ( in 4-component vector of float)
-0:275            'inF1' ( in 4-component vector of float)
-0:275            'inF2' ( in 4-component vector of float)
-0:276      Test condition and select ( temp void)
-0:276        Condition
-0:276        any ( temp bool)
-0:276          Compare Less Than ( temp 4-component vector of bool)
+0:276      Sequence
+0:276        move second child to first child ( temp 4-component vector of float)
+0:276          'r012' ( temp 4-component vector of float)
+0:276          clamp ( temp 4-component vector of float)
 0:276            'inF0' ( in 4-component vector of float)
-0:276            Constant:
-0:276              0.000000
-0:276              0.000000
-0:276              0.000000
-0:276              0.000000
-0:276        true case
-0:276        Branch: Kill
+0:276            'inF1' ( in 4-component vector of float)
+0:276            'inF2' ( in 4-component vector of float)
 0:277      Test condition and select ( temp void)
 0:277        Condition
 0:277        any ( temp bool)
 0:277          Compare Less Than ( temp 4-component vector of bool)
-0:277            'inU0' ( in 4-component vector of uint)
+0:277            'inF0' ( in 4-component vector of float)
 0:277            Constant:
 0:277              0.000000
 0:277              0.000000
@@ -4071,905 +4071,917 @@ gl_FragCoord origin is upper left
 0:277              0.000000
 0:277        true case
 0:277        Branch: Kill
-0:278      Sequence
-0:278        move second child to first child ( temp 4-component vector of float)
-0:278          'r013' ( temp 4-component vector of float)
-0:278          cosine ( temp 4-component vector of float)
-0:278            'inF0' ( in 4-component vector of float)
+0:278      Test condition and select ( temp void)
+0:278        Condition
+0:278        any ( temp bool)
+0:278          Compare Less Than ( temp 4-component vector of bool)
+0:278            'inU0' ( in 4-component vector of uint)
+0:278            Constant:
+0:278              0.000000
+0:278              0.000000
+0:278              0.000000
+0:278              0.000000
+0:278        true case
+0:278        Branch: Kill
 0:279      Sequence
 0:279        move second child to first child ( temp 4-component vector of float)
-0:279          'r014' ( temp 4-component vector of float)
-0:279          hyp. cosine ( temp 4-component vector of float)
+0:279          'r013' ( temp 4-component vector of float)
+0:279          cosine ( temp 4-component vector of float)
 0:279            'inF0' ( in 4-component vector of float)
 0:280      Sequence
-0:280        move second child to first child ( temp 4-component vector of uint)
-0:280          'r015' ( temp 4-component vector of uint)
+0:280        move second child to first child ( temp 4-component vector of float)
+0:280          'r014' ( temp 4-component vector of float)
+0:280          hyp. cosine ( temp 4-component vector of float)
+0:280            'inF0' ( in 4-component vector of float)
+0:281      Sequence
+0:281        move second child to first child ( temp 4-component vector of uint)
+0:281          'r015' ( temp 4-component vector of uint)
 0:?           bitCount ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:?               5 (const uint)
 0:?               2 (const uint)
-0:281      Sequence
-0:281        move second child to first child ( temp 4-component vector of float)
-0:281          'r016' ( temp 4-component vector of float)
-0:281          dPdx ( temp 4-component vector of float)
-0:281            'inF0' ( in 4-component vector of float)
 0:282      Sequence
 0:282        move second child to first child ( temp 4-component vector of float)
-0:282          'r017' ( temp 4-component vector of float)
-0:282          dPdxCoarse ( temp 4-component vector of float)
+0:282          'r016' ( temp 4-component vector of float)
+0:282          dPdx ( temp 4-component vector of float)
 0:282            'inF0' ( in 4-component vector of float)
 0:283      Sequence
 0:283        move second child to first child ( temp 4-component vector of float)
-0:283          'r018' ( temp 4-component vector of float)
-0:283          dPdxFine ( temp 4-component vector of float)
+0:283          'r017' ( temp 4-component vector of float)
+0:283          dPdxCoarse ( temp 4-component vector of float)
 0:283            'inF0' ( in 4-component vector of float)
 0:284      Sequence
 0:284        move second child to first child ( temp 4-component vector of float)
-0:284          'r019' ( temp 4-component vector of float)
-0:284          dPdy ( temp 4-component vector of float)
+0:284          'r018' ( temp 4-component vector of float)
+0:284          dPdxFine ( temp 4-component vector of float)
 0:284            'inF0' ( in 4-component vector of float)
 0:285      Sequence
 0:285        move second child to first child ( temp 4-component vector of float)
-0:285          'r020' ( temp 4-component vector of float)
-0:285          dPdyCoarse ( temp 4-component vector of float)
+0:285          'r019' ( temp 4-component vector of float)
+0:285          dPdy ( temp 4-component vector of float)
 0:285            'inF0' ( in 4-component vector of float)
 0:286      Sequence
 0:286        move second child to first child ( temp 4-component vector of float)
-0:286          'r021' ( temp 4-component vector of float)
-0:286          dPdyFine ( temp 4-component vector of float)
+0:286          'r020' ( temp 4-component vector of float)
+0:286          dPdyCoarse ( temp 4-component vector of float)
 0:286            'inF0' ( in 4-component vector of float)
 0:287      Sequence
 0:287        move second child to first child ( temp 4-component vector of float)
-0:287          'r022' ( temp 4-component vector of float)
-0:287          degrees ( temp 4-component vector of float)
+0:287          'r021' ( temp 4-component vector of float)
+0:287          dPdyFine ( temp 4-component vector of float)
 0:287            'inF0' ( in 4-component vector of float)
 0:288      Sequence
-0:288        move second child to first child ( temp float)
-0:288          'r023' ( temp float)
-0:288          distance ( temp float)
+0:288        move second child to first child ( temp 4-component vector of float)
+0:288          'r022' ( temp 4-component vector of float)
+0:288          degrees ( temp 4-component vector of float)
 0:288            'inF0' ( in 4-component vector of float)
-0:288            'inF1' ( in 4-component vector of float)
 0:289      Sequence
 0:289        move second child to first child ( temp float)
-0:289          'r024' ( temp float)
-0:289          dot-product ( temp float)
+0:289          'r023' ( temp float)
+0:289          distance ( temp float)
 0:289            'inF0' ( in 4-component vector of float)
 0:289            'inF1' ( in 4-component vector of float)
 0:290      Sequence
-0:290        move second child to first child ( temp 4-component vector of float)
-0:290          'r025' ( temp 4-component vector of float)
-0:290          Construct vec4 ( temp 4-component vector of float)
-0:290            Constant:
-0:290              1.000000
-0:290            component-wise multiply ( temp float)
-0:290              direct index ( temp float)
-0:290                'inF0' ( in 4-component vector of float)
-0:290                Constant:
-0:290                  1 (const int)
-0:290              direct index ( temp float)
-0:290                'inF1' ( in 4-component vector of float)
-0:290                Constant:
-0:290                  1 (const int)
-0:290            direct index ( temp float)
-0:290              'inF0' ( in 4-component vector of float)
-0:290              Constant:
-0:290                2 (const int)
-0:290            direct index ( temp float)
-0:290              'inF1' ( in 4-component vector of float)
-0:290              Constant:
-0:290                3 (const int)
-0:294      Sequence
-0:294        move second child to first child ( temp 4-component vector of float)
-0:294          'r029' ( temp 4-component vector of float)
-0:294          exp ( temp 4-component vector of float)
-0:294            'inF0' ( in 4-component vector of float)
+0:290        move second child to first child ( temp float)
+0:290          'r024' ( temp float)
+0:290          dot-product ( temp float)
+0:290            'inF0' ( in 4-component vector of float)
+0:290            'inF1' ( in 4-component vector of float)
+0:291      Sequence
+0:291        move second child to first child ( temp 4-component vector of float)
+0:291          'r025' ( temp 4-component vector of float)
+0:291          Construct vec4 ( temp 4-component vector of float)
+0:291            Constant:
+0:291              1.000000
+0:291            component-wise multiply ( temp float)
+0:291              direct index ( temp float)
+0:291                'inF0' ( in 4-component vector of float)
+0:291                Constant:
+0:291                  1 (const int)
+0:291              direct index ( temp float)
+0:291                'inF1' ( in 4-component vector of float)
+0:291                Constant:
+0:291                  1 (const int)
+0:291            direct index ( temp float)
+0:291              'inF0' ( in 4-component vector of float)
+0:291              Constant:
+0:291                2 (const int)
+0:291            direct index ( temp float)
+0:291              'inF1' ( in 4-component vector of float)
+0:291              Constant:
+0:291                3 (const int)
 0:295      Sequence
 0:295        move second child to first child ( temp 4-component vector of float)
-0:295          'r030' ( temp 4-component vector of float)
-0:295          exp2 ( temp 4-component vector of float)
+0:295          'r029' ( temp 4-component vector of float)
+0:295          exp ( temp 4-component vector of float)
 0:295            'inF0' ( in 4-component vector of float)
 0:296      Sequence
 0:296        move second child to first child ( temp 4-component vector of float)
-0:296          'r031' ( temp 4-component vector of float)
-0:296          face-forward ( temp 4-component vector of float)
+0:296          'r030' ( temp 4-component vector of float)
+0:296          exp2 ( temp 4-component vector of float)
 0:296            'inF0' ( in 4-component vector of float)
-0:296            'inF1' ( in 4-component vector of float)
-0:296            'inF2' ( in 4-component vector of float)
 0:297      Sequence
-0:297        move second child to first child ( temp 4-component vector of uint)
-0:297          'r032' ( temp 4-component vector of uint)
+0:297        move second child to first child ( temp 4-component vector of float)
+0:297          'r031' ( temp 4-component vector of float)
+0:297          face-forward ( temp 4-component vector of float)
+0:297            'inF0' ( in 4-component vector of float)
+0:297            'inF1' ( in 4-component vector of float)
+0:297            'inF2' ( in 4-component vector of float)
+0:298      Sequence
+0:298        move second child to first child ( temp 4-component vector of uint)
+0:298          'r032' ( temp 4-component vector of uint)
 0:?           findMSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:298      Sequence
-0:298        move second child to first child ( temp 4-component vector of uint)
-0:298          'r033' ( temp 4-component vector of uint)
+0:299      Sequence
+0:299        move second child to first child ( temp 4-component vector of uint)
+0:299          'r033' ( temp 4-component vector of uint)
 0:?           findLSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:299      Sequence
-0:299        move second child to first child ( temp 4-component vector of float)
-0:299          'r034' ( temp 4-component vector of float)
-0:299          Floor ( temp 4-component vector of float)
-0:299            'inF0' ( in 4-component vector of float)
-0:301      Sequence
-0:301        move second child to first child ( temp 4-component vector of float)
-0:301          'r036' ( temp 4-component vector of float)
-0:301          mod ( temp 4-component vector of float)
-0:301            'inF0' ( in 4-component vector of float)
-0:301            'inF1' ( in 4-component vector of float)
+0:300      Sequence
+0:300        move second child to first child ( temp 4-component vector of float)
+0:300          'r034' ( temp 4-component vector of float)
+0:300          Floor ( temp 4-component vector of float)
+0:300            'inF0' ( in 4-component vector of float)
 0:302      Sequence
 0:302        move second child to first child ( temp 4-component vector of float)
-0:302          'r037' ( temp 4-component vector of float)
-0:302          Fraction ( temp 4-component vector of float)
+0:302          'r036' ( temp 4-component vector of float)
+0:302          mod ( temp 4-component vector of float)
 0:302            'inF0' ( in 4-component vector of float)
+0:302            'inF1' ( in 4-component vector of float)
 0:303      Sequence
 0:303        move second child to first child ( temp 4-component vector of float)
-0:303          'r039' ( temp 4-component vector of float)
-0:303          fwidth ( temp 4-component vector of float)
+0:303          'r037' ( temp 4-component vector of float)
+0:303          Fraction ( temp 4-component vector of float)
 0:303            'inF0' ( in 4-component vector of float)
 0:304      Sequence
-0:304        move second child to first child ( temp 4-component vector of bool)
-0:304          'r040' ( temp 4-component vector of bool)
-0:304          isinf ( temp 4-component vector of bool)
+0:304        move second child to first child ( temp 4-component vector of float)
+0:304          'r039' ( temp 4-component vector of float)
+0:304          fwidth ( temp 4-component vector of float)
 0:304            'inF0' ( in 4-component vector of float)
 0:305      Sequence
 0:305        move second child to first child ( temp 4-component vector of bool)
-0:305          'r041' ( temp 4-component vector of bool)
-0:305          isnan ( temp 4-component vector of bool)
+0:305          'r040' ( temp 4-component vector of bool)
+0:305          isinf ( temp 4-component vector of bool)
 0:305            'inF0' ( in 4-component vector of float)
 0:306      Sequence
-0:306        move second child to first child ( temp 4-component vector of float)
-0:306          'r042' ( temp 4-component vector of float)
-0:306          ldexp ( temp 4-component vector of float)
+0:306        move second child to first child ( temp 4-component vector of bool)
+0:306          'r041' ( temp 4-component vector of bool)
+0:306          isnan ( temp 4-component vector of bool)
 0:306            'inF0' ( in 4-component vector of float)
-0:306            'inF1' ( in 4-component vector of float)
 0:307      Sequence
 0:307        move second child to first child ( temp 4-component vector of float)
-0:307          'r039a' ( temp 4-component vector of float)
-0:307          mix ( temp 4-component vector of float)
+0:307          'r042' ( temp 4-component vector of float)
+0:307          ldexp ( temp 4-component vector of float)
 0:307            'inF0' ( in 4-component vector of float)
 0:307            'inF1' ( in 4-component vector of float)
-0:307            'inF2' ( in 4-component vector of float)
 0:308      Sequence
-0:308        move second child to first child ( temp float)
-0:308          'r043' ( temp float)
-0:308          length ( temp float)
+0:308        move second child to first child ( temp 4-component vector of float)
+0:308          'r039a' ( temp 4-component vector of float)
+0:308          mix ( temp 4-component vector of float)
 0:308            'inF0' ( in 4-component vector of float)
+0:308            'inF1' ( in 4-component vector of float)
+0:308            'inF2' ( in 4-component vector of float)
 0:309      Sequence
-0:309        move second child to first child ( temp 4-component vector of float)
-0:309          'r044' ( temp 4-component vector of float)
-0:309          log ( temp 4-component vector of float)
+0:309        move second child to first child ( temp float)
+0:309          'r043' ( temp float)
+0:309          length ( temp float)
 0:309            'inF0' ( in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child ( temp 4-component vector of float)
-0:310          'r045' ( temp 4-component vector of float)
-0:310          vector-scale ( temp 4-component vector of float)
-0:310            log2 ( temp 4-component vector of float)
-0:310              'inF0' ( in 4-component vector of float)
-0:310            Constant:
-0:310              0.301030
+0:310          'r044' ( temp 4-component vector of float)
+0:310          log ( temp 4-component vector of float)
+0:310            'inF0' ( in 4-component vector of float)
 0:311      Sequence
 0:311        move second child to first child ( temp 4-component vector of float)
-0:311          'r046' ( temp 4-component vector of float)
-0:311          log2 ( temp 4-component vector of float)
-0:311            'inF0' ( in 4-component vector of float)
+0:311          'r045' ( temp 4-component vector of float)
+0:311          vector-scale ( temp 4-component vector of float)
+0:311            log2 ( temp 4-component vector of float)
+0:311              'inF0' ( in 4-component vector of float)
+0:311            Constant:
+0:311              0.301030
 0:312      Sequence
 0:312        move second child to first child ( temp 4-component vector of float)
-0:312          'r047' ( temp 4-component vector of float)
-0:312          max ( temp 4-component vector of float)
+0:312          'r046' ( temp 4-component vector of float)
+0:312          log2 ( temp 4-component vector of float)
 0:312            'inF0' ( in 4-component vector of float)
-0:312            'inF1' ( in 4-component vector of float)
 0:313      Sequence
 0:313        move second child to first child ( temp 4-component vector of float)
-0:313          'r048' ( temp 4-component vector of float)
-0:313          min ( temp 4-component vector of float)
+0:313          'r047' ( temp 4-component vector of float)
+0:313          max ( temp 4-component vector of float)
 0:313            'inF0' ( in 4-component vector of float)
 0:313            'inF1' ( in 4-component vector of float)
 0:314      Sequence
 0:314        move second child to first child ( temp 4-component vector of float)
-0:314          'r049' ( temp 4-component vector of float)
-0:314          normalize ( temp 4-component vector of float)
+0:314          'r048' ( temp 4-component vector of float)
+0:314          min ( temp 4-component vector of float)
 0:314            'inF0' ( in 4-component vector of float)
+0:314            'inF1' ( in 4-component vector of float)
 0:315      Sequence
 0:315        move second child to first child ( temp 4-component vector of float)
-0:315          'r050' ( temp 4-component vector of float)
-0:315          pow ( temp 4-component vector of float)
+0:315          'r049' ( temp 4-component vector of float)
+0:315          normalize ( temp 4-component vector of float)
 0:315            'inF0' ( in 4-component vector of float)
-0:315            'inF1' ( in 4-component vector of float)
 0:316      Sequence
 0:316        move second child to first child ( temp 4-component vector of float)
-0:316          'r051' ( temp 4-component vector of float)
-0:316          radians ( temp 4-component vector of float)
+0:316          'r050' ( temp 4-component vector of float)
+0:316          pow ( temp 4-component vector of float)
 0:316            'inF0' ( in 4-component vector of float)
+0:316            'inF1' ( in 4-component vector of float)
 0:317      Sequence
 0:317        move second child to first child ( temp 4-component vector of float)
-0:317          'r052' ( temp 4-component vector of float)
-0:317          divide ( temp 4-component vector of float)
-0:317            Constant:
-0:317              1.000000
+0:317          'r051' ( temp 4-component vector of float)
+0:317          radians ( temp 4-component vector of float)
 0:317            'inF0' ( in 4-component vector of float)
 0:318      Sequence
 0:318        move second child to first child ( temp 4-component vector of float)
-0:318          'r053' ( temp 4-component vector of float)
-0:318          reflect ( temp 4-component vector of float)
+0:318          'r052' ( temp 4-component vector of float)
+0:318          divide ( temp 4-component vector of float)
+0:318            Constant:
+0:318              1.000000
 0:318            'inF0' ( in 4-component vector of float)
-0:318            'inF1' ( in 4-component vector of float)
 0:319      Sequence
 0:319        move second child to first child ( temp 4-component vector of float)
-0:319          'r054' ( temp 4-component vector of float)
-0:319          refract ( temp 4-component vector of float)
+0:319          'r053' ( temp 4-component vector of float)
+0:319          reflect ( temp 4-component vector of float)
 0:319            'inF0' ( in 4-component vector of float)
 0:319            'inF1' ( in 4-component vector of float)
-0:319            Constant:
-0:319              2.000000
 0:320      Sequence
-0:320        move second child to first child ( temp 4-component vector of uint)
-0:320          'r055' ( temp 4-component vector of uint)
+0:320        move second child to first child ( temp 4-component vector of float)
+0:320          'r054' ( temp 4-component vector of float)
+0:320          refract ( temp 4-component vector of float)
+0:320            'inF0' ( in 4-component vector of float)
+0:320            'inF1' ( in 4-component vector of float)
+0:320            Constant:
+0:320              2.000000
+0:321      Sequence
+0:321        move second child to first child ( temp 4-component vector of uint)
+0:321          'r055' ( temp 4-component vector of uint)
 0:?           bitFieldReverse ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:321      Sequence
-0:321        move second child to first child ( temp 4-component vector of float)
-0:321          'r056' ( temp 4-component vector of float)
-0:321          roundEven ( temp 4-component vector of float)
-0:321            'inF0' ( in 4-component vector of float)
 0:322      Sequence
 0:322        move second child to first child ( temp 4-component vector of float)
-0:322          'r057' ( temp 4-component vector of float)
-0:322          inverse sqrt ( temp 4-component vector of float)
+0:322          'r056' ( temp 4-component vector of float)
+0:322          roundEven ( temp 4-component vector of float)
 0:322            'inF0' ( in 4-component vector of float)
 0:323      Sequence
 0:323        move second child to first child ( temp 4-component vector of float)
-0:323          'r058' ( temp 4-component vector of float)
-0:323          clamp ( temp 4-component vector of float)
+0:323          'r057' ( temp 4-component vector of float)
+0:323          inverse sqrt ( temp 4-component vector of float)
 0:323            'inF0' ( in 4-component vector of float)
-0:323            Constant:
-0:323              0.000000
-0:323            Constant:
-0:323              1.000000
 0:324      Sequence
 0:324        move second child to first child ( temp 4-component vector of float)
-0:324          'r059' ( temp 4-component vector of float)
-0:324          Sign ( temp 4-component vector of float)
+0:324          'r058' ( temp 4-component vector of float)
+0:324          clamp ( temp 4-component vector of float)
 0:324            'inF0' ( in 4-component vector of float)
+0:324            Constant:
+0:324              0.000000
+0:324            Constant:
+0:324              1.000000
 0:325      Sequence
 0:325        move second child to first child ( temp 4-component vector of float)
-0:325          'r060' ( temp 4-component vector of float)
-0:325          sine ( temp 4-component vector of float)
+0:325          'r059' ( temp 4-component vector of float)
+0:325          Sign ( temp 4-component vector of float)
 0:325            'inF0' ( in 4-component vector of float)
 0:326      Sequence
 0:326        move second child to first child ( temp 4-component vector of float)
-0:326          'inF1' ( in 4-component vector of float)
+0:326          'r060' ( temp 4-component vector of float)
 0:326          sine ( temp 4-component vector of float)
 0:326            'inF0' ( in 4-component vector of float)
-0:326        move second child to first child ( temp 4-component vector of float)
-0:326          'inF2' ( in 4-component vector of float)
-0:326          cosine ( temp 4-component vector of float)
-0:326            'inF0' ( in 4-component vector of float)
 0:327      Sequence
 0:327        move second child to first child ( temp 4-component vector of float)
-0:327          'r061' ( temp 4-component vector of float)
-0:327          hyp. sine ( temp 4-component vector of float)
+0:327          'inF1' ( in 4-component vector of float)
+0:327          sine ( temp 4-component vector of float)
+0:327            'inF0' ( in 4-component vector of float)
+0:327        move second child to first child ( temp 4-component vector of float)
+0:327          'inF2' ( in 4-component vector of float)
+0:327          cosine ( temp 4-component vector of float)
 0:327            'inF0' ( in 4-component vector of float)
 0:328      Sequence
 0:328        move second child to first child ( temp 4-component vector of float)
-0:328          'r062' ( temp 4-component vector of float)
-0:328          smoothstep ( temp 4-component vector of float)
+0:328          'r061' ( temp 4-component vector of float)
+0:328          hyp. sine ( temp 4-component vector of float)
 0:328            'inF0' ( in 4-component vector of float)
-0:328            'inF1' ( in 4-component vector of float)
-0:328            'inF2' ( in 4-component vector of float)
 0:329      Sequence
 0:329        move second child to first child ( temp 4-component vector of float)
-0:329          'r063' ( temp 4-component vector of float)
-0:329          sqrt ( temp 4-component vector of float)
+0:329          'r062' ( temp 4-component vector of float)
+0:329          smoothstep ( temp 4-component vector of float)
 0:329            'inF0' ( in 4-component vector of float)
+0:329            'inF1' ( in 4-component vector of float)
+0:329            'inF2' ( in 4-component vector of float)
 0:330      Sequence
 0:330        move second child to first child ( temp 4-component vector of float)
-0:330          'r064' ( temp 4-component vector of float)
-0:330          step ( temp 4-component vector of float)
+0:330          'r063' ( temp 4-component vector of float)
+0:330          sqrt ( temp 4-component vector of float)
 0:330            'inF0' ( in 4-component vector of float)
-0:330            'inF1' ( in 4-component vector of float)
 0:331      Sequence
 0:331        move second child to first child ( temp 4-component vector of float)
-0:331          'r065' ( temp 4-component vector of float)
-0:331          tangent ( temp 4-component vector of float)
+0:331          'r064' ( temp 4-component vector of float)
+0:331          step ( temp 4-component vector of float)
 0:331            'inF0' ( in 4-component vector of float)
+0:331            'inF1' ( in 4-component vector of float)
 0:332      Sequence
 0:332        move second child to first child ( temp 4-component vector of float)
-0:332          'r066' ( temp 4-component vector of float)
-0:332          hyp. tangent ( temp 4-component vector of float)
+0:332          'r065' ( temp 4-component vector of float)
+0:332          tangent ( temp 4-component vector of float)
 0:332            'inF0' ( in 4-component vector of float)
-0:334      Sequence
-0:334        move second child to first child ( temp 4-component vector of float)
-0:334          'r067' ( temp 4-component vector of float)
-0:334          trunc ( temp 4-component vector of float)
-0:334            'inF0' ( in 4-component vector of float)
-0:337      Branch: Return with expression
+0:333      Sequence
+0:333        move second child to first child ( temp 4-component vector of float)
+0:333          'r066' ( temp 4-component vector of float)
+0:333          hyp. tangent ( temp 4-component vector of float)
+0:333            'inF0' ( in 4-component vector of float)
+0:335      Sequence
+0:335        move second child to first child ( temp 4-component vector of float)
+0:335          'r067' ( temp 4-component vector of float)
+0:335          trunc ( temp 4-component vector of float)
+0:335            'inF0' ( in 4-component vector of float)
+0:338      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:400  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
-0:400    Function Parameters: 
-0:400      'inF0' ( in 2X2 matrix of float)
-0:400      'inF1' ( in 2X2 matrix of float)
-0:400      'inF2' ( in 2X2 matrix of float)
+0:401  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:401    Function Parameters: 
+0:401      'inF0' ( in 2X2 matrix of float)
+0:401      'inF1' ( in 2X2 matrix of float)
+0:401      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-0:402      Sequence
-0:402        move second child to first child ( temp bool)
-0:402          'r000' ( temp bool)
-0:402          all ( temp bool)
-0:402            Convert float to bool ( temp 2X2 matrix of bool)
-0:402              'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r001' ( temp 2X2 matrix of float)
-0:402          Absolute value ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      arc cosine ( temp 2X2 matrix of float)
-0:402        'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp bool)
-0:402          'r003' ( temp bool)
-0:402          any ( temp bool)
-0:402            Convert float to bool ( temp 2X2 matrix of bool)
-0:402              'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r004' ( temp 2X2 matrix of float)
-0:402          arc sine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r005' ( temp 2X2 matrix of float)
-0:402          arc tangent ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r006' ( temp 2X2 matrix of float)
-0:402          arc tangent ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r007' ( temp 2X2 matrix of float)
-0:402          Ceiling ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Test condition and select ( temp void)
-0:402        Condition
-0:402        any ( temp bool)
-0:402          Compare Less Than ( temp 2X2 matrix of bool)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            Constant:
-0:402              0.000000
-0:402              0.000000
-0:402              0.000000
-0:402              0.000000
-0:402        true case
-0:402        Branch: Kill
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r008' ( temp 2X2 matrix of float)
-0:402          clamp ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402            'inF2' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r009' ( temp 2X2 matrix of float)
-0:402          cosine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r010' ( temp 2X2 matrix of float)
-0:402          hyp. cosine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r011' ( temp 2X2 matrix of float)
-0:402          dPdx ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r012' ( temp 2X2 matrix of float)
-0:402          dPdxCoarse ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r013' ( temp 2X2 matrix of float)
-0:402          dPdxFine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r014' ( temp 2X2 matrix of float)
-0:402          dPdy ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r015' ( temp 2X2 matrix of float)
-0:402          dPdyCoarse ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r016' ( temp 2X2 matrix of float)
-0:402          dPdyFine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r017' ( temp 2X2 matrix of float)
-0:402          degrees ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp float)
-0:402          'r018' ( temp float)
-0:402          determinant ( temp float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r019' ( temp 2X2 matrix of float)
-0:402          exp ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'R020' ( temp 2X2 matrix of float)
-0:402          exp2 ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r021' ( temp 2X2 matrix of float)
-0:402          Floor ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r022' ( temp 2X2 matrix of float)
-0:402          mod ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r023' ( temp 2X2 matrix of float)
-0:402          Fraction ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r025' ( temp 2X2 matrix of float)
-0:402          fwidth ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r026' ( temp 2X2 matrix of float)
-0:402          ldexp ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r026a' ( temp 2X2 matrix of float)
-0:402          mix ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402            'inF2' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r027' ( temp 2X2 matrix of float)
-0:402          log ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r028' ( temp 2X2 matrix of float)
-0:402          matrix-scale ( temp 2X2 matrix of float)
-0:402            log2 ( temp 2X2 matrix of float)
-0:402              'inF0' ( in 2X2 matrix of float)
-0:402            Constant:
-0:402              0.301030
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r029' ( temp 2X2 matrix of float)
-0:402          log2 ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r030' ( temp 2X2 matrix of float)
-0:402          max ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r031' ( temp 2X2 matrix of float)
-0:402          min ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r032' ( temp 2X2 matrix of float)
-0:402          pow ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r033' ( temp 2X2 matrix of float)
-0:402          radians ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r034' ( temp 2X2 matrix of float)
-0:402          roundEven ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r035' ( temp 2X2 matrix of float)
-0:402          inverse sqrt ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r036' ( temp 2X2 matrix of float)
-0:402          clamp ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            Constant:
-0:402              0.000000
-0:402            Constant:
-0:402              1.000000
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r037' ( temp 2X2 matrix of float)
-0:402          Sign ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r038' ( temp 2X2 matrix of float)
-0:402          sine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'inF1' ( in 2X2 matrix of float)
-0:402          sine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'inF2' ( in 2X2 matrix of float)
-0:402          cosine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r039' ( temp 2X2 matrix of float)
-0:402          hyp. sine ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r049' ( temp 2X2 matrix of float)
-0:402          smoothstep ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402            'inF2' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r041' ( temp 2X2 matrix of float)
-0:402          sqrt ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r042' ( temp 2X2 matrix of float)
-0:402          step ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402            'inF1' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r043' ( temp 2X2 matrix of float)
-0:402          tangent ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r044' ( temp 2X2 matrix of float)
-0:402          hyp. tangent ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:402      transpose ( temp 2X2 matrix of float)
-0:402        'inF0' ( in 2X2 matrix of float)
-0:402      Sequence
-0:402        move second child to first child ( temp 2X2 matrix of float)
-0:402          'r046' ( temp 2X2 matrix of float)
-0:402          trunc ( temp 2X2 matrix of float)
-0:402            'inF0' ( in 2X2 matrix of float)
-0:405      Branch: Return with expression
+0:403      Sequence
+0:403        move second child to first child ( temp bool)
+0:403          'r000' ( temp bool)
+0:403          all ( temp bool)
+0:403            Convert float to bool ( temp 2X2 matrix of bool)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r001' ( temp 2X2 matrix of float)
+0:403          Absolute value ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      arc cosine ( temp 2X2 matrix of float)
+0:403        'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp bool)
+0:403          'r003' ( temp bool)
+0:403          any ( temp bool)
+0:403            Convert float to bool ( temp 2X2 matrix of bool)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r004' ( temp 2X2 matrix of float)
+0:403          arc sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r005' ( temp 2X2 matrix of float)
+0:403          arc tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r006' ( temp 2X2 matrix of float)
+0:403          arc tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r007' ( temp 2X2 matrix of float)
+0:403          Ceiling ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Test condition and select ( temp void)
+0:403        Condition
+0:403        any ( temp bool)
+0:403          Compare Less Than ( temp 2X2 matrix of bool)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.000000
+0:403              0.000000
+0:403              0.000000
+0:403              0.000000
+0:403        true case
+0:403        Branch: Kill
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r008' ( temp 2X2 matrix of float)
+0:403          clamp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r009' ( temp 2X2 matrix of float)
+0:403          cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r010' ( temp 2X2 matrix of float)
+0:403          hyp. cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r011' ( temp 2X2 matrix of float)
+0:403          dPdx ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r012' ( temp 2X2 matrix of float)
+0:403          dPdxCoarse ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r013' ( temp 2X2 matrix of float)
+0:403          dPdxFine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r014' ( temp 2X2 matrix of float)
+0:403          dPdy ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r015' ( temp 2X2 matrix of float)
+0:403          dPdyCoarse ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r016' ( temp 2X2 matrix of float)
+0:403          dPdyFine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r017' ( temp 2X2 matrix of float)
+0:403          degrees ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp float)
+0:403          'r018' ( temp float)
+0:403          determinant ( temp float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r019' ( temp 2X2 matrix of float)
+0:403          exp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'R020' ( temp 2X2 matrix of float)
+0:403          exp2 ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r021' ( temp 2X2 matrix of float)
+0:403          Floor ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r022' ( temp 2X2 matrix of float)
+0:403          mod ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r023' ( temp 2X2 matrix of float)
+0:403          Fraction ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r025' ( temp 2X2 matrix of float)
+0:403          fwidth ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r026' ( temp 2X2 matrix of float)
+0:403          ldexp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r026a' ( temp 2X2 matrix of float)
+0:403          mix ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r027' ( temp 2X2 matrix of float)
+0:403          log ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r028' ( temp 2X2 matrix of float)
+0:403          matrix-scale ( temp 2X2 matrix of float)
+0:403            log2 ( temp 2X2 matrix of float)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.301030
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r029' ( temp 2X2 matrix of float)
+0:403          log2 ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r030' ( temp 2X2 matrix of float)
+0:403          max ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r031' ( temp 2X2 matrix of float)
+0:403          min ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r032' ( temp 2X2 matrix of float)
+0:403          pow ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r033' ( temp 2X2 matrix of float)
+0:403          radians ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r034' ( temp 2X2 matrix of float)
+0:403          roundEven ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r035' ( temp 2X2 matrix of float)
+0:403          inverse sqrt ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r036' ( temp 2X2 matrix of float)
+0:403          clamp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.000000
+0:403            Constant:
+0:403              1.000000
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r037' ( temp 2X2 matrix of float)
+0:403          Sign ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r038' ( temp 2X2 matrix of float)
+0:403          sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'inF1' ( in 2X2 matrix of float)
+0:403          sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'inF2' ( in 2X2 matrix of float)
+0:403          cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r039' ( temp 2X2 matrix of float)
+0:403          hyp. sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r049' ( temp 2X2 matrix of float)
+0:403          smoothstep ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r041' ( temp 2X2 matrix of float)
+0:403          sqrt ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r042' ( temp 2X2 matrix of float)
+0:403          step ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r043' ( temp 2X2 matrix of float)
+0:403          tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r044' ( temp 2X2 matrix of float)
+0:403          hyp. tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      transpose ( temp 2X2 matrix of float)
+0:403        'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r046' ( temp 2X2 matrix of float)
+0:403          trunc ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:406      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:409  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
-0:409    Function Parameters: 
-0:409      'inF0' ( in 3X3 matrix of float)
-0:409      'inF1' ( in 3X3 matrix of float)
-0:409      'inF2' ( in 3X3 matrix of float)
+0:410  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:410    Function Parameters: 
+0:410      'inF0' ( in 3X3 matrix of float)
+0:410      'inF1' ( in 3X3 matrix of float)
+0:410      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-0:411      Sequence
-0:411        move second child to first child ( temp bool)
-0:411          'r000' ( temp bool)
-0:411          all ( temp bool)
-0:411            Convert float to bool ( temp 3X3 matrix of bool)
-0:411              'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r001' ( temp 3X3 matrix of float)
-0:411          Absolute value ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      arc cosine ( temp 3X3 matrix of float)
-0:411        'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp bool)
-0:411          'r003' ( temp bool)
-0:411          any ( temp bool)
-0:411            Convert float to bool ( temp 3X3 matrix of bool)
-0:411              'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r004' ( temp 3X3 matrix of float)
-0:411          arc sine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r005' ( temp 3X3 matrix of float)
-0:411          arc tangent ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r006' ( temp 3X3 matrix of float)
-0:411          arc tangent ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r007' ( temp 3X3 matrix of float)
-0:411          Ceiling ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Test condition and select ( temp void)
-0:411        Condition
-0:411        any ( temp bool)
-0:411          Compare Less Than ( temp 3X3 matrix of bool)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            Constant:
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411              0.000000
-0:411        true case
-0:411        Branch: Kill
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r008' ( temp 3X3 matrix of float)
-0:411          clamp ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411            'inF2' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r009' ( temp 3X3 matrix of float)
-0:411          cosine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r010' ( temp 3X3 matrix of float)
-0:411          hyp. cosine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r011' ( temp 3X3 matrix of float)
-0:411          dPdx ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r012' ( temp 3X3 matrix of float)
-0:411          dPdxCoarse ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r013' ( temp 3X3 matrix of float)
-0:411          dPdxFine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r014' ( temp 3X3 matrix of float)
-0:411          dPdy ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r015' ( temp 3X3 matrix of float)
-0:411          dPdyCoarse ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r016' ( temp 3X3 matrix of float)
-0:411          dPdyFine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r017' ( temp 3X3 matrix of float)
-0:411          degrees ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp float)
-0:411          'r018' ( temp float)
-0:411          determinant ( temp float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r019' ( temp 3X3 matrix of float)
-0:411          exp ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'R020' ( temp 3X3 matrix of float)
-0:411          exp2 ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r021' ( temp 3X3 matrix of float)
-0:411          Floor ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r022' ( temp 3X3 matrix of float)
-0:411          mod ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r023' ( temp 3X3 matrix of float)
-0:411          Fraction ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r025' ( temp 3X3 matrix of float)
-0:411          fwidth ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r026' ( temp 3X3 matrix of float)
-0:411          ldexp ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r026a' ( temp 3X3 matrix of float)
-0:411          mix ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411            'inF2' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r027' ( temp 3X3 matrix of float)
-0:411          log ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r028' ( temp 3X3 matrix of float)
-0:411          matrix-scale ( temp 3X3 matrix of float)
-0:411            log2 ( temp 3X3 matrix of float)
-0:411              'inF0' ( in 3X3 matrix of float)
-0:411            Constant:
-0:411              0.301030
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r029' ( temp 3X3 matrix of float)
-0:411          log2 ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r030' ( temp 3X3 matrix of float)
-0:411          max ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r031' ( temp 3X3 matrix of float)
-0:411          min ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r032' ( temp 3X3 matrix of float)
-0:411          pow ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r033' ( temp 3X3 matrix of float)
-0:411          radians ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r034' ( temp 3X3 matrix of float)
-0:411          roundEven ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r035' ( temp 3X3 matrix of float)
-0:411          inverse sqrt ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r036' ( temp 3X3 matrix of float)
-0:411          clamp ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            Constant:
-0:411              0.000000
-0:411            Constant:
-0:411              1.000000
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r037' ( temp 3X3 matrix of float)
-0:411          Sign ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r038' ( temp 3X3 matrix of float)
-0:411          sine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'inF1' ( in 3X3 matrix of float)
-0:411          sine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'inF2' ( in 3X3 matrix of float)
-0:411          cosine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r039' ( temp 3X3 matrix of float)
-0:411          hyp. sine ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r049' ( temp 3X3 matrix of float)
-0:411          smoothstep ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411            'inF2' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r041' ( temp 3X3 matrix of float)
-0:411          sqrt ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r042' ( temp 3X3 matrix of float)
-0:411          step ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411            'inF1' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r043' ( temp 3X3 matrix of float)
-0:411          tangent ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r044' ( temp 3X3 matrix of float)
-0:411          hyp. tangent ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:411      transpose ( temp 3X3 matrix of float)
-0:411        'inF0' ( in 3X3 matrix of float)
-0:411      Sequence
-0:411        move second child to first child ( temp 3X3 matrix of float)
-0:411          'r046' ( temp 3X3 matrix of float)
-0:411          trunc ( temp 3X3 matrix of float)
-0:411            'inF0' ( in 3X3 matrix of float)
-0:414      Branch: Return with expression
+0:412      Sequence
+0:412        move second child to first child ( temp bool)
+0:412          'r000' ( temp bool)
+0:412          all ( temp bool)
+0:412            Convert float to bool ( temp 3X3 matrix of bool)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r001' ( temp 3X3 matrix of float)
+0:412          Absolute value ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      arc cosine ( temp 3X3 matrix of float)
+0:412        'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp bool)
+0:412          'r003' ( temp bool)
+0:412          any ( temp bool)
+0:412            Convert float to bool ( temp 3X3 matrix of bool)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r004' ( temp 3X3 matrix of float)
+0:412          arc sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r005' ( temp 3X3 matrix of float)
+0:412          arc tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r006' ( temp 3X3 matrix of float)
+0:412          arc tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r007' ( temp 3X3 matrix of float)
+0:412          Ceiling ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Test condition and select ( temp void)
+0:412        Condition
+0:412        any ( temp bool)
+0:412          Compare Less Than ( temp 3X3 matrix of bool)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412        true case
+0:412        Branch: Kill
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r008' ( temp 3X3 matrix of float)
+0:412          clamp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r009' ( temp 3X3 matrix of float)
+0:412          cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r010' ( temp 3X3 matrix of float)
+0:412          hyp. cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r011' ( temp 3X3 matrix of float)
+0:412          dPdx ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r012' ( temp 3X3 matrix of float)
+0:412          dPdxCoarse ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r013' ( temp 3X3 matrix of float)
+0:412          dPdxFine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r014' ( temp 3X3 matrix of float)
+0:412          dPdy ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r015' ( temp 3X3 matrix of float)
+0:412          dPdyCoarse ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r016' ( temp 3X3 matrix of float)
+0:412          dPdyFine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r017' ( temp 3X3 matrix of float)
+0:412          degrees ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp float)
+0:412          'r018' ( temp float)
+0:412          determinant ( temp float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r019' ( temp 3X3 matrix of float)
+0:412          exp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'R020' ( temp 3X3 matrix of float)
+0:412          exp2 ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r021' ( temp 3X3 matrix of float)
+0:412          Floor ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r022' ( temp 3X3 matrix of float)
+0:412          mod ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r023' ( temp 3X3 matrix of float)
+0:412          Fraction ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r025' ( temp 3X3 matrix of float)
+0:412          fwidth ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r026' ( temp 3X3 matrix of float)
+0:412          ldexp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r026a' ( temp 3X3 matrix of float)
+0:412          mix ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r027' ( temp 3X3 matrix of float)
+0:412          log ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r028' ( temp 3X3 matrix of float)
+0:412          matrix-scale ( temp 3X3 matrix of float)
+0:412            log2 ( temp 3X3 matrix of float)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.301030
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r029' ( temp 3X3 matrix of float)
+0:412          log2 ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r030' ( temp 3X3 matrix of float)
+0:412          max ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r031' ( temp 3X3 matrix of float)
+0:412          min ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r032' ( temp 3X3 matrix of float)
+0:412          pow ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r033' ( temp 3X3 matrix of float)
+0:412          radians ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r034' ( temp 3X3 matrix of float)
+0:412          roundEven ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r035' ( temp 3X3 matrix of float)
+0:412          inverse sqrt ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r036' ( temp 3X3 matrix of float)
+0:412          clamp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.000000
+0:412            Constant:
+0:412              1.000000
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r037' ( temp 3X3 matrix of float)
+0:412          Sign ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r038' ( temp 3X3 matrix of float)
+0:412          sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'inF1' ( in 3X3 matrix of float)
+0:412          sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'inF2' ( in 3X3 matrix of float)
+0:412          cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r039' ( temp 3X3 matrix of float)
+0:412          hyp. sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r049' ( temp 3X3 matrix of float)
+0:412          smoothstep ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r041' ( temp 3X3 matrix of float)
+0:412          sqrt ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r042' ( temp 3X3 matrix of float)
+0:412          step ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r043' ( temp 3X3 matrix of float)
+0:412          tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r044' ( temp 3X3 matrix of float)
+0:412          hyp. tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      transpose ( temp 3X3 matrix of float)
+0:412        'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r046' ( temp 3X3 matrix of float)
+0:412          trunc ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:415      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -4980,297 +4992,297 @@ gl_FragCoord origin is upper left
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:418  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
-0:418    Function Parameters: 
-0:418      'inF0' ( in 4X4 matrix of float)
-0:418      'inF1' ( in 4X4 matrix of float)
-0:418      'inF2' ( in 4X4 matrix of float)
+0:419  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:419    Function Parameters: 
+0:419      'inF0' ( in 4X4 matrix of float)
+0:419      'inF1' ( in 4X4 matrix of float)
+0:419      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-0:420      Sequence
-0:420        move second child to first child ( temp bool)
-0:420          'r000' ( temp bool)
-0:420          all ( temp bool)
-0:420            Convert float to bool ( temp 4X4 matrix of bool)
-0:420              'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r001' ( temp 4X4 matrix of float)
-0:420          Absolute value ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      arc cosine ( temp 4X4 matrix of float)
-0:420        'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp bool)
-0:420          'r003' ( temp bool)
-0:420          any ( temp bool)
-0:420            Convert float to bool ( temp 4X4 matrix of bool)
-0:420              'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r004' ( temp 4X4 matrix of float)
-0:420          arc sine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r005' ( temp 4X4 matrix of float)
-0:420          arc tangent ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r006' ( temp 4X4 matrix of float)
-0:420          arc tangent ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r007' ( temp 4X4 matrix of float)
-0:420          Ceiling ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Test condition and select ( temp void)
-0:420        Condition
-0:420        any ( temp bool)
-0:420          Compare Less Than ( temp 4X4 matrix of bool)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            Constant:
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420              0.000000
-0:420        true case
-0:420        Branch: Kill
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r008' ( temp 4X4 matrix of float)
-0:420          clamp ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420            'inF2' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r009' ( temp 4X4 matrix of float)
-0:420          cosine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r010' ( temp 4X4 matrix of float)
-0:420          hyp. cosine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r011' ( temp 4X4 matrix of float)
-0:420          dPdx ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r012' ( temp 4X4 matrix of float)
-0:420          dPdxCoarse ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r013' ( temp 4X4 matrix of float)
-0:420          dPdxFine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r014' ( temp 4X4 matrix of float)
-0:420          dPdy ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r015' ( temp 4X4 matrix of float)
-0:420          dPdyCoarse ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r016' ( temp 4X4 matrix of float)
-0:420          dPdyFine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r017' ( temp 4X4 matrix of float)
-0:420          degrees ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp float)
-0:420          'r018' ( temp float)
-0:420          determinant ( temp float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r019' ( temp 4X4 matrix of float)
-0:420          exp ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'R020' ( temp 4X4 matrix of float)
-0:420          exp2 ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r021' ( temp 4X4 matrix of float)
-0:420          Floor ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r022' ( temp 4X4 matrix of float)
-0:420          mod ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r023' ( temp 4X4 matrix of float)
-0:420          Fraction ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r025' ( temp 4X4 matrix of float)
-0:420          fwidth ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r026' ( temp 4X4 matrix of float)
-0:420          ldexp ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r026a' ( temp 4X4 matrix of float)
-0:420          mix ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420            'inF2' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r027' ( temp 4X4 matrix of float)
-0:420          log ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r028' ( temp 4X4 matrix of float)
-0:420          matrix-scale ( temp 4X4 matrix of float)
-0:420            log2 ( temp 4X4 matrix of float)
-0:420              'inF0' ( in 4X4 matrix of float)
-0:420            Constant:
-0:420              0.301030
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r029' ( temp 4X4 matrix of float)
-0:420          log2 ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r030' ( temp 4X4 matrix of float)
-0:420          max ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r031' ( temp 4X4 matrix of float)
-0:420          min ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r032' ( temp 4X4 matrix of float)
-0:420          pow ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r033' ( temp 4X4 matrix of float)
-0:420          radians ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r034' ( temp 4X4 matrix of float)
-0:420          roundEven ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r035' ( temp 4X4 matrix of float)
-0:420          inverse sqrt ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r036' ( temp 4X4 matrix of float)
-0:420          clamp ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            Constant:
-0:420              0.000000
-0:420            Constant:
-0:420              1.000000
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r037' ( temp 4X4 matrix of float)
-0:420          Sign ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r038' ( temp 4X4 matrix of float)
-0:420          sine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'inF1' ( in 4X4 matrix of float)
-0:420          sine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'inF2' ( in 4X4 matrix of float)
-0:420          cosine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r039' ( temp 4X4 matrix of float)
-0:420          hyp. sine ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r049' ( temp 4X4 matrix of float)
-0:420          smoothstep ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420            'inF2' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r041' ( temp 4X4 matrix of float)
-0:420          sqrt ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r042' ( temp 4X4 matrix of float)
-0:420          step ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420            'inF1' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r043' ( temp 4X4 matrix of float)
-0:420          tangent ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r044' ( temp 4X4 matrix of float)
-0:420          hyp. tangent ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:420      transpose ( temp 4X4 matrix of float)
-0:420        'inF0' ( in 4X4 matrix of float)
-0:420      Sequence
-0:420        move second child to first child ( temp 4X4 matrix of float)
-0:420          'r046' ( temp 4X4 matrix of float)
-0:420          trunc ( temp 4X4 matrix of float)
-0:420            'inF0' ( in 4X4 matrix of float)
-0:423      Branch: Return with expression
+0:421      Sequence
+0:421        move second child to first child ( temp bool)
+0:421          'r000' ( temp bool)
+0:421          all ( temp bool)
+0:421            Convert float to bool ( temp 4X4 matrix of bool)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r001' ( temp 4X4 matrix of float)
+0:421          Absolute value ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      arc cosine ( temp 4X4 matrix of float)
+0:421        'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp bool)
+0:421          'r003' ( temp bool)
+0:421          any ( temp bool)
+0:421            Convert float to bool ( temp 4X4 matrix of bool)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r004' ( temp 4X4 matrix of float)
+0:421          arc sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r005' ( temp 4X4 matrix of float)
+0:421          arc tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r006' ( temp 4X4 matrix of float)
+0:421          arc tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r007' ( temp 4X4 matrix of float)
+0:421          Ceiling ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Test condition and select ( temp void)
+0:421        Condition
+0:421        any ( temp bool)
+0:421          Compare Less Than ( temp 4X4 matrix of bool)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421        true case
+0:421        Branch: Kill
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r008' ( temp 4X4 matrix of float)
+0:421          clamp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r009' ( temp 4X4 matrix of float)
+0:421          cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r010' ( temp 4X4 matrix of float)
+0:421          hyp. cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r011' ( temp 4X4 matrix of float)
+0:421          dPdx ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r012' ( temp 4X4 matrix of float)
+0:421          dPdxCoarse ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r013' ( temp 4X4 matrix of float)
+0:421          dPdxFine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r014' ( temp 4X4 matrix of float)
+0:421          dPdy ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r015' ( temp 4X4 matrix of float)
+0:421          dPdyCoarse ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r016' ( temp 4X4 matrix of float)
+0:421          dPdyFine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r017' ( temp 4X4 matrix of float)
+0:421          degrees ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp float)
+0:421          'r018' ( temp float)
+0:421          determinant ( temp float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r019' ( temp 4X4 matrix of float)
+0:421          exp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'R020' ( temp 4X4 matrix of float)
+0:421          exp2 ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r021' ( temp 4X4 matrix of float)
+0:421          Floor ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r022' ( temp 4X4 matrix of float)
+0:421          mod ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r023' ( temp 4X4 matrix of float)
+0:421          Fraction ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r025' ( temp 4X4 matrix of float)
+0:421          fwidth ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r026' ( temp 4X4 matrix of float)
+0:421          ldexp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r026a' ( temp 4X4 matrix of float)
+0:421          mix ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r027' ( temp 4X4 matrix of float)
+0:421          log ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r028' ( temp 4X4 matrix of float)
+0:421          matrix-scale ( temp 4X4 matrix of float)
+0:421            log2 ( temp 4X4 matrix of float)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.301030
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r029' ( temp 4X4 matrix of float)
+0:421          log2 ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r030' ( temp 4X4 matrix of float)
+0:421          max ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r031' ( temp 4X4 matrix of float)
+0:421          min ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r032' ( temp 4X4 matrix of float)
+0:421          pow ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r033' ( temp 4X4 matrix of float)
+0:421          radians ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r034' ( temp 4X4 matrix of float)
+0:421          roundEven ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r035' ( temp 4X4 matrix of float)
+0:421          inverse sqrt ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r036' ( temp 4X4 matrix of float)
+0:421          clamp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.000000
+0:421            Constant:
+0:421              1.000000
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r037' ( temp 4X4 matrix of float)
+0:421          Sign ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r038' ( temp 4X4 matrix of float)
+0:421          sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'inF1' ( in 4X4 matrix of float)
+0:421          sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'inF2' ( in 4X4 matrix of float)
+0:421          cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r039' ( temp 4X4 matrix of float)
+0:421          hyp. sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r049' ( temp 4X4 matrix of float)
+0:421          smoothstep ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r041' ( temp 4X4 matrix of float)
+0:421          sqrt ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r042' ( temp 4X4 matrix of float)
+0:421          step ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r043' ( temp 4X4 matrix of float)
+0:421          tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r044' ( temp 4X4 matrix of float)
+0:421          hyp. tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      transpose ( temp 4X4 matrix of float)
+0:421        'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r046' ( temp 4X4 matrix of float)
+0:421          trunc ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:424      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -5288,334 +5300,334 @@ gl_FragCoord origin is upper left
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:441  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
-0:441    Function Parameters: 
-0:441      'inF0' ( in float)
-0:441      'inF1' ( in float)
-0:441      'inFV0' ( in 2-component vector of float)
-0:441      'inFV1' ( in 2-component vector of float)
-0:441      'inFM0' ( in 2X2 matrix of float)
-0:441      'inFM1' ( in 2X2 matrix of float)
+0:442  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:442    Function Parameters: 
+0:442      'inF0' ( in float)
+0:442      'inF1' ( in float)
+0:442      'inFV0' ( in 2-component vector of float)
+0:442      'inFV1' ( in 2-component vector of float)
+0:442      'inFM0' ( in 2X2 matrix of float)
+0:442      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-0:442      Sequence
-0:442        move second child to first child ( temp float)
-0:442          'r0' ( temp float)
-0:442          component-wise multiply ( temp float)
-0:442            'inF1' ( in float)
-0:442            'inF0' ( in float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2-component vector of float)
-0:442          'r1' ( temp 2-component vector of float)
-0:442          vector-scale ( temp 2-component vector of float)
-0:442            'inF0' ( in float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2-component vector of float)
-0:442          'r2' ( temp 2-component vector of float)
-0:442          vector-scale ( temp 2-component vector of float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442            'inF0' ( in float)
-0:442      Sequence
-0:442        move second child to first child ( temp float)
-0:442          'r3' ( temp float)
-0:442          dot-product ( temp float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442            'inFV1' ( in 2-component vector of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2-component vector of float)
-0:442          'r4' ( temp 2-component vector of float)
-0:442          vector-times-matrix ( temp 2-component vector of float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2-component vector of float)
-0:442          'r5' ( temp 2-component vector of float)
-0:442          matrix-times-vector ( temp 2-component vector of float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:442            'inFV0' ( in 2-component vector of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2X2 matrix of float)
-0:442          'r6' ( temp 2X2 matrix of float)
-0:442          matrix-scale ( temp 2X2 matrix of float)
-0:442            'inF0' ( in float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2X2 matrix of float)
-0:442          'r7' ( temp 2X2 matrix of float)
-0:442          matrix-scale ( temp 2X2 matrix of float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:442            'inF0' ( in float)
-0:442      Sequence
-0:442        move second child to first child ( temp 2X2 matrix of float)
-0:442          'r8' ( temp 2X2 matrix of float)
-0:442          matrix-multiply ( temp 2X2 matrix of float)
-0:442            'inFM1' ( in 2X2 matrix of float)
-0:442            'inFM0' ( in 2X2 matrix of float)
-0:448  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
-0:448    Function Parameters: 
-0:448      'inF0' ( in float)
-0:448      'inF1' ( in float)
-0:448      'inFV0' ( in 3-component vector of float)
-0:448      'inFV1' ( in 3-component vector of float)
-0:448      'inFM0' ( in 3X3 matrix of float)
-0:448      'inFM1' ( in 3X3 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp float)
+0:443          'r0' ( temp float)
+0:443          component-wise multiply ( temp float)
+0:443            'inF1' ( in float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r1' ( temp 2-component vector of float)
+0:443          vector-scale ( temp 2-component vector of float)
+0:443            'inF0' ( in float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r2' ( temp 2-component vector of float)
+0:443          vector-scale ( temp 2-component vector of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp float)
+0:443          'r3' ( temp float)
+0:443          dot-product ( temp float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inFV1' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r4' ( temp 2-component vector of float)
+0:443          vector-times-matrix ( temp 2-component vector of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r5' ( temp 2-component vector of float)
+0:443          matrix-times-vector ( temp 2-component vector of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r6' ( temp 2X2 matrix of float)
+0:443          matrix-scale ( temp 2X2 matrix of float)
+0:443            'inF0' ( in float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r7' ( temp 2X2 matrix of float)
+0:443          matrix-scale ( temp 2X2 matrix of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r8' ( temp 2X2 matrix of float)
+0:443          matrix-multiply ( temp 2X2 matrix of float)
+0:443            'inFM1' ( in 2X2 matrix of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:449  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:449    Function Parameters: 
+0:449      'inF0' ( in float)
+0:449      'inF1' ( in float)
+0:449      'inFV0' ( in 3-component vector of float)
+0:449      'inFV1' ( in 3-component vector of float)
+0:449      'inFM0' ( in 3X3 matrix of float)
+0:449      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-0:449      Sequence
-0:449        move second child to first child ( temp float)
-0:449          'r0' ( temp float)
-0:449          component-wise multiply ( temp float)
-0:449            'inF1' ( in float)
-0:449            'inF0' ( in float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3-component vector of float)
-0:449          'r1' ( temp 3-component vector of float)
-0:449          vector-scale ( temp 3-component vector of float)
-0:449            'inF0' ( in float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3-component vector of float)
-0:449          'r2' ( temp 3-component vector of float)
-0:449          vector-scale ( temp 3-component vector of float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449            'inF0' ( in float)
-0:449      Sequence
-0:449        move second child to first child ( temp float)
-0:449          'r3' ( temp float)
-0:449          dot-product ( temp float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449            'inFV1' ( in 3-component vector of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3-component vector of float)
-0:449          'r4' ( temp 3-component vector of float)
-0:449          vector-times-matrix ( temp 3-component vector of float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3-component vector of float)
-0:449          'r5' ( temp 3-component vector of float)
-0:449          matrix-times-vector ( temp 3-component vector of float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:449            'inFV0' ( in 3-component vector of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3X3 matrix of float)
-0:449          'r6' ( temp 3X3 matrix of float)
-0:449          matrix-scale ( temp 3X3 matrix of float)
-0:449            'inF0' ( in float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3X3 matrix of float)
-0:449          'r7' ( temp 3X3 matrix of float)
-0:449          matrix-scale ( temp 3X3 matrix of float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:449            'inF0' ( in float)
-0:449      Sequence
-0:449        move second child to first child ( temp 3X3 matrix of float)
-0:449          'r8' ( temp 3X3 matrix of float)
-0:449          matrix-multiply ( temp 3X3 matrix of float)
-0:449            'inFM1' ( in 3X3 matrix of float)
-0:449            'inFM0' ( in 3X3 matrix of float)
-0:455  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
-0:455    Function Parameters: 
-0:455      'inF0' ( in float)
-0:455      'inF1' ( in float)
-0:455      'inFV0' ( in 4-component vector of float)
-0:455      'inFV1' ( in 4-component vector of float)
-0:455      'inFM0' ( in 4X4 matrix of float)
-0:455      'inFM1' ( in 4X4 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp float)
+0:450          'r0' ( temp float)
+0:450          component-wise multiply ( temp float)
+0:450            'inF1' ( in float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r1' ( temp 3-component vector of float)
+0:450          vector-scale ( temp 3-component vector of float)
+0:450            'inF0' ( in float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r2' ( temp 3-component vector of float)
+0:450          vector-scale ( temp 3-component vector of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp float)
+0:450          'r3' ( temp float)
+0:450          dot-product ( temp float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inFV1' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r4' ( temp 3-component vector of float)
+0:450          vector-times-matrix ( temp 3-component vector of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r5' ( temp 3-component vector of float)
+0:450          matrix-times-vector ( temp 3-component vector of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r6' ( temp 3X3 matrix of float)
+0:450          matrix-scale ( temp 3X3 matrix of float)
+0:450            'inF0' ( in float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r7' ( temp 3X3 matrix of float)
+0:450          matrix-scale ( temp 3X3 matrix of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r8' ( temp 3X3 matrix of float)
+0:450          matrix-multiply ( temp 3X3 matrix of float)
+0:450            'inFM1' ( in 3X3 matrix of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:456  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:456    Function Parameters: 
+0:456      'inF0' ( in float)
+0:456      'inF1' ( in float)
+0:456      'inFV0' ( in 4-component vector of float)
+0:456      'inFV1' ( in 4-component vector of float)
+0:456      'inFM0' ( in 4X4 matrix of float)
+0:456      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-0:456      Sequence
-0:456        move second child to first child ( temp float)
-0:456          'r0' ( temp float)
-0:456          component-wise multiply ( temp float)
-0:456            'inF1' ( in float)
-0:456            'inF0' ( in float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4-component vector of float)
-0:456          'r1' ( temp 4-component vector of float)
-0:456          vector-scale ( temp 4-component vector of float)
-0:456            'inF0' ( in float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4-component vector of float)
-0:456          'r2' ( temp 4-component vector of float)
-0:456          vector-scale ( temp 4-component vector of float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456            'inF0' ( in float)
-0:456      Sequence
-0:456        move second child to first child ( temp float)
-0:456          'r3' ( temp float)
-0:456          dot-product ( temp float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456            'inFV1' ( in 4-component vector of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4-component vector of float)
-0:456          'r4' ( temp 4-component vector of float)
-0:456          vector-times-matrix ( temp 4-component vector of float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4-component vector of float)
-0:456          'r5' ( temp 4-component vector of float)
-0:456          matrix-times-vector ( temp 4-component vector of float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:456            'inFV0' ( in 4-component vector of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4X4 matrix of float)
-0:456          'r6' ( temp 4X4 matrix of float)
-0:456          matrix-scale ( temp 4X4 matrix of float)
-0:456            'inF0' ( in float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4X4 matrix of float)
-0:456          'r7' ( temp 4X4 matrix of float)
-0:456          matrix-scale ( temp 4X4 matrix of float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:456            'inF0' ( in float)
-0:456      Sequence
-0:456        move second child to first child ( temp 4X4 matrix of float)
-0:456          'r8' ( temp 4X4 matrix of float)
-0:456          matrix-multiply ( temp 4X4 matrix of float)
-0:456            'inFM1' ( in 4X4 matrix of float)
-0:456            'inFM0' ( in 4X4 matrix of float)
-0:465  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
-0:465    Function Parameters: 
-0:465      'inF0' ( in float)
-0:465      'inF1' ( in float)
-0:465      'inFV2' ( in 2-component vector of float)
-0:465      'inFV3' ( in 3-component vector of float)
-0:465      'inFM2x3' ( in 2X3 matrix of float)
-0:465      'inFM3x2' ( in 3X2 matrix of float)
-0:465      'inFM3x3' ( in 3X3 matrix of float)
-0:465      'inFM3x4' ( in 3X4 matrix of float)
-0:465      'inFM2x4' ( in 2X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp float)
+0:457          'r0' ( temp float)
+0:457          component-wise multiply ( temp float)
+0:457            'inF1' ( in float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r1' ( temp 4-component vector of float)
+0:457          vector-scale ( temp 4-component vector of float)
+0:457            'inF0' ( in float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r2' ( temp 4-component vector of float)
+0:457          vector-scale ( temp 4-component vector of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp float)
+0:457          'r3' ( temp float)
+0:457          dot-product ( temp float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inFV1' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r4' ( temp 4-component vector of float)
+0:457          vector-times-matrix ( temp 4-component vector of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r5' ( temp 4-component vector of float)
+0:457          matrix-times-vector ( temp 4-component vector of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r6' ( temp 4X4 matrix of float)
+0:457          matrix-scale ( temp 4X4 matrix of float)
+0:457            'inF0' ( in float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r7' ( temp 4X4 matrix of float)
+0:457          matrix-scale ( temp 4X4 matrix of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r8' ( temp 4X4 matrix of float)
+0:457          matrix-multiply ( temp 4X4 matrix of float)
+0:457            'inFM1' ( in 4X4 matrix of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:466  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:466    Function Parameters: 
+0:466      'inF0' ( in float)
+0:466      'inF1' ( in float)
+0:466      'inFV2' ( in 2-component vector of float)
+0:466      'inFV3' ( in 3-component vector of float)
+0:466      'inFM2x3' ( in 2X3 matrix of float)
+0:466      'inFM3x2' ( in 3X2 matrix of float)
+0:466      'inFM3x3' ( in 3X3 matrix of float)
+0:466      'inFM3x4' ( in 3X4 matrix of float)
+0:466      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
-0:466      Sequence
-0:466        move second child to first child ( temp float)
-0:466          'r00' ( temp float)
-0:466          component-wise multiply ( temp float)
-0:466            'inF1' ( in float)
-0:466            'inF0' ( in float)
 0:467      Sequence
-0:467        move second child to first child ( temp 2-component vector of float)
-0:467          'r01' ( temp 2-component vector of float)
-0:467          vector-scale ( temp 2-component vector of float)
+0:467        move second child to first child ( temp float)
+0:467          'r00' ( temp float)
+0:467          component-wise multiply ( temp float)
+0:467            'inF1' ( in float)
 0:467            'inF0' ( in float)
-0:467            'inFV2' ( in 2-component vector of float)
 0:468      Sequence
-0:468        move second child to first child ( temp 3-component vector of float)
-0:468          'r02' ( temp 3-component vector of float)
-0:468          vector-scale ( temp 3-component vector of float)
+0:468        move second child to first child ( temp 2-component vector of float)
+0:468          'r01' ( temp 2-component vector of float)
+0:468          vector-scale ( temp 2-component vector of float)
 0:468            'inF0' ( in float)
-0:468            'inFV3' ( in 3-component vector of float)
+0:468            'inFV2' ( in 2-component vector of float)
 0:469      Sequence
-0:469        move second child to first child ( temp 2-component vector of float)
-0:469          'r03' ( temp 2-component vector of float)
-0:469          vector-scale ( temp 2-component vector of float)
-0:469            'inFV2' ( in 2-component vector of float)
+0:469        move second child to first child ( temp 3-component vector of float)
+0:469          'r02' ( temp 3-component vector of float)
+0:469          vector-scale ( temp 3-component vector of float)
 0:469            'inF0' ( in float)
+0:469            'inFV3' ( in 3-component vector of float)
 0:470      Sequence
-0:470        move second child to first child ( temp 3-component vector of float)
-0:470          'r04' ( temp 3-component vector of float)
-0:470          vector-scale ( temp 3-component vector of float)
-0:470            'inFV3' ( in 3-component vector of float)
+0:470        move second child to first child ( temp 2-component vector of float)
+0:470          'r03' ( temp 2-component vector of float)
+0:470          vector-scale ( temp 2-component vector of float)
+0:470            'inFV2' ( in 2-component vector of float)
 0:470            'inF0' ( in float)
 0:471      Sequence
-0:471        move second child to first child ( temp float)
-0:471          'r05' ( temp float)
-0:471          dot-product ( temp float)
-0:471            'inFV2' ( in 2-component vector of float)
-0:471            'inFV2' ( in 2-component vector of float)
+0:471        move second child to first child ( temp 3-component vector of float)
+0:471          'r04' ( temp 3-component vector of float)
+0:471          vector-scale ( temp 3-component vector of float)
+0:471            'inFV3' ( in 3-component vector of float)
+0:471            'inF0' ( in float)
 0:472      Sequence
 0:472        move second child to first child ( temp float)
-0:472          'r06' ( temp float)
+0:472          'r05' ( temp float)
 0:472          dot-product ( temp float)
-0:472            'inFV3' ( in 3-component vector of float)
-0:472            'inFV3' ( in 3-component vector of float)
+0:472            'inFV2' ( in 2-component vector of float)
+0:472            'inFV2' ( in 2-component vector of float)
 0:473      Sequence
-0:473        move second child to first child ( temp 3-component vector of float)
-0:473          'r07' ( temp 3-component vector of float)
-0:473          matrix-times-vector ( temp 3-component vector of float)
-0:473            'inFM2x3' ( in 2X3 matrix of float)
-0:473            'inFV2' ( in 2-component vector of float)
+0:473        move second child to first child ( temp float)
+0:473          'r06' ( temp float)
+0:473          dot-product ( temp float)
+0:473            'inFV3' ( in 3-component vector of float)
+0:473            'inFV3' ( in 3-component vector of float)
 0:474      Sequence
-0:474        move second child to first child ( temp 2-component vector of float)
-0:474          'r08' ( temp 2-component vector of float)
-0:474          matrix-times-vector ( temp 2-component vector of float)
-0:474            'inFM3x2' ( in 3X2 matrix of float)
-0:474            'inFV3' ( in 3-component vector of float)
+0:474        move second child to first child ( temp 3-component vector of float)
+0:474          'r07' ( temp 3-component vector of float)
+0:474          matrix-times-vector ( temp 3-component vector of float)
+0:474            'inFM2x3' ( in 2X3 matrix of float)
+0:474            'inFV2' ( in 2-component vector of float)
 0:475      Sequence
 0:475        move second child to first child ( temp 2-component vector of float)
-0:475          'r09' ( temp 2-component vector of float)
-0:475          vector-times-matrix ( temp 2-component vector of float)
+0:475          'r08' ( temp 2-component vector of float)
+0:475          matrix-times-vector ( temp 2-component vector of float)
+0:475            'inFM3x2' ( in 3X2 matrix of float)
 0:475            'inFV3' ( in 3-component vector of float)
-0:475            'inFM2x3' ( in 2X3 matrix of float)
 0:476      Sequence
-0:476        move second child to first child ( temp 3-component vector of float)
-0:476          'r10' ( temp 3-component vector of float)
-0:476          vector-times-matrix ( temp 3-component vector of float)
-0:476            'inFV2' ( in 2-component vector of float)
-0:476            'inFM3x2' ( in 3X2 matrix of float)
+0:476        move second child to first child ( temp 2-component vector of float)
+0:476          'r09' ( temp 2-component vector of float)
+0:476          vector-times-matrix ( temp 2-component vector of float)
+0:476            'inFV3' ( in 3-component vector of float)
+0:476            'inFM2x3' ( in 2X3 matrix of float)
 0:477      Sequence
-0:477        move second child to first child ( temp 2X3 matrix of float)
-0:477          'r11' ( temp 2X3 matrix of float)
-0:477          matrix-scale ( temp 2X3 matrix of float)
-0:477            'inF0' ( in float)
-0:477            'inFM2x3' ( in 2X3 matrix of float)
+0:477        move second child to first child ( temp 3-component vector of float)
+0:477          'r10' ( temp 3-component vector of float)
+0:477          vector-times-matrix ( temp 3-component vector of float)
+0:477            'inFV2' ( in 2-component vector of float)
+0:477            'inFM3x2' ( in 3X2 matrix of float)
 0:478      Sequence
-0:478        move second child to first child ( temp 3X2 matrix of float)
-0:478          'r12' ( temp 3X2 matrix of float)
-0:478          matrix-scale ( temp 3X2 matrix of float)
+0:478        move second child to first child ( temp 2X3 matrix of float)
+0:478          'r11' ( temp 2X3 matrix of float)
+0:478          matrix-scale ( temp 2X3 matrix of float)
 0:478            'inF0' ( in float)
-0:478            'inFM3x2' ( in 3X2 matrix of float)
+0:478            'inFM2x3' ( in 2X3 matrix of float)
 0:479      Sequence
-0:479        move second child to first child ( temp 2X2 matrix of float)
-0:479          'r13' ( temp 2X2 matrix of float)
-0:479          matrix-multiply ( temp 2X2 matrix of float)
+0:479        move second child to first child ( temp 3X2 matrix of float)
+0:479          'r12' ( temp 3X2 matrix of float)
+0:479          matrix-scale ( temp 3X2 matrix of float)
+0:479            'inF0' ( in float)
 0:479            'inFM3x2' ( in 3X2 matrix of float)
-0:479            'inFM2x3' ( in 2X3 matrix of float)
 0:480      Sequence
-0:480        move second child to first child ( temp 2X3 matrix of float)
-0:480          'r14' ( temp 2X3 matrix of float)
-0:480          matrix-multiply ( temp 2X3 matrix of float)
-0:480            'inFM3x3' ( in 3X3 matrix of float)
+0:480        move second child to first child ( temp 2X2 matrix of float)
+0:480          'r13' ( temp 2X2 matrix of float)
+0:480          matrix-multiply ( temp 2X2 matrix of float)
+0:480            'inFM3x2' ( in 3X2 matrix of float)
 0:480            'inFM2x3' ( in 2X3 matrix of float)
 0:481      Sequence
-0:481        move second child to first child ( temp 2X4 matrix of float)
-0:481          'r15' ( temp 2X4 matrix of float)
-0:481          matrix-multiply ( temp 2X4 matrix of float)
-0:481            'inFM3x4' ( in 3X4 matrix of float)
+0:481        move second child to first child ( temp 2X3 matrix of float)
+0:481          'r14' ( temp 2X3 matrix of float)
+0:481          matrix-multiply ( temp 2X3 matrix of float)
+0:481            'inFM3x3' ( in 3X3 matrix of float)
 0:481            'inFM2x3' ( in 2X3 matrix of float)
 0:482      Sequence
-0:482        move second child to first child ( temp 3X4 matrix of float)
-0:482          'r16' ( temp 3X4 matrix of float)
-0:482          matrix-multiply ( temp 3X4 matrix of float)
-0:482            'inFM2x4' ( in 2X4 matrix of float)
-0:482            'inFM3x2' ( in 3X2 matrix of float)
-0:488  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
-0:488    Function Parameters: 
+0:482        move second child to first child ( temp 2X4 matrix of float)
+0:482          'r15' ( temp 2X4 matrix of float)
+0:482          matrix-multiply ( temp 2X4 matrix of float)
+0:482            'inFM3x4' ( in 3X4 matrix of float)
+0:482            'inFM2x3' ( in 2X3 matrix of float)
+0:483      Sequence
+0:483        move second child to first child ( temp 3X4 matrix of float)
+0:483          'r16' ( temp 3X4 matrix of float)
+0:483          matrix-multiply ( temp 3X4 matrix of float)
+0:483            'inFM2x4' ( in 2X4 matrix of float)
+0:483            'inFM3x2' ( in 3X2 matrix of float)
+0:489  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:489    Function Parameters: 
 0:?     Sequence
-0:490      move second child to first child ( temp 4-component vector of float)
-0:490        color: direct index for structure ( temp 4-component vector of float)
-0:490          'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:490          Constant:
-0:490            0 (const int)
-0:490        Constant:
-0:490          1.000000
-0:490          1.000000
-0:490          1.000000
-0:490          1.000000
-0:491      Branch: Return with expression
-0:491        'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:488  Function Definition: main( ( temp void)
-0:488    Function Parameters: 
+0:491      move second child to first child ( temp 4-component vector of float)
+0:491        color: direct index for structure ( temp 4-component vector of float)
+0:491          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:491          Constant:
+0:491            0 (const int)
+0:491        Constant:
+0:491          1.000000
+0:491          1.000000
+0:491          1.000000
+0:491          1.000000
+0:492      Branch: Return with expression
+0:492        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:489  Function Definition: main( ( temp void)
+0:489    Function Parameters: 
 0:?     Sequence
-0:488      Sequence
-0:488        move second child to first child ( temp 4-component vector of float)
+0:489      Sequence
+0:489        move second child to first child ( temp 4-component vector of float)
 0:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
-0:488          color: direct index for structure ( temp 4-component vector of float)
-0:488            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
-0:488            Constant:
-0:488              0 (const int)
+0:489          color: direct index for structure ( temp 4-component vector of float)
+0:489            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:489            Constant:
+0:489              0 (const int)
 0:?   Linker Objects
 0:?     'gs_ua' ( shared uint)
 0:?     'gs_ub' ( shared uint)
@@ -5633,13 +5645,13 @@ gl_FragCoord origin is upper left
 
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 1832
+// Id's are bound by 1836
 
                               Capability Shader
                               Capability DerivativeControl
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 1813
+                              EntryPoint Fragment 4  "main" 1817
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -5739,422 +5751,423 @@ gl_FragCoord origin is upper left
                               Name 213  "r021"
                               Name 216  "r022"
                               Name 219  "r023"
-                              Name 222  "r027"
-                              Name 225  "r028"
-                              Name 228  "r029"
-                              Name 231  "r030"
-                              Name 234  "r031"
-                              Name 237  "r033"
-                              Name 241  "r034"
-                              Name 244  "r036"
-                              Name 247  "r037"
-                              Name 250  "r038"
-                              Name 253  "r039"
-                              Name 257  "r039a"
-                              Name 262  "r040"
-                              Name 265  "r041"
-                              Name 270  "r042"
-                              Name 273  "r043"
-                              Name 277  "r044"
-                              Name 281  "r045"
-                              Name 285  "r046"
-                              Name 288  "r047"
-                              Name 292  "r048"
-                              Name 296  "r049"
-                              Name 299  "r050"
-                              Name 302  "r051"
-                              Name 305  "r052"
-                              Name 308  "r053"
-                              Name 315  "r055"
-                              Name 318  "r056"
-                              Name 323  "r057"
-                              Name 326  "r058"
-                              Name 330  "r059"
-                              Name 333  "r060"
-                              Name 336  "r061"
-                              Name 343  "r000"
-                              Name 349  "r001"
-                              Name 352  "r002"
-                              Name 355  "r003"
-                              Name 359  "r004"
-                              Name 364  "r005"
-                              Name 367  "r006"
-                              Name 370  "r007"
-                              Name 373  "r009"
-                              Name 376  "r010"
-                              Name 380  "r011"
-                              Name 383  "r012"
-                              Name 402  "r013"
-                              Name 405  "r015"
-                              Name 408  "r016"
-                              Name 412  "r017"
-                              Name 415  "r018"
-                              Name 418  "r019"
-                              Name 421  "r020"
-                              Name 424  "r021"
-                              Name 427  "r022"
-                              Name 430  "r023"
-                              Name 433  "r026"
-                              Name 437  "r027"
-                              Name 441  "r028"
-                              Name 444  "r029"
-                              Name 447  "r030"
-                              Name 452  "r031"
-                              Name 457  "r032"
-                              Name 459  "r033"
-                              Name 462  "r035"
-                              Name 466  "r036"
-                              Name 469  "r038"
-                              Name 473  "r039"
-                              Name 476  "r040"
-                              Name 479  "r041"
-                              Name 483  "r039a"
-                              Name 488  "r042"
-                              Name 491  "r043"
-                              Name 494  "r044"
-                              Name 498  "r045"
-                              Name 501  "r046"
-                              Name 505  "r047"
-                              Name 509  "r048"
-                              Name 512  "r049"
-                              Name 516  "r050"
-                              Name 519  "r051"
-                              Name 523  "r052"
-                              Name 527  "r053"
-                              Name 532  "r054"
-                              Name 537  "r055"
-                              Name 540  "r056"
-                              Name 543  "r057"
-                              Name 548  "r058"
-                              Name 551  "r059"
-                              Name 558  "r060"
-                              Name 561  "r061"
-                              Name 566  "r062"
-                              Name 569  "r063"
-                              Name 573  "r064"
-                              Name 576  "r065"
-                              Name 579  "r066"
-                              Name 585  "r000"
-                              Name 591  "r001"
-                              Name 594  "r002"
-                              Name 597  "r003"
-                              Name 601  "r004"
-                              Name 606  "r005"
-                              Name 609  "r006"
-                              Name 612  "r007"
-                              Name 615  "r009"
-                              Name 618  "r010"
-                              Name 622  "r011"
-                              Name 625  "r012"
-                              Name 643  "r013"
-                              Name 646  "r014"
-                              Name 649  "r015"
-                              Name 654  "r016"
-                              Name 658  "r017"
-                              Name 661  "r018"
-                              Name 664  "r019"
-                              Name 667  "r020"
-                              Name 670  "r021"
-                              Name 673  "r022"
-                              Name 676  "r023"
-                              Name 679  "r024"
-                              Name 683  "r025"
-                              Name 687  "r029"
-                              Name 690  "r030"
-                              Name 693  "r031"
-                              Name 698  "r032"
-                              Name 702  "r033"
-                              Name 704  "r034"
-                              Name 707  "r036"
-                              Name 711  "r037"
-                              Name 714  "r039"
-                              Name 718  "r040"
-                              Name 721  "r041"
-                              Name 724  "r042"
-                              Name 728  "r039a"
-                              Name 733  "r039b"
-                              Name 739  "r043"
-                              Name 742  "r044"
-                              Name 745  "r045"
-                              Name 749  "r046"
-                              Name 752  "r047"
-                              Name 756  "r048"
-                              Name 760  "r049"
-                              Name 763  "r050"
-                              Name 767  "r051"
-                              Name 770  "r052"
-                              Name 774  "r053"
-                              Name 778  "r054"
-                              Name 782  "r055"
-                              Name 785  "r056"
-                              Name 788  "r057"
-                              Name 791  "r058"
-                              Name 796  "r059"
-                              Name 799  "r060"
-                              Name 806  "r061"
-                              Name 809  "r062"
-                              Name 814  "r063"
-                              Name 817  "r064"
-                              Name 821  "r065"
-                              Name 824  "r066"
-                              Name 827  "r067"
-                              Name 834  "r000"
-                              Name 840  "r001"
-                              Name 843  "r002"
-                              Name 846  "r003"
-                              Name 850  "r004"
-                              Name 855  "r005"
-                              Name 858  "r006"
-                              Name 861  "r007"
-                              Name 864  "r009"
-                              Name 867  "r010"
-                              Name 871  "r011"
-                              Name 874  "r012"
-                              Name 892  "r013"
-                              Name 895  "r014"
-                              Name 898  "r015"
-                              Name 901  "r016"
-                              Name 904  "r017"
-                              Name 907  "r018"
-                              Name 910  "r019"
-                              Name 913  "r020"
-                              Name 916  "r021"
-                              Name 919  "r022"
-                              Name 922  "r023"
-                              Name 926  "r024"
-                              Name 930  "r025"
-                              Name 941  "r029"
-                              Name 944  "r030"
-                              Name 947  "r031"
-                              Name 952  "r032"
-                              Name 957  "r033"
-                              Name 959  "r034"
-                              Name 962  "r036"
-                              Name 966  "r037"
-                              Name 969  "r039"
-                              Name 973  "r040"
-                              Name 976  "r041"
-                              Name 979  "r042"
-                              Name 983  "r039a"
-                              Name 988  "r043"
-                              Name 991  "r044"
-                              Name 994  "r045"
-                              Name 998  "r046"
-                              Name 1001  "r047"
-                              Name 1005  "r048"
-                              Name 1009  "r049"
-                              Name 1012  "r050"
-                              Name 1016  "r051"
-                              Name 1019  "r052"
-                              Name 1023  "r053"
-                              Name 1027  "r054"
-                              Name 1031  "r055"
-                              Name 1034  "r056"
-                              Name 1037  "r057"
-                              Name 1040  "r058"
-                              Name 1045  "r059"
-                              Name 1048  "r060"
-                              Name 1055  "r061"
-                              Name 1058  "r062"
-                              Name 1063  "r063"
-                              Name 1066  "r064"
-                              Name 1070  "r065"
-                              Name 1073  "r066"
-                              Name 1076  "r067"
-                              Name 1083  "r000"
-                              Name 1088  "r001"
-                              Name 1093  "r003"
-                              Name 1097  "r004"
-                              Name 1100  "r005"
-                              Name 1103  "r006"
-                              Name 1107  "r007"
-                              Name 1117  "r008"
-                              Name 1122  "r009"
-                              Name 1125  "r010"
-                              Name 1128  "r011"
-                              Name 1131  "r012"
-                              Name 1134  "r013"
-                              Name 1137  "r014"
-                              Name 1140  "r015"
-                              Name 1143  "r016"
-                              Name 1146  "r017"
-                              Name 1149  "r018"
-                              Name 1152  "r019"
-                              Name 1155  "R020"
-                              Name 1158  "r021"
-                              Name 1161  "r022"
-                              Name 1171  "r023"
-                              Name 1174  "r025"
-                              Name 1177  "r026"
-                              Name 1181  "r026a"
-                              Name 1186  "r027"
-                              Name 1189  "r028"
-                              Name 1193  "r029"
-                              Name 1196  "r030"
-                              Name 1200  "r031"
-                              Name 1204  "r032"
-                              Name 1208  "r033"
-                              Name 1211  "r034"
-                              Name 1214  "r035"
-                              Name 1217  "r036"
-                              Name 1222  "r037"
-                              Name 1225  "r038"
-                              Name 1232  "r039"
-                              Name 1235  "r049"
-                              Name 1240  "r041"
-                              Name 1243  "r042"
-                              Name 1247  "r043"
-                              Name 1250  "r044"
-                              Name 1255  "r046"
-                              Name 1262  "r000"
-                              Name 1267  "r001"
-                              Name 1272  "r003"
-                              Name 1276  "r004"
-                              Name 1279  "r005"
-                              Name 1282  "r006"
-                              Name 1286  "r007"
-                              Name 1296  "r008"
-                              Name 1301  "r009"
-                              Name 1304  "r010"
-                              Name 1307  "r011"
-                              Name 1310  "r012"
-                              Name 1313  "r013"
-                              Name 1316  "r014"
-                              Name 1319  "r015"
-                              Name 1322  "r016"
-                              Name 1325  "r017"
-                              Name 1328  "r018"
-                              Name 1331  "r019"
-                              Name 1334  "R020"
-                              Name 1337  "r021"
-                              Name 1340  "r022"
-                              Name 1353  "r023"
-                              Name 1356  "r025"
-                              Name 1359  "r026"
-                              Name 1363  "r026a"
-                              Name 1368  "r027"
-                              Name 1371  "r028"
-                              Name 1375  "r029"
-                              Name 1378  "r030"
-                              Name 1382  "r031"
-                              Name 1386  "r032"
-                              Name 1390  "r033"
-                              Name 1393  "r034"
-                              Name 1396  "r035"
-                              Name 1399  "r036"
-                              Name 1404  "r037"
-                              Name 1407  "r038"
-                              Name 1414  "r039"
-                              Name 1417  "r049"
-                              Name 1422  "r041"
-                              Name 1425  "r042"
-                              Name 1429  "r043"
-                              Name 1432  "r044"
-                              Name 1437  "r046"
-                              Name 1444  "r000"
-                              Name 1449  "r001"
-                              Name 1454  "r003"
-                              Name 1458  "r004"
-                              Name 1461  "r005"
-                              Name 1464  "r006"
-                              Name 1468  "r007"
-                              Name 1478  "r008"
-                              Name 1483  "r009"
-                              Name 1486  "r010"
-                              Name 1489  "r011"
-                              Name 1492  "r012"
-                              Name 1495  "r013"
-                              Name 1498  "r014"
-                              Name 1501  "r015"
-                              Name 1504  "r016"
-                              Name 1507  "r017"
-                              Name 1510  "r018"
-                              Name 1513  "r019"
-                              Name 1516  "R020"
-                              Name 1519  "r021"
-                              Name 1522  "r022"
-                              Name 1538  "r023"
-                              Name 1541  "r025"
-                              Name 1544  "r026"
-                              Name 1548  "r026a"
-                              Name 1553  "r027"
-                              Name 1556  "r028"
-                              Name 1560  "r029"
-                              Name 1563  "r030"
-                              Name 1567  "r031"
-                              Name 1571  "r032"
-                              Name 1575  "r033"
-                              Name 1578  "r034"
-                              Name 1581  "r035"
-                              Name 1584  "r036"
-                              Name 1589  "r037"
-                              Name 1592  "r038"
-                              Name 1599  "r039"
-                              Name 1602  "r049"
-                              Name 1607  "r041"
-                              Name 1610  "r042"
-                              Name 1614  "r043"
-                              Name 1617  "r044"
-                              Name 1622  "r046"
-                              Name 1629  "r0"
-                              Name 1633  "r1"
-                              Name 1637  "r2"
-                              Name 1641  "r3"
-                              Name 1645  "r4"
-                              Name 1649  "r5"
-                              Name 1653  "r6"
-                              Name 1657  "r7"
-                              Name 1661  "r8"
-                              Name 1665  "r0"
-                              Name 1669  "r1"
-                              Name 1673  "r2"
-                              Name 1677  "r3"
-                              Name 1681  "r4"
-                              Name 1685  "r5"
-                              Name 1689  "r6"
-                              Name 1693  "r7"
-                              Name 1697  "r8"
-                              Name 1701  "r0"
-                              Name 1705  "r1"
-                              Name 1709  "r2"
-                              Name 1713  "r3"
-                              Name 1717  "r4"
-                              Name 1721  "r5"
-                              Name 1725  "r6"
-                              Name 1729  "r7"
-                              Name 1733  "r8"
-                              Name 1737  "r00"
-                              Name 1741  "r01"
-                              Name 1745  "r02"
-                              Name 1749  "r03"
-                              Name 1753  "r04"
-                              Name 1757  "r05"
-                              Name 1761  "r06"
-                              Name 1765  "r07"
-                              Name 1769  "r08"
-                              Name 1773  "r09"
-                              Name 1777  "r10"
-                              Name 1781  "r11"
-                              Name 1785  "r12"
-                              Name 1789  "r13"
-                              Name 1793  "r14"
-                              Name 1797  "r15"
-                              Name 1801  "r16"
-                              Name 1806  "ps_output"
-                              Name 1813  "@entryPointOutput.color"
-                              Name 1817  "gs_ua"
-                              Name 1818  "gs_ub"
-                              Name 1819  "gs_uc"
-                              Name 1821  "gs_ua2"
-                              Name 1822  "gs_ub2"
-                              Name 1823  "gs_uc2"
-                              Name 1825  "gs_ua3"
-                              Name 1826  "gs_ub3"
-                              Name 1827  "gs_uc3"
-                              Name 1829  "gs_ua4"
-                              Name 1830  "gs_ub4"
-                              Name 1831  "gs_uc4"
-                              Decorate 1813(@entryPointOutput.color) Location 0
+                              Name 222  "r024"
+                              Name 226  "r027"
+                              Name 229  "r028"
+                              Name 232  "r029"
+                              Name 235  "r030"
+                              Name 238  "r031"
+                              Name 241  "r033"
+                              Name 245  "r034"
+                              Name 248  "r036"
+                              Name 251  "r037"
+                              Name 254  "r038"
+                              Name 257  "r039"
+                              Name 261  "r039a"
+                              Name 266  "r040"
+                              Name 269  "r041"
+                              Name 274  "r042"
+                              Name 277  "r043"
+                              Name 281  "r044"
+                              Name 285  "r045"
+                              Name 289  "r046"
+                              Name 292  "r047"
+                              Name 296  "r048"
+                              Name 300  "r049"
+                              Name 303  "r050"
+                              Name 306  "r051"
+                              Name 309  "r052"
+                              Name 312  "r053"
+                              Name 319  "r055"
+                              Name 322  "r056"
+                              Name 327  "r057"
+                              Name 330  "r058"
+                              Name 334  "r059"
+                              Name 337  "r060"
+                              Name 340  "r061"
+                              Name 347  "r000"
+                              Name 353  "r001"
+                              Name 356  "r002"
+                              Name 359  "r003"
+                              Name 363  "r004"
+                              Name 368  "r005"
+                              Name 371  "r006"
+                              Name 374  "r007"
+                              Name 377  "r009"
+                              Name 380  "r010"
+                              Name 384  "r011"
+                              Name 387  "r012"
+                              Name 406  "r013"
+                              Name 409  "r015"
+                              Name 412  "r016"
+                              Name 416  "r017"
+                              Name 419  "r018"
+                              Name 422  "r019"
+                              Name 425  "r020"
+                              Name 428  "r021"
+                              Name 431  "r022"
+                              Name 434  "r023"
+                              Name 437  "r026"
+                              Name 441  "r027"
+                              Name 445  "r028"
+                              Name 448  "r029"
+                              Name 451  "r030"
+                              Name 456  "r031"
+                              Name 461  "r032"
+                              Name 463  "r033"
+                              Name 466  "r035"
+                              Name 470  "r036"
+                              Name 473  "r038"
+                              Name 477  "r039"
+                              Name 480  "r040"
+                              Name 483  "r041"
+                              Name 487  "r039a"
+                              Name 492  "r042"
+                              Name 495  "r043"
+                              Name 498  "r044"
+                              Name 502  "r045"
+                              Name 505  "r046"
+                              Name 509  "r047"
+                              Name 513  "r048"
+                              Name 516  "r049"
+                              Name 520  "r050"
+                              Name 523  "r051"
+                              Name 527  "r052"
+                              Name 531  "r053"
+                              Name 536  "r054"
+                              Name 541  "r055"
+                              Name 544  "r056"
+                              Name 547  "r057"
+                              Name 552  "r058"
+                              Name 555  "r059"
+                              Name 562  "r060"
+                              Name 565  "r061"
+                              Name 570  "r062"
+                              Name 573  "r063"
+                              Name 577  "r064"
+                              Name 580  "r065"
+                              Name 583  "r066"
+                              Name 589  "r000"
+                              Name 595  "r001"
+                              Name 598  "r002"
+                              Name 601  "r003"
+                              Name 605  "r004"
+                              Name 610  "r005"
+                              Name 613  "r006"
+                              Name 616  "r007"
+                              Name 619  "r009"
+                              Name 622  "r010"
+                              Name 626  "r011"
+                              Name 629  "r012"
+                              Name 647  "r013"
+                              Name 650  "r014"
+                              Name 653  "r015"
+                              Name 658  "r016"
+                              Name 662  "r017"
+                              Name 665  "r018"
+                              Name 668  "r019"
+                              Name 671  "r020"
+                              Name 674  "r021"
+                              Name 677  "r022"
+                              Name 680  "r023"
+                              Name 683  "r024"
+                              Name 687  "r025"
+                              Name 691  "r029"
+                              Name 694  "r030"
+                              Name 697  "r031"
+                              Name 702  "r032"
+                              Name 706  "r033"
+                              Name 708  "r034"
+                              Name 711  "r036"
+                              Name 715  "r037"
+                              Name 718  "r039"
+                              Name 722  "r040"
+                              Name 725  "r041"
+                              Name 728  "r042"
+                              Name 732  "r039a"
+                              Name 737  "r039b"
+                              Name 743  "r043"
+                              Name 746  "r044"
+                              Name 749  "r045"
+                              Name 753  "r046"
+                              Name 756  "r047"
+                              Name 760  "r048"
+                              Name 764  "r049"
+                              Name 767  "r050"
+                              Name 771  "r051"
+                              Name 774  "r052"
+                              Name 778  "r053"
+                              Name 782  "r054"
+                              Name 786  "r055"
+                              Name 789  "r056"
+                              Name 792  "r057"
+                              Name 795  "r058"
+                              Name 800  "r059"
+                              Name 803  "r060"
+                              Name 810  "r061"
+                              Name 813  "r062"
+                              Name 818  "r063"
+                              Name 821  "r064"
+                              Name 825  "r065"
+                              Name 828  "r066"
+                              Name 831  "r067"
+                              Name 838  "r000"
+                              Name 844  "r001"
+                              Name 847  "r002"
+                              Name 850  "r003"
+                              Name 854  "r004"
+                              Name 859  "r005"
+                              Name 862  "r006"
+                              Name 865  "r007"
+                              Name 868  "r009"
+                              Name 871  "r010"
+                              Name 875  "r011"
+                              Name 878  "r012"
+                              Name 896  "r013"
+                              Name 899  "r014"
+                              Name 902  "r015"
+                              Name 905  "r016"
+                              Name 908  "r017"
+                              Name 911  "r018"
+                              Name 914  "r019"
+                              Name 917  "r020"
+                              Name 920  "r021"
+                              Name 923  "r022"
+                              Name 926  "r023"
+                              Name 930  "r024"
+                              Name 934  "r025"
+                              Name 945  "r029"
+                              Name 948  "r030"
+                              Name 951  "r031"
+                              Name 956  "r032"
+                              Name 961  "r033"
+                              Name 963  "r034"
+                              Name 966  "r036"
+                              Name 970  "r037"
+                              Name 973  "r039"
+                              Name 977  "r040"
+                              Name 980  "r041"
+                              Name 983  "r042"
+                              Name 987  "r039a"
+                              Name 992  "r043"
+                              Name 995  "r044"
+                              Name 998  "r045"
+                              Name 1002  "r046"
+                              Name 1005  "r047"
+                              Name 1009  "r048"
+                              Name 1013  "r049"
+                              Name 1016  "r050"
+                              Name 1020  "r051"
+                              Name 1023  "r052"
+                              Name 1027  "r053"
+                              Name 1031  "r054"
+                              Name 1035  "r055"
+                              Name 1038  "r056"
+                              Name 1041  "r057"
+                              Name 1044  "r058"
+                              Name 1049  "r059"
+                              Name 1052  "r060"
+                              Name 1059  "r061"
+                              Name 1062  "r062"
+                              Name 1067  "r063"
+                              Name 1070  "r064"
+                              Name 1074  "r065"
+                              Name 1077  "r066"
+                              Name 1080  "r067"
+                              Name 1087  "r000"
+                              Name 1092  "r001"
+                              Name 1097  "r003"
+                              Name 1101  "r004"
+                              Name 1104  "r005"
+                              Name 1107  "r006"
+                              Name 1111  "r007"
+                              Name 1121  "r008"
+                              Name 1126  "r009"
+                              Name 1129  "r010"
+                              Name 1132  "r011"
+                              Name 1135  "r012"
+                              Name 1138  "r013"
+                              Name 1141  "r014"
+                              Name 1144  "r015"
+                              Name 1147  "r016"
+                              Name 1150  "r017"
+                              Name 1153  "r018"
+                              Name 1156  "r019"
+                              Name 1159  "R020"
+                              Name 1162  "r021"
+                              Name 1165  "r022"
+                              Name 1175  "r023"
+                              Name 1178  "r025"
+                              Name 1181  "r026"
+                              Name 1185  "r026a"
+                              Name 1190  "r027"
+                              Name 1193  "r028"
+                              Name 1197  "r029"
+                              Name 1200  "r030"
+                              Name 1204  "r031"
+                              Name 1208  "r032"
+                              Name 1212  "r033"
+                              Name 1215  "r034"
+                              Name 1218  "r035"
+                              Name 1221  "r036"
+                              Name 1226  "r037"
+                              Name 1229  "r038"
+                              Name 1236  "r039"
+                              Name 1239  "r049"
+                              Name 1244  "r041"
+                              Name 1247  "r042"
+                              Name 1251  "r043"
+                              Name 1254  "r044"
+                              Name 1259  "r046"
+                              Name 1266  "r000"
+                              Name 1271  "r001"
+                              Name 1276  "r003"
+                              Name 1280  "r004"
+                              Name 1283  "r005"
+                              Name 1286  "r006"
+                              Name 1290  "r007"
+                              Name 1300  "r008"
+                              Name 1305  "r009"
+                              Name 1308  "r010"
+                              Name 1311  "r011"
+                              Name 1314  "r012"
+                              Name 1317  "r013"
+                              Name 1320  "r014"
+                              Name 1323  "r015"
+                              Name 1326  "r016"
+                              Name 1329  "r017"
+                              Name 1332  "r018"
+                              Name 1335  "r019"
+                              Name 1338  "R020"
+                              Name 1341  "r021"
+                              Name 1344  "r022"
+                              Name 1357  "r023"
+                              Name 1360  "r025"
+                              Name 1363  "r026"
+                              Name 1367  "r026a"
+                              Name 1372  "r027"
+                              Name 1375  "r028"
+                              Name 1379  "r029"
+                              Name 1382  "r030"
+                              Name 1386  "r031"
+                              Name 1390  "r032"
+                              Name 1394  "r033"
+                              Name 1397  "r034"
+                              Name 1400  "r035"
+                              Name 1403  "r036"
+                              Name 1408  "r037"
+                              Name 1411  "r038"
+                              Name 1418  "r039"
+                              Name 1421  "r049"
+                              Name 1426  "r041"
+                              Name 1429  "r042"
+                              Name 1433  "r043"
+                              Name 1436  "r044"
+                              Name 1441  "r046"
+                              Name 1448  "r000"
+                              Name 1453  "r001"
+                              Name 1458  "r003"
+                              Name 1462  "r004"
+                              Name 1465  "r005"
+                              Name 1468  "r006"
+                              Name 1472  "r007"
+                              Name 1482  "r008"
+                              Name 1487  "r009"
+                              Name 1490  "r010"
+                              Name 1493  "r011"
+                              Name 1496  "r012"
+                              Name 1499  "r013"
+                              Name 1502  "r014"
+                              Name 1505  "r015"
+                              Name 1508  "r016"
+                              Name 1511  "r017"
+                              Name 1514  "r018"
+                              Name 1517  "r019"
+                              Name 1520  "R020"
+                              Name 1523  "r021"
+                              Name 1526  "r022"
+                              Name 1542  "r023"
+                              Name 1545  "r025"
+                              Name 1548  "r026"
+                              Name 1552  "r026a"
+                              Name 1557  "r027"
+                              Name 1560  "r028"
+                              Name 1564  "r029"
+                              Name 1567  "r030"
+                              Name 1571  "r031"
+                              Name 1575  "r032"
+                              Name 1579  "r033"
+                              Name 1582  "r034"
+                              Name 1585  "r035"
+                              Name 1588  "r036"
+                              Name 1593  "r037"
+                              Name 1596  "r038"
+                              Name 1603  "r039"
+                              Name 1606  "r049"
+                              Name 1611  "r041"
+                              Name 1614  "r042"
+                              Name 1618  "r043"
+                              Name 1621  "r044"
+                              Name 1626  "r046"
+                              Name 1633  "r0"
+                              Name 1637  "r1"
+                              Name 1641  "r2"
+                              Name 1645  "r3"
+                              Name 1649  "r4"
+                              Name 1653  "r5"
+                              Name 1657  "r6"
+                              Name 1661  "r7"
+                              Name 1665  "r8"
+                              Name 1669  "r0"
+                              Name 1673  "r1"
+                              Name 1677  "r2"
+                              Name 1681  "r3"
+                              Name 1685  "r4"
+                              Name 1689  "r5"
+                              Name 1693  "r6"
+                              Name 1697  "r7"
+                              Name 1701  "r8"
+                              Name 1705  "r0"
+                              Name 1709  "r1"
+                              Name 1713  "r2"
+                              Name 1717  "r3"
+                              Name 1721  "r4"
+                              Name 1725  "r5"
+                              Name 1729  "r6"
+                              Name 1733  "r7"
+                              Name 1737  "r8"
+                              Name 1741  "r00"
+                              Name 1745  "r01"
+                              Name 1749  "r02"
+                              Name 1753  "r03"
+                              Name 1757  "r04"
+                              Name 1761  "r05"
+                              Name 1765  "r06"
+                              Name 1769  "r07"
+                              Name 1773  "r08"
+                              Name 1777  "r09"
+                              Name 1781  "r10"
+                              Name 1785  "r11"
+                              Name 1789  "r12"
+                              Name 1793  "r13"
+                              Name 1797  "r14"
+                              Name 1801  "r15"
+                              Name 1805  "r16"
+                              Name 1810  "ps_output"
+                              Name 1817  "@entryPointOutput.color"
+                              Name 1821  "gs_ua"
+                              Name 1822  "gs_ub"
+                              Name 1823  "gs_uc"
+                              Name 1825  "gs_ua2"
+                              Name 1826  "gs_ub2"
+                              Name 1827  "gs_uc2"
+                              Name 1829  "gs_ua3"
+                              Name 1830  "gs_ub3"
+                              Name 1831  "gs_uc3"
+                              Name 1833  "gs_ua4"
+                              Name 1834  "gs_ub4"
+                              Name 1835  "gs_uc4"
+                              Decorate 1817(@entryPointOutput.color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -6208,91 +6221,91 @@ gl_FragCoord origin is upper left
              141:    6(float) Constant 0
              187:     10(int) Constant 0
              199:     10(int) Constant 7
-             268:    6(float) Constant 1050288283
-             289:    6(float) Constant 1065353216
-             293:     10(int) Constant 2
-             345:             TypeVector 137(bool) 2
-             346:   26(fvec2) ConstantComposite 141 141
-             362:             TypeVector 10(int) 2
-             363:             TypePointer Function 362(ivec2)
-             395:      8(int) Constant 0
-             396:   28(ivec2) ConstantComposite 395 395
-             409:     10(int) Constant 3
-             410:  362(ivec2) ConstantComposite 199 409
-             453:      8(int) Constant 7
-             454:      8(int) Constant 8
-             455:   28(ivec2) ConstantComposite 453 454
-             472:             TypePointer Function 345(bvec2)
-             530:    6(float) Constant 1073741824
-             533:      8(int) Constant 1
-             534:      8(int) Constant 2
-             535:   28(ivec2) ConstantComposite 533 534
-             582:   26(fvec2) ConstantComposite 289 530
-             587:             TypeVector 137(bool) 3
-             588:   38(fvec3) ConstantComposite 141 141 141
-             604:             TypeVector 10(int) 3
-             605:             TypePointer Function 604(ivec3)
-             637:   40(ivec3) ConstantComposite 395 395 395
-             650:      8(int) Constant 3
-             651:      8(int) Constant 5
-             652:   40(ivec3) ConstantComposite 453 650 651
-             699:      8(int) Constant 4
-             700:   40(ivec3) ConstantComposite 534 650 699
-             717:             TypePointer Function 587(bvec3)
-             736:    6(float) Constant 1050253722
-             783:   40(ivec3) ConstantComposite 533 534 650
-             830:    6(float) Constant 1077936128
-             831:   38(fvec3) ConstantComposite 289 530 830
-             836:             TypeVector 137(bool) 4
-             837:   50(fvec4) ConstantComposite 141 141 141 141
-             853:             TypeVector 10(int) 4
-             854:             TypePointer Function 853(ivec4)
-             886:   52(ivec4) ConstantComposite 395 395 395 395
-             899:   52(ivec4) ConstantComposite 453 650 651 534
-             953:      8(int) Constant 9
-             954:      8(int) Constant 10
-             955:   52(ivec4) ConstantComposite 453 454 953 954
-             972:             TypePointer Function 836(bvec4)
-            1032:   52(ivec4) ConstantComposite 533 534 650 699
-            1079:    6(float) Constant 1082130432
-            1080:   50(fvec4) ConstantComposite 289 530 830 1079
-            1085:             TypeMatrix 345(bvec2) 2
-            1111:          62 ConstantComposite 346 346
-            1258:   26(fvec2) ConstantComposite 530 530
-            1259:          62 ConstantComposite 1258 1258
-            1264:             TypeMatrix 587(bvec3) 3
-            1290:          70 ConstantComposite 588 588 588
-            1440:   38(fvec3) ConstantComposite 830 830 830
-            1441:          70 ConstantComposite 1440 1440 1440
-            1446:             TypeMatrix 836(bvec4) 4
-            1472:          78 ConstantComposite 837 837 837 837
-            1625:   50(fvec4) ConstantComposite 1079 1079 1079 1079
-            1626:          78 ConstantComposite 1625 1625 1625 1625
-            1805:             TypePointer Function 133(PS_OUTPUT)
-            1807:   50(fvec4) ConstantComposite 289 289 289 289
-            1812:             TypePointer Output 50(fvec4)
-1813(@entryPointOutput.color):   1812(ptr) Variable Output
-            1816:             TypePointer Workgroup 8(int)
-     1817(gs_ua):   1816(ptr) Variable Workgroup
-     1818(gs_ub):   1816(ptr) Variable Workgroup
-     1819(gs_uc):   1816(ptr) Variable Workgroup
-            1820:             TypePointer Workgroup 28(ivec2)
-    1821(gs_ua2):   1820(ptr) Variable Workgroup
-    1822(gs_ub2):   1820(ptr) Variable Workgroup
-    1823(gs_uc2):   1820(ptr) Variable Workgroup
-            1824:             TypePointer Workgroup 40(ivec3)
-    1825(gs_ua3):   1824(ptr) Variable Workgroup
-    1826(gs_ub3):   1824(ptr) Variable Workgroup
-    1827(gs_uc3):   1824(ptr) Variable Workgroup
-            1828:             TypePointer Workgroup 52(ivec4)
-    1829(gs_ua4):   1828(ptr) Variable Workgroup
-    1830(gs_ub4):   1828(ptr) Variable Workgroup
-    1831(gs_uc4):   1828(ptr) Variable Workgroup
+             272:    6(float) Constant 1050288283
+             293:    6(float) Constant 1065353216
+             297:     10(int) Constant 2
+             349:             TypeVector 137(bool) 2
+             350:   26(fvec2) ConstantComposite 141 141
+             366:             TypeVector 10(int) 2
+             367:             TypePointer Function 366(ivec2)
+             399:      8(int) Constant 0
+             400:   28(ivec2) ConstantComposite 399 399
+             413:     10(int) Constant 3
+             414:  366(ivec2) ConstantComposite 199 413
+             457:      8(int) Constant 7
+             458:      8(int) Constant 8
+             459:   28(ivec2) ConstantComposite 457 458
+             476:             TypePointer Function 349(bvec2)
+             534:    6(float) Constant 1073741824
+             537:      8(int) Constant 1
+             538:      8(int) Constant 2
+             539:   28(ivec2) ConstantComposite 537 538
+             586:   26(fvec2) ConstantComposite 293 534
+             591:             TypeVector 137(bool) 3
+             592:   38(fvec3) ConstantComposite 141 141 141
+             608:             TypeVector 10(int) 3
+             609:             TypePointer Function 608(ivec3)
+             641:   40(ivec3) ConstantComposite 399 399 399
+             654:      8(int) Constant 3
+             655:      8(int) Constant 5
+             656:   40(ivec3) ConstantComposite 457 654 655
+             703:      8(int) Constant 4
+             704:   40(ivec3) ConstantComposite 538 654 703
+             721:             TypePointer Function 591(bvec3)
+             740:    6(float) Constant 1050253722
+             787:   40(ivec3) ConstantComposite 537 538 654
+             834:    6(float) Constant 1077936128
+             835:   38(fvec3) ConstantComposite 293 534 834
+             840:             TypeVector 137(bool) 4
+             841:   50(fvec4) ConstantComposite 141 141 141 141
+             857:             TypeVector 10(int) 4
+             858:             TypePointer Function 857(ivec4)
+             890:   52(ivec4) ConstantComposite 399 399 399 399
+             903:   52(ivec4) ConstantComposite 457 654 655 538
+             957:      8(int) Constant 9
+             958:      8(int) Constant 10
+             959:   52(ivec4) ConstantComposite 457 458 957 958
+             976:             TypePointer Function 840(bvec4)
+            1036:   52(ivec4) ConstantComposite 537 538 654 703
+            1083:    6(float) Constant 1082130432
+            1084:   50(fvec4) ConstantComposite 293 534 834 1083
+            1089:             TypeMatrix 349(bvec2) 2
+            1115:          62 ConstantComposite 350 350
+            1262:   26(fvec2) ConstantComposite 534 534
+            1263:          62 ConstantComposite 1262 1262
+            1268:             TypeMatrix 591(bvec3) 3
+            1294:          70 ConstantComposite 592 592 592
+            1444:   38(fvec3) ConstantComposite 834 834 834
+            1445:          70 ConstantComposite 1444 1444 1444
+            1450:             TypeMatrix 840(bvec4) 4
+            1476:          78 ConstantComposite 841 841 841 841
+            1629:   50(fvec4) ConstantComposite 1083 1083 1083 1083
+            1630:          78 ConstantComposite 1629 1629 1629 1629
+            1809:             TypePointer Function 133(PS_OUTPUT)
+            1811:   50(fvec4) ConstantComposite 293 293 293 293
+            1816:             TypePointer Output 50(fvec4)
+1817(@entryPointOutput.color):   1816(ptr) Variable Output
+            1820:             TypePointer Workgroup 8(int)
+     1821(gs_ua):   1820(ptr) Variable Workgroup
+     1822(gs_ub):   1820(ptr) Variable Workgroup
+     1823(gs_uc):   1820(ptr) Variable Workgroup
+            1824:             TypePointer Workgroup 28(ivec2)
+    1825(gs_ua2):   1824(ptr) Variable Workgroup
+    1826(gs_ub2):   1824(ptr) Variable Workgroup
+    1827(gs_uc2):   1824(ptr) Variable Workgroup
+            1828:             TypePointer Workgroup 40(ivec3)
+    1829(gs_ua3):   1828(ptr) Variable Workgroup
+    1830(gs_ub3):   1828(ptr) Variable Workgroup
+    1831(gs_uc3):   1828(ptr) Variable Workgroup
+            1832:             TypePointer Workgroup 52(ivec4)
+    1833(gs_ua4):   1832(ptr) Variable Workgroup
+    1834(gs_ub4):   1832(ptr) Variable Workgroup
+    1835(gs_uc4):   1832(ptr) Variable Workgroup
          4(main):           2 Function None 3
                5:             Label
-            1814:133(PS_OUTPUT) FunctionCall 135(@main()
-            1815:   50(fvec4) CompositeExtract 1814 0
-                              Store 1813(@entryPointOutput.color) 1815
+            1818:133(PS_OUTPUT) FunctionCall 135(@main()
+            1819:   50(fvec4) CompositeExtract 1818 0
+                              Store 1817(@entryPointOutput.color) 1819
                               Return
                               FunctionEnd
 18(PixelShaderFunctionS(f1;f1;f1;u1;i1;):    6(float) Function None 12
@@ -6324,39 +6337,40 @@ gl_FragCoord origin is upper left
        213(r021):      7(ptr) Variable Function
        216(r022):      7(ptr) Variable Function
        219(r023):      7(ptr) Variable Function
-       222(r027):      7(ptr) Variable Function
-       225(r028):      7(ptr) Variable Function
-       228(r029):      9(ptr) Variable Function
-       231(r030):      9(ptr) Variable Function
-       234(r031):      7(ptr) Variable Function
-       237(r033):      7(ptr) Variable Function
-       241(r034):      7(ptr) Variable Function
-       244(r036):      7(ptr) Variable Function
-       247(r037):    138(ptr) Variable Function
-       250(r038):    138(ptr) Variable Function
-       253(r039):      7(ptr) Variable Function
-      257(r039a):      7(ptr) Variable Function
-       262(r040):      7(ptr) Variable Function
-       265(r041):      7(ptr) Variable Function
-       270(r042):      7(ptr) Variable Function
-       273(r043):      7(ptr) Variable Function
-       277(r044):      7(ptr) Variable Function
-       281(r045):      7(ptr) Variable Function
-       285(r046):      7(ptr) Variable Function
-       288(r047):      7(ptr) Variable Function
-       292(r048):      9(ptr) Variable Function
-       296(r049):      7(ptr) Variable Function
-       299(r050):      7(ptr) Variable Function
-       302(r051):      7(ptr) Variable Function
-       305(r052):      7(ptr) Variable Function
-       308(r053):      7(ptr) Variable Function
-       315(r055):      7(ptr) Variable Function
-       318(r056):      7(ptr) Variable Function
-       323(r057):      7(ptr) Variable Function
-       326(r058):      7(ptr) Variable Function
-       330(r059):      7(ptr) Variable Function
-       333(r060):      7(ptr) Variable Function
-       336(r061):      7(ptr) Variable Function
+       222(r024):      7(ptr) Variable Function
+       226(r027):      7(ptr) Variable Function
+       229(r028):      7(ptr) Variable Function
+       232(r029):      9(ptr) Variable Function
+       235(r030):      9(ptr) Variable Function
+       238(r031):      7(ptr) Variable Function
+       241(r033):      7(ptr) Variable Function
+       245(r034):      7(ptr) Variable Function
+       248(r036):      7(ptr) Variable Function
+       251(r037):    138(ptr) Variable Function
+       254(r038):    138(ptr) Variable Function
+       257(r039):      7(ptr) Variable Function
+      261(r039a):      7(ptr) Variable Function
+       266(r040):      7(ptr) Variable Function
+       269(r041):      7(ptr) Variable Function
+       274(r042):      7(ptr) Variable Function
+       277(r043):      7(ptr) Variable Function
+       281(r044):      7(ptr) Variable Function
+       285(r045):      7(ptr) Variable Function
+       289(r046):      7(ptr) Variable Function
+       292(r047):      7(ptr) Variable Function
+       296(r048):      9(ptr) Variable Function
+       300(r049):      7(ptr) Variable Function
+       303(r050):      7(ptr) Variable Function
+       306(r051):      7(ptr) Variable Function
+       309(r052):      7(ptr) Variable Function
+       312(r053):      7(ptr) Variable Function
+       319(r055):      7(ptr) Variable Function
+       322(r056):      7(ptr) Variable Function
+       327(r057):      7(ptr) Variable Function
+       330(r058):      7(ptr) Variable Function
+       334(r059):      7(ptr) Variable Function
+       337(r060):      7(ptr) Variable Function
+       340(r061):      7(ptr) Variable Function
              140:    6(float) Load 13(inF0)
              142:   137(bool) FOrdNotEqual 140 141
              143:   137(bool) All 142
@@ -6442,121 +6456,125 @@ gl_FragCoord origin is upper left
              221:    6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 220
                               Store 219(r023) 221
              223:    6(float) Load 13(inF0)
-             224:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 223
-                              Store 222(r027) 224
-             226:    6(float) Load 13(inF0)
-             227:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 226
-                              Store 225(r028) 227
-             229:     10(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 199
-             230:      8(int) Bitcast 229
-                              Store 228(r029) 230
-             232:     10(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 199
-             233:      8(int) Bitcast 232
-                              Store 231(r030) 233
-             235:    6(float) Load 13(inF0)
-             236:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 235
-                              Store 234(r031) 236
-             238:    6(float) Load 13(inF0)
-             239:    6(float) Load 14(inF1)
-             240:    6(float) FMod 238 239
-                              Store 237(r033) 240
+             224:    6(float) Load 14(inF1)
+             225:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 223 224
+                              Store 222(r024) 225
+             227:    6(float) Load 13(inF0)
+             228:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 227
+                              Store 226(r027) 228
+             230:    6(float) Load 13(inF0)
+             231:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 230
+                              Store 229(r028) 231
+             233:     10(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 199
+             234:      8(int) Bitcast 233
+                              Store 232(r029) 234
+             236:     10(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 199
+             237:      8(int) Bitcast 236
+                              Store 235(r030) 237
+             239:    6(float) Load 13(inF0)
+             240:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 239
+                              Store 238(r031) 240
              242:    6(float) Load 13(inF0)
-             243:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 242
-                              Store 241(r034) 243
-             245:    6(float) Load 13(inF0)
-             246:    6(float) Fwidth 245
-                              Store 244(r036) 246
-             248:    6(float) Load 13(inF0)
-             249:   137(bool) IsInf 248
-                              Store 247(r037) 249
-             251:    6(float) Load 13(inF0)
-             252:   137(bool) IsNan 251
-                              Store 250(r038) 252
-             254:    6(float) Load 13(inF0)
-             255:    6(float) Load 14(inF1)
-             256:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 254 255
-                              Store 253(r039) 256
+             243:    6(float) Load 14(inF1)
+             244:    6(float) FMod 242 243
+                              Store 241(r033) 244
+             246:    6(float) Load 13(inF0)
+             247:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 246
+                              Store 245(r034) 247
+             249:    6(float) Load 13(inF0)
+             250:    6(float) Fwidth 249
+                              Store 248(r036) 250
+             252:    6(float) Load 13(inF0)
+             253:   137(bool) IsInf 252
+                              Store 251(r037) 253
+             255:    6(float) Load 13(inF0)
+             256:   137(bool) IsNan 255
+                              Store 254(r038) 256
              258:    6(float) Load 13(inF0)
              259:    6(float) Load 14(inF1)
-             260:    6(float) Load 15(inF2)
-             261:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 258 259 260
-                              Store 257(r039a) 261
-             263:    6(float) Load 13(inF0)
-             264:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 263
-                              Store 262(r040) 264
-             266:    6(float) Load 13(inF0)
-             267:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 266
-             269:    6(float) FMul 267 268
-                              Store 265(r041) 269
-             271:    6(float) Load 13(inF0)
-             272:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 271
-                              Store 270(r042) 272
-             274:    6(float) Load 13(inF0)
-             275:    6(float) Load 14(inF1)
-             276:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 274 275
-                              Store 273(r043) 276
+             260:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 258 259
+                              Store 257(r039) 260
+             262:    6(float) Load 13(inF0)
+             263:    6(float) Load 14(inF1)
+             264:    6(float) Load 15(inF2)
+             265:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 262 263 264
+                              Store 261(r039a) 265
+             267:    6(float) Load 13(inF0)
+             268:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 267
+                              Store 266(r040) 268
+             270:    6(float) Load 13(inF0)
+             271:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 270
+             273:    6(float) FMul 271 272
+                              Store 269(r041) 273
+             275:    6(float) Load 13(inF0)
+             276:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 275
+                              Store 274(r042) 276
              278:    6(float) Load 13(inF0)
              279:    6(float) Load 14(inF1)
-             280:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 278 279
-                              Store 277(r044) 280
+             280:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 278 279
+                              Store 277(r043) 280
              282:    6(float) Load 13(inF0)
              283:    6(float) Load 14(inF1)
-             284:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 282 283
-                              Store 281(r045) 284
+             284:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 282 283
+                              Store 281(r044) 284
              286:    6(float) Load 13(inF0)
-             287:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 286
-                              Store 285(r046) 287
+             287:    6(float) Load 14(inF1)
+             288:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 286 287
+                              Store 285(r045) 288
              290:    6(float) Load 13(inF0)
-             291:    6(float) FDiv 289 290
-                              Store 288(r047) 291
-             294:     10(int) BitReverse 293
-             295:      8(int) Bitcast 294
-                              Store 292(r048) 295
-             297:    6(float) Load 13(inF0)
-             298:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 297
-                              Store 296(r049) 298
-             300:    6(float) Load 13(inF0)
-             301:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 300
-                              Store 299(r050) 301
-             303:    6(float) Load 13(inF0)
-             304:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 303 141 289
-                              Store 302(r051) 304
-             306:    6(float) Load 13(inF0)
-             307:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 306
-                              Store 305(r052) 307
-             309:    6(float) Load 13(inF0)
-             310:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 309
-                              Store 308(r053) 310
-             311:    6(float) Load 13(inF0)
-             312:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 311
-                              Store 14(inF1) 312
+             291:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 290
+                              Store 289(r046) 291
+             294:    6(float) Load 13(inF0)
+             295:    6(float) FDiv 293 294
+                              Store 292(r047) 295
+             298:     10(int) BitReverse 297
+             299:      8(int) Bitcast 298
+                              Store 296(r048) 299
+             301:    6(float) Load 13(inF0)
+             302:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 301
+                              Store 300(r049) 302
+             304:    6(float) Load 13(inF0)
+             305:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 304
+                              Store 303(r050) 305
+             307:    6(float) Load 13(inF0)
+             308:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 307 141 293
+                              Store 306(r051) 308
+             310:    6(float) Load 13(inF0)
+             311:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 310
+                              Store 309(r052) 311
              313:    6(float) Load 13(inF0)
-             314:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 313
-                              Store 15(inF2) 314
-             316:    6(float) Load 13(inF0)
-             317:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 316
-                              Store 315(r055) 317
-             319:    6(float) Load 13(inF0)
-             320:    6(float) Load 14(inF1)
-             321:    6(float) Load 15(inF2)
-             322:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 319 320 321
-                              Store 318(r056) 322
-             324:    6(float) Load 13(inF0)
-             325:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 324
-                              Store 323(r057) 325
-             327:    6(float) Load 13(inF0)
-             328:    6(float) Load 14(inF1)
-             329:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 327 328
-                              Store 326(r058) 329
+             314:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 313
+                              Store 312(r053) 314
+             315:    6(float) Load 13(inF0)
+             316:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 315
+                              Store 14(inF1) 316
+             317:    6(float) Load 13(inF0)
+             318:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 317
+                              Store 15(inF2) 318
+             320:    6(float) Load 13(inF0)
+             321:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 320
+                              Store 319(r055) 321
+             323:    6(float) Load 13(inF0)
+             324:    6(float) Load 14(inF1)
+             325:    6(float) Load 15(inF2)
+             326:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 323 324 325
+                              Store 322(r056) 326
+             328:    6(float) Load 13(inF0)
+             329:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 328
+                              Store 327(r057) 329
              331:    6(float) Load 13(inF0)
-             332:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 331
-                              Store 330(r059) 332
-             334:    6(float) Load 13(inF0)
-             335:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 334
-                              Store 333(r060) 335
-             337:    6(float) Load 13(inF0)
-             338:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 337
-                              Store 336(r061) 338
+             332:    6(float) Load 14(inF1)
+             333:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 331 332
+                              Store 330(r058) 333
+             335:    6(float) Load 13(inF0)
+             336:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 335
+                              Store 334(r059) 336
+             338:    6(float) Load 13(inF0)
+             339:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 338
+                              Store 337(r060) 339
+             341:    6(float) Load 13(inF0)
+             342:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 341
+                              Store 340(r061) 342
                               ReturnValue 141
                               FunctionEnd
 24(PixelShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 20
@@ -6573,298 +6591,298 @@ gl_FragCoord origin is upper left
         34(inU0):     29(ptr) FunctionParameter
         35(inU1):     29(ptr) FunctionParameter
               37:             Label
-       343(r000):    138(ptr) Variable Function
-       349(r001):     27(ptr) Variable Function
-       352(r002):     27(ptr) Variable Function
-       355(r003):    138(ptr) Variable Function
-       359(r004):     27(ptr) Variable Function
-       364(r005):    363(ptr) Variable Function
-       367(r006):     29(ptr) Variable Function
-       370(r007):     27(ptr) Variable Function
-       373(r009):     27(ptr) Variable Function
-       376(r010):     27(ptr) Variable Function
-       380(r011):     27(ptr) Variable Function
-       383(r012):     27(ptr) Variable Function
-       402(r013):     27(ptr) Variable Function
-       405(r015):     27(ptr) Variable Function
-       408(r016):    363(ptr) Variable Function
-       412(r017):     27(ptr) Variable Function
-       415(r018):     27(ptr) Variable Function
-       418(r019):     27(ptr) Variable Function
-       421(r020):     27(ptr) Variable Function
-       424(r021):     27(ptr) Variable Function
-       427(r022):     27(ptr) Variable Function
-       430(r023):     27(ptr) Variable Function
-       433(r026):      7(ptr) Variable Function
-       437(r027):      7(ptr) Variable Function
-       441(r028):     27(ptr) Variable Function
-       444(r029):     27(ptr) Variable Function
-       447(r030):     27(ptr) Variable Function
-       452(r031):     29(ptr) Variable Function
-       457(r032):     29(ptr) Variable Function
-       459(r033):     27(ptr) Variable Function
-       462(r035):     27(ptr) Variable Function
-       466(r036):     27(ptr) Variable Function
-       469(r038):     27(ptr) Variable Function
-       473(r039):    472(ptr) Variable Function
-       476(r040):    472(ptr) Variable Function
-       479(r041):     27(ptr) Variable Function
-      483(r039a):     27(ptr) Variable Function
-       488(r042):      7(ptr) Variable Function
-       491(r043):     27(ptr) Variable Function
-       494(r044):     27(ptr) Variable Function
-       498(r045):     27(ptr) Variable Function
-       501(r046):     27(ptr) Variable Function
-       505(r047):     27(ptr) Variable Function
-       509(r048):     27(ptr) Variable Function
-       512(r049):     27(ptr) Variable Function
-       516(r050):     27(ptr) Variable Function
-       519(r051):     27(ptr) Variable Function
-       523(r052):     27(ptr) Variable Function
-       527(r053):     27(ptr) Variable Function
-       532(r054):     29(ptr) Variable Function
-       537(r055):     27(ptr) Variable Function
-       540(r056):     27(ptr) Variable Function
-       543(r057):     27(ptr) Variable Function
-       548(r058):     27(ptr) Variable Function
-       551(r059):     27(ptr) Variable Function
-       558(r060):     27(ptr) Variable Function
-       561(r061):     27(ptr) Variable Function
-       566(r062):     27(ptr) Variable Function
-       569(r063):     27(ptr) Variable Function
-       573(r064):     27(ptr) Variable Function
-       576(r065):     27(ptr) Variable Function
-       579(r066):     27(ptr) Variable Function
-             344:   26(fvec2) Load 31(inF0)
-             347:  345(bvec2) FOrdNotEqual 344 346
-             348:   137(bool) All 347
-                              Store 343(r000) 348
-             350:   26(fvec2) Load 31(inF0)
-             351:   26(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 350
-                              Store 349(r001) 351
-             353:   26(fvec2) Load 31(inF0)
-             354:   26(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 353
-                              Store 352(r002) 354
-             356:   26(fvec2) Load 31(inF0)
-             357:  345(bvec2) FOrdNotEqual 356 346
-             358:   137(bool) Any 357
-                              Store 355(r003) 358
+       347(r000):    138(ptr) Variable Function
+       353(r001):     27(ptr) Variable Function
+       356(r002):     27(ptr) Variable Function
+       359(r003):    138(ptr) Variable Function
+       363(r004):     27(ptr) Variable Function
+       368(r005):    367(ptr) Variable Function
+       371(r006):     29(ptr) Variable Function
+       374(r007):     27(ptr) Variable Function
+       377(r009):     27(ptr) Variable Function
+       380(r010):     27(ptr) Variable Function
+       384(r011):     27(ptr) Variable Function
+       387(r012):     27(ptr) Variable Function
+       406(r013):     27(ptr) Variable Function
+       409(r015):     27(ptr) Variable Function
+       412(r016):    367(ptr) Variable Function
+       416(r017):     27(ptr) Variable Function
+       419(r018):     27(ptr) Variable Function
+       422(r019):     27(ptr) Variable Function
+       425(r020):     27(ptr) Variable Function
+       428(r021):     27(ptr) Variable Function
+       431(r022):     27(ptr) Variable Function
+       434(r023):     27(ptr) Variable Function
+       437(r026):      7(ptr) Variable Function
+       441(r027):      7(ptr) Variable Function
+       445(r028):     27(ptr) Variable Function
+       448(r029):     27(ptr) Variable Function
+       451(r030):     27(ptr) Variable Function
+       456(r031):     29(ptr) Variable Function
+       461(r032):     29(ptr) Variable Function
+       463(r033):     27(ptr) Variable Function
+       466(r035):     27(ptr) Variable Function
+       470(r036):     27(ptr) Variable Function
+       473(r038):     27(ptr) Variable Function
+       477(r039):    476(ptr) Variable Function
+       480(r040):    476(ptr) Variable Function
+       483(r041):     27(ptr) Variable Function
+      487(r039a):     27(ptr) Variable Function
+       492(r042):      7(ptr) Variable Function
+       495(r043):     27(ptr) Variable Function
+       498(r044):     27(ptr) Variable Function
+       502(r045):     27(ptr) Variable Function
+       505(r046):     27(ptr) Variable Function
+       509(r047):     27(ptr) Variable Function
+       513(r048):     27(ptr) Variable Function
+       516(r049):     27(ptr) Variable Function
+       520(r050):     27(ptr) Variable Function
+       523(r051):     27(ptr) Variable Function
+       527(r052):     27(ptr) Variable Function
+       531(r053):     27(ptr) Variable Function
+       536(r054):     29(ptr) Variable Function
+       541(r055):     27(ptr) Variable Function
+       544(r056):     27(ptr) Variable Function
+       547(r057):     27(ptr) Variable Function
+       552(r058):     27(ptr) Variable Function
+       555(r059):     27(ptr) Variable Function
+       562(r060):     27(ptr) Variable Function
+       565(r061):     27(ptr) Variable Function
+       570(r062):     27(ptr) Variable Function
+       573(r063):     27(ptr) Variable Function
+       577(r064):     27(ptr) Variable Function
+       580(r065):     27(ptr) Variable Function
+       583(r066):     27(ptr) Variable Function
+             348:   26(fvec2) Load 31(inF0)
+             351:  349(bvec2) FOrdNotEqual 348 350
+             352:   137(bool) All 351
+                              Store 347(r000) 352
+             354:   26(fvec2) Load 31(inF0)
+             355:   26(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 354
+                              Store 353(r001) 355
+             357:   26(fvec2) Load 31(inF0)
+             358:   26(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 357
+                              Store 356(r002) 358
              360:   26(fvec2) Load 31(inF0)
-             361:   26(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 360
-                              Store 359(r004) 361
-             365:   26(fvec2) Load 31(inF0)
-             366:  362(ivec2) Bitcast 365
-                              Store 364(r005) 366
-             368:   26(fvec2) Load 31(inF0)
-             369:   28(ivec2) Bitcast 368
-                              Store 367(r006) 369
-             371:   28(ivec2) Load 34(inU0)
-             372:   26(fvec2) Bitcast 371
-                              Store 370(r007) 372
-             374:   26(fvec2) Load 31(inF0)
-             375:   26(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 374
-                              Store 373(r009) 375
-             377:   26(fvec2) Load 31(inF0)
-             378:   26(fvec2) Load 32(inF1)
-             379:   26(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 377 378
-                              Store 376(r010) 379
+             361:  349(bvec2) FOrdNotEqual 360 350
+             362:   137(bool) Any 361
+                              Store 359(r003) 362
+             364:   26(fvec2) Load 31(inF0)
+             365:   26(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 364
+                              Store 363(r004) 365
+             369:   26(fvec2) Load 31(inF0)
+             370:  366(ivec2) Bitcast 369
+                              Store 368(r005) 370
+             372:   26(fvec2) Load 31(inF0)
+             373:   28(ivec2) Bitcast 372
+                              Store 371(r006) 373
+             375:   28(ivec2) Load 34(inU0)
+             376:   26(fvec2) Bitcast 375
+                              Store 374(r007) 376
+             378:   26(fvec2) Load 31(inF0)
+             379:   26(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 378
+                              Store 377(r009) 379
              381:   26(fvec2) Load 31(inF0)
-             382:   26(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 381
-                              Store 380(r011) 382
-             384:   26(fvec2) Load 31(inF0)
-             385:   26(fvec2) Load 32(inF1)
-             386:   26(fvec2) Load 33(inF2)
-             387:   26(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 384 385 386
-                              Store 383(r012) 387
+             382:   26(fvec2) Load 32(inF1)
+             383:   26(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 381 382
+                              Store 380(r010) 383
+             385:   26(fvec2) Load 31(inF0)
+             386:   26(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 385
+                              Store 384(r011) 386
              388:   26(fvec2) Load 31(inF0)
-             389:  345(bvec2) FOrdLessThan 388 346
-             390:   137(bool) Any 389
-                              SelectionMerge 392 None
-                              BranchConditional 390 391 392
-             391:               Label
+             389:   26(fvec2) Load 32(inF1)
+             390:   26(fvec2) Load 33(inF2)
+             391:   26(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 388 389 390
+                              Store 387(r012) 391
+             392:   26(fvec2) Load 31(inF0)
+             393:  349(bvec2) FOrdLessThan 392 350
+             394:   137(bool) Any 393
+                              SelectionMerge 396 None
+                              BranchConditional 394 395 396
+             395:               Label
                                 Kill
-             392:             Label
-             394:   28(ivec2) Load 34(inU0)
-             397:  345(bvec2) ULessThan 394 396
-             398:   137(bool) Any 397
-                              SelectionMerge 400 None
-                              BranchConditional 398 399 400
-             399:               Label
+             396:             Label
+             398:   28(ivec2) Load 34(inU0)
+             401:  349(bvec2) ULessThan 398 400
+             402:   137(bool) Any 401
+                              SelectionMerge 404 None
+                              BranchConditional 402 403 404
+             403:               Label
                                 Kill
-             400:             Label
-             403:   26(fvec2) Load 31(inF0)
-             404:   26(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 403
-                              Store 402(r013) 404
-             406:   26(fvec2) Load 31(inF0)
-             407:   26(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 406
-                              Store 405(r015) 407
-             411:  362(ivec2) BitCount 410
-                              Store 408(r016) 411
-             413:   26(fvec2) Load 31(inF0)
-             414:   26(fvec2) DPdx 413
-                              Store 412(r017) 414
-             416:   26(fvec2) Load 31(inF0)
-             417:   26(fvec2) DPdxCoarse 416
-                              Store 415(r018) 417
-             419:   26(fvec2) Load 31(inF0)
-             420:   26(fvec2) DPdxFine 419
-                              Store 418(r019) 420
-             422:   26(fvec2) Load 31(inF0)
-             423:   26(fvec2) DPdy 422
-                              Store 421(r020) 423
-             425:   26(fvec2) Load 31(inF0)
-             426:   26(fvec2) DPdyCoarse 425
-                              Store 424(r021) 426
-             428:   26(fvec2) Load 31(inF0)
-             429:   26(fvec2) DPdyFine 428
-                              Store 427(r022) 429
-             431:   26(fvec2) Load 31(inF0)
-             432:   26(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 431
-                              Store 430(r023) 432
-             434:   26(fvec2) Load 31(inF0)
-             435:   26(fvec2) Load 32(inF1)
-             436:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 434 435
-                              Store 433(r026) 436
+             404:             Label
+             407:   26(fvec2) Load 31(inF0)
+             408:   26(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 407
+                              Store 406(r013) 408
+             410:   26(fvec2) Load 31(inF0)
+             411:   26(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 410
+                              Store 409(r015) 411
+             415:  366(ivec2) BitCount 414
+                              Store 412(r016) 415
+             417:   26(fvec2) Load 31(inF0)
+             418:   26(fvec2) DPdx 417
+                              Store 416(r017) 418
+             420:   26(fvec2) Load 31(inF0)
+             421:   26(fvec2) DPdxCoarse 420
+                              Store 419(r018) 421
+             423:   26(fvec2) Load 31(inF0)
+             424:   26(fvec2) DPdxFine 423
+                              Store 422(r019) 424
+             426:   26(fvec2) Load 31(inF0)
+             427:   26(fvec2) DPdy 426
+                              Store 425(r020) 427
+             429:   26(fvec2) Load 31(inF0)
+             430:   26(fvec2) DPdyCoarse 429
+                              Store 428(r021) 430
+             432:   26(fvec2) Load 31(inF0)
+             433:   26(fvec2) DPdyFine 432
+                              Store 431(r022) 433
+             435:   26(fvec2) Load 31(inF0)
+             436:   26(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 435
+                              Store 434(r023) 436
              438:   26(fvec2) Load 31(inF0)
              439:   26(fvec2) Load 32(inF1)
-             440:    6(float) Dot 438 439
-                              Store 437(r027) 440
+             440:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 438 439
+                              Store 437(r026) 440
              442:   26(fvec2) Load 31(inF0)
-             443:   26(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 442
-                              Store 441(r028) 443
-             445:   26(fvec2) Load 31(inF0)
-             446:   26(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 445
-                              Store 444(r029) 446
-             448:   26(fvec2) Load 31(inF0)
-             449:   26(fvec2) Load 32(inF1)
-             450:   26(fvec2) Load 33(inF2)
-             451:   26(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 448 449 450
-                              Store 447(r030) 451
-             456:   28(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 455
-                              Store 452(r031) 456
-             458:   28(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 455
-                              Store 457(r032) 458
-             460:   26(fvec2) Load 31(inF0)
-             461:   26(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 460
-                              Store 459(r033) 461
-             463:   26(fvec2) Load 31(inF0)
-             464:   26(fvec2) Load 32(inF1)
-             465:   26(fvec2) FMod 463 464
-                              Store 462(r035) 465
+             443:   26(fvec2) Load 32(inF1)
+             444:    6(float) Dot 442 443
+                              Store 441(r027) 444
+             446:   26(fvec2) Load 31(inF0)
+             447:   26(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 446
+                              Store 445(r028) 447
+             449:   26(fvec2) Load 31(inF0)
+             450:   26(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 449
+                              Store 448(r029) 450
+             452:   26(fvec2) Load 31(inF0)
+             453:   26(fvec2) Load 32(inF1)
+             454:   26(fvec2) Load 33(inF2)
+             455:   26(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 452 453 454
+                              Store 451(r030) 455
+             460:   28(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 459
+                              Store 456(r031) 460
+             462:   28(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 459
+                              Store 461(r032) 462
+             464:   26(fvec2) Load 31(inF0)
+             465:   26(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 464
+                              Store 463(r033) 465
              467:   26(fvec2) Load 31(inF0)
-             468:   26(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 467
-                              Store 466(r036) 468
-             470:   26(fvec2) Load 31(inF0)
-             471:   26(fvec2) Fwidth 470
-                              Store 469(r038) 471
+             468:   26(fvec2) Load 32(inF1)
+             469:   26(fvec2) FMod 467 468
+                              Store 466(r035) 469
+             471:   26(fvec2) Load 31(inF0)
+             472:   26(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 471
+                              Store 470(r036) 472
              474:   26(fvec2) Load 31(inF0)
-             475:  345(bvec2) IsInf 474
-                              Store 473(r039) 475
-             477:   26(fvec2) Load 31(inF0)
-             478:  345(bvec2) IsNan 477
-                              Store 476(r040) 478
-             480:   26(fvec2) Load 31(inF0)
-             481:   26(fvec2) Load 32(inF1)
-             482:   26(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 480 481
-                              Store 479(r041) 482
+             475:   26(fvec2) Fwidth 474
+                              Store 473(r038) 475
+             478:   26(fvec2) Load 31(inF0)
+             479:  349(bvec2) IsInf 478
+                              Store 477(r039) 479
+             481:   26(fvec2) Load 31(inF0)
+             482:  349(bvec2) IsNan 481
+                              Store 480(r040) 482
              484:   26(fvec2) Load 31(inF0)
              485:   26(fvec2) Load 32(inF1)
-             486:   26(fvec2) Load 33(inF2)
-             487:   26(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 484 485 486
-                              Store 483(r039a) 487
-             489:   26(fvec2) Load 31(inF0)
-             490:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 489
-                              Store 488(r042) 490
-             492:   26(fvec2) Load 31(inF0)
-             493:   26(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 492
-                              Store 491(r043) 493
-             495:   26(fvec2) Load 31(inF0)
-             496:   26(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 495
-             497:   26(fvec2) VectorTimesScalar 496 268
-                              Store 494(r044) 497
+             486:   26(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 484 485
+                              Store 483(r041) 486
+             488:   26(fvec2) Load 31(inF0)
+             489:   26(fvec2) Load 32(inF1)
+             490:   26(fvec2) Load 33(inF2)
+             491:   26(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 488 489 490
+                              Store 487(r039a) 491
+             493:   26(fvec2) Load 31(inF0)
+             494:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 493
+                              Store 492(r042) 494
+             496:   26(fvec2) Load 31(inF0)
+             497:   26(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 496
+                              Store 495(r043) 497
              499:   26(fvec2) Load 31(inF0)
              500:   26(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 499
-                              Store 498(r045) 500
-             502:   26(fvec2) Load 31(inF0)
-             503:   26(fvec2) Load 32(inF1)
-             504:   26(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 502 503
-                              Store 501(r046) 504
+             501:   26(fvec2) VectorTimesScalar 500 272
+                              Store 498(r044) 501
+             503:   26(fvec2) Load 31(inF0)
+             504:   26(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 503
+                              Store 502(r045) 504
              506:   26(fvec2) Load 31(inF0)
              507:   26(fvec2) Load 32(inF1)
-             508:   26(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 506 507
-                              Store 505(r047) 508
+             508:   26(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 506 507
+                              Store 505(r046) 508
              510:   26(fvec2) Load 31(inF0)
-             511:   26(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 510
-                              Store 509(r048) 511
-             513:   26(fvec2) Load 31(inF0)
-             514:   26(fvec2) Load 32(inF1)
-             515:   26(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 513 514
-                              Store 512(r049) 515
+             511:   26(fvec2) Load 32(inF1)
+             512:   26(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 510 511
+                              Store 509(r047) 512
+             514:   26(fvec2) Load 31(inF0)
+             515:   26(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 514
+                              Store 513(r048) 515
              517:   26(fvec2) Load 31(inF0)
-             518:   26(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 517
-                              Store 516(r050) 518
-             520:   26(fvec2) Load 31(inF0)
-             521:   26(fvec2) CompositeConstruct 289 289
-             522:   26(fvec2) FDiv 521 520
-                              Store 519(r051) 522
+             518:   26(fvec2) Load 32(inF1)
+             519:   26(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 517 518
+                              Store 516(r049) 519
+             521:   26(fvec2) Load 31(inF0)
+             522:   26(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 521
+                              Store 520(r050) 522
              524:   26(fvec2) Load 31(inF0)
-             525:   26(fvec2) Load 32(inF1)
-             526:   26(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 524 525
-                              Store 523(r052) 526
+             525:   26(fvec2) CompositeConstruct 293 293
+             526:   26(fvec2) FDiv 525 524
+                              Store 523(r051) 526
              528:   26(fvec2) Load 31(inF0)
              529:   26(fvec2) Load 32(inF1)
-             531:   26(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 528 529 530
-                              Store 527(r053) 531
-             536:   28(ivec2) BitReverse 535
-                              Store 532(r054) 536
-             538:   26(fvec2) Load 31(inF0)
-             539:   26(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 538
-                              Store 537(r055) 539
-             541:   26(fvec2) Load 31(inF0)
-             542:   26(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 541
-                              Store 540(r056) 542
-             544:   26(fvec2) Load 31(inF0)
-             545:   26(fvec2) CompositeConstruct 141 141
-             546:   26(fvec2) CompositeConstruct 289 289
-             547:   26(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 544 545 546
-                              Store 543(r057) 547
-             549:   26(fvec2) Load 31(inF0)
-             550:   26(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 549
-                              Store 548(r058) 550
-             552:   26(fvec2) Load 31(inF0)
-             553:   26(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 552
-                              Store 551(r059) 553
-             554:   26(fvec2) Load 31(inF0)
-             555:   26(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 554
-                              Store 32(inF1) 555
+             530:   26(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 528 529
+                              Store 527(r052) 530
+             532:   26(fvec2) Load 31(inF0)
+             533:   26(fvec2) Load 32(inF1)
+             535:   26(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 532 533 534
+                              Store 531(r053) 535
+             540:   28(ivec2) BitReverse 539
+                              Store 536(r054) 540
+             542:   26(fvec2) Load 31(inF0)
+             543:   26(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 542
+                              Store 541(r055) 543
+             545:   26(fvec2) Load 31(inF0)
+             546:   26(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 545
+                              Store 544(r056) 546
+             548:   26(fvec2) Load 31(inF0)
+             549:   26(fvec2) CompositeConstruct 141 141
+             550:   26(fvec2) CompositeConstruct 293 293
+             551:   26(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 548 549 550
+                              Store 547(r057) 551
+             553:   26(fvec2) Load 31(inF0)
+             554:   26(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 553
+                              Store 552(r058) 554
              556:   26(fvec2) Load 31(inF0)
-             557:   26(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 556
-                              Store 33(inF2) 557
-             559:   26(fvec2) Load 31(inF0)
-             560:   26(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 559
-                              Store 558(r060) 560
-             562:   26(fvec2) Load 31(inF0)
-             563:   26(fvec2) Load 32(inF1)
-             564:   26(fvec2) Load 33(inF2)
-             565:   26(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 562 563 564
-                              Store 561(r061) 565
-             567:   26(fvec2) Load 31(inF0)
-             568:   26(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 567
-                              Store 566(r062) 568
-             570:   26(fvec2) Load 31(inF0)
-             571:   26(fvec2) Load 32(inF1)
-             572:   26(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 570 571
-                              Store 569(r063) 572
+             557:   26(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 556
+                              Store 555(r059) 557
+             558:   26(fvec2) Load 31(inF0)
+             559:   26(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 558
+                              Store 32(inF1) 559
+             560:   26(fvec2) Load 31(inF0)
+             561:   26(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 560
+                              Store 33(inF2) 561
+             563:   26(fvec2) Load 31(inF0)
+             564:   26(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 563
+                              Store 562(r060) 564
+             566:   26(fvec2) Load 31(inF0)
+             567:   26(fvec2) Load 32(inF1)
+             568:   26(fvec2) Load 33(inF2)
+             569:   26(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 566 567 568
+                              Store 565(r061) 569
+             571:   26(fvec2) Load 31(inF0)
+             572:   26(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 571
+                              Store 570(r062) 572
              574:   26(fvec2) Load 31(inF0)
-             575:   26(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 574
-                              Store 573(r064) 575
-             577:   26(fvec2) Load 31(inF0)
-             578:   26(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 577
-                              Store 576(r065) 578
-             580:   26(fvec2) Load 31(inF0)
-             581:   26(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 580
-                              Store 579(r066) 581
-                              ReturnValue 582
+             575:   26(fvec2) Load 32(inF1)
+             576:   26(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 574 575
+                              Store 573(r063) 576
+             578:   26(fvec2) Load 31(inF0)
+             579:   26(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 578
+                              Store 577(r064) 579
+             581:   26(fvec2) Load 31(inF0)
+             582:   26(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 581
+                              Store 580(r065) 582
+             584:   26(fvec2) Load 31(inF0)
+             585:   26(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 584
+                              Store 583(r066) 585
+                              ReturnValue 586
                               FunctionEnd
 48(PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   38(fvec3) Function None 42
         43(inF0):     39(ptr) FunctionParameter
@@ -6873,309 +6891,309 @@ gl_FragCoord origin is upper left
         46(inU0):     41(ptr) FunctionParameter
         47(inU1):     41(ptr) FunctionParameter
               49:             Label
-       585(r000):    138(ptr) Variable Function
-       591(r001):     39(ptr) Variable Function
-       594(r002):     39(ptr) Variable Function
-       597(r003):    138(ptr) Variable Function
-       601(r004):     39(ptr) Variable Function
-       606(r005):    605(ptr) Variable Function
-       609(r006):     41(ptr) Variable Function
-       612(r007):     39(ptr) Variable Function
-       615(r009):     39(ptr) Variable Function
-       618(r010):     39(ptr) Variable Function
-       622(r011):     39(ptr) Variable Function
-       625(r012):     39(ptr) Variable Function
-       643(r013):     39(ptr) Variable Function
-       646(r014):     39(ptr) Variable Function
-       649(r015):     41(ptr) Variable Function
-       654(r016):     39(ptr) Variable Function
-       658(r017):     39(ptr) Variable Function
-       661(r018):     39(ptr) Variable Function
-       664(r019):     39(ptr) Variable Function
-       667(r020):     39(ptr) Variable Function
-       670(r021):     39(ptr) Variable Function
-       673(r022):     39(ptr) Variable Function
-       676(r023):     39(ptr) Variable Function
-       679(r024):      7(ptr) Variable Function
-       683(r025):      7(ptr) Variable Function
-       687(r029):     39(ptr) Variable Function
-       690(r030):     39(ptr) Variable Function
-       693(r031):     39(ptr) Variable Function
-       698(r032):     41(ptr) Variable Function
-       702(r033):     41(ptr) Variable Function
-       704(r034):     39(ptr) Variable Function
-       707(r036):     39(ptr) Variable Function
-       711(r037):     39(ptr) Variable Function
-       714(r039):     39(ptr) Variable Function
-       718(r040):    717(ptr) Variable Function
-       721(r041):    717(ptr) Variable Function
-       724(r042):     39(ptr) Variable Function
-      728(r039a):     39(ptr) Variable Function
-      733(r039b):     39(ptr) Variable Function
-       739(r043):      7(ptr) Variable Function
-       742(r044):     39(ptr) Variable Function
-       745(r045):     39(ptr) Variable Function
-       749(r046):     39(ptr) Variable Function
-       752(r047):     39(ptr) Variable Function
-       756(r048):     39(ptr) Variable Function
-       760(r049):     39(ptr) Variable Function
-       763(r050):     39(ptr) Variable Function
-       767(r051):     39(ptr) Variable Function
-       770(r052):     39(ptr) Variable Function
-       774(r053):     39(ptr) Variable Function
-       778(r054):     39(ptr) Variable Function
-       782(r055):     41(ptr) Variable Function
-       785(r056):     39(ptr) Variable Function
-       788(r057):     39(ptr) Variable Function
-       791(r058):     39(ptr) Variable Function
-       796(r059):     39(ptr) Variable Function
-       799(r060):     39(ptr) Variable Function
-       806(r061):     39(ptr) Variable Function
-       809(r062):     39(ptr) Variable Function
-       814(r063):     39(ptr) Variable Function
-       817(r064):     39(ptr) Variable Function
-       821(r065):     39(ptr) Variable Function
-       824(r066):     39(ptr) Variable Function
-       827(r067):     39(ptr) Variable Function
-             586:   38(fvec3) Load 43(inF0)
-             589:  587(bvec3) FOrdNotEqual 586 588
-             590:   137(bool) All 589
-                              Store 585(r000) 590
-             592:   38(fvec3) Load 43(inF0)
-             593:   38(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 592
-                              Store 591(r001) 593
-             595:   38(fvec3) Load 43(inF0)
-             596:   38(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 595
-                              Store 594(r002) 596
-             598:   38(fvec3) Load 43(inF0)
-             599:  587(bvec3) FOrdNotEqual 598 588
-             600:   137(bool) Any 599
-                              Store 597(r003) 600
+       589(r000):    138(ptr) Variable Function
+       595(r001):     39(ptr) Variable Function
+       598(r002):     39(ptr) Variable Function
+       601(r003):    138(ptr) Variable Function
+       605(r004):     39(ptr) Variable Function
+       610(r005):    609(ptr) Variable Function
+       613(r006):     41(ptr) Variable Function
+       616(r007):     39(ptr) Variable Function
+       619(r009):     39(ptr) Variable Function
+       622(r010):     39(ptr) Variable Function
+       626(r011):     39(ptr) Variable Function
+       629(r012):     39(ptr) Variable Function
+       647(r013):     39(ptr) Variable Function
+       650(r014):     39(ptr) Variable Function
+       653(r015):     41(ptr) Variable Function
+       658(r016):     39(ptr) Variable Function
+       662(r017):     39(ptr) Variable Function
+       665(r018):     39(ptr) Variable Function
+       668(r019):     39(ptr) Variable Function
+       671(r020):     39(ptr) Variable Function
+       674(r021):     39(ptr) Variable Function
+       677(r022):     39(ptr) Variable Function
+       680(r023):     39(ptr) Variable Function
+       683(r024):      7(ptr) Variable Function
+       687(r025):      7(ptr) Variable Function
+       691(r029):     39(ptr) Variable Function
+       694(r030):     39(ptr) Variable Function
+       697(r031):     39(ptr) Variable Function
+       702(r032):     41(ptr) Variable Function
+       706(r033):     41(ptr) Variable Function
+       708(r034):     39(ptr) Variable Function
+       711(r036):     39(ptr) Variable Function
+       715(r037):     39(ptr) Variable Function
+       718(r039):     39(ptr) Variable Function
+       722(r040):    721(ptr) Variable Function
+       725(r041):    721(ptr) Variable Function
+       728(r042):     39(ptr) Variable Function
+      732(r039a):     39(ptr) Variable Function
+      737(r039b):     39(ptr) Variable Function
+       743(r043):      7(ptr) Variable Function
+       746(r044):     39(ptr) Variable Function
+       749(r045):     39(ptr) Variable Function
+       753(r046):     39(ptr) Variable Function
+       756(r047):     39(ptr) Variable Function
+       760(r048):     39(ptr) Variable Function
+       764(r049):     39(ptr) Variable Function
+       767(r050):     39(ptr) Variable Function
+       771(r051):     39(ptr) Variable Function
+       774(r052):     39(ptr) Variable Function
+       778(r053):     39(ptr) Variable Function
+       782(r054):     39(ptr) Variable Function
+       786(r055):     41(ptr) Variable Function
+       789(r056):     39(ptr) Variable Function
+       792(r057):     39(ptr) Variable Function
+       795(r058):     39(ptr) Variable Function
+       800(r059):     39(ptr) Variable Function
+       803(r060):     39(ptr) Variable Function
+       810(r061):     39(ptr) Variable Function
+       813(r062):     39(ptr) Variable Function
+       818(r063):     39(ptr) Variable Function
+       821(r064):     39(ptr) Variable Function
+       825(r065):     39(ptr) Variable Function
+       828(r066):     39(ptr) Variable Function
+       831(r067):     39(ptr) Variable Function
+             590:   38(fvec3) Load 43(inF0)
+             593:  591(bvec3) FOrdNotEqual 590 592
+             594:   137(bool) All 593
+                              Store 589(r000) 594
+             596:   38(fvec3) Load 43(inF0)
+             597:   38(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 596
+                              Store 595(r001) 597
+             599:   38(fvec3) Load 43(inF0)
+             600:   38(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 599
+                              Store 598(r002) 600
              602:   38(fvec3) Load 43(inF0)
-             603:   38(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 602
-                              Store 601(r004) 603
-             607:   38(fvec3) Load 43(inF0)
-             608:  604(ivec3) Bitcast 607
-                              Store 606(r005) 608
-             610:   38(fvec3) Load 43(inF0)
-             611:   40(ivec3) Bitcast 610
-                              Store 609(r006) 611
-             613:   40(ivec3) Load 46(inU0)
-             614:   38(fvec3) Bitcast 613
-                              Store 612(r007) 614
-             616:   38(fvec3) Load 43(inF0)
-             617:   38(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 616
-                              Store 615(r009) 617
-             619:   38(fvec3) Load 43(inF0)
-             620:   38(fvec3) Load 44(inF1)
-             621:   38(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 619 620
-                              Store 618(r010) 621
+             603:  591(bvec3) FOrdNotEqual 602 592
+             604:   137(bool) Any 603
+                              Store 601(r003) 604
+             606:   38(fvec3) Load 43(inF0)
+             607:   38(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 606
+                              Store 605(r004) 607
+             611:   38(fvec3) Load 43(inF0)
+             612:  608(ivec3) Bitcast 611
+                              Store 610(r005) 612
+             614:   38(fvec3) Load 43(inF0)
+             615:   40(ivec3) Bitcast 614
+                              Store 613(r006) 615
+             617:   40(ivec3) Load 46(inU0)
+             618:   38(fvec3) Bitcast 617
+                              Store 616(r007) 618
+             620:   38(fvec3) Load 43(inF0)
+             621:   38(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 620
+                              Store 619(r009) 621
              623:   38(fvec3) Load 43(inF0)
-             624:   38(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 623
-                              Store 622(r011) 624
-             626:   38(fvec3) Load 43(inF0)
-             627:   38(fvec3) Load 44(inF1)
-             628:   38(fvec3) Load 45(inF2)
-             629:   38(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 626 627 628
-                              Store 625(r012) 629
+             624:   38(fvec3) Load 44(inF1)
+             625:   38(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 623 624
+                              Store 622(r010) 625
+             627:   38(fvec3) Load 43(inF0)
+             628:   38(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 627
+                              Store 626(r011) 628
              630:   38(fvec3) Load 43(inF0)
-             631:  587(bvec3) FOrdLessThan 630 588
-             632:   137(bool) Any 631
-                              SelectionMerge 634 None
-                              BranchConditional 632 633 634
-             633:               Label
+             631:   38(fvec3) Load 44(inF1)
+             632:   38(fvec3) Load 45(inF2)
+             633:   38(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 630 631 632
+                              Store 629(r012) 633
+             634:   38(fvec3) Load 43(inF0)
+             635:  591(bvec3) FOrdLessThan 634 592
+             636:   137(bool) Any 635
+                              SelectionMerge 638 None
+                              BranchConditional 636 637 638
+             637:               Label
                                 Kill
-             634:             Label
-             636:   40(ivec3) Load 46(inU0)
-             638:  587(bvec3) ULessThan 636 637
-             639:   137(bool) Any 638
-                              SelectionMerge 641 None
-                              BranchConditional 639 640 641
-             640:               Label
+             638:             Label
+             640:   40(ivec3) Load 46(inU0)
+             642:  591(bvec3) ULessThan 640 641
+             643:   137(bool) Any 642
+                              SelectionMerge 645 None
+                              BranchConditional 643 644 645
+             644:               Label
                                 Kill
-             641:             Label
-             644:   38(fvec3) Load 43(inF0)
-             645:   38(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 644
-                              Store 643(r013) 645
-             647:   38(fvec3) Load 43(inF0)
-             648:   38(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 647
-                              Store 646(r014) 648
-             653:   40(ivec3) BitCount 652
-                              Store 649(r015) 653
-             655:   38(fvec3) Load 43(inF0)
-             656:   38(fvec3) Load 44(inF1)
-             657:   38(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 655 656
-                              Store 654(r016) 657
+             645:             Label
+             648:   38(fvec3) Load 43(inF0)
+             649:   38(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 648
+                              Store 647(r013) 649
+             651:   38(fvec3) Load 43(inF0)
+             652:   38(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 651
+                              Store 650(r014) 652
+             657:   40(ivec3) BitCount 656
+                              Store 653(r015) 657
              659:   38(fvec3) Load 43(inF0)
-             660:   38(fvec3) DPdx 659
-                              Store 658(r017) 660
-             662:   38(fvec3) Load 43(inF0)
-             663:   38(fvec3) DPdxCoarse 662
-                              Store 661(r018) 663
-             665:   38(fvec3) Load 43(inF0)
-             666:   38(fvec3) DPdxFine 665
-                              Store 664(r019) 666
-             668:   38(fvec3) Load 43(inF0)
-             669:   38(fvec3) DPdy 668
-                              Store 667(r020) 669
-             671:   38(fvec3) Load 43(inF0)
-             672:   38(fvec3) DPdyCoarse 671
-                              Store 670(r021) 672
-             674:   38(fvec3) Load 43(inF0)
-             675:   38(fvec3) DPdyFine 674
-                              Store 673(r022) 675
-             677:   38(fvec3) Load 43(inF0)
-             678:   38(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 677
-                              Store 676(r023) 678
-             680:   38(fvec3) Load 43(inF0)
-             681:   38(fvec3) Load 44(inF1)
-             682:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 680 681
-                              Store 679(r024) 682
+             660:   38(fvec3) Load 44(inF1)
+             661:   38(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 659 660
+                              Store 658(r016) 661
+             663:   38(fvec3) Load 43(inF0)
+             664:   38(fvec3) DPdx 663
+                              Store 662(r017) 664
+             666:   38(fvec3) Load 43(inF0)
+             667:   38(fvec3) DPdxCoarse 666
+                              Store 665(r018) 667
+             669:   38(fvec3) Load 43(inF0)
+             670:   38(fvec3) DPdxFine 669
+                              Store 668(r019) 670
+             672:   38(fvec3) Load 43(inF0)
+             673:   38(fvec3) DPdy 672
+                              Store 671(r020) 673
+             675:   38(fvec3) Load 43(inF0)
+             676:   38(fvec3) DPdyCoarse 675
+                              Store 674(r021) 676
+             678:   38(fvec3) Load 43(inF0)
+             679:   38(fvec3) DPdyFine 678
+                              Store 677(r022) 679
+             681:   38(fvec3) Load 43(inF0)
+             682:   38(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 681
+                              Store 680(r023) 682
              684:   38(fvec3) Load 43(inF0)
              685:   38(fvec3) Load 44(inF1)
-             686:    6(float) Dot 684 685
-                              Store 683(r025) 686
+             686:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 684 685
+                              Store 683(r024) 686
              688:   38(fvec3) Load 43(inF0)
-             689:   38(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 688
-                              Store 687(r029) 689
-             691:   38(fvec3) Load 43(inF0)
-             692:   38(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 691
-                              Store 690(r030) 692
-             694:   38(fvec3) Load 43(inF0)
-             695:   38(fvec3) Load 44(inF1)
-             696:   38(fvec3) Load 45(inF2)
-             697:   38(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 694 695 696
-                              Store 693(r031) 697
-             701:   40(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 700
-                              Store 698(r032) 701
-             703:   40(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 700
-                              Store 702(r033) 703
-             705:   38(fvec3) Load 43(inF0)
-             706:   38(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 705
-                              Store 704(r034) 706
-             708:   38(fvec3) Load 43(inF0)
-             709:   38(fvec3) Load 44(inF1)
-             710:   38(fvec3) FMod 708 709
-                              Store 707(r036) 710
+             689:   38(fvec3) Load 44(inF1)
+             690:    6(float) Dot 688 689
+                              Store 687(r025) 690
+             692:   38(fvec3) Load 43(inF0)
+             693:   38(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 692
+                              Store 691(r029) 693
+             695:   38(fvec3) Load 43(inF0)
+             696:   38(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 695
+                              Store 694(r030) 696
+             698:   38(fvec3) Load 43(inF0)
+             699:   38(fvec3) Load 44(inF1)
+             700:   38(fvec3) Load 45(inF2)
+             701:   38(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 698 699 700
+                              Store 697(r031) 701
+             705:   40(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 704
+                              Store 702(r032) 705
+             707:   40(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 704
+                              Store 706(r033) 707
+             709:   38(fvec3) Load 43(inF0)
+             710:   38(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 709
+                              Store 708(r034) 710
              712:   38(fvec3) Load 43(inF0)
-             713:   38(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 712
-                              Store 711(r037) 713
-             715:   38(fvec3) Load 43(inF0)
-             716:   38(fvec3) Fwidth 715
-                              Store 714(r039) 716
+             713:   38(fvec3) Load 44(inF1)
+             714:   38(fvec3) FMod 712 713
+                              Store 711(r036) 714
+             716:   38(fvec3) Load 43(inF0)
+             717:   38(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 716
+                              Store 715(r037) 717
              719:   38(fvec3) Load 43(inF0)
-             720:  587(bvec3) IsInf 719
-                              Store 718(r040) 720
-             722:   38(fvec3) Load 43(inF0)
-             723:  587(bvec3) IsNan 722
-                              Store 721(r041) 723
-             725:   38(fvec3) Load 43(inF0)
-             726:   38(fvec3) Load 44(inF1)
-             727:   38(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 725 726
-                              Store 724(r042) 727
+             720:   38(fvec3) Fwidth 719
+                              Store 718(r039) 720
+             723:   38(fvec3) Load 43(inF0)
+             724:  591(bvec3) IsInf 723
+                              Store 722(r040) 724
+             726:   38(fvec3) Load 43(inF0)
+             727:  591(bvec3) IsNan 726
+                              Store 725(r041) 727
              729:   38(fvec3) Load 43(inF0)
              730:   38(fvec3) Load 44(inF1)
-             731:   38(fvec3) Load 45(inF2)
-             732:   38(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 729 730 731
-                              Store 728(r039a) 732
-             734:   38(fvec3) Load 43(inF0)
-             735:   38(fvec3) Load 44(inF1)
-             737:   38(fvec3) CompositeConstruct 736 736 736
-             738:   38(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 734 735 737
-                              Store 733(r039b) 738
-             740:   38(fvec3) Load 43(inF0)
-             741:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 740
-                              Store 739(r043) 741
-             743:   38(fvec3) Load 43(inF0)
-             744:   38(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 743
-                              Store 742(r044) 744
-             746:   38(fvec3) Load 43(inF0)
-             747:   38(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 746
-             748:   38(fvec3) VectorTimesScalar 747 268
-                              Store 745(r045) 748
+             731:   38(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 729 730
+                              Store 728(r042) 731
+             733:   38(fvec3) Load 43(inF0)
+             734:   38(fvec3) Load 44(inF1)
+             735:   38(fvec3) Load 45(inF2)
+             736:   38(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 733 734 735
+                              Store 732(r039a) 736
+             738:   38(fvec3) Load 43(inF0)
+             739:   38(fvec3) Load 44(inF1)
+             741:   38(fvec3) CompositeConstruct 740 740 740
+             742:   38(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 738 739 741
+                              Store 737(r039b) 742
+             744:   38(fvec3) Load 43(inF0)
+             745:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 744
+                              Store 743(r043) 745
+             747:   38(fvec3) Load 43(inF0)
+             748:   38(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 747
+                              Store 746(r044) 748
              750:   38(fvec3) Load 43(inF0)
              751:   38(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 750
-                              Store 749(r046) 751
-             753:   38(fvec3) Load 43(inF0)
-             754:   38(fvec3) Load 44(inF1)
-             755:   38(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 753 754
-                              Store 752(r047) 755
+             752:   38(fvec3) VectorTimesScalar 751 272
+                              Store 749(r045) 752
+             754:   38(fvec3) Load 43(inF0)
+             755:   38(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 754
+                              Store 753(r046) 755
              757:   38(fvec3) Load 43(inF0)
              758:   38(fvec3) Load 44(inF1)
-             759:   38(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 757 758
-                              Store 756(r048) 759
+             759:   38(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 757 758
+                              Store 756(r047) 759
              761:   38(fvec3) Load 43(inF0)
-             762:   38(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 761
-                              Store 760(r049) 762
-             764:   38(fvec3) Load 43(inF0)
-             765:   38(fvec3) Load 44(inF1)
-             766:   38(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 764 765
-                              Store 763(r050) 766
+             762:   38(fvec3) Load 44(inF1)
+             763:   38(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 761 762
+                              Store 760(r048) 763
+             765:   38(fvec3) Load 43(inF0)
+             766:   38(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 765
+                              Store 764(r049) 766
              768:   38(fvec3) Load 43(inF0)
-             769:   38(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 768
-                              Store 767(r051) 769
-             771:   38(fvec3) Load 43(inF0)
-             772:   38(fvec3) CompositeConstruct 289 289 289
-             773:   38(fvec3) FDiv 772 771
-                              Store 770(r052) 773
+             769:   38(fvec3) Load 44(inF1)
+             770:   38(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 768 769
+                              Store 767(r050) 770
+             772:   38(fvec3) Load 43(inF0)
+             773:   38(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 772
+                              Store 771(r051) 773
              775:   38(fvec3) Load 43(inF0)
-             776:   38(fvec3) Load 44(inF1)
-             777:   38(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 775 776
-                              Store 774(r053) 777
+             776:   38(fvec3) CompositeConstruct 293 293 293
+             777:   38(fvec3) FDiv 776 775
+                              Store 774(r052) 777
              779:   38(fvec3) Load 43(inF0)
              780:   38(fvec3) Load 44(inF1)
-             781:   38(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 779 780 530
-                              Store 778(r054) 781
-             784:   40(ivec3) BitReverse 783
-                              Store 782(r055) 784
-             786:   38(fvec3) Load 43(inF0)
-             787:   38(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 786
-                              Store 785(r056) 787
-             789:   38(fvec3) Load 43(inF0)
-             790:   38(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 789
-                              Store 788(r057) 790
-             792:   38(fvec3) Load 43(inF0)
-             793:   38(fvec3) CompositeConstruct 141 141 141
-             794:   38(fvec3) CompositeConstruct 289 289 289
-             795:   38(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 792 793 794
-                              Store 791(r058) 795
-             797:   38(fvec3) Load 43(inF0)
-             798:   38(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 797
-                              Store 796(r059) 798
-             800:   38(fvec3) Load 43(inF0)
-             801:   38(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 800
-                              Store 799(r060) 801
-             802:   38(fvec3) Load 43(inF0)
-             803:   38(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 802
-                              Store 44(inF1) 803
+             781:   38(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 779 780
+                              Store 778(r053) 781
+             783:   38(fvec3) Load 43(inF0)
+             784:   38(fvec3) Load 44(inF1)
+             785:   38(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 783 784 534
+                              Store 782(r054) 785
+             788:   40(ivec3) BitReverse 787
+                              Store 786(r055) 788
+             790:   38(fvec3) Load 43(inF0)
+             791:   38(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 790
+                              Store 789(r056) 791
+             793:   38(fvec3) Load 43(inF0)
+             794:   38(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 793
+                              Store 792(r057) 794
+             796:   38(fvec3) Load 43(inF0)
+             797:   38(fvec3) CompositeConstruct 141 141 141
+             798:   38(fvec3) CompositeConstruct 293 293 293
+             799:   38(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 796 797 798
+                              Store 795(r058) 799
+             801:   38(fvec3) Load 43(inF0)
+             802:   38(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 801
+                              Store 800(r059) 802
              804:   38(fvec3) Load 43(inF0)
-             805:   38(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 804
-                              Store 45(inF2) 805
-             807:   38(fvec3) Load 43(inF0)
-             808:   38(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 807
-                              Store 806(r061) 808
-             810:   38(fvec3) Load 43(inF0)
-             811:   38(fvec3) Load 44(inF1)
-             812:   38(fvec3) Load 45(inF2)
-             813:   38(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 810 811 812
-                              Store 809(r062) 813
-             815:   38(fvec3) Load 43(inF0)
-             816:   38(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 815
-                              Store 814(r063) 816
-             818:   38(fvec3) Load 43(inF0)
-             819:   38(fvec3) Load 44(inF1)
-             820:   38(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 818 819
-                              Store 817(r064) 820
+             805:   38(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 804
+                              Store 803(r060) 805
+             806:   38(fvec3) Load 43(inF0)
+             807:   38(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 806
+                              Store 44(inF1) 807
+             808:   38(fvec3) Load 43(inF0)
+             809:   38(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 808
+                              Store 45(inF2) 809
+             811:   38(fvec3) Load 43(inF0)
+             812:   38(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 811
+                              Store 810(r061) 812
+             814:   38(fvec3) Load 43(inF0)
+             815:   38(fvec3) Load 44(inF1)
+             816:   38(fvec3) Load 45(inF2)
+             817:   38(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 814 815 816
+                              Store 813(r062) 817
+             819:   38(fvec3) Load 43(inF0)
+             820:   38(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 819
+                              Store 818(r063) 820
              822:   38(fvec3) Load 43(inF0)
-             823:   38(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 822
-                              Store 821(r065) 823
-             825:   38(fvec3) Load 43(inF0)
-             826:   38(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 825
-                              Store 824(r066) 826
-             828:   38(fvec3) Load 43(inF0)
-             829:   38(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 828
-                              Store 827(r067) 829
-                              ReturnValue 831
+             823:   38(fvec3) Load 44(inF1)
+             824:   38(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 822 823
+                              Store 821(r064) 824
+             826:   38(fvec3) Load 43(inF0)
+             827:   38(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 826
+                              Store 825(r065) 827
+             829:   38(fvec3) Load 43(inF0)
+             830:   38(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 829
+                              Store 828(r066) 830
+             832:   38(fvec3) Load 43(inF0)
+             833:   38(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 832
+                              Store 831(r067) 833
+                              ReturnValue 835
                               FunctionEnd
 60(PixelShaderFunction(vf4;vf4;vf4;vu4;vu4;):   50(fvec4) Function None 54
         55(inF0):     51(ptr) FunctionParameter
@@ -7184,1006 +7202,1006 @@ gl_FragCoord origin is upper left
         58(inU0):     53(ptr) FunctionParameter
         59(inU1):     53(ptr) FunctionParameter
               61:             Label
-       834(r000):    138(ptr) Variable Function
-       840(r001):     51(ptr) Variable Function
-       843(r002):     51(ptr) Variable Function
-       846(r003):    138(ptr) Variable Function
-       850(r004):     51(ptr) Variable Function
-       855(r005):    854(ptr) Variable Function
-       858(r006):     53(ptr) Variable Function
-       861(r007):     51(ptr) Variable Function
-       864(r009):     51(ptr) Variable Function
-       867(r010):     51(ptr) Variable Function
-       871(r011):     51(ptr) Variable Function
-       874(r012):     51(ptr) Variable Function
-       892(r013):     51(ptr) Variable Function
-       895(r014):     51(ptr) Variable Function
-       898(r015):     53(ptr) Variable Function
-       901(r016):     51(ptr) Variable Function
-       904(r017):     51(ptr) Variable Function
-       907(r018):     51(ptr) Variable Function
-       910(r019):     51(ptr) Variable Function
-       913(r020):     51(ptr) Variable Function
-       916(r021):     51(ptr) Variable Function
-       919(r022):     51(ptr) Variable Function
-       922(r023):      7(ptr) Variable Function
-       926(r024):      7(ptr) Variable Function
-       930(r025):     51(ptr) Variable Function
-       941(r029):     51(ptr) Variable Function
-       944(r030):     51(ptr) Variable Function
-       947(r031):     51(ptr) Variable Function
-       952(r032):     53(ptr) Variable Function
-       957(r033):     53(ptr) Variable Function
-       959(r034):     51(ptr) Variable Function
-       962(r036):     51(ptr) Variable Function
-       966(r037):     51(ptr) Variable Function
-       969(r039):     51(ptr) Variable Function
-       973(r040):    972(ptr) Variable Function
-       976(r041):    972(ptr) Variable Function
-       979(r042):     51(ptr) Variable Function
-      983(r039a):     51(ptr) Variable Function
-       988(r043):      7(ptr) Variable Function
-       991(r044):     51(ptr) Variable Function
-       994(r045):     51(ptr) Variable Function
-       998(r046):     51(ptr) Variable Function
-      1001(r047):     51(ptr) Variable Function
-      1005(r048):     51(ptr) Variable Function
-      1009(r049):     51(ptr) Variable Function
-      1012(r050):     51(ptr) Variable Function
-      1016(r051):     51(ptr) Variable Function
-      1019(r052):     51(ptr) Variable Function
-      1023(r053):     51(ptr) Variable Function
-      1027(r054):     51(ptr) Variable Function
-      1031(r055):     53(ptr) Variable Function
-      1034(r056):     51(ptr) Variable Function
-      1037(r057):     51(ptr) Variable Function
-      1040(r058):     51(ptr) Variable Function
-      1045(r059):     51(ptr) Variable Function
-      1048(r060):     51(ptr) Variable Function
-      1055(r061):     51(ptr) Variable Function
-      1058(r062):     51(ptr) Variable Function
-      1063(r063):     51(ptr) Variable Function
-      1066(r064):     51(ptr) Variable Function
-      1070(r065):     51(ptr) Variable Function
-      1073(r066):     51(ptr) Variable Function
-      1076(r067):     51(ptr) Variable Function
-             835:   50(fvec4) Load 55(inF0)
-             838:  836(bvec4) FOrdNotEqual 835 837
-             839:   137(bool) All 838
-                              Store 834(r000) 839
-             841:   50(fvec4) Load 55(inF0)
-             842:   50(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 841
-                              Store 840(r001) 842
-             844:   50(fvec4) Load 55(inF0)
-             845:   50(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 844
-                              Store 843(r002) 845
-             847:   50(fvec4) Load 55(inF0)
-             848:  836(bvec4) FOrdNotEqual 847 837
-             849:   137(bool) Any 848
-                              Store 846(r003) 849
+       838(r000):    138(ptr) Variable Function
+       844(r001):     51(ptr) Variable Function
+       847(r002):     51(ptr) Variable Function
+       850(r003):    138(ptr) Variable Function
+       854(r004):     51(ptr) Variable Function
+       859(r005):    858(ptr) Variable Function
+       862(r006):     53(ptr) Variable Function
+       865(r007):     51(ptr) Variable Function
+       868(r009):     51(ptr) Variable Function
+       871(r010):     51(ptr) Variable Function
+       875(r011):     51(ptr) Variable Function
+       878(r012):     51(ptr) Variable Function
+       896(r013):     51(ptr) Variable Function
+       899(r014):     51(ptr) Variable Function
+       902(r015):     53(ptr) Variable Function
+       905(r016):     51(ptr) Variable Function
+       908(r017):     51(ptr) Variable Function
+       911(r018):     51(ptr) Variable Function
+       914(r019):     51(ptr) Variable Function
+       917(r020):     51(ptr) Variable Function
+       920(r021):     51(ptr) Variable Function
+       923(r022):     51(ptr) Variable Function
+       926(r023):      7(ptr) Variable Function
+       930(r024):      7(ptr) Variable Function
+       934(r025):     51(ptr) Variable Function
+       945(r029):     51(ptr) Variable Function
+       948(r030):     51(ptr) Variable Function
+       951(r031):     51(ptr) Variable Function
+       956(r032):     53(ptr) Variable Function
+       961(r033):     53(ptr) Variable Function
+       963(r034):     51(ptr) Variable Function
+       966(r036):     51(ptr) Variable Function
+       970(r037):     51(ptr) Variable Function
+       973(r039):     51(ptr) Variable Function
+       977(r040):    976(ptr) Variable Function
+       980(r041):    976(ptr) Variable Function
+       983(r042):     51(ptr) Variable Function
+      987(r039a):     51(ptr) Variable Function
+       992(r043):      7(ptr) Variable Function
+       995(r044):     51(ptr) Variable Function
+       998(r045):     51(ptr) Variable Function
+      1002(r046):     51(ptr) Variable Function
+      1005(r047):     51(ptr) Variable Function
+      1009(r048):     51(ptr) Variable Function
+      1013(r049):     51(ptr) Variable Function
+      1016(r050):     51(ptr) Variable Function
+      1020(r051):     51(ptr) Variable Function
+      1023(r052):     51(ptr) Variable Function
+      1027(r053):     51(ptr) Variable Function
+      1031(r054):     51(ptr) Variable Function
+      1035(r055):     53(ptr) Variable Function
+      1038(r056):     51(ptr) Variable Function
+      1041(r057):     51(ptr) Variable Function
+      1044(r058):     51(ptr) Variable Function
+      1049(r059):     51(ptr) Variable Function
+      1052(r060):     51(ptr) Variable Function
+      1059(r061):     51(ptr) Variable Function
+      1062(r062):     51(ptr) Variable Function
+      1067(r063):     51(ptr) Variable Function
+      1070(r064):     51(ptr) Variable Function
+      1074(r065):     51(ptr) Variable Function
+      1077(r066):     51(ptr) Variable Function
+      1080(r067):     51(ptr) Variable Function
+             839:   50(fvec4) Load 55(inF0)
+             842:  840(bvec4) FOrdNotEqual 839 841
+             843:   137(bool) All 842
+                              Store 838(r000) 843
+             845:   50(fvec4) Load 55(inF0)
+             846:   50(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 845
+                              Store 844(r001) 846
+             848:   50(fvec4) Load 55(inF0)
+             849:   50(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 848
+                              Store 847(r002) 849
              851:   50(fvec4) Load 55(inF0)
-             852:   50(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 851
-                              Store 850(r004) 852
-             856:   50(fvec4) Load 55(inF0)
-             857:  853(ivec4) Bitcast 856
-                              Store 855(r005) 857
-             859:   50(fvec4) Load 55(inF0)
-             860:   52(ivec4) Bitcast 859
-                              Store 858(r006) 860
-             862:   52(ivec4) Load 58(inU0)
-             863:   50(fvec4) Bitcast 862
-                              Store 861(r007) 863
-             865:   50(fvec4) Load 55(inF0)
-             866:   50(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 865
-                              Store 864(r009) 866
-             868:   50(fvec4) Load 55(inF0)
-             869:   50(fvec4) Load 56(inF1)
-             870:   50(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 868 869
-                              Store 867(r010) 870
+             852:  840(bvec4) FOrdNotEqual 851 841
+             853:   137(bool) Any 852
+                              Store 850(r003) 853
+             855:   50(fvec4) Load 55(inF0)
+             856:   50(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 855
+                              Store 854(r004) 856
+             860:   50(fvec4) Load 55(inF0)
+             861:  857(ivec4) Bitcast 860
+                              Store 859(r005) 861
+             863:   50(fvec4) Load 55(inF0)
+             864:   52(ivec4) Bitcast 863
+                              Store 862(r006) 864
+             866:   52(ivec4) Load 58(inU0)
+             867:   50(fvec4) Bitcast 866
+                              Store 865(r007) 867
+             869:   50(fvec4) Load 55(inF0)
+             870:   50(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 869
+                              Store 868(r009) 870
              872:   50(fvec4) Load 55(inF0)
-             873:   50(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 872
-                              Store 871(r011) 873
-             875:   50(fvec4) Load 55(inF0)
-             876:   50(fvec4) Load 56(inF1)
-             877:   50(fvec4) Load 57(inF2)
-             878:   50(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 875 876 877
-                              Store 874(r012) 878
+             873:   50(fvec4) Load 56(inF1)
+             874:   50(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 872 873
+                              Store 871(r010) 874
+             876:   50(fvec4) Load 55(inF0)
+             877:   50(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 876
+                              Store 875(r011) 877
              879:   50(fvec4) Load 55(inF0)
-             880:  836(bvec4) FOrdLessThan 879 837
-             881:   137(bool) Any 880
-                              SelectionMerge 883 None
-                              BranchConditional 881 882 883
-             882:               Label
+             880:   50(fvec4) Load 56(inF1)
+             881:   50(fvec4) Load 57(inF2)
+             882:   50(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 879 880 881
+                              Store 878(r012) 882
+             883:   50(fvec4) Load 55(inF0)
+             884:  840(bvec4) FOrdLessThan 883 841
+             885:   137(bool) Any 884
+                              SelectionMerge 887 None
+                              BranchConditional 885 886 887
+             886:               Label
                                 Kill
-             883:             Label
-             885:   52(ivec4) Load 58(inU0)
-             887:  836(bvec4) ULessThan 885 886
-             888:   137(bool) Any 887
-                              SelectionMerge 890 None
-                              BranchConditional 888 889 890
-             889:               Label
+             887:             Label
+             889:   52(ivec4) Load 58(inU0)
+             891:  840(bvec4) ULessThan 889 890
+             892:   137(bool) Any 891
+                              SelectionMerge 894 None
+                              BranchConditional 892 893 894
+             893:               Label
                                 Kill
-             890:             Label
-             893:   50(fvec4) Load 55(inF0)
-             894:   50(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 893
-                              Store 892(r013) 894
-             896:   50(fvec4) Load 55(inF0)
-             897:   50(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 896
-                              Store 895(r014) 897
-             900:   52(ivec4) BitCount 899
-                              Store 898(r015) 900
-             902:   50(fvec4) Load 55(inF0)
-             903:   50(fvec4) DPdx 902
-                              Store 901(r016) 903
-             905:   50(fvec4) Load 55(inF0)
-             906:   50(fvec4) DPdxCoarse 905
-                              Store 904(r017) 906
-             908:   50(fvec4) Load 55(inF0)
-             909:   50(fvec4) DPdxFine 908
-                              Store 907(r018) 909
-             911:   50(fvec4) Load 55(inF0)
-             912:   50(fvec4) DPdy 911
-                              Store 910(r019) 912
-             914:   50(fvec4) Load 55(inF0)
-             915:   50(fvec4) DPdyCoarse 914
-                              Store 913(r020) 915
-             917:   50(fvec4) Load 55(inF0)
-             918:   50(fvec4) DPdyFine 917
-                              Store 916(r021) 918
-             920:   50(fvec4) Load 55(inF0)
-             921:   50(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 920
-                              Store 919(r022) 921
-             923:   50(fvec4) Load 55(inF0)
-             924:   50(fvec4) Load 56(inF1)
-             925:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 923 924
-                              Store 922(r023) 925
+             894:             Label
+             897:   50(fvec4) Load 55(inF0)
+             898:   50(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 897
+                              Store 896(r013) 898
+             900:   50(fvec4) Load 55(inF0)
+             901:   50(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 900
+                              Store 899(r014) 901
+             904:   52(ivec4) BitCount 903
+                              Store 902(r015) 904
+             906:   50(fvec4) Load 55(inF0)
+             907:   50(fvec4) DPdx 906
+                              Store 905(r016) 907
+             909:   50(fvec4) Load 55(inF0)
+             910:   50(fvec4) DPdxCoarse 909
+                              Store 908(r017) 910
+             912:   50(fvec4) Load 55(inF0)
+             913:   50(fvec4) DPdxFine 912
+                              Store 911(r018) 913
+             915:   50(fvec4) Load 55(inF0)
+             916:   50(fvec4) DPdy 915
+                              Store 914(r019) 916
+             918:   50(fvec4) Load 55(inF0)
+             919:   50(fvec4) DPdyCoarse 918
+                              Store 917(r020) 919
+             921:   50(fvec4) Load 55(inF0)
+             922:   50(fvec4) DPdyFine 921
+                              Store 920(r021) 922
+             924:   50(fvec4) Load 55(inF0)
+             925:   50(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 924
+                              Store 923(r022) 925
              927:   50(fvec4) Load 55(inF0)
              928:   50(fvec4) Load 56(inF1)
-             929:    6(float) Dot 927 928
-                              Store 926(r024) 929
-             931:      7(ptr) AccessChain 55(inF0) 533
-             932:    6(float) Load 931
-             933:      7(ptr) AccessChain 56(inF1) 533
-             934:    6(float) Load 933
-             935:    6(float) FMul 932 934
-             936:      7(ptr) AccessChain 55(inF0) 534
-             937:    6(float) Load 936
-             938:      7(ptr) AccessChain 56(inF1) 650
-             939:    6(float) Load 938
-             940:   50(fvec4) CompositeConstruct 289 935 937 939
-                              Store 930(r025) 940
-             942:   50(fvec4) Load 55(inF0)
-             943:   50(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 942
-                              Store 941(r029) 943
-             945:   50(fvec4) Load 55(inF0)
-             946:   50(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 945
-                              Store 944(r030) 946
-             948:   50(fvec4) Load 55(inF0)
-             949:   50(fvec4) Load 56(inF1)
-             950:   50(fvec4) Load 57(inF2)
-             951:   50(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 948 949 950
-                              Store 947(r031) 951
-             956:   52(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 955
-                              Store 952(r032) 956
-             958:   52(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 955
-                              Store 957(r033) 958
-             960:   50(fvec4) Load 55(inF0)
-             961:   50(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 960
-                              Store 959(r034) 961
-             963:   50(fvec4) Load 55(inF0)
-             964:   50(fvec4) Load 56(inF1)
-             965:   50(fvec4) FMod 963 964
-                              Store 962(r036) 965
+             929:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 927 928
+                              Store 926(r023) 929
+             931:   50(fvec4) Load 55(inF0)
+             932:   50(fvec4) Load 56(inF1)
+             933:    6(float) Dot 931 932
+                              Store 930(r024) 933
+             935:      7(ptr) AccessChain 55(inF0) 537
+             936:    6(float) Load 935
+             937:      7(ptr) AccessChain 56(inF1) 537
+             938:    6(float) Load 937
+             939:    6(float) FMul 936 938
+             940:      7(ptr) AccessChain 55(inF0) 538
+             941:    6(float) Load 940
+             942:      7(ptr) AccessChain 56(inF1) 654
+             943:    6(float) Load 942
+             944:   50(fvec4) CompositeConstruct 293 939 941 943
+                              Store 934(r025) 944
+             946:   50(fvec4) Load 55(inF0)
+             947:   50(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 946
+                              Store 945(r029) 947
+             949:   50(fvec4) Load 55(inF0)
+             950:   50(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 949
+                              Store 948(r030) 950
+             952:   50(fvec4) Load 55(inF0)
+             953:   50(fvec4) Load 56(inF1)
+             954:   50(fvec4) Load 57(inF2)
+             955:   50(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 952 953 954
+                              Store 951(r031) 955
+             960:   52(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 959
+                              Store 956(r032) 960
+             962:   52(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 959
+                              Store 961(r033) 962
+             964:   50(fvec4) Load 55(inF0)
+             965:   50(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 964
+                              Store 963(r034) 965
              967:   50(fvec4) Load 55(inF0)
-             968:   50(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 967
-                              Store 966(r037) 968
-             970:   50(fvec4) Load 55(inF0)
-             971:   50(fvec4) Fwidth 970
-                              Store 969(r039) 971
+             968:   50(fvec4) Load 56(inF1)
+             969:   50(fvec4) FMod 967 968
+                              Store 966(r036) 969
+             971:   50(fvec4) Load 55(inF0)
+             972:   50(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 971
+                              Store 970(r037) 972
              974:   50(fvec4) Load 55(inF0)
-             975:  836(bvec4) IsInf 974
-                              Store 973(r040) 975
-             977:   50(fvec4) Load 55(inF0)
-             978:  836(bvec4) IsNan 977
-                              Store 976(r041) 978
-             980:   50(fvec4) Load 55(inF0)
-             981:   50(fvec4) Load 56(inF1)
-             982:   50(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 980 981
-                              Store 979(r042) 982
+             975:   50(fvec4) Fwidth 974
+                              Store 973(r039) 975
+             978:   50(fvec4) Load 55(inF0)
+             979:  840(bvec4) IsInf 978
+                              Store 977(r040) 979
+             981:   50(fvec4) Load 55(inF0)
+             982:  840(bvec4) IsNan 981
+                              Store 980(r041) 982
              984:   50(fvec4) Load 55(inF0)
              985:   50(fvec4) Load 56(inF1)
-             986:   50(fvec4) Load 57(inF2)
-             987:   50(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 984 985 986
-                              Store 983(r039a) 987
-             989:   50(fvec4) Load 55(inF0)
-             990:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 989
-                              Store 988(r043) 990
-             992:   50(fvec4) Load 55(inF0)
-             993:   50(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 992
-                              Store 991(r044) 993
-             995:   50(fvec4) Load 55(inF0)
-             996:   50(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 995
-             997:   50(fvec4) VectorTimesScalar 996 268
-                              Store 994(r045) 997
+             986:   50(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 984 985
+                              Store 983(r042) 986
+             988:   50(fvec4) Load 55(inF0)
+             989:   50(fvec4) Load 56(inF1)
+             990:   50(fvec4) Load 57(inF2)
+             991:   50(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 988 989 990
+                              Store 987(r039a) 991
+             993:   50(fvec4) Load 55(inF0)
+             994:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 993
+                              Store 992(r043) 994
+             996:   50(fvec4) Load 55(inF0)
+             997:   50(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 996
+                              Store 995(r044) 997
              999:   50(fvec4) Load 55(inF0)
             1000:   50(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 999
-                              Store 998(r046) 1000
-            1002:   50(fvec4) Load 55(inF0)
-            1003:   50(fvec4) Load 56(inF1)
-            1004:   50(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 1002 1003
-                              Store 1001(r047) 1004
+            1001:   50(fvec4) VectorTimesScalar 1000 272
+                              Store 998(r045) 1001
+            1003:   50(fvec4) Load 55(inF0)
+            1004:   50(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 1003
+                              Store 1002(r046) 1004
             1006:   50(fvec4) Load 55(inF0)
             1007:   50(fvec4) Load 56(inF1)
-            1008:   50(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 1006 1007
-                              Store 1005(r048) 1008
+            1008:   50(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 1006 1007
+                              Store 1005(r047) 1008
             1010:   50(fvec4) Load 55(inF0)
-            1011:   50(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 1010
-                              Store 1009(r049) 1011
-            1013:   50(fvec4) Load 55(inF0)
-            1014:   50(fvec4) Load 56(inF1)
-            1015:   50(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 1013 1014
-                              Store 1012(r050) 1015
+            1011:   50(fvec4) Load 56(inF1)
+            1012:   50(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 1010 1011
+                              Store 1009(r048) 1012
+            1014:   50(fvec4) Load 55(inF0)
+            1015:   50(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 1014
+                              Store 1013(r049) 1015
             1017:   50(fvec4) Load 55(inF0)
-            1018:   50(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1017
-                              Store 1016(r051) 1018
-            1020:   50(fvec4) Load 55(inF0)
-            1021:   50(fvec4) CompositeConstruct 289 289 289 289
-            1022:   50(fvec4) FDiv 1021 1020
-                              Store 1019(r052) 1022
+            1018:   50(fvec4) Load 56(inF1)
+            1019:   50(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 1017 1018
+                              Store 1016(r050) 1019
+            1021:   50(fvec4) Load 55(inF0)
+            1022:   50(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1021
+                              Store 1020(r051) 1022
             1024:   50(fvec4) Load 55(inF0)
-            1025:   50(fvec4) Load 56(inF1)
-            1026:   50(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1024 1025
-                              Store 1023(r053) 1026
+            1025:   50(fvec4) CompositeConstruct 293 293 293 293
+            1026:   50(fvec4) FDiv 1025 1024
+                              Store 1023(r052) 1026
             1028:   50(fvec4) Load 55(inF0)
             1029:   50(fvec4) Load 56(inF1)
-            1030:   50(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1028 1029 530
-                              Store 1027(r054) 1030
-            1033:   52(ivec4) BitReverse 1032
-                              Store 1031(r055) 1033
-            1035:   50(fvec4) Load 55(inF0)
-            1036:   50(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1035
-                              Store 1034(r056) 1036
-            1038:   50(fvec4) Load 55(inF0)
-            1039:   50(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1038
-                              Store 1037(r057) 1039
-            1041:   50(fvec4) Load 55(inF0)
-            1042:   50(fvec4) CompositeConstruct 141 141 141 141
-            1043:   50(fvec4) CompositeConstruct 289 289 289 289
-            1044:   50(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1041 1042 1043
-                              Store 1040(r058) 1044
-            1046:   50(fvec4) Load 55(inF0)
-            1047:   50(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1046
-                              Store 1045(r059) 1047
-            1049:   50(fvec4) Load 55(inF0)
-            1050:   50(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1049
-                              Store 1048(r060) 1050
-            1051:   50(fvec4) Load 55(inF0)
-            1052:   50(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1051
-                              Store 56(inF1) 1052
+            1030:   50(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1028 1029
+                              Store 1027(r053) 1030
+            1032:   50(fvec4) Load 55(inF0)
+            1033:   50(fvec4) Load 56(inF1)
+            1034:   50(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1032 1033 534
+                              Store 1031(r054) 1034
+            1037:   52(ivec4) BitReverse 1036
+                              Store 1035(r055) 1037
+            1039:   50(fvec4) Load 55(inF0)
+            1040:   50(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1039
+                              Store 1038(r056) 1040
+            1042:   50(fvec4) Load 55(inF0)
+            1043:   50(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1042
+                              Store 1041(r057) 1043
+            1045:   50(fvec4) Load 55(inF0)
+            1046:   50(fvec4) CompositeConstruct 141 141 141 141
+            1047:   50(fvec4) CompositeConstruct 293 293 293 293
+            1048:   50(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1045 1046 1047
+                              Store 1044(r058) 1048
+            1050:   50(fvec4) Load 55(inF0)
+            1051:   50(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1050
+                              Store 1049(r059) 1051
             1053:   50(fvec4) Load 55(inF0)
-            1054:   50(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1053
-                              Store 57(inF2) 1054
-            1056:   50(fvec4) Load 55(inF0)
-            1057:   50(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1056
-                              Store 1055(r061) 1057
-            1059:   50(fvec4) Load 55(inF0)
-            1060:   50(fvec4) Load 56(inF1)
-            1061:   50(fvec4) Load 57(inF2)
-            1062:   50(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1059 1060 1061
-                              Store 1058(r062) 1062
-            1064:   50(fvec4) Load 55(inF0)
-            1065:   50(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1064
-                              Store 1063(r063) 1065
-            1067:   50(fvec4) Load 55(inF0)
-            1068:   50(fvec4) Load 56(inF1)
-            1069:   50(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1067 1068
-                              Store 1066(r064) 1069
+            1054:   50(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1053
+                              Store 1052(r060) 1054
+            1055:   50(fvec4) Load 55(inF0)
+            1056:   50(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1055
+                              Store 56(inF1) 1056
+            1057:   50(fvec4) Load 55(inF0)
+            1058:   50(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1057
+                              Store 57(inF2) 1058
+            1060:   50(fvec4) Load 55(inF0)
+            1061:   50(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1060
+                              Store 1059(r061) 1061
+            1063:   50(fvec4) Load 55(inF0)
+            1064:   50(fvec4) Load 56(inF1)
+            1065:   50(fvec4) Load 57(inF2)
+            1066:   50(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1063 1064 1065
+                              Store 1062(r062) 1066
+            1068:   50(fvec4) Load 55(inF0)
+            1069:   50(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1068
+                              Store 1067(r063) 1069
             1071:   50(fvec4) Load 55(inF0)
-            1072:   50(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1071
-                              Store 1070(r065) 1072
-            1074:   50(fvec4) Load 55(inF0)
-            1075:   50(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1074
-                              Store 1073(r066) 1075
-            1077:   50(fvec4) Load 55(inF0)
-            1078:   50(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1077
-                              Store 1076(r067) 1078
-                              ReturnValue 1080
+            1072:   50(fvec4) Load 56(inF1)
+            1073:   50(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1071 1072
+                              Store 1070(r064) 1073
+            1075:   50(fvec4) Load 55(inF0)
+            1076:   50(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1075
+                              Store 1074(r065) 1076
+            1078:   50(fvec4) Load 55(inF0)
+            1079:   50(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1078
+                              Store 1077(r066) 1079
+            1081:   50(fvec4) Load 55(inF0)
+            1082:   50(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1081
+                              Store 1080(r067) 1082
+                              ReturnValue 1084
                               FunctionEnd
 68(PixelShaderFunction2x2(mf22;mf22;mf22;):          62 Function None 64
         65(inF0):     63(ptr) FunctionParameter
         66(inF1):     63(ptr) FunctionParameter
         67(inF2):     63(ptr) FunctionParameter
               69:             Label
-      1083(r000):    138(ptr) Variable Function
-      1088(r001):     63(ptr) Variable Function
-      1093(r003):    138(ptr) Variable Function
-      1097(r004):     63(ptr) Variable Function
-      1100(r005):     63(ptr) Variable Function
-      1103(r006):     63(ptr) Variable Function
-      1107(r007):     63(ptr) Variable Function
-      1117(r008):     63(ptr) Variable Function
-      1122(r009):     63(ptr) Variable Function
-      1125(r010):     63(ptr) Variable Function
-      1128(r011):     63(ptr) Variable Function
-      1131(r012):     63(ptr) Variable Function
-      1134(r013):     63(ptr) Variable Function
-      1137(r014):     63(ptr) Variable Function
-      1140(r015):     63(ptr) Variable Function
-      1143(r016):     63(ptr) Variable Function
-      1146(r017):     63(ptr) Variable Function
-      1149(r018):      7(ptr) Variable Function
-      1152(r019):     63(ptr) Variable Function
-      1155(R020):     63(ptr) Variable Function
-      1158(r021):     63(ptr) Variable Function
-      1161(r022):     63(ptr) Variable Function
-      1171(r023):     63(ptr) Variable Function
-      1174(r025):     63(ptr) Variable Function
-      1177(r026):     63(ptr) Variable Function
-     1181(r026a):     63(ptr) Variable Function
-      1186(r027):     63(ptr) Variable Function
-      1189(r028):     63(ptr) Variable Function
-      1193(r029):     63(ptr) Variable Function
-      1196(r030):     63(ptr) Variable Function
-      1200(r031):     63(ptr) Variable Function
-      1204(r032):     63(ptr) Variable Function
-      1208(r033):     63(ptr) Variable Function
-      1211(r034):     63(ptr) Variable Function
-      1214(r035):     63(ptr) Variable Function
-      1217(r036):     63(ptr) Variable Function
-      1222(r037):     63(ptr) Variable Function
-      1225(r038):     63(ptr) Variable Function
-      1232(r039):     63(ptr) Variable Function
-      1235(r049):     63(ptr) Variable Function
-      1240(r041):     63(ptr) Variable Function
-      1243(r042):     63(ptr) Variable Function
-      1247(r043):     63(ptr) Variable Function
-      1250(r044):     63(ptr) Variable Function
-      1255(r046):     63(ptr) Variable Function
-            1084:          62 Load 65(inF0)
-            1086:        1085 FOrdNotEqual 1084 141
-            1087:   137(bool) All 1086
-                              Store 1083(r000) 1087
-            1089:          62 Load 65(inF0)
-            1090:          62 ExtInst 1(GLSL.std.450) 4(FAbs) 1089
-                              Store 1088(r001) 1090
-            1091:          62 Load 65(inF0)
-            1092:          62 ExtInst 1(GLSL.std.450) 17(Acos) 1091
-            1094:          62 Load 65(inF0)
-            1095:        1085 FOrdNotEqual 1094 141
-            1096:   137(bool) Any 1095
-                              Store 1093(r003) 1096
+      1087(r000):    138(ptr) Variable Function
+      1092(r001):     63(ptr) Variable Function
+      1097(r003):    138(ptr) Variable Function
+      1101(r004):     63(ptr) Variable Function
+      1104(r005):     63(ptr) Variable Function
+      1107(r006):     63(ptr) Variable Function
+      1111(r007):     63(ptr) Variable Function
+      1121(r008):     63(ptr) Variable Function
+      1126(r009):     63(ptr) Variable Function
+      1129(r010):     63(ptr) Variable Function
+      1132(r011):     63(ptr) Variable Function
+      1135(r012):     63(ptr) Variable Function
+      1138(r013):     63(ptr) Variable Function
+      1141(r014):     63(ptr) Variable Function
+      1144(r015):     63(ptr) Variable Function
+      1147(r016):     63(ptr) Variable Function
+      1150(r017):     63(ptr) Variable Function
+      1153(r018):      7(ptr) Variable Function
+      1156(r019):     63(ptr) Variable Function
+      1159(R020):     63(ptr) Variable Function
+      1162(r021):     63(ptr) Variable Function
+      1165(r022):     63(ptr) Variable Function
+      1175(r023):     63(ptr) Variable Function
+      1178(r025):     63(ptr) Variable Function
+      1181(r026):     63(ptr) Variable Function
+     1185(r026a):     63(ptr) Variable Function
+      1190(r027):     63(ptr) Variable Function
+      1193(r028):     63(ptr) Variable Function
+      1197(r029):     63(ptr) Variable Function
+      1200(r030):     63(ptr) Variable Function
+      1204(r031):     63(ptr) Variable Function
+      1208(r032):     63(ptr) Variable Function
+      1212(r033):     63(ptr) Variable Function
+      1215(r034):     63(ptr) Variable Function
+      1218(r035):     63(ptr) Variable Function
+      1221(r036):     63(ptr) Variable Function
+      1226(r037):     63(ptr) Variable Function
+      1229(r038):     63(ptr) Variable Function
+      1236(r039):     63(ptr) Variable Function
+      1239(r049):     63(ptr) Variable Function
+      1244(r041):     63(ptr) Variable Function
+      1247(r042):     63(ptr) Variable Function
+      1251(r043):     63(ptr) Variable Function
+      1254(r044):     63(ptr) Variable Function
+      1259(r046):     63(ptr) Variable Function
+            1088:          62 Load 65(inF0)
+            1090:        1089 FOrdNotEqual 1088 141
+            1091:   137(bool) All 1090
+                              Store 1087(r000) 1091
+            1093:          62 Load 65(inF0)
+            1094:          62 ExtInst 1(GLSL.std.450) 4(FAbs) 1093
+                              Store 1092(r001) 1094
+            1095:          62 Load 65(inF0)
+            1096:          62 ExtInst 1(GLSL.std.450) 17(Acos) 1095
             1098:          62 Load 65(inF0)
-            1099:          62 ExtInst 1(GLSL.std.450) 16(Asin) 1098
-                              Store 1097(r004) 1099
-            1101:          62 Load 65(inF0)
-            1102:          62 ExtInst 1(GLSL.std.450) 18(Atan) 1101
-                              Store 1100(r005) 1102
-            1104:          62 Load 65(inF0)
-            1105:          62 Load 66(inF1)
-            1106:          62 ExtInst 1(GLSL.std.450) 25(Atan2) 1104 1105
-                              Store 1103(r006) 1106
+            1099:        1089 FOrdNotEqual 1098 141
+            1100:   137(bool) Any 1099
+                              Store 1097(r003) 1100
+            1102:          62 Load 65(inF0)
+            1103:          62 ExtInst 1(GLSL.std.450) 16(Asin) 1102
+                              Store 1101(r004) 1103
+            1105:          62 Load 65(inF0)
+            1106:          62 ExtInst 1(GLSL.std.450) 18(Atan) 1105
+                              Store 1104(r005) 1106
             1108:          62 Load 65(inF0)
-            1109:          62 ExtInst 1(GLSL.std.450) 9(Ceil) 1108
-                              Store 1107(r007) 1109
-            1110:          62 Load 65(inF0)
-            1112:        1085 FOrdLessThan 1110 1111
-            1113:   137(bool) Any 1112
-                              SelectionMerge 1115 None
-                              BranchConditional 1113 1114 1115
-            1114:               Label
+            1109:          62 Load 66(inF1)
+            1110:          62 ExtInst 1(GLSL.std.450) 25(Atan2) 1108 1109
+                              Store 1107(r006) 1110
+            1112:          62 Load 65(inF0)
+            1113:          62 ExtInst 1(GLSL.std.450) 9(Ceil) 1112
+                              Store 1111(r007) 1113
+            1114:          62 Load 65(inF0)
+            1116:        1089 FOrdLessThan 1114 1115
+            1117:   137(bool) Any 1116
+                              SelectionMerge 1119 None
+                              BranchConditional 1117 1118 1119
+            1118:               Label
                                 Kill
-            1115:             Label
-            1118:          62 Load 65(inF0)
-            1119:          62 Load 66(inF1)
-            1120:          62 Load 67(inF2)
-            1121:          62 ExtInst 1(GLSL.std.450) 43(FClamp) 1118 1119 1120
-                              Store 1117(r008) 1121
-            1123:          62 Load 65(inF0)
-            1124:          62 ExtInst 1(GLSL.std.450) 14(Cos) 1123
-                              Store 1122(r009) 1124
-            1126:          62 Load 65(inF0)
-            1127:          62 ExtInst 1(GLSL.std.450) 20(Cosh) 1126
-                              Store 1125(r010) 1127
-            1129:          62 Load 65(inF0)
-            1130:          62 DPdx 1129
-                              Store 1128(r011) 1130
-            1132:          62 Load 65(inF0)
-            1133:          62 DPdxCoarse 1132
-                              Store 1131(r012) 1133
-            1135:          62 Load 65(inF0)
-            1136:          62 DPdxFine 1135
-                              Store 1134(r013) 1136
-            1138:          62 Load 65(inF0)
-            1139:          62 DPdy 1138
-                              Store 1137(r014) 1139
-            1141:          62 Load 65(inF0)
-            1142:          62 DPdyCoarse 1141
-                              Store 1140(r015) 1142
-            1144:          62 Load 65(inF0)
-            1145:          62 DPdyFine 1144
-                              Store 1143(r016) 1145
-            1147:          62 Load 65(inF0)
-            1148:          62 ExtInst 1(GLSL.std.450) 12(Degrees) 1147
-                              Store 1146(r017) 1148
-            1150:          62 Load 65(inF0)
-            1151:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1150
-                              Store 1149(r018) 1151
-            1153:          62 Load 65(inF0)
-            1154:          62 ExtInst 1(GLSL.std.450) 27(Exp) 1153
-                              Store 1152(r019) 1154
-            1156:          62 Load 65(inF0)
-            1157:          62 ExtInst 1(GLSL.std.450) 29(Exp2) 1156
-                              Store 1155(R020) 1157
-            1159:          62 Load 65(inF0)
-            1160:          62 ExtInst 1(GLSL.std.450) 8(Floor) 1159
-                              Store 1158(r021) 1160
-            1162:          62 Load 65(inF0)
-            1163:          62 Load 66(inF1)
-            1164:   26(fvec2) CompositeExtract 1162 0
-            1165:   26(fvec2) CompositeExtract 1163 0
-            1166:   26(fvec2) FMod 1164 1165
-            1167:   26(fvec2) CompositeExtract 1162 1
-            1168:   26(fvec2) CompositeExtract 1163 1
-            1169:   26(fvec2) FMod 1167 1168
-            1170:          62 CompositeConstruct 1166 1169
-                              Store 1161(r022) 1170
-            1172:          62 Load 65(inF0)
-            1173:          62 ExtInst 1(GLSL.std.450) 10(Fract) 1172
-                              Store 1171(r023) 1173
-            1175:          62 Load 65(inF0)
-            1176:          62 Fwidth 1175
-                              Store 1174(r025) 1176
-            1178:          62 Load 65(inF0)
-            1179:          62 Load 66(inF1)
-            1180:          62 ExtInst 1(GLSL.std.450) 53(Ldexp) 1178 1179
-                              Store 1177(r026) 1180
+            1119:             Label
+            1122:          62 Load 65(inF0)
+            1123:          62 Load 66(inF1)
+            1124:          62 Load 67(inF2)
+            1125:          62 ExtInst 1(GLSL.std.450) 43(FClamp) 1122 1123 1124
+                              Store 1121(r008) 1125
+            1127:          62 Load 65(inF0)
+            1128:          62 ExtInst 1(GLSL.std.450) 14(Cos) 1127
+                              Store 1126(r009) 1128
+            1130:          62 Load 65(inF0)
+            1131:          62 ExtInst 1(GLSL.std.450) 20(Cosh) 1130
+                              Store 1129(r010) 1131
+            1133:          62 Load 65(inF0)
+            1134:          62 DPdx 1133
+                              Store 1132(r011) 1134
+            1136:          62 Load 65(inF0)
+            1137:          62 DPdxCoarse 1136
+                              Store 1135(r012) 1137
+            1139:          62 Load 65(inF0)
+            1140:          62 DPdxFine 1139
+                              Store 1138(r013) 1140
+            1142:          62 Load 65(inF0)
+            1143:          62 DPdy 1142
+                              Store 1141(r014) 1143
+            1145:          62 Load 65(inF0)
+            1146:          62 DPdyCoarse 1145
+                              Store 1144(r015) 1146
+            1148:          62 Load 65(inF0)
+            1149:          62 DPdyFine 1148
+                              Store 1147(r016) 1149
+            1151:          62 Load 65(inF0)
+            1152:          62 ExtInst 1(GLSL.std.450) 12(Degrees) 1151
+                              Store 1150(r017) 1152
+            1154:          62 Load 65(inF0)
+            1155:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1154
+                              Store 1153(r018) 1155
+            1157:          62 Load 65(inF0)
+            1158:          62 ExtInst 1(GLSL.std.450) 27(Exp) 1157
+                              Store 1156(r019) 1158
+            1160:          62 Load 65(inF0)
+            1161:          62 ExtInst 1(GLSL.std.450) 29(Exp2) 1160
+                              Store 1159(R020) 1161
+            1163:          62 Load 65(inF0)
+            1164:          62 ExtInst 1(GLSL.std.450) 8(Floor) 1163
+                              Store 1162(r021) 1164
+            1166:          62 Load 65(inF0)
+            1167:          62 Load 66(inF1)
+            1168:   26(fvec2) CompositeExtract 1166 0
+            1169:   26(fvec2) CompositeExtract 1167 0
+            1170:   26(fvec2) FMod 1168 1169
+            1171:   26(fvec2) CompositeExtract 1166 1
+            1172:   26(fvec2) CompositeExtract 1167 1
+            1173:   26(fvec2) FMod 1171 1172
+            1174:          62 CompositeConstruct 1170 1173
+                              Store 1165(r022) 1174
+            1176:          62 Load 65(inF0)
+            1177:          62 ExtInst 1(GLSL.std.450) 10(Fract) 1176
+                              Store 1175(r023) 1177
+            1179:          62 Load 65(inF0)
+            1180:          62 Fwidth 1179
+                              Store 1178(r025) 1180
             1182:          62 Load 65(inF0)
             1183:          62 Load 66(inF1)
-            1184:          62 Load 67(inF2)
-            1185:          62 ExtInst 1(GLSL.std.450) 46(FMix) 1182 1183 1184
-                              Store 1181(r026a) 1185
-            1187:          62 Load 65(inF0)
-            1188:          62 ExtInst 1(GLSL.std.450) 28(Log) 1187
-                              Store 1186(r027) 1188
-            1190:          62 Load 65(inF0)
-            1191:          62 ExtInst 1(GLSL.std.450) 30(Log2) 1190
-            1192:          62 MatrixTimesScalar 1191 268
-                              Store 1189(r028) 1192
+            1184:          62 ExtInst 1(GLSL.std.450) 53(Ldexp) 1182 1183
+                              Store 1181(r026) 1184
+            1186:          62 Load 65(inF0)
+            1187:          62 Load 66(inF1)
+            1188:          62 Load 67(inF2)
+            1189:          62 ExtInst 1(GLSL.std.450) 46(FMix) 1186 1187 1188
+                              Store 1185(r026a) 1189
+            1191:          62 Load 65(inF0)
+            1192:          62 ExtInst 1(GLSL.std.450) 28(Log) 1191
+                              Store 1190(r027) 1192
             1194:          62 Load 65(inF0)
             1195:          62 ExtInst 1(GLSL.std.450) 30(Log2) 1194
-                              Store 1193(r029) 1195
-            1197:          62 Load 65(inF0)
-            1198:          62 Load 66(inF1)
-            1199:          62 ExtInst 1(GLSL.std.450) 40(FMax) 1197 1198
-                              Store 1196(r030) 1199
+            1196:          62 MatrixTimesScalar 1195 272
+                              Store 1193(r028) 1196
+            1198:          62 Load 65(inF0)
+            1199:          62 ExtInst 1(GLSL.std.450) 30(Log2) 1198
+                              Store 1197(r029) 1199
             1201:          62 Load 65(inF0)
             1202:          62 Load 66(inF1)
-            1203:          62 ExtInst 1(GLSL.std.450) 37(FMin) 1201 1202
-                              Store 1200(r031) 1203
+            1203:          62 ExtInst 1(GLSL.std.450) 40(FMax) 1201 1202
+                              Store 1200(r030) 1203
             1205:          62 Load 65(inF0)
             1206:          62 Load 66(inF1)
-            1207:          62 ExtInst 1(GLSL.std.450) 26(Pow) 1205 1206
-                              Store 1204(r032) 1207
+            1207:          62 ExtInst 1(GLSL.std.450) 37(FMin) 1205 1206
+                              Store 1204(r031) 1207
             1209:          62 Load 65(inF0)
-            1210:          62 ExtInst 1(GLSL.std.450) 11(Radians) 1209
-                              Store 1208(r033) 1210
-            1212:          62 Load 65(inF0)
-            1213:          62 ExtInst 1(GLSL.std.450) 2(RoundEven) 1212
-                              Store 1211(r034) 1213
-            1215:          62 Load 65(inF0)
-            1216:          62 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1215
-                              Store 1214(r035) 1216
-            1218:          62 Load 65(inF0)
-            1219:   26(fvec2) CompositeConstruct 141 141
-            1220:   26(fvec2) CompositeConstruct 289 289
-            1221:          62 ExtInst 1(GLSL.std.450) 43(FClamp) 1218 1219 1220
-                              Store 1217(r036) 1221
-            1223:          62 Load 65(inF0)
-            1224:          62 ExtInst 1(GLSL.std.450) 6(FSign) 1223
-                              Store 1222(r037) 1224
-            1226:          62 Load 65(inF0)
-            1227:          62 ExtInst 1(GLSL.std.450) 13(Sin) 1226
-                              Store 1225(r038) 1227
-            1228:          62 Load 65(inF0)
-            1229:          62 ExtInst 1(GLSL.std.450) 13(Sin) 1228
-                              Store 66(inF1) 1229
+            1210:          62 Load 66(inF1)
+            1211:          62 ExtInst 1(GLSL.std.450) 26(Pow) 1209 1210
+                              Store 1208(r032) 1211
+            1213:          62 Load 65(inF0)
+            1214:          62 ExtInst 1(GLSL.std.450) 11(Radians) 1213
+                              Store 1212(r033) 1214
+            1216:          62 Load 65(inF0)
+            1217:          62 ExtInst 1(GLSL.std.450) 2(RoundEven) 1216
+                              Store 1215(r034) 1217
+            1219:          62 Load 65(inF0)
+            1220:          62 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1219
+                              Store 1218(r035) 1220
+            1222:          62 Load 65(inF0)
+            1223:   26(fvec2) CompositeConstruct 141 141
+            1224:   26(fvec2) CompositeConstruct 293 293
+            1225:          62 ExtInst 1(GLSL.std.450) 43(FClamp) 1222 1223 1224
+                              Store 1221(r036) 1225
+            1227:          62 Load 65(inF0)
+            1228:          62 ExtInst 1(GLSL.std.450) 6(FSign) 1227
+                              Store 1226(r037) 1228
             1230:          62 Load 65(inF0)
-            1231:          62 ExtInst 1(GLSL.std.450) 14(Cos) 1230
-                              Store 67(inF2) 1231
-            1233:          62 Load 65(inF0)
-            1234:          62 ExtInst 1(GLSL.std.450) 19(Sinh) 1233
-                              Store 1232(r039) 1234
-            1236:          62 Load 65(inF0)
-            1237:          62 Load 66(inF1)
-            1238:          62 Load 67(inF2)
-            1239:          62 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1236 1237 1238
-                              Store 1235(r049) 1239
-            1241:          62 Load 65(inF0)
-            1242:          62 ExtInst 1(GLSL.std.450) 31(Sqrt) 1241
-                              Store 1240(r041) 1242
-            1244:          62 Load 65(inF0)
-            1245:          62 Load 66(inF1)
-            1246:          62 ExtInst 1(GLSL.std.450) 48(Step) 1244 1245
-                              Store 1243(r042) 1246
+            1231:          62 ExtInst 1(GLSL.std.450) 13(Sin) 1230
+                              Store 1229(r038) 1231
+            1232:          62 Load 65(inF0)
+            1233:          62 ExtInst 1(GLSL.std.450) 13(Sin) 1232
+                              Store 66(inF1) 1233
+            1234:          62 Load 65(inF0)
+            1235:          62 ExtInst 1(GLSL.std.450) 14(Cos) 1234
+                              Store 67(inF2) 1235
+            1237:          62 Load 65(inF0)
+            1238:          62 ExtInst 1(GLSL.std.450) 19(Sinh) 1237
+                              Store 1236(r039) 1238
+            1240:          62 Load 65(inF0)
+            1241:          62 Load 66(inF1)
+            1242:          62 Load 67(inF2)
+            1243:          62 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1240 1241 1242
+                              Store 1239(r049) 1243
+            1245:          62 Load 65(inF0)
+            1246:          62 ExtInst 1(GLSL.std.450) 31(Sqrt) 1245
+                              Store 1244(r041) 1246
             1248:          62 Load 65(inF0)
-            1249:          62 ExtInst 1(GLSL.std.450) 15(Tan) 1248
-                              Store 1247(r043) 1249
-            1251:          62 Load 65(inF0)
-            1252:          62 ExtInst 1(GLSL.std.450) 21(Tanh) 1251
-                              Store 1250(r044) 1252
-            1253:          62 Load 65(inF0)
-            1254:          62 Transpose 1253
-            1256:          62 Load 65(inF0)
-            1257:          62 ExtInst 1(GLSL.std.450) 3(Trunc) 1256
-                              Store 1255(r046) 1257
-                              ReturnValue 1259
+            1249:          62 Load 66(inF1)
+            1250:          62 ExtInst 1(GLSL.std.450) 48(Step) 1248 1249
+                              Store 1247(r042) 1250
+            1252:          62 Load 65(inF0)
+            1253:          62 ExtInst 1(GLSL.std.450) 15(Tan) 1252
+                              Store 1251(r043) 1253
+            1255:          62 Load 65(inF0)
+            1256:          62 ExtInst 1(GLSL.std.450) 21(Tanh) 1255
+                              Store 1254(r044) 1256
+            1257:          62 Load 65(inF0)
+            1258:          62 Transpose 1257
+            1260:          62 Load 65(inF0)
+            1261:          62 ExtInst 1(GLSL.std.450) 3(Trunc) 1260
+                              Store 1259(r046) 1261
+                              ReturnValue 1263
                               FunctionEnd
 76(PixelShaderFunction3x3(mf33;mf33;mf33;):          70 Function None 72
         73(inF0):     71(ptr) FunctionParameter
         74(inF1):     71(ptr) FunctionParameter
         75(inF2):     71(ptr) FunctionParameter
               77:             Label
-      1262(r000):    138(ptr) Variable Function
-      1267(r001):     71(ptr) Variable Function
-      1272(r003):    138(ptr) Variable Function
-      1276(r004):     71(ptr) Variable Function
-      1279(r005):     71(ptr) Variable Function
-      1282(r006):     71(ptr) Variable Function
-      1286(r007):     71(ptr) Variable Function
-      1296(r008):     71(ptr) Variable Function
-      1301(r009):     71(ptr) Variable Function
-      1304(r010):     71(ptr) Variable Function
-      1307(r011):     71(ptr) Variable Function
-      1310(r012):     71(ptr) Variable Function
-      1313(r013):     71(ptr) Variable Function
-      1316(r014):     71(ptr) Variable Function
-      1319(r015):     71(ptr) Variable Function
-      1322(r016):     71(ptr) Variable Function
-      1325(r017):     71(ptr) Variable Function
-      1328(r018):      7(ptr) Variable Function
-      1331(r019):     71(ptr) Variable Function
-      1334(R020):     71(ptr) Variable Function
-      1337(r021):     71(ptr) Variable Function
-      1340(r022):     71(ptr) Variable Function
-      1353(r023):     71(ptr) Variable Function
-      1356(r025):     71(ptr) Variable Function
-      1359(r026):     71(ptr) Variable Function
-     1363(r026a):     71(ptr) Variable Function
-      1368(r027):     71(ptr) Variable Function
-      1371(r028):     71(ptr) Variable Function
-      1375(r029):     71(ptr) Variable Function
-      1378(r030):     71(ptr) Variable Function
-      1382(r031):     71(ptr) Variable Function
-      1386(r032):     71(ptr) Variable Function
-      1390(r033):     71(ptr) Variable Function
-      1393(r034):     71(ptr) Variable Function
-      1396(r035):     71(ptr) Variable Function
-      1399(r036):     71(ptr) Variable Function
-      1404(r037):     71(ptr) Variable Function
-      1407(r038):     71(ptr) Variable Function
-      1414(r039):     71(ptr) Variable Function
-      1417(r049):     71(ptr) Variable Function
-      1422(r041):     71(ptr) Variable Function
-      1425(r042):     71(ptr) Variable Function
-      1429(r043):     71(ptr) Variable Function
-      1432(r044):     71(ptr) Variable Function
-      1437(r046):     71(ptr) Variable Function
-            1263:          70 Load 73(inF0)
-            1265:        1264 FOrdNotEqual 1263 141
-            1266:   137(bool) All 1265
-                              Store 1262(r000) 1266
-            1268:          70 Load 73(inF0)
-            1269:          70 ExtInst 1(GLSL.std.450) 4(FAbs) 1268
-                              Store 1267(r001) 1269
-            1270:          70 Load 73(inF0)
-            1271:          70 ExtInst 1(GLSL.std.450) 17(Acos) 1270
-            1273:          70 Load 73(inF0)
-            1274:        1264 FOrdNotEqual 1273 141
-            1275:   137(bool) Any 1274
-                              Store 1272(r003) 1275
+      1266(r000):    138(ptr) Variable Function
+      1271(r001):     71(ptr) Variable Function
+      1276(r003):    138(ptr) Variable Function
+      1280(r004):     71(ptr) Variable Function
+      1283(r005):     71(ptr) Variable Function
+      1286(r006):     71(ptr) Variable Function
+      1290(r007):     71(ptr) Variable Function
+      1300(r008):     71(ptr) Variable Function
+      1305(r009):     71(ptr) Variable Function
+      1308(r010):     71(ptr) Variable Function
+      1311(r011):     71(ptr) Variable Function
+      1314(r012):     71(ptr) Variable Function
+      1317(r013):     71(ptr) Variable Function
+      1320(r014):     71(ptr) Variable Function
+      1323(r015):     71(ptr) Variable Function
+      1326(r016):     71(ptr) Variable Function
+      1329(r017):     71(ptr) Variable Function
+      1332(r018):      7(ptr) Variable Function
+      1335(r019):     71(ptr) Variable Function
+      1338(R020):     71(ptr) Variable Function
+      1341(r021):     71(ptr) Variable Function
+      1344(r022):     71(ptr) Variable Function
+      1357(r023):     71(ptr) Variable Function
+      1360(r025):     71(ptr) Variable Function
+      1363(r026):     71(ptr) Variable Function
+     1367(r026a):     71(ptr) Variable Function
+      1372(r027):     71(ptr) Variable Function
+      1375(r028):     71(ptr) Variable Function
+      1379(r029):     71(ptr) Variable Function
+      1382(r030):     71(ptr) Variable Function
+      1386(r031):     71(ptr) Variable Function
+      1390(r032):     71(ptr) Variable Function
+      1394(r033):     71(ptr) Variable Function
+      1397(r034):     71(ptr) Variable Function
+      1400(r035):     71(ptr) Variable Function
+      1403(r036):     71(ptr) Variable Function
+      1408(r037):     71(ptr) Variable Function
+      1411(r038):     71(ptr) Variable Function
+      1418(r039):     71(ptr) Variable Function
+      1421(r049):     71(ptr) Variable Function
+      1426(r041):     71(ptr) Variable Function
+      1429(r042):     71(ptr) Variable Function
+      1433(r043):     71(ptr) Variable Function
+      1436(r044):     71(ptr) Variable Function
+      1441(r046):     71(ptr) Variable Function
+            1267:          70 Load 73(inF0)
+            1269:        1268 FOrdNotEqual 1267 141
+            1270:   137(bool) All 1269
+                              Store 1266(r000) 1270
+            1272:          70 Load 73(inF0)
+            1273:          70 ExtInst 1(GLSL.std.450) 4(FAbs) 1272
+                              Store 1271(r001) 1273
+            1274:          70 Load 73(inF0)
+            1275:          70 ExtInst 1(GLSL.std.450) 17(Acos) 1274
             1277:          70 Load 73(inF0)
-            1278:          70 ExtInst 1(GLSL.std.450) 16(Asin) 1277
-                              Store 1276(r004) 1278
-            1280:          70 Load 73(inF0)
-            1281:          70 ExtInst 1(GLSL.std.450) 18(Atan) 1280
-                              Store 1279(r005) 1281
-            1283:          70 Load 73(inF0)
-            1284:          70 Load 74(inF1)
-            1285:          70 ExtInst 1(GLSL.std.450) 25(Atan2) 1283 1284
-                              Store 1282(r006) 1285
+            1278:        1268 FOrdNotEqual 1277 141
+            1279:   137(bool) Any 1278
+                              Store 1276(r003) 1279
+            1281:          70 Load 73(inF0)
+            1282:          70 ExtInst 1(GLSL.std.450) 16(Asin) 1281
+                              Store 1280(r004) 1282
+            1284:          70 Load 73(inF0)
+            1285:          70 ExtInst 1(GLSL.std.450) 18(Atan) 1284
+                              Store 1283(r005) 1285
             1287:          70 Load 73(inF0)
-            1288:          70 ExtInst 1(GLSL.std.450) 9(Ceil) 1287
-                              Store 1286(r007) 1288
-            1289:          70 Load 73(inF0)
-            1291:        1264 FOrdLessThan 1289 1290
-            1292:   137(bool) Any 1291
-                              SelectionMerge 1294 None
-                              BranchConditional 1292 1293 1294
-            1293:               Label
+            1288:          70 Load 74(inF1)
+            1289:          70 ExtInst 1(GLSL.std.450) 25(Atan2) 1287 1288
+                              Store 1286(r006) 1289
+            1291:          70 Load 73(inF0)
+            1292:          70 ExtInst 1(GLSL.std.450) 9(Ceil) 1291
+                              Store 1290(r007) 1292
+            1293:          70 Load 73(inF0)
+            1295:        1268 FOrdLessThan 1293 1294
+            1296:   137(bool) Any 1295
+                              SelectionMerge 1298 None
+                              BranchConditional 1296 1297 1298
+            1297:               Label
                                 Kill
-            1294:             Label
-            1297:          70 Load 73(inF0)
-            1298:          70 Load 74(inF1)
-            1299:          70 Load 75(inF2)
-            1300:          70 ExtInst 1(GLSL.std.450) 43(FClamp) 1297 1298 1299
-                              Store 1296(r008) 1300
-            1302:          70 Load 73(inF0)
-            1303:          70 ExtInst 1(GLSL.std.450) 14(Cos) 1302
-                              Store 1301(r009) 1303
-            1305:          70 Load 73(inF0)
-            1306:          70 ExtInst 1(GLSL.std.450) 20(Cosh) 1305
-                              Store 1304(r010) 1306
-            1308:          70 Load 73(inF0)
-            1309:          70 DPdx 1308
-                              Store 1307(r011) 1309
-            1311:          70 Load 73(inF0)
-            1312:          70 DPdxCoarse 1311
-                              Store 1310(r012) 1312
-            1314:          70 Load 73(inF0)
-            1315:          70 DPdxFine 1314
-                              Store 1313(r013) 1315
-            1317:          70 Load 73(inF0)
-            1318:          70 DPdy 1317
-                              Store 1316(r014) 1318
-            1320:          70 Load 73(inF0)
-            1321:          70 DPdyCoarse 1320
-                              Store 1319(r015) 1321
-            1323:          70 Load 73(inF0)
-            1324:          70 DPdyFine 1323
-                              Store 1322(r016) 1324
-            1326:          70 Load 73(inF0)
-            1327:          70 ExtInst 1(GLSL.std.450) 12(Degrees) 1326
-                              Store 1325(r017) 1327
-            1329:          70 Load 73(inF0)
-            1330:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1329
-                              Store 1328(r018) 1330
-            1332:          70 Load 73(inF0)
-            1333:          70 ExtInst 1(GLSL.std.450) 27(Exp) 1332
-                              Store 1331(r019) 1333
-            1335:          70 Load 73(inF0)
-            1336:          70 ExtInst 1(GLSL.std.450) 29(Exp2) 1335
-                              Store 1334(R020) 1336
-            1338:          70 Load 73(inF0)
-            1339:          70 ExtInst 1(GLSL.std.450) 8(Floor) 1338
-                              Store 1337(r021) 1339
-            1341:          70 Load 73(inF0)
-            1342:          70 Load 74(inF1)
-            1343:   38(fvec3) CompositeExtract 1341 0
-            1344:   38(fvec3) CompositeExtract 1342 0
-            1345:   38(fvec3) FMod 1343 1344
-            1346:   38(fvec3) CompositeExtract 1341 1
-            1347:   38(fvec3) CompositeExtract 1342 1
-            1348:   38(fvec3) FMod 1346 1347
-            1349:   38(fvec3) CompositeExtract 1341 2
-            1350:   38(fvec3) CompositeExtract 1342 2
-            1351:   38(fvec3) FMod 1349 1350
-            1352:          70 CompositeConstruct 1345 1348 1351
-                              Store 1340(r022) 1352
-            1354:          70 Load 73(inF0)
-            1355:          70 ExtInst 1(GLSL.std.450) 10(Fract) 1354
-                              Store 1353(r023) 1355
-            1357:          70 Load 73(inF0)
-            1358:          70 Fwidth 1357
-                              Store 1356(r025) 1358
-            1360:          70 Load 73(inF0)
-            1361:          70 Load 74(inF1)
-            1362:          70 ExtInst 1(GLSL.std.450) 53(Ldexp) 1360 1361
-                              Store 1359(r026) 1362
+            1298:             Label
+            1301:          70 Load 73(inF0)
+            1302:          70 Load 74(inF1)
+            1303:          70 Load 75(inF2)
+            1304:          70 ExtInst 1(GLSL.std.450) 43(FClamp) 1301 1302 1303
+                              Store 1300(r008) 1304
+            1306:          70 Load 73(inF0)
+            1307:          70 ExtInst 1(GLSL.std.450) 14(Cos) 1306
+                              Store 1305(r009) 1307
+            1309:          70 Load 73(inF0)
+            1310:          70 ExtInst 1(GLSL.std.450) 20(Cosh) 1309
+                              Store 1308(r010) 1310
+            1312:          70 Load 73(inF0)
+            1313:          70 DPdx 1312
+                              Store 1311(r011) 1313
+            1315:          70 Load 73(inF0)
+            1316:          70 DPdxCoarse 1315
+                              Store 1314(r012) 1316
+            1318:          70 Load 73(inF0)
+            1319:          70 DPdxFine 1318
+                              Store 1317(r013) 1319
+            1321:          70 Load 73(inF0)
+            1322:          70 DPdy 1321
+                              Store 1320(r014) 1322
+            1324:          70 Load 73(inF0)
+            1325:          70 DPdyCoarse 1324
+                              Store 1323(r015) 1325
+            1327:          70 Load 73(inF0)
+            1328:          70 DPdyFine 1327
+                              Store 1326(r016) 1328
+            1330:          70 Load 73(inF0)
+            1331:          70 ExtInst 1(GLSL.std.450) 12(Degrees) 1330
+                              Store 1329(r017) 1331
+            1333:          70 Load 73(inF0)
+            1334:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1333
+                              Store 1332(r018) 1334
+            1336:          70 Load 73(inF0)
+            1337:          70 ExtInst 1(GLSL.std.450) 27(Exp) 1336
+                              Store 1335(r019) 1337
+            1339:          70 Load 73(inF0)
+            1340:          70 ExtInst 1(GLSL.std.450) 29(Exp2) 1339
+                              Store 1338(R020) 1340
+            1342:          70 Load 73(inF0)
+            1343:          70 ExtInst 1(GLSL.std.450) 8(Floor) 1342
+                              Store 1341(r021) 1343
+            1345:          70 Load 73(inF0)
+            1346:          70 Load 74(inF1)
+            1347:   38(fvec3) CompositeExtract 1345 0
+            1348:   38(fvec3) CompositeExtract 1346 0
+            1349:   38(fvec3) FMod 1347 1348
+            1350:   38(fvec3) CompositeExtract 1345 1
+            1351:   38(fvec3) CompositeExtract 1346 1
+            1352:   38(fvec3) FMod 1350 1351
+            1353:   38(fvec3) CompositeExtract 1345 2
+            1354:   38(fvec3) CompositeExtract 1346 2
+            1355:   38(fvec3) FMod 1353 1354
+            1356:          70 CompositeConstruct 1349 1352 1355
+                              Store 1344(r022) 1356
+            1358:          70 Load 73(inF0)
+            1359:          70 ExtInst 1(GLSL.std.450) 10(Fract) 1358
+                              Store 1357(r023) 1359
+            1361:          70 Load 73(inF0)
+            1362:          70 Fwidth 1361
+                              Store 1360(r025) 1362
             1364:          70 Load 73(inF0)
             1365:          70 Load 74(inF1)
-            1366:          70 Load 75(inF2)
-            1367:          70 ExtInst 1(GLSL.std.450) 46(FMix) 1364 1365 1366
-                              Store 1363(r026a) 1367
-            1369:          70 Load 73(inF0)
-            1370:          70 ExtInst 1(GLSL.std.450) 28(Log) 1369
-                              Store 1368(r027) 1370
-            1372:          70 Load 73(inF0)
-            1373:          70 ExtInst 1(GLSL.std.450) 30(Log2) 1372
-            1374:          70 MatrixTimesScalar 1373 268
-                              Store 1371(r028) 1374
+            1366:          70 ExtInst 1(GLSL.std.450) 53(Ldexp) 1364 1365
+                              Store 1363(r026) 1366
+            1368:          70 Load 73(inF0)
+            1369:          70 Load 74(inF1)
+            1370:          70 Load 75(inF2)
+            1371:          70 ExtInst 1(GLSL.std.450) 46(FMix) 1368 1369 1370
+                              Store 1367(r026a) 1371
+            1373:          70 Load 73(inF0)
+            1374:          70 ExtInst 1(GLSL.std.450) 28(Log) 1373
+                              Store 1372(r027) 1374
             1376:          70 Load 73(inF0)
             1377:          70 ExtInst 1(GLSL.std.450) 30(Log2) 1376
-                              Store 1375(r029) 1377
-            1379:          70 Load 73(inF0)
-            1380:          70 Load 74(inF1)
-            1381:          70 ExtInst 1(GLSL.std.450) 40(FMax) 1379 1380
-                              Store 1378(r030) 1381
+            1378:          70 MatrixTimesScalar 1377 272
+                              Store 1375(r028) 1378
+            1380:          70 Load 73(inF0)
+            1381:          70 ExtInst 1(GLSL.std.450) 30(Log2) 1380
+                              Store 1379(r029) 1381
             1383:          70 Load 73(inF0)
             1384:          70 Load 74(inF1)
-            1385:          70 ExtInst 1(GLSL.std.450) 37(FMin) 1383 1384
-                              Store 1382(r031) 1385
+            1385:          70 ExtInst 1(GLSL.std.450) 40(FMax) 1383 1384
+                              Store 1382(r030) 1385
             1387:          70 Load 73(inF0)
             1388:          70 Load 74(inF1)
-            1389:          70 ExtInst 1(GLSL.std.450) 26(Pow) 1387 1388
-                              Store 1386(r032) 1389
+            1389:          70 ExtInst 1(GLSL.std.450) 37(FMin) 1387 1388
+                              Store 1386(r031) 1389
             1391:          70 Load 73(inF0)
-            1392:          70 ExtInst 1(GLSL.std.450) 11(Radians) 1391
-                              Store 1390(r033) 1392
-            1394:          70 Load 73(inF0)
-            1395:          70 ExtInst 1(GLSL.std.450) 2(RoundEven) 1394
-                              Store 1393(r034) 1395
-            1397:          70 Load 73(inF0)
-            1398:          70 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1397
-                              Store 1396(r035) 1398
-            1400:          70 Load 73(inF0)
-            1401:   38(fvec3) CompositeConstruct 141 141 141
-            1402:   38(fvec3) CompositeConstruct 289 289 289
-            1403:          70 ExtInst 1(GLSL.std.450) 43(FClamp) 1400 1401 1402
-                              Store 1399(r036) 1403
-            1405:          70 Load 73(inF0)
-            1406:          70 ExtInst 1(GLSL.std.450) 6(FSign) 1405
-                              Store 1404(r037) 1406
-            1408:          70 Load 73(inF0)
-            1409:          70 ExtInst 1(GLSL.std.450) 13(Sin) 1408
-                              Store 1407(r038) 1409
-            1410:          70 Load 73(inF0)
-            1411:          70 ExtInst 1(GLSL.std.450) 13(Sin) 1410
-                              Store 74(inF1) 1411
+            1392:          70 Load 74(inF1)
+            1393:          70 ExtInst 1(GLSL.std.450) 26(Pow) 1391 1392
+                              Store 1390(r032) 1393
+            1395:          70 Load 73(inF0)
+            1396:          70 ExtInst 1(GLSL.std.450) 11(Radians) 1395
+                              Store 1394(r033) 1396
+            1398:          70 Load 73(inF0)
+            1399:          70 ExtInst 1(GLSL.std.450) 2(RoundEven) 1398
+                              Store 1397(r034) 1399
+            1401:          70 Load 73(inF0)
+            1402:          70 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1401
+                              Store 1400(r035) 1402
+            1404:          70 Load 73(inF0)
+            1405:   38(fvec3) CompositeConstruct 141 141 141
+            1406:   38(fvec3) CompositeConstruct 293 293 293
+            1407:          70 ExtInst 1(GLSL.std.450) 43(FClamp) 1404 1405 1406
+                              Store 1403(r036) 1407
+            1409:          70 Load 73(inF0)
+            1410:          70 ExtInst 1(GLSL.std.450) 6(FSign) 1409
+                              Store 1408(r037) 1410
             1412:          70 Load 73(inF0)
-            1413:          70 ExtInst 1(GLSL.std.450) 14(Cos) 1412
-                              Store 75(inF2) 1413
-            1415:          70 Load 73(inF0)
-            1416:          70 ExtInst 1(GLSL.std.450) 19(Sinh) 1415
-                              Store 1414(r039) 1416
-            1418:          70 Load 73(inF0)
-            1419:          70 Load 74(inF1)
-            1420:          70 Load 75(inF2)
-            1421:          70 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1418 1419 1420
-                              Store 1417(r049) 1421
-            1423:          70 Load 73(inF0)
-            1424:          70 ExtInst 1(GLSL.std.450) 31(Sqrt) 1423
-                              Store 1422(r041) 1424
-            1426:          70 Load 73(inF0)
-            1427:          70 Load 74(inF1)
-            1428:          70 ExtInst 1(GLSL.std.450) 48(Step) 1426 1427
-                              Store 1425(r042) 1428
+            1413:          70 ExtInst 1(GLSL.std.450) 13(Sin) 1412
+                              Store 1411(r038) 1413
+            1414:          70 Load 73(inF0)
+            1415:          70 ExtInst 1(GLSL.std.450) 13(Sin) 1414
+                              Store 74(inF1) 1415
+            1416:          70 Load 73(inF0)
+            1417:          70 ExtInst 1(GLSL.std.450) 14(Cos) 1416
+                              Store 75(inF2) 1417
+            1419:          70 Load 73(inF0)
+            1420:          70 ExtInst 1(GLSL.std.450) 19(Sinh) 1419
+                              Store 1418(r039) 1420
+            1422:          70 Load 73(inF0)
+            1423:          70 Load 74(inF1)
+            1424:          70 Load 75(inF2)
+            1425:          70 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1422 1423 1424
+                              Store 1421(r049) 1425
+            1427:          70 Load 73(inF0)
+            1428:          70 ExtInst 1(GLSL.std.450) 31(Sqrt) 1427
+                              Store 1426(r041) 1428
             1430:          70 Load 73(inF0)
-            1431:          70 ExtInst 1(GLSL.std.450) 15(Tan) 1430
-                              Store 1429(r043) 1431
-            1433:          70 Load 73(inF0)
-            1434:          70 ExtInst 1(GLSL.std.450) 21(Tanh) 1433
-                              Store 1432(r044) 1434
-            1435:          70 Load 73(inF0)
-            1436:          70 Transpose 1435
-            1438:          70 Load 73(inF0)
-            1439:          70 ExtInst 1(GLSL.std.450) 3(Trunc) 1438
-                              Store 1437(r046) 1439
-                              ReturnValue 1441
+            1431:          70 Load 74(inF1)
+            1432:          70 ExtInst 1(GLSL.std.450) 48(Step) 1430 1431
+                              Store 1429(r042) 1432
+            1434:          70 Load 73(inF0)
+            1435:          70 ExtInst 1(GLSL.std.450) 15(Tan) 1434
+                              Store 1433(r043) 1435
+            1437:          70 Load 73(inF0)
+            1438:          70 ExtInst 1(GLSL.std.450) 21(Tanh) 1437
+                              Store 1436(r044) 1438
+            1439:          70 Load 73(inF0)
+            1440:          70 Transpose 1439
+            1442:          70 Load 73(inF0)
+            1443:          70 ExtInst 1(GLSL.std.450) 3(Trunc) 1442
+                              Store 1441(r046) 1443
+                              ReturnValue 1445
                               FunctionEnd
 84(PixelShaderFunction4x4(mf44;mf44;mf44;):          78 Function None 80
         81(inF0):     79(ptr) FunctionParameter
         82(inF1):     79(ptr) FunctionParameter
         83(inF2):     79(ptr) FunctionParameter
               85:             Label
-      1444(r000):    138(ptr) Variable Function
-      1449(r001):     79(ptr) Variable Function
-      1454(r003):    138(ptr) Variable Function
-      1458(r004):     79(ptr) Variable Function
-      1461(r005):     79(ptr) Variable Function
-      1464(r006):     79(ptr) Variable Function
-      1468(r007):     79(ptr) Variable Function
-      1478(r008):     79(ptr) Variable Function
-      1483(r009):     79(ptr) Variable Function
-      1486(r010):     79(ptr) Variable Function
-      1489(r011):     79(ptr) Variable Function
-      1492(r012):     79(ptr) Variable Function
-      1495(r013):     79(ptr) Variable Function
-      1498(r014):     79(ptr) Variable Function
-      1501(r015):     79(ptr) Variable Function
-      1504(r016):     79(ptr) Variable Function
-      1507(r017):     79(ptr) Variable Function
-      1510(r018):      7(ptr) Variable Function
-      1513(r019):     79(ptr) Variable Function
-      1516(R020):     79(ptr) Variable Function
-      1519(r021):     79(ptr) Variable Function
-      1522(r022):     79(ptr) Variable Function
-      1538(r023):     79(ptr) Variable Function
-      1541(r025):     79(ptr) Variable Function
-      1544(r026):     79(ptr) Variable Function
-     1548(r026a):     79(ptr) Variable Function
-      1553(r027):     79(ptr) Variable Function
-      1556(r028):     79(ptr) Variable Function
-      1560(r029):     79(ptr) Variable Function
-      1563(r030):     79(ptr) Variable Function
-      1567(r031):     79(ptr) Variable Function
-      1571(r032):     79(ptr) Variable Function
-      1575(r033):     79(ptr) Variable Function
-      1578(r034):     79(ptr) Variable Function
-      1581(r035):     79(ptr) Variable Function
-      1584(r036):     79(ptr) Variable Function
-      1589(r037):     79(ptr) Variable Function
-      1592(r038):     79(ptr) Variable Function
-      1599(r039):     79(ptr) Variable Function
-      1602(r049):     79(ptr) Variable Function
-      1607(r041):     79(ptr) Variable Function
-      1610(r042):     79(ptr) Variable Function
-      1614(r043):     79(ptr) Variable Function
-      1617(r044):     79(ptr) Variable Function
-      1622(r046):     79(ptr) Variable Function
-            1445:          78 Load 81(inF0)
-            1447:        1446 FOrdNotEqual 1445 141
-            1448:   137(bool) All 1447
-                              Store 1444(r000) 1448
-            1450:          78 Load 81(inF0)
-            1451:          78 ExtInst 1(GLSL.std.450) 4(FAbs) 1450
-                              Store 1449(r001) 1451
-            1452:          78 Load 81(inF0)
-            1453:          78 ExtInst 1(GLSL.std.450) 17(Acos) 1452
-            1455:          78 Load 81(inF0)
-            1456:        1446 FOrdNotEqual 1455 141
-            1457:   137(bool) Any 1456
-                              Store 1454(r003) 1457
+      1448(r000):    138(ptr) Variable Function
+      1453(r001):     79(ptr) Variable Function
+      1458(r003):    138(ptr) Variable Function
+      1462(r004):     79(ptr) Variable Function
+      1465(r005):     79(ptr) Variable Function
+      1468(r006):     79(ptr) Variable Function
+      1472(r007):     79(ptr) Variable Function
+      1482(r008):     79(ptr) Variable Function
+      1487(r009):     79(ptr) Variable Function
+      1490(r010):     79(ptr) Variable Function
+      1493(r011):     79(ptr) Variable Function
+      1496(r012):     79(ptr) Variable Function
+      1499(r013):     79(ptr) Variable Function
+      1502(r014):     79(ptr) Variable Function
+      1505(r015):     79(ptr) Variable Function
+      1508(r016):     79(ptr) Variable Function
+      1511(r017):     79(ptr) Variable Function
+      1514(r018):      7(ptr) Variable Function
+      1517(r019):     79(ptr) Variable Function
+      1520(R020):     79(ptr) Variable Function
+      1523(r021):     79(ptr) Variable Function
+      1526(r022):     79(ptr) Variable Function
+      1542(r023):     79(ptr) Variable Function
+      1545(r025):     79(ptr) Variable Function
+      1548(r026):     79(ptr) Variable Function
+     1552(r026a):     79(ptr) Variable Function
+      1557(r027):     79(ptr) Variable Function
+      1560(r028):     79(ptr) Variable Function
+      1564(r029):     79(ptr) Variable Function
+      1567(r030):     79(ptr) Variable Function
+      1571(r031):     79(ptr) Variable Function
+      1575(r032):     79(ptr) Variable Function
+      1579(r033):     79(ptr) Variable Function
+      1582(r034):     79(ptr) Variable Function
+      1585(r035):     79(ptr) Variable Function
+      1588(r036):     79(ptr) Variable Function
+      1593(r037):     79(ptr) Variable Function
+      1596(r038):     79(ptr) Variable Function
+      1603(r039):     79(ptr) Variable Function
+      1606(r049):     79(ptr) Variable Function
+      1611(r041):     79(ptr) Variable Function
+      1614(r042):     79(ptr) Variable Function
+      1618(r043):     79(ptr) Variable Function
+      1621(r044):     79(ptr) Variable Function
+      1626(r046):     79(ptr) Variable Function
+            1449:          78 Load 81(inF0)
+            1451:        1450 FOrdNotEqual 1449 141
+            1452:   137(bool) All 1451
+                              Store 1448(r000) 1452
+            1454:          78 Load 81(inF0)
+            1455:          78 ExtInst 1(GLSL.std.450) 4(FAbs) 1454
+                              Store 1453(r001) 1455
+            1456:          78 Load 81(inF0)
+            1457:          78 ExtInst 1(GLSL.std.450) 17(Acos) 1456
             1459:          78 Load 81(inF0)
-            1460:          78 ExtInst 1(GLSL.std.450) 16(Asin) 1459
-                              Store 1458(r004) 1460
-            1462:          78 Load 81(inF0)
-            1463:          78 ExtInst 1(GLSL.std.450) 18(Atan) 1462
-                              Store 1461(r005) 1463
-            1465:          78 Load 81(inF0)
-            1466:          78 Load 82(inF1)
-            1467:          78 ExtInst 1(GLSL.std.450) 25(Atan2) 1465 1466
-                              Store 1464(r006) 1467
+            1460:        1450 FOrdNotEqual 1459 141
+            1461:   137(bool) Any 1460
+                              Store 1458(r003) 1461
+            1463:          78 Load 81(inF0)
+            1464:          78 ExtInst 1(GLSL.std.450) 16(Asin) 1463
+                              Store 1462(r004) 1464
+            1466:          78 Load 81(inF0)
+            1467:          78 ExtInst 1(GLSL.std.450) 18(Atan) 1466
+                              Store 1465(r005) 1467
             1469:          78 Load 81(inF0)
-            1470:          78 ExtInst 1(GLSL.std.450) 9(Ceil) 1469
-                              Store 1468(r007) 1470
-            1471:          78 Load 81(inF0)
-            1473:        1446 FOrdLessThan 1471 1472
-            1474:   137(bool) Any 1473
-                              SelectionMerge 1476 None
-                              BranchConditional 1474 1475 1476
-            1475:               Label
+            1470:          78 Load 82(inF1)
+            1471:          78 ExtInst 1(GLSL.std.450) 25(Atan2) 1469 1470
+                              Store 1468(r006) 1471
+            1473:          78 Load 81(inF0)
+            1474:          78 ExtInst 1(GLSL.std.450) 9(Ceil) 1473
+                              Store 1472(r007) 1474
+            1475:          78 Load 81(inF0)
+            1477:        1450 FOrdLessThan 1475 1476
+            1478:   137(bool) Any 1477
+                              SelectionMerge 1480 None
+                              BranchConditional 1478 1479 1480
+            1479:               Label
                                 Kill
-            1476:             Label
-            1479:          78 Load 81(inF0)
-            1480:          78 Load 82(inF1)
-            1481:          78 Load 83(inF2)
-            1482:          78 ExtInst 1(GLSL.std.450) 43(FClamp) 1479 1480 1481
-                              Store 1478(r008) 1482
-            1484:          78 Load 81(inF0)
-            1485:          78 ExtInst 1(GLSL.std.450) 14(Cos) 1484
-                              Store 1483(r009) 1485
-            1487:          78 Load 81(inF0)
-            1488:          78 ExtInst 1(GLSL.std.450) 20(Cosh) 1487
-                              Store 1486(r010) 1488
-            1490:          78 Load 81(inF0)
-            1491:          78 DPdx 1490
-                              Store 1489(r011) 1491
-            1493:          78 Load 81(inF0)
-            1494:          78 DPdxCoarse 1493
-                              Store 1492(r012) 1494
-            1496:          78 Load 81(inF0)
-            1497:          78 DPdxFine 1496
-                              Store 1495(r013) 1497
-            1499:          78 Load 81(inF0)
-            1500:          78 DPdy 1499
-                              Store 1498(r014) 1500
-            1502:          78 Load 81(inF0)
-            1503:          78 DPdyCoarse 1502
-                              Store 1501(r015) 1503
-            1505:          78 Load 81(inF0)
-            1506:          78 DPdyFine 1505
-                              Store 1504(r016) 1506
-            1508:          78 Load 81(inF0)
-            1509:          78 ExtInst 1(GLSL.std.450) 12(Degrees) 1508
-                              Store 1507(r017) 1509
-            1511:          78 Load 81(inF0)
-            1512:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1511
-                              Store 1510(r018) 1512
-            1514:          78 Load 81(inF0)
-            1515:          78 ExtInst 1(GLSL.std.450) 27(Exp) 1514
-                              Store 1513(r019) 1515
-            1517:          78 Load 81(inF0)
-            1518:          78 ExtInst 1(GLSL.std.450) 29(Exp2) 1517
-                              Store 1516(R020) 1518
-            1520:          78 Load 81(inF0)
-            1521:          78 ExtInst 1(GLSL.std.450) 8(Floor) 1520
-                              Store 1519(r021) 1521
-            1523:          78 Load 81(inF0)
-            1524:          78 Load 82(inF1)
-            1525:   50(fvec4) CompositeExtract 1523 0
-            1526:   50(fvec4) CompositeExtract 1524 0
-            1527:   50(fvec4) FMod 1525 1526
-            1528:   50(fvec4) CompositeExtract 1523 1
-            1529:   50(fvec4) CompositeExtract 1524 1
-            1530:   50(fvec4) FMod 1528 1529
-            1531:   50(fvec4) CompositeExtract 1523 2
-            1532:   50(fvec4) CompositeExtract 1524 2
-            1533:   50(fvec4) FMod 1531 1532
-            1534:   50(fvec4) CompositeExtract 1523 3
-            1535:   50(fvec4) CompositeExtract 1524 3
-            1536:   50(fvec4) FMod 1534 1535
-            1537:          78 CompositeConstruct 1527 1530 1533 1536
-                              Store 1522(r022) 1537
-            1539:          78 Load 81(inF0)
-            1540:          78 ExtInst 1(GLSL.std.450) 10(Fract) 1539
-                              Store 1538(r023) 1540
-            1542:          78 Load 81(inF0)
-            1543:          78 Fwidth 1542
-                              Store 1541(r025) 1543
-            1545:          78 Load 81(inF0)
-            1546:          78 Load 82(inF1)
-            1547:          78 ExtInst 1(GLSL.std.450) 53(Ldexp) 1545 1546
-                              Store 1544(r026) 1547
+            1480:             Label
+            1483:          78 Load 81(inF0)
+            1484:          78 Load 82(inF1)
+            1485:          78 Load 83(inF2)
+            1486:          78 ExtInst 1(GLSL.std.450) 43(FClamp) 1483 1484 1485
+                              Store 1482(r008) 1486
+            1488:          78 Load 81(inF0)
+            1489:          78 ExtInst 1(GLSL.std.450) 14(Cos) 1488
+                              Store 1487(r009) 1489
+            1491:          78 Load 81(inF0)
+            1492:          78 ExtInst 1(GLSL.std.450) 20(Cosh) 1491
+                              Store 1490(r010) 1492
+            1494:          78 Load 81(inF0)
+            1495:          78 DPdx 1494
+                              Store 1493(r011) 1495
+            1497:          78 Load 81(inF0)
+            1498:          78 DPdxCoarse 1497
+                              Store 1496(r012) 1498
+            1500:          78 Load 81(inF0)
+            1501:          78 DPdxFine 1500
+                              Store 1499(r013) 1501
+            1503:          78 Load 81(inF0)
+            1504:          78 DPdy 1503
+                              Store 1502(r014) 1504
+            1506:          78 Load 81(inF0)
+            1507:          78 DPdyCoarse 1506
+                              Store 1505(r015) 1507
+            1509:          78 Load 81(inF0)
+            1510:          78 DPdyFine 1509
+                              Store 1508(r016) 1510
+            1512:          78 Load 81(inF0)
+            1513:          78 ExtInst 1(GLSL.std.450) 12(Degrees) 1512
+                              Store 1511(r017) 1513
+            1515:          78 Load 81(inF0)
+            1516:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1515
+                              Store 1514(r018) 1516
+            1518:          78 Load 81(inF0)
+            1519:          78 ExtInst 1(GLSL.std.450) 27(Exp) 1518
+                              Store 1517(r019) 1519
+            1521:          78 Load 81(inF0)
+            1522:          78 ExtInst 1(GLSL.std.450) 29(Exp2) 1521
+                              Store 1520(R020) 1522
+            1524:          78 Load 81(inF0)
+            1525:          78 ExtInst 1(GLSL.std.450) 8(Floor) 1524
+                              Store 1523(r021) 1525
+            1527:          78 Load 81(inF0)
+            1528:          78 Load 82(inF1)
+            1529:   50(fvec4) CompositeExtract 1527 0
+            1530:   50(fvec4) CompositeExtract 1528 0
+            1531:   50(fvec4) FMod 1529 1530
+            1532:   50(fvec4) CompositeExtract 1527 1
+            1533:   50(fvec4) CompositeExtract 1528 1
+            1534:   50(fvec4) FMod 1532 1533
+            1535:   50(fvec4) CompositeExtract 1527 2
+            1536:   50(fvec4) CompositeExtract 1528 2
+            1537:   50(fvec4) FMod 1535 1536
+            1538:   50(fvec4) CompositeExtract 1527 3
+            1539:   50(fvec4) CompositeExtract 1528 3
+            1540:   50(fvec4) FMod 1538 1539
+            1541:          78 CompositeConstruct 1531 1534 1537 1540
+                              Store 1526(r022) 1541
+            1543:          78 Load 81(inF0)
+            1544:          78 ExtInst 1(GLSL.std.450) 10(Fract) 1543
+                              Store 1542(r023) 1544
+            1546:          78 Load 81(inF0)
+            1547:          78 Fwidth 1546
+                              Store 1545(r025) 1547
             1549:          78 Load 81(inF0)
             1550:          78 Load 82(inF1)
-            1551:          78 Load 83(inF2)
-            1552:          78 ExtInst 1(GLSL.std.450) 46(FMix) 1549 1550 1551
-                              Store 1548(r026a) 1552
-            1554:          78 Load 81(inF0)
-            1555:          78 ExtInst 1(GLSL.std.450) 28(Log) 1554
-                              Store 1553(r027) 1555
-            1557:          78 Load 81(inF0)
-            1558:          78 ExtInst 1(GLSL.std.450) 30(Log2) 1557
-            1559:          78 MatrixTimesScalar 1558 268
-                              Store 1556(r028) 1559
+            1551:          78 ExtInst 1(GLSL.std.450) 53(Ldexp) 1549 1550
+                              Store 1548(r026) 1551
+            1553:          78 Load 81(inF0)
+            1554:          78 Load 82(inF1)
+            1555:          78 Load 83(inF2)
+            1556:          78 ExtInst 1(GLSL.std.450) 46(FMix) 1553 1554 1555
+                              Store 1552(r026a) 1556
+            1558:          78 Load 81(inF0)
+            1559:          78 ExtInst 1(GLSL.std.450) 28(Log) 1558
+                              Store 1557(r027) 1559
             1561:          78 Load 81(inF0)
             1562:          78 ExtInst 1(GLSL.std.450) 30(Log2) 1561
-                              Store 1560(r029) 1562
-            1564:          78 Load 81(inF0)
-            1565:          78 Load 82(inF1)
-            1566:          78 ExtInst 1(GLSL.std.450) 40(FMax) 1564 1565
-                              Store 1563(r030) 1566
+            1563:          78 MatrixTimesScalar 1562 272
+                              Store 1560(r028) 1563
+            1565:          78 Load 81(inF0)
+            1566:          78 ExtInst 1(GLSL.std.450) 30(Log2) 1565
+                              Store 1564(r029) 1566
             1568:          78 Load 81(inF0)
             1569:          78 Load 82(inF1)
-            1570:          78 ExtInst 1(GLSL.std.450) 37(FMin) 1568 1569
-                              Store 1567(r031) 1570
+            1570:          78 ExtInst 1(GLSL.std.450) 40(FMax) 1568 1569
+                              Store 1567(r030) 1570
             1572:          78 Load 81(inF0)
             1573:          78 Load 82(inF1)
-            1574:          78 ExtInst 1(GLSL.std.450) 26(Pow) 1572 1573
-                              Store 1571(r032) 1574
+            1574:          78 ExtInst 1(GLSL.std.450) 37(FMin) 1572 1573
+                              Store 1571(r031) 1574
             1576:          78 Load 81(inF0)
-            1577:          78 ExtInst 1(GLSL.std.450) 11(Radians) 1576
-                              Store 1575(r033) 1577
-            1579:          78 Load 81(inF0)
-            1580:          78 ExtInst 1(GLSL.std.450) 2(RoundEven) 1579
-                              Store 1578(r034) 1580
-            1582:          78 Load 81(inF0)
-            1583:          78 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1582
-                              Store 1581(r035) 1583
-            1585:          78 Load 81(inF0)
-            1586:   50(fvec4) CompositeConstruct 141 141 141 141
-            1587:   50(fvec4) CompositeConstruct 289 289 289 289
-            1588:          78 ExtInst 1(GLSL.std.450) 43(FClamp) 1585 1586 1587
-                              Store 1584(r036) 1588
-            1590:          78 Load 81(inF0)
-            1591:          78 ExtInst 1(GLSL.std.450) 6(FSign) 1590
-                              Store 1589(r037) 1591
-            1593:          78 Load 81(inF0)
-            1594:          78 ExtInst 1(GLSL.std.450) 13(Sin) 1593
-                              Store 1592(r038) 1594
-            1595:          78 Load 81(inF0)
-            1596:          78 ExtInst 1(GLSL.std.450) 13(Sin) 1595
-                              Store 82(inF1) 1596
+            1577:          78 Load 82(inF1)
+            1578:          78 ExtInst 1(GLSL.std.450) 26(Pow) 1576 1577
+                              Store 1575(r032) 1578
+            1580:          78 Load 81(inF0)
+            1581:          78 ExtInst 1(GLSL.std.450) 11(Radians) 1580
+                              Store 1579(r033) 1581
+            1583:          78 Load 81(inF0)
+            1584:          78 ExtInst 1(GLSL.std.450) 2(RoundEven) 1583
+                              Store 1582(r034) 1584
+            1586:          78 Load 81(inF0)
+            1587:          78 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1586
+                              Store 1585(r035) 1587
+            1589:          78 Load 81(inF0)
+            1590:   50(fvec4) CompositeConstruct 141 141 141 141
+            1591:   50(fvec4) CompositeConstruct 293 293 293 293
+            1592:          78 ExtInst 1(GLSL.std.450) 43(FClamp) 1589 1590 1591
+                              Store 1588(r036) 1592
+            1594:          78 Load 81(inF0)
+            1595:          78 ExtInst 1(GLSL.std.450) 6(FSign) 1594
+                              Store 1593(r037) 1595
             1597:          78 Load 81(inF0)
-            1598:          78 ExtInst 1(GLSL.std.450) 14(Cos) 1597
-                              Store 83(inF2) 1598
-            1600:          78 Load 81(inF0)
-            1601:          78 ExtInst 1(GLSL.std.450) 19(Sinh) 1600
-                              Store 1599(r039) 1601
-            1603:          78 Load 81(inF0)
-            1604:          78 Load 82(inF1)
-            1605:          78 Load 83(inF2)
-            1606:          78 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1603 1604 1605
-                              Store 1602(r049) 1606
-            1608:          78 Load 81(inF0)
-            1609:          78 ExtInst 1(GLSL.std.450) 31(Sqrt) 1608
-                              Store 1607(r041) 1609
-            1611:          78 Load 81(inF0)
-            1612:          78 Load 82(inF1)
-            1613:          78 ExtInst 1(GLSL.std.450) 48(Step) 1611 1612
-                              Store 1610(r042) 1613
+            1598:          78 ExtInst 1(GLSL.std.450) 13(Sin) 1597
+                              Store 1596(r038) 1598
+            1599:          78 Load 81(inF0)
+            1600:          78 ExtInst 1(GLSL.std.450) 13(Sin) 1599
+                              Store 82(inF1) 1600
+            1601:          78 Load 81(inF0)
+            1602:          78 ExtInst 1(GLSL.std.450) 14(Cos) 1601
+                              Store 83(inF2) 1602
+            1604:          78 Load 81(inF0)
+            1605:          78 ExtInst 1(GLSL.std.450) 19(Sinh) 1604
+                              Store 1603(r039) 1605
+            1607:          78 Load 81(inF0)
+            1608:          78 Load 82(inF1)
+            1609:          78 Load 83(inF2)
+            1610:          78 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1607 1608 1609
+                              Store 1606(r049) 1610
+            1612:          78 Load 81(inF0)
+            1613:          78 ExtInst 1(GLSL.std.450) 31(Sqrt) 1612
+                              Store 1611(r041) 1613
             1615:          78 Load 81(inF0)
-            1616:          78 ExtInst 1(GLSL.std.450) 15(Tan) 1615
-                              Store 1614(r043) 1616
-            1618:          78 Load 81(inF0)
-            1619:          78 ExtInst 1(GLSL.std.450) 21(Tanh) 1618
-                              Store 1617(r044) 1619
-            1620:          78 Load 81(inF0)
-            1621:          78 Transpose 1620
-            1623:          78 Load 81(inF0)
-            1624:          78 ExtInst 1(GLSL.std.450) 3(Trunc) 1623
-                              Store 1622(r046) 1624
-                              ReturnValue 1626
+            1616:          78 Load 82(inF1)
+            1617:          78 ExtInst 1(GLSL.std.450) 48(Step) 1615 1616
+                              Store 1614(r042) 1617
+            1619:          78 Load 81(inF0)
+            1620:          78 ExtInst 1(GLSL.std.450) 15(Tan) 1619
+                              Store 1618(r043) 1620
+            1622:          78 Load 81(inF0)
+            1623:          78 ExtInst 1(GLSL.std.450) 21(Tanh) 1622
+                              Store 1621(r044) 1623
+            1624:          78 Load 81(inF0)
+            1625:          78 Transpose 1624
+            1627:          78 Load 81(inF0)
+            1628:          78 ExtInst 1(GLSL.std.450) 3(Trunc) 1627
+                              Store 1626(r046) 1628
+                              ReturnValue 1630
                               FunctionEnd
 93(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 86
         87(inF0):      7(ptr) FunctionParameter
@@ -8193,51 +8211,51 @@ gl_FragCoord origin is upper left
        91(inFM0):     63(ptr) FunctionParameter
        92(inFM1):     63(ptr) FunctionParameter
               94:             Label
-        1629(r0):      7(ptr) Variable Function
-        1633(r1):     27(ptr) Variable Function
-        1637(r2):     27(ptr) Variable Function
-        1641(r3):      7(ptr) Variable Function
-        1645(r4):     27(ptr) Variable Function
-        1649(r5):     27(ptr) Variable Function
-        1653(r6):     63(ptr) Variable Function
-        1657(r7):     63(ptr) Variable Function
-        1661(r8):     63(ptr) Variable Function
-            1630:    6(float) Load 88(inF1)
-            1631:    6(float) Load 87(inF0)
-            1632:    6(float) FMul 1630 1631
-                              Store 1629(r0) 1632
-            1634:    6(float) Load 87(inF0)
-            1635:   26(fvec2) Load 89(inFV0)
-            1636:   26(fvec2) VectorTimesScalar 1635 1634
-                              Store 1633(r1) 1636
-            1638:   26(fvec2) Load 89(inFV0)
-            1639:    6(float) Load 87(inF0)
-            1640:   26(fvec2) VectorTimesScalar 1638 1639
-                              Store 1637(r2) 1640
+        1633(r0):      7(ptr) Variable Function
+        1637(r1):     27(ptr) Variable Function
+        1641(r2):     27(ptr) Variable Function
+        1645(r3):      7(ptr) Variable Function
+        1649(r4):     27(ptr) Variable Function
+        1653(r5):     27(ptr) Variable Function
+        1657(r6):     63(ptr) Variable Function
+        1661(r7):     63(ptr) Variable Function
+        1665(r8):     63(ptr) Variable Function
+            1634:    6(float) Load 88(inF1)
+            1635:    6(float) Load 87(inF0)
+            1636:    6(float) FMul 1634 1635
+                              Store 1633(r0) 1636
+            1638:    6(float) Load 87(inF0)
+            1639:   26(fvec2) Load 89(inFV0)
+            1640:   26(fvec2) VectorTimesScalar 1639 1638
+                              Store 1637(r1) 1640
             1642:   26(fvec2) Load 89(inFV0)
-            1643:   26(fvec2) Load 90(inFV1)
-            1644:    6(float) Dot 1642 1643
-                              Store 1641(r3) 1644
+            1643:    6(float) Load 87(inF0)
+            1644:   26(fvec2) VectorTimesScalar 1642 1643
+                              Store 1641(r2) 1644
             1646:   26(fvec2) Load 89(inFV0)
-            1647:          62 Load 91(inFM0)
-            1648:   26(fvec2) VectorTimesMatrix 1646 1647
-                              Store 1645(r4) 1648
-            1650:          62 Load 91(inFM0)
-            1651:   26(fvec2) Load 89(inFV0)
-            1652:   26(fvec2) MatrixTimesVector 1650 1651
-                              Store 1649(r5) 1652
-            1654:    6(float) Load 87(inF0)
-            1655:          62 Load 91(inFM0)
-            1656:          62 MatrixTimesScalar 1655 1654
-                              Store 1653(r6) 1656
-            1658:          62 Load 91(inFM0)
-            1659:    6(float) Load 87(inF0)
-            1660:          62 MatrixTimesScalar 1658 1659
-                              Store 1657(r7) 1660
-            1662:          62 Load 92(inFM1)
-            1663:          62 Load 91(inFM0)
-            1664:          62 MatrixTimesMatrix 1662 1663
-                              Store 1661(r8) 1664
+            1647:   26(fvec2) Load 90(inFV1)
+            1648:    6(float) Dot 1646 1647
+                              Store 1645(r3) 1648
+            1650:   26(fvec2) Load 89(inFV0)
+            1651:          62 Load 91(inFM0)
+            1652:   26(fvec2) VectorTimesMatrix 1650 1651
+                              Store 1649(r4) 1652
+            1654:          62 Load 91(inFM0)
+            1655:   26(fvec2) Load 89(inFV0)
+            1656:   26(fvec2) MatrixTimesVector 1654 1655
+                              Store 1653(r5) 1656
+            1658:    6(float) Load 87(inF0)
+            1659:          62 Load 91(inFM0)
+            1660:          62 MatrixTimesScalar 1659 1658
+                              Store 1657(r6) 1660
+            1662:          62 Load 91(inFM0)
+            1663:    6(float) Load 87(inF0)
+            1664:          62 MatrixTimesScalar 1662 1663
+                              Store 1661(r7) 1664
+            1666:          62 Load 92(inFM1)
+            1667:          62 Load 91(inFM0)
+            1668:          62 MatrixTimesMatrix 1666 1667
+                              Store 1665(r8) 1668
                               Return
                               FunctionEnd
 102(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 95
@@ -8248,51 +8266,51 @@ gl_FragCoord origin is upper left
       100(inFM0):     71(ptr) FunctionParameter
       101(inFM1):     71(ptr) FunctionParameter
              103:             Label
-        1665(r0):      7(ptr) Variable Function
-        1669(r1):     39(ptr) Variable Function
-        1673(r2):     39(ptr) Variable Function
-        1677(r3):      7(ptr) Variable Function
-        1681(r4):     39(ptr) Variable Function
-        1685(r5):     39(ptr) Variable Function
-        1689(r6):     71(ptr) Variable Function
-        1693(r7):     71(ptr) Variable Function
-        1697(r8):     71(ptr) Variable Function
-            1666:    6(float) Load 97(inF1)
-            1667:    6(float) Load 96(inF0)
-            1668:    6(float) FMul 1666 1667
-                              Store 1665(r0) 1668
-            1670:    6(float) Load 96(inF0)
-            1671:   38(fvec3) Load 98(inFV0)
-            1672:   38(fvec3) VectorTimesScalar 1671 1670
-                              Store 1669(r1) 1672
-            1674:   38(fvec3) Load 98(inFV0)
-            1675:    6(float) Load 96(inF0)
-            1676:   38(fvec3) VectorTimesScalar 1674 1675
-                              Store 1673(r2) 1676
+        1669(r0):      7(ptr) Variable Function
+        1673(r1):     39(ptr) Variable Function
+        1677(r2):     39(ptr) Variable Function
+        1681(r3):      7(ptr) Variable Function
+        1685(r4):     39(ptr) Variable Function
+        1689(r5):     39(ptr) Variable Function
+        1693(r6):     71(ptr) Variable Function
+        1697(r7):     71(ptr) Variable Function
+        1701(r8):     71(ptr) Variable Function
+            1670:    6(float) Load 97(inF1)
+            1671:    6(float) Load 96(inF0)
+            1672:    6(float) FMul 1670 1671
+                              Store 1669(r0) 1672
+            1674:    6(float) Load 96(inF0)
+            1675:   38(fvec3) Load 98(inFV0)
+            1676:   38(fvec3) VectorTimesScalar 1675 1674
+                              Store 1673(r1) 1676
             1678:   38(fvec3) Load 98(inFV0)
-            1679:   38(fvec3) Load 99(inFV1)
-            1680:    6(float) Dot 1678 1679
-                              Store 1677(r3) 1680
+            1679:    6(float) Load 96(inF0)
+            1680:   38(fvec3) VectorTimesScalar 1678 1679
+                              Store 1677(r2) 1680
             1682:   38(fvec3) Load 98(inFV0)
-            1683:          70 Load 100(inFM0)
-            1684:   38(fvec3) VectorTimesMatrix 1682 1683
-                              Store 1681(r4) 1684
-            1686:          70 Load 100(inFM0)
-            1687:   38(fvec3) Load 98(inFV0)
-            1688:   38(fvec3) MatrixTimesVector 1686 1687
-                              Store 1685(r5) 1688
-            1690:    6(float) Load 96(inF0)
-            1691:          70 Load 100(inFM0)
-            1692:          70 MatrixTimesScalar 1691 1690
-                              Store 1689(r6) 1692
-            1694:          70 Load 100(inFM0)
-            1695:    6(float) Load 96(inF0)
-            1696:          70 MatrixTimesScalar 1694 1695
-                              Store 1693(r7) 1696
-            1698:          70 Load 101(inFM1)
-            1699:          70 Load 100(inFM0)
-            1700:          70 MatrixTimesMatrix 1698 1699
-                              Store 1697(r8) 1700
+            1683:   38(fvec3) Load 99(inFV1)
+            1684:    6(float) Dot 1682 1683
+                              Store 1681(r3) 1684
+            1686:   38(fvec3) Load 98(inFV0)
+            1687:          70 Load 100(inFM0)
+            1688:   38(fvec3) VectorTimesMatrix 1686 1687
+                              Store 1685(r4) 1688
+            1690:          70 Load 100(inFM0)
+            1691:   38(fvec3) Load 98(inFV0)
+            1692:   38(fvec3) MatrixTimesVector 1690 1691
+                              Store 1689(r5) 1692
+            1694:    6(float) Load 96(inF0)
+            1695:          70 Load 100(inFM0)
+            1696:          70 MatrixTimesScalar 1695 1694
+                              Store 1693(r6) 1696
+            1698:          70 Load 100(inFM0)
+            1699:    6(float) Load 96(inF0)
+            1700:          70 MatrixTimesScalar 1698 1699
+                              Store 1697(r7) 1700
+            1702:          70 Load 101(inFM1)
+            1703:          70 Load 100(inFM0)
+            1704:          70 MatrixTimesMatrix 1702 1703
+                              Store 1701(r8) 1704
                               Return
                               FunctionEnd
 111(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 104
@@ -8303,51 +8321,51 @@ gl_FragCoord origin is upper left
       109(inFM0):     79(ptr) FunctionParameter
       110(inFM1):     79(ptr) FunctionParameter
              112:             Label
-        1701(r0):      7(ptr) Variable Function
-        1705(r1):     51(ptr) Variable Function
-        1709(r2):     51(ptr) Variable Function
-        1713(r3):      7(ptr) Variable Function
-        1717(r4):     51(ptr) Variable Function
-        1721(r5):     51(ptr) Variable Function
-        1725(r6):     79(ptr) Variable Function
-        1729(r7):     79(ptr) Variable Function
-        1733(r8):     79(ptr) Variable Function
-            1702:    6(float) Load 106(inF1)
-            1703:    6(float) Load 105(inF0)
-            1704:    6(float) FMul 1702 1703
-                              Store 1701(r0) 1704
-            1706:    6(float) Load 105(inF0)
-            1707:   50(fvec4) Load 107(inFV0)
-            1708:   50(fvec4) VectorTimesScalar 1707 1706
-                              Store 1705(r1) 1708
-            1710:   50(fvec4) Load 107(inFV0)
-            1711:    6(float) Load 105(inF0)
-            1712:   50(fvec4) VectorTimesScalar 1710 1711
-                              Store 1709(r2) 1712
+        1705(r0):      7(ptr) Variable Function
+        1709(r1):     51(ptr) Variable Function
+        1713(r2):     51(ptr) Variable Function
+        1717(r3):      7(ptr) Variable Function
+        1721(r4):     51(ptr) Variable Function
+        1725(r5):     51(ptr) Variable Function
+        1729(r6):     79(ptr) Variable Function
+        1733(r7):     79(ptr) Variable Function
+        1737(r8):     79(ptr) Variable Function
+            1706:    6(float) Load 106(inF1)
+            1707:    6(float) Load 105(inF0)
+            1708:    6(float) FMul 1706 1707
+                              Store 1705(r0) 1708
+            1710:    6(float) Load 105(inF0)
+            1711:   50(fvec4) Load 107(inFV0)
+            1712:   50(fvec4) VectorTimesScalar 1711 1710
+                              Store 1709(r1) 1712
             1714:   50(fvec4) Load 107(inFV0)
-            1715:   50(fvec4) Load 108(inFV1)
-            1716:    6(float) Dot 1714 1715
-                              Store 1713(r3) 1716
+            1715:    6(float) Load 105(inF0)
+            1716:   50(fvec4) VectorTimesScalar 1714 1715
+                              Store 1713(r2) 1716
             1718:   50(fvec4) Load 107(inFV0)
-            1719:          78 Load 109(inFM0)
-            1720:   50(fvec4) VectorTimesMatrix 1718 1719
-                              Store 1717(r4) 1720
-            1722:          78 Load 109(inFM0)
-            1723:   50(fvec4) Load 107(inFV0)
-            1724:   50(fvec4) MatrixTimesVector 1722 1723
-                              Store 1721(r5) 1724
-            1726:    6(float) Load 105(inF0)
-            1727:          78 Load 109(inFM0)
-            1728:          78 MatrixTimesScalar 1727 1726
-                              Store 1725(r6) 1728
-            1730:          78 Load 109(inFM0)
-            1731:    6(float) Load 105(inF0)
-            1732:          78 MatrixTimesScalar 1730 1731
-                              Store 1729(r7) 1732
-            1734:          78 Load 110(inFM1)
-            1735:          78 Load 109(inFM0)
-            1736:          78 MatrixTimesMatrix 1734 1735
-                              Store 1733(r8) 1736
+            1719:   50(fvec4) Load 108(inFV1)
+            1720:    6(float) Dot 1718 1719
+                              Store 1717(r3) 1720
+            1722:   50(fvec4) Load 107(inFV0)
+            1723:          78 Load 109(inFM0)
+            1724:   50(fvec4) VectorTimesMatrix 1722 1723
+                              Store 1721(r4) 1724
+            1726:          78 Load 109(inFM0)
+            1727:   50(fvec4) Load 107(inFV0)
+            1728:   50(fvec4) MatrixTimesVector 1726 1727
+                              Store 1725(r5) 1728
+            1730:    6(float) Load 105(inF0)
+            1731:          78 Load 109(inFM0)
+            1732:          78 MatrixTimesScalar 1731 1730
+                              Store 1729(r6) 1732
+            1734:          78 Load 109(inFM0)
+            1735:    6(float) Load 105(inF0)
+            1736:          78 MatrixTimesScalar 1734 1735
+                              Store 1733(r7) 1736
+            1738:          78 Load 110(inFM1)
+            1739:          78 Load 109(inFM0)
+            1740:          78 MatrixTimesMatrix 1738 1739
+                              Store 1737(r8) 1740
                               Return
                               FunctionEnd
 131(TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;):           2 Function None 121
@@ -8361,98 +8379,98 @@ gl_FragCoord origin is upper left
     129(inFM3x4):    118(ptr) FunctionParameter
     130(inFM2x4):    120(ptr) FunctionParameter
              132:             Label
-       1737(r00):      7(ptr) Variable Function
-       1741(r01):     27(ptr) Variable Function
-       1745(r02):     39(ptr) Variable Function
-       1749(r03):     27(ptr) Variable Function
-       1753(r04):     39(ptr) Variable Function
-       1757(r05):      7(ptr) Variable Function
-       1761(r06):      7(ptr) Variable Function
-       1765(r07):     39(ptr) Variable Function
-       1769(r08):     27(ptr) Variable Function
-       1773(r09):     27(ptr) Variable Function
-       1777(r10):     39(ptr) Variable Function
-       1781(r11):    114(ptr) Variable Function
-       1785(r12):    116(ptr) Variable Function
-       1789(r13):     63(ptr) Variable Function
-       1793(r14):    114(ptr) Variable Function
-       1797(r15):    120(ptr) Variable Function
-       1801(r16):    118(ptr) Variable Function
-            1738:    6(float) Load 123(inF1)
-            1739:    6(float) Load 122(inF0)
-            1740:    6(float) FMul 1738 1739
-                              Store 1737(r00) 1740
-            1742:    6(float) Load 122(inF0)
-            1743:   26(fvec2) Load 124(inFV2)
-            1744:   26(fvec2) VectorTimesScalar 1743 1742
-                              Store 1741(r01) 1744
+       1741(r00):      7(ptr) Variable Function
+       1745(r01):     27(ptr) Variable Function
+       1749(r02):     39(ptr) Variable Function
+       1753(r03):     27(ptr) Variable Function
+       1757(r04):     39(ptr) Variable Function
+       1761(r05):      7(ptr) Variable Function
+       1765(r06):      7(ptr) Variable Function
+       1769(r07):     39(ptr) Variable Function
+       1773(r08):     27(ptr) Variable Function
+       1777(r09):     27(ptr) Variable Function
+       1781(r10):     39(ptr) Variable Function
+       1785(r11):    114(ptr) Variable Function
+       1789(r12):    116(ptr) Variable Function
+       1793(r13):     63(ptr) Variable Function
+       1797(r14):    114(ptr) Variable Function
+       1801(r15):    120(ptr) Variable Function
+       1805(r16):    118(ptr) Variable Function
+            1742:    6(float) Load 123(inF1)
+            1743:    6(float) Load 122(inF0)
+            1744:    6(float) FMul 1742 1743
+                              Store 1741(r00) 1744
             1746:    6(float) Load 122(inF0)
-            1747:   38(fvec3) Load 125(inFV3)
-            1748:   38(fvec3) VectorTimesScalar 1747 1746
-                              Store 1745(r02) 1748
-            1750:   26(fvec2) Load 124(inFV2)
-            1751:    6(float) Load 122(inF0)
-            1752:   26(fvec2) VectorTimesScalar 1750 1751
-                              Store 1749(r03) 1752
-            1754:   38(fvec3) Load 125(inFV3)
+            1747:   26(fvec2) Load 124(inFV2)
+            1748:   26(fvec2) VectorTimesScalar 1747 1746
+                              Store 1745(r01) 1748
+            1750:    6(float) Load 122(inF0)
+            1751:   38(fvec3) Load 125(inFV3)
+            1752:   38(fvec3) VectorTimesScalar 1751 1750
+                              Store 1749(r02) 1752
+            1754:   26(fvec2) Load 124(inFV2)
             1755:    6(float) Load 122(inF0)
-            1756:   38(fvec3) VectorTimesScalar 1754 1755
-                              Store 1753(r04) 1756
-            1758:   26(fvec2) Load 124(inFV2)
-            1759:   26(fvec2) Load 124(inFV2)
-            1760:    6(float) Dot 1758 1759
-                              Store 1757(r05) 1760
-            1762:   38(fvec3) Load 125(inFV3)
-            1763:   38(fvec3) Load 125(inFV3)
+            1756:   26(fvec2) VectorTimesScalar 1754 1755
+                              Store 1753(r03) 1756
+            1758:   38(fvec3) Load 125(inFV3)
+            1759:    6(float) Load 122(inF0)
+            1760:   38(fvec3) VectorTimesScalar 1758 1759
+                              Store 1757(r04) 1760
+            1762:   26(fvec2) Load 124(inFV2)
+            1763:   26(fvec2) Load 124(inFV2)
             1764:    6(float) Dot 1762 1763
-                              Store 1761(r06) 1764
-            1766:         113 Load 126(inFM2x3)
-            1767:   26(fvec2) Load 124(inFV2)
-            1768:   38(fvec3) MatrixTimesVector 1766 1767
-                              Store 1765(r07) 1768
-            1770:         115 Load 127(inFM3x2)
-            1771:   38(fvec3) Load 125(inFV3)
-            1772:   26(fvec2) MatrixTimesVector 1770 1771
-                              Store 1769(r08) 1772
-            1774:   38(fvec3) Load 125(inFV3)
-            1775:         113 Load 126(inFM2x3)
-            1776:   26(fvec2) VectorTimesMatrix 1774 1775
-                              Store 1773(r09) 1776
-            1778:   26(fvec2) Load 124(inFV2)
-            1779:         115 Load 127(inFM3x2)
-            1780:   38(fvec3) VectorTimesMatrix 1778 1779
-                              Store 1777(r10) 1780
-            1782:    6(float) Load 122(inF0)
-            1783:         113 Load 126(inFM2x3)
-            1784:         113 MatrixTimesScalar 1783 1782
-                              Store 1781(r11) 1784
+                              Store 1761(r05) 1764
+            1766:   38(fvec3) Load 125(inFV3)
+            1767:   38(fvec3) Load 125(inFV3)
+            1768:    6(float) Dot 1766 1767
+                              Store 1765(r06) 1768
+            1770:         113 Load 126(inFM2x3)
+            1771:   26(fvec2) Load 124(inFV2)
+            1772:   38(fvec3) MatrixTimesVector 1770 1771
+                              Store 1769(r07) 1772
+            1774:         115 Load 127(inFM3x2)
+            1775:   38(fvec3) Load 125(inFV3)
+            1776:   26(fvec2) MatrixTimesVector 1774 1775
+                              Store 1773(r08) 1776
+            1778:   38(fvec3) Load 125(inFV3)
+            1779:         113 Load 126(inFM2x3)
+            1780:   26(fvec2) VectorTimesMatrix 1778 1779
+                              Store 1777(r09) 1780
+            1782:   26(fvec2) Load 124(inFV2)
+            1783:         115 Load 127(inFM3x2)
+            1784:   38(fvec3) VectorTimesMatrix 1782 1783
+                              Store 1781(r10) 1784
             1786:    6(float) Load 122(inF0)
-            1787:         115 Load 127(inFM3x2)
-            1788:         115 MatrixTimesScalar 1787 1786
-                              Store 1785(r12) 1788
-            1790:         115 Load 127(inFM3x2)
-            1791:         113 Load 126(inFM2x3)
-            1792:          62 MatrixTimesMatrix 1790 1791
-                              Store 1789(r13) 1792
-            1794:          70 Load 128(inFM3x3)
+            1787:         113 Load 126(inFM2x3)
+            1788:         113 MatrixTimesScalar 1787 1786
+                              Store 1785(r11) 1788
+            1790:    6(float) Load 122(inF0)
+            1791:         115 Load 127(inFM3x2)
+            1792:         115 MatrixTimesScalar 1791 1790
+                              Store 1789(r12) 1792
+            1794:         115 Load 127(inFM3x2)
             1795:         113 Load 126(inFM2x3)
-            1796:         113 MatrixTimesMatrix 1794 1795
-                              Store 1793(r14) 1796
-            1798:         117 Load 129(inFM3x4)
+            1796:          62 MatrixTimesMatrix 1794 1795
+                              Store 1793(r13) 1796
+            1798:          70 Load 128(inFM3x3)
             1799:         113 Load 126(inFM2x3)
-            1800:         119 MatrixTimesMatrix 1798 1799
-                              Store 1797(r15) 1800
-            1802:         119 Load 130(inFM2x4)
-            1803:         115 Load 127(inFM3x2)
-            1804:         117 MatrixTimesMatrix 1802 1803
-                              Store 1801(r16) 1804
+            1800:         113 MatrixTimesMatrix 1798 1799
+                              Store 1797(r14) 1800
+            1802:         117 Load 129(inFM3x4)
+            1803:         113 Load 126(inFM2x3)
+            1804:         119 MatrixTimesMatrix 1802 1803
+                              Store 1801(r15) 1804
+            1806:         119 Load 130(inFM2x4)
+            1807:         115 Load 127(inFM3x2)
+            1808:         117 MatrixTimesMatrix 1806 1807
+                              Store 1805(r16) 1808
                               Return
                               FunctionEnd
      135(@main():133(PS_OUTPUT) Function None 134
              136:             Label
- 1806(ps_output):   1805(ptr) Variable Function
-            1808:     51(ptr) AccessChain 1806(ps_output) 187
-                              Store 1808 1807
-            1809:133(PS_OUTPUT) Load 1806(ps_output)
-                              ReturnValue 1809
+ 1810(ps_output):   1809(ptr) Variable Function
+            1812:     51(ptr) AccessChain 1810(ps_output) 187
+                              Store 1812 1811
+            1813:133(PS_OUTPUT) Load 1810(ps_output)
+                              ReturnValue 1813
                               FunctionEnd
old mode 100644 (file)
new mode 100755 (executable)
index 41b5f54..ffa3c25
@@ -42,6 +42,7 @@ float PixelShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, int in
     float r021 = ddy_coarse(inF0);
     float r022 = ddy_fine(inF0);
     float r023 = degrees(inF0);
+    float r024 = distance(inF0, inF1);
     // EvaluateAttributeAtCentroid(inF0);
     // EvaluateAttributeAtSample(inF0, 0);
     // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
index cc847ae..6500091 100755 (executable)
@@ -605,7 +605,7 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
         { "determinant",                      "S",     "F",       "M",              "F",             EShLangAll,    false },
         { "DeviceMemoryBarrier",              nullptr, nullptr,   "-",              "-",             EShLangPSCS,   false },
         { "DeviceMemoryBarrierWithGroupSync", nullptr, nullptr,   "-",              "-",             EShLangCS,     false },
-        { "distance",                         "S",     "F",       "V,",             "F,",            EShLangAll,    false },
+        { "distance",                         "S",     "F",       "SV,",            "F,",            EShLangAll,    false },
         { "dot",                              "S",     nullptr,   "SV,",            "FI,",           EShLangAll,    false },
         { "dst",                              nullptr, nullptr,   "V4,",            "F,",            EShLangAll,    false },
         // { "errorf",                           "-",     "-",       "",             "",             EShLangAll,    false }, TODO: varargs