HLSL: add missing vec,vec,scalar form of lerp(), + test
authorsteve-lunarg <nospam@nowhere.net>
Thu, 28 Jul 2016 19:20:57 +0000 (13:20 -0600)
committersteve-lunarg <nospam@nowhere.net>
Thu, 28 Jul 2016 19:23:22 +0000 (13:23 -0600)
Test/baseResults/hlsl.intrinsics.frag.out
Test/hlsl.intrinsics.frag
hlsl/hlslParseables.cpp

index f6c4147..f4e2434 100644 (file)
@@ -733,7 +733,7 @@ gl_FragCoord origin is upper left
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:258  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 3-component vector of float)
+0:259  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 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)
@@ -970,1162 +970,1170 @@ gl_FragCoord origin is upper left
 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 float)
-0:226          'r043' (temp float)
-0:226          length (global float)
+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          mix (global 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:227      Sequence
-0:227        move second child to first child (temp 3-component vector of float)
-0:227          'r044' (temp 3-component vector of float)
-0:227          log (global 3-component vector of float)
+0:227        move second child to first child (temp float)
+0:227          'r043' (temp float)
+0:227          length (global float)
 0:227            'inF0' (in 3-component vector of float)
 0:228      Sequence
 0:228        move second child to first child (temp 3-component vector of float)
-0:228          'r045' (temp 3-component vector of float)
-0:228          vector-scale (temp 3-component vector of float)
-0:228            log2 (temp 3-component vector of float)
-0:228              'inF0' (in 3-component vector of float)
-0:228            Constant:
-0:228              0.301030
+0:228          'r044' (temp 3-component vector of float)
+0:228          log (global 3-component vector of 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          'r046' (temp 3-component vector of float)
-0:229          log2 (global 3-component vector of float)
-0:229            'inF0' (in 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:230      Sequence
 0:230        move second child to first child (temp 3-component vector of float)
-0:230          'r047' (temp 3-component vector of float)
-0:230          max (global 3-component vector of float)
+0:230          'r046' (temp 3-component vector of float)
+0:230          log2 (global 3-component vector of float)
 0:230            'inF0' (in 3-component vector of float)
-0:230            'inF1' (in 3-component vector of float)
 0:231      Sequence
 0:231        move second child to first child (temp 3-component vector of float)
-0:231          'r048' (temp 3-component vector of float)
-0:231          min (global 3-component vector of float)
+0:231          'r047' (temp 3-component vector of float)
+0:231          max (global 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          'r049' (temp 3-component vector of float)
-0:232          normalize (global 3-component vector of float)
+0:232          'r048' (temp 3-component vector of float)
+0:232          min (global 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          'r050' (temp 3-component vector of float)
-0:233          pow (global 3-component vector of float)
+0:233          'r049' (temp 3-component vector of float)
+0:233          normalize (global 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          'r051' (temp 3-component vector of float)
-0:234          radians (global 3-component vector of float)
+0:234          'r050' (temp 3-component vector of float)
+0:234          pow (global 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          'r052' (temp 3-component vector of float)
-0:235          divide (temp 3-component vector of float)
-0:235            Constant:
-0:235              1.000000
+0:235          'r051' (temp 3-component vector of float)
+0:235          radians (global 3-component vector of float)
 0:235            'inF0' (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          'r053' (temp 3-component vector of float)
-0:236          reflect (global 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            'inF0' (in 3-component vector of float)
-0:236            'inF1' (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          'r054' (temp 3-component vector of float)
-0:237          refract (global 3-component vector of float)
+0:237          'r053' (temp 3-component vector of float)
+0:237          reflect (global 3-component vector of float)
 0:237            'inF0' (in 3-component vector of float)
 0:237            'inF1' (in 3-component vector of float)
-0:237            Constant:
-0:237              2.000000
 0:238      Sequence
-0:238        move second child to first child (temp 3-component vector of uint)
-0:238          'r055' (temp 3-component vector of uint)
+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 (global 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:?           bitFieldReverse (global 3-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
-0:239      Sequence
-0:239        move second child to first child (temp 3-component vector of float)
-0:239          'r056' (temp 3-component vector of float)
-0:239          roundEven (global 3-component vector of float)
-0:239            'inF0' (in 3-component vector of float)
 0:240      Sequence
 0:240        move second child to first child (temp 3-component vector of float)
-0:240          'r057' (temp 3-component vector of float)
-0:240          inverse sqrt (global 3-component vector of float)
+0:240          'r056' (temp 3-component vector of float)
+0:240          roundEven (global 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          'r058' (temp 3-component vector of float)
-0:241          clamp (temp 3-component vector of float)
+0:241          'r057' (temp 3-component vector of float)
+0:241          inverse sqrt (global 3-component vector of float)
 0:241            'inF0' (in 3-component vector of float)
-0:241            Constant:
-0:241              0.000000
-0:241            Constant:
-0:241              1.000000
 0:242      Sequence
 0:242        move second child to first child (temp 3-component vector of float)
-0:242          'r059' (temp 3-component vector of float)
-0:242          Sign (global 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            '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          'r060' (temp 3-component vector of float)
-0:243          sine (global 3-component vector of float)
+0:243          'r059' (temp 3-component vector of float)
+0:243          Sign (global 3-component vector of float)
 0:243            'inF0' (in 3-component vector of float)
 0:244      Sequence
 0:244        move second child to first child (temp 3-component vector of float)
-0:244          'inF1' (in 3-component vector of float)
-0:244          sine (temp 3-component vector of float)
-0:244            'inF0' (in 3-component vector of float)
-0:244        move second child to first child (temp 3-component vector of float)
-0:244          'inF2' (in 3-component vector of float)
-0:244          cosine (temp 3-component vector of float)
+0:244          'r060' (temp 3-component vector of float)
+0:244          sine (global 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          'r061' (temp 3-component vector of float)
-0:245          hyp. sine (global 3-component vector of float)
+0:245          'inF1' (in 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          'r062' (temp 3-component vector of float)
-0:246          smoothstep (global 3-component vector of float)
+0:246          'r061' (temp 3-component vector of float)
+0:246          hyp. sine (global 3-component vector of float)
 0:246            'inF0' (in 3-component vector of float)
-0:246            'inF1' (in 3-component vector of float)
-0:246            'inF2' (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          'r063' (temp 3-component vector of float)
-0:247          sqrt (global 3-component vector of float)
+0:247          'r062' (temp 3-component vector of float)
+0:247          smoothstep (global 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          'r064' (temp 3-component vector of float)
-0:248          step (global 3-component vector of float)
+0:248          'r063' (temp 3-component vector of float)
+0:248          sqrt (global 3-component vector of float)
 0:248            'inF0' (in 3-component vector of float)
-0:248            'inF1' (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          'r065' (temp 3-component vector of float)
-0:249          tangent (global 3-component vector of float)
+0:249          'r064' (temp 3-component vector of float)
+0:249          step (global 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          'r066' (temp 3-component vector of float)
-0:250          hyp. tangent (global 3-component vector of float)
+0:250          'r065' (temp 3-component vector of float)
+0:250          tangent (global 3-component vector of float)
 0:250            'inF0' (in 3-component vector of float)
-0:252      Sequence
-0:252        move second child to first child (temp 3-component vector of float)
-0:252          'r067' (temp 3-component vector of float)
-0:252          trunc (global 3-component vector of float)
-0:252            'inF0' (in 3-component vector of float)
-0:255      Branch: Return with expression
+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 (global 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 (global 3-component vector of float)
+0:253            'inF0' (in 3-component vector of float)
+0:256      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:399  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float)
-0:259    Function Parameters: 
-0:259      'inF0' (in 4-component vector of float)
-0:259      'inF1' (in 4-component vector of float)
-0:259      'inF2' (in 4-component vector of float)
-0:259      'inU0' (in 4-component vector of uint)
-0:259      'inU1' (in 4-component vector of uint)
+0:400  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 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:?     Sequence
-0:262      Sequence
-0:262        move second child to first child (temp bool)
-0:262          'r000' (temp bool)
-0:262          all (global bool)
-0:262            'inF0' (in 4-component vector of float)
 0:263      Sequence
-0:263        move second child to first child (temp 4-component vector of float)
-0:263          'r001' (temp 4-component vector of float)
-0:263          Absolute value (global 4-component vector of float)
+0:263        move second child to first child (temp bool)
+0:263          'r000' (temp bool)
+0:263          all (global 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          'r002' (temp 4-component vector of float)
-0:264          arc cosine (global 4-component vector of float)
+0:264          'r001' (temp 4-component vector of float)
+0:264          Absolute value (global 4-component vector of float)
 0:264            'inF0' (in 4-component vector of float)
 0:265      Sequence
-0:265        move second child to first child (temp bool)
-0:265          'r003' (temp bool)
-0:265          any (global bool)
+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 (global 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 4-component vector of float)
-0:266          'r004' (temp 4-component vector of float)
-0:266          arc sine (global 4-component vector of float)
+0:266        move second child to first child (temp bool)
+0:266          'r003' (temp bool)
+0:266          any (global bool)
 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 int)
-0:267          'r005' (temp 4-component vector of int)
-0:267          floatBitsToInt (global 4-component vector of int)
+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 (global 4-component vector of float)
 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 uint)
-0:268          'r006' (temp 4-component vector of uint)
-0:268          floatBitsToUint (global 4-component vector of uint)
+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 (global 4-component vector of int)
 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 float)
-0:269          'r007' (temp 4-component vector of float)
-0:269          intBitsToFloat (global 4-component vector of float)
-0:269            'inU0' (in 4-component vector of uint)
-0:271      Sequence
-0:271        move second child to first child (temp 4-component vector of float)
-0:271          'r009' (temp 4-component vector of float)
-0:271          arc tangent (global 4-component vector of float)
-0:271            'inF0' (in 4-component vector of float)
+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 (global 4-component vector of uint)
+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 (global 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          'r010' (temp 4-component vector of float)
+0:272          'r009' (temp 4-component vector of float)
 0:272          arc tangent (global 4-component vector of float)
 0:272            'inF0' (in 4-component vector of float)
-0:272            'inF1' (in 4-component vector of float)
 0:273      Sequence
 0:273        move second child to first child (temp 4-component vector of float)
-0:273          'r011' (temp 4-component vector of float)
-0:273          Ceiling (global 4-component vector of float)
+0:273          'r010' (temp 4-component vector of float)
+0:273          arc tangent (global 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          'r012' (temp 4-component vector of float)
-0:274          clamp (global 4-component vector of float)
+0:274          'r011' (temp 4-component vector of float)
+0:274          Ceiling (global 4-component vector of float)
 0:274            'inF0' (in 4-component vector of float)
-0:274            'inF1' (in 4-component vector of float)
-0:274            'inF2' (in 4-component vector of float)
-0:275      Test condition and select (temp void)
-0:275        Condition
-0:275        any (temp bool)
-0:275          Compare Less Than (temp 4-component vector of bool)
+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 (global 4-component vector of float)
 0:275            'inF0' (in 4-component vector of float)
-0:275            Constant:
-0:275              0.000000
-0:275              0.000000
-0:275              0.000000
-0:275              0.000000
-0:275        true case
-0:275        Branch: Kill
-0:276      Sequence
-0:276        move second child to first child (temp 4-component vector of float)
-0:276          'r013' (temp 4-component vector of float)
-0:276          cosine (global 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            '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:277      Sequence
 0:277        move second child to first child (temp 4-component vector of float)
-0:277          'r014' (temp 4-component vector of float)
-0:277          hyp. cosine (global 4-component vector of float)
+0:277          'r013' (temp 4-component vector of float)
+0:277          cosine (global 4-component vector of float)
 0:277            'inF0' (in 4-component vector of float)
 0:278      Sequence
-0:278        move second child to first child (temp 4-component vector of uint)
-0:278          'r015' (temp 4-component vector of uint)
+0:278        move second child to first child (temp 4-component vector of float)
+0:278          'r014' (temp 4-component vector of float)
+0:278          hyp. cosine (global 4-component vector of float)
+0:278            'inF0' (in 4-component vector of float)
+0:279      Sequence
+0:279        move second child to first child (temp 4-component vector of uint)
+0:279          'r015' (temp 4-component vector of uint)
 0:?           bitCount (global 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:?               5 (const uint)
 0:?               2 (const uint)
-0:279      Sequence
-0:279        move second child to first child (temp 4-component vector of float)
-0:279          'r016' (temp 4-component vector of float)
-0:279          dPdx (global 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 float)
-0:280          'r017' (temp 4-component vector of float)
-0:280          dPdxCoarse (global 4-component vector of float)
+0:280          'r016' (temp 4-component vector of float)
+0:280          dPdx (global 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 float)
-0:281          'r018' (temp 4-component vector of float)
-0:281          dPdxFine (global 4-component vector of float)
+0:281          'r017' (temp 4-component vector of float)
+0:281          dPdxCoarse (global 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          'r019' (temp 4-component vector of float)
-0:282          dPdy (global 4-component vector of float)
+0:282          'r018' (temp 4-component vector of float)
+0:282          dPdxFine (global 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          'r020' (temp 4-component vector of float)
-0:283          dPdyCoarse (global 4-component vector of float)
+0:283          'r019' (temp 4-component vector of float)
+0:283          dPdy (global 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          'r021' (temp 4-component vector of float)
-0:284          dPdyFine (global 4-component vector of float)
+0:284          'r020' (temp 4-component vector of float)
+0:284          dPdyCoarse (global 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          'r022' (temp 4-component vector of float)
-0:285          degrees (global 4-component vector of float)
+0:285          'r021' (temp 4-component vector of float)
+0:285          dPdyFine (global 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 float)
-0:286          'r023' (temp float)
-0:286          distance (global float)
+0:286        move second child to first child (temp 4-component vector of float)
+0:286          'r022' (temp 4-component vector of float)
+0:286          degrees (global 4-component vector of float)
 0:286            'inF0' (in 4-component vector of float)
-0:286            'inF1' (in 4-component vector of float)
 0:287      Sequence
 0:287        move second child to first child (temp float)
-0:287          'r024' (temp float)
-0:287          dot-product (global float)
+0:287          'r023' (temp float)
+0:287          distance (global float)
 0:287            'inF0' (in 4-component vector of float)
 0:287            'inF1' (in 4-component vector of float)
 0:288      Sequence
-0:288        move second child to first child (temp 4-component vector of float)
-0:288          'r025' (temp 4-component vector of float)
-0:288          Construct vec4 (temp 4-component vector of float)
-0:288            Constant:
-0:288              1.000000
-0:288            component-wise multiply (temp float)
-0:288              direct index (temp float)
-0:288                'inF0' (in 4-component vector of float)
-0:288                Constant:
-0:288                  1 (const int)
-0:288              direct index (temp float)
-0:288                'inF1' (in 4-component vector of float)
-0:288                Constant:
-0:288                  1 (const int)
-0:288            direct index (temp float)
-0:288              'inF0' (in 4-component vector of float)
-0:288              Constant:
-0:288                2 (const int)
-0:288            direct index (temp float)
-0:288              'inF1' (in 4-component vector of float)
-0:288              Constant:
-0:288                3 (const int)
-0:292      Sequence
-0:292        move second child to first child (temp 4-component vector of float)
-0:292          'r029' (temp 4-component vector of float)
-0:292          exp (global 4-component vector of float)
-0:292            'inF0' (in 4-component vector of float)
+0:288        move second child to first child (temp float)
+0:288          'r024' (temp float)
+0:288          dot-product (global 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 4-component vector of float)
+0:289          'r025' (temp 4-component vector of float)
+0:289          Construct vec4 (temp 4-component vector of float)
+0:289            Constant:
+0:289              1.000000
+0:289            component-wise multiply (temp float)
+0:289              direct index (temp float)
+0:289                'inF0' (in 4-component vector of float)
+0:289                Constant:
+0:289                  1 (const int)
+0:289              direct index (temp float)
+0:289                'inF1' (in 4-component vector of float)
+0:289                Constant:
+0:289                  1 (const int)
+0:289            direct index (temp float)
+0:289              'inF0' (in 4-component vector of float)
+0:289              Constant:
+0:289                2 (const int)
+0:289            direct index (temp float)
+0:289              'inF1' (in 4-component vector of float)
+0:289              Constant:
+0:289                3 (const int)
 0:293      Sequence
 0:293        move second child to first child (temp 4-component vector of float)
-0:293          'r030' (temp 4-component vector of float)
-0:293          exp2 (global 4-component vector of float)
+0:293          'r029' (temp 4-component vector of float)
+0:293          exp (global 4-component vector of float)
 0:293            'inF0' (in 4-component vector of float)
 0:294      Sequence
 0:294        move second child to first child (temp 4-component vector of float)
-0:294          'r031' (temp 4-component vector of float)
-0:294          face-forward (global 4-component vector of float)
+0:294          'r030' (temp 4-component vector of float)
+0:294          exp2 (global 4-component vector of float)
 0:294            'inF0' (in 4-component vector of float)
-0:294            'inF1' (in 4-component vector of float)
-0:294            'inF2' (in 4-component vector of float)
 0:295      Sequence
-0:295        move second child to first child (temp 4-component vector of uint)
-0:295          'r032' (temp 4-component vector of uint)
+0:295        move second child to first child (temp 4-component vector of float)
+0:295          'r031' (temp 4-component vector of float)
+0:295          face-forward (global 4-component vector of float)
+0:295            'inF0' (in 4-component vector of float)
+0:295            'inF1' (in 4-component vector of float)
+0:295            'inF2' (in 4-component vector of float)
+0:296      Sequence
+0:296        move second child to first child (temp 4-component vector of uint)
+0:296          'r032' (temp 4-component vector of uint)
 0:?           findMSB (global 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:296      Sequence
-0:296        move second child to first child (temp 4-component vector of uint)
-0:296          'r033' (temp 4-component vector of uint)
+0:297      Sequence
+0:297        move second child to first child (temp 4-component vector of uint)
+0:297          'r033' (temp 4-component vector of uint)
 0:?           findLSB (global 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:297      Sequence
-0:297        move second child to first child (temp 4-component vector of float)
-0:297          'r034' (temp 4-component vector of float)
-0:297          Floor (global 4-component vector of float)
-0:297            'inF0' (in 4-component vector of float)
-0:299      Sequence
-0:299        move second child to first child (temp 4-component vector of float)
-0:299          'r036' (temp 4-component vector of float)
-0:299          mod (global 4-component vector of float)
-0:299            'inF0' (in 4-component vector of float)
-0:299            'inF1' (in 4-component vector of float)
+0:298      Sequence
+0:298        move second child to first child (temp 4-component vector of float)
+0:298          'r034' (temp 4-component vector of float)
+0:298          Floor (global 4-component vector of float)
+0:298            'inF0' (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          'r037' (temp 4-component vector of float)
-0:300          Fraction (global 4-component vector of float)
+0:300          'r036' (temp 4-component vector of float)
+0:300          mod (global 4-component vector of float)
 0:300            'inF0' (in 4-component vector of float)
+0:300            'inF1' (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          'r038' (temp 4-component vector of float)
-0:301          frexp (global 4-component vector of float)
+0:301          'r037' (temp 4-component vector of float)
+0:301          Fraction (global 4-component vector of float)
 0:301            'inF0' (in 4-component vector of float)
-0:301            'inF1' (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          'r039' (temp 4-component vector of float)
-0:302          fwidth (global 4-component vector of float)
+0:302          'r038' (temp 4-component vector of float)
+0:302          frexp (global 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 bool)
-0:303          'r040' (temp 4-component vector of bool)
-0:303          isinf (global 4-component vector of bool)
+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 (global 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          'r041' (temp 4-component vector of bool)
-0:304          isnan (global 4-component vector of bool)
+0:304          'r040' (temp 4-component vector of bool)
+0:304          isinf (global 4-component vector of bool)
 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 float)
-0:305          'r042' (temp 4-component vector of float)
-0:305          ldexp (global 4-component vector of float)
+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 (global 4-component vector of bool)
 0:305            'inF0' (in 4-component vector of float)
-0:305            'inF1' (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          'r039a' (temp 4-component vector of float)
-0:306          mix (global 4-component vector of float)
+0:306          'r042' (temp 4-component vector of float)
+0:306          ldexp (global 4-component vector of float)
 0:306            'inF0' (in 4-component vector of float)
 0:306            'inF1' (in 4-component vector of float)
-0:306            'inF2' (in 4-component vector of float)
 0:307      Sequence
-0:307        move second child to first child (temp float)
-0:307          'r043' (temp float)
-0:307          length (global float)
+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 (global 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 4-component vector of float)
-0:308          'r044' (temp 4-component vector of float)
-0:308          log (global 4-component vector of float)
+0:308        move second child to first child (temp float)
+0:308          'r043' (temp float)
+0:308          length (global float)
 0:308            'inF0' (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          'r045' (temp 4-component vector of float)
-0:309          vector-scale (temp 4-component vector of float)
-0:309            log2 (temp 4-component vector of float)
-0:309              'inF0' (in 4-component vector of float)
-0:309            Constant:
-0:309              0.301030
+0:309          'r044' (temp 4-component vector of float)
+0:309          log (global 4-component vector of 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          'r046' (temp 4-component vector of float)
-0:310          log2 (global 4-component vector of float)
-0:310            'inF0' (in 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:311      Sequence
 0:311        move second child to first child (temp 4-component vector of float)
-0:311          'r047' (temp 4-component vector of float)
-0:311          max (global 4-component vector of float)
+0:311          'r046' (temp 4-component vector of float)
+0:311          log2 (global 4-component vector of float)
 0:311            'inF0' (in 4-component vector of float)
-0:311            'inF1' (in 4-component vector of float)
 0:312      Sequence
 0:312        move second child to first child (temp 4-component vector of float)
-0:312          'r048' (temp 4-component vector of float)
-0:312          min (global 4-component vector of float)
+0:312          'r047' (temp 4-component vector of float)
+0:312          max (global 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          'r049' (temp 4-component vector of float)
-0:313          normalize (global 4-component vector of float)
+0:313          'r048' (temp 4-component vector of float)
+0:313          min (global 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          'r050' (temp 4-component vector of float)
-0:314          pow (global 4-component vector of float)
+0:314          'r049' (temp 4-component vector of float)
+0:314          normalize (global 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          'r051' (temp 4-component vector of float)
-0:315          radians (global 4-component vector of float)
+0:315          'r050' (temp 4-component vector of float)
+0:315          pow (global 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          'r052' (temp 4-component vector of float)
-0:316          divide (temp 4-component vector of float)
-0:316            Constant:
-0:316              1.000000
+0:316          'r051' (temp 4-component vector of float)
+0:316          radians (global 4-component vector of float)
 0:316            'inF0' (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          'r053' (temp 4-component vector of float)
-0:317          reflect (global 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            'inF0' (in 4-component vector of float)
-0:317            'inF1' (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          'r054' (temp 4-component vector of float)
-0:318          refract (global 4-component vector of float)
+0:318          'r053' (temp 4-component vector of float)
+0:318          reflect (global 4-component vector of float)
 0:318            'inF0' (in 4-component vector of float)
 0:318            'inF1' (in 4-component vector of float)
-0:318            Constant:
-0:318              2.000000
 0:319      Sequence
-0:319        move second child to first child (temp 4-component vector of uint)
-0:319          'r055' (temp 4-component vector of uint)
+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 (global 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:?           bitFieldReverse (global 4-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:320      Sequence
-0:320        move second child to first child (temp 4-component vector of float)
-0:320          'r056' (temp 4-component vector of float)
-0:320          roundEven (global 4-component vector of float)
-0:320            'inF0' (in 4-component vector of float)
 0:321      Sequence
 0:321        move second child to first child (temp 4-component vector of float)
-0:321          'r057' (temp 4-component vector of float)
-0:321          inverse sqrt (global 4-component vector of float)
+0:321          'r056' (temp 4-component vector of float)
+0:321          roundEven (global 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          'r058' (temp 4-component vector of float)
-0:322          clamp (temp 4-component vector of float)
+0:322          'r057' (temp 4-component vector of float)
+0:322          inverse sqrt (global 4-component vector of float)
 0:322            'inF0' (in 4-component vector of float)
-0:322            Constant:
-0:322              0.000000
-0:322            Constant:
-0:322              1.000000
 0:323      Sequence
 0:323        move second child to first child (temp 4-component vector of float)
-0:323          'r059' (temp 4-component vector of float)
-0:323          Sign (global 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            '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          'r060' (temp 4-component vector of float)
-0:324          sine (global 4-component vector of float)
+0:324          'r059' (temp 4-component vector of float)
+0:324          Sign (global 4-component vector of float)
 0:324            'inF0' (in 4-component vector of float)
 0:325      Sequence
 0:325        move second child to first child (temp 4-component vector of float)
-0:325          'inF1' (in 4-component vector of float)
-0:325          sine (temp 4-component vector of float)
-0:325            'inF0' (in 4-component vector of float)
-0:325        move second child to first child (temp 4-component vector of float)
-0:325          'inF2' (in 4-component vector of float)
-0:325          cosine (temp 4-component vector of float)
+0:325          'r060' (temp 4-component vector of float)
+0:325          sine (global 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          'r061' (temp 4-component vector of float)
-0:326          hyp. sine (global 4-component vector of float)
+0:326          'inF1' (in 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          'r062' (temp 4-component vector of float)
-0:327          smoothstep (global 4-component vector of float)
+0:327          'r061' (temp 4-component vector of float)
+0:327          hyp. sine (global 4-component vector of float)
 0:327            'inF0' (in 4-component vector of float)
-0:327            'inF1' (in 4-component vector of float)
-0:327            'inF2' (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          'r063' (temp 4-component vector of float)
-0:328          sqrt (global 4-component vector of float)
+0:328          'r062' (temp 4-component vector of float)
+0:328          smoothstep (global 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          'r064' (temp 4-component vector of float)
-0:329          step (global 4-component vector of float)
+0:329          'r063' (temp 4-component vector of float)
+0:329          sqrt (global 4-component vector of float)
 0:329            'inF0' (in 4-component vector of float)
-0:329            'inF1' (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          'r065' (temp 4-component vector of float)
-0:330          tangent (global 4-component vector of float)
+0:330          'r064' (temp 4-component vector of float)
+0:330          step (global 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          'r066' (temp 4-component vector of float)
-0:331          hyp. tangent (global 4-component vector of float)
+0:331          'r065' (temp 4-component vector of float)
+0:331          tangent (global 4-component vector of float)
 0:331            'inF0' (in 4-component vector of float)
-0:333      Sequence
-0:333        move second child to first child (temp 4-component vector of float)
-0:333          'r067' (temp 4-component vector of float)
-0:333          trunc (global 4-component vector of float)
-0:333            'inF0' (in 4-component vector of float)
-0:336      Branch: Return with expression
+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 (global 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 (global 4-component vector of float)
+0:334            'inF0' (in 4-component vector of float)
+0:337      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:408  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 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:409  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 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 (global 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 (global 2X2 matrix of float)
-0:402            'inF0' (in 2X2 matrix of float)
-0:402      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 2X2 matrix of float)
-0:402          frexp (global 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          'r025' (temp 2X2 matrix of float)
-0:402          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 2X2 matrix of float)
-0:402            'inF0' (in 2X2 matrix of float)
-0:402      transpose (global 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 (global 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 (global 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 (global 2X2 matrix of float)
+0:403            'inF0' (in 2X2 matrix of float)
+0:403      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 2X2 matrix of float)
+0:403          frexp (global 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          'r025' (temp 2X2 matrix of float)
+0:403          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 2X2 matrix of float)
+0:403            'inF0' (in 2X2 matrix of float)
+0:403      transpose (global 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 (global 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:417  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (global 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:418  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (global 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 (global 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 (global 3X3 matrix of float)
-0:411            'inF0' (in 3X3 matrix of float)
-0:411      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 3X3 matrix of float)
-0:411          frexp (global 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          'r025' (temp 3X3 matrix of float)
-0:411          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 3X3 matrix of float)
-0:411            'inF0' (in 3X3 matrix of float)
-0:411      transpose (global 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 (global 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 (global 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 (global 3X3 matrix of float)
+0:412            'inF0' (in 3X3 matrix of float)
+0:412      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 3X3 matrix of float)
+0:412          frexp (global 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          'r025' (temp 3X3 matrix of float)
+0:412          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 3X3 matrix of float)
+0:412            'inF0' (in 3X3 matrix of float)
+0:412      transpose (global 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 (global 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
@@ -2136,301 +2144,301 @@ gl_FragCoord origin is upper left
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:438  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (global 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:439  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (global 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 (global 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 (global 4X4 matrix of float)
-0:420            'inF0' (in 4X4 matrix of float)
-0:420      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 4X4 matrix of float)
-0:420          frexp (global 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          'r025' (temp 4X4 matrix of float)
-0:420          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 4X4 matrix of float)
-0:420            'inF0' (in 4X4 matrix of float)
-0:420      transpose (global 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 (global 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 (global 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 (global 4X4 matrix of float)
+0:421            'inF0' (in 4X4 matrix of float)
+0:421      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 4X4 matrix of float)
+0:421          frexp (global 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          'r025' (temp 4X4 matrix of float)
+0:421          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 4X4 matrix of float)
+0:421            'inF0' (in 4X4 matrix of float)
+0:421      transpose (global 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 (global 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
@@ -2448,309 +2456,309 @@ gl_FragCoord origin is upper left
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:445  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (global 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:446  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (global 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            'inF0' (in float)
-0:442            'inF1' (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            'inFV0' (in 2-component vector of 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          'r2' (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 float)
-0:442          'r3' (temp float)
-0:442          dot-product (global 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          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 2-component vector of float)
-0:442          'r5' (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 2X2 matrix of float)
-0:442          'r6' (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          'r7' (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          'r8' (temp 2X2 matrix of float)
-0:442          matrix-multiply (temp 2X2 matrix of float)
-0:442            'inFM0' (in 2X2 matrix of float)
-0:442            'inFM1' (in 2X2 matrix of float)
-0:452  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global 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            'inF0' (in float)
+0:443            'inF1' (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            'inFV0' (in 2-component vector of 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          'r2' (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 float)
+0:443          'r3' (temp float)
+0:443          dot-product (global 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          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 2-component vector of float)
+0:443          'r5' (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 2X2 matrix of float)
+0:443          'r6' (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          'r7' (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          'r8' (temp 2X2 matrix of float)
+0:443          matrix-multiply (temp 2X2 matrix of float)
+0:443            'inFM0' (in 2X2 matrix of float)
+0:443            'inFM1' (in 2X2 matrix of float)
+0:453  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global 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            'inF0' (in float)
-0:449            'inF1' (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            'inFV0' (in 3-component vector of 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          'r2' (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 float)
-0:449          'r3' (temp float)
-0:449          dot-product (global 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          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 3-component vector of float)
-0:449          'r5' (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 3X3 matrix of float)
-0:449          'r6' (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          'r7' (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          'r8' (temp 3X3 matrix of float)
-0:449          matrix-multiply (temp 3X3 matrix of float)
-0:449            'inFM0' (in 3X3 matrix of float)
-0:449            'inFM1' (in 3X3 matrix of float)
-0:460  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global 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            'inF0' (in float)
+0:450            'inF1' (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            'inFV0' (in 3-component vector of 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          'r2' (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 float)
+0:450          'r3' (temp float)
+0:450          dot-product (global 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          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 3-component vector of float)
+0:450          'r5' (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 3X3 matrix of float)
+0:450          'r6' (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          'r7' (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          'r8' (temp 3X3 matrix of float)
+0:450          matrix-multiply (temp 3X3 matrix of float)
+0:450            'inFM0' (in 3X3 matrix of float)
+0:450            'inFM1' (in 3X3 matrix of float)
+0:461  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global 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            'inF0' (in float)
-0:456            'inF1' (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            'inFV0' (in 4-component vector of 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          'r2' (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 float)
-0:456          'r3' (temp float)
-0:456          dot-product (global 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          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 4-component vector of float)
-0:456          'r5' (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 4X4 matrix of float)
-0:456          'r6' (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          'r7' (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          'r8' (temp 4X4 matrix of float)
-0:456          matrix-multiply (temp 4X4 matrix of float)
-0:456            'inFM0' (in 4X4 matrix of float)
-0:456            'inFM1' (in 4X4 matrix of float)
-0:484  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global 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 3X2 matrix of float)
-0:465      'inFM3x2' (in 2X3 matrix of float)
-0:465      'inFM3x3' (in 3X3 matrix of float)
-0:465      'inFM3x4' (in 4X3 matrix of float)
-0:465      'inFM2x4' (in 4X2 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            'inF0' (in float)
+0:457            'inF1' (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            'inFV0' (in 4-component vector of 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          'r2' (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 float)
+0:457          'r3' (temp float)
+0:457          dot-product (global 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          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 4-component vector of float)
+0:457          'r5' (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 4X4 matrix of float)
+0:457          'r6' (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          'r7' (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          'r8' (temp 4X4 matrix of float)
+0:457          matrix-multiply (temp 4X4 matrix of float)
+0:457            'inFM0' (in 4X4 matrix of float)
+0:457            'inFM1' (in 4X4 matrix of float)
+0:485  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global 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 3X2 matrix of float)
+0:466      'inFM3x2' (in 2X3 matrix of float)
+0:466      'inFM3x3' (in 3X3 matrix of float)
+0:466      'inFM3x4' (in 4X3 matrix of float)
+0:466      'inFM2x4' (in 4X2 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            'inF0' (in float)
-0:466            'inF1' (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            'inFV2' (in 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            'inF0' (in float)
+0:467            'inF1' (in 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            'inFV3' (in 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            'inFV2' (in 2-component vector of float)
 0:468            'inF0' (in 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        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            'inFV3' (in 3-component vector of float)
 0:469            'inF0' (in float)
-0:469            'inFV2' (in 2-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        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            'inF0' (in float)
-0:470            'inFV3' (in 3-component vector of float)
+0:470            'inFV2' (in 2-component vector of float)
 0:471      Sequence
-0:471        move second child to first child (temp float)
-0:471          'r05' (temp float)
-0:471          dot-product (global 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            'inF0' (in float)
+0:471            'inFV3' (in 3-component vector of 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 (global 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          vector-times-matrix (temp 3-component vector of float)
-0:473            'inFV2' (in 2-component vector of float)
-0:473            'inFM2x3' (in 3X2 matrix of float)
+0:473        move second child to first child (temp float)
+0:473          'r06' (temp float)
+0:473          dot-product (global 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          vector-times-matrix (temp 2-component vector of float)
-0:474            'inFV3' (in 3-component vector of float)
-0:474            'inFM3x2' (in 2X3 matrix 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          vector-times-matrix (temp 3-component vector of float)
+0:474            'inFV2' (in 2-component vector of float)
+0:474            'inFM2x3' (in 3X2 matrix 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          matrix-times-vector (temp 2-component vector of float)
-0:475            'inFM2x3' (in 3X2 matrix of float)
+0:475          'r08' (temp 2-component vector of float)
+0:475          vector-times-matrix (temp 2-component vector of float)
 0:475            'inFV3' (in 3-component vector of float)
+0:475            'inFM3x2' (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          matrix-times-vector (temp 3-component vector of float)
-0:476            'inFM3x2' (in 2X3 matrix of float)
-0:476            'inFV2' (in 2-component vector 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          matrix-times-vector (temp 2-component vector of float)
+0:476            'inFM2x3' (in 3X2 matrix of float)
+0:476            'inFV3' (in 3-component vector of float)
 0:477      Sequence
-0:477        move second child to first child (temp 3X2 matrix of float)
-0:477          'r11' (temp 3X2 matrix of float)
-0:477          matrix-scale (temp 3X2 matrix of float)
-0:477            'inFM2x3' (in 3X2 matrix of float)
-0:477            'inF0' (in 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          matrix-times-vector (temp 3-component vector of float)
+0:477            'inFM3x2' (in 2X3 matrix of float)
+0:477            'inFV2' (in 2-component vector of float)
 0:478      Sequence
-0:478        move second child to first child (temp 2X3 matrix of float)
-0:478          'r12' (temp 2X3 matrix of float)
-0:478          matrix-scale (temp 2X3 matrix of float)
-0:478            'inFM3x2' (in 2X3 matrix of float)
+0:478        move second child to first child (temp 3X2 matrix of float)
+0:478          'r11' (temp 3X2 matrix of float)
+0:478          matrix-scale (temp 3X2 matrix of float)
+0:478            'inFM2x3' (in 3X2 matrix of float)
 0:478            'inF0' (in 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            'inFM2x3' (in 3X2 matrix of float)
+0:479        move second child to first child (temp 2X3 matrix of float)
+0:479          'r12' (temp 2X3 matrix of float)
+0:479          matrix-scale (temp 2X3 matrix of float)
 0:479            'inFM3x2' (in 2X3 matrix of float)
+0:479            'inF0' (in float)
 0:480      Sequence
-0:480        move second child to first child (temp 3X2 matrix of float)
-0:480          'r14' (temp 3X2 matrix of float)
-0:480          matrix-multiply (temp 3X2 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            'inFM2x3' (in 3X2 matrix of float)
-0:480            'inFM3x3' (in 3X3 matrix of float)
+0:480            'inFM3x2' (in 2X3 matrix of float)
 0:481      Sequence
-0:481        move second child to first child (temp 4X2 matrix of float)
-0:481          'r15' (temp 4X2 matrix of float)
-0:481          matrix-multiply (temp 4X2 matrix of float)
+0:481        move second child to first child (temp 3X2 matrix of float)
+0:481          'r14' (temp 3X2 matrix of float)
+0:481          matrix-multiply (temp 3X2 matrix of float)
 0:481            'inFM2x3' (in 3X2 matrix of float)
-0:481            'inFM3x4' (in 4X3 matrix of float)
+0:481            'inFM3x3' (in 3X3 matrix of float)
 0:482      Sequence
-0:482        move second child to first child (temp 4X3 matrix of float)
-0:482          'r16' (temp 4X3 matrix of float)
-0:482          matrix-multiply (temp 4X3 matrix of float)
-0:482            'inFM3x2' (in 2X3 matrix of float)
-0:482            'inFM2x4' (in 4X2 matrix of float)
+0:482        move second child to first child (temp 4X2 matrix of float)
+0:482          'r15' (temp 4X2 matrix of float)
+0:482          matrix-multiply (temp 4X2 matrix of float)
+0:482            'inFM2x3' (in 3X2 matrix of float)
+0:482            'inFM3x4' (in 4X3 matrix of float)
+0:483      Sequence
+0:483        move second child to first child (temp 4X3 matrix of float)
+0:483          'r16' (temp 4X3 matrix of float)
+0:483          matrix-multiply (temp 4X3 matrix of float)
+0:483            'inFM3x2' (in 2X3 matrix of float)
+0:483            'inFM2x4' (in 4X2 matrix of float)
 0:?   Linker Objects
 0:?     'gs_ua' (global uint)
 0:?     'gs_ub' (global uint)
@@ -3503,7 +3511,7 @@ gl_FragCoord origin is upper left
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:258  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 3-component vector of float)
+0:259  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 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)
@@ -3740,1162 +3748,1170 @@ gl_FragCoord origin is upper left
 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 float)
-0:226          'r043' (temp float)
-0:226          length (global float)
+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          mix (global 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:227      Sequence
-0:227        move second child to first child (temp 3-component vector of float)
-0:227          'r044' (temp 3-component vector of float)
-0:227          log (global 3-component vector of float)
+0:227        move second child to first child (temp float)
+0:227          'r043' (temp float)
+0:227          length (global float)
 0:227            'inF0' (in 3-component vector of float)
 0:228      Sequence
 0:228        move second child to first child (temp 3-component vector of float)
-0:228          'r045' (temp 3-component vector of float)
-0:228          vector-scale (temp 3-component vector of float)
-0:228            log2 (temp 3-component vector of float)
-0:228              'inF0' (in 3-component vector of float)
-0:228            Constant:
-0:228              0.301030
+0:228          'r044' (temp 3-component vector of float)
+0:228          log (global 3-component vector of 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          'r046' (temp 3-component vector of float)
-0:229          log2 (global 3-component vector of float)
-0:229            'inF0' (in 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:230      Sequence
 0:230        move second child to first child (temp 3-component vector of float)
-0:230          'r047' (temp 3-component vector of float)
-0:230          max (global 3-component vector of float)
+0:230          'r046' (temp 3-component vector of float)
+0:230          log2 (global 3-component vector of float)
 0:230            'inF0' (in 3-component vector of float)
-0:230            'inF1' (in 3-component vector of float)
 0:231      Sequence
 0:231        move second child to first child (temp 3-component vector of float)
-0:231          'r048' (temp 3-component vector of float)
-0:231          min (global 3-component vector of float)
+0:231          'r047' (temp 3-component vector of float)
+0:231          max (global 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          'r049' (temp 3-component vector of float)
-0:232          normalize (global 3-component vector of float)
+0:232          'r048' (temp 3-component vector of float)
+0:232          min (global 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          'r050' (temp 3-component vector of float)
-0:233          pow (global 3-component vector of float)
+0:233          'r049' (temp 3-component vector of float)
+0:233          normalize (global 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          'r051' (temp 3-component vector of float)
-0:234          radians (global 3-component vector of float)
+0:234          'r050' (temp 3-component vector of float)
+0:234          pow (global 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          'r052' (temp 3-component vector of float)
-0:235          divide (temp 3-component vector of float)
-0:235            Constant:
-0:235              1.000000
+0:235          'r051' (temp 3-component vector of float)
+0:235          radians (global 3-component vector of float)
 0:235            'inF0' (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          'r053' (temp 3-component vector of float)
-0:236          reflect (global 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            'inF0' (in 3-component vector of float)
-0:236            'inF1' (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          'r054' (temp 3-component vector of float)
-0:237          refract (global 3-component vector of float)
+0:237          'r053' (temp 3-component vector of float)
+0:237          reflect (global 3-component vector of float)
 0:237            'inF0' (in 3-component vector of float)
 0:237            'inF1' (in 3-component vector of float)
-0:237            Constant:
-0:237              2.000000
 0:238      Sequence
-0:238        move second child to first child (temp 3-component vector of uint)
-0:238          'r055' (temp 3-component vector of uint)
+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 (global 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:?           bitFieldReverse (global 3-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
-0:239      Sequence
-0:239        move second child to first child (temp 3-component vector of float)
-0:239          'r056' (temp 3-component vector of float)
-0:239          roundEven (global 3-component vector of float)
-0:239            'inF0' (in 3-component vector of float)
 0:240      Sequence
 0:240        move second child to first child (temp 3-component vector of float)
-0:240          'r057' (temp 3-component vector of float)
-0:240          inverse sqrt (global 3-component vector of float)
+0:240          'r056' (temp 3-component vector of float)
+0:240          roundEven (global 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          'r058' (temp 3-component vector of float)
-0:241          clamp (temp 3-component vector of float)
+0:241          'r057' (temp 3-component vector of float)
+0:241          inverse sqrt (global 3-component vector of float)
 0:241            'inF0' (in 3-component vector of float)
-0:241            Constant:
-0:241              0.000000
-0:241            Constant:
-0:241              1.000000
 0:242      Sequence
 0:242        move second child to first child (temp 3-component vector of float)
-0:242          'r059' (temp 3-component vector of float)
-0:242          Sign (global 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            '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          'r060' (temp 3-component vector of float)
-0:243          sine (global 3-component vector of float)
+0:243          'r059' (temp 3-component vector of float)
+0:243          Sign (global 3-component vector of float)
 0:243            'inF0' (in 3-component vector of float)
 0:244      Sequence
 0:244        move second child to first child (temp 3-component vector of float)
-0:244          'inF1' (in 3-component vector of float)
-0:244          sine (temp 3-component vector of float)
-0:244            'inF0' (in 3-component vector of float)
-0:244        move second child to first child (temp 3-component vector of float)
-0:244          'inF2' (in 3-component vector of float)
-0:244          cosine (temp 3-component vector of float)
+0:244          'r060' (temp 3-component vector of float)
+0:244          sine (global 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          'r061' (temp 3-component vector of float)
-0:245          hyp. sine (global 3-component vector of float)
+0:245          'inF1' (in 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          'r062' (temp 3-component vector of float)
-0:246          smoothstep (global 3-component vector of float)
+0:246          'r061' (temp 3-component vector of float)
+0:246          hyp. sine (global 3-component vector of float)
 0:246            'inF0' (in 3-component vector of float)
-0:246            'inF1' (in 3-component vector of float)
-0:246            'inF2' (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          'r063' (temp 3-component vector of float)
-0:247          sqrt (global 3-component vector of float)
+0:247          'r062' (temp 3-component vector of float)
+0:247          smoothstep (global 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          'r064' (temp 3-component vector of float)
-0:248          step (global 3-component vector of float)
+0:248          'r063' (temp 3-component vector of float)
+0:248          sqrt (global 3-component vector of float)
 0:248            'inF0' (in 3-component vector of float)
-0:248            'inF1' (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          'r065' (temp 3-component vector of float)
-0:249          tangent (global 3-component vector of float)
+0:249          'r064' (temp 3-component vector of float)
+0:249          step (global 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          'r066' (temp 3-component vector of float)
-0:250          hyp. tangent (global 3-component vector of float)
+0:250          'r065' (temp 3-component vector of float)
+0:250          tangent (global 3-component vector of float)
 0:250            'inF0' (in 3-component vector of float)
-0:252      Sequence
-0:252        move second child to first child (temp 3-component vector of float)
-0:252          'r067' (temp 3-component vector of float)
-0:252          trunc (global 3-component vector of float)
-0:252            'inF0' (in 3-component vector of float)
-0:255      Branch: Return with expression
+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 (global 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 (global 3-component vector of float)
+0:253            'inF0' (in 3-component vector of float)
+0:256      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:399  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float)
-0:259    Function Parameters: 
-0:259      'inF0' (in 4-component vector of float)
-0:259      'inF1' (in 4-component vector of float)
-0:259      'inF2' (in 4-component vector of float)
-0:259      'inU0' (in 4-component vector of uint)
-0:259      'inU1' (in 4-component vector of uint)
+0:400  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 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:?     Sequence
-0:262      Sequence
-0:262        move second child to first child (temp bool)
-0:262          'r000' (temp bool)
-0:262          all (global bool)
-0:262            'inF0' (in 4-component vector of float)
 0:263      Sequence
-0:263        move second child to first child (temp 4-component vector of float)
-0:263          'r001' (temp 4-component vector of float)
-0:263          Absolute value (global 4-component vector of float)
+0:263        move second child to first child (temp bool)
+0:263          'r000' (temp bool)
+0:263          all (global 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          'r002' (temp 4-component vector of float)
-0:264          arc cosine (global 4-component vector of float)
+0:264          'r001' (temp 4-component vector of float)
+0:264          Absolute value (global 4-component vector of float)
 0:264            'inF0' (in 4-component vector of float)
 0:265      Sequence
-0:265        move second child to first child (temp bool)
-0:265          'r003' (temp bool)
-0:265          any (global bool)
+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 (global 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 4-component vector of float)
-0:266          'r004' (temp 4-component vector of float)
-0:266          arc sine (global 4-component vector of float)
+0:266        move second child to first child (temp bool)
+0:266          'r003' (temp bool)
+0:266          any (global bool)
 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 int)
-0:267          'r005' (temp 4-component vector of int)
-0:267          floatBitsToInt (global 4-component vector of int)
+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 (global 4-component vector of float)
 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 uint)
-0:268          'r006' (temp 4-component vector of uint)
-0:268          floatBitsToUint (global 4-component vector of uint)
+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 (global 4-component vector of int)
 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 float)
-0:269          'r007' (temp 4-component vector of float)
-0:269          intBitsToFloat (global 4-component vector of float)
-0:269            'inU0' (in 4-component vector of uint)
-0:271      Sequence
-0:271        move second child to first child (temp 4-component vector of float)
-0:271          'r009' (temp 4-component vector of float)
-0:271          arc tangent (global 4-component vector of float)
-0:271            'inF0' (in 4-component vector of float)
+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 (global 4-component vector of uint)
+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 (global 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          'r010' (temp 4-component vector of float)
+0:272          'r009' (temp 4-component vector of float)
 0:272          arc tangent (global 4-component vector of float)
 0:272            'inF0' (in 4-component vector of float)
-0:272            'inF1' (in 4-component vector of float)
 0:273      Sequence
 0:273        move second child to first child (temp 4-component vector of float)
-0:273          'r011' (temp 4-component vector of float)
-0:273          Ceiling (global 4-component vector of float)
+0:273          'r010' (temp 4-component vector of float)
+0:273          arc tangent (global 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          'r012' (temp 4-component vector of float)
-0:274          clamp (global 4-component vector of float)
+0:274          'r011' (temp 4-component vector of float)
+0:274          Ceiling (global 4-component vector of float)
 0:274            'inF0' (in 4-component vector of float)
-0:274            'inF1' (in 4-component vector of float)
-0:274            'inF2' (in 4-component vector of float)
-0:275      Test condition and select (temp void)
-0:275        Condition
-0:275        any (temp bool)
-0:275          Compare Less Than (temp 4-component vector of bool)
+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 (global 4-component vector of float)
 0:275            'inF0' (in 4-component vector of float)
-0:275            Constant:
-0:275              0.000000
-0:275              0.000000
-0:275              0.000000
-0:275              0.000000
-0:275        true case
-0:275        Branch: Kill
-0:276      Sequence
-0:276        move second child to first child (temp 4-component vector of float)
-0:276          'r013' (temp 4-component vector of float)
-0:276          cosine (global 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            '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:277      Sequence
 0:277        move second child to first child (temp 4-component vector of float)
-0:277          'r014' (temp 4-component vector of float)
-0:277          hyp. cosine (global 4-component vector of float)
+0:277          'r013' (temp 4-component vector of float)
+0:277          cosine (global 4-component vector of float)
 0:277            'inF0' (in 4-component vector of float)
 0:278      Sequence
-0:278        move second child to first child (temp 4-component vector of uint)
-0:278          'r015' (temp 4-component vector of uint)
+0:278        move second child to first child (temp 4-component vector of float)
+0:278          'r014' (temp 4-component vector of float)
+0:278          hyp. cosine (global 4-component vector of float)
+0:278            'inF0' (in 4-component vector of float)
+0:279      Sequence
+0:279        move second child to first child (temp 4-component vector of uint)
+0:279          'r015' (temp 4-component vector of uint)
 0:?           bitCount (global 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:?               5 (const uint)
 0:?               2 (const uint)
-0:279      Sequence
-0:279        move second child to first child (temp 4-component vector of float)
-0:279          'r016' (temp 4-component vector of float)
-0:279          dPdx (global 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 float)
-0:280          'r017' (temp 4-component vector of float)
-0:280          dPdxCoarse (global 4-component vector of float)
+0:280          'r016' (temp 4-component vector of float)
+0:280          dPdx (global 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 float)
-0:281          'r018' (temp 4-component vector of float)
-0:281          dPdxFine (global 4-component vector of float)
+0:281          'r017' (temp 4-component vector of float)
+0:281          dPdxCoarse (global 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          'r019' (temp 4-component vector of float)
-0:282          dPdy (global 4-component vector of float)
+0:282          'r018' (temp 4-component vector of float)
+0:282          dPdxFine (global 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          'r020' (temp 4-component vector of float)
-0:283          dPdyCoarse (global 4-component vector of float)
+0:283          'r019' (temp 4-component vector of float)
+0:283          dPdy (global 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          'r021' (temp 4-component vector of float)
-0:284          dPdyFine (global 4-component vector of float)
+0:284          'r020' (temp 4-component vector of float)
+0:284          dPdyCoarse (global 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          'r022' (temp 4-component vector of float)
-0:285          degrees (global 4-component vector of float)
+0:285          'r021' (temp 4-component vector of float)
+0:285          dPdyFine (global 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 float)
-0:286          'r023' (temp float)
-0:286          distance (global float)
+0:286        move second child to first child (temp 4-component vector of float)
+0:286          'r022' (temp 4-component vector of float)
+0:286          degrees (global 4-component vector of float)
 0:286            'inF0' (in 4-component vector of float)
-0:286            'inF1' (in 4-component vector of float)
 0:287      Sequence
 0:287        move second child to first child (temp float)
-0:287          'r024' (temp float)
-0:287          dot-product (global float)
+0:287          'r023' (temp float)
+0:287          distance (global float)
 0:287            'inF0' (in 4-component vector of float)
 0:287            'inF1' (in 4-component vector of float)
 0:288      Sequence
-0:288        move second child to first child (temp 4-component vector of float)
-0:288          'r025' (temp 4-component vector of float)
-0:288          Construct vec4 (temp 4-component vector of float)
-0:288            Constant:
-0:288              1.000000
-0:288            component-wise multiply (temp float)
-0:288              direct index (temp float)
-0:288                'inF0' (in 4-component vector of float)
-0:288                Constant:
-0:288                  1 (const int)
-0:288              direct index (temp float)
-0:288                'inF1' (in 4-component vector of float)
-0:288                Constant:
-0:288                  1 (const int)
-0:288            direct index (temp float)
-0:288              'inF0' (in 4-component vector of float)
-0:288              Constant:
-0:288                2 (const int)
-0:288            direct index (temp float)
-0:288              'inF1' (in 4-component vector of float)
-0:288              Constant:
-0:288                3 (const int)
-0:292      Sequence
-0:292        move second child to first child (temp 4-component vector of float)
-0:292          'r029' (temp 4-component vector of float)
-0:292          exp (global 4-component vector of float)
-0:292            'inF0' (in 4-component vector of float)
+0:288        move second child to first child (temp float)
+0:288          'r024' (temp float)
+0:288          dot-product (global 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 4-component vector of float)
+0:289          'r025' (temp 4-component vector of float)
+0:289          Construct vec4 (temp 4-component vector of float)
+0:289            Constant:
+0:289              1.000000
+0:289            component-wise multiply (temp float)
+0:289              direct index (temp float)
+0:289                'inF0' (in 4-component vector of float)
+0:289                Constant:
+0:289                  1 (const int)
+0:289              direct index (temp float)
+0:289                'inF1' (in 4-component vector of float)
+0:289                Constant:
+0:289                  1 (const int)
+0:289            direct index (temp float)
+0:289              'inF0' (in 4-component vector of float)
+0:289              Constant:
+0:289                2 (const int)
+0:289            direct index (temp float)
+0:289              'inF1' (in 4-component vector of float)
+0:289              Constant:
+0:289                3 (const int)
 0:293      Sequence
 0:293        move second child to first child (temp 4-component vector of float)
-0:293          'r030' (temp 4-component vector of float)
-0:293          exp2 (global 4-component vector of float)
+0:293          'r029' (temp 4-component vector of float)
+0:293          exp (global 4-component vector of float)
 0:293            'inF0' (in 4-component vector of float)
 0:294      Sequence
 0:294        move second child to first child (temp 4-component vector of float)
-0:294          'r031' (temp 4-component vector of float)
-0:294          face-forward (global 4-component vector of float)
+0:294          'r030' (temp 4-component vector of float)
+0:294          exp2 (global 4-component vector of float)
 0:294            'inF0' (in 4-component vector of float)
-0:294            'inF1' (in 4-component vector of float)
-0:294            'inF2' (in 4-component vector of float)
 0:295      Sequence
-0:295        move second child to first child (temp 4-component vector of uint)
-0:295          'r032' (temp 4-component vector of uint)
+0:295        move second child to first child (temp 4-component vector of float)
+0:295          'r031' (temp 4-component vector of float)
+0:295          face-forward (global 4-component vector of float)
+0:295            'inF0' (in 4-component vector of float)
+0:295            'inF1' (in 4-component vector of float)
+0:295            'inF2' (in 4-component vector of float)
+0:296      Sequence
+0:296        move second child to first child (temp 4-component vector of uint)
+0:296          'r032' (temp 4-component vector of uint)
 0:?           findMSB (global 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:296      Sequence
-0:296        move second child to first child (temp 4-component vector of uint)
-0:296          'r033' (temp 4-component vector of uint)
+0:297      Sequence
+0:297        move second child to first child (temp 4-component vector of uint)
+0:297          'r033' (temp 4-component vector of uint)
 0:?           findLSB (global 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:297      Sequence
-0:297        move second child to first child (temp 4-component vector of float)
-0:297          'r034' (temp 4-component vector of float)
-0:297          Floor (global 4-component vector of float)
-0:297            'inF0' (in 4-component vector of float)
-0:299      Sequence
-0:299        move second child to first child (temp 4-component vector of float)
-0:299          'r036' (temp 4-component vector of float)
-0:299          mod (global 4-component vector of float)
-0:299            'inF0' (in 4-component vector of float)
-0:299            'inF1' (in 4-component vector of float)
+0:298      Sequence
+0:298        move second child to first child (temp 4-component vector of float)
+0:298          'r034' (temp 4-component vector of float)
+0:298          Floor (global 4-component vector of float)
+0:298            'inF0' (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          'r037' (temp 4-component vector of float)
-0:300          Fraction (global 4-component vector of float)
+0:300          'r036' (temp 4-component vector of float)
+0:300          mod (global 4-component vector of float)
 0:300            'inF0' (in 4-component vector of float)
+0:300            'inF1' (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          'r038' (temp 4-component vector of float)
-0:301          frexp (global 4-component vector of float)
+0:301          'r037' (temp 4-component vector of float)
+0:301          Fraction (global 4-component vector of float)
 0:301            'inF0' (in 4-component vector of float)
-0:301            'inF1' (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          'r039' (temp 4-component vector of float)
-0:302          fwidth (global 4-component vector of float)
+0:302          'r038' (temp 4-component vector of float)
+0:302          frexp (global 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 bool)
-0:303          'r040' (temp 4-component vector of bool)
-0:303          isinf (global 4-component vector of bool)
+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 (global 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          'r041' (temp 4-component vector of bool)
-0:304          isnan (global 4-component vector of bool)
+0:304          'r040' (temp 4-component vector of bool)
+0:304          isinf (global 4-component vector of bool)
 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 float)
-0:305          'r042' (temp 4-component vector of float)
-0:305          ldexp (global 4-component vector of float)
+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 (global 4-component vector of bool)
 0:305            'inF0' (in 4-component vector of float)
-0:305            'inF1' (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          'r039a' (temp 4-component vector of float)
-0:306          mix (global 4-component vector of float)
+0:306          'r042' (temp 4-component vector of float)
+0:306          ldexp (global 4-component vector of float)
 0:306            'inF0' (in 4-component vector of float)
 0:306            'inF1' (in 4-component vector of float)
-0:306            'inF2' (in 4-component vector of float)
 0:307      Sequence
-0:307        move second child to first child (temp float)
-0:307          'r043' (temp float)
-0:307          length (global float)
+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 (global 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 4-component vector of float)
-0:308          'r044' (temp 4-component vector of float)
-0:308          log (global 4-component vector of float)
+0:308        move second child to first child (temp float)
+0:308          'r043' (temp float)
+0:308          length (global float)
 0:308            'inF0' (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          'r045' (temp 4-component vector of float)
-0:309          vector-scale (temp 4-component vector of float)
-0:309            log2 (temp 4-component vector of float)
-0:309              'inF0' (in 4-component vector of float)
-0:309            Constant:
-0:309              0.301030
+0:309          'r044' (temp 4-component vector of float)
+0:309          log (global 4-component vector of 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          'r046' (temp 4-component vector of float)
-0:310          log2 (global 4-component vector of float)
-0:310            'inF0' (in 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:311      Sequence
 0:311        move second child to first child (temp 4-component vector of float)
-0:311          'r047' (temp 4-component vector of float)
-0:311          max (global 4-component vector of float)
+0:311          'r046' (temp 4-component vector of float)
+0:311          log2 (global 4-component vector of float)
 0:311            'inF0' (in 4-component vector of float)
-0:311            'inF1' (in 4-component vector of float)
 0:312      Sequence
 0:312        move second child to first child (temp 4-component vector of float)
-0:312          'r048' (temp 4-component vector of float)
-0:312          min (global 4-component vector of float)
+0:312          'r047' (temp 4-component vector of float)
+0:312          max (global 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          'r049' (temp 4-component vector of float)
-0:313          normalize (global 4-component vector of float)
+0:313          'r048' (temp 4-component vector of float)
+0:313          min (global 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          'r050' (temp 4-component vector of float)
-0:314          pow (global 4-component vector of float)
+0:314          'r049' (temp 4-component vector of float)
+0:314          normalize (global 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          'r051' (temp 4-component vector of float)
-0:315          radians (global 4-component vector of float)
+0:315          'r050' (temp 4-component vector of float)
+0:315          pow (global 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          'r052' (temp 4-component vector of float)
-0:316          divide (temp 4-component vector of float)
-0:316            Constant:
-0:316              1.000000
+0:316          'r051' (temp 4-component vector of float)
+0:316          radians (global 4-component vector of float)
 0:316            'inF0' (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          'r053' (temp 4-component vector of float)
-0:317          reflect (global 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            'inF0' (in 4-component vector of float)
-0:317            'inF1' (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          'r054' (temp 4-component vector of float)
-0:318          refract (global 4-component vector of float)
+0:318          'r053' (temp 4-component vector of float)
+0:318          reflect (global 4-component vector of float)
 0:318            'inF0' (in 4-component vector of float)
 0:318            'inF1' (in 4-component vector of float)
-0:318            Constant:
-0:318              2.000000
 0:319      Sequence
-0:319        move second child to first child (temp 4-component vector of uint)
-0:319          'r055' (temp 4-component vector of uint)
+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 (global 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:?           bitFieldReverse (global 4-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:320      Sequence
-0:320        move second child to first child (temp 4-component vector of float)
-0:320          'r056' (temp 4-component vector of float)
-0:320          roundEven (global 4-component vector of float)
-0:320            'inF0' (in 4-component vector of float)
 0:321      Sequence
 0:321        move second child to first child (temp 4-component vector of float)
-0:321          'r057' (temp 4-component vector of float)
-0:321          inverse sqrt (global 4-component vector of float)
+0:321          'r056' (temp 4-component vector of float)
+0:321          roundEven (global 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          'r058' (temp 4-component vector of float)
-0:322          clamp (temp 4-component vector of float)
+0:322          'r057' (temp 4-component vector of float)
+0:322          inverse sqrt (global 4-component vector of float)
 0:322            'inF0' (in 4-component vector of float)
-0:322            Constant:
-0:322              0.000000
-0:322            Constant:
-0:322              1.000000
 0:323      Sequence
 0:323        move second child to first child (temp 4-component vector of float)
-0:323          'r059' (temp 4-component vector of float)
-0:323          Sign (global 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            '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          'r060' (temp 4-component vector of float)
-0:324          sine (global 4-component vector of float)
+0:324          'r059' (temp 4-component vector of float)
+0:324          Sign (global 4-component vector of float)
 0:324            'inF0' (in 4-component vector of float)
 0:325      Sequence
 0:325        move second child to first child (temp 4-component vector of float)
-0:325          'inF1' (in 4-component vector of float)
-0:325          sine (temp 4-component vector of float)
-0:325            'inF0' (in 4-component vector of float)
-0:325        move second child to first child (temp 4-component vector of float)
-0:325          'inF2' (in 4-component vector of float)
-0:325          cosine (temp 4-component vector of float)
+0:325          'r060' (temp 4-component vector of float)
+0:325          sine (global 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          'r061' (temp 4-component vector of float)
-0:326          hyp. sine (global 4-component vector of float)
+0:326          'inF1' (in 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          'r062' (temp 4-component vector of float)
-0:327          smoothstep (global 4-component vector of float)
+0:327          'r061' (temp 4-component vector of float)
+0:327          hyp. sine (global 4-component vector of float)
 0:327            'inF0' (in 4-component vector of float)
-0:327            'inF1' (in 4-component vector of float)
-0:327            'inF2' (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          'r063' (temp 4-component vector of float)
-0:328          sqrt (global 4-component vector of float)
+0:328          'r062' (temp 4-component vector of float)
+0:328          smoothstep (global 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          'r064' (temp 4-component vector of float)
-0:329          step (global 4-component vector of float)
+0:329          'r063' (temp 4-component vector of float)
+0:329          sqrt (global 4-component vector of float)
 0:329            'inF0' (in 4-component vector of float)
-0:329            'inF1' (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          'r065' (temp 4-component vector of float)
-0:330          tangent (global 4-component vector of float)
+0:330          'r064' (temp 4-component vector of float)
+0:330          step (global 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          'r066' (temp 4-component vector of float)
-0:331          hyp. tangent (global 4-component vector of float)
+0:331          'r065' (temp 4-component vector of float)
+0:331          tangent (global 4-component vector of float)
 0:331            'inF0' (in 4-component vector of float)
-0:333      Sequence
-0:333        move second child to first child (temp 4-component vector of float)
-0:333          'r067' (temp 4-component vector of float)
-0:333          trunc (global 4-component vector of float)
-0:333            'inF0' (in 4-component vector of float)
-0:336      Branch: Return with expression
+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 (global 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 (global 4-component vector of float)
+0:334            'inF0' (in 4-component vector of float)
+0:337      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:408  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 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:409  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 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 (global 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 (global 2X2 matrix of float)
-0:402            'inF0' (in 2X2 matrix of float)
-0:402      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 2X2 matrix of float)
-0:402          frexp (global 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          'r025' (temp 2X2 matrix of float)
-0:402          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 2X2 matrix of float)
-0:402            'inF0' (in 2X2 matrix of float)
-0:402      transpose (global 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 (global 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 (global 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 (global 2X2 matrix of float)
+0:403            'inF0' (in 2X2 matrix of float)
+0:403      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 2X2 matrix of float)
+0:403          frexp (global 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          'r025' (temp 2X2 matrix of float)
+0:403          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 2X2 matrix of float)
+0:403            'inF0' (in 2X2 matrix of float)
+0:403      transpose (global 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 (global 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:417  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (global 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:418  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (global 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 (global 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 (global 3X3 matrix of float)
-0:411            'inF0' (in 3X3 matrix of float)
-0:411      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 3X3 matrix of float)
-0:411          frexp (global 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          'r025' (temp 3X3 matrix of float)
-0:411          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 3X3 matrix of float)
-0:411            'inF0' (in 3X3 matrix of float)
-0:411      transpose (global 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 (global 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 (global 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 (global 3X3 matrix of float)
+0:412            'inF0' (in 3X3 matrix of float)
+0:412      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 3X3 matrix of float)
+0:412          frexp (global 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          'r025' (temp 3X3 matrix of float)
+0:412          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 3X3 matrix of float)
+0:412            'inF0' (in 3X3 matrix of float)
+0:412      transpose (global 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 (global 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
@@ -4906,301 +4922,301 @@ gl_FragCoord origin is upper left
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:438  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (global 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:439  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (global 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 (global 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 (global 4X4 matrix of float)
-0:420            'inF0' (in 4X4 matrix of float)
-0:420      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 4X4 matrix of float)
-0:420          frexp (global 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          'r025' (temp 4X4 matrix of float)
-0:420          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 4X4 matrix of float)
-0:420            'inF0' (in 4X4 matrix of float)
-0:420      transpose (global 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 (global 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 (global 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 (global 4X4 matrix of float)
+0:421            'inF0' (in 4X4 matrix of float)
+0:421      arc cosine (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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          'r024' (temp 4X4 matrix of float)
+0:421          frexp (global 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          'r025' (temp 4X4 matrix of float)
+0:421          fwidth (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 4X4 matrix of float)
+0:421            'inF0' (in 4X4 matrix of float)
+0:421      transpose (global 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 (global 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
@@ -5218,309 +5234,309 @@ gl_FragCoord origin is upper left
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:445  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (global 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:446  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (global 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            'inF0' (in float)
-0:442            'inF1' (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            'inFV0' (in 2-component vector of 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          'r2' (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 float)
-0:442          'r3' (temp float)
-0:442          dot-product (global 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          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 2-component vector of float)
-0:442          'r5' (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 2X2 matrix of float)
-0:442          'r6' (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          'r7' (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          'r8' (temp 2X2 matrix of float)
-0:442          matrix-multiply (temp 2X2 matrix of float)
-0:442            'inFM0' (in 2X2 matrix of float)
-0:442            'inFM1' (in 2X2 matrix of float)
-0:452  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global 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            'inF0' (in float)
+0:443            'inF1' (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            'inFV0' (in 2-component vector of 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          'r2' (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 float)
+0:443          'r3' (temp float)
+0:443          dot-product (global 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          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 2-component vector of float)
+0:443          'r5' (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 2X2 matrix of float)
+0:443          'r6' (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          'r7' (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          'r8' (temp 2X2 matrix of float)
+0:443          matrix-multiply (temp 2X2 matrix of float)
+0:443            'inFM0' (in 2X2 matrix of float)
+0:443            'inFM1' (in 2X2 matrix of float)
+0:453  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global 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            'inF0' (in float)
-0:449            'inF1' (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            'inFV0' (in 3-component vector of 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          'r2' (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 float)
-0:449          'r3' (temp float)
-0:449          dot-product (global 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          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 3-component vector of float)
-0:449          'r5' (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 3X3 matrix of float)
-0:449          'r6' (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          'r7' (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          'r8' (temp 3X3 matrix of float)
-0:449          matrix-multiply (temp 3X3 matrix of float)
-0:449            'inFM0' (in 3X3 matrix of float)
-0:449            'inFM1' (in 3X3 matrix of float)
-0:460  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global 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            'inF0' (in float)
+0:450            'inF1' (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            'inFV0' (in 3-component vector of 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          'r2' (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 float)
+0:450          'r3' (temp float)
+0:450          dot-product (global 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          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 3-component vector of float)
+0:450          'r5' (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 3X3 matrix of float)
+0:450          'r6' (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          'r7' (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          'r8' (temp 3X3 matrix of float)
+0:450          matrix-multiply (temp 3X3 matrix of float)
+0:450            'inFM0' (in 3X3 matrix of float)
+0:450            'inFM1' (in 3X3 matrix of float)
+0:461  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global 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            'inF0' (in float)
-0:456            'inF1' (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            'inFV0' (in 4-component vector of 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          'r2' (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 float)
-0:456          'r3' (temp float)
-0:456          dot-product (global 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          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 4-component vector of float)
-0:456          'r5' (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 4X4 matrix of float)
-0:456          'r6' (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          'r7' (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          'r8' (temp 4X4 matrix of float)
-0:456          matrix-multiply (temp 4X4 matrix of float)
-0:456            'inFM0' (in 4X4 matrix of float)
-0:456            'inFM1' (in 4X4 matrix of float)
-0:484  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global 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 3X2 matrix of float)
-0:465      'inFM3x2' (in 2X3 matrix of float)
-0:465      'inFM3x3' (in 3X3 matrix of float)
-0:465      'inFM3x4' (in 4X3 matrix of float)
-0:465      'inFM2x4' (in 4X2 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            'inF0' (in float)
+0:457            'inF1' (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            'inFV0' (in 4-component vector of 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          'r2' (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 float)
+0:457          'r3' (temp float)
+0:457          dot-product (global 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          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 4-component vector of float)
+0:457          'r5' (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 4X4 matrix of float)
+0:457          'r6' (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          'r7' (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          'r8' (temp 4X4 matrix of float)
+0:457          matrix-multiply (temp 4X4 matrix of float)
+0:457            'inFM0' (in 4X4 matrix of float)
+0:457            'inFM1' (in 4X4 matrix of float)
+0:485  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global 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 3X2 matrix of float)
+0:466      'inFM3x2' (in 2X3 matrix of float)
+0:466      'inFM3x3' (in 3X3 matrix of float)
+0:466      'inFM3x4' (in 4X3 matrix of float)
+0:466      'inFM2x4' (in 4X2 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            'inF0' (in float)
-0:466            'inF1' (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            'inFV2' (in 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            'inF0' (in float)
+0:467            'inF1' (in 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            'inFV3' (in 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            'inFV2' (in 2-component vector of float)
 0:468            'inF0' (in 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        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            'inFV3' (in 3-component vector of float)
 0:469            'inF0' (in float)
-0:469            'inFV2' (in 2-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        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            'inF0' (in float)
-0:470            'inFV3' (in 3-component vector of float)
+0:470            'inFV2' (in 2-component vector of float)
 0:471      Sequence
-0:471        move second child to first child (temp float)
-0:471          'r05' (temp float)
-0:471          dot-product (global 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            'inF0' (in float)
+0:471            'inFV3' (in 3-component vector of 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 (global 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          vector-times-matrix (temp 3-component vector of float)
-0:473            'inFV2' (in 2-component vector of float)
-0:473            'inFM2x3' (in 3X2 matrix of float)
+0:473        move second child to first child (temp float)
+0:473          'r06' (temp float)
+0:473          dot-product (global 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          vector-times-matrix (temp 2-component vector of float)
-0:474            'inFV3' (in 3-component vector of float)
-0:474            'inFM3x2' (in 2X3 matrix 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          vector-times-matrix (temp 3-component vector of float)
+0:474            'inFV2' (in 2-component vector of float)
+0:474            'inFM2x3' (in 3X2 matrix 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          matrix-times-vector (temp 2-component vector of float)
-0:475            'inFM2x3' (in 3X2 matrix of float)
+0:475          'r08' (temp 2-component vector of float)
+0:475          vector-times-matrix (temp 2-component vector of float)
 0:475            'inFV3' (in 3-component vector of float)
+0:475            'inFM3x2' (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          matrix-times-vector (temp 3-component vector of float)
-0:476            'inFM3x2' (in 2X3 matrix of float)
-0:476            'inFV2' (in 2-component vector 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          matrix-times-vector (temp 2-component vector of float)
+0:476            'inFM2x3' (in 3X2 matrix of float)
+0:476            'inFV3' (in 3-component vector of float)
 0:477      Sequence
-0:477        move second child to first child (temp 3X2 matrix of float)
-0:477          'r11' (temp 3X2 matrix of float)
-0:477          matrix-scale (temp 3X2 matrix of float)
-0:477            'inFM2x3' (in 3X2 matrix of float)
-0:477            'inF0' (in 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          matrix-times-vector (temp 3-component vector of float)
+0:477            'inFM3x2' (in 2X3 matrix of float)
+0:477            'inFV2' (in 2-component vector of float)
 0:478      Sequence
-0:478        move second child to first child (temp 2X3 matrix of float)
-0:478          'r12' (temp 2X3 matrix of float)
-0:478          matrix-scale (temp 2X3 matrix of float)
-0:478            'inFM3x2' (in 2X3 matrix of float)
+0:478        move second child to first child (temp 3X2 matrix of float)
+0:478          'r11' (temp 3X2 matrix of float)
+0:478          matrix-scale (temp 3X2 matrix of float)
+0:478            'inFM2x3' (in 3X2 matrix of float)
 0:478            'inF0' (in 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            'inFM2x3' (in 3X2 matrix of float)
+0:479        move second child to first child (temp 2X3 matrix of float)
+0:479          'r12' (temp 2X3 matrix of float)
+0:479          matrix-scale (temp 2X3 matrix of float)
 0:479            'inFM3x2' (in 2X3 matrix of float)
+0:479            'inF0' (in float)
 0:480      Sequence
-0:480        move second child to first child (temp 3X2 matrix of float)
-0:480          'r14' (temp 3X2 matrix of float)
-0:480          matrix-multiply (temp 3X2 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            'inFM2x3' (in 3X2 matrix of float)
-0:480            'inFM3x3' (in 3X3 matrix of float)
+0:480            'inFM3x2' (in 2X3 matrix of float)
 0:481      Sequence
-0:481        move second child to first child (temp 4X2 matrix of float)
-0:481          'r15' (temp 4X2 matrix of float)
-0:481          matrix-multiply (temp 4X2 matrix of float)
+0:481        move second child to first child (temp 3X2 matrix of float)
+0:481          'r14' (temp 3X2 matrix of float)
+0:481          matrix-multiply (temp 3X2 matrix of float)
 0:481            'inFM2x3' (in 3X2 matrix of float)
-0:481            'inFM3x4' (in 4X3 matrix of float)
+0:481            'inFM3x3' (in 3X3 matrix of float)
 0:482      Sequence
-0:482        move second child to first child (temp 4X3 matrix of float)
-0:482          'r16' (temp 4X3 matrix of float)
-0:482          matrix-multiply (temp 4X3 matrix of float)
-0:482            'inFM3x2' (in 2X3 matrix of float)
-0:482            'inFM2x4' (in 4X2 matrix of float)
+0:482        move second child to first child (temp 4X2 matrix of float)
+0:482          'r15' (temp 4X2 matrix of float)
+0:482          matrix-multiply (temp 4X2 matrix of float)
+0:482            'inFM2x3' (in 3X2 matrix of float)
+0:482            'inFM3x4' (in 4X3 matrix of float)
+0:483      Sequence
+0:483        move second child to first child (temp 4X3 matrix of float)
+0:483          'r16' (temp 4X3 matrix of float)
+0:483          matrix-multiply (temp 4X3 matrix of float)
+0:483            'inFM3x2' (in 2X3 matrix of float)
+0:483            'inFM2x4' (in 4X2 matrix of float)
 0:?   Linker Objects
 0:?     'gs_ua' (global uint)
 0:?     'gs_ub' (global uint)
@@ -5537,13 +5553,13 @@ gl_FragCoord origin is upper left
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 1806
+// Id's are bound by 1812
 
                               Capability Shader
                               Capability DerivativeControl
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "PixelShaderFunction" 804 831 839 848
+                              EntryPoint Fragment 4  "PixelShaderFunction" 810 837 845 854
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 450
                               Name 4  "PixelShaderFunction"
@@ -5773,297 +5789,298 @@ gl_FragCoord origin is upper left
                               Name 695  "r041"
                               Name 698  "r042"
                               Name 702  "r039a"
-                              Name 707  "r043"
-                              Name 710  "r044"
-                              Name 713  "r045"
-                              Name 717  "r046"
-                              Name 720  "r047"
-                              Name 724  "r048"
-                              Name 728  "r049"
-                              Name 731  "r050"
-                              Name 735  "r051"
-                              Name 738  "r052"
-                              Name 742  "r053"
-                              Name 746  "r054"
-                              Name 750  "r055"
-                              Name 753  "r056"
-                              Name 756  "r057"
-                              Name 759  "r058"
-                              Name 764  "r059"
-                              Name 767  "r060"
-                              Name 774  "r061"
-                              Name 777  "r062"
-                              Name 782  "r063"
-                              Name 785  "r064"
-                              Name 789  "r065"
-                              Name 792  "r066"
-                              Name 795  "r067"
-                              Name 802  "r000"
-                              Name 804  "inF0"
-                              Name 807  "r001"
-                              Name 810  "r002"
-                              Name 813  "r003"
-                              Name 816  "r004"
-                              Name 821  "r005"
-                              Name 826  "r006"
-                              Name 829  "r007"
-                              Name 831  "inU0"
-                              Name 834  "r009"
-                              Name 837  "r010"
-                              Name 839  "inF1"
-                              Name 842  "r011"
-                              Name 845  "r012"
-                              Name 848  "inF2"
-                              Name 859  "r013"
-                              Name 862  "r014"
-                              Name 865  "r015"
-                              Name 868  "r016"
-                              Name 871  "r017"
-                              Name 874  "r018"
-                              Name 877  "r019"
-                              Name 880  "r020"
-                              Name 883  "r021"
-                              Name 886  "r022"
-                              Name 889  "r023"
-                              Name 893  "r024"
-                              Name 897  "r025"
-                              Name 909  "r029"
-                              Name 912  "r030"
-                              Name 915  "r031"
-                              Name 920  "r032"
-                              Name 925  "r033"
-                              Name 927  "r034"
-                              Name 930  "r036"
-                              Name 934  "r037"
-                              Name 937  "r038"
-                              Name 939  "ResType"
-                              Name 943  "r039"
-                              Name 947  "r040"
-                              Name 950  "r041"
-                              Name 953  "r042"
-                              Name 957  "r039a"
-                              Name 962  "r043"
-                              Name 965  "r044"
-                              Name 968  "r045"
-                              Name 972  "r046"
-                              Name 975  "r047"
-                              Name 979  "r048"
-                              Name 983  "r049"
-                              Name 986  "r050"
-                              Name 990  "r051"
-                              Name 993  "r052"
-                              Name 997  "r053"
-                              Name 1001  "r054"
-                              Name 1005  "r055"
-                              Name 1008  "r056"
-                              Name 1011  "r057"
-                              Name 1014  "r058"
-                              Name 1019  "r059"
-                              Name 1022  "r060"
-                              Name 1029  "r061"
-                              Name 1032  "r062"
-                              Name 1037  "r063"
-                              Name 1040  "r064"
-                              Name 1044  "r065"
-                              Name 1047  "r066"
-                              Name 1050  "r067"
-                              Name 1056  "r000"
-                              Name 1059  "r001"
-                              Name 1064  "r003"
-                              Name 1067  "r004"
-                              Name 1070  "r005"
-                              Name 1073  "r006"
-                              Name 1077  "r007"
-                              Name 1088  "r008"
-                              Name 1093  "r009"
-                              Name 1096  "r010"
-                              Name 1099  "r011"
-                              Name 1102  "r012"
-                              Name 1105  "r013"
-                              Name 1108  "r014"
-                              Name 1111  "r015"
-                              Name 1114  "r016"
-                              Name 1117  "r017"
-                              Name 1120  "r018"
-                              Name 1123  "r019"
-                              Name 1126  "R020"
-                              Name 1129  "r021"
-                              Name 1132  "r022"
-                              Name 1142  "r023"
-                              Name 1145  "r024"
-                              Name 1147  "ResType"
-                              Name 1151  "r025"
-                              Name 1154  "r026"
-                              Name 1158  "r026a"
-                              Name 1163  "r027"
-                              Name 1166  "r028"
-                              Name 1170  "r029"
-                              Name 1173  "r030"
-                              Name 1177  "r031"
-                              Name 1181  "r032"
-                              Name 1185  "r033"
-                              Name 1188  "r034"
-                              Name 1191  "r035"
-                              Name 1194  "r036"
-                              Name 1199  "r037"
-                              Name 1202  "r038"
-                              Name 1209  "r039"
-                              Name 1212  "r049"
-                              Name 1217  "r041"
-                              Name 1220  "r042"
-                              Name 1224  "r043"
-                              Name 1227  "r044"
-                              Name 1232  "r046"
-                              Name 1239  "r000"
-                              Name 1242  "r001"
-                              Name 1247  "r003"
-                              Name 1250  "r004"
-                              Name 1253  "r005"
-                              Name 1256  "r006"
-                              Name 1260  "r007"
-                              Name 1271  "r008"
-                              Name 1276  "r009"
-                              Name 1279  "r010"
-                              Name 1282  "r011"
-                              Name 1285  "r012"
-                              Name 1288  "r013"
-                              Name 1291  "r014"
-                              Name 1294  "r015"
-                              Name 1297  "r016"
-                              Name 1300  "r017"
-                              Name 1303  "r018"
-                              Name 1306  "r019"
-                              Name 1309  "R020"
-                              Name 1312  "r021"
-                              Name 1315  "r022"
-                              Name 1328  "r023"
-                              Name 1331  "r024"
-                              Name 1333  "ResType"
-                              Name 1337  "r025"
-                              Name 1340  "r026"
-                              Name 1344  "r026a"
-                              Name 1349  "r027"
-                              Name 1352  "r028"
-                              Name 1356  "r029"
-                              Name 1359  "r030"
-                              Name 1363  "r031"
-                              Name 1367  "r032"
-                              Name 1371  "r033"
-                              Name 1374  "r034"
-                              Name 1377  "r035"
-                              Name 1380  "r036"
-                              Name 1385  "r037"
-                              Name 1388  "r038"
-                              Name 1395  "r039"
-                              Name 1398  "r049"
-                              Name 1403  "r041"
-                              Name 1406  "r042"
-                              Name 1410  "r043"
-                              Name 1413  "r044"
-                              Name 1418  "r046"
-                              Name 1425  "r000"
-                              Name 1428  "r001"
-                              Name 1433  "r003"
-                              Name 1436  "r004"
-                              Name 1439  "r005"
-                              Name 1442  "r006"
-                              Name 1446  "r007"
-                              Name 1457  "r008"
-                              Name 1462  "r009"
-                              Name 1465  "r010"
-                              Name 1468  "r011"
-                              Name 1471  "r012"
-                              Name 1474  "r013"
-                              Name 1477  "r014"
-                              Name 1480  "r015"
-                              Name 1483  "r016"
-                              Name 1486  "r017"
-                              Name 1489  "r018"
-                              Name 1492  "r019"
-                              Name 1495  "R020"
-                              Name 1498  "r021"
-                              Name 1501  "r022"
-                              Name 1517  "r023"
-                              Name 1520  "r024"
-                              Name 1522  "ResType"
-                              Name 1526  "r025"
-                              Name 1529  "r026"
-                              Name 1533  "r026a"
-                              Name 1538  "r027"
-                              Name 1541  "r028"
-                              Name 1545  "r029"
-                              Name 1548  "r030"
-                              Name 1552  "r031"
-                              Name 1556  "r032"
-                              Name 1560  "r033"
-                              Name 1563  "r034"
-                              Name 1566  "r035"
-                              Name 1569  "r036"
-                              Name 1574  "r037"
-                              Name 1577  "r038"
-                              Name 1584  "r039"
-                              Name 1587  "r049"
-                              Name 1592  "r041"
-                              Name 1595  "r042"
-                              Name 1599  "r043"
-                              Name 1602  "r044"
-                              Name 1607  "r046"
-                              Name 1614  "r0"
-                              Name 1618  "r1"
-                              Name 1622  "r2"
-                              Name 1626  "r3"
-                              Name 1630  "r4"
-                              Name 1634  "r5"
-                              Name 1638  "r6"
-                              Name 1642  "r7"
-                              Name 1646  "r8"
-                              Name 1650  "r0"
-                              Name 1654  "r1"
-                              Name 1658  "r2"
-                              Name 1662  "r3"
-                              Name 1666  "r4"
-                              Name 1670  "r5"
-                              Name 1674  "r6"
-                              Name 1678  "r7"
-                              Name 1682  "r8"
-                              Name 1686  "r0"
-                              Name 1690  "r1"
-                              Name 1694  "r2"
-                              Name 1698  "r3"
-                              Name 1702  "r4"
-                              Name 1706  "r5"
-                              Name 1710  "r6"
-                              Name 1714  "r7"
-                              Name 1718  "r8"
-                              Name 1722  "r00"
-                              Name 1726  "r01"
-                              Name 1730  "r02"
-                              Name 1734  "r03"
-                              Name 1738  "r04"
-                              Name 1742  "r05"
-                              Name 1746  "r06"
-                              Name 1750  "r07"
-                              Name 1754  "r08"
-                              Name 1758  "r09"
-                              Name 1762  "r10"
-                              Name 1766  "r11"
-                              Name 1770  "r12"
-                              Name 1774  "r13"
-                              Name 1778  "r14"
-                              Name 1782  "r15"
-                              Name 1786  "r16"
-                              Name 1791  "gs_ua"
-                              Name 1792  "gs_ub"
-                              Name 1793  "gs_uc"
-                              Name 1795  "gs_ua2"
-                              Name 1796  "gs_ub2"
-                              Name 1797  "gs_uc2"
-                              Name 1799  "gs_ua3"
-                              Name 1800  "gs_ub3"
-                              Name 1801  "gs_uc3"
-                              Name 1803  "gs_ua4"
-                              Name 1804  "gs_ub4"
-                              Name 1805  "gs_uc4"
+                              Name 707  "r039b"
+                              Name 713  "r043"
+                              Name 716  "r044"
+                              Name 719  "r045"
+                              Name 723  "r046"
+                              Name 726  "r047"
+                              Name 730  "r048"
+                              Name 734  "r049"
+                              Name 737  "r050"
+                              Name 741  "r051"
+                              Name 744  "r052"
+                              Name 748  "r053"
+                              Name 752  "r054"
+                              Name 756  "r055"
+                              Name 759  "r056"
+                              Name 762  "r057"
+                              Name 765  "r058"
+                              Name 770  "r059"
+                              Name 773  "r060"
+                              Name 780  "r061"
+                              Name 783  "r062"
+                              Name 788  "r063"
+                              Name 791  "r064"
+                              Name 795  "r065"
+                              Name 798  "r066"
+                              Name 801  "r067"
+                              Name 808  "r000"
+                              Name 810  "inF0"
+                              Name 813  "r001"
+                              Name 816  "r002"
+                              Name 819  "r003"
+                              Name 822  "r004"
+                              Name 827  "r005"
+                              Name 832  "r006"
+                              Name 835  "r007"
+                              Name 837  "inU0"
+                              Name 840  "r009"
+                              Name 843  "r010"
+                              Name 845  "inF1"
+                              Name 848  "r011"
+                              Name 851  "r012"
+                              Name 854  "inF2"
+                              Name 865  "r013"
+                              Name 868  "r014"
+                              Name 871  "r015"
+                              Name 874  "r016"
+                              Name 877  "r017"
+                              Name 880  "r018"
+                              Name 883  "r019"
+                              Name 886  "r020"
+                              Name 889  "r021"
+                              Name 892  "r022"
+                              Name 895  "r023"
+                              Name 899  "r024"
+                              Name 903  "r025"
+                              Name 915  "r029"
+                              Name 918  "r030"
+                              Name 921  "r031"
+                              Name 926  "r032"
+                              Name 931  "r033"
+                              Name 933  "r034"
+                              Name 936  "r036"
+                              Name 940  "r037"
+                              Name 943  "r038"
+                              Name 945  "ResType"
+                              Name 949  "r039"
+                              Name 953  "r040"
+                              Name 956  "r041"
+                              Name 959  "r042"
+                              Name 963  "r039a"
+                              Name 968  "r043"
+                              Name 971  "r044"
+                              Name 974  "r045"
+                              Name 978  "r046"
+                              Name 981  "r047"
+                              Name 985  "r048"
+                              Name 989  "r049"
+                              Name 992  "r050"
+                              Name 996  "r051"
+                              Name 999  "r052"
+                              Name 1003  "r053"
+                              Name 1007  "r054"
+                              Name 1011  "r055"
+                              Name 1014  "r056"
+                              Name 1017  "r057"
+                              Name 1020  "r058"
+                              Name 1025  "r059"
+                              Name 1028  "r060"
+                              Name 1035  "r061"
+                              Name 1038  "r062"
+                              Name 1043  "r063"
+                              Name 1046  "r064"
+                              Name 1050  "r065"
+                              Name 1053  "r066"
+                              Name 1056  "r067"
+                              Name 1062  "r000"
+                              Name 1065  "r001"
+                              Name 1070  "r003"
+                              Name 1073  "r004"
+                              Name 1076  "r005"
+                              Name 1079  "r006"
+                              Name 1083  "r007"
+                              Name 1094  "r008"
+                              Name 1099  "r009"
+                              Name 1102  "r010"
+                              Name 1105  "r011"
+                              Name 1108  "r012"
+                              Name 1111  "r013"
+                              Name 1114  "r014"
+                              Name 1117  "r015"
+                              Name 1120  "r016"
+                              Name 1123  "r017"
+                              Name 1126  "r018"
+                              Name 1129  "r019"
+                              Name 1132  "R020"
+                              Name 1135  "r021"
+                              Name 1138  "r022"
+                              Name 1148  "r023"
+                              Name 1151  "r024"
+                              Name 1153  "ResType"
+                              Name 1157  "r025"
+                              Name 1160  "r026"
+                              Name 1164  "r026a"
+                              Name 1169  "r027"
+                              Name 1172  "r028"
+                              Name 1176  "r029"
+                              Name 1179  "r030"
+                              Name 1183  "r031"
+                              Name 1187  "r032"
+                              Name 1191  "r033"
+                              Name 1194  "r034"
+                              Name 1197  "r035"
+                              Name 1200  "r036"
+                              Name 1205  "r037"
+                              Name 1208  "r038"
+                              Name 1215  "r039"
+                              Name 1218  "r049"
+                              Name 1223  "r041"
+                              Name 1226  "r042"
+                              Name 1230  "r043"
+                              Name 1233  "r044"
+                              Name 1238  "r046"
+                              Name 1245  "r000"
+                              Name 1248  "r001"
+                              Name 1253  "r003"
+                              Name 1256  "r004"
+                              Name 1259  "r005"
+                              Name 1262  "r006"
+                              Name 1266  "r007"
+                              Name 1277  "r008"
+                              Name 1282  "r009"
+                              Name 1285  "r010"
+                              Name 1288  "r011"
+                              Name 1291  "r012"
+                              Name 1294  "r013"
+                              Name 1297  "r014"
+                              Name 1300  "r015"
+                              Name 1303  "r016"
+                              Name 1306  "r017"
+                              Name 1309  "r018"
+                              Name 1312  "r019"
+                              Name 1315  "R020"
+                              Name 1318  "r021"
+                              Name 1321  "r022"
+                              Name 1334  "r023"
+                              Name 1337  "r024"
+                              Name 1339  "ResType"
+                              Name 1343  "r025"
+                              Name 1346  "r026"
+                              Name 1350  "r026a"
+                              Name 1355  "r027"
+                              Name 1358  "r028"
+                              Name 1362  "r029"
+                              Name 1365  "r030"
+                              Name 1369  "r031"
+                              Name 1373  "r032"
+                              Name 1377  "r033"
+                              Name 1380  "r034"
+                              Name 1383  "r035"
+                              Name 1386  "r036"
+                              Name 1391  "r037"
+                              Name 1394  "r038"
+                              Name 1401  "r039"
+                              Name 1404  "r049"
+                              Name 1409  "r041"
+                              Name 1412  "r042"
+                              Name 1416  "r043"
+                              Name 1419  "r044"
+                              Name 1424  "r046"
+                              Name 1431  "r000"
+                              Name 1434  "r001"
+                              Name 1439  "r003"
+                              Name 1442  "r004"
+                              Name 1445  "r005"
+                              Name 1448  "r006"
+                              Name 1452  "r007"
+                              Name 1463  "r008"
+                              Name 1468  "r009"
+                              Name 1471  "r010"
+                              Name 1474  "r011"
+                              Name 1477  "r012"
+                              Name 1480  "r013"
+                              Name 1483  "r014"
+                              Name 1486  "r015"
+                              Name 1489  "r016"
+                              Name 1492  "r017"
+                              Name 1495  "r018"
+                              Name 1498  "r019"
+                              Name 1501  "R020"
+                              Name 1504  "r021"
+                              Name 1507  "r022"
+                              Name 1523  "r023"
+                              Name 1526  "r024"
+                              Name 1528  "ResType"
+                              Name 1532  "r025"
+                              Name 1535  "r026"
+                              Name 1539  "r026a"
+                              Name 1544  "r027"
+                              Name 1547  "r028"
+                              Name 1551  "r029"
+                              Name 1554  "r030"
+                              Name 1558  "r031"
+                              Name 1562  "r032"
+                              Name 1566  "r033"
+                              Name 1569  "r034"
+                              Name 1572  "r035"
+                              Name 1575  "r036"
+                              Name 1580  "r037"
+                              Name 1583  "r038"
+                              Name 1590  "r039"
+                              Name 1593  "r049"
+                              Name 1598  "r041"
+                              Name 1601  "r042"
+                              Name 1605  "r043"
+                              Name 1608  "r044"
+                              Name 1613  "r046"
+                              Name 1620  "r0"
+                              Name 1624  "r1"
+                              Name 1628  "r2"
+                              Name 1632  "r3"
+                              Name 1636  "r4"
+                              Name 1640  "r5"
+                              Name 1644  "r6"
+                              Name 1648  "r7"
+                              Name 1652  "r8"
+                              Name 1656  "r0"
+                              Name 1660  "r1"
+                              Name 1664  "r2"
+                              Name 1668  "r3"
+                              Name 1672  "r4"
+                              Name 1676  "r5"
+                              Name 1680  "r6"
+                              Name 1684  "r7"
+                              Name 1688  "r8"
+                              Name 1692  "r0"
+                              Name 1696  "r1"
+                              Name 1700  "r2"
+                              Name 1704  "r3"
+                              Name 1708  "r4"
+                              Name 1712  "r5"
+                              Name 1716  "r6"
+                              Name 1720  "r7"
+                              Name 1724  "r8"
+                              Name 1728  "r00"
+                              Name 1732  "r01"
+                              Name 1736  "r02"
+                              Name 1740  "r03"
+                              Name 1744  "r04"
+                              Name 1748  "r05"
+                              Name 1752  "r06"
+                              Name 1756  "r07"
+                              Name 1760  "r08"
+                              Name 1764  "r09"
+                              Name 1768  "r10"
+                              Name 1772  "r11"
+                              Name 1776  "r12"
+                              Name 1780  "r13"
+                              Name 1784  "r14"
+                              Name 1788  "r15"
+                              Name 1792  "r16"
+                              Name 1797  "gs_ua"
+                              Name 1798  "gs_ub"
+                              Name 1799  "gs_uc"
+                              Name 1801  "gs_ua2"
+                              Name 1802  "gs_ub2"
+                              Name 1803  "gs_uc2"
+                              Name 1805  "gs_ua3"
+                              Name 1806  "gs_ub3"
+                              Name 1807  "gs_uc3"
+                              Name 1809  "gs_ua4"
+                              Name 1810  "gs_ub4"
+                              Name 1811  "gs_uc4"
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -6140,365 +6157,366 @@ gl_FragCoord origin is upper left
              668:   38(ivec3) ConstantComposite 278 383 667
     684(ResType):             TypeStruct 36(fvec3) 578(ivec3)
              691:             TypePointer Function 606(bvec3)
-             751:   38(ivec3) ConstantComposite 512 278 383
-             798:    6(float) Constant 1077936128
-             799:   36(fvec3) ConstantComposite 274 509 798
-             803:             TypePointer Input 64(fvec4)
-       804(inF0):    803(ptr) Variable Input
-             819:             TypeVector 138(int) 4
-             820:             TypePointer Function 819(ivec4)
-             824:             TypeVector 8(int) 4
-             825:             TypePointer Function 824(ivec4)
-             830:             TypePointer Input 824(ivec4)
-       831(inU0):    830(ptr) Variable Input
-       839(inF1):    803(ptr) Variable Input
-       848(inF2):    803(ptr) Variable Input
-             852:   64(fvec4) ConstantComposite 165 165 165 165
-             853:             TypeVector 121(bool) 4
-             866:  824(ivec4) ConstantComposite 177 383 619 278
-             898:             TypePointer Input 6(float)
-             921:      8(int) Constant 9
-             922:      8(int) Constant 10
-             923:  824(ivec4) ConstantComposite 177 427 921 922
-    939(ResType):             TypeStruct 64(fvec4) 819(ivec4)
-             946:             TypePointer Function 853(bvec4)
-            1006:  824(ivec4) ConstantComposite 512 278 383 667
-            1053:    6(float) Constant 1082130432
-            1054:   64(fvec4) ConstantComposite 274 509 798 1053
-            1081:          48 ConstantComposite 369 369
-            1082:             TypeMatrix 370(bvec2) 2
-   1147(ResType):             TypeStruct 48 342(ivec2)
-            1235:   24(fvec2) ConstantComposite 509 509
-            1236:          48 ConstantComposite 1235 1235
-            1264:          56 ConstantComposite 605 605 605
-            1265:             TypeMatrix 606(bvec3) 3
-   1333(ResType):             TypeStruct 56 578(ivec3)
-            1421:   36(fvec3) ConstantComposite 798 798 798
-            1422:          56 ConstantComposite 1421 1421 1421
-            1450:          65 ConstantComposite 852 852 852 852
-            1451:             TypeMatrix 853(bvec4) 4
-   1522(ResType):             TypeStruct 65 819(ivec4)
-            1610:   64(fvec4) ConstantComposite 1053 1053 1053 1053
-            1611:          65 ConstantComposite 1610 1610 1610 1610
-            1790:             TypePointer Private 8(int)
-     1791(gs_ua):   1790(ptr) Variable Private
-     1792(gs_ub):   1790(ptr) Variable Private
-     1793(gs_uc):   1790(ptr) Variable Private
-            1794:             TypePointer Private 26(ivec2)
-    1795(gs_ua2):   1794(ptr) Variable Private
-    1796(gs_ub2):   1794(ptr) Variable Private
-    1797(gs_uc2):   1794(ptr) Variable Private
-            1798:             TypePointer Private 38(ivec3)
-    1799(gs_ua3):   1798(ptr) Variable Private
-    1800(gs_ub3):   1798(ptr) Variable Private
-    1801(gs_uc3):   1798(ptr) Variable Private
-            1802:             TypePointer Private 824(ivec4)
-    1803(gs_ua4):   1802(ptr) Variable Private
-    1804(gs_ub4):   1802(ptr) Variable Private
-    1805(gs_uc4):   1802(ptr) Variable Private
+             710:    6(float) Constant 1050253722
+             757:   38(ivec3) ConstantComposite 512 278 383
+             804:    6(float) Constant 1077936128
+             805:   36(fvec3) ConstantComposite 274 509 804
+             809:             TypePointer Input 64(fvec4)
+       810(inF0):    809(ptr) Variable Input
+             825:             TypeVector 138(int) 4
+             826:             TypePointer Function 825(ivec4)
+             830:             TypeVector 8(int) 4
+             831:             TypePointer Function 830(ivec4)
+             836:             TypePointer Input 830(ivec4)
+       837(inU0):    836(ptr) Variable Input
+       845(inF1):    809(ptr) Variable Input
+       854(inF2):    809(ptr) Variable Input
+             858:   64(fvec4) ConstantComposite 165 165 165 165
+             859:             TypeVector 121(bool) 4
+             872:  830(ivec4) ConstantComposite 177 383 619 278
+             904:             TypePointer Input 6(float)
+             927:      8(int) Constant 9
+             928:      8(int) Constant 10
+             929:  830(ivec4) ConstantComposite 177 427 927 928
+    945(ResType):             TypeStruct 64(fvec4) 825(ivec4)
+             952:             TypePointer Function 859(bvec4)
+            1012:  830(ivec4) ConstantComposite 512 278 383 667
+            1059:    6(float) Constant 1082130432
+            1060:   64(fvec4) ConstantComposite 274 509 804 1059
+            1087:          48 ConstantComposite 369 369
+            1088:             TypeMatrix 370(bvec2) 2
+   1153(ResType):             TypeStruct 48 342(ivec2)
+            1241:   24(fvec2) ConstantComposite 509 509
+            1242:          48 ConstantComposite 1241 1241
+            1270:          56 ConstantComposite 605 605 605
+            1271:             TypeMatrix 606(bvec3) 3
+   1339(ResType):             TypeStruct 56 578(ivec3)
+            1427:   36(fvec3) ConstantComposite 804 804 804
+            1428:          56 ConstantComposite 1427 1427 1427
+            1456:          65 ConstantComposite 858 858 858 858
+            1457:             TypeMatrix 859(bvec4) 4
+   1528(ResType):             TypeStruct 65 825(ivec4)
+            1616:   64(fvec4) ConstantComposite 1059 1059 1059 1059
+            1617:          65 ConstantComposite 1616 1616 1616 1616
+            1796:             TypePointer Private 8(int)
+     1797(gs_ua):   1796(ptr) Variable Private
+     1798(gs_ub):   1796(ptr) Variable Private
+     1799(gs_uc):   1796(ptr) Variable Private
+            1800:             TypePointer Private 26(ivec2)
+    1801(gs_ua2):   1800(ptr) Variable Private
+    1802(gs_ub2):   1800(ptr) Variable Private
+    1803(gs_uc2):   1800(ptr) Variable Private
+            1804:             TypePointer Private 38(ivec3)
+    1805(gs_ua3):   1804(ptr) Variable Private
+    1806(gs_ub3):   1804(ptr) Variable Private
+    1807(gs_uc3):   1804(ptr) Variable Private
+            1808:             TypePointer Private 830(ivec4)
+    1809(gs_ua4):   1808(ptr) Variable Private
+    1810(gs_ub4):   1808(ptr) Variable Private
+    1811(gs_uc4):   1808(ptr) Variable Private
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
-       802(r000):    122(ptr) Variable Function
-       807(r001):     91(ptr) Variable Function
-       810(r002):     91(ptr) Variable Function
-       813(r003):    122(ptr) Variable Function
-       816(r004):     91(ptr) Variable Function
-       821(r005):    820(ptr) Variable Function
-       826(r006):    825(ptr) Variable Function
-       829(r007):     91(ptr) Variable Function
-       834(r009):     91(ptr) Variable Function
-       837(r010):     91(ptr) Variable Function
-       842(r011):     91(ptr) Variable Function
-       845(r012):     91(ptr) Variable Function
-       859(r013):     91(ptr) Variable Function
-       862(r014):     91(ptr) Variable Function
-       865(r015):    825(ptr) Variable Function
-       868(r016):     91(ptr) Variable Function
-       871(r017):     91(ptr) Variable Function
-       874(r018):     91(ptr) Variable Function
-       877(r019):     91(ptr) Variable Function
-       880(r020):     91(ptr) Variable Function
-       883(r021):     91(ptr) Variable Function
-       886(r022):     91(ptr) Variable Function
-       889(r023):      7(ptr) Variable Function
-       893(r024):      7(ptr) Variable Function
-       897(r025):     91(ptr) Variable Function
-       909(r029):     91(ptr) Variable Function
-       912(r030):     91(ptr) Variable Function
-       915(r031):     91(ptr) Variable Function
-       920(r032):    825(ptr) Variable Function
-       925(r033):    825(ptr) Variable Function
-       927(r034):     91(ptr) Variable Function
-       930(r036):     91(ptr) Variable Function
-       934(r037):     91(ptr) Variable Function
-       937(r038):     91(ptr) Variable Function
-       943(r039):     91(ptr) Variable Function
-       947(r040):    946(ptr) Variable Function
-       950(r041):    946(ptr) Variable Function
-       953(r042):     91(ptr) Variable Function
-      957(r039a):     91(ptr) Variable Function
-       962(r043):      7(ptr) Variable Function
-       965(r044):     91(ptr) Variable Function
-       968(r045):     91(ptr) Variable Function
-       972(r046):     91(ptr) Variable Function
-       975(r047):     91(ptr) Variable Function
-       979(r048):     91(ptr) Variable Function
-       983(r049):     91(ptr) Variable Function
-       986(r050):     91(ptr) Variable Function
-       990(r051):     91(ptr) Variable Function
-       993(r052):     91(ptr) Variable Function
-       997(r053):     91(ptr) Variable Function
-      1001(r054):     91(ptr) Variable Function
-      1005(r055):    825(ptr) Variable Function
-      1008(r056):     91(ptr) Variable Function
-      1011(r057):     91(ptr) Variable Function
-      1014(r058):     91(ptr) Variable Function
-      1019(r059):     91(ptr) Variable Function
-      1022(r060):     91(ptr) Variable Function
-      1029(r061):     91(ptr) Variable Function
-      1032(r062):     91(ptr) Variable Function
-      1037(r063):     91(ptr) Variable Function
-      1040(r064):     91(ptr) Variable Function
-      1044(r065):     91(ptr) Variable Function
-      1047(r066):     91(ptr) Variable Function
-      1050(r067):     91(ptr) Variable Function
-             805:   64(fvec4) Load 804(inF0)
-             806:   121(bool) All 805
-                              Store 802(r000) 806
-             808:   64(fvec4) Load 804(inF0)
-             809:   64(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 808
-                              Store 807(r001) 809
-             811:   64(fvec4) Load 804(inF0)
-             812:   64(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 811
-                              Store 810(r002) 812
-             814:   64(fvec4) Load 804(inF0)
-             815:   121(bool) Any 814
-                              Store 813(r003) 815
-             817:   64(fvec4) Load 804(inF0)
-             818:   64(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 817
-                              Store 816(r004) 818
-             822:   64(fvec4) Load 804(inF0)
-             823:  819(ivec4) Bitcast 822
-                              Store 821(r005) 823
-             827:   64(fvec4) Load 804(inF0)
-             828:  824(ivec4) Bitcast 827
-                              Store 826(r006) 828
-             832:  824(ivec4) Load 831(inU0)
-             833:   64(fvec4) Bitcast 832
-                              Store 829(r007) 833
-             835:   64(fvec4) Load 804(inF0)
-             836:   64(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 835
-                              Store 834(r009) 836
-             838:   64(fvec4) Load 804(inF0)
-             840:   64(fvec4) Load 839(inF1)
-             841:   64(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 838 840
-                              Store 837(r010) 841
-             843:   64(fvec4) Load 804(inF0)
-             844:   64(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 843
-                              Store 842(r011) 844
-             846:   64(fvec4) Load 804(inF0)
-             847:   64(fvec4) Load 839(inF1)
-             849:   64(fvec4) Load 848(inF2)
-             850:   64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 846 847 849
-                              Store 845(r012) 850
-             851:   64(fvec4) Load 804(inF0)
-             854:  853(bvec4) FOrdLessThan 851 852
-             855:   121(bool) Any 854
-                              SelectionMerge 857 None
-                              BranchConditional 855 856 857
-             856:               Label
+       808(r000):    122(ptr) Variable Function
+       813(r001):     91(ptr) Variable Function
+       816(r002):     91(ptr) Variable Function
+       819(r003):    122(ptr) Variable Function
+       822(r004):     91(ptr) Variable Function
+       827(r005):    826(ptr) Variable Function
+       832(r006):    831(ptr) Variable Function
+       835(r007):     91(ptr) Variable Function
+       840(r009):     91(ptr) Variable Function
+       843(r010):     91(ptr) Variable Function
+       848(r011):     91(ptr) Variable Function
+       851(r012):     91(ptr) Variable Function
+       865(r013):     91(ptr) Variable Function
+       868(r014):     91(ptr) Variable Function
+       871(r015):    831(ptr) Variable Function
+       874(r016):     91(ptr) Variable Function
+       877(r017):     91(ptr) Variable Function
+       880(r018):     91(ptr) Variable Function
+       883(r019):     91(ptr) Variable Function
+       886(r020):     91(ptr) Variable Function
+       889(r021):     91(ptr) Variable Function
+       892(r022):     91(ptr) Variable Function
+       895(r023):      7(ptr) Variable Function
+       899(r024):      7(ptr) Variable Function
+       903(r025):     91(ptr) Variable Function
+       915(r029):     91(ptr) Variable Function
+       918(r030):     91(ptr) Variable Function
+       921(r031):     91(ptr) Variable Function
+       926(r032):    831(ptr) Variable Function
+       931(r033):    831(ptr) Variable Function
+       933(r034):     91(ptr) Variable Function
+       936(r036):     91(ptr) Variable Function
+       940(r037):     91(ptr) Variable Function
+       943(r038):     91(ptr) Variable Function
+       949(r039):     91(ptr) Variable Function
+       953(r040):    952(ptr) Variable Function
+       956(r041):    952(ptr) Variable Function
+       959(r042):     91(ptr) Variable Function
+      963(r039a):     91(ptr) Variable Function
+       968(r043):      7(ptr) Variable Function
+       971(r044):     91(ptr) Variable Function
+       974(r045):     91(ptr) Variable Function
+       978(r046):     91(ptr) Variable Function
+       981(r047):     91(ptr) Variable Function
+       985(r048):     91(ptr) Variable Function
+       989(r049):     91(ptr) Variable Function
+       992(r050):     91(ptr) Variable Function
+       996(r051):     91(ptr) Variable Function
+       999(r052):     91(ptr) Variable Function
+      1003(r053):     91(ptr) Variable Function
+      1007(r054):     91(ptr) Variable Function
+      1011(r055):    831(ptr) Variable Function
+      1014(r056):     91(ptr) Variable Function
+      1017(r057):     91(ptr) Variable Function
+      1020(r058):     91(ptr) Variable Function
+      1025(r059):     91(ptr) Variable Function
+      1028(r060):     91(ptr) Variable Function
+      1035(r061):     91(ptr) Variable Function
+      1038(r062):     91(ptr) Variable Function
+      1043(r063):     91(ptr) Variable Function
+      1046(r064):     91(ptr) Variable Function
+      1050(r065):     91(ptr) Variable Function
+      1053(r066):     91(ptr) Variable Function
+      1056(r067):     91(ptr) Variable Function
+             811:   64(fvec4) Load 810(inF0)
+             812:   121(bool) All 811
+                              Store 808(r000) 812
+             814:   64(fvec4) Load 810(inF0)
+             815:   64(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 814
+                              Store 813(r001) 815
+             817:   64(fvec4) Load 810(inF0)
+             818:   64(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 817
+                              Store 816(r002) 818
+             820:   64(fvec4) Load 810(inF0)
+             821:   121(bool) Any 820
+                              Store 819(r003) 821
+             823:   64(fvec4) Load 810(inF0)
+             824:   64(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 823
+                              Store 822(r004) 824
+             828:   64(fvec4) Load 810(inF0)
+             829:  825(ivec4) Bitcast 828
+                              Store 827(r005) 829
+             833:   64(fvec4) Load 810(inF0)
+             834:  830(ivec4) Bitcast 833
+                              Store 832(r006) 834
+             838:  830(ivec4) Load 837(inU0)
+             839:   64(fvec4) Bitcast 838
+                              Store 835(r007) 839
+             841:   64(fvec4) Load 810(inF0)
+             842:   64(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 841
+                              Store 840(r009) 842
+             844:   64(fvec4) Load 810(inF0)
+             846:   64(fvec4) Load 845(inF1)
+             847:   64(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 844 846
+                              Store 843(r010) 847
+             849:   64(fvec4) Load 810(inF0)
+             850:   64(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 849
+                              Store 848(r011) 850
+             852:   64(fvec4) Load 810(inF0)
+             853:   64(fvec4) Load 845(inF1)
+             855:   64(fvec4) Load 854(inF2)
+             856:   64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 852 853 855
+                              Store 851(r012) 856
+             857:   64(fvec4) Load 810(inF0)
+             860:  859(bvec4) FOrdLessThan 857 858
+             861:   121(bool) Any 860
+                              SelectionMerge 863 None
+                              BranchConditional 861 862 863
+             862:               Label
                                 Kill
-             857:             Label
-             860:   64(fvec4) Load 804(inF0)
-             861:   64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 860
-                              Store 859(r013) 861
-             863:   64(fvec4) Load 804(inF0)
-             864:   64(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 863
-                              Store 862(r014) 864
-             867:  824(ivec4) BitCount 866
-                              Store 865(r015) 867
-             869:   64(fvec4) Load 804(inF0)
-             870:   64(fvec4) DPdx 869
-                              Store 868(r016) 870
-             872:   64(fvec4) Load 804(inF0)
-             873:   64(fvec4) DPdxCoarse 872
-                              Store 871(r017) 873
-             875:   64(fvec4) Load 804(inF0)
-             876:   64(fvec4) DPdxFine 875
-                              Store 874(r018) 876
-             878:   64(fvec4) Load 804(inF0)
-             879:   64(fvec4) DPdy 878
-                              Store 877(r019) 879
-             881:   64(fvec4) Load 804(inF0)
-             882:   64(fvec4) DPdyCoarse 881
-                              Store 880(r020) 882
-             884:   64(fvec4) Load 804(inF0)
-             885:   64(fvec4) DPdyFine 884
-                              Store 883(r021) 885
-             887:   64(fvec4) Load 804(inF0)
-             888:   64(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 887
-                              Store 886(r022) 888
-             890:   64(fvec4) Load 804(inF0)
-             891:   64(fvec4) Load 839(inF1)
-             892:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 890 891
-                              Store 889(r023) 892
-             894:   64(fvec4) Load 804(inF0)
-             895:   64(fvec4) Load 839(inF1)
-             896:    6(float) Dot 894 895
-                              Store 893(r024) 896
-             899:    898(ptr) AccessChain 804(inF0) 512
-             900:    6(float) Load 899
-             901:    898(ptr) AccessChain 839(inF1) 512
-             902:    6(float) Load 901
-             903:    6(float) FMul 900 902
-             904:    898(ptr) AccessChain 804(inF0) 278
-             905:    6(float) Load 904
-             906:    898(ptr) AccessChain 839(inF1) 383
-             907:    6(float) Load 906
-             908:   64(fvec4) CompositeConstruct 274 903 905 907
-                              Store 897(r025) 908
-             910:   64(fvec4) Load 804(inF0)
-             911:   64(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 910
-                              Store 909(r029) 911
-             913:   64(fvec4) Load 804(inF0)
-             914:   64(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 913
-                              Store 912(r030) 914
-             916:   64(fvec4) Load 804(inF0)
-             917:   64(fvec4) Load 839(inF1)
-             918:   64(fvec4) Load 848(inF2)
-             919:   64(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 916 917 918
-                              Store 915(r031) 919
-             924:  824(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 923
-                              Store 920(r032) 924
-             926:  824(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 923
-                              Store 925(r033) 926
-             928:   64(fvec4) Load 804(inF0)
-             929:   64(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 928
-                              Store 927(r034) 929
-             931:   64(fvec4) Load 804(inF0)
-             932:   64(fvec4) Load 839(inF1)
-             933:   64(fvec4) FMod 931 932
-                              Store 930(r036) 933
-             935:   64(fvec4) Load 804(inF0)
-             936:   64(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 935
-                              Store 934(r037) 936
-             938:   64(fvec4) Load 804(inF0)
-             940:939(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 938
-             941:  819(ivec4) CompositeExtract 940 1
-                              Store 839(inF1) 941
-             942:   64(fvec4) CompositeExtract 940 0
-                              Store 937(r038) 942
-             944:   64(fvec4) Load 804(inF0)
-             945:   64(fvec4) Fwidth 944
-                              Store 943(r039) 945
-             948:   64(fvec4) Load 804(inF0)
-             949:  853(bvec4) IsInf 948
-                              Store 947(r040) 949
-             951:   64(fvec4) Load 804(inF0)
-             952:  853(bvec4) IsNan 951
-                              Store 950(r041) 952
-             954:   64(fvec4) Load 804(inF0)
-             955:   64(fvec4) Load 839(inF1)
-             956:   64(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 954 955
-                              Store 953(r042) 956
-             958:   64(fvec4) Load 804(inF0)
-             959:   64(fvec4) Load 839(inF1)
-             960:   64(fvec4) Load 848(inF2)
-             961:   64(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 958 959 960
-                              Store 957(r039a) 961
-             963:   64(fvec4) Load 804(inF0)
-             964:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 963
-                              Store 962(r043) 964
-             966:   64(fvec4) Load 804(inF0)
-             967:   64(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 966
-                              Store 965(r044) 967
-             969:   64(fvec4) Load 804(inF0)
-             970:   64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 969
-             971:   64(fvec4) VectorTimesScalar 970 253
-                              Store 968(r045) 971
-             973:   64(fvec4) Load 804(inF0)
-             974:   64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 973
-                              Store 972(r046) 974
-             976:   64(fvec4) Load 804(inF0)
-             977:   64(fvec4) Load 839(inF1)
-             978:   64(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 976 977
-                              Store 975(r047) 978
-             980:   64(fvec4) Load 804(inF0)
-             981:   64(fvec4) Load 839(inF1)
-             982:   64(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 980 981
-                              Store 979(r048) 982
-             984:   64(fvec4) Load 804(inF0)
-             985:   64(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 984
-                              Store 983(r049) 985
-             987:   64(fvec4) Load 804(inF0)
-             988:   64(fvec4) Load 839(inF1)
-             989:   64(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 987 988
-                              Store 986(r050) 989
-             991:   64(fvec4) Load 804(inF0)
-             992:   64(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 991
-                              Store 990(r051) 992
-             994:   64(fvec4) Load 804(inF0)
-             995:   64(fvec4) CompositeConstruct 274 274 274 274
-             996:   64(fvec4) FDiv 995 994
-                              Store 993(r052) 996
-             998:   64(fvec4) Load 804(inF0)
-             999:   64(fvec4) Load 839(inF1)
-            1000:   64(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 998 999
-                              Store 997(r053) 1000
-            1002:   64(fvec4) Load 804(inF0)
-            1003:   64(fvec4) Load 839(inF1)
-            1004:   64(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1002 1003 509
-                              Store 1001(r054) 1004
-            1007:  824(ivec4) BitReverse 1006
-                              Store 1005(r055) 1007
-            1009:   64(fvec4) Load 804(inF0)
-            1010:   64(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1009
-                              Store 1008(r056) 1010
-            1012:   64(fvec4) Load 804(inF0)
-            1013:   64(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1012
-                              Store 1011(r057) 1013
-            1015:   64(fvec4) Load 804(inF0)
-            1016:   64(fvec4) CompositeConstruct 165 165 165 165
-            1017:   64(fvec4) CompositeConstruct 274 274 274 274
-            1018:   64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1015 1016 1017
-                              Store 1014(r058) 1018
-            1020:   64(fvec4) Load 804(inF0)
-            1021:   64(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1020
-                              Store 1019(r059) 1021
-            1023:   64(fvec4) Load 804(inF0)
-            1024:   64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1023
-                              Store 1022(r060) 1024
-            1025:   64(fvec4) Load 804(inF0)
-            1026:   64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1025
-                              Store 839(inF1) 1026
-            1027:   64(fvec4) Load 804(inF0)
-            1028:   64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1027
-                              Store 848(inF2) 1028
-            1030:   64(fvec4) Load 804(inF0)
-            1031:   64(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1030
-                              Store 1029(r061) 1031
-            1033:   64(fvec4) Load 804(inF0)
-            1034:   64(fvec4) Load 839(inF1)
-            1035:   64(fvec4) Load 848(inF2)
-            1036:   64(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1033 1034 1035
-                              Store 1032(r062) 1036
-            1038:   64(fvec4) Load 804(inF0)
-            1039:   64(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1038
-                              Store 1037(r063) 1039
-            1041:   64(fvec4) Load 804(inF0)
-            1042:   64(fvec4) Load 839(inF1)
-            1043:   64(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1041 1042
-                              Store 1040(r064) 1043
-            1045:   64(fvec4) Load 804(inF0)
-            1046:   64(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1045
-                              Store 1044(r065) 1046
-            1048:   64(fvec4) Load 804(inF0)
-            1049:   64(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1048
-                              Store 1047(r066) 1049
-            1051:   64(fvec4) Load 804(inF0)
-            1052:   64(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1051
-                              Store 1050(r067) 1052
-                              ReturnValue 1054
+             863:             Label
+             866:   64(fvec4) Load 810(inF0)
+             867:   64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 866
+                              Store 865(r013) 867
+             869:   64(fvec4) Load 810(inF0)
+             870:   64(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 869
+                              Store 868(r014) 870
+             873:  830(ivec4) BitCount 872
+                              Store 871(r015) 873
+             875:   64(fvec4) Load 810(inF0)
+             876:   64(fvec4) DPdx 875
+                              Store 874(r016) 876
+             878:   64(fvec4) Load 810(inF0)
+             879:   64(fvec4) DPdxCoarse 878
+                              Store 877(r017) 879
+             881:   64(fvec4) Load 810(inF0)
+             882:   64(fvec4) DPdxFine 881
+                              Store 880(r018) 882
+             884:   64(fvec4) Load 810(inF0)
+             885:   64(fvec4) DPdy 884
+                              Store 883(r019) 885
+             887:   64(fvec4) Load 810(inF0)
+             888:   64(fvec4) DPdyCoarse 887
+                              Store 886(r020) 888
+             890:   64(fvec4) Load 810(inF0)
+             891:   64(fvec4) DPdyFine 890
+                              Store 889(r021) 891
+             893:   64(fvec4) Load 810(inF0)
+             894:   64(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 893
+                              Store 892(r022) 894
+             896:   64(fvec4) Load 810(inF0)
+             897:   64(fvec4) Load 845(inF1)
+             898:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 896 897
+                              Store 895(r023) 898
+             900:   64(fvec4) Load 810(inF0)
+             901:   64(fvec4) Load 845(inF1)
+             902:    6(float) Dot 900 901
+                              Store 899(r024) 902
+             905:    904(ptr) AccessChain 810(inF0) 512
+             906:    6(float) Load 905
+             907:    904(ptr) AccessChain 845(inF1) 512
+             908:    6(float) Load 907
+             909:    6(float) FMul 906 908
+             910:    904(ptr) AccessChain 810(inF0) 278
+             911:    6(float) Load 910
+             912:    904(ptr) AccessChain 845(inF1) 383
+             913:    6(float) Load 912
+             914:   64(fvec4) CompositeConstruct 274 909 911 913
+                              Store 903(r025) 914
+             916:   64(fvec4) Load 810(inF0)
+             917:   64(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 916
+                              Store 915(r029) 917
+             919:   64(fvec4) Load 810(inF0)
+             920:   64(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 919
+                              Store 918(r030) 920
+             922:   64(fvec4) Load 810(inF0)
+             923:   64(fvec4) Load 845(inF1)
+             924:   64(fvec4) Load 854(inF2)
+             925:   64(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 922 923 924
+                              Store 921(r031) 925
+             930:  830(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 929
+                              Store 926(r032) 930
+             932:  830(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 929
+                              Store 931(r033) 932
+             934:   64(fvec4) Load 810(inF0)
+             935:   64(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 934
+                              Store 933(r034) 935
+             937:   64(fvec4) Load 810(inF0)
+             938:   64(fvec4) Load 845(inF1)
+             939:   64(fvec4) FMod 937 938
+                              Store 936(r036) 939
+             941:   64(fvec4) Load 810(inF0)
+             942:   64(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 941
+                              Store 940(r037) 942
+             944:   64(fvec4) Load 810(inF0)
+             946:945(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 944
+             947:  825(ivec4) CompositeExtract 946 1
+                              Store 845(inF1) 947
+             948:   64(fvec4) CompositeExtract 946 0
+                              Store 943(r038) 948
+             950:   64(fvec4) Load 810(inF0)
+             951:   64(fvec4) Fwidth 950
+                              Store 949(r039) 951
+             954:   64(fvec4) Load 810(inF0)
+             955:  859(bvec4) IsInf 954
+                              Store 953(r040) 955
+             957:   64(fvec4) Load 810(inF0)
+             958:  859(bvec4) IsNan 957
+                              Store 956(r041) 958
+             960:   64(fvec4) Load 810(inF0)
+             961:   64(fvec4) Load 845(inF1)
+             962:   64(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 960 961
+                              Store 959(r042) 962
+             964:   64(fvec4) Load 810(inF0)
+             965:   64(fvec4) Load 845(inF1)
+             966:   64(fvec4) Load 854(inF2)
+             967:   64(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 964 965 966
+                              Store 963(r039a) 967
+             969:   64(fvec4) Load 810(inF0)
+             970:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 969
+                              Store 968(r043) 970
+             972:   64(fvec4) Load 810(inF0)
+             973:   64(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 972
+                              Store 971(r044) 973
+             975:   64(fvec4) Load 810(inF0)
+             976:   64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 975
+             977:   64(fvec4) VectorTimesScalar 976 253
+                              Store 974(r045) 977
+             979:   64(fvec4) Load 810(inF0)
+             980:   64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 979
+                              Store 978(r046) 980
+             982:   64(fvec4) Load 810(inF0)
+             983:   64(fvec4) Load 845(inF1)
+             984:   64(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 982 983
+                              Store 981(r047) 984
+             986:   64(fvec4) Load 810(inF0)
+             987:   64(fvec4) Load 845(inF1)
+             988:   64(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 986 987
+                              Store 985(r048) 988
+             990:   64(fvec4) Load 810(inF0)
+             991:   64(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 990
+                              Store 989(r049) 991
+             993:   64(fvec4) Load 810(inF0)
+             994:   64(fvec4) Load 845(inF1)
+             995:   64(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 993 994
+                              Store 992(r050) 995
+             997:   64(fvec4) Load 810(inF0)
+             998:   64(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 997
+                              Store 996(r051) 998
+            1000:   64(fvec4) Load 810(inF0)
+            1001:   64(fvec4) CompositeConstruct 274 274 274 274
+            1002:   64(fvec4) FDiv 1001 1000
+                              Store 999(r052) 1002
+            1004:   64(fvec4) Load 810(inF0)
+            1005:   64(fvec4) Load 845(inF1)
+            1006:   64(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1004 1005
+                              Store 1003(r053) 1006
+            1008:   64(fvec4) Load 810(inF0)
+            1009:   64(fvec4) Load 845(inF1)
+            1010:   64(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1008 1009 509
+                              Store 1007(r054) 1010
+            1013:  830(ivec4) BitReverse 1012
+                              Store 1011(r055) 1013
+            1015:   64(fvec4) Load 810(inF0)
+            1016:   64(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1015
+                              Store 1014(r056) 1016
+            1018:   64(fvec4) Load 810(inF0)
+            1019:   64(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1018
+                              Store 1017(r057) 1019
+            1021:   64(fvec4) Load 810(inF0)
+            1022:   64(fvec4) CompositeConstruct 165 165 165 165
+            1023:   64(fvec4) CompositeConstruct 274 274 274 274
+            1024:   64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1021 1022 1023
+                              Store 1020(r058) 1024
+            1026:   64(fvec4) Load 810(inF0)
+            1027:   64(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1026
+                              Store 1025(r059) 1027
+            1029:   64(fvec4) Load 810(inF0)
+            1030:   64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1029
+                              Store 1028(r060) 1030
+            1031:   64(fvec4) Load 810(inF0)
+            1032:   64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1031
+                              Store 845(inF1) 1032
+            1033:   64(fvec4) Load 810(inF0)
+            1034:   64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1033
+                              Store 854(inF2) 1034
+            1036:   64(fvec4) Load 810(inF0)
+            1037:   64(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1036
+                              Store 1035(r061) 1037
+            1039:   64(fvec4) Load 810(inF0)
+            1040:   64(fvec4) Load 845(inF1)
+            1041:   64(fvec4) Load 854(inF2)
+            1042:   64(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1039 1040 1041
+                              Store 1038(r062) 1042
+            1044:   64(fvec4) Load 810(inF0)
+            1045:   64(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1044
+                              Store 1043(r063) 1045
+            1047:   64(fvec4) Load 810(inF0)
+            1048:   64(fvec4) Load 845(inF1)
+            1049:   64(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1047 1048
+                              Store 1046(r064) 1049
+            1051:   64(fvec4) Load 810(inF0)
+            1052:   64(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1051
+                              Store 1050(r065) 1052
+            1054:   64(fvec4) Load 810(inF0)
+            1055:   64(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1054
+                              Store 1053(r066) 1055
+            1057:   64(fvec4) Load 810(inF0)
+            1058:   64(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1057
+                              Store 1056(r067) 1058
+                              ReturnValue 1060
                               FunctionEnd
 16(PixelShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
         11(inF0):      7(ptr) FunctionParameter
@@ -7111,31 +7129,32 @@ gl_FragCoord origin is upper left
        695(r041):    691(ptr) Variable Function
        698(r042):     37(ptr) Variable Function
       702(r039a):     37(ptr) Variable Function
-       707(r043):      7(ptr) Variable Function
-       710(r044):     37(ptr) Variable Function
-       713(r045):     37(ptr) Variable Function
-       717(r046):     37(ptr) Variable Function
-       720(r047):     37(ptr) Variable Function
-       724(r048):     37(ptr) Variable Function
-       728(r049):     37(ptr) Variable Function
-       731(r050):     37(ptr) Variable Function
-       735(r051):     37(ptr) Variable Function
-       738(r052):     37(ptr) Variable Function
-       742(r053):     37(ptr) Variable Function
-       746(r054):     37(ptr) Variable Function
-       750(r055):     39(ptr) Variable Function
-       753(r056):     37(ptr) Variable Function
-       756(r057):     37(ptr) Variable Function
-       759(r058):     37(ptr) Variable Function
-       764(r059):     37(ptr) Variable Function
-       767(r060):     37(ptr) Variable Function
-       774(r061):     37(ptr) Variable Function
-       777(r062):     37(ptr) Variable Function
-       782(r063):     37(ptr) Variable Function
-       785(r064):     37(ptr) Variable Function
-       789(r065):     37(ptr) Variable Function
-       792(r066):     37(ptr) Variable Function
-       795(r067):     37(ptr) Variable Function
+      707(r039b):     37(ptr) Variable Function
+       713(r043):      7(ptr) Variable Function
+       716(r044):     37(ptr) Variable Function
+       719(r045):     37(ptr) Variable Function
+       723(r046):     37(ptr) Variable Function
+       726(r047):     37(ptr) Variable Function
+       730(r048):     37(ptr) Variable Function
+       734(r049):     37(ptr) Variable Function
+       737(r050):     37(ptr) Variable Function
+       741(r051):     37(ptr) Variable Function
+       744(r052):     37(ptr) Variable Function
+       748(r053):     37(ptr) Variable Function
+       752(r054):     37(ptr) Variable Function
+       756(r055):     39(ptr) Variable Function
+       759(r056):     37(ptr) Variable Function
+       762(r057):     37(ptr) Variable Function
+       765(r058):     37(ptr) Variable Function
+       770(r059):     37(ptr) Variable Function
+       773(r060):     37(ptr) Variable Function
+       780(r061):     37(ptr) Variable Function
+       783(r062):     37(ptr) Variable Function
+       788(r063):     37(ptr) Variable Function
+       791(r064):     37(ptr) Variable Function
+       795(r065):     37(ptr) Variable Function
+       798(r066):     37(ptr) Variable Function
+       801(r067):     37(ptr) Variable Function
              564:   36(fvec3) Load 41(inF0)
              565:   121(bool) All 564
                               Store 563(r000) 565
@@ -7274,809 +7293,814 @@ gl_FragCoord origin is upper left
              706:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 703 704 705
                               Store 702(r039a) 706
              708:   36(fvec3) Load 41(inF0)
-             709:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 708
-                              Store 707(r043) 709
-             711:   36(fvec3) Load 41(inF0)
-             712:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 711
-                              Store 710(r044) 712
+             709:   36(fvec3) Load 42(inF1)
+             711:   36(fvec3) CompositeConstruct 710 710 710
+             712:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 708 709 711
+                              Store 707(r039b) 712
              714:   36(fvec3) Load 41(inF0)
-             715:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 714
-             716:   36(fvec3) VectorTimesScalar 715 253
-                              Store 713(r045) 716
-             718:   36(fvec3) Load 41(inF0)
-             719:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 718
-                              Store 717(r046) 719
-             721:   36(fvec3) Load 41(inF0)
-             722:   36(fvec3) Load 42(inF1)
-             723:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 721 722
-                              Store 720(r047) 723
-             725:   36(fvec3) Load 41(inF0)
-             726:   36(fvec3) Load 42(inF1)
-             727:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 725 726
-                              Store 724(r048) 727
-             729:   36(fvec3) Load 41(inF0)
-             730:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 729
-                              Store 728(r049) 730
-             732:   36(fvec3) Load 41(inF0)
-             733:   36(fvec3) Load 42(inF1)
-             734:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 732 733
-                              Store 731(r050) 734
-             736:   36(fvec3) Load 41(inF0)
-             737:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 736
-                              Store 735(r051) 737
-             739:   36(fvec3) Load 41(inF0)
-             740:   36(fvec3) CompositeConstruct 274 274 274
-             741:   36(fvec3) FDiv 740 739
-                              Store 738(r052) 741
-             743:   36(fvec3) Load 41(inF0)
-             744:   36(fvec3) Load 42(inF1)
-             745:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 743 744
-                              Store 742(r053) 745
-             747:   36(fvec3) Load 41(inF0)
-             748:   36(fvec3) Load 42(inF1)
-             749:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 747 748 509
-                              Store 746(r054) 749
-             752:   38(ivec3) BitReverse 751
-                              Store 750(r055) 752
-             754:   36(fvec3) Load 41(inF0)
-             755:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 754
-                              Store 753(r056) 755
-             757:   36(fvec3) Load 41(inF0)
-             758:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 757
-                              Store 756(r057) 758
+             715:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 714
+                              Store 713(r043) 715
+             717:   36(fvec3) Load 41(inF0)
+             718:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 717
+                              Store 716(r044) 718
+             720:   36(fvec3) Load 41(inF0)
+             721:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 720
+             722:   36(fvec3) VectorTimesScalar 721 253
+                              Store 719(r045) 722
+             724:   36(fvec3) Load 41(inF0)
+             725:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 724
+                              Store 723(r046) 725
+             727:   36(fvec3) Load 41(inF0)
+             728:   36(fvec3) Load 42(inF1)
+             729:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 727 728
+                              Store 726(r047) 729
+             731:   36(fvec3) Load 41(inF0)
+             732:   36(fvec3) Load 42(inF1)
+             733:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 731 732
+                              Store 730(r048) 733
+             735:   36(fvec3) Load 41(inF0)
+             736:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 735
+                              Store 734(r049) 736
+             738:   36(fvec3) Load 41(inF0)
+             739:   36(fvec3) Load 42(inF1)
+             740:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 738 739
+                              Store 737(r050) 740
+             742:   36(fvec3) Load 41(inF0)
+             743:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 742
+                              Store 741(r051) 743
+             745:   36(fvec3) Load 41(inF0)
+             746:   36(fvec3) CompositeConstruct 274 274 274
+             747:   36(fvec3) FDiv 746 745
+                              Store 744(r052) 747
+             749:   36(fvec3) Load 41(inF0)
+             750:   36(fvec3) Load 42(inF1)
+             751:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 749 750
+                              Store 748(r053) 751
+             753:   36(fvec3) Load 41(inF0)
+             754:   36(fvec3) Load 42(inF1)
+             755:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 753 754 509
+                              Store 752(r054) 755
+             758:   38(ivec3) BitReverse 757
+                              Store 756(r055) 758
              760:   36(fvec3) Load 41(inF0)
-             761:   36(fvec3) CompositeConstruct 165 165 165
-             762:   36(fvec3) CompositeConstruct 274 274 274
-             763:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 760 761 762
-                              Store 759(r058) 763
-             765:   36(fvec3) Load 41(inF0)
-             766:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 765
-                              Store 764(r059) 766
-             768:   36(fvec3) Load 41(inF0)
-             769:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 768
-                              Store 767(r060) 769
-             770:   36(fvec3) Load 41(inF0)
-             771:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 770
-                              Store 42(inF1) 771
-             772:   36(fvec3) Load 41(inF0)
-             773:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 772
-                              Store 43(inF2) 773
-             775:   36(fvec3) Load 41(inF0)
-             776:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 775
-                              Store 774(r061) 776
+             761:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 760
+                              Store 759(r056) 761
+             763:   36(fvec3) Load 41(inF0)
+             764:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 763
+                              Store 762(r057) 764
+             766:   36(fvec3) Load 41(inF0)
+             767:   36(fvec3) CompositeConstruct 165 165 165
+             768:   36(fvec3) CompositeConstruct 274 274 274
+             769:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 766 767 768
+                              Store 765(r058) 769
+             771:   36(fvec3) Load 41(inF0)
+             772:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 771
+                              Store 770(r059) 772
+             774:   36(fvec3) Load 41(inF0)
+             775:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 774
+                              Store 773(r060) 775
+             776:   36(fvec3) Load 41(inF0)
+             777:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 776
+                              Store 42(inF1) 777
              778:   36(fvec3) Load 41(inF0)
-             779:   36(fvec3) Load 42(inF1)
-             780:   36(fvec3) Load 43(inF2)
-             781:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 778 779 780
-                              Store 777(r062) 781
-             783:   36(fvec3) Load 41(inF0)
-             784:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 783
-                              Store 782(r063) 784
-             786:   36(fvec3) Load 41(inF0)
-             787:   36(fvec3) Load 42(inF1)
-             788:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 786 787
-                              Store 785(r064) 788
-             790:   36(fvec3) Load 41(inF0)
-             791:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 790
-                              Store 789(r065) 791
-             793:   36(fvec3) Load 41(inF0)
-             794:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 793
-                              Store 792(r066) 794
+             779:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 778
+                              Store 43(inF2) 779
+             781:   36(fvec3) Load 41(inF0)
+             782:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 781
+                              Store 780(r061) 782
+             784:   36(fvec3) Load 41(inF0)
+             785:   36(fvec3) Load 42(inF1)
+             786:   36(fvec3) Load 43(inF2)
+             787:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 784 785 786
+                              Store 783(r062) 787
+             789:   36(fvec3) Load 41(inF0)
+             790:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 789
+                              Store 788(r063) 790
+             792:   36(fvec3) Load 41(inF0)
+             793:   36(fvec3) Load 42(inF1)
+             794:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 792 793
+                              Store 791(r064) 794
              796:   36(fvec3) Load 41(inF0)
-             797:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 796
-                              Store 795(r067) 797
-                              ReturnValue 799
+             797:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 796
+                              Store 795(r065) 797
+             799:   36(fvec3) Load 41(inF0)
+             800:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 799
+                              Store 798(r066) 800
+             802:   36(fvec3) Load 41(inF0)
+             803:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 802
+                              Store 801(r067) 803
+                              ReturnValue 805
                               FunctionEnd
 54(PixelShaderFunction2x2(mf22;mf22;mf22;):          48 Function None 50
         51(inF0):     49(ptr) FunctionParameter
         52(inF1):     49(ptr) FunctionParameter
         53(inF2):     49(ptr) FunctionParameter
               55:             Label
-      1056(r000):    122(ptr) Variable Function
-      1059(r001):     49(ptr) Variable Function
-      1064(r003):    122(ptr) Variable Function
-      1067(r004):     49(ptr) Variable Function
-      1070(r005):     49(ptr) Variable Function
-      1073(r006):     49(ptr) Variable Function
-      1077(r007):     49(ptr) Variable Function
-      1088(r008):     49(ptr) Variable Function
-      1093(r009):     49(ptr) Variable Function
-      1096(r010):     49(ptr) Variable Function
-      1099(r011):     49(ptr) Variable Function
-      1102(r012):     49(ptr) Variable Function
-      1105(r013):     49(ptr) Variable Function
-      1108(r014):     49(ptr) Variable Function
-      1111(r015):     49(ptr) Variable Function
-      1114(r016):     49(ptr) Variable Function
-      1117(r017):     49(ptr) Variable Function
-      1120(r018):      7(ptr) Variable Function
-      1123(r019):     49(ptr) Variable Function
-      1126(R020):     49(ptr) Variable Function
-      1129(r021):     49(ptr) Variable Function
-      1132(r022):     49(ptr) Variable Function
-      1142(r023):     49(ptr) Variable Function
-      1145(r024):     49(ptr) Variable Function
-      1151(r025):     49(ptr) Variable Function
-      1154(r026):     49(ptr) Variable Function
-     1158(r026a):     49(ptr) Variable Function
-      1163(r027):     49(ptr) Variable Function
-      1166(r028):     49(ptr) Variable Function
-      1170(r029):     49(ptr) Variable Function
-      1173(r030):     49(ptr) Variable Function
-      1177(r031):     49(ptr) Variable Function
-      1181(r032):     49(ptr) Variable Function
-      1185(r033):     49(ptr) Variable Function
-      1188(r034):     49(ptr) Variable Function
-      1191(r035):     49(ptr) Variable Function
-      1194(r036):     49(ptr) Variable Function
-      1199(r037):     49(ptr) Variable Function
-      1202(r038):     49(ptr) Variable Function
-      1209(r039):     49(ptr) Variable Function
-      1212(r049):     49(ptr) Variable Function
-      1217(r041):     49(ptr) Variable Function
-      1220(r042):     49(ptr) Variable Function
-      1224(r043):     49(ptr) Variable Function
-      1227(r044):     49(ptr) Variable Function
-      1232(r046):     49(ptr) Variable Function
-            1057:          48 Load 51(inF0)
-            1058:   121(bool) All 1057
-                              Store 1056(r000) 1058
-            1060:          48 Load 51(inF0)
-            1061:          48 ExtInst 1(GLSL.std.450) 4(FAbs) 1060
-                              Store 1059(r001) 1061
-            1062:          48 Load 51(inF0)
-            1063:          48 ExtInst 1(GLSL.std.450) 17(Acos) 1062
-            1065:          48 Load 51(inF0)
-            1066:   121(bool) Any 1065
-                              Store 1064(r003) 1066
+      1062(r000):    122(ptr) Variable Function
+      1065(r001):     49(ptr) Variable Function
+      1070(r003):    122(ptr) Variable Function
+      1073(r004):     49(ptr) Variable Function
+      1076(r005):     49(ptr) Variable Function
+      1079(r006):     49(ptr) Variable Function
+      1083(r007):     49(ptr) Variable Function
+      1094(r008):     49(ptr) Variable Function
+      1099(r009):     49(ptr) Variable Function
+      1102(r010):     49(ptr) Variable Function
+      1105(r011):     49(ptr) Variable Function
+      1108(r012):     49(ptr) Variable Function
+      1111(r013):     49(ptr) Variable Function
+      1114(r014):     49(ptr) Variable Function
+      1117(r015):     49(ptr) Variable Function
+      1120(r016):     49(ptr) Variable Function
+      1123(r017):     49(ptr) Variable Function
+      1126(r018):      7(ptr) Variable Function
+      1129(r019):     49(ptr) Variable Function
+      1132(R020):     49(ptr) Variable Function
+      1135(r021):     49(ptr) Variable Function
+      1138(r022):     49(ptr) Variable Function
+      1148(r023):     49(ptr) Variable Function
+      1151(r024):     49(ptr) Variable Function
+      1157(r025):     49(ptr) Variable Function
+      1160(r026):     49(ptr) Variable Function
+     1164(r026a):     49(ptr) Variable Function
+      1169(r027):     49(ptr) Variable Function
+      1172(r028):     49(ptr) Variable Function
+      1176(r029):     49(ptr) Variable Function
+      1179(r030):     49(ptr) Variable Function
+      1183(r031):     49(ptr) Variable Function
+      1187(r032):     49(ptr) Variable Function
+      1191(r033):     49(ptr) Variable Function
+      1194(r034):     49(ptr) Variable Function
+      1197(r035):     49(ptr) Variable Function
+      1200(r036):     49(ptr) Variable Function
+      1205(r037):     49(ptr) Variable Function
+      1208(r038):     49(ptr) Variable Function
+      1215(r039):     49(ptr) Variable Function
+      1218(r049):     49(ptr) Variable Function
+      1223(r041):     49(ptr) Variable Function
+      1226(r042):     49(ptr) Variable Function
+      1230(r043):     49(ptr) Variable Function
+      1233(r044):     49(ptr) Variable Function
+      1238(r046):     49(ptr) Variable Function
+            1063:          48 Load 51(inF0)
+            1064:   121(bool) All 1063
+                              Store 1062(r000) 1064
+            1066:          48 Load 51(inF0)
+            1067:          48 ExtInst 1(GLSL.std.450) 4(FAbs) 1066
+                              Store 1065(r001) 1067
             1068:          48 Load 51(inF0)
-            1069:          48 ExtInst 1(GLSL.std.450) 16(Asin) 1068
-                              Store 1067(r004) 1069
+            1069:          48 ExtInst 1(GLSL.std.450) 17(Acos) 1068
             1071:          48 Load 51(inF0)
-            1072:          48 ExtInst 1(GLSL.std.450) 18(Atan) 1071
-                              Store 1070(r005) 1072
+            1072:   121(bool) Any 1071
+                              Store 1070(r003) 1072
             1074:          48 Load 51(inF0)
-            1075:          48 Load 52(inF1)
-            1076:          48 ExtInst 1(GLSL.std.450) 25(Atan2) 1074 1075
-                              Store 1073(r006) 1076
-            1078:          48 Load 51(inF0)
-            1079:          48 ExtInst 1(GLSL.std.450) 9(Ceil) 1078
-                              Store 1077(r007) 1079
+            1075:          48 ExtInst 1(GLSL.std.450) 16(Asin) 1074
+                              Store 1073(r004) 1075
+            1077:          48 Load 51(inF0)
+            1078:          48 ExtInst 1(GLSL.std.450) 18(Atan) 1077
+                              Store 1076(r005) 1078
             1080:          48 Load 51(inF0)
-            1083:        1082 FOrdLessThan 1080 1081
-            1084:   121(bool) Any 1083
-                              SelectionMerge 1086 None
-                              BranchConditional 1084 1085 1086
-            1085:               Label
+            1081:          48 Load 52(inF1)
+            1082:          48 ExtInst 1(GLSL.std.450) 25(Atan2) 1080 1081
+                              Store 1079(r006) 1082
+            1084:          48 Load 51(inF0)
+            1085:          48 ExtInst 1(GLSL.std.450) 9(Ceil) 1084
+                              Store 1083(r007) 1085
+            1086:          48 Load 51(inF0)
+            1089:        1088 FOrdLessThan 1086 1087
+            1090:   121(bool) Any 1089
+                              SelectionMerge 1092 None
+                              BranchConditional 1090 1091 1092
+            1091:               Label
                                 Kill
-            1086:             Label
-            1089:          48 Load 51(inF0)
-            1090:          48 Load 52(inF1)
-            1091:          48 Load 53(inF2)
-            1092:          48 ExtInst 1(GLSL.std.450) 43(FClamp) 1089 1090 1091
-                              Store 1088(r008) 1092
-            1094:          48 Load 51(inF0)
-            1095:          48 ExtInst 1(GLSL.std.450) 14(Cos) 1094
-                              Store 1093(r009) 1095
-            1097:          48 Load 51(inF0)
-            1098:          48 ExtInst 1(GLSL.std.450) 20(Cosh) 1097
-                              Store 1096(r010) 1098
+            1092:             Label
+            1095:          48 Load 51(inF0)
+            1096:          48 Load 52(inF1)
+            1097:          48 Load 53(inF2)
+            1098:          48 ExtInst 1(GLSL.std.450) 43(FClamp) 1095 1096 1097
+                              Store 1094(r008) 1098
             1100:          48 Load 51(inF0)
-            1101:          48 DPdx 1100
-                              Store 1099(r011) 1101
+            1101:          48 ExtInst 1(GLSL.std.450) 14(Cos) 1100
+                              Store 1099(r009) 1101
             1103:          48 Load 51(inF0)
-            1104:          48 DPdxCoarse 1103
-                              Store 1102(r012) 1104
+            1104:          48 ExtInst 1(GLSL.std.450) 20(Cosh) 1103
+                              Store 1102(r010) 1104
             1106:          48 Load 51(inF0)
-            1107:          48 DPdxFine 1106
-                              Store 1105(r013) 1107
+            1107:          48 DPdx 1106
+                              Store 1105(r011) 1107
             1109:          48 Load 51(inF0)
-            1110:          48 DPdy 1109
-                              Store 1108(r014) 1110
+            1110:          48 DPdxCoarse 1109
+                              Store 1108(r012) 1110
             1112:          48 Load 51(inF0)
-            1113:          48 DPdyCoarse 1112
-                              Store 1111(r015) 1113
+            1113:          48 DPdxFine 1112
+                              Store 1111(r013) 1113
             1115:          48 Load 51(inF0)
-            1116:          48 DPdyFine 1115
-                              Store 1114(r016) 1116
+            1116:          48 DPdy 1115
+                              Store 1114(r014) 1116
             1118:          48 Load 51(inF0)
-            1119:          48 ExtInst 1(GLSL.std.450) 12(Degrees) 1118
-                              Store 1117(r017) 1119
+            1119:          48 DPdyCoarse 1118
+                              Store 1117(r015) 1119
             1121:          48 Load 51(inF0)
-            1122:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1121
-                              Store 1120(r018) 1122
+            1122:          48 DPdyFine 1121
+                              Store 1120(r016) 1122
             1124:          48 Load 51(inF0)
-            1125:          48 ExtInst 1(GLSL.std.450) 27(Exp) 1124
-                              Store 1123(r019) 1125
+            1125:          48 ExtInst 1(GLSL.std.450) 12(Degrees) 1124
+                              Store 1123(r017) 1125
             1127:          48 Load 51(inF0)
-            1128:          48 ExtInst 1(GLSL.std.450) 29(Exp2) 1127
-                              Store 1126(R020) 1128
+            1128:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1127
+                              Store 1126(r018) 1128
             1130:          48 Load 51(inF0)
-            1131:          48 ExtInst 1(GLSL.std.450) 8(Floor) 1130
-                              Store 1129(r021) 1131
+            1131:          48 ExtInst 1(GLSL.std.450) 27(Exp) 1130
+                              Store 1129(r019) 1131
             1133:          48 Load 51(inF0)
-            1134:          48 Load 52(inF1)
-            1135:   24(fvec2) CompositeExtract 1133 0
-            1136:   24(fvec2) CompositeExtract 1134 0
-            1137:   24(fvec2) FMod 1135 1136
-            1138:   24(fvec2) CompositeExtract 1133 1
-            1139:   24(fvec2) CompositeExtract 1134 1
-            1140:   24(fvec2) FMod 1138 1139
-            1141:          48 CompositeConstruct 1137 1140
-                              Store 1132(r022) 1141
-            1143:          48 Load 51(inF0)
-            1144:          48 ExtInst 1(GLSL.std.450) 10(Fract) 1143
-                              Store 1142(r023) 1144
-            1146:          48 Load 51(inF0)
-            1148:1147(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1146
-            1149:  342(ivec2) CompositeExtract 1148 1
-                              Store 52(inF1) 1149
-            1150:          48 CompositeExtract 1148 0
-                              Store 1145(r024) 1150
+            1134:          48 ExtInst 1(GLSL.std.450) 29(Exp2) 1133
+                              Store 1132(R020) 1134
+            1136:          48 Load 51(inF0)
+            1137:          48 ExtInst 1(GLSL.std.450) 8(Floor) 1136
+                              Store 1135(r021) 1137
+            1139:          48 Load 51(inF0)
+            1140:          48 Load 52(inF1)
+            1141:   24(fvec2) CompositeExtract 1139 0
+            1142:   24(fvec2) CompositeExtract 1140 0
+            1143:   24(fvec2) FMod 1141 1142
+            1144:   24(fvec2) CompositeExtract 1139 1
+            1145:   24(fvec2) CompositeExtract 1140 1
+            1146:   24(fvec2) FMod 1144 1145
+            1147:          48 CompositeConstruct 1143 1146
+                              Store 1138(r022) 1147
+            1149:          48 Load 51(inF0)
+            1150:          48 ExtInst 1(GLSL.std.450) 10(Fract) 1149
+                              Store 1148(r023) 1150
             1152:          48 Load 51(inF0)
-            1153:          48 Fwidth 1152
-                              Store 1151(r025) 1153
-            1155:          48 Load 51(inF0)
-            1156:          48 Load 52(inF1)
-            1157:          48 ExtInst 1(GLSL.std.450) 53(Ldexp) 1155 1156
-                              Store 1154(r026) 1157
-            1159:          48 Load 51(inF0)
-            1160:          48 Load 52(inF1)
-            1161:          48 Load 53(inF2)
-            1162:          48 ExtInst 1(GLSL.std.450) 46(FMix) 1159 1160 1161
-                              Store 1158(r026a) 1162
-            1164:          48 Load 51(inF0)
-            1165:          48 ExtInst 1(GLSL.std.450) 28(Log) 1164
-                              Store 1163(r027) 1165
-            1167:          48 Load 51(inF0)
-            1168:          48 ExtInst 1(GLSL.std.450) 30(Log2) 1167
-            1169:          48 MatrixTimesScalar 1168 253
-                              Store 1166(r028) 1169
-            1171:          48 Load 51(inF0)
-            1172:          48 ExtInst 1(GLSL.std.450) 30(Log2) 1171
-                              Store 1170(r029) 1172
-            1174:          48 Load 51(inF0)
-            1175:          48 Load 52(inF1)
-            1176:          48 ExtInst 1(GLSL.std.450) 40(FMax) 1174 1175
-                              Store 1173(r030) 1176
-            1178:          48 Load 51(inF0)
-            1179:          48 Load 52(inF1)
-            1180:          48 ExtInst 1(GLSL.std.450) 37(FMin) 1178 1179
-                              Store 1177(r031) 1180
-            1182:          48 Load 51(inF0)
-            1183:          48 Load 52(inF1)
-            1184:          48 ExtInst 1(GLSL.std.450) 26(Pow) 1182 1183
-                              Store 1181(r032) 1184
-            1186:          48 Load 51(inF0)
-            1187:          48 ExtInst 1(GLSL.std.450) 11(Radians) 1186
-                              Store 1185(r033) 1187
-            1189:          48 Load 51(inF0)
-            1190:          48 ExtInst 1(GLSL.std.450) 2(RoundEven) 1189
-                              Store 1188(r034) 1190
+            1154:1153(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1152
+            1155:  342(ivec2) CompositeExtract 1154 1
+                              Store 52(inF1) 1155
+            1156:          48 CompositeExtract 1154 0
+                              Store 1151(r024) 1156
+            1158:          48 Load 51(inF0)
+            1159:          48 Fwidth 1158
+                              Store 1157(r025) 1159
+            1161:          48 Load 51(inF0)
+            1162:          48 Load 52(inF1)
+            1163:          48 ExtInst 1(GLSL.std.450) 53(Ldexp) 1161 1162
+                              Store 1160(r026) 1163
+            1165:          48 Load 51(inF0)
+            1166:          48 Load 52(inF1)
+            1167:          48 Load 53(inF2)
+            1168:          48 ExtInst 1(GLSL.std.450) 46(FMix) 1165 1166 1167
+                              Store 1164(r026a) 1168
+            1170:          48 Load 51(inF0)
+            1171:          48 ExtInst 1(GLSL.std.450) 28(Log) 1170
+                              Store 1169(r027) 1171
+            1173:          48 Load 51(inF0)
+            1174:          48 ExtInst 1(GLSL.std.450) 30(Log2) 1173
+            1175:          48 MatrixTimesScalar 1174 253
+                              Store 1172(r028) 1175
+            1177:          48 Load 51(inF0)
+            1178:          48 ExtInst 1(GLSL.std.450) 30(Log2) 1177
+                              Store 1176(r029) 1178
+            1180:          48 Load 51(inF0)
+            1181:          48 Load 52(inF1)
+            1182:          48 ExtInst 1(GLSL.std.450) 40(FMax) 1180 1181
+                              Store 1179(r030) 1182
+            1184:          48 Load 51(inF0)
+            1185:          48 Load 52(inF1)
+            1186:          48 ExtInst 1(GLSL.std.450) 37(FMin) 1184 1185
+                              Store 1183(r031) 1186
+            1188:          48 Load 51(inF0)
+            1189:          48 Load 52(inF1)
+            1190:          48 ExtInst 1(GLSL.std.450) 26(Pow) 1188 1189
+                              Store 1187(r032) 1190
             1192:          48 Load 51(inF0)
-            1193:          48 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1192
-                              Store 1191(r035) 1193
+            1193:          48 ExtInst 1(GLSL.std.450) 11(Radians) 1192
+                              Store 1191(r033) 1193
             1195:          48 Load 51(inF0)
-            1196:   24(fvec2) CompositeConstruct 165 165
-            1197:   24(fvec2) CompositeConstruct 274 274
-            1198:          48 ExtInst 1(GLSL.std.450) 43(FClamp) 1195 1196 1197
-                              Store 1194(r036) 1198
-            1200:          48 Load 51(inF0)
-            1201:          48 ExtInst 1(GLSL.std.450) 6(FSign) 1200
-                              Store 1199(r037) 1201
-            1203:          48 Load 51(inF0)
-            1204:          48 ExtInst 1(GLSL.std.450) 13(Sin) 1203
-                              Store 1202(r038) 1204
-            1205:          48 Load 51(inF0)
-            1206:          48 ExtInst 1(GLSL.std.450) 13(Sin) 1205
-                              Store 52(inF1) 1206
-            1207:          48 Load 51(inF0)
-            1208:          48 ExtInst 1(GLSL.std.450) 14(Cos) 1207
-                              Store 53(inF2) 1208
-            1210:          48 Load 51(inF0)
-            1211:          48 ExtInst 1(GLSL.std.450) 19(Sinh) 1210
-                              Store 1209(r039) 1211
+            1196:          48 ExtInst 1(GLSL.std.450) 2(RoundEven) 1195
+                              Store 1194(r034) 1196
+            1198:          48 Load 51(inF0)
+            1199:          48 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1198
+                              Store 1197(r035) 1199
+            1201:          48 Load 51(inF0)
+            1202:   24(fvec2) CompositeConstruct 165 165
+            1203:   24(fvec2) CompositeConstruct 274 274
+            1204:          48 ExtInst 1(GLSL.std.450) 43(FClamp) 1201 1202 1203
+                              Store 1200(r036) 1204
+            1206:          48 Load 51(inF0)
+            1207:          48 ExtInst 1(GLSL.std.450) 6(FSign) 1206
+                              Store 1205(r037) 1207
+            1209:          48 Load 51(inF0)
+            1210:          48 ExtInst 1(GLSL.std.450) 13(Sin) 1209
+                              Store 1208(r038) 1210
+            1211:          48 Load 51(inF0)
+            1212:          48 ExtInst 1(GLSL.std.450) 13(Sin) 1211
+                              Store 52(inF1) 1212
             1213:          48 Load 51(inF0)
-            1214:          48 Load 52(inF1)
-            1215:          48 Load 53(inF2)
-            1216:          48 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1213 1214 1215
-                              Store 1212(r049) 1216
-            1218:          48 Load 51(inF0)
-            1219:          48 ExtInst 1(GLSL.std.450) 31(Sqrt) 1218
-                              Store 1217(r041) 1219
-            1221:          48 Load 51(inF0)
-            1222:          48 Load 52(inF1)
-            1223:          48 ExtInst 1(GLSL.std.450) 48(Step) 1221 1222
-                              Store 1220(r042) 1223
-            1225:          48 Load 51(inF0)
-            1226:          48 ExtInst 1(GLSL.std.450) 15(Tan) 1225
-                              Store 1224(r043) 1226
-            1228:          48 Load 51(inF0)
-            1229:          48 ExtInst 1(GLSL.std.450) 21(Tanh) 1228
-                              Store 1227(r044) 1229
-            1230:          48 Load 51(inF0)
-            1231:          48 Transpose 1230
-            1233:          48 Load 51(inF0)
-            1234:          48 ExtInst 1(GLSL.std.450) 3(Trunc) 1233
-                              Store 1232(r046) 1234
-                              ReturnValue 1236
+            1214:          48 ExtInst 1(GLSL.std.450) 14(Cos) 1213
+                              Store 53(inF2) 1214
+            1216:          48 Load 51(inF0)
+            1217:          48 ExtInst 1(GLSL.std.450) 19(Sinh) 1216
+                              Store 1215(r039) 1217
+            1219:          48 Load 51(inF0)
+            1220:          48 Load 52(inF1)
+            1221:          48 Load 53(inF2)
+            1222:          48 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1219 1220 1221
+                              Store 1218(r049) 1222
+            1224:          48 Load 51(inF0)
+            1225:          48 ExtInst 1(GLSL.std.450) 31(Sqrt) 1224
+                              Store 1223(r041) 1225
+            1227:          48 Load 51(inF0)
+            1228:          48 Load 52(inF1)
+            1229:          48 ExtInst 1(GLSL.std.450) 48(Step) 1227 1228
+                              Store 1226(r042) 1229
+            1231:          48 Load 51(inF0)
+            1232:          48 ExtInst 1(GLSL.std.450) 15(Tan) 1231
+                              Store 1230(r043) 1232
+            1234:          48 Load 51(inF0)
+            1235:          48 ExtInst 1(GLSL.std.450) 21(Tanh) 1234
+                              Store 1233(r044) 1235
+            1236:          48 Load 51(inF0)
+            1237:          48 Transpose 1236
+            1239:          48 Load 51(inF0)
+            1240:          48 ExtInst 1(GLSL.std.450) 3(Trunc) 1239
+                              Store 1238(r046) 1240
+                              ReturnValue 1242
                               FunctionEnd
 62(PixelShaderFunction3x3(mf33;mf33;mf33;):          56 Function None 58
         59(inF0):     57(ptr) FunctionParameter
         60(inF1):     57(ptr) FunctionParameter
         61(inF2):     57(ptr) FunctionParameter
               63:             Label
-      1239(r000):    122(ptr) Variable Function
-      1242(r001):     57(ptr) Variable Function
-      1247(r003):    122(ptr) Variable Function
-      1250(r004):     57(ptr) Variable Function
-      1253(r005):     57(ptr) Variable Function
-      1256(r006):     57(ptr) Variable Function
-      1260(r007):     57(ptr) Variable Function
-      1271(r008):     57(ptr) Variable Function
-      1276(r009):     57(ptr) Variable Function
-      1279(r010):     57(ptr) Variable Function
-      1282(r011):     57(ptr) Variable Function
-      1285(r012):     57(ptr) Variable Function
-      1288(r013):     57(ptr) Variable Function
-      1291(r014):     57(ptr) Variable Function
-      1294(r015):     57(ptr) Variable Function
-      1297(r016):     57(ptr) Variable Function
-      1300(r017):     57(ptr) Variable Function
-      1303(r018):      7(ptr) Variable Function
-      1306(r019):     57(ptr) Variable Function
-      1309(R020):     57(ptr) Variable Function
-      1312(r021):     57(ptr) Variable Function
-      1315(r022):     57(ptr) Variable Function
-      1328(r023):     57(ptr) Variable Function
-      1331(r024):     57(ptr) Variable Function
-      1337(r025):     57(ptr) Variable Function
-      1340(r026):     57(ptr) Variable Function
-     1344(r026a):     57(ptr) Variable Function
-      1349(r027):     57(ptr) Variable Function
-      1352(r028):     57(ptr) Variable Function
-      1356(r029):     57(ptr) Variable Function
-      1359(r030):     57(ptr) Variable Function
-      1363(r031):     57(ptr) Variable Function
-      1367(r032):     57(ptr) Variable Function
-      1371(r033):     57(ptr) Variable Function
-      1374(r034):     57(ptr) Variable Function
-      1377(r035):     57(ptr) Variable Function
-      1380(r036):     57(ptr) Variable Function
-      1385(r037):     57(ptr) Variable Function
-      1388(r038):     57(ptr) Variable Function
-      1395(r039):     57(ptr) Variable Function
-      1398(r049):     57(ptr) Variable Function
-      1403(r041):     57(ptr) Variable Function
-      1406(r042):     57(ptr) Variable Function
-      1410(r043):     57(ptr) Variable Function
-      1413(r044):     57(ptr) Variable Function
-      1418(r046):     57(ptr) Variable Function
-            1240:          56 Load 59(inF0)
-            1241:   121(bool) All 1240
-                              Store 1239(r000) 1241
-            1243:          56 Load 59(inF0)
-            1244:          56 ExtInst 1(GLSL.std.450) 4(FAbs) 1243
-                              Store 1242(r001) 1244
-            1245:          56 Load 59(inF0)
-            1246:          56 ExtInst 1(GLSL.std.450) 17(Acos) 1245
-            1248:          56 Load 59(inF0)
-            1249:   121(bool) Any 1248
-                              Store 1247(r003) 1249
+      1245(r000):    122(ptr) Variable Function
+      1248(r001):     57(ptr) Variable Function
+      1253(r003):    122(ptr) Variable Function
+      1256(r004):     57(ptr) Variable Function
+      1259(r005):     57(ptr) Variable Function
+      1262(r006):     57(ptr) Variable Function
+      1266(r007):     57(ptr) Variable Function
+      1277(r008):     57(ptr) Variable Function
+      1282(r009):     57(ptr) Variable Function
+      1285(r010):     57(ptr) Variable Function
+      1288(r011):     57(ptr) Variable Function
+      1291(r012):     57(ptr) Variable Function
+      1294(r013):     57(ptr) Variable Function
+      1297(r014):     57(ptr) Variable Function
+      1300(r015):     57(ptr) Variable Function
+      1303(r016):     57(ptr) Variable Function
+      1306(r017):     57(ptr) Variable Function
+      1309(r018):      7(ptr) Variable Function
+      1312(r019):     57(ptr) Variable Function
+      1315(R020):     57(ptr) Variable Function
+      1318(r021):     57(ptr) Variable Function
+      1321(r022):     57(ptr) Variable Function
+      1334(r023):     57(ptr) Variable Function
+      1337(r024):     57(ptr) Variable Function
+      1343(r025):     57(ptr) Variable Function
+      1346(r026):     57(ptr) Variable Function
+     1350(r026a):     57(ptr) Variable Function
+      1355(r027):     57(ptr) Variable Function
+      1358(r028):     57(ptr) Variable Function
+      1362(r029):     57(ptr) Variable Function
+      1365(r030):     57(ptr) Variable Function
+      1369(r031):     57(ptr) Variable Function
+      1373(r032):     57(ptr) Variable Function
+      1377(r033):     57(ptr) Variable Function
+      1380(r034):     57(ptr) Variable Function
+      1383(r035):     57(ptr) Variable Function
+      1386(r036):     57(ptr) Variable Function
+      1391(r037):     57(ptr) Variable Function
+      1394(r038):     57(ptr) Variable Function
+      1401(r039):     57(ptr) Variable Function
+      1404(r049):     57(ptr) Variable Function
+      1409(r041):     57(ptr) Variable Function
+      1412(r042):     57(ptr) Variable Function
+      1416(r043):     57(ptr) Variable Function
+      1419(r044):     57(ptr) Variable Function
+      1424(r046):     57(ptr) Variable Function
+            1246:          56 Load 59(inF0)
+            1247:   121(bool) All 1246
+                              Store 1245(r000) 1247
+            1249:          56 Load 59(inF0)
+            1250:          56 ExtInst 1(GLSL.std.450) 4(FAbs) 1249
+                              Store 1248(r001) 1250
             1251:          56 Load 59(inF0)
-            1252:          56 ExtInst 1(GLSL.std.450) 16(Asin) 1251
-                              Store 1250(r004) 1252
+            1252:          56 ExtInst 1(GLSL.std.450) 17(Acos) 1251
             1254:          56 Load 59(inF0)
-            1255:          56 ExtInst 1(GLSL.std.450) 18(Atan) 1254
-                              Store 1253(r005) 1255
+            1255:   121(bool) Any 1254
+                              Store 1253(r003) 1255
             1257:          56 Load 59(inF0)
-            1258:          56 Load 60(inF1)
-            1259:          56 ExtInst 1(GLSL.std.450) 25(Atan2) 1257 1258
-                              Store 1256(r006) 1259
-            1261:          56 Load 59(inF0)
-            1262:          56 ExtInst 1(GLSL.std.450) 9(Ceil) 1261
-                              Store 1260(r007) 1262
+            1258:          56 ExtInst 1(GLSL.std.450) 16(Asin) 1257
+                              Store 1256(r004) 1258
+            1260:          56 Load 59(inF0)
+            1261:          56 ExtInst 1(GLSL.std.450) 18(Atan) 1260
+                              Store 1259(r005) 1261
             1263:          56 Load 59(inF0)
-            1266:        1265 FOrdLessThan 1263 1264
-            1267:   121(bool) Any 1266
-                              SelectionMerge 1269 None
-                              BranchConditional 1267 1268 1269
-            1268:               Label
+            1264:          56 Load 60(inF1)
+            1265:          56 ExtInst 1(GLSL.std.450) 25(Atan2) 1263 1264
+                              Store 1262(r006) 1265
+            1267:          56 Load 59(inF0)
+            1268:          56 ExtInst 1(GLSL.std.450) 9(Ceil) 1267
+                              Store 1266(r007) 1268
+            1269:          56 Load 59(inF0)
+            1272:        1271 FOrdLessThan 1269 1270
+            1273:   121(bool) Any 1272
+                              SelectionMerge 1275 None
+                              BranchConditional 1273 1274 1275
+            1274:               Label
                                 Kill
-            1269:             Label
-            1272:          56 Load 59(inF0)
-            1273:          56 Load 60(inF1)
-            1274:          56 Load 61(inF2)
-            1275:          56 ExtInst 1(GLSL.std.450) 43(FClamp) 1272 1273 1274
-                              Store 1271(r008) 1275
-            1277:          56 Load 59(inF0)
-            1278:          56 ExtInst 1(GLSL.std.450) 14(Cos) 1277
-                              Store 1276(r009) 1278
-            1280:          56 Load 59(inF0)
-            1281:          56 ExtInst 1(GLSL.std.450) 20(Cosh) 1280
-                              Store 1279(r010) 1281
+            1275:             Label
+            1278:          56 Load 59(inF0)
+            1279:          56 Load 60(inF1)
+            1280:          56 Load 61(inF2)
+            1281:          56 ExtInst 1(GLSL.std.450) 43(FClamp) 1278 1279 1280
+                              Store 1277(r008) 1281
             1283:          56 Load 59(inF0)
-            1284:          56 DPdx 1283
-                              Store 1282(r011) 1284
+            1284:          56 ExtInst 1(GLSL.std.450) 14(Cos) 1283
+                              Store 1282(r009) 1284
             1286:          56 Load 59(inF0)
-            1287:          56 DPdxCoarse 1286
-                              Store 1285(r012) 1287
+            1287:          56 ExtInst 1(GLSL.std.450) 20(Cosh) 1286
+                              Store 1285(r010) 1287
             1289:          56 Load 59(inF0)
-            1290:          56 DPdxFine 1289
-                              Store 1288(r013) 1290
+            1290:          56 DPdx 1289
+                              Store 1288(r011) 1290
             1292:          56 Load 59(inF0)
-            1293:          56 DPdy 1292
-                              Store 1291(r014) 1293
+            1293:          56 DPdxCoarse 1292
+                              Store 1291(r012) 1293
             1295:          56 Load 59(inF0)
-            1296:          56 DPdyCoarse 1295
-                              Store 1294(r015) 1296
+            1296:          56 DPdxFine 1295
+                              Store 1294(r013) 1296
             1298:          56 Load 59(inF0)
-            1299:          56 DPdyFine 1298
-                              Store 1297(r016) 1299
+            1299:          56 DPdy 1298
+                              Store 1297(r014) 1299
             1301:          56 Load 59(inF0)
-            1302:          56 ExtInst 1(GLSL.std.450) 12(Degrees) 1301
-                              Store 1300(r017) 1302
+            1302:          56 DPdyCoarse 1301
+                              Store 1300(r015) 1302
             1304:          56 Load 59(inF0)
-            1305:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1304
-                              Store 1303(r018) 1305
+            1305:          56 DPdyFine 1304
+                              Store 1303(r016) 1305
             1307:          56 Load 59(inF0)
-            1308:          56 ExtInst 1(GLSL.std.450) 27(Exp) 1307
-                              Store 1306(r019) 1308
+            1308:          56 ExtInst 1(GLSL.std.450) 12(Degrees) 1307
+                              Store 1306(r017) 1308
             1310:          56 Load 59(inF0)
-            1311:          56 ExtInst 1(GLSL.std.450) 29(Exp2) 1310
-                              Store 1309(R020) 1311
+            1311:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1310
+                              Store 1309(r018) 1311
             1313:          56 Load 59(inF0)
-            1314:          56 ExtInst 1(GLSL.std.450) 8(Floor) 1313
-                              Store 1312(r021) 1314
+            1314:          56 ExtInst 1(GLSL.std.450) 27(Exp) 1313
+                              Store 1312(r019) 1314
             1316:          56 Load 59(inF0)
-            1317:          56 Load 60(inF1)
-            1318:   36(fvec3) CompositeExtract 1316 0
-            1319:   36(fvec3) CompositeExtract 1317 0
-            1320:   36(fvec3) FMod 1318 1319
-            1321:   36(fvec3) CompositeExtract 1316 1
-            1322:   36(fvec3) CompositeExtract 1317 1
-            1323:   36(fvec3) FMod 1321 1322
-            1324:   36(fvec3) CompositeExtract 1316 2
-            1325:   36(fvec3) CompositeExtract 1317 2
+            1317:          56 ExtInst 1(GLSL.std.450) 29(Exp2) 1316
+                              Store 1315(R020) 1317
+            1319:          56 Load 59(inF0)
+            1320:          56 ExtInst 1(GLSL.std.450) 8(Floor) 1319
+                              Store 1318(r021) 1320
+            1322:          56 Load 59(inF0)
+            1323:          56 Load 60(inF1)
+            1324:   36(fvec3) CompositeExtract 1322 0
+            1325:   36(fvec3) CompositeExtract 1323 0
             1326:   36(fvec3) FMod 1324 1325
-            1327:          56 CompositeConstruct 1320 1323 1326
-                              Store 1315(r022) 1327
-            1329:          56 Load 59(inF0)
-            1330:          56 ExtInst 1(GLSL.std.450) 10(Fract) 1329
-                              Store 1328(r023) 1330
-            1332:          56 Load 59(inF0)
-            1334:1333(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1332
-            1335:  578(ivec3) CompositeExtract 1334 1
-                              Store 60(inF1) 1335
-            1336:          56 CompositeExtract 1334 0
-                              Store 1331(r024) 1336
+            1327:   36(fvec3) CompositeExtract 1322 1
+            1328:   36(fvec3) CompositeExtract 1323 1
+            1329:   36(fvec3) FMod 1327 1328
+            1330:   36(fvec3) CompositeExtract 1322 2
+            1331:   36(fvec3) CompositeExtract 1323 2
+            1332:   36(fvec3) FMod 1330 1331
+            1333:          56 CompositeConstruct 1326 1329 1332
+                              Store 1321(r022) 1333
+            1335:          56 Load 59(inF0)
+            1336:          56 ExtInst 1(GLSL.std.450) 10(Fract) 1335
+                              Store 1334(r023) 1336
             1338:          56 Load 59(inF0)
-            1339:          56 Fwidth 1338
-                              Store 1337(r025) 1339
-            1341:          56 Load 59(inF0)
-            1342:          56 Load 60(inF1)
-            1343:          56 ExtInst 1(GLSL.std.450) 53(Ldexp) 1341 1342
-                              Store 1340(r026) 1343
-            1345:          56 Load 59(inF0)
-            1346:          56 Load 60(inF1)
-            1347:          56 Load 61(inF2)
-            1348:          56 ExtInst 1(GLSL.std.450) 46(FMix) 1345 1346 1347
-                              Store 1344(r026a) 1348
-            1350:          56 Load 59(inF0)
-            1351:          56 ExtInst 1(GLSL.std.450) 28(Log) 1350
-                              Store 1349(r027) 1351
-            1353:          56 Load 59(inF0)
-            1354:          56 ExtInst 1(GLSL.std.450) 30(Log2) 1353
-            1355:          56 MatrixTimesScalar 1354 253
-                              Store 1352(r028) 1355
-            1357:          56 Load 59(inF0)
-            1358:          56 ExtInst 1(GLSL.std.450) 30(Log2) 1357
-                              Store 1356(r029) 1358
-            1360:          56 Load 59(inF0)
-            1361:          56 Load 60(inF1)
-            1362:          56 ExtInst 1(GLSL.std.450) 40(FMax) 1360 1361
-                              Store 1359(r030) 1362
-            1364:          56 Load 59(inF0)
-            1365:          56 Load 60(inF1)
-            1366:          56 ExtInst 1(GLSL.std.450) 37(FMin) 1364 1365
-                              Store 1363(r031) 1366
-            1368:          56 Load 59(inF0)
-            1369:          56 Load 60(inF1)
-            1370:          56 ExtInst 1(GLSL.std.450) 26(Pow) 1368 1369
-                              Store 1367(r032) 1370
-            1372:          56 Load 59(inF0)
-            1373:          56 ExtInst 1(GLSL.std.450) 11(Radians) 1372
-                              Store 1371(r033) 1373
-            1375:          56 Load 59(inF0)
-            1376:          56 ExtInst 1(GLSL.std.450) 2(RoundEven) 1375
-                              Store 1374(r034) 1376
+            1340:1339(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1338
+            1341:  578(ivec3) CompositeExtract 1340 1
+                              Store 60(inF1) 1341
+            1342:          56 CompositeExtract 1340 0
+                              Store 1337(r024) 1342
+            1344:          56 Load 59(inF0)
+            1345:          56 Fwidth 1344
+                              Store 1343(r025) 1345
+            1347:          56 Load 59(inF0)
+            1348:          56 Load 60(inF1)
+            1349:          56 ExtInst 1(GLSL.std.450) 53(Ldexp) 1347 1348
+                              Store 1346(r026) 1349
+            1351:          56 Load 59(inF0)
+            1352:          56 Load 60(inF1)
+            1353:          56 Load 61(inF2)
+            1354:          56 ExtInst 1(GLSL.std.450) 46(FMix) 1351 1352 1353
+                              Store 1350(r026a) 1354
+            1356:          56 Load 59(inF0)
+            1357:          56 ExtInst 1(GLSL.std.450) 28(Log) 1356
+                              Store 1355(r027) 1357
+            1359:          56 Load 59(inF0)
+            1360:          56 ExtInst 1(GLSL.std.450) 30(Log2) 1359
+            1361:          56 MatrixTimesScalar 1360 253
+                              Store 1358(r028) 1361
+            1363:          56 Load 59(inF0)
+            1364:          56 ExtInst 1(GLSL.std.450) 30(Log2) 1363
+                              Store 1362(r029) 1364
+            1366:          56 Load 59(inF0)
+            1367:          56 Load 60(inF1)
+            1368:          56 ExtInst 1(GLSL.std.450) 40(FMax) 1366 1367
+                              Store 1365(r030) 1368
+            1370:          56 Load 59(inF0)
+            1371:          56 Load 60(inF1)
+            1372:          56 ExtInst 1(GLSL.std.450) 37(FMin) 1370 1371
+                              Store 1369(r031) 1372
+            1374:          56 Load 59(inF0)
+            1375:          56 Load 60(inF1)
+            1376:          56 ExtInst 1(GLSL.std.450) 26(Pow) 1374 1375
+                              Store 1373(r032) 1376
             1378:          56 Load 59(inF0)
-            1379:          56 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1378
-                              Store 1377(r035) 1379
+            1379:          56 ExtInst 1(GLSL.std.450) 11(Radians) 1378
+                              Store 1377(r033) 1379
             1381:          56 Load 59(inF0)
-            1382:   36(fvec3) CompositeConstruct 165 165 165
-            1383:   36(fvec3) CompositeConstruct 274 274 274
-            1384:          56 ExtInst 1(GLSL.std.450) 43(FClamp) 1381 1382 1383
-                              Store 1380(r036) 1384
-            1386:          56 Load 59(inF0)
-            1387:          56 ExtInst 1(GLSL.std.450) 6(FSign) 1386
-                              Store 1385(r037) 1387
-            1389:          56 Load 59(inF0)
-            1390:          56 ExtInst 1(GLSL.std.450) 13(Sin) 1389
-                              Store 1388(r038) 1390
-            1391:          56 Load 59(inF0)
-            1392:          56 ExtInst 1(GLSL.std.450) 13(Sin) 1391
-                              Store 60(inF1) 1392
-            1393:          56 Load 59(inF0)
-            1394:          56 ExtInst 1(GLSL.std.450) 14(Cos) 1393
-                              Store 61(inF2) 1394
-            1396:          56 Load 59(inF0)
-            1397:          56 ExtInst 1(GLSL.std.450) 19(Sinh) 1396
-                              Store 1395(r039) 1397
+            1382:          56 ExtInst 1(GLSL.std.450) 2(RoundEven) 1381
+                              Store 1380(r034) 1382
+            1384:          56 Load 59(inF0)
+            1385:          56 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1384
+                              Store 1383(r035) 1385
+            1387:          56 Load 59(inF0)
+            1388:   36(fvec3) CompositeConstruct 165 165 165
+            1389:   36(fvec3) CompositeConstruct 274 274 274
+            1390:          56 ExtInst 1(GLSL.std.450) 43(FClamp) 1387 1388 1389
+                              Store 1386(r036) 1390
+            1392:          56 Load 59(inF0)
+            1393:          56 ExtInst 1(GLSL.std.450) 6(FSign) 1392
+                              Store 1391(r037) 1393
+            1395:          56 Load 59(inF0)
+            1396:          56 ExtInst 1(GLSL.std.450) 13(Sin) 1395
+                              Store 1394(r038) 1396
+            1397:          56 Load 59(inF0)
+            1398:          56 ExtInst 1(GLSL.std.450) 13(Sin) 1397
+                              Store 60(inF1) 1398
             1399:          56 Load 59(inF0)
-            1400:          56 Load 60(inF1)
-            1401:          56 Load 61(inF2)
-            1402:          56 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1399 1400 1401
-                              Store 1398(r049) 1402
-            1404:          56 Load 59(inF0)
-            1405:          56 ExtInst 1(GLSL.std.450) 31(Sqrt) 1404
-                              Store 1403(r041) 1405
-            1407:          56 Load 59(inF0)
-            1408:          56 Load 60(inF1)
-            1409:          56 ExtInst 1(GLSL.std.450) 48(Step) 1407 1408
-                              Store 1406(r042) 1409
-            1411:          56 Load 59(inF0)
-            1412:          56 ExtInst 1(GLSL.std.450) 15(Tan) 1411
-                              Store 1410(r043) 1412
-            1414:          56 Load 59(inF0)
-            1415:          56 ExtInst 1(GLSL.std.450) 21(Tanh) 1414
-                              Store 1413(r044) 1415
-            1416:          56 Load 59(inF0)
-            1417:          56 Transpose 1416
-            1419:          56 Load 59(inF0)
-            1420:          56 ExtInst 1(GLSL.std.450) 3(Trunc) 1419
-                              Store 1418(r046) 1420
-                              ReturnValue 1422
+            1400:          56 ExtInst 1(GLSL.std.450) 14(Cos) 1399
+                              Store 61(inF2) 1400
+            1402:          56 Load 59(inF0)
+            1403:          56 ExtInst 1(GLSL.std.450) 19(Sinh) 1402
+                              Store 1401(r039) 1403
+            1405:          56 Load 59(inF0)
+            1406:          56 Load 60(inF1)
+            1407:          56 Load 61(inF2)
+            1408:          56 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1405 1406 1407
+                              Store 1404(r049) 1408
+            1410:          56 Load 59(inF0)
+            1411:          56 ExtInst 1(GLSL.std.450) 31(Sqrt) 1410
+                              Store 1409(r041) 1411
+            1413:          56 Load 59(inF0)
+            1414:          56 Load 60(inF1)
+            1415:          56 ExtInst 1(GLSL.std.450) 48(Step) 1413 1414
+                              Store 1412(r042) 1415
+            1417:          56 Load 59(inF0)
+            1418:          56 ExtInst 1(GLSL.std.450) 15(Tan) 1417
+                              Store 1416(r043) 1418
+            1420:          56 Load 59(inF0)
+            1421:          56 ExtInst 1(GLSL.std.450) 21(Tanh) 1420
+                              Store 1419(r044) 1421
+            1422:          56 Load 59(inF0)
+            1423:          56 Transpose 1422
+            1425:          56 Load 59(inF0)
+            1426:          56 ExtInst 1(GLSL.std.450) 3(Trunc) 1425
+                              Store 1424(r046) 1426
+                              ReturnValue 1428
                               FunctionEnd
 71(PixelShaderFunction4x4(mf44;mf44;mf44;):          65 Function None 67
         68(inF0):     66(ptr) FunctionParameter
         69(inF1):     66(ptr) FunctionParameter
         70(inF2):     66(ptr) FunctionParameter
               72:             Label
-      1425(r000):    122(ptr) Variable Function
-      1428(r001):     66(ptr) Variable Function
-      1433(r003):    122(ptr) Variable Function
-      1436(r004):     66(ptr) Variable Function
-      1439(r005):     66(ptr) Variable Function
-      1442(r006):     66(ptr) Variable Function
-      1446(r007):     66(ptr) Variable Function
-      1457(r008):     66(ptr) Variable Function
-      1462(r009):     66(ptr) Variable Function
-      1465(r010):     66(ptr) Variable Function
-      1468(r011):     66(ptr) Variable Function
-      1471(r012):     66(ptr) Variable Function
-      1474(r013):     66(ptr) Variable Function
-      1477(r014):     66(ptr) Variable Function
-      1480(r015):     66(ptr) Variable Function
-      1483(r016):     66(ptr) Variable Function
-      1486(r017):     66(ptr) Variable Function
-      1489(r018):      7(ptr) Variable Function
-      1492(r019):     66(ptr) Variable Function
-      1495(R020):     66(ptr) Variable Function
-      1498(r021):     66(ptr) Variable Function
-      1501(r022):     66(ptr) Variable Function
-      1517(r023):     66(ptr) Variable Function
-      1520(r024):     66(ptr) Variable Function
-      1526(r025):     66(ptr) Variable Function
-      1529(r026):     66(ptr) Variable Function
-     1533(r026a):     66(ptr) Variable Function
-      1538(r027):     66(ptr) Variable Function
-      1541(r028):     66(ptr) Variable Function
-      1545(r029):     66(ptr) Variable Function
-      1548(r030):     66(ptr) Variable Function
-      1552(r031):     66(ptr) Variable Function
-      1556(r032):     66(ptr) Variable Function
-      1560(r033):     66(ptr) Variable Function
-      1563(r034):     66(ptr) Variable Function
-      1566(r035):     66(ptr) Variable Function
-      1569(r036):     66(ptr) Variable Function
-      1574(r037):     66(ptr) Variable Function
-      1577(r038):     66(ptr) Variable Function
-      1584(r039):     66(ptr) Variable Function
-      1587(r049):     66(ptr) Variable Function
-      1592(r041):     66(ptr) Variable Function
-      1595(r042):     66(ptr) Variable Function
-      1599(r043):     66(ptr) Variable Function
-      1602(r044):     66(ptr) Variable Function
-      1607(r046):     66(ptr) Variable Function
-            1426:          65 Load 68(inF0)
-            1427:   121(bool) All 1426
-                              Store 1425(r000) 1427
-            1429:          65 Load 68(inF0)
-            1430:          65 ExtInst 1(GLSL.std.450) 4(FAbs) 1429
-                              Store 1428(r001) 1430
-            1431:          65 Load 68(inF0)
-            1432:          65 ExtInst 1(GLSL.std.450) 17(Acos) 1431
-            1434:          65 Load 68(inF0)
-            1435:   121(bool) Any 1434
-                              Store 1433(r003) 1435
+      1431(r000):    122(ptr) Variable Function
+      1434(r001):     66(ptr) Variable Function
+      1439(r003):    122(ptr) Variable Function
+      1442(r004):     66(ptr) Variable Function
+      1445(r005):     66(ptr) Variable Function
+      1448(r006):     66(ptr) Variable Function
+      1452(r007):     66(ptr) Variable Function
+      1463(r008):     66(ptr) Variable Function
+      1468(r009):     66(ptr) Variable Function
+      1471(r010):     66(ptr) Variable Function
+      1474(r011):     66(ptr) Variable Function
+      1477(r012):     66(ptr) Variable Function
+      1480(r013):     66(ptr) Variable Function
+      1483(r014):     66(ptr) Variable Function
+      1486(r015):     66(ptr) Variable Function
+      1489(r016):     66(ptr) Variable Function
+      1492(r017):     66(ptr) Variable Function
+      1495(r018):      7(ptr) Variable Function
+      1498(r019):     66(ptr) Variable Function
+      1501(R020):     66(ptr) Variable Function
+      1504(r021):     66(ptr) Variable Function
+      1507(r022):     66(ptr) Variable Function
+      1523(r023):     66(ptr) Variable Function
+      1526(r024):     66(ptr) Variable Function
+      1532(r025):     66(ptr) Variable Function
+      1535(r026):     66(ptr) Variable Function
+     1539(r026a):     66(ptr) Variable Function
+      1544(r027):     66(ptr) Variable Function
+      1547(r028):     66(ptr) Variable Function
+      1551(r029):     66(ptr) Variable Function
+      1554(r030):     66(ptr) Variable Function
+      1558(r031):     66(ptr) Variable Function
+      1562(r032):     66(ptr) Variable Function
+      1566(r033):     66(ptr) Variable Function
+      1569(r034):     66(ptr) Variable Function
+      1572(r035):     66(ptr) Variable Function
+      1575(r036):     66(ptr) Variable Function
+      1580(r037):     66(ptr) Variable Function
+      1583(r038):     66(ptr) Variable Function
+      1590(r039):     66(ptr) Variable Function
+      1593(r049):     66(ptr) Variable Function
+      1598(r041):     66(ptr) Variable Function
+      1601(r042):     66(ptr) Variable Function
+      1605(r043):     66(ptr) Variable Function
+      1608(r044):     66(ptr) Variable Function
+      1613(r046):     66(ptr) Variable Function
+            1432:          65 Load 68(inF0)
+            1433:   121(bool) All 1432
+                              Store 1431(r000) 1433
+            1435:          65 Load 68(inF0)
+            1436:          65 ExtInst 1(GLSL.std.450) 4(FAbs) 1435
+                              Store 1434(r001) 1436
             1437:          65 Load 68(inF0)
-            1438:          65 ExtInst 1(GLSL.std.450) 16(Asin) 1437
-                              Store 1436(r004) 1438
+            1438:          65 ExtInst 1(GLSL.std.450) 17(Acos) 1437
             1440:          65 Load 68(inF0)
-            1441:          65 ExtInst 1(GLSL.std.450) 18(Atan) 1440
-                              Store 1439(r005) 1441
+            1441:   121(bool) Any 1440
+                              Store 1439(r003) 1441
             1443:          65 Load 68(inF0)
-            1444:          65 Load 69(inF1)
-            1445:          65 ExtInst 1(GLSL.std.450) 25(Atan2) 1443 1444
-                              Store 1442(r006) 1445
-            1447:          65 Load 68(inF0)
-            1448:          65 ExtInst 1(GLSL.std.450) 9(Ceil) 1447
-                              Store 1446(r007) 1448
+            1444:          65 ExtInst 1(GLSL.std.450) 16(Asin) 1443
+                              Store 1442(r004) 1444
+            1446:          65 Load 68(inF0)
+            1447:          65 ExtInst 1(GLSL.std.450) 18(Atan) 1446
+                              Store 1445(r005) 1447
             1449:          65 Load 68(inF0)
-            1452:        1451 FOrdLessThan 1449 1450
-            1453:   121(bool) Any 1452
-                              SelectionMerge 1455 None
-                              BranchConditional 1453 1454 1455
-            1454:               Label
+            1450:          65 Load 69(inF1)
+            1451:          65 ExtInst 1(GLSL.std.450) 25(Atan2) 1449 1450
+                              Store 1448(r006) 1451
+            1453:          65 Load 68(inF0)
+            1454:          65 ExtInst 1(GLSL.std.450) 9(Ceil) 1453
+                              Store 1452(r007) 1454
+            1455:          65 Load 68(inF0)
+            1458:        1457 FOrdLessThan 1455 1456
+            1459:   121(bool) Any 1458
+                              SelectionMerge 1461 None
+                              BranchConditional 1459 1460 1461
+            1460:               Label
                                 Kill
-            1455:             Label
-            1458:          65 Load 68(inF0)
-            1459:          65 Load 69(inF1)
-            1460:          65 Load 70(inF2)
-            1461:          65 ExtInst 1(GLSL.std.450) 43(FClamp) 1458 1459 1460
-                              Store 1457(r008) 1461
-            1463:          65 Load 68(inF0)
-            1464:          65 ExtInst 1(GLSL.std.450) 14(Cos) 1463
-                              Store 1462(r009) 1464
-            1466:          65 Load 68(inF0)
-            1467:          65 ExtInst 1(GLSL.std.450) 20(Cosh) 1466
-                              Store 1465(r010) 1467
+            1461:             Label
+            1464:          65 Load 68(inF0)
+            1465:          65 Load 69(inF1)
+            1466:          65 Load 70(inF2)
+            1467:          65 ExtInst 1(GLSL.std.450) 43(FClamp) 1464 1465 1466
+                              Store 1463(r008) 1467
             1469:          65 Load 68(inF0)
-            1470:          65 DPdx 1469
-                              Store 1468(r011) 1470
+            1470:          65 ExtInst 1(GLSL.std.450) 14(Cos) 1469
+                              Store 1468(r009) 1470
             1472:          65 Load 68(inF0)
-            1473:          65 DPdxCoarse 1472
-                              Store 1471(r012) 1473
+            1473:          65 ExtInst 1(GLSL.std.450) 20(Cosh) 1472
+                              Store 1471(r010) 1473
             1475:          65 Load 68(inF0)
-            1476:          65 DPdxFine 1475
-                              Store 1474(r013) 1476
+            1476:          65 DPdx 1475
+                              Store 1474(r011) 1476
             1478:          65 Load 68(inF0)
-            1479:          65 DPdy 1478
-                              Store 1477(r014) 1479
+            1479:          65 DPdxCoarse 1478
+                              Store 1477(r012) 1479
             1481:          65 Load 68(inF0)
-            1482:          65 DPdyCoarse 1481
-                              Store 1480(r015) 1482
+            1482:          65 DPdxFine 1481
+                              Store 1480(r013) 1482
             1484:          65 Load 68(inF0)
-            1485:          65 DPdyFine 1484
-                              Store 1483(r016) 1485
+            1485:          65 DPdy 1484
+                              Store 1483(r014) 1485
             1487:          65 Load 68(inF0)
-            1488:          65 ExtInst 1(GLSL.std.450) 12(Degrees) 1487
-                              Store 1486(r017) 1488
+            1488:          65 DPdyCoarse 1487
+                              Store 1486(r015) 1488
             1490:          65 Load 68(inF0)
-            1491:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1490
-                              Store 1489(r018) 1491
+            1491:          65 DPdyFine 1490
+                              Store 1489(r016) 1491
             1493:          65 Load 68(inF0)
-            1494:          65 ExtInst 1(GLSL.std.450) 27(Exp) 1493
-                              Store 1492(r019) 1494
+            1494:          65 ExtInst 1(GLSL.std.450) 12(Degrees) 1493
+                              Store 1492(r017) 1494
             1496:          65 Load 68(inF0)
-            1497:          65 ExtInst 1(GLSL.std.450) 29(Exp2) 1496
-                              Store 1495(R020) 1497
+            1497:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1496
+                              Store 1495(r018) 1497
             1499:          65 Load 68(inF0)
-            1500:          65 ExtInst 1(GLSL.std.450) 8(Floor) 1499
-                              Store 1498(r021) 1500
+            1500:          65 ExtInst 1(GLSL.std.450) 27(Exp) 1499
+                              Store 1498(r019) 1500
             1502:          65 Load 68(inF0)
-            1503:          65 Load 69(inF1)
-            1504:   64(fvec4) CompositeExtract 1502 0
-            1505:   64(fvec4) CompositeExtract 1503 0
-            1506:   64(fvec4) FMod 1504 1505
-            1507:   64(fvec4) CompositeExtract 1502 1
-            1508:   64(fvec4) CompositeExtract 1503 1
-            1509:   64(fvec4) FMod 1507 1508
-            1510:   64(fvec4) CompositeExtract 1502 2
-            1511:   64(fvec4) CompositeExtract 1503 2
+            1503:          65 ExtInst 1(GLSL.std.450) 29(Exp2) 1502
+                              Store 1501(R020) 1503
+            1505:          65 Load 68(inF0)
+            1506:          65 ExtInst 1(GLSL.std.450) 8(Floor) 1505
+                              Store 1504(r021) 1506
+            1508:          65 Load 68(inF0)
+            1509:          65 Load 69(inF1)
+            1510:   64(fvec4) CompositeExtract 1508 0
+            1511:   64(fvec4) CompositeExtract 1509 0
             1512:   64(fvec4) FMod 1510 1511
-            1513:   64(fvec4) CompositeExtract 1502 3
-            1514:   64(fvec4) CompositeExtract 1503 3
+            1513:   64(fvec4) CompositeExtract 1508 1
+            1514:   64(fvec4) CompositeExtract 1509 1
             1515:   64(fvec4) FMod 1513 1514
-            1516:          65 CompositeConstruct 1506 1509 1512 1515
-                              Store 1501(r022) 1516
-            1518:          65 Load 68(inF0)
-            1519:          65 ExtInst 1(GLSL.std.450) 10(Fract) 1518
-                              Store 1517(r023) 1519
-            1521:          65 Load 68(inF0)
-            1523:1522(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1521
-            1524:  819(ivec4) CompositeExtract 1523 1
-                              Store 69(inF1) 1524
-            1525:          65 CompositeExtract 1523 0
-                              Store 1520(r024) 1525
+            1516:   64(fvec4) CompositeExtract 1508 2
+            1517:   64(fvec4) CompositeExtract 1509 2
+            1518:   64(fvec4) FMod 1516 1517
+            1519:   64(fvec4) CompositeExtract 1508 3
+            1520:   64(fvec4) CompositeExtract 1509 3
+            1521:   64(fvec4) FMod 1519 1520
+            1522:          65 CompositeConstruct 1512 1515 1518 1521
+                              Store 1507(r022) 1522
+            1524:          65 Load 68(inF0)
+            1525:          65 ExtInst 1(GLSL.std.450) 10(Fract) 1524
+                              Store 1523(r023) 1525
             1527:          65 Load 68(inF0)
-            1528:          65 Fwidth 1527
-                              Store 1526(r025) 1528
-            1530:          65 Load 68(inF0)
-            1531:          65 Load 69(inF1)
-            1532:          65 ExtInst 1(GLSL.std.450) 53(Ldexp) 1530 1531
-                              Store 1529(r026) 1532
-            1534:          65 Load 68(inF0)
-            1535:          65 Load 69(inF1)
-            1536:          65 Load 70(inF2)
-            1537:          65 ExtInst 1(GLSL.std.450) 46(FMix) 1534 1535 1536
-                              Store 1533(r026a) 1537
-            1539:          65 Load 68(inF0)
-            1540:          65 ExtInst 1(GLSL.std.450) 28(Log) 1539
-                              Store 1538(r027) 1540
-            1542:          65 Load 68(inF0)
-            1543:          65 ExtInst 1(GLSL.std.450) 30(Log2) 1542
-            1544:          65 MatrixTimesScalar 1543 253
-                              Store 1541(r028) 1544
-            1546:          65 Load 68(inF0)
-            1547:          65 ExtInst 1(GLSL.std.450) 30(Log2) 1546
-                              Store 1545(r029) 1547
-            1549:          65 Load 68(inF0)
-            1550:          65 Load 69(inF1)
-            1551:          65 ExtInst 1(GLSL.std.450) 40(FMax) 1549 1550
-                              Store 1548(r030) 1551
-            1553:          65 Load 68(inF0)
-            1554:          65 Load 69(inF1)
-            1555:          65 ExtInst 1(GLSL.std.450) 37(FMin) 1553 1554
-                              Store 1552(r031) 1555
-            1557:          65 Load 68(inF0)
-            1558:          65 Load 69(inF1)
-            1559:          65 ExtInst 1(GLSL.std.450) 26(Pow) 1557 1558
-                              Store 1556(r032) 1559
-            1561:          65 Load 68(inF0)
-            1562:          65 ExtInst 1(GLSL.std.450) 11(Radians) 1561
-                              Store 1560(r033) 1562
-            1564:          65 Load 68(inF0)
-            1565:          65 ExtInst 1(GLSL.std.450) 2(RoundEven) 1564
-                              Store 1563(r034) 1565
+            1529:1528(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1527
+            1530:  825(ivec4) CompositeExtract 1529 1
+                              Store 69(inF1) 1530
+            1531:          65 CompositeExtract 1529 0
+                              Store 1526(r024) 1531
+            1533:          65 Load 68(inF0)
+            1534:          65 Fwidth 1533
+                              Store 1532(r025) 1534
+            1536:          65 Load 68(inF0)
+            1537:          65 Load 69(inF1)
+            1538:          65 ExtInst 1(GLSL.std.450) 53(Ldexp) 1536 1537
+                              Store 1535(r026) 1538
+            1540:          65 Load 68(inF0)
+            1541:          65 Load 69(inF1)
+            1542:          65 Load 70(inF2)
+            1543:          65 ExtInst 1(GLSL.std.450) 46(FMix) 1540 1541 1542
+                              Store 1539(r026a) 1543
+            1545:          65 Load 68(inF0)
+            1546:          65 ExtInst 1(GLSL.std.450) 28(Log) 1545
+                              Store 1544(r027) 1546
+            1548:          65 Load 68(inF0)
+            1549:          65 ExtInst 1(GLSL.std.450) 30(Log2) 1548
+            1550:          65 MatrixTimesScalar 1549 253
+                              Store 1547(r028) 1550
+            1552:          65 Load 68(inF0)
+            1553:          65 ExtInst 1(GLSL.std.450) 30(Log2) 1552
+                              Store 1551(r029) 1553
+            1555:          65 Load 68(inF0)
+            1556:          65 Load 69(inF1)
+            1557:          65 ExtInst 1(GLSL.std.450) 40(FMax) 1555 1556
+                              Store 1554(r030) 1557
+            1559:          65 Load 68(inF0)
+            1560:          65 Load 69(inF1)
+            1561:          65 ExtInst 1(GLSL.std.450) 37(FMin) 1559 1560
+                              Store 1558(r031) 1561
+            1563:          65 Load 68(inF0)
+            1564:          65 Load 69(inF1)
+            1565:          65 ExtInst 1(GLSL.std.450) 26(Pow) 1563 1564
+                              Store 1562(r032) 1565
             1567:          65 Load 68(inF0)
-            1568:          65 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1567
-                              Store 1566(r035) 1568
+            1568:          65 ExtInst 1(GLSL.std.450) 11(Radians) 1567
+                              Store 1566(r033) 1568
             1570:          65 Load 68(inF0)
-            1571:   64(fvec4) CompositeConstruct 165 165 165 165
-            1572:   64(fvec4) CompositeConstruct 274 274 274 274
-            1573:          65 ExtInst 1(GLSL.std.450) 43(FClamp) 1570 1571 1572
-                              Store 1569(r036) 1573
-            1575:          65 Load 68(inF0)
-            1576:          65 ExtInst 1(GLSL.std.450) 6(FSign) 1575
-                              Store 1574(r037) 1576
-            1578:          65 Load 68(inF0)
-            1579:          65 ExtInst 1(GLSL.std.450) 13(Sin) 1578
-                              Store 1577(r038) 1579
-            1580:          65 Load 68(inF0)
-            1581:          65 ExtInst 1(GLSL.std.450) 13(Sin) 1580
-                              Store 69(inF1) 1581
-            1582:          65 Load 68(inF0)
-            1583:          65 ExtInst 1(GLSL.std.450) 14(Cos) 1582
-                              Store 70(inF2) 1583
-            1585:          65 Load 68(inF0)
-            1586:          65 ExtInst 1(GLSL.std.450) 19(Sinh) 1585
-                              Store 1584(r039) 1586
+            1571:          65 ExtInst 1(GLSL.std.450) 2(RoundEven) 1570
+                              Store 1569(r034) 1571
+            1573:          65 Load 68(inF0)
+            1574:          65 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1573
+                              Store 1572(r035) 1574
+            1576:          65 Load 68(inF0)
+            1577:   64(fvec4) CompositeConstruct 165 165 165 165
+            1578:   64(fvec4) CompositeConstruct 274 274 274 274
+            1579:          65 ExtInst 1(GLSL.std.450) 43(FClamp) 1576 1577 1578
+                              Store 1575(r036) 1579
+            1581:          65 Load 68(inF0)
+            1582:          65 ExtInst 1(GLSL.std.450) 6(FSign) 1581
+                              Store 1580(r037) 1582
+            1584:          65 Load 68(inF0)
+            1585:          65 ExtInst 1(GLSL.std.450) 13(Sin) 1584
+                              Store 1583(r038) 1585
+            1586:          65 Load 68(inF0)
+            1587:          65 ExtInst 1(GLSL.std.450) 13(Sin) 1586
+                              Store 69(inF1) 1587
             1588:          65 Load 68(inF0)
-            1589:          65 Load 69(inF1)
-            1590:          65 Load 70(inF2)
-            1591:          65 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1588 1589 1590
-                              Store 1587(r049) 1591
-            1593:          65 Load 68(inF0)
-            1594:          65 ExtInst 1(GLSL.std.450) 31(Sqrt) 1593
-                              Store 1592(r041) 1594
-            1596:          65 Load 68(inF0)
-            1597:          65 Load 69(inF1)
-            1598:          65 ExtInst 1(GLSL.std.450) 48(Step) 1596 1597
-                              Store 1595(r042) 1598
-            1600:          65 Load 68(inF0)
-            1601:          65 ExtInst 1(GLSL.std.450) 15(Tan) 1600
-                              Store 1599(r043) 1601
-            1603:          65 Load 68(inF0)
-            1604:          65 ExtInst 1(GLSL.std.450) 21(Tanh) 1603
-                              Store 1602(r044) 1604
-            1605:          65 Load 68(inF0)
-            1606:          65 Transpose 1605
-            1608:          65 Load 68(inF0)
-            1609:          65 ExtInst 1(GLSL.std.450) 3(Trunc) 1608
-                              Store 1607(r046) 1609
-                              ReturnValue 1611
+            1589:          65 ExtInst 1(GLSL.std.450) 14(Cos) 1588
+                              Store 70(inF2) 1589
+            1591:          65 Load 68(inF0)
+            1592:          65 ExtInst 1(GLSL.std.450) 19(Sinh) 1591
+                              Store 1590(r039) 1592
+            1594:          65 Load 68(inF0)
+            1595:          65 Load 69(inF1)
+            1596:          65 Load 70(inF2)
+            1597:          65 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1594 1595 1596
+                              Store 1593(r049) 1597
+            1599:          65 Load 68(inF0)
+            1600:          65 ExtInst 1(GLSL.std.450) 31(Sqrt) 1599
+                              Store 1598(r041) 1600
+            1602:          65 Load 68(inF0)
+            1603:          65 Load 69(inF1)
+            1604:          65 ExtInst 1(GLSL.std.450) 48(Step) 1602 1603
+                              Store 1601(r042) 1604
+            1606:          65 Load 68(inF0)
+            1607:          65 ExtInst 1(GLSL.std.450) 15(Tan) 1606
+                              Store 1605(r043) 1607
+            1609:          65 Load 68(inF0)
+            1610:          65 ExtInst 1(GLSL.std.450) 21(Tanh) 1609
+                              Store 1608(r044) 1610
+            1611:          65 Load 68(inF0)
+            1612:          65 Transpose 1611
+            1614:          65 Load 68(inF0)
+            1615:          65 ExtInst 1(GLSL.std.450) 3(Trunc) 1614
+                              Store 1613(r046) 1615
+                              ReturnValue 1617
                               FunctionEnd
 80(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 73
         74(inF0):      7(ptr) FunctionParameter
@@ -8086,51 +8110,51 @@ gl_FragCoord origin is upper left
        78(inFM0):     49(ptr) FunctionParameter
        79(inFM1):     49(ptr) FunctionParameter
               81:             Label
-        1614(r0):      7(ptr) Variable Function
-        1618(r1):     25(ptr) Variable Function
-        1622(r2):     25(ptr) Variable Function
-        1626(r3):      7(ptr) Variable Function
-        1630(r4):     25(ptr) Variable Function
-        1634(r5):     25(ptr) Variable Function
-        1638(r6):     49(ptr) Variable Function
-        1642(r7):     49(ptr) Variable Function
-        1646(r8):     49(ptr) Variable Function
-            1615:    6(float) Load 74(inF0)
-            1616:    6(float) Load 75(inF1)
-            1617:    6(float) FMul 1615 1616
-                              Store 1614(r0) 1617
-            1619:   24(fvec2) Load 76(inFV0)
-            1620:    6(float) Load 74(inF0)
-            1621:   24(fvec2) VectorTimesScalar 1619 1620
-                              Store 1618(r1) 1621
-            1623:    6(float) Load 74(inF0)
-            1624:   24(fvec2) Load 76(inFV0)
-            1625:   24(fvec2) VectorTimesScalar 1624 1623
-                              Store 1622(r2) 1625
-            1627:   24(fvec2) Load 76(inFV0)
-            1628:   24(fvec2) Load 77(inFV1)
-            1629:    6(float) Dot 1627 1628
-                              Store 1626(r3) 1629
-            1631:          48 Load 78(inFM0)
-            1632:   24(fvec2) Load 76(inFV0)
-            1633:   24(fvec2) MatrixTimesVector 1631 1632
-                              Store 1630(r4) 1633
-            1635:   24(fvec2) Load 76(inFV0)
-            1636:          48 Load 78(inFM0)
-            1637:   24(fvec2) VectorTimesMatrix 1635 1636
-                              Store 1634(r5) 1637
-            1639:          48 Load 78(inFM0)
-            1640:    6(float) Load 74(inF0)
-            1641:          48 MatrixTimesScalar 1639 1640
-                              Store 1638(r6) 1641
-            1643:    6(float) Load 74(inF0)
-            1644:          48 Load 78(inFM0)
-            1645:          48 MatrixTimesScalar 1644 1643
-                              Store 1642(r7) 1645
-            1647:          48 Load 78(inFM0)
-            1648:          48 Load 79(inFM1)
-            1649:          48 MatrixTimesMatrix 1647 1648
-                              Store 1646(r8) 1649
+        1620(r0):      7(ptr) Variable Function
+        1624(r1):     25(ptr) Variable Function
+        1628(r2):     25(ptr) Variable Function
+        1632(r3):      7(ptr) Variable Function
+        1636(r4):     25(ptr) Variable Function
+        1640(r5):     25(ptr) Variable Function
+        1644(r6):     49(ptr) Variable Function
+        1648(r7):     49(ptr) Variable Function
+        1652(r8):     49(ptr) Variable Function
+            1621:    6(float) Load 74(inF0)
+            1622:    6(float) Load 75(inF1)
+            1623:    6(float) FMul 1621 1622
+                              Store 1620(r0) 1623
+            1625:   24(fvec2) Load 76(inFV0)
+            1626:    6(float) Load 74(inF0)
+            1627:   24(fvec2) VectorTimesScalar 1625 1626
+                              Store 1624(r1) 1627
+            1629:    6(float) Load 74(inF0)
+            1630:   24(fvec2) Load 76(inFV0)
+            1631:   24(fvec2) VectorTimesScalar 1630 1629
+                              Store 1628(r2) 1631
+            1633:   24(fvec2) Load 76(inFV0)
+            1634:   24(fvec2) Load 77(inFV1)
+            1635:    6(float) Dot 1633 1634
+                              Store 1632(r3) 1635
+            1637:          48 Load 78(inFM0)
+            1638:   24(fvec2) Load 76(inFV0)
+            1639:   24(fvec2) MatrixTimesVector 1637 1638
+                              Store 1636(r4) 1639
+            1641:   24(fvec2) Load 76(inFV0)
+            1642:          48 Load 78(inFM0)
+            1643:   24(fvec2) VectorTimesMatrix 1641 1642
+                              Store 1640(r5) 1643
+            1645:          48 Load 78(inFM0)
+            1646:    6(float) Load 74(inF0)
+            1647:          48 MatrixTimesScalar 1645 1646
+                              Store 1644(r6) 1647
+            1649:    6(float) Load 74(inF0)
+            1650:          48 Load 78(inFM0)
+            1651:          48 MatrixTimesScalar 1650 1649
+                              Store 1648(r7) 1651
+            1653:          48 Load 78(inFM0)
+            1654:          48 Load 79(inFM1)
+            1655:          48 MatrixTimesMatrix 1653 1654
+                              Store 1652(r8) 1655
                               Return
                               FunctionEnd
 89(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 82
@@ -8141,51 +8165,51 @@ gl_FragCoord origin is upper left
        87(inFM0):     57(ptr) FunctionParameter
        88(inFM1):     57(ptr) FunctionParameter
               90:             Label
-        1650(r0):      7(ptr) Variable Function
-        1654(r1):     37(ptr) Variable Function
-        1658(r2):     37(ptr) Variable Function
-        1662(r3):      7(ptr) Variable Function
-        1666(r4):     37(ptr) Variable Function
-        1670(r5):     37(ptr) Variable Function
-        1674(r6):     57(ptr) Variable Function
-        1678(r7):     57(ptr) Variable Function
-        1682(r8):     57(ptr) Variable Function
-            1651:    6(float) Load 83(inF0)
-            1652:    6(float) Load 84(inF1)
-            1653:    6(float) FMul 1651 1652
-                              Store 1650(r0) 1653
-            1655:   36(fvec3) Load 85(inFV0)
-            1656:    6(float) Load 83(inF0)
-            1657:   36(fvec3) VectorTimesScalar 1655 1656
-                              Store 1654(r1) 1657
-            1659:    6(float) Load 83(inF0)
-            1660:   36(fvec3) Load 85(inFV0)
-            1661:   36(fvec3) VectorTimesScalar 1660 1659
-                              Store 1658(r2) 1661
-            1663:   36(fvec3) Load 85(inFV0)
-            1664:   36(fvec3) Load 86(inFV1)
-            1665:    6(float) Dot 1663 1664
-                              Store 1662(r3) 1665
-            1667:          56 Load 87(inFM0)
-            1668:   36(fvec3) Load 85(inFV0)
-            1669:   36(fvec3) MatrixTimesVector 1667 1668
-                              Store 1666(r4) 1669
-            1671:   36(fvec3) Load 85(inFV0)
-            1672:          56 Load 87(inFM0)
-            1673:   36(fvec3) VectorTimesMatrix 1671 1672
-                              Store 1670(r5) 1673
-            1675:          56 Load 87(inFM0)
-            1676:    6(float) Load 83(inF0)
-            1677:          56 MatrixTimesScalar 1675 1676
-                              Store 1674(r6) 1677
-            1679:    6(float) Load 83(inF0)
-            1680:          56 Load 87(inFM0)
-            1681:          56 MatrixTimesScalar 1680 1679
-                              Store 1678(r7) 1681
-            1683:          56 Load 87(inFM0)
-            1684:          56 Load 88(inFM1)
-            1685:          56 MatrixTimesMatrix 1683 1684
-                              Store 1682(r8) 1685
+        1656(r0):      7(ptr) Variable Function
+        1660(r1):     37(ptr) Variable Function
+        1664(r2):     37(ptr) Variable Function
+        1668(r3):      7(ptr) Variable Function
+        1672(r4):     37(ptr) Variable Function
+        1676(r5):     37(ptr) Variable Function
+        1680(r6):     57(ptr) Variable Function
+        1684(r7):     57(ptr) Variable Function
+        1688(r8):     57(ptr) Variable Function
+            1657:    6(float) Load 83(inF0)
+            1658:    6(float) Load 84(inF1)
+            1659:    6(float) FMul 1657 1658
+                              Store 1656(r0) 1659
+            1661:   36(fvec3) Load 85(inFV0)
+            1662:    6(float) Load 83(inF0)
+            1663:   36(fvec3) VectorTimesScalar 1661 1662
+                              Store 1660(r1) 1663
+            1665:    6(float) Load 83(inF0)
+            1666:   36(fvec3) Load 85(inFV0)
+            1667:   36(fvec3) VectorTimesScalar 1666 1665
+                              Store 1664(r2) 1667
+            1669:   36(fvec3) Load 85(inFV0)
+            1670:   36(fvec3) Load 86(inFV1)
+            1671:    6(float) Dot 1669 1670
+                              Store 1668(r3) 1671
+            1673:          56 Load 87(inFM0)
+            1674:   36(fvec3) Load 85(inFV0)
+            1675:   36(fvec3) MatrixTimesVector 1673 1674
+                              Store 1672(r4) 1675
+            1677:   36(fvec3) Load 85(inFV0)
+            1678:          56 Load 87(inFM0)
+            1679:   36(fvec3) VectorTimesMatrix 1677 1678
+                              Store 1676(r5) 1679
+            1681:          56 Load 87(inFM0)
+            1682:    6(float) Load 83(inF0)
+            1683:          56 MatrixTimesScalar 1681 1682
+                              Store 1680(r6) 1683
+            1685:    6(float) Load 83(inF0)
+            1686:          56 Load 87(inFM0)
+            1687:          56 MatrixTimesScalar 1686 1685
+                              Store 1684(r7) 1687
+            1689:          56 Load 87(inFM0)
+            1690:          56 Load 88(inFM1)
+            1691:          56 MatrixTimesMatrix 1689 1690
+                              Store 1688(r8) 1691
                               Return
                               FunctionEnd
 99(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 92
@@ -8196,51 +8220,51 @@ gl_FragCoord origin is upper left
        97(inFM0):     66(ptr) FunctionParameter
        98(inFM1):     66(ptr) FunctionParameter
              100:             Label
-        1686(r0):      7(ptr) Variable Function
-        1690(r1):     91(ptr) Variable Function
-        1694(r2):     91(ptr) Variable Function
-        1698(r3):      7(ptr) Variable Function
-        1702(r4):     91(ptr) Variable Function
-        1706(r5):     91(ptr) Variable Function
-        1710(r6):     66(ptr) Variable Function
-        1714(r7):     66(ptr) Variable Function
-        1718(r8):     66(ptr) Variable Function
-            1687:    6(float) Load 93(inF0)
-            1688:    6(float) Load 94(inF1)
-            1689:    6(float) FMul 1687 1688
-                              Store 1686(r0) 1689
-            1691:   64(fvec4) Load 95(inFV0)
-            1692:    6(float) Load 93(inF0)
-            1693:   64(fvec4) VectorTimesScalar 1691 1692
-                              Store 1690(r1) 1693
-            1695:    6(float) Load 93(inF0)
-            1696:   64(fvec4) Load 95(inFV0)
-            1697:   64(fvec4) VectorTimesScalar 1696 1695
-                              Store 1694(r2) 1697
-            1699:   64(fvec4) Load 95(inFV0)
-            1700:   64(fvec4) Load 96(inFV1)
-            1701:    6(float) Dot 1699 1700
-                              Store 1698(r3) 1701
-            1703:          65 Load 97(inFM0)
-            1704:   64(fvec4) Load 95(inFV0)
-            1705:   64(fvec4) MatrixTimesVector 1703 1704
-                              Store 1702(r4) 1705
-            1707:   64(fvec4) Load 95(inFV0)
-            1708:          65 Load 97(inFM0)
-            1709:   64(fvec4) VectorTimesMatrix 1707 1708
-                              Store 1706(r5) 1709
-            1711:          65 Load 97(inFM0)
-            1712:    6(float) Load 93(inF0)
-            1713:          65 MatrixTimesScalar 1711 1712
-                              Store 1710(r6) 1713
-            1715:    6(float) Load 93(inF0)
-            1716:          65 Load 97(inFM0)
-            1717:          65 MatrixTimesScalar 1716 1715
-                              Store 1714(r7) 1717
-            1719:          65 Load 97(inFM0)
-            1720:          65 Load 98(inFM1)
-            1721:          65 MatrixTimesMatrix 1719 1720
-                              Store 1718(r8) 1721
+        1692(r0):      7(ptr) Variable Function
+        1696(r1):     91(ptr) Variable Function
+        1700(r2):     91(ptr) Variable Function
+        1704(r3):      7(ptr) Variable Function
+        1708(r4):     91(ptr) Variable Function
+        1712(r5):     91(ptr) Variable Function
+        1716(r6):     66(ptr) Variable Function
+        1720(r7):     66(ptr) Variable Function
+        1724(r8):     66(ptr) Variable Function
+            1693:    6(float) Load 93(inF0)
+            1694:    6(float) Load 94(inF1)
+            1695:    6(float) FMul 1693 1694
+                              Store 1692(r0) 1695
+            1697:   64(fvec4) Load 95(inFV0)
+            1698:    6(float) Load 93(inF0)
+            1699:   64(fvec4) VectorTimesScalar 1697 1698
+                              Store 1696(r1) 1699
+            1701:    6(float) Load 93(inF0)
+            1702:   64(fvec4) Load 95(inFV0)
+            1703:   64(fvec4) VectorTimesScalar 1702 1701
+                              Store 1700(r2) 1703
+            1705:   64(fvec4) Load 95(inFV0)
+            1706:   64(fvec4) Load 96(inFV1)
+            1707:    6(float) Dot 1705 1706
+                              Store 1704(r3) 1707
+            1709:          65 Load 97(inFM0)
+            1710:   64(fvec4) Load 95(inFV0)
+            1711:   64(fvec4) MatrixTimesVector 1709 1710
+                              Store 1708(r4) 1711
+            1713:   64(fvec4) Load 95(inFV0)
+            1714:          65 Load 97(inFM0)
+            1715:   64(fvec4) VectorTimesMatrix 1713 1714
+                              Store 1712(r5) 1715
+            1717:          65 Load 97(inFM0)
+            1718:    6(float) Load 93(inF0)
+            1719:          65 MatrixTimesScalar 1717 1718
+                              Store 1716(r6) 1719
+            1721:    6(float) Load 93(inF0)
+            1722:          65 Load 97(inFM0)
+            1723:          65 MatrixTimesScalar 1722 1721
+                              Store 1720(r7) 1723
+            1725:          65 Load 97(inFM0)
+            1726:          65 Load 98(inFM1)
+            1727:          65 MatrixTimesMatrix 1725 1726
+                              Store 1724(r8) 1727
                               Return
                               FunctionEnd
 119(TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;):           2 Function None 109
@@ -8254,90 +8278,90 @@ gl_FragCoord origin is upper left
     117(inFM3x4):    106(ptr) FunctionParameter
     118(inFM2x4):    108(ptr) FunctionParameter
              120:             Label
-       1722(r00):      7(ptr) Variable Function
-       1726(r01):     25(ptr) Variable Function
-       1730(r02):     37(ptr) Variable Function
-       1734(r03):     25(ptr) Variable Function
-       1738(r04):     37(ptr) Variable Function
-       1742(r05):      7(ptr) Variable Function
-       1746(r06):      7(ptr) Variable Function
-       1750(r07):     37(ptr) Variable Function
-       1754(r08):     25(ptr) Variable Function
-       1758(r09):     25(ptr) Variable Function
-       1762(r10):     37(ptr) Variable Function
-       1766(r11):    102(ptr) Variable Function
-       1770(r12):    104(ptr) Variable Function
-       1774(r13):     49(ptr) Variable Function
-       1778(r14):    102(ptr) Variable Function
-       1782(r15):    108(ptr) Variable Function
-       1786(r16):    106(ptr) Variable Function
-            1723:    6(float) Load 110(inF0)
-            1724:    6(float) Load 111(inF1)
-            1725:    6(float) FMul 1723 1724
-                              Store 1722(r00) 1725
-            1727:   24(fvec2) Load 112(inFV2)
-            1728:    6(float) Load 110(inF0)
-            1729:   24(fvec2) VectorTimesScalar 1727 1728
-                              Store 1726(r01) 1729
-            1731:   36(fvec3) Load 113(inFV3)
-            1732:    6(float) Load 110(inF0)
-            1733:   36(fvec3) VectorTimesScalar 1731 1732
-                              Store 1730(r02) 1733
-            1735:    6(float) Load 110(inF0)
-            1736:   24(fvec2) Load 112(inFV2)
-            1737:   24(fvec2) VectorTimesScalar 1736 1735
-                              Store 1734(r03) 1737
-            1739:    6(float) Load 110(inF0)
-            1740:   36(fvec3) Load 113(inFV3)
-            1741:   36(fvec3) VectorTimesScalar 1740 1739
-                              Store 1738(r04) 1741
-            1743:   24(fvec2) Load 112(inFV2)
-            1744:   24(fvec2) Load 112(inFV2)
-            1745:    6(float) Dot 1743 1744
-                              Store 1742(r05) 1745
-            1747:   36(fvec3) Load 113(inFV3)
-            1748:   36(fvec3) Load 113(inFV3)
-            1749:    6(float) Dot 1747 1748
-                              Store 1746(r06) 1749
-            1751:   24(fvec2) Load 112(inFV2)
-            1752:         101 Load 114(inFM2x3)
-            1753:   36(fvec3) VectorTimesMatrix 1751 1752
-                              Store 1750(r07) 1753
-            1755:   36(fvec3) Load 113(inFV3)
-            1756:         103 Load 115(inFM3x2)
-            1757:   24(fvec2) VectorTimesMatrix 1755 1756
-                              Store 1754(r08) 1757
-            1759:         101 Load 114(inFM2x3)
-            1760:   36(fvec3) Load 113(inFV3)
-            1761:   24(fvec2) MatrixTimesVector 1759 1760
-                              Store 1758(r09) 1761
-            1763:         103 Load 115(inFM3x2)
-            1764:   24(fvec2) Load 112(inFV2)
-            1765:   36(fvec3) MatrixTimesVector 1763 1764
-                              Store 1762(r10) 1765
-            1767:         101 Load 114(inFM2x3)
-            1768:    6(float) Load 110(inF0)
-            1769:         101 MatrixTimesScalar 1767 1768
-                              Store 1766(r11) 1769
-            1771:         103 Load 115(inFM3x2)
-            1772:    6(float) Load 110(inF0)
-            1773:         103 MatrixTimesScalar 1771 1772
-                              Store 1770(r12) 1773
-            1775:         101 Load 114(inFM2x3)
-            1776:         103 Load 115(inFM3x2)
-            1777:          48 MatrixTimesMatrix 1775 1776
-                              Store 1774(r13) 1777
-            1779:         101 Load 114(inFM2x3)
-            1780:          56 Load 116(inFM3x3)
-            1781:         101 MatrixTimesMatrix 1779 1780
-                              Store 1778(r14) 1781
-            1783:         101 Load 114(inFM2x3)
-            1784:         105 Load 117(inFM3x4)
-            1785:         107 MatrixTimesMatrix 1783 1784
-                              Store 1782(r15) 1785
-            1787:         103 Load 115(inFM3x2)
-            1788:         107 Load 118(inFM2x4)
-            1789:         105 MatrixTimesMatrix 1787 1788
-                              Store 1786(r16) 1789
+       1728(r00):      7(ptr) Variable Function
+       1732(r01):     25(ptr) Variable Function
+       1736(r02):     37(ptr) Variable Function
+       1740(r03):     25(ptr) Variable Function
+       1744(r04):     37(ptr) Variable Function
+       1748(r05):      7(ptr) Variable Function
+       1752(r06):      7(ptr) Variable Function
+       1756(r07):     37(ptr) Variable Function
+       1760(r08):     25(ptr) Variable Function
+       1764(r09):     25(ptr) Variable Function
+       1768(r10):     37(ptr) Variable Function
+       1772(r11):    102(ptr) Variable Function
+       1776(r12):    104(ptr) Variable Function
+       1780(r13):     49(ptr) Variable Function
+       1784(r14):    102(ptr) Variable Function
+       1788(r15):    108(ptr) Variable Function
+       1792(r16):    106(ptr) Variable Function
+            1729:    6(float) Load 110(inF0)
+            1730:    6(float) Load 111(inF1)
+            1731:    6(float) FMul 1729 1730
+                              Store 1728(r00) 1731
+            1733:   24(fvec2) Load 112(inFV2)
+            1734:    6(float) Load 110(inF0)
+            1735:   24(fvec2) VectorTimesScalar 1733 1734
+                              Store 1732(r01) 1735
+            1737:   36(fvec3) Load 113(inFV3)
+            1738:    6(float) Load 110(inF0)
+            1739:   36(fvec3) VectorTimesScalar 1737 1738
+                              Store 1736(r02) 1739
+            1741:    6(float) Load 110(inF0)
+            1742:   24(fvec2) Load 112(inFV2)
+            1743:   24(fvec2) VectorTimesScalar 1742 1741
+                              Store 1740(r03) 1743
+            1745:    6(float) Load 110(inF0)
+            1746:   36(fvec3) Load 113(inFV3)
+            1747:   36(fvec3) VectorTimesScalar 1746 1745
+                              Store 1744(r04) 1747
+            1749:   24(fvec2) Load 112(inFV2)
+            1750:   24(fvec2) Load 112(inFV2)
+            1751:    6(float) Dot 1749 1750
+                              Store 1748(r05) 1751
+            1753:   36(fvec3) Load 113(inFV3)
+            1754:   36(fvec3) Load 113(inFV3)
+            1755:    6(float) Dot 1753 1754
+                              Store 1752(r06) 1755
+            1757:   24(fvec2) Load 112(inFV2)
+            1758:         101 Load 114(inFM2x3)
+            1759:   36(fvec3) VectorTimesMatrix 1757 1758
+                              Store 1756(r07) 1759
+            1761:   36(fvec3) Load 113(inFV3)
+            1762:         103 Load 115(inFM3x2)
+            1763:   24(fvec2) VectorTimesMatrix 1761 1762
+                              Store 1760(r08) 1763
+            1765:         101 Load 114(inFM2x3)
+            1766:   36(fvec3) Load 113(inFV3)
+            1767:   24(fvec2) MatrixTimesVector 1765 1766
+                              Store 1764(r09) 1767
+            1769:         103 Load 115(inFM3x2)
+            1770:   24(fvec2) Load 112(inFV2)
+            1771:   36(fvec3) MatrixTimesVector 1769 1770
+                              Store 1768(r10) 1771
+            1773:         101 Load 114(inFM2x3)
+            1774:    6(float) Load 110(inF0)
+            1775:         101 MatrixTimesScalar 1773 1774
+                              Store 1772(r11) 1775
+            1777:         103 Load 115(inFM3x2)
+            1778:    6(float) Load 110(inF0)
+            1779:         103 MatrixTimesScalar 1777 1778
+                              Store 1776(r12) 1779
+            1781:         101 Load 114(inFM2x3)
+            1782:         103 Load 115(inFM3x2)
+            1783:          48 MatrixTimesMatrix 1781 1782
+                              Store 1780(r13) 1783
+            1785:         101 Load 114(inFM2x3)
+            1786:          56 Load 116(inFM3x3)
+            1787:         101 MatrixTimesMatrix 1785 1786
+                              Store 1784(r14) 1787
+            1789:         101 Load 114(inFM2x3)
+            1790:         105 Load 117(inFM3x4)
+            1791:         107 MatrixTimesMatrix 1789 1790
+                              Store 1788(r15) 1791
+            1793:         103 Load 115(inFM3x2)
+            1794:         107 Load 118(inFM2x4)
+            1795:         105 MatrixTimesMatrix 1793 1794
+                              Store 1792(r16) 1795
                               Return
                               FunctionEnd
index dd417a1..b55c242 100644 (file)
@@ -223,6 +223,7 @@ float3 PixelShaderFunction3(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, u
     bool3 r041 = isnan(inF0);
     float3 r042 = ldexp(inF0, inF1);
     float3 r039a = lerp(inF0, inF1, inF2);
+    float3 r039b = lerp(inF0, inF1, 0.3); // test vec,vec,scalar lerp
     float r043 = length(inF0);
     float3 r044 = log(inF0);
     float3 r045 = log10(inF0);
index edfba9c..5876715 100755 (executable)
@@ -531,7 +531,8 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
         { "isnan",                            nullptr, "B" ,      "SVM",            "F",             EShLangAll },
         { "ldexp",                            nullptr, nullptr,   "SVM,",           "F,",            EShLangAll },
         { "length",                           "S",     "F",       "V",              "F",             EShLangAll },
-        { "lerp",                             nullptr, nullptr,   "SVM,,",          "F,,",           EShLangAll },
+        { "lerp",                             nullptr, nullptr,   "VM,,",           "F,,",           EShLangAll },
+        { "lerp",                             nullptr, nullptr,   "SVM,,S",         "F,,",           EShLangAll },
         { "lit",                              "V4",    "F",       "S,,",            "F,,",           EShLangAll },
         { "log",                              nullptr, nullptr,   "SVM",            "F",             EShLangAll },
         { "log10",                            nullptr, nullptr,   "SVM",            "F",             EShLangAll },