diff --git a/Test/baseResults/hlsl.intrinsic.frexp.frag.out b/Test/baseResults/hlsl.intrinsic.frexp.frag.out
new file mode 100644
index 0000000000000000000000000000000000000000..971a34ef03a88a318888f82fb738b40970261292
--- /dev/null
+++ b/Test/baseResults/hlsl.intrinsic.frexp.frag.out
@@ -0,0 +1,331 @@
+hlsl.intrinsic.frexp.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: PixelShaderFunctionS(f1;f1; ( temp float)
+0:3    Function Parameters: 
+0:3      'inF0' ( in float)
+0:3      'inF1' ( in float)
+0:?     Sequence
+0:4      Sequence
+0:4        move second child to first child ( temp float)
+0:4          'r000' ( temp float)
+0:4          frexp ( temp float)
+0:4            'inF0' ( in float)
+0:4            'inF1' ( in float)
+0:5      Branch: Return with expression
+0:5        Constant:
+0:5          0.000000
+0:9  Function Definition: PixelShaderFunction2(vf2;vf2; ( temp 2-component vector of float)
+0:9    Function Parameters: 
+0:9      'inF0' ( in 2-component vector of float)
+0:9      'inF1' ( in 2-component vector of float)
+0:?     Sequence
+0:10      Sequence
+0:10        move second child to first child ( temp 2-component vector of float)
+0:10          'r000' ( temp 2-component vector of float)
+0:10          frexp ( temp 2-component vector of float)
+0:10            'inF0' ( in 2-component vector of float)
+0:10            'inF1' ( in 2-component vector of float)
+0:11      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:15  Function Definition: PixelShaderFunction3(vf3;vf3; ( temp 3-component vector of float)
+0:15    Function Parameters: 
+0:15      'inF0' ( in 3-component vector of float)
+0:15      'inF1' ( in 3-component vector of float)
+0:?     Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp 3-component vector of float)
+0:16          'r000' ( temp 3-component vector of float)
+0:16          frexp ( temp 3-component vector of float)
+0:16            'inF0' ( in 3-component vector of float)
+0:16            'inF1' ( in 3-component vector of float)
+0:17      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:21  Function Definition: PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float)
+0:21    Function Parameters: 
+0:21      'inF0' ( in 4-component vector of float)
+0:21      'inF1' ( in 4-component vector of float)
+0:?     Sequence
+0:22      Sequence
+0:22        move second child to first child ( temp 4-component vector of float)
+0:22          'r000' ( temp 4-component vector of float)
+0:22          frexp ( temp 4-component vector of float)
+0:22            'inF0' ( in 4-component vector of float)
+0:22            'inF1' ( in 4-component vector of float)
+0:23      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:?           4.000000
+0:33  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:33    Function Parameters: 
+0:?     Sequence
+0:35      move second child to first child ( temp 4-component vector of float)
+0:35        color: direct index for structure ( temp 4-component vector of float)
+0:35          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:35          Constant:
+0:35            0 (const int)
+0:35        Constant:
+0:35          1.000000
+0:35          1.000000
+0:35          1.000000
+0:35          1.000000
+0:36      Branch: Return with expression
+0:36        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:33  Function Definition: main( ( temp void)
+0:33    Function Parameters: 
+0:?     Sequence
+0:33      Sequence
+0:33        move second child to first child ( temp 4-component vector of float)
+0:?           'color' (layout( location=0) out 4-component vector of float)
+0:33          color: direct index for structure ( temp 4-component vector of float)
+0:33            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:33            Constant:
+0:33              0 (const int)
+0:?   Linker Objects
+0:?     'color' (layout( location=0) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: PixelShaderFunctionS(f1;f1; ( temp float)
+0:3    Function Parameters: 
+0:3      'inF0' ( in float)
+0:3      'inF1' ( in float)
+0:?     Sequence
+0:4      Sequence
+0:4        move second child to first child ( temp float)
+0:4          'r000' ( temp float)
+0:4          frexp ( temp float)
+0:4            'inF0' ( in float)
+0:4            'inF1' ( in float)
+0:5      Branch: Return with expression
+0:5        Constant:
+0:5          0.000000
+0:9  Function Definition: PixelShaderFunction2(vf2;vf2; ( temp 2-component vector of float)
+0:9    Function Parameters: 
+0:9      'inF0' ( in 2-component vector of float)
+0:9      'inF1' ( in 2-component vector of float)
+0:?     Sequence
+0:10      Sequence
+0:10        move second child to first child ( temp 2-component vector of float)
+0:10          'r000' ( temp 2-component vector of float)
+0:10          frexp ( temp 2-component vector of float)
+0:10            'inF0' ( in 2-component vector of float)
+0:10            'inF1' ( in 2-component vector of float)
+0:11      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:15  Function Definition: PixelShaderFunction3(vf3;vf3; ( temp 3-component vector of float)
+0:15    Function Parameters: 
+0:15      'inF0' ( in 3-component vector of float)
+0:15      'inF1' ( in 3-component vector of float)
+0:?     Sequence
+0:16      Sequence
+0:16        move second child to first child ( temp 3-component vector of float)
+0:16          'r000' ( temp 3-component vector of float)
+0:16          frexp ( temp 3-component vector of float)
+0:16            'inF0' ( in 3-component vector of float)
+0:16            'inF1' ( in 3-component vector of float)
+0:17      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:21  Function Definition: PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float)
+0:21    Function Parameters: 
+0:21      'inF0' ( in 4-component vector of float)
+0:21      'inF1' ( in 4-component vector of float)
+0:?     Sequence
+0:22      Sequence
+0:22        move second child to first child ( temp 4-component vector of float)
+0:22          'r000' ( temp 4-component vector of float)
+0:22          frexp ( temp 4-component vector of float)
+0:22            'inF0' ( in 4-component vector of float)
+0:22            'inF1' ( in 4-component vector of float)
+0:23      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:?           4.000000
+0:33  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:33    Function Parameters: 
+0:?     Sequence
+0:35      move second child to first child ( temp 4-component vector of float)
+0:35        color: direct index for structure ( temp 4-component vector of float)
+0:35          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:35          Constant:
+0:35            0 (const int)
+0:35        Constant:
+0:35          1.000000
+0:35          1.000000
+0:35          1.000000
+0:35          1.000000
+0:36      Branch: Return with expression
+0:36        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:33  Function Definition: main( ( temp void)
+0:33    Function Parameters: 
+0:?     Sequence
+0:33      Sequence
+0:33        move second child to first child ( temp 4-component vector of float)
+0:?           'color' (layout( location=0) out 4-component vector of float)
+0:33          color: direct index for structure ( temp 4-component vector of float)
+0:33            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:33            Constant:
+0:33              0 (const int)
+0:?   Linker Objects
+0:?     'color' (layout( location=0) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 94
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 91
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 11  "PixelShaderFunctionS(f1;f1;"
+                              Name 9  "inF0"
+                              Name 10  "inF1"
+                              Name 18  "PixelShaderFunction2(vf2;vf2;"
+                              Name 16  "inF0"
+                              Name 17  "inF1"
+                              Name 25  "PixelShaderFunction3(vf3;vf3;"
+                              Name 23  "inF0"
+                              Name 24  "inF1"
+                              Name 32  "PixelShaderFunction(vf4;vf4;"
+                              Name 30  "inF0"
+                              Name 31  "inF1"
+                              Name 34  "PS_OUTPUT"
+                              MemberName 34(PS_OUTPUT) 0  "color"
+                              Name 36  "@main("
+                              Name 38  "r000"
+                              Name 41  "ResType"
+                              Name 48  "r000"
+                              Name 51  "ResType"
+                              Name 60  "r000"
+                              Name 63  "ResType"
+                              Name 71  "r000"
+                              Name 74  "ResType"
+                              Name 83  "ps_output"
+                              Name 91  "color"
+                              Decorate 91(color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypePointer Function 6(float)
+               8:             TypeFunction 6(float) 7(ptr) 7(ptr)
+              13:             TypeVector 6(float) 2
+              14:             TypePointer Function 13(fvec2)
+              15:             TypeFunction 13(fvec2) 14(ptr) 14(ptr)
+              20:             TypeVector 6(float) 3
+              21:             TypePointer Function 20(fvec3)
+              22:             TypeFunction 20(fvec3) 21(ptr) 21(ptr)
+              27:             TypeVector 6(float) 4
+              28:             TypePointer Function 27(fvec4)
+              29:             TypeFunction 27(fvec4) 28(ptr) 28(ptr)
+   34(PS_OUTPUT):             TypeStruct 27(fvec4)
+              35:             TypeFunction 34(PS_OUTPUT)
+              40:             TypeInt 32 1
+     41(ResType):             TypeStruct 6(float) 40(int)
+              45:    6(float) Constant 0
+              50:             TypeVector 40(int) 2
+     51(ResType):             TypeStruct 13(fvec2) 50(ivec2)
+              55:    6(float) Constant 1065353216
+              56:    6(float) Constant 1073741824
+              57:   13(fvec2) ConstantComposite 55 56
+              62:             TypeVector 40(int) 3
+     63(ResType):             TypeStruct 20(fvec3) 62(ivec3)
+              67:    6(float) Constant 1077936128
+              68:   20(fvec3) ConstantComposite 55 56 67
+              73:             TypeVector 40(int) 4
+     74(ResType):             TypeStruct 27(fvec4) 73(ivec4)
+              78:    6(float) Constant 1082130432
+              79:   27(fvec4) ConstantComposite 55 56 67 78
+              82:             TypePointer Function 34(PS_OUTPUT)
+              84:     40(int) Constant 0
+              85:   27(fvec4) ConstantComposite 55 55 55 55
+              90:             TypePointer Output 27(fvec4)
+       91(color):     90(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+              92:34(PS_OUTPUT) FunctionCall 36(@main()
+              93:   27(fvec4) CompositeExtract 92 0
+                              Store 91(color) 93
+                              Return
+                              FunctionEnd
+11(PixelShaderFunctionS(f1;f1;):    6(float) Function None 8
+         9(inF0):      7(ptr) FunctionParameter
+        10(inF1):      7(ptr) FunctionParameter
+              12:             Label
+        38(r000):      7(ptr) Variable Function
+              39:    6(float) Load 9(inF0)
+              42: 41(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 39
+              43:     40(int) CompositeExtract 42 1
+                              Store 10(inF1) 43
+              44:    6(float) CompositeExtract 42 0
+                              Store 38(r000) 44
+                              ReturnValue 45
+                              FunctionEnd
+18(PixelShaderFunction2(vf2;vf2;):   13(fvec2) Function None 15
+        16(inF0):     14(ptr) FunctionParameter
+        17(inF1):     14(ptr) FunctionParameter
+              19:             Label
+        48(r000):     14(ptr) Variable Function
+              49:   13(fvec2) Load 16(inF0)
+              52: 51(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 49
+              53:   50(ivec2) CompositeExtract 52 1
+                              Store 17(inF1) 53
+              54:   13(fvec2) CompositeExtract 52 0
+                              Store 48(r000) 54
+                              ReturnValue 57
+                              FunctionEnd
+25(PixelShaderFunction3(vf3;vf3;):   20(fvec3) Function None 22
+        23(inF0):     21(ptr) FunctionParameter
+        24(inF1):     21(ptr) FunctionParameter
+              26:             Label
+        60(r000):     21(ptr) Variable Function
+              61:   20(fvec3) Load 23(inF0)
+              64: 63(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 61
+              65:   62(ivec3) CompositeExtract 64 1
+                              Store 24(inF1) 65
+              66:   20(fvec3) CompositeExtract 64 0
+                              Store 60(r000) 66
+                              ReturnValue 68
+                              FunctionEnd
+32(PixelShaderFunction(vf4;vf4;):   27(fvec4) Function None 29
+        30(inF0):     28(ptr) FunctionParameter
+        31(inF1):     28(ptr) FunctionParameter
+              33:             Label
+        71(r000):     28(ptr) Variable Function
+              72:   27(fvec4) Load 30(inF0)
+              75: 74(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 72
+              76:   73(ivec4) CompositeExtract 75 1
+                              Store 31(inF1) 76
+              77:   27(fvec4) CompositeExtract 75 0
+                              Store 71(r000) 77
+                              ReturnValue 79
+                              FunctionEnd
+      36(@main():34(PS_OUTPUT) Function None 35
+              37:             Label
+   83(ps_output):     82(ptr) Variable Function
+              86:     28(ptr) AccessChain 83(ps_output) 84
+                              Store 86 85
+              87:34(PS_OUTPUT) Load 83(ps_output)
+                              ReturnValue 87
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.intrinsic.frexp.vert.out b/Test/baseResults/hlsl.intrinsic.frexp.vert.out
new file mode 100644
index 0000000000000000000000000000000000000000..b1df12dc7d5436c547d508e1f753190ccfe35f55
--- /dev/null
+++ b/Test/baseResults/hlsl.intrinsic.frexp.vert.out
@@ -0,0 +1,217 @@
+hlsl.intrinsic.frexp.vert
+Shader version: 450
+0:? Sequence
+0:2  Function Definition: VertexShaderFunctionS(f1;f1; ( temp float)
+0:2    Function Parameters: 
+0:2      'inF0' ( in float)
+0:2      'inF1' ( in float)
+0:?     Sequence
+0:3      frexp ( temp float)
+0:3        'inF0' ( in float)
+0:3        'inF1' ( in float)
+0:4      Branch: Return with expression
+0:4        Constant:
+0:4          0.000000
+0:8  Function Definition: VertexShaderFunction2(vf2;vf2; ( temp 2-component vector of float)
+0:8    Function Parameters: 
+0:8      'inF0' ( in 2-component vector of float)
+0:8      'inF1' ( in 2-component vector of float)
+0:?     Sequence
+0:9      frexp ( temp 2-component vector of float)
+0:9        'inF0' ( in 2-component vector of float)
+0:9        'inF1' ( in 2-component vector of float)
+0:10      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:14  Function Definition: VertexShaderFunction3(vf3;vf3; ( temp 3-component vector of float)
+0:14    Function Parameters: 
+0:14      'inF0' ( in 3-component vector of float)
+0:14      'inF1' ( in 3-component vector of float)
+0:?     Sequence
+0:15      frexp ( temp 3-component vector of float)
+0:15        'inF0' ( in 3-component vector of float)
+0:15        'inF1' ( in 3-component vector of float)
+0:16      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:20  Function Definition: VertexShaderFunction4(vf4;vf4; ( temp 4-component vector of float)
+0:20    Function Parameters: 
+0:20      'inF0' ( in 4-component vector of float)
+0:20      'inF1' ( in 4-component vector of float)
+0:?     Sequence
+0:21      frexp ( temp 4-component vector of float)
+0:21        'inF0' ( in 4-component vector of float)
+0:21        'inF1' ( in 4-component vector of float)
+0:22      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:?           4.000000
+0:?   Linker Objects
+
+
+Linked vertex stage:
+
+WARNING: Linking vertex stage: Entry point not found
+
+Shader version: 450
+0:? Sequence
+0:2  Function Definition: VertexShaderFunctionS(f1;f1; ( temp float)
+0:2    Function Parameters: 
+0:2      'inF0' ( in float)
+0:2      'inF1' ( in float)
+0:?     Sequence
+0:3      frexp ( temp float)
+0:3        'inF0' ( in float)
+0:3        'inF1' ( in float)
+0:4      Branch: Return with expression
+0:4        Constant:
+0:4          0.000000
+0:8  Function Definition: VertexShaderFunction2(vf2;vf2; ( temp 2-component vector of float)
+0:8    Function Parameters: 
+0:8      'inF0' ( in 2-component vector of float)
+0:8      'inF1' ( in 2-component vector of float)
+0:?     Sequence
+0:9      frexp ( temp 2-component vector of float)
+0:9        'inF0' ( in 2-component vector of float)
+0:9        'inF1' ( in 2-component vector of float)
+0:10      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:14  Function Definition: VertexShaderFunction3(vf3;vf3; ( temp 3-component vector of float)
+0:14    Function Parameters: 
+0:14      'inF0' ( in 3-component vector of float)
+0:14      'inF1' ( in 3-component vector of float)
+0:?     Sequence
+0:15      frexp ( temp 3-component vector of float)
+0:15        'inF0' ( in 3-component vector of float)
+0:15        'inF1' ( in 3-component vector of float)
+0:16      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:20  Function Definition: VertexShaderFunction4(vf4;vf4; ( temp 4-component vector of float)
+0:20    Function Parameters: 
+0:20      'inF0' ( in 4-component vector of float)
+0:20      'inF1' ( in 4-component vector of float)
+0:?     Sequence
+0:21      frexp ( temp 4-component vector of float)
+0:21        'inF0' ( in 4-component vector of float)
+0:21        'inF1' ( in 4-component vector of float)
+0:22      Branch: Return with expression
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:?           4.000000
+0:?   Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 74
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "VertexShaderFunction"
+                              Name 4  "VertexShaderFunction"
+                              Name 11  "VertexShaderFunctionS(f1;f1;"
+                              Name 9  "inF0"
+                              Name 10  "inF1"
+                              Name 18  "VertexShaderFunction2(vf2;vf2;"
+                              Name 16  "inF0"
+                              Name 17  "inF1"
+                              Name 25  "VertexShaderFunction3(vf3;vf3;"
+                              Name 23  "inF0"
+                              Name 24  "inF1"
+                              Name 32  "VertexShaderFunction4(vf4;vf4;"
+                              Name 30  "inF0"
+                              Name 31  "inF1"
+                              Name 36  "ResType"
+                              Name 45  "ResType"
+                              Name 56  "ResType"
+                              Name 66  "ResType"
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypePointer Function 6(float)
+               8:             TypeFunction 6(float) 7(ptr) 7(ptr)
+              13:             TypeVector 6(float) 2
+              14:             TypePointer Function 13(fvec2)
+              15:             TypeFunction 13(fvec2) 14(ptr) 14(ptr)
+              20:             TypeVector 6(float) 3
+              21:             TypePointer Function 20(fvec3)
+              22:             TypeFunction 20(fvec3) 21(ptr) 21(ptr)
+              27:             TypeVector 6(float) 4
+              28:             TypePointer Function 27(fvec4)
+              29:             TypeFunction 27(fvec4) 28(ptr) 28(ptr)
+              35:             TypeInt 32 1
+     36(ResType):             TypeStruct 6(float) 35(int)
+              40:    6(float) Constant 0
+              44:             TypeVector 35(int) 2
+     45(ResType):             TypeStruct 13(fvec2) 44(ivec2)
+              49:    6(float) Constant 1065353216
+              50:    6(float) Constant 1073741824
+              51:   13(fvec2) ConstantComposite 49 50
+              55:             TypeVector 35(int) 3
+     56(ResType):             TypeStruct 20(fvec3) 55(ivec3)
+              60:    6(float) Constant 1077936128
+              61:   20(fvec3) ConstantComposite 49 50 60
+              65:             TypeVector 35(int) 4
+     66(ResType):             TypeStruct 27(fvec4) 65(ivec4)
+              70:    6(float) Constant 1082130432
+              71:   27(fvec4) ConstantComposite 49 50 60 70
+4(VertexShaderFunction):           2 Function None 3
+               5:             Label
+                              Return
+                              FunctionEnd
+11(VertexShaderFunctionS(f1;f1;):    6(float) Function None 8
+         9(inF0):      7(ptr) FunctionParameter
+        10(inF1):      7(ptr) FunctionParameter
+              12:             Label
+              34:    6(float) Load 9(inF0)
+              37: 36(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 34
+              38:     35(int) CompositeExtract 37 1
+                              Store 10(inF1) 38
+              39:    6(float) CompositeExtract 37 0
+                              ReturnValue 40
+                              FunctionEnd
+18(VertexShaderFunction2(vf2;vf2;):   13(fvec2) Function None 15
+        16(inF0):     14(ptr) FunctionParameter
+        17(inF1):     14(ptr) FunctionParameter
+              19:             Label
+              43:   13(fvec2) Load 16(inF0)
+              46: 45(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 43
+              47:   44(ivec2) CompositeExtract 46 1
+                              Store 17(inF1) 47
+              48:   13(fvec2) CompositeExtract 46 0
+                              ReturnValue 51
+                              FunctionEnd
+25(VertexShaderFunction3(vf3;vf3;):   20(fvec3) Function None 22
+        23(inF0):     21(ptr) FunctionParameter
+        24(inF1):     21(ptr) FunctionParameter
+              26:             Label
+              54:   20(fvec3) Load 23(inF0)
+              57: 56(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 54
+              58:   55(ivec3) CompositeExtract 57 1
+                              Store 24(inF1) 58
+              59:   20(fvec3) CompositeExtract 57 0
+                              ReturnValue 61
+                              FunctionEnd
+32(VertexShaderFunction4(vf4;vf4;):   27(fvec4) Function None 29
+        30(inF0):     28(ptr) FunctionParameter
+        31(inF1):     28(ptr) FunctionParameter
+              33:             Label
+              64:   27(fvec4) Load 30(inF0)
+              67: 66(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 64
+              68:   65(ivec4) CompositeExtract 67 1
+                              Store 31(inF1) 68
+              69:   27(fvec4) CompositeExtract 67 0
+                              ReturnValue 71
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out
index 1dbd218783c7335236ee4187984d8054c86e5d6b..0657894c7c6689c81e56bb2d4e6231c715d0ee19 100644
--- a/Test/baseResults/hlsl.intrinsics.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.frag.out
@@ -174,1967 +174,1931 @@ gl_FragCoord origin is upper left
 0:54            'inF0' ( in float)
 0:55      Sequence
 0:55        move second child to first child ( temp float)
-0:55          'r035' ( temp float)
-0:55          frexp ( temp float)
+0:55          'r036' ( temp float)
+0:55          fwidth ( temp float)
 0:55            'inF0' ( in float)
-0:55            'inF1' ( in float)
 0:56      Sequence
-0:56        move second child to first child ( temp float)
-0:56          'r036' ( temp float)
-0:56          fwidth ( temp float)
+0:56        move second child to first child ( temp bool)
+0:56          'r037' ( temp bool)
+0:56          isinf ( temp bool)
 0:56            'inF0' ( in float)
 0:57      Sequence
 0:57        move second child to first child ( temp bool)
-0:57          'r037' ( temp bool)
-0:57          isinf ( temp bool)
+0:57          'r038' ( temp bool)
+0:57          isnan ( temp bool)
 0:57            'inF0' ( in float)
 0:58      Sequence
-0:58        move second child to first child ( temp bool)
-0:58          'r038' ( temp bool)
-0:58          isnan ( temp bool)
+0:58        move second child to first child ( temp float)
+0:58          'r039' ( temp float)
+0:58          ldexp ( temp float)
 0:58            'inF0' ( in float)
+0:58            'inF1' ( in float)
 0:59      Sequence
 0:59        move second child to first child ( temp float)
-0:59          'r039' ( temp float)
-0:59          ldexp ( temp float)
+0:59          'r039a' ( temp float)
+0:59          mix ( temp float)
 0:59            'inF0' ( in float)
 0:59            'inF1' ( in float)
+0:59            'inF2' ( in float)
 0:60      Sequence
 0:60        move second child to first child ( temp float)
-0:60          'r039a' ( temp float)
-0:60          mix ( temp float)
+0:60          'r040' ( temp float)
+0:60          log ( temp float)
 0:60            'inF0' ( in float)
-0:60            'inF1' ( in float)
-0:60            'inF2' ( in float)
 0:61      Sequence
 0:61        move second child to first child ( temp float)
-0:61          'r040' ( temp float)
-0:61          log ( temp float)
-0:61            'inF0' ( in float)
+0:61          'r041' ( temp float)
+0:61          component-wise multiply ( temp float)
+0:61            log2 ( temp float)
+0:61              'inF0' ( in float)
+0:61            Constant:
+0:61              0.301030
 0:62      Sequence
 0:62        move second child to first child ( temp float)
-0:62          'r041' ( temp float)
-0:62          component-wise multiply ( temp float)
-0:62            log2 ( temp float)
-0:62              'inF0' ( in float)
-0:62            Constant:
-0:62              0.301030
+0:62          'r042' ( temp float)
+0:62          log2 ( temp float)
+0:62            'inF0' ( in float)
 0:63      Sequence
 0:63        move second child to first child ( temp float)
-0:63          'r042' ( temp float)
-0:63          log2 ( temp float)
+0:63          'r043' ( temp float)
+0:63          max ( temp float)
 0:63            'inF0' ( in float)
+0:63            'inF1' ( in float)
 0:64      Sequence
 0:64        move second child to first child ( temp float)
-0:64          'r043' ( temp float)
-0:64          max ( temp float)
+0:64          'r044' ( temp float)
+0:64          min ( temp float)
 0:64            'inF0' ( in float)
 0:64            'inF1' ( in float)
 0:65      Sequence
 0:65        move second child to first child ( temp float)
-0:65          'r044' ( temp float)
-0:65          min ( temp float)
+0:65          'r045' ( temp float)
+0:65          pow ( temp float)
 0:65            'inF0' ( in float)
 0:65            'inF1' ( in float)
 0:66      Sequence
 0:66        move second child to first child ( temp float)
-0:66          'r045' ( temp float)
-0:66          pow ( temp float)
+0:66          'r046' ( temp float)
+0:66          radians ( temp float)
 0:66            'inF0' ( in float)
-0:66            'inF1' ( in float)
 0:67      Sequence
 0:67        move second child to first child ( temp float)
-0:67          'r046' ( temp float)
-0:67          radians ( temp float)
+0:67          'r047' ( temp float)
+0:67          divide ( temp float)
+0:67            Constant:
+0:67              1.000000
 0:67            'inF0' ( in float)
 0:68      Sequence
-0:68        move second child to first child ( temp float)
-0:68          'r047' ( temp float)
-0:68          divide ( temp float)
-0:68            Constant:
-0:68              1.000000
-0:68            'inF0' ( in float)
+0:68        move second child to first child ( temp uint)
+0:68          'r048' ( temp uint)
+0:68          Convert int to uint ( temp uint)
+0:68            bitFieldReverse ( temp int)
+0:68              Constant:
+0:68                2 (const int)
 0:69      Sequence
-0:69        move second child to first child ( temp uint)
-0:69          'r048' ( temp uint)
-0:69          Convert int to uint ( temp uint)
-0:69            bitFieldReverse ( temp int)
-0:69              Constant:
-0:69                2 (const int)
+0:69        move second child to first child ( temp float)
+0:69          'r049' ( temp float)
+0:69          roundEven ( temp float)
+0:69            'inF0' ( in float)
 0:70      Sequence
 0:70        move second child to first child ( temp float)
-0:70          'r049' ( temp float)
-0:70          roundEven ( temp float)
+0:70          'r050' ( temp float)
+0:70          inverse sqrt ( temp float)
 0:70            'inF0' ( in float)
 0:71      Sequence
 0:71        move second child to first child ( temp float)
-0:71          'r050' ( temp float)
-0:71          inverse sqrt ( temp float)
+0:71          'r051' ( temp float)
+0:71          clamp ( temp float)
 0:71            'inF0' ( in float)
+0:71            Constant:
+0:71              0.000000
+0:71            Constant:
+0:71              1.000000
 0:72      Sequence
 0:72        move second child to first child ( temp float)
-0:72          'r051' ( temp float)
-0:72          clamp ( temp float)
+0:72          'r052' ( temp float)
+0:72          Sign ( temp float)
 0:72            'inF0' ( in float)
-0:72            Constant:
-0:72              0.000000
-0:72            Constant:
-0:72              1.000000
 0:73      Sequence
 0:73        move second child to first child ( temp float)
-0:73          'r052' ( temp float)
-0:73          Sign ( temp float)
+0:73          'r053' ( temp float)
+0:73          sine ( temp float)
 0:73            'inF0' ( in float)
 0:74      Sequence
 0:74        move second child to first child ( temp float)
-0:74          'r053' ( temp float)
+0:74          'inF1' ( in float)
 0:74          sine ( temp float)
 0:74            'inF0' ( in float)
+0:74        move second child to first child ( temp float)
+0:74          'inF2' ( in float)
+0:74          cosine ( temp float)
+0:74            'inF0' ( in float)
 0:75      Sequence
 0:75        move second child to first child ( temp float)
-0:75          'inF1' ( in float)
-0:75          sine ( temp float)
-0:75            'inF0' ( in float)
-0:75        move second child to first child ( temp float)
-0:75          'inF2' ( in float)
-0:75          cosine ( temp float)
+0:75          'r055' ( temp float)
+0:75          hyp. sine ( temp float)
 0:75            'inF0' ( in float)
 0:76      Sequence
 0:76        move second child to first child ( temp float)
-0:76          'r055' ( temp float)
-0:76          hyp. sine ( temp float)
+0:76          'r056' ( temp float)
+0:76          smoothstep ( temp float)
 0:76            'inF0' ( in float)
+0:76            'inF1' ( in float)
+0:76            'inF2' ( in float)
 0:77      Sequence
 0:77        move second child to first child ( temp float)
-0:77          'r056' ( temp float)
-0:77          smoothstep ( temp float)
+0:77          'r057' ( temp float)
+0:77          sqrt ( temp float)
 0:77            'inF0' ( in float)
-0:77            'inF1' ( in float)
-0:77            'inF2' ( in float)
 0:78      Sequence
 0:78        move second child to first child ( temp float)
-0:78          'r057' ( temp float)
-0:78          sqrt ( temp float)
+0:78          'r058' ( temp float)
+0:78          step ( temp float)
 0:78            'inF0' ( in float)
+0:78            'inF1' ( in float)
 0:79      Sequence
 0:79        move second child to first child ( temp float)
-0:79          'r058' ( temp float)
-0:79          step ( temp float)
+0:79          'r059' ( temp float)
+0:79          tangent ( temp float)
 0:79            'inF0' ( in float)
-0:79            'inF1' ( in float)
 0:80      Sequence
 0:80        move second child to first child ( temp float)
-0:80          'r059' ( temp float)
-0:80          tangent ( temp float)
+0:80          'r060' ( temp float)
+0:80          hyp. tangent ( temp float)
 0:80            'inF0' ( in float)
-0:81      Sequence
-0:81        move second child to first child ( temp float)
-0:81          'r060' ( temp float)
-0:81          hyp. tangent ( temp float)
-0:81            'inF0' ( in float)
-0:83      Sequence
-0:83        move second child to first child ( temp float)
-0:83          'r061' ( temp float)
-0:83          trunc ( temp float)
-0:83            'inF0' ( in float)
-0:85      Branch: Return with expression
-0:85        Constant:
-0:85          0.000000
-0:89  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
-0:89    Function Parameters: 
-0:89      'inF0' ( in 1-component vector of float)
-0:89      'inF1' ( in 1-component vector of float)
-0:89      'inF2' ( in 1-component vector of float)
+0:82      Sequence
+0:82        move second child to first child ( temp float)
+0:82          'r061' ( temp float)
+0:82          trunc ( temp float)
+0:82            'inF0' ( in float)
+0:84      Branch: Return with expression
+0:84        Constant:
+0:84          0.000000
+0:88  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:88    Function Parameters: 
+0:88      'inF0' ( in 1-component vector of float)
+0:88      'inF1' ( in 1-component vector of float)
+0:88      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-0:91      Branch: Return with expression
-0:91        Constant:
-0:91          0.000000
-0:95  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
-0:95    Function Parameters: 
-0:95      'inF0' ( in 2-component vector of float)
-0:95      'inF1' ( in 2-component vector of float)
-0:95      'inF2' ( in 2-component vector of float)
-0:95      'inU0' ( in 2-component vector of uint)
-0:95      'inU1' ( in 2-component vector of uint)
+0:90      Branch: Return with expression
+0:90        Constant:
+0:90          0.000000
+0:94  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:94    Function Parameters: 
+0:94      'inF0' ( in 2-component vector of float)
+0:94      'inF1' ( in 2-component vector of float)
+0:94      'inF2' ( in 2-component vector of float)
+0:94      'inU0' ( in 2-component vector of uint)
+0:94      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
+0:97      Sequence
+0:97        move second child to first child ( temp bool)
+0:97          'r000' ( temp bool)
+0:97          all ( temp bool)
+0:97            'inF0' ( in 2-component vector of float)
 0:98      Sequence
-0:98        move second child to first child ( temp bool)
-0:98          'r000' ( temp bool)
-0:98          all ( temp bool)
+0:98        move second child to first child ( temp 2-component vector of float)
+0:98          'r001' ( temp 2-component vector of float)
+0:98          Absolute value ( temp 2-component vector of float)
 0:98            'inF0' ( in 2-component vector of float)
 0:99      Sequence
 0:99        move second child to first child ( temp 2-component vector of float)
-0:99          'r001' ( temp 2-component vector of float)
-0:99          Absolute value ( temp 2-component vector of float)
+0:99          'r002' ( temp 2-component vector of float)
+0:99          arc cosine ( temp 2-component vector of float)
 0:99            'inF0' ( in 2-component vector of float)
 0:100      Sequence
-0:100        move second child to first child ( temp 2-component vector of float)
-0:100          'r002' ( temp 2-component vector of float)
-0:100          arc cosine ( temp 2-component vector of float)
+0:100        move second child to first child ( temp bool)
+0:100          'r003' ( temp bool)
+0:100          any ( temp bool)
 0:100            'inF0' ( in 2-component vector of float)
 0:101      Sequence
-0:101        move second child to first child ( temp bool)
-0:101          'r003' ( temp bool)
-0:101          any ( temp bool)
+0:101        move second child to first child ( temp 2-component vector of float)
+0:101          'r004' ( temp 2-component vector of float)
+0:101          arc sine ( temp 2-component vector of float)
 0:101            'inF0' ( in 2-component vector of float)
 0:102      Sequence
-0:102        move second child to first child ( temp 2-component vector of float)
-0:102          'r004' ( temp 2-component vector of float)
-0:102          arc sine ( temp 2-component vector of float)
+0:102        move second child to first child ( temp 2-component vector of int)
+0:102          'r005' ( temp 2-component vector of int)
+0:102          floatBitsToInt ( temp 2-component vector of int)
 0:102            'inF0' ( in 2-component vector of float)
 0:103      Sequence
-0:103        move second child to first child ( temp 2-component vector of int)
-0:103          'r005' ( temp 2-component vector of int)
-0:103          floatBitsToInt ( temp 2-component vector of int)
+0:103        move second child to first child ( temp 2-component vector of uint)
+0:103          'r006' ( temp 2-component vector of uint)
+0:103          floatBitsToUint ( temp 2-component vector of uint)
 0:103            'inF0' ( in 2-component vector of float)
 0:104      Sequence
-0:104        move second child to first child ( temp 2-component vector of uint)
-0:104          'r006' ( temp 2-component vector of uint)
-0:104          floatBitsToUint ( temp 2-component vector of uint)
-0:104            'inF0' ( in 2-component vector of float)
-0:105      Sequence
-0:105        move second child to first child ( temp 2-component vector of float)
-0:105          'r007' ( temp 2-component vector of float)
-0:105          intBitsToFloat ( temp 2-component vector of float)
-0:105            'inU0' ( in 2-component vector of uint)
+0:104        move second child to first child ( temp 2-component vector of float)
+0:104          'r007' ( temp 2-component vector of float)
+0:104          intBitsToFloat ( temp 2-component vector of float)
+0:104            'inU0' ( in 2-component vector of uint)
+0:106      Sequence
+0:106        move second child to first child ( temp 2-component vector of float)
+0:106          'r009' ( temp 2-component vector of float)
+0:106          arc tangent ( temp 2-component vector of float)
+0:106            'inF0' ( in 2-component vector of float)
 0:107      Sequence
 0:107        move second child to first child ( temp 2-component vector of float)
-0:107          'r009' ( temp 2-component vector of float)
+0:107          'r010' ( temp 2-component vector of float)
 0:107          arc tangent ( temp 2-component vector of float)
 0:107            'inF0' ( in 2-component vector of float)
+0:107            'inF1' ( in 2-component vector of float)
 0:108      Sequence
 0:108        move second child to first child ( temp 2-component vector of float)
-0:108          'r010' ( temp 2-component vector of float)
-0:108          arc tangent ( temp 2-component vector of float)
+0:108          'r011' ( temp 2-component vector of float)
+0:108          Ceiling ( temp 2-component vector of float)
 0:108            'inF0' ( in 2-component vector of float)
-0:108            'inF1' ( in 2-component vector of float)
 0:109      Sequence
 0:109        move second child to first child ( temp 2-component vector of float)
-0:109          'r011' ( temp 2-component vector of float)
-0:109          Ceiling ( temp 2-component vector of float)
+0:109          'r012' ( temp 2-component vector of float)
+0:109          clamp ( temp 2-component vector of float)
 0:109            'inF0' ( in 2-component vector of float)
-0:110      Sequence
-0:110        move second child to first child ( temp 2-component vector of float)
-0:110          'r012' ( temp 2-component vector of float)
-0:110          clamp ( temp 2-component vector of float)
+0:109            'inF1' ( in 2-component vector of float)
+0:109            'inF2' ( in 2-component vector of float)
+0:110      Test condition and select ( temp void)
+0:110        Condition
+0:110        any ( temp bool)
+0:110          Compare Less Than ( temp 2-component vector of bool)
 0:110            'inF0' ( in 2-component vector of float)
-0:110            'inF1' ( in 2-component vector of float)
-0:110            'inF2' ( in 2-component vector of float)
-0:111      Test condition and select ( temp void)
-0:111        Condition
-0:111        any ( temp bool)
-0:111          Compare Less Than ( temp 2-component vector of bool)
+0:110            Constant:
+0:110              0.000000
+0:110              0.000000
+0:110        true case
+0:110        Branch: Kill
+0:111      Sequence
+0:111        move second child to first child ( temp 2-component vector of float)
+0:111          'r013' ( temp 2-component vector of float)
+0:111          cosine ( temp 2-component vector of float)
 0:111            'inF0' ( in 2-component vector of float)
-0:111            Constant:
-0:111              0.000000
-0:111              0.000000
-0:111        true case
-0:111        Branch: Kill
 0:112      Sequence
 0:112        move second child to first child ( temp 2-component vector of float)
-0:112          'r013' ( temp 2-component vector of float)
-0:112          cosine ( temp 2-component vector of float)
+0:112          'r015' ( temp 2-component vector of float)
+0:112          hyp. cosine ( temp 2-component vector of float)
 0:112            'inF0' ( in 2-component vector of float)
 0:113      Sequence
-0:113        move second child to first child ( temp 2-component vector of float)
-0:113          'r015' ( temp 2-component vector of float)
-0:113          hyp. cosine ( temp 2-component vector of float)
-0:113            'inF0' ( in 2-component vector of float)
-0:114      Sequence
-0:114        move second child to first child ( temp 2-component vector of int)
-0:114          'r016' ( temp 2-component vector of int)
+0:113        move second child to first child ( temp 2-component vector of int)
+0:113          'r016' ( temp 2-component vector of int)
 0:?           bitCount ( temp 2-component vector of int)
 0:?             Constant:
 0:?               7 (const int)
 0:?               3 (const int)
+0:114      Sequence
+0:114        move second child to first child ( temp 2-component vector of float)
+0:114          'r017' ( temp 2-component vector of float)
+0:114          dPdx ( temp 2-component vector of float)
+0:114            'inF0' ( in 2-component vector of float)
 0:115      Sequence
 0:115        move second child to first child ( temp 2-component vector of float)
-0:115          'r017' ( temp 2-component vector of float)
-0:115          dPdx ( temp 2-component vector of float)
+0:115          'r018' ( temp 2-component vector of float)
+0:115          dPdxCoarse ( temp 2-component vector of float)
 0:115            'inF0' ( in 2-component vector of float)
 0:116      Sequence
 0:116        move second child to first child ( temp 2-component vector of float)
-0:116          'r018' ( temp 2-component vector of float)
-0:116          dPdxCoarse ( temp 2-component vector of float)
+0:116          'r019' ( temp 2-component vector of float)
+0:116          dPdxFine ( temp 2-component vector of float)
 0:116            'inF0' ( in 2-component vector of float)
 0:117      Sequence
 0:117        move second child to first child ( temp 2-component vector of float)
-0:117          'r019' ( temp 2-component vector of float)
-0:117          dPdxFine ( temp 2-component vector of float)
+0:117          'r020' ( temp 2-component vector of float)
+0:117          dPdy ( temp 2-component vector of float)
 0:117            'inF0' ( in 2-component vector of float)
 0:118      Sequence
 0:118        move second child to first child ( temp 2-component vector of float)
-0:118          'r020' ( temp 2-component vector of float)
-0:118          dPdy ( temp 2-component vector of float)
+0:118          'r021' ( temp 2-component vector of float)
+0:118          dPdyCoarse ( temp 2-component vector of float)
 0:118            'inF0' ( in 2-component vector of float)
 0:119      Sequence
 0:119        move second child to first child ( temp 2-component vector of float)
-0:119          'r021' ( temp 2-component vector of float)
-0:119          dPdyCoarse ( temp 2-component vector of float)
+0:119          'r022' ( temp 2-component vector of float)
+0:119          dPdyFine ( temp 2-component vector of float)
 0:119            'inF0' ( in 2-component vector of float)
 0:120      Sequence
 0:120        move second child to first child ( temp 2-component vector of float)
-0:120          'r022' ( temp 2-component vector of float)
-0:120          dPdyFine ( temp 2-component vector of float)
+0:120          'r023' ( temp 2-component vector of float)
+0:120          degrees ( temp 2-component vector of float)
 0:120            'inF0' ( in 2-component vector of float)
-0:121      Sequence
-0:121        move second child to first child ( temp 2-component vector of float)
-0:121          'r023' ( temp 2-component vector of float)
-0:121          degrees ( temp 2-component vector of float)
-0:121            'inF0' ( in 2-component vector of float)
+0:124      Sequence
+0:124        move second child to first child ( temp float)
+0:124          'r026' ( temp float)
+0:124          distance ( temp float)
+0:124            'inF0' ( in 2-component vector of float)
+0:124            'inF1' ( in 2-component vector of float)
 0:125      Sequence
 0:125        move second child to first child ( temp float)
-0:125          'r026' ( temp float)
-0:125          distance ( temp float)
+0:125          'r027' ( temp float)
+0:125          dot-product ( temp float)
 0:125            'inF0' ( in 2-component vector of float)
 0:125            'inF1' ( in 2-component vector of float)
-0:126      Sequence
-0:126        move second child to first child ( temp float)
-0:126          'r027' ( temp float)
-0:126          dot-product ( temp float)
-0:126            'inF0' ( in 2-component vector of float)
-0:126            'inF1' ( in 2-component vector of float)
+0:129      Sequence
+0:129        move second child to first child ( temp 2-component vector of float)
+0:129          'r028' ( temp 2-component vector of float)
+0:129          exp ( temp 2-component vector of float)
+0:129            'inF0' ( in 2-component vector of float)
 0:130      Sequence
 0:130        move second child to first child ( temp 2-component vector of float)
-0:130          'r028' ( temp 2-component vector of float)
-0:130          exp ( temp 2-component vector of float)
+0:130          'r029' ( temp 2-component vector of float)
+0:130          exp2 ( temp 2-component vector of float)
 0:130            'inF0' ( in 2-component vector of float)
 0:131      Sequence
 0:131        move second child to first child ( temp 2-component vector of float)
-0:131          'r029' ( temp 2-component vector of float)
-0:131          exp2 ( temp 2-component vector of float)
+0:131          'r030' ( temp 2-component vector of float)
+0:131          face-forward ( temp 2-component vector of float)
 0:131            'inF0' ( in 2-component vector of float)
+0:131            'inF1' ( in 2-component vector of float)
+0:131            'inF2' ( in 2-component vector of float)
 0:132      Sequence
-0:132        move second child to first child ( temp 2-component vector of float)
-0:132          'r030' ( temp 2-component vector of float)
-0:132          face-forward ( temp 2-component vector of float)
-0:132            'inF0' ( in 2-component vector of float)
-0:132            'inF1' ( in 2-component vector of float)
-0:132            'inF2' ( in 2-component vector of float)
-0:133      Sequence
-0:133        move second child to first child ( temp 2-component vector of uint)
-0:133          'r031' ( temp 2-component vector of uint)
+0:132        move second child to first child ( temp 2-component vector of uint)
+0:132          'r031' ( temp 2-component vector of uint)
 0:?           findMSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:134      Sequence
-0:134        move second child to first child ( temp 2-component vector of uint)
-0:134          'r032' ( temp 2-component vector of uint)
+0:133      Sequence
+0:133        move second child to first child ( temp 2-component vector of uint)
+0:133          'r032' ( temp 2-component vector of uint)
 0:?           findLSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:135      Sequence
-0:135        move second child to first child ( temp 2-component vector of float)
-0:135          'r033' ( temp 2-component vector of float)
-0:135          Floor ( temp 2-component vector of float)
-0:135            'inF0' ( in 2-component vector of float)
+0:134      Sequence
+0:134        move second child to first child ( temp 2-component vector of float)
+0:134          'r033' ( temp 2-component vector of float)
+0:134          Floor ( temp 2-component vector of float)
+0:134            'inF0' ( in 2-component vector of float)
+0:136      Sequence
+0:136        move second child to first child ( temp 2-component vector of float)
+0:136          'r035' ( temp 2-component vector of float)
+0:136          mod ( temp 2-component vector of float)
+0:136            'inF0' ( in 2-component vector of float)
+0:136            'inF1' ( in 2-component vector of float)
 0:137      Sequence
 0:137        move second child to first child ( temp 2-component vector of float)
-0:137          'r035' ( temp 2-component vector of float)
-0:137          mod ( temp 2-component vector of float)
+0:137          'r036' ( temp 2-component vector of float)
+0:137          Fraction ( temp 2-component vector of float)
 0:137            'inF0' ( in 2-component vector of float)
-0:137            'inF1' ( in 2-component vector of float)
 0:138      Sequence
 0:138        move second child to first child ( temp 2-component vector of float)
-0:138          'r036' ( temp 2-component vector of float)
-0:138          Fraction ( temp 2-component vector of float)
+0:138          'r038' ( temp 2-component vector of float)
+0:138          fwidth ( temp 2-component vector of float)
 0:138            'inF0' ( in 2-component vector of float)
 0:139      Sequence
-0:139        move second child to first child ( temp 2-component vector of float)
-0:139          'r037' ( temp 2-component vector of float)
-0:139          frexp ( temp 2-component vector of float)
+0:139        move second child to first child ( temp 2-component vector of bool)
+0:139          'r039' ( temp 2-component vector of bool)
+0:139          isinf ( temp 2-component vector of bool)
 0:139            'inF0' ( in 2-component vector of float)
-0:139            'inF1' ( in 2-component vector of float)
 0:140      Sequence
-0:140        move second child to first child ( temp 2-component vector of float)
-0:140          'r038' ( temp 2-component vector of float)
-0:140          fwidth ( temp 2-component vector of float)
+0:140        move second child to first child ( temp 2-component vector of bool)
+0:140          'r040' ( temp 2-component vector of bool)
+0:140          isnan ( temp 2-component vector of bool)
 0:140            'inF0' ( in 2-component vector of float)
 0:141      Sequence
-0:141        move second child to first child ( temp 2-component vector of bool)
-0:141          'r039' ( temp 2-component vector of bool)
-0:141          isinf ( temp 2-component vector of bool)
+0:141        move second child to first child ( temp 2-component vector of float)
+0:141          'r041' ( temp 2-component vector of float)
+0:141          ldexp ( temp 2-component vector of float)
 0:141            'inF0' ( in 2-component vector of float)
+0:141            'inF1' ( in 2-component vector of float)
 0:142      Sequence
-0:142        move second child to first child ( temp 2-component vector of bool)
-0:142          'r040' ( temp 2-component vector of bool)
-0:142          isnan ( temp 2-component vector of bool)
+0:142        move second child to first child ( temp 2-component vector of float)
+0:142          'r039a' ( temp 2-component vector of float)
+0:142          mix ( temp 2-component vector of float)
 0:142            'inF0' ( in 2-component vector of float)
+0:142            'inF1' ( in 2-component vector of float)
+0:142            'inF2' ( in 2-component vector of float)
 0:143      Sequence
-0:143        move second child to first child ( temp 2-component vector of float)
-0:143          'r041' ( temp 2-component vector of float)
-0:143          ldexp ( temp 2-component vector of float)
+0:143        move second child to first child ( temp float)
+0:143          'r042' ( temp float)
+0:143          length ( temp float)
 0:143            'inF0' ( in 2-component vector of float)
-0:143            'inF1' ( in 2-component vector of float)
 0:144      Sequence
 0:144        move second child to first child ( temp 2-component vector of float)
-0:144          'r039a' ( temp 2-component vector of float)
-0:144          mix ( temp 2-component vector of float)
+0:144          'r043' ( temp 2-component vector of float)
+0:144          log ( temp 2-component vector of float)
 0:144            'inF0' ( in 2-component vector of float)
-0:144            'inF1' ( in 2-component vector of float)
-0:144            'inF2' ( in 2-component vector of float)
 0:145      Sequence
-0:145        move second child to first child ( temp float)
-0:145          'r042' ( temp float)
-0:145          length ( temp float)
-0:145            'inF0' ( in 2-component vector of float)
+0:145        move second child to first child ( temp 2-component vector of float)
+0:145          'r044' ( temp 2-component vector of float)
+0:145          vector-scale ( temp 2-component vector of float)
+0:145            log2 ( temp 2-component vector of float)
+0:145              'inF0' ( in 2-component vector of float)
+0:145            Constant:
+0:145              0.301030
 0:146      Sequence
 0:146        move second child to first child ( temp 2-component vector of float)
-0:146          'r043' ( temp 2-component vector of float)
-0:146          log ( temp 2-component vector of float)
+0:146          'r045' ( temp 2-component vector of float)
+0:146          log2 ( temp 2-component vector of float)
 0:146            'inF0' ( in 2-component vector of float)
 0:147      Sequence
 0:147        move second child to first child ( temp 2-component vector of float)
-0:147          'r044' ( temp 2-component vector of float)
-0:147          vector-scale ( temp 2-component vector of float)
-0:147            log2 ( temp 2-component vector of float)
-0:147              'inF0' ( in 2-component vector of float)
-0:147            Constant:
-0:147              0.301030
+0:147          'r046' ( temp 2-component vector of float)
+0:147          max ( temp 2-component vector of float)
+0:147            'inF0' ( in 2-component vector of float)
+0:147            'inF1' ( in 2-component vector of float)
 0:148      Sequence
 0:148        move second child to first child ( temp 2-component vector of float)
-0:148          'r045' ( temp 2-component vector of float)
-0:148          log2 ( temp 2-component vector of float)
+0:148          'r047' ( temp 2-component vector of float)
+0:148          min ( temp 2-component vector of float)
 0:148            'inF0' ( in 2-component vector of float)
+0:148            'inF1' ( in 2-component vector of float)
 0:149      Sequence
 0:149        move second child to first child ( temp 2-component vector of float)
-0:149          'r046' ( temp 2-component vector of float)
-0:149          max ( temp 2-component vector of float)
+0:149          'r048' ( temp 2-component vector of float)
+0:149          normalize ( temp 2-component vector of float)
 0:149            'inF0' ( in 2-component vector of float)
-0:149            'inF1' ( in 2-component vector of float)
 0:150      Sequence
 0:150        move second child to first child ( temp 2-component vector of float)
-0:150          'r047' ( temp 2-component vector of float)
-0:150          min ( temp 2-component vector of float)
+0:150          'r049' ( temp 2-component vector of float)
+0:150          pow ( temp 2-component vector of float)
 0:150            'inF0' ( in 2-component vector of float)
 0:150            'inF1' ( in 2-component vector of float)
 0:151      Sequence
 0:151        move second child to first child ( temp 2-component vector of float)
-0:151          'r048' ( temp 2-component vector of float)
-0:151          normalize ( temp 2-component vector of float)
+0:151          'r050' ( temp 2-component vector of float)
+0:151          radians ( temp 2-component vector of float)
 0:151            'inF0' ( in 2-component vector of float)
 0:152      Sequence
 0:152        move second child to first child ( temp 2-component vector of float)
-0:152          'r049' ( temp 2-component vector of float)
-0:152          pow ( temp 2-component vector of float)
+0:152          'r051' ( temp 2-component vector of float)
+0:152          divide ( temp 2-component vector of float)
+0:152            Constant:
+0:152              1.000000
 0:152            'inF0' ( in 2-component vector of float)
-0:152            'inF1' ( in 2-component vector of float)
 0:153      Sequence
 0:153        move second child to first child ( temp 2-component vector of float)
-0:153          'r050' ( temp 2-component vector of float)
-0:153          radians ( temp 2-component vector of float)
+0:153          'r052' ( temp 2-component vector of float)
+0:153          reflect ( temp 2-component vector of float)
 0:153            'inF0' ( in 2-component vector of float)
+0:153            'inF1' ( in 2-component vector of float)
 0:154      Sequence
 0:154        move second child to first child ( temp 2-component vector of float)
-0:154          'r051' ( temp 2-component vector of float)
-0:154          divide ( temp 2-component vector of float)
-0:154            Constant:
-0:154              1.000000
+0:154          'r053' ( temp 2-component vector of float)
+0:154          refract ( temp 2-component vector of float)
 0:154            'inF0' ( in 2-component vector of float)
+0:154            'inF1' ( in 2-component vector of float)
+0:154            Constant:
+0:154              2.000000
 0:155      Sequence
-0:155        move second child to first child ( temp 2-component vector of float)
-0:155          'r052' ( temp 2-component vector of float)
-0:155          reflect ( temp 2-component vector of float)
-0:155            'inF0' ( in 2-component vector of float)
-0:155            'inF1' ( in 2-component vector of float)
-0:156      Sequence
-0:156        move second child to first child ( temp 2-component vector of float)
-0:156          'r053' ( temp 2-component vector of float)
-0:156          refract ( temp 2-component vector of float)
-0:156            'inF0' ( in 2-component vector of float)
-0:156            'inF1' ( in 2-component vector of float)
-0:156            Constant:
-0:156              2.000000
-0:157      Sequence
-0:157        move second child to first child ( temp 2-component vector of uint)
-0:157          'r054' ( temp 2-component vector of uint)
+0:155        move second child to first child ( temp 2-component vector of uint)
+0:155          'r054' ( temp 2-component vector of uint)
 0:?           bitFieldReverse ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
+0:156      Sequence
+0:156        move second child to first child ( temp 2-component vector of float)
+0:156          'r055' ( temp 2-component vector of float)
+0:156          roundEven ( temp 2-component vector of float)
+0:156            'inF0' ( in 2-component vector of float)
+0:157      Sequence
+0:157        move second child to first child ( temp 2-component vector of float)
+0:157          'r056' ( temp 2-component vector of float)
+0:157          inverse sqrt ( temp 2-component vector of float)
+0:157            'inF0' ( in 2-component vector of float)
 0:158      Sequence
 0:158        move second child to first child ( temp 2-component vector of float)
-0:158          'r055' ( temp 2-component vector of float)
-0:158          roundEven ( temp 2-component vector of float)
+0:158          'r057' ( temp 2-component vector of float)
+0:158          clamp ( temp 2-component vector of float)
 0:158            'inF0' ( in 2-component vector of float)
+0:158            Constant:
+0:158              0.000000
+0:158            Constant:
+0:158              1.000000
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of float)
-0:159          'r056' ( temp 2-component vector of float)
-0:159          inverse sqrt ( temp 2-component vector of float)
+0:159          'r058' ( temp 2-component vector of float)
+0:159          Sign ( temp 2-component vector of float)
 0:159            'inF0' ( in 2-component vector of float)
 0:160      Sequence
 0:160        move second child to first child ( temp 2-component vector of float)
-0:160          'r057' ( temp 2-component vector of float)
-0:160          clamp ( temp 2-component vector of float)
+0:160          'r059' ( temp 2-component vector of float)
+0:160          sine ( temp 2-component vector of float)
 0:160            'inF0' ( in 2-component vector of float)
-0:160            Constant:
-0:160              0.000000
-0:160            Constant:
-0:160              1.000000
 0:161      Sequence
 0:161        move second child to first child ( temp 2-component vector of float)
-0:161          'r058' ( temp 2-component vector of float)
-0:161          Sign ( temp 2-component vector of float)
+0:161          'inF1' ( in 2-component vector of float)
+0:161          sine ( temp 2-component vector of float)
+0:161            'inF0' ( in 2-component vector of float)
+0:161        move second child to first child ( temp 2-component vector of float)
+0:161          'inF2' ( in 2-component vector of float)
+0:161          cosine ( temp 2-component vector of float)
 0:161            'inF0' ( in 2-component vector of float)
 0:162      Sequence
 0:162        move second child to first child ( temp 2-component vector of float)
-0:162          'r059' ( temp 2-component vector of float)
-0:162          sine ( temp 2-component vector of float)
+0:162          'r060' ( temp 2-component vector of float)
+0:162          hyp. sine ( temp 2-component vector of float)
 0:162            'inF0' ( in 2-component vector of float)
 0:163      Sequence
 0:163        move second child to first child ( temp 2-component vector of float)
-0:163          'inF1' ( in 2-component vector of float)
-0:163          sine ( temp 2-component vector of float)
-0:163            'inF0' ( in 2-component vector of float)
-0:163        move second child to first child ( temp 2-component vector of float)
-0:163          'inF2' ( in 2-component vector of float)
-0:163          cosine ( temp 2-component vector of float)
+0:163          'r061' ( temp 2-component vector of float)
+0:163          smoothstep ( temp 2-component vector of float)
 0:163            'inF0' ( in 2-component vector of float)
+0:163            'inF1' ( in 2-component vector of float)
+0:163            'inF2' ( in 2-component vector of float)
 0:164      Sequence
 0:164        move second child to first child ( temp 2-component vector of float)
-0:164          'r060' ( temp 2-component vector of float)
-0:164          hyp. sine ( temp 2-component vector of float)
+0:164          'r062' ( temp 2-component vector of float)
+0:164          sqrt ( temp 2-component vector of float)
 0:164            'inF0' ( in 2-component vector of float)
 0:165      Sequence
 0:165        move second child to first child ( temp 2-component vector of float)
-0:165          'r061' ( temp 2-component vector of float)
-0:165          smoothstep ( temp 2-component vector of float)
+0:165          'r063' ( temp 2-component vector of float)
+0:165          step ( temp 2-component vector of float)
 0:165            'inF0' ( in 2-component vector of float)
 0:165            'inF1' ( in 2-component vector of float)
-0:165            'inF2' ( in 2-component vector of float)
 0:166      Sequence
 0:166        move second child to first child ( temp 2-component vector of float)
-0:166          'r062' ( temp 2-component vector of float)
-0:166          sqrt ( temp 2-component vector of float)
+0:166          'r064' ( temp 2-component vector of float)
+0:166          tangent ( temp 2-component vector of float)
 0:166            'inF0' ( in 2-component vector of float)
 0:167      Sequence
 0:167        move second child to first child ( temp 2-component vector of float)
-0:167          'r063' ( temp 2-component vector of float)
-0:167          step ( temp 2-component vector of float)
+0:167          'r065' ( temp 2-component vector of float)
+0:167          hyp. tangent ( temp 2-component vector of float)
 0:167            'inF0' ( in 2-component vector of float)
-0:167            'inF1' ( in 2-component vector of float)
-0:168      Sequence
-0:168        move second child to first child ( temp 2-component vector of float)
-0:168          'r064' ( temp 2-component vector of float)
-0:168          tangent ( temp 2-component vector of float)
-0:168            'inF0' ( in 2-component vector of float)
 0:169      Sequence
 0:169        move second child to first child ( temp 2-component vector of float)
-0:169          'r065' ( temp 2-component vector of float)
-0:169          hyp. tangent ( temp 2-component vector of float)
+0:169          'r066' ( temp 2-component vector of float)
+0:169          trunc ( temp 2-component vector of float)
 0:169            'inF0' ( in 2-component vector of float)
-0:171      Sequence
-0:171        move second child to first child ( temp 2-component vector of float)
-0:171          'r066' ( temp 2-component vector of float)
-0:171          trunc ( temp 2-component vector of float)
-0:171            'inF0' ( in 2-component vector of float)
-0:174      Branch: Return with expression
+0:172      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:178  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
-0:178    Function Parameters: 
-0:178      'inF0' ( in 3-component vector of float)
-0:178      'inF1' ( in 3-component vector of float)
-0:178      'inF2' ( in 3-component vector of float)
-0:178      'inU0' ( in 3-component vector of uint)
-0:178      'inU1' ( in 3-component vector of uint)
+0:176  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:176    Function Parameters: 
+0:176      'inF0' ( in 3-component vector of float)
+0:176      'inF1' ( in 3-component vector of float)
+0:176      'inF2' ( in 3-component vector of float)
+0:176      'inU0' ( in 3-component vector of uint)
+0:176      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
+0:179      Sequence
+0:179        move second child to first child ( temp bool)
+0:179          'r000' ( temp bool)
+0:179          all ( temp bool)
+0:179            'inF0' ( in 3-component vector of float)
+0:180      Sequence
+0:180        move second child to first child ( temp 3-component vector of float)
+0:180          'r001' ( temp 3-component vector of float)
+0:180          Absolute value ( temp 3-component vector of float)
+0:180            'inF0' ( in 3-component vector of float)
 0:181      Sequence
-0:181        move second child to first child ( temp bool)
-0:181          'r000' ( temp bool)
-0:181          all ( temp bool)
+0:181        move second child to first child ( temp 3-component vector of float)
+0:181          'r002' ( temp 3-component vector of float)
+0:181          arc cosine ( temp 3-component vector of float)
 0:181            'inF0' ( in 3-component vector of float)
 0:182      Sequence
-0:182        move second child to first child ( temp 3-component vector of float)
-0:182          'r001' ( temp 3-component vector of float)
-0:182          Absolute value ( temp 3-component vector of float)
+0:182        move second child to first child ( temp bool)
+0:182          'r003' ( temp bool)
+0:182          any ( temp bool)
 0:182            'inF0' ( in 3-component vector of float)
 0:183      Sequence
 0:183        move second child to first child ( temp 3-component vector of float)
-0:183          'r002' ( temp 3-component vector of float)
-0:183          arc cosine ( temp 3-component vector of float)
+0:183          'r004' ( temp 3-component vector of float)
+0:183          arc sine ( temp 3-component vector of float)
 0:183            'inF0' ( in 3-component vector of float)
 0:184      Sequence
-0:184        move second child to first child ( temp bool)
-0:184          'r003' ( temp bool)
-0:184          any ( temp bool)
+0:184        move second child to first child ( temp 3-component vector of int)
+0:184          'r005' ( temp 3-component vector of int)
+0:184          floatBitsToInt ( temp 3-component vector of int)
 0:184            'inF0' ( in 3-component vector of float)
 0:185      Sequence
-0:185        move second child to first child ( temp 3-component vector of float)
-0:185          'r004' ( temp 3-component vector of float)
-0:185          arc sine ( temp 3-component vector of float)
+0:185        move second child to first child ( temp 3-component vector of uint)
+0:185          'r006' ( temp 3-component vector of uint)
+0:185          floatBitsToUint ( temp 3-component vector of uint)
 0:185            'inF0' ( in 3-component vector of float)
 0:186      Sequence
-0:186        move second child to first child ( temp 3-component vector of int)
-0:186          'r005' ( temp 3-component vector of int)
-0:186          floatBitsToInt ( temp 3-component vector of int)
-0:186            'inF0' ( in 3-component vector of float)
-0:187      Sequence
-0:187        move second child to first child ( temp 3-component vector of uint)
-0:187          'r006' ( temp 3-component vector of uint)
-0:187          floatBitsToUint ( temp 3-component vector of uint)
-0:187            'inF0' ( in 3-component vector of float)
+0:186        move second child to first child ( temp 3-component vector of float)
+0:186          'r007' ( temp 3-component vector of float)
+0:186          intBitsToFloat ( temp 3-component vector of float)
+0:186            'inU0' ( in 3-component vector of uint)
 0:188      Sequence
 0:188        move second child to first child ( temp 3-component vector of float)
-0:188          'r007' ( temp 3-component vector of float)
-0:188          intBitsToFloat ( temp 3-component vector of float)
-0:188            'inU0' ( in 3-component vector of uint)
+0:188          'r009' ( temp 3-component vector of float)
+0:188          arc tangent ( temp 3-component vector of float)
+0:188            'inF0' ( in 3-component vector of float)
+0:189      Sequence
+0:189        move second child to first child ( temp 3-component vector of float)
+0:189          'r010' ( temp 3-component vector of float)
+0:189          arc tangent ( temp 3-component vector of float)
+0:189            'inF0' ( in 3-component vector of float)
+0:189            'inF1' ( in 3-component vector of float)
 0:190      Sequence
 0:190        move second child to first child ( temp 3-component vector of float)
-0:190          'r009' ( temp 3-component vector of float)
-0:190          arc tangent ( temp 3-component vector of float)
+0:190          'r011' ( temp 3-component vector of float)
+0:190          Ceiling ( temp 3-component vector of float)
 0:190            'inF0' ( in 3-component vector of float)
 0:191      Sequence
 0:191        move second child to first child ( temp 3-component vector of float)
-0:191          'r010' ( temp 3-component vector of float)
-0:191          arc tangent ( temp 3-component vector of float)
+0:191          'r012' ( temp 3-component vector of float)
+0:191          clamp ( temp 3-component vector of float)
 0:191            'inF0' ( in 3-component vector of float)
 0:191            'inF1' ( in 3-component vector of float)
-0:192      Sequence
-0:192        move second child to first child ( temp 3-component vector of float)
-0:192          'r011' ( temp 3-component vector of float)
-0:192          Ceiling ( temp 3-component vector of float)
+0:191            'inF2' ( in 3-component vector of float)
+0:192      Test condition and select ( temp void)
+0:192        Condition
+0:192        any ( temp bool)
+0:192          Compare Less Than ( temp 3-component vector of bool)
 0:192            'inF0' ( in 3-component vector of float)
+0:192            Constant:
+0:192              0.000000
+0:192              0.000000
+0:192              0.000000
+0:192        true case
+0:192        Branch: Kill
 0:193      Sequence
 0:193        move second child to first child ( temp 3-component vector of float)
-0:193          'r012' ( temp 3-component vector of float)
-0:193          clamp ( temp 3-component vector of float)
+0:193          'r013' ( temp 3-component vector of float)
+0:193          cosine ( temp 3-component vector of float)
 0:193            'inF0' ( in 3-component vector of float)
-0:193            'inF1' ( in 3-component vector of float)
-0:193            'inF2' ( in 3-component vector of float)
-0:194      Test condition and select ( temp void)
-0:194        Condition
-0:194        any ( temp bool)
-0:194          Compare Less Than ( temp 3-component vector of bool)
+0:194      Sequence
+0:194        move second child to first child ( temp 3-component vector of float)
+0:194          'r014' ( temp 3-component vector of float)
+0:194          hyp. cosine ( temp 3-component vector of float)
 0:194            'inF0' ( in 3-component vector of float)
-0:194            Constant:
-0:194              0.000000
-0:194              0.000000
-0:194              0.000000
-0:194        true case
-0:194        Branch: Kill
 0:195      Sequence
-0:195        move second child to first child ( temp 3-component vector of float)
-0:195          'r013' ( temp 3-component vector of float)
-0:195          cosine ( temp 3-component vector of float)
-0:195            'inF0' ( in 3-component vector of float)
-0:196      Sequence
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'r014' ( temp 3-component vector of float)
-0:196          hyp. cosine ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
-0:197      Sequence
-0:197        move second child to first child ( temp 3-component vector of uint)
-0:197          'r015' ( temp 3-component vector of uint)
+0:195        move second child to first child ( temp 3-component vector of uint)
+0:195          'r015' ( temp 3-component vector of uint)
 0:?           bitCount ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:?               5 (const uint)
+0:196      Sequence
+0:196        move second child to first child ( temp 3-component vector of float)
+0:196          'r016' ( temp 3-component vector of float)
+0:196          cross-product ( temp 3-component vector of float)
+0:196            'inF0' ( in 3-component vector of float)
+0:196            'inF1' ( in 3-component vector of float)
+0:197      Sequence
+0:197        move second child to first child ( temp 3-component vector of float)
+0:197          'r017' ( temp 3-component vector of float)
+0:197          dPdx ( temp 3-component vector of float)
+0:197            'inF0' ( in 3-component vector of float)
 0:198      Sequence
 0:198        move second child to first child ( temp 3-component vector of float)
-0:198          'r016' ( temp 3-component vector of float)
-0:198          cross-product ( temp 3-component vector of float)
+0:198          'r018' ( temp 3-component vector of float)
+0:198          dPdxCoarse ( temp 3-component vector of float)
 0:198            'inF0' ( in 3-component vector of float)
-0:198            'inF1' ( in 3-component vector of float)
 0:199      Sequence
 0:199        move second child to first child ( temp 3-component vector of float)
-0:199          'r017' ( temp 3-component vector of float)
-0:199          dPdx ( temp 3-component vector of float)
+0:199          'r019' ( temp 3-component vector of float)
+0:199          dPdxFine ( temp 3-component vector of float)
 0:199            'inF0' ( in 3-component vector of float)
 0:200      Sequence
 0:200        move second child to first child ( temp 3-component vector of float)
-0:200          'r018' ( temp 3-component vector of float)
-0:200          dPdxCoarse ( temp 3-component vector of float)
+0:200          'r020' ( temp 3-component vector of float)
+0:200          dPdy ( temp 3-component vector of float)
 0:200            'inF0' ( in 3-component vector of float)
 0:201      Sequence
 0:201        move second child to first child ( temp 3-component vector of float)
-0:201          'r019' ( temp 3-component vector of float)
-0:201          dPdxFine ( temp 3-component vector of float)
+0:201          'r021' ( temp 3-component vector of float)
+0:201          dPdyCoarse ( temp 3-component vector of float)
 0:201            'inF0' ( in 3-component vector of float)
 0:202      Sequence
 0:202        move second child to first child ( temp 3-component vector of float)
-0:202          'r020' ( temp 3-component vector of float)
-0:202          dPdy ( temp 3-component vector of float)
+0:202          'r022' ( temp 3-component vector of float)
+0:202          dPdyFine ( temp 3-component vector of float)
 0:202            'inF0' ( in 3-component vector of float)
 0:203      Sequence
 0:203        move second child to first child ( temp 3-component vector of float)
-0:203          'r021' ( temp 3-component vector of float)
-0:203          dPdyCoarse ( temp 3-component vector of float)
+0:203          'r023' ( temp 3-component vector of float)
+0:203          degrees ( temp 3-component vector of float)
 0:203            'inF0' ( in 3-component vector of float)
 0:204      Sequence
-0:204        move second child to first child ( temp 3-component vector of float)
-0:204          'r022' ( temp 3-component vector of float)
-0:204          dPdyFine ( temp 3-component vector of float)
+0:204        move second child to first child ( temp float)
+0:204          'r024' ( temp float)
+0:204          distance ( temp float)
 0:204            'inF0' ( in 3-component vector of float)
+0:204            'inF1' ( in 3-component vector of float)
 0:205      Sequence
-0:205        move second child to first child ( temp 3-component vector of float)
-0:205          'r023' ( temp 3-component vector of float)
-0:205          degrees ( temp 3-component vector of float)
+0:205        move second child to first child ( temp float)
+0:205          'r025' ( temp float)
+0:205          dot-product ( temp float)
 0:205            'inF0' ( in 3-component vector of float)
-0:206      Sequence
-0:206        move second child to first child ( temp float)
-0:206          'r024' ( temp float)
-0:206          distance ( temp float)
-0:206            'inF0' ( in 3-component vector of float)
-0:206            'inF1' ( in 3-component vector of float)
-0:207      Sequence
-0:207        move second child to first child ( temp float)
-0:207          'r025' ( temp float)
-0:207          dot-product ( temp float)
-0:207            'inF0' ( in 3-component vector of float)
-0:207            'inF1' ( in 3-component vector of float)
+0:205            'inF1' ( in 3-component vector of float)
+0:209      Sequence
+0:209        move second child to first child ( temp 3-component vector of float)
+0:209          'r029' ( temp 3-component vector of float)
+0:209          exp ( temp 3-component vector of float)
+0:209            'inF0' ( in 3-component vector of float)
+0:210      Sequence
+0:210        move second child to first child ( temp 3-component vector of float)
+0:210          'r030' ( temp 3-component vector of float)
+0:210          exp2 ( temp 3-component vector of float)
+0:210            'inF0' ( in 3-component vector of float)
 0:211      Sequence
 0:211        move second child to first child ( temp 3-component vector of float)
-0:211          'r029' ( temp 3-component vector of float)
-0:211          exp ( temp 3-component vector of float)
+0:211          'r031' ( temp 3-component vector of float)
+0:211          face-forward ( temp 3-component vector of float)
 0:211            'inF0' ( in 3-component vector of float)
+0:211            'inF1' ( in 3-component vector of float)
+0:211            'inF2' ( in 3-component vector of float)
 0:212      Sequence
-0:212        move second child to first child ( temp 3-component vector of float)
-0:212          'r030' ( temp 3-component vector of float)
-0:212          exp2 ( temp 3-component vector of float)
-0:212            'inF0' ( in 3-component vector of float)
-0:213      Sequence
-0:213        move second child to first child ( temp 3-component vector of float)
-0:213          'r031' ( temp 3-component vector of float)
-0:213          face-forward ( temp 3-component vector of float)
-0:213            'inF0' ( in 3-component vector of float)
-0:213            'inF1' ( in 3-component vector of float)
-0:213            'inF2' ( in 3-component vector of float)
-0:214      Sequence
-0:214        move second child to first child ( temp 3-component vector of uint)
-0:214          'r032' ( temp 3-component vector of uint)
+0:212        move second child to first child ( temp 3-component vector of uint)
+0:212          'r032' ( temp 3-component vector of uint)
 0:?           findMSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:215      Sequence
-0:215        move second child to first child ( temp 3-component vector of uint)
-0:215          'r033' ( temp 3-component vector of uint)
+0:213      Sequence
+0:213        move second child to first child ( temp 3-component vector of uint)
+0:213          'r033' ( temp 3-component vector of uint)
 0:?           findLSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
+0:214      Sequence
+0:214        move second child to first child ( temp 3-component vector of float)
+0:214          'r034' ( temp 3-component vector of float)
+0:214          Floor ( temp 3-component vector of float)
+0:214            'inF0' ( in 3-component vector of float)
 0:216      Sequence
 0:216        move second child to first child ( temp 3-component vector of float)
-0:216          'r034' ( temp 3-component vector of float)
-0:216          Floor ( temp 3-component vector of float)
+0:216          'r036' ( temp 3-component vector of float)
+0:216          mod ( temp 3-component vector of float)
 0:216            'inF0' ( in 3-component vector of float)
+0:216            'inF1' ( in 3-component vector of float)
+0:217      Sequence
+0:217        move second child to first child ( temp 3-component vector of float)
+0:217          'r037' ( temp 3-component vector of float)
+0:217          Fraction ( temp 3-component vector of float)
+0:217            'inF0' ( in 3-component vector of float)
 0:218      Sequence
 0:218        move second child to first child ( temp 3-component vector of float)
-0:218          'r036' ( temp 3-component vector of float)
-0:218          mod ( temp 3-component vector of float)
+0:218          'r039' ( temp 3-component vector of float)
+0:218          fwidth ( temp 3-component vector of float)
 0:218            'inF0' ( in 3-component vector of float)
-0:218            'inF1' ( in 3-component vector of float)
 0:219      Sequence
-0:219        move second child to first child ( temp 3-component vector of float)
-0:219          'r037' ( temp 3-component vector of float)
-0:219          Fraction ( temp 3-component vector of float)
+0:219        move second child to first child ( temp 3-component vector of bool)
+0:219          'r040' ( temp 3-component vector of bool)
+0:219          isinf ( temp 3-component vector of bool)
 0:219            'inF0' ( in 3-component vector of float)
 0:220      Sequence
-0:220        move second child to first child ( temp 3-component vector of float)
-0:220          'r038' ( temp 3-component vector of float)
-0:220          frexp ( temp 3-component vector of float)
+0:220        move second child to first child ( temp 3-component vector of bool)
+0:220          'r041' ( temp 3-component vector of bool)
+0:220          isnan ( temp 3-component vector of bool)
 0:220            'inF0' ( in 3-component vector of float)
-0:220            'inF1' ( in 3-component vector of float)
 0:221      Sequence
 0:221        move second child to first child ( temp 3-component vector of float)
-0:221          'r039' ( temp 3-component vector of float)
-0:221          fwidth ( temp 3-component vector of float)
+0:221          'r042' ( temp 3-component vector of float)
+0:221          ldexp ( temp 3-component vector of float)
 0:221            'inF0' ( in 3-component vector of float)
+0:221            'inF1' ( in 3-component vector of float)
 0:222      Sequence
-0:222        move second child to first child ( temp 3-component vector of bool)
-0:222          'r040' ( temp 3-component vector of bool)
-0:222          isinf ( temp 3-component vector of bool)
+0:222        move second child to first child ( temp 3-component vector of float)
+0:222          'r039a' ( temp 3-component vector of float)
+0:222          mix ( temp 3-component vector of float)
 0:222            'inF0' ( in 3-component vector of float)
+0:222            'inF1' ( in 3-component vector of float)
+0:222            'inF2' ( in 3-component vector of float)
 0:223      Sequence
-0:223        move second child to first child ( temp 3-component vector of bool)
-0:223          'r041' ( temp 3-component vector of bool)
-0:223          isnan ( temp 3-component vector of bool)
+0:223        move second child to first child ( temp 3-component vector of float)
+0:223          'r039b' ( temp 3-component vector of float)
+0:223          mix ( temp 3-component vector of float)
 0:223            'inF0' ( in 3-component vector of float)
+0:223            'inF1' ( in 3-component vector of float)
+0:223            Constant:
+0:223              0.300000
 0:224      Sequence
-0:224        move second child to first child ( temp 3-component vector of float)
-0:224          'r042' ( temp 3-component vector of float)
-0:224          ldexp ( temp 3-component vector of float)
+0:224        move second child to first child ( temp float)
+0:224          'r043' ( temp float)
+0:224          length ( temp float)
 0:224            'inF0' ( in 3-component vector of float)
-0:224            'inF1' ( in 3-component vector of float)
 0:225      Sequence
 0:225        move second child to first child ( temp 3-component vector of float)
-0:225          'r039a' ( temp 3-component vector of float)
-0:225          mix ( temp 3-component vector of float)
+0:225          'r044' ( temp 3-component vector of float)
+0:225          log ( temp 3-component vector of float)
 0:225            'inF0' ( in 3-component vector of float)
-0:225            'inF1' ( in 3-component vector of float)
-0:225            'inF2' ( in 3-component vector of float)
 0:226      Sequence
 0:226        move second child to first child ( temp 3-component vector of float)
-0:226          'r039b' ( temp 3-component vector of float)
-0:226          mix ( temp 3-component vector of float)
-0:226            'inF0' ( in 3-component vector of float)
-0:226            'inF1' ( in 3-component vector of float)
+0:226          'r045' ( temp 3-component vector of float)
+0:226          vector-scale ( temp 3-component vector of float)
+0:226            log2 ( temp 3-component vector of float)
+0:226              'inF0' ( in 3-component vector of float)
 0:226            Constant:
-0:226              0.300000
+0:226              0.301030
 0:227      Sequence
-0:227        move second child to first child ( temp float)
-0:227          'r043' ( temp float)
-0:227          length ( temp float)
+0:227        move second child to first child ( temp 3-component vector of float)
+0:227          'r046' ( temp 3-component vector of float)
+0:227          log2 ( temp 3-component vector of 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          'r044' ( temp 3-component vector of float)
-0:228          log ( temp 3-component vector of float)
+0:228          'r047' ( temp 3-component vector of float)
+0:228          max ( temp 3-component vector of float)
 0:228            'inF0' ( in 3-component vector of float)
+0:228            'inF1' ( in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child ( temp 3-component vector of float)
-0:229          'r045' ( temp 3-component vector of float)
-0:229          vector-scale ( temp 3-component vector of float)
-0:229            log2 ( temp 3-component vector of float)
-0:229              'inF0' ( in 3-component vector of float)
-0:229            Constant:
-0:229              0.301030
+0:229          'r048' ( temp 3-component vector of float)
+0:229          min ( temp 3-component vector of float)
+0:229            'inF0' ( in 3-component vector of float)
+0:229            'inF1' ( in 3-component vector of float)
 0:230      Sequence
 0:230        move second child to first child ( temp 3-component vector of float)
-0:230          'r046' ( temp 3-component vector of float)
-0:230          log2 ( temp 3-component vector of float)
+0:230          'r049' ( temp 3-component vector of float)
+0:230          normalize ( temp 3-component vector of float)
 0:230            'inF0' ( 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          'r047' ( temp 3-component vector of float)
-0:231          max ( temp 3-component vector of float)
+0:231          'r050' ( temp 3-component vector of float)
+0:231          pow ( temp 3-component vector of float)
 0:231            'inF0' ( in 3-component vector of float)
 0:231            'inF1' ( in 3-component vector of float)
 0:232      Sequence
 0:232        move second child to first child ( temp 3-component vector of float)
-0:232          'r048' ( temp 3-component vector of float)
-0:232          min ( temp 3-component vector of float)
+0:232          'r051' ( temp 3-component vector of float)
+0:232          radians ( temp 3-component vector of float)
 0:232            'inF0' ( in 3-component vector of float)
-0:232            'inF1' ( in 3-component vector of float)
 0:233      Sequence
 0:233        move second child to first child ( temp 3-component vector of float)
-0:233          'r049' ( temp 3-component vector of float)
-0:233          normalize ( temp 3-component vector of float)
+0:233          'r052' ( temp 3-component vector of float)
+0:233          divide ( temp 3-component vector of float)
+0:233            Constant:
+0:233              1.000000
 0:233            'inF0' ( in 3-component vector of float)
 0:234      Sequence
 0:234        move second child to first child ( temp 3-component vector of float)
-0:234          'r050' ( temp 3-component vector of float)
-0:234          pow ( temp 3-component vector of float)
+0:234          'r053' ( temp 3-component vector of float)
+0:234          reflect ( temp 3-component vector of float)
 0:234            'inF0' ( in 3-component vector of float)
 0:234            'inF1' ( in 3-component vector of float)
 0:235      Sequence
 0:235        move second child to first child ( temp 3-component vector of float)
-0:235          'r051' ( temp 3-component vector of float)
-0:235          radians ( temp 3-component vector of float)
+0:235          'r054' ( temp 3-component vector of float)
+0:235          refract ( temp 3-component vector of float)
 0:235            'inF0' ( in 3-component vector of float)
+0:235            'inF1' ( in 3-component vector of float)
+0:235            Constant:
+0:235              2.000000
 0:236      Sequence
-0:236        move second child to first child ( temp 3-component vector of float)
-0:236          'r052' ( temp 3-component vector of float)
-0:236          divide ( temp 3-component vector of float)
-0:236            Constant:
-0:236              1.000000
-0:236            'inF0' ( in 3-component vector of float)
+0:236        move second child to first child ( temp 3-component vector of uint)
+0:236          'r055' ( temp 3-component vector of uint)
+0:?           bitFieldReverse ( temp 3-component vector of uint)
+0:?             Constant:
+0:?               1 (const uint)
+0:?               2 (const uint)
+0:?               3 (const uint)
 0:237      Sequence
 0:237        move second child to first child ( temp 3-component vector of float)
-0:237          'r053' ( temp 3-component vector of float)
-0:237          reflect ( temp 3-component vector of float)
+0:237          'r056' ( temp 3-component vector of float)
+0:237          roundEven ( temp 3-component vector of float)
 0:237            'inF0' ( in 3-component vector of float)
-0:237            'inF1' ( in 3-component vector of float)
 0:238      Sequence
 0:238        move second child to first child ( temp 3-component vector of float)
-0:238          'r054' ( temp 3-component vector of float)
-0:238          refract ( temp 3-component vector of float)
+0:238          'r057' ( temp 3-component vector of float)
+0:238          inverse sqrt ( temp 3-component vector of float)
 0:238            'inF0' ( in 3-component vector of float)
-0:238            'inF1' ( in 3-component vector of float)
-0:238            Constant:
-0:238              2.000000
 0:239      Sequence
-0:239        move second child to first child ( temp 3-component vector of uint)
-0:239          'r055' ( temp 3-component vector of uint)
-0:?           bitFieldReverse ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
-0:?               3 (const uint)
+0:239        move second child to first child ( temp 3-component vector of float)
+0:239          'r058' ( temp 3-component vector of float)
+0:239          clamp ( temp 3-component vector of float)
+0:239            'inF0' ( in 3-component vector of float)
+0:239            Constant:
+0:239              0.000000
+0:239            Constant:
+0:239              1.000000
 0:240      Sequence
 0:240        move second child to first child ( temp 3-component vector of float)
-0:240          'r056' ( temp 3-component vector of float)
-0:240          roundEven ( temp 3-component vector of float)
+0:240          'r059' ( temp 3-component vector of float)
+0:240          Sign ( temp 3-component vector of float)
 0:240            'inF0' ( in 3-component vector of float)
 0:241      Sequence
 0:241        move second child to first child ( temp 3-component vector of float)
-0:241          'r057' ( temp 3-component vector of float)
-0:241          inverse sqrt ( temp 3-component vector of float)
+0:241          'r060' ( temp 3-component vector of float)
+0:241          sine ( temp 3-component vector of float)
 0:241            'inF0' ( in 3-component vector of float)
 0:242      Sequence
 0:242        move second child to first child ( temp 3-component vector of float)
-0:242          'r058' ( temp 3-component vector of float)
-0:242          clamp ( temp 3-component vector of float)
+0:242          'inF1' ( in 3-component vector of float)
+0:242          sine ( temp 3-component vector of float)
+0:242            'inF0' ( in 3-component vector of float)
+0:242        move second child to first child ( temp 3-component vector of float)
+0:242          'inF2' ( in 3-component vector of float)
+0:242          cosine ( temp 3-component vector of float)
 0:242            'inF0' ( in 3-component vector of float)
-0:242            Constant:
-0:242              0.000000
-0:242            Constant:
-0:242              1.000000
 0:243      Sequence
 0:243        move second child to first child ( temp 3-component vector of float)
-0:243          'r059' ( temp 3-component vector of float)
-0:243          Sign ( temp 3-component vector of float)
+0:243          'r061' ( temp 3-component vector of float)
+0:243          hyp. sine ( temp 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          'r060' ( temp 3-component vector of float)
-0:244          sine ( temp 3-component vector of float)
+0:244          'r062' ( temp 3-component vector of float)
+0:244          smoothstep ( temp 3-component vector of float)
 0:244            'inF0' ( in 3-component vector of float)
+0:244            'inF1' ( in 3-component vector of float)
+0:244            'inF2' ( in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'inF1' ( in 3-component vector of float)
-0:245          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          'r063' ( temp 3-component vector of float)
+0:245          sqrt ( temp 3-component vector of float)
 0:245            'inF0' ( in 3-component vector of float)
 0:246      Sequence
 0:246        move second child to first child ( temp 3-component vector of float)
-0:246          'r061' ( temp 3-component vector of float)
-0:246          hyp. sine ( temp 3-component vector of float)
+0:246          'r064' ( temp 3-component vector of float)
+0:246          step ( temp 3-component vector of float)
 0:246            'inF0' ( in 3-component vector of float)
+0:246            'inF1' ( in 3-component vector of float)
 0:247      Sequence
 0:247        move second child to first child ( temp 3-component vector of float)
-0:247          'r062' ( temp 3-component vector of float)
-0:247          smoothstep ( temp 3-component vector of float)
+0:247          'r065' ( temp 3-component vector of float)
+0:247          tangent ( temp 3-component vector of float)
 0:247            'inF0' ( in 3-component vector of float)
-0:247            'inF1' ( in 3-component vector of float)
-0:247            'inF2' ( in 3-component vector of float)
 0:248      Sequence
 0:248        move second child to first child ( temp 3-component vector of float)
-0:248          'r063' ( temp 3-component vector of float)
-0:248          sqrt ( temp 3-component vector of float)
+0:248          'r066' ( temp 3-component vector of float)
+0:248          hyp. tangent ( temp 3-component vector of float)
 0:248            'inF0' ( in 3-component vector of float)
-0:249      Sequence
-0:249        move second child to first child ( temp 3-component vector of float)
-0:249          'r064' ( temp 3-component vector of float)
-0:249          step ( temp 3-component vector of float)
-0:249            'inF0' ( in 3-component vector of float)
-0:249            'inF1' ( in 3-component vector of float)
 0:250      Sequence
 0:250        move second child to first child ( temp 3-component vector of float)
-0:250          'r065' ( temp 3-component vector of float)
-0:250          tangent ( temp 3-component vector of float)
+0:250          'r067' ( temp 3-component vector of float)
+0:250          trunc ( temp 3-component vector of float)
 0:250            'inF0' ( in 3-component vector of float)
-0:251      Sequence
-0:251        move second child to first child ( temp 3-component vector of float)
-0:251          'r066' ( temp 3-component vector of float)
-0:251          hyp. tangent ( temp 3-component vector of float)
-0:251            'inF0' ( in 3-component vector of float)
-0:253      Sequence
-0:253        move second child to first child ( temp 3-component vector of float)
-0:253          'r067' ( temp 3-component vector of float)
-0:253          trunc ( temp 3-component vector of float)
-0:253            'inF0' ( in 3-component vector of float)
-0:256      Branch: Return with expression
+0:253      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:260  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
-0:260    Function Parameters: 
-0:260      'inF0' ( in 4-component vector of float)
-0:260      'inF1' ( in 4-component vector of float)
-0:260      'inF2' ( in 4-component vector of float)
-0:260      'inU0' ( in 4-component vector of uint)
-0:260      'inU1' ( in 4-component vector of uint)
+0:257  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:257    Function Parameters: 
+0:257      'inF0' ( in 4-component vector of float)
+0:257      'inF1' ( in 4-component vector of float)
+0:257      'inF2' ( in 4-component vector of float)
+0:257      'inU0' ( in 4-component vector of uint)
+0:257      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
+0:260      Sequence
+0:260        move second child to first child ( temp bool)
+0:260          'r000' ( temp bool)
+0:260          all ( temp bool)
+0:260            'inF0' ( in 4-component vector of float)
+0:261      Sequence
+0:261        move second child to first child ( temp 4-component vector of float)
+0:261          'r001' ( temp 4-component vector of float)
+0:261          Absolute value ( temp 4-component vector of float)
+0:261            'inF0' ( in 4-component vector of float)
+0:262      Sequence
+0:262        move second child to first child ( temp 4-component vector of float)
+0:262          'r002' ( temp 4-component vector of float)
+0:262          arc cosine ( temp 4-component vector of float)
+0:262            'inF0' ( in 4-component vector of float)
 0:263      Sequence
 0:263        move second child to first child ( temp bool)
-0:263          'r000' ( temp bool)
-0:263          all ( temp bool)
+0:263          'r003' ( temp bool)
+0:263          any ( temp bool)
 0:263            'inF0' ( in 4-component vector of float)
 0:264      Sequence
 0:264        move second child to first child ( temp 4-component vector of float)
-0:264          'r001' ( temp 4-component vector of float)
-0:264          Absolute value ( temp 4-component vector of float)
+0:264          'r004' ( temp 4-component vector of float)
+0:264          arc sine ( temp 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 4-component vector of float)
-0:265          'r002' ( temp 4-component vector of float)
-0:265          arc cosine ( temp 4-component vector of float)
+0:265        move second child to first child ( temp 4-component vector of int)
+0:265          'r005' ( temp 4-component vector of int)
+0:265          floatBitsToInt ( temp 4-component vector of int)
 0:265            'inF0' ( in 4-component vector of float)
 0:266      Sequence
-0:266        move second child to first child ( temp bool)
-0:266          'r003' ( temp bool)
-0:266          any ( temp bool)
+0:266        move second child to first child ( temp 4-component vector of uint)
+0:266          'r006' ( temp 4-component vector of uint)
+0:266          floatBitsToUint ( temp 4-component vector of uint)
 0:266            'inF0' ( in 4-component vector of float)
 0:267      Sequence
 0:267        move second child to first child ( temp 4-component vector of float)
-0:267          'r004' ( temp 4-component vector of float)
-0:267          arc sine ( temp 4-component vector of float)
-0:267            'inF0' ( in 4-component vector of float)
-0:268      Sequence
-0:268        move second child to first child ( temp 4-component vector of int)
-0:268          'r005' ( temp 4-component vector of int)
-0:268          floatBitsToInt ( temp 4-component vector of int)
-0:268            'inF0' ( in 4-component vector of float)
+0:267          'r007' ( temp 4-component vector of float)
+0:267          intBitsToFloat ( temp 4-component vector of float)
+0:267            'inU0' ( in 4-component vector of uint)
 0:269      Sequence
-0:269        move second child to first child ( temp 4-component vector of uint)
-0:269          'r006' ( temp 4-component vector of uint)
-0:269          floatBitsToUint ( temp 4-component vector of uint)
+0:269        move second child to first child ( temp 4-component vector of float)
+0:269          'r009' ( temp 4-component vector of float)
+0:269          arc tangent ( temp 4-component vector of float)
 0:269            'inF0' ( in 4-component vector of float)
 0:270      Sequence
 0:270        move second child to first child ( temp 4-component vector of float)
-0:270          'r007' ( temp 4-component vector of float)
-0:270          intBitsToFloat ( temp 4-component vector of float)
-0:270            'inU0' ( in 4-component vector of uint)
+0:270          'r010' ( temp 4-component vector of float)
+0:270          arc tangent ( temp 4-component vector of float)
+0:270            'inF0' ( in 4-component vector of float)
+0:270            'inF1' ( in 4-component vector of float)
+0:271      Sequence
+0:271        move second child to first child ( temp 4-component vector of float)
+0:271          'r011' ( temp 4-component vector of float)
+0:271          Ceiling ( temp 4-component vector of float)
+0:271            'inF0' ( in 4-component vector of float)
 0:272      Sequence
 0:272        move second child to first child ( temp 4-component vector of float)
-0:272          'r009' ( temp 4-component vector of float)
-0:272          arc tangent ( temp 4-component vector of float)
+0:272          'r012' ( temp 4-component vector of float)
+0:272          clamp ( temp 4-component vector of float)
 0:272            'inF0' ( 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          'r010' ( temp 4-component vector of float)
-0:273          arc tangent ( temp 4-component vector of float)
+0:272            'inF1' ( in 4-component vector of float)
+0:272            'inF2' ( in 4-component vector of float)
+0:273      Test condition and select ( temp void)
+0:273        Condition
+0:273        any ( temp bool)
+0:273          Compare Less Than ( temp 4-component vector of bool)
 0:273            'inF0' ( in 4-component vector of float)
-0:273            'inF1' ( in 4-component vector of float)
+0:273            Constant:
+0:273              0.000000
+0:273              0.000000
+0:273              0.000000
+0:273              0.000000
+0:273        true case
+0:273        Branch: Kill
 0:274      Sequence
 0:274        move second child to first child ( temp 4-component vector of float)
-0:274          'r011' ( temp 4-component vector of float)
-0:274          Ceiling ( temp 4-component vector of float)
+0:274          'r013' ( temp 4-component vector of float)
+0:274          cosine ( temp 4-component vector of float)
 0:274            'inF0' ( in 4-component vector of float)
 0:275      Sequence
 0:275        move second child to first child ( temp 4-component vector of float)
-0:275          'r012' ( temp 4-component vector of float)
-0:275          clamp ( temp 4-component vector of float)
+0:275          'r014' ( temp 4-component vector of float)
+0:275          hyp. cosine ( temp 4-component vector of float)
 0:275            'inF0' ( in 4-component vector of float)
-0:275            'inF1' ( in 4-component vector of float)
-0:275            'inF2' ( in 4-component vector of float)
-0:276      Test condition and select ( temp void)
-0:276        Condition
-0:276        any ( temp bool)
-0:276          Compare Less Than ( temp 4-component vector of bool)
-0:276            'inF0' ( in 4-component vector of float)
-0:276            Constant:
-0:276              0.000000
-0:276              0.000000
-0:276              0.000000
-0:276              0.000000
-0:276        true case
-0:276        Branch: Kill
+0:276      Sequence
+0:276        move second child to first child ( temp 4-component vector of uint)
+0:276          'r015' ( temp 4-component vector of uint)
+0:?           bitCount ( temp 4-component vector of uint)
+0:?             Constant:
+0:?               7 (const uint)
+0:?               3 (const uint)
+0:?               5 (const uint)
+0:?               2 (const uint)
 0:277      Sequence
 0:277        move second child to first child ( temp 4-component vector of float)
-0:277          'r013' ( temp 4-component vector of float)
-0:277          cosine ( temp 4-component vector of float)
+0:277          'r016' ( temp 4-component vector of float)
+0:277          dPdx ( temp 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 float)
-0:278          'r014' ( temp 4-component vector of float)
-0:278          hyp. cosine ( temp 4-component vector of float)
+0:278          'r017' ( temp 4-component vector of float)
+0:278          dPdxCoarse ( temp 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 ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               3 (const uint)
-0:?               5 (const uint)
-0:?               2 (const uint)
+0:279        move second child to first child ( temp 4-component vector of float)
+0:279          'r018' ( temp 4-component vector of float)
+0:279          dPdxFine ( temp 4-component vector of float)
+0:279            'inF0' ( in 4-component vector of float)
 0:280      Sequence
 0:280        move second child to first child ( temp 4-component vector of float)
-0:280          'r016' ( temp 4-component vector of float)
-0:280          dPdx ( temp 4-component vector of float)
+0:280          'r019' ( temp 4-component vector of float)
+0:280          dPdy ( temp 4-component vector of float)
 0:280            'inF0' ( in 4-component vector of float)
 0:281      Sequence
 0:281        move second child to first child ( temp 4-component vector of float)
-0:281          'r017' ( temp 4-component vector of float)
-0:281          dPdxCoarse ( temp 4-component vector of float)
+0:281          'r020' ( temp 4-component vector of float)
+0:281          dPdyCoarse ( temp 4-component vector of float)
 0:281            'inF0' ( in 4-component vector of float)
 0:282      Sequence
 0:282        move second child to first child ( temp 4-component vector of float)
-0:282          'r018' ( temp 4-component vector of float)
-0:282          dPdxFine ( temp 4-component vector of float)
+0:282          'r021' ( temp 4-component vector of float)
+0:282          dPdyFine ( temp 4-component vector of float)
 0:282            'inF0' ( in 4-component vector of float)
 0:283      Sequence
 0:283        move second child to first child ( temp 4-component vector of float)
-0:283          'r019' ( temp 4-component vector of float)
-0:283          dPdy ( temp 4-component vector of float)
+0:283          'r022' ( temp 4-component vector of float)
+0:283          degrees ( temp 4-component vector of float)
 0:283            'inF0' ( in 4-component vector of float)
 0:284      Sequence
-0:284        move second child to first child ( temp 4-component vector of float)
-0:284          'r020' ( temp 4-component vector of float)
-0:284          dPdyCoarse ( temp 4-component vector of float)
+0:284        move second child to first child ( temp float)
+0:284          'r023' ( temp float)
+0:284          distance ( temp float)
 0:284            'inF0' ( in 4-component vector of float)
+0:284            'inF1' ( 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          'r021' ( temp 4-component vector of float)
-0:285          dPdyFine ( temp 4-component vector of float)
+0:285        move second child to first child ( temp float)
+0:285          'r024' ( temp float)
+0:285          dot-product ( temp float)
 0:285            'inF0' ( in 4-component vector of float)
+0:285            'inF1' ( in 4-component vector of float)
 0:286      Sequence
 0:286        move second child to first child ( temp 4-component vector of float)
-0:286          'r022' ( temp 4-component vector of float)
-0:286          degrees ( temp 4-component vector of float)
-0:286            'inF0' ( in 4-component vector of float)
-0:287      Sequence
-0:287        move second child to first child ( temp float)
-0:287          'r023' ( temp float)
-0:287          distance ( temp 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 float)
-0:288          'r024' ( temp float)
-0:288          dot-product ( temp 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:286          'r025' ( temp 4-component vector of float)
+0:286          Construct vec4 ( temp 4-component vector of float)
+0:286            Constant:
+0:286              1.000000
+0:286            component-wise multiply ( temp float)
+0:286              direct index ( temp float)
+0:286                'inF0' ( in 4-component vector of float)
+0:286                Constant:
+0:286                  1 (const int)
+0:286              direct index ( temp float)
+0:286                'inF1' ( in 4-component vector of float)
+0:286                Constant:
+0:286                  1 (const int)
+0:286            direct index ( temp float)
+0:286              'inF0' ( in 4-component vector of float)
+0:286              Constant:
+0:286                2 (const int)
+0:286            direct index ( temp float)
+0:286              'inF1' ( in 4-component vector of float)
+0:286              Constant:
+0:286                3 (const int)
+0:290      Sequence
+0:290        move second child to first child ( temp 4-component vector of float)
+0:290          'r029' ( temp 4-component vector of float)
+0:290          exp ( temp 4-component vector of float)
+0:290            'inF0' ( in 4-component vector of float)
+0:291      Sequence
+0:291        move second child to first child ( temp 4-component vector of float)
+0:291          'r030' ( temp 4-component vector of float)
+0:291          exp2 ( temp 4-component vector of float)
+0:291            'inF0' ( in 4-component vector of float)
+0:292      Sequence
+0:292        move second child to first child ( temp 4-component vector of float)
+0:292          'r031' ( temp 4-component vector of float)
+0:292          face-forward ( temp 4-component vector of float)
+0:292            'inF0' ( in 4-component vector of float)
+0:292            'inF1' ( in 4-component vector of float)
+0:292            'inF2' ( in 4-component vector of float)
 0:293      Sequence
-0:293        move second child to first child ( temp 4-component vector of float)
-0:293          'r029' ( temp 4-component vector of float)
-0:293          exp ( temp 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          'r030' ( temp 4-component vector of float)
-0:294          exp2 ( temp 4-component vector of float)
-0:294            'inF0' ( in 4-component vector of float)
-0:295      Sequence
-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 ( temp 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:293        move second child to first child ( temp 4-component vector of uint)
+0:293          'r032' ( temp 4-component vector of uint)
 0:?           findMSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0: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:294      Sequence
+0:294        move second child to first child ( temp 4-component vector of uint)
+0:294          'r033' ( temp 4-component vector of uint)
 0:?           findLSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
+0:295      Sequence
+0:295        move second child to first child ( temp 4-component vector of float)
+0:295          'r034' ( temp 4-component vector of float)
+0:295          Floor ( temp 4-component vector of float)
+0:295            'inF0' ( in 4-component vector of float)
+0:297      Sequence
+0:297        move second child to first child ( temp 4-component vector of float)
+0:297          'r036' ( temp 4-component vector of float)
+0:297          mod ( temp 4-component vector of float)
+0:297            'inF0' ( in 4-component vector of float)
+0:297            'inF1' ( in 4-component vector of float)
 0: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 ( temp 4-component vector of float)
+0:298          'r037' ( temp 4-component vector of float)
+0:298          Fraction ( temp 4-component vector of float)
 0:298            '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          'r039' ( temp 4-component vector of float)
+0:299          fwidth ( temp 4-component vector of float)
+0:299            '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          'r036' ( temp 4-component vector of float)
-0:300          mod ( temp 4-component vector of float)
+0:300        move second child to first child ( temp 4-component vector of bool)
+0:300          'r040' ( temp 4-component vector of bool)
+0:300          isinf ( temp 4-component vector of bool)
 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          'r037' ( temp 4-component vector of float)
-0:301          Fraction ( temp 4-component vector of float)
+0:301        move second child to first child ( temp 4-component vector of bool)
+0:301          'r041' ( temp 4-component vector of bool)
+0:301          isnan ( temp 4-component vector of bool)
 0:301            'inF0' ( in 4-component vector of float)
 0:302      Sequence
 0:302        move second child to first child ( temp 4-component vector of float)
-0:302          'r038' ( temp 4-component vector of float)
-0:302          frexp ( temp 4-component vector of float)
+0:302          'r042' ( temp 4-component vector of float)
+0:302          ldexp ( temp 4-component vector of float)
 0:302            'inF0' ( in 4-component vector of float)
 0:302            'inF1' ( in 4-component vector of float)
 0:303      Sequence
 0:303        move second child to first child ( temp 4-component vector of float)
-0:303          'r039' ( temp 4-component vector of float)
-0:303          fwidth ( temp 4-component vector of float)
+0:303          'r039a' ( temp 4-component vector of float)
+0:303          mix ( temp 4-component vector of float)
 0:303            'inF0' ( in 4-component vector of float)
+0:303            'inF1' ( in 4-component vector of float)
+0:303            'inF2' ( in 4-component vector of float)
 0:304      Sequence
-0:304        move second child to first child ( temp 4-component vector of bool)
-0:304          'r040' ( temp 4-component vector of bool)
-0:304          isinf ( temp 4-component vector of bool)
+0:304        move second child to first child ( temp float)
+0:304          'r043' ( temp float)
+0:304          length ( temp float)
 0:304            'inF0' ( in 4-component vector of float)
 0:305      Sequence
-0:305        move second child to first child ( temp 4-component vector of bool)
-0:305          'r041' ( temp 4-component vector of bool)
-0:305          isnan ( temp 4-component vector of bool)
+0:305        move second child to first child ( temp 4-component vector of float)
+0:305          'r044' ( temp 4-component vector of float)
+0:305          log ( temp 4-component vector of float)
 0:305            'inF0' ( in 4-component vector of float)
 0:306      Sequence
 0:306        move second child to first child ( temp 4-component vector of float)
-0:306          'r042' ( temp 4-component vector of float)
-0:306          ldexp ( temp 4-component vector of float)
-0:306            'inF0' ( in 4-component vector of float)
-0:306            'inF1' ( in 4-component vector of float)
+0:306          'r045' ( temp 4-component vector of float)
+0:306          vector-scale ( temp 4-component vector of float)
+0:306            log2 ( temp 4-component vector of float)
+0:306              'inF0' ( in 4-component vector of float)
+0:306            Constant:
+0:306              0.301030
 0:307      Sequence
 0:307        move second child to first child ( temp 4-component vector of float)
-0:307          'r039a' ( temp 4-component vector of float)
-0:307          mix ( temp 4-component vector of float)
+0:307          'r046' ( temp 4-component vector of float)
+0:307          log2 ( temp 4-component vector of float)
 0:307            'inF0' ( in 4-component vector of float)
-0:307            'inF1' ( in 4-component vector of float)
-0:307            'inF2' ( in 4-component vector of float)
 0:308      Sequence
-0:308        move second child to first child ( temp float)
-0:308          'r043' ( temp float)
-0:308          length ( temp float)
+0:308        move second child to first child ( temp 4-component vector of float)
+0:308          'r047' ( temp 4-component vector of float)
+0:308          max ( temp 4-component vector of float)
 0:308            'inF0' ( in 4-component vector of float)
+0:308            'inF1' ( in 4-component vector of float)
 0:309      Sequence
 0:309        move second child to first child ( temp 4-component vector of float)
-0:309          'r044' ( temp 4-component vector of float)
-0:309          log ( temp 4-component vector of float)
+0:309          'r048' ( temp 4-component vector of float)
+0:309          min ( temp 4-component vector of float)
 0:309            'inF0' ( in 4-component vector of float)
+0:309            'inF1' ( in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child ( temp 4-component vector of float)
-0:310          'r045' ( temp 4-component vector of float)
-0:310          vector-scale ( temp 4-component vector of float)
-0:310            log2 ( temp 4-component vector of float)
-0:310              'inF0' ( in 4-component vector of float)
-0:310            Constant:
-0:310              0.301030
+0:310          'r049' ( temp 4-component vector of float)
+0:310          normalize ( temp 4-component vector of float)
+0:310            'inF0' ( in 4-component vector of float)
 0:311      Sequence
 0:311        move second child to first child ( temp 4-component vector of float)
-0:311          'r046' ( temp 4-component vector of float)
-0:311          log2 ( temp 4-component vector of float)
+0:311          'r050' ( temp 4-component vector of float)
+0:311          pow ( temp 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          'r047' ( temp 4-component vector of float)
-0:312          max ( temp 4-component vector of float)
+0:312          'r051' ( temp 4-component vector of float)
+0:312          radians ( temp 4-component vector of float)
 0:312            'inF0' ( in 4-component vector of float)
-0:312            'inF1' ( in 4-component vector of float)
 0:313      Sequence
 0:313        move second child to first child ( temp 4-component vector of float)
-0:313          'r048' ( temp 4-component vector of float)
-0:313          min ( temp 4-component vector of float)
+0:313          'r052' ( temp 4-component vector of float)
+0:313          divide ( temp 4-component vector of float)
+0:313            Constant:
+0:313              1.000000
 0:313            'inF0' ( in 4-component vector of float)
-0:313            'inF1' ( in 4-component vector of float)
 0:314      Sequence
 0:314        move second child to first child ( temp 4-component vector of float)
-0:314          'r049' ( temp 4-component vector of float)
-0:314          normalize ( temp 4-component vector of float)
+0:314          'r053' ( temp 4-component vector of float)
+0:314          reflect ( temp 4-component vector of float)
 0:314            'inF0' ( in 4-component vector of float)
+0:314            'inF1' ( in 4-component vector of float)
 0:315      Sequence
 0:315        move second child to first child ( temp 4-component vector of float)
-0:315          'r050' ( temp 4-component vector of float)
-0:315          pow ( temp 4-component vector of float)
+0:315          'r054' ( temp 4-component vector of float)
+0:315          refract ( temp 4-component vector of float)
 0:315            'inF0' ( in 4-component vector of float)
 0:315            'inF1' ( in 4-component vector of float)
+0:315            Constant:
+0:315              2.000000
 0:316      Sequence
-0:316        move second child to first child ( temp 4-component vector of float)
-0:316          'r051' ( temp 4-component vector of float)
-0:316          radians ( temp 4-component vector of float)
-0:316            'inF0' ( in 4-component vector of float)
+0:316        move second child to first child ( temp 4-component vector of uint)
+0:316          'r055' ( temp 4-component vector of uint)
+0:?           bitFieldReverse ( temp 4-component vector of uint)
+0:?             Constant:
+0:?               1 (const uint)
+0:?               2 (const uint)
+0:?               3 (const uint)
+0:?               4 (const uint)
 0:317      Sequence
 0:317        move second child to first child ( temp 4-component vector of float)
-0:317          'r052' ( temp 4-component vector of float)
-0:317          divide ( temp 4-component vector of float)
-0:317            Constant:
-0:317              1.000000
+0:317          'r056' ( temp 4-component vector of float)
+0:317          roundEven ( temp 4-component vector of float)
 0:317            'inF0' ( in 4-component vector of float)
 0:318      Sequence
 0:318        move second child to first child ( temp 4-component vector of float)
-0:318          'r053' ( temp 4-component vector of float)
-0:318          reflect ( temp 4-component vector of float)
+0:318          'r057' ( temp 4-component vector of float)
+0:318          inverse sqrt ( temp 4-component vector of float)
 0:318            'inF0' ( in 4-component vector of float)
-0:318            'inF1' ( in 4-component vector of float)
 0:319      Sequence
 0:319        move second child to first child ( temp 4-component vector of float)
-0:319          'r054' ( temp 4-component vector of float)
-0:319          refract ( temp 4-component vector of float)
+0:319          'r058' ( temp 4-component vector of float)
+0:319          clamp ( temp 4-component vector of float)
 0:319            'inF0' ( in 4-component vector of float)
-0:319            'inF1' ( in 4-component vector of float)
 0:319            Constant:
-0:319              2.000000
+0:319              0.000000
+0:319            Constant:
+0:319              1.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 ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
-0:?               3 (const uint)
-0:?               4 (const uint)
+0:320        move second child to first child ( temp 4-component vector of float)
+0:320          'r059' ( temp 4-component vector of float)
+0:320          Sign ( temp 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          'r056' ( temp 4-component vector of float)
-0:321          roundEven ( temp 4-component vector of float)
+0:321          'r060' ( temp 4-component vector of float)
+0:321          sine ( temp 4-component vector of float)
 0:321            'inF0' ( in 4-component vector of float)
 0:322      Sequence
 0:322        move second child to first child ( temp 4-component vector of float)
-0:322          'r057' ( temp 4-component vector of float)
-0:322          inverse sqrt ( temp 4-component vector of float)
+0:322          'inF1' ( in 4-component vector of float)
+0:322          sine ( temp 4-component vector of float)
+0:322            'inF0' ( in 4-component vector of float)
+0:322        move second child to first child ( temp 4-component vector of float)
+0:322          'inF2' ( in 4-component vector of float)
+0:322          cosine ( temp 4-component vector of float)
 0:322            'inF0' ( in 4-component vector of float)
 0:323      Sequence
 0:323        move second child to first child ( temp 4-component vector of float)
-0:323          'r058' ( temp 4-component vector of float)
-0:323          clamp ( temp 4-component vector of float)
+0:323          'r061' ( temp 4-component vector of float)
+0:323          hyp. sine ( temp 4-component vector of float)
 0:323            'inF0' ( in 4-component vector of float)
-0:323            Constant:
-0:323              0.000000
-0:323            Constant:
-0:323              1.000000
 0:324      Sequence
 0:324        move second child to first child ( temp 4-component vector of float)
-0:324          'r059' ( temp 4-component vector of float)
-0:324          Sign ( temp 4-component vector of float)
+0:324          'r062' ( temp 4-component vector of float)
+0:324          smoothstep ( temp 4-component vector of float)
 0:324            'inF0' ( in 4-component vector of float)
+0:324            'inF1' ( in 4-component vector of float)
+0:324            'inF2' ( 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          'r060' ( temp 4-component vector of float)
-0:325          sine ( temp 4-component vector of float)
+0:325          'r063' ( temp 4-component vector of float)
+0:325          sqrt ( temp 4-component vector of float)
 0:325            'inF0' ( in 4-component vector of float)
 0:326      Sequence
 0:326        move second child to first child ( temp 4-component vector of float)
-0:326          'inF1' ( in 4-component vector of float)
-0:326          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          'r064' ( temp 4-component vector of float)
+0:326          step ( temp 4-component vector of float)
 0:326            'inF0' ( in 4-component vector of float)
+0:326            'inF1' ( in 4-component vector of float)
 0:327      Sequence
 0:327        move second child to first child ( temp 4-component vector of float)
-0:327          'r061' ( temp 4-component vector of float)
-0:327          hyp. sine ( temp 4-component vector of float)
+0:327          'r065' ( temp 4-component vector of float)
+0:327          tangent ( temp 4-component vector of float)
 0:327            'inF0' ( in 4-component vector of float)
 0:328      Sequence
 0:328        move second child to first child ( temp 4-component vector of float)
-0:328          'r062' ( temp 4-component vector of float)
-0:328          smoothstep ( temp 4-component vector of float)
+0:328          'r066' ( temp 4-component vector of float)
+0:328          hyp. tangent ( temp 4-component vector of float)
 0:328            'inF0' ( in 4-component vector of float)
-0:328            'inF1' ( in 4-component vector of float)
-0:328            'inF2' ( in 4-component vector of float)
-0:329      Sequence
-0:329        move second child to first child ( temp 4-component vector of float)
-0:329          'r063' ( temp 4-component vector of float)
-0:329          sqrt ( temp 4-component vector of float)
-0:329            'inF0' ( in 4-component vector of float)
 0:330      Sequence
 0:330        move second child to first child ( temp 4-component vector of float)
-0:330          'r064' ( temp 4-component vector of float)
-0:330          step ( temp 4-component vector of float)
+0:330          'r067' ( temp 4-component vector of float)
+0:330          trunc ( temp 4-component vector of float)
 0:330            'inF0' ( in 4-component vector of float)
-0:330            'inF1' ( in 4-component vector of float)
-0:331      Sequence
-0:331        move second child to first child ( temp 4-component vector of float)
-0:331          'r065' ( temp 4-component vector of float)
-0:331          tangent ( temp 4-component vector of float)
-0:331            'inF0' ( in 4-component vector of float)
-0:332      Sequence
-0:332        move second child to first child ( temp 4-component vector of float)
-0:332          'r066' ( temp 4-component vector of float)
-0:332          hyp. tangent ( temp 4-component vector of float)
-0:332            'inF0' ( in 4-component vector of float)
-0:334      Sequence
-0:334        move second child to first child ( temp 4-component vector of float)
-0:334          'r067' ( temp 4-component vector of float)
-0:334          trunc ( temp 4-component vector of float)
-0:334            'inF0' ( in 4-component vector of float)
-0:337      Branch: Return with expression
+0:333      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:401  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
-0:401    Function Parameters: 
-0:401      'inF0' ( in 2X2 matrix of float)
-0:401      'inF1' ( in 2X2 matrix of float)
-0:401      'inF2' ( in 2X2 matrix of float)
+0:396  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:396    Function Parameters: 
+0:396      'inF0' ( in 2X2 matrix of float)
+0:396      'inF1' ( in 2X2 matrix of float)
+0:396      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-0:403      Sequence
-0:403        move second child to first child ( temp bool)
-0:403          'r000' ( temp bool)
-0:403          all ( temp bool)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r001' ( temp 2X2 matrix of float)
-0:403          Absolute value ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      arc cosine ( temp 2X2 matrix of float)
-0:403        'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp bool)
-0:403          'r003' ( temp bool)
-0:403          any ( temp bool)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r004' ( temp 2X2 matrix of float)
-0:403          arc sine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r005' ( temp 2X2 matrix of float)
-0:403          arc tangent ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r006' ( temp 2X2 matrix of float)
-0:403          arc tangent ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r007' ( temp 2X2 matrix of float)
-0:403          Ceiling ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Test condition and select ( temp void)
-0:403        Condition
-0:403        any ( temp bool)
-0:403          Compare Less Than ( temp 2X2 matrix of bool)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            Constant:
-0:403              0.000000
-0:403              0.000000
-0:403              0.000000
-0:403              0.000000
-0:403        true case
-0:403        Branch: Kill
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r008' ( temp 2X2 matrix of float)
-0:403          clamp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403            'inF2' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r009' ( temp 2X2 matrix of float)
-0:403          cosine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r010' ( temp 2X2 matrix of float)
-0:403          hyp. cosine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r011' ( temp 2X2 matrix of float)
-0:403          dPdx ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r012' ( temp 2X2 matrix of float)
-0:403          dPdxCoarse ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r013' ( temp 2X2 matrix of float)
-0:403          dPdxFine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r014' ( temp 2X2 matrix of float)
-0:403          dPdy ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r015' ( temp 2X2 matrix of float)
-0:403          dPdyCoarse ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r016' ( temp 2X2 matrix of float)
-0:403          dPdyFine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r017' ( temp 2X2 matrix of float)
-0:403          degrees ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp float)
-0:403          'r018' ( temp float)
-0:403          determinant ( temp float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r019' ( temp 2X2 matrix of float)
-0:403          exp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'R020' ( temp 2X2 matrix of float)
-0:403          exp2 ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r021' ( temp 2X2 matrix of float)
-0:403          Floor ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r022' ( temp 2X2 matrix of float)
-0:403          mod ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r023' ( temp 2X2 matrix of float)
-0:403          Fraction ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r024' ( temp 2X2 matrix of float)
-0:403          frexp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r025' ( temp 2X2 matrix of float)
-0:403          fwidth ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r026' ( temp 2X2 matrix of float)
-0:403          ldexp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r026a' ( temp 2X2 matrix of float)
-0:403          mix ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403            'inF2' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r027' ( temp 2X2 matrix of float)
-0:403          log ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r028' ( temp 2X2 matrix of float)
-0:403          matrix-scale ( temp 2X2 matrix of float)
-0:403            log2 ( temp 2X2 matrix of float)
-0:403              'inF0' ( in 2X2 matrix of float)
-0:403            Constant:
-0:403              0.301030
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r029' ( temp 2X2 matrix of float)
-0:403          log2 ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r030' ( temp 2X2 matrix of float)
-0:403          max ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r031' ( temp 2X2 matrix of float)
-0:403          min ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r032' ( temp 2X2 matrix of float)
-0:403          pow ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r033' ( temp 2X2 matrix of float)
-0:403          radians ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r034' ( temp 2X2 matrix of float)
-0:403          roundEven ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r035' ( temp 2X2 matrix of float)
-0:403          inverse sqrt ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r036' ( temp 2X2 matrix of float)
-0:403          clamp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            Constant:
-0:403              0.000000
-0:403            Constant:
-0:403              1.000000
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r037' ( temp 2X2 matrix of float)
-0:403          Sign ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r038' ( temp 2X2 matrix of float)
-0:403          sine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'inF1' ( in 2X2 matrix of float)
-0:403          sine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'inF2' ( in 2X2 matrix of float)
-0:403          cosine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r039' ( temp 2X2 matrix of float)
-0:403          hyp. sine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r049' ( temp 2X2 matrix of float)
-0:403          smoothstep ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403            'inF2' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r041' ( temp 2X2 matrix of float)
-0:403          sqrt ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r042' ( temp 2X2 matrix of float)
-0:403          step ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r043' ( temp 2X2 matrix of float)
-0:403          tangent ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r044' ( temp 2X2 matrix of float)
-0:403          hyp. tangent ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      transpose ( temp 2X2 matrix of float)
-0:403        'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r046' ( temp 2X2 matrix of float)
-0:403          trunc ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:406      Branch: Return with expression
+0:398      Sequence
+0:398        move second child to first child ( temp bool)
+0:398          'r000' ( temp bool)
+0:398          all ( temp bool)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r001' ( temp 2X2 matrix of float)
+0:398          Absolute value ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      arc cosine ( temp 2X2 matrix of float)
+0:398        'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp bool)
+0:398          'r003' ( temp bool)
+0:398          any ( temp bool)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r004' ( temp 2X2 matrix of float)
+0:398          arc sine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r005' ( temp 2X2 matrix of float)
+0:398          arc tangent ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r006' ( temp 2X2 matrix of float)
+0:398          arc tangent ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r007' ( temp 2X2 matrix of float)
+0:398          Ceiling ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Test condition and select ( temp void)
+0:398        Condition
+0:398        any ( temp bool)
+0:398          Compare Less Than ( temp 2X2 matrix of bool)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            Constant:
+0:398              0.000000
+0:398              0.000000
+0:398              0.000000
+0:398              0.000000
+0:398        true case
+0:398        Branch: Kill
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r008' ( temp 2X2 matrix of float)
+0:398          clamp ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398            'inF2' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r009' ( temp 2X2 matrix of float)
+0:398          cosine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r010' ( temp 2X2 matrix of float)
+0:398          hyp. cosine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r011' ( temp 2X2 matrix of float)
+0:398          dPdx ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r012' ( temp 2X2 matrix of float)
+0:398          dPdxCoarse ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r013' ( temp 2X2 matrix of float)
+0:398          dPdxFine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r014' ( temp 2X2 matrix of float)
+0:398          dPdy ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r015' ( temp 2X2 matrix of float)
+0:398          dPdyCoarse ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r016' ( temp 2X2 matrix of float)
+0:398          dPdyFine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r017' ( temp 2X2 matrix of float)
+0:398          degrees ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp float)
+0:398          'r018' ( temp float)
+0:398          determinant ( temp float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r019' ( temp 2X2 matrix of float)
+0:398          exp ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'R020' ( temp 2X2 matrix of float)
+0:398          exp2 ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r021' ( temp 2X2 matrix of float)
+0:398          Floor ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r022' ( temp 2X2 matrix of float)
+0:398          mod ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r023' ( temp 2X2 matrix of float)
+0:398          Fraction ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r025' ( temp 2X2 matrix of float)
+0:398          fwidth ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r026' ( temp 2X2 matrix of float)
+0:398          ldexp ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r026a' ( temp 2X2 matrix of float)
+0:398          mix ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398            'inF2' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r027' ( temp 2X2 matrix of float)
+0:398          log ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r028' ( temp 2X2 matrix of float)
+0:398          matrix-scale ( temp 2X2 matrix of float)
+0:398            log2 ( temp 2X2 matrix of float)
+0:398              'inF0' ( in 2X2 matrix of float)
+0:398            Constant:
+0:398              0.301030
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r029' ( temp 2X2 matrix of float)
+0:398          log2 ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r030' ( temp 2X2 matrix of float)
+0:398          max ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r031' ( temp 2X2 matrix of float)
+0:398          min ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r032' ( temp 2X2 matrix of float)
+0:398          pow ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r033' ( temp 2X2 matrix of float)
+0:398          radians ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r034' ( temp 2X2 matrix of float)
+0:398          roundEven ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r035' ( temp 2X2 matrix of float)
+0:398          inverse sqrt ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r036' ( temp 2X2 matrix of float)
+0:398          clamp ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            Constant:
+0:398              0.000000
+0:398            Constant:
+0:398              1.000000
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r037' ( temp 2X2 matrix of float)
+0:398          Sign ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r038' ( temp 2X2 matrix of float)
+0:398          sine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'inF1' ( in 2X2 matrix of float)
+0:398          sine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'inF2' ( in 2X2 matrix of float)
+0:398          cosine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r039' ( temp 2X2 matrix of float)
+0:398          hyp. sine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r049' ( temp 2X2 matrix of float)
+0:398          smoothstep ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398            'inF2' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r041' ( temp 2X2 matrix of float)
+0:398          sqrt ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r042' ( temp 2X2 matrix of float)
+0:398          step ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r043' ( temp 2X2 matrix of float)
+0:398          tangent ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r044' ( temp 2X2 matrix of float)
+0:398          hyp. tangent ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      transpose ( temp 2X2 matrix of float)
+0:398        'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r046' ( temp 2X2 matrix of float)
+0:398          trunc ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:401      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:410  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
-0:410    Function Parameters: 
-0:410      'inF0' ( in 3X3 matrix of float)
-0:410      'inF1' ( in 3X3 matrix of float)
-0:410      'inF2' ( in 3X3 matrix of float)
+0:405  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:405    Function Parameters: 
+0:405      'inF0' ( in 3X3 matrix of float)
+0:405      'inF1' ( in 3X3 matrix of float)
+0:405      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-0:412      Sequence
-0:412        move second child to first child ( temp bool)
-0:412          'r000' ( temp bool)
-0:412          all ( temp bool)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r001' ( temp 3X3 matrix of float)
-0:412          Absolute value ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      arc cosine ( temp 3X3 matrix of float)
-0:412        'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp bool)
-0:412          'r003' ( temp bool)
-0:412          any ( temp bool)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r004' ( temp 3X3 matrix of float)
-0:412          arc sine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r005' ( temp 3X3 matrix of float)
-0:412          arc tangent ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r006' ( temp 3X3 matrix of float)
-0:412          arc tangent ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r007' ( temp 3X3 matrix of float)
-0:412          Ceiling ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Test condition and select ( temp void)
-0:412        Condition
-0:412        any ( temp bool)
-0:412          Compare Less Than ( temp 3X3 matrix of bool)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            Constant:
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412        true case
-0:412        Branch: Kill
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r008' ( temp 3X3 matrix of float)
-0:412          clamp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412            'inF2' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r009' ( temp 3X3 matrix of float)
-0:412          cosine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r010' ( temp 3X3 matrix of float)
-0:412          hyp. cosine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r011' ( temp 3X3 matrix of float)
-0:412          dPdx ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r012' ( temp 3X3 matrix of float)
-0:412          dPdxCoarse ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r013' ( temp 3X3 matrix of float)
-0:412          dPdxFine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r014' ( temp 3X3 matrix of float)
-0:412          dPdy ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r015' ( temp 3X3 matrix of float)
-0:412          dPdyCoarse ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r016' ( temp 3X3 matrix of float)
-0:412          dPdyFine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r017' ( temp 3X3 matrix of float)
-0:412          degrees ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp float)
-0:412          'r018' ( temp float)
-0:412          determinant ( temp float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r019' ( temp 3X3 matrix of float)
-0:412          exp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'R020' ( temp 3X3 matrix of float)
-0:412          exp2 ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r021' ( temp 3X3 matrix of float)
-0:412          Floor ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r022' ( temp 3X3 matrix of float)
-0:412          mod ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r023' ( temp 3X3 matrix of float)
-0:412          Fraction ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r024' ( temp 3X3 matrix of float)
-0:412          frexp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r025' ( temp 3X3 matrix of float)
-0:412          fwidth ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r026' ( temp 3X3 matrix of float)
-0:412          ldexp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r026a' ( temp 3X3 matrix of float)
-0:412          mix ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412            'inF2' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r027' ( temp 3X3 matrix of float)
-0:412          log ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r028' ( temp 3X3 matrix of float)
-0:412          matrix-scale ( temp 3X3 matrix of float)
-0:412            log2 ( temp 3X3 matrix of float)
-0:412              'inF0' ( in 3X3 matrix of float)
-0:412            Constant:
-0:412              0.301030
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r029' ( temp 3X3 matrix of float)
-0:412          log2 ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r030' ( temp 3X3 matrix of float)
-0:412          max ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r031' ( temp 3X3 matrix of float)
-0:412          min ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r032' ( temp 3X3 matrix of float)
-0:412          pow ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r033' ( temp 3X3 matrix of float)
-0:412          radians ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r034' ( temp 3X3 matrix of float)
-0:412          roundEven ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r035' ( temp 3X3 matrix of float)
-0:412          inverse sqrt ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r036' ( temp 3X3 matrix of float)
-0:412          clamp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            Constant:
-0:412              0.000000
-0:412            Constant:
-0:412              1.000000
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r037' ( temp 3X3 matrix of float)
-0:412          Sign ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r038' ( temp 3X3 matrix of float)
-0:412          sine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'inF1' ( in 3X3 matrix of float)
-0:412          sine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'inF2' ( in 3X3 matrix of float)
-0:412          cosine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r039' ( temp 3X3 matrix of float)
-0:412          hyp. sine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r049' ( temp 3X3 matrix of float)
-0:412          smoothstep ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412            'inF2' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r041' ( temp 3X3 matrix of float)
-0:412          sqrt ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r042' ( temp 3X3 matrix of float)
-0:412          step ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r043' ( temp 3X3 matrix of float)
-0:412          tangent ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r044' ( temp 3X3 matrix of float)
-0:412          hyp. tangent ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      transpose ( temp 3X3 matrix of float)
-0:412        'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r046' ( temp 3X3 matrix of float)
-0:412          trunc ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:415      Branch: Return with expression
+0:407      Sequence
+0:407        move second child to first child ( temp bool)
+0:407          'r000' ( temp bool)
+0:407          all ( temp bool)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r001' ( temp 3X3 matrix of float)
+0:407          Absolute value ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      arc cosine ( temp 3X3 matrix of float)
+0:407        'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp bool)
+0:407          'r003' ( temp bool)
+0:407          any ( temp bool)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r004' ( temp 3X3 matrix of float)
+0:407          arc sine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r005' ( temp 3X3 matrix of float)
+0:407          arc tangent ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r006' ( temp 3X3 matrix of float)
+0:407          arc tangent ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r007' ( temp 3X3 matrix of float)
+0:407          Ceiling ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Test condition and select ( temp void)
+0:407        Condition
+0:407        any ( temp bool)
+0:407          Compare Less Than ( temp 3X3 matrix of bool)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            Constant:
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407        true case
+0:407        Branch: Kill
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r008' ( temp 3X3 matrix of float)
+0:407          clamp ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407            'inF2' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r009' ( temp 3X3 matrix of float)
+0:407          cosine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r010' ( temp 3X3 matrix of float)
+0:407          hyp. cosine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r011' ( temp 3X3 matrix of float)
+0:407          dPdx ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r012' ( temp 3X3 matrix of float)
+0:407          dPdxCoarse ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r013' ( temp 3X3 matrix of float)
+0:407          dPdxFine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r014' ( temp 3X3 matrix of float)
+0:407          dPdy ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r015' ( temp 3X3 matrix of float)
+0:407          dPdyCoarse ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r016' ( temp 3X3 matrix of float)
+0:407          dPdyFine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r017' ( temp 3X3 matrix of float)
+0:407          degrees ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp float)
+0:407          'r018' ( temp float)
+0:407          determinant ( temp float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r019' ( temp 3X3 matrix of float)
+0:407          exp ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'R020' ( temp 3X3 matrix of float)
+0:407          exp2 ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r021' ( temp 3X3 matrix of float)
+0:407          Floor ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r022' ( temp 3X3 matrix of float)
+0:407          mod ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r023' ( temp 3X3 matrix of float)
+0:407          Fraction ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r025' ( temp 3X3 matrix of float)
+0:407          fwidth ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r026' ( temp 3X3 matrix of float)
+0:407          ldexp ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r026a' ( temp 3X3 matrix of float)
+0:407          mix ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407            'inF2' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r027' ( temp 3X3 matrix of float)
+0:407          log ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r028' ( temp 3X3 matrix of float)
+0:407          matrix-scale ( temp 3X3 matrix of float)
+0:407            log2 ( temp 3X3 matrix of float)
+0:407              'inF0' ( in 3X3 matrix of float)
+0:407            Constant:
+0:407              0.301030
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r029' ( temp 3X3 matrix of float)
+0:407          log2 ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r030' ( temp 3X3 matrix of float)
+0:407          max ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r031' ( temp 3X3 matrix of float)
+0:407          min ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r032' ( temp 3X3 matrix of float)
+0:407          pow ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r033' ( temp 3X3 matrix of float)
+0:407          radians ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r034' ( temp 3X3 matrix of float)
+0:407          roundEven ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r035' ( temp 3X3 matrix of float)
+0:407          inverse sqrt ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r036' ( temp 3X3 matrix of float)
+0:407          clamp ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            Constant:
+0:407              0.000000
+0:407            Constant:
+0:407              1.000000
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r037' ( temp 3X3 matrix of float)
+0:407          Sign ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r038' ( temp 3X3 matrix of float)
+0:407          sine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'inF1' ( in 3X3 matrix of float)
+0:407          sine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'inF2' ( in 3X3 matrix of float)
+0:407          cosine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r039' ( temp 3X3 matrix of float)
+0:407          hyp. sine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r049' ( temp 3X3 matrix of float)
+0:407          smoothstep ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407            'inF2' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r041' ( temp 3X3 matrix of float)
+0:407          sqrt ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r042' ( temp 3X3 matrix of float)
+0:407          step ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r043' ( temp 3X3 matrix of float)
+0:407          tangent ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r044' ( temp 3X3 matrix of float)
+0:407          hyp. tangent ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      transpose ( temp 3X3 matrix of float)
+0:407        'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r046' ( temp 3X3 matrix of float)
+0:407          trunc ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:410      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -2145,301 +2109,295 @@ gl_FragCoord origin is upper left
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:419  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
-0:419    Function Parameters: 
-0:419      'inF0' ( in 4X4 matrix of float)
-0:419      'inF1' ( in 4X4 matrix of float)
-0:419      'inF2' ( in 4X4 matrix of float)
+0:414  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:414    Function Parameters: 
+0:414      'inF0' ( in 4X4 matrix of float)
+0:414      'inF1' ( in 4X4 matrix of float)
+0:414      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-0:421      Sequence
-0:421        move second child to first child ( temp bool)
-0:421          'r000' ( temp bool)
-0:421          all ( temp bool)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r001' ( temp 4X4 matrix of float)
-0:421          Absolute value ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      arc cosine ( temp 4X4 matrix of float)
-0:421        'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp bool)
-0:421          'r003' ( temp bool)
-0:421          any ( temp bool)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r004' ( temp 4X4 matrix of float)
-0:421          arc sine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r005' ( temp 4X4 matrix of float)
-0:421          arc tangent ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r006' ( temp 4X4 matrix of float)
-0:421          arc tangent ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r007' ( temp 4X4 matrix of float)
-0:421          Ceiling ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Test condition and select ( temp void)
-0:421        Condition
-0:421        any ( temp bool)
-0:421          Compare Less Than ( temp 4X4 matrix of bool)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            Constant:
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421        true case
-0:421        Branch: Kill
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r008' ( temp 4X4 matrix of float)
-0:421          clamp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421            'inF2' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r009' ( temp 4X4 matrix of float)
-0:421          cosine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r010' ( temp 4X4 matrix of float)
-0:421          hyp. cosine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r011' ( temp 4X4 matrix of float)
-0:421          dPdx ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r012' ( temp 4X4 matrix of float)
-0:421          dPdxCoarse ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r013' ( temp 4X4 matrix of float)
-0:421          dPdxFine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r014' ( temp 4X4 matrix of float)
-0:421          dPdy ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r015' ( temp 4X4 matrix of float)
-0:421          dPdyCoarse ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r016' ( temp 4X4 matrix of float)
-0:421          dPdyFine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r017' ( temp 4X4 matrix of float)
-0:421          degrees ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp float)
-0:421          'r018' ( temp float)
-0:421          determinant ( temp float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r019' ( temp 4X4 matrix of float)
-0:421          exp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'R020' ( temp 4X4 matrix of float)
-0:421          exp2 ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r021' ( temp 4X4 matrix of float)
-0:421          Floor ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r022' ( temp 4X4 matrix of float)
-0:421          mod ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r023' ( temp 4X4 matrix of float)
-0:421          Fraction ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r024' ( temp 4X4 matrix of float)
-0:421          frexp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r025' ( temp 4X4 matrix of float)
-0:421          fwidth ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r026' ( temp 4X4 matrix of float)
-0:421          ldexp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r026a' ( temp 4X4 matrix of float)
-0:421          mix ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421            'inF2' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r027' ( temp 4X4 matrix of float)
-0:421          log ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r028' ( temp 4X4 matrix of float)
-0:421          matrix-scale ( temp 4X4 matrix of float)
-0:421            log2 ( temp 4X4 matrix of float)
-0:421              'inF0' ( in 4X4 matrix of float)
-0:421            Constant:
-0:421              0.301030
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r029' ( temp 4X4 matrix of float)
-0:421          log2 ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r030' ( temp 4X4 matrix of float)
-0:421          max ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r031' ( temp 4X4 matrix of float)
-0:421          min ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r032' ( temp 4X4 matrix of float)
-0:421          pow ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r033' ( temp 4X4 matrix of float)
-0:421          radians ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r034' ( temp 4X4 matrix of float)
-0:421          roundEven ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r035' ( temp 4X4 matrix of float)
-0:421          inverse sqrt ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r036' ( temp 4X4 matrix of float)
-0:421          clamp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            Constant:
-0:421              0.000000
-0:421            Constant:
-0:421              1.000000
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r037' ( temp 4X4 matrix of float)
-0:421          Sign ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r038' ( temp 4X4 matrix of float)
-0:421          sine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'inF1' ( in 4X4 matrix of float)
-0:421          sine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'inF2' ( in 4X4 matrix of float)
-0:421          cosine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r039' ( temp 4X4 matrix of float)
-0:421          hyp. sine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r049' ( temp 4X4 matrix of float)
-0:421          smoothstep ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421            'inF2' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r041' ( temp 4X4 matrix of float)
-0:421          sqrt ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r042' ( temp 4X4 matrix of float)
-0:421          step ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r043' ( temp 4X4 matrix of float)
-0:421          tangent ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r044' ( temp 4X4 matrix of float)
-0:421          hyp. tangent ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      transpose ( temp 4X4 matrix of float)
-0:421        'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r046' ( temp 4X4 matrix of float)
-0:421          trunc ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:424      Branch: Return with expression
+0:416      Sequence
+0:416        move second child to first child ( temp bool)
+0:416          'r000' ( temp bool)
+0:416          all ( temp bool)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r001' ( temp 4X4 matrix of float)
+0:416          Absolute value ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      arc cosine ( temp 4X4 matrix of float)
+0:416        'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp bool)
+0:416          'r003' ( temp bool)
+0:416          any ( temp bool)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r004' ( temp 4X4 matrix of float)
+0:416          arc sine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r005' ( temp 4X4 matrix of float)
+0:416          arc tangent ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r006' ( temp 4X4 matrix of float)
+0:416          arc tangent ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r007' ( temp 4X4 matrix of float)
+0:416          Ceiling ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Test condition and select ( temp void)
+0:416        Condition
+0:416        any ( temp bool)
+0:416          Compare Less Than ( temp 4X4 matrix of bool)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            Constant:
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416        true case
+0:416        Branch: Kill
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r008' ( temp 4X4 matrix of float)
+0:416          clamp ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416            'inF2' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r009' ( temp 4X4 matrix of float)
+0:416          cosine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r010' ( temp 4X4 matrix of float)
+0:416          hyp. cosine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r011' ( temp 4X4 matrix of float)
+0:416          dPdx ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r012' ( temp 4X4 matrix of float)
+0:416          dPdxCoarse ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r013' ( temp 4X4 matrix of float)
+0:416          dPdxFine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r014' ( temp 4X4 matrix of float)
+0:416          dPdy ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r015' ( temp 4X4 matrix of float)
+0:416          dPdyCoarse ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r016' ( temp 4X4 matrix of float)
+0:416          dPdyFine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r017' ( temp 4X4 matrix of float)
+0:416          degrees ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp float)
+0:416          'r018' ( temp float)
+0:416          determinant ( temp float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r019' ( temp 4X4 matrix of float)
+0:416          exp ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'R020' ( temp 4X4 matrix of float)
+0:416          exp2 ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r021' ( temp 4X4 matrix of float)
+0:416          Floor ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r022' ( temp 4X4 matrix of float)
+0:416          mod ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r023' ( temp 4X4 matrix of float)
+0:416          Fraction ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r025' ( temp 4X4 matrix of float)
+0:416          fwidth ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r026' ( temp 4X4 matrix of float)
+0:416          ldexp ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r026a' ( temp 4X4 matrix of float)
+0:416          mix ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416            'inF2' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r027' ( temp 4X4 matrix of float)
+0:416          log ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r028' ( temp 4X4 matrix of float)
+0:416          matrix-scale ( temp 4X4 matrix of float)
+0:416            log2 ( temp 4X4 matrix of float)
+0:416              'inF0' ( in 4X4 matrix of float)
+0:416            Constant:
+0:416              0.301030
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r029' ( temp 4X4 matrix of float)
+0:416          log2 ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r030' ( temp 4X4 matrix of float)
+0:416          max ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r031' ( temp 4X4 matrix of float)
+0:416          min ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r032' ( temp 4X4 matrix of float)
+0:416          pow ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r033' ( temp 4X4 matrix of float)
+0:416          radians ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r034' ( temp 4X4 matrix of float)
+0:416          roundEven ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r035' ( temp 4X4 matrix of float)
+0:416          inverse sqrt ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r036' ( temp 4X4 matrix of float)
+0:416          clamp ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            Constant:
+0:416              0.000000
+0:416            Constant:
+0:416              1.000000
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r037' ( temp 4X4 matrix of float)
+0:416          Sign ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r038' ( temp 4X4 matrix of float)
+0:416          sine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'inF1' ( in 4X4 matrix of float)
+0:416          sine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'inF2' ( in 4X4 matrix of float)
+0:416          cosine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r039' ( temp 4X4 matrix of float)
+0:416          hyp. sine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r049' ( temp 4X4 matrix of float)
+0:416          smoothstep ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416            'inF2' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r041' ( temp 4X4 matrix of float)
+0:416          sqrt ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r042' ( temp 4X4 matrix of float)
+0:416          step ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r043' ( temp 4X4 matrix of float)
+0:416          tangent ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r044' ( temp 4X4 matrix of float)
+0:416          hyp. tangent ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      transpose ( temp 4X4 matrix of float)
+0:416        'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r046' ( temp 4X4 matrix of float)
+0:416          trunc ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:419      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -2457,334 +2415,334 @@ gl_FragCoord origin is upper left
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:442  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
-0:442    Function Parameters: 
-0:442      'inF0' ( in float)
-0:442      'inF1' ( in float)
-0:442      'inFV0' ( in 2-component vector of float)
-0:442      'inFV1' ( in 2-component vector of float)
-0:442      'inFM0' ( in 2X2 matrix of float)
-0:442      'inFM1' ( in 2X2 matrix of float)
+0:437  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:437    Function Parameters: 
+0:437      'inF0' ( in float)
+0:437      'inF1' ( in float)
+0:437      'inFV0' ( in 2-component vector of float)
+0:437      'inFV1' ( in 2-component vector of float)
+0:437      'inFM0' ( in 2X2 matrix of float)
+0:437      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-0:443      Sequence
-0:443        move second child to first child ( temp float)
-0:443          'r0' ( temp float)
-0:443          component-wise multiply ( temp float)
-0:443            'inF1' ( in float)
-0:443            'inF0' ( in float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2-component vector of float)
-0:443          'r1' ( temp 2-component vector of float)
-0:443          vector-scale ( temp 2-component vector of float)
-0:443            'inF0' ( in float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2-component vector of float)
-0:443          'r2' ( temp 2-component vector of float)
-0:443          vector-scale ( temp 2-component vector of float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443            'inF0' ( in float)
-0:443      Sequence
-0:443        move second child to first child ( temp float)
-0:443          'r3' ( temp float)
-0:443          dot-product ( temp float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443            'inFV1' ( in 2-component vector of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2-component vector of float)
-0:443          'r4' ( temp 2-component vector of float)
-0:443          vector-times-matrix ( temp 2-component vector of float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2-component vector of float)
-0:443          'r5' ( temp 2-component vector of float)
-0:443          matrix-times-vector ( temp 2-component vector of float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2X2 matrix of float)
-0:443          'r6' ( temp 2X2 matrix of float)
-0:443          matrix-scale ( temp 2X2 matrix of float)
-0:443            'inF0' ( in float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2X2 matrix of float)
-0:443          'r7' ( temp 2X2 matrix of float)
-0:443          matrix-scale ( temp 2X2 matrix of float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:443            'inF0' ( in float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2X2 matrix of float)
-0:443          'r8' ( temp 2X2 matrix of float)
-0:443          matrix-multiply ( temp 2X2 matrix of float)
-0:443            'inFM1' ( in 2X2 matrix of float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:449  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
-0:449    Function Parameters: 
-0:449      'inF0' ( in float)
-0:449      'inF1' ( in float)
-0:449      'inFV0' ( in 3-component vector of float)
-0:449      'inFV1' ( in 3-component vector of float)
-0:449      'inFM0' ( in 3X3 matrix of float)
-0:449      'inFM1' ( in 3X3 matrix of float)
+0:438      Sequence
+0:438        move second child to first child ( temp float)
+0:438          'r0' ( temp float)
+0:438          component-wise multiply ( temp float)
+0:438            'inF1' ( in float)
+0:438            'inF0' ( in float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2-component vector of float)
+0:438          'r1' ( temp 2-component vector of float)
+0:438          vector-scale ( temp 2-component vector of float)
+0:438            'inF0' ( in float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2-component vector of float)
+0:438          'r2' ( temp 2-component vector of float)
+0:438          vector-scale ( temp 2-component vector of float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438            'inF0' ( in float)
+0:438      Sequence
+0:438        move second child to first child ( temp float)
+0:438          'r3' ( temp float)
+0:438          dot-product ( temp float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438            'inFV1' ( in 2-component vector of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2-component vector of float)
+0:438          'r4' ( temp 2-component vector of float)
+0:438          vector-times-matrix ( temp 2-component vector of float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2-component vector of float)
+0:438          'r5' ( temp 2-component vector of float)
+0:438          matrix-times-vector ( temp 2-component vector of float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2X2 matrix of float)
+0:438          'r6' ( temp 2X2 matrix of float)
+0:438          matrix-scale ( temp 2X2 matrix of float)
+0:438            'inF0' ( in float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2X2 matrix of float)
+0:438          'r7' ( temp 2X2 matrix of float)
+0:438          matrix-scale ( temp 2X2 matrix of float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:438            'inF0' ( in float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2X2 matrix of float)
+0:438          'r8' ( temp 2X2 matrix of float)
+0:438          matrix-multiply ( temp 2X2 matrix of float)
+0:438            'inFM1' ( in 2X2 matrix of float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:444  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:444    Function Parameters: 
+0:444      'inF0' ( in float)
+0:444      'inF1' ( in float)
+0:444      'inFV0' ( in 3-component vector of float)
+0:444      'inFV1' ( in 3-component vector of float)
+0:444      'inFM0' ( in 3X3 matrix of float)
+0:444      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-0:450      Sequence
-0:450        move second child to first child ( temp float)
-0:450          'r0' ( temp float)
-0:450          component-wise multiply ( temp float)
-0:450            'inF1' ( in float)
-0:450            'inF0' ( in float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3-component vector of float)
-0:450          'r1' ( temp 3-component vector of float)
-0:450          vector-scale ( temp 3-component vector of float)
-0:450            'inF0' ( in float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3-component vector of float)
-0:450          'r2' ( temp 3-component vector of float)
-0:450          vector-scale ( temp 3-component vector of float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450            'inF0' ( in float)
-0:450      Sequence
-0:450        move second child to first child ( temp float)
-0:450          'r3' ( temp float)
-0:450          dot-product ( temp float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450            'inFV1' ( in 3-component vector of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3-component vector of float)
-0:450          'r4' ( temp 3-component vector of float)
-0:450          vector-times-matrix ( temp 3-component vector of float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3-component vector of float)
-0:450          'r5' ( temp 3-component vector of float)
-0:450          matrix-times-vector ( temp 3-component vector of float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3X3 matrix of float)
-0:450          'r6' ( temp 3X3 matrix of float)
-0:450          matrix-scale ( temp 3X3 matrix of float)
-0:450            'inF0' ( in float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3X3 matrix of float)
-0:450          'r7' ( temp 3X3 matrix of float)
-0:450          matrix-scale ( temp 3X3 matrix of float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:450            'inF0' ( in float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3X3 matrix of float)
-0:450          'r8' ( temp 3X3 matrix of float)
-0:450          matrix-multiply ( temp 3X3 matrix of float)
-0:450            'inFM1' ( in 3X3 matrix of float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:456  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
-0:456    Function Parameters: 
-0:456      'inF0' ( in float)
-0:456      'inF1' ( in float)
-0:456      'inFV0' ( in 4-component vector of float)
-0:456      'inFV1' ( in 4-component vector of float)
-0:456      'inFM0' ( in 4X4 matrix of float)
-0:456      'inFM1' ( in 4X4 matrix of float)
+0:445      Sequence
+0:445        move second child to first child ( temp float)
+0:445          'r0' ( temp float)
+0:445          component-wise multiply ( temp float)
+0:445            'inF1' ( in float)
+0:445            'inF0' ( in float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3-component vector of float)
+0:445          'r1' ( temp 3-component vector of float)
+0:445          vector-scale ( temp 3-component vector of float)
+0:445            'inF0' ( in float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3-component vector of float)
+0:445          'r2' ( temp 3-component vector of float)
+0:445          vector-scale ( temp 3-component vector of float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445            'inF0' ( in float)
+0:445      Sequence
+0:445        move second child to first child ( temp float)
+0:445          'r3' ( temp float)
+0:445          dot-product ( temp float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445            'inFV1' ( in 3-component vector of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3-component vector of float)
+0:445          'r4' ( temp 3-component vector of float)
+0:445          vector-times-matrix ( temp 3-component vector of float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3-component vector of float)
+0:445          'r5' ( temp 3-component vector of float)
+0:445          matrix-times-vector ( temp 3-component vector of float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3X3 matrix of float)
+0:445          'r6' ( temp 3X3 matrix of float)
+0:445          matrix-scale ( temp 3X3 matrix of float)
+0:445            'inF0' ( in float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3X3 matrix of float)
+0:445          'r7' ( temp 3X3 matrix of float)
+0:445          matrix-scale ( temp 3X3 matrix of float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:445            'inF0' ( in float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3X3 matrix of float)
+0:445          'r8' ( temp 3X3 matrix of float)
+0:445          matrix-multiply ( temp 3X3 matrix of float)
+0:445            'inFM1' ( in 3X3 matrix of float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:451  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:451    Function Parameters: 
+0:451      'inF0' ( in float)
+0:451      'inF1' ( in float)
+0:451      'inFV0' ( in 4-component vector of float)
+0:451      'inFV1' ( in 4-component vector of float)
+0:451      'inFM0' ( in 4X4 matrix of float)
+0:451      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-0:457      Sequence
-0:457        move second child to first child ( temp float)
-0:457          'r0' ( temp float)
-0:457          component-wise multiply ( temp float)
-0:457            'inF1' ( in float)
-0:457            'inF0' ( in float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4-component vector of float)
-0:457          'r1' ( temp 4-component vector of float)
-0:457          vector-scale ( temp 4-component vector of float)
-0:457            'inF0' ( in float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4-component vector of float)
-0:457          'r2' ( temp 4-component vector of float)
-0:457          vector-scale ( temp 4-component vector of float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457            'inF0' ( in float)
-0:457      Sequence
-0:457        move second child to first child ( temp float)
-0:457          'r3' ( temp float)
-0:457          dot-product ( temp float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457            'inFV1' ( in 4-component vector of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4-component vector of float)
-0:457          'r4' ( temp 4-component vector of float)
-0:457          vector-times-matrix ( temp 4-component vector of float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4-component vector of float)
-0:457          'r5' ( temp 4-component vector of float)
-0:457          matrix-times-vector ( temp 4-component vector of float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4X4 matrix of float)
-0:457          'r6' ( temp 4X4 matrix of float)
-0:457          matrix-scale ( temp 4X4 matrix of float)
-0:457            'inF0' ( in float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4X4 matrix of float)
-0:457          'r7' ( temp 4X4 matrix of float)
-0:457          matrix-scale ( temp 4X4 matrix of float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:457            'inF0' ( in float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4X4 matrix of float)
-0:457          'r8' ( temp 4X4 matrix of float)
-0:457          matrix-multiply ( temp 4X4 matrix of float)
-0:457            'inFM1' ( in 4X4 matrix of float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:466  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
-0:466    Function Parameters: 
-0:466      'inF0' ( in float)
-0:466      'inF1' ( in float)
-0:466      'inFV2' ( in 2-component vector of float)
-0:466      'inFV3' ( in 3-component vector of float)
-0:466      'inFM2x3' ( in 2X3 matrix of float)
-0:466      'inFM3x2' ( in 3X2 matrix of float)
-0:466      'inFM3x3' ( in 3X3 matrix of float)
-0:466      'inFM3x4' ( in 3X4 matrix of float)
-0:466      'inFM2x4' ( in 2X4 matrix of float)
+0:452      Sequence
+0:452        move second child to first child ( temp float)
+0:452          'r0' ( temp float)
+0:452          component-wise multiply ( temp float)
+0:452            'inF1' ( in float)
+0:452            'inF0' ( in float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4-component vector of float)
+0:452          'r1' ( temp 4-component vector of float)
+0:452          vector-scale ( temp 4-component vector of float)
+0:452            'inF0' ( in float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4-component vector of float)
+0:452          'r2' ( temp 4-component vector of float)
+0:452          vector-scale ( temp 4-component vector of float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452            'inF0' ( in float)
+0:452      Sequence
+0:452        move second child to first child ( temp float)
+0:452          'r3' ( temp float)
+0:452          dot-product ( temp float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452            'inFV1' ( in 4-component vector of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4-component vector of float)
+0:452          'r4' ( temp 4-component vector of float)
+0:452          vector-times-matrix ( temp 4-component vector of float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4-component vector of float)
+0:452          'r5' ( temp 4-component vector of float)
+0:452          matrix-times-vector ( temp 4-component vector of float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4X4 matrix of float)
+0:452          'r6' ( temp 4X4 matrix of float)
+0:452          matrix-scale ( temp 4X4 matrix of float)
+0:452            'inF0' ( in float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4X4 matrix of float)
+0:452          'r7' ( temp 4X4 matrix of float)
+0:452          matrix-scale ( temp 4X4 matrix of float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:452            'inF0' ( in float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4X4 matrix of float)
+0:452          'r8' ( temp 4X4 matrix of float)
+0:452          matrix-multiply ( temp 4X4 matrix of float)
+0:452            'inFM1' ( in 4X4 matrix of float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:461  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:461    Function Parameters: 
+0:461      'inF0' ( in float)
+0:461      'inF1' ( in float)
+0:461      'inFV2' ( in 2-component vector of float)
+0:461      'inFV3' ( in 3-component vector of float)
+0:461      'inFM2x3' ( in 2X3 matrix of float)
+0:461      'inFM3x2' ( in 3X2 matrix of float)
+0:461      'inFM3x3' ( in 3X3 matrix of float)
+0:461      'inFM3x4' ( in 3X4 matrix of float)
+0:461      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
+0:462      Sequence
+0:462        move second child to first child ( temp float)
+0:462          'r00' ( temp float)
+0:462          component-wise multiply ( temp float)
+0:462            'inF1' ( in float)
+0:462            'inF0' ( in float)
+0:463      Sequence
+0:463        move second child to first child ( temp 2-component vector of float)
+0:463          'r01' ( temp 2-component vector of float)
+0:463          vector-scale ( temp 2-component vector of float)
+0:463            'inF0' ( in float)
+0:463            'inFV2' ( in 2-component vector of float)
+0:464      Sequence
+0:464        move second child to first child ( temp 3-component vector of float)
+0:464          'r02' ( temp 3-component vector of float)
+0:464          vector-scale ( temp 3-component vector of float)
+0:464            'inF0' ( in float)
+0:464            'inFV3' ( in 3-component vector of float)
+0:465      Sequence
+0:465        move second child to first child ( temp 2-component vector of float)
+0:465          'r03' ( temp 2-component vector of float)
+0:465          vector-scale ( temp 2-component vector of float)
+0:465            'inFV2' ( in 2-component vector of float)
+0:465            'inF0' ( in float)
+0:466      Sequence
+0:466        move second child to first child ( temp 3-component vector of float)
+0:466          'r04' ( temp 3-component vector of float)
+0:466          vector-scale ( temp 3-component vector of float)
+0:466            'inFV3' ( in 3-component vector of float)
+0:466            'inF0' ( in float)
 0:467      Sequence
 0:467        move second child to first child ( temp float)
-0:467          'r00' ( temp float)
-0:467          component-wise multiply ( temp float)
-0:467            'inF1' ( in float)
-0:467            'inF0' ( in float)
+0:467          'r05' ( temp float)
+0:467          dot-product ( temp float)
+0:467            'inFV2' ( in 2-component vector of float)
+0:467            'inFV2' ( in 2-component vector of float)
 0:468      Sequence
-0:468        move second child to first child ( temp 2-component vector of float)
-0:468          'r01' ( temp 2-component vector of float)
-0:468          vector-scale ( temp 2-component vector of float)
-0:468            'inF0' ( in float)
-0:468            'inFV2' ( in 2-component vector of float)
+0:468        move second child to first child ( temp float)
+0:468          'r06' ( temp float)
+0:468          dot-product ( temp float)
+0:468            'inFV3' ( in 3-component vector of float)
+0:468            'inFV3' ( in 3-component vector of float)
 0:469      Sequence
 0:469        move second child to first child ( temp 3-component vector of float)
-0:469          'r02' ( temp 3-component vector of float)
-0:469          vector-scale ( temp 3-component vector of float)
-0:469            'inF0' ( in float)
-0:469            'inFV3' ( in 3-component vector of float)
+0:469          'r07' ( temp 3-component vector of float)
+0:469          matrix-times-vector ( temp 3-component vector of float)
+0:469            'inFM2x3' ( in 2X3 matrix of float)
+0:469            'inFV2' ( in 2-component vector of float)
 0:470      Sequence
 0:470        move second child to first child ( temp 2-component vector of float)
-0:470          'r03' ( temp 2-component vector of float)
-0:470          vector-scale ( temp 2-component vector of float)
-0:470            'inFV2' ( in 2-component vector of float)
-0:470            'inF0' ( in float)
+0:470          'r08' ( temp 2-component vector of float)
+0:470          matrix-times-vector ( temp 2-component vector of float)
+0:470            'inFM3x2' ( in 3X2 matrix of float)
+0:470            'inFV3' ( in 3-component vector of float)
 0:471      Sequence
-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        move second child to first child ( temp 2-component vector of float)
+0:471          'r09' ( temp 2-component vector of float)
+0:471          vector-times-matrix ( temp 2-component vector of float)
 0:471            'inFV3' ( in 3-component vector of float)
-0:471            'inF0' ( in float)
+0:471            'inFM2x3' ( in 2X3 matrix of float)
 0:472      Sequence
-0:472        move second child to first child ( temp float)
-0:472          'r05' ( temp float)
-0:472          dot-product ( temp float)
-0:472            'inFV2' ( in 2-component vector of float)
+0:472        move second child to first child ( temp 3-component vector of float)
+0:472          'r10' ( temp 3-component vector of float)
+0:472          vector-times-matrix ( temp 3-component vector of float)
 0:472            'inFV2' ( in 2-component vector of float)
+0:472            'inFM3x2' ( in 3X2 matrix of float)
 0:473      Sequence
-0:473        move second child to first child ( temp float)
-0:473          'r06' ( temp float)
-0:473          dot-product ( temp float)
-0:473            'inFV3' ( in 3-component vector of float)
-0:473            'inFV3' ( in 3-component vector of float)
+0:473        move second child to first child ( temp 2X3 matrix of float)
+0:473          'r11' ( temp 2X3 matrix of float)
+0:473          matrix-scale ( temp 2X3 matrix of float)
+0:473            'inF0' ( in float)
+0:473            'inFM2x3' ( in 2X3 matrix of float)
 0:474      Sequence
-0:474        move second child to first child ( temp 3-component vector of float)
-0:474          'r07' ( temp 3-component vector of float)
-0:474          matrix-times-vector ( temp 3-component vector of float)
-0:474            'inFM2x3' ( in 2X3 matrix of float)
-0:474            'inFV2' ( in 2-component vector of float)
+0:474        move second child to first child ( temp 3X2 matrix of float)
+0:474          'r12' ( temp 3X2 matrix of float)
+0:474          matrix-scale ( temp 3X2 matrix of float)
+0:474            'inF0' ( in float)
+0:474            'inFM3x2' ( in 3X2 matrix of float)
 0:475      Sequence
-0:475        move second child to first child ( temp 2-component vector of float)
-0:475          'r08' ( temp 2-component vector of float)
-0:475          matrix-times-vector ( temp 2-component vector of float)
+0:475        move second child to first child ( temp 2X2 matrix of float)
+0:475          'r13' ( temp 2X2 matrix of float)
+0:475          matrix-multiply ( temp 2X2 matrix of float)
 0:475            'inFM3x2' ( in 3X2 matrix of float)
-0:475            'inFV3' ( in 3-component vector of float)
+0:475            'inFM2x3' ( in 2X3 matrix of float)
 0:476      Sequence
-0:476        move second child to first child ( temp 2-component vector of float)
-0:476          'r09' ( temp 2-component vector of float)
-0:476          vector-times-matrix ( temp 2-component vector of float)
-0:476            'inFV3' ( in 3-component vector of float)
+0:476        move second child to first child ( temp 2X3 matrix of float)
+0:476          'r14' ( temp 2X3 matrix of float)
+0:476          matrix-multiply ( temp 2X3 matrix of float)
+0:476            'inFM3x3' ( in 3X3 matrix of float)
 0:476            'inFM2x3' ( in 2X3 matrix of float)
 0:477      Sequence
-0:477        move second child to first child ( temp 3-component vector of float)
-0:477          'r10' ( temp 3-component vector of float)
-0:477          vector-times-matrix ( temp 3-component vector of float)
-0:477            'inFV2' ( in 2-component vector of float)
-0:477            'inFM3x2' ( in 3X2 matrix of float)
+0:477        move second child to first child ( temp 2X4 matrix of float)
+0:477          'r15' ( temp 2X4 matrix of float)
+0:477          matrix-multiply ( temp 2X4 matrix of float)
+0:477            'inFM3x4' ( in 3X4 matrix of float)
+0:477            'inFM2x3' ( in 2X3 matrix of float)
 0:478      Sequence
-0:478        move second child to first child ( temp 2X3 matrix of float)
-0:478          'r11' ( temp 2X3 matrix of float)
-0:478          matrix-scale ( temp 2X3 matrix of float)
-0:478            'inF0' ( in float)
-0:478            'inFM2x3' ( in 2X3 matrix of float)
-0:479      Sequence
-0:479        move second child to first child ( temp 3X2 matrix of float)
-0:479          'r12' ( temp 3X2 matrix of float)
-0:479          matrix-scale ( temp 3X2 matrix of float)
-0:479            'inF0' ( in float)
-0:479            'inFM3x2' ( in 3X2 matrix of float)
-0:480      Sequence
-0:480        move second child to first child ( temp 2X2 matrix of float)
-0:480          'r13' ( temp 2X2 matrix of float)
-0:480          matrix-multiply ( temp 2X2 matrix of float)
-0:480            'inFM3x2' ( in 3X2 matrix of float)
-0:480            'inFM2x3' ( in 2X3 matrix of float)
-0:481      Sequence
-0:481        move second child to first child ( temp 2X3 matrix of float)
-0:481          'r14' ( temp 2X3 matrix of float)
-0:481          matrix-multiply ( temp 2X3 matrix of float)
-0:481            'inFM3x3' ( in 3X3 matrix of float)
-0:481            'inFM2x3' ( in 2X3 matrix of float)
-0:482      Sequence
-0:482        move second child to first child ( temp 2X4 matrix of float)
-0:482          'r15' ( temp 2X4 matrix of float)
-0:482          matrix-multiply ( temp 2X4 matrix of float)
-0:482            'inFM3x4' ( in 3X4 matrix of float)
-0:482            'inFM2x3' ( in 2X3 matrix of float)
-0:483      Sequence
-0:483        move second child to first child ( temp 3X4 matrix of float)
-0:483          'r16' ( temp 3X4 matrix of float)
-0:483          matrix-multiply ( temp 3X4 matrix of float)
-0:483            'inFM2x4' ( in 2X4 matrix of float)
-0:483            'inFM3x2' ( in 3X2 matrix of float)
-0:489  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
-0:489    Function Parameters: 
+0:478        move second child to first child ( temp 3X4 matrix of float)
+0:478          'r16' ( temp 3X4 matrix of float)
+0:478          matrix-multiply ( temp 3X4 matrix of float)
+0:478            'inFM2x4' ( in 2X4 matrix of float)
+0:478            'inFM3x2' ( in 3X2 matrix of float)
+0:484  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:484    Function Parameters: 
 0:?     Sequence
-0:491      move second child to first child ( temp 4-component vector of float)
-0:491        color: direct index for structure ( temp 4-component vector of float)
-0:491          'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:491          Constant:
-0:491            0 (const int)
-0:491        Constant:
-0:491          1.000000
-0:491          1.000000
-0:491          1.000000
-0:491          1.000000
-0:492      Branch: Return with expression
-0:492        'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:489  Function Definition: main( ( temp void)
-0:489    Function Parameters: 
+0:486      move second child to first child ( temp 4-component vector of float)
+0:486        color: direct index for structure ( temp 4-component vector of float)
+0:486          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:486          Constant:
+0:486            0 (const int)
+0:486        Constant:
+0:486          1.000000
+0:486          1.000000
+0:486          1.000000
+0:486          1.000000
+0:487      Branch: Return with expression
+0:487        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:484  Function Definition: main( ( temp void)
+0:484    Function Parameters: 
 0:?     Sequence
-0:489      Sequence
-0:489        move second child to first child ( temp 4-component vector of float)
+0:484      Sequence
+0:484        move second child to first child ( temp 4-component vector of float)
 0:?           'color' (layout( location=0) out 4-component vector of float)
-0:489          color: direct index for structure ( temp 4-component vector of float)
-0:489            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
-0:489            Constant:
-0:489              0 (const int)
+0:484          color: direct index for structure ( temp 4-component vector of float)
+0:484            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:484            Constant:
+0:484              0 (const int)
 0:?   Linker Objects
 0:?     'gs_ua' ( shared uint)
 0:?     'gs_ub' ( shared uint)
@@ -2979,1967 +2937,1931 @@ gl_FragCoord origin is upper left
 0:54            'inF0' ( in float)
 0:55      Sequence
 0:55        move second child to first child ( temp float)
-0:55          'r035' ( temp float)
-0:55          frexp ( temp float)
+0:55          'r036' ( temp float)
+0:55          fwidth ( temp float)
 0:55            'inF0' ( in float)
-0:55            'inF1' ( in float)
 0:56      Sequence
-0:56        move second child to first child ( temp float)
-0:56          'r036' ( temp float)
-0:56          fwidth ( temp float)
+0:56        move second child to first child ( temp bool)
+0:56          'r037' ( temp bool)
+0:56          isinf ( temp bool)
 0:56            'inF0' ( in float)
 0:57      Sequence
 0:57        move second child to first child ( temp bool)
-0:57          'r037' ( temp bool)
-0:57          isinf ( temp bool)
+0:57          'r038' ( temp bool)
+0:57          isnan ( temp bool)
 0:57            'inF0' ( in float)
 0:58      Sequence
-0:58        move second child to first child ( temp bool)
-0:58          'r038' ( temp bool)
-0:58          isnan ( temp bool)
+0:58        move second child to first child ( temp float)
+0:58          'r039' ( temp float)
+0:58          ldexp ( temp float)
 0:58            'inF0' ( in float)
+0:58            'inF1' ( in float)
 0:59      Sequence
 0:59        move second child to first child ( temp float)
-0:59          'r039' ( temp float)
-0:59          ldexp ( temp float)
+0:59          'r039a' ( temp float)
+0:59          mix ( temp float)
 0:59            'inF0' ( in float)
 0:59            'inF1' ( in float)
+0:59            'inF2' ( in float)
 0:60      Sequence
 0:60        move second child to first child ( temp float)
-0:60          'r039a' ( temp float)
-0:60          mix ( temp float)
+0:60          'r040' ( temp float)
+0:60          log ( temp float)
 0:60            'inF0' ( in float)
-0:60            'inF1' ( in float)
-0:60            'inF2' ( in float)
 0:61      Sequence
 0:61        move second child to first child ( temp float)
-0:61          'r040' ( temp float)
-0:61          log ( temp float)
-0:61            'inF0' ( in float)
+0:61          'r041' ( temp float)
+0:61          component-wise multiply ( temp float)
+0:61            log2 ( temp float)
+0:61              'inF0' ( in float)
+0:61            Constant:
+0:61              0.301030
 0:62      Sequence
 0:62        move second child to first child ( temp float)
-0:62          'r041' ( temp float)
-0:62          component-wise multiply ( temp float)
-0:62            log2 ( temp float)
-0:62              'inF0' ( in float)
-0:62            Constant:
-0:62              0.301030
+0:62          'r042' ( temp float)
+0:62          log2 ( temp float)
+0:62            'inF0' ( in float)
 0:63      Sequence
 0:63        move second child to first child ( temp float)
-0:63          'r042' ( temp float)
-0:63          log2 ( temp float)
+0:63          'r043' ( temp float)
+0:63          max ( temp float)
 0:63            'inF0' ( in float)
+0:63            'inF1' ( in float)
 0:64      Sequence
 0:64        move second child to first child ( temp float)
-0:64          'r043' ( temp float)
-0:64          max ( temp float)
+0:64          'r044' ( temp float)
+0:64          min ( temp float)
 0:64            'inF0' ( in float)
 0:64            'inF1' ( in float)
 0:65      Sequence
 0:65        move second child to first child ( temp float)
-0:65          'r044' ( temp float)
-0:65          min ( temp float)
+0:65          'r045' ( temp float)
+0:65          pow ( temp float)
 0:65            'inF0' ( in float)
 0:65            'inF1' ( in float)
 0:66      Sequence
 0:66        move second child to first child ( temp float)
-0:66          'r045' ( temp float)
-0:66          pow ( temp float)
+0:66          'r046' ( temp float)
+0:66          radians ( temp float)
 0:66            'inF0' ( in float)
-0:66            'inF1' ( in float)
 0:67      Sequence
 0:67        move second child to first child ( temp float)
-0:67          'r046' ( temp float)
-0:67          radians ( temp float)
+0:67          'r047' ( temp float)
+0:67          divide ( temp float)
+0:67            Constant:
+0:67              1.000000
 0:67            'inF0' ( in float)
 0:68      Sequence
-0:68        move second child to first child ( temp float)
-0:68          'r047' ( temp float)
-0:68          divide ( temp float)
-0:68            Constant:
-0:68              1.000000
-0:68            'inF0' ( in float)
+0:68        move second child to first child ( temp uint)
+0:68          'r048' ( temp uint)
+0:68          Convert int to uint ( temp uint)
+0:68            bitFieldReverse ( temp int)
+0:68              Constant:
+0:68                2 (const int)
 0:69      Sequence
-0:69        move second child to first child ( temp uint)
-0:69          'r048' ( temp uint)
-0:69          Convert int to uint ( temp uint)
-0:69            bitFieldReverse ( temp int)
-0:69              Constant:
-0:69                2 (const int)
+0:69        move second child to first child ( temp float)
+0:69          'r049' ( temp float)
+0:69          roundEven ( temp float)
+0:69            'inF0' ( in float)
 0:70      Sequence
 0:70        move second child to first child ( temp float)
-0:70          'r049' ( temp float)
-0:70          roundEven ( temp float)
+0:70          'r050' ( temp float)
+0:70          inverse sqrt ( temp float)
 0:70            'inF0' ( in float)
 0:71      Sequence
 0:71        move second child to first child ( temp float)
-0:71          'r050' ( temp float)
-0:71          inverse sqrt ( temp float)
+0:71          'r051' ( temp float)
+0:71          clamp ( temp float)
 0:71            'inF0' ( in float)
+0:71            Constant:
+0:71              0.000000
+0:71            Constant:
+0:71              1.000000
 0:72      Sequence
 0:72        move second child to first child ( temp float)
-0:72          'r051' ( temp float)
-0:72          clamp ( temp float)
+0:72          'r052' ( temp float)
+0:72          Sign ( temp float)
 0:72            'inF0' ( in float)
-0:72            Constant:
-0:72              0.000000
-0:72            Constant:
-0:72              1.000000
 0:73      Sequence
 0:73        move second child to first child ( temp float)
-0:73          'r052' ( temp float)
-0:73          Sign ( temp float)
+0:73          'r053' ( temp float)
+0:73          sine ( temp float)
 0:73            'inF0' ( in float)
 0:74      Sequence
 0:74        move second child to first child ( temp float)
-0:74          'r053' ( temp float)
+0:74          'inF1' ( in float)
 0:74          sine ( temp float)
 0:74            'inF0' ( in float)
+0:74        move second child to first child ( temp float)
+0:74          'inF2' ( in float)
+0:74          cosine ( temp float)
+0:74            'inF0' ( in float)
 0:75      Sequence
 0:75        move second child to first child ( temp float)
-0:75          'inF1' ( in float)
-0:75          sine ( temp float)
-0:75            'inF0' ( in float)
-0:75        move second child to first child ( temp float)
-0:75          'inF2' ( in float)
-0:75          cosine ( temp float)
+0:75          'r055' ( temp float)
+0:75          hyp. sine ( temp float)
 0:75            'inF0' ( in float)
 0:76      Sequence
 0:76        move second child to first child ( temp float)
-0:76          'r055' ( temp float)
-0:76          hyp. sine ( temp float)
+0:76          'r056' ( temp float)
+0:76          smoothstep ( temp float)
 0:76            'inF0' ( in float)
+0:76            'inF1' ( in float)
+0:76            'inF2' ( in float)
 0:77      Sequence
 0:77        move second child to first child ( temp float)
-0:77          'r056' ( temp float)
-0:77          smoothstep ( temp float)
+0:77          'r057' ( temp float)
+0:77          sqrt ( temp float)
 0:77            'inF0' ( in float)
-0:77            'inF1' ( in float)
-0:77            'inF2' ( in float)
 0:78      Sequence
 0:78        move second child to first child ( temp float)
-0:78          'r057' ( temp float)
-0:78          sqrt ( temp float)
+0:78          'r058' ( temp float)
+0:78          step ( temp float)
 0:78            'inF0' ( in float)
+0:78            'inF1' ( in float)
 0:79      Sequence
 0:79        move second child to first child ( temp float)
-0:79          'r058' ( temp float)
-0:79          step ( temp float)
+0:79          'r059' ( temp float)
+0:79          tangent ( temp float)
 0:79            'inF0' ( in float)
-0:79            'inF1' ( in float)
 0:80      Sequence
 0:80        move second child to first child ( temp float)
-0:80          'r059' ( temp float)
-0:80          tangent ( temp float)
+0:80          'r060' ( temp float)
+0:80          hyp. tangent ( temp float)
 0:80            'inF0' ( in float)
-0:81      Sequence
-0:81        move second child to first child ( temp float)
-0:81          'r060' ( temp float)
-0:81          hyp. tangent ( temp float)
-0:81            'inF0' ( in float)
-0:83      Sequence
-0:83        move second child to first child ( temp float)
-0:83          'r061' ( temp float)
-0:83          trunc ( temp float)
-0:83            'inF0' ( in float)
-0:85      Branch: Return with expression
-0:85        Constant:
-0:85          0.000000
-0:89  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
-0:89    Function Parameters: 
-0:89      'inF0' ( in 1-component vector of float)
-0:89      'inF1' ( in 1-component vector of float)
-0:89      'inF2' ( in 1-component vector of float)
+0:82      Sequence
+0:82        move second child to first child ( temp float)
+0:82          'r061' ( temp float)
+0:82          trunc ( temp float)
+0:82            'inF0' ( in float)
+0:84      Branch: Return with expression
+0:84        Constant:
+0:84          0.000000
+0:88  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:88    Function Parameters: 
+0:88      'inF0' ( in 1-component vector of float)
+0:88      'inF1' ( in 1-component vector of float)
+0:88      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-0:91      Branch: Return with expression
-0:91        Constant:
-0:91          0.000000
-0:95  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
-0:95    Function Parameters: 
-0:95      'inF0' ( in 2-component vector of float)
-0:95      'inF1' ( in 2-component vector of float)
-0:95      'inF2' ( in 2-component vector of float)
-0:95      'inU0' ( in 2-component vector of uint)
-0:95      'inU1' ( in 2-component vector of uint)
+0:90      Branch: Return with expression
+0:90        Constant:
+0:90          0.000000
+0:94  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:94    Function Parameters: 
+0:94      'inF0' ( in 2-component vector of float)
+0:94      'inF1' ( in 2-component vector of float)
+0:94      'inF2' ( in 2-component vector of float)
+0:94      'inU0' ( in 2-component vector of uint)
+0:94      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
+0:97      Sequence
+0:97        move second child to first child ( temp bool)
+0:97          'r000' ( temp bool)
+0:97          all ( temp bool)
+0:97            'inF0' ( in 2-component vector of float)
 0:98      Sequence
-0:98        move second child to first child ( temp bool)
-0:98          'r000' ( temp bool)
-0:98          all ( temp bool)
+0:98        move second child to first child ( temp 2-component vector of float)
+0:98          'r001' ( temp 2-component vector of float)
+0:98          Absolute value ( temp 2-component vector of float)
 0:98            'inF0' ( in 2-component vector of float)
 0:99      Sequence
 0:99        move second child to first child ( temp 2-component vector of float)
-0:99          'r001' ( temp 2-component vector of float)
-0:99          Absolute value ( temp 2-component vector of float)
+0:99          'r002' ( temp 2-component vector of float)
+0:99          arc cosine ( temp 2-component vector of float)
 0:99            'inF0' ( in 2-component vector of float)
 0:100      Sequence
-0:100        move second child to first child ( temp 2-component vector of float)
-0:100          'r002' ( temp 2-component vector of float)
-0:100          arc cosine ( temp 2-component vector of float)
+0:100        move second child to first child ( temp bool)
+0:100          'r003' ( temp bool)
+0:100          any ( temp bool)
 0:100            'inF0' ( in 2-component vector of float)
 0:101      Sequence
-0:101        move second child to first child ( temp bool)
-0:101          'r003' ( temp bool)
-0:101          any ( temp bool)
+0:101        move second child to first child ( temp 2-component vector of float)
+0:101          'r004' ( temp 2-component vector of float)
+0:101          arc sine ( temp 2-component vector of float)
 0:101            'inF0' ( in 2-component vector of float)
 0:102      Sequence
-0:102        move second child to first child ( temp 2-component vector of float)
-0:102          'r004' ( temp 2-component vector of float)
-0:102          arc sine ( temp 2-component vector of float)
+0:102        move second child to first child ( temp 2-component vector of int)
+0:102          'r005' ( temp 2-component vector of int)
+0:102          floatBitsToInt ( temp 2-component vector of int)
 0:102            'inF0' ( in 2-component vector of float)
 0:103      Sequence
-0:103        move second child to first child ( temp 2-component vector of int)
-0:103          'r005' ( temp 2-component vector of int)
-0:103          floatBitsToInt ( temp 2-component vector of int)
+0:103        move second child to first child ( temp 2-component vector of uint)
+0:103          'r006' ( temp 2-component vector of uint)
+0:103          floatBitsToUint ( temp 2-component vector of uint)
 0:103            'inF0' ( in 2-component vector of float)
 0:104      Sequence
-0:104        move second child to first child ( temp 2-component vector of uint)
-0:104          'r006' ( temp 2-component vector of uint)
-0:104          floatBitsToUint ( temp 2-component vector of uint)
-0:104            'inF0' ( in 2-component vector of float)
-0:105      Sequence
-0:105        move second child to first child ( temp 2-component vector of float)
-0:105          'r007' ( temp 2-component vector of float)
-0:105          intBitsToFloat ( temp 2-component vector of float)
-0:105            'inU0' ( in 2-component vector of uint)
+0:104        move second child to first child ( temp 2-component vector of float)
+0:104          'r007' ( temp 2-component vector of float)
+0:104          intBitsToFloat ( temp 2-component vector of float)
+0:104            'inU0' ( in 2-component vector of uint)
+0:106      Sequence
+0:106        move second child to first child ( temp 2-component vector of float)
+0:106          'r009' ( temp 2-component vector of float)
+0:106          arc tangent ( temp 2-component vector of float)
+0:106            'inF0' ( in 2-component vector of float)
 0:107      Sequence
 0:107        move second child to first child ( temp 2-component vector of float)
-0:107          'r009' ( temp 2-component vector of float)
+0:107          'r010' ( temp 2-component vector of float)
 0:107          arc tangent ( temp 2-component vector of float)
 0:107            'inF0' ( in 2-component vector of float)
+0:107            'inF1' ( in 2-component vector of float)
 0:108      Sequence
 0:108        move second child to first child ( temp 2-component vector of float)
-0:108          'r010' ( temp 2-component vector of float)
-0:108          arc tangent ( temp 2-component vector of float)
+0:108          'r011' ( temp 2-component vector of float)
+0:108          Ceiling ( temp 2-component vector of float)
 0:108            'inF0' ( in 2-component vector of float)
-0:108            'inF1' ( in 2-component vector of float)
 0:109      Sequence
 0:109        move second child to first child ( temp 2-component vector of float)
-0:109          'r011' ( temp 2-component vector of float)
-0:109          Ceiling ( temp 2-component vector of float)
+0:109          'r012' ( temp 2-component vector of float)
+0:109          clamp ( temp 2-component vector of float)
 0:109            'inF0' ( in 2-component vector of float)
-0:110      Sequence
-0:110        move second child to first child ( temp 2-component vector of float)
-0:110          'r012' ( temp 2-component vector of float)
-0:110          clamp ( temp 2-component vector of float)
+0:109            'inF1' ( in 2-component vector of float)
+0:109            'inF2' ( in 2-component vector of float)
+0:110      Test condition and select ( temp void)
+0:110        Condition
+0:110        any ( temp bool)
+0:110          Compare Less Than ( temp 2-component vector of bool)
 0:110            'inF0' ( in 2-component vector of float)
-0:110            'inF1' ( in 2-component vector of float)
-0:110            'inF2' ( in 2-component vector of float)
-0:111      Test condition and select ( temp void)
-0:111        Condition
-0:111        any ( temp bool)
-0:111          Compare Less Than ( temp 2-component vector of bool)
+0:110            Constant:
+0:110              0.000000
+0:110              0.000000
+0:110        true case
+0:110        Branch: Kill
+0:111      Sequence
+0:111        move second child to first child ( temp 2-component vector of float)
+0:111          'r013' ( temp 2-component vector of float)
+0:111          cosine ( temp 2-component vector of float)
 0:111            'inF0' ( in 2-component vector of float)
-0:111            Constant:
-0:111              0.000000
-0:111              0.000000
-0:111        true case
-0:111        Branch: Kill
 0:112      Sequence
 0:112        move second child to first child ( temp 2-component vector of float)
-0:112          'r013' ( temp 2-component vector of float)
-0:112          cosine ( temp 2-component vector of float)
+0:112          'r015' ( temp 2-component vector of float)
+0:112          hyp. cosine ( temp 2-component vector of float)
 0:112            'inF0' ( in 2-component vector of float)
 0:113      Sequence
-0:113        move second child to first child ( temp 2-component vector of float)
-0:113          'r015' ( temp 2-component vector of float)
-0:113          hyp. cosine ( temp 2-component vector of float)
-0:113            'inF0' ( in 2-component vector of float)
-0:114      Sequence
-0:114        move second child to first child ( temp 2-component vector of int)
-0:114          'r016' ( temp 2-component vector of int)
+0:113        move second child to first child ( temp 2-component vector of int)
+0:113          'r016' ( temp 2-component vector of int)
 0:?           bitCount ( temp 2-component vector of int)
 0:?             Constant:
 0:?               7 (const int)
 0:?               3 (const int)
+0:114      Sequence
+0:114        move second child to first child ( temp 2-component vector of float)
+0:114          'r017' ( temp 2-component vector of float)
+0:114          dPdx ( temp 2-component vector of float)
+0:114            'inF0' ( in 2-component vector of float)
 0:115      Sequence
 0:115        move second child to first child ( temp 2-component vector of float)
-0:115          'r017' ( temp 2-component vector of float)
-0:115          dPdx ( temp 2-component vector of float)
+0:115          'r018' ( temp 2-component vector of float)
+0:115          dPdxCoarse ( temp 2-component vector of float)
 0:115            'inF0' ( in 2-component vector of float)
 0:116      Sequence
 0:116        move second child to first child ( temp 2-component vector of float)
-0:116          'r018' ( temp 2-component vector of float)
-0:116          dPdxCoarse ( temp 2-component vector of float)
+0:116          'r019' ( temp 2-component vector of float)
+0:116          dPdxFine ( temp 2-component vector of float)
 0:116            'inF0' ( in 2-component vector of float)
 0:117      Sequence
 0:117        move second child to first child ( temp 2-component vector of float)
-0:117          'r019' ( temp 2-component vector of float)
-0:117          dPdxFine ( temp 2-component vector of float)
+0:117          'r020' ( temp 2-component vector of float)
+0:117          dPdy ( temp 2-component vector of float)
 0:117            'inF0' ( in 2-component vector of float)
 0:118      Sequence
 0:118        move second child to first child ( temp 2-component vector of float)
-0:118          'r020' ( temp 2-component vector of float)
-0:118          dPdy ( temp 2-component vector of float)
+0:118          'r021' ( temp 2-component vector of float)
+0:118          dPdyCoarse ( temp 2-component vector of float)
 0:118            'inF0' ( in 2-component vector of float)
 0:119      Sequence
 0:119        move second child to first child ( temp 2-component vector of float)
-0:119          'r021' ( temp 2-component vector of float)
-0:119          dPdyCoarse ( temp 2-component vector of float)
+0:119          'r022' ( temp 2-component vector of float)
+0:119          dPdyFine ( temp 2-component vector of float)
 0:119            'inF0' ( in 2-component vector of float)
 0:120      Sequence
 0:120        move second child to first child ( temp 2-component vector of float)
-0:120          'r022' ( temp 2-component vector of float)
-0:120          dPdyFine ( temp 2-component vector of float)
+0:120          'r023' ( temp 2-component vector of float)
+0:120          degrees ( temp 2-component vector of float)
 0:120            'inF0' ( in 2-component vector of float)
-0:121      Sequence
-0:121        move second child to first child ( temp 2-component vector of float)
-0:121          'r023' ( temp 2-component vector of float)
-0:121          degrees ( temp 2-component vector of float)
-0:121            'inF0' ( in 2-component vector of float)
+0:124      Sequence
+0:124        move second child to first child ( temp float)
+0:124          'r026' ( temp float)
+0:124          distance ( temp float)
+0:124            'inF0' ( in 2-component vector of float)
+0:124            'inF1' ( in 2-component vector of float)
 0:125      Sequence
 0:125        move second child to first child ( temp float)
-0:125          'r026' ( temp float)
-0:125          distance ( temp float)
+0:125          'r027' ( temp float)
+0:125          dot-product ( temp float)
 0:125            'inF0' ( in 2-component vector of float)
 0:125            'inF1' ( in 2-component vector of float)
-0:126      Sequence
-0:126        move second child to first child ( temp float)
-0:126          'r027' ( temp float)
-0:126          dot-product ( temp float)
-0:126            'inF0' ( in 2-component vector of float)
-0:126            'inF1' ( in 2-component vector of float)
+0:129      Sequence
+0:129        move second child to first child ( temp 2-component vector of float)
+0:129          'r028' ( temp 2-component vector of float)
+0:129          exp ( temp 2-component vector of float)
+0:129            'inF0' ( in 2-component vector of float)
 0:130      Sequence
 0:130        move second child to first child ( temp 2-component vector of float)
-0:130          'r028' ( temp 2-component vector of float)
-0:130          exp ( temp 2-component vector of float)
+0:130          'r029' ( temp 2-component vector of float)
+0:130          exp2 ( temp 2-component vector of float)
 0:130            'inF0' ( in 2-component vector of float)
 0:131      Sequence
 0:131        move second child to first child ( temp 2-component vector of float)
-0:131          'r029' ( temp 2-component vector of float)
-0:131          exp2 ( temp 2-component vector of float)
+0:131          'r030' ( temp 2-component vector of float)
+0:131          face-forward ( temp 2-component vector of float)
 0:131            'inF0' ( in 2-component vector of float)
+0:131            'inF1' ( in 2-component vector of float)
+0:131            'inF2' ( in 2-component vector of float)
 0:132      Sequence
-0:132        move second child to first child ( temp 2-component vector of float)
-0:132          'r030' ( temp 2-component vector of float)
-0:132          face-forward ( temp 2-component vector of float)
-0:132            'inF0' ( in 2-component vector of float)
-0:132            'inF1' ( in 2-component vector of float)
-0:132            'inF2' ( in 2-component vector of float)
-0:133      Sequence
-0:133        move second child to first child ( temp 2-component vector of uint)
-0:133          'r031' ( temp 2-component vector of uint)
+0:132        move second child to first child ( temp 2-component vector of uint)
+0:132          'r031' ( temp 2-component vector of uint)
 0:?           findMSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:134      Sequence
-0:134        move second child to first child ( temp 2-component vector of uint)
-0:134          'r032' ( temp 2-component vector of uint)
+0:133      Sequence
+0:133        move second child to first child ( temp 2-component vector of uint)
+0:133          'r032' ( temp 2-component vector of uint)
 0:?           findLSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:135      Sequence
-0:135        move second child to first child ( temp 2-component vector of float)
-0:135          'r033' ( temp 2-component vector of float)
-0:135          Floor ( temp 2-component vector of float)
-0:135            'inF0' ( in 2-component vector of float)
+0:134      Sequence
+0:134        move second child to first child ( temp 2-component vector of float)
+0:134          'r033' ( temp 2-component vector of float)
+0:134          Floor ( temp 2-component vector of float)
+0:134            'inF0' ( in 2-component vector of float)
+0:136      Sequence
+0:136        move second child to first child ( temp 2-component vector of float)
+0:136          'r035' ( temp 2-component vector of float)
+0:136          mod ( temp 2-component vector of float)
+0:136            'inF0' ( in 2-component vector of float)
+0:136            'inF1' ( in 2-component vector of float)
 0:137      Sequence
 0:137        move second child to first child ( temp 2-component vector of float)
-0:137          'r035' ( temp 2-component vector of float)
-0:137          mod ( temp 2-component vector of float)
+0:137          'r036' ( temp 2-component vector of float)
+0:137          Fraction ( temp 2-component vector of float)
 0:137            'inF0' ( in 2-component vector of float)
-0:137            'inF1' ( in 2-component vector of float)
 0:138      Sequence
 0:138        move second child to first child ( temp 2-component vector of float)
-0:138          'r036' ( temp 2-component vector of float)
-0:138          Fraction ( temp 2-component vector of float)
+0:138          'r038' ( temp 2-component vector of float)
+0:138          fwidth ( temp 2-component vector of float)
 0:138            'inF0' ( in 2-component vector of float)
 0:139      Sequence
-0:139        move second child to first child ( temp 2-component vector of float)
-0:139          'r037' ( temp 2-component vector of float)
-0:139          frexp ( temp 2-component vector of float)
+0:139        move second child to first child ( temp 2-component vector of bool)
+0:139          'r039' ( temp 2-component vector of bool)
+0:139          isinf ( temp 2-component vector of bool)
 0:139            'inF0' ( in 2-component vector of float)
-0:139            'inF1' ( in 2-component vector of float)
 0:140      Sequence
-0:140        move second child to first child ( temp 2-component vector of float)
-0:140          'r038' ( temp 2-component vector of float)
-0:140          fwidth ( temp 2-component vector of float)
+0:140        move second child to first child ( temp 2-component vector of bool)
+0:140          'r040' ( temp 2-component vector of bool)
+0:140          isnan ( temp 2-component vector of bool)
 0:140            'inF0' ( in 2-component vector of float)
 0:141      Sequence
-0:141        move second child to first child ( temp 2-component vector of bool)
-0:141          'r039' ( temp 2-component vector of bool)
-0:141          isinf ( temp 2-component vector of bool)
+0:141        move second child to first child ( temp 2-component vector of float)
+0:141          'r041' ( temp 2-component vector of float)
+0:141          ldexp ( temp 2-component vector of float)
 0:141            'inF0' ( in 2-component vector of float)
+0:141            'inF1' ( in 2-component vector of float)
 0:142      Sequence
-0:142        move second child to first child ( temp 2-component vector of bool)
-0:142          'r040' ( temp 2-component vector of bool)
-0:142          isnan ( temp 2-component vector of bool)
+0:142        move second child to first child ( temp 2-component vector of float)
+0:142          'r039a' ( temp 2-component vector of float)
+0:142          mix ( temp 2-component vector of float)
 0:142            'inF0' ( in 2-component vector of float)
+0:142            'inF1' ( in 2-component vector of float)
+0:142            'inF2' ( in 2-component vector of float)
 0:143      Sequence
-0:143        move second child to first child ( temp 2-component vector of float)
-0:143          'r041' ( temp 2-component vector of float)
-0:143          ldexp ( temp 2-component vector of float)
+0:143        move second child to first child ( temp float)
+0:143          'r042' ( temp float)
+0:143          length ( temp float)
 0:143            'inF0' ( in 2-component vector of float)
-0:143            'inF1' ( in 2-component vector of float)
 0:144      Sequence
 0:144        move second child to first child ( temp 2-component vector of float)
-0:144          'r039a' ( temp 2-component vector of float)
-0:144          mix ( temp 2-component vector of float)
+0:144          'r043' ( temp 2-component vector of float)
+0:144          log ( temp 2-component vector of float)
 0:144            'inF0' ( in 2-component vector of float)
-0:144            'inF1' ( in 2-component vector of float)
-0:144            'inF2' ( in 2-component vector of float)
 0:145      Sequence
-0:145        move second child to first child ( temp float)
-0:145          'r042' ( temp float)
-0:145          length ( temp float)
-0:145            'inF0' ( in 2-component vector of float)
+0:145        move second child to first child ( temp 2-component vector of float)
+0:145          'r044' ( temp 2-component vector of float)
+0:145          vector-scale ( temp 2-component vector of float)
+0:145            log2 ( temp 2-component vector of float)
+0:145              'inF0' ( in 2-component vector of float)
+0:145            Constant:
+0:145              0.301030
 0:146      Sequence
 0:146        move second child to first child ( temp 2-component vector of float)
-0:146          'r043' ( temp 2-component vector of float)
-0:146          log ( temp 2-component vector of float)
+0:146          'r045' ( temp 2-component vector of float)
+0:146          log2 ( temp 2-component vector of float)
 0:146            'inF0' ( in 2-component vector of float)
 0:147      Sequence
 0:147        move second child to first child ( temp 2-component vector of float)
-0:147          'r044' ( temp 2-component vector of float)
-0:147          vector-scale ( temp 2-component vector of float)
-0:147            log2 ( temp 2-component vector of float)
-0:147              'inF0' ( in 2-component vector of float)
-0:147            Constant:
-0:147              0.301030
+0:147          'r046' ( temp 2-component vector of float)
+0:147          max ( temp 2-component vector of float)
+0:147            'inF0' ( in 2-component vector of float)
+0:147            'inF1' ( in 2-component vector of float)
 0:148      Sequence
 0:148        move second child to first child ( temp 2-component vector of float)
-0:148          'r045' ( temp 2-component vector of float)
-0:148          log2 ( temp 2-component vector of float)
+0:148          'r047' ( temp 2-component vector of float)
+0:148          min ( temp 2-component vector of float)
 0:148            'inF0' ( in 2-component vector of float)
+0:148            'inF1' ( in 2-component vector of float)
 0:149      Sequence
 0:149        move second child to first child ( temp 2-component vector of float)
-0:149          'r046' ( temp 2-component vector of float)
-0:149          max ( temp 2-component vector of float)
+0:149          'r048' ( temp 2-component vector of float)
+0:149          normalize ( temp 2-component vector of float)
 0:149            'inF0' ( in 2-component vector of float)
-0:149            'inF1' ( in 2-component vector of float)
 0:150      Sequence
 0:150        move second child to first child ( temp 2-component vector of float)
-0:150          'r047' ( temp 2-component vector of float)
-0:150          min ( temp 2-component vector of float)
+0:150          'r049' ( temp 2-component vector of float)
+0:150          pow ( temp 2-component vector of float)
 0:150            'inF0' ( in 2-component vector of float)
 0:150            'inF1' ( in 2-component vector of float)
 0:151      Sequence
 0:151        move second child to first child ( temp 2-component vector of float)
-0:151          'r048' ( temp 2-component vector of float)
-0:151          normalize ( temp 2-component vector of float)
+0:151          'r050' ( temp 2-component vector of float)
+0:151          radians ( temp 2-component vector of float)
 0:151            'inF0' ( in 2-component vector of float)
 0:152      Sequence
 0:152        move second child to first child ( temp 2-component vector of float)
-0:152          'r049' ( temp 2-component vector of float)
-0:152          pow ( temp 2-component vector of float)
+0:152          'r051' ( temp 2-component vector of float)
+0:152          divide ( temp 2-component vector of float)
+0:152            Constant:
+0:152              1.000000
 0:152            'inF0' ( in 2-component vector of float)
-0:152            'inF1' ( in 2-component vector of float)
 0:153      Sequence
 0:153        move second child to first child ( temp 2-component vector of float)
-0:153          'r050' ( temp 2-component vector of float)
-0:153          radians ( temp 2-component vector of float)
+0:153          'r052' ( temp 2-component vector of float)
+0:153          reflect ( temp 2-component vector of float)
 0:153            'inF0' ( in 2-component vector of float)
+0:153            'inF1' ( in 2-component vector of float)
 0:154      Sequence
 0:154        move second child to first child ( temp 2-component vector of float)
-0:154          'r051' ( temp 2-component vector of float)
-0:154          divide ( temp 2-component vector of float)
-0:154            Constant:
-0:154              1.000000
+0:154          'r053' ( temp 2-component vector of float)
+0:154          refract ( temp 2-component vector of float)
 0:154            'inF0' ( in 2-component vector of float)
+0:154            'inF1' ( in 2-component vector of float)
+0:154            Constant:
+0:154              2.000000
 0:155      Sequence
-0:155        move second child to first child ( temp 2-component vector of float)
-0:155          'r052' ( temp 2-component vector of float)
-0:155          reflect ( temp 2-component vector of float)
-0:155            'inF0' ( in 2-component vector of float)
-0:155            'inF1' ( in 2-component vector of float)
-0:156      Sequence
-0:156        move second child to first child ( temp 2-component vector of float)
-0:156          'r053' ( temp 2-component vector of float)
-0:156          refract ( temp 2-component vector of float)
-0:156            'inF0' ( in 2-component vector of float)
-0:156            'inF1' ( in 2-component vector of float)
-0:156            Constant:
-0:156              2.000000
-0:157      Sequence
-0:157        move second child to first child ( temp 2-component vector of uint)
-0:157          'r054' ( temp 2-component vector of uint)
+0:155        move second child to first child ( temp 2-component vector of uint)
+0:155          'r054' ( temp 2-component vector of uint)
 0:?           bitFieldReverse ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
+0:156      Sequence
+0:156        move second child to first child ( temp 2-component vector of float)
+0:156          'r055' ( temp 2-component vector of float)
+0:156          roundEven ( temp 2-component vector of float)
+0:156            'inF0' ( in 2-component vector of float)
+0:157      Sequence
+0:157        move second child to first child ( temp 2-component vector of float)
+0:157          'r056' ( temp 2-component vector of float)
+0:157          inverse sqrt ( temp 2-component vector of float)
+0:157            'inF0' ( in 2-component vector of float)
 0:158      Sequence
 0:158        move second child to first child ( temp 2-component vector of float)
-0:158          'r055' ( temp 2-component vector of float)
-0:158          roundEven ( temp 2-component vector of float)
+0:158          'r057' ( temp 2-component vector of float)
+0:158          clamp ( temp 2-component vector of float)
 0:158            'inF0' ( in 2-component vector of float)
+0:158            Constant:
+0:158              0.000000
+0:158            Constant:
+0:158              1.000000
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of float)
-0:159          'r056' ( temp 2-component vector of float)
-0:159          inverse sqrt ( temp 2-component vector of float)
+0:159          'r058' ( temp 2-component vector of float)
+0:159          Sign ( temp 2-component vector of float)
 0:159            'inF0' ( in 2-component vector of float)
 0:160      Sequence
 0:160        move second child to first child ( temp 2-component vector of float)
-0:160          'r057' ( temp 2-component vector of float)
-0:160          clamp ( temp 2-component vector of float)
+0:160          'r059' ( temp 2-component vector of float)
+0:160          sine ( temp 2-component vector of float)
 0:160            'inF0' ( in 2-component vector of float)
-0:160            Constant:
-0:160              0.000000
-0:160            Constant:
-0:160              1.000000
 0:161      Sequence
 0:161        move second child to first child ( temp 2-component vector of float)
-0:161          'r058' ( temp 2-component vector of float)
-0:161          Sign ( temp 2-component vector of float)
+0:161          'inF1' ( in 2-component vector of float)
+0:161          sine ( temp 2-component vector of float)
+0:161            'inF0' ( in 2-component vector of float)
+0:161        move second child to first child ( temp 2-component vector of float)
+0:161          'inF2' ( in 2-component vector of float)
+0:161          cosine ( temp 2-component vector of float)
 0:161            'inF0' ( in 2-component vector of float)
 0:162      Sequence
 0:162        move second child to first child ( temp 2-component vector of float)
-0:162          'r059' ( temp 2-component vector of float)
-0:162          sine ( temp 2-component vector of float)
+0:162          'r060' ( temp 2-component vector of float)
+0:162          hyp. sine ( temp 2-component vector of float)
 0:162            'inF0' ( in 2-component vector of float)
 0:163      Sequence
 0:163        move second child to first child ( temp 2-component vector of float)
-0:163          'inF1' ( in 2-component vector of float)
-0:163          sine ( temp 2-component vector of float)
-0:163            'inF0' ( in 2-component vector of float)
-0:163        move second child to first child ( temp 2-component vector of float)
-0:163          'inF2' ( in 2-component vector of float)
-0:163          cosine ( temp 2-component vector of float)
+0:163          'r061' ( temp 2-component vector of float)
+0:163          smoothstep ( temp 2-component vector of float)
 0:163            'inF0' ( in 2-component vector of float)
+0:163            'inF1' ( in 2-component vector of float)
+0:163            'inF2' ( in 2-component vector of float)
 0:164      Sequence
 0:164        move second child to first child ( temp 2-component vector of float)
-0:164          'r060' ( temp 2-component vector of float)
-0:164          hyp. sine ( temp 2-component vector of float)
+0:164          'r062' ( temp 2-component vector of float)
+0:164          sqrt ( temp 2-component vector of float)
 0:164            'inF0' ( in 2-component vector of float)
 0:165      Sequence
 0:165        move second child to first child ( temp 2-component vector of float)
-0:165          'r061' ( temp 2-component vector of float)
-0:165          smoothstep ( temp 2-component vector of float)
+0:165          'r063' ( temp 2-component vector of float)
+0:165          step ( temp 2-component vector of float)
 0:165            'inF0' ( in 2-component vector of float)
 0:165            'inF1' ( in 2-component vector of float)
-0:165            'inF2' ( in 2-component vector of float)
 0:166      Sequence
 0:166        move second child to first child ( temp 2-component vector of float)
-0:166          'r062' ( temp 2-component vector of float)
-0:166          sqrt ( temp 2-component vector of float)
+0:166          'r064' ( temp 2-component vector of float)
+0:166          tangent ( temp 2-component vector of float)
 0:166            'inF0' ( in 2-component vector of float)
 0:167      Sequence
 0:167        move second child to first child ( temp 2-component vector of float)
-0:167          'r063' ( temp 2-component vector of float)
-0:167          step ( temp 2-component vector of float)
+0:167          'r065' ( temp 2-component vector of float)
+0:167          hyp. tangent ( temp 2-component vector of float)
 0:167            'inF0' ( in 2-component vector of float)
-0:167            'inF1' ( in 2-component vector of float)
-0:168      Sequence
-0:168        move second child to first child ( temp 2-component vector of float)
-0:168          'r064' ( temp 2-component vector of float)
-0:168          tangent ( temp 2-component vector of float)
-0:168            'inF0' ( in 2-component vector of float)
 0:169      Sequence
 0:169        move second child to first child ( temp 2-component vector of float)
-0:169          'r065' ( temp 2-component vector of float)
-0:169          hyp. tangent ( temp 2-component vector of float)
+0:169          'r066' ( temp 2-component vector of float)
+0:169          trunc ( temp 2-component vector of float)
 0:169            'inF0' ( in 2-component vector of float)
-0:171      Sequence
-0:171        move second child to first child ( temp 2-component vector of float)
-0:171          'r066' ( temp 2-component vector of float)
-0:171          trunc ( temp 2-component vector of float)
-0:171            'inF0' ( in 2-component vector of float)
-0:174      Branch: Return with expression
+0:172      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:178  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
-0:178    Function Parameters: 
-0:178      'inF0' ( in 3-component vector of float)
-0:178      'inF1' ( in 3-component vector of float)
-0:178      'inF2' ( in 3-component vector of float)
-0:178      'inU0' ( in 3-component vector of uint)
-0:178      'inU1' ( in 3-component vector of uint)
+0:176  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:176    Function Parameters: 
+0:176      'inF0' ( in 3-component vector of float)
+0:176      'inF1' ( in 3-component vector of float)
+0:176      'inF2' ( in 3-component vector of float)
+0:176      'inU0' ( in 3-component vector of uint)
+0:176      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
+0:179      Sequence
+0:179        move second child to first child ( temp bool)
+0:179          'r000' ( temp bool)
+0:179          all ( temp bool)
+0:179            'inF0' ( in 3-component vector of float)
+0:180      Sequence
+0:180        move second child to first child ( temp 3-component vector of float)
+0:180          'r001' ( temp 3-component vector of float)
+0:180          Absolute value ( temp 3-component vector of float)
+0:180            'inF0' ( in 3-component vector of float)
 0:181      Sequence
-0:181        move second child to first child ( temp bool)
-0:181          'r000' ( temp bool)
-0:181          all ( temp bool)
+0:181        move second child to first child ( temp 3-component vector of float)
+0:181          'r002' ( temp 3-component vector of float)
+0:181          arc cosine ( temp 3-component vector of float)
 0:181            'inF0' ( in 3-component vector of float)
 0:182      Sequence
-0:182        move second child to first child ( temp 3-component vector of float)
-0:182          'r001' ( temp 3-component vector of float)
-0:182          Absolute value ( temp 3-component vector of float)
+0:182        move second child to first child ( temp bool)
+0:182          'r003' ( temp bool)
+0:182          any ( temp bool)
 0:182            'inF0' ( in 3-component vector of float)
 0:183      Sequence
 0:183        move second child to first child ( temp 3-component vector of float)
-0:183          'r002' ( temp 3-component vector of float)
-0:183          arc cosine ( temp 3-component vector of float)
+0:183          'r004' ( temp 3-component vector of float)
+0:183          arc sine ( temp 3-component vector of float)
 0:183            'inF0' ( in 3-component vector of float)
 0:184      Sequence
-0:184        move second child to first child ( temp bool)
-0:184          'r003' ( temp bool)
-0:184          any ( temp bool)
+0:184        move second child to first child ( temp 3-component vector of int)
+0:184          'r005' ( temp 3-component vector of int)
+0:184          floatBitsToInt ( temp 3-component vector of int)
 0:184            'inF0' ( in 3-component vector of float)
 0:185      Sequence
-0:185        move second child to first child ( temp 3-component vector of float)
-0:185          'r004' ( temp 3-component vector of float)
-0:185          arc sine ( temp 3-component vector of float)
+0:185        move second child to first child ( temp 3-component vector of uint)
+0:185          'r006' ( temp 3-component vector of uint)
+0:185          floatBitsToUint ( temp 3-component vector of uint)
 0:185            'inF0' ( in 3-component vector of float)
 0:186      Sequence
-0:186        move second child to first child ( temp 3-component vector of int)
-0:186          'r005' ( temp 3-component vector of int)
-0:186          floatBitsToInt ( temp 3-component vector of int)
-0:186            'inF0' ( in 3-component vector of float)
-0:187      Sequence
-0:187        move second child to first child ( temp 3-component vector of uint)
-0:187          'r006' ( temp 3-component vector of uint)
-0:187          floatBitsToUint ( temp 3-component vector of uint)
-0:187            'inF0' ( in 3-component vector of float)
+0:186        move second child to first child ( temp 3-component vector of float)
+0:186          'r007' ( temp 3-component vector of float)
+0:186          intBitsToFloat ( temp 3-component vector of float)
+0:186            'inU0' ( in 3-component vector of uint)
 0:188      Sequence
 0:188        move second child to first child ( temp 3-component vector of float)
-0:188          'r007' ( temp 3-component vector of float)
-0:188          intBitsToFloat ( temp 3-component vector of float)
-0:188            'inU0' ( in 3-component vector of uint)
+0:188          'r009' ( temp 3-component vector of float)
+0:188          arc tangent ( temp 3-component vector of float)
+0:188            'inF0' ( in 3-component vector of float)
+0:189      Sequence
+0:189        move second child to first child ( temp 3-component vector of float)
+0:189          'r010' ( temp 3-component vector of float)
+0:189          arc tangent ( temp 3-component vector of float)
+0:189            'inF0' ( in 3-component vector of float)
+0:189            'inF1' ( in 3-component vector of float)
 0:190      Sequence
 0:190        move second child to first child ( temp 3-component vector of float)
-0:190          'r009' ( temp 3-component vector of float)
-0:190          arc tangent ( temp 3-component vector of float)
+0:190          'r011' ( temp 3-component vector of float)
+0:190          Ceiling ( temp 3-component vector of float)
 0:190            'inF0' ( in 3-component vector of float)
 0:191      Sequence
 0:191        move second child to first child ( temp 3-component vector of float)
-0:191          'r010' ( temp 3-component vector of float)
-0:191          arc tangent ( temp 3-component vector of float)
+0:191          'r012' ( temp 3-component vector of float)
+0:191          clamp ( temp 3-component vector of float)
 0:191            'inF0' ( in 3-component vector of float)
 0:191            'inF1' ( in 3-component vector of float)
-0:192      Sequence
-0:192        move second child to first child ( temp 3-component vector of float)
-0:192          'r011' ( temp 3-component vector of float)
-0:192          Ceiling ( temp 3-component vector of float)
+0:191            'inF2' ( in 3-component vector of float)
+0:192      Test condition and select ( temp void)
+0:192        Condition
+0:192        any ( temp bool)
+0:192          Compare Less Than ( temp 3-component vector of bool)
 0:192            'inF0' ( in 3-component vector of float)
+0:192            Constant:
+0:192              0.000000
+0:192              0.000000
+0:192              0.000000
+0:192        true case
+0:192        Branch: Kill
 0:193      Sequence
 0:193        move second child to first child ( temp 3-component vector of float)
-0:193          'r012' ( temp 3-component vector of float)
-0:193          clamp ( temp 3-component vector of float)
+0:193          'r013' ( temp 3-component vector of float)
+0:193          cosine ( temp 3-component vector of float)
 0:193            'inF0' ( in 3-component vector of float)
-0:193            'inF1' ( in 3-component vector of float)
-0:193            'inF2' ( in 3-component vector of float)
-0:194      Test condition and select ( temp void)
-0:194        Condition
-0:194        any ( temp bool)
-0:194          Compare Less Than ( temp 3-component vector of bool)
+0:194      Sequence
+0:194        move second child to first child ( temp 3-component vector of float)
+0:194          'r014' ( temp 3-component vector of float)
+0:194          hyp. cosine ( temp 3-component vector of float)
 0:194            'inF0' ( in 3-component vector of float)
-0:194            Constant:
-0:194              0.000000
-0:194              0.000000
-0:194              0.000000
-0:194        true case
-0:194        Branch: Kill
 0:195      Sequence
-0:195        move second child to first child ( temp 3-component vector of float)
-0:195          'r013' ( temp 3-component vector of float)
-0:195          cosine ( temp 3-component vector of float)
-0:195            'inF0' ( in 3-component vector of float)
-0:196      Sequence
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'r014' ( temp 3-component vector of float)
-0:196          hyp. cosine ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
-0:197      Sequence
-0:197        move second child to first child ( temp 3-component vector of uint)
-0:197          'r015' ( temp 3-component vector of uint)
+0:195        move second child to first child ( temp 3-component vector of uint)
+0:195          'r015' ( temp 3-component vector of uint)
 0:?           bitCount ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:?               5 (const uint)
+0:196      Sequence
+0:196        move second child to first child ( temp 3-component vector of float)
+0:196          'r016' ( temp 3-component vector of float)
+0:196          cross-product ( temp 3-component vector of float)
+0:196            'inF0' ( in 3-component vector of float)
+0:196            'inF1' ( in 3-component vector of float)
+0:197      Sequence
+0:197        move second child to first child ( temp 3-component vector of float)
+0:197          'r017' ( temp 3-component vector of float)
+0:197          dPdx ( temp 3-component vector of float)
+0:197            'inF0' ( in 3-component vector of float)
 0:198      Sequence
 0:198        move second child to first child ( temp 3-component vector of float)
-0:198          'r016' ( temp 3-component vector of float)
-0:198          cross-product ( temp 3-component vector of float)
+0:198          'r018' ( temp 3-component vector of float)
+0:198          dPdxCoarse ( temp 3-component vector of float)
 0:198            'inF0' ( in 3-component vector of float)
-0:198            'inF1' ( in 3-component vector of float)
 0:199      Sequence
 0:199        move second child to first child ( temp 3-component vector of float)
-0:199          'r017' ( temp 3-component vector of float)
-0:199          dPdx ( temp 3-component vector of float)
+0:199          'r019' ( temp 3-component vector of float)
+0:199          dPdxFine ( temp 3-component vector of float)
 0:199            'inF0' ( in 3-component vector of float)
 0:200      Sequence
 0:200        move second child to first child ( temp 3-component vector of float)
-0:200          'r018' ( temp 3-component vector of float)
-0:200          dPdxCoarse ( temp 3-component vector of float)
+0:200          'r020' ( temp 3-component vector of float)
+0:200          dPdy ( temp 3-component vector of float)
 0:200            'inF0' ( in 3-component vector of float)
 0:201      Sequence
 0:201        move second child to first child ( temp 3-component vector of float)
-0:201          'r019' ( temp 3-component vector of float)
-0:201          dPdxFine ( temp 3-component vector of float)
+0:201          'r021' ( temp 3-component vector of float)
+0:201          dPdyCoarse ( temp 3-component vector of float)
 0:201            'inF0' ( in 3-component vector of float)
 0:202      Sequence
 0:202        move second child to first child ( temp 3-component vector of float)
-0:202          'r020' ( temp 3-component vector of float)
-0:202          dPdy ( temp 3-component vector of float)
+0:202          'r022' ( temp 3-component vector of float)
+0:202          dPdyFine ( temp 3-component vector of float)
 0:202            'inF0' ( in 3-component vector of float)
 0:203      Sequence
 0:203        move second child to first child ( temp 3-component vector of float)
-0:203          'r021' ( temp 3-component vector of float)
-0:203          dPdyCoarse ( temp 3-component vector of float)
+0:203          'r023' ( temp 3-component vector of float)
+0:203          degrees ( temp 3-component vector of float)
 0:203            'inF0' ( in 3-component vector of float)
 0:204      Sequence
-0:204        move second child to first child ( temp 3-component vector of float)
-0:204          'r022' ( temp 3-component vector of float)
-0:204          dPdyFine ( temp 3-component vector of float)
+0:204        move second child to first child ( temp float)
+0:204          'r024' ( temp float)
+0:204          distance ( temp float)
 0:204            'inF0' ( in 3-component vector of float)
+0:204            'inF1' ( in 3-component vector of float)
 0:205      Sequence
-0:205        move second child to first child ( temp 3-component vector of float)
-0:205          'r023' ( temp 3-component vector of float)
-0:205          degrees ( temp 3-component vector of float)
+0:205        move second child to first child ( temp float)
+0:205          'r025' ( temp float)
+0:205          dot-product ( temp float)
 0:205            'inF0' ( in 3-component vector of float)
-0:206      Sequence
-0:206        move second child to first child ( temp float)
-0:206          'r024' ( temp float)
-0:206          distance ( temp float)
-0:206            'inF0' ( in 3-component vector of float)
-0:206            'inF1' ( in 3-component vector of float)
-0:207      Sequence
-0:207        move second child to first child ( temp float)
-0:207          'r025' ( temp float)
-0:207          dot-product ( temp float)
-0:207            'inF0' ( in 3-component vector of float)
-0:207            'inF1' ( in 3-component vector of float)
+0:205            'inF1' ( in 3-component vector of float)
+0:209      Sequence
+0:209        move second child to first child ( temp 3-component vector of float)
+0:209          'r029' ( temp 3-component vector of float)
+0:209          exp ( temp 3-component vector of float)
+0:209            'inF0' ( in 3-component vector of float)
+0:210      Sequence
+0:210        move second child to first child ( temp 3-component vector of float)
+0:210          'r030' ( temp 3-component vector of float)
+0:210          exp2 ( temp 3-component vector of float)
+0:210            'inF0' ( in 3-component vector of float)
 0:211      Sequence
 0:211        move second child to first child ( temp 3-component vector of float)
-0:211          'r029' ( temp 3-component vector of float)
-0:211          exp ( temp 3-component vector of float)
+0:211          'r031' ( temp 3-component vector of float)
+0:211          face-forward ( temp 3-component vector of float)
 0:211            'inF0' ( in 3-component vector of float)
+0:211            'inF1' ( in 3-component vector of float)
+0:211            'inF2' ( in 3-component vector of float)
 0:212      Sequence
-0:212        move second child to first child ( temp 3-component vector of float)
-0:212          'r030' ( temp 3-component vector of float)
-0:212          exp2 ( temp 3-component vector of float)
-0:212            'inF0' ( in 3-component vector of float)
-0:213      Sequence
-0:213        move second child to first child ( temp 3-component vector of float)
-0:213          'r031' ( temp 3-component vector of float)
-0:213          face-forward ( temp 3-component vector of float)
-0:213            'inF0' ( in 3-component vector of float)
-0:213            'inF1' ( in 3-component vector of float)
-0:213            'inF2' ( in 3-component vector of float)
-0:214      Sequence
-0:214        move second child to first child ( temp 3-component vector of uint)
-0:214          'r032' ( temp 3-component vector of uint)
+0:212        move second child to first child ( temp 3-component vector of uint)
+0:212          'r032' ( temp 3-component vector of uint)
 0:?           findMSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:215      Sequence
-0:215        move second child to first child ( temp 3-component vector of uint)
-0:215          'r033' ( temp 3-component vector of uint)
+0:213      Sequence
+0:213        move second child to first child ( temp 3-component vector of uint)
+0:213          'r033' ( temp 3-component vector of uint)
 0:?           findLSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
+0:214      Sequence
+0:214        move second child to first child ( temp 3-component vector of float)
+0:214          'r034' ( temp 3-component vector of float)
+0:214          Floor ( temp 3-component vector of float)
+0:214            'inF0' ( in 3-component vector of float)
 0:216      Sequence
 0:216        move second child to first child ( temp 3-component vector of float)
-0:216          'r034' ( temp 3-component vector of float)
-0:216          Floor ( temp 3-component vector of float)
+0:216          'r036' ( temp 3-component vector of float)
+0:216          mod ( temp 3-component vector of float)
 0:216            'inF0' ( in 3-component vector of float)
+0:216            'inF1' ( in 3-component vector of float)
+0:217      Sequence
+0:217        move second child to first child ( temp 3-component vector of float)
+0:217          'r037' ( temp 3-component vector of float)
+0:217          Fraction ( temp 3-component vector of float)
+0:217            'inF0' ( in 3-component vector of float)
 0:218      Sequence
 0:218        move second child to first child ( temp 3-component vector of float)
-0:218          'r036' ( temp 3-component vector of float)
-0:218          mod ( temp 3-component vector of float)
+0:218          'r039' ( temp 3-component vector of float)
+0:218          fwidth ( temp 3-component vector of float)
 0:218            'inF0' ( in 3-component vector of float)
-0:218            'inF1' ( in 3-component vector of float)
 0:219      Sequence
-0:219        move second child to first child ( temp 3-component vector of float)
-0:219          'r037' ( temp 3-component vector of float)
-0:219          Fraction ( temp 3-component vector of float)
+0:219        move second child to first child ( temp 3-component vector of bool)
+0:219          'r040' ( temp 3-component vector of bool)
+0:219          isinf ( temp 3-component vector of bool)
 0:219            'inF0' ( in 3-component vector of float)
 0:220      Sequence
-0:220        move second child to first child ( temp 3-component vector of float)
-0:220          'r038' ( temp 3-component vector of float)
-0:220          frexp ( temp 3-component vector of float)
+0:220        move second child to first child ( temp 3-component vector of bool)
+0:220          'r041' ( temp 3-component vector of bool)
+0:220          isnan ( temp 3-component vector of bool)
 0:220            'inF0' ( in 3-component vector of float)
-0:220            'inF1' ( in 3-component vector of float)
 0:221      Sequence
 0:221        move second child to first child ( temp 3-component vector of float)
-0:221          'r039' ( temp 3-component vector of float)
-0:221          fwidth ( temp 3-component vector of float)
+0:221          'r042' ( temp 3-component vector of float)
+0:221          ldexp ( temp 3-component vector of float)
 0:221            'inF0' ( in 3-component vector of float)
+0:221            'inF1' ( in 3-component vector of float)
 0:222      Sequence
-0:222        move second child to first child ( temp 3-component vector of bool)
-0:222          'r040' ( temp 3-component vector of bool)
-0:222          isinf ( temp 3-component vector of bool)
+0:222        move second child to first child ( temp 3-component vector of float)
+0:222          'r039a' ( temp 3-component vector of float)
+0:222          mix ( temp 3-component vector of float)
 0:222            'inF0' ( in 3-component vector of float)
+0:222            'inF1' ( in 3-component vector of float)
+0:222            'inF2' ( in 3-component vector of float)
 0:223      Sequence
-0:223        move second child to first child ( temp 3-component vector of bool)
-0:223          'r041' ( temp 3-component vector of bool)
-0:223          isnan ( temp 3-component vector of bool)
+0:223        move second child to first child ( temp 3-component vector of float)
+0:223          'r039b' ( temp 3-component vector of float)
+0:223          mix ( temp 3-component vector of float)
 0:223            'inF0' ( in 3-component vector of float)
+0:223            'inF1' ( in 3-component vector of float)
+0:223            Constant:
+0:223              0.300000
 0:224      Sequence
-0:224        move second child to first child ( temp 3-component vector of float)
-0:224          'r042' ( temp 3-component vector of float)
-0:224          ldexp ( temp 3-component vector of float)
+0:224        move second child to first child ( temp float)
+0:224          'r043' ( temp float)
+0:224          length ( temp float)
 0:224            'inF0' ( in 3-component vector of float)
-0:224            'inF1' ( in 3-component vector of float)
 0:225      Sequence
 0:225        move second child to first child ( temp 3-component vector of float)
-0:225          'r039a' ( temp 3-component vector of float)
-0:225          mix ( temp 3-component vector of float)
+0:225          'r044' ( temp 3-component vector of float)
+0:225          log ( temp 3-component vector of float)
 0:225            'inF0' ( in 3-component vector of float)
-0:225            'inF1' ( in 3-component vector of float)
-0:225            'inF2' ( in 3-component vector of float)
 0:226      Sequence
 0:226        move second child to first child ( temp 3-component vector of float)
-0:226          'r039b' ( temp 3-component vector of float)
-0:226          mix ( temp 3-component vector of float)
-0:226            'inF0' ( in 3-component vector of float)
-0:226            'inF1' ( in 3-component vector of float)
+0:226          'r045' ( temp 3-component vector of float)
+0:226          vector-scale ( temp 3-component vector of float)
+0:226            log2 ( temp 3-component vector of float)
+0:226              'inF0' ( in 3-component vector of float)
 0:226            Constant:
-0:226              0.300000
+0:226              0.301030
 0:227      Sequence
-0:227        move second child to first child ( temp float)
-0:227          'r043' ( temp float)
-0:227          length ( temp float)
+0:227        move second child to first child ( temp 3-component vector of float)
+0:227          'r046' ( temp 3-component vector of float)
+0:227          log2 ( temp 3-component vector of 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          'r044' ( temp 3-component vector of float)
-0:228          log ( temp 3-component vector of float)
+0:228          'r047' ( temp 3-component vector of float)
+0:228          max ( temp 3-component vector of float)
 0:228            'inF0' ( in 3-component vector of float)
+0:228            'inF1' ( in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child ( temp 3-component vector of float)
-0:229          'r045' ( temp 3-component vector of float)
-0:229          vector-scale ( temp 3-component vector of float)
-0:229            log2 ( temp 3-component vector of float)
-0:229              'inF0' ( in 3-component vector of float)
-0:229            Constant:
-0:229              0.301030
+0:229          'r048' ( temp 3-component vector of float)
+0:229          min ( temp 3-component vector of float)
+0:229            'inF0' ( in 3-component vector of float)
+0:229            'inF1' ( in 3-component vector of float)
 0:230      Sequence
 0:230        move second child to first child ( temp 3-component vector of float)
-0:230          'r046' ( temp 3-component vector of float)
-0:230          log2 ( temp 3-component vector of float)
+0:230          'r049' ( temp 3-component vector of float)
+0:230          normalize ( temp 3-component vector of float)
 0:230            'inF0' ( 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          'r047' ( temp 3-component vector of float)
-0:231          max ( temp 3-component vector of float)
+0:231          'r050' ( temp 3-component vector of float)
+0:231          pow ( temp 3-component vector of float)
 0:231            'inF0' ( in 3-component vector of float)
 0:231            'inF1' ( in 3-component vector of float)
 0:232      Sequence
 0:232        move second child to first child ( temp 3-component vector of float)
-0:232          'r048' ( temp 3-component vector of float)
-0:232          min ( temp 3-component vector of float)
+0:232          'r051' ( temp 3-component vector of float)
+0:232          radians ( temp 3-component vector of float)
 0:232            'inF0' ( in 3-component vector of float)
-0:232            'inF1' ( in 3-component vector of float)
 0:233      Sequence
 0:233        move second child to first child ( temp 3-component vector of float)
-0:233          'r049' ( temp 3-component vector of float)
-0:233          normalize ( temp 3-component vector of float)
+0:233          'r052' ( temp 3-component vector of float)
+0:233          divide ( temp 3-component vector of float)
+0:233            Constant:
+0:233              1.000000
 0:233            'inF0' ( in 3-component vector of float)
 0:234      Sequence
 0:234        move second child to first child ( temp 3-component vector of float)
-0:234          'r050' ( temp 3-component vector of float)
-0:234          pow ( temp 3-component vector of float)
+0:234          'r053' ( temp 3-component vector of float)
+0:234          reflect ( temp 3-component vector of float)
 0:234            'inF0' ( in 3-component vector of float)
 0:234            'inF1' ( in 3-component vector of float)
 0:235      Sequence
 0:235        move second child to first child ( temp 3-component vector of float)
-0:235          'r051' ( temp 3-component vector of float)
-0:235          radians ( temp 3-component vector of float)
+0:235          'r054' ( temp 3-component vector of float)
+0:235          refract ( temp 3-component vector of float)
 0:235            'inF0' ( in 3-component vector of float)
+0:235            'inF1' ( in 3-component vector of float)
+0:235            Constant:
+0:235              2.000000
 0:236      Sequence
-0:236        move second child to first child ( temp 3-component vector of float)
-0:236          'r052' ( temp 3-component vector of float)
-0:236          divide ( temp 3-component vector of float)
-0:236            Constant:
-0:236              1.000000
-0:236            'inF0' ( in 3-component vector of float)
+0:236        move second child to first child ( temp 3-component vector of uint)
+0:236          'r055' ( temp 3-component vector of uint)
+0:?           bitFieldReverse ( temp 3-component vector of uint)
+0:?             Constant:
+0:?               1 (const uint)
+0:?               2 (const uint)
+0:?               3 (const uint)
 0:237      Sequence
 0:237        move second child to first child ( temp 3-component vector of float)
-0:237          'r053' ( temp 3-component vector of float)
-0:237          reflect ( temp 3-component vector of float)
+0:237          'r056' ( temp 3-component vector of float)
+0:237          roundEven ( temp 3-component vector of float)
 0:237            'inF0' ( in 3-component vector of float)
-0:237            'inF1' ( in 3-component vector of float)
 0:238      Sequence
 0:238        move second child to first child ( temp 3-component vector of float)
-0:238          'r054' ( temp 3-component vector of float)
-0:238          refract ( temp 3-component vector of float)
+0:238          'r057' ( temp 3-component vector of float)
+0:238          inverse sqrt ( temp 3-component vector of float)
 0:238            'inF0' ( in 3-component vector of float)
-0:238            'inF1' ( in 3-component vector of float)
-0:238            Constant:
-0:238              2.000000
 0:239      Sequence
-0:239        move second child to first child ( temp 3-component vector of uint)
-0:239          'r055' ( temp 3-component vector of uint)
-0:?           bitFieldReverse ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
-0:?               3 (const uint)
+0:239        move second child to first child ( temp 3-component vector of float)
+0:239          'r058' ( temp 3-component vector of float)
+0:239          clamp ( temp 3-component vector of float)
+0:239            'inF0' ( in 3-component vector of float)
+0:239            Constant:
+0:239              0.000000
+0:239            Constant:
+0:239              1.000000
 0:240      Sequence
 0:240        move second child to first child ( temp 3-component vector of float)
-0:240          'r056' ( temp 3-component vector of float)
-0:240          roundEven ( temp 3-component vector of float)
+0:240          'r059' ( temp 3-component vector of float)
+0:240          Sign ( temp 3-component vector of float)
 0:240            'inF0' ( in 3-component vector of float)
 0:241      Sequence
 0:241        move second child to first child ( temp 3-component vector of float)
-0:241          'r057' ( temp 3-component vector of float)
-0:241          inverse sqrt ( temp 3-component vector of float)
+0:241          'r060' ( temp 3-component vector of float)
+0:241          sine ( temp 3-component vector of float)
 0:241            'inF0' ( in 3-component vector of float)
 0:242      Sequence
 0:242        move second child to first child ( temp 3-component vector of float)
-0:242          'r058' ( temp 3-component vector of float)
-0:242          clamp ( temp 3-component vector of float)
+0:242          'inF1' ( in 3-component vector of float)
+0:242          sine ( temp 3-component vector of float)
+0:242            'inF0' ( in 3-component vector of float)
+0:242        move second child to first child ( temp 3-component vector of float)
+0:242          'inF2' ( in 3-component vector of float)
+0:242          cosine ( temp 3-component vector of float)
 0:242            'inF0' ( in 3-component vector of float)
-0:242            Constant:
-0:242              0.000000
-0:242            Constant:
-0:242              1.000000
 0:243      Sequence
 0:243        move second child to first child ( temp 3-component vector of float)
-0:243          'r059' ( temp 3-component vector of float)
-0:243          Sign ( temp 3-component vector of float)
+0:243          'r061' ( temp 3-component vector of float)
+0:243          hyp. sine ( temp 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          'r060' ( temp 3-component vector of float)
-0:244          sine ( temp 3-component vector of float)
+0:244          'r062' ( temp 3-component vector of float)
+0:244          smoothstep ( temp 3-component vector of float)
 0:244            'inF0' ( in 3-component vector of float)
+0:244            'inF1' ( in 3-component vector of float)
+0:244            'inF2' ( in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'inF1' ( in 3-component vector of float)
-0:245          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          'r063' ( temp 3-component vector of float)
+0:245          sqrt ( temp 3-component vector of float)
 0:245            'inF0' ( in 3-component vector of float)
 0:246      Sequence
 0:246        move second child to first child ( temp 3-component vector of float)
-0:246          'r061' ( temp 3-component vector of float)
-0:246          hyp. sine ( temp 3-component vector of float)
+0:246          'r064' ( temp 3-component vector of float)
+0:246          step ( temp 3-component vector of float)
 0:246            'inF0' ( in 3-component vector of float)
+0:246            'inF1' ( in 3-component vector of float)
 0:247      Sequence
 0:247        move second child to first child ( temp 3-component vector of float)
-0:247          'r062' ( temp 3-component vector of float)
-0:247          smoothstep ( temp 3-component vector of float)
+0:247          'r065' ( temp 3-component vector of float)
+0:247          tangent ( temp 3-component vector of float)
 0:247            'inF0' ( in 3-component vector of float)
-0:247            'inF1' ( in 3-component vector of float)
-0:247            'inF2' ( in 3-component vector of float)
 0:248      Sequence
 0:248        move second child to first child ( temp 3-component vector of float)
-0:248          'r063' ( temp 3-component vector of float)
-0:248          sqrt ( temp 3-component vector of float)
+0:248          'r066' ( temp 3-component vector of float)
+0:248          hyp. tangent ( temp 3-component vector of float)
 0:248            'inF0' ( in 3-component vector of float)
-0:249      Sequence
-0:249        move second child to first child ( temp 3-component vector of float)
-0:249          'r064' ( temp 3-component vector of float)
-0:249          step ( temp 3-component vector of float)
-0:249            'inF0' ( in 3-component vector of float)
-0:249            'inF1' ( in 3-component vector of float)
 0:250      Sequence
 0:250        move second child to first child ( temp 3-component vector of float)
-0:250          'r065' ( temp 3-component vector of float)
-0:250          tangent ( temp 3-component vector of float)
+0:250          'r067' ( temp 3-component vector of float)
+0:250          trunc ( temp 3-component vector of float)
 0:250            'inF0' ( in 3-component vector of float)
-0:251      Sequence
-0:251        move second child to first child ( temp 3-component vector of float)
-0:251          'r066' ( temp 3-component vector of float)
-0:251          hyp. tangent ( temp 3-component vector of float)
-0:251            'inF0' ( in 3-component vector of float)
-0:253      Sequence
-0:253        move second child to first child ( temp 3-component vector of float)
-0:253          'r067' ( temp 3-component vector of float)
-0:253          trunc ( temp 3-component vector of float)
-0:253            'inF0' ( in 3-component vector of float)
-0:256      Branch: Return with expression
+0:253      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:260  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
-0:260    Function Parameters: 
-0:260      'inF0' ( in 4-component vector of float)
-0:260      'inF1' ( in 4-component vector of float)
-0:260      'inF2' ( in 4-component vector of float)
-0:260      'inU0' ( in 4-component vector of uint)
-0:260      'inU1' ( in 4-component vector of uint)
+0:257  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:257    Function Parameters: 
+0:257      'inF0' ( in 4-component vector of float)
+0:257      'inF1' ( in 4-component vector of float)
+0:257      'inF2' ( in 4-component vector of float)
+0:257      'inU0' ( in 4-component vector of uint)
+0:257      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
+0:260      Sequence
+0:260        move second child to first child ( temp bool)
+0:260          'r000' ( temp bool)
+0:260          all ( temp bool)
+0:260            'inF0' ( in 4-component vector of float)
+0:261      Sequence
+0:261        move second child to first child ( temp 4-component vector of float)
+0:261          'r001' ( temp 4-component vector of float)
+0:261          Absolute value ( temp 4-component vector of float)
+0:261            'inF0' ( in 4-component vector of float)
+0:262      Sequence
+0:262        move second child to first child ( temp 4-component vector of float)
+0:262          'r002' ( temp 4-component vector of float)
+0:262          arc cosine ( temp 4-component vector of float)
+0:262            'inF0' ( in 4-component vector of float)
 0:263      Sequence
 0:263        move second child to first child ( temp bool)
-0:263          'r000' ( temp bool)
-0:263          all ( temp bool)
+0:263          'r003' ( temp bool)
+0:263          any ( temp bool)
 0:263            'inF0' ( in 4-component vector of float)
 0:264      Sequence
 0:264        move second child to first child ( temp 4-component vector of float)
-0:264          'r001' ( temp 4-component vector of float)
-0:264          Absolute value ( temp 4-component vector of float)
+0:264          'r004' ( temp 4-component vector of float)
+0:264          arc sine ( temp 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 4-component vector of float)
-0:265          'r002' ( temp 4-component vector of float)
-0:265          arc cosine ( temp 4-component vector of float)
+0:265        move second child to first child ( temp 4-component vector of int)
+0:265          'r005' ( temp 4-component vector of int)
+0:265          floatBitsToInt ( temp 4-component vector of int)
 0:265            'inF0' ( in 4-component vector of float)
 0:266      Sequence
-0:266        move second child to first child ( temp bool)
-0:266          'r003' ( temp bool)
-0:266          any ( temp bool)
+0:266        move second child to first child ( temp 4-component vector of uint)
+0:266          'r006' ( temp 4-component vector of uint)
+0:266          floatBitsToUint ( temp 4-component vector of uint)
 0:266            'inF0' ( in 4-component vector of float)
 0:267      Sequence
 0:267        move second child to first child ( temp 4-component vector of float)
-0:267          'r004' ( temp 4-component vector of float)
-0:267          arc sine ( temp 4-component vector of float)
-0:267            'inF0' ( in 4-component vector of float)
-0:268      Sequence
-0:268        move second child to first child ( temp 4-component vector of int)
-0:268          'r005' ( temp 4-component vector of int)
-0:268          floatBitsToInt ( temp 4-component vector of int)
-0:268            'inF0' ( in 4-component vector of float)
+0:267          'r007' ( temp 4-component vector of float)
+0:267          intBitsToFloat ( temp 4-component vector of float)
+0:267            'inU0' ( in 4-component vector of uint)
 0:269      Sequence
-0:269        move second child to first child ( temp 4-component vector of uint)
-0:269          'r006' ( temp 4-component vector of uint)
-0:269          floatBitsToUint ( temp 4-component vector of uint)
+0:269        move second child to first child ( temp 4-component vector of float)
+0:269          'r009' ( temp 4-component vector of float)
+0:269          arc tangent ( temp 4-component vector of float)
 0:269            'inF0' ( in 4-component vector of float)
 0:270      Sequence
 0:270        move second child to first child ( temp 4-component vector of float)
-0:270          'r007' ( temp 4-component vector of float)
-0:270          intBitsToFloat ( temp 4-component vector of float)
-0:270            'inU0' ( in 4-component vector of uint)
+0:270          'r010' ( temp 4-component vector of float)
+0:270          arc tangent ( temp 4-component vector of float)
+0:270            'inF0' ( in 4-component vector of float)
+0:270            'inF1' ( in 4-component vector of float)
+0:271      Sequence
+0:271        move second child to first child ( temp 4-component vector of float)
+0:271          'r011' ( temp 4-component vector of float)
+0:271          Ceiling ( temp 4-component vector of float)
+0:271            'inF0' ( in 4-component vector of float)
 0:272      Sequence
 0:272        move second child to first child ( temp 4-component vector of float)
-0:272          'r009' ( temp 4-component vector of float)
-0:272          arc tangent ( temp 4-component vector of float)
+0:272          'r012' ( temp 4-component vector of float)
+0:272          clamp ( temp 4-component vector of float)
 0:272            'inF0' ( 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          'r010' ( temp 4-component vector of float)
-0:273          arc tangent ( temp 4-component vector of float)
+0:272            'inF1' ( in 4-component vector of float)
+0:272            'inF2' ( in 4-component vector of float)
+0:273      Test condition and select ( temp void)
+0:273        Condition
+0:273        any ( temp bool)
+0:273          Compare Less Than ( temp 4-component vector of bool)
 0:273            'inF0' ( in 4-component vector of float)
-0:273            'inF1' ( in 4-component vector of float)
+0:273            Constant:
+0:273              0.000000
+0:273              0.000000
+0:273              0.000000
+0:273              0.000000
+0:273        true case
+0:273        Branch: Kill
 0:274      Sequence
 0:274        move second child to first child ( temp 4-component vector of float)
-0:274          'r011' ( temp 4-component vector of float)
-0:274          Ceiling ( temp 4-component vector of float)
+0:274          'r013' ( temp 4-component vector of float)
+0:274          cosine ( temp 4-component vector of float)
 0:274            'inF0' ( in 4-component vector of float)
 0:275      Sequence
 0:275        move second child to first child ( temp 4-component vector of float)
-0:275          'r012' ( temp 4-component vector of float)
-0:275          clamp ( temp 4-component vector of float)
+0:275          'r014' ( temp 4-component vector of float)
+0:275          hyp. cosine ( temp 4-component vector of float)
 0:275            'inF0' ( in 4-component vector of float)
-0:275            'inF1' ( in 4-component vector of float)
-0:275            'inF2' ( in 4-component vector of float)
-0:276      Test condition and select ( temp void)
-0:276        Condition
-0:276        any ( temp bool)
-0:276          Compare Less Than ( temp 4-component vector of bool)
-0:276            'inF0' ( in 4-component vector of float)
-0:276            Constant:
-0:276              0.000000
-0:276              0.000000
-0:276              0.000000
-0:276              0.000000
-0:276        true case
-0:276        Branch: Kill
+0:276      Sequence
+0:276        move second child to first child ( temp 4-component vector of uint)
+0:276          'r015' ( temp 4-component vector of uint)
+0:?           bitCount ( temp 4-component vector of uint)
+0:?             Constant:
+0:?               7 (const uint)
+0:?               3 (const uint)
+0:?               5 (const uint)
+0:?               2 (const uint)
 0:277      Sequence
 0:277        move second child to first child ( temp 4-component vector of float)
-0:277          'r013' ( temp 4-component vector of float)
-0:277          cosine ( temp 4-component vector of float)
+0:277          'r016' ( temp 4-component vector of float)
+0:277          dPdx ( temp 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 float)
-0:278          'r014' ( temp 4-component vector of float)
-0:278          hyp. cosine ( temp 4-component vector of float)
+0:278          'r017' ( temp 4-component vector of float)
+0:278          dPdxCoarse ( temp 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 ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               3 (const uint)
-0:?               5 (const uint)
-0:?               2 (const uint)
+0:279        move second child to first child ( temp 4-component vector of float)
+0:279          'r018' ( temp 4-component vector of float)
+0:279          dPdxFine ( temp 4-component vector of float)
+0:279            'inF0' ( in 4-component vector of float)
 0:280      Sequence
 0:280        move second child to first child ( temp 4-component vector of float)
-0:280          'r016' ( temp 4-component vector of float)
-0:280          dPdx ( temp 4-component vector of float)
+0:280          'r019' ( temp 4-component vector of float)
+0:280          dPdy ( temp 4-component vector of float)
 0:280            'inF0' ( in 4-component vector of float)
 0:281      Sequence
 0:281        move second child to first child ( temp 4-component vector of float)
-0:281          'r017' ( temp 4-component vector of float)
-0:281          dPdxCoarse ( temp 4-component vector of float)
+0:281          'r020' ( temp 4-component vector of float)
+0:281          dPdyCoarse ( temp 4-component vector of float)
 0:281            'inF0' ( in 4-component vector of float)
 0:282      Sequence
 0:282        move second child to first child ( temp 4-component vector of float)
-0:282          'r018' ( temp 4-component vector of float)
-0:282          dPdxFine ( temp 4-component vector of float)
+0:282          'r021' ( temp 4-component vector of float)
+0:282          dPdyFine ( temp 4-component vector of float)
 0:282            'inF0' ( in 4-component vector of float)
 0:283      Sequence
 0:283        move second child to first child ( temp 4-component vector of float)
-0:283          'r019' ( temp 4-component vector of float)
-0:283          dPdy ( temp 4-component vector of float)
+0:283          'r022' ( temp 4-component vector of float)
+0:283          degrees ( temp 4-component vector of float)
 0:283            'inF0' ( in 4-component vector of float)
 0:284      Sequence
-0:284        move second child to first child ( temp 4-component vector of float)
-0:284          'r020' ( temp 4-component vector of float)
-0:284          dPdyCoarse ( temp 4-component vector of float)
+0:284        move second child to first child ( temp float)
+0:284          'r023' ( temp float)
+0:284          distance ( temp float)
 0:284            'inF0' ( in 4-component vector of float)
+0:284            'inF1' ( 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          'r021' ( temp 4-component vector of float)
-0:285          dPdyFine ( temp 4-component vector of float)
+0:285        move second child to first child ( temp float)
+0:285          'r024' ( temp float)
+0:285          dot-product ( temp float)
 0:285            'inF0' ( in 4-component vector of float)
+0:285            'inF1' ( in 4-component vector of float)
 0:286      Sequence
 0:286        move second child to first child ( temp 4-component vector of float)
-0:286          'r022' ( temp 4-component vector of float)
-0:286          degrees ( temp 4-component vector of float)
-0:286            'inF0' ( in 4-component vector of float)
-0:287      Sequence
-0:287        move second child to first child ( temp float)
-0:287          'r023' ( temp float)
-0:287          distance ( temp 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 float)
-0:288          'r024' ( temp float)
-0:288          dot-product ( temp 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:286          'r025' ( temp 4-component vector of float)
+0:286          Construct vec4 ( temp 4-component vector of float)
+0:286            Constant:
+0:286              1.000000
+0:286            component-wise multiply ( temp float)
+0:286              direct index ( temp float)
+0:286                'inF0' ( in 4-component vector of float)
+0:286                Constant:
+0:286                  1 (const int)
+0:286              direct index ( temp float)
+0:286                'inF1' ( in 4-component vector of float)
+0:286                Constant:
+0:286                  1 (const int)
+0:286            direct index ( temp float)
+0:286              'inF0' ( in 4-component vector of float)
+0:286              Constant:
+0:286                2 (const int)
+0:286            direct index ( temp float)
+0:286              'inF1' ( in 4-component vector of float)
+0:286              Constant:
+0:286                3 (const int)
+0:290      Sequence
+0:290        move second child to first child ( temp 4-component vector of float)
+0:290          'r029' ( temp 4-component vector of float)
+0:290          exp ( temp 4-component vector of float)
+0:290            'inF0' ( in 4-component vector of float)
+0:291      Sequence
+0:291        move second child to first child ( temp 4-component vector of float)
+0:291          'r030' ( temp 4-component vector of float)
+0:291          exp2 ( temp 4-component vector of float)
+0:291            'inF0' ( in 4-component vector of float)
+0:292      Sequence
+0:292        move second child to first child ( temp 4-component vector of float)
+0:292          'r031' ( temp 4-component vector of float)
+0:292          face-forward ( temp 4-component vector of float)
+0:292            'inF0' ( in 4-component vector of float)
+0:292            'inF1' ( in 4-component vector of float)
+0:292            'inF2' ( in 4-component vector of float)
 0:293      Sequence
-0:293        move second child to first child ( temp 4-component vector of float)
-0:293          'r029' ( temp 4-component vector of float)
-0:293          exp ( temp 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          'r030' ( temp 4-component vector of float)
-0:294          exp2 ( temp 4-component vector of float)
-0:294            'inF0' ( in 4-component vector of float)
-0:295      Sequence
-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 ( temp 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:293        move second child to first child ( temp 4-component vector of uint)
+0:293          'r032' ( temp 4-component vector of uint)
 0:?           findMSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0: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:294      Sequence
+0:294        move second child to first child ( temp 4-component vector of uint)
+0:294          'r033' ( temp 4-component vector of uint)
 0:?           findLSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
+0:295      Sequence
+0:295        move second child to first child ( temp 4-component vector of float)
+0:295          'r034' ( temp 4-component vector of float)
+0:295          Floor ( temp 4-component vector of float)
+0:295            'inF0' ( in 4-component vector of float)
+0:297      Sequence
+0:297        move second child to first child ( temp 4-component vector of float)
+0:297          'r036' ( temp 4-component vector of float)
+0:297          mod ( temp 4-component vector of float)
+0:297            'inF0' ( in 4-component vector of float)
+0:297            'inF1' ( in 4-component vector of float)
 0: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 ( temp 4-component vector of float)
+0:298          'r037' ( temp 4-component vector of float)
+0:298          Fraction ( temp 4-component vector of float)
 0:298            '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          'r039' ( temp 4-component vector of float)
+0:299          fwidth ( temp 4-component vector of float)
+0:299            '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          'r036' ( temp 4-component vector of float)
-0:300          mod ( temp 4-component vector of float)
+0:300        move second child to first child ( temp 4-component vector of bool)
+0:300          'r040' ( temp 4-component vector of bool)
+0:300          isinf ( temp 4-component vector of bool)
 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          'r037' ( temp 4-component vector of float)
-0:301          Fraction ( temp 4-component vector of float)
+0:301        move second child to first child ( temp 4-component vector of bool)
+0:301          'r041' ( temp 4-component vector of bool)
+0:301          isnan ( temp 4-component vector of bool)
 0:301            'inF0' ( in 4-component vector of float)
 0:302      Sequence
 0:302        move second child to first child ( temp 4-component vector of float)
-0:302          'r038' ( temp 4-component vector of float)
-0:302          frexp ( temp 4-component vector of float)
+0:302          'r042' ( temp 4-component vector of float)
+0:302          ldexp ( temp 4-component vector of float)
 0:302            'inF0' ( in 4-component vector of float)
 0:302            'inF1' ( in 4-component vector of float)
 0:303      Sequence
 0:303        move second child to first child ( temp 4-component vector of float)
-0:303          'r039' ( temp 4-component vector of float)
-0:303          fwidth ( temp 4-component vector of float)
+0:303          'r039a' ( temp 4-component vector of float)
+0:303          mix ( temp 4-component vector of float)
 0:303            'inF0' ( in 4-component vector of float)
+0:303            'inF1' ( in 4-component vector of float)
+0:303            'inF2' ( in 4-component vector of float)
 0:304      Sequence
-0:304        move second child to first child ( temp 4-component vector of bool)
-0:304          'r040' ( temp 4-component vector of bool)
-0:304          isinf ( temp 4-component vector of bool)
+0:304        move second child to first child ( temp float)
+0:304          'r043' ( temp float)
+0:304          length ( temp float)
 0:304            'inF0' ( in 4-component vector of float)
 0:305      Sequence
-0:305        move second child to first child ( temp 4-component vector of bool)
-0:305          'r041' ( temp 4-component vector of bool)
-0:305          isnan ( temp 4-component vector of bool)
+0:305        move second child to first child ( temp 4-component vector of float)
+0:305          'r044' ( temp 4-component vector of float)
+0:305          log ( temp 4-component vector of float)
 0:305            'inF0' ( in 4-component vector of float)
 0:306      Sequence
 0:306        move second child to first child ( temp 4-component vector of float)
-0:306          'r042' ( temp 4-component vector of float)
-0:306          ldexp ( temp 4-component vector of float)
-0:306            'inF0' ( in 4-component vector of float)
-0:306            'inF1' ( in 4-component vector of float)
+0:306          'r045' ( temp 4-component vector of float)
+0:306          vector-scale ( temp 4-component vector of float)
+0:306            log2 ( temp 4-component vector of float)
+0:306              'inF0' ( in 4-component vector of float)
+0:306            Constant:
+0:306              0.301030
 0:307      Sequence
 0:307        move second child to first child ( temp 4-component vector of float)
-0:307          'r039a' ( temp 4-component vector of float)
-0:307          mix ( temp 4-component vector of float)
+0:307          'r046' ( temp 4-component vector of float)
+0:307          log2 ( temp 4-component vector of float)
 0:307            'inF0' ( in 4-component vector of float)
-0:307            'inF1' ( in 4-component vector of float)
-0:307            'inF2' ( in 4-component vector of float)
 0:308      Sequence
-0:308        move second child to first child ( temp float)
-0:308          'r043' ( temp float)
-0:308          length ( temp float)
+0:308        move second child to first child ( temp 4-component vector of float)
+0:308          'r047' ( temp 4-component vector of float)
+0:308          max ( temp 4-component vector of float)
 0:308            'inF0' ( in 4-component vector of float)
+0:308            'inF1' ( in 4-component vector of float)
 0:309      Sequence
 0:309        move second child to first child ( temp 4-component vector of float)
-0:309          'r044' ( temp 4-component vector of float)
-0:309          log ( temp 4-component vector of float)
+0:309          'r048' ( temp 4-component vector of float)
+0:309          min ( temp 4-component vector of float)
 0:309            'inF0' ( in 4-component vector of float)
+0:309            'inF1' ( in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child ( temp 4-component vector of float)
-0:310          'r045' ( temp 4-component vector of float)
-0:310          vector-scale ( temp 4-component vector of float)
-0:310            log2 ( temp 4-component vector of float)
-0:310              'inF0' ( in 4-component vector of float)
-0:310            Constant:
-0:310              0.301030
+0:310          'r049' ( temp 4-component vector of float)
+0:310          normalize ( temp 4-component vector of float)
+0:310            'inF0' ( in 4-component vector of float)
 0:311      Sequence
 0:311        move second child to first child ( temp 4-component vector of float)
-0:311          'r046' ( temp 4-component vector of float)
-0:311          log2 ( temp 4-component vector of float)
+0:311          'r050' ( temp 4-component vector of float)
+0:311          pow ( temp 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          'r047' ( temp 4-component vector of float)
-0:312          max ( temp 4-component vector of float)
+0:312          'r051' ( temp 4-component vector of float)
+0:312          radians ( temp 4-component vector of float)
 0:312            'inF0' ( in 4-component vector of float)
-0:312            'inF1' ( in 4-component vector of float)
 0:313      Sequence
 0:313        move second child to first child ( temp 4-component vector of float)
-0:313          'r048' ( temp 4-component vector of float)
-0:313          min ( temp 4-component vector of float)
+0:313          'r052' ( temp 4-component vector of float)
+0:313          divide ( temp 4-component vector of float)
+0:313            Constant:
+0:313              1.000000
 0:313            'inF0' ( in 4-component vector of float)
-0:313            'inF1' ( in 4-component vector of float)
 0:314      Sequence
 0:314        move second child to first child ( temp 4-component vector of float)
-0:314          'r049' ( temp 4-component vector of float)
-0:314          normalize ( temp 4-component vector of float)
+0:314          'r053' ( temp 4-component vector of float)
+0:314          reflect ( temp 4-component vector of float)
 0:314            'inF0' ( in 4-component vector of float)
+0:314            'inF1' ( in 4-component vector of float)
 0:315      Sequence
 0:315        move second child to first child ( temp 4-component vector of float)
-0:315          'r050' ( temp 4-component vector of float)
-0:315          pow ( temp 4-component vector of float)
+0:315          'r054' ( temp 4-component vector of float)
+0:315          refract ( temp 4-component vector of float)
 0:315            'inF0' ( in 4-component vector of float)
 0:315            'inF1' ( in 4-component vector of float)
+0:315            Constant:
+0:315              2.000000
 0:316      Sequence
-0:316        move second child to first child ( temp 4-component vector of float)
-0:316          'r051' ( temp 4-component vector of float)
-0:316          radians ( temp 4-component vector of float)
-0:316            'inF0' ( in 4-component vector of float)
+0:316        move second child to first child ( temp 4-component vector of uint)
+0:316          'r055' ( temp 4-component vector of uint)
+0:?           bitFieldReverse ( temp 4-component vector of uint)
+0:?             Constant:
+0:?               1 (const uint)
+0:?               2 (const uint)
+0:?               3 (const uint)
+0:?               4 (const uint)
 0:317      Sequence
 0:317        move second child to first child ( temp 4-component vector of float)
-0:317          'r052' ( temp 4-component vector of float)
-0:317          divide ( temp 4-component vector of float)
-0:317            Constant:
-0:317              1.000000
+0:317          'r056' ( temp 4-component vector of float)
+0:317          roundEven ( temp 4-component vector of float)
 0:317            'inF0' ( in 4-component vector of float)
 0:318      Sequence
 0:318        move second child to first child ( temp 4-component vector of float)
-0:318          'r053' ( temp 4-component vector of float)
-0:318          reflect ( temp 4-component vector of float)
+0:318          'r057' ( temp 4-component vector of float)
+0:318          inverse sqrt ( temp 4-component vector of float)
 0:318            'inF0' ( in 4-component vector of float)
-0:318            'inF1' ( in 4-component vector of float)
 0:319      Sequence
 0:319        move second child to first child ( temp 4-component vector of float)
-0:319          'r054' ( temp 4-component vector of float)
-0:319          refract ( temp 4-component vector of float)
+0:319          'r058' ( temp 4-component vector of float)
+0:319          clamp ( temp 4-component vector of float)
 0:319            'inF0' ( in 4-component vector of float)
-0:319            'inF1' ( in 4-component vector of float)
 0:319            Constant:
-0:319              2.000000
+0:319              0.000000
+0:319            Constant:
+0:319              1.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 ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
-0:?               3 (const uint)
-0:?               4 (const uint)
+0:320        move second child to first child ( temp 4-component vector of float)
+0:320          'r059' ( temp 4-component vector of float)
+0:320          Sign ( temp 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          'r056' ( temp 4-component vector of float)
-0:321          roundEven ( temp 4-component vector of float)
+0:321          'r060' ( temp 4-component vector of float)
+0:321          sine ( temp 4-component vector of float)
 0:321            'inF0' ( in 4-component vector of float)
 0:322      Sequence
 0:322        move second child to first child ( temp 4-component vector of float)
-0:322          'r057' ( temp 4-component vector of float)
-0:322          inverse sqrt ( temp 4-component vector of float)
+0:322          'inF1' ( in 4-component vector of float)
+0:322          sine ( temp 4-component vector of float)
+0:322            'inF0' ( in 4-component vector of float)
+0:322        move second child to first child ( temp 4-component vector of float)
+0:322          'inF2' ( in 4-component vector of float)
+0:322          cosine ( temp 4-component vector of float)
 0:322            'inF0' ( in 4-component vector of float)
 0:323      Sequence
 0:323        move second child to first child ( temp 4-component vector of float)
-0:323          'r058' ( temp 4-component vector of float)
-0:323          clamp ( temp 4-component vector of float)
+0:323          'r061' ( temp 4-component vector of float)
+0:323          hyp. sine ( temp 4-component vector of float)
 0:323            'inF0' ( in 4-component vector of float)
-0:323            Constant:
-0:323              0.000000
-0:323            Constant:
-0:323              1.000000
 0:324      Sequence
 0:324        move second child to first child ( temp 4-component vector of float)
-0:324          'r059' ( temp 4-component vector of float)
-0:324          Sign ( temp 4-component vector of float)
+0:324          'r062' ( temp 4-component vector of float)
+0:324          smoothstep ( temp 4-component vector of float)
 0:324            'inF0' ( in 4-component vector of float)
+0:324            'inF1' ( in 4-component vector of float)
+0:324            'inF2' ( 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          'r060' ( temp 4-component vector of float)
-0:325          sine ( temp 4-component vector of float)
+0:325          'r063' ( temp 4-component vector of float)
+0:325          sqrt ( temp 4-component vector of float)
 0:325            'inF0' ( in 4-component vector of float)
 0:326      Sequence
 0:326        move second child to first child ( temp 4-component vector of float)
-0:326          'inF1' ( in 4-component vector of float)
-0:326          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          'r064' ( temp 4-component vector of float)
+0:326          step ( temp 4-component vector of float)
 0:326            'inF0' ( in 4-component vector of float)
+0:326            'inF1' ( in 4-component vector of float)
 0:327      Sequence
 0:327        move second child to first child ( temp 4-component vector of float)
-0:327          'r061' ( temp 4-component vector of float)
-0:327          hyp. sine ( temp 4-component vector of float)
+0:327          'r065' ( temp 4-component vector of float)
+0:327          tangent ( temp 4-component vector of float)
 0:327            'inF0' ( in 4-component vector of float)
 0:328      Sequence
 0:328        move second child to first child ( temp 4-component vector of float)
-0:328          'r062' ( temp 4-component vector of float)
-0:328          smoothstep ( temp 4-component vector of float)
+0:328          'r066' ( temp 4-component vector of float)
+0:328          hyp. tangent ( temp 4-component vector of float)
 0:328            'inF0' ( in 4-component vector of float)
-0:328            'inF1' ( in 4-component vector of float)
-0:328            'inF2' ( in 4-component vector of float)
-0:329      Sequence
-0:329        move second child to first child ( temp 4-component vector of float)
-0:329          'r063' ( temp 4-component vector of float)
-0:329          sqrt ( temp 4-component vector of float)
-0:329            'inF0' ( in 4-component vector of float)
 0:330      Sequence
 0:330        move second child to first child ( temp 4-component vector of float)
-0:330          'r064' ( temp 4-component vector of float)
-0:330          step ( temp 4-component vector of float)
+0:330          'r067' ( temp 4-component vector of float)
+0:330          trunc ( temp 4-component vector of float)
 0:330            'inF0' ( in 4-component vector of float)
-0:330            'inF1' ( in 4-component vector of float)
-0:331      Sequence
-0:331        move second child to first child ( temp 4-component vector of float)
-0:331          'r065' ( temp 4-component vector of float)
-0:331          tangent ( temp 4-component vector of float)
-0:331            'inF0' ( in 4-component vector of float)
-0:332      Sequence
-0:332        move second child to first child ( temp 4-component vector of float)
-0:332          'r066' ( temp 4-component vector of float)
-0:332          hyp. tangent ( temp 4-component vector of float)
-0:332            'inF0' ( in 4-component vector of float)
-0:334      Sequence
-0:334        move second child to first child ( temp 4-component vector of float)
-0:334          'r067' ( temp 4-component vector of float)
-0:334          trunc ( temp 4-component vector of float)
-0:334            'inF0' ( in 4-component vector of float)
-0:337      Branch: Return with expression
+0:333      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:401  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
-0:401    Function Parameters: 
-0:401      'inF0' ( in 2X2 matrix of float)
-0:401      'inF1' ( in 2X2 matrix of float)
-0:401      'inF2' ( in 2X2 matrix of float)
+0:396  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:396    Function Parameters: 
+0:396      'inF0' ( in 2X2 matrix of float)
+0:396      'inF1' ( in 2X2 matrix of float)
+0:396      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-0:403      Sequence
-0:403        move second child to first child ( temp bool)
-0:403          'r000' ( temp bool)
-0:403          all ( temp bool)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r001' ( temp 2X2 matrix of float)
-0:403          Absolute value ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      arc cosine ( temp 2X2 matrix of float)
-0:403        'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp bool)
-0:403          'r003' ( temp bool)
-0:403          any ( temp bool)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r004' ( temp 2X2 matrix of float)
-0:403          arc sine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r005' ( temp 2X2 matrix of float)
-0:403          arc tangent ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r006' ( temp 2X2 matrix of float)
-0:403          arc tangent ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r007' ( temp 2X2 matrix of float)
-0:403          Ceiling ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Test condition and select ( temp void)
-0:403        Condition
-0:403        any ( temp bool)
-0:403          Compare Less Than ( temp 2X2 matrix of bool)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            Constant:
-0:403              0.000000
-0:403              0.000000
-0:403              0.000000
-0:403              0.000000
-0:403        true case
-0:403        Branch: Kill
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r008' ( temp 2X2 matrix of float)
-0:403          clamp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403            'inF2' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r009' ( temp 2X2 matrix of float)
-0:403          cosine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r010' ( temp 2X2 matrix of float)
-0:403          hyp. cosine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r011' ( temp 2X2 matrix of float)
-0:403          dPdx ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r012' ( temp 2X2 matrix of float)
-0:403          dPdxCoarse ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r013' ( temp 2X2 matrix of float)
-0:403          dPdxFine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r014' ( temp 2X2 matrix of float)
-0:403          dPdy ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r015' ( temp 2X2 matrix of float)
-0:403          dPdyCoarse ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r016' ( temp 2X2 matrix of float)
-0:403          dPdyFine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r017' ( temp 2X2 matrix of float)
-0:403          degrees ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp float)
-0:403          'r018' ( temp float)
-0:403          determinant ( temp float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r019' ( temp 2X2 matrix of float)
-0:403          exp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'R020' ( temp 2X2 matrix of float)
-0:403          exp2 ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r021' ( temp 2X2 matrix of float)
-0:403          Floor ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r022' ( temp 2X2 matrix of float)
-0:403          mod ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r023' ( temp 2X2 matrix of float)
-0:403          Fraction ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r024' ( temp 2X2 matrix of float)
-0:403          frexp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r025' ( temp 2X2 matrix of float)
-0:403          fwidth ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r026' ( temp 2X2 matrix of float)
-0:403          ldexp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r026a' ( temp 2X2 matrix of float)
-0:403          mix ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403            'inF2' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r027' ( temp 2X2 matrix of float)
-0:403          log ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r028' ( temp 2X2 matrix of float)
-0:403          matrix-scale ( temp 2X2 matrix of float)
-0:403            log2 ( temp 2X2 matrix of float)
-0:403              'inF0' ( in 2X2 matrix of float)
-0:403            Constant:
-0:403              0.301030
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r029' ( temp 2X2 matrix of float)
-0:403          log2 ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r030' ( temp 2X2 matrix of float)
-0:403          max ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r031' ( temp 2X2 matrix of float)
-0:403          min ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r032' ( temp 2X2 matrix of float)
-0:403          pow ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r033' ( temp 2X2 matrix of float)
-0:403          radians ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r034' ( temp 2X2 matrix of float)
-0:403          roundEven ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r035' ( temp 2X2 matrix of float)
-0:403          inverse sqrt ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r036' ( temp 2X2 matrix of float)
-0:403          clamp ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            Constant:
-0:403              0.000000
-0:403            Constant:
-0:403              1.000000
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r037' ( temp 2X2 matrix of float)
-0:403          Sign ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r038' ( temp 2X2 matrix of float)
-0:403          sine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'inF1' ( in 2X2 matrix of float)
-0:403          sine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'inF2' ( in 2X2 matrix of float)
-0:403          cosine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r039' ( temp 2X2 matrix of float)
-0:403          hyp. sine ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r049' ( temp 2X2 matrix of float)
-0:403          smoothstep ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403            'inF2' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r041' ( temp 2X2 matrix of float)
-0:403          sqrt ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r042' ( temp 2X2 matrix of float)
-0:403          step ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403            'inF1' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r043' ( temp 2X2 matrix of float)
-0:403          tangent ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r044' ( temp 2X2 matrix of float)
-0:403          hyp. tangent ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:403      transpose ( temp 2X2 matrix of float)
-0:403        'inF0' ( in 2X2 matrix of float)
-0:403      Sequence
-0:403        move second child to first child ( temp 2X2 matrix of float)
-0:403          'r046' ( temp 2X2 matrix of float)
-0:403          trunc ( temp 2X2 matrix of float)
-0:403            'inF0' ( in 2X2 matrix of float)
-0:406      Branch: Return with expression
+0:398      Sequence
+0:398        move second child to first child ( temp bool)
+0:398          'r000' ( temp bool)
+0:398          all ( temp bool)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r001' ( temp 2X2 matrix of float)
+0:398          Absolute value ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      arc cosine ( temp 2X2 matrix of float)
+0:398        'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp bool)
+0:398          'r003' ( temp bool)
+0:398          any ( temp bool)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r004' ( temp 2X2 matrix of float)
+0:398          arc sine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r005' ( temp 2X2 matrix of float)
+0:398          arc tangent ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r006' ( temp 2X2 matrix of float)
+0:398          arc tangent ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r007' ( temp 2X2 matrix of float)
+0:398          Ceiling ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Test condition and select ( temp void)
+0:398        Condition
+0:398        any ( temp bool)
+0:398          Compare Less Than ( temp 2X2 matrix of bool)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            Constant:
+0:398              0.000000
+0:398              0.000000
+0:398              0.000000
+0:398              0.000000
+0:398        true case
+0:398        Branch: Kill
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r008' ( temp 2X2 matrix of float)
+0:398          clamp ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398            'inF2' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r009' ( temp 2X2 matrix of float)
+0:398          cosine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r010' ( temp 2X2 matrix of float)
+0:398          hyp. cosine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r011' ( temp 2X2 matrix of float)
+0:398          dPdx ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r012' ( temp 2X2 matrix of float)
+0:398          dPdxCoarse ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r013' ( temp 2X2 matrix of float)
+0:398          dPdxFine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r014' ( temp 2X2 matrix of float)
+0:398          dPdy ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r015' ( temp 2X2 matrix of float)
+0:398          dPdyCoarse ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r016' ( temp 2X2 matrix of float)
+0:398          dPdyFine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r017' ( temp 2X2 matrix of float)
+0:398          degrees ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp float)
+0:398          'r018' ( temp float)
+0:398          determinant ( temp float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r019' ( temp 2X2 matrix of float)
+0:398          exp ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'R020' ( temp 2X2 matrix of float)
+0:398          exp2 ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r021' ( temp 2X2 matrix of float)
+0:398          Floor ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r022' ( temp 2X2 matrix of float)
+0:398          mod ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r023' ( temp 2X2 matrix of float)
+0:398          Fraction ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r025' ( temp 2X2 matrix of float)
+0:398          fwidth ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r026' ( temp 2X2 matrix of float)
+0:398          ldexp ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r026a' ( temp 2X2 matrix of float)
+0:398          mix ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398            'inF2' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r027' ( temp 2X2 matrix of float)
+0:398          log ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r028' ( temp 2X2 matrix of float)
+0:398          matrix-scale ( temp 2X2 matrix of float)
+0:398            log2 ( temp 2X2 matrix of float)
+0:398              'inF0' ( in 2X2 matrix of float)
+0:398            Constant:
+0:398              0.301030
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r029' ( temp 2X2 matrix of float)
+0:398          log2 ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r030' ( temp 2X2 matrix of float)
+0:398          max ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r031' ( temp 2X2 matrix of float)
+0:398          min ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r032' ( temp 2X2 matrix of float)
+0:398          pow ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r033' ( temp 2X2 matrix of float)
+0:398          radians ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r034' ( temp 2X2 matrix of float)
+0:398          roundEven ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r035' ( temp 2X2 matrix of float)
+0:398          inverse sqrt ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r036' ( temp 2X2 matrix of float)
+0:398          clamp ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            Constant:
+0:398              0.000000
+0:398            Constant:
+0:398              1.000000
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r037' ( temp 2X2 matrix of float)
+0:398          Sign ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r038' ( temp 2X2 matrix of float)
+0:398          sine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'inF1' ( in 2X2 matrix of float)
+0:398          sine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'inF2' ( in 2X2 matrix of float)
+0:398          cosine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r039' ( temp 2X2 matrix of float)
+0:398          hyp. sine ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r049' ( temp 2X2 matrix of float)
+0:398          smoothstep ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398            'inF2' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r041' ( temp 2X2 matrix of float)
+0:398          sqrt ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r042' ( temp 2X2 matrix of float)
+0:398          step ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398            'inF1' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r043' ( temp 2X2 matrix of float)
+0:398          tangent ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r044' ( temp 2X2 matrix of float)
+0:398          hyp. tangent ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:398      transpose ( temp 2X2 matrix of float)
+0:398        'inF0' ( in 2X2 matrix of float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2X2 matrix of float)
+0:398          'r046' ( temp 2X2 matrix of float)
+0:398          trunc ( temp 2X2 matrix of float)
+0:398            'inF0' ( in 2X2 matrix of float)
+0:401      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:410  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
-0:410    Function Parameters: 
-0:410      'inF0' ( in 3X3 matrix of float)
-0:410      'inF1' ( in 3X3 matrix of float)
-0:410      'inF2' ( in 3X3 matrix of float)
+0:405  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:405    Function Parameters: 
+0:405      'inF0' ( in 3X3 matrix of float)
+0:405      'inF1' ( in 3X3 matrix of float)
+0:405      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-0:412      Sequence
-0:412        move second child to first child ( temp bool)
-0:412          'r000' ( temp bool)
-0:412          all ( temp bool)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r001' ( temp 3X3 matrix of float)
-0:412          Absolute value ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      arc cosine ( temp 3X3 matrix of float)
-0:412        'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp bool)
-0:412          'r003' ( temp bool)
-0:412          any ( temp bool)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r004' ( temp 3X3 matrix of float)
-0:412          arc sine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r005' ( temp 3X3 matrix of float)
-0:412          arc tangent ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r006' ( temp 3X3 matrix of float)
-0:412          arc tangent ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r007' ( temp 3X3 matrix of float)
-0:412          Ceiling ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Test condition and select ( temp void)
-0:412        Condition
-0:412        any ( temp bool)
-0:412          Compare Less Than ( temp 3X3 matrix of bool)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            Constant:
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412              0.000000
-0:412        true case
-0:412        Branch: Kill
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r008' ( temp 3X3 matrix of float)
-0:412          clamp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412            'inF2' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r009' ( temp 3X3 matrix of float)
-0:412          cosine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r010' ( temp 3X3 matrix of float)
-0:412          hyp. cosine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r011' ( temp 3X3 matrix of float)
-0:412          dPdx ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r012' ( temp 3X3 matrix of float)
-0:412          dPdxCoarse ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r013' ( temp 3X3 matrix of float)
-0:412          dPdxFine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r014' ( temp 3X3 matrix of float)
-0:412          dPdy ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r015' ( temp 3X3 matrix of float)
-0:412          dPdyCoarse ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r016' ( temp 3X3 matrix of float)
-0:412          dPdyFine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r017' ( temp 3X3 matrix of float)
-0:412          degrees ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp float)
-0:412          'r018' ( temp float)
-0:412          determinant ( temp float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r019' ( temp 3X3 matrix of float)
-0:412          exp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'R020' ( temp 3X3 matrix of float)
-0:412          exp2 ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r021' ( temp 3X3 matrix of float)
-0:412          Floor ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r022' ( temp 3X3 matrix of float)
-0:412          mod ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r023' ( temp 3X3 matrix of float)
-0:412          Fraction ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r024' ( temp 3X3 matrix of float)
-0:412          frexp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r025' ( temp 3X3 matrix of float)
-0:412          fwidth ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r026' ( temp 3X3 matrix of float)
-0:412          ldexp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r026a' ( temp 3X3 matrix of float)
-0:412          mix ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412            'inF2' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r027' ( temp 3X3 matrix of float)
-0:412          log ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r028' ( temp 3X3 matrix of float)
-0:412          matrix-scale ( temp 3X3 matrix of float)
-0:412            log2 ( temp 3X3 matrix of float)
-0:412              'inF0' ( in 3X3 matrix of float)
-0:412            Constant:
-0:412              0.301030
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r029' ( temp 3X3 matrix of float)
-0:412          log2 ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r030' ( temp 3X3 matrix of float)
-0:412          max ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r031' ( temp 3X3 matrix of float)
-0:412          min ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r032' ( temp 3X3 matrix of float)
-0:412          pow ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r033' ( temp 3X3 matrix of float)
-0:412          radians ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r034' ( temp 3X3 matrix of float)
-0:412          roundEven ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r035' ( temp 3X3 matrix of float)
-0:412          inverse sqrt ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r036' ( temp 3X3 matrix of float)
-0:412          clamp ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            Constant:
-0:412              0.000000
-0:412            Constant:
-0:412              1.000000
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r037' ( temp 3X3 matrix of float)
-0:412          Sign ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r038' ( temp 3X3 matrix of float)
-0:412          sine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'inF1' ( in 3X3 matrix of float)
-0:412          sine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'inF2' ( in 3X3 matrix of float)
-0:412          cosine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r039' ( temp 3X3 matrix of float)
-0:412          hyp. sine ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r049' ( temp 3X3 matrix of float)
-0:412          smoothstep ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412            'inF2' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r041' ( temp 3X3 matrix of float)
-0:412          sqrt ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r042' ( temp 3X3 matrix of float)
-0:412          step ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412            'inF1' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r043' ( temp 3X3 matrix of float)
-0:412          tangent ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r044' ( temp 3X3 matrix of float)
-0:412          hyp. tangent ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:412      transpose ( temp 3X3 matrix of float)
-0:412        'inF0' ( in 3X3 matrix of float)
-0:412      Sequence
-0:412        move second child to first child ( temp 3X3 matrix of float)
-0:412          'r046' ( temp 3X3 matrix of float)
-0:412          trunc ( temp 3X3 matrix of float)
-0:412            'inF0' ( in 3X3 matrix of float)
-0:415      Branch: Return with expression
+0:407      Sequence
+0:407        move second child to first child ( temp bool)
+0:407          'r000' ( temp bool)
+0:407          all ( temp bool)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r001' ( temp 3X3 matrix of float)
+0:407          Absolute value ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      arc cosine ( temp 3X3 matrix of float)
+0:407        'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp bool)
+0:407          'r003' ( temp bool)
+0:407          any ( temp bool)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r004' ( temp 3X3 matrix of float)
+0:407          arc sine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r005' ( temp 3X3 matrix of float)
+0:407          arc tangent ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r006' ( temp 3X3 matrix of float)
+0:407          arc tangent ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r007' ( temp 3X3 matrix of float)
+0:407          Ceiling ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Test condition and select ( temp void)
+0:407        Condition
+0:407        any ( temp bool)
+0:407          Compare Less Than ( temp 3X3 matrix of bool)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            Constant:
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407              0.000000
+0:407        true case
+0:407        Branch: Kill
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r008' ( temp 3X3 matrix of float)
+0:407          clamp ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407            'inF2' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r009' ( temp 3X3 matrix of float)
+0:407          cosine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r010' ( temp 3X3 matrix of float)
+0:407          hyp. cosine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r011' ( temp 3X3 matrix of float)
+0:407          dPdx ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r012' ( temp 3X3 matrix of float)
+0:407          dPdxCoarse ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r013' ( temp 3X3 matrix of float)
+0:407          dPdxFine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r014' ( temp 3X3 matrix of float)
+0:407          dPdy ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r015' ( temp 3X3 matrix of float)
+0:407          dPdyCoarse ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r016' ( temp 3X3 matrix of float)
+0:407          dPdyFine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r017' ( temp 3X3 matrix of float)
+0:407          degrees ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp float)
+0:407          'r018' ( temp float)
+0:407          determinant ( temp float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r019' ( temp 3X3 matrix of float)
+0:407          exp ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'R020' ( temp 3X3 matrix of float)
+0:407          exp2 ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r021' ( temp 3X3 matrix of float)
+0:407          Floor ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r022' ( temp 3X3 matrix of float)
+0:407          mod ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r023' ( temp 3X3 matrix of float)
+0:407          Fraction ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r025' ( temp 3X3 matrix of float)
+0:407          fwidth ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r026' ( temp 3X3 matrix of float)
+0:407          ldexp ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r026a' ( temp 3X3 matrix of float)
+0:407          mix ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407            'inF2' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r027' ( temp 3X3 matrix of float)
+0:407          log ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r028' ( temp 3X3 matrix of float)
+0:407          matrix-scale ( temp 3X3 matrix of float)
+0:407            log2 ( temp 3X3 matrix of float)
+0:407              'inF0' ( in 3X3 matrix of float)
+0:407            Constant:
+0:407              0.301030
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r029' ( temp 3X3 matrix of float)
+0:407          log2 ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r030' ( temp 3X3 matrix of float)
+0:407          max ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r031' ( temp 3X3 matrix of float)
+0:407          min ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r032' ( temp 3X3 matrix of float)
+0:407          pow ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r033' ( temp 3X3 matrix of float)
+0:407          radians ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r034' ( temp 3X3 matrix of float)
+0:407          roundEven ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r035' ( temp 3X3 matrix of float)
+0:407          inverse sqrt ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r036' ( temp 3X3 matrix of float)
+0:407          clamp ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            Constant:
+0:407              0.000000
+0:407            Constant:
+0:407              1.000000
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r037' ( temp 3X3 matrix of float)
+0:407          Sign ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r038' ( temp 3X3 matrix of float)
+0:407          sine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'inF1' ( in 3X3 matrix of float)
+0:407          sine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'inF2' ( in 3X3 matrix of float)
+0:407          cosine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r039' ( temp 3X3 matrix of float)
+0:407          hyp. sine ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r049' ( temp 3X3 matrix of float)
+0:407          smoothstep ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407            'inF2' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r041' ( temp 3X3 matrix of float)
+0:407          sqrt ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r042' ( temp 3X3 matrix of float)
+0:407          step ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407            'inF1' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r043' ( temp 3X3 matrix of float)
+0:407          tangent ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r044' ( temp 3X3 matrix of float)
+0:407          hyp. tangent ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:407      transpose ( temp 3X3 matrix of float)
+0:407        'inF0' ( in 3X3 matrix of float)
+0:407      Sequence
+0:407        move second child to first child ( temp 3X3 matrix of float)
+0:407          'r046' ( temp 3X3 matrix of float)
+0:407          trunc ( temp 3X3 matrix of float)
+0:407            'inF0' ( in 3X3 matrix of float)
+0:410      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -4950,301 +4872,295 @@ gl_FragCoord origin is upper left
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:419  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
-0:419    Function Parameters: 
-0:419      'inF0' ( in 4X4 matrix of float)
-0:419      'inF1' ( in 4X4 matrix of float)
-0:419      'inF2' ( in 4X4 matrix of float)
+0:414  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:414    Function Parameters: 
+0:414      'inF0' ( in 4X4 matrix of float)
+0:414      'inF1' ( in 4X4 matrix of float)
+0:414      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-0:421      Sequence
-0:421        move second child to first child ( temp bool)
-0:421          'r000' ( temp bool)
-0:421          all ( temp bool)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r001' ( temp 4X4 matrix of float)
-0:421          Absolute value ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      arc cosine ( temp 4X4 matrix of float)
-0:421        'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp bool)
-0:421          'r003' ( temp bool)
-0:421          any ( temp bool)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r004' ( temp 4X4 matrix of float)
-0:421          arc sine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r005' ( temp 4X4 matrix of float)
-0:421          arc tangent ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r006' ( temp 4X4 matrix of float)
-0:421          arc tangent ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r007' ( temp 4X4 matrix of float)
-0:421          Ceiling ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Test condition and select ( temp void)
-0:421        Condition
-0:421        any ( temp bool)
-0:421          Compare Less Than ( temp 4X4 matrix of bool)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            Constant:
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421              0.000000
-0:421        true case
-0:421        Branch: Kill
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r008' ( temp 4X4 matrix of float)
-0:421          clamp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421            'inF2' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r009' ( temp 4X4 matrix of float)
-0:421          cosine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r010' ( temp 4X4 matrix of float)
-0:421          hyp. cosine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r011' ( temp 4X4 matrix of float)
-0:421          dPdx ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r012' ( temp 4X4 matrix of float)
-0:421          dPdxCoarse ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r013' ( temp 4X4 matrix of float)
-0:421          dPdxFine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r014' ( temp 4X4 matrix of float)
-0:421          dPdy ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r015' ( temp 4X4 matrix of float)
-0:421          dPdyCoarse ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r016' ( temp 4X4 matrix of float)
-0:421          dPdyFine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r017' ( temp 4X4 matrix of float)
-0:421          degrees ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp float)
-0:421          'r018' ( temp float)
-0:421          determinant ( temp float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r019' ( temp 4X4 matrix of float)
-0:421          exp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'R020' ( temp 4X4 matrix of float)
-0:421          exp2 ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r021' ( temp 4X4 matrix of float)
-0:421          Floor ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r022' ( temp 4X4 matrix of float)
-0:421          mod ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r023' ( temp 4X4 matrix of float)
-0:421          Fraction ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r024' ( temp 4X4 matrix of float)
-0:421          frexp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r025' ( temp 4X4 matrix of float)
-0:421          fwidth ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r026' ( temp 4X4 matrix of float)
-0:421          ldexp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r026a' ( temp 4X4 matrix of float)
-0:421          mix ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421            'inF2' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r027' ( temp 4X4 matrix of float)
-0:421          log ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r028' ( temp 4X4 matrix of float)
-0:421          matrix-scale ( temp 4X4 matrix of float)
-0:421            log2 ( temp 4X4 matrix of float)
-0:421              'inF0' ( in 4X4 matrix of float)
-0:421            Constant:
-0:421              0.301030
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r029' ( temp 4X4 matrix of float)
-0:421          log2 ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r030' ( temp 4X4 matrix of float)
-0:421          max ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r031' ( temp 4X4 matrix of float)
-0:421          min ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r032' ( temp 4X4 matrix of float)
-0:421          pow ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r033' ( temp 4X4 matrix of float)
-0:421          radians ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r034' ( temp 4X4 matrix of float)
-0:421          roundEven ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r035' ( temp 4X4 matrix of float)
-0:421          inverse sqrt ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r036' ( temp 4X4 matrix of float)
-0:421          clamp ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            Constant:
-0:421              0.000000
-0:421            Constant:
-0:421              1.000000
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r037' ( temp 4X4 matrix of float)
-0:421          Sign ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r038' ( temp 4X4 matrix of float)
-0:421          sine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'inF1' ( in 4X4 matrix of float)
-0:421          sine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'inF2' ( in 4X4 matrix of float)
-0:421          cosine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r039' ( temp 4X4 matrix of float)
-0:421          hyp. sine ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r049' ( temp 4X4 matrix of float)
-0:421          smoothstep ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421            'inF2' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r041' ( temp 4X4 matrix of float)
-0:421          sqrt ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r042' ( temp 4X4 matrix of float)
-0:421          step ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421            'inF1' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r043' ( temp 4X4 matrix of float)
-0:421          tangent ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r044' ( temp 4X4 matrix of float)
-0:421          hyp. tangent ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:421      transpose ( temp 4X4 matrix of float)
-0:421        'inF0' ( in 4X4 matrix of float)
-0:421      Sequence
-0:421        move second child to first child ( temp 4X4 matrix of float)
-0:421          'r046' ( temp 4X4 matrix of float)
-0:421          trunc ( temp 4X4 matrix of float)
-0:421            'inF0' ( in 4X4 matrix of float)
-0:424      Branch: Return with expression
+0:416      Sequence
+0:416        move second child to first child ( temp bool)
+0:416          'r000' ( temp bool)
+0:416          all ( temp bool)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r001' ( temp 4X4 matrix of float)
+0:416          Absolute value ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      arc cosine ( temp 4X4 matrix of float)
+0:416        'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp bool)
+0:416          'r003' ( temp bool)
+0:416          any ( temp bool)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r004' ( temp 4X4 matrix of float)
+0:416          arc sine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r005' ( temp 4X4 matrix of float)
+0:416          arc tangent ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r006' ( temp 4X4 matrix of float)
+0:416          arc tangent ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r007' ( temp 4X4 matrix of float)
+0:416          Ceiling ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Test condition and select ( temp void)
+0:416        Condition
+0:416        any ( temp bool)
+0:416          Compare Less Than ( temp 4X4 matrix of bool)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            Constant:
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416              0.000000
+0:416        true case
+0:416        Branch: Kill
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r008' ( temp 4X4 matrix of float)
+0:416          clamp ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416            'inF2' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r009' ( temp 4X4 matrix of float)
+0:416          cosine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r010' ( temp 4X4 matrix of float)
+0:416          hyp. cosine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r011' ( temp 4X4 matrix of float)
+0:416          dPdx ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r012' ( temp 4X4 matrix of float)
+0:416          dPdxCoarse ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r013' ( temp 4X4 matrix of float)
+0:416          dPdxFine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r014' ( temp 4X4 matrix of float)
+0:416          dPdy ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r015' ( temp 4X4 matrix of float)
+0:416          dPdyCoarse ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r016' ( temp 4X4 matrix of float)
+0:416          dPdyFine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r017' ( temp 4X4 matrix of float)
+0:416          degrees ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp float)
+0:416          'r018' ( temp float)
+0:416          determinant ( temp float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r019' ( temp 4X4 matrix of float)
+0:416          exp ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'R020' ( temp 4X4 matrix of float)
+0:416          exp2 ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r021' ( temp 4X4 matrix of float)
+0:416          Floor ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r022' ( temp 4X4 matrix of float)
+0:416          mod ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r023' ( temp 4X4 matrix of float)
+0:416          Fraction ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r025' ( temp 4X4 matrix of float)
+0:416          fwidth ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r026' ( temp 4X4 matrix of float)
+0:416          ldexp ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r026a' ( temp 4X4 matrix of float)
+0:416          mix ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416            'inF2' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r027' ( temp 4X4 matrix of float)
+0:416          log ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r028' ( temp 4X4 matrix of float)
+0:416          matrix-scale ( temp 4X4 matrix of float)
+0:416            log2 ( temp 4X4 matrix of float)
+0:416              'inF0' ( in 4X4 matrix of float)
+0:416            Constant:
+0:416              0.301030
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r029' ( temp 4X4 matrix of float)
+0:416          log2 ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r030' ( temp 4X4 matrix of float)
+0:416          max ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r031' ( temp 4X4 matrix of float)
+0:416          min ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r032' ( temp 4X4 matrix of float)
+0:416          pow ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r033' ( temp 4X4 matrix of float)
+0:416          radians ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r034' ( temp 4X4 matrix of float)
+0:416          roundEven ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r035' ( temp 4X4 matrix of float)
+0:416          inverse sqrt ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r036' ( temp 4X4 matrix of float)
+0:416          clamp ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            Constant:
+0:416              0.000000
+0:416            Constant:
+0:416              1.000000
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r037' ( temp 4X4 matrix of float)
+0:416          Sign ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r038' ( temp 4X4 matrix of float)
+0:416          sine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'inF1' ( in 4X4 matrix of float)
+0:416          sine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'inF2' ( in 4X4 matrix of float)
+0:416          cosine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r039' ( temp 4X4 matrix of float)
+0:416          hyp. sine ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r049' ( temp 4X4 matrix of float)
+0:416          smoothstep ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416            'inF2' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r041' ( temp 4X4 matrix of float)
+0:416          sqrt ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r042' ( temp 4X4 matrix of float)
+0:416          step ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416            'inF1' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r043' ( temp 4X4 matrix of float)
+0:416          tangent ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r044' ( temp 4X4 matrix of float)
+0:416          hyp. tangent ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:416      transpose ( temp 4X4 matrix of float)
+0:416        'inF0' ( in 4X4 matrix of float)
+0:416      Sequence
+0:416        move second child to first child ( temp 4X4 matrix of float)
+0:416          'r046' ( temp 4X4 matrix of float)
+0:416          trunc ( temp 4X4 matrix of float)
+0:416            'inF0' ( in 4X4 matrix of float)
+0:419      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -5262,334 +5178,334 @@ gl_FragCoord origin is upper left
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:442  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
-0:442    Function Parameters: 
-0:442      'inF0' ( in float)
-0:442      'inF1' ( in float)
-0:442      'inFV0' ( in 2-component vector of float)
-0:442      'inFV1' ( in 2-component vector of float)
-0:442      'inFM0' ( in 2X2 matrix of float)
-0:442      'inFM1' ( in 2X2 matrix of float)
+0:437  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:437    Function Parameters: 
+0:437      'inF0' ( in float)
+0:437      'inF1' ( in float)
+0:437      'inFV0' ( in 2-component vector of float)
+0:437      'inFV1' ( in 2-component vector of float)
+0:437      'inFM0' ( in 2X2 matrix of float)
+0:437      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-0:443      Sequence
-0:443        move second child to first child ( temp float)
-0:443          'r0' ( temp float)
-0:443          component-wise multiply ( temp float)
-0:443            'inF1' ( in float)
-0:443            'inF0' ( in float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2-component vector of float)
-0:443          'r1' ( temp 2-component vector of float)
-0:443          vector-scale ( temp 2-component vector of float)
-0:443            'inF0' ( in float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2-component vector of float)
-0:443          'r2' ( temp 2-component vector of float)
-0:443          vector-scale ( temp 2-component vector of float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443            'inF0' ( in float)
-0:443      Sequence
-0:443        move second child to first child ( temp float)
-0:443          'r3' ( temp float)
-0:443          dot-product ( temp float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443            'inFV1' ( in 2-component vector of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2-component vector of float)
-0:443          'r4' ( temp 2-component vector of float)
-0:443          vector-times-matrix ( temp 2-component vector of float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2-component vector of float)
-0:443          'r5' ( temp 2-component vector of float)
-0:443          matrix-times-vector ( temp 2-component vector of float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:443            'inFV0' ( in 2-component vector of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2X2 matrix of float)
-0:443          'r6' ( temp 2X2 matrix of float)
-0:443          matrix-scale ( temp 2X2 matrix of float)
-0:443            'inF0' ( in float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2X2 matrix of float)
-0:443          'r7' ( temp 2X2 matrix of float)
-0:443          matrix-scale ( temp 2X2 matrix of float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:443            'inF0' ( in float)
-0:443      Sequence
-0:443        move second child to first child ( temp 2X2 matrix of float)
-0:443          'r8' ( temp 2X2 matrix of float)
-0:443          matrix-multiply ( temp 2X2 matrix of float)
-0:443            'inFM1' ( in 2X2 matrix of float)
-0:443            'inFM0' ( in 2X2 matrix of float)
-0:449  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
-0:449    Function Parameters: 
-0:449      'inF0' ( in float)
-0:449      'inF1' ( in float)
-0:449      'inFV0' ( in 3-component vector of float)
-0:449      'inFV1' ( in 3-component vector of float)
-0:449      'inFM0' ( in 3X3 matrix of float)
-0:449      'inFM1' ( in 3X3 matrix of float)
+0:438      Sequence
+0:438        move second child to first child ( temp float)
+0:438          'r0' ( temp float)
+0:438          component-wise multiply ( temp float)
+0:438            'inF1' ( in float)
+0:438            'inF0' ( in float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2-component vector of float)
+0:438          'r1' ( temp 2-component vector of float)
+0:438          vector-scale ( temp 2-component vector of float)
+0:438            'inF0' ( in float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2-component vector of float)
+0:438          'r2' ( temp 2-component vector of float)
+0:438          vector-scale ( temp 2-component vector of float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438            'inF0' ( in float)
+0:438      Sequence
+0:438        move second child to first child ( temp float)
+0:438          'r3' ( temp float)
+0:438          dot-product ( temp float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438            'inFV1' ( in 2-component vector of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2-component vector of float)
+0:438          'r4' ( temp 2-component vector of float)
+0:438          vector-times-matrix ( temp 2-component vector of float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2-component vector of float)
+0:438          'r5' ( temp 2-component vector of float)
+0:438          matrix-times-vector ( temp 2-component vector of float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:438            'inFV0' ( in 2-component vector of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2X2 matrix of float)
+0:438          'r6' ( temp 2X2 matrix of float)
+0:438          matrix-scale ( temp 2X2 matrix of float)
+0:438            'inF0' ( in float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2X2 matrix of float)
+0:438          'r7' ( temp 2X2 matrix of float)
+0:438          matrix-scale ( temp 2X2 matrix of float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:438            'inF0' ( in float)
+0:438      Sequence
+0:438        move second child to first child ( temp 2X2 matrix of float)
+0:438          'r8' ( temp 2X2 matrix of float)
+0:438          matrix-multiply ( temp 2X2 matrix of float)
+0:438            'inFM1' ( in 2X2 matrix of float)
+0:438            'inFM0' ( in 2X2 matrix of float)
+0:444  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:444    Function Parameters: 
+0:444      'inF0' ( in float)
+0:444      'inF1' ( in float)
+0:444      'inFV0' ( in 3-component vector of float)
+0:444      'inFV1' ( in 3-component vector of float)
+0:444      'inFM0' ( in 3X3 matrix of float)
+0:444      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-0:450      Sequence
-0:450        move second child to first child ( temp float)
-0:450          'r0' ( temp float)
-0:450          component-wise multiply ( temp float)
-0:450            'inF1' ( in float)
-0:450            'inF0' ( in float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3-component vector of float)
-0:450          'r1' ( temp 3-component vector of float)
-0:450          vector-scale ( temp 3-component vector of float)
-0:450            'inF0' ( in float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3-component vector of float)
-0:450          'r2' ( temp 3-component vector of float)
-0:450          vector-scale ( temp 3-component vector of float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450            'inF0' ( in float)
-0:450      Sequence
-0:450        move second child to first child ( temp float)
-0:450          'r3' ( temp float)
-0:450          dot-product ( temp float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450            'inFV1' ( in 3-component vector of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3-component vector of float)
-0:450          'r4' ( temp 3-component vector of float)
-0:450          vector-times-matrix ( temp 3-component vector of float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3-component vector of float)
-0:450          'r5' ( temp 3-component vector of float)
-0:450          matrix-times-vector ( temp 3-component vector of float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:450            'inFV0' ( in 3-component vector of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3X3 matrix of float)
-0:450          'r6' ( temp 3X3 matrix of float)
-0:450          matrix-scale ( temp 3X3 matrix of float)
-0:450            'inF0' ( in float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3X3 matrix of float)
-0:450          'r7' ( temp 3X3 matrix of float)
-0:450          matrix-scale ( temp 3X3 matrix of float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:450            'inF0' ( in float)
-0:450      Sequence
-0:450        move second child to first child ( temp 3X3 matrix of float)
-0:450          'r8' ( temp 3X3 matrix of float)
-0:450          matrix-multiply ( temp 3X3 matrix of float)
-0:450            'inFM1' ( in 3X3 matrix of float)
-0:450            'inFM0' ( in 3X3 matrix of float)
-0:456  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
-0:456    Function Parameters: 
-0:456      'inF0' ( in float)
-0:456      'inF1' ( in float)
-0:456      'inFV0' ( in 4-component vector of float)
-0:456      'inFV1' ( in 4-component vector of float)
-0:456      'inFM0' ( in 4X4 matrix of float)
-0:456      'inFM1' ( in 4X4 matrix of float)
+0:445      Sequence
+0:445        move second child to first child ( temp float)
+0:445          'r0' ( temp float)
+0:445          component-wise multiply ( temp float)
+0:445            'inF1' ( in float)
+0:445            'inF0' ( in float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3-component vector of float)
+0:445          'r1' ( temp 3-component vector of float)
+0:445          vector-scale ( temp 3-component vector of float)
+0:445            'inF0' ( in float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3-component vector of float)
+0:445          'r2' ( temp 3-component vector of float)
+0:445          vector-scale ( temp 3-component vector of float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445            'inF0' ( in float)
+0:445      Sequence
+0:445        move second child to first child ( temp float)
+0:445          'r3' ( temp float)
+0:445          dot-product ( temp float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445            'inFV1' ( in 3-component vector of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3-component vector of float)
+0:445          'r4' ( temp 3-component vector of float)
+0:445          vector-times-matrix ( temp 3-component vector of float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3-component vector of float)
+0:445          'r5' ( temp 3-component vector of float)
+0:445          matrix-times-vector ( temp 3-component vector of float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:445            'inFV0' ( in 3-component vector of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3X3 matrix of float)
+0:445          'r6' ( temp 3X3 matrix of float)
+0:445          matrix-scale ( temp 3X3 matrix of float)
+0:445            'inF0' ( in float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3X3 matrix of float)
+0:445          'r7' ( temp 3X3 matrix of float)
+0:445          matrix-scale ( temp 3X3 matrix of float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:445            'inF0' ( in float)
+0:445      Sequence
+0:445        move second child to first child ( temp 3X3 matrix of float)
+0:445          'r8' ( temp 3X3 matrix of float)
+0:445          matrix-multiply ( temp 3X3 matrix of float)
+0:445            'inFM1' ( in 3X3 matrix of float)
+0:445            'inFM0' ( in 3X3 matrix of float)
+0:451  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:451    Function Parameters: 
+0:451      'inF0' ( in float)
+0:451      'inF1' ( in float)
+0:451      'inFV0' ( in 4-component vector of float)
+0:451      'inFV1' ( in 4-component vector of float)
+0:451      'inFM0' ( in 4X4 matrix of float)
+0:451      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-0:457      Sequence
-0:457        move second child to first child ( temp float)
-0:457          'r0' ( temp float)
-0:457          component-wise multiply ( temp float)
-0:457            'inF1' ( in float)
-0:457            'inF0' ( in float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4-component vector of float)
-0:457          'r1' ( temp 4-component vector of float)
-0:457          vector-scale ( temp 4-component vector of float)
-0:457            'inF0' ( in float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4-component vector of float)
-0:457          'r2' ( temp 4-component vector of float)
-0:457          vector-scale ( temp 4-component vector of float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457            'inF0' ( in float)
-0:457      Sequence
-0:457        move second child to first child ( temp float)
-0:457          'r3' ( temp float)
-0:457          dot-product ( temp float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457            'inFV1' ( in 4-component vector of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4-component vector of float)
-0:457          'r4' ( temp 4-component vector of float)
-0:457          vector-times-matrix ( temp 4-component vector of float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4-component vector of float)
-0:457          'r5' ( temp 4-component vector of float)
-0:457          matrix-times-vector ( temp 4-component vector of float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:457            'inFV0' ( in 4-component vector of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4X4 matrix of float)
-0:457          'r6' ( temp 4X4 matrix of float)
-0:457          matrix-scale ( temp 4X4 matrix of float)
-0:457            'inF0' ( in float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4X4 matrix of float)
-0:457          'r7' ( temp 4X4 matrix of float)
-0:457          matrix-scale ( temp 4X4 matrix of float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:457            'inF0' ( in float)
-0:457      Sequence
-0:457        move second child to first child ( temp 4X4 matrix of float)
-0:457          'r8' ( temp 4X4 matrix of float)
-0:457          matrix-multiply ( temp 4X4 matrix of float)
-0:457            'inFM1' ( in 4X4 matrix of float)
-0:457            'inFM0' ( in 4X4 matrix of float)
-0:466  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
-0:466    Function Parameters: 
-0:466      'inF0' ( in float)
-0:466      'inF1' ( in float)
-0:466      'inFV2' ( in 2-component vector of float)
-0:466      'inFV3' ( in 3-component vector of float)
-0:466      'inFM2x3' ( in 2X3 matrix of float)
-0:466      'inFM3x2' ( in 3X2 matrix of float)
-0:466      'inFM3x3' ( in 3X3 matrix of float)
-0:466      'inFM3x4' ( in 3X4 matrix of float)
-0:466      'inFM2x4' ( in 2X4 matrix of float)
+0:452      Sequence
+0:452        move second child to first child ( temp float)
+0:452          'r0' ( temp float)
+0:452          component-wise multiply ( temp float)
+0:452            'inF1' ( in float)
+0:452            'inF0' ( in float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4-component vector of float)
+0:452          'r1' ( temp 4-component vector of float)
+0:452          vector-scale ( temp 4-component vector of float)
+0:452            'inF0' ( in float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4-component vector of float)
+0:452          'r2' ( temp 4-component vector of float)
+0:452          vector-scale ( temp 4-component vector of float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452            'inF0' ( in float)
+0:452      Sequence
+0:452        move second child to first child ( temp float)
+0:452          'r3' ( temp float)
+0:452          dot-product ( temp float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452            'inFV1' ( in 4-component vector of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4-component vector of float)
+0:452          'r4' ( temp 4-component vector of float)
+0:452          vector-times-matrix ( temp 4-component vector of float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4-component vector of float)
+0:452          'r5' ( temp 4-component vector of float)
+0:452          matrix-times-vector ( temp 4-component vector of float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:452            'inFV0' ( in 4-component vector of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4X4 matrix of float)
+0:452          'r6' ( temp 4X4 matrix of float)
+0:452          matrix-scale ( temp 4X4 matrix of float)
+0:452            'inF0' ( in float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4X4 matrix of float)
+0:452          'r7' ( temp 4X4 matrix of float)
+0:452          matrix-scale ( temp 4X4 matrix of float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:452            'inF0' ( in float)
+0:452      Sequence
+0:452        move second child to first child ( temp 4X4 matrix of float)
+0:452          'r8' ( temp 4X4 matrix of float)
+0:452          matrix-multiply ( temp 4X4 matrix of float)
+0:452            'inFM1' ( in 4X4 matrix of float)
+0:452            'inFM0' ( in 4X4 matrix of float)
+0:461  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:461    Function Parameters: 
+0:461      'inF0' ( in float)
+0:461      'inF1' ( in float)
+0:461      'inFV2' ( in 2-component vector of float)
+0:461      'inFV3' ( in 3-component vector of float)
+0:461      'inFM2x3' ( in 2X3 matrix of float)
+0:461      'inFM3x2' ( in 3X2 matrix of float)
+0:461      'inFM3x3' ( in 3X3 matrix of float)
+0:461      'inFM3x4' ( in 3X4 matrix of float)
+0:461      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
+0:462      Sequence
+0:462        move second child to first child ( temp float)
+0:462          'r00' ( temp float)
+0:462          component-wise multiply ( temp float)
+0:462            'inF1' ( in float)
+0:462            'inF0' ( in float)
+0:463      Sequence
+0:463        move second child to first child ( temp 2-component vector of float)
+0:463          'r01' ( temp 2-component vector of float)
+0:463          vector-scale ( temp 2-component vector of float)
+0:463            'inF0' ( in float)
+0:463            'inFV2' ( in 2-component vector of float)
+0:464      Sequence
+0:464        move second child to first child ( temp 3-component vector of float)
+0:464          'r02' ( temp 3-component vector of float)
+0:464          vector-scale ( temp 3-component vector of float)
+0:464            'inF0' ( in float)
+0:464            'inFV3' ( in 3-component vector of float)
+0:465      Sequence
+0:465        move second child to first child ( temp 2-component vector of float)
+0:465          'r03' ( temp 2-component vector of float)
+0:465          vector-scale ( temp 2-component vector of float)
+0:465            'inFV2' ( in 2-component vector of float)
+0:465            'inF0' ( in float)
+0:466      Sequence
+0:466        move second child to first child ( temp 3-component vector of float)
+0:466          'r04' ( temp 3-component vector of float)
+0:466          vector-scale ( temp 3-component vector of float)
+0:466            'inFV3' ( in 3-component vector of float)
+0:466            'inF0' ( in float)
 0:467      Sequence
 0:467        move second child to first child ( temp float)
-0:467          'r00' ( temp float)
-0:467          component-wise multiply ( temp float)
-0:467            'inF1' ( in float)
-0:467            'inF0' ( in float)
+0:467          'r05' ( temp float)
+0:467          dot-product ( temp float)
+0:467            'inFV2' ( in 2-component vector of float)
+0:467            'inFV2' ( in 2-component vector of float)
 0:468      Sequence
-0:468        move second child to first child ( temp 2-component vector of float)
-0:468          'r01' ( temp 2-component vector of float)
-0:468          vector-scale ( temp 2-component vector of float)
-0:468            'inF0' ( in float)
-0:468            'inFV2' ( in 2-component vector of float)
+0:468        move second child to first child ( temp float)
+0:468          'r06' ( temp float)
+0:468          dot-product ( temp float)
+0:468            'inFV3' ( in 3-component vector of float)
+0:468            'inFV3' ( in 3-component vector of float)
 0:469      Sequence
 0:469        move second child to first child ( temp 3-component vector of float)
-0:469          'r02' ( temp 3-component vector of float)
-0:469          vector-scale ( temp 3-component vector of float)
-0:469            'inF0' ( in float)
-0:469            'inFV3' ( in 3-component vector of float)
+0:469          'r07' ( temp 3-component vector of float)
+0:469          matrix-times-vector ( temp 3-component vector of float)
+0:469            'inFM2x3' ( in 2X3 matrix of float)
+0:469            'inFV2' ( in 2-component vector of float)
 0:470      Sequence
 0:470        move second child to first child ( temp 2-component vector of float)
-0:470          'r03' ( temp 2-component vector of float)
-0:470          vector-scale ( temp 2-component vector of float)
-0:470            'inFV2' ( in 2-component vector of float)
-0:470            'inF0' ( in float)
+0:470          'r08' ( temp 2-component vector of float)
+0:470          matrix-times-vector ( temp 2-component vector of float)
+0:470            'inFM3x2' ( in 3X2 matrix of float)
+0:470            'inFV3' ( in 3-component vector of float)
 0:471      Sequence
-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        move second child to first child ( temp 2-component vector of float)
+0:471          'r09' ( temp 2-component vector of float)
+0:471          vector-times-matrix ( temp 2-component vector of float)
 0:471            'inFV3' ( in 3-component vector of float)
-0:471            'inF0' ( in float)
+0:471            'inFM2x3' ( in 2X3 matrix of float)
 0:472      Sequence
-0:472        move second child to first child ( temp float)
-0:472          'r05' ( temp float)
-0:472          dot-product ( temp float)
-0:472            'inFV2' ( in 2-component vector of float)
+0:472        move second child to first child ( temp 3-component vector of float)
+0:472          'r10' ( temp 3-component vector of float)
+0:472          vector-times-matrix ( temp 3-component vector of float)
 0:472            'inFV2' ( in 2-component vector of float)
+0:472            'inFM3x2' ( in 3X2 matrix of float)
 0:473      Sequence
-0:473        move second child to first child ( temp float)
-0:473          'r06' ( temp float)
-0:473          dot-product ( temp float)
-0:473            'inFV3' ( in 3-component vector of float)
-0:473            'inFV3' ( in 3-component vector of float)
+0:473        move second child to first child ( temp 2X3 matrix of float)
+0:473          'r11' ( temp 2X3 matrix of float)
+0:473          matrix-scale ( temp 2X3 matrix of float)
+0:473            'inF0' ( in float)
+0:473            'inFM2x3' ( in 2X3 matrix of float)
 0:474      Sequence
-0:474        move second child to first child ( temp 3-component vector of float)
-0:474          'r07' ( temp 3-component vector of float)
-0:474          matrix-times-vector ( temp 3-component vector of float)
-0:474            'inFM2x3' ( in 2X3 matrix of float)
-0:474            'inFV2' ( in 2-component vector of float)
+0:474        move second child to first child ( temp 3X2 matrix of float)
+0:474          'r12' ( temp 3X2 matrix of float)
+0:474          matrix-scale ( temp 3X2 matrix of float)
+0:474            'inF0' ( in float)
+0:474            'inFM3x2' ( in 3X2 matrix of float)
 0:475      Sequence
-0:475        move second child to first child ( temp 2-component vector of float)
-0:475          'r08' ( temp 2-component vector of float)
-0:475          matrix-times-vector ( temp 2-component vector of float)
+0:475        move second child to first child ( temp 2X2 matrix of float)
+0:475          'r13' ( temp 2X2 matrix of float)
+0:475          matrix-multiply ( temp 2X2 matrix of float)
 0:475            'inFM3x2' ( in 3X2 matrix of float)
-0:475            'inFV3' ( in 3-component vector of float)
+0:475            'inFM2x3' ( in 2X3 matrix of float)
 0:476      Sequence
-0:476        move second child to first child ( temp 2-component vector of float)
-0:476          'r09' ( temp 2-component vector of float)
-0:476          vector-times-matrix ( temp 2-component vector of float)
-0:476            'inFV3' ( in 3-component vector of float)
+0:476        move second child to first child ( temp 2X3 matrix of float)
+0:476          'r14' ( temp 2X3 matrix of float)
+0:476          matrix-multiply ( temp 2X3 matrix of float)
+0:476            'inFM3x3' ( in 3X3 matrix of float)
 0:476            'inFM2x3' ( in 2X3 matrix of float)
 0:477      Sequence
-0:477        move second child to first child ( temp 3-component vector of float)
-0:477          'r10' ( temp 3-component vector of float)
-0:477          vector-times-matrix ( temp 3-component vector of float)
-0:477            'inFV2' ( in 2-component vector of float)
-0:477            'inFM3x2' ( in 3X2 matrix of float)
+0:477        move second child to first child ( temp 2X4 matrix of float)
+0:477          'r15' ( temp 2X4 matrix of float)
+0:477          matrix-multiply ( temp 2X4 matrix of float)
+0:477            'inFM3x4' ( in 3X4 matrix of float)
+0:477            'inFM2x3' ( in 2X3 matrix of float)
 0:478      Sequence
-0:478        move second child to first child ( temp 2X3 matrix of float)
-0:478          'r11' ( temp 2X3 matrix of float)
-0:478          matrix-scale ( temp 2X3 matrix of float)
-0:478            'inF0' ( in float)
-0:478            'inFM2x3' ( in 2X3 matrix of float)
-0:479      Sequence
-0:479        move second child to first child ( temp 3X2 matrix of float)
-0:479          'r12' ( temp 3X2 matrix of float)
-0:479          matrix-scale ( temp 3X2 matrix of float)
-0:479            'inF0' ( in float)
-0:479            'inFM3x2' ( in 3X2 matrix of float)
-0:480      Sequence
-0:480        move second child to first child ( temp 2X2 matrix of float)
-0:480          'r13' ( temp 2X2 matrix of float)
-0:480          matrix-multiply ( temp 2X2 matrix of float)
-0:480            'inFM3x2' ( in 3X2 matrix of float)
-0:480            'inFM2x3' ( in 2X3 matrix of float)
-0:481      Sequence
-0:481        move second child to first child ( temp 2X3 matrix of float)
-0:481          'r14' ( temp 2X3 matrix of float)
-0:481          matrix-multiply ( temp 2X3 matrix of float)
-0:481            'inFM3x3' ( in 3X3 matrix of float)
-0:481            'inFM2x3' ( in 2X3 matrix of float)
-0:482      Sequence
-0:482        move second child to first child ( temp 2X4 matrix of float)
-0:482          'r15' ( temp 2X4 matrix of float)
-0:482          matrix-multiply ( temp 2X4 matrix of float)
-0:482            'inFM3x4' ( in 3X4 matrix of float)
-0:482            'inFM2x3' ( in 2X3 matrix of float)
-0:483      Sequence
-0:483        move second child to first child ( temp 3X4 matrix of float)
-0:483          'r16' ( temp 3X4 matrix of float)
-0:483          matrix-multiply ( temp 3X4 matrix of float)
-0:483            'inFM2x4' ( in 2X4 matrix of float)
-0:483            'inFM3x2' ( in 3X2 matrix of float)
-0:489  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
-0:489    Function Parameters: 
+0:478        move second child to first child ( temp 3X4 matrix of float)
+0:478          'r16' ( temp 3X4 matrix of float)
+0:478          matrix-multiply ( temp 3X4 matrix of float)
+0:478            'inFM2x4' ( in 2X4 matrix of float)
+0:478            'inFM3x2' ( in 3X2 matrix of float)
+0:484  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:484    Function Parameters: 
 0:?     Sequence
-0:491      move second child to first child ( temp 4-component vector of float)
-0:491        color: direct index for structure ( temp 4-component vector of float)
-0:491          'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:491          Constant:
-0:491            0 (const int)
-0:491        Constant:
-0:491          1.000000
-0:491          1.000000
-0:491          1.000000
-0:491          1.000000
-0:492      Branch: Return with expression
-0:492        'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:489  Function Definition: main( ( temp void)
-0:489    Function Parameters: 
+0:486      move second child to first child ( temp 4-component vector of float)
+0:486        color: direct index for structure ( temp 4-component vector of float)
+0:486          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:486          Constant:
+0:486            0 (const int)
+0:486        Constant:
+0:486          1.000000
+0:486          1.000000
+0:486          1.000000
+0:486          1.000000
+0:487      Branch: Return with expression
+0:487        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:484  Function Definition: main( ( temp void)
+0:484    Function Parameters: 
 0:?     Sequence
-0:489      Sequence
-0:489        move second child to first child ( temp 4-component vector of float)
+0:484      Sequence
+0:484        move second child to first child ( temp 4-component vector of float)
 0:?           'color' (layout( location=0) out 4-component vector of float)
-0:489          color: direct index for structure ( temp 4-component vector of float)
-0:489            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
-0:489            Constant:
-0:489              0 (const int)
+0:484          color: direct index for structure ( temp 4-component vector of float)
+0:484            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:484            Constant:
+0:484              0 (const int)
 0:?   Linker Objects
 0:?     'gs_ua' ( shared uint)
 0:?     'gs_ub' ( shared uint)
@@ -5607,13 +5523,13 @@ gl_FragCoord origin is upper left
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 1833
+// Id's are bound by 1791
 
                               Capability Shader
                               Capability DerivativeControl
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 1814
+                              EntryPoint Fragment 4  "main" 1772
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 16  "PixelShaderFunctionS(f1;f1;f1;u1;u1;"
@@ -5719,429 +5635,415 @@ gl_FragCoord origin is upper left
                               Name 226  "r031"
                               Name 229  "r033"
                               Name 233  "r034"
-                              Name 236  "r035"
-                              Name 238  "ResType"
-                              Name 242  "r036"
-                              Name 245  "r037"
-                              Name 248  "r038"
-                              Name 251  "r039"
-                              Name 255  "r039a"
-                              Name 260  "r040"
-                              Name 263  "r041"
-                              Name 268  "r042"
-                              Name 271  "r043"
-                              Name 275  "r044"
-                              Name 279  "r045"
-                              Name 283  "r046"
-                              Name 286  "r047"
-                              Name 290  "r048"
-                              Name 294  "r049"
-                              Name 297  "r050"
-                              Name 300  "r051"
-                              Name 303  "r052"
-                              Name 306  "r053"
-                              Name 313  "r055"
-                              Name 316  "r056"
-                              Name 321  "r057"
-                              Name 324  "r058"
-                              Name 328  "r059"
-                              Name 331  "r060"
-                              Name 334  "r061"
-                              Name 341  "r000"
-                              Name 344  "r001"
-                              Name 347  "r002"
-                              Name 350  "r003"
-                              Name 353  "r004"
-                              Name 358  "r005"
-                              Name 361  "r006"
-                              Name 364  "r007"
-                              Name 367  "r009"
-                              Name 370  "r010"
-                              Name 374  "r011"
-                              Name 377  "r012"
-                              Name 390  "r013"
-                              Name 393  "r015"
-                              Name 396  "r016"
-                              Name 400  "r017"
-                              Name 403  "r018"
-                              Name 406  "r019"
-                              Name 409  "r020"
-                              Name 412  "r021"
-                              Name 415  "r022"
-                              Name 418  "r023"
-                              Name 421  "r026"
-                              Name 425  "r027"
-                              Name 429  "r028"
-                              Name 432  "r029"
-                              Name 435  "r030"
-                              Name 440  "r031"
-                              Name 445  "r032"
-                              Name 447  "r033"
-                              Name 450  "r035"
-                              Name 454  "r036"
-                              Name 457  "r037"
-                              Name 459  "ResType"
-                              Name 463  "r038"
-                              Name 467  "r039"
-                              Name 470  "r040"
-                              Name 473  "r041"
-                              Name 477  "r039a"
-                              Name 482  "r042"
-                              Name 485  "r043"
-                              Name 488  "r044"
-                              Name 492  "r045"
-                              Name 495  "r046"
-                              Name 499  "r047"
-                              Name 503  "r048"
-                              Name 506  "r049"
-                              Name 510  "r050"
-                              Name 513  "r051"
-                              Name 517  "r052"
-                              Name 521  "r053"
-                              Name 526  "r054"
-                              Name 531  "r055"
-                              Name 534  "r056"
-                              Name 537  "r057"
-                              Name 542  "r058"
-                              Name 545  "r059"
-                              Name 552  "r060"
-                              Name 555  "r061"
-                              Name 560  "r062"
-                              Name 563  "r063"
-                              Name 567  "r064"
-                              Name 570  "r065"
-                              Name 573  "r066"
-                              Name 579  "r000"
-                              Name 582  "r001"
-                              Name 585  "r002"
-                              Name 588  "r003"
-                              Name 591  "r004"
-                              Name 596  "r005"
-                              Name 599  "r006"
-                              Name 602  "r007"
-                              Name 605  "r009"
-                              Name 608  "r010"
-                              Name 612  "r011"
-                              Name 615  "r012"
-                              Name 628  "r013"
-                              Name 631  "r014"
-                              Name 634  "r015"
-                              Name 639  "r016"
-                              Name 643  "r017"
-                              Name 646  "r018"
-                              Name 649  "r019"
-                              Name 652  "r020"
-                              Name 655  "r021"
-                              Name 658  "r022"
-                              Name 661  "r023"
-                              Name 664  "r024"
-                              Name 668  "r025"
-                              Name 672  "r029"
-                              Name 675  "r030"
-                              Name 678  "r031"
-                              Name 683  "r032"
-                              Name 687  "r033"
-                              Name 689  "r034"
-                              Name 692  "r036"
-                              Name 696  "r037"
-                              Name 699  "r038"
-                              Name 701  "ResType"
-                              Name 705  "r039"
-                              Name 709  "r040"
-                              Name 712  "r041"
-                              Name 715  "r042"
-                              Name 719  "r039a"
-                              Name 724  "r039b"
-                              Name 730  "r043"
-                              Name 733  "r044"
-                              Name 736  "r045"
-                              Name 740  "r046"
-                              Name 743  "r047"
-                              Name 747  "r048"
-                              Name 751  "r049"
-                              Name 754  "r050"
-                              Name 758  "r051"
-                              Name 761  "r052"
-                              Name 765  "r053"
-                              Name 769  "r054"
-                              Name 773  "r055"
-                              Name 776  "r056"
-                              Name 779  "r057"
-                              Name 782  "r058"
-                              Name 787  "r059"
-                              Name 790  "r060"
-                              Name 797  "r061"
-                              Name 800  "r062"
-                              Name 805  "r063"
-                              Name 808  "r064"
-                              Name 812  "r065"
-                              Name 815  "r066"
-                              Name 818  "r067"
-                              Name 825  "r000"
-                              Name 828  "r001"
-                              Name 831  "r002"
-                              Name 834  "r003"
-                              Name 837  "r004"
-                              Name 842  "r005"
-                              Name 845  "r006"
-                              Name 848  "r007"
-                              Name 851  "r009"
-                              Name 854  "r010"
-                              Name 858  "r011"
-                              Name 861  "r012"
-                              Name 874  "r013"
-                              Name 877  "r014"
-                              Name 880  "r015"
-                              Name 883  "r016"
-                              Name 886  "r017"
-                              Name 889  "r018"
-                              Name 892  "r019"
-                              Name 895  "r020"
-                              Name 898  "r021"
-                              Name 901  "r022"
-                              Name 904  "r023"
-                              Name 908  "r024"
-                              Name 912  "r025"
-                              Name 923  "r029"
-                              Name 926  "r030"
-                              Name 929  "r031"
-                              Name 934  "r032"
-                              Name 939  "r033"
-                              Name 941  "r034"
-                              Name 944  "r036"
-                              Name 948  "r037"
-                              Name 951  "r038"
-                              Name 953  "ResType"
-                              Name 957  "r039"
-                              Name 961  "r040"
-                              Name 964  "r041"
-                              Name 967  "r042"
-                              Name 971  "r039a"
-                              Name 976  "r043"
-                              Name 979  "r044"
-                              Name 982  "r045"
-                              Name 986  "r046"
-                              Name 989  "r047"
-                              Name 993  "r048"
-                              Name 997  "r049"
-                              Name 1000  "r050"
-                              Name 1004  "r051"
-                              Name 1007  "r052"
-                              Name 1011  "r053"
-                              Name 1015  "r054"
-                              Name 1019  "r055"
-                              Name 1022  "r056"
-                              Name 1025  "r057"
-                              Name 1028  "r058"
-                              Name 1033  "r059"
-                              Name 1036  "r060"
-                              Name 1043  "r061"
-                              Name 1046  "r062"
-                              Name 1051  "r063"
-                              Name 1054  "r064"
-                              Name 1058  "r065"
-                              Name 1061  "r066"
-                              Name 1064  "r067"
-                              Name 1071  "r000"
-                              Name 1074  "r001"
-                              Name 1079  "r003"
-                              Name 1082  "r004"
-                              Name 1085  "r005"
-                              Name 1088  "r006"
-                              Name 1092  "r007"
-                              Name 1103  "r008"
-                              Name 1108  "r009"
-                              Name 1111  "r010"
-                              Name 1114  "r011"
-                              Name 1117  "r012"
-                              Name 1120  "r013"
-                              Name 1123  "r014"
-                              Name 1126  "r015"
-                              Name 1129  "r016"
-                              Name 1132  "r017"
-                              Name 1135  "r018"
-                              Name 1138  "r019"
-                              Name 1141  "R020"
-                              Name 1144  "r021"
-                              Name 1147  "r022"
-                              Name 1157  "r023"
-                              Name 1160  "r024"
-                              Name 1162  "ResType"
-                              Name 1166  "r025"
-                              Name 1169  "r026"
-                              Name 1173  "r026a"
-                              Name 1178  "r027"
-                              Name 1181  "r028"
-                              Name 1185  "r029"
-                              Name 1188  "r030"
-                              Name 1192  "r031"
-                              Name 1196  "r032"
-                              Name 1200  "r033"
-                              Name 1203  "r034"
-                              Name 1206  "r035"
-                              Name 1209  "r036"
-                              Name 1214  "r037"
-                              Name 1217  "r038"
-                              Name 1224  "r039"
-                              Name 1227  "r049"
-                              Name 1232  "r041"
-                              Name 1235  "r042"
-                              Name 1239  "r043"
-                              Name 1242  "r044"
-                              Name 1247  "r046"
-                              Name 1254  "r000"
-                              Name 1257  "r001"
-                              Name 1262  "r003"
-                              Name 1265  "r004"
-                              Name 1268  "r005"
-                              Name 1271  "r006"
-                              Name 1275  "r007"
-                              Name 1286  "r008"
-                              Name 1291  "r009"
-                              Name 1294  "r010"
-                              Name 1297  "r011"
-                              Name 1300  "r012"
-                              Name 1303  "r013"
-                              Name 1306  "r014"
-                              Name 1309  "r015"
-                              Name 1312  "r016"
-                              Name 1315  "r017"
-                              Name 1318  "r018"
-                              Name 1321  "r019"
-                              Name 1324  "R020"
-                              Name 1327  "r021"
-                              Name 1330  "r022"
-                              Name 1343  "r023"
-                              Name 1346  "r024"
-                              Name 1348  "ResType"
-                              Name 1352  "r025"
-                              Name 1355  "r026"
-                              Name 1359  "r026a"
-                              Name 1364  "r027"
-                              Name 1367  "r028"
-                              Name 1371  "r029"
-                              Name 1374  "r030"
-                              Name 1378  "r031"
-                              Name 1382  "r032"
-                              Name 1386  "r033"
-                              Name 1389  "r034"
-                              Name 1392  "r035"
-                              Name 1395  "r036"
-                              Name 1400  "r037"
-                              Name 1403  "r038"
-                              Name 1410  "r039"
-                              Name 1413  "r049"
-                              Name 1418  "r041"
-                              Name 1421  "r042"
-                              Name 1425  "r043"
-                              Name 1428  "r044"
-                              Name 1433  "r046"
-                              Name 1440  "r000"
-                              Name 1443  "r001"
-                              Name 1448  "r003"
-                              Name 1451  "r004"
-                              Name 1454  "r005"
-                              Name 1457  "r006"
-                              Name 1461  "r007"
-                              Name 1472  "r008"
-                              Name 1477  "r009"
-                              Name 1480  "r010"
-                              Name 1483  "r011"
-                              Name 1486  "r012"
-                              Name 1489  "r013"
-                              Name 1492  "r014"
-                              Name 1495  "r015"
-                              Name 1498  "r016"
-                              Name 1501  "r017"
-                              Name 1504  "r018"
-                              Name 1507  "r019"
-                              Name 1510  "R020"
-                              Name 1513  "r021"
-                              Name 1516  "r022"
-                              Name 1532  "r023"
-                              Name 1535  "r024"
-                              Name 1537  "ResType"
-                              Name 1541  "r025"
-                              Name 1544  "r026"
-                              Name 1548  "r026a"
-                              Name 1553  "r027"
-                              Name 1556  "r028"
-                              Name 1560  "r029"
-                              Name 1563  "r030"
-                              Name 1567  "r031"
-                              Name 1571  "r032"
-                              Name 1575  "r033"
-                              Name 1578  "r034"
-                              Name 1581  "r035"
-                              Name 1584  "r036"
-                              Name 1589  "r037"
-                              Name 1592  "r038"
-                              Name 1599  "r039"
-                              Name 1602  "r049"
-                              Name 1607  "r041"
-                              Name 1610  "r042"
-                              Name 1614  "r043"
-                              Name 1617  "r044"
-                              Name 1622  "r046"
-                              Name 1629  "r0"
-                              Name 1633  "r1"
-                              Name 1637  "r2"
-                              Name 1641  "r3"
-                              Name 1645  "r4"
-                              Name 1649  "r5"
-                              Name 1653  "r6"
-                              Name 1657  "r7"
-                              Name 1661  "r8"
-                              Name 1665  "r0"
-                              Name 1669  "r1"
-                              Name 1673  "r2"
-                              Name 1677  "r3"
-                              Name 1681  "r4"
-                              Name 1685  "r5"
-                              Name 1689  "r6"
-                              Name 1693  "r7"
-                              Name 1697  "r8"
-                              Name 1701  "r0"
-                              Name 1705  "r1"
-                              Name 1709  "r2"
-                              Name 1713  "r3"
-                              Name 1717  "r4"
-                              Name 1721  "r5"
-                              Name 1725  "r6"
-                              Name 1729  "r7"
-                              Name 1733  "r8"
-                              Name 1737  "r00"
-                              Name 1741  "r01"
-                              Name 1745  "r02"
-                              Name 1749  "r03"
-                              Name 1753  "r04"
-                              Name 1757  "r05"
-                              Name 1761  "r06"
-                              Name 1765  "r07"
-                              Name 1769  "r08"
-                              Name 1773  "r09"
-                              Name 1777  "r10"
-                              Name 1781  "r11"
-                              Name 1785  "r12"
-                              Name 1789  "r13"
-                              Name 1793  "r14"
-                              Name 1797  "r15"
-                              Name 1801  "r16"
-                              Name 1806  "ps_output"
-                              Name 1814  "color"
-                              Name 1818  "gs_ua"
-                              Name 1819  "gs_ub"
-                              Name 1820  "gs_uc"
-                              Name 1822  "gs_ua2"
-                              Name 1823  "gs_ub2"
-                              Name 1824  "gs_uc2"
-                              Name 1826  "gs_ua3"
-                              Name 1827  "gs_ub3"
-                              Name 1828  "gs_uc3"
-                              Name 1830  "gs_ua4"
-                              Name 1831  "gs_ub4"
-                              Name 1832  "gs_uc4"
-                              Decorate 1814(color) Location 0
+                              Name 236  "r036"
+                              Name 239  "r037"
+                              Name 242  "r038"
+                              Name 245  "r039"
+                              Name 249  "r039a"
+                              Name 254  "r040"
+                              Name 257  "r041"
+                              Name 262  "r042"
+                              Name 265  "r043"
+                              Name 269  "r044"
+                              Name 273  "r045"
+                              Name 277  "r046"
+                              Name 280  "r047"
+                              Name 284  "r048"
+                              Name 288  "r049"
+                              Name 291  "r050"
+                              Name 294  "r051"
+                              Name 297  "r052"
+                              Name 300  "r053"
+                              Name 307  "r055"
+                              Name 310  "r056"
+                              Name 315  "r057"
+                              Name 318  "r058"
+                              Name 322  "r059"
+                              Name 325  "r060"
+                              Name 328  "r061"
+                              Name 335  "r000"
+                              Name 338  "r001"
+                              Name 341  "r002"
+                              Name 344  "r003"
+                              Name 347  "r004"
+                              Name 352  "r005"
+                              Name 355  "r006"
+                              Name 358  "r007"
+                              Name 361  "r009"
+                              Name 364  "r010"
+                              Name 368  "r011"
+                              Name 371  "r012"
+                              Name 384  "r013"
+                              Name 387  "r015"
+                              Name 390  "r016"
+                              Name 394  "r017"
+                              Name 397  "r018"
+                              Name 400  "r019"
+                              Name 403  "r020"
+                              Name 406  "r021"
+                              Name 409  "r022"
+                              Name 412  "r023"
+                              Name 415  "r026"
+                              Name 419  "r027"
+                              Name 423  "r028"
+                              Name 426  "r029"
+                              Name 429  "r030"
+                              Name 434  "r031"
+                              Name 439  "r032"
+                              Name 441  "r033"
+                              Name 444  "r035"
+                              Name 448  "r036"
+                              Name 451  "r038"
+                              Name 455  "r039"
+                              Name 458  "r040"
+                              Name 461  "r041"
+                              Name 465  "r039a"
+                              Name 470  "r042"
+                              Name 473  "r043"
+                              Name 476  "r044"
+                              Name 480  "r045"
+                              Name 483  "r046"
+                              Name 487  "r047"
+                              Name 491  "r048"
+                              Name 494  "r049"
+                              Name 498  "r050"
+                              Name 501  "r051"
+                              Name 505  "r052"
+                              Name 509  "r053"
+                              Name 514  "r054"
+                              Name 519  "r055"
+                              Name 522  "r056"
+                              Name 525  "r057"
+                              Name 530  "r058"
+                              Name 533  "r059"
+                              Name 540  "r060"
+                              Name 543  "r061"
+                              Name 548  "r062"
+                              Name 551  "r063"
+                              Name 555  "r064"
+                              Name 558  "r065"
+                              Name 561  "r066"
+                              Name 567  "r000"
+                              Name 570  "r001"
+                              Name 573  "r002"
+                              Name 576  "r003"
+                              Name 579  "r004"
+                              Name 584  "r005"
+                              Name 587  "r006"
+                              Name 590  "r007"
+                              Name 593  "r009"
+                              Name 596  "r010"
+                              Name 600  "r011"
+                              Name 603  "r012"
+                              Name 616  "r013"
+                              Name 619  "r014"
+                              Name 622  "r015"
+                              Name 627  "r016"
+                              Name 631  "r017"
+                              Name 634  "r018"
+                              Name 637  "r019"
+                              Name 640  "r020"
+                              Name 643  "r021"
+                              Name 646  "r022"
+                              Name 649  "r023"
+                              Name 652  "r024"
+                              Name 656  "r025"
+                              Name 660  "r029"
+                              Name 663  "r030"
+                              Name 666  "r031"
+                              Name 671  "r032"
+                              Name 675  "r033"
+                              Name 677  "r034"
+                              Name 680  "r036"
+                              Name 684  "r037"
+                              Name 687  "r039"
+                              Name 691  "r040"
+                              Name 694  "r041"
+                              Name 697  "r042"
+                              Name 701  "r039a"
+                              Name 706  "r039b"
+                              Name 712  "r043"
+                              Name 715  "r044"
+                              Name 718  "r045"
+                              Name 722  "r046"
+                              Name 725  "r047"
+                              Name 729  "r048"
+                              Name 733  "r049"
+                              Name 736  "r050"
+                              Name 740  "r051"
+                              Name 743  "r052"
+                              Name 747  "r053"
+                              Name 751  "r054"
+                              Name 755  "r055"
+                              Name 758  "r056"
+                              Name 761  "r057"
+                              Name 764  "r058"
+                              Name 769  "r059"
+                              Name 772  "r060"
+                              Name 779  "r061"
+                              Name 782  "r062"
+                              Name 787  "r063"
+                              Name 790  "r064"
+                              Name 794  "r065"
+                              Name 797  "r066"
+                              Name 800  "r067"
+                              Name 807  "r000"
+                              Name 810  "r001"
+                              Name 813  "r002"
+                              Name 816  "r003"
+                              Name 819  "r004"
+                              Name 824  "r005"
+                              Name 827  "r006"
+                              Name 830  "r007"
+                              Name 833  "r009"
+                              Name 836  "r010"
+                              Name 840  "r011"
+                              Name 843  "r012"
+                              Name 856  "r013"
+                              Name 859  "r014"
+                              Name 862  "r015"
+                              Name 865  "r016"
+                              Name 868  "r017"
+                              Name 871  "r018"
+                              Name 874  "r019"
+                              Name 877  "r020"
+                              Name 880  "r021"
+                              Name 883  "r022"
+                              Name 886  "r023"
+                              Name 890  "r024"
+                              Name 894  "r025"
+                              Name 905  "r029"
+                              Name 908  "r030"
+                              Name 911  "r031"
+                              Name 916  "r032"
+                              Name 921  "r033"
+                              Name 923  "r034"
+                              Name 926  "r036"
+                              Name 930  "r037"
+                              Name 933  "r039"
+                              Name 937  "r040"
+                              Name 940  "r041"
+                              Name 943  "r042"
+                              Name 947  "r039a"
+                              Name 952  "r043"
+                              Name 955  "r044"
+                              Name 958  "r045"
+                              Name 962  "r046"
+                              Name 965  "r047"
+                              Name 969  "r048"
+                              Name 973  "r049"
+                              Name 976  "r050"
+                              Name 980  "r051"
+                              Name 983  "r052"
+                              Name 987  "r053"
+                              Name 991  "r054"
+                              Name 995  "r055"
+                              Name 998  "r056"
+                              Name 1001  "r057"
+                              Name 1004  "r058"
+                              Name 1009  "r059"
+                              Name 1012  "r060"
+                              Name 1019  "r061"
+                              Name 1022  "r062"
+                              Name 1027  "r063"
+                              Name 1030  "r064"
+                              Name 1034  "r065"
+                              Name 1037  "r066"
+                              Name 1040  "r067"
+                              Name 1047  "r000"
+                              Name 1050  "r001"
+                              Name 1055  "r003"
+                              Name 1058  "r004"
+                              Name 1061  "r005"
+                              Name 1064  "r006"
+                              Name 1068  "r007"
+                              Name 1079  "r008"
+                              Name 1084  "r009"
+                              Name 1087  "r010"
+                              Name 1090  "r011"
+                              Name 1093  "r012"
+                              Name 1096  "r013"
+                              Name 1099  "r014"
+                              Name 1102  "r015"
+                              Name 1105  "r016"
+                              Name 1108  "r017"
+                              Name 1111  "r018"
+                              Name 1114  "r019"
+                              Name 1117  "R020"
+                              Name 1120  "r021"
+                              Name 1123  "r022"
+                              Name 1133  "r023"
+                              Name 1136  "r025"
+                              Name 1139  "r026"
+                              Name 1143  "r026a"
+                              Name 1148  "r027"
+                              Name 1151  "r028"
+                              Name 1155  "r029"
+                              Name 1158  "r030"
+                              Name 1162  "r031"
+                              Name 1166  "r032"
+                              Name 1170  "r033"
+                              Name 1173  "r034"
+                              Name 1176  "r035"
+                              Name 1179  "r036"
+                              Name 1184  "r037"
+                              Name 1187  "r038"
+                              Name 1194  "r039"
+                              Name 1197  "r049"
+                              Name 1202  "r041"
+                              Name 1205  "r042"
+                              Name 1209  "r043"
+                              Name 1212  "r044"
+                              Name 1217  "r046"
+                              Name 1224  "r000"
+                              Name 1227  "r001"
+                              Name 1232  "r003"
+                              Name 1235  "r004"
+                              Name 1238  "r005"
+                              Name 1241  "r006"
+                              Name 1245  "r007"
+                              Name 1256  "r008"
+                              Name 1261  "r009"
+                              Name 1264  "r010"
+                              Name 1267  "r011"
+                              Name 1270  "r012"
+                              Name 1273  "r013"
+                              Name 1276  "r014"
+                              Name 1279  "r015"
+                              Name 1282  "r016"
+                              Name 1285  "r017"
+                              Name 1288  "r018"
+                              Name 1291  "r019"
+                              Name 1294  "R020"
+                              Name 1297  "r021"
+                              Name 1300  "r022"
+                              Name 1313  "r023"
+                              Name 1316  "r025"
+                              Name 1319  "r026"
+                              Name 1323  "r026a"
+                              Name 1328  "r027"
+                              Name 1331  "r028"
+                              Name 1335  "r029"
+                              Name 1338  "r030"
+                              Name 1342  "r031"
+                              Name 1346  "r032"
+                              Name 1350  "r033"
+                              Name 1353  "r034"
+                              Name 1356  "r035"
+                              Name 1359  "r036"
+                              Name 1364  "r037"
+                              Name 1367  "r038"
+                              Name 1374  "r039"
+                              Name 1377  "r049"
+                              Name 1382  "r041"
+                              Name 1385  "r042"
+                              Name 1389  "r043"
+                              Name 1392  "r044"
+                              Name 1397  "r046"
+                              Name 1404  "r000"
+                              Name 1407  "r001"
+                              Name 1412  "r003"
+                              Name 1415  "r004"
+                              Name 1418  "r005"
+                              Name 1421  "r006"
+                              Name 1425  "r007"
+                              Name 1436  "r008"
+                              Name 1441  "r009"
+                              Name 1444  "r010"
+                              Name 1447  "r011"
+                              Name 1450  "r012"
+                              Name 1453  "r013"
+                              Name 1456  "r014"
+                              Name 1459  "r015"
+                              Name 1462  "r016"
+                              Name 1465  "r017"
+                              Name 1468  "r018"
+                              Name 1471  "r019"
+                              Name 1474  "R020"
+                              Name 1477  "r021"
+                              Name 1480  "r022"
+                              Name 1496  "r023"
+                              Name 1499  "r025"
+                              Name 1502  "r026"
+                              Name 1506  "r026a"
+                              Name 1511  "r027"
+                              Name 1514  "r028"
+                              Name 1518  "r029"
+                              Name 1521  "r030"
+                              Name 1525  "r031"
+                              Name 1529  "r032"
+                              Name 1533  "r033"
+                              Name 1536  "r034"
+                              Name 1539  "r035"
+                              Name 1542  "r036"
+                              Name 1547  "r037"
+                              Name 1550  "r038"
+                              Name 1557  "r039"
+                              Name 1560  "r049"
+                              Name 1565  "r041"
+                              Name 1568  "r042"
+                              Name 1572  "r043"
+                              Name 1575  "r044"
+                              Name 1580  "r046"
+                              Name 1587  "r0"
+                              Name 1591  "r1"
+                              Name 1595  "r2"
+                              Name 1599  "r3"
+                              Name 1603  "r4"
+                              Name 1607  "r5"
+                              Name 1611  "r6"
+                              Name 1615  "r7"
+                              Name 1619  "r8"
+                              Name 1623  "r0"
+                              Name 1627  "r1"
+                              Name 1631  "r2"
+                              Name 1635  "r3"
+                              Name 1639  "r4"
+                              Name 1643  "r5"
+                              Name 1647  "r6"
+                              Name 1651  "r7"
+                              Name 1655  "r8"
+                              Name 1659  "r0"
+                              Name 1663  "r1"
+                              Name 1667  "r2"
+                              Name 1671  "r3"
+                              Name 1675  "r4"
+                              Name 1679  "r5"
+                              Name 1683  "r6"
+                              Name 1687  "r7"
+                              Name 1691  "r8"
+                              Name 1695  "r00"
+                              Name 1699  "r01"
+                              Name 1703  "r02"
+                              Name 1707  "r03"
+                              Name 1711  "r04"
+                              Name 1715  "r05"
+                              Name 1719  "r06"
+                              Name 1723  "r07"
+                              Name 1727  "r08"
+                              Name 1731  "r09"
+                              Name 1735  "r10"
+                              Name 1739  "r11"
+                              Name 1743  "r12"
+                              Name 1747  "r13"
+                              Name 1751  "r14"
+                              Name 1755  "r15"
+                              Name 1759  "r16"
+                              Name 1764  "ps_output"
+                              Name 1772  "color"
+                              Name 1776  "gs_ua"
+                              Name 1777  "gs_ub"
+                              Name 1778  "gs_uc"
+                              Name 1780  "gs_ua2"
+                              Name 1781  "gs_ub2"
+                              Name 1782  "gs_uc2"
+                              Name 1784  "gs_ua3"
+                              Name 1785  "gs_ub3"
+                              Name 1786  "gs_uc3"
+                              Name 1788  "gs_ua4"
+                              Name 1789  "gs_ub4"
+                              Name 1790  "gs_uc4"
+                              Decorate 1772(color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -6194,95 +6096,88 @@ gl_FragCoord origin is upper left
              153:             TypePointer Function 152(int)
              179:    6(float) Constant 0
              191:    152(int) Constant 7
-    238(ResType):             TypeStruct 6(float) 152(int)
-             266:    6(float) Constant 1050288283
-             287:    6(float) Constant 1065353216
-             291:    152(int) Constant 2
-             356:             TypeVector 152(int) 2
-             357:             TypePointer Function 356(ivec2)
-             383:   24(fvec2) ConstantComposite 179 179
-             384:             TypeVector 135(bool) 2
-             397:    152(int) Constant 3
-             398:  356(ivec2) ConstantComposite 191 397
-             441:      8(int) Constant 7
-             442:      8(int) Constant 8
-             443:   26(ivec2) ConstantComposite 441 442
-    459(ResType):             TypeStruct 24(fvec2) 356(ivec2)
-             466:             TypePointer Function 384(bvec2)
-             524:    6(float) Constant 1073741824
-             527:      8(int) Constant 1
-             528:      8(int) Constant 2
-             529:   26(ivec2) ConstantComposite 527 528
-             576:   24(fvec2) ConstantComposite 287 524
-             594:             TypeVector 152(int) 3
-             595:             TypePointer Function 594(ivec3)
-             621:   36(fvec3) ConstantComposite 179 179 179
-             622:             TypeVector 135(bool) 3
-             635:      8(int) Constant 3
-             636:      8(int) Constant 5
-             637:   38(ivec3) ConstantComposite 441 635 636
-             684:      8(int) Constant 4
-             685:   38(ivec3) ConstantComposite 528 635 684
-    701(ResType):             TypeStruct 36(fvec3) 594(ivec3)
-             708:             TypePointer Function 622(bvec3)
-             727:    6(float) Constant 1050253722
-             774:   38(ivec3) ConstantComposite 527 528 635
-             821:    6(float) Constant 1077936128
-             822:   36(fvec3) ConstantComposite 287 524 821
-             840:             TypeVector 152(int) 4
-             841:             TypePointer Function 840(ivec4)
-             867:   48(fvec4) ConstantComposite 179 179 179 179
-             868:             TypeVector 135(bool) 4
-             881:   50(ivec4) ConstantComposite 441 635 636 528
-             935:      8(int) Constant 9
-             936:      8(int) Constant 10
-             937:   50(ivec4) ConstantComposite 441 442 935 936
-    953(ResType):             TypeStruct 48(fvec4) 840(ivec4)
-             960:             TypePointer Function 868(bvec4)
-            1020:   50(ivec4) ConstantComposite 527 528 635 684
-            1067:    6(float) Constant 1082130432
-            1068:   48(fvec4) ConstantComposite 287 524 821 1067
-            1096:          60 ConstantComposite 383 383
-            1097:             TypeMatrix 384(bvec2) 2
-   1162(ResType):             TypeStruct 60 356(ivec2)
-            1250:   24(fvec2) ConstantComposite 524 524
-            1251:          60 ConstantComposite 1250 1250
-            1279:          68 ConstantComposite 621 621 621
-            1280:             TypeMatrix 622(bvec3) 3
-   1348(ResType):             TypeStruct 68 594(ivec3)
-            1436:   36(fvec3) ConstantComposite 821 821 821
-            1437:          68 ConstantComposite 1436 1436 1436
-            1465:          76 ConstantComposite 867 867 867 867
-            1466:             TypeMatrix 868(bvec4) 4
-   1537(ResType):             TypeStruct 76 840(ivec4)
-            1625:   48(fvec4) ConstantComposite 1067 1067 1067 1067
-            1626:          76 ConstantComposite 1625 1625 1625 1625
-            1805:             TypePointer Function 131(PS_OUTPUT)
-            1807:    152(int) Constant 0
-            1808:   48(fvec4) ConstantComposite 287 287 287 287
-            1813:             TypePointer Output 48(fvec4)
-     1814(color):   1813(ptr) Variable Output
-            1817:             TypePointer Workgroup 8(int)
-     1818(gs_ua):   1817(ptr) Variable Workgroup
-     1819(gs_ub):   1817(ptr) Variable Workgroup
-     1820(gs_uc):   1817(ptr) Variable Workgroup
-            1821:             TypePointer Workgroup 26(ivec2)
-    1822(gs_ua2):   1821(ptr) Variable Workgroup
-    1823(gs_ub2):   1821(ptr) Variable Workgroup
-    1824(gs_uc2):   1821(ptr) Variable Workgroup
-            1825:             TypePointer Workgroup 38(ivec3)
-    1826(gs_ua3):   1825(ptr) Variable Workgroup
-    1827(gs_ub3):   1825(ptr) Variable Workgroup
-    1828(gs_uc3):   1825(ptr) Variable Workgroup
-            1829:             TypePointer Workgroup 50(ivec4)
-    1830(gs_ua4):   1829(ptr) Variable Workgroup
-    1831(gs_ub4):   1829(ptr) Variable Workgroup
-    1832(gs_uc4):   1829(ptr) Variable Workgroup
+             260:    6(float) Constant 1050288283
+             281:    6(float) Constant 1065353216
+             285:    152(int) Constant 2
+             350:             TypeVector 152(int) 2
+             351:             TypePointer Function 350(ivec2)
+             377:   24(fvec2) ConstantComposite 179 179
+             378:             TypeVector 135(bool) 2
+             391:    152(int) Constant 3
+             392:  350(ivec2) ConstantComposite 191 391
+             435:      8(int) Constant 7
+             436:      8(int) Constant 8
+             437:   26(ivec2) ConstantComposite 435 436
+             454:             TypePointer Function 378(bvec2)
+             512:    6(float) Constant 1073741824
+             515:      8(int) Constant 1
+             516:      8(int) Constant 2
+             517:   26(ivec2) ConstantComposite 515 516
+             564:   24(fvec2) ConstantComposite 281 512
+             582:             TypeVector 152(int) 3
+             583:             TypePointer Function 582(ivec3)
+             609:   36(fvec3) ConstantComposite 179 179 179
+             610:             TypeVector 135(bool) 3
+             623:      8(int) Constant 3
+             624:      8(int) Constant 5
+             625:   38(ivec3) ConstantComposite 435 623 624
+             672:      8(int) Constant 4
+             673:   38(ivec3) ConstantComposite 516 623 672
+             690:             TypePointer Function 610(bvec3)
+             709:    6(float) Constant 1050253722
+             756:   38(ivec3) ConstantComposite 515 516 623
+             803:    6(float) Constant 1077936128
+             804:   36(fvec3) ConstantComposite 281 512 803
+             822:             TypeVector 152(int) 4
+             823:             TypePointer Function 822(ivec4)
+             849:   48(fvec4) ConstantComposite 179 179 179 179
+             850:             TypeVector 135(bool) 4
+             863:   50(ivec4) ConstantComposite 435 623 624 516
+             917:      8(int) Constant 9
+             918:      8(int) Constant 10
+             919:   50(ivec4) ConstantComposite 435 436 917 918
+             936:             TypePointer Function 850(bvec4)
+             996:   50(ivec4) ConstantComposite 515 516 623 672
+            1043:    6(float) Constant 1082130432
+            1044:   48(fvec4) ConstantComposite 281 512 803 1043
+            1072:          60 ConstantComposite 377 377
+            1073:             TypeMatrix 378(bvec2) 2
+            1220:   24(fvec2) ConstantComposite 512 512
+            1221:          60 ConstantComposite 1220 1220
+            1249:          68 ConstantComposite 609 609 609
+            1250:             TypeMatrix 610(bvec3) 3
+            1400:   36(fvec3) ConstantComposite 803 803 803
+            1401:          68 ConstantComposite 1400 1400 1400
+            1429:          76 ConstantComposite 849 849 849 849
+            1430:             TypeMatrix 850(bvec4) 4
+            1583:   48(fvec4) ConstantComposite 1043 1043 1043 1043
+            1584:          76 ConstantComposite 1583 1583 1583 1583
+            1763:             TypePointer Function 131(PS_OUTPUT)
+            1765:    152(int) Constant 0
+            1766:   48(fvec4) ConstantComposite 281 281 281 281
+            1771:             TypePointer Output 48(fvec4)
+     1772(color):   1771(ptr) Variable Output
+            1775:             TypePointer Workgroup 8(int)
+     1776(gs_ua):   1775(ptr) Variable Workgroup
+     1777(gs_ub):   1775(ptr) Variable Workgroup
+     1778(gs_uc):   1775(ptr) Variable Workgroup
+            1779:             TypePointer Workgroup 26(ivec2)
+    1780(gs_ua2):   1779(ptr) Variable Workgroup
+    1781(gs_ub2):   1779(ptr) Variable Workgroup
+    1782(gs_uc2):   1779(ptr) Variable Workgroup
+            1783:             TypePointer Workgroup 38(ivec3)
+    1784(gs_ua3):   1783(ptr) Variable Workgroup
+    1785(gs_ub3):   1783(ptr) Variable Workgroup
+    1786(gs_uc3):   1783(ptr) Variable Workgroup
+            1787:             TypePointer Workgroup 50(ivec4)
+    1788(gs_ua4):   1787(ptr) Variable Workgroup
+    1789(gs_ub4):   1787(ptr) Variable Workgroup
+    1790(gs_uc4):   1787(ptr) Variable Workgroup
          4(main):           2 Function None 3
                5:             Label
-            1815:131(PS_OUTPUT) FunctionCall 133(@main()
-            1816:   48(fvec4) CompositeExtract 1815 0
-                              Store 1814(color) 1816
+            1773:131(PS_OUTPUT) FunctionCall 133(@main()
+            1774:   48(fvec4) CompositeExtract 1773 0
+                              Store 1772(color) 1774
                               Return
                               FunctionEnd
 16(PixelShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
@@ -6321,33 +6216,32 @@ gl_FragCoord origin is upper left
        226(r031):      7(ptr) Variable Function
        229(r033):      7(ptr) Variable Function
        233(r034):      7(ptr) Variable Function
-       236(r035):      7(ptr) Variable Function
-       242(r036):      7(ptr) Variable Function
-       245(r037):    136(ptr) Variable Function
-       248(r038):    136(ptr) Variable Function
-       251(r039):      7(ptr) Variable Function
-      255(r039a):      7(ptr) Variable Function
-       260(r040):      7(ptr) Variable Function
-       263(r041):      7(ptr) Variable Function
-       268(r042):      7(ptr) Variable Function
-       271(r043):      7(ptr) Variable Function
-       275(r044):      7(ptr) Variable Function
-       279(r045):      7(ptr) Variable Function
-       283(r046):      7(ptr) Variable Function
-       286(r047):      7(ptr) Variable Function
-       290(r048):      9(ptr) Variable Function
-       294(r049):      7(ptr) Variable Function
-       297(r050):      7(ptr) Variable Function
-       300(r051):      7(ptr) Variable Function
-       303(r052):      7(ptr) Variable Function
-       306(r053):      7(ptr) Variable Function
-       313(r055):      7(ptr) Variable Function
-       316(r056):      7(ptr) Variable Function
-       321(r057):      7(ptr) Variable Function
-       324(r058):      7(ptr) Variable Function
-       328(r059):      7(ptr) Variable Function
-       331(r060):      7(ptr) Variable Function
-       334(r061):      7(ptr) Variable Function
+       236(r036):      7(ptr) Variable Function
+       239(r037):    136(ptr) Variable Function
+       242(r038):    136(ptr) Variable Function
+       245(r039):      7(ptr) Variable Function
+      249(r039a):      7(ptr) Variable Function
+       254(r040):      7(ptr) Variable Function
+       257(r041):      7(ptr) Variable Function
+       262(r042):      7(ptr) Variable Function
+       265(r043):      7(ptr) Variable Function
+       269(r044):      7(ptr) Variable Function
+       273(r045):      7(ptr) Variable Function
+       277(r046):      7(ptr) Variable Function
+       280(r047):      7(ptr) Variable Function
+       284(r048):      9(ptr) Variable Function
+       288(r049):      7(ptr) Variable Function
+       291(r050):      7(ptr) Variable Function
+       294(r051):      7(ptr) Variable Function
+       297(r052):      7(ptr) Variable Function
+       300(r053):      7(ptr) Variable Function
+       307(r055):      7(ptr) Variable Function
+       310(r056):      7(ptr) Variable Function
+       315(r057):      7(ptr) Variable Function
+       318(r058):      7(ptr) Variable Function
+       322(r059):      7(ptr) Variable Function
+       325(r060):      7(ptr) Variable Function
+       328(r061):      7(ptr) Variable Function
              138:    6(float) Load 11(inF0)
              139:   135(bool) All 138
                               Store 137(r000) 139
@@ -6446,105 +6340,99 @@ gl_FragCoord origin is upper left
              235:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 234
                               Store 233(r034) 235
              237:    6(float) Load 11(inF0)
-             239:238(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 237
-             240:    152(int) CompositeExtract 239 1
-                              Store 12(inF1) 240
-             241:    6(float) CompositeExtract 239 0
-                              Store 236(r035) 241
+             238:    6(float) Fwidth 237
+                              Store 236(r036) 238
+             240:    6(float) Load 11(inF0)
+             241:   135(bool) IsInf 240
+                              Store 239(r037) 241
              243:    6(float) Load 11(inF0)
-             244:    6(float) Fwidth 243
-                              Store 242(r036) 244
+             244:   135(bool) IsNan 243
+                              Store 242(r038) 244
              246:    6(float) Load 11(inF0)
-             247:   135(bool) IsInf 246
-                              Store 245(r037) 247
-             249:    6(float) Load 11(inF0)
-             250:   135(bool) IsNan 249
-                              Store 248(r038) 250
-             252:    6(float) Load 11(inF0)
-             253:    6(float) Load 12(inF1)
-             254:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 252 253
-                              Store 251(r039) 254
-             256:    6(float) Load 11(inF0)
-             257:    6(float) Load 12(inF1)
-             258:    6(float) Load 13(inF2)
-             259:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 256 257 258
-                              Store 255(r039a) 259
-             261:    6(float) Load 11(inF0)
-             262:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 261
-                              Store 260(r040) 262
-             264:    6(float) Load 11(inF0)
-             265:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 264
-             267:    6(float) FMul 265 266
-                              Store 263(r041) 267
-             269:    6(float) Load 11(inF0)
-             270:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 269
-                              Store 268(r042) 270
-             272:    6(float) Load 11(inF0)
-             273:    6(float) Load 12(inF1)
-             274:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 272 273
-                              Store 271(r043) 274
-             276:    6(float) Load 11(inF0)
-             277:    6(float) Load 12(inF1)
-             278:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 276 277
-                              Store 275(r044) 278
-             280:    6(float) Load 11(inF0)
-             281:    6(float) Load 12(inF1)
-             282:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 280 281
-                              Store 279(r045) 282
-             284:    6(float) Load 11(inF0)
-             285:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 284
-                              Store 283(r046) 285
-             288:    6(float) Load 11(inF0)
-             289:    6(float) FDiv 287 288
-                              Store 286(r047) 289
-             292:    152(int) BitReverse 291
-             293:      8(int) Bitcast 292
-                              Store 290(r048) 293
+             247:    6(float) Load 12(inF1)
+             248:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 246 247
+                              Store 245(r039) 248
+             250:    6(float) Load 11(inF0)
+             251:    6(float) Load 12(inF1)
+             252:    6(float) Load 13(inF2)
+             253:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 250 251 252
+                              Store 249(r039a) 253
+             255:    6(float) Load 11(inF0)
+             256:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 255
+                              Store 254(r040) 256
+             258:    6(float) Load 11(inF0)
+             259:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 258
+             261:    6(float) FMul 259 260
+                              Store 257(r041) 261
+             263:    6(float) Load 11(inF0)
+             264:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 263
+                              Store 262(r042) 264
+             266:    6(float) Load 11(inF0)
+             267:    6(float) Load 12(inF1)
+             268:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 266 267
+                              Store 265(r043) 268
+             270:    6(float) Load 11(inF0)
+             271:    6(float) Load 12(inF1)
+             272:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 270 271
+                              Store 269(r044) 272
+             274:    6(float) Load 11(inF0)
+             275:    6(float) Load 12(inF1)
+             276:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 274 275
+                              Store 273(r045) 276
+             278:    6(float) Load 11(inF0)
+             279:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 278
+                              Store 277(r046) 279
+             282:    6(float) Load 11(inF0)
+             283:    6(float) FDiv 281 282
+                              Store 280(r047) 283
+             286:    152(int) BitReverse 285
+             287:      8(int) Bitcast 286
+                              Store 284(r048) 287
+             289:    6(float) Load 11(inF0)
+             290:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 289
+                              Store 288(r049) 290
+             292:    6(float) Load 11(inF0)
+             293:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 292
+                              Store 291(r050) 293
              295:    6(float) Load 11(inF0)
-             296:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 295
-                              Store 294(r049) 296
+             296:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 295 179 281
+                              Store 294(r051) 296
              298:    6(float) Load 11(inF0)
-             299:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 298
-                              Store 297(r050) 299
+             299:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 298
+                              Store 297(r052) 299
              301:    6(float) Load 11(inF0)
-             302:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 301 179 287
-                              Store 300(r051) 302
-             304:    6(float) Load 11(inF0)
-             305:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 304
-                              Store 303(r052) 305
-             307:    6(float) Load 11(inF0)
-             308:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 307
-                              Store 306(r053) 308
-             309:    6(float) Load 11(inF0)
-             310:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 309
-                              Store 12(inF1) 310
+             302:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 301
+                              Store 300(r053) 302
+             303:    6(float) Load 11(inF0)
+             304:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 303
+                              Store 12(inF1) 304
+             305:    6(float) Load 11(inF0)
+             306:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 305
+                              Store 13(inF2) 306
+             308:    6(float) Load 11(inF0)
+             309:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 308
+                              Store 307(r055) 309
              311:    6(float) Load 11(inF0)
-             312:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 311
-                              Store 13(inF2) 312
-             314:    6(float) Load 11(inF0)
-             315:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 314
-                              Store 313(r055) 315
-             317:    6(float) Load 11(inF0)
-             318:    6(float) Load 12(inF1)
-             319:    6(float) Load 13(inF2)
-             320:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 317 318 319
-                              Store 316(r056) 320
-             322:    6(float) Load 11(inF0)
-             323:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 322
-                              Store 321(r057) 323
-             325:    6(float) Load 11(inF0)
-             326:    6(float) Load 12(inF1)
-             327:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 325 326
-                              Store 324(r058) 327
+             312:    6(float) Load 12(inF1)
+             313:    6(float) Load 13(inF2)
+             314:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 311 312 313
+                              Store 310(r056) 314
+             316:    6(float) Load 11(inF0)
+             317:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 316
+                              Store 315(r057) 317
+             319:    6(float) Load 11(inF0)
+             320:    6(float) Load 12(inF1)
+             321:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 319 320
+                              Store 318(r058) 321
+             323:    6(float) Load 11(inF0)
+             324:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 323
+                              Store 322(r059) 324
+             326:    6(float) Load 11(inF0)
+             327:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 326
+                              Store 325(r060) 327
              329:    6(float) Load 11(inF0)
-             330:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 329
-                              Store 328(r059) 330
-             332:    6(float) Load 11(inF0)
-             333:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 332
-                              Store 331(r060) 333
-             335:    6(float) Load 11(inF0)
-             336:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 335
-                              Store 334(r061) 336
+             330:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 329
+                              Store 328(r061) 330
                               ReturnValue 179
                               FunctionEnd
 22(PixelShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
@@ -6561,295 +6449,288 @@ gl_FragCoord origin is upper left
         32(inU0):     27(ptr) FunctionParameter
         33(inU1):     27(ptr) FunctionParameter
               35:             Label
-       341(r000):    136(ptr) Variable Function
-       344(r001):     25(ptr) Variable Function
-       347(r002):     25(ptr) Variable Function
-       350(r003):    136(ptr) Variable Function
-       353(r004):     25(ptr) Variable Function
-       358(r005):    357(ptr) Variable Function
-       361(r006):     27(ptr) Variable Function
-       364(r007):     25(ptr) Variable Function
-       367(r009):     25(ptr) Variable Function
-       370(r010):     25(ptr) Variable Function
-       374(r011):     25(ptr) Variable Function
-       377(r012):     25(ptr) Variable Function
-       390(r013):     25(ptr) Variable Function
-       393(r015):     25(ptr) Variable Function
-       396(r016):    357(ptr) Variable Function
-       400(r017):     25(ptr) Variable Function
-       403(r018):     25(ptr) Variable Function
-       406(r019):     25(ptr) Variable Function
-       409(r020):     25(ptr) Variable Function
-       412(r021):     25(ptr) Variable Function
-       415(r022):     25(ptr) Variable Function
-       418(r023):     25(ptr) Variable Function
-       421(r026):      7(ptr) Variable Function
-       425(r027):      7(ptr) Variable Function
-       429(r028):     25(ptr) Variable Function
-       432(r029):     25(ptr) Variable Function
-       435(r030):     25(ptr) Variable Function
-       440(r031):     27(ptr) Variable Function
-       445(r032):     27(ptr) Variable Function
-       447(r033):     25(ptr) Variable Function
-       450(r035):     25(ptr) Variable Function
-       454(r036):     25(ptr) Variable Function
-       457(r037):     25(ptr) Variable Function
-       463(r038):     25(ptr) Variable Function
-       467(r039):    466(ptr) Variable Function
-       470(r040):    466(ptr) Variable Function
-       473(r041):     25(ptr) Variable Function
-      477(r039a):     25(ptr) Variable Function
-       482(r042):      7(ptr) Variable Function
-       485(r043):     25(ptr) Variable Function
-       488(r044):     25(ptr) Variable Function
-       492(r045):     25(ptr) Variable Function
-       495(r046):     25(ptr) Variable Function
-       499(r047):     25(ptr) Variable Function
-       503(r048):     25(ptr) Variable Function
-       506(r049):     25(ptr) Variable Function
-       510(r050):     25(ptr) Variable Function
-       513(r051):     25(ptr) Variable Function
-       517(r052):     25(ptr) Variable Function
-       521(r053):     25(ptr) Variable Function
-       526(r054):     27(ptr) Variable Function
-       531(r055):     25(ptr) Variable Function
-       534(r056):     25(ptr) Variable Function
-       537(r057):     25(ptr) Variable Function
-       542(r058):     25(ptr) Variable Function
-       545(r059):     25(ptr) Variable Function
-       552(r060):     25(ptr) Variable Function
-       555(r061):     25(ptr) Variable Function
-       560(r062):     25(ptr) Variable Function
-       563(r063):     25(ptr) Variable Function
-       567(r064):     25(ptr) Variable Function
-       570(r065):     25(ptr) Variable Function
-       573(r066):     25(ptr) Variable Function
+       335(r000):    136(ptr) Variable Function
+       338(r001):     25(ptr) Variable Function
+       341(r002):     25(ptr) Variable Function
+       344(r003):    136(ptr) Variable Function
+       347(r004):     25(ptr) Variable Function
+       352(r005):    351(ptr) Variable Function
+       355(r006):     27(ptr) Variable Function
+       358(r007):     25(ptr) Variable Function
+       361(r009):     25(ptr) Variable Function
+       364(r010):     25(ptr) Variable Function
+       368(r011):     25(ptr) Variable Function
+       371(r012):     25(ptr) Variable Function
+       384(r013):     25(ptr) Variable Function
+       387(r015):     25(ptr) Variable Function
+       390(r016):    351(ptr) Variable Function
+       394(r017):     25(ptr) Variable Function
+       397(r018):     25(ptr) Variable Function
+       400(r019):     25(ptr) Variable Function
+       403(r020):     25(ptr) Variable Function
+       406(r021):     25(ptr) Variable Function
+       409(r022):     25(ptr) Variable Function
+       412(r023):     25(ptr) Variable Function
+       415(r026):      7(ptr) Variable Function
+       419(r027):      7(ptr) Variable Function
+       423(r028):     25(ptr) Variable Function
+       426(r029):     25(ptr) Variable Function
+       429(r030):     25(ptr) Variable Function
+       434(r031):     27(ptr) Variable Function
+       439(r032):     27(ptr) Variable Function
+       441(r033):     25(ptr) Variable Function
+       444(r035):     25(ptr) Variable Function
+       448(r036):     25(ptr) Variable Function
+       451(r038):     25(ptr) Variable Function
+       455(r039):    454(ptr) Variable Function
+       458(r040):    454(ptr) Variable Function
+       461(r041):     25(ptr) Variable Function
+      465(r039a):     25(ptr) Variable Function
+       470(r042):      7(ptr) Variable Function
+       473(r043):     25(ptr) Variable Function
+       476(r044):     25(ptr) Variable Function
+       480(r045):     25(ptr) Variable Function
+       483(r046):     25(ptr) Variable Function
+       487(r047):     25(ptr) Variable Function
+       491(r048):     25(ptr) Variable Function
+       494(r049):     25(ptr) Variable Function
+       498(r050):     25(ptr) Variable Function
+       501(r051):     25(ptr) Variable Function
+       505(r052):     25(ptr) Variable Function
+       509(r053):     25(ptr) Variable Function
+       514(r054):     27(ptr) Variable Function
+       519(r055):     25(ptr) Variable Function
+       522(r056):     25(ptr) Variable Function
+       525(r057):     25(ptr) Variable Function
+       530(r058):     25(ptr) Variable Function
+       533(r059):     25(ptr) Variable Function
+       540(r060):     25(ptr) Variable Function
+       543(r061):     25(ptr) Variable Function
+       548(r062):     25(ptr) Variable Function
+       551(r063):     25(ptr) Variable Function
+       555(r064):     25(ptr) Variable Function
+       558(r065):     25(ptr) Variable Function
+       561(r066):     25(ptr) Variable Function
+             336:   24(fvec2) Load 29(inF0)
+             337:   135(bool) All 336
+                              Store 335(r000) 337
+             339:   24(fvec2) Load 29(inF0)
+             340:   24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 339
+                              Store 338(r001) 340
              342:   24(fvec2) Load 29(inF0)
-             343:   135(bool) All 342
-                              Store 341(r000) 343
+             343:   24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 342
+                              Store 341(r002) 343
              345:   24(fvec2) Load 29(inF0)
-             346:   24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 345
-                              Store 344(r001) 346
+             346:   135(bool) Any 345
+                              Store 344(r003) 346
              348:   24(fvec2) Load 29(inF0)
-             349:   24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 348
-                              Store 347(r002) 349
-             351:   24(fvec2) Load 29(inF0)
-             352:   135(bool) Any 351
-                              Store 350(r003) 352
-             354:   24(fvec2) Load 29(inF0)
-             355:   24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 354
-                              Store 353(r004) 355
-             359:   24(fvec2) Load 29(inF0)
-             360:  356(ivec2) Bitcast 359
-                              Store 358(r005) 360
+             349:   24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 348
+                              Store 347(r004) 349
+             353:   24(fvec2) Load 29(inF0)
+             354:  350(ivec2) Bitcast 353
+                              Store 352(r005) 354
+             356:   24(fvec2) Load 29(inF0)
+             357:   26(ivec2) Bitcast 356
+                              Store 355(r006) 357
+             359:   26(ivec2) Load 32(inU0)
+             360:   24(fvec2) Bitcast 359
+                              Store 358(r007) 360
              362:   24(fvec2) Load 29(inF0)
-             363:   26(ivec2) Bitcast 362
-                              Store 361(r006) 363
-             365:   26(ivec2) Load 32(inU0)
-             366:   24(fvec2) Bitcast 365
-                              Store 364(r007) 366
-             368:   24(fvec2) Load 29(inF0)
-             369:   24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 368
-                              Store 367(r009) 369
-             371:   24(fvec2) Load 29(inF0)
-             372:   24(fvec2) Load 30(inF1)
-             373:   24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 371 372
-                              Store 370(r010) 373
-             375:   24(fvec2) Load 29(inF0)
-             376:   24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 375
-                              Store 374(r011) 376
-             378:   24(fvec2) Load 29(inF0)
-             379:   24(fvec2) Load 30(inF1)
-             380:   24(fvec2) Load 31(inF2)
-             381:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 378 379 380
-                              Store 377(r012) 381
-             382:   24(fvec2) Load 29(inF0)
-             385:  384(bvec2) FOrdLessThan 382 383
-             386:   135(bool) Any 385
-                              SelectionMerge 388 None
-                              BranchConditional 386 387 388
-             387:               Label
+             363:   24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 362
+                              Store 361(r009) 363
+             365:   24(fvec2) Load 29(inF0)
+             366:   24(fvec2) Load 30(inF1)
+             367:   24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 365 366
+                              Store 364(r010) 367
+             369:   24(fvec2) Load 29(inF0)
+             370:   24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 369
+                              Store 368(r011) 370
+             372:   24(fvec2) Load 29(inF0)
+             373:   24(fvec2) Load 30(inF1)
+             374:   24(fvec2) Load 31(inF2)
+             375:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 372 373 374
+                              Store 371(r012) 375
+             376:   24(fvec2) Load 29(inF0)
+             379:  378(bvec2) FOrdLessThan 376 377
+             380:   135(bool) Any 379
+                              SelectionMerge 382 None
+                              BranchConditional 380 381 382
+             381:               Label
                                 Kill
-             388:             Label
-             391:   24(fvec2) Load 29(inF0)
-             392:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 391
-                              Store 390(r013) 392
-             394:   24(fvec2) Load 29(inF0)
-             395:   24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 394
-                              Store 393(r015) 395
-             399:  356(ivec2) BitCount 398
-                              Store 396(r016) 399
+             382:             Label
+             385:   24(fvec2) Load 29(inF0)
+             386:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 385
+                              Store 384(r013) 386
+             388:   24(fvec2) Load 29(inF0)
+             389:   24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 388
+                              Store 387(r015) 389
+             393:  350(ivec2) BitCount 392
+                              Store 390(r016) 393
+             395:   24(fvec2) Load 29(inF0)
+             396:   24(fvec2) DPdx 395
+                              Store 394(r017) 396
+             398:   24(fvec2) Load 29(inF0)
+             399:   24(fvec2) DPdxCoarse 398
+                              Store 397(r018) 399
              401:   24(fvec2) Load 29(inF0)
-             402:   24(fvec2) DPdx 401
-                              Store 400(r017) 402
+             402:   24(fvec2) DPdxFine 401
+                              Store 400(r019) 402
              404:   24(fvec2) Load 29(inF0)
-             405:   24(fvec2) DPdxCoarse 404
-                              Store 403(r018) 405
+             405:   24(fvec2) DPdy 404
+                              Store 403(r020) 405
              407:   24(fvec2) Load 29(inF0)
-             408:   24(fvec2) DPdxFine 407
-                              Store 406(r019) 408
+             408:   24(fvec2) DPdyCoarse 407
+                              Store 406(r021) 408
              410:   24(fvec2) Load 29(inF0)
-             411:   24(fvec2) DPdy 410
-                              Store 409(r020) 411
+             411:   24(fvec2) DPdyFine 410
+                              Store 409(r022) 411
              413:   24(fvec2) Load 29(inF0)
-             414:   24(fvec2) DPdyCoarse 413
-                              Store 412(r021) 414
+             414:   24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 413
+                              Store 412(r023) 414
              416:   24(fvec2) Load 29(inF0)
-             417:   24(fvec2) DPdyFine 416
-                              Store 415(r022) 417
-             419:   24(fvec2) Load 29(inF0)
-             420:   24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 419
-                              Store 418(r023) 420
-             422:   24(fvec2) Load 29(inF0)
-             423:   24(fvec2) Load 30(inF1)
-             424:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 422 423
-                              Store 421(r026) 424
-             426:   24(fvec2) Load 29(inF0)
-             427:   24(fvec2) Load 30(inF1)
-             428:    6(float) Dot 426 427
-                              Store 425(r027) 428
+             417:   24(fvec2) Load 30(inF1)
+             418:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 416 417
+                              Store 415(r026) 418
+             420:   24(fvec2) Load 29(inF0)
+             421:   24(fvec2) Load 30(inF1)
+             422:    6(float) Dot 420 421
+                              Store 419(r027) 422
+             424:   24(fvec2) Load 29(inF0)
+             425:   24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 424
+                              Store 423(r028) 425
+             427:   24(fvec2) Load 29(inF0)
+             428:   24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 427
+                              Store 426(r029) 428
              430:   24(fvec2) Load 29(inF0)
-             431:   24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 430
-                              Store 429(r028) 431
-             433:   24(fvec2) Load 29(inF0)
-             434:   24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 433
-                              Store 432(r029) 434
-             436:   24(fvec2) Load 29(inF0)
-             437:   24(fvec2) Load 30(inF1)
-             438:   24(fvec2) Load 31(inF2)
-             439:   24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 436 437 438
-                              Store 435(r030) 439
-             444:   26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 443
-                              Store 440(r031) 444
-             446:   26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 443
-                              Store 445(r032) 446
-             448:   24(fvec2) Load 29(inF0)
-             449:   24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 448
-                              Store 447(r033) 449
-             451:   24(fvec2) Load 29(inF0)
-             452:   24(fvec2) Load 30(inF1)
-             453:   24(fvec2) FMod 451 452
-                              Store 450(r035) 453
-             455:   24(fvec2) Load 29(inF0)
-             456:   24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 455
-                              Store 454(r036) 456
-             458:   24(fvec2) Load 29(inF0)
-             460:459(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 458
-             461:  356(ivec2) CompositeExtract 460 1
-                              Store 30(inF1) 461
-             462:   24(fvec2) CompositeExtract 460 0
-                              Store 457(r037) 462
-             464:   24(fvec2) Load 29(inF0)
-             465:   24(fvec2) Fwidth 464
-                              Store 463(r038) 465
-             468:   24(fvec2) Load 29(inF0)
-             469:  384(bvec2) IsInf 468
-                              Store 467(r039) 469
+             431:   24(fvec2) Load 30(inF1)
+             432:   24(fvec2) Load 31(inF2)
+             433:   24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 430 431 432
+                              Store 429(r030) 433
+             438:   26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 437
+                              Store 434(r031) 438
+             440:   26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 437
+                              Store 439(r032) 440
+             442:   24(fvec2) Load 29(inF0)
+             443:   24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 442
+                              Store 441(r033) 443
+             445:   24(fvec2) Load 29(inF0)
+             446:   24(fvec2) Load 30(inF1)
+             447:   24(fvec2) FMod 445 446
+                              Store 444(r035) 447
+             449:   24(fvec2) Load 29(inF0)
+             450:   24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 449
+                              Store 448(r036) 450
+             452:   24(fvec2) Load 29(inF0)
+             453:   24(fvec2) Fwidth 452
+                              Store 451(r038) 453
+             456:   24(fvec2) Load 29(inF0)
+             457:  378(bvec2) IsInf 456
+                              Store 455(r039) 457
+             459:   24(fvec2) Load 29(inF0)
+             460:  378(bvec2) IsNan 459
+                              Store 458(r040) 460
+             462:   24(fvec2) Load 29(inF0)
+             463:   24(fvec2) Load 30(inF1)
+             464:   24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 462 463
+                              Store 461(r041) 464
+             466:   24(fvec2) Load 29(inF0)
+             467:   24(fvec2) Load 30(inF1)
+             468:   24(fvec2) Load 31(inF2)
+             469:   24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 466 467 468
+                              Store 465(r039a) 469
              471:   24(fvec2) Load 29(inF0)
-             472:  384(bvec2) IsNan 471
-                              Store 470(r040) 472
+             472:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 471
+                              Store 470(r042) 472
              474:   24(fvec2) Load 29(inF0)
-             475:   24(fvec2) Load 30(inF1)
-             476:   24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 474 475
-                              Store 473(r041) 476
-             478:   24(fvec2) Load 29(inF0)
-             479:   24(fvec2) Load 30(inF1)
-             480:   24(fvec2) Load 31(inF2)
-             481:   24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 478 479 480
-                              Store 477(r039a) 481
-             483:   24(fvec2) Load 29(inF0)
-             484:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 483
-                              Store 482(r042) 484
-             486:   24(fvec2) Load 29(inF0)
-             487:   24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 486
-                              Store 485(r043) 487
-             489:   24(fvec2) Load 29(inF0)
-             490:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 489
-             491:   24(fvec2) VectorTimesScalar 490 266
-                              Store 488(r044) 491
-             493:   24(fvec2) Load 29(inF0)
-             494:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 493
-                              Store 492(r045) 494
-             496:   24(fvec2) Load 29(inF0)
-             497:   24(fvec2) Load 30(inF1)
-             498:   24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 496 497
-                              Store 495(r046) 498
-             500:   24(fvec2) Load 29(inF0)
-             501:   24(fvec2) Load 30(inF1)
-             502:   24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 500 501
-                              Store 499(r047) 502
-             504:   24(fvec2) Load 29(inF0)
-             505:   24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 504
-                              Store 503(r048) 505
-             507:   24(fvec2) Load 29(inF0)
-             508:   24(fvec2) Load 30(inF1)
-             509:   24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 507 508
-                              Store 506(r049) 509
-             511:   24(fvec2) Load 29(inF0)
-             512:   24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 511
-                              Store 510(r050) 512
-             514:   24(fvec2) Load 29(inF0)
-             515:   24(fvec2) CompositeConstruct 287 287
-             516:   24(fvec2) FDiv 515 514
-                              Store 513(r051) 516
-             518:   24(fvec2) Load 29(inF0)
-             519:   24(fvec2) Load 30(inF1)
-             520:   24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 518 519
-                              Store 517(r052) 520
-             522:   24(fvec2) Load 29(inF0)
-             523:   24(fvec2) Load 30(inF1)
-             525:   24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 522 523 524
-                              Store 521(r053) 525
-             530:   26(ivec2) BitReverse 529
-                              Store 526(r054) 530
-             532:   24(fvec2) Load 29(inF0)
-             533:   24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 532
-                              Store 531(r055) 533
-             535:   24(fvec2) Load 29(inF0)
-             536:   24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 535
-                              Store 534(r056) 536
+             475:   24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 474
+                              Store 473(r043) 475
+             477:   24(fvec2) Load 29(inF0)
+             478:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 477
+             479:   24(fvec2) VectorTimesScalar 478 260
+                              Store 476(r044) 479
+             481:   24(fvec2) Load 29(inF0)
+             482:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 481
+                              Store 480(r045) 482
+             484:   24(fvec2) Load 29(inF0)
+             485:   24(fvec2) Load 30(inF1)
+             486:   24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 484 485
+                              Store 483(r046) 486
+             488:   24(fvec2) Load 29(inF0)
+             489:   24(fvec2) Load 30(inF1)
+             490:   24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 488 489
+                              Store 487(r047) 490
+             492:   24(fvec2) Load 29(inF0)
+             493:   24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 492
+                              Store 491(r048) 493
+             495:   24(fvec2) Load 29(inF0)
+             496:   24(fvec2) Load 30(inF1)
+             497:   24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 495 496
+                              Store 494(r049) 497
+             499:   24(fvec2) Load 29(inF0)
+             500:   24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 499
+                              Store 498(r050) 500
+             502:   24(fvec2) Load 29(inF0)
+             503:   24(fvec2) CompositeConstruct 281 281
+             504:   24(fvec2) FDiv 503 502
+                              Store 501(r051) 504
+             506:   24(fvec2) Load 29(inF0)
+             507:   24(fvec2) Load 30(inF1)
+             508:   24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 506 507
+                              Store 505(r052) 508
+             510:   24(fvec2) Load 29(inF0)
+             511:   24(fvec2) Load 30(inF1)
+             513:   24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 510 511 512
+                              Store 509(r053) 513
+             518:   26(ivec2) BitReverse 517
+                              Store 514(r054) 518
+             520:   24(fvec2) Load 29(inF0)
+             521:   24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 520
+                              Store 519(r055) 521
+             523:   24(fvec2) Load 29(inF0)
+             524:   24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 523
+                              Store 522(r056) 524
+             526:   24(fvec2) Load 29(inF0)
+             527:   24(fvec2) CompositeConstruct 179 179
+             528:   24(fvec2) CompositeConstruct 281 281
+             529:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 526 527 528
+                              Store 525(r057) 529
+             531:   24(fvec2) Load 29(inF0)
+             532:   24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 531
+                              Store 530(r058) 532
+             534:   24(fvec2) Load 29(inF0)
+             535:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 534
+                              Store 533(r059) 535
+             536:   24(fvec2) Load 29(inF0)
+             537:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 536
+                              Store 30(inF1) 537
              538:   24(fvec2) Load 29(inF0)
-             539:   24(fvec2) CompositeConstruct 179 179
-             540:   24(fvec2) CompositeConstruct 287 287
-             541:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 538 539 540
-                              Store 537(r057) 541
-             543:   24(fvec2) Load 29(inF0)
-             544:   24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 543
-                              Store 542(r058) 544
-             546:   24(fvec2) Load 29(inF0)
-             547:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 546
-                              Store 545(r059) 547
-             548:   24(fvec2) Load 29(inF0)
-             549:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 548
-                              Store 30(inF1) 549
-             550:   24(fvec2) Load 29(inF0)
-             551:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 550
-                              Store 31(inF2) 551
-             553:   24(fvec2) Load 29(inF0)
-             554:   24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 553
-                              Store 552(r060) 554
+             539:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 538
+                              Store 31(inF2) 539
+             541:   24(fvec2) Load 29(inF0)
+             542:   24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 541
+                              Store 540(r060) 542
+             544:   24(fvec2) Load 29(inF0)
+             545:   24(fvec2) Load 30(inF1)
+             546:   24(fvec2) Load 31(inF2)
+             547:   24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 544 545 546
+                              Store 543(r061) 547
+             549:   24(fvec2) Load 29(inF0)
+             550:   24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 549
+                              Store 548(r062) 550
+             552:   24(fvec2) Load 29(inF0)
+             553:   24(fvec2) Load 30(inF1)
+             554:   24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 552 553
+                              Store 551(r063) 554
              556:   24(fvec2) Load 29(inF0)
-             557:   24(fvec2) Load 30(inF1)
-             558:   24(fvec2) Load 31(inF2)
-             559:   24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 556 557 558
-                              Store 555(r061) 559
-             561:   24(fvec2) Load 29(inF0)
-             562:   24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 561
-                              Store 560(r062) 562
-             564:   24(fvec2) Load 29(inF0)
-             565:   24(fvec2) Load 30(inF1)
-             566:   24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 564 565
-                              Store 563(r063) 566
-             568:   24(fvec2) Load 29(inF0)
-             569:   24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 568
-                              Store 567(r064) 569
-             571:   24(fvec2) Load 29(inF0)
-             572:   24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 571
-                              Store 570(r065) 572
-             574:   24(fvec2) Load 29(inF0)
-             575:   24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 574
-                              Store 573(r066) 575
-                              ReturnValue 576
+             557:   24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 556
+                              Store 555(r064) 557
+             559:   24(fvec2) Load 29(inF0)
+             560:   24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 559
+                              Store 558(r065) 560
+             562:   24(fvec2) Load 29(inF0)
+             563:   24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 562
+                              Store 561(r066) 563
+                              ReturnValue 564
                               FunctionEnd
 46(PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
         41(inF0):     37(ptr) FunctionParameter
@@ -6858,306 +6739,299 @@ gl_FragCoord origin is upper left
         44(inU0):     39(ptr) FunctionParameter
         45(inU1):     39(ptr) FunctionParameter
               47:             Label
-       579(r000):    136(ptr) Variable Function
-       582(r001):     37(ptr) Variable Function
-       585(r002):     37(ptr) Variable Function
-       588(r003):    136(ptr) Variable Function
-       591(r004):     37(ptr) Variable Function
-       596(r005):    595(ptr) Variable Function
-       599(r006):     39(ptr) Variable Function
-       602(r007):     37(ptr) Variable Function
-       605(r009):     37(ptr) Variable Function
-       608(r010):     37(ptr) Variable Function
-       612(r011):     37(ptr) Variable Function
-       615(r012):     37(ptr) Variable Function
-       628(r013):     37(ptr) Variable Function
-       631(r014):     37(ptr) Variable Function
-       634(r015):     39(ptr) Variable Function
-       639(r016):     37(ptr) Variable Function
-       643(r017):     37(ptr) Variable Function
-       646(r018):     37(ptr) Variable Function
-       649(r019):     37(ptr) Variable Function
-       652(r020):     37(ptr) Variable Function
-       655(r021):     37(ptr) Variable Function
-       658(r022):     37(ptr) Variable Function
-       661(r023):     37(ptr) Variable Function
-       664(r024):      7(ptr) Variable Function
-       668(r025):      7(ptr) Variable Function
-       672(r029):     37(ptr) Variable Function
-       675(r030):     37(ptr) Variable Function
-       678(r031):     37(ptr) Variable Function
-       683(r032):     39(ptr) Variable Function
-       687(r033):     39(ptr) Variable Function
-       689(r034):     37(ptr) Variable Function
-       692(r036):     37(ptr) Variable Function
-       696(r037):     37(ptr) Variable Function
-       699(r038):     37(ptr) Variable Function
-       705(r039):     37(ptr) Variable Function
-       709(r040):    708(ptr) Variable Function
-       712(r041):    708(ptr) Variable Function
-       715(r042):     37(ptr) Variable Function
-      719(r039a):     37(ptr) Variable Function
-      724(r039b):     37(ptr) Variable Function
-       730(r043):      7(ptr) Variable Function
-       733(r044):     37(ptr) Variable Function
-       736(r045):     37(ptr) Variable Function
-       740(r046):     37(ptr) Variable Function
-       743(r047):     37(ptr) Variable Function
-       747(r048):     37(ptr) Variable Function
-       751(r049):     37(ptr) Variable Function
-       754(r050):     37(ptr) Variable Function
-       758(r051):     37(ptr) Variable Function
-       761(r052):     37(ptr) Variable Function
-       765(r053):     37(ptr) Variable Function
-       769(r054):     37(ptr) Variable Function
-       773(r055):     39(ptr) Variable Function
-       776(r056):     37(ptr) Variable Function
-       779(r057):     37(ptr) Variable Function
-       782(r058):     37(ptr) Variable Function
-       787(r059):     37(ptr) Variable Function
-       790(r060):     37(ptr) Variable Function
-       797(r061):     37(ptr) Variable Function
-       800(r062):     37(ptr) Variable Function
-       805(r063):     37(ptr) Variable Function
-       808(r064):     37(ptr) Variable Function
-       812(r065):     37(ptr) Variable Function
-       815(r066):     37(ptr) Variable Function
-       818(r067):     37(ptr) Variable Function
+       567(r000):    136(ptr) Variable Function
+       570(r001):     37(ptr) Variable Function
+       573(r002):     37(ptr) Variable Function
+       576(r003):    136(ptr) Variable Function
+       579(r004):     37(ptr) Variable Function
+       584(r005):    583(ptr) Variable Function
+       587(r006):     39(ptr) Variable Function
+       590(r007):     37(ptr) Variable Function
+       593(r009):     37(ptr) Variable Function
+       596(r010):     37(ptr) Variable Function
+       600(r011):     37(ptr) Variable Function
+       603(r012):     37(ptr) Variable Function
+       616(r013):     37(ptr) Variable Function
+       619(r014):     37(ptr) Variable Function
+       622(r015):     39(ptr) Variable Function
+       627(r016):     37(ptr) Variable Function
+       631(r017):     37(ptr) Variable Function
+       634(r018):     37(ptr) Variable Function
+       637(r019):     37(ptr) Variable Function
+       640(r020):     37(ptr) Variable Function
+       643(r021):     37(ptr) Variable Function
+       646(r022):     37(ptr) Variable Function
+       649(r023):     37(ptr) Variable Function
+       652(r024):      7(ptr) Variable Function
+       656(r025):      7(ptr) Variable Function
+       660(r029):     37(ptr) Variable Function
+       663(r030):     37(ptr) Variable Function
+       666(r031):     37(ptr) Variable Function
+       671(r032):     39(ptr) Variable Function
+       675(r033):     39(ptr) Variable Function
+       677(r034):     37(ptr) Variable Function
+       680(r036):     37(ptr) Variable Function
+       684(r037):     37(ptr) Variable Function
+       687(r039):     37(ptr) Variable Function
+       691(r040):    690(ptr) Variable Function
+       694(r041):    690(ptr) Variable Function
+       697(r042):     37(ptr) Variable Function
+      701(r039a):     37(ptr) Variable Function
+      706(r039b):     37(ptr) Variable Function
+       712(r043):      7(ptr) Variable Function
+       715(r044):     37(ptr) Variable Function
+       718(r045):     37(ptr) Variable Function
+       722(r046):     37(ptr) Variable Function
+       725(r047):     37(ptr) Variable Function
+       729(r048):     37(ptr) Variable Function
+       733(r049):     37(ptr) Variable Function
+       736(r050):     37(ptr) Variable Function
+       740(r051):     37(ptr) Variable Function
+       743(r052):     37(ptr) Variable Function
+       747(r053):     37(ptr) Variable Function
+       751(r054):     37(ptr) Variable Function
+       755(r055):     39(ptr) Variable Function
+       758(r056):     37(ptr) Variable Function
+       761(r057):     37(ptr) Variable Function
+       764(r058):     37(ptr) Variable Function
+       769(r059):     37(ptr) Variable Function
+       772(r060):     37(ptr) Variable Function
+       779(r061):     37(ptr) Variable Function
+       782(r062):     37(ptr) Variable Function
+       787(r063):     37(ptr) Variable Function
+       790(r064):     37(ptr) Variable Function
+       794(r065):     37(ptr) Variable Function
+       797(r066):     37(ptr) Variable Function
+       800(r067):     37(ptr) Variable Function
+             568:   36(fvec3) Load 41(inF0)
+             569:   135(bool) All 568
+                              Store 567(r000) 569
+             571:   36(fvec3) Load 41(inF0)
+             572:   36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 571
+                              Store 570(r001) 572
+             574:   36(fvec3) Load 41(inF0)
+             575:   36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 574
+                              Store 573(r002) 575
+             577:   36(fvec3) Load 41(inF0)
+             578:   135(bool) Any 577
+                              Store 576(r003) 578
              580:   36(fvec3) Load 41(inF0)
-             581:   135(bool) All 580
-                              Store 579(r000) 581
-             583:   36(fvec3) Load 41(inF0)
-             584:   36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 583
-                              Store 582(r001) 584
-             586:   36(fvec3) Load 41(inF0)
-             587:   36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 586
-                              Store 585(r002) 587
-             589:   36(fvec3) Load 41(inF0)
-             590:   135(bool) Any 589
-                              Store 588(r003) 590
-             592:   36(fvec3) Load 41(inF0)
-             593:   36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 592
-                              Store 591(r004) 593
+             581:   36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 580
+                              Store 579(r004) 581
+             585:   36(fvec3) Load 41(inF0)
+             586:  582(ivec3) Bitcast 585
+                              Store 584(r005) 586
+             588:   36(fvec3) Load 41(inF0)
+             589:   38(ivec3) Bitcast 588
+                              Store 587(r006) 589
+             591:   38(ivec3) Load 44(inU0)
+             592:   36(fvec3) Bitcast 591
+                              Store 590(r007) 592
+             594:   36(fvec3) Load 41(inF0)
+             595:   36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 594
+                              Store 593(r009) 595
              597:   36(fvec3) Load 41(inF0)
-             598:  594(ivec3) Bitcast 597
-                              Store 596(r005) 598
-             600:   36(fvec3) Load 41(inF0)
-             601:   38(ivec3) Bitcast 600
-                              Store 599(r006) 601
-             603:   38(ivec3) Load 44(inU0)
-             604:   36(fvec3) Bitcast 603
-                              Store 602(r007) 604
-             606:   36(fvec3) Load 41(inF0)
-             607:   36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 606
-                              Store 605(r009) 607
-             609:   36(fvec3) Load 41(inF0)
-             610:   36(fvec3) Load 42(inF1)
-             611:   36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 609 610
-                              Store 608(r010) 611
-             613:   36(fvec3) Load 41(inF0)
-             614:   36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 613
-                              Store 612(r011) 614
-             616:   36(fvec3) Load 41(inF0)
-             617:   36(fvec3) Load 42(inF1)
-             618:   36(fvec3) Load 43(inF2)
-             619:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 616 617 618
-                              Store 615(r012) 619
-             620:   36(fvec3) Load 41(inF0)
-             623:  622(bvec3) FOrdLessThan 620 621
-             624:   135(bool) Any 623
-                              SelectionMerge 626 None
-                              BranchConditional 624 625 626
-             625:               Label
+             598:   36(fvec3) Load 42(inF1)
+             599:   36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 597 598
+                              Store 596(r010) 599
+             601:   36(fvec3) Load 41(inF0)
+             602:   36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 601
+                              Store 600(r011) 602
+             604:   36(fvec3) Load 41(inF0)
+             605:   36(fvec3) Load 42(inF1)
+             606:   36(fvec3) Load 43(inF2)
+             607:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 604 605 606
+                              Store 603(r012) 607
+             608:   36(fvec3) Load 41(inF0)
+             611:  610(bvec3) FOrdLessThan 608 609
+             612:   135(bool) Any 611
+                              SelectionMerge 614 None
+                              BranchConditional 612 613 614
+             613:               Label
                                 Kill
-             626:             Label
-             629:   36(fvec3) Load 41(inF0)
-             630:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 629
-                              Store 628(r013) 630
+             614:             Label
+             617:   36(fvec3) Load 41(inF0)
+             618:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 617
+                              Store 616(r013) 618
+             620:   36(fvec3) Load 41(inF0)
+             621:   36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 620
+                              Store 619(r014) 621
+             626:   38(ivec3) BitCount 625
+                              Store 622(r015) 626
+             628:   36(fvec3) Load 41(inF0)
+             629:   36(fvec3) Load 42(inF1)
+             630:   36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 628 629
+                              Store 627(r016) 630
              632:   36(fvec3) Load 41(inF0)
-             633:   36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 632
-                              Store 631(r014) 633
-             638:   38(ivec3) BitCount 637
-                              Store 634(r015) 638
-             640:   36(fvec3) Load 41(inF0)
-             641:   36(fvec3) Load 42(inF1)
-             642:   36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 640 641
-                              Store 639(r016) 642
+             633:   36(fvec3) DPdx 632
+                              Store 631(r017) 633
+             635:   36(fvec3) Load 41(inF0)
+             636:   36(fvec3) DPdxCoarse 635
+                              Store 634(r018) 636
+             638:   36(fvec3) Load 41(inF0)
+             639:   36(fvec3) DPdxFine 638
+                              Store 637(r019) 639
+             641:   36(fvec3) Load 41(inF0)
+             642:   36(fvec3) DPdy 641
+                              Store 640(r020) 642
              644:   36(fvec3) Load 41(inF0)
-             645:   36(fvec3) DPdx 644
-                              Store 643(r017) 645
+             645:   36(fvec3) DPdyCoarse 644
+                              Store 643(r021) 645
              647:   36(fvec3) Load 41(inF0)
-             648:   36(fvec3) DPdxCoarse 647
-                              Store 646(r018) 648
+             648:   36(fvec3) DPdyFine 647
+                              Store 646(r022) 648
              650:   36(fvec3) Load 41(inF0)
-             651:   36(fvec3) DPdxFine 650
-                              Store 649(r019) 651
+             651:   36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 650
+                              Store 649(r023) 651
              653:   36(fvec3) Load 41(inF0)
-             654:   36(fvec3) DPdy 653
-                              Store 652(r020) 654
-             656:   36(fvec3) Load 41(inF0)
-             657:   36(fvec3) DPdyCoarse 656
-                              Store 655(r021) 657
-             659:   36(fvec3) Load 41(inF0)
-             660:   36(fvec3) DPdyFine 659
-                              Store 658(r022) 660
-             662:   36(fvec3) Load 41(inF0)
-             663:   36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 662
-                              Store 661(r023) 663
-             665:   36(fvec3) Load 41(inF0)
-             666:   36(fvec3) Load 42(inF1)
-             667:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 665 666
-                              Store 664(r024) 667
-             669:   36(fvec3) Load 41(inF0)
-             670:   36(fvec3) Load 42(inF1)
-             671:    6(float) Dot 669 670
-                              Store 668(r025) 671
-             673:   36(fvec3) Load 41(inF0)
-             674:   36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 673
-                              Store 672(r029) 674
-             676:   36(fvec3) Load 41(inF0)
-             677:   36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 676
-                              Store 675(r030) 677
-             679:   36(fvec3) Load 41(inF0)
-             680:   36(fvec3) Load 42(inF1)
-             681:   36(fvec3) Load 43(inF2)
-             682:   36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 679 680 681
-                              Store 678(r031) 682
-             686:   38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 685
-                              Store 683(r032) 686
-             688:   38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 685
-                              Store 687(r033) 688
-             690:   36(fvec3) Load 41(inF0)
-             691:   36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 690
-                              Store 689(r034) 691
-             693:   36(fvec3) Load 41(inF0)
-             694:   36(fvec3) Load 42(inF1)
-             695:   36(fvec3) FMod 693 694
-                              Store 692(r036) 695
-             697:   36(fvec3) Load 41(inF0)
-             698:   36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 697
-                              Store 696(r037) 698
-             700:   36(fvec3) Load 41(inF0)
-             702:701(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 700
-             703:  594(ivec3) CompositeExtract 702 1
-                              Store 42(inF1) 703
-             704:   36(fvec3) CompositeExtract 702 0
-                              Store 699(r038) 704
-             706:   36(fvec3) Load 41(inF0)
-             707:   36(fvec3) Fwidth 706
-                              Store 705(r039) 707
-             710:   36(fvec3) Load 41(inF0)
-             711:  622(bvec3) IsInf 710
-                              Store 709(r040) 711
+             654:   36(fvec3) Load 42(inF1)
+             655:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 653 654
+                              Store 652(r024) 655
+             657:   36(fvec3) Load 41(inF0)
+             658:   36(fvec3) Load 42(inF1)
+             659:    6(float) Dot 657 658
+                              Store 656(r025) 659
+             661:   36(fvec3) Load 41(inF0)
+             662:   36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 661
+                              Store 660(r029) 662
+             664:   36(fvec3) Load 41(inF0)
+             665:   36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 664
+                              Store 663(r030) 665
+             667:   36(fvec3) Load 41(inF0)
+             668:   36(fvec3) Load 42(inF1)
+             669:   36(fvec3) Load 43(inF2)
+             670:   36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 667 668 669
+                              Store 666(r031) 670
+             674:   38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 673
+                              Store 671(r032) 674
+             676:   38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 673
+                              Store 675(r033) 676
+             678:   36(fvec3) Load 41(inF0)
+             679:   36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 678
+                              Store 677(r034) 679
+             681:   36(fvec3) Load 41(inF0)
+             682:   36(fvec3) Load 42(inF1)
+             683:   36(fvec3) FMod 681 682
+                              Store 680(r036) 683
+             685:   36(fvec3) Load 41(inF0)
+             686:   36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 685
+                              Store 684(r037) 686
+             688:   36(fvec3) Load 41(inF0)
+             689:   36(fvec3) Fwidth 688
+                              Store 687(r039) 689
+             692:   36(fvec3) Load 41(inF0)
+             693:  610(bvec3) IsInf 692
+                              Store 691(r040) 693
+             695:   36(fvec3) Load 41(inF0)
+             696:  610(bvec3) IsNan 695
+                              Store 694(r041) 696
+             698:   36(fvec3) Load 41(inF0)
+             699:   36(fvec3) Load 42(inF1)
+             700:   36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 698 699
+                              Store 697(r042) 700
+             702:   36(fvec3) Load 41(inF0)
+             703:   36(fvec3) Load 42(inF1)
+             704:   36(fvec3) Load 43(inF2)
+             705:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 702 703 704
+                              Store 701(r039a) 705
+             707:   36(fvec3) Load 41(inF0)
+             708:   36(fvec3) Load 42(inF1)
+             710:   36(fvec3) CompositeConstruct 709 709 709
+             711:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 707 708 710
+                              Store 706(r039b) 711
              713:   36(fvec3) Load 41(inF0)
-             714:  622(bvec3) IsNan 713
-                              Store 712(r041) 714
+             714:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 713
+                              Store 712(r043) 714
              716:   36(fvec3) Load 41(inF0)
-             717:   36(fvec3) Load 42(inF1)
-             718:   36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 716 717
-                              Store 715(r042) 718
-             720:   36(fvec3) Load 41(inF0)
-             721:   36(fvec3) Load 42(inF1)
-             722:   36(fvec3) Load 43(inF2)
-             723:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 720 721 722
-                              Store 719(r039a) 723
-             725:   36(fvec3) Load 41(inF0)
-             726:   36(fvec3) Load 42(inF1)
-             728:   36(fvec3) CompositeConstruct 727 727 727
-             729:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 725 726 728
-                              Store 724(r039b) 729
-             731:   36(fvec3) Load 41(inF0)
-             732:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 731
-                              Store 730(r043) 732
+             717:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 716
+                              Store 715(r044) 717
+             719:   36(fvec3) Load 41(inF0)
+             720:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 719
+             721:   36(fvec3) VectorTimesScalar 720 260
+                              Store 718(r045) 721
+             723:   36(fvec3) Load 41(inF0)
+             724:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 723
+                              Store 722(r046) 724
+             726:   36(fvec3) Load 41(inF0)
+             727:   36(fvec3) Load 42(inF1)
+             728:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 726 727
+                              Store 725(r047) 728
+             730:   36(fvec3) Load 41(inF0)
+             731:   36(fvec3) Load 42(inF1)
+             732:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 730 731
+                              Store 729(r048) 732
              734:   36(fvec3) Load 41(inF0)
-             735:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 734
-                              Store 733(r044) 735
+             735:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 734
+                              Store 733(r049) 735
              737:   36(fvec3) Load 41(inF0)
-             738:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 737
-             739:   36(fvec3) VectorTimesScalar 738 266
-                              Store 736(r045) 739
+             738:   36(fvec3) Load 42(inF1)
+             739:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 737 738
+                              Store 736(r050) 739
              741:   36(fvec3) Load 41(inF0)
-             742:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 741
-                              Store 740(r046) 742
+             742:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 741
+                              Store 740(r051) 742
              744:   36(fvec3) Load 41(inF0)
-             745:   36(fvec3) Load 42(inF1)
-             746:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 744 745
-                              Store 743(r047) 746
+             745:   36(fvec3) CompositeConstruct 281 281 281
+             746:   36(fvec3) FDiv 745 744
+                              Store 743(r052) 746
              748:   36(fvec3) Load 41(inF0)
              749:   36(fvec3) Load 42(inF1)
-             750:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 748 749
-                              Store 747(r048) 750
+             750:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 748 749
+                              Store 747(r053) 750
              752:   36(fvec3) Load 41(inF0)
-             753:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 752
-                              Store 751(r049) 753
-             755:   36(fvec3) Load 41(inF0)
-             756:   36(fvec3) Load 42(inF1)
-             757:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 755 756
-                              Store 754(r050) 757
+             753:   36(fvec3) Load 42(inF1)
+             754:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 752 753 512
+                              Store 751(r054) 754
+             757:   38(ivec3) BitReverse 756
+                              Store 755(r055) 757
              759:   36(fvec3) Load 41(inF0)
-             760:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 759
-                              Store 758(r051) 760
+             760:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 759
+                              Store 758(r056) 760
              762:   36(fvec3) Load 41(inF0)
-             763:   36(fvec3) CompositeConstruct 287 287 287
-             764:   36(fvec3) FDiv 763 762
-                              Store 761(r052) 764
-             766:   36(fvec3) Load 41(inF0)
-             767:   36(fvec3) Load 42(inF1)
-             768:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 766 767
-                              Store 765(r053) 768
+             763:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 762
+                              Store 761(r057) 763
+             765:   36(fvec3) Load 41(inF0)
+             766:   36(fvec3) CompositeConstruct 179 179 179
+             767:   36(fvec3) CompositeConstruct 281 281 281
+             768:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 765 766 767
+                              Store 764(r058) 768
              770:   36(fvec3) Load 41(inF0)
-             771:   36(fvec3) Load 42(inF1)
-             772:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 770 771 524
-                              Store 769(r054) 772
-             775:   38(ivec3) BitReverse 774
-                              Store 773(r055) 775
+             771:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 770
+                              Store 769(r059) 771
+             773:   36(fvec3) Load 41(inF0)
+             774:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 773
+                              Store 772(r060) 774
+             775:   36(fvec3) Load 41(inF0)
+             776:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 775
+                              Store 42(inF1) 776
              777:   36(fvec3) Load 41(inF0)
-             778:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 777
-                              Store 776(r056) 778
+             778:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 777
+                              Store 43(inF2) 778
              780:   36(fvec3) Load 41(inF0)
-             781:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 780
-                              Store 779(r057) 781
+             781:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 780
+                              Store 779(r061) 781
              783:   36(fvec3) Load 41(inF0)
-             784:   36(fvec3) CompositeConstruct 179 179 179
-             785:   36(fvec3) CompositeConstruct 287 287 287
-             786:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 783 784 785
-                              Store 782(r058) 786
+             784:   36(fvec3) Load 42(inF1)
+             785:   36(fvec3) Load 43(inF2)
+             786:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 783 784 785
+                              Store 782(r062) 786
              788:   36(fvec3) Load 41(inF0)
-             789:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 788
-                              Store 787(r059) 789
+             789:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 788
+                              Store 787(r063) 789
              791:   36(fvec3) Load 41(inF0)
-             792:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 791
-                              Store 790(r060) 792
-             793:   36(fvec3) Load 41(inF0)
-             794:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 793
-                              Store 42(inF1) 794
+             792:   36(fvec3) Load 42(inF1)
+             793:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 791 792
+                              Store 790(r064) 793
              795:   36(fvec3) Load 41(inF0)
-             796:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 795
-                              Store 43(inF2) 796
+             796:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 795
+                              Store 794(r065) 796
              798:   36(fvec3) Load 41(inF0)
-             799:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 798
-                              Store 797(r061) 799
+             799:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 798
+                              Store 797(r066) 799
              801:   36(fvec3) Load 41(inF0)
-             802:   36(fvec3) Load 42(inF1)
-             803:   36(fvec3) Load 43(inF2)
-             804:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 801 802 803
-                              Store 800(r062) 804
-             806:   36(fvec3) Load 41(inF0)
-             807:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 806
-                              Store 805(r063) 807
-             809:   36(fvec3) Load 41(inF0)
-             810:   36(fvec3) Load 42(inF1)
-             811:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 809 810
-                              Store 808(r064) 811
-             813:   36(fvec3) Load 41(inF0)
-             814:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 813
-                              Store 812(r065) 814
-             816:   36(fvec3) Load 41(inF0)
-             817:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 816
-                              Store 815(r066) 817
-             819:   36(fvec3) Load 41(inF0)
-             820:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 819
-                              Store 818(r067) 820
-                              ReturnValue 822
+             802:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 801
+                              Store 800(r067) 802
+                              ReturnValue 804
                               FunctionEnd
 58(PixelShaderFunction(vf4;vf4;vf4;vu4;vu4;):   48(fvec4) Function None 52
         53(inF0):     49(ptr) FunctionParameter
@@ -7166,1018 +7040,990 @@ gl_FragCoord origin is upper left
         56(inU0):     51(ptr) FunctionParameter
         57(inU1):     51(ptr) FunctionParameter
               59:             Label
-       825(r000):    136(ptr) Variable Function
-       828(r001):     49(ptr) Variable Function
-       831(r002):     49(ptr) Variable Function
-       834(r003):    136(ptr) Variable Function
-       837(r004):     49(ptr) Variable Function
-       842(r005):    841(ptr) Variable Function
-       845(r006):     51(ptr) Variable Function
-       848(r007):     49(ptr) Variable Function
-       851(r009):     49(ptr) Variable Function
-       854(r010):     49(ptr) Variable Function
-       858(r011):     49(ptr) Variable Function
-       861(r012):     49(ptr) Variable Function
-       874(r013):     49(ptr) Variable Function
-       877(r014):     49(ptr) Variable Function
-       880(r015):     51(ptr) Variable Function
-       883(r016):     49(ptr) Variable Function
-       886(r017):     49(ptr) Variable Function
-       889(r018):     49(ptr) Variable Function
-       892(r019):     49(ptr) Variable Function
-       895(r020):     49(ptr) Variable Function
-       898(r021):     49(ptr) Variable Function
-       901(r022):     49(ptr) Variable Function
-       904(r023):      7(ptr) Variable Function
-       908(r024):      7(ptr) Variable Function
-       912(r025):     49(ptr) Variable Function
-       923(r029):     49(ptr) Variable Function
-       926(r030):     49(ptr) Variable Function
-       929(r031):     49(ptr) Variable Function
-       934(r032):     51(ptr) Variable Function
-       939(r033):     51(ptr) Variable Function
-       941(r034):     49(ptr) Variable Function
-       944(r036):     49(ptr) Variable Function
-       948(r037):     49(ptr) Variable Function
-       951(r038):     49(ptr) Variable Function
-       957(r039):     49(ptr) Variable Function
-       961(r040):    960(ptr) Variable Function
-       964(r041):    960(ptr) Variable Function
-       967(r042):     49(ptr) Variable Function
-      971(r039a):     49(ptr) Variable Function
-       976(r043):      7(ptr) Variable Function
-       979(r044):     49(ptr) Variable Function
-       982(r045):     49(ptr) Variable Function
-       986(r046):     49(ptr) Variable Function
-       989(r047):     49(ptr) Variable Function
-       993(r048):     49(ptr) Variable Function
-       997(r049):     49(ptr) Variable Function
-      1000(r050):     49(ptr) Variable Function
-      1004(r051):     49(ptr) Variable Function
-      1007(r052):     49(ptr) Variable Function
-      1011(r053):     49(ptr) Variable Function
-      1015(r054):     49(ptr) Variable Function
-      1019(r055):     51(ptr) Variable Function
-      1022(r056):     49(ptr) Variable Function
-      1025(r057):     49(ptr) Variable Function
-      1028(r058):     49(ptr) Variable Function
-      1033(r059):     49(ptr) Variable Function
-      1036(r060):     49(ptr) Variable Function
-      1043(r061):     49(ptr) Variable Function
-      1046(r062):     49(ptr) Variable Function
-      1051(r063):     49(ptr) Variable Function
-      1054(r064):     49(ptr) Variable Function
-      1058(r065):     49(ptr) Variable Function
-      1061(r066):     49(ptr) Variable Function
-      1064(r067):     49(ptr) Variable Function
-             826:   48(fvec4) Load 53(inF0)
-             827:   135(bool) All 826
-                              Store 825(r000) 827
-             829:   48(fvec4) Load 53(inF0)
-             830:   48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 829
-                              Store 828(r001) 830
-             832:   48(fvec4) Load 53(inF0)
-             833:   48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 832
-                              Store 831(r002) 833
-             835:   48(fvec4) Load 53(inF0)
-             836:   135(bool) Any 835
-                              Store 834(r003) 836
-             838:   48(fvec4) Load 53(inF0)
-             839:   48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 838
-                              Store 837(r004) 839
-             843:   48(fvec4) Load 53(inF0)
-             844:  840(ivec4) Bitcast 843
-                              Store 842(r005) 844
-             846:   48(fvec4) Load 53(inF0)
-             847:   50(ivec4) Bitcast 846
-                              Store 845(r006) 847
-             849:   50(ivec4) Load 56(inU0)
-             850:   48(fvec4) Bitcast 849
-                              Store 848(r007) 850
-             852:   48(fvec4) Load 53(inF0)
-             853:   48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 852
-                              Store 851(r009) 853
-             855:   48(fvec4) Load 53(inF0)
-             856:   48(fvec4) Load 54(inF1)
-             857:   48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 855 856
-                              Store 854(r010) 857
-             859:   48(fvec4) Load 53(inF0)
-             860:   48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 859
-                              Store 858(r011) 860
-             862:   48(fvec4) Load 53(inF0)
-             863:   48(fvec4) Load 54(inF1)
-             864:   48(fvec4) Load 55(inF2)
-             865:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 862 863 864
-                              Store 861(r012) 865
-             866:   48(fvec4) Load 53(inF0)
-             869:  868(bvec4) FOrdLessThan 866 867
-             870:   135(bool) Any 869
-                              SelectionMerge 872 None
-                              BranchConditional 870 871 872
-             871:               Label
+       807(r000):    136(ptr) Variable Function
+       810(r001):     49(ptr) Variable Function
+       813(r002):     49(ptr) Variable Function
+       816(r003):    136(ptr) Variable Function
+       819(r004):     49(ptr) Variable Function
+       824(r005):    823(ptr) Variable Function
+       827(r006):     51(ptr) Variable Function
+       830(r007):     49(ptr) Variable Function
+       833(r009):     49(ptr) Variable Function
+       836(r010):     49(ptr) Variable Function
+       840(r011):     49(ptr) Variable Function
+       843(r012):     49(ptr) Variable Function
+       856(r013):     49(ptr) Variable Function
+       859(r014):     49(ptr) Variable Function
+       862(r015):     51(ptr) Variable Function
+       865(r016):     49(ptr) Variable Function
+       868(r017):     49(ptr) Variable Function
+       871(r018):     49(ptr) Variable Function
+       874(r019):     49(ptr) Variable Function
+       877(r020):     49(ptr) Variable Function
+       880(r021):     49(ptr) Variable Function
+       883(r022):     49(ptr) Variable Function
+       886(r023):      7(ptr) Variable Function
+       890(r024):      7(ptr) Variable Function
+       894(r025):     49(ptr) Variable Function
+       905(r029):     49(ptr) Variable Function
+       908(r030):     49(ptr) Variable Function
+       911(r031):     49(ptr) Variable Function
+       916(r032):     51(ptr) Variable Function
+       921(r033):     51(ptr) Variable Function
+       923(r034):     49(ptr) Variable Function
+       926(r036):     49(ptr) Variable Function
+       930(r037):     49(ptr) Variable Function
+       933(r039):     49(ptr) Variable Function
+       937(r040):    936(ptr) Variable Function
+       940(r041):    936(ptr) Variable Function
+       943(r042):     49(ptr) Variable Function
+      947(r039a):     49(ptr) Variable Function
+       952(r043):      7(ptr) Variable Function
+       955(r044):     49(ptr) Variable Function
+       958(r045):     49(ptr) Variable Function
+       962(r046):     49(ptr) Variable Function
+       965(r047):     49(ptr) Variable Function
+       969(r048):     49(ptr) Variable Function
+       973(r049):     49(ptr) Variable Function
+       976(r050):     49(ptr) Variable Function
+       980(r051):     49(ptr) Variable Function
+       983(r052):     49(ptr) Variable Function
+       987(r053):     49(ptr) Variable Function
+       991(r054):     49(ptr) Variable Function
+       995(r055):     51(ptr) Variable Function
+       998(r056):     49(ptr) Variable Function
+      1001(r057):     49(ptr) Variable Function
+      1004(r058):     49(ptr) Variable Function
+      1009(r059):     49(ptr) Variable Function
+      1012(r060):     49(ptr) Variable Function
+      1019(r061):     49(ptr) Variable Function
+      1022(r062):     49(ptr) Variable Function
+      1027(r063):     49(ptr) Variable Function
+      1030(r064):     49(ptr) Variable Function
+      1034(r065):     49(ptr) Variable Function
+      1037(r066):     49(ptr) Variable Function
+      1040(r067):     49(ptr) Variable Function
+             808:   48(fvec4) Load 53(inF0)
+             809:   135(bool) All 808
+                              Store 807(r000) 809
+             811:   48(fvec4) Load 53(inF0)
+             812:   48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 811
+                              Store 810(r001) 812
+             814:   48(fvec4) Load 53(inF0)
+             815:   48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 814
+                              Store 813(r002) 815
+             817:   48(fvec4) Load 53(inF0)
+             818:   135(bool) Any 817
+                              Store 816(r003) 818
+             820:   48(fvec4) Load 53(inF0)
+             821:   48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 820
+                              Store 819(r004) 821
+             825:   48(fvec4) Load 53(inF0)
+             826:  822(ivec4) Bitcast 825
+                              Store 824(r005) 826
+             828:   48(fvec4) Load 53(inF0)
+             829:   50(ivec4) Bitcast 828
+                              Store 827(r006) 829
+             831:   50(ivec4) Load 56(inU0)
+             832:   48(fvec4) Bitcast 831
+                              Store 830(r007) 832
+             834:   48(fvec4) Load 53(inF0)
+             835:   48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 834
+                              Store 833(r009) 835
+             837:   48(fvec4) Load 53(inF0)
+             838:   48(fvec4) Load 54(inF1)
+             839:   48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 837 838
+                              Store 836(r010) 839
+             841:   48(fvec4) Load 53(inF0)
+             842:   48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 841
+                              Store 840(r011) 842
+             844:   48(fvec4) Load 53(inF0)
+             845:   48(fvec4) Load 54(inF1)
+             846:   48(fvec4) Load 55(inF2)
+             847:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 844 845 846
+                              Store 843(r012) 847
+             848:   48(fvec4) Load 53(inF0)
+             851:  850(bvec4) FOrdLessThan 848 849
+             852:   135(bool) Any 851
+                              SelectionMerge 854 None
+                              BranchConditional 852 853 854
+             853:               Label
                                 Kill
-             872:             Label
+             854:             Label
+             857:   48(fvec4) Load 53(inF0)
+             858:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 857
+                              Store 856(r013) 858
+             860:   48(fvec4) Load 53(inF0)
+             861:   48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 860
+                              Store 859(r014) 861
+             864:   50(ivec4) BitCount 863
+                              Store 862(r015) 864
+             866:   48(fvec4) Load 53(inF0)
+             867:   48(fvec4) DPdx 866
+                              Store 865(r016) 867
+             869:   48(fvec4) Load 53(inF0)
+             870:   48(fvec4) DPdxCoarse 869
+                              Store 868(r017) 870
+             872:   48(fvec4) Load 53(inF0)
+             873:   48(fvec4) DPdxFine 872
+                              Store 871(r018) 873
              875:   48(fvec4) Load 53(inF0)
-             876:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 875
-                              Store 874(r013) 876
+             876:   48(fvec4) DPdy 875
+                              Store 874(r019) 876
              878:   48(fvec4) Load 53(inF0)
-             879:   48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 878
-                              Store 877(r014) 879
-             882:   50(ivec4) BitCount 881
-                              Store 880(r015) 882
+             879:   48(fvec4) DPdyCoarse 878
+                              Store 877(r020) 879
+             881:   48(fvec4) Load 53(inF0)
+             882:   48(fvec4) DPdyFine 881
+                              Store 880(r021) 882
              884:   48(fvec4) Load 53(inF0)
-             885:   48(fvec4) DPdx 884
-                              Store 883(r016) 885
+             885:   48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 884
+                              Store 883(r022) 885
              887:   48(fvec4) Load 53(inF0)
-             888:   48(fvec4) DPdxCoarse 887
-                              Store 886(r017) 888
-             890:   48(fvec4) Load 53(inF0)
-             891:   48(fvec4) DPdxFine 890
-                              Store 889(r018) 891
-             893:   48(fvec4) Load 53(inF0)
-             894:   48(fvec4) DPdy 893
-                              Store 892(r019) 894
-             896:   48(fvec4) Load 53(inF0)
-             897:   48(fvec4) DPdyCoarse 896
-                              Store 895(r020) 897
-             899:   48(fvec4) Load 53(inF0)
-             900:   48(fvec4) DPdyFine 899
-                              Store 898(r021) 900
-             902:   48(fvec4) Load 53(inF0)
-             903:   48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 902
-                              Store 901(r022) 903
-             905:   48(fvec4) Load 53(inF0)
-             906:   48(fvec4) Load 54(inF1)
-             907:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 905 906
-                              Store 904(r023) 907
+             888:   48(fvec4) Load 54(inF1)
+             889:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 887 888
+                              Store 886(r023) 889
+             891:   48(fvec4) Load 53(inF0)
+             892:   48(fvec4) Load 54(inF1)
+             893:    6(float) Dot 891 892
+                              Store 890(r024) 893
+             895:      7(ptr) AccessChain 53(inF0) 515
+             896:    6(float) Load 895
+             897:      7(ptr) AccessChain 54(inF1) 515
+             898:    6(float) Load 897
+             899:    6(float) FMul 896 898
+             900:      7(ptr) AccessChain 53(inF0) 516
+             901:    6(float) Load 900
+             902:      7(ptr) AccessChain 54(inF1) 623
+             903:    6(float) Load 902
+             904:   48(fvec4) CompositeConstruct 281 899 901 903
+                              Store 894(r025) 904
+             906:   48(fvec4) Load 53(inF0)
+             907:   48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 906
+                              Store 905(r029) 907
              909:   48(fvec4) Load 53(inF0)
-             910:   48(fvec4) Load 54(inF1)
-             911:    6(float) Dot 909 910
-                              Store 908(r024) 911
-             913:      7(ptr) AccessChain 53(inF0) 527
-             914:    6(float) Load 913
-             915:      7(ptr) AccessChain 54(inF1) 527
-             916:    6(float) Load 915
-             917:    6(float) FMul 914 916
-             918:      7(ptr) AccessChain 53(inF0) 528
-             919:    6(float) Load 918
-             920:      7(ptr) AccessChain 54(inF1) 635
-             921:    6(float) Load 920
-             922:   48(fvec4) CompositeConstruct 287 917 919 921
-                              Store 912(r025) 922
+             910:   48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 909
+                              Store 908(r030) 910
+             912:   48(fvec4) Load 53(inF0)
+             913:   48(fvec4) Load 54(inF1)
+             914:   48(fvec4) Load 55(inF2)
+             915:   48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 912 913 914
+                              Store 911(r031) 915
+             920:   50(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 919
+                              Store 916(r032) 920
+             922:   50(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 919
+                              Store 921(r033) 922
              924:   48(fvec4) Load 53(inF0)
-             925:   48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 924
-                              Store 923(r029) 925
+             925:   48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 924
+                              Store 923(r034) 925
              927:   48(fvec4) Load 53(inF0)
-             928:   48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 927
-                              Store 926(r030) 928
-             930:   48(fvec4) Load 53(inF0)
-             931:   48(fvec4) Load 54(inF1)
-             932:   48(fvec4) Load 55(inF2)
-             933:   48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 930 931 932
-                              Store 929(r031) 933
-             938:   50(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 937
-                              Store 934(r032) 938
-             940:   50(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 937
-                              Store 939(r033) 940
-             942:   48(fvec4) Load 53(inF0)
-             943:   48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 942
-                              Store 941(r034) 943
-             945:   48(fvec4) Load 53(inF0)
-             946:   48(fvec4) Load 54(inF1)
-             947:   48(fvec4) FMod 945 946
-                              Store 944(r036) 947
-             949:   48(fvec4) Load 53(inF0)
-             950:   48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 949
-                              Store 948(r037) 950
-             952:   48(fvec4) Load 53(inF0)
-             954:953(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 952
-             955:  840(ivec4) CompositeExtract 954 1
-                              Store 54(inF1) 955
-             956:   48(fvec4) CompositeExtract 954 0
-                              Store 951(r038) 956
-             958:   48(fvec4) Load 53(inF0)
-             959:   48(fvec4) Fwidth 958
-                              Store 957(r039) 959
-             962:   48(fvec4) Load 53(inF0)
-             963:  868(bvec4) IsInf 962
-                              Store 961(r040) 963
-             965:   48(fvec4) Load 53(inF0)
-             966:  868(bvec4) IsNan 965
-                              Store 964(r041) 966
-             968:   48(fvec4) Load 53(inF0)
-             969:   48(fvec4) Load 54(inF1)
-             970:   48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 968 969
-                              Store 967(r042) 970
-             972:   48(fvec4) Load 53(inF0)
-             973:   48(fvec4) Load 54(inF1)
-             974:   48(fvec4) Load 55(inF2)
-             975:   48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 972 973 974
-                              Store 971(r039a) 975
+             928:   48(fvec4) Load 54(inF1)
+             929:   48(fvec4) FMod 927 928
+                              Store 926(r036) 929
+             931:   48(fvec4) Load 53(inF0)
+             932:   48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 931
+                              Store 930(r037) 932
+             934:   48(fvec4) Load 53(inF0)
+             935:   48(fvec4) Fwidth 934
+                              Store 933(r039) 935
+             938:   48(fvec4) Load 53(inF0)
+             939:  850(bvec4) IsInf 938
+                              Store 937(r040) 939
+             941:   48(fvec4) Load 53(inF0)
+             942:  850(bvec4) IsNan 941
+                              Store 940(r041) 942
+             944:   48(fvec4) Load 53(inF0)
+             945:   48(fvec4) Load 54(inF1)
+             946:   48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 944 945
+                              Store 943(r042) 946
+             948:   48(fvec4) Load 53(inF0)
+             949:   48(fvec4) Load 54(inF1)
+             950:   48(fvec4) Load 55(inF2)
+             951:   48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 948 949 950
+                              Store 947(r039a) 951
+             953:   48(fvec4) Load 53(inF0)
+             954:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 953
+                              Store 952(r043) 954
+             956:   48(fvec4) Load 53(inF0)
+             957:   48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 956
+                              Store 955(r044) 957
+             959:   48(fvec4) Load 53(inF0)
+             960:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 959
+             961:   48(fvec4) VectorTimesScalar 960 260
+                              Store 958(r045) 961
+             963:   48(fvec4) Load 53(inF0)
+             964:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 963
+                              Store 962(r046) 964
+             966:   48(fvec4) Load 53(inF0)
+             967:   48(fvec4) Load 54(inF1)
+             968:   48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 966 967
+                              Store 965(r047) 968
+             970:   48(fvec4) Load 53(inF0)
+             971:   48(fvec4) Load 54(inF1)
+             972:   48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 970 971
+                              Store 969(r048) 972
+             974:   48(fvec4) Load 53(inF0)
+             975:   48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 974
+                              Store 973(r049) 975
              977:   48(fvec4) Load 53(inF0)
-             978:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 977
-                              Store 976(r043) 978
-             980:   48(fvec4) Load 53(inF0)
-             981:   48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 980
-                              Store 979(r044) 981
-             983:   48(fvec4) Load 53(inF0)
-             984:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 983
-             985:   48(fvec4) VectorTimesScalar 984 266
-                              Store 982(r045) 985
-             987:   48(fvec4) Load 53(inF0)
-             988:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 987
-                              Store 986(r046) 988
-             990:   48(fvec4) Load 53(inF0)
-             991:   48(fvec4) Load 54(inF1)
-             992:   48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 990 991
-                              Store 989(r047) 992
-             994:   48(fvec4) Load 53(inF0)
-             995:   48(fvec4) Load 54(inF1)
-             996:   48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 994 995
-                              Store 993(r048) 996
-             998:   48(fvec4) Load 53(inF0)
-             999:   48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 998
-                              Store 997(r049) 999
-            1001:   48(fvec4) Load 53(inF0)
-            1002:   48(fvec4) Load 54(inF1)
-            1003:   48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 1001 1002
-                              Store 1000(r050) 1003
+             978:   48(fvec4) Load 54(inF1)
+             979:   48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 977 978
+                              Store 976(r050) 979
+             981:   48(fvec4) Load 53(inF0)
+             982:   48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 981
+                              Store 980(r051) 982
+             984:   48(fvec4) Load 53(inF0)
+             985:   48(fvec4) CompositeConstruct 281 281 281 281
+             986:   48(fvec4) FDiv 985 984
+                              Store 983(r052) 986
+             988:   48(fvec4) Load 53(inF0)
+             989:   48(fvec4) Load 54(inF1)
+             990:   48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 988 989
+                              Store 987(r053) 990
+             992:   48(fvec4) Load 53(inF0)
+             993:   48(fvec4) Load 54(inF1)
+             994:   48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 992 993 512
+                              Store 991(r054) 994
+             997:   50(ivec4) BitReverse 996
+                              Store 995(r055) 997
+             999:   48(fvec4) Load 53(inF0)
+            1000:   48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 999
+                              Store 998(r056) 1000
+            1002:   48(fvec4) Load 53(inF0)
+            1003:   48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1002
+                              Store 1001(r057) 1003
             1005:   48(fvec4) Load 53(inF0)
-            1006:   48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1005
-                              Store 1004(r051) 1006
-            1008:   48(fvec4) Load 53(inF0)
-            1009:   48(fvec4) CompositeConstruct 287 287 287 287
-            1010:   48(fvec4) FDiv 1009 1008
-                              Store 1007(r052) 1010
-            1012:   48(fvec4) Load 53(inF0)
-            1013:   48(fvec4) Load 54(inF1)
-            1014:   48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1012 1013
-                              Store 1011(r053) 1014
-            1016:   48(fvec4) Load 53(inF0)
-            1017:   48(fvec4) Load 54(inF1)
-            1018:   48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1016 1017 524
-                              Store 1015(r054) 1018
-            1021:   50(ivec4) BitReverse 1020
-                              Store 1019(r055) 1021
+            1006:   48(fvec4) CompositeConstruct 179 179 179 179
+            1007:   48(fvec4) CompositeConstruct 281 281 281 281
+            1008:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1005 1006 1007
+                              Store 1004(r058) 1008
+            1010:   48(fvec4) Load 53(inF0)
+            1011:   48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1010
+                              Store 1009(r059) 1011
+            1013:   48(fvec4) Load 53(inF0)
+            1014:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1013
+                              Store 1012(r060) 1014
+            1015:   48(fvec4) Load 53(inF0)
+            1016:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1015
+                              Store 54(inF1) 1016
+            1017:   48(fvec4) Load 53(inF0)
+            1018:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1017
+                              Store 55(inF2) 1018
+            1020:   48(fvec4) Load 53(inF0)
+            1021:   48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1020
+                              Store 1019(r061) 1021
             1023:   48(fvec4) Load 53(inF0)
-            1024:   48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1023
-                              Store 1022(r056) 1024
-            1026:   48(fvec4) Load 53(inF0)
-            1027:   48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1026
-                              Store 1025(r057) 1027
-            1029:   48(fvec4) Load 53(inF0)
-            1030:   48(fvec4) CompositeConstruct 179 179 179 179
-            1031:   48(fvec4) CompositeConstruct 287 287 287 287
-            1032:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1029 1030 1031
-                              Store 1028(r058) 1032
-            1034:   48(fvec4) Load 53(inF0)
-            1035:   48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1034
-                              Store 1033(r059) 1035
-            1037:   48(fvec4) Load 53(inF0)
-            1038:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1037
-                              Store 1036(r060) 1038
-            1039:   48(fvec4) Load 53(inF0)
-            1040:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1039
-                              Store 54(inF1) 1040
+            1024:   48(fvec4) Load 54(inF1)
+            1025:   48(fvec4) Load 55(inF2)
+            1026:   48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1023 1024 1025
+                              Store 1022(r062) 1026
+            1028:   48(fvec4) Load 53(inF0)
+            1029:   48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1028
+                              Store 1027(r063) 1029
+            1031:   48(fvec4) Load 53(inF0)
+            1032:   48(fvec4) Load 54(inF1)
+            1033:   48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1031 1032
+                              Store 1030(r064) 1033
+            1035:   48(fvec4) Load 53(inF0)
+            1036:   48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1035
+                              Store 1034(r065) 1036
+            1038:   48(fvec4) Load 53(inF0)
+            1039:   48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1038
+                              Store 1037(r066) 1039
             1041:   48(fvec4) Load 53(inF0)
-            1042:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1041
-                              Store 55(inF2) 1042
-            1044:   48(fvec4) Load 53(inF0)
-            1045:   48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1044
-                              Store 1043(r061) 1045
-            1047:   48(fvec4) Load 53(inF0)
-            1048:   48(fvec4) Load 54(inF1)
-            1049:   48(fvec4) Load 55(inF2)
-            1050:   48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1047 1048 1049
-                              Store 1046(r062) 1050
-            1052:   48(fvec4) Load 53(inF0)
-            1053:   48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1052
-                              Store 1051(r063) 1053
-            1055:   48(fvec4) Load 53(inF0)
-            1056:   48(fvec4) Load 54(inF1)
-            1057:   48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1055 1056
-                              Store 1054(r064) 1057
-            1059:   48(fvec4) Load 53(inF0)
-            1060:   48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1059
-                              Store 1058(r065) 1060
-            1062:   48(fvec4) Load 53(inF0)
-            1063:   48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1062
-                              Store 1061(r066) 1063
-            1065:   48(fvec4) Load 53(inF0)
-            1066:   48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1065
-                              Store 1064(r067) 1066
-                              ReturnValue 1068
+            1042:   48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1041
+                              Store 1040(r067) 1042
+                              ReturnValue 1044
                               FunctionEnd
 66(PixelShaderFunction2x2(mf22;mf22;mf22;):          60 Function None 62
         63(inF0):     61(ptr) FunctionParameter
         64(inF1):     61(ptr) FunctionParameter
         65(inF2):     61(ptr) FunctionParameter
               67:             Label
-      1071(r000):    136(ptr) Variable Function
-      1074(r001):     61(ptr) Variable Function
-      1079(r003):    136(ptr) Variable Function
-      1082(r004):     61(ptr) Variable Function
-      1085(r005):     61(ptr) Variable Function
-      1088(r006):     61(ptr) Variable Function
-      1092(r007):     61(ptr) Variable Function
-      1103(r008):     61(ptr) Variable Function
-      1108(r009):     61(ptr) Variable Function
-      1111(r010):     61(ptr) Variable Function
-      1114(r011):     61(ptr) Variable Function
-      1117(r012):     61(ptr) Variable Function
-      1120(r013):     61(ptr) Variable Function
-      1123(r014):     61(ptr) Variable Function
-      1126(r015):     61(ptr) Variable Function
-      1129(r016):     61(ptr) Variable Function
-      1132(r017):     61(ptr) Variable Function
-      1135(r018):      7(ptr) Variable Function
-      1138(r019):     61(ptr) Variable Function
-      1141(R020):     61(ptr) Variable Function
-      1144(r021):     61(ptr) Variable Function
-      1147(r022):     61(ptr) Variable Function
-      1157(r023):     61(ptr) Variable Function
-      1160(r024):     61(ptr) Variable Function
-      1166(r025):     61(ptr) Variable Function
-      1169(r026):     61(ptr) Variable Function
-     1173(r026a):     61(ptr) Variable Function
-      1178(r027):     61(ptr) Variable Function
-      1181(r028):     61(ptr) Variable Function
-      1185(r029):     61(ptr) Variable Function
-      1188(r030):     61(ptr) Variable Function
-      1192(r031):     61(ptr) Variable Function
-      1196(r032):     61(ptr) Variable Function
-      1200(r033):     61(ptr) Variable Function
-      1203(r034):     61(ptr) Variable Function
-      1206(r035):     61(ptr) Variable Function
-      1209(r036):     61(ptr) Variable Function
-      1214(r037):     61(ptr) Variable Function
-      1217(r038):     61(ptr) Variable Function
-      1224(r039):     61(ptr) Variable Function
-      1227(r049):     61(ptr) Variable Function
-      1232(r041):     61(ptr) Variable Function
-      1235(r042):     61(ptr) Variable Function
-      1239(r043):     61(ptr) Variable Function
-      1242(r044):     61(ptr) Variable Function
-      1247(r046):     61(ptr) Variable Function
-            1072:          60 Load 63(inF0)
-            1073:   135(bool) All 1072
-                              Store 1071(r000) 1073
-            1075:          60 Load 63(inF0)
-            1076:          60 ExtInst 1(GLSL.std.450) 4(FAbs) 1075
-                              Store 1074(r001) 1076
-            1077:          60 Load 63(inF0)
-            1078:          60 ExtInst 1(GLSL.std.450) 17(Acos) 1077
-            1080:          60 Load 63(inF0)
-            1081:   135(bool) Any 1080
-                              Store 1079(r003) 1081
-            1083:          60 Load 63(inF0)
-            1084:          60 ExtInst 1(GLSL.std.450) 16(Asin) 1083
-                              Store 1082(r004) 1084
-            1086:          60 Load 63(inF0)
-            1087:          60 ExtInst 1(GLSL.std.450) 18(Atan) 1086
-                              Store 1085(r005) 1087
-            1089:          60 Load 63(inF0)
-            1090:          60 Load 64(inF1)
-            1091:          60 ExtInst 1(GLSL.std.450) 25(Atan2) 1089 1090
-                              Store 1088(r006) 1091
-            1093:          60 Load 63(inF0)
-            1094:          60 ExtInst 1(GLSL.std.450) 9(Ceil) 1093
-                              Store 1092(r007) 1094
-            1095:          60 Load 63(inF0)
-            1098:        1097 FOrdLessThan 1095 1096
-            1099:   135(bool) Any 1098
-                              SelectionMerge 1101 None
-                              BranchConditional 1099 1100 1101
-            1100:               Label
+      1047(r000):    136(ptr) Variable Function
+      1050(r001):     61(ptr) Variable Function
+      1055(r003):    136(ptr) Variable Function
+      1058(r004):     61(ptr) Variable Function
+      1061(r005):     61(ptr) Variable Function
+      1064(r006):     61(ptr) Variable Function
+      1068(r007):     61(ptr) Variable Function
+      1079(r008):     61(ptr) Variable Function
+      1084(r009):     61(ptr) Variable Function
+      1087(r010):     61(ptr) Variable Function
+      1090(r011):     61(ptr) Variable Function
+      1093(r012):     61(ptr) Variable Function
+      1096(r013):     61(ptr) Variable Function
+      1099(r014):     61(ptr) Variable Function
+      1102(r015):     61(ptr) Variable Function
+      1105(r016):     61(ptr) Variable Function
+      1108(r017):     61(ptr) Variable Function
+      1111(r018):      7(ptr) Variable Function
+      1114(r019):     61(ptr) Variable Function
+      1117(R020):     61(ptr) Variable Function
+      1120(r021):     61(ptr) Variable Function
+      1123(r022):     61(ptr) Variable Function
+      1133(r023):     61(ptr) Variable Function
+      1136(r025):     61(ptr) Variable Function
+      1139(r026):     61(ptr) Variable Function
+     1143(r026a):     61(ptr) Variable Function
+      1148(r027):     61(ptr) Variable Function
+      1151(r028):     61(ptr) Variable Function
+      1155(r029):     61(ptr) Variable Function
+      1158(r030):     61(ptr) Variable Function
+      1162(r031):     61(ptr) Variable Function
+      1166(r032):     61(ptr) Variable Function
+      1170(r033):     61(ptr) Variable Function
+      1173(r034):     61(ptr) Variable Function
+      1176(r035):     61(ptr) Variable Function
+      1179(r036):     61(ptr) Variable Function
+      1184(r037):     61(ptr) Variable Function
+      1187(r038):     61(ptr) Variable Function
+      1194(r039):     61(ptr) Variable Function
+      1197(r049):     61(ptr) Variable Function
+      1202(r041):     61(ptr) Variable Function
+      1205(r042):     61(ptr) Variable Function
+      1209(r043):     61(ptr) Variable Function
+      1212(r044):     61(ptr) Variable Function
+      1217(r046):     61(ptr) Variable Function
+            1048:          60 Load 63(inF0)
+            1049:   135(bool) All 1048
+                              Store 1047(r000) 1049
+            1051:          60 Load 63(inF0)
+            1052:          60 ExtInst 1(GLSL.std.450) 4(FAbs) 1051
+                              Store 1050(r001) 1052
+            1053:          60 Load 63(inF0)
+            1054:          60 ExtInst 1(GLSL.std.450) 17(Acos) 1053
+            1056:          60 Load 63(inF0)
+            1057:   135(bool) Any 1056
+                              Store 1055(r003) 1057
+            1059:          60 Load 63(inF0)
+            1060:          60 ExtInst 1(GLSL.std.450) 16(Asin) 1059
+                              Store 1058(r004) 1060
+            1062:          60 Load 63(inF0)
+            1063:          60 ExtInst 1(GLSL.std.450) 18(Atan) 1062
+                              Store 1061(r005) 1063
+            1065:          60 Load 63(inF0)
+            1066:          60 Load 64(inF1)
+            1067:          60 ExtInst 1(GLSL.std.450) 25(Atan2) 1065 1066
+                              Store 1064(r006) 1067
+            1069:          60 Load 63(inF0)
+            1070:          60 ExtInst 1(GLSL.std.450) 9(Ceil) 1069
+                              Store 1068(r007) 1070
+            1071:          60 Load 63(inF0)
+            1074:        1073 FOrdLessThan 1071 1072
+            1075:   135(bool) Any 1074
+                              SelectionMerge 1077 None
+                              BranchConditional 1075 1076 1077
+            1076:               Label
                                 Kill
-            1101:             Label
-            1104:          60 Load 63(inF0)
-            1105:          60 Load 64(inF1)
-            1106:          60 Load 65(inF2)
-            1107:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 1104 1105 1106
-                              Store 1103(r008) 1107
+            1077:             Label
+            1080:          60 Load 63(inF0)
+            1081:          60 Load 64(inF1)
+            1082:          60 Load 65(inF2)
+            1083:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 1080 1081 1082
+                              Store 1079(r008) 1083
+            1085:          60 Load 63(inF0)
+            1086:          60 ExtInst 1(GLSL.std.450) 14(Cos) 1085
+                              Store 1084(r009) 1086
+            1088:          60 Load 63(inF0)
+            1089:          60 ExtInst 1(GLSL.std.450) 20(Cosh) 1088
+                              Store 1087(r010) 1089
+            1091:          60 Load 63(inF0)
+            1092:          60 DPdx 1091
+                              Store 1090(r011) 1092
+            1094:          60 Load 63(inF0)
+            1095:          60 DPdxCoarse 1094
+                              Store 1093(r012) 1095
+            1097:          60 Load 63(inF0)
+            1098:          60 DPdxFine 1097
+                              Store 1096(r013) 1098
+            1100:          60 Load 63(inF0)
+            1101:          60 DPdy 1100
+                              Store 1099(r014) 1101
+            1103:          60 Load 63(inF0)
+            1104:          60 DPdyCoarse 1103
+                              Store 1102(r015) 1104
+            1106:          60 Load 63(inF0)
+            1107:          60 DPdyFine 1106
+                              Store 1105(r016) 1107
             1109:          60 Load 63(inF0)
-            1110:          60 ExtInst 1(GLSL.std.450) 14(Cos) 1109
-                              Store 1108(r009) 1110
+            1110:          60 ExtInst 1(GLSL.std.450) 12(Degrees) 1109
+                              Store 1108(r017) 1110
             1112:          60 Load 63(inF0)
-            1113:          60 ExtInst 1(GLSL.std.450) 20(Cosh) 1112
-                              Store 1111(r010) 1113
+            1113:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1112
+                              Store 1111(r018) 1113
             1115:          60 Load 63(inF0)
-            1116:          60 DPdx 1115
-                              Store 1114(r011) 1116
+            1116:          60 ExtInst 1(GLSL.std.450) 27(Exp) 1115
+                              Store 1114(r019) 1116
             1118:          60 Load 63(inF0)
-            1119:          60 DPdxCoarse 1118
-                              Store 1117(r012) 1119
+            1119:          60 ExtInst 1(GLSL.std.450) 29(Exp2) 1118
+                              Store 1117(R020) 1119
             1121:          60 Load 63(inF0)
-            1122:          60 DPdxFine 1121
-                              Store 1120(r013) 1122
+            1122:          60 ExtInst 1(GLSL.std.450) 8(Floor) 1121
+                              Store 1120(r021) 1122
             1124:          60 Load 63(inF0)
-            1125:          60 DPdy 1124
-                              Store 1123(r014) 1125
-            1127:          60 Load 63(inF0)
-            1128:          60 DPdyCoarse 1127
-                              Store 1126(r015) 1128
-            1130:          60 Load 63(inF0)
-            1131:          60 DPdyFine 1130
-                              Store 1129(r016) 1131
-            1133:          60 Load 63(inF0)
-            1134:          60 ExtInst 1(GLSL.std.450) 12(Degrees) 1133
-                              Store 1132(r017) 1134
-            1136:          60 Load 63(inF0)
-            1137:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1136
-                              Store 1135(r018) 1137
-            1139:          60 Load 63(inF0)
-            1140:          60 ExtInst 1(GLSL.std.450) 27(Exp) 1139
-                              Store 1138(r019) 1140
-            1142:          60 Load 63(inF0)
-            1143:          60 ExtInst 1(GLSL.std.450) 29(Exp2) 1142
-                              Store 1141(R020) 1143
-            1145:          60 Load 63(inF0)
-            1146:          60 ExtInst 1(GLSL.std.450) 8(Floor) 1145
-                              Store 1144(r021) 1146
-            1148:          60 Load 63(inF0)
-            1149:          60 Load 64(inF1)
-            1150:   24(fvec2) CompositeExtract 1148 0
-            1151:   24(fvec2) CompositeExtract 1149 0
-            1152:   24(fvec2) FMod 1150 1151
-            1153:   24(fvec2) CompositeExtract 1148 1
-            1154:   24(fvec2) CompositeExtract 1149 1
-            1155:   24(fvec2) FMod 1153 1154
-            1156:          60 CompositeConstruct 1152 1155
-                              Store 1147(r022) 1156
-            1158:          60 Load 63(inF0)
-            1159:          60 ExtInst 1(GLSL.std.450) 10(Fract) 1158
-                              Store 1157(r023) 1159
-            1161:          60 Load 63(inF0)
-            1163:1162(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1161
-            1164:  356(ivec2) CompositeExtract 1163 1
-                              Store 64(inF1) 1164
-            1165:          60 CompositeExtract 1163 0
-                              Store 1160(r024) 1165
+            1125:          60 Load 64(inF1)
+            1126:   24(fvec2) CompositeExtract 1124 0
+            1127:   24(fvec2) CompositeExtract 1125 0
+            1128:   24(fvec2) FMod 1126 1127
+            1129:   24(fvec2) CompositeExtract 1124 1
+            1130:   24(fvec2) CompositeExtract 1125 1
+            1131:   24(fvec2) FMod 1129 1130
+            1132:          60 CompositeConstruct 1128 1131
+                              Store 1123(r022) 1132
+            1134:          60 Load 63(inF0)
+            1135:          60 ExtInst 1(GLSL.std.450) 10(Fract) 1134
+                              Store 1133(r023) 1135
+            1137:          60 Load 63(inF0)
+            1138:          60 Fwidth 1137
+                              Store 1136(r025) 1138
+            1140:          60 Load 63(inF0)
+            1141:          60 Load 64(inF1)
+            1142:          60 ExtInst 1(GLSL.std.450) 53(Ldexp) 1140 1141
+                              Store 1139(r026) 1142
+            1144:          60 Load 63(inF0)
+            1145:          60 Load 64(inF1)
+            1146:          60 Load 65(inF2)
+            1147:          60 ExtInst 1(GLSL.std.450) 46(FMix) 1144 1145 1146
+                              Store 1143(r026a) 1147
+            1149:          60 Load 63(inF0)
+            1150:          60 ExtInst 1(GLSL.std.450) 28(Log) 1149
+                              Store 1148(r027) 1150
+            1152:          60 Load 63(inF0)
+            1153:          60 ExtInst 1(GLSL.std.450) 30(Log2) 1152
+            1154:          60 MatrixTimesScalar 1153 260
+                              Store 1151(r028) 1154
+            1156:          60 Load 63(inF0)
+            1157:          60 ExtInst 1(GLSL.std.450) 30(Log2) 1156
+                              Store 1155(r029) 1157
+            1159:          60 Load 63(inF0)
+            1160:          60 Load 64(inF1)
+            1161:          60 ExtInst 1(GLSL.std.450) 40(FMax) 1159 1160
+                              Store 1158(r030) 1161
+            1163:          60 Load 63(inF0)
+            1164:          60 Load 64(inF1)
+            1165:          60 ExtInst 1(GLSL.std.450) 37(FMin) 1163 1164
+                              Store 1162(r031) 1165
             1167:          60 Load 63(inF0)
-            1168:          60 Fwidth 1167
-                              Store 1166(r025) 1168
-            1170:          60 Load 63(inF0)
-            1171:          60 Load 64(inF1)
-            1172:          60 ExtInst 1(GLSL.std.450) 53(Ldexp) 1170 1171
-                              Store 1169(r026) 1172
+            1168:          60 Load 64(inF1)
+            1169:          60 ExtInst 1(GLSL.std.450) 26(Pow) 1167 1168
+                              Store 1166(r032) 1169
+            1171:          60 Load 63(inF0)
+            1172:          60 ExtInst 1(GLSL.std.450) 11(Radians) 1171
+                              Store 1170(r033) 1172
             1174:          60 Load 63(inF0)
-            1175:          60 Load 64(inF1)
-            1176:          60 Load 65(inF2)
-            1177:          60 ExtInst 1(GLSL.std.450) 46(FMix) 1174 1175 1176
-                              Store 1173(r026a) 1177
-            1179:          60 Load 63(inF0)
-            1180:          60 ExtInst 1(GLSL.std.450) 28(Log) 1179
-                              Store 1178(r027) 1180
-            1182:          60 Load 63(inF0)
-            1183:          60 ExtInst 1(GLSL.std.450) 30(Log2) 1182
-            1184:          60 MatrixTimesScalar 1183 266
-                              Store 1181(r028) 1184
-            1186:          60 Load 63(inF0)
-            1187:          60 ExtInst 1(GLSL.std.450) 30(Log2) 1186
-                              Store 1185(r029) 1187
-            1189:          60 Load 63(inF0)
-            1190:          60 Load 64(inF1)
-            1191:          60 ExtInst 1(GLSL.std.450) 40(FMax) 1189 1190
-                              Store 1188(r030) 1191
-            1193:          60 Load 63(inF0)
-            1194:          60 Load 64(inF1)
-            1195:          60 ExtInst 1(GLSL.std.450) 37(FMin) 1193 1194
-                              Store 1192(r031) 1195
-            1197:          60 Load 63(inF0)
-            1198:          60 Load 64(inF1)
-            1199:          60 ExtInst 1(GLSL.std.450) 26(Pow) 1197 1198
-                              Store 1196(r032) 1199
-            1201:          60 Load 63(inF0)
-            1202:          60 ExtInst 1(GLSL.std.450) 11(Radians) 1201
-                              Store 1200(r033) 1202
-            1204:          60 Load 63(inF0)
-            1205:          60 ExtInst 1(GLSL.std.450) 2(RoundEven) 1204
-                              Store 1203(r034) 1205
-            1207:          60 Load 63(inF0)
-            1208:          60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1207
-                              Store 1206(r035) 1208
+            1175:          60 ExtInst 1(GLSL.std.450) 2(RoundEven) 1174
+                              Store 1173(r034) 1175
+            1177:          60 Load 63(inF0)
+            1178:          60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1177
+                              Store 1176(r035) 1178
+            1180:          60 Load 63(inF0)
+            1181:   24(fvec2) CompositeConstruct 179 179
+            1182:   24(fvec2) CompositeConstruct 281 281
+            1183:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 1180 1181 1182
+                              Store 1179(r036) 1183
+            1185:          60 Load 63(inF0)
+            1186:          60 ExtInst 1(GLSL.std.450) 6(FSign) 1185
+                              Store 1184(r037) 1186
+            1188:          60 Load 63(inF0)
+            1189:          60 ExtInst 1(GLSL.std.450) 13(Sin) 1188
+                              Store 1187(r038) 1189
+            1190:          60 Load 63(inF0)
+            1191:          60 ExtInst 1(GLSL.std.450) 13(Sin) 1190
+                              Store 64(inF1) 1191
+            1192:          60 Load 63(inF0)
+            1193:          60 ExtInst 1(GLSL.std.450) 14(Cos) 1192
+                              Store 65(inF2) 1193
+            1195:          60 Load 63(inF0)
+            1196:          60 ExtInst 1(GLSL.std.450) 19(Sinh) 1195
+                              Store 1194(r039) 1196
+            1198:          60 Load 63(inF0)
+            1199:          60 Load 64(inF1)
+            1200:          60 Load 65(inF2)
+            1201:          60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1198 1199 1200
+                              Store 1197(r049) 1201
+            1203:          60 Load 63(inF0)
+            1204:          60 ExtInst 1(GLSL.std.450) 31(Sqrt) 1203
+                              Store 1202(r041) 1204
+            1206:          60 Load 63(inF0)
+            1207:          60 Load 64(inF1)
+            1208:          60 ExtInst 1(GLSL.std.450) 48(Step) 1206 1207
+                              Store 1205(r042) 1208
             1210:          60 Load 63(inF0)
-            1211:   24(fvec2) CompositeConstruct 179 179
-            1212:   24(fvec2) CompositeConstruct 287 287
-            1213:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 1210 1211 1212
-                              Store 1209(r036) 1213
+            1211:          60 ExtInst 1(GLSL.std.450) 15(Tan) 1210
+                              Store 1209(r043) 1211
+            1213:          60 Load 63(inF0)
+            1214:          60 ExtInst 1(GLSL.std.450) 21(Tanh) 1213
+                              Store 1212(r044) 1214
             1215:          60 Load 63(inF0)
-            1216:          60 ExtInst 1(GLSL.std.450) 6(FSign) 1215
-                              Store 1214(r037) 1216
+            1216:          60 Transpose 1215
             1218:          60 Load 63(inF0)
-            1219:          60 ExtInst 1(GLSL.std.450) 13(Sin) 1218
-                              Store 1217(r038) 1219
-            1220:          60 Load 63(inF0)
-            1221:          60 ExtInst 1(GLSL.std.450) 13(Sin) 1220
-                              Store 64(inF1) 1221
-            1222:          60 Load 63(inF0)
-            1223:          60 ExtInst 1(GLSL.std.450) 14(Cos) 1222
-                              Store 65(inF2) 1223
-            1225:          60 Load 63(inF0)
-            1226:          60 ExtInst 1(GLSL.std.450) 19(Sinh) 1225
-                              Store 1224(r039) 1226
-            1228:          60 Load 63(inF0)
-            1229:          60 Load 64(inF1)
-            1230:          60 Load 65(inF2)
-            1231:          60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1228 1229 1230
-                              Store 1227(r049) 1231
-            1233:          60 Load 63(inF0)
-            1234:          60 ExtInst 1(GLSL.std.450) 31(Sqrt) 1233
-                              Store 1232(r041) 1234
-            1236:          60 Load 63(inF0)
-            1237:          60 Load 64(inF1)
-            1238:          60 ExtInst 1(GLSL.std.450) 48(Step) 1236 1237
-                              Store 1235(r042) 1238
-            1240:          60 Load 63(inF0)
-            1241:          60 ExtInst 1(GLSL.std.450) 15(Tan) 1240
-                              Store 1239(r043) 1241
-            1243:          60 Load 63(inF0)
-            1244:          60 ExtInst 1(GLSL.std.450) 21(Tanh) 1243
-                              Store 1242(r044) 1244
-            1245:          60 Load 63(inF0)
-            1246:          60 Transpose 1245
-            1248:          60 Load 63(inF0)
-            1249:          60 ExtInst 1(GLSL.std.450) 3(Trunc) 1248
-                              Store 1247(r046) 1249
-                              ReturnValue 1251
+            1219:          60 ExtInst 1(GLSL.std.450) 3(Trunc) 1218
+                              Store 1217(r046) 1219
+                              ReturnValue 1221
                               FunctionEnd
 74(PixelShaderFunction3x3(mf33;mf33;mf33;):          68 Function None 70
         71(inF0):     69(ptr) FunctionParameter
         72(inF1):     69(ptr) FunctionParameter
         73(inF2):     69(ptr) FunctionParameter
               75:             Label
-      1254(r000):    136(ptr) Variable Function
-      1257(r001):     69(ptr) Variable Function
-      1262(r003):    136(ptr) Variable Function
-      1265(r004):     69(ptr) Variable Function
-      1268(r005):     69(ptr) Variable Function
-      1271(r006):     69(ptr) Variable Function
-      1275(r007):     69(ptr) Variable Function
-      1286(r008):     69(ptr) Variable Function
-      1291(r009):     69(ptr) Variable Function
-      1294(r010):     69(ptr) Variable Function
-      1297(r011):     69(ptr) Variable Function
-      1300(r012):     69(ptr) Variable Function
-      1303(r013):     69(ptr) Variable Function
-      1306(r014):     69(ptr) Variable Function
-      1309(r015):     69(ptr) Variable Function
-      1312(r016):     69(ptr) Variable Function
-      1315(r017):     69(ptr) Variable Function
-      1318(r018):      7(ptr) Variable Function
-      1321(r019):     69(ptr) Variable Function
-      1324(R020):     69(ptr) Variable Function
-      1327(r021):     69(ptr) Variable Function
-      1330(r022):     69(ptr) Variable Function
-      1343(r023):     69(ptr) Variable Function
-      1346(r024):     69(ptr) Variable Function
-      1352(r025):     69(ptr) Variable Function
-      1355(r026):     69(ptr) Variable Function
-     1359(r026a):     69(ptr) Variable Function
-      1364(r027):     69(ptr) Variable Function
-      1367(r028):     69(ptr) Variable Function
-      1371(r029):     69(ptr) Variable Function
-      1374(r030):     69(ptr) Variable Function
-      1378(r031):     69(ptr) Variable Function
-      1382(r032):     69(ptr) Variable Function
-      1386(r033):     69(ptr) Variable Function
-      1389(r034):     69(ptr) Variable Function
-      1392(r035):     69(ptr) Variable Function
-      1395(r036):     69(ptr) Variable Function
-      1400(r037):     69(ptr) Variable Function
-      1403(r038):     69(ptr) Variable Function
-      1410(r039):     69(ptr) Variable Function
-      1413(r049):     69(ptr) Variable Function
-      1418(r041):     69(ptr) Variable Function
-      1421(r042):     69(ptr) Variable Function
-      1425(r043):     69(ptr) Variable Function
-      1428(r044):     69(ptr) Variable Function
-      1433(r046):     69(ptr) Variable Function
-            1255:          68 Load 71(inF0)
-            1256:   135(bool) All 1255
-                              Store 1254(r000) 1256
-            1258:          68 Load 71(inF0)
-            1259:          68 ExtInst 1(GLSL.std.450) 4(FAbs) 1258
-                              Store 1257(r001) 1259
-            1260:          68 Load 71(inF0)
-            1261:          68 ExtInst 1(GLSL.std.450) 17(Acos) 1260
-            1263:          68 Load 71(inF0)
-            1264:   135(bool) Any 1263
-                              Store 1262(r003) 1264
-            1266:          68 Load 71(inF0)
-            1267:          68 ExtInst 1(GLSL.std.450) 16(Asin) 1266
-                              Store 1265(r004) 1267
-            1269:          68 Load 71(inF0)
-            1270:          68 ExtInst 1(GLSL.std.450) 18(Atan) 1269
-                              Store 1268(r005) 1270
-            1272:          68 Load 71(inF0)
-            1273:          68 Load 72(inF1)
-            1274:          68 ExtInst 1(GLSL.std.450) 25(Atan2) 1272 1273
-                              Store 1271(r006) 1274
-            1276:          68 Load 71(inF0)
-            1277:          68 ExtInst 1(GLSL.std.450) 9(Ceil) 1276
-                              Store 1275(r007) 1277
-            1278:          68 Load 71(inF0)
-            1281:        1280 FOrdLessThan 1278 1279
-            1282:   135(bool) Any 1281
-                              SelectionMerge 1284 None
-                              BranchConditional 1282 1283 1284
-            1283:               Label
+      1224(r000):    136(ptr) Variable Function
+      1227(r001):     69(ptr) Variable Function
+      1232(r003):    136(ptr) Variable Function
+      1235(r004):     69(ptr) Variable Function
+      1238(r005):     69(ptr) Variable Function
+      1241(r006):     69(ptr) Variable Function
+      1245(r007):     69(ptr) Variable Function
+      1256(r008):     69(ptr) Variable Function
+      1261(r009):     69(ptr) Variable Function
+      1264(r010):     69(ptr) Variable Function
+      1267(r011):     69(ptr) Variable Function
+      1270(r012):     69(ptr) Variable Function
+      1273(r013):     69(ptr) Variable Function
+      1276(r014):     69(ptr) Variable Function
+      1279(r015):     69(ptr) Variable Function
+      1282(r016):     69(ptr) Variable Function
+      1285(r017):     69(ptr) Variable Function
+      1288(r018):      7(ptr) Variable Function
+      1291(r019):     69(ptr) Variable Function
+      1294(R020):     69(ptr) Variable Function
+      1297(r021):     69(ptr) Variable Function
+      1300(r022):     69(ptr) Variable Function
+      1313(r023):     69(ptr) Variable Function
+      1316(r025):     69(ptr) Variable Function
+      1319(r026):     69(ptr) Variable Function
+     1323(r026a):     69(ptr) Variable Function
+      1328(r027):     69(ptr) Variable Function
+      1331(r028):     69(ptr) Variable Function
+      1335(r029):     69(ptr) Variable Function
+      1338(r030):     69(ptr) Variable Function
+      1342(r031):     69(ptr) Variable Function
+      1346(r032):     69(ptr) Variable Function
+      1350(r033):     69(ptr) Variable Function
+      1353(r034):     69(ptr) Variable Function
+      1356(r035):     69(ptr) Variable Function
+      1359(r036):     69(ptr) Variable Function
+      1364(r037):     69(ptr) Variable Function
+      1367(r038):     69(ptr) Variable Function
+      1374(r039):     69(ptr) Variable Function
+      1377(r049):     69(ptr) Variable Function
+      1382(r041):     69(ptr) Variable Function
+      1385(r042):     69(ptr) Variable Function
+      1389(r043):     69(ptr) Variable Function
+      1392(r044):     69(ptr) Variable Function
+      1397(r046):     69(ptr) Variable Function
+            1225:          68 Load 71(inF0)
+            1226:   135(bool) All 1225
+                              Store 1224(r000) 1226
+            1228:          68 Load 71(inF0)
+            1229:          68 ExtInst 1(GLSL.std.450) 4(FAbs) 1228
+                              Store 1227(r001) 1229
+            1230:          68 Load 71(inF0)
+            1231:          68 ExtInst 1(GLSL.std.450) 17(Acos) 1230
+            1233:          68 Load 71(inF0)
+            1234:   135(bool) Any 1233
+                              Store 1232(r003) 1234
+            1236:          68 Load 71(inF0)
+            1237:          68 ExtInst 1(GLSL.std.450) 16(Asin) 1236
+                              Store 1235(r004) 1237
+            1239:          68 Load 71(inF0)
+            1240:          68 ExtInst 1(GLSL.std.450) 18(Atan) 1239
+                              Store 1238(r005) 1240
+            1242:          68 Load 71(inF0)
+            1243:          68 Load 72(inF1)
+            1244:          68 ExtInst 1(GLSL.std.450) 25(Atan2) 1242 1243
+                              Store 1241(r006) 1244
+            1246:          68 Load 71(inF0)
+            1247:          68 ExtInst 1(GLSL.std.450) 9(Ceil) 1246
+                              Store 1245(r007) 1247
+            1248:          68 Load 71(inF0)
+            1251:        1250 FOrdLessThan 1248 1249
+            1252:   135(bool) Any 1251
+                              SelectionMerge 1254 None
+                              BranchConditional 1252 1253 1254
+            1253:               Label
                                 Kill
-            1284:             Label
-            1287:          68 Load 71(inF0)
-            1288:          68 Load 72(inF1)
-            1289:          68 Load 73(inF2)
-            1290:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 1287 1288 1289
-                              Store 1286(r008) 1290
+            1254:             Label
+            1257:          68 Load 71(inF0)
+            1258:          68 Load 72(inF1)
+            1259:          68 Load 73(inF2)
+            1260:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 1257 1258 1259
+                              Store 1256(r008) 1260
+            1262:          68 Load 71(inF0)
+            1263:          68 ExtInst 1(GLSL.std.450) 14(Cos) 1262
+                              Store 1261(r009) 1263
+            1265:          68 Load 71(inF0)
+            1266:          68 ExtInst 1(GLSL.std.450) 20(Cosh) 1265
+                              Store 1264(r010) 1266
+            1268:          68 Load 71(inF0)
+            1269:          68 DPdx 1268
+                              Store 1267(r011) 1269
+            1271:          68 Load 71(inF0)
+            1272:          68 DPdxCoarse 1271
+                              Store 1270(r012) 1272
+            1274:          68 Load 71(inF0)
+            1275:          68 DPdxFine 1274
+                              Store 1273(r013) 1275
+            1277:          68 Load 71(inF0)
+            1278:          68 DPdy 1277
+                              Store 1276(r014) 1278
+            1280:          68 Load 71(inF0)
+            1281:          68 DPdyCoarse 1280
+                              Store 1279(r015) 1281
+            1283:          68 Load 71(inF0)
+            1284:          68 DPdyFine 1283
+                              Store 1282(r016) 1284
+            1286:          68 Load 71(inF0)
+            1287:          68 ExtInst 1(GLSL.std.450) 12(Degrees) 1286
+                              Store 1285(r017) 1287
+            1289:          68 Load 71(inF0)
+            1290:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1289
+                              Store 1288(r018) 1290
             1292:          68 Load 71(inF0)
-            1293:          68 ExtInst 1(GLSL.std.450) 14(Cos) 1292
-                              Store 1291(r009) 1293
+            1293:          68 ExtInst 1(GLSL.std.450) 27(Exp) 1292
+                              Store 1291(r019) 1293
             1295:          68 Load 71(inF0)
-            1296:          68 ExtInst 1(GLSL.std.450) 20(Cosh) 1295
-                              Store 1294(r010) 1296
+            1296:          68 ExtInst 1(GLSL.std.450) 29(Exp2) 1295
+                              Store 1294(R020) 1296
             1298:          68 Load 71(inF0)
-            1299:          68 DPdx 1298
-                              Store 1297(r011) 1299
+            1299:          68 ExtInst 1(GLSL.std.450) 8(Floor) 1298
+                              Store 1297(r021) 1299
             1301:          68 Load 71(inF0)
-            1302:          68 DPdxCoarse 1301
-                              Store 1300(r012) 1302
-            1304:          68 Load 71(inF0)
-            1305:          68 DPdxFine 1304
-                              Store 1303(r013) 1305
-            1307:          68 Load 71(inF0)
-            1308:          68 DPdy 1307
-                              Store 1306(r014) 1308
-            1310:          68 Load 71(inF0)
-            1311:          68 DPdyCoarse 1310
-                              Store 1309(r015) 1311
-            1313:          68 Load 71(inF0)
-            1314:          68 DPdyFine 1313
-                              Store 1312(r016) 1314
-            1316:          68 Load 71(inF0)
-            1317:          68 ExtInst 1(GLSL.std.450) 12(Degrees) 1316
-                              Store 1315(r017) 1317
-            1319:          68 Load 71(inF0)
-            1320:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1319
-                              Store 1318(r018) 1320
-            1322:          68 Load 71(inF0)
-            1323:          68 ExtInst 1(GLSL.std.450) 27(Exp) 1322
-                              Store 1321(r019) 1323
-            1325:          68 Load 71(inF0)
-            1326:          68 ExtInst 1(GLSL.std.450) 29(Exp2) 1325
-                              Store 1324(R020) 1326
-            1328:          68 Load 71(inF0)
-            1329:          68 ExtInst 1(GLSL.std.450) 8(Floor) 1328
-                              Store 1327(r021) 1329
-            1331:          68 Load 71(inF0)
-            1332:          68 Load 72(inF1)
-            1333:   36(fvec3) CompositeExtract 1331 0
-            1334:   36(fvec3) CompositeExtract 1332 0
-            1335:   36(fvec3) FMod 1333 1334
-            1336:   36(fvec3) CompositeExtract 1331 1
-            1337:   36(fvec3) CompositeExtract 1332 1
-            1338:   36(fvec3) FMod 1336 1337
-            1339:   36(fvec3) CompositeExtract 1331 2
-            1340:   36(fvec3) CompositeExtract 1332 2
-            1341:   36(fvec3) FMod 1339 1340
-            1342:          68 CompositeConstruct 1335 1338 1341
-                              Store 1330(r022) 1342
-            1344:          68 Load 71(inF0)
-            1345:          68 ExtInst 1(GLSL.std.450) 10(Fract) 1344
-                              Store 1343(r023) 1345
+            1302:          68 Load 72(inF1)
+            1303:   36(fvec3) CompositeExtract 1301 0
+            1304:   36(fvec3) CompositeExtract 1302 0
+            1305:   36(fvec3) FMod 1303 1304
+            1306:   36(fvec3) CompositeExtract 1301 1
+            1307:   36(fvec3) CompositeExtract 1302 1
+            1308:   36(fvec3) FMod 1306 1307
+            1309:   36(fvec3) CompositeExtract 1301 2
+            1310:   36(fvec3) CompositeExtract 1302 2
+            1311:   36(fvec3) FMod 1309 1310
+            1312:          68 CompositeConstruct 1305 1308 1311
+                              Store 1300(r022) 1312
+            1314:          68 Load 71(inF0)
+            1315:          68 ExtInst 1(GLSL.std.450) 10(Fract) 1314
+                              Store 1313(r023) 1315
+            1317:          68 Load 71(inF0)
+            1318:          68 Fwidth 1317
+                              Store 1316(r025) 1318
+            1320:          68 Load 71(inF0)
+            1321:          68 Load 72(inF1)
+            1322:          68 ExtInst 1(GLSL.std.450) 53(Ldexp) 1320 1321
+                              Store 1319(r026) 1322
+            1324:          68 Load 71(inF0)
+            1325:          68 Load 72(inF1)
+            1326:          68 Load 73(inF2)
+            1327:          68 ExtInst 1(GLSL.std.450) 46(FMix) 1324 1325 1326
+                              Store 1323(r026a) 1327
+            1329:          68 Load 71(inF0)
+            1330:          68 ExtInst 1(GLSL.std.450) 28(Log) 1329
+                              Store 1328(r027) 1330
+            1332:          68 Load 71(inF0)
+            1333:          68 ExtInst 1(GLSL.std.450) 30(Log2) 1332
+            1334:          68 MatrixTimesScalar 1333 260
+                              Store 1331(r028) 1334
+            1336:          68 Load 71(inF0)
+            1337:          68 ExtInst 1(GLSL.std.450) 30(Log2) 1336
+                              Store 1335(r029) 1337
+            1339:          68 Load 71(inF0)
+            1340:          68 Load 72(inF1)
+            1341:          68 ExtInst 1(GLSL.std.450) 40(FMax) 1339 1340
+                              Store 1338(r030) 1341
+            1343:          68 Load 71(inF0)
+            1344:          68 Load 72(inF1)
+            1345:          68 ExtInst 1(GLSL.std.450) 37(FMin) 1343 1344
+                              Store 1342(r031) 1345
             1347:          68 Load 71(inF0)
-            1349:1348(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1347
-            1350:  594(ivec3) CompositeExtract 1349 1
-                              Store 72(inF1) 1350
-            1351:          68 CompositeExtract 1349 0
-                              Store 1346(r024) 1351
-            1353:          68 Load 71(inF0)
-            1354:          68 Fwidth 1353
-                              Store 1352(r025) 1354
-            1356:          68 Load 71(inF0)
-            1357:          68 Load 72(inF1)
-            1358:          68 ExtInst 1(GLSL.std.450) 53(Ldexp) 1356 1357
-                              Store 1355(r026) 1358
+            1348:          68 Load 72(inF1)
+            1349:          68 ExtInst 1(GLSL.std.450) 26(Pow) 1347 1348
+                              Store 1346(r032) 1349
+            1351:          68 Load 71(inF0)
+            1352:          68 ExtInst 1(GLSL.std.450) 11(Radians) 1351
+                              Store 1350(r033) 1352
+            1354:          68 Load 71(inF0)
+            1355:          68 ExtInst 1(GLSL.std.450) 2(RoundEven) 1354
+                              Store 1353(r034) 1355
+            1357:          68 Load 71(inF0)
+            1358:          68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1357
+                              Store 1356(r035) 1358
             1360:          68 Load 71(inF0)
-            1361:          68 Load 72(inF1)
-            1362:          68 Load 73(inF2)
-            1363:          68 ExtInst 1(GLSL.std.450) 46(FMix) 1360 1361 1362
-                              Store 1359(r026a) 1363
+            1361:   36(fvec3) CompositeConstruct 179 179 179
+            1362:   36(fvec3) CompositeConstruct 281 281 281
+            1363:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 1360 1361 1362
+                              Store 1359(r036) 1363
             1365:          68 Load 71(inF0)
-            1366:          68 ExtInst 1(GLSL.std.450) 28(Log) 1365
-                              Store 1364(r027) 1366
+            1366:          68 ExtInst 1(GLSL.std.450) 6(FSign) 1365
+                              Store 1364(r037) 1366
             1368:          68 Load 71(inF0)
-            1369:          68 ExtInst 1(GLSL.std.450) 30(Log2) 1368
-            1370:          68 MatrixTimesScalar 1369 266
-                              Store 1367(r028) 1370
+            1369:          68 ExtInst 1(GLSL.std.450) 13(Sin) 1368
+                              Store 1367(r038) 1369
+            1370:          68 Load 71(inF0)
+            1371:          68 ExtInst 1(GLSL.std.450) 13(Sin) 1370
+                              Store 72(inF1) 1371
             1372:          68 Load 71(inF0)
-            1373:          68 ExtInst 1(GLSL.std.450) 30(Log2) 1372
-                              Store 1371(r029) 1373
+            1373:          68 ExtInst 1(GLSL.std.450) 14(Cos) 1372
+                              Store 73(inF2) 1373
             1375:          68 Load 71(inF0)
-            1376:          68 Load 72(inF1)
-            1377:          68 ExtInst 1(GLSL.std.450) 40(FMax) 1375 1376
-                              Store 1374(r030) 1377
-            1379:          68 Load 71(inF0)
-            1380:          68 Load 72(inF1)
-            1381:          68 ExtInst 1(GLSL.std.450) 37(FMin) 1379 1380
-                              Store 1378(r031) 1381
+            1376:          68 ExtInst 1(GLSL.std.450) 19(Sinh) 1375
+                              Store 1374(r039) 1376
+            1378:          68 Load 71(inF0)
+            1379:          68 Load 72(inF1)
+            1380:          68 Load 73(inF2)
+            1381:          68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1378 1379 1380
+                              Store 1377(r049) 1381
             1383:          68 Load 71(inF0)
-            1384:          68 Load 72(inF1)
-            1385:          68 ExtInst 1(GLSL.std.450) 26(Pow) 1383 1384
-                              Store 1382(r032) 1385
-            1387:          68 Load 71(inF0)
-            1388:          68 ExtInst 1(GLSL.std.450) 11(Radians) 1387
-                              Store 1386(r033) 1388
+            1384:          68 ExtInst 1(GLSL.std.450) 31(Sqrt) 1383
+                              Store 1382(r041) 1384
+            1386:          68 Load 71(inF0)
+            1387:          68 Load 72(inF1)
+            1388:          68 ExtInst 1(GLSL.std.450) 48(Step) 1386 1387
+                              Store 1385(r042) 1388
             1390:          68 Load 71(inF0)
-            1391:          68 ExtInst 1(GLSL.std.450) 2(RoundEven) 1390
-                              Store 1389(r034) 1391
+            1391:          68 ExtInst 1(GLSL.std.450) 15(Tan) 1390
+                              Store 1389(r043) 1391
             1393:          68 Load 71(inF0)
-            1394:          68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1393
-                              Store 1392(r035) 1394
-            1396:          68 Load 71(inF0)
-            1397:   36(fvec3) CompositeConstruct 179 179 179
-            1398:   36(fvec3) CompositeConstruct 287 287 287
-            1399:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 1396 1397 1398
-                              Store 1395(r036) 1399
-            1401:          68 Load 71(inF0)
-            1402:          68 ExtInst 1(GLSL.std.450) 6(FSign) 1401
-                              Store 1400(r037) 1402
-            1404:          68 Load 71(inF0)
-            1405:          68 ExtInst 1(GLSL.std.450) 13(Sin) 1404
-                              Store 1403(r038) 1405
-            1406:          68 Load 71(inF0)
-            1407:          68 ExtInst 1(GLSL.std.450) 13(Sin) 1406
-                              Store 72(inF1) 1407
-            1408:          68 Load 71(inF0)
-            1409:          68 ExtInst 1(GLSL.std.450) 14(Cos) 1408
-                              Store 73(inF2) 1409
-            1411:          68 Load 71(inF0)
-            1412:          68 ExtInst 1(GLSL.std.450) 19(Sinh) 1411
-                              Store 1410(r039) 1412
-            1414:          68 Load 71(inF0)
-            1415:          68 Load 72(inF1)
-            1416:          68 Load 73(inF2)
-            1417:          68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1414 1415 1416
-                              Store 1413(r049) 1417
-            1419:          68 Load 71(inF0)
-            1420:          68 ExtInst 1(GLSL.std.450) 31(Sqrt) 1419
-                              Store 1418(r041) 1420
-            1422:          68 Load 71(inF0)
-            1423:          68 Load 72(inF1)
-            1424:          68 ExtInst 1(GLSL.std.450) 48(Step) 1422 1423
-                              Store 1421(r042) 1424
-            1426:          68 Load 71(inF0)
-            1427:          68 ExtInst 1(GLSL.std.450) 15(Tan) 1426
-                              Store 1425(r043) 1427
-            1429:          68 Load 71(inF0)
-            1430:          68 ExtInst 1(GLSL.std.450) 21(Tanh) 1429
-                              Store 1428(r044) 1430
-            1431:          68 Load 71(inF0)
-            1432:          68 Transpose 1431
-            1434:          68 Load 71(inF0)
-            1435:          68 ExtInst 1(GLSL.std.450) 3(Trunc) 1434
-                              Store 1433(r046) 1435
-                              ReturnValue 1437
+            1394:          68 ExtInst 1(GLSL.std.450) 21(Tanh) 1393
+                              Store 1392(r044) 1394
+            1395:          68 Load 71(inF0)
+            1396:          68 Transpose 1395
+            1398:          68 Load 71(inF0)
+            1399:          68 ExtInst 1(GLSL.std.450) 3(Trunc) 1398
+                              Store 1397(r046) 1399
+                              ReturnValue 1401
                               FunctionEnd
 82(PixelShaderFunction4x4(mf44;mf44;mf44;):          76 Function None 78
         79(inF0):     77(ptr) FunctionParameter
         80(inF1):     77(ptr) FunctionParameter
         81(inF2):     77(ptr) FunctionParameter
               83:             Label
-      1440(r000):    136(ptr) Variable Function
-      1443(r001):     77(ptr) Variable Function
-      1448(r003):    136(ptr) Variable Function
-      1451(r004):     77(ptr) Variable Function
-      1454(r005):     77(ptr) Variable Function
-      1457(r006):     77(ptr) Variable Function
-      1461(r007):     77(ptr) Variable Function
-      1472(r008):     77(ptr) Variable Function
-      1477(r009):     77(ptr) Variable Function
-      1480(r010):     77(ptr) Variable Function
-      1483(r011):     77(ptr) Variable Function
-      1486(r012):     77(ptr) Variable Function
-      1489(r013):     77(ptr) Variable Function
-      1492(r014):     77(ptr) Variable Function
-      1495(r015):     77(ptr) Variable Function
-      1498(r016):     77(ptr) Variable Function
-      1501(r017):     77(ptr) Variable Function
-      1504(r018):      7(ptr) Variable Function
-      1507(r019):     77(ptr) Variable Function
-      1510(R020):     77(ptr) Variable Function
-      1513(r021):     77(ptr) Variable Function
-      1516(r022):     77(ptr) Variable Function
-      1532(r023):     77(ptr) Variable Function
-      1535(r024):     77(ptr) Variable Function
-      1541(r025):     77(ptr) Variable Function
-      1544(r026):     77(ptr) Variable Function
-     1548(r026a):     77(ptr) Variable Function
-      1553(r027):     77(ptr) Variable Function
-      1556(r028):     77(ptr) Variable Function
-      1560(r029):     77(ptr) Variable Function
-      1563(r030):     77(ptr) Variable Function
-      1567(r031):     77(ptr) Variable Function
-      1571(r032):     77(ptr) Variable Function
-      1575(r033):     77(ptr) Variable Function
-      1578(r034):     77(ptr) Variable Function
-      1581(r035):     77(ptr) Variable Function
-      1584(r036):     77(ptr) Variable Function
-      1589(r037):     77(ptr) Variable Function
-      1592(r038):     77(ptr) Variable Function
-      1599(r039):     77(ptr) Variable Function
-      1602(r049):     77(ptr) Variable Function
-      1607(r041):     77(ptr) Variable Function
-      1610(r042):     77(ptr) Variable Function
-      1614(r043):     77(ptr) Variable Function
-      1617(r044):     77(ptr) Variable Function
-      1622(r046):     77(ptr) Variable Function
-            1441:          76 Load 79(inF0)
-            1442:   135(bool) All 1441
-                              Store 1440(r000) 1442
-            1444:          76 Load 79(inF0)
-            1445:          76 ExtInst 1(GLSL.std.450) 4(FAbs) 1444
-                              Store 1443(r001) 1445
-            1446:          76 Load 79(inF0)
-            1447:          76 ExtInst 1(GLSL.std.450) 17(Acos) 1446
-            1449:          76 Load 79(inF0)
-            1450:   135(bool) Any 1449
-                              Store 1448(r003) 1450
-            1452:          76 Load 79(inF0)
-            1453:          76 ExtInst 1(GLSL.std.450) 16(Asin) 1452
-                              Store 1451(r004) 1453
-            1455:          76 Load 79(inF0)
-            1456:          76 ExtInst 1(GLSL.std.450) 18(Atan) 1455
-                              Store 1454(r005) 1456
-            1458:          76 Load 79(inF0)
-            1459:          76 Load 80(inF1)
-            1460:          76 ExtInst 1(GLSL.std.450) 25(Atan2) 1458 1459
-                              Store 1457(r006) 1460
-            1462:          76 Load 79(inF0)
-            1463:          76 ExtInst 1(GLSL.std.450) 9(Ceil) 1462
-                              Store 1461(r007) 1463
-            1464:          76 Load 79(inF0)
-            1467:        1466 FOrdLessThan 1464 1465
-            1468:   135(bool) Any 1467
-                              SelectionMerge 1470 None
-                              BranchConditional 1468 1469 1470
-            1469:               Label
+      1404(r000):    136(ptr) Variable Function
+      1407(r001):     77(ptr) Variable Function
+      1412(r003):    136(ptr) Variable Function
+      1415(r004):     77(ptr) Variable Function
+      1418(r005):     77(ptr) Variable Function
+      1421(r006):     77(ptr) Variable Function
+      1425(r007):     77(ptr) Variable Function
+      1436(r008):     77(ptr) Variable Function
+      1441(r009):     77(ptr) Variable Function
+      1444(r010):     77(ptr) Variable Function
+      1447(r011):     77(ptr) Variable Function
+      1450(r012):     77(ptr) Variable Function
+      1453(r013):     77(ptr) Variable Function
+      1456(r014):     77(ptr) Variable Function
+      1459(r015):     77(ptr) Variable Function
+      1462(r016):     77(ptr) Variable Function
+      1465(r017):     77(ptr) Variable Function
+      1468(r018):      7(ptr) Variable Function
+      1471(r019):     77(ptr) Variable Function
+      1474(R020):     77(ptr) Variable Function
+      1477(r021):     77(ptr) Variable Function
+      1480(r022):     77(ptr) Variable Function
+      1496(r023):     77(ptr) Variable Function
+      1499(r025):     77(ptr) Variable Function
+      1502(r026):     77(ptr) Variable Function
+     1506(r026a):     77(ptr) Variable Function
+      1511(r027):     77(ptr) Variable Function
+      1514(r028):     77(ptr) Variable Function
+      1518(r029):     77(ptr) Variable Function
+      1521(r030):     77(ptr) Variable Function
+      1525(r031):     77(ptr) Variable Function
+      1529(r032):     77(ptr) Variable Function
+      1533(r033):     77(ptr) Variable Function
+      1536(r034):     77(ptr) Variable Function
+      1539(r035):     77(ptr) Variable Function
+      1542(r036):     77(ptr) Variable Function
+      1547(r037):     77(ptr) Variable Function
+      1550(r038):     77(ptr) Variable Function
+      1557(r039):     77(ptr) Variable Function
+      1560(r049):     77(ptr) Variable Function
+      1565(r041):     77(ptr) Variable Function
+      1568(r042):     77(ptr) Variable Function
+      1572(r043):     77(ptr) Variable Function
+      1575(r044):     77(ptr) Variable Function
+      1580(r046):     77(ptr) Variable Function
+            1405:          76 Load 79(inF0)
+            1406:   135(bool) All 1405
+                              Store 1404(r000) 1406
+            1408:          76 Load 79(inF0)
+            1409:          76 ExtInst 1(GLSL.std.450) 4(FAbs) 1408
+                              Store 1407(r001) 1409
+            1410:          76 Load 79(inF0)
+            1411:          76 ExtInst 1(GLSL.std.450) 17(Acos) 1410
+            1413:          76 Load 79(inF0)
+            1414:   135(bool) Any 1413
+                              Store 1412(r003) 1414
+            1416:          76 Load 79(inF0)
+            1417:          76 ExtInst 1(GLSL.std.450) 16(Asin) 1416
+                              Store 1415(r004) 1417
+            1419:          76 Load 79(inF0)
+            1420:          76 ExtInst 1(GLSL.std.450) 18(Atan) 1419
+                              Store 1418(r005) 1420
+            1422:          76 Load 79(inF0)
+            1423:          76 Load 80(inF1)
+            1424:          76 ExtInst 1(GLSL.std.450) 25(Atan2) 1422 1423
+                              Store 1421(r006) 1424
+            1426:          76 Load 79(inF0)
+            1427:          76 ExtInst 1(GLSL.std.450) 9(Ceil) 1426
+                              Store 1425(r007) 1427
+            1428:          76 Load 79(inF0)
+            1431:        1430 FOrdLessThan 1428 1429
+            1432:   135(bool) Any 1431
+                              SelectionMerge 1434 None
+                              BranchConditional 1432 1433 1434
+            1433:               Label
                                 Kill
-            1470:             Label
-            1473:          76 Load 79(inF0)
-            1474:          76 Load 80(inF1)
-            1475:          76 Load 81(inF2)
-            1476:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1473 1474 1475
-                              Store 1472(r008) 1476
+            1434:             Label
+            1437:          76 Load 79(inF0)
+            1438:          76 Load 80(inF1)
+            1439:          76 Load 81(inF2)
+            1440:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1437 1438 1439
+                              Store 1436(r008) 1440
+            1442:          76 Load 79(inF0)
+            1443:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1442
+                              Store 1441(r009) 1443
+            1445:          76 Load 79(inF0)
+            1446:          76 ExtInst 1(GLSL.std.450) 20(Cosh) 1445
+                              Store 1444(r010) 1446
+            1448:          76 Load 79(inF0)
+            1449:          76 DPdx 1448
+                              Store 1447(r011) 1449
+            1451:          76 Load 79(inF0)
+            1452:          76 DPdxCoarse 1451
+                              Store 1450(r012) 1452
+            1454:          76 Load 79(inF0)
+            1455:          76 DPdxFine 1454
+                              Store 1453(r013) 1455
+            1457:          76 Load 79(inF0)
+            1458:          76 DPdy 1457
+                              Store 1456(r014) 1458
+            1460:          76 Load 79(inF0)
+            1461:          76 DPdyCoarse 1460
+                              Store 1459(r015) 1461
+            1463:          76 Load 79(inF0)
+            1464:          76 DPdyFine 1463
+                              Store 1462(r016) 1464
+            1466:          76 Load 79(inF0)
+            1467:          76 ExtInst 1(GLSL.std.450) 12(Degrees) 1466
+                              Store 1465(r017) 1467
+            1469:          76 Load 79(inF0)
+            1470:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1469
+                              Store 1468(r018) 1470
+            1472:          76 Load 79(inF0)
+            1473:          76 ExtInst 1(GLSL.std.450) 27(Exp) 1472
+                              Store 1471(r019) 1473
+            1475:          76 Load 79(inF0)
+            1476:          76 ExtInst 1(GLSL.std.450) 29(Exp2) 1475
+                              Store 1474(R020) 1476
             1478:          76 Load 79(inF0)
-            1479:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1478
-                              Store 1477(r009) 1479
+            1479:          76 ExtInst 1(GLSL.std.450) 8(Floor) 1478
+                              Store 1477(r021) 1479
             1481:          76 Load 79(inF0)
-            1482:          76 ExtInst 1(GLSL.std.450) 20(Cosh) 1481
-                              Store 1480(r010) 1482
-            1484:          76 Load 79(inF0)
-            1485:          76 DPdx 1484
-                              Store 1483(r011) 1485
-            1487:          76 Load 79(inF0)
-            1488:          76 DPdxCoarse 1487
-                              Store 1486(r012) 1488
-            1490:          76 Load 79(inF0)
-            1491:          76 DPdxFine 1490
-                              Store 1489(r013) 1491
-            1493:          76 Load 79(inF0)
-            1494:          76 DPdy 1493
-                              Store 1492(r014) 1494
-            1496:          76 Load 79(inF0)
-            1497:          76 DPdyCoarse 1496
-                              Store 1495(r015) 1497
-            1499:          76 Load 79(inF0)
-            1500:          76 DPdyFine 1499
-                              Store 1498(r016) 1500
-            1502:          76 Load 79(inF0)
-            1503:          76 ExtInst 1(GLSL.std.450) 12(Degrees) 1502
-                              Store 1501(r017) 1503
-            1505:          76 Load 79(inF0)
-            1506:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1505
-                              Store 1504(r018) 1506
-            1508:          76 Load 79(inF0)
-            1509:          76 ExtInst 1(GLSL.std.450) 27(Exp) 1508
-                              Store 1507(r019) 1509
-            1511:          76 Load 79(inF0)
-            1512:          76 ExtInst 1(GLSL.std.450) 29(Exp2) 1511
-                              Store 1510(R020) 1512
-            1514:          76 Load 79(inF0)
-            1515:          76 ExtInst 1(GLSL.std.450) 8(Floor) 1514
-                              Store 1513(r021) 1515
-            1517:          76 Load 79(inF0)
-            1518:          76 Load 80(inF1)
-            1519:   48(fvec4) CompositeExtract 1517 0
-            1520:   48(fvec4) CompositeExtract 1518 0
-            1521:   48(fvec4) FMod 1519 1520
-            1522:   48(fvec4) CompositeExtract 1517 1
-            1523:   48(fvec4) CompositeExtract 1518 1
-            1524:   48(fvec4) FMod 1522 1523
-            1525:   48(fvec4) CompositeExtract 1517 2
-            1526:   48(fvec4) CompositeExtract 1518 2
-            1527:   48(fvec4) FMod 1525 1526
-            1528:   48(fvec4) CompositeExtract 1517 3
-            1529:   48(fvec4) CompositeExtract 1518 3
-            1530:   48(fvec4) FMod 1528 1529
-            1531:          76 CompositeConstruct 1521 1524 1527 1530
-                              Store 1516(r022) 1531
-            1533:          76 Load 79(inF0)
-            1534:          76 ExtInst 1(GLSL.std.450) 10(Fract) 1533
-                              Store 1532(r023) 1534
-            1536:          76 Load 79(inF0)
-            1538:1537(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1536
-            1539:  840(ivec4) CompositeExtract 1538 1
-                              Store 80(inF1) 1539
-            1540:          76 CompositeExtract 1538 0
-                              Store 1535(r024) 1540
-            1542:          76 Load 79(inF0)
-            1543:          76 Fwidth 1542
-                              Store 1541(r025) 1543
-            1545:          76 Load 79(inF0)
-            1546:          76 Load 80(inF1)
-            1547:          76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1545 1546
-                              Store 1544(r026) 1547
-            1549:          76 Load 79(inF0)
-            1550:          76 Load 80(inF1)
-            1551:          76 Load 81(inF2)
-            1552:          76 ExtInst 1(GLSL.std.450) 46(FMix) 1549 1550 1551
-                              Store 1548(r026a) 1552
-            1554:          76 Load 79(inF0)
-            1555:          76 ExtInst 1(GLSL.std.450) 28(Log) 1554
-                              Store 1553(r027) 1555
-            1557:          76 Load 79(inF0)
-            1558:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1557
-            1559:          76 MatrixTimesScalar 1558 266
-                              Store 1556(r028) 1559
+            1482:          76 Load 80(inF1)
+            1483:   48(fvec4) CompositeExtract 1481 0
+            1484:   48(fvec4) CompositeExtract 1482 0
+            1485:   48(fvec4) FMod 1483 1484
+            1486:   48(fvec4) CompositeExtract 1481 1
+            1487:   48(fvec4) CompositeExtract 1482 1
+            1488:   48(fvec4) FMod 1486 1487
+            1489:   48(fvec4) CompositeExtract 1481 2
+            1490:   48(fvec4) CompositeExtract 1482 2
+            1491:   48(fvec4) FMod 1489 1490
+            1492:   48(fvec4) CompositeExtract 1481 3
+            1493:   48(fvec4) CompositeExtract 1482 3
+            1494:   48(fvec4) FMod 1492 1493
+            1495:          76 CompositeConstruct 1485 1488 1491 1494
+                              Store 1480(r022) 1495
+            1497:          76 Load 79(inF0)
+            1498:          76 ExtInst 1(GLSL.std.450) 10(Fract) 1497
+                              Store 1496(r023) 1498
+            1500:          76 Load 79(inF0)
+            1501:          76 Fwidth 1500
+                              Store 1499(r025) 1501
+            1503:          76 Load 79(inF0)
+            1504:          76 Load 80(inF1)
+            1505:          76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1503 1504
+                              Store 1502(r026) 1505
+            1507:          76 Load 79(inF0)
+            1508:          76 Load 80(inF1)
+            1509:          76 Load 81(inF2)
+            1510:          76 ExtInst 1(GLSL.std.450) 46(FMix) 1507 1508 1509
+                              Store 1506(r026a) 1510
+            1512:          76 Load 79(inF0)
+            1513:          76 ExtInst 1(GLSL.std.450) 28(Log) 1512
+                              Store 1511(r027) 1513
+            1515:          76 Load 79(inF0)
+            1516:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1515
+            1517:          76 MatrixTimesScalar 1516 260
+                              Store 1514(r028) 1517
+            1519:          76 Load 79(inF0)
+            1520:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1519
+                              Store 1518(r029) 1520
+            1522:          76 Load 79(inF0)
+            1523:          76 Load 80(inF1)
+            1524:          76 ExtInst 1(GLSL.std.450) 40(FMax) 1522 1523
+                              Store 1521(r030) 1524
+            1526:          76 Load 79(inF0)
+            1527:          76 Load 80(inF1)
+            1528:          76 ExtInst 1(GLSL.std.450) 37(FMin) 1526 1527
+                              Store 1525(r031) 1528
+            1530:          76 Load 79(inF0)
+            1531:          76 Load 80(inF1)
+            1532:          76 ExtInst 1(GLSL.std.450) 26(Pow) 1530 1531
+                              Store 1529(r032) 1532
+            1534:          76 Load 79(inF0)
+            1535:          76 ExtInst 1(GLSL.std.450) 11(Radians) 1534
+                              Store 1533(r033) 1535
+            1537:          76 Load 79(inF0)
+            1538:          76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1537
+                              Store 1536(r034) 1538
+            1540:          76 Load 79(inF0)
+            1541:          76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1540
+                              Store 1539(r035) 1541
+            1543:          76 Load 79(inF0)
+            1544:   48(fvec4) CompositeConstruct 179 179 179 179
+            1545:   48(fvec4) CompositeConstruct 281 281 281 281
+            1546:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1543 1544 1545
+                              Store 1542(r036) 1546
+            1548:          76 Load 79(inF0)
+            1549:          76 ExtInst 1(GLSL.std.450) 6(FSign) 1548
+                              Store 1547(r037) 1549
+            1551:          76 Load 79(inF0)
+            1552:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1551
+                              Store 1550(r038) 1552
+            1553:          76 Load 79(inF0)
+            1554:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1553
+                              Store 80(inF1) 1554
+            1555:          76 Load 79(inF0)
+            1556:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1555
+                              Store 81(inF2) 1556
+            1558:          76 Load 79(inF0)
+            1559:          76 ExtInst 1(GLSL.std.450) 19(Sinh) 1558
+                              Store 1557(r039) 1559
             1561:          76 Load 79(inF0)
-            1562:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1561
-                              Store 1560(r029) 1562
-            1564:          76 Load 79(inF0)
-            1565:          76 Load 80(inF1)
-            1566:          76 ExtInst 1(GLSL.std.450) 40(FMax) 1564 1565
-                              Store 1563(r030) 1566
-            1568:          76 Load 79(inF0)
-            1569:          76 Load 80(inF1)
-            1570:          76 ExtInst 1(GLSL.std.450) 37(FMin) 1568 1569
-                              Store 1567(r031) 1570
-            1572:          76 Load 79(inF0)
-            1573:          76 Load 80(inF1)
-            1574:          76 ExtInst 1(GLSL.std.450) 26(Pow) 1572 1573
-                              Store 1571(r032) 1574
+            1562:          76 Load 80(inF1)
+            1563:          76 Load 81(inF2)
+            1564:          76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1561 1562 1563
+                              Store 1560(r049) 1564
+            1566:          76 Load 79(inF0)
+            1567:          76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1566
+                              Store 1565(r041) 1567
+            1569:          76 Load 79(inF0)
+            1570:          76 Load 80(inF1)
+            1571:          76 ExtInst 1(GLSL.std.450) 48(Step) 1569 1570
+                              Store 1568(r042) 1571
+            1573:          76 Load 79(inF0)
+            1574:          76 ExtInst 1(GLSL.std.450) 15(Tan) 1573
+                              Store 1572(r043) 1574
             1576:          76 Load 79(inF0)
-            1577:          76 ExtInst 1(GLSL.std.450) 11(Radians) 1576
-                              Store 1575(r033) 1577
-            1579:          76 Load 79(inF0)
-            1580:          76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1579
-                              Store 1578(r034) 1580
-            1582:          76 Load 79(inF0)
-            1583:          76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1582
-                              Store 1581(r035) 1583
-            1585:          76 Load 79(inF0)
-            1586:   48(fvec4) CompositeConstruct 179 179 179 179
-            1587:   48(fvec4) CompositeConstruct 287 287 287 287
-            1588:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1585 1586 1587
-                              Store 1584(r036) 1588
-            1590:          76 Load 79(inF0)
-            1591:          76 ExtInst 1(GLSL.std.450) 6(FSign) 1590
-                              Store 1589(r037) 1591
-            1593:          76 Load 79(inF0)
-            1594:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1593
-                              Store 1592(r038) 1594
-            1595:          76 Load 79(inF0)
-            1596:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1595
-                              Store 80(inF1) 1596
-            1597:          76 Load 79(inF0)
-            1598:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1597
-                              Store 81(inF2) 1598
-            1600:          76 Load 79(inF0)
-            1601:          76 ExtInst 1(GLSL.std.450) 19(Sinh) 1600
-                              Store 1599(r039) 1601
-            1603:          76 Load 79(inF0)
-            1604:          76 Load 80(inF1)
-            1605:          76 Load 81(inF2)
-            1606:          76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1603 1604 1605
-                              Store 1602(r049) 1606
-            1608:          76 Load 79(inF0)
-            1609:          76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1608
-                              Store 1607(r041) 1609
-            1611:          76 Load 79(inF0)
-            1612:          76 Load 80(inF1)
-            1613:          76 ExtInst 1(GLSL.std.450) 48(Step) 1611 1612
-                              Store 1610(r042) 1613
-            1615:          76 Load 79(inF0)
-            1616:          76 ExtInst 1(GLSL.std.450) 15(Tan) 1615
-                              Store 1614(r043) 1616
-            1618:          76 Load 79(inF0)
-            1619:          76 ExtInst 1(GLSL.std.450) 21(Tanh) 1618
-                              Store 1617(r044) 1619
-            1620:          76 Load 79(inF0)
-            1621:          76 Transpose 1620
-            1623:          76 Load 79(inF0)
-            1624:          76 ExtInst 1(GLSL.std.450) 3(Trunc) 1623
-                              Store 1622(r046) 1624
-                              ReturnValue 1626
+            1577:          76 ExtInst 1(GLSL.std.450) 21(Tanh) 1576
+                              Store 1575(r044) 1577
+            1578:          76 Load 79(inF0)
+            1579:          76 Transpose 1578
+            1581:          76 Load 79(inF0)
+            1582:          76 ExtInst 1(GLSL.std.450) 3(Trunc) 1581
+                              Store 1580(r046) 1582
+                              ReturnValue 1584
                               FunctionEnd
 91(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 84
         85(inF0):      7(ptr) FunctionParameter
@@ -8187,51 +8033,51 @@ gl_FragCoord origin is upper left
        89(inFM0):     61(ptr) FunctionParameter
        90(inFM1):     61(ptr) FunctionParameter
               92:             Label
-        1629(r0):      7(ptr) Variable Function
-        1633(r1):     25(ptr) Variable Function
-        1637(r2):     25(ptr) Variable Function
-        1641(r3):      7(ptr) Variable Function
-        1645(r4):     25(ptr) Variable Function
-        1649(r5):     25(ptr) Variable Function
-        1653(r6):     61(ptr) Variable Function
-        1657(r7):     61(ptr) Variable Function
-        1661(r8):     61(ptr) Variable Function
-            1630:    6(float) Load 86(inF1)
-            1631:    6(float) Load 85(inF0)
-            1632:    6(float) FMul 1630 1631
-                              Store 1629(r0) 1632
-            1634:    6(float) Load 85(inF0)
-            1635:   24(fvec2) Load 87(inFV0)
-            1636:   24(fvec2) VectorTimesScalar 1635 1634
-                              Store 1633(r1) 1636
-            1638:   24(fvec2) Load 87(inFV0)
-            1639:    6(float) Load 85(inF0)
-            1640:   24(fvec2) VectorTimesScalar 1638 1639
-                              Store 1637(r2) 1640
-            1642:   24(fvec2) Load 87(inFV0)
-            1643:   24(fvec2) Load 88(inFV1)
-            1644:    6(float) Dot 1642 1643
-                              Store 1641(r3) 1644
-            1646:   24(fvec2) Load 87(inFV0)
-            1647:          60 Load 89(inFM0)
-            1648:   24(fvec2) VectorTimesMatrix 1646 1647
-                              Store 1645(r4) 1648
-            1650:          60 Load 89(inFM0)
-            1651:   24(fvec2) Load 87(inFV0)
-            1652:   24(fvec2) MatrixTimesVector 1650 1651
-                              Store 1649(r5) 1652
-            1654:    6(float) Load 85(inF0)
-            1655:          60 Load 89(inFM0)
-            1656:          60 MatrixTimesScalar 1655 1654
-                              Store 1653(r6) 1656
-            1658:          60 Load 89(inFM0)
-            1659:    6(float) Load 85(inF0)
-            1660:          60 MatrixTimesScalar 1658 1659
-                              Store 1657(r7) 1660
-            1662:          60 Load 90(inFM1)
-            1663:          60 Load 89(inFM0)
-            1664:          60 MatrixTimesMatrix 1662 1663
-                              Store 1661(r8) 1664
+        1587(r0):      7(ptr) Variable Function
+        1591(r1):     25(ptr) Variable Function
+        1595(r2):     25(ptr) Variable Function
+        1599(r3):      7(ptr) Variable Function
+        1603(r4):     25(ptr) Variable Function
+        1607(r5):     25(ptr) Variable Function
+        1611(r6):     61(ptr) Variable Function
+        1615(r7):     61(ptr) Variable Function
+        1619(r8):     61(ptr) Variable Function
+            1588:    6(float) Load 86(inF1)
+            1589:    6(float) Load 85(inF0)
+            1590:    6(float) FMul 1588 1589
+                              Store 1587(r0) 1590
+            1592:    6(float) Load 85(inF0)
+            1593:   24(fvec2) Load 87(inFV0)
+            1594:   24(fvec2) VectorTimesScalar 1593 1592
+                              Store 1591(r1) 1594
+            1596:   24(fvec2) Load 87(inFV0)
+            1597:    6(float) Load 85(inF0)
+            1598:   24(fvec2) VectorTimesScalar 1596 1597
+                              Store 1595(r2) 1598
+            1600:   24(fvec2) Load 87(inFV0)
+            1601:   24(fvec2) Load 88(inFV1)
+            1602:    6(float) Dot 1600 1601
+                              Store 1599(r3) 1602
+            1604:   24(fvec2) Load 87(inFV0)
+            1605:          60 Load 89(inFM0)
+            1606:   24(fvec2) VectorTimesMatrix 1604 1605
+                              Store 1603(r4) 1606
+            1608:          60 Load 89(inFM0)
+            1609:   24(fvec2) Load 87(inFV0)
+            1610:   24(fvec2) MatrixTimesVector 1608 1609
+                              Store 1607(r5) 1610
+            1612:    6(float) Load 85(inF0)
+            1613:          60 Load 89(inFM0)
+            1614:          60 MatrixTimesScalar 1613 1612
+                              Store 1611(r6) 1614
+            1616:          60 Load 89(inFM0)
+            1617:    6(float) Load 85(inF0)
+            1618:          60 MatrixTimesScalar 1616 1617
+                              Store 1615(r7) 1618
+            1620:          60 Load 90(inFM1)
+            1621:          60 Load 89(inFM0)
+            1622:          60 MatrixTimesMatrix 1620 1621
+                              Store 1619(r8) 1622
                               Return
                               FunctionEnd
 100(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 93
@@ -8242,51 +8088,51 @@ gl_FragCoord origin is upper left
        98(inFM0):     69(ptr) FunctionParameter
        99(inFM1):     69(ptr) FunctionParameter
              101:             Label
-        1665(r0):      7(ptr) Variable Function
-        1669(r1):     37(ptr) Variable Function
-        1673(r2):     37(ptr) Variable Function
-        1677(r3):      7(ptr) Variable Function
-        1681(r4):     37(ptr) Variable Function
-        1685(r5):     37(ptr) Variable Function
-        1689(r6):     69(ptr) Variable Function
-        1693(r7):     69(ptr) Variable Function
-        1697(r8):     69(ptr) Variable Function
-            1666:    6(float) Load 95(inF1)
-            1667:    6(float) Load 94(inF0)
-            1668:    6(float) FMul 1666 1667
-                              Store 1665(r0) 1668
-            1670:    6(float) Load 94(inF0)
-            1671:   36(fvec3) Load 96(inFV0)
-            1672:   36(fvec3) VectorTimesScalar 1671 1670
-                              Store 1669(r1) 1672
-            1674:   36(fvec3) Load 96(inFV0)
-            1675:    6(float) Load 94(inF0)
-            1676:   36(fvec3) VectorTimesScalar 1674 1675
-                              Store 1673(r2) 1676
-            1678:   36(fvec3) Load 96(inFV0)
-            1679:   36(fvec3) Load 97(inFV1)
-            1680:    6(float) Dot 1678 1679
-                              Store 1677(r3) 1680
-            1682:   36(fvec3) Load 96(inFV0)
-            1683:          68 Load 98(inFM0)
-            1684:   36(fvec3) VectorTimesMatrix 1682 1683
-                              Store 1681(r4) 1684
-            1686:          68 Load 98(inFM0)
-            1687:   36(fvec3) Load 96(inFV0)
-            1688:   36(fvec3) MatrixTimesVector 1686 1687
-                              Store 1685(r5) 1688
-            1690:    6(float) Load 94(inF0)
-            1691:          68 Load 98(inFM0)
-            1692:          68 MatrixTimesScalar 1691 1690
-                              Store 1689(r6) 1692
-            1694:          68 Load 98(inFM0)
-            1695:    6(float) Load 94(inF0)
-            1696:          68 MatrixTimesScalar 1694 1695
-                              Store 1693(r7) 1696
-            1698:          68 Load 99(inFM1)
-            1699:          68 Load 98(inFM0)
-            1700:          68 MatrixTimesMatrix 1698 1699
-                              Store 1697(r8) 1700
+        1623(r0):      7(ptr) Variable Function
+        1627(r1):     37(ptr) Variable Function
+        1631(r2):     37(ptr) Variable Function
+        1635(r3):      7(ptr) Variable Function
+        1639(r4):     37(ptr) Variable Function
+        1643(r5):     37(ptr) Variable Function
+        1647(r6):     69(ptr) Variable Function
+        1651(r7):     69(ptr) Variable Function
+        1655(r8):     69(ptr) Variable Function
+            1624:    6(float) Load 95(inF1)
+            1625:    6(float) Load 94(inF0)
+            1626:    6(float) FMul 1624 1625
+                              Store 1623(r0) 1626
+            1628:    6(float) Load 94(inF0)
+            1629:   36(fvec3) Load 96(inFV0)
+            1630:   36(fvec3) VectorTimesScalar 1629 1628
+                              Store 1627(r1) 1630
+            1632:   36(fvec3) Load 96(inFV0)
+            1633:    6(float) Load 94(inF0)
+            1634:   36(fvec3) VectorTimesScalar 1632 1633
+                              Store 1631(r2) 1634
+            1636:   36(fvec3) Load 96(inFV0)
+            1637:   36(fvec3) Load 97(inFV1)
+            1638:    6(float) Dot 1636 1637
+                              Store 1635(r3) 1638
+            1640:   36(fvec3) Load 96(inFV0)
+            1641:          68 Load 98(inFM0)
+            1642:   36(fvec3) VectorTimesMatrix 1640 1641
+                              Store 1639(r4) 1642
+            1644:          68 Load 98(inFM0)
+            1645:   36(fvec3) Load 96(inFV0)
+            1646:   36(fvec3) MatrixTimesVector 1644 1645
+                              Store 1643(r5) 1646
+            1648:    6(float) Load 94(inF0)
+            1649:          68 Load 98(inFM0)
+            1650:          68 MatrixTimesScalar 1649 1648
+                              Store 1647(r6) 1650
+            1652:          68 Load 98(inFM0)
+            1653:    6(float) Load 94(inF0)
+            1654:          68 MatrixTimesScalar 1652 1653
+                              Store 1651(r7) 1654
+            1656:          68 Load 99(inFM1)
+            1657:          68 Load 98(inFM0)
+            1658:          68 MatrixTimesMatrix 1656 1657
+                              Store 1655(r8) 1658
                               Return
                               FunctionEnd
 109(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 102
@@ -8297,51 +8143,51 @@ gl_FragCoord origin is upper left
       107(inFM0):     77(ptr) FunctionParameter
       108(inFM1):     77(ptr) FunctionParameter
              110:             Label
-        1701(r0):      7(ptr) Variable Function
-        1705(r1):     49(ptr) Variable Function
-        1709(r2):     49(ptr) Variable Function
-        1713(r3):      7(ptr) Variable Function
-        1717(r4):     49(ptr) Variable Function
-        1721(r5):     49(ptr) Variable Function
-        1725(r6):     77(ptr) Variable Function
-        1729(r7):     77(ptr) Variable Function
-        1733(r8):     77(ptr) Variable Function
-            1702:    6(float) Load 104(inF1)
-            1703:    6(float) Load 103(inF0)
-            1704:    6(float) FMul 1702 1703
-                              Store 1701(r0) 1704
-            1706:    6(float) Load 103(inF0)
-            1707:   48(fvec4) Load 105(inFV0)
-            1708:   48(fvec4) VectorTimesScalar 1707 1706
-                              Store 1705(r1) 1708
-            1710:   48(fvec4) Load 105(inFV0)
-            1711:    6(float) Load 103(inF0)
-            1712:   48(fvec4) VectorTimesScalar 1710 1711
-                              Store 1709(r2) 1712
-            1714:   48(fvec4) Load 105(inFV0)
-            1715:   48(fvec4) Load 106(inFV1)
-            1716:    6(float) Dot 1714 1715
-                              Store 1713(r3) 1716
-            1718:   48(fvec4) Load 105(inFV0)
-            1719:          76 Load 107(inFM0)
-            1720:   48(fvec4) VectorTimesMatrix 1718 1719
-                              Store 1717(r4) 1720
-            1722:          76 Load 107(inFM0)
-            1723:   48(fvec4) Load 105(inFV0)
-            1724:   48(fvec4) MatrixTimesVector 1722 1723
-                              Store 1721(r5) 1724
-            1726:    6(float) Load 103(inF0)
-            1727:          76 Load 107(inFM0)
-            1728:          76 MatrixTimesScalar 1727 1726
-                              Store 1725(r6) 1728
-            1730:          76 Load 107(inFM0)
-            1731:    6(float) Load 103(inF0)
-            1732:          76 MatrixTimesScalar 1730 1731
-                              Store 1729(r7) 1732
-            1734:          76 Load 108(inFM1)
-            1735:          76 Load 107(inFM0)
-            1736:          76 MatrixTimesMatrix 1734 1735
-                              Store 1733(r8) 1736
+        1659(r0):      7(ptr) Variable Function
+        1663(r1):     49(ptr) Variable Function
+        1667(r2):     49(ptr) Variable Function
+        1671(r3):      7(ptr) Variable Function
+        1675(r4):     49(ptr) Variable Function
+        1679(r5):     49(ptr) Variable Function
+        1683(r6):     77(ptr) Variable Function
+        1687(r7):     77(ptr) Variable Function
+        1691(r8):     77(ptr) Variable Function
+            1660:    6(float) Load 104(inF1)
+            1661:    6(float) Load 103(inF0)
+            1662:    6(float) FMul 1660 1661
+                              Store 1659(r0) 1662
+            1664:    6(float) Load 103(inF0)
+            1665:   48(fvec4) Load 105(inFV0)
+            1666:   48(fvec4) VectorTimesScalar 1665 1664
+                              Store 1663(r1) 1666
+            1668:   48(fvec4) Load 105(inFV0)
+            1669:    6(float) Load 103(inF0)
+            1670:   48(fvec4) VectorTimesScalar 1668 1669
+                              Store 1667(r2) 1670
+            1672:   48(fvec4) Load 105(inFV0)
+            1673:   48(fvec4) Load 106(inFV1)
+            1674:    6(float) Dot 1672 1673
+                              Store 1671(r3) 1674
+            1676:   48(fvec4) Load 105(inFV0)
+            1677:          76 Load 107(inFM0)
+            1678:   48(fvec4) VectorTimesMatrix 1676 1677
+                              Store 1675(r4) 1678
+            1680:          76 Load 107(inFM0)
+            1681:   48(fvec4) Load 105(inFV0)
+            1682:   48(fvec4) MatrixTimesVector 1680 1681
+                              Store 1679(r5) 1682
+            1684:    6(float) Load 103(inF0)
+            1685:          76 Load 107(inFM0)
+            1686:          76 MatrixTimesScalar 1685 1684
+                              Store 1683(r6) 1686
+            1688:          76 Load 107(inFM0)
+            1689:    6(float) Load 103(inF0)
+            1690:          76 MatrixTimesScalar 1688 1689
+                              Store 1687(r7) 1690
+            1692:          76 Load 108(inFM1)
+            1693:          76 Load 107(inFM0)
+            1694:          76 MatrixTimesMatrix 1692 1693
+                              Store 1691(r8) 1694
                               Return
                               FunctionEnd
 129(TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;):           2 Function None 119
@@ -8355,98 +8201,98 @@ gl_FragCoord origin is upper left
     127(inFM3x4):    116(ptr) FunctionParameter
     128(inFM2x4):    118(ptr) FunctionParameter
              130:             Label
-       1737(r00):      7(ptr) Variable Function
-       1741(r01):     25(ptr) Variable Function
-       1745(r02):     37(ptr) Variable Function
-       1749(r03):     25(ptr) Variable Function
-       1753(r04):     37(ptr) Variable Function
-       1757(r05):      7(ptr) Variable Function
-       1761(r06):      7(ptr) Variable Function
-       1765(r07):     37(ptr) Variable Function
-       1769(r08):     25(ptr) Variable Function
-       1773(r09):     25(ptr) Variable Function
-       1777(r10):     37(ptr) Variable Function
-       1781(r11):    112(ptr) Variable Function
-       1785(r12):    114(ptr) Variable Function
-       1789(r13):     61(ptr) Variable Function
-       1793(r14):    112(ptr) Variable Function
-       1797(r15):    118(ptr) Variable Function
-       1801(r16):    116(ptr) Variable Function
-            1738:    6(float) Load 121(inF1)
-            1739:    6(float) Load 120(inF0)
-            1740:    6(float) FMul 1738 1739
-                              Store 1737(r00) 1740
-            1742:    6(float) Load 120(inF0)
-            1743:   24(fvec2) Load 122(inFV2)
-            1744:   24(fvec2) VectorTimesScalar 1743 1742
-                              Store 1741(r01) 1744
-            1746:    6(float) Load 120(inF0)
-            1747:   36(fvec3) Load 123(inFV3)
-            1748:   36(fvec3) VectorTimesScalar 1747 1746
-                              Store 1745(r02) 1748
-            1750:   24(fvec2) Load 122(inFV2)
-            1751:    6(float) Load 120(inF0)
-            1752:   24(fvec2) VectorTimesScalar 1750 1751
-                              Store 1749(r03) 1752
-            1754:   36(fvec3) Load 123(inFV3)
-            1755:    6(float) Load 120(inF0)
-            1756:   36(fvec3) VectorTimesScalar 1754 1755
-                              Store 1753(r04) 1756
-            1758:   24(fvec2) Load 122(inFV2)
-            1759:   24(fvec2) Load 122(inFV2)
-            1760:    6(float) Dot 1758 1759
-                              Store 1757(r05) 1760
-            1762:   36(fvec3) Load 123(inFV3)
-            1763:   36(fvec3) Load 123(inFV3)
-            1764:    6(float) Dot 1762 1763
-                              Store 1761(r06) 1764
-            1766:         111 Load 124(inFM2x3)
-            1767:   24(fvec2) Load 122(inFV2)
-            1768:   36(fvec3) MatrixTimesVector 1766 1767
-                              Store 1765(r07) 1768
-            1770:         113 Load 125(inFM3x2)
-            1771:   36(fvec3) Load 123(inFV3)
-            1772:   24(fvec2) MatrixTimesVector 1770 1771
-                              Store 1769(r08) 1772
-            1774:   36(fvec3) Load 123(inFV3)
-            1775:         111 Load 124(inFM2x3)
-            1776:   24(fvec2) VectorTimesMatrix 1774 1775
-                              Store 1773(r09) 1776
-            1778:   24(fvec2) Load 122(inFV2)
-            1779:         113 Load 125(inFM3x2)
-            1780:   36(fvec3) VectorTimesMatrix 1778 1779
-                              Store 1777(r10) 1780
-            1782:    6(float) Load 120(inF0)
-            1783:         111 Load 124(inFM2x3)
-            1784:         111 MatrixTimesScalar 1783 1782
-                              Store 1781(r11) 1784
-            1786:    6(float) Load 120(inF0)
-            1787:         113 Load 125(inFM3x2)
-            1788:         113 MatrixTimesScalar 1787 1786
-                              Store 1785(r12) 1788
-            1790:         113 Load 125(inFM3x2)
-            1791:         111 Load 124(inFM2x3)
-            1792:          60 MatrixTimesMatrix 1790 1791
-                              Store 1789(r13) 1792
-            1794:          68 Load 126(inFM3x3)
-            1795:         111 Load 124(inFM2x3)
-            1796:         111 MatrixTimesMatrix 1794 1795
-                              Store 1793(r14) 1796
-            1798:         115 Load 127(inFM3x4)
-            1799:         111 Load 124(inFM2x3)
-            1800:         117 MatrixTimesMatrix 1798 1799
-                              Store 1797(r15) 1800
-            1802:         117 Load 128(inFM2x4)
-            1803:         113 Load 125(inFM3x2)
-            1804:         115 MatrixTimesMatrix 1802 1803
-                              Store 1801(r16) 1804
+       1695(r00):      7(ptr) Variable Function
+       1699(r01):     25(ptr) Variable Function
+       1703(r02):     37(ptr) Variable Function
+       1707(r03):     25(ptr) Variable Function
+       1711(r04):     37(ptr) Variable Function
+       1715(r05):      7(ptr) Variable Function
+       1719(r06):      7(ptr) Variable Function
+       1723(r07):     37(ptr) Variable Function
+       1727(r08):     25(ptr) Variable Function
+       1731(r09):     25(ptr) Variable Function
+       1735(r10):     37(ptr) Variable Function
+       1739(r11):    112(ptr) Variable Function
+       1743(r12):    114(ptr) Variable Function
+       1747(r13):     61(ptr) Variable Function
+       1751(r14):    112(ptr) Variable Function
+       1755(r15):    118(ptr) Variable Function
+       1759(r16):    116(ptr) Variable Function
+            1696:    6(float) Load 121(inF1)
+            1697:    6(float) Load 120(inF0)
+            1698:    6(float) FMul 1696 1697
+                              Store 1695(r00) 1698
+            1700:    6(float) Load 120(inF0)
+            1701:   24(fvec2) Load 122(inFV2)
+            1702:   24(fvec2) VectorTimesScalar 1701 1700
+                              Store 1699(r01) 1702
+            1704:    6(float) Load 120(inF0)
+            1705:   36(fvec3) Load 123(inFV3)
+            1706:   36(fvec3) VectorTimesScalar 1705 1704
+                              Store 1703(r02) 1706
+            1708:   24(fvec2) Load 122(inFV2)
+            1709:    6(float) Load 120(inF0)
+            1710:   24(fvec2) VectorTimesScalar 1708 1709
+                              Store 1707(r03) 1710
+            1712:   36(fvec3) Load 123(inFV3)
+            1713:    6(float) Load 120(inF0)
+            1714:   36(fvec3) VectorTimesScalar 1712 1713
+                              Store 1711(r04) 1714
+            1716:   24(fvec2) Load 122(inFV2)
+            1717:   24(fvec2) Load 122(inFV2)
+            1718:    6(float) Dot 1716 1717
+                              Store 1715(r05) 1718
+            1720:   36(fvec3) Load 123(inFV3)
+            1721:   36(fvec3) Load 123(inFV3)
+            1722:    6(float) Dot 1720 1721
+                              Store 1719(r06) 1722
+            1724:         111 Load 124(inFM2x3)
+            1725:   24(fvec2) Load 122(inFV2)
+            1726:   36(fvec3) MatrixTimesVector 1724 1725
+                              Store 1723(r07) 1726
+            1728:         113 Load 125(inFM3x2)
+            1729:   36(fvec3) Load 123(inFV3)
+            1730:   24(fvec2) MatrixTimesVector 1728 1729
+                              Store 1727(r08) 1730
+            1732:   36(fvec3) Load 123(inFV3)
+            1733:         111 Load 124(inFM2x3)
+            1734:   24(fvec2) VectorTimesMatrix 1732 1733
+                              Store 1731(r09) 1734
+            1736:   24(fvec2) Load 122(inFV2)
+            1737:         113 Load 125(inFM3x2)
+            1738:   36(fvec3) VectorTimesMatrix 1736 1737
+                              Store 1735(r10) 1738
+            1740:    6(float) Load 120(inF0)
+            1741:         111 Load 124(inFM2x3)
+            1742:         111 MatrixTimesScalar 1741 1740
+                              Store 1739(r11) 1742
+            1744:    6(float) Load 120(inF0)
+            1745:         113 Load 125(inFM3x2)
+            1746:         113 MatrixTimesScalar 1745 1744
+                              Store 1743(r12) 1746
+            1748:         113 Load 125(inFM3x2)
+            1749:         111 Load 124(inFM2x3)
+            1750:          60 MatrixTimesMatrix 1748 1749
+                              Store 1747(r13) 1750
+            1752:          68 Load 126(inFM3x3)
+            1753:         111 Load 124(inFM2x3)
+            1754:         111 MatrixTimesMatrix 1752 1753
+                              Store 1751(r14) 1754
+            1756:         115 Load 127(inFM3x4)
+            1757:         111 Load 124(inFM2x3)
+            1758:         117 MatrixTimesMatrix 1756 1757
+                              Store 1755(r15) 1758
+            1760:         117 Load 128(inFM2x4)
+            1761:         113 Load 125(inFM3x2)
+            1762:         115 MatrixTimesMatrix 1760 1761
+                              Store 1759(r16) 1762
                               Return
                               FunctionEnd
      133(@main():131(PS_OUTPUT) Function None 132
              134:             Label
- 1806(ps_output):   1805(ptr) Variable Function
-            1809:     49(ptr) AccessChain 1806(ps_output) 1807
-                              Store 1809 1808
-            1810:131(PS_OUTPUT) Load 1806(ps_output)
-                              ReturnValue 1810
+ 1764(ps_output):   1763(ptr) Variable Function
+            1767:     49(ptr) AccessChain 1764(ps_output) 1765
+                              Store 1767 1766
+            1768:131(PS_OUTPUT) Load 1764(ps_output)
+                              ReturnValue 1768
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.intrinsics.vert.out b/Test/baseResults/hlsl.intrinsics.vert.out
index 107575b7525c74d3dc6fe8b6cb1cbbdf9b3882a8..8de7d75fa27d8c5fd4819ee06a771c8f7e3b7e06 100644
--- a/Test/baseResults/hlsl.intrinsics.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.vert.out
@@ -62,880 +62,862 @@ Shader version: 450
 0:29        'inF1' ( in float)
 0:30      Fraction ( temp float)
 0:30        'inF0' ( in float)
-0:31      frexp ( temp float)
+0:31      isinf ( temp bool)
 0:31        'inF0' ( in float)
-0:31        'inF1' ( in float)
-0:32      isinf ( temp bool)
+0:32      isnan ( temp bool)
 0:32        'inF0' ( in float)
-0:33      isnan ( temp bool)
+0:33      ldexp ( temp float)
 0:33        'inF0' ( in float)
-0:34      ldexp ( temp float)
+0:33        'inF1' ( in float)
+0:34      mix ( temp float)
 0:34        'inF0' ( in float)
 0:34        'inF1' ( in float)
-0:35      mix ( temp float)
+0:34        'inF2' ( in float)
+0:35      log ( temp float)
 0:35        'inF0' ( in float)
-0:35        'inF1' ( in float)
-0:35        'inF2' ( in float)
-0:36      log ( temp float)
-0:36        'inF0' ( in float)
-0:37      component-wise multiply ( temp float)
-0:37        log2 ( temp float)
-0:37          'inF0' ( in float)
-0:37        Constant:
-0:37          0.301030
-0:38      log2 ( temp float)
+0:36      component-wise multiply ( temp float)
+0:36        log2 ( temp float)
+0:36          'inF0' ( in float)
+0:36        Constant:
+0:36          0.301030
+0:37      log2 ( temp float)
+0:37        'inF0' ( in float)
+0:38      max ( temp float)
 0:38        'inF0' ( in float)
-0:39      max ( temp float)
+0:38        'inF1' ( in float)
+0:39      min ( temp float)
 0:39        'inF0' ( in float)
 0:39        'inF1' ( in float)
-0:40      min ( temp float)
-0:40        'inF0' ( in float)
-0:40        'inF1' ( in float)
-0:42      pow ( temp float)
+0:41      pow ( temp float)
+0:41        'inF0' ( in float)
+0:41        'inF1' ( in float)
+0:42      radians ( temp float)
 0:42        'inF0' ( in float)
-0:42        'inF1' ( in float)
-0:43      radians ( temp float)
-0:43        'inF0' ( in float)
-0:44      bitFieldReverse ( temp int)
-0:44        Constant:
-0:44          2 (const int)
-0:45      roundEven ( temp float)
+0:43      bitFieldReverse ( temp int)
+0:43        Constant:
+0:43          2 (const int)
+0:44      roundEven ( temp float)
+0:44        'inF0' ( in float)
+0:45      inverse sqrt ( temp float)
 0:45        'inF0' ( in float)
-0:46      inverse sqrt ( temp float)
+0:46      clamp ( temp float)
 0:46        'inF0' ( in float)
-0:47      clamp ( temp float)
+0:46        Constant:
+0:46          0.000000
+0:46        Constant:
+0:46          1.000000
+0:47      Sign ( temp float)
 0:47        'inF0' ( in float)
-0:47        Constant:
-0:47          0.000000
-0:47        Constant:
-0:47          1.000000
-0:48      Sign ( temp float)
+0:48      sine ( temp float)
 0:48        'inF0' ( in float)
-0:49      sine ( temp float)
-0:49        'inF0' ( in float)
-0:50      Sequence
-0:50        move second child to first child ( temp float)
-0:50          'inF1' ( in float)
-0:50          sine ( temp float)
-0:50            'inF0' ( in float)
-0:50        move second child to first child ( temp float)
-0:50          'inF2' ( in float)
-0:50          cosine ( temp float)
-0:50            'inF0' ( in float)
-0:51      hyp. sine ( temp float)
+0:49      Sequence
+0:49        move second child to first child ( temp float)
+0:49          'inF1' ( in float)
+0:49          sine ( temp float)
+0:49            'inF0' ( in float)
+0:49        move second child to first child ( temp float)
+0:49          'inF2' ( in float)
+0:49          cosine ( temp float)
+0:49            'inF0' ( in float)
+0:50      hyp. sine ( temp float)
+0:50        'inF0' ( in float)
+0:51      smoothstep ( temp float)
 0:51        'inF0' ( in float)
-0:52      smoothstep ( temp float)
+0:51        'inF1' ( in float)
+0:51        'inF2' ( in float)
+0:52      sqrt ( temp float)
 0:52        'inF0' ( in float)
-0:52        'inF1' ( in float)
-0:52        'inF2' ( in float)
-0:53      sqrt ( temp float)
+0:53      step ( temp float)
 0:53        'inF0' ( in float)
-0:54      step ( temp float)
+0:53        'inF1' ( in float)
+0:54      tangent ( temp float)
 0:54        'inF0' ( in float)
-0:54        'inF1' ( in float)
-0:55      tangent ( temp float)
+0:55      hyp. tangent ( temp float)
 0:55        'inF0' ( in float)
-0:56      hyp. tangent ( temp float)
-0:56        'inF0' ( in float)
-0:58      trunc ( temp float)
-0:58        'inF0' ( in float)
-0:60      Branch: Return with expression
-0:60        Constant:
-0:60          0.000000
-0:64  Function Definition: VertexShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
-0:64    Function Parameters: 
-0:64      'inF0' ( in 1-component vector of float)
-0:64      'inF1' ( in 1-component vector of float)
-0:64      'inF2' ( in 1-component vector of float)
+0:57      trunc ( temp float)
+0:57        'inF0' ( in float)
+0:59      Branch: Return with expression
+0:59        Constant:
+0:59          0.000000
+0:63  Function Definition: VertexShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:63    Function Parameters: 
+0:63      'inF0' ( in 1-component vector of float)
+0:63      'inF1' ( in 1-component vector of float)
+0:63      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-0:66      Branch: Return with expression
-0:66        Constant:
-0:66          0.000000
-0:70  Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
-0:70    Function Parameters: 
-0:70      'inF0' ( in 2-component vector of float)
-0:70      'inF1' ( in 2-component vector of float)
-0:70      'inF2' ( in 2-component vector of float)
-0:70      'inU0' ( in 2-component vector of uint)
-0:70      'inU1' ( in 2-component vector of uint)
+0:65      Branch: Return with expression
+0:65        Constant:
+0:65          0.000000
+0:69  Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:69    Function Parameters: 
+0:69      'inF0' ( in 2-component vector of float)
+0:69      'inF1' ( in 2-component vector of float)
+0:69      'inF2' ( in 2-component vector of float)
+0:69      'inU0' ( in 2-component vector of uint)
+0:69      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
-0:71      all ( temp bool)
+0:70      all ( temp bool)
+0:70        'inF0' ( in 2-component vector of float)
+0:71      Absolute value ( temp 2-component vector of float)
 0:71        'inF0' ( in 2-component vector of float)
-0:72      Absolute value ( temp 2-component vector of float)
+0:72      arc cosine ( temp 2-component vector of float)
 0:72        'inF0' ( in 2-component vector of float)
-0:73      arc cosine ( temp 2-component vector of float)
+0:73      any ( temp bool)
 0:73        'inF0' ( in 2-component vector of float)
-0:74      any ( temp bool)
+0:74      arc sine ( temp 2-component vector of float)
 0:74        'inF0' ( in 2-component vector of float)
-0:75      arc sine ( temp 2-component vector of float)
+0:75      floatBitsToInt ( temp 2-component vector of int)
 0:75        'inF0' ( in 2-component vector of float)
-0:76      floatBitsToInt ( temp 2-component vector of int)
+0:76      floatBitsToUint ( temp 2-component vector of uint)
 0:76        'inF0' ( in 2-component vector of float)
-0:77      floatBitsToUint ( temp 2-component vector of uint)
-0:77        'inF0' ( in 2-component vector of float)
-0:78      intBitsToFloat ( temp 2-component vector of float)
-0:78        'inU0' ( in 2-component vector of uint)
+0:77      intBitsToFloat ( temp 2-component vector of float)
+0:77        'inU0' ( in 2-component vector of uint)
+0:79      arc tangent ( temp 2-component vector of float)
+0:79        'inF0' ( in 2-component vector of float)
 0:80      arc tangent ( temp 2-component vector of float)
 0:80        'inF0' ( in 2-component vector of float)
-0:81      arc tangent ( temp 2-component vector of float)
+0:80        'inF1' ( in 2-component vector of float)
+0:81      Ceiling ( temp 2-component vector of float)
 0:81        'inF0' ( in 2-component vector of float)
-0:81        'inF1' ( in 2-component vector of float)
-0:82      Ceiling ( temp 2-component vector of float)
+0:82      clamp ( temp 2-component vector of float)
 0:82        'inF0' ( in 2-component vector of float)
-0:83      clamp ( temp 2-component vector of float)
+0:82        'inF1' ( in 2-component vector of float)
+0:82        'inF2' ( in 2-component vector of float)
+0:83      cosine ( temp 2-component vector of float)
 0:83        'inF0' ( in 2-component vector of float)
-0:83        'inF1' ( in 2-component vector of float)
-0:83        'inF2' ( in 2-component vector of float)
-0:84      cosine ( temp 2-component vector of float)
+0:84      hyp. cosine ( temp 2-component vector of float)
 0:84        'inF0' ( in 2-component vector of float)
-0:85      hyp. cosine ( temp 2-component vector of float)
-0:85        'inF0' ( in 2-component vector of float)
 0:?       bitCount ( temp 2-component vector of int)
 0:?         Constant:
 0:?           7 (const int)
 0:?           3 (const int)
-0:87      degrees ( temp 2-component vector of float)
+0:86      degrees ( temp 2-component vector of float)
+0:86        'inF0' ( in 2-component vector of float)
+0:87      distance ( temp float)
 0:87        'inF0' ( in 2-component vector of float)
-0:88      distance ( temp float)
+0:87        'inF1' ( in 2-component vector of float)
+0:88      dot-product ( temp float)
 0:88        'inF0' ( in 2-component vector of float)
 0:88        'inF1' ( in 2-component vector of float)
-0:89      dot-product ( temp float)
-0:89        'inF0' ( in 2-component vector of float)
-0:89        'inF1' ( in 2-component vector of float)
-0:93      exp ( temp 2-component vector of float)
+0:92      exp ( temp 2-component vector of float)
+0:92        'inF0' ( in 2-component vector of float)
+0:93      exp2 ( temp 2-component vector of float)
 0:93        'inF0' ( in 2-component vector of float)
-0:94      exp2 ( temp 2-component vector of float)
+0:94      face-forward ( temp 2-component vector of float)
 0:94        'inF0' ( in 2-component vector of float)
-0:95      face-forward ( temp 2-component vector of float)
-0:95        'inF0' ( in 2-component vector of float)
-0:95        'inF1' ( in 2-component vector of float)
-0:95        'inF2' ( in 2-component vector of float)
-0:96      findMSB ( temp int)
+0:94        'inF1' ( in 2-component vector of float)
+0:94        'inF2' ( in 2-component vector of float)
+0:95      findMSB ( temp int)
+0:95        Constant:
+0:95          7 (const int)
+0:96      findLSB ( temp int)
 0:96        Constant:
 0:96          7 (const int)
-0:97      findLSB ( temp int)
-0:97        Constant:
-0:97          7 (const int)
-0:98      Floor ( temp 2-component vector of float)
-0:98        'inF0' ( in 2-component vector of float)
-0:100      mod ( temp 2-component vector of float)
+0:97      Floor ( temp 2-component vector of float)
+0:97        'inF0' ( in 2-component vector of float)
+0:99      mod ( temp 2-component vector of float)
+0:99        'inF0' ( in 2-component vector of float)
+0:99        'inF1' ( in 2-component vector of float)
+0:100      Fraction ( temp 2-component vector of float)
 0:100        'inF0' ( in 2-component vector of float)
-0:100        'inF1' ( in 2-component vector of float)
-0:101      Fraction ( temp 2-component vector of float)
+0:101      isinf ( temp 2-component vector of bool)
 0:101        'inF0' ( in 2-component vector of float)
-0:102      frexp ( temp 2-component vector of float)
+0:102      isnan ( temp 2-component vector of bool)
 0:102        'inF0' ( in 2-component vector of float)
-0:102        'inF1' ( in 2-component vector of float)
-0:103      isinf ( temp 2-component vector of bool)
+0:103      ldexp ( temp 2-component vector of float)
 0:103        'inF0' ( in 2-component vector of float)
-0:104      isnan ( temp 2-component vector of bool)
+0:103        'inF1' ( in 2-component vector of float)
+0:104      mix ( temp 2-component vector of float)
 0:104        'inF0' ( in 2-component vector of float)
-0:105      ldexp ( temp 2-component vector of float)
+0:104        'inF1' ( in 2-component vector of float)
+0:104        'inF2' ( in 2-component vector of float)
+0:105      length ( temp float)
 0:105        'inF0' ( in 2-component vector of float)
-0:105        'inF1' ( in 2-component vector of float)
-0:106      mix ( temp 2-component vector of float)
+0:106      log ( temp 2-component vector of float)
 0:106        'inF0' ( in 2-component vector of float)
-0:106        'inF1' ( in 2-component vector of float)
-0:106        'inF2' ( in 2-component vector of float)
-0:107      length ( temp float)
-0:107        'inF0' ( in 2-component vector of float)
-0:108      log ( temp 2-component vector of float)
+0:107      vector-scale ( temp 2-component vector of float)
+0:107        log2 ( temp 2-component vector of float)
+0:107          'inF0' ( in 2-component vector of float)
+0:107        Constant:
+0:107          0.301030
+0:108      log2 ( temp 2-component vector of float)
 0:108        'inF0' ( in 2-component vector of float)
-0:109      vector-scale ( temp 2-component vector of float)
-0:109        log2 ( temp 2-component vector of float)
-0:109          'inF0' ( in 2-component vector of float)
-0:109        Constant:
-0:109          0.301030
-0:110      log2 ( temp 2-component vector of float)
+0:109      max ( temp 2-component vector of float)
+0:109        'inF0' ( in 2-component vector of float)
+0:109        'inF1' ( in 2-component vector of float)
+0:110      min ( temp 2-component vector of float)
 0:110        'inF0' ( in 2-component vector of float)
-0:111      max ( temp 2-component vector of float)
-0:111        'inF0' ( in 2-component vector of float)
-0:111        'inF1' ( in 2-component vector of float)
-0:112      min ( temp 2-component vector of float)
+0:110        'inF1' ( in 2-component vector of float)
+0:112      normalize ( temp 2-component vector of float)
 0:112        'inF0' ( in 2-component vector of float)
-0:112        'inF1' ( in 2-component vector of float)
-0:114      normalize ( temp 2-component vector of float)
+0:113      pow ( temp 2-component vector of float)
+0:113        'inF0' ( in 2-component vector of float)
+0:113        'inF1' ( in 2-component vector of float)
+0:114      radians ( temp 2-component vector of float)
 0:114        'inF0' ( in 2-component vector of float)
-0:115      pow ( temp 2-component vector of float)
+0:115      reflect ( temp 2-component vector of float)
 0:115        'inF0' ( in 2-component vector of float)
 0:115        'inF1' ( in 2-component vector of float)
-0:116      radians ( temp 2-component vector of float)
+0:116      refract ( temp 2-component vector of float)
 0:116        'inF0' ( in 2-component vector of float)
-0:117      reflect ( temp 2-component vector of float)
-0:117        'inF0' ( in 2-component vector of float)
-0:117        'inF1' ( in 2-component vector of float)
-0:118      refract ( temp 2-component vector of float)
-0:118        'inF0' ( in 2-component vector of float)
-0:118        'inF1' ( in 2-component vector of float)
-0:118        Constant:
-0:118          2.000000
+0:116        'inF1' ( in 2-component vector of float)
+0:116        Constant:
+0:116          2.000000
 0:?       bitFieldReverse ( temp 2-component vector of int)
 0:?         Constant:
 0:?           1 (const int)
 0:?           2 (const int)
-0:120      roundEven ( temp 2-component vector of float)
+0:118      roundEven ( temp 2-component vector of float)
+0:118        'inF0' ( in 2-component vector of float)
+0:119      inverse sqrt ( temp 2-component vector of float)
+0:119        'inF0' ( in 2-component vector of float)
+0:120      clamp ( temp 2-component vector of float)
 0:120        'inF0' ( in 2-component vector of float)
-0:121      inverse sqrt ( temp 2-component vector of float)
+0:120        Constant:
+0:120          0.000000
+0:120        Constant:
+0:120          1.000000
+0:121      Sign ( temp 2-component vector of float)
 0:121        'inF0' ( in 2-component vector of float)
-0:122      clamp ( temp 2-component vector of float)
+0:122      sine ( temp 2-component vector of float)
 0:122        'inF0' ( in 2-component vector of float)
-0:122        Constant:
-0:122          0.000000
-0:122        Constant:
-0:122          1.000000
-0:123      Sign ( temp 2-component vector of float)
-0:123        'inF0' ( in 2-component vector of float)
-0:124      sine ( temp 2-component vector of float)
+0:123      Sequence
+0:123        move second child to first child ( temp 2-component vector of float)
+0:123          'inF1' ( in 2-component vector of float)
+0:123          sine ( temp 2-component vector of float)
+0:123            'inF0' ( in 2-component vector of float)
+0:123        move second child to first child ( temp 2-component vector of float)
+0:123          'inF2' ( in 2-component vector of float)
+0:123          cosine ( temp 2-component vector of float)
+0:123            'inF0' ( in 2-component vector of float)
+0:124      hyp. sine ( temp 2-component vector of float)
 0:124        'inF0' ( in 2-component vector of float)
-0:125      Sequence
-0:125        move second child to first child ( temp 2-component vector of float)
-0:125          'inF1' ( in 2-component vector of float)
-0:125          sine ( temp 2-component vector of float)
-0:125            'inF0' ( in 2-component vector of float)
-0:125        move second child to first child ( temp 2-component vector of float)
-0:125          'inF2' ( in 2-component vector of float)
-0:125          cosine ( temp 2-component vector of float)
-0:125            'inF0' ( in 2-component vector of float)
-0:126      hyp. sine ( temp 2-component vector of float)
+0:125      smoothstep ( temp 2-component vector of float)
+0:125        'inF0' ( in 2-component vector of float)
+0:125        'inF1' ( in 2-component vector of float)
+0:125        'inF2' ( in 2-component vector of float)
+0:126      sqrt ( temp 2-component vector of float)
 0:126        'inF0' ( in 2-component vector of float)
-0:127      smoothstep ( temp 2-component vector of float)
+0:127      step ( temp 2-component vector of float)
 0:127        'inF0' ( in 2-component vector of float)
 0:127        'inF1' ( in 2-component vector of float)
-0:127        'inF2' ( in 2-component vector of float)
-0:128      sqrt ( temp 2-component vector of float)
+0:128      tangent ( temp 2-component vector of float)
 0:128        'inF0' ( in 2-component vector of float)
-0:129      step ( temp 2-component vector of float)
+0:129      hyp. tangent ( temp 2-component vector of float)
 0:129        'inF0' ( in 2-component vector of float)
-0:129        'inF1' ( in 2-component vector of float)
-0:130      tangent ( temp 2-component vector of float)
-0:130        'inF0' ( in 2-component vector of float)
-0:131      hyp. tangent ( temp 2-component vector of float)
+0:131      trunc ( temp 2-component vector of float)
 0:131        'inF0' ( in 2-component vector of float)
-0:133      trunc ( temp 2-component vector of float)
-0:133        'inF0' ( in 2-component vector of float)
-0:136      Branch: Return with expression
+0:134      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:140  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
-0:140    Function Parameters: 
-0:140      'inF0' ( in 3-component vector of float)
-0:140      'inF1' ( in 3-component vector of float)
-0:140      'inF2' ( in 3-component vector of float)
-0:140      'inU0' ( in 3-component vector of uint)
-0:140      'inU1' ( in 3-component vector of uint)
+0:138  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:138    Function Parameters: 
+0:138      'inF0' ( in 3-component vector of float)
+0:138      'inF1' ( in 3-component vector of float)
+0:138      'inF2' ( in 3-component vector of float)
+0:138      'inU0' ( in 3-component vector of uint)
+0:138      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
-0:141      all ( temp bool)
+0:139      all ( temp bool)
+0:139        'inF0' ( in 3-component vector of float)
+0:140      Absolute value ( temp 3-component vector of float)
+0:140        'inF0' ( in 3-component vector of float)
+0:141      arc cosine ( temp 3-component vector of float)
 0:141        'inF0' ( in 3-component vector of float)
-0:142      Absolute value ( temp 3-component vector of float)
+0:142      any ( temp bool)
 0:142        'inF0' ( in 3-component vector of float)
-0:143      arc cosine ( temp 3-component vector of float)
+0:143      arc sine ( temp 3-component vector of float)
 0:143        'inF0' ( in 3-component vector of float)
-0:144      any ( temp bool)
+0:144      floatBitsToInt ( temp 3-component vector of int)
 0:144        'inF0' ( in 3-component vector of float)
-0:145      arc sine ( temp 3-component vector of float)
+0:145      floatBitsToUint ( temp 3-component vector of uint)
 0:145        'inF0' ( in 3-component vector of float)
-0:146      floatBitsToInt ( temp 3-component vector of int)
-0:146        'inF0' ( in 3-component vector of float)
-0:147      floatBitsToUint ( temp 3-component vector of uint)
-0:147        'inF0' ( in 3-component vector of float)
-0:148      intBitsToFloat ( temp 3-component vector of float)
-0:148        'inU0' ( in 3-component vector of uint)
-0:150      arc tangent ( temp 3-component vector of float)
+0:146      intBitsToFloat ( temp 3-component vector of float)
+0:146        'inU0' ( in 3-component vector of uint)
+0:148      arc tangent ( temp 3-component vector of float)
+0:148        'inF0' ( in 3-component vector of float)
+0:149      arc tangent ( temp 3-component vector of float)
+0:149        'inF0' ( in 3-component vector of float)
+0:149        'inF1' ( in 3-component vector of float)
+0:150      Ceiling ( temp 3-component vector of float)
 0:150        'inF0' ( in 3-component vector of float)
-0:151      arc tangent ( temp 3-component vector of float)
+0:151      clamp ( temp 3-component vector of float)
 0:151        'inF0' ( in 3-component vector of float)
 0:151        'inF1' ( in 3-component vector of float)
-0:152      Ceiling ( temp 3-component vector of float)
+0:151        'inF2' ( in 3-component vector of float)
+0:152      cosine ( temp 3-component vector of float)
 0:152        'inF0' ( in 3-component vector of float)
-0:153      clamp ( temp 3-component vector of float)
+0:153      hyp. cosine ( temp 3-component vector of float)
 0:153        'inF0' ( in 3-component vector of float)
-0:153        'inF1' ( in 3-component vector of float)
-0:153        'inF2' ( in 3-component vector of float)
-0:154      cosine ( temp 3-component vector of float)
-0:154        'inF0' ( in 3-component vector of float)
-0:155      hyp. cosine ( temp 3-component vector of float)
-0:155        'inF0' ( in 3-component vector of float)
 0:?       bitCount ( temp 3-component vector of int)
 0:?         Constant:
 0:?           7 (const int)
 0:?           3 (const int)
 0:?           5 (const int)
-0:157      cross-product ( temp 3-component vector of float)
+0:155      cross-product ( temp 3-component vector of float)
+0:155        'inF0' ( in 3-component vector of float)
+0:155        'inF1' ( in 3-component vector of float)
+0:156      degrees ( temp 3-component vector of float)
+0:156        'inF0' ( in 3-component vector of float)
+0:157      distance ( temp float)
 0:157        'inF0' ( in 3-component vector of float)
 0:157        'inF1' ( in 3-component vector of float)
-0:158      degrees ( temp 3-component vector of float)
+0:158      dot-product ( temp float)
 0:158        'inF0' ( in 3-component vector of float)
-0:159      distance ( temp float)
-0:159        'inF0' ( in 3-component vector of float)
-0:159        'inF1' ( in 3-component vector of float)
-0:160      dot-product ( temp float)
-0:160        'inF0' ( in 3-component vector of float)
-0:160        'inF1' ( in 3-component vector of float)
-0:164      exp ( temp 3-component vector of float)
+0:158        'inF1' ( in 3-component vector of float)
+0:162      exp ( temp 3-component vector of float)
+0:162        'inF0' ( in 3-component vector of float)
+0:163      exp2 ( temp 3-component vector of float)
+0:163        'inF0' ( in 3-component vector of float)
+0:164      face-forward ( temp 3-component vector of float)
 0:164        'inF0' ( in 3-component vector of float)
-0:165      exp2 ( temp 3-component vector of float)
-0:165        'inF0' ( in 3-component vector of float)
-0:166      face-forward ( temp 3-component vector of float)
-0:166        'inF0' ( in 3-component vector of float)
-0:166        'inF1' ( in 3-component vector of float)
-0:166        'inF2' ( in 3-component vector of float)
-0:167      findMSB ( temp int)
-0:167        Constant:
-0:167          7 (const int)
-0:168      findLSB ( temp int)
-0:168        Constant:
-0:168          7 (const int)
-0:169      Floor ( temp 3-component vector of float)
+0:164        'inF1' ( in 3-component vector of float)
+0:164        'inF2' ( in 3-component vector of float)
+0:165      findMSB ( temp int)
+0:165        Constant:
+0:165          7 (const int)
+0:166      findLSB ( temp int)
+0:166        Constant:
+0:166          7 (const int)
+0:167      Floor ( temp 3-component vector of float)
+0:167        'inF0' ( in 3-component vector of float)
+0:169      mod ( temp 3-component vector of float)
 0:169        'inF0' ( in 3-component vector of float)
-0:171      mod ( temp 3-component vector of float)
+0:169        'inF1' ( in 3-component vector of float)
+0:170      Fraction ( temp 3-component vector of float)
+0:170        'inF0' ( in 3-component vector of float)
+0:171      isinf ( temp 3-component vector of bool)
 0:171        'inF0' ( in 3-component vector of float)
-0:171        'inF1' ( in 3-component vector of float)
-0:172      Fraction ( temp 3-component vector of float)
+0:172      isnan ( temp 3-component vector of bool)
 0:172        'inF0' ( in 3-component vector of float)
-0:173      frexp ( temp 3-component vector of float)
+0:173      ldexp ( temp 3-component vector of float)
 0:173        'inF0' ( in 3-component vector of float)
 0:173        'inF1' ( in 3-component vector of float)
-0:174      isinf ( temp 3-component vector of bool)
+0:174      mix ( temp 3-component vector of float)
 0:174        'inF0' ( in 3-component vector of float)
-0:175      isnan ( temp 3-component vector of bool)
+0:174        'inF1' ( in 3-component vector of float)
+0:174        'inF2' ( in 3-component vector of float)
+0:175      length ( temp float)
 0:175        'inF0' ( in 3-component vector of float)
-0:176      ldexp ( temp 3-component vector of float)
+0:176      log ( temp 3-component vector of float)
 0:176        'inF0' ( in 3-component vector of float)
-0:176        'inF1' ( in 3-component vector of float)
-0:177      mix ( temp 3-component vector of float)
-0:177        'inF0' ( in 3-component vector of float)
-0:177        'inF1' ( in 3-component vector of float)
-0:177        'inF2' ( in 3-component vector of float)
-0:178      length ( temp float)
+0:177      vector-scale ( temp 3-component vector of float)
+0:177        log2 ( temp 3-component vector of float)
+0:177          'inF0' ( in 3-component vector of float)
+0:177        Constant:
+0:177          0.301030
+0:178      log2 ( temp 3-component vector of float)
 0:178        'inF0' ( in 3-component vector of float)
-0:179      log ( temp 3-component vector of float)
+0:179      max ( temp 3-component vector of float)
 0:179        'inF0' ( in 3-component vector of float)
-0:180      vector-scale ( temp 3-component vector of float)
-0:180        log2 ( temp 3-component vector of float)
-0:180          'inF0' ( in 3-component vector of float)
-0:180        Constant:
-0:180          0.301030
-0:181      log2 ( temp 3-component vector of float)
-0:181        'inF0' ( in 3-component vector of float)
-0:182      max ( temp 3-component vector of float)
+0:179        'inF1' ( in 3-component vector of float)
+0:180      min ( temp 3-component vector of float)
+0:180        'inF0' ( in 3-component vector of float)
+0:180        'inF1' ( in 3-component vector of float)
+0:182      normalize ( temp 3-component vector of float)
 0:182        'inF0' ( in 3-component vector of float)
-0:182        'inF1' ( in 3-component vector of float)
-0:183      min ( temp 3-component vector of float)
+0:183      pow ( temp 3-component vector of float)
 0:183        'inF0' ( in 3-component vector of float)
 0:183        'inF1' ( in 3-component vector of float)
-0:185      normalize ( temp 3-component vector of float)
+0:184      radians ( temp 3-component vector of float)
+0:184        'inF0' ( in 3-component vector of float)
+0:185      reflect ( temp 3-component vector of float)
 0:185        'inF0' ( in 3-component vector of float)
-0:186      pow ( temp 3-component vector of float)
+0:185        'inF1' ( in 3-component vector of float)
+0:186      refract ( temp 3-component vector of float)
 0:186        'inF0' ( in 3-component vector of float)
 0:186        'inF1' ( in 3-component vector of float)
-0:187      radians ( temp 3-component vector of float)
-0:187        'inF0' ( in 3-component vector of float)
-0:188      reflect ( temp 3-component vector of float)
-0:188        'inF0' ( in 3-component vector of float)
-0:188        'inF1' ( in 3-component vector of float)
-0:189      refract ( temp 3-component vector of float)
-0:189        'inF0' ( in 3-component vector of float)
-0:189        'inF1' ( in 3-component vector of float)
-0:189        Constant:
-0:189          2.000000
+0:186        Constant:
+0:186          2.000000
 0:?       bitFieldReverse ( temp 3-component vector of int)
 0:?         Constant:
 0:?           1 (const int)
 0:?           2 (const int)
 0:?           3 (const int)
-0:191      roundEven ( temp 3-component vector of float)
+0:188      roundEven ( temp 3-component vector of float)
+0:188        'inF0' ( in 3-component vector of float)
+0:189      inverse sqrt ( temp 3-component vector of float)
+0:189        'inF0' ( in 3-component vector of float)
+0:190      clamp ( temp 3-component vector of float)
+0:190        'inF0' ( in 3-component vector of float)
+0:190        Constant:
+0:190          0.000000
+0:190        Constant:
+0:190          1.000000
+0:191      Sign ( temp 3-component vector of float)
 0:191        'inF0' ( in 3-component vector of float)
-0:192      inverse sqrt ( temp 3-component vector of float)
+0:192      sine ( temp 3-component vector of float)
 0:192        'inF0' ( in 3-component vector of float)
-0:193      clamp ( temp 3-component vector of float)
-0:193        'inF0' ( in 3-component vector of float)
-0:193        Constant:
-0:193          0.000000
-0:193        Constant:
-0:193          1.000000
-0:194      Sign ( temp 3-component vector of float)
+0:193      Sequence
+0:193        move second child to first child ( temp 3-component vector of float)
+0:193          'inF1' ( in 3-component vector of float)
+0:193          sine ( temp 3-component vector of float)
+0:193            'inF0' ( in 3-component vector of float)
+0:193        move second child to first child ( temp 3-component vector of float)
+0:193          'inF2' ( in 3-component vector of float)
+0:193          cosine ( temp 3-component vector of float)
+0:193            'inF0' ( in 3-component vector of float)
+0:194      hyp. sine ( temp 3-component vector of float)
 0:194        'inF0' ( in 3-component vector of float)
-0:195      sine ( temp 3-component vector of float)
+0:195      smoothstep ( temp 3-component vector of float)
 0:195        'inF0' ( in 3-component vector of float)
-0:196      Sequence
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'inF1' ( in 3-component vector of float)
-0:196          sine ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'inF2' ( in 3-component vector of float)
-0:196          cosine ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
-0:197      hyp. sine ( temp 3-component vector of float)
+0:195        'inF1' ( in 3-component vector of float)
+0:195        'inF2' ( in 3-component vector of float)
+0:196      sqrt ( temp 3-component vector of float)
+0:196        'inF0' ( in 3-component vector of float)
+0:197      step ( temp 3-component vector of float)
 0:197        'inF0' ( in 3-component vector of float)
-0:198      smoothstep ( temp 3-component vector of float)
+0:197        'inF1' ( in 3-component vector of float)
+0:198      tangent ( temp 3-component vector of float)
 0:198        'inF0' ( in 3-component vector of float)
-0:198        'inF1' ( in 3-component vector of float)
-0:198        'inF2' ( in 3-component vector of float)
-0:199      sqrt ( temp 3-component vector of float)
+0:199      hyp. tangent ( temp 3-component vector of float)
 0:199        'inF0' ( in 3-component vector of float)
-0:200      step ( temp 3-component vector of float)
-0:200        'inF0' ( in 3-component vector of float)
-0:200        'inF1' ( in 3-component vector of float)
-0:201      tangent ( temp 3-component vector of float)
+0:201      trunc ( temp 3-component vector of float)
 0:201        'inF0' ( in 3-component vector of float)
-0:202      hyp. tangent ( temp 3-component vector of float)
-0:202        'inF0' ( in 3-component vector of float)
-0:204      trunc ( temp 3-component vector of float)
-0:204        'inF0' ( in 3-component vector of float)
-0:207      Branch: Return with expression
+0:204      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:211  Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
-0:211    Function Parameters: 
-0:211      'inF0' ( in 4-component vector of float)
-0:211      'inF1' ( in 4-component vector of float)
-0:211      'inF2' ( in 4-component vector of float)
-0:211      'inU0' ( in 4-component vector of uint)
-0:211      'inU1' ( in 4-component vector of uint)
+0:208  Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:208    Function Parameters: 
+0:208      'inF0' ( in 4-component vector of float)
+0:208      'inF1' ( in 4-component vector of float)
+0:208      'inF2' ( in 4-component vector of float)
+0:208      'inU0' ( in 4-component vector of uint)
+0:208      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
-0:212      all ( temp bool)
+0:209      all ( temp bool)
+0:209        'inF0' ( in 4-component vector of float)
+0:210      Absolute value ( temp 4-component vector of float)
+0:210        'inF0' ( in 4-component vector of float)
+0:211      arc cosine ( temp 4-component vector of float)
+0:211        'inF0' ( in 4-component vector of float)
+0:212      any ( temp bool)
 0:212        'inF0' ( in 4-component vector of float)
-0:213      Absolute value ( temp 4-component vector of float)
+0:213      arc sine ( temp 4-component vector of float)
 0:213        'inF0' ( in 4-component vector of float)
-0:214      arc cosine ( temp 4-component vector of float)
+0:214      floatBitsToInt ( temp 4-component vector of int)
 0:214        'inF0' ( in 4-component vector of float)
-0:215      any ( temp bool)
+0:215      floatBitsToUint ( temp 4-component vector of uint)
 0:215        'inF0' ( in 4-component vector of float)
-0:216      arc sine ( temp 4-component vector of float)
-0:216        'inF0' ( in 4-component vector of float)
-0:217      floatBitsToInt ( temp 4-component vector of int)
-0:217        'inF0' ( in 4-component vector of float)
-0:218      floatBitsToUint ( temp 4-component vector of uint)
+0:216      intBitsToFloat ( temp 4-component vector of float)
+0:216        'inU0' ( in 4-component vector of uint)
+0:218      arc tangent ( temp 4-component vector of float)
 0:218        'inF0' ( in 4-component vector of float)
-0:219      intBitsToFloat ( temp 4-component vector of float)
-0:219        'inU0' ( in 4-component vector of uint)
-0:221      arc tangent ( temp 4-component vector of float)
+0:219      arc tangent ( temp 4-component vector of float)
+0:219        'inF0' ( in 4-component vector of float)
+0:219        'inF1' ( in 4-component vector of float)
+0:220      Ceiling ( temp 4-component vector of float)
+0:220        'inF0' ( in 4-component vector of float)
+0:221      clamp ( temp 4-component vector of float)
 0:221        'inF0' ( in 4-component vector of float)
-0:222      arc tangent ( temp 4-component vector of float)
+0:221        'inF1' ( in 4-component vector of float)
+0:221        'inF2' ( in 4-component vector of float)
+0:222      cosine ( temp 4-component vector of float)
 0:222        'inF0' ( in 4-component vector of float)
-0:222        'inF1' ( in 4-component vector of float)
-0:223      Ceiling ( temp 4-component vector of float)
+0:223      hyp. cosine ( temp 4-component vector of float)
 0:223        'inF0' ( in 4-component vector of float)
-0:224      clamp ( temp 4-component vector of float)
-0:224        'inF0' ( in 4-component vector of float)
-0:224        'inF1' ( in 4-component vector of float)
-0:224        'inF2' ( in 4-component vector of float)
-0:225      cosine ( temp 4-component vector of float)
-0:225        'inF0' ( in 4-component vector of float)
-0:226      hyp. cosine ( temp 4-component vector of float)
-0:226        'inF0' ( in 4-component vector of float)
 0:?       bitCount ( temp 4-component vector of int)
 0:?         Constant:
 0:?           7 (const int)
 0:?           3 (const int)
 0:?           5 (const int)
 0:?           2 (const int)
-0:228      degrees ( temp 4-component vector of float)
-0:228        'inF0' ( in 4-component vector of float)
-0:229      distance ( temp float)
-0:229        'inF0' ( in 4-component vector of float)
-0:229        'inF1' ( in 4-component vector of float)
-0:230      dot-product ( temp float)
-0:230        'inF0' ( in 4-component vector of float)
-0:230        'inF1' ( in 4-component vector of float)
-0:231      Construct vec4 ( temp 4-component vector of float)
-0:231        Constant:
-0:231          1.000000
-0:231        component-wise multiply ( temp float)
-0:231          direct index ( temp float)
-0:231            'inF0' ( in 4-component vector of float)
-0:231            Constant:
-0:231              1 (const int)
-0:231          direct index ( temp float)
-0:231            'inF1' ( in 4-component vector of float)
-0:231            Constant:
-0:231              1 (const int)
-0:231        direct index ( temp float)
-0:231          'inF0' ( in 4-component vector of float)
-0:231          Constant:
-0:231            2 (const int)
-0:231        direct index ( temp float)
-0:231          'inF1' ( in 4-component vector of float)
-0:231          Constant:
-0:231            3 (const int)
-0:235      exp ( temp 4-component vector of float)
-0:235        'inF0' ( in 4-component vector of float)
-0:236      exp2 ( temp 4-component vector of float)
-0:236        'inF0' ( in 4-component vector of float)
-0:237      face-forward ( temp 4-component vector of float)
+0:225      degrees ( temp 4-component vector of float)
+0:225        'inF0' ( in 4-component vector of float)
+0:226      distance ( temp float)
+0:226        'inF0' ( in 4-component vector of float)
+0:226        'inF1' ( in 4-component vector of float)
+0:227      dot-product ( temp float)
+0:227        'inF0' ( in 4-component vector of float)
+0:227        'inF1' ( in 4-component vector of float)
+0:228      Construct vec4 ( temp 4-component vector of float)
+0:228        Constant:
+0:228          1.000000
+0:228        component-wise multiply ( temp float)
+0:228          direct index ( temp float)
+0:228            'inF0' ( in 4-component vector of float)
+0:228            Constant:
+0:228              1 (const int)
+0:228          direct index ( temp float)
+0:228            'inF1' ( in 4-component vector of float)
+0:228            Constant:
+0:228              1 (const int)
+0:228        direct index ( temp float)
+0:228          'inF0' ( in 4-component vector of float)
+0:228          Constant:
+0:228            2 (const int)
+0:228        direct index ( temp float)
+0:228          'inF1' ( in 4-component vector of float)
+0:228          Constant:
+0:228            3 (const int)
+0:232      exp ( temp 4-component vector of float)
+0:232        'inF0' ( in 4-component vector of float)
+0:233      exp2 ( temp 4-component vector of float)
+0:233        'inF0' ( in 4-component vector of float)
+0:234      face-forward ( temp 4-component vector of float)
+0:234        'inF0' ( in 4-component vector of float)
+0:234        'inF1' ( in 4-component vector of float)
+0:234        'inF2' ( in 4-component vector of float)
+0:235      findMSB ( temp int)
+0:235        Constant:
+0:235          7 (const int)
+0:236      findLSB ( temp int)
+0:236        Constant:
+0:236          7 (const int)
+0:237      Floor ( temp 4-component vector of float)
 0:237        'inF0' ( in 4-component vector of float)
-0:237        'inF1' ( in 4-component vector of float)
-0:237        'inF2' ( in 4-component vector of float)
-0:238      findMSB ( temp int)
-0:238        Constant:
-0:238          7 (const int)
-0:239      findLSB ( temp int)
-0:239        Constant:
-0:239          7 (const int)
-0:240      Floor ( temp 4-component vector of float)
+0:239      mod ( temp 4-component vector of float)
+0:239        'inF0' ( in 4-component vector of float)
+0:239        'inF1' ( in 4-component vector of float)
+0:240      Fraction ( temp 4-component vector of float)
 0:240        'inF0' ( in 4-component vector of float)
-0:242      mod ( temp 4-component vector of float)
+0:241      isinf ( temp 4-component vector of bool)
+0:241        'inF0' ( in 4-component vector of float)
+0:242      isnan ( temp 4-component vector of bool)
 0:242        'inF0' ( in 4-component vector of float)
-0:242        'inF1' ( in 4-component vector of float)
-0:243      Fraction ( temp 4-component vector of float)
+0:243      ldexp ( temp 4-component vector of float)
 0:243        'inF0' ( in 4-component vector of float)
-0:244      frexp ( temp 4-component vector of float)
+0:243        'inF1' ( in 4-component vector of float)
+0:244      mix ( temp 4-component vector of float)
 0:244        'inF0' ( in 4-component vector of float)
 0:244        'inF1' ( in 4-component vector of float)
-0:245      isinf ( temp 4-component vector of bool)
+0:244        'inF2' ( in 4-component vector of float)
+0:245      length ( temp float)
 0:245        'inF0' ( in 4-component vector of float)
-0:246      isnan ( temp 4-component vector of bool)
+0:246      log ( temp 4-component vector of float)
 0:246        'inF0' ( in 4-component vector of float)
-0:247      ldexp ( temp 4-component vector of float)
-0:247        'inF0' ( in 4-component vector of float)
-0:247        'inF1' ( in 4-component vector of float)
-0:248      mix ( temp 4-component vector of float)
+0:247      vector-scale ( temp 4-component vector of float)
+0:247        log2 ( temp 4-component vector of float)
+0:247          'inF0' ( in 4-component vector of float)
+0:247        Constant:
+0:247          0.301030
+0:248      log2 ( temp 4-component vector of float)
 0:248        'inF0' ( in 4-component vector of float)
-0:248        'inF1' ( in 4-component vector of float)
-0:248        'inF2' ( in 4-component vector of float)
-0:249      length ( temp float)
+0:249      max ( temp 4-component vector of float)
 0:249        'inF0' ( in 4-component vector of float)
-0:250      log ( temp 4-component vector of float)
+0:249        'inF1' ( in 4-component vector of float)
+0:250      min ( temp 4-component vector of float)
 0:250        'inF0' ( in 4-component vector of float)
-0:251      vector-scale ( temp 4-component vector of float)
-0:251        log2 ( temp 4-component vector of float)
-0:251          'inF0' ( in 4-component vector of float)
-0:251        Constant:
-0:251          0.301030
-0:252      log2 ( temp 4-component vector of float)
+0:250        'inF1' ( in 4-component vector of float)
+0:252      normalize ( temp 4-component vector of float)
 0:252        'inF0' ( in 4-component vector of float)
-0:253      max ( temp 4-component vector of float)
+0:253      pow ( temp 4-component vector of float)
 0:253        'inF0' ( in 4-component vector of float)
 0:253        'inF1' ( in 4-component vector of float)
-0:254      min ( temp 4-component vector of float)
+0:254      radians ( temp 4-component vector of float)
 0:254        'inF0' ( in 4-component vector of float)
-0:254        'inF1' ( in 4-component vector of float)
-0:256      normalize ( temp 4-component vector of float)
+0:255      reflect ( temp 4-component vector of float)
+0:255        'inF0' ( in 4-component vector of float)
+0:255        'inF1' ( in 4-component vector of float)
+0:256      refract ( temp 4-component vector of float)
 0:256        'inF0' ( in 4-component vector of float)
-0:257      pow ( temp 4-component vector of float)
-0:257        'inF0' ( in 4-component vector of float)
-0:257        'inF1' ( in 4-component vector of float)
-0:258      radians ( temp 4-component vector of float)
-0:258        'inF0' ( in 4-component vector of float)
-0:259      reflect ( temp 4-component vector of float)
-0:259        'inF0' ( in 4-component vector of float)
-0:259        'inF1' ( in 4-component vector of float)
-0:260      refract ( temp 4-component vector of float)
-0:260        'inF0' ( in 4-component vector of float)
-0:260        'inF1' ( in 4-component vector of float)
-0:260        Constant:
-0:260          2.000000
+0:256        'inF1' ( in 4-component vector of float)
+0:256        Constant:
+0:256          2.000000
 0:?       bitFieldReverse ( temp 4-component vector of int)
 0:?         Constant:
 0:?           1 (const int)
 0:?           2 (const int)
 0:?           3 (const int)
 0:?           4 (const int)
-0:262      roundEven ( temp 4-component vector of float)
+0:258      roundEven ( temp 4-component vector of float)
+0:258        'inF0' ( in 4-component vector of float)
+0:259      inverse sqrt ( temp 4-component vector of float)
+0:259        'inF0' ( in 4-component vector of float)
+0:260      clamp ( temp 4-component vector of float)
+0:260        'inF0' ( in 4-component vector of float)
+0:260        Constant:
+0:260          0.000000
+0:260        Constant:
+0:260          1.000000
+0:261      Sign ( temp 4-component vector of float)
+0:261        'inF0' ( in 4-component vector of float)
+0:262      sine ( temp 4-component vector of float)
 0:262        'inF0' ( in 4-component vector of float)
-0:263      inverse sqrt ( temp 4-component vector of float)
-0:263        'inF0' ( in 4-component vector of float)
-0:264      clamp ( temp 4-component vector of float)
+0:263      Sequence
+0:263        move second child to first child ( temp 4-component vector of float)
+0:263          'inF1' ( in 4-component vector of float)
+0:263          sine ( temp 4-component vector of float)
+0:263            'inF0' ( in 4-component vector of float)
+0:263        move second child to first child ( temp 4-component vector of float)
+0:263          'inF2' ( in 4-component vector of float)
+0:263          cosine ( temp 4-component vector of float)
+0:263            'inF0' ( in 4-component vector of float)
+0:264      hyp. sine ( temp 4-component vector of float)
 0:264        'inF0' ( in 4-component vector of float)
-0:264        Constant:
-0:264          0.000000
-0:264        Constant:
-0:264          1.000000
-0:265      Sign ( temp 4-component vector of float)
+0:265      smoothstep ( temp 4-component vector of float)
 0:265        'inF0' ( in 4-component vector of float)
-0:266      sine ( temp 4-component vector of float)
+0:265        'inF1' ( in 4-component vector of float)
+0:265        'inF2' ( in 4-component vector of float)
+0:266      sqrt ( temp 4-component vector of float)
 0:266        'inF0' ( in 4-component vector of float)
-0:267      Sequence
-0:267        move second child to first child ( temp 4-component vector of float)
-0:267          'inF1' ( in 4-component vector of float)
-0:267          sine ( temp 4-component vector of float)
-0:267            'inF0' ( in 4-component vector of float)
-0:267        move second child to first child ( temp 4-component vector of float)
-0:267          'inF2' ( in 4-component vector of float)
-0:267          cosine ( temp 4-component vector of float)
-0:267            'inF0' ( in 4-component vector of float)
-0:268      hyp. sine ( temp 4-component vector of float)
+0:267      step ( temp 4-component vector of float)
+0:267        'inF0' ( in 4-component vector of float)
+0:267        'inF1' ( in 4-component vector of float)
+0:268      tangent ( temp 4-component vector of float)
 0:268        'inF0' ( in 4-component vector of float)
-0:269      smoothstep ( temp 4-component vector of float)
+0:269      hyp. tangent ( temp 4-component vector of float)
 0:269        'inF0' ( in 4-component vector of float)
-0:269        'inF1' ( in 4-component vector of float)
-0:269        'inF2' ( in 4-component vector of float)
-0:270      sqrt ( temp 4-component vector of float)
-0:270        'inF0' ( in 4-component vector of float)
-0:271      step ( temp 4-component vector of float)
+0:271      trunc ( temp 4-component vector of float)
 0:271        'inF0' ( in 4-component vector of float)
-0:271        'inF1' ( in 4-component vector of float)
-0:272      tangent ( temp 4-component vector of float)
-0:272        'inF0' ( in 4-component vector of float)
-0:273      hyp. tangent ( temp 4-component vector of float)
-0:273        'inF0' ( in 4-component vector of float)
-0:275      trunc ( temp 4-component vector of float)
-0:275        'inF0' ( in 4-component vector of float)
-0:278      Branch: Return with expression
+0:274      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:336  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
-0:336    Function Parameters: 
-0:336      'inF0' ( in 2X2 matrix of float)
-0:336      'inF1' ( in 2X2 matrix of float)
-0:336      'inF2' ( in 2X2 matrix of float)
+0:331  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:331    Function Parameters: 
+0:331      'inF0' ( in 2X2 matrix of float)
+0:331      'inF1' ( in 2X2 matrix of float)
+0:331      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-0:338      all ( temp bool)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      Absolute value ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      arc cosine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      any ( temp bool)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      arc sine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      arc tangent ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      arc tangent ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      Ceiling ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      clamp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338        'inF2' ( in 2X2 matrix of float)
-0:338      cosine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      hyp. cosine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      degrees ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      determinant ( temp float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      exp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      exp2 ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      findMSB ( temp int)
-0:338        Constant:
-0:338          7 (const int)
-0:338      findLSB ( temp int)
-0:338        Constant:
-0:338          7 (const int)
-0:338      Floor ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      mod ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      Fraction ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      frexp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      ldexp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      mix ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338        'inF2' ( in 2X2 matrix of float)
-0:338      log ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      matrix-scale ( temp 2X2 matrix of float)
-0:338        log2 ( temp 2X2 matrix of float)
-0:338          'inF0' ( in 2X2 matrix of float)
-0:338        Constant:
-0:338          0.301030
-0:338      log2 ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      max ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      min ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      pow ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      radians ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      roundEven ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      inverse sqrt ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      clamp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        Constant:
-0:338          0.000000
-0:338        Constant:
-0:338          1.000000
-0:338      Sign ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      sine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      Sequence
-0:338        move second child to first child ( temp 2X2 matrix of float)
-0:338          'inF1' ( in 2X2 matrix of float)
-0:338          sine ( temp 2X2 matrix of float)
-0:338            'inF0' ( in 2X2 matrix of float)
-0:338        move second child to first child ( temp 2X2 matrix of float)
-0:338          'inF2' ( in 2X2 matrix of float)
-0:338          cosine ( temp 2X2 matrix of float)
-0:338            'inF0' ( in 2X2 matrix of float)
-0:338      hyp. sine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      smoothstep ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338        'inF2' ( in 2X2 matrix of float)
-0:338      sqrt ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      step ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      tangent ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      hyp. tangent ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      transpose ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      trunc ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:341      Branch: Return with expression
+0:333      all ( temp bool)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      Absolute value ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      arc cosine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      any ( temp bool)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      arc sine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      arc tangent ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      arc tangent ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      Ceiling ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      clamp ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333        'inF2' ( in 2X2 matrix of float)
+0:333      cosine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      hyp. cosine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      degrees ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      determinant ( temp float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      exp ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      exp2 ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      findMSB ( temp int)
+0:333        Constant:
+0:333          7 (const int)
+0:333      findLSB ( temp int)
+0:333        Constant:
+0:333          7 (const int)
+0:333      Floor ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      mod ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      Fraction ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      ldexp ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      mix ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333        'inF2' ( in 2X2 matrix of float)
+0:333      log ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      matrix-scale ( temp 2X2 matrix of float)
+0:333        log2 ( temp 2X2 matrix of float)
+0:333          'inF0' ( in 2X2 matrix of float)
+0:333        Constant:
+0:333          0.301030
+0:333      log2 ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      max ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      min ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      pow ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      radians ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      roundEven ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      inverse sqrt ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      clamp ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        Constant:
+0:333          0.000000
+0:333        Constant:
+0:333          1.000000
+0:333      Sign ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      sine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      Sequence
+0:333        move second child to first child ( temp 2X2 matrix of float)
+0:333          'inF1' ( in 2X2 matrix of float)
+0:333          sine ( temp 2X2 matrix of float)
+0:333            'inF0' ( in 2X2 matrix of float)
+0:333        move second child to first child ( temp 2X2 matrix of float)
+0:333          'inF2' ( in 2X2 matrix of float)
+0:333          cosine ( temp 2X2 matrix of float)
+0:333            'inF0' ( in 2X2 matrix of float)
+0:333      hyp. sine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      smoothstep ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333        'inF2' ( in 2X2 matrix of float)
+0:333      sqrt ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      step ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      tangent ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      hyp. tangent ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      transpose ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      trunc ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:336      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:345  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
-0:345    Function Parameters: 
-0:345      'inF0' ( in 3X3 matrix of float)
-0:345      'inF1' ( in 3X3 matrix of float)
-0:345      'inF2' ( in 3X3 matrix of float)
+0:340  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:340    Function Parameters: 
+0:340      'inF0' ( in 3X3 matrix of float)
+0:340      'inF1' ( in 3X3 matrix of float)
+0:340      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-0:347      all ( temp bool)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      Absolute value ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      arc cosine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      any ( temp bool)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      arc sine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      arc tangent ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      arc tangent ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      Ceiling ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      clamp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347        'inF2' ( in 3X3 matrix of float)
-0:347      cosine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      hyp. cosine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      degrees ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      determinant ( temp float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      exp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      exp2 ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      findMSB ( temp int)
-0:347        Constant:
-0:347          7 (const int)
-0:347      findLSB ( temp int)
-0:347        Constant:
-0:347          7 (const int)
-0:347      Floor ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      mod ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      Fraction ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      frexp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      ldexp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      mix ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347        'inF2' ( in 3X3 matrix of float)
-0:347      log ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      matrix-scale ( temp 3X3 matrix of float)
-0:347        log2 ( temp 3X3 matrix of float)
-0:347          'inF0' ( in 3X3 matrix of float)
-0:347        Constant:
-0:347          0.301030
-0:347      log2 ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      max ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      min ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      pow ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      radians ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      roundEven ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      inverse sqrt ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      clamp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        Constant:
-0:347          0.000000
-0:347        Constant:
-0:347          1.000000
-0:347      Sign ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      sine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      Sequence
-0:347        move second child to first child ( temp 3X3 matrix of float)
-0:347          'inF1' ( in 3X3 matrix of float)
-0:347          sine ( temp 3X3 matrix of float)
-0:347            'inF0' ( in 3X3 matrix of float)
-0:347        move second child to first child ( temp 3X3 matrix of float)
-0:347          'inF2' ( in 3X3 matrix of float)
-0:347          cosine ( temp 3X3 matrix of float)
-0:347            'inF0' ( in 3X3 matrix of float)
-0:347      hyp. sine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      smoothstep ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347        'inF2' ( in 3X3 matrix of float)
-0:347      sqrt ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      step ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      tangent ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      hyp. tangent ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      transpose ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      trunc ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:350      Branch: Return with expression
+0:342      all ( temp bool)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      Absolute value ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      arc cosine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      any ( temp bool)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      arc sine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      arc tangent ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      arc tangent ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      Ceiling ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      clamp ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342        'inF2' ( in 3X3 matrix of float)
+0:342      cosine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      hyp. cosine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      degrees ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      determinant ( temp float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      exp ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      exp2 ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      findMSB ( temp int)
+0:342        Constant:
+0:342          7 (const int)
+0:342      findLSB ( temp int)
+0:342        Constant:
+0:342          7 (const int)
+0:342      Floor ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      mod ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      Fraction ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      ldexp ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      mix ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342        'inF2' ( in 3X3 matrix of float)
+0:342      log ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      matrix-scale ( temp 3X3 matrix of float)
+0:342        log2 ( temp 3X3 matrix of float)
+0:342          'inF0' ( in 3X3 matrix of float)
+0:342        Constant:
+0:342          0.301030
+0:342      log2 ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      max ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      min ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      pow ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      radians ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      roundEven ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      inverse sqrt ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      clamp ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        Constant:
+0:342          0.000000
+0:342        Constant:
+0:342          1.000000
+0:342      Sign ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      sine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      Sequence
+0:342        move second child to first child ( temp 3X3 matrix of float)
+0:342          'inF1' ( in 3X3 matrix of float)
+0:342          sine ( temp 3X3 matrix of float)
+0:342            'inF0' ( in 3X3 matrix of float)
+0:342        move second child to first child ( temp 3X3 matrix of float)
+0:342          'inF2' ( in 3X3 matrix of float)
+0:342          cosine ( temp 3X3 matrix of float)
+0:342            'inF0' ( in 3X3 matrix of float)
+0:342      hyp. sine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      smoothstep ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342        'inF2' ( in 3X3 matrix of float)
+0:342      sqrt ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      step ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      tangent ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      hyp. tangent ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      transpose ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      trunc ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:345      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -946,131 +928,128 @@ Shader version: 450
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:354  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
-0:354    Function Parameters: 
-0:354      'inF0' ( in 4X4 matrix of float)
-0:354      'inF1' ( in 4X4 matrix of float)
-0:354      'inF2' ( in 4X4 matrix of float)
+0:349  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:349    Function Parameters: 
+0:349      'inF0' ( in 4X4 matrix of float)
+0:349      'inF1' ( in 4X4 matrix of float)
+0:349      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-0:356      all ( temp bool)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      Absolute value ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      arc cosine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      any ( temp bool)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      arc sine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      arc tangent ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      arc tangent ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      Ceiling ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      clamp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356        'inF2' ( in 4X4 matrix of float)
-0:356      cosine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      hyp. cosine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      degrees ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      determinant ( temp float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      exp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      exp2 ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      findMSB ( temp int)
-0:356        Constant:
-0:356          7 (const int)
-0:356      findLSB ( temp int)
-0:356        Constant:
-0:356          7 (const int)
-0:356      Floor ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      mod ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      Fraction ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      frexp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      ldexp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      mix ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356        'inF2' ( in 4X4 matrix of float)
-0:356      log ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      matrix-scale ( temp 4X4 matrix of float)
-0:356        log2 ( temp 4X4 matrix of float)
-0:356          'inF0' ( in 4X4 matrix of float)
-0:356        Constant:
-0:356          0.301030
-0:356      log2 ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      max ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      min ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      pow ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      radians ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      roundEven ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      inverse sqrt ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      clamp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        Constant:
-0:356          0.000000
-0:356        Constant:
-0:356          1.000000
-0:356      Sign ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      sine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      Sequence
-0:356        move second child to first child ( temp 4X4 matrix of float)
-0:356          'inF1' ( in 4X4 matrix of float)
-0:356          sine ( temp 4X4 matrix of float)
-0:356            'inF0' ( in 4X4 matrix of float)
-0:356        move second child to first child ( temp 4X4 matrix of float)
-0:356          'inF2' ( in 4X4 matrix of float)
-0:356          cosine ( temp 4X4 matrix of float)
-0:356            'inF0' ( in 4X4 matrix of float)
-0:356      hyp. sine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      smoothstep ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356        'inF2' ( in 4X4 matrix of float)
-0:356      sqrt ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      step ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      tangent ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      hyp. tangent ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      transpose ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      trunc ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:359      Branch: Return with expression
+0:351      all ( temp bool)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      Absolute value ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      arc cosine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      any ( temp bool)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      arc sine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      arc tangent ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      arc tangent ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      Ceiling ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      clamp ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351        'inF2' ( in 4X4 matrix of float)
+0:351      cosine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      hyp. cosine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      degrees ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      determinant ( temp float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      exp ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      exp2 ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      findMSB ( temp int)
+0:351        Constant:
+0:351          7 (const int)
+0:351      findLSB ( temp int)
+0:351        Constant:
+0:351          7 (const int)
+0:351      Floor ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      mod ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      Fraction ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      ldexp ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      mix ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351        'inF2' ( in 4X4 matrix of float)
+0:351      log ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      matrix-scale ( temp 4X4 matrix of float)
+0:351        log2 ( temp 4X4 matrix of float)
+0:351          'inF0' ( in 4X4 matrix of float)
+0:351        Constant:
+0:351          0.301030
+0:351      log2 ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      max ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      min ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      pow ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      radians ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      roundEven ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      inverse sqrt ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      clamp ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        Constant:
+0:351          0.000000
+0:351        Constant:
+0:351          1.000000
+0:351      Sign ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      sine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      Sequence
+0:351        move second child to first child ( temp 4X4 matrix of float)
+0:351          'inF1' ( in 4X4 matrix of float)
+0:351          sine ( temp 4X4 matrix of float)
+0:351            'inF0' ( in 4X4 matrix of float)
+0:351        move second child to first child ( temp 4X4 matrix of float)
+0:351          'inF2' ( in 4X4 matrix of float)
+0:351          cosine ( temp 4X4 matrix of float)
+0:351            'inF0' ( in 4X4 matrix of float)
+0:351      hyp. sine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      smoothstep ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351        'inF2' ( in 4X4 matrix of float)
+0:351      sqrt ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      step ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      tangent ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      hyp. tangent ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      transpose ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      trunc ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:354      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -1088,309 +1067,309 @@ Shader version: 450
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:377  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
-0:377    Function Parameters: 
-0:377      'inF0' ( in float)
-0:377      'inF1' ( in float)
-0:377      'inFV0' ( in 2-component vector of float)
-0:377      'inFV1' ( in 2-component vector of float)
-0:377      'inFM0' ( in 2X2 matrix of float)
-0:377      'inFM1' ( in 2X2 matrix of float)
+0:372  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:372    Function Parameters: 
+0:372      'inF0' ( in float)
+0:372      'inF1' ( in float)
+0:372      'inFV0' ( in 2-component vector of float)
+0:372      'inFV1' ( in 2-component vector of float)
+0:372      'inFM0' ( in 2X2 matrix of float)
+0:372      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-0:378      Sequence
-0:378        move second child to first child ( temp float)
-0:378          'r0' ( temp float)
-0:378          component-wise multiply ( temp float)
-0:378            'inF1' ( in float)
-0:378            'inF0' ( in float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2-component vector of float)
-0:378          'r1' ( temp 2-component vector of float)
-0:378          vector-scale ( temp 2-component vector of float)
-0:378            'inF0' ( in float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2-component vector of float)
-0:378          'r2' ( temp 2-component vector of float)
-0:378          vector-scale ( temp 2-component vector of float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378            'inF0' ( in float)
-0:378      Sequence
-0:378        move second child to first child ( temp float)
-0:378          'r3' ( temp float)
-0:378          dot-product ( temp float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378            'inFV1' ( in 2-component vector of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2-component vector of float)
-0:378          'r4' ( temp 2-component vector of float)
-0:378          vector-times-matrix ( temp 2-component vector of float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2-component vector of float)
-0:378          'r5' ( temp 2-component vector of float)
-0:378          matrix-times-vector ( temp 2-component vector of float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2X2 matrix of float)
-0:378          'r6' ( temp 2X2 matrix of float)
-0:378          matrix-scale ( temp 2X2 matrix of float)
-0:378            'inF0' ( in float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2X2 matrix of float)
-0:378          'r7' ( temp 2X2 matrix of float)
-0:378          matrix-scale ( temp 2X2 matrix of float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:378            'inF0' ( in float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2X2 matrix of float)
-0:378          'r8' ( temp 2X2 matrix of float)
-0:378          matrix-multiply ( temp 2X2 matrix of float)
-0:378            'inFM1' ( in 2X2 matrix of float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:384  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
-0:384    Function Parameters: 
-0:384      'inF0' ( in float)
-0:384      'inF1' ( in float)
-0:384      'inFV0' ( in 3-component vector of float)
-0:384      'inFV1' ( in 3-component vector of float)
-0:384      'inFM0' ( in 3X3 matrix of float)
-0:384      'inFM1' ( in 3X3 matrix of float)
+0:373      Sequence
+0:373        move second child to first child ( temp float)
+0:373          'r0' ( temp float)
+0:373          component-wise multiply ( temp float)
+0:373            'inF1' ( in float)
+0:373            'inF0' ( in float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2-component vector of float)
+0:373          'r1' ( temp 2-component vector of float)
+0:373          vector-scale ( temp 2-component vector of float)
+0:373            'inF0' ( in float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2-component vector of float)
+0:373          'r2' ( temp 2-component vector of float)
+0:373          vector-scale ( temp 2-component vector of float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373            'inF0' ( in float)
+0:373      Sequence
+0:373        move second child to first child ( temp float)
+0:373          'r3' ( temp float)
+0:373          dot-product ( temp float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373            'inFV1' ( in 2-component vector of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2-component vector of float)
+0:373          'r4' ( temp 2-component vector of float)
+0:373          vector-times-matrix ( temp 2-component vector of float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2-component vector of float)
+0:373          'r5' ( temp 2-component vector of float)
+0:373          matrix-times-vector ( temp 2-component vector of float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2X2 matrix of float)
+0:373          'r6' ( temp 2X2 matrix of float)
+0:373          matrix-scale ( temp 2X2 matrix of float)
+0:373            'inF0' ( in float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2X2 matrix of float)
+0:373          'r7' ( temp 2X2 matrix of float)
+0:373          matrix-scale ( temp 2X2 matrix of float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:373            'inF0' ( in float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2X2 matrix of float)
+0:373          'r8' ( temp 2X2 matrix of float)
+0:373          matrix-multiply ( temp 2X2 matrix of float)
+0:373            'inFM1' ( in 2X2 matrix of float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:379  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:379    Function Parameters: 
+0:379      'inF0' ( in float)
+0:379      'inF1' ( in float)
+0:379      'inFV0' ( in 3-component vector of float)
+0:379      'inFV1' ( in 3-component vector of float)
+0:379      'inFM0' ( in 3X3 matrix of float)
+0:379      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-0:385      Sequence
-0:385        move second child to first child ( temp float)
-0:385          'r0' ( temp float)
-0:385          component-wise multiply ( temp float)
-0:385            'inF1' ( in float)
-0:385            'inF0' ( in float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3-component vector of float)
-0:385          'r1' ( temp 3-component vector of float)
-0:385          vector-scale ( temp 3-component vector of float)
-0:385            'inF0' ( in float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3-component vector of float)
-0:385          'r2' ( temp 3-component vector of float)
-0:385          vector-scale ( temp 3-component vector of float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385            'inF0' ( in float)
-0:385      Sequence
-0:385        move second child to first child ( temp float)
-0:385          'r3' ( temp float)
-0:385          dot-product ( temp float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385            'inFV1' ( in 3-component vector of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3-component vector of float)
-0:385          'r4' ( temp 3-component vector of float)
-0:385          vector-times-matrix ( temp 3-component vector of float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3-component vector of float)
-0:385          'r5' ( temp 3-component vector of float)
-0:385          matrix-times-vector ( temp 3-component vector of float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3X3 matrix of float)
-0:385          'r6' ( temp 3X3 matrix of float)
-0:385          matrix-scale ( temp 3X3 matrix of float)
-0:385            'inF0' ( in float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3X3 matrix of float)
-0:385          'r7' ( temp 3X3 matrix of float)
-0:385          matrix-scale ( temp 3X3 matrix of float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:385            'inF0' ( in float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3X3 matrix of float)
-0:385          'r8' ( temp 3X3 matrix of float)
-0:385          matrix-multiply ( temp 3X3 matrix of float)
-0:385            'inFM1' ( in 3X3 matrix of float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:391  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
-0:391    Function Parameters: 
-0:391      'inF0' ( in float)
-0:391      'inF1' ( in float)
-0:391      'inFV0' ( in 4-component vector of float)
-0:391      'inFV1' ( in 4-component vector of float)
-0:391      'inFM0' ( in 4X4 matrix of float)
-0:391      'inFM1' ( in 4X4 matrix of float)
+0:380      Sequence
+0:380        move second child to first child ( temp float)
+0:380          'r0' ( temp float)
+0:380          component-wise multiply ( temp float)
+0:380            'inF1' ( in float)
+0:380            'inF0' ( in float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3-component vector of float)
+0:380          'r1' ( temp 3-component vector of float)
+0:380          vector-scale ( temp 3-component vector of float)
+0:380            'inF0' ( in float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3-component vector of float)
+0:380          'r2' ( temp 3-component vector of float)
+0:380          vector-scale ( temp 3-component vector of float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380            'inF0' ( in float)
+0:380      Sequence
+0:380        move second child to first child ( temp float)
+0:380          'r3' ( temp float)
+0:380          dot-product ( temp float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380            'inFV1' ( in 3-component vector of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3-component vector of float)
+0:380          'r4' ( temp 3-component vector of float)
+0:380          vector-times-matrix ( temp 3-component vector of float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3-component vector of float)
+0:380          'r5' ( temp 3-component vector of float)
+0:380          matrix-times-vector ( temp 3-component vector of float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3X3 matrix of float)
+0:380          'r6' ( temp 3X3 matrix of float)
+0:380          matrix-scale ( temp 3X3 matrix of float)
+0:380            'inF0' ( in float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3X3 matrix of float)
+0:380          'r7' ( temp 3X3 matrix of float)
+0:380          matrix-scale ( temp 3X3 matrix of float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:380            'inF0' ( in float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3X3 matrix of float)
+0:380          'r8' ( temp 3X3 matrix of float)
+0:380          matrix-multiply ( temp 3X3 matrix of float)
+0:380            'inFM1' ( in 3X3 matrix of float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:386  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:386    Function Parameters: 
+0:386      'inF0' ( in float)
+0:386      'inF1' ( in float)
+0:386      'inFV0' ( in 4-component vector of float)
+0:386      'inFV1' ( in 4-component vector of float)
+0:386      'inFM0' ( in 4X4 matrix of float)
+0:386      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-0:392      Sequence
-0:392        move second child to first child ( temp float)
-0:392          'r0' ( temp float)
-0:392          component-wise multiply ( temp float)
-0:392            'inF1' ( in float)
-0:392            'inF0' ( in float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4-component vector of float)
-0:392          'r1' ( temp 4-component vector of float)
-0:392          vector-scale ( temp 4-component vector of float)
-0:392            'inF0' ( in float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4-component vector of float)
-0:392          'r2' ( temp 4-component vector of float)
-0:392          vector-scale ( temp 4-component vector of float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392            'inF0' ( in float)
-0:392      Sequence
-0:392        move second child to first child ( temp float)
-0:392          'r3' ( temp float)
-0:392          dot-product ( temp float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392            'inFV1' ( in 4-component vector of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4-component vector of float)
-0:392          'r4' ( temp 4-component vector of float)
-0:392          vector-times-matrix ( temp 4-component vector of float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4-component vector of float)
-0:392          'r5' ( temp 4-component vector of float)
-0:392          matrix-times-vector ( temp 4-component vector of float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4X4 matrix of float)
-0:392          'r6' ( temp 4X4 matrix of float)
-0:392          matrix-scale ( temp 4X4 matrix of float)
-0:392            'inF0' ( in float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4X4 matrix of float)
-0:392          'r7' ( temp 4X4 matrix of float)
-0:392          matrix-scale ( temp 4X4 matrix of float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:392            'inF0' ( in float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4X4 matrix of float)
-0:392          'r8' ( temp 4X4 matrix of float)
-0:392          matrix-multiply ( temp 4X4 matrix of float)
-0:392            'inFM1' ( in 4X4 matrix of float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:401  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
-0:401    Function Parameters: 
-0:401      'inF0' ( in float)
-0:401      'inF1' ( in float)
-0:401      'inFV2' ( in 2-component vector of float)
-0:401      'inFV3' ( in 3-component vector of float)
-0:401      'inFM2x3' ( in 2X3 matrix of float)
-0:401      'inFM3x2' ( in 3X2 matrix of float)
-0:401      'inFM3x3' ( in 3X3 matrix of float)
-0:401      'inFM3x4' ( in 3X4 matrix of float)
-0:401      'inFM2x4' ( in 2X4 matrix of float)
+0:387      Sequence
+0:387        move second child to first child ( temp float)
+0:387          'r0' ( temp float)
+0:387          component-wise multiply ( temp float)
+0:387            'inF1' ( in float)
+0:387            'inF0' ( in float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4-component vector of float)
+0:387          'r1' ( temp 4-component vector of float)
+0:387          vector-scale ( temp 4-component vector of float)
+0:387            'inF0' ( in float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4-component vector of float)
+0:387          'r2' ( temp 4-component vector of float)
+0:387          vector-scale ( temp 4-component vector of float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387            'inF0' ( in float)
+0:387      Sequence
+0:387        move second child to first child ( temp float)
+0:387          'r3' ( temp float)
+0:387          dot-product ( temp float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387            'inFV1' ( in 4-component vector of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4-component vector of float)
+0:387          'r4' ( temp 4-component vector of float)
+0:387          vector-times-matrix ( temp 4-component vector of float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4-component vector of float)
+0:387          'r5' ( temp 4-component vector of float)
+0:387          matrix-times-vector ( temp 4-component vector of float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4X4 matrix of float)
+0:387          'r6' ( temp 4X4 matrix of float)
+0:387          matrix-scale ( temp 4X4 matrix of float)
+0:387            'inF0' ( in float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4X4 matrix of float)
+0:387          'r7' ( temp 4X4 matrix of float)
+0:387          matrix-scale ( temp 4X4 matrix of float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:387            'inF0' ( in float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4X4 matrix of float)
+0:387          'r8' ( temp 4X4 matrix of float)
+0:387          matrix-multiply ( temp 4X4 matrix of float)
+0:387            'inFM1' ( in 4X4 matrix of float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:396  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:396    Function Parameters: 
+0:396      'inF0' ( in float)
+0:396      'inF1' ( in float)
+0:396      'inFV2' ( in 2-component vector of float)
+0:396      'inFV3' ( in 3-component vector of float)
+0:396      'inFM2x3' ( in 2X3 matrix of float)
+0:396      'inFM3x2' ( in 3X2 matrix of float)
+0:396      'inFM3x3' ( in 3X3 matrix of float)
+0:396      'inFM3x4' ( in 3X4 matrix of float)
+0:396      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
+0:397      Sequence
+0:397        move second child to first child ( temp float)
+0:397          'r00' ( temp float)
+0:397          component-wise multiply ( temp float)
+0:397            'inF1' ( in float)
+0:397            'inF0' ( in float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2-component vector of float)
+0:398          'r01' ( temp 2-component vector of float)
+0:398          vector-scale ( temp 2-component vector of float)
+0:398            'inF0' ( in float)
+0:398            'inFV2' ( in 2-component vector of float)
+0:399      Sequence
+0:399        move second child to first child ( temp 3-component vector of float)
+0:399          'r02' ( temp 3-component vector of float)
+0:399          vector-scale ( temp 3-component vector of float)
+0:399            'inF0' ( in float)
+0:399            'inFV3' ( in 3-component vector of float)
+0:400      Sequence
+0:400        move second child to first child ( temp 2-component vector of float)
+0:400          'r03' ( temp 2-component vector of float)
+0:400          vector-scale ( temp 2-component vector of float)
+0:400            'inFV2' ( in 2-component vector of float)
+0:400            'inF0' ( in float)
+0:401      Sequence
+0:401        move second child to first child ( temp 3-component vector of float)
+0:401          'r04' ( temp 3-component vector of float)
+0:401          vector-scale ( temp 3-component vector of float)
+0:401            'inFV3' ( in 3-component vector of float)
+0:401            'inF0' ( in float)
 0:402      Sequence
 0:402        move second child to first child ( temp float)
-0:402          'r00' ( temp float)
-0:402          component-wise multiply ( temp float)
-0:402            'inF1' ( in float)
-0:402            'inF0' ( in float)
+0:402          'r05' ( temp float)
+0:402          dot-product ( temp float)
+0:402            'inFV2' ( in 2-component vector of float)
+0:402            'inFV2' ( in 2-component vector of float)
 0:403      Sequence
-0:403        move second child to first child ( temp 2-component vector of float)
-0:403          'r01' ( temp 2-component vector of float)
-0:403          vector-scale ( temp 2-component vector of float)
-0:403            'inF0' ( in float)
-0:403            'inFV2' ( in 2-component vector of float)
+0:403        move second child to first child ( temp float)
+0:403          'r06' ( temp float)
+0:403          dot-product ( temp float)
+0:403            'inFV3' ( in 3-component vector of float)
+0:403            'inFV3' ( in 3-component vector of float)
 0:404      Sequence
 0:404        move second child to first child ( temp 3-component vector of float)
-0:404          'r02' ( temp 3-component vector of float)
-0:404          vector-scale ( temp 3-component vector of float)
-0:404            'inF0' ( in float)
-0:404            'inFV3' ( in 3-component vector of float)
+0:404          'r07' ( temp 3-component vector of float)
+0:404          matrix-times-vector ( temp 3-component vector of float)
+0:404            'inFM2x3' ( in 2X3 matrix of float)
+0:404            'inFV2' ( in 2-component vector of float)
 0:405      Sequence
 0:405        move second child to first child ( temp 2-component vector of float)
-0:405          'r03' ( temp 2-component vector of float)
-0:405          vector-scale ( temp 2-component vector of float)
-0:405            'inFV2' ( in 2-component vector of float)
-0:405            'inF0' ( in float)
+0:405          'r08' ( temp 2-component vector of float)
+0:405          matrix-times-vector ( temp 2-component vector of float)
+0:405            'inFM3x2' ( in 3X2 matrix of float)
+0:405            'inFV3' ( in 3-component vector of float)
 0:406      Sequence
-0:406        move second child to first child ( temp 3-component vector of float)
-0:406          'r04' ( temp 3-component vector of float)
-0:406          vector-scale ( temp 3-component vector of float)
+0:406        move second child to first child ( temp 2-component vector of float)
+0:406          'r09' ( temp 2-component vector of float)
+0:406          vector-times-matrix ( temp 2-component vector of float)
 0:406            'inFV3' ( in 3-component vector of float)
-0:406            'inF0' ( in float)
+0:406            'inFM2x3' ( in 2X3 matrix of float)
 0:407      Sequence
-0:407        move second child to first child ( temp float)
-0:407          'r05' ( temp float)
-0:407          dot-product ( temp float)
-0:407            'inFV2' ( in 2-component vector of float)
+0:407        move second child to first child ( temp 3-component vector of float)
+0:407          'r10' ( temp 3-component vector of float)
+0:407          vector-times-matrix ( temp 3-component vector of float)
 0:407            'inFV2' ( in 2-component vector of float)
+0:407            'inFM3x2' ( in 3X2 matrix of float)
 0:408      Sequence
-0:408        move second child to first child ( temp float)
-0:408          'r06' ( temp float)
-0:408          dot-product ( temp float)
-0:408            'inFV3' ( in 3-component vector of float)
-0:408            'inFV3' ( in 3-component vector of float)
+0:408        move second child to first child ( temp 2X3 matrix of float)
+0:408          'r11' ( temp 2X3 matrix of float)
+0:408          matrix-scale ( temp 2X3 matrix of float)
+0:408            'inF0' ( in float)
+0:408            'inFM2x3' ( in 2X3 matrix of float)
 0:409      Sequence
-0:409        move second child to first child ( temp 3-component vector of float)
-0:409          'r07' ( temp 3-component vector of float)
-0:409          matrix-times-vector ( temp 3-component vector of float)
-0:409            'inFM2x3' ( in 2X3 matrix of float)
-0:409            'inFV2' ( in 2-component vector of float)
+0:409        move second child to first child ( temp 3X2 matrix of float)
+0:409          'r12' ( temp 3X2 matrix of float)
+0:409          matrix-scale ( temp 3X2 matrix of float)
+0:409            'inF0' ( in float)
+0:409            'inFM3x2' ( in 3X2 matrix of float)
 0:410      Sequence
-0:410        move second child to first child ( temp 2-component vector of float)
-0:410          'r08' ( temp 2-component vector of float)
-0:410          matrix-times-vector ( temp 2-component vector of float)
+0:410        move second child to first child ( temp 2X2 matrix of float)
+0:410          'r13' ( temp 2X2 matrix of float)
+0:410          matrix-multiply ( temp 2X2 matrix of float)
 0:410            'inFM3x2' ( in 3X2 matrix of float)
-0:410            'inFV3' ( in 3-component vector of float)
+0:410            'inFM2x3' ( in 2X3 matrix of float)
 0:411      Sequence
-0:411        move second child to first child ( temp 2-component vector of float)
-0:411          'r09' ( temp 2-component vector of float)
-0:411          vector-times-matrix ( temp 2-component vector of float)
-0:411            'inFV3' ( in 3-component vector of float)
+0:411        move second child to first child ( temp 2X3 matrix of float)
+0:411          'r14' ( temp 2X3 matrix of float)
+0:411          matrix-multiply ( temp 2X3 matrix of float)
+0:411            'inFM3x3' ( in 3X3 matrix of float)
 0:411            'inFM2x3' ( in 2X3 matrix of float)
 0:412      Sequence
-0:412        move second child to first child ( temp 3-component vector of float)
-0:412          'r10' ( temp 3-component vector of float)
-0:412          vector-times-matrix ( temp 3-component vector of float)
-0:412            'inFV2' ( in 2-component vector of float)
-0:412            'inFM3x2' ( in 3X2 matrix of float)
+0:412        move second child to first child ( temp 2X4 matrix of float)
+0:412          'r15' ( temp 2X4 matrix of float)
+0:412          matrix-multiply ( temp 2X4 matrix of float)
+0:412            'inFM3x4' ( in 3X4 matrix of float)
+0:412            'inFM2x3' ( in 2X3 matrix of float)
 0:413      Sequence
-0:413        move second child to first child ( temp 2X3 matrix of float)
-0:413          'r11' ( temp 2X3 matrix of float)
-0:413          matrix-scale ( temp 2X3 matrix of float)
-0:413            'inF0' ( in float)
-0:413            'inFM2x3' ( in 2X3 matrix of float)
-0:414      Sequence
-0:414        move second child to first child ( temp 3X2 matrix of float)
-0:414          'r12' ( temp 3X2 matrix of float)
-0:414          matrix-scale ( temp 3X2 matrix of float)
-0:414            'inF0' ( in float)
-0:414            'inFM3x2' ( in 3X2 matrix of float)
-0:415      Sequence
-0:415        move second child to first child ( temp 2X2 matrix of float)
-0:415          'r13' ( temp 2X2 matrix of float)
-0:415          matrix-multiply ( temp 2X2 matrix of float)
-0:415            'inFM3x2' ( in 3X2 matrix of float)
-0:415            'inFM2x3' ( in 2X3 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 2X3 matrix of float)
-0:416          'r14' ( temp 2X3 matrix of float)
-0:416          matrix-multiply ( temp 2X3 matrix of float)
-0:416            'inFM3x3' ( in 3X3 matrix of float)
-0:416            'inFM2x3' ( in 2X3 matrix of float)
-0:417      Sequence
-0:417        move second child to first child ( temp 2X4 matrix of float)
-0:417          'r15' ( temp 2X4 matrix of float)
-0:417          matrix-multiply ( temp 2X4 matrix of float)
-0:417            'inFM3x4' ( in 3X4 matrix of float)
-0:417            'inFM2x3' ( in 2X3 matrix of float)
-0:418      Sequence
-0:418        move second child to first child ( temp 3X4 matrix of float)
-0:418          'r16' ( temp 3X4 matrix of float)
-0:418          matrix-multiply ( temp 3X4 matrix of float)
-0:418            'inFM2x4' ( in 2X4 matrix of float)
-0:418            'inFM3x2' ( in 3X2 matrix of float)
+0:413        move second child to first child ( temp 3X4 matrix of float)
+0:413          'r16' ( temp 3X4 matrix of float)
+0:413          matrix-multiply ( temp 3X4 matrix of float)
+0:413            'inFM2x4' ( in 2X4 matrix of float)
+0:413            'inFM3x2' ( in 3X2 matrix of float)
 0:?   Linker Objects
 
 
@@ -1461,880 +1440,862 @@ Shader version: 450
 0:29        'inF1' ( in float)
 0:30      Fraction ( temp float)
 0:30        'inF0' ( in float)
-0:31      frexp ( temp float)
+0:31      isinf ( temp bool)
 0:31        'inF0' ( in float)
-0:31        'inF1' ( in float)
-0:32      isinf ( temp bool)
+0:32      isnan ( temp bool)
 0:32        'inF0' ( in float)
-0:33      isnan ( temp bool)
+0:33      ldexp ( temp float)
 0:33        'inF0' ( in float)
-0:34      ldexp ( temp float)
+0:33        'inF1' ( in float)
+0:34      mix ( temp float)
 0:34        'inF0' ( in float)
 0:34        'inF1' ( in float)
-0:35      mix ( temp float)
+0:34        'inF2' ( in float)
+0:35      log ( temp float)
 0:35        'inF0' ( in float)
-0:35        'inF1' ( in float)
-0:35        'inF2' ( in float)
-0:36      log ( temp float)
-0:36        'inF0' ( in float)
-0:37      component-wise multiply ( temp float)
-0:37        log2 ( temp float)
-0:37          'inF0' ( in float)
-0:37        Constant:
-0:37          0.301030
-0:38      log2 ( temp float)
+0:36      component-wise multiply ( temp float)
+0:36        log2 ( temp float)
+0:36          'inF0' ( in float)
+0:36        Constant:
+0:36          0.301030
+0:37      log2 ( temp float)
+0:37        'inF0' ( in float)
+0:38      max ( temp float)
 0:38        'inF0' ( in float)
-0:39      max ( temp float)
+0:38        'inF1' ( in float)
+0:39      min ( temp float)
 0:39        'inF0' ( in float)
 0:39        'inF1' ( in float)
-0:40      min ( temp float)
-0:40        'inF0' ( in float)
-0:40        'inF1' ( in float)
-0:42      pow ( temp float)
+0:41      pow ( temp float)
+0:41        'inF0' ( in float)
+0:41        'inF1' ( in float)
+0:42      radians ( temp float)
 0:42        'inF0' ( in float)
-0:42        'inF1' ( in float)
-0:43      radians ( temp float)
-0:43        'inF0' ( in float)
-0:44      bitFieldReverse ( temp int)
-0:44        Constant:
-0:44          2 (const int)
-0:45      roundEven ( temp float)
+0:43      bitFieldReverse ( temp int)
+0:43        Constant:
+0:43          2 (const int)
+0:44      roundEven ( temp float)
+0:44        'inF0' ( in float)
+0:45      inverse sqrt ( temp float)
 0:45        'inF0' ( in float)
-0:46      inverse sqrt ( temp float)
+0:46      clamp ( temp float)
 0:46        'inF0' ( in float)
-0:47      clamp ( temp float)
+0:46        Constant:
+0:46          0.000000
+0:46        Constant:
+0:46          1.000000
+0:47      Sign ( temp float)
 0:47        'inF0' ( in float)
-0:47        Constant:
-0:47          0.000000
-0:47        Constant:
-0:47          1.000000
-0:48      Sign ( temp float)
+0:48      sine ( temp float)
 0:48        'inF0' ( in float)
-0:49      sine ( temp float)
-0:49        'inF0' ( in float)
-0:50      Sequence
-0:50        move second child to first child ( temp float)
-0:50          'inF1' ( in float)
-0:50          sine ( temp float)
-0:50            'inF0' ( in float)
-0:50        move second child to first child ( temp float)
-0:50          'inF2' ( in float)
-0:50          cosine ( temp float)
-0:50            'inF0' ( in float)
-0:51      hyp. sine ( temp float)
+0:49      Sequence
+0:49        move second child to first child ( temp float)
+0:49          'inF1' ( in float)
+0:49          sine ( temp float)
+0:49            'inF0' ( in float)
+0:49        move second child to first child ( temp float)
+0:49          'inF2' ( in float)
+0:49          cosine ( temp float)
+0:49            'inF0' ( in float)
+0:50      hyp. sine ( temp float)
+0:50        'inF0' ( in float)
+0:51      smoothstep ( temp float)
 0:51        'inF0' ( in float)
-0:52      smoothstep ( temp float)
+0:51        'inF1' ( in float)
+0:51        'inF2' ( in float)
+0:52      sqrt ( temp float)
 0:52        'inF0' ( in float)
-0:52        'inF1' ( in float)
-0:52        'inF2' ( in float)
-0:53      sqrt ( temp float)
+0:53      step ( temp float)
 0:53        'inF0' ( in float)
-0:54      step ( temp float)
+0:53        'inF1' ( in float)
+0:54      tangent ( temp float)
 0:54        'inF0' ( in float)
-0:54        'inF1' ( in float)
-0:55      tangent ( temp float)
+0:55      hyp. tangent ( temp float)
 0:55        'inF0' ( in float)
-0:56      hyp. tangent ( temp float)
-0:56        'inF0' ( in float)
-0:58      trunc ( temp float)
-0:58        'inF0' ( in float)
-0:60      Branch: Return with expression
-0:60        Constant:
-0:60          0.000000
-0:64  Function Definition: VertexShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
-0:64    Function Parameters: 
-0:64      'inF0' ( in 1-component vector of float)
-0:64      'inF1' ( in 1-component vector of float)
-0:64      'inF2' ( in 1-component vector of float)
+0:57      trunc ( temp float)
+0:57        'inF0' ( in float)
+0:59      Branch: Return with expression
+0:59        Constant:
+0:59          0.000000
+0:63  Function Definition: VertexShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:63    Function Parameters: 
+0:63      'inF0' ( in 1-component vector of float)
+0:63      'inF1' ( in 1-component vector of float)
+0:63      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-0:66      Branch: Return with expression
-0:66        Constant:
-0:66          0.000000
-0:70  Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
-0:70    Function Parameters: 
-0:70      'inF0' ( in 2-component vector of float)
-0:70      'inF1' ( in 2-component vector of float)
-0:70      'inF2' ( in 2-component vector of float)
-0:70      'inU0' ( in 2-component vector of uint)
-0:70      'inU1' ( in 2-component vector of uint)
+0:65      Branch: Return with expression
+0:65        Constant:
+0:65          0.000000
+0:69  Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:69    Function Parameters: 
+0:69      'inF0' ( in 2-component vector of float)
+0:69      'inF1' ( in 2-component vector of float)
+0:69      'inF2' ( in 2-component vector of float)
+0:69      'inU0' ( in 2-component vector of uint)
+0:69      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
-0:71      all ( temp bool)
+0:70      all ( temp bool)
+0:70        'inF0' ( in 2-component vector of float)
+0:71      Absolute value ( temp 2-component vector of float)
 0:71        'inF0' ( in 2-component vector of float)
-0:72      Absolute value ( temp 2-component vector of float)
+0:72      arc cosine ( temp 2-component vector of float)
 0:72        'inF0' ( in 2-component vector of float)
-0:73      arc cosine ( temp 2-component vector of float)
+0:73      any ( temp bool)
 0:73        'inF0' ( in 2-component vector of float)
-0:74      any ( temp bool)
+0:74      arc sine ( temp 2-component vector of float)
 0:74        'inF0' ( in 2-component vector of float)
-0:75      arc sine ( temp 2-component vector of float)
+0:75      floatBitsToInt ( temp 2-component vector of int)
 0:75        'inF0' ( in 2-component vector of float)
-0:76      floatBitsToInt ( temp 2-component vector of int)
+0:76      floatBitsToUint ( temp 2-component vector of uint)
 0:76        'inF0' ( in 2-component vector of float)
-0:77      floatBitsToUint ( temp 2-component vector of uint)
-0:77        'inF0' ( in 2-component vector of float)
-0:78      intBitsToFloat ( temp 2-component vector of float)
-0:78        'inU0' ( in 2-component vector of uint)
+0:77      intBitsToFloat ( temp 2-component vector of float)
+0:77        'inU0' ( in 2-component vector of uint)
+0:79      arc tangent ( temp 2-component vector of float)
+0:79        'inF0' ( in 2-component vector of float)
 0:80      arc tangent ( temp 2-component vector of float)
 0:80        'inF0' ( in 2-component vector of float)
-0:81      arc tangent ( temp 2-component vector of float)
+0:80        'inF1' ( in 2-component vector of float)
+0:81      Ceiling ( temp 2-component vector of float)
 0:81        'inF0' ( in 2-component vector of float)
-0:81        'inF1' ( in 2-component vector of float)
-0:82      Ceiling ( temp 2-component vector of float)
+0:82      clamp ( temp 2-component vector of float)
 0:82        'inF0' ( in 2-component vector of float)
-0:83      clamp ( temp 2-component vector of float)
+0:82        'inF1' ( in 2-component vector of float)
+0:82        'inF2' ( in 2-component vector of float)
+0:83      cosine ( temp 2-component vector of float)
 0:83        'inF0' ( in 2-component vector of float)
-0:83        'inF1' ( in 2-component vector of float)
-0:83        'inF2' ( in 2-component vector of float)
-0:84      cosine ( temp 2-component vector of float)
+0:84      hyp. cosine ( temp 2-component vector of float)
 0:84        'inF0' ( in 2-component vector of float)
-0:85      hyp. cosine ( temp 2-component vector of float)
-0:85        'inF0' ( in 2-component vector of float)
 0:?       bitCount ( temp 2-component vector of int)
 0:?         Constant:
 0:?           7 (const int)
 0:?           3 (const int)
-0:87      degrees ( temp 2-component vector of float)
+0:86      degrees ( temp 2-component vector of float)
+0:86        'inF0' ( in 2-component vector of float)
+0:87      distance ( temp float)
 0:87        'inF0' ( in 2-component vector of float)
-0:88      distance ( temp float)
+0:87        'inF1' ( in 2-component vector of float)
+0:88      dot-product ( temp float)
 0:88        'inF0' ( in 2-component vector of float)
 0:88        'inF1' ( in 2-component vector of float)
-0:89      dot-product ( temp float)
-0:89        'inF0' ( in 2-component vector of float)
-0:89        'inF1' ( in 2-component vector of float)
-0:93      exp ( temp 2-component vector of float)
+0:92      exp ( temp 2-component vector of float)
+0:92        'inF0' ( in 2-component vector of float)
+0:93      exp2 ( temp 2-component vector of float)
 0:93        'inF0' ( in 2-component vector of float)
-0:94      exp2 ( temp 2-component vector of float)
+0:94      face-forward ( temp 2-component vector of float)
 0:94        'inF0' ( in 2-component vector of float)
-0:95      face-forward ( temp 2-component vector of float)
-0:95        'inF0' ( in 2-component vector of float)
-0:95        'inF1' ( in 2-component vector of float)
-0:95        'inF2' ( in 2-component vector of float)
-0:96      findMSB ( temp int)
+0:94        'inF1' ( in 2-component vector of float)
+0:94        'inF2' ( in 2-component vector of float)
+0:95      findMSB ( temp int)
+0:95        Constant:
+0:95          7 (const int)
+0:96      findLSB ( temp int)
 0:96        Constant:
 0:96          7 (const int)
-0:97      findLSB ( temp int)
-0:97        Constant:
-0:97          7 (const int)
-0:98      Floor ( temp 2-component vector of float)
-0:98        'inF0' ( in 2-component vector of float)
-0:100      mod ( temp 2-component vector of float)
+0:97      Floor ( temp 2-component vector of float)
+0:97        'inF0' ( in 2-component vector of float)
+0:99      mod ( temp 2-component vector of float)
+0:99        'inF0' ( in 2-component vector of float)
+0:99        'inF1' ( in 2-component vector of float)
+0:100      Fraction ( temp 2-component vector of float)
 0:100        'inF0' ( in 2-component vector of float)
-0:100        'inF1' ( in 2-component vector of float)
-0:101      Fraction ( temp 2-component vector of float)
+0:101      isinf ( temp 2-component vector of bool)
 0:101        'inF0' ( in 2-component vector of float)
-0:102      frexp ( temp 2-component vector of float)
+0:102      isnan ( temp 2-component vector of bool)
 0:102        'inF0' ( in 2-component vector of float)
-0:102        'inF1' ( in 2-component vector of float)
-0:103      isinf ( temp 2-component vector of bool)
+0:103      ldexp ( temp 2-component vector of float)
 0:103        'inF0' ( in 2-component vector of float)
-0:104      isnan ( temp 2-component vector of bool)
+0:103        'inF1' ( in 2-component vector of float)
+0:104      mix ( temp 2-component vector of float)
 0:104        'inF0' ( in 2-component vector of float)
-0:105      ldexp ( temp 2-component vector of float)
+0:104        'inF1' ( in 2-component vector of float)
+0:104        'inF2' ( in 2-component vector of float)
+0:105      length ( temp float)
 0:105        'inF0' ( in 2-component vector of float)
-0:105        'inF1' ( in 2-component vector of float)
-0:106      mix ( temp 2-component vector of float)
+0:106      log ( temp 2-component vector of float)
 0:106        'inF0' ( in 2-component vector of float)
-0:106        'inF1' ( in 2-component vector of float)
-0:106        'inF2' ( in 2-component vector of float)
-0:107      length ( temp float)
-0:107        'inF0' ( in 2-component vector of float)
-0:108      log ( temp 2-component vector of float)
+0:107      vector-scale ( temp 2-component vector of float)
+0:107        log2 ( temp 2-component vector of float)
+0:107          'inF0' ( in 2-component vector of float)
+0:107        Constant:
+0:107          0.301030
+0:108      log2 ( temp 2-component vector of float)
 0:108        'inF0' ( in 2-component vector of float)
-0:109      vector-scale ( temp 2-component vector of float)
-0:109        log2 ( temp 2-component vector of float)
-0:109          'inF0' ( in 2-component vector of float)
-0:109        Constant:
-0:109          0.301030
-0:110      log2 ( temp 2-component vector of float)
+0:109      max ( temp 2-component vector of float)
+0:109        'inF0' ( in 2-component vector of float)
+0:109        'inF1' ( in 2-component vector of float)
+0:110      min ( temp 2-component vector of float)
 0:110        'inF0' ( in 2-component vector of float)
-0:111      max ( temp 2-component vector of float)
-0:111        'inF0' ( in 2-component vector of float)
-0:111        'inF1' ( in 2-component vector of float)
-0:112      min ( temp 2-component vector of float)
+0:110        'inF1' ( in 2-component vector of float)
+0:112      normalize ( temp 2-component vector of float)
 0:112        'inF0' ( in 2-component vector of float)
-0:112        'inF1' ( in 2-component vector of float)
-0:114      normalize ( temp 2-component vector of float)
+0:113      pow ( temp 2-component vector of float)
+0:113        'inF0' ( in 2-component vector of float)
+0:113        'inF1' ( in 2-component vector of float)
+0:114      radians ( temp 2-component vector of float)
 0:114        'inF0' ( in 2-component vector of float)
-0:115      pow ( temp 2-component vector of float)
+0:115      reflect ( temp 2-component vector of float)
 0:115        'inF0' ( in 2-component vector of float)
 0:115        'inF1' ( in 2-component vector of float)
-0:116      radians ( temp 2-component vector of float)
+0:116      refract ( temp 2-component vector of float)
 0:116        'inF0' ( in 2-component vector of float)
-0:117      reflect ( temp 2-component vector of float)
-0:117        'inF0' ( in 2-component vector of float)
-0:117        'inF1' ( in 2-component vector of float)
-0:118      refract ( temp 2-component vector of float)
-0:118        'inF0' ( in 2-component vector of float)
-0:118        'inF1' ( in 2-component vector of float)
-0:118        Constant:
-0:118          2.000000
+0:116        'inF1' ( in 2-component vector of float)
+0:116        Constant:
+0:116          2.000000
 0:?       bitFieldReverse ( temp 2-component vector of int)
 0:?         Constant:
 0:?           1 (const int)
 0:?           2 (const int)
-0:120      roundEven ( temp 2-component vector of float)
+0:118      roundEven ( temp 2-component vector of float)
+0:118        'inF0' ( in 2-component vector of float)
+0:119      inverse sqrt ( temp 2-component vector of float)
+0:119        'inF0' ( in 2-component vector of float)
+0:120      clamp ( temp 2-component vector of float)
 0:120        'inF0' ( in 2-component vector of float)
-0:121      inverse sqrt ( temp 2-component vector of float)
+0:120        Constant:
+0:120          0.000000
+0:120        Constant:
+0:120          1.000000
+0:121      Sign ( temp 2-component vector of float)
 0:121        'inF0' ( in 2-component vector of float)
-0:122      clamp ( temp 2-component vector of float)
+0:122      sine ( temp 2-component vector of float)
 0:122        'inF0' ( in 2-component vector of float)
-0:122        Constant:
-0:122          0.000000
-0:122        Constant:
-0:122          1.000000
-0:123      Sign ( temp 2-component vector of float)
-0:123        'inF0' ( in 2-component vector of float)
-0:124      sine ( temp 2-component vector of float)
+0:123      Sequence
+0:123        move second child to first child ( temp 2-component vector of float)
+0:123          'inF1' ( in 2-component vector of float)
+0:123          sine ( temp 2-component vector of float)
+0:123            'inF0' ( in 2-component vector of float)
+0:123        move second child to first child ( temp 2-component vector of float)
+0:123          'inF2' ( in 2-component vector of float)
+0:123          cosine ( temp 2-component vector of float)
+0:123            'inF0' ( in 2-component vector of float)
+0:124      hyp. sine ( temp 2-component vector of float)
 0:124        'inF0' ( in 2-component vector of float)
-0:125      Sequence
-0:125        move second child to first child ( temp 2-component vector of float)
-0:125          'inF1' ( in 2-component vector of float)
-0:125          sine ( temp 2-component vector of float)
-0:125            'inF0' ( in 2-component vector of float)
-0:125        move second child to first child ( temp 2-component vector of float)
-0:125          'inF2' ( in 2-component vector of float)
-0:125          cosine ( temp 2-component vector of float)
-0:125            'inF0' ( in 2-component vector of float)
-0:126      hyp. sine ( temp 2-component vector of float)
+0:125      smoothstep ( temp 2-component vector of float)
+0:125        'inF0' ( in 2-component vector of float)
+0:125        'inF1' ( in 2-component vector of float)
+0:125        'inF2' ( in 2-component vector of float)
+0:126      sqrt ( temp 2-component vector of float)
 0:126        'inF0' ( in 2-component vector of float)
-0:127      smoothstep ( temp 2-component vector of float)
+0:127      step ( temp 2-component vector of float)
 0:127        'inF0' ( in 2-component vector of float)
 0:127        'inF1' ( in 2-component vector of float)
-0:127        'inF2' ( in 2-component vector of float)
-0:128      sqrt ( temp 2-component vector of float)
+0:128      tangent ( temp 2-component vector of float)
 0:128        'inF0' ( in 2-component vector of float)
-0:129      step ( temp 2-component vector of float)
+0:129      hyp. tangent ( temp 2-component vector of float)
 0:129        'inF0' ( in 2-component vector of float)
-0:129        'inF1' ( in 2-component vector of float)
-0:130      tangent ( temp 2-component vector of float)
-0:130        'inF0' ( in 2-component vector of float)
-0:131      hyp. tangent ( temp 2-component vector of float)
+0:131      trunc ( temp 2-component vector of float)
 0:131        'inF0' ( in 2-component vector of float)
-0:133      trunc ( temp 2-component vector of float)
-0:133        'inF0' ( in 2-component vector of float)
-0:136      Branch: Return with expression
+0:134      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:140  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
-0:140    Function Parameters: 
-0:140      'inF0' ( in 3-component vector of float)
-0:140      'inF1' ( in 3-component vector of float)
-0:140      'inF2' ( in 3-component vector of float)
-0:140      'inU0' ( in 3-component vector of uint)
-0:140      'inU1' ( in 3-component vector of uint)
+0:138  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:138    Function Parameters: 
+0:138      'inF0' ( in 3-component vector of float)
+0:138      'inF1' ( in 3-component vector of float)
+0:138      'inF2' ( in 3-component vector of float)
+0:138      'inU0' ( in 3-component vector of uint)
+0:138      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
-0:141      all ( temp bool)
+0:139      all ( temp bool)
+0:139        'inF0' ( in 3-component vector of float)
+0:140      Absolute value ( temp 3-component vector of float)
+0:140        'inF0' ( in 3-component vector of float)
+0:141      arc cosine ( temp 3-component vector of float)
 0:141        'inF0' ( in 3-component vector of float)
-0:142      Absolute value ( temp 3-component vector of float)
+0:142      any ( temp bool)
 0:142        'inF0' ( in 3-component vector of float)
-0:143      arc cosine ( temp 3-component vector of float)
+0:143      arc sine ( temp 3-component vector of float)
 0:143        'inF0' ( in 3-component vector of float)
-0:144      any ( temp bool)
+0:144      floatBitsToInt ( temp 3-component vector of int)
 0:144        'inF0' ( in 3-component vector of float)
-0:145      arc sine ( temp 3-component vector of float)
+0:145      floatBitsToUint ( temp 3-component vector of uint)
 0:145        'inF0' ( in 3-component vector of float)
-0:146      floatBitsToInt ( temp 3-component vector of int)
-0:146        'inF0' ( in 3-component vector of float)
-0:147      floatBitsToUint ( temp 3-component vector of uint)
-0:147        'inF0' ( in 3-component vector of float)
-0:148      intBitsToFloat ( temp 3-component vector of float)
-0:148        'inU0' ( in 3-component vector of uint)
-0:150      arc tangent ( temp 3-component vector of float)
+0:146      intBitsToFloat ( temp 3-component vector of float)
+0:146        'inU0' ( in 3-component vector of uint)
+0:148      arc tangent ( temp 3-component vector of float)
+0:148        'inF0' ( in 3-component vector of float)
+0:149      arc tangent ( temp 3-component vector of float)
+0:149        'inF0' ( in 3-component vector of float)
+0:149        'inF1' ( in 3-component vector of float)
+0:150      Ceiling ( temp 3-component vector of float)
 0:150        'inF0' ( in 3-component vector of float)
-0:151      arc tangent ( temp 3-component vector of float)
+0:151      clamp ( temp 3-component vector of float)
 0:151        'inF0' ( in 3-component vector of float)
 0:151        'inF1' ( in 3-component vector of float)
-0:152      Ceiling ( temp 3-component vector of float)
+0:151        'inF2' ( in 3-component vector of float)
+0:152      cosine ( temp 3-component vector of float)
 0:152        'inF0' ( in 3-component vector of float)
-0:153      clamp ( temp 3-component vector of float)
+0:153      hyp. cosine ( temp 3-component vector of float)
 0:153        'inF0' ( in 3-component vector of float)
-0:153        'inF1' ( in 3-component vector of float)
-0:153        'inF2' ( in 3-component vector of float)
-0:154      cosine ( temp 3-component vector of float)
-0:154        'inF0' ( in 3-component vector of float)
-0:155      hyp. cosine ( temp 3-component vector of float)
-0:155        'inF0' ( in 3-component vector of float)
 0:?       bitCount ( temp 3-component vector of int)
 0:?         Constant:
 0:?           7 (const int)
 0:?           3 (const int)
 0:?           5 (const int)
-0:157      cross-product ( temp 3-component vector of float)
+0:155      cross-product ( temp 3-component vector of float)
+0:155        'inF0' ( in 3-component vector of float)
+0:155        'inF1' ( in 3-component vector of float)
+0:156      degrees ( temp 3-component vector of float)
+0:156        'inF0' ( in 3-component vector of float)
+0:157      distance ( temp float)
 0:157        'inF0' ( in 3-component vector of float)
 0:157        'inF1' ( in 3-component vector of float)
-0:158      degrees ( temp 3-component vector of float)
+0:158      dot-product ( temp float)
 0:158        'inF0' ( in 3-component vector of float)
-0:159      distance ( temp float)
-0:159        'inF0' ( in 3-component vector of float)
-0:159        'inF1' ( in 3-component vector of float)
-0:160      dot-product ( temp float)
-0:160        'inF0' ( in 3-component vector of float)
-0:160        'inF1' ( in 3-component vector of float)
-0:164      exp ( temp 3-component vector of float)
+0:158        'inF1' ( in 3-component vector of float)
+0:162      exp ( temp 3-component vector of float)
+0:162        'inF0' ( in 3-component vector of float)
+0:163      exp2 ( temp 3-component vector of float)
+0:163        'inF0' ( in 3-component vector of float)
+0:164      face-forward ( temp 3-component vector of float)
 0:164        'inF0' ( in 3-component vector of float)
-0:165      exp2 ( temp 3-component vector of float)
-0:165        'inF0' ( in 3-component vector of float)
-0:166      face-forward ( temp 3-component vector of float)
-0:166        'inF0' ( in 3-component vector of float)
-0:166        'inF1' ( in 3-component vector of float)
-0:166        'inF2' ( in 3-component vector of float)
-0:167      findMSB ( temp int)
-0:167        Constant:
-0:167          7 (const int)
-0:168      findLSB ( temp int)
-0:168        Constant:
-0:168          7 (const int)
-0:169      Floor ( temp 3-component vector of float)
+0:164        'inF1' ( in 3-component vector of float)
+0:164        'inF2' ( in 3-component vector of float)
+0:165      findMSB ( temp int)
+0:165        Constant:
+0:165          7 (const int)
+0:166      findLSB ( temp int)
+0:166        Constant:
+0:166          7 (const int)
+0:167      Floor ( temp 3-component vector of float)
+0:167        'inF0' ( in 3-component vector of float)
+0:169      mod ( temp 3-component vector of float)
 0:169        'inF0' ( in 3-component vector of float)
-0:171      mod ( temp 3-component vector of float)
+0:169        'inF1' ( in 3-component vector of float)
+0:170      Fraction ( temp 3-component vector of float)
+0:170        'inF0' ( in 3-component vector of float)
+0:171      isinf ( temp 3-component vector of bool)
 0:171        'inF0' ( in 3-component vector of float)
-0:171        'inF1' ( in 3-component vector of float)
-0:172      Fraction ( temp 3-component vector of float)
+0:172      isnan ( temp 3-component vector of bool)
 0:172        'inF0' ( in 3-component vector of float)
-0:173      frexp ( temp 3-component vector of float)
+0:173      ldexp ( temp 3-component vector of float)
 0:173        'inF0' ( in 3-component vector of float)
 0:173        'inF1' ( in 3-component vector of float)
-0:174      isinf ( temp 3-component vector of bool)
+0:174      mix ( temp 3-component vector of float)
 0:174        'inF0' ( in 3-component vector of float)
-0:175      isnan ( temp 3-component vector of bool)
+0:174        'inF1' ( in 3-component vector of float)
+0:174        'inF2' ( in 3-component vector of float)
+0:175      length ( temp float)
 0:175        'inF0' ( in 3-component vector of float)
-0:176      ldexp ( temp 3-component vector of float)
+0:176      log ( temp 3-component vector of float)
 0:176        'inF0' ( in 3-component vector of float)
-0:176        'inF1' ( in 3-component vector of float)
-0:177      mix ( temp 3-component vector of float)
-0:177        'inF0' ( in 3-component vector of float)
-0:177        'inF1' ( in 3-component vector of float)
-0:177        'inF2' ( in 3-component vector of float)
-0:178      length ( temp float)
+0:177      vector-scale ( temp 3-component vector of float)
+0:177        log2 ( temp 3-component vector of float)
+0:177          'inF0' ( in 3-component vector of float)
+0:177        Constant:
+0:177          0.301030
+0:178      log2 ( temp 3-component vector of float)
 0:178        'inF0' ( in 3-component vector of float)
-0:179      log ( temp 3-component vector of float)
+0:179      max ( temp 3-component vector of float)
 0:179        'inF0' ( in 3-component vector of float)
-0:180      vector-scale ( temp 3-component vector of float)
-0:180        log2 ( temp 3-component vector of float)
-0:180          'inF0' ( in 3-component vector of float)
-0:180        Constant:
-0:180          0.301030
-0:181      log2 ( temp 3-component vector of float)
-0:181        'inF0' ( in 3-component vector of float)
-0:182      max ( temp 3-component vector of float)
+0:179        'inF1' ( in 3-component vector of float)
+0:180      min ( temp 3-component vector of float)
+0:180        'inF0' ( in 3-component vector of float)
+0:180        'inF1' ( in 3-component vector of float)
+0:182      normalize ( temp 3-component vector of float)
 0:182        'inF0' ( in 3-component vector of float)
-0:182        'inF1' ( in 3-component vector of float)
-0:183      min ( temp 3-component vector of float)
+0:183      pow ( temp 3-component vector of float)
 0:183        'inF0' ( in 3-component vector of float)
 0:183        'inF1' ( in 3-component vector of float)
-0:185      normalize ( temp 3-component vector of float)
+0:184      radians ( temp 3-component vector of float)
+0:184        'inF0' ( in 3-component vector of float)
+0:185      reflect ( temp 3-component vector of float)
 0:185        'inF0' ( in 3-component vector of float)
-0:186      pow ( temp 3-component vector of float)
+0:185        'inF1' ( in 3-component vector of float)
+0:186      refract ( temp 3-component vector of float)
 0:186        'inF0' ( in 3-component vector of float)
 0:186        'inF1' ( in 3-component vector of float)
-0:187      radians ( temp 3-component vector of float)
-0:187        'inF0' ( in 3-component vector of float)
-0:188      reflect ( temp 3-component vector of float)
-0:188        'inF0' ( in 3-component vector of float)
-0:188        'inF1' ( in 3-component vector of float)
-0:189      refract ( temp 3-component vector of float)
-0:189        'inF0' ( in 3-component vector of float)
-0:189        'inF1' ( in 3-component vector of float)
-0:189        Constant:
-0:189          2.000000
+0:186        Constant:
+0:186          2.000000
 0:?       bitFieldReverse ( temp 3-component vector of int)
 0:?         Constant:
 0:?           1 (const int)
 0:?           2 (const int)
 0:?           3 (const int)
-0:191      roundEven ( temp 3-component vector of float)
+0:188      roundEven ( temp 3-component vector of float)
+0:188        'inF0' ( in 3-component vector of float)
+0:189      inverse sqrt ( temp 3-component vector of float)
+0:189        'inF0' ( in 3-component vector of float)
+0:190      clamp ( temp 3-component vector of float)
+0:190        'inF0' ( in 3-component vector of float)
+0:190        Constant:
+0:190          0.000000
+0:190        Constant:
+0:190          1.000000
+0:191      Sign ( temp 3-component vector of float)
 0:191        'inF0' ( in 3-component vector of float)
-0:192      inverse sqrt ( temp 3-component vector of float)
+0:192      sine ( temp 3-component vector of float)
 0:192        'inF0' ( in 3-component vector of float)
-0:193      clamp ( temp 3-component vector of float)
-0:193        'inF0' ( in 3-component vector of float)
-0:193        Constant:
-0:193          0.000000
-0:193        Constant:
-0:193          1.000000
-0:194      Sign ( temp 3-component vector of float)
+0:193      Sequence
+0:193        move second child to first child ( temp 3-component vector of float)
+0:193          'inF1' ( in 3-component vector of float)
+0:193          sine ( temp 3-component vector of float)
+0:193            'inF0' ( in 3-component vector of float)
+0:193        move second child to first child ( temp 3-component vector of float)
+0:193          'inF2' ( in 3-component vector of float)
+0:193          cosine ( temp 3-component vector of float)
+0:193            'inF0' ( in 3-component vector of float)
+0:194      hyp. sine ( temp 3-component vector of float)
 0:194        'inF0' ( in 3-component vector of float)
-0:195      sine ( temp 3-component vector of float)
+0:195      smoothstep ( temp 3-component vector of float)
 0:195        'inF0' ( in 3-component vector of float)
-0:196      Sequence
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'inF1' ( in 3-component vector of float)
-0:196          sine ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'inF2' ( in 3-component vector of float)
-0:196          cosine ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
-0:197      hyp. sine ( temp 3-component vector of float)
+0:195        'inF1' ( in 3-component vector of float)
+0:195        'inF2' ( in 3-component vector of float)
+0:196      sqrt ( temp 3-component vector of float)
+0:196        'inF0' ( in 3-component vector of float)
+0:197      step ( temp 3-component vector of float)
 0:197        'inF0' ( in 3-component vector of float)
-0:198      smoothstep ( temp 3-component vector of float)
+0:197        'inF1' ( in 3-component vector of float)
+0:198      tangent ( temp 3-component vector of float)
 0:198        'inF0' ( in 3-component vector of float)
-0:198        'inF1' ( in 3-component vector of float)
-0:198        'inF2' ( in 3-component vector of float)
-0:199      sqrt ( temp 3-component vector of float)
+0:199      hyp. tangent ( temp 3-component vector of float)
 0:199        'inF0' ( in 3-component vector of float)
-0:200      step ( temp 3-component vector of float)
-0:200        'inF0' ( in 3-component vector of float)
-0:200        'inF1' ( in 3-component vector of float)
-0:201      tangent ( temp 3-component vector of float)
+0:201      trunc ( temp 3-component vector of float)
 0:201        'inF0' ( in 3-component vector of float)
-0:202      hyp. tangent ( temp 3-component vector of float)
-0:202        'inF0' ( in 3-component vector of float)
-0:204      trunc ( temp 3-component vector of float)
-0:204        'inF0' ( in 3-component vector of float)
-0:207      Branch: Return with expression
+0:204      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:211  Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
-0:211    Function Parameters: 
-0:211      'inF0' ( in 4-component vector of float)
-0:211      'inF1' ( in 4-component vector of float)
-0:211      'inF2' ( in 4-component vector of float)
-0:211      'inU0' ( in 4-component vector of uint)
-0:211      'inU1' ( in 4-component vector of uint)
+0:208  Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:208    Function Parameters: 
+0:208      'inF0' ( in 4-component vector of float)
+0:208      'inF1' ( in 4-component vector of float)
+0:208      'inF2' ( in 4-component vector of float)
+0:208      'inU0' ( in 4-component vector of uint)
+0:208      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
-0:212      all ( temp bool)
+0:209      all ( temp bool)
+0:209        'inF0' ( in 4-component vector of float)
+0:210      Absolute value ( temp 4-component vector of float)
+0:210        'inF0' ( in 4-component vector of float)
+0:211      arc cosine ( temp 4-component vector of float)
+0:211        'inF0' ( in 4-component vector of float)
+0:212      any ( temp bool)
 0:212        'inF0' ( in 4-component vector of float)
-0:213      Absolute value ( temp 4-component vector of float)
+0:213      arc sine ( temp 4-component vector of float)
 0:213        'inF0' ( in 4-component vector of float)
-0:214      arc cosine ( temp 4-component vector of float)
+0:214      floatBitsToInt ( temp 4-component vector of int)
 0:214        'inF0' ( in 4-component vector of float)
-0:215      any ( temp bool)
+0:215      floatBitsToUint ( temp 4-component vector of uint)
 0:215        'inF0' ( in 4-component vector of float)
-0:216      arc sine ( temp 4-component vector of float)
-0:216        'inF0' ( in 4-component vector of float)
-0:217      floatBitsToInt ( temp 4-component vector of int)
-0:217        'inF0' ( in 4-component vector of float)
-0:218      floatBitsToUint ( temp 4-component vector of uint)
+0:216      intBitsToFloat ( temp 4-component vector of float)
+0:216        'inU0' ( in 4-component vector of uint)
+0:218      arc tangent ( temp 4-component vector of float)
 0:218        'inF0' ( in 4-component vector of float)
-0:219      intBitsToFloat ( temp 4-component vector of float)
-0:219        'inU0' ( in 4-component vector of uint)
-0:221      arc tangent ( temp 4-component vector of float)
+0:219      arc tangent ( temp 4-component vector of float)
+0:219        'inF0' ( in 4-component vector of float)
+0:219        'inF1' ( in 4-component vector of float)
+0:220      Ceiling ( temp 4-component vector of float)
+0:220        'inF0' ( in 4-component vector of float)
+0:221      clamp ( temp 4-component vector of float)
 0:221        'inF0' ( in 4-component vector of float)
-0:222      arc tangent ( temp 4-component vector of float)
+0:221        'inF1' ( in 4-component vector of float)
+0:221        'inF2' ( in 4-component vector of float)
+0:222      cosine ( temp 4-component vector of float)
 0:222        'inF0' ( in 4-component vector of float)
-0:222        'inF1' ( in 4-component vector of float)
-0:223      Ceiling ( temp 4-component vector of float)
+0:223      hyp. cosine ( temp 4-component vector of float)
 0:223        'inF0' ( in 4-component vector of float)
-0:224      clamp ( temp 4-component vector of float)
-0:224        'inF0' ( in 4-component vector of float)
-0:224        'inF1' ( in 4-component vector of float)
-0:224        'inF2' ( in 4-component vector of float)
-0:225      cosine ( temp 4-component vector of float)
-0:225        'inF0' ( in 4-component vector of float)
-0:226      hyp. cosine ( temp 4-component vector of float)
-0:226        'inF0' ( in 4-component vector of float)
 0:?       bitCount ( temp 4-component vector of int)
 0:?         Constant:
 0:?           7 (const int)
 0:?           3 (const int)
 0:?           5 (const int)
 0:?           2 (const int)
-0:228      degrees ( temp 4-component vector of float)
-0:228        'inF0' ( in 4-component vector of float)
-0:229      distance ( temp float)
-0:229        'inF0' ( in 4-component vector of float)
-0:229        'inF1' ( in 4-component vector of float)
-0:230      dot-product ( temp float)
-0:230        'inF0' ( in 4-component vector of float)
-0:230        'inF1' ( in 4-component vector of float)
-0:231      Construct vec4 ( temp 4-component vector of float)
-0:231        Constant:
-0:231          1.000000
-0:231        component-wise multiply ( temp float)
-0:231          direct index ( temp float)
-0:231            'inF0' ( in 4-component vector of float)
-0:231            Constant:
-0:231              1 (const int)
-0:231          direct index ( temp float)
-0:231            'inF1' ( in 4-component vector of float)
-0:231            Constant:
-0:231              1 (const int)
-0:231        direct index ( temp float)
-0:231          'inF0' ( in 4-component vector of float)
-0:231          Constant:
-0:231            2 (const int)
-0:231        direct index ( temp float)
-0:231          'inF1' ( in 4-component vector of float)
-0:231          Constant:
-0:231            3 (const int)
-0:235      exp ( temp 4-component vector of float)
-0:235        'inF0' ( in 4-component vector of float)
-0:236      exp2 ( temp 4-component vector of float)
-0:236        'inF0' ( in 4-component vector of float)
-0:237      face-forward ( temp 4-component vector of float)
+0:225      degrees ( temp 4-component vector of float)
+0:225        'inF0' ( in 4-component vector of float)
+0:226      distance ( temp float)
+0:226        'inF0' ( in 4-component vector of float)
+0:226        'inF1' ( in 4-component vector of float)
+0:227      dot-product ( temp float)
+0:227        'inF0' ( in 4-component vector of float)
+0:227        'inF1' ( in 4-component vector of float)
+0:228      Construct vec4 ( temp 4-component vector of float)
+0:228        Constant:
+0:228          1.000000
+0:228        component-wise multiply ( temp float)
+0:228          direct index ( temp float)
+0:228            'inF0' ( in 4-component vector of float)
+0:228            Constant:
+0:228              1 (const int)
+0:228          direct index ( temp float)
+0:228            'inF1' ( in 4-component vector of float)
+0:228            Constant:
+0:228              1 (const int)
+0:228        direct index ( temp float)
+0:228          'inF0' ( in 4-component vector of float)
+0:228          Constant:
+0:228            2 (const int)
+0:228        direct index ( temp float)
+0:228          'inF1' ( in 4-component vector of float)
+0:228          Constant:
+0:228            3 (const int)
+0:232      exp ( temp 4-component vector of float)
+0:232        'inF0' ( in 4-component vector of float)
+0:233      exp2 ( temp 4-component vector of float)
+0:233        'inF0' ( in 4-component vector of float)
+0:234      face-forward ( temp 4-component vector of float)
+0:234        'inF0' ( in 4-component vector of float)
+0:234        'inF1' ( in 4-component vector of float)
+0:234        'inF2' ( in 4-component vector of float)
+0:235      findMSB ( temp int)
+0:235        Constant:
+0:235          7 (const int)
+0:236      findLSB ( temp int)
+0:236        Constant:
+0:236          7 (const int)
+0:237      Floor ( temp 4-component vector of float)
 0:237        'inF0' ( in 4-component vector of float)
-0:237        'inF1' ( in 4-component vector of float)
-0:237        'inF2' ( in 4-component vector of float)
-0:238      findMSB ( temp int)
-0:238        Constant:
-0:238          7 (const int)
-0:239      findLSB ( temp int)
-0:239        Constant:
-0:239          7 (const int)
-0:240      Floor ( temp 4-component vector of float)
+0:239      mod ( temp 4-component vector of float)
+0:239        'inF0' ( in 4-component vector of float)
+0:239        'inF1' ( in 4-component vector of float)
+0:240      Fraction ( temp 4-component vector of float)
 0:240        'inF0' ( in 4-component vector of float)
-0:242      mod ( temp 4-component vector of float)
+0:241      isinf ( temp 4-component vector of bool)
+0:241        'inF0' ( in 4-component vector of float)
+0:242      isnan ( temp 4-component vector of bool)
 0:242        'inF0' ( in 4-component vector of float)
-0:242        'inF1' ( in 4-component vector of float)
-0:243      Fraction ( temp 4-component vector of float)
+0:243      ldexp ( temp 4-component vector of float)
 0:243        'inF0' ( in 4-component vector of float)
-0:244      frexp ( temp 4-component vector of float)
+0:243        'inF1' ( in 4-component vector of float)
+0:244      mix ( temp 4-component vector of float)
 0:244        'inF0' ( in 4-component vector of float)
 0:244        'inF1' ( in 4-component vector of float)
-0:245      isinf ( temp 4-component vector of bool)
+0:244        'inF2' ( in 4-component vector of float)
+0:245      length ( temp float)
 0:245        'inF0' ( in 4-component vector of float)
-0:246      isnan ( temp 4-component vector of bool)
+0:246      log ( temp 4-component vector of float)
 0:246        'inF0' ( in 4-component vector of float)
-0:247      ldexp ( temp 4-component vector of float)
-0:247        'inF0' ( in 4-component vector of float)
-0:247        'inF1' ( in 4-component vector of float)
-0:248      mix ( temp 4-component vector of float)
+0:247      vector-scale ( temp 4-component vector of float)
+0:247        log2 ( temp 4-component vector of float)
+0:247          'inF0' ( in 4-component vector of float)
+0:247        Constant:
+0:247          0.301030
+0:248      log2 ( temp 4-component vector of float)
 0:248        'inF0' ( in 4-component vector of float)
-0:248        'inF1' ( in 4-component vector of float)
-0:248        'inF2' ( in 4-component vector of float)
-0:249      length ( temp float)
+0:249      max ( temp 4-component vector of float)
 0:249        'inF0' ( in 4-component vector of float)
-0:250      log ( temp 4-component vector of float)
+0:249        'inF1' ( in 4-component vector of float)
+0:250      min ( temp 4-component vector of float)
 0:250        'inF0' ( in 4-component vector of float)
-0:251      vector-scale ( temp 4-component vector of float)
-0:251        log2 ( temp 4-component vector of float)
-0:251          'inF0' ( in 4-component vector of float)
-0:251        Constant:
-0:251          0.301030
-0:252      log2 ( temp 4-component vector of float)
+0:250        'inF1' ( in 4-component vector of float)
+0:252      normalize ( temp 4-component vector of float)
 0:252        'inF0' ( in 4-component vector of float)
-0:253      max ( temp 4-component vector of float)
+0:253      pow ( temp 4-component vector of float)
 0:253        'inF0' ( in 4-component vector of float)
 0:253        'inF1' ( in 4-component vector of float)
-0:254      min ( temp 4-component vector of float)
+0:254      radians ( temp 4-component vector of float)
 0:254        'inF0' ( in 4-component vector of float)
-0:254        'inF1' ( in 4-component vector of float)
-0:256      normalize ( temp 4-component vector of float)
+0:255      reflect ( temp 4-component vector of float)
+0:255        'inF0' ( in 4-component vector of float)
+0:255        'inF1' ( in 4-component vector of float)
+0:256      refract ( temp 4-component vector of float)
 0:256        'inF0' ( in 4-component vector of float)
-0:257      pow ( temp 4-component vector of float)
-0:257        'inF0' ( in 4-component vector of float)
-0:257        'inF1' ( in 4-component vector of float)
-0:258      radians ( temp 4-component vector of float)
-0:258        'inF0' ( in 4-component vector of float)
-0:259      reflect ( temp 4-component vector of float)
-0:259        'inF0' ( in 4-component vector of float)
-0:259        'inF1' ( in 4-component vector of float)
-0:260      refract ( temp 4-component vector of float)
-0:260        'inF0' ( in 4-component vector of float)
-0:260        'inF1' ( in 4-component vector of float)
-0:260        Constant:
-0:260          2.000000
+0:256        'inF1' ( in 4-component vector of float)
+0:256        Constant:
+0:256          2.000000
 0:?       bitFieldReverse ( temp 4-component vector of int)
 0:?         Constant:
 0:?           1 (const int)
 0:?           2 (const int)
 0:?           3 (const int)
 0:?           4 (const int)
-0:262      roundEven ( temp 4-component vector of float)
+0:258      roundEven ( temp 4-component vector of float)
+0:258        'inF0' ( in 4-component vector of float)
+0:259      inverse sqrt ( temp 4-component vector of float)
+0:259        'inF0' ( in 4-component vector of float)
+0:260      clamp ( temp 4-component vector of float)
+0:260        'inF0' ( in 4-component vector of float)
+0:260        Constant:
+0:260          0.000000
+0:260        Constant:
+0:260          1.000000
+0:261      Sign ( temp 4-component vector of float)
+0:261        'inF0' ( in 4-component vector of float)
+0:262      sine ( temp 4-component vector of float)
 0:262        'inF0' ( in 4-component vector of float)
-0:263      inverse sqrt ( temp 4-component vector of float)
-0:263        'inF0' ( in 4-component vector of float)
-0:264      clamp ( temp 4-component vector of float)
+0:263      Sequence
+0:263        move second child to first child ( temp 4-component vector of float)
+0:263          'inF1' ( in 4-component vector of float)
+0:263          sine ( temp 4-component vector of float)
+0:263            'inF0' ( in 4-component vector of float)
+0:263        move second child to first child ( temp 4-component vector of float)
+0:263          'inF2' ( in 4-component vector of float)
+0:263          cosine ( temp 4-component vector of float)
+0:263            'inF0' ( in 4-component vector of float)
+0:264      hyp. sine ( temp 4-component vector of float)
 0:264        'inF0' ( in 4-component vector of float)
-0:264        Constant:
-0:264          0.000000
-0:264        Constant:
-0:264          1.000000
-0:265      Sign ( temp 4-component vector of float)
+0:265      smoothstep ( temp 4-component vector of float)
 0:265        'inF0' ( in 4-component vector of float)
-0:266      sine ( temp 4-component vector of float)
+0:265        'inF1' ( in 4-component vector of float)
+0:265        'inF2' ( in 4-component vector of float)
+0:266      sqrt ( temp 4-component vector of float)
 0:266        'inF0' ( in 4-component vector of float)
-0:267      Sequence
-0:267        move second child to first child ( temp 4-component vector of float)
-0:267          'inF1' ( in 4-component vector of float)
-0:267          sine ( temp 4-component vector of float)
-0:267            'inF0' ( in 4-component vector of float)
-0:267        move second child to first child ( temp 4-component vector of float)
-0:267          'inF2' ( in 4-component vector of float)
-0:267          cosine ( temp 4-component vector of float)
-0:267            'inF0' ( in 4-component vector of float)
-0:268      hyp. sine ( temp 4-component vector of float)
+0:267      step ( temp 4-component vector of float)
+0:267        'inF0' ( in 4-component vector of float)
+0:267        'inF1' ( in 4-component vector of float)
+0:268      tangent ( temp 4-component vector of float)
 0:268        'inF0' ( in 4-component vector of float)
-0:269      smoothstep ( temp 4-component vector of float)
+0:269      hyp. tangent ( temp 4-component vector of float)
 0:269        'inF0' ( in 4-component vector of float)
-0:269        'inF1' ( in 4-component vector of float)
-0:269        'inF2' ( in 4-component vector of float)
-0:270      sqrt ( temp 4-component vector of float)
-0:270        'inF0' ( in 4-component vector of float)
-0:271      step ( temp 4-component vector of float)
+0:271      trunc ( temp 4-component vector of float)
 0:271        'inF0' ( in 4-component vector of float)
-0:271        'inF1' ( in 4-component vector of float)
-0:272      tangent ( temp 4-component vector of float)
-0:272        'inF0' ( in 4-component vector of float)
-0:273      hyp. tangent ( temp 4-component vector of float)
-0:273        'inF0' ( in 4-component vector of float)
-0:275      trunc ( temp 4-component vector of float)
-0:275        'inF0' ( in 4-component vector of float)
-0:278      Branch: Return with expression
+0:274      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:336  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
-0:336    Function Parameters: 
-0:336      'inF0' ( in 2X2 matrix of float)
-0:336      'inF1' ( in 2X2 matrix of float)
-0:336      'inF2' ( in 2X2 matrix of float)
+0:331  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:331    Function Parameters: 
+0:331      'inF0' ( in 2X2 matrix of float)
+0:331      'inF1' ( in 2X2 matrix of float)
+0:331      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-0:338      all ( temp bool)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      Absolute value ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      arc cosine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      any ( temp bool)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      arc sine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      arc tangent ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      arc tangent ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      Ceiling ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      clamp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338        'inF2' ( in 2X2 matrix of float)
-0:338      cosine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      hyp. cosine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      degrees ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      determinant ( temp float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      exp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      exp2 ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      findMSB ( temp int)
-0:338        Constant:
-0:338          7 (const int)
-0:338      findLSB ( temp int)
-0:338        Constant:
-0:338          7 (const int)
-0:338      Floor ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      mod ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      Fraction ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      frexp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      ldexp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      mix ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338        'inF2' ( in 2X2 matrix of float)
-0:338      log ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      matrix-scale ( temp 2X2 matrix of float)
-0:338        log2 ( temp 2X2 matrix of float)
-0:338          'inF0' ( in 2X2 matrix of float)
-0:338        Constant:
-0:338          0.301030
-0:338      log2 ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      max ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      min ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      pow ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      radians ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      roundEven ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      inverse sqrt ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      clamp ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        Constant:
-0:338          0.000000
-0:338        Constant:
-0:338          1.000000
-0:338      Sign ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      sine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      Sequence
-0:338        move second child to first child ( temp 2X2 matrix of float)
-0:338          'inF1' ( in 2X2 matrix of float)
-0:338          sine ( temp 2X2 matrix of float)
-0:338            'inF0' ( in 2X2 matrix of float)
-0:338        move second child to first child ( temp 2X2 matrix of float)
-0:338          'inF2' ( in 2X2 matrix of float)
-0:338          cosine ( temp 2X2 matrix of float)
-0:338            'inF0' ( in 2X2 matrix of float)
-0:338      hyp. sine ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      smoothstep ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338        'inF2' ( in 2X2 matrix of float)
-0:338      sqrt ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      step ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338        'inF1' ( in 2X2 matrix of float)
-0:338      tangent ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      hyp. tangent ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      transpose ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:338      trunc ( temp 2X2 matrix of float)
-0:338        'inF0' ( in 2X2 matrix of float)
-0:341      Branch: Return with expression
+0:333      all ( temp bool)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      Absolute value ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      arc cosine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      any ( temp bool)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      arc sine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      arc tangent ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      arc tangent ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      Ceiling ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      clamp ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333        'inF2' ( in 2X2 matrix of float)
+0:333      cosine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      hyp. cosine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      degrees ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      determinant ( temp float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      exp ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      exp2 ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      findMSB ( temp int)
+0:333        Constant:
+0:333          7 (const int)
+0:333      findLSB ( temp int)
+0:333        Constant:
+0:333          7 (const int)
+0:333      Floor ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      mod ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      Fraction ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      ldexp ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      mix ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333        'inF2' ( in 2X2 matrix of float)
+0:333      log ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      matrix-scale ( temp 2X2 matrix of float)
+0:333        log2 ( temp 2X2 matrix of float)
+0:333          'inF0' ( in 2X2 matrix of float)
+0:333        Constant:
+0:333          0.301030
+0:333      log2 ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      max ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      min ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      pow ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      radians ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      roundEven ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      inverse sqrt ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      clamp ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        Constant:
+0:333          0.000000
+0:333        Constant:
+0:333          1.000000
+0:333      Sign ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      sine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      Sequence
+0:333        move second child to first child ( temp 2X2 matrix of float)
+0:333          'inF1' ( in 2X2 matrix of float)
+0:333          sine ( temp 2X2 matrix of float)
+0:333            'inF0' ( in 2X2 matrix of float)
+0:333        move second child to first child ( temp 2X2 matrix of float)
+0:333          'inF2' ( in 2X2 matrix of float)
+0:333          cosine ( temp 2X2 matrix of float)
+0:333            'inF0' ( in 2X2 matrix of float)
+0:333      hyp. sine ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      smoothstep ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333        'inF2' ( in 2X2 matrix of float)
+0:333      sqrt ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      step ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333        'inF1' ( in 2X2 matrix of float)
+0:333      tangent ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      hyp. tangent ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      transpose ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:333      trunc ( temp 2X2 matrix of float)
+0:333        'inF0' ( in 2X2 matrix of float)
+0:336      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:345  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
-0:345    Function Parameters: 
-0:345      'inF0' ( in 3X3 matrix of float)
-0:345      'inF1' ( in 3X3 matrix of float)
-0:345      'inF2' ( in 3X3 matrix of float)
+0:340  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:340    Function Parameters: 
+0:340      'inF0' ( in 3X3 matrix of float)
+0:340      'inF1' ( in 3X3 matrix of float)
+0:340      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-0:347      all ( temp bool)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      Absolute value ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      arc cosine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      any ( temp bool)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      arc sine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      arc tangent ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      arc tangent ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      Ceiling ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      clamp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347        'inF2' ( in 3X3 matrix of float)
-0:347      cosine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      hyp. cosine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      degrees ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      determinant ( temp float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      exp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      exp2 ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      findMSB ( temp int)
-0:347        Constant:
-0:347          7 (const int)
-0:347      findLSB ( temp int)
-0:347        Constant:
-0:347          7 (const int)
-0:347      Floor ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      mod ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      Fraction ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      frexp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      ldexp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      mix ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347        'inF2' ( in 3X3 matrix of float)
-0:347      log ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      matrix-scale ( temp 3X3 matrix of float)
-0:347        log2 ( temp 3X3 matrix of float)
-0:347          'inF0' ( in 3X3 matrix of float)
-0:347        Constant:
-0:347          0.301030
-0:347      log2 ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      max ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      min ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      pow ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      radians ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      roundEven ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      inverse sqrt ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      clamp ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        Constant:
-0:347          0.000000
-0:347        Constant:
-0:347          1.000000
-0:347      Sign ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      sine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      Sequence
-0:347        move second child to first child ( temp 3X3 matrix of float)
-0:347          'inF1' ( in 3X3 matrix of float)
-0:347          sine ( temp 3X3 matrix of float)
-0:347            'inF0' ( in 3X3 matrix of float)
-0:347        move second child to first child ( temp 3X3 matrix of float)
-0:347          'inF2' ( in 3X3 matrix of float)
-0:347          cosine ( temp 3X3 matrix of float)
-0:347            'inF0' ( in 3X3 matrix of float)
-0:347      hyp. sine ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      smoothstep ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347        'inF2' ( in 3X3 matrix of float)
-0:347      sqrt ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      step ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347        'inF1' ( in 3X3 matrix of float)
-0:347      tangent ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      hyp. tangent ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      transpose ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:347      trunc ( temp 3X3 matrix of float)
-0:347        'inF0' ( in 3X3 matrix of float)
-0:350      Branch: Return with expression
+0:342      all ( temp bool)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      Absolute value ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      arc cosine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      any ( temp bool)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      arc sine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      arc tangent ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      arc tangent ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      Ceiling ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      clamp ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342        'inF2' ( in 3X3 matrix of float)
+0:342      cosine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      hyp. cosine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      degrees ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      determinant ( temp float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      exp ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      exp2 ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      findMSB ( temp int)
+0:342        Constant:
+0:342          7 (const int)
+0:342      findLSB ( temp int)
+0:342        Constant:
+0:342          7 (const int)
+0:342      Floor ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      mod ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      Fraction ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      ldexp ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      mix ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342        'inF2' ( in 3X3 matrix of float)
+0:342      log ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      matrix-scale ( temp 3X3 matrix of float)
+0:342        log2 ( temp 3X3 matrix of float)
+0:342          'inF0' ( in 3X3 matrix of float)
+0:342        Constant:
+0:342          0.301030
+0:342      log2 ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      max ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      min ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      pow ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      radians ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      roundEven ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      inverse sqrt ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      clamp ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        Constant:
+0:342          0.000000
+0:342        Constant:
+0:342          1.000000
+0:342      Sign ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      sine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      Sequence
+0:342        move second child to first child ( temp 3X3 matrix of float)
+0:342          'inF1' ( in 3X3 matrix of float)
+0:342          sine ( temp 3X3 matrix of float)
+0:342            'inF0' ( in 3X3 matrix of float)
+0:342        move second child to first child ( temp 3X3 matrix of float)
+0:342          'inF2' ( in 3X3 matrix of float)
+0:342          cosine ( temp 3X3 matrix of float)
+0:342            'inF0' ( in 3X3 matrix of float)
+0:342      hyp. sine ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      smoothstep ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342        'inF2' ( in 3X3 matrix of float)
+0:342      sqrt ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      step ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342        'inF1' ( in 3X3 matrix of float)
+0:342      tangent ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      hyp. tangent ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      transpose ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:342      trunc ( temp 3X3 matrix of float)
+0:342        'inF0' ( in 3X3 matrix of float)
+0:345      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -2345,131 +2306,128 @@ Shader version: 450
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:354  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
-0:354    Function Parameters: 
-0:354      'inF0' ( in 4X4 matrix of float)
-0:354      'inF1' ( in 4X4 matrix of float)
-0:354      'inF2' ( in 4X4 matrix of float)
+0:349  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:349    Function Parameters: 
+0:349      'inF0' ( in 4X4 matrix of float)
+0:349      'inF1' ( in 4X4 matrix of float)
+0:349      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-0:356      all ( temp bool)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      Absolute value ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      arc cosine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      any ( temp bool)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      arc sine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      arc tangent ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      arc tangent ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      Ceiling ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      clamp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356        'inF2' ( in 4X4 matrix of float)
-0:356      cosine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      hyp. cosine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      degrees ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      determinant ( temp float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      exp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      exp2 ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      findMSB ( temp int)
-0:356        Constant:
-0:356          7 (const int)
-0:356      findLSB ( temp int)
-0:356        Constant:
-0:356          7 (const int)
-0:356      Floor ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      mod ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      Fraction ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      frexp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      ldexp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      mix ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356        'inF2' ( in 4X4 matrix of float)
-0:356      log ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      matrix-scale ( temp 4X4 matrix of float)
-0:356        log2 ( temp 4X4 matrix of float)
-0:356          'inF0' ( in 4X4 matrix of float)
-0:356        Constant:
-0:356          0.301030
-0:356      log2 ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      max ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      min ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      pow ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      radians ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      roundEven ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      inverse sqrt ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      clamp ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        Constant:
-0:356          0.000000
-0:356        Constant:
-0:356          1.000000
-0:356      Sign ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      sine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      Sequence
-0:356        move second child to first child ( temp 4X4 matrix of float)
-0:356          'inF1' ( in 4X4 matrix of float)
-0:356          sine ( temp 4X4 matrix of float)
-0:356            'inF0' ( in 4X4 matrix of float)
-0:356        move second child to first child ( temp 4X4 matrix of float)
-0:356          'inF2' ( in 4X4 matrix of float)
-0:356          cosine ( temp 4X4 matrix of float)
-0:356            'inF0' ( in 4X4 matrix of float)
-0:356      hyp. sine ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      smoothstep ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356        'inF2' ( in 4X4 matrix of float)
-0:356      sqrt ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      step ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356        'inF1' ( in 4X4 matrix of float)
-0:356      tangent ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      hyp. tangent ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      transpose ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:356      trunc ( temp 4X4 matrix of float)
-0:356        'inF0' ( in 4X4 matrix of float)
-0:359      Branch: Return with expression
+0:351      all ( temp bool)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      Absolute value ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      arc cosine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      any ( temp bool)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      arc sine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      arc tangent ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      arc tangent ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      Ceiling ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      clamp ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351        'inF2' ( in 4X4 matrix of float)
+0:351      cosine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      hyp. cosine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      degrees ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      determinant ( temp float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      exp ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      exp2 ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      findMSB ( temp int)
+0:351        Constant:
+0:351          7 (const int)
+0:351      findLSB ( temp int)
+0:351        Constant:
+0:351          7 (const int)
+0:351      Floor ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      mod ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      Fraction ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      ldexp ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      mix ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351        'inF2' ( in 4X4 matrix of float)
+0:351      log ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      matrix-scale ( temp 4X4 matrix of float)
+0:351        log2 ( temp 4X4 matrix of float)
+0:351          'inF0' ( in 4X4 matrix of float)
+0:351        Constant:
+0:351          0.301030
+0:351      log2 ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      max ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      min ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      pow ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      radians ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      roundEven ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      inverse sqrt ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      clamp ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        Constant:
+0:351          0.000000
+0:351        Constant:
+0:351          1.000000
+0:351      Sign ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      sine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      Sequence
+0:351        move second child to first child ( temp 4X4 matrix of float)
+0:351          'inF1' ( in 4X4 matrix of float)
+0:351          sine ( temp 4X4 matrix of float)
+0:351            'inF0' ( in 4X4 matrix of float)
+0:351        move second child to first child ( temp 4X4 matrix of float)
+0:351          'inF2' ( in 4X4 matrix of float)
+0:351          cosine ( temp 4X4 matrix of float)
+0:351            'inF0' ( in 4X4 matrix of float)
+0:351      hyp. sine ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      smoothstep ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351        'inF2' ( in 4X4 matrix of float)
+0:351      sqrt ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      step ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351        'inF1' ( in 4X4 matrix of float)
+0:351      tangent ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      hyp. tangent ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      transpose ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:351      trunc ( temp 4X4 matrix of float)
+0:351        'inF0' ( in 4X4 matrix of float)
+0:354      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -2487,314 +2445,314 @@ Shader version: 450
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:377  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
-0:377    Function Parameters: 
-0:377      'inF0' ( in float)
-0:377      'inF1' ( in float)
-0:377      'inFV0' ( in 2-component vector of float)
-0:377      'inFV1' ( in 2-component vector of float)
-0:377      'inFM0' ( in 2X2 matrix of float)
-0:377      'inFM1' ( in 2X2 matrix of float)
+0:372  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:372    Function Parameters: 
+0:372      'inF0' ( in float)
+0:372      'inF1' ( in float)
+0:372      'inFV0' ( in 2-component vector of float)
+0:372      'inFV1' ( in 2-component vector of float)
+0:372      'inFM0' ( in 2X2 matrix of float)
+0:372      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-0:378      Sequence
-0:378        move second child to first child ( temp float)
-0:378          'r0' ( temp float)
-0:378          component-wise multiply ( temp float)
-0:378            'inF1' ( in float)
-0:378            'inF0' ( in float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2-component vector of float)
-0:378          'r1' ( temp 2-component vector of float)
-0:378          vector-scale ( temp 2-component vector of float)
-0:378            'inF0' ( in float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2-component vector of float)
-0:378          'r2' ( temp 2-component vector of float)
-0:378          vector-scale ( temp 2-component vector of float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378            'inF0' ( in float)
-0:378      Sequence
-0:378        move second child to first child ( temp float)
-0:378          'r3' ( temp float)
-0:378          dot-product ( temp float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378            'inFV1' ( in 2-component vector of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2-component vector of float)
-0:378          'r4' ( temp 2-component vector of float)
-0:378          vector-times-matrix ( temp 2-component vector of float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2-component vector of float)
-0:378          'r5' ( temp 2-component vector of float)
-0:378          matrix-times-vector ( temp 2-component vector of float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:378            'inFV0' ( in 2-component vector of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2X2 matrix of float)
-0:378          'r6' ( temp 2X2 matrix of float)
-0:378          matrix-scale ( temp 2X2 matrix of float)
-0:378            'inF0' ( in float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2X2 matrix of float)
-0:378          'r7' ( temp 2X2 matrix of float)
-0:378          matrix-scale ( temp 2X2 matrix of float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:378            'inF0' ( in float)
-0:378      Sequence
-0:378        move second child to first child ( temp 2X2 matrix of float)
-0:378          'r8' ( temp 2X2 matrix of float)
-0:378          matrix-multiply ( temp 2X2 matrix of float)
-0:378            'inFM1' ( in 2X2 matrix of float)
-0:378            'inFM0' ( in 2X2 matrix of float)
-0:384  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
-0:384    Function Parameters: 
-0:384      'inF0' ( in float)
-0:384      'inF1' ( in float)
-0:384      'inFV0' ( in 3-component vector of float)
-0:384      'inFV1' ( in 3-component vector of float)
-0:384      'inFM0' ( in 3X3 matrix of float)
-0:384      'inFM1' ( in 3X3 matrix of float)
+0:373      Sequence
+0:373        move second child to first child ( temp float)
+0:373          'r0' ( temp float)
+0:373          component-wise multiply ( temp float)
+0:373            'inF1' ( in float)
+0:373            'inF0' ( in float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2-component vector of float)
+0:373          'r1' ( temp 2-component vector of float)
+0:373          vector-scale ( temp 2-component vector of float)
+0:373            'inF0' ( in float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2-component vector of float)
+0:373          'r2' ( temp 2-component vector of float)
+0:373          vector-scale ( temp 2-component vector of float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373            'inF0' ( in float)
+0:373      Sequence
+0:373        move second child to first child ( temp float)
+0:373          'r3' ( temp float)
+0:373          dot-product ( temp float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373            'inFV1' ( in 2-component vector of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2-component vector of float)
+0:373          'r4' ( temp 2-component vector of float)
+0:373          vector-times-matrix ( temp 2-component vector of float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2-component vector of float)
+0:373          'r5' ( temp 2-component vector of float)
+0:373          matrix-times-vector ( temp 2-component vector of float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:373            'inFV0' ( in 2-component vector of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2X2 matrix of float)
+0:373          'r6' ( temp 2X2 matrix of float)
+0:373          matrix-scale ( temp 2X2 matrix of float)
+0:373            'inF0' ( in float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2X2 matrix of float)
+0:373          'r7' ( temp 2X2 matrix of float)
+0:373          matrix-scale ( temp 2X2 matrix of float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:373            'inF0' ( in float)
+0:373      Sequence
+0:373        move second child to first child ( temp 2X2 matrix of float)
+0:373          'r8' ( temp 2X2 matrix of float)
+0:373          matrix-multiply ( temp 2X2 matrix of float)
+0:373            'inFM1' ( in 2X2 matrix of float)
+0:373            'inFM0' ( in 2X2 matrix of float)
+0:379  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:379    Function Parameters: 
+0:379      'inF0' ( in float)
+0:379      'inF1' ( in float)
+0:379      'inFV0' ( in 3-component vector of float)
+0:379      'inFV1' ( in 3-component vector of float)
+0:379      'inFM0' ( in 3X3 matrix of float)
+0:379      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-0:385      Sequence
-0:385        move second child to first child ( temp float)
-0:385          'r0' ( temp float)
-0:385          component-wise multiply ( temp float)
-0:385            'inF1' ( in float)
-0:385            'inF0' ( in float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3-component vector of float)
-0:385          'r1' ( temp 3-component vector of float)
-0:385          vector-scale ( temp 3-component vector of float)
-0:385            'inF0' ( in float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3-component vector of float)
-0:385          'r2' ( temp 3-component vector of float)
-0:385          vector-scale ( temp 3-component vector of float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385            'inF0' ( in float)
-0:385      Sequence
-0:385        move second child to first child ( temp float)
-0:385          'r3' ( temp float)
-0:385          dot-product ( temp float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385            'inFV1' ( in 3-component vector of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3-component vector of float)
-0:385          'r4' ( temp 3-component vector of float)
-0:385          vector-times-matrix ( temp 3-component vector of float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3-component vector of float)
-0:385          'r5' ( temp 3-component vector of float)
-0:385          matrix-times-vector ( temp 3-component vector of float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:385            'inFV0' ( in 3-component vector of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3X3 matrix of float)
-0:385          'r6' ( temp 3X3 matrix of float)
-0:385          matrix-scale ( temp 3X3 matrix of float)
-0:385            'inF0' ( in float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3X3 matrix of float)
-0:385          'r7' ( temp 3X3 matrix of float)
-0:385          matrix-scale ( temp 3X3 matrix of float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:385            'inF0' ( in float)
-0:385      Sequence
-0:385        move second child to first child ( temp 3X3 matrix of float)
-0:385          'r8' ( temp 3X3 matrix of float)
-0:385          matrix-multiply ( temp 3X3 matrix of float)
-0:385            'inFM1' ( in 3X3 matrix of float)
-0:385            'inFM0' ( in 3X3 matrix of float)
-0:391  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
-0:391    Function Parameters: 
-0:391      'inF0' ( in float)
-0:391      'inF1' ( in float)
-0:391      'inFV0' ( in 4-component vector of float)
-0:391      'inFV1' ( in 4-component vector of float)
-0:391      'inFM0' ( in 4X4 matrix of float)
-0:391      'inFM1' ( in 4X4 matrix of float)
+0:380      Sequence
+0:380        move second child to first child ( temp float)
+0:380          'r0' ( temp float)
+0:380          component-wise multiply ( temp float)
+0:380            'inF1' ( in float)
+0:380            'inF0' ( in float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3-component vector of float)
+0:380          'r1' ( temp 3-component vector of float)
+0:380          vector-scale ( temp 3-component vector of float)
+0:380            'inF0' ( in float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3-component vector of float)
+0:380          'r2' ( temp 3-component vector of float)
+0:380          vector-scale ( temp 3-component vector of float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380            'inF0' ( in float)
+0:380      Sequence
+0:380        move second child to first child ( temp float)
+0:380          'r3' ( temp float)
+0:380          dot-product ( temp float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380            'inFV1' ( in 3-component vector of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3-component vector of float)
+0:380          'r4' ( temp 3-component vector of float)
+0:380          vector-times-matrix ( temp 3-component vector of float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3-component vector of float)
+0:380          'r5' ( temp 3-component vector of float)
+0:380          matrix-times-vector ( temp 3-component vector of float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:380            'inFV0' ( in 3-component vector of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3X3 matrix of float)
+0:380          'r6' ( temp 3X3 matrix of float)
+0:380          matrix-scale ( temp 3X3 matrix of float)
+0:380            'inF0' ( in float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3X3 matrix of float)
+0:380          'r7' ( temp 3X3 matrix of float)
+0:380          matrix-scale ( temp 3X3 matrix of float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:380            'inF0' ( in float)
+0:380      Sequence
+0:380        move second child to first child ( temp 3X3 matrix of float)
+0:380          'r8' ( temp 3X3 matrix of float)
+0:380          matrix-multiply ( temp 3X3 matrix of float)
+0:380            'inFM1' ( in 3X3 matrix of float)
+0:380            'inFM0' ( in 3X3 matrix of float)
+0:386  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:386    Function Parameters: 
+0:386      'inF0' ( in float)
+0:386      'inF1' ( in float)
+0:386      'inFV0' ( in 4-component vector of float)
+0:386      'inFV1' ( in 4-component vector of float)
+0:386      'inFM0' ( in 4X4 matrix of float)
+0:386      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-0:392      Sequence
-0:392        move second child to first child ( temp float)
-0:392          'r0' ( temp float)
-0:392          component-wise multiply ( temp float)
-0:392            'inF1' ( in float)
-0:392            'inF0' ( in float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4-component vector of float)
-0:392          'r1' ( temp 4-component vector of float)
-0:392          vector-scale ( temp 4-component vector of float)
-0:392            'inF0' ( in float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4-component vector of float)
-0:392          'r2' ( temp 4-component vector of float)
-0:392          vector-scale ( temp 4-component vector of float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392            'inF0' ( in float)
-0:392      Sequence
-0:392        move second child to first child ( temp float)
-0:392          'r3' ( temp float)
-0:392          dot-product ( temp float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392            'inFV1' ( in 4-component vector of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4-component vector of float)
-0:392          'r4' ( temp 4-component vector of float)
-0:392          vector-times-matrix ( temp 4-component vector of float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4-component vector of float)
-0:392          'r5' ( temp 4-component vector of float)
-0:392          matrix-times-vector ( temp 4-component vector of float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:392            'inFV0' ( in 4-component vector of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4X4 matrix of float)
-0:392          'r6' ( temp 4X4 matrix of float)
-0:392          matrix-scale ( temp 4X4 matrix of float)
-0:392            'inF0' ( in float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4X4 matrix of float)
-0:392          'r7' ( temp 4X4 matrix of float)
-0:392          matrix-scale ( temp 4X4 matrix of float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:392            'inF0' ( in float)
-0:392      Sequence
-0:392        move second child to first child ( temp 4X4 matrix of float)
-0:392          'r8' ( temp 4X4 matrix of float)
-0:392          matrix-multiply ( temp 4X4 matrix of float)
-0:392            'inFM1' ( in 4X4 matrix of float)
-0:392            'inFM0' ( in 4X4 matrix of float)
-0:401  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
-0:401    Function Parameters: 
-0:401      'inF0' ( in float)
-0:401      'inF1' ( in float)
-0:401      'inFV2' ( in 2-component vector of float)
-0:401      'inFV3' ( in 3-component vector of float)
-0:401      'inFM2x3' ( in 2X3 matrix of float)
-0:401      'inFM3x2' ( in 3X2 matrix of float)
-0:401      'inFM3x3' ( in 3X3 matrix of float)
-0:401      'inFM3x4' ( in 3X4 matrix of float)
-0:401      'inFM2x4' ( in 2X4 matrix of float)
+0:387      Sequence
+0:387        move second child to first child ( temp float)
+0:387          'r0' ( temp float)
+0:387          component-wise multiply ( temp float)
+0:387            'inF1' ( in float)
+0:387            'inF0' ( in float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4-component vector of float)
+0:387          'r1' ( temp 4-component vector of float)
+0:387          vector-scale ( temp 4-component vector of float)
+0:387            'inF0' ( in float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4-component vector of float)
+0:387          'r2' ( temp 4-component vector of float)
+0:387          vector-scale ( temp 4-component vector of float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387            'inF0' ( in float)
+0:387      Sequence
+0:387        move second child to first child ( temp float)
+0:387          'r3' ( temp float)
+0:387          dot-product ( temp float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387            'inFV1' ( in 4-component vector of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4-component vector of float)
+0:387          'r4' ( temp 4-component vector of float)
+0:387          vector-times-matrix ( temp 4-component vector of float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4-component vector of float)
+0:387          'r5' ( temp 4-component vector of float)
+0:387          matrix-times-vector ( temp 4-component vector of float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:387            'inFV0' ( in 4-component vector of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4X4 matrix of float)
+0:387          'r6' ( temp 4X4 matrix of float)
+0:387          matrix-scale ( temp 4X4 matrix of float)
+0:387            'inF0' ( in float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4X4 matrix of float)
+0:387          'r7' ( temp 4X4 matrix of float)
+0:387          matrix-scale ( temp 4X4 matrix of float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:387            'inF0' ( in float)
+0:387      Sequence
+0:387        move second child to first child ( temp 4X4 matrix of float)
+0:387          'r8' ( temp 4X4 matrix of float)
+0:387          matrix-multiply ( temp 4X4 matrix of float)
+0:387            'inFM1' ( in 4X4 matrix of float)
+0:387            'inFM0' ( in 4X4 matrix of float)
+0:396  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:396    Function Parameters: 
+0:396      'inF0' ( in float)
+0:396      'inF1' ( in float)
+0:396      'inFV2' ( in 2-component vector of float)
+0:396      'inFV3' ( in 3-component vector of float)
+0:396      'inFM2x3' ( in 2X3 matrix of float)
+0:396      'inFM3x2' ( in 3X2 matrix of float)
+0:396      'inFM3x3' ( in 3X3 matrix of float)
+0:396      'inFM3x4' ( in 3X4 matrix of float)
+0:396      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
+0:397      Sequence
+0:397        move second child to first child ( temp float)
+0:397          'r00' ( temp float)
+0:397          component-wise multiply ( temp float)
+0:397            'inF1' ( in float)
+0:397            'inF0' ( in float)
+0:398      Sequence
+0:398        move second child to first child ( temp 2-component vector of float)
+0:398          'r01' ( temp 2-component vector of float)
+0:398          vector-scale ( temp 2-component vector of float)
+0:398            'inF0' ( in float)
+0:398            'inFV2' ( in 2-component vector of float)
+0:399      Sequence
+0:399        move second child to first child ( temp 3-component vector of float)
+0:399          'r02' ( temp 3-component vector of float)
+0:399          vector-scale ( temp 3-component vector of float)
+0:399            'inF0' ( in float)
+0:399            'inFV3' ( in 3-component vector of float)
+0:400      Sequence
+0:400        move second child to first child ( temp 2-component vector of float)
+0:400          'r03' ( temp 2-component vector of float)
+0:400          vector-scale ( temp 2-component vector of float)
+0:400            'inFV2' ( in 2-component vector of float)
+0:400            'inF0' ( in float)
+0:401      Sequence
+0:401        move second child to first child ( temp 3-component vector of float)
+0:401          'r04' ( temp 3-component vector of float)
+0:401          vector-scale ( temp 3-component vector of float)
+0:401            'inFV3' ( in 3-component vector of float)
+0:401            'inF0' ( in float)
 0:402      Sequence
 0:402        move second child to first child ( temp float)
-0:402          'r00' ( temp float)
-0:402          component-wise multiply ( temp float)
-0:402            'inF1' ( in float)
-0:402            'inF0' ( in float)
+0:402          'r05' ( temp float)
+0:402          dot-product ( temp float)
+0:402            'inFV2' ( in 2-component vector of float)
+0:402            'inFV2' ( in 2-component vector of float)
 0:403      Sequence
-0:403        move second child to first child ( temp 2-component vector of float)
-0:403          'r01' ( temp 2-component vector of float)
-0:403          vector-scale ( temp 2-component vector of float)
-0:403            'inF0' ( in float)
-0:403            'inFV2' ( in 2-component vector of float)
+0:403        move second child to first child ( temp float)
+0:403          'r06' ( temp float)
+0:403          dot-product ( temp float)
+0:403            'inFV3' ( in 3-component vector of float)
+0:403            'inFV3' ( in 3-component vector of float)
 0:404      Sequence
 0:404        move second child to first child ( temp 3-component vector of float)
-0:404          'r02' ( temp 3-component vector of float)
-0:404          vector-scale ( temp 3-component vector of float)
-0:404            'inF0' ( in float)
-0:404            'inFV3' ( in 3-component vector of float)
+0:404          'r07' ( temp 3-component vector of float)
+0:404          matrix-times-vector ( temp 3-component vector of float)
+0:404            'inFM2x3' ( in 2X3 matrix of float)
+0:404            'inFV2' ( in 2-component vector of float)
 0:405      Sequence
 0:405        move second child to first child ( temp 2-component vector of float)
-0:405          'r03' ( temp 2-component vector of float)
-0:405          vector-scale ( temp 2-component vector of float)
-0:405            'inFV2' ( in 2-component vector of float)
-0:405            'inF0' ( in float)
+0:405          'r08' ( temp 2-component vector of float)
+0:405          matrix-times-vector ( temp 2-component vector of float)
+0:405            'inFM3x2' ( in 3X2 matrix of float)
+0:405            'inFV3' ( in 3-component vector of float)
 0:406      Sequence
-0:406        move second child to first child ( temp 3-component vector of float)
-0:406          'r04' ( temp 3-component vector of float)
-0:406          vector-scale ( temp 3-component vector of float)
+0:406        move second child to first child ( temp 2-component vector of float)
+0:406          'r09' ( temp 2-component vector of float)
+0:406          vector-times-matrix ( temp 2-component vector of float)
 0:406            'inFV3' ( in 3-component vector of float)
-0:406            'inF0' ( in float)
+0:406            'inFM2x3' ( in 2X3 matrix of float)
 0:407      Sequence
-0:407        move second child to first child ( temp float)
-0:407          'r05' ( temp float)
-0:407          dot-product ( temp float)
-0:407            'inFV2' ( in 2-component vector of float)
+0:407        move second child to first child ( temp 3-component vector of float)
+0:407          'r10' ( temp 3-component vector of float)
+0:407          vector-times-matrix ( temp 3-component vector of float)
 0:407            'inFV2' ( in 2-component vector of float)
+0:407            'inFM3x2' ( in 3X2 matrix of float)
 0:408      Sequence
-0:408        move second child to first child ( temp float)
-0:408          'r06' ( temp float)
-0:408          dot-product ( temp float)
-0:408            'inFV3' ( in 3-component vector of float)
-0:408            'inFV3' ( in 3-component vector of float)
+0:408        move second child to first child ( temp 2X3 matrix of float)
+0:408          'r11' ( temp 2X3 matrix of float)
+0:408          matrix-scale ( temp 2X3 matrix of float)
+0:408            'inF0' ( in float)
+0:408            'inFM2x3' ( in 2X3 matrix of float)
 0:409      Sequence
-0:409        move second child to first child ( temp 3-component vector of float)
-0:409          'r07' ( temp 3-component vector of float)
-0:409          matrix-times-vector ( temp 3-component vector of float)
-0:409            'inFM2x3' ( in 2X3 matrix of float)
-0:409            'inFV2' ( in 2-component vector of float)
+0:409        move second child to first child ( temp 3X2 matrix of float)
+0:409          'r12' ( temp 3X2 matrix of float)
+0:409          matrix-scale ( temp 3X2 matrix of float)
+0:409            'inF0' ( in float)
+0:409            'inFM3x2' ( in 3X2 matrix of float)
 0:410      Sequence
-0:410        move second child to first child ( temp 2-component vector of float)
-0:410          'r08' ( temp 2-component vector of float)
-0:410          matrix-times-vector ( temp 2-component vector of float)
+0:410        move second child to first child ( temp 2X2 matrix of float)
+0:410          'r13' ( temp 2X2 matrix of float)
+0:410          matrix-multiply ( temp 2X2 matrix of float)
 0:410            'inFM3x2' ( in 3X2 matrix of float)
-0:410            'inFV3' ( in 3-component vector of float)
+0:410            'inFM2x3' ( in 2X3 matrix of float)
 0:411      Sequence
-0:411        move second child to first child ( temp 2-component vector of float)
-0:411          'r09' ( temp 2-component vector of float)
-0:411          vector-times-matrix ( temp 2-component vector of float)
-0:411            'inFV3' ( in 3-component vector of float)
+0:411        move second child to first child ( temp 2X3 matrix of float)
+0:411          'r14' ( temp 2X3 matrix of float)
+0:411          matrix-multiply ( temp 2X3 matrix of float)
+0:411            'inFM3x3' ( in 3X3 matrix of float)
 0:411            'inFM2x3' ( in 2X3 matrix of float)
 0:412      Sequence
-0:412        move second child to first child ( temp 3-component vector of float)
-0:412          'r10' ( temp 3-component vector of float)
-0:412          vector-times-matrix ( temp 3-component vector of float)
-0:412            'inFV2' ( in 2-component vector of float)
-0:412            'inFM3x2' ( in 3X2 matrix of float)
+0:412        move second child to first child ( temp 2X4 matrix of float)
+0:412          'r15' ( temp 2X4 matrix of float)
+0:412          matrix-multiply ( temp 2X4 matrix of float)
+0:412            'inFM3x4' ( in 3X4 matrix of float)
+0:412            'inFM2x3' ( in 2X3 matrix of float)
 0:413      Sequence
-0:413        move second child to first child ( temp 2X3 matrix of float)
-0:413          'r11' ( temp 2X3 matrix of float)
-0:413          matrix-scale ( temp 2X3 matrix of float)
-0:413            'inF0' ( in float)
-0:413            'inFM2x3' ( in 2X3 matrix of float)
-0:414      Sequence
-0:414        move second child to first child ( temp 3X2 matrix of float)
-0:414          'r12' ( temp 3X2 matrix of float)
-0:414          matrix-scale ( temp 3X2 matrix of float)
-0:414            'inF0' ( in float)
-0:414            'inFM3x2' ( in 3X2 matrix of float)
-0:415      Sequence
-0:415        move second child to first child ( temp 2X2 matrix of float)
-0:415          'r13' ( temp 2X2 matrix of float)
-0:415          matrix-multiply ( temp 2X2 matrix of float)
-0:415            'inFM3x2' ( in 3X2 matrix of float)
-0:415            'inFM2x3' ( in 2X3 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 2X3 matrix of float)
-0:416          'r14' ( temp 2X3 matrix of float)
-0:416          matrix-multiply ( temp 2X3 matrix of float)
-0:416            'inFM3x3' ( in 3X3 matrix of float)
-0:416            'inFM2x3' ( in 2X3 matrix of float)
-0:417      Sequence
-0:417        move second child to first child ( temp 2X4 matrix of float)
-0:417          'r15' ( temp 2X4 matrix of float)
-0:417          matrix-multiply ( temp 2X4 matrix of float)
-0:417            'inFM3x4' ( in 3X4 matrix of float)
-0:417            'inFM2x3' ( in 2X3 matrix of float)
-0:418      Sequence
-0:418        move second child to first child ( temp 3X4 matrix of float)
-0:418          'r16' ( temp 3X4 matrix of float)
-0:418          matrix-multiply ( temp 3X4 matrix of float)
-0:418            'inFM2x4' ( in 2X4 matrix of float)
-0:418            'inFM3x2' ( in 3X2 matrix of float)
+0:413        move second child to first child ( temp 3X4 matrix of float)
+0:413          'r16' ( temp 3X4 matrix of float)
+0:413          matrix-multiply ( temp 3X4 matrix of float)
+0:413            'inFM2x4' ( in 2X4 matrix of float)
+0:413            'inFM3x2' ( in 3X2 matrix of float)
 0:?   Linker Objects
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 1240
+// Id's are bound by 1205
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
@@ -2872,57 +2830,50 @@ Shader version: 450
                               Name 126  "inFM3x3"
                               Name 127  "inFM3x4"
                               Name 128  "inFM2x4"
-                              Name 182  "ResType"
-                              Name 316  "ResType"
-                              Name 464  "ResType"
-                              Name 620  "ResType"
-                              Name 753  "ResType"
-                              Name 873  "ResType"
-                              Name 996  "ResType"
-                              Name 1064  "r0"
-                              Name 1068  "r1"
-                              Name 1072  "r2"
-                              Name 1076  "r3"
-                              Name 1080  "r4"
-                              Name 1084  "r5"
-                              Name 1088  "r6"
-                              Name 1092  "r7"
-                              Name 1096  "r8"
-                              Name 1100  "r0"
-                              Name 1104  "r1"
-                              Name 1108  "r2"
-                              Name 1112  "r3"
-                              Name 1116  "r4"
-                              Name 1120  "r5"
-                              Name 1124  "r6"
-                              Name 1128  "r7"
-                              Name 1132  "r8"
-                              Name 1136  "r0"
-                              Name 1140  "r1"
-                              Name 1144  "r2"
-                              Name 1148  "r3"
-                              Name 1152  "r4"
-                              Name 1156  "r5"
-                              Name 1160  "r6"
-                              Name 1164  "r7"
-                              Name 1168  "r8"
-                              Name 1172  "r00"
-                              Name 1176  "r01"
-                              Name 1180  "r02"
-                              Name 1184  "r03"
-                              Name 1188  "r04"
-                              Name 1192  "r05"
-                              Name 1196  "r06"
-                              Name 1200  "r07"
-                              Name 1204  "r08"
-                              Name 1208  "r09"
-                              Name 1212  "r10"
-                              Name 1216  "r11"
-                              Name 1220  "r12"
-                              Name 1224  "r13"
-                              Name 1228  "r14"
-                              Name 1232  "r15"
-                              Name 1236  "r16"
+                              Name 1029  "r0"
+                              Name 1033  "r1"
+                              Name 1037  "r2"
+                              Name 1041  "r3"
+                              Name 1045  "r4"
+                              Name 1049  "r5"
+                              Name 1053  "r6"
+                              Name 1057  "r7"
+                              Name 1061  "r8"
+                              Name 1065  "r0"
+                              Name 1069  "r1"
+                              Name 1073  "r2"
+                              Name 1077  "r3"
+                              Name 1081  "r4"
+                              Name 1085  "r5"
+                              Name 1089  "r6"
+                              Name 1093  "r7"
+                              Name 1097  "r8"
+                              Name 1101  "r0"
+                              Name 1105  "r1"
+                              Name 1109  "r2"
+                              Name 1113  "r3"
+                              Name 1117  "r4"
+                              Name 1121  "r5"
+                              Name 1125  "r6"
+                              Name 1129  "r7"
+                              Name 1133  "r8"
+                              Name 1137  "r00"
+                              Name 1141  "r01"
+                              Name 1145  "r02"
+                              Name 1149  "r03"
+                              Name 1153  "r04"
+                              Name 1157  "r05"
+                              Name 1161  "r06"
+                              Name 1165  "r07"
+                              Name 1169  "r08"
+                              Name 1173  "r09"
+                              Name 1177  "r10"
+                              Name 1181  "r11"
+                              Name 1185  "r12"
+                              Name 1189  "r13"
+                              Name 1193  "r14"
+                              Name 1197  "r15"
+                              Name 1201  "r16"
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -2970,48 +2921,41 @@ Shader version: 450
              132:             TypeBool
              143:             TypeInt 32 1
              164:    143(int) Constant 7
-    182(ResType):             TypeStruct 6(float) 143(int)
-             201:    6(float) Constant 1050288283
-             216:    143(int) Constant 2
-             223:    6(float) Constant 0
-             224:    6(float) Constant 1065353216
-             266:             TypeVector 143(int) 2
-             287:    143(int) Constant 3
-             288:  266(ivec2) ConstantComposite 164 287
-    316(ResType):             TypeStruct 24(fvec2) 266(ivec2)
-             321:             TypeVector 132(bool) 2
-             359:    6(float) Constant 1073741824
-             361:    143(int) Constant 1
-             362:  266(ivec2) ConstantComposite 361 216
-             397:   24(fvec2) ConstantComposite 224 359
-             411:             TypeVector 143(int) 3
-             432:    143(int) Constant 5
-             433:  411(ivec3) ConstantComposite 164 287 432
-    464(ResType):             TypeStruct 36(fvec3) 411(ivec3)
-             469:             TypeVector 132(bool) 3
-             508:  411(ivec3) ConstantComposite 361 216 287
-             543:    6(float) Constant 1077936128
-             544:   36(fvec3) ConstantComposite 224 359 543
-             558:             TypeVector 143(int) 4
-             579:  558(ivec4) ConstantComposite 164 287 432 216
-             589:      8(int) Constant 1
-             595:      8(int) Constant 2
-             598:      8(int) Constant 3
-    620(ResType):             TypeStruct 48(fvec4) 558(ivec4)
-             625:             TypeVector 132(bool) 4
-             664:    143(int) Constant 4
-             665:  558(ivec4) ConstantComposite 361 216 287 664
-             700:    6(float) Constant 1082130432
-             701:   48(fvec4) ConstantComposite 224 359 543 700
-    753(ResType):             TypeStruct 60 266(ivec2)
-             817:   24(fvec2) ConstantComposite 359 359
-             818:          60 ConstantComposite 817 817
-    873(ResType):             TypeStruct 68 411(ivec3)
-             937:   36(fvec3) ConstantComposite 543 543 543
-             938:          68 ConstantComposite 937 937 937
-    996(ResType):             TypeStruct 76 558(ivec4)
-            1060:   48(fvec4) ConstantComposite 700 700 700 700
-            1061:          76 ConstantComposite 1060 1060 1060 1060
+             196:    6(float) Constant 1050288283
+             211:    143(int) Constant 2
+             218:    6(float) Constant 0
+             219:    6(float) Constant 1065353216
+             261:             TypeVector 143(int) 2
+             282:    143(int) Constant 3
+             283:  261(ivec2) ConstantComposite 164 282
+             311:             TypeVector 132(bool) 2
+             349:    6(float) Constant 1073741824
+             351:    143(int) Constant 1
+             352:  261(ivec2) ConstantComposite 351 211
+             387:   24(fvec2) ConstantComposite 219 349
+             401:             TypeVector 143(int) 3
+             422:    143(int) Constant 5
+             423:  401(ivec3) ConstantComposite 164 282 422
+             454:             TypeVector 132(bool) 3
+             493:  401(ivec3) ConstantComposite 351 211 282
+             528:    6(float) Constant 1077936128
+             529:   36(fvec3) ConstantComposite 219 349 528
+             543:             TypeVector 143(int) 4
+             564:  543(ivec4) ConstantComposite 164 282 422 211
+             574:      8(int) Constant 1
+             580:      8(int) Constant 2
+             583:      8(int) Constant 3
+             605:             TypeVector 132(bool) 4
+             644:    143(int) Constant 4
+             645:  543(ivec4) ConstantComposite 351 211 282 644
+             680:    6(float) Constant 1082130432
+             681:   48(fvec4) ConstantComposite 219 349 528 680
+             792:   24(fvec2) ConstantComposite 349 349
+             793:          60 ConstantComposite 792 792
+             907:   36(fvec3) ConstantComposite 528 528 528
+             908:          68 ConstantComposite 907 907 907
+            1025:   48(fvec4) ConstantComposite 680 680 680 680
+            1026:          76 ConstantComposite 1025 1025 1025 1025
 4(VertexShaderFunction):           2 Function None 3
                5:             Label
                               Return
@@ -3071,81 +3015,76 @@ Shader version: 450
              179:    6(float) Load 11(inF0)
              180:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 179
              181:    6(float) Load 11(inF0)
-             183:182(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 181
-             184:    143(int) CompositeExtract 183 1
-                              Store 12(inF1) 184
-             185:    6(float) CompositeExtract 183 0
-             186:    6(float) Load 11(inF0)
-             187:   132(bool) IsInf 186
+             182:   132(bool) IsInf 181
+             183:    6(float) Load 11(inF0)
+             184:   132(bool) IsNan 183
+             185:    6(float) Load 11(inF0)
+             186:    6(float) Load 12(inF1)
+             187:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 185 186
              188:    6(float) Load 11(inF0)
-             189:   132(bool) IsNan 188
-             190:    6(float) Load 11(inF0)
-             191:    6(float) Load 12(inF1)
-             192:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 190 191
-             193:    6(float) Load 11(inF0)
-             194:    6(float) Load 12(inF1)
-             195:    6(float) Load 13(inF2)
-             196:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 193 194 195
-             197:    6(float) Load 11(inF0)
-             198:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 197
-             199:    6(float) Load 11(inF0)
-             200:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 199
-             202:    6(float) FMul 200 201
+             189:    6(float) Load 12(inF1)
+             190:    6(float) Load 13(inF2)
+             191:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 188 189 190
+             192:    6(float) Load 11(inF0)
+             193:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 192
+             194:    6(float) Load 11(inF0)
+             195:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 194
+             197:    6(float) FMul 195 196
+             198:    6(float) Load 11(inF0)
+             199:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 198
+             200:    6(float) Load 11(inF0)
+             201:    6(float) Load 12(inF1)
+             202:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 200 201
              203:    6(float) Load 11(inF0)
-             204:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 203
-             205:    6(float) Load 11(inF0)
-             206:    6(float) Load 12(inF1)
-             207:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 205 206
-             208:    6(float) Load 11(inF0)
-             209:    6(float) Load 12(inF1)
-             210:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 208 209
-             211:    6(float) Load 11(inF0)
-             212:    6(float) Load 12(inF1)
-             213:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 211 212
-             214:    6(float) Load 11(inF0)
-             215:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 214
-             217:    143(int) BitReverse 216
-             218:    6(float) Load 11(inF0)
-             219:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 218
-             220:    6(float) Load 11(inF0)
-             221:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 220
-             222:    6(float) Load 11(inF0)
-             225:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 222 223 224
-             226:    6(float) Load 11(inF0)
-             227:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 226
-             228:    6(float) Load 11(inF0)
-             229:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 228
-             230:    6(float) Load 11(inF0)
-             231:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 230
-                              Store 12(inF1) 231
-             232:    6(float) Load 11(inF0)
-             233:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 232
-                              Store 13(inF2) 233
-             234:    6(float) Load 11(inF0)
-             235:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 234
-             236:    6(float) Load 11(inF0)
-             237:    6(float) Load 12(inF1)
-             238:    6(float) Load 13(inF2)
-             239:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 236 237 238
+             204:    6(float) Load 12(inF1)
+             205:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 203 204
+             206:    6(float) Load 11(inF0)
+             207:    6(float) Load 12(inF1)
+             208:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 206 207
+             209:    6(float) Load 11(inF0)
+             210:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 209
+             212:    143(int) BitReverse 211
+             213:    6(float) Load 11(inF0)
+             214:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 213
+             215:    6(float) Load 11(inF0)
+             216:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 215
+             217:    6(float) Load 11(inF0)
+             220:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 217 218 219
+             221:    6(float) Load 11(inF0)
+             222:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 221
+             223:    6(float) Load 11(inF0)
+             224:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 223
+             225:    6(float) Load 11(inF0)
+             226:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 225
+                              Store 12(inF1) 226
+             227:    6(float) Load 11(inF0)
+             228:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 227
+                              Store 13(inF2) 228
+             229:    6(float) Load 11(inF0)
+             230:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 229
+             231:    6(float) Load 11(inF0)
+             232:    6(float) Load 12(inF1)
+             233:    6(float) Load 13(inF2)
+             234:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 231 232 233
+             235:    6(float) Load 11(inF0)
+             236:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 235
+             237:    6(float) Load 11(inF0)
+             238:    6(float) Load 12(inF1)
+             239:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 237 238
              240:    6(float) Load 11(inF0)
-             241:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 240
+             241:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 240
              242:    6(float) Load 11(inF0)
-             243:    6(float) Load 12(inF1)
-             244:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 242 243
-             245:    6(float) Load 11(inF0)
-             246:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 245
-             247:    6(float) Load 11(inF0)
-             248:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 247
-             249:    6(float) Load 11(inF0)
-             250:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 249
-                              ReturnValue 223
+             243:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 242
+             244:    6(float) Load 11(inF0)
+             245:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 244
+                              ReturnValue 218
                               FunctionEnd
 22(VertexShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
         19(inF0):      7(ptr) FunctionParameter
         20(inF1):      7(ptr) FunctionParameter
         21(inF2):      7(ptr) FunctionParameter
               23:             Label
-                              ReturnValue 223
+                              ReturnValue 218
                               FunctionEnd
 34(VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2;):   24(fvec2) Function None 28
         29(inF0):     25(ptr) FunctionParameter
@@ -3154,144 +3093,139 @@ Shader version: 450
         32(inU0):     27(ptr) FunctionParameter
         33(inU1):     27(ptr) FunctionParameter
               35:             Label
-             255:   24(fvec2) Load 29(inF0)
-             256:   132(bool) All 255
-             257:   24(fvec2) Load 29(inF0)
-             258:   24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 257
-             259:   24(fvec2) Load 29(inF0)
-             260:   24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 259
-             261:   24(fvec2) Load 29(inF0)
-             262:   132(bool) Any 261
+             250:   24(fvec2) Load 29(inF0)
+             251:   132(bool) All 250
+             252:   24(fvec2) Load 29(inF0)
+             253:   24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 252
+             254:   24(fvec2) Load 29(inF0)
+             255:   24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 254
+             256:   24(fvec2) Load 29(inF0)
+             257:   132(bool) Any 256
+             258:   24(fvec2) Load 29(inF0)
+             259:   24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 258
+             260:   24(fvec2) Load 29(inF0)
+             262:  261(ivec2) Bitcast 260
              263:   24(fvec2) Load 29(inF0)
-             264:   24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 263
-             265:   24(fvec2) Load 29(inF0)
-             267:  266(ivec2) Bitcast 265
-             268:   24(fvec2) Load 29(inF0)
-             269:   26(ivec2) Bitcast 268
-             270:   26(ivec2) Load 32(inU0)
-             271:   24(fvec2) Bitcast 270
+             264:   26(ivec2) Bitcast 263
+             265:   26(ivec2) Load 32(inU0)
+             266:   24(fvec2) Bitcast 265
+             267:   24(fvec2) Load 29(inF0)
+             268:   24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 267
+             269:   24(fvec2) Load 29(inF0)
+             270:   24(fvec2) Load 30(inF1)
+             271:   24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 269 270
              272:   24(fvec2) Load 29(inF0)
-             273:   24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 272
+             273:   24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 272
              274:   24(fvec2) Load 29(inF0)
              275:   24(fvec2) Load 30(inF1)
-             276:   24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 274 275
-             277:   24(fvec2) Load 29(inF0)
-             278:   24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 277
-             279:   24(fvec2) Load 29(inF0)
-             280:   24(fvec2) Load 30(inF1)
-             281:   24(fvec2) Load 31(inF2)
-             282:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 279 280 281
-             283:   24(fvec2) Load 29(inF0)
-             284:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 283
+             276:   24(fvec2) Load 31(inF2)
+             277:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 274 275 276
+             278:   24(fvec2) Load 29(inF0)
+             279:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 278
+             280:   24(fvec2) Load 29(inF0)
+             281:   24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 280
+             284:  261(ivec2) BitCount 283
              285:   24(fvec2) Load 29(inF0)
-             286:   24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 285
-             289:  266(ivec2) BitCount 288
+             286:   24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 285
+             287:   24(fvec2) Load 29(inF0)
+             288:   24(fvec2) Load 30(inF1)
+             289:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 287 288
              290:   24(fvec2) Load 29(inF0)
-             291:   24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 290
-             292:   24(fvec2) Load 29(inF0)
-             293:   24(fvec2) Load 30(inF1)
-             294:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 292 293
+             291:   24(fvec2) Load 30(inF1)
+             292:    6(float) Dot 290 291
+             293:   24(fvec2) Load 29(inF0)
+             294:   24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 293
              295:   24(fvec2) Load 29(inF0)
-             296:   24(fvec2) Load 30(inF1)
-             297:    6(float) Dot 295 296
-             298:   24(fvec2) Load 29(inF0)
-             299:   24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 298
-             300:   24(fvec2) Load 29(inF0)
-             301:   24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 300
-             302:   24(fvec2) Load 29(inF0)
-             303:   24(fvec2) Load 30(inF1)
-             304:   24(fvec2) Load 31(inF2)
-             305:   24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 302 303 304
-             306:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
-             307:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
+             296:   24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 295
+             297:   24(fvec2) Load 29(inF0)
+             298:   24(fvec2) Load 30(inF1)
+             299:   24(fvec2) Load 31(inF2)
+             300:   24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 297 298 299
+             301:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
+             302:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
+             303:   24(fvec2) Load 29(inF0)
+             304:   24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 303
+             305:   24(fvec2) Load 29(inF0)
+             306:   24(fvec2) Load 30(inF1)
+             307:   24(fvec2) FMod 305 306
              308:   24(fvec2) Load 29(inF0)
-             309:   24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 308
+             309:   24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 308
              310:   24(fvec2) Load 29(inF0)
-             311:   24(fvec2) Load 30(inF1)
-             312:   24(fvec2) FMod 310 311
+             312:  311(bvec2) IsInf 310
              313:   24(fvec2) Load 29(inF0)
-             314:   24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 313
+             314:  311(bvec2) IsNan 313
              315:   24(fvec2) Load 29(inF0)
-             317:316(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 315
-             318:  266(ivec2) CompositeExtract 317 1
-                              Store 30(inF1) 318
-             319:   24(fvec2) CompositeExtract 317 0
-             320:   24(fvec2) Load 29(inF0)
-             322:  321(bvec2) IsInf 320
-             323:   24(fvec2) Load 29(inF0)
-             324:  321(bvec2) IsNan 323
-             325:   24(fvec2) Load 29(inF0)
-             326:   24(fvec2) Load 30(inF1)
-             327:   24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 325 326
-             328:   24(fvec2) Load 29(inF0)
-             329:   24(fvec2) Load 30(inF1)
-             330:   24(fvec2) Load 31(inF2)
-             331:   24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 328 329 330
-             332:   24(fvec2) Load 29(inF0)
-             333:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 332
+             316:   24(fvec2) Load 30(inF1)
+             317:   24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 315 316
+             318:   24(fvec2) Load 29(inF0)
+             319:   24(fvec2) Load 30(inF1)
+             320:   24(fvec2) Load 31(inF2)
+             321:   24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 318 319 320
+             322:   24(fvec2) Load 29(inF0)
+             323:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 322
+             324:   24(fvec2) Load 29(inF0)
+             325:   24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 324
+             326:   24(fvec2) Load 29(inF0)
+             327:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 326
+             328:   24(fvec2) VectorTimesScalar 327 196
+             329:   24(fvec2) Load 29(inF0)
+             330:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 329
+             331:   24(fvec2) Load 29(inF0)
+             332:   24(fvec2) Load 30(inF1)
+             333:   24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 331 332
              334:   24(fvec2) Load 29(inF0)
-             335:   24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 334
-             336:   24(fvec2) Load 29(inF0)
-             337:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 336
-             338:   24(fvec2) VectorTimesScalar 337 201
+             335:   24(fvec2) Load 30(inF1)
+             336:   24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 334 335
+             337:   24(fvec2) Load 29(inF0)
+             338:   24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 337
              339:   24(fvec2) Load 29(inF0)
-             340:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 339
-             341:   24(fvec2) Load 29(inF0)
-             342:   24(fvec2) Load 30(inF1)
-             343:   24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 341 342
+             340:   24(fvec2) Load 30(inF1)
+             341:   24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 339 340
+             342:   24(fvec2) Load 29(inF0)
+             343:   24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 342
              344:   24(fvec2) Load 29(inF0)
              345:   24(fvec2) Load 30(inF1)
-             346:   24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 344 345
+             346:   24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 344 345
              347:   24(fvec2) Load 29(inF0)
-             348:   24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 347
-             349:   24(fvec2) Load 29(inF0)
-             350:   24(fvec2) Load 30(inF1)
-             351:   24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 349 350
-             352:   24(fvec2) Load 29(inF0)
-             353:   24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 352
+             348:   24(fvec2) Load 30(inF1)
+             350:   24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 347 348 349
+             353:  261(ivec2) BitReverse 352
              354:   24(fvec2) Load 29(inF0)
-             355:   24(fvec2) Load 30(inF1)
-             356:   24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 354 355
-             357:   24(fvec2) Load 29(inF0)
-             358:   24(fvec2) Load 30(inF1)
-             360:   24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 357 358 359
-             363:  266(ivec2) BitReverse 362
+             355:   24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 354
+             356:   24(fvec2) Load 29(inF0)
+             357:   24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 356
+             358:   24(fvec2) Load 29(inF0)
+             359:   24(fvec2) CompositeConstruct 218 218
+             360:   24(fvec2) CompositeConstruct 219 219
+             361:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 358 359 360
+             362:   24(fvec2) Load 29(inF0)
+             363:   24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 362
              364:   24(fvec2) Load 29(inF0)
-             365:   24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 364
+             365:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 364
              366:   24(fvec2) Load 29(inF0)
-             367:   24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 366
+             367:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 366
+                              Store 30(inF1) 367
              368:   24(fvec2) Load 29(inF0)
-             369:   24(fvec2) CompositeConstruct 223 223
-             370:   24(fvec2) CompositeConstruct 224 224
-             371:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 368 369 370
+             369:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 368
+                              Store 31(inF2) 369
+             370:   24(fvec2) Load 29(inF0)
+             371:   24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 370
              372:   24(fvec2) Load 29(inF0)
-             373:   24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 372
-             374:   24(fvec2) Load 29(inF0)
-             375:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 374
+             373:   24(fvec2) Load 30(inF1)
+             374:   24(fvec2) Load 31(inF2)
+             375:   24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 372 373 374
              376:   24(fvec2) Load 29(inF0)
-             377:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 376
-                              Store 30(inF1) 377
+             377:   24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 376
              378:   24(fvec2) Load 29(inF0)
-             379:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 378
-                              Store 31(inF2) 379
-             380:   24(fvec2) Load 29(inF0)
-             381:   24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 380
-             382:   24(fvec2) Load 29(inF0)
-             383:   24(fvec2) Load 30(inF1)
-             384:   24(fvec2) Load 31(inF2)
-             385:   24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 382 383 384
-             386:   24(fvec2) Load 29(inF0)
-             387:   24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 386
-             388:   24(fvec2) Load 29(inF0)
-             389:   24(fvec2) Load 30(inF1)
-             390:   24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 388 389
-             391:   24(fvec2) Load 29(inF0)
-             392:   24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 391
-             393:   24(fvec2) Load 29(inF0)
-             394:   24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 393
-             395:   24(fvec2) Load 29(inF0)
-             396:   24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 395
-                              ReturnValue 397
+             379:   24(fvec2) Load 30(inF1)
+             380:   24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 378 379
+             381:   24(fvec2) Load 29(inF0)
+             382:   24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 381
+             383:   24(fvec2) Load 29(inF0)
+             384:   24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 383
+             385:   24(fvec2) Load 29(inF0)
+             386:   24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 385
+                              ReturnValue 387
                               FunctionEnd
 46(VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
         41(inF0):     37(ptr) FunctionParameter
@@ -3300,147 +3234,142 @@ Shader version: 450
         44(inU0):     39(ptr) FunctionParameter
         45(inU1):     39(ptr) FunctionParameter
               47:             Label
+             390:   36(fvec3) Load 41(inF0)
+             391:   132(bool) All 390
+             392:   36(fvec3) Load 41(inF0)
+             393:   36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 392
+             394:   36(fvec3) Load 41(inF0)
+             395:   36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 394
+             396:   36(fvec3) Load 41(inF0)
+             397:   132(bool) Any 396
+             398:   36(fvec3) Load 41(inF0)
+             399:   36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 398
              400:   36(fvec3) Load 41(inF0)
-             401:   132(bool) All 400
-             402:   36(fvec3) Load 41(inF0)
-             403:   36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 402
-             404:   36(fvec3) Load 41(inF0)
-             405:   36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 404
-             406:   36(fvec3) Load 41(inF0)
-             407:   132(bool) Any 406
-             408:   36(fvec3) Load 41(inF0)
-             409:   36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 408
-             410:   36(fvec3) Load 41(inF0)
-             412:  411(ivec3) Bitcast 410
-             413:   36(fvec3) Load 41(inF0)
-             414:   38(ivec3) Bitcast 413
-             415:   38(ivec3) Load 44(inU0)
-             416:   36(fvec3) Bitcast 415
-             417:   36(fvec3) Load 41(inF0)
-             418:   36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 417
-             419:   36(fvec3) Load 41(inF0)
-             420:   36(fvec3) Load 42(inF1)
-             421:   36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 419 420
-             422:   36(fvec3) Load 41(inF0)
-             423:   36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 422
-             424:   36(fvec3) Load 41(inF0)
-             425:   36(fvec3) Load 42(inF1)
-             426:   36(fvec3) Load 43(inF2)
-             427:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 424 425 426
+             402:  401(ivec3) Bitcast 400
+             403:   36(fvec3) Load 41(inF0)
+             404:   38(ivec3) Bitcast 403
+             405:   38(ivec3) Load 44(inU0)
+             406:   36(fvec3) Bitcast 405
+             407:   36(fvec3) Load 41(inF0)
+             408:   36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 407
+             409:   36(fvec3) Load 41(inF0)
+             410:   36(fvec3) Load 42(inF1)
+             411:   36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 409 410
+             412:   36(fvec3) Load 41(inF0)
+             413:   36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 412
+             414:   36(fvec3) Load 41(inF0)
+             415:   36(fvec3) Load 42(inF1)
+             416:   36(fvec3) Load 43(inF2)
+             417:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 414 415 416
+             418:   36(fvec3) Load 41(inF0)
+             419:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 418
+             420:   36(fvec3) Load 41(inF0)
+             421:   36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 420
+             424:  401(ivec3) BitCount 423
+             425:   36(fvec3) Load 41(inF0)
+             426:   36(fvec3) Load 42(inF1)
+             427:   36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 425 426
              428:   36(fvec3) Load 41(inF0)
-             429:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 428
+             429:   36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 428
              430:   36(fvec3) Load 41(inF0)
-             431:   36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 430
-             434:  411(ivec3) BitCount 433
-             435:   36(fvec3) Load 41(inF0)
-             436:   36(fvec3) Load 42(inF1)
-             437:   36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 435 436
+             431:   36(fvec3) Load 42(inF1)
+             432:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 430 431
+             433:   36(fvec3) Load 41(inF0)
+             434:   36(fvec3) Load 42(inF1)
+             435:    6(float) Dot 433 434
+             436:   36(fvec3) Load 41(inF0)
+             437:   36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 436
              438:   36(fvec3) Load 41(inF0)
-             439:   36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 438
+             439:   36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 438
              440:   36(fvec3) Load 41(inF0)
              441:   36(fvec3) Load 42(inF1)
-             442:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 440 441
-             443:   36(fvec3) Load 41(inF0)
-             444:   36(fvec3) Load 42(inF1)
-             445:    6(float) Dot 443 444
+             442:   36(fvec3) Load 43(inF2)
+             443:   36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 440 441 442
+             444:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
+             445:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
              446:   36(fvec3) Load 41(inF0)
-             447:   36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 446
+             447:   36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 446
              448:   36(fvec3) Load 41(inF0)
-             449:   36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 448
-             450:   36(fvec3) Load 41(inF0)
-             451:   36(fvec3) Load 42(inF1)
-             452:   36(fvec3) Load 43(inF2)
-             453:   36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 450 451 452
-             454:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
-             455:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
+             449:   36(fvec3) Load 42(inF1)
+             450:   36(fvec3) FMod 448 449
+             451:   36(fvec3) Load 41(inF0)
+             452:   36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 451
+             453:   36(fvec3) Load 41(inF0)
+             455:  454(bvec3) IsInf 453
              456:   36(fvec3) Load 41(inF0)
-             457:   36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 456
+             457:  454(bvec3) IsNan 456
              458:   36(fvec3) Load 41(inF0)
              459:   36(fvec3) Load 42(inF1)
-             460:   36(fvec3) FMod 458 459
+             460:   36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 458 459
              461:   36(fvec3) Load 41(inF0)
-             462:   36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 461
-             463:   36(fvec3) Load 41(inF0)
-             465:464(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 463
-             466:  411(ivec3) CompositeExtract 465 1
-                              Store 42(inF1) 466
-             467:   36(fvec3) CompositeExtract 465 0
-             468:   36(fvec3) Load 41(inF0)
-             470:  469(bvec3) IsInf 468
-             471:   36(fvec3) Load 41(inF0)
-             472:  469(bvec3) IsNan 471
-             473:   36(fvec3) Load 41(inF0)
-             474:   36(fvec3) Load 42(inF1)
-             475:   36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 473 474
-             476:   36(fvec3) Load 41(inF0)
-             477:   36(fvec3) Load 42(inF1)
-             478:   36(fvec3) Load 43(inF2)
-             479:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 476 477 478
+             462:   36(fvec3) Load 42(inF1)
+             463:   36(fvec3) Load 43(inF2)
+             464:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 461 462 463
+             465:   36(fvec3) Load 41(inF0)
+             466:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 465
+             467:   36(fvec3) Load 41(inF0)
+             468:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 467
+             469:   36(fvec3) Load 41(inF0)
+             470:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 469
+             471:   36(fvec3) VectorTimesScalar 470 196
+             472:   36(fvec3) Load 41(inF0)
+             473:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 472
+             474:   36(fvec3) Load 41(inF0)
+             475:   36(fvec3) Load 42(inF1)
+             476:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 474 475
+             477:   36(fvec3) Load 41(inF0)
+             478:   36(fvec3) Load 42(inF1)
+             479:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 477 478
              480:   36(fvec3) Load 41(inF0)
-             481:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 480
+             481:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 480
              482:   36(fvec3) Load 41(inF0)
-             483:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 482
-             484:   36(fvec3) Load 41(inF0)
-             485:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 484
-             486:   36(fvec3) VectorTimesScalar 485 201
+             483:   36(fvec3) Load 42(inF1)
+             484:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 482 483
+             485:   36(fvec3) Load 41(inF0)
+             486:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 485
              487:   36(fvec3) Load 41(inF0)
-             488:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 487
-             489:   36(fvec3) Load 41(inF0)
-             490:   36(fvec3) Load 42(inF1)
-             491:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 489 490
-             492:   36(fvec3) Load 41(inF0)
-             493:   36(fvec3) Load 42(inF1)
-             494:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 492 493
+             488:   36(fvec3) Load 42(inF1)
+             489:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 487 488
+             490:   36(fvec3) Load 41(inF0)
+             491:   36(fvec3) Load 42(inF1)
+             492:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 490 491 349
+             494:  401(ivec3) BitReverse 493
              495:   36(fvec3) Load 41(inF0)
-             496:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 495
+             496:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 495
              497:   36(fvec3) Load 41(inF0)
-             498:   36(fvec3) Load 42(inF1)
-             499:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 497 498
-             500:   36(fvec3) Load 41(inF0)
-             501:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 500
-             502:   36(fvec3) Load 41(inF0)
-             503:   36(fvec3) Load 42(inF1)
-             504:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 502 503
+             498:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 497
+             499:   36(fvec3) Load 41(inF0)
+             500:   36(fvec3) CompositeConstruct 218 218 218
+             501:   36(fvec3) CompositeConstruct 219 219 219
+             502:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 499 500 501
+             503:   36(fvec3) Load 41(inF0)
+             504:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 503
              505:   36(fvec3) Load 41(inF0)
-             506:   36(fvec3) Load 42(inF1)
-             507:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 505 506 359
-             509:  411(ivec3) BitReverse 508
-             510:   36(fvec3) Load 41(inF0)
-             511:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 510
-             512:   36(fvec3) Load 41(inF0)
-             513:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 512
-             514:   36(fvec3) Load 41(inF0)
-             515:   36(fvec3) CompositeConstruct 223 223 223
-             516:   36(fvec3) CompositeConstruct 224 224 224
-             517:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 514 515 516
-             518:   36(fvec3) Load 41(inF0)
-             519:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 518
-             520:   36(fvec3) Load 41(inF0)
-             521:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 520
+             506:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 505
+             507:   36(fvec3) Load 41(inF0)
+             508:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 507
+                              Store 42(inF1) 508
+             509:   36(fvec3) Load 41(inF0)
+             510:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 509
+                              Store 43(inF2) 510
+             511:   36(fvec3) Load 41(inF0)
+             512:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 511
+             513:   36(fvec3) Load 41(inF0)
+             514:   36(fvec3) Load 42(inF1)
+             515:   36(fvec3) Load 43(inF2)
+             516:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 513 514 515
+             517:   36(fvec3) Load 41(inF0)
+             518:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 517
+             519:   36(fvec3) Load 41(inF0)
+             520:   36(fvec3) Load 42(inF1)
+             521:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 519 520
              522:   36(fvec3) Load 41(inF0)
-             523:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 522
-                              Store 42(inF1) 523
+             523:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 522
              524:   36(fvec3) Load 41(inF0)
-             525:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 524
-                              Store 43(inF2) 525
+             525:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 524
              526:   36(fvec3) Load 41(inF0)
-             527:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 526
-             528:   36(fvec3) Load 41(inF0)
-             529:   36(fvec3) Load 42(inF1)
-             530:   36(fvec3) Load 43(inF2)
-             531:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 528 529 530
-             532:   36(fvec3) Load 41(inF0)
-             533:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 532
-             534:   36(fvec3) Load 41(inF0)
-             535:   36(fvec3) Load 42(inF1)
-             536:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 534 535
-             537:   36(fvec3) Load 41(inF0)
-             538:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 537
-             539:   36(fvec3) Load 41(inF0)
-             540:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 539
-             541:   36(fvec3) Load 41(inF0)
-             542:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 541
-                              ReturnValue 544
+             527:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 526
+                              ReturnValue 529
                               FunctionEnd
 58(VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4;):   48(fvec4) Function None 52
         53(inF0):     49(ptr) FunctionParameter
@@ -3449,529 +3378,509 @@ Shader version: 450
         56(inU0):     51(ptr) FunctionParameter
         57(inU1):     51(ptr) FunctionParameter
               59:             Label
-             547:   48(fvec4) Load 53(inF0)
-             548:   132(bool) All 547
+             532:   48(fvec4) Load 53(inF0)
+             533:   132(bool) All 532
+             534:   48(fvec4) Load 53(inF0)
+             535:   48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 534
+             536:   48(fvec4) Load 53(inF0)
+             537:   48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 536
+             538:   48(fvec4) Load 53(inF0)
+             539:   132(bool) Any 538
+             540:   48(fvec4) Load 53(inF0)
+             541:   48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 540
+             542:   48(fvec4) Load 53(inF0)
+             544:  543(ivec4) Bitcast 542
+             545:   48(fvec4) Load 53(inF0)
+             546:   50(ivec4) Bitcast 545
+             547:   50(ivec4) Load 56(inU0)
+             548:   48(fvec4) Bitcast 547
              549:   48(fvec4) Load 53(inF0)
-             550:   48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 549
+             550:   48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 549
              551:   48(fvec4) Load 53(inF0)
-             552:   48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 551
-             553:   48(fvec4) Load 53(inF0)
-             554:   132(bool) Any 553
-             555:   48(fvec4) Load 53(inF0)
-             556:   48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 555
-             557:   48(fvec4) Load 53(inF0)
-             559:  558(ivec4) Bitcast 557
+             552:   48(fvec4) Load 54(inF1)
+             553:   48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 551 552
+             554:   48(fvec4) Load 53(inF0)
+             555:   48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 554
+             556:   48(fvec4) Load 53(inF0)
+             557:   48(fvec4) Load 54(inF1)
+             558:   48(fvec4) Load 55(inF2)
+             559:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 556 557 558
              560:   48(fvec4) Load 53(inF0)
-             561:   50(ivec4) Bitcast 560
-             562:   50(ivec4) Load 56(inU0)
-             563:   48(fvec4) Bitcast 562
-             564:   48(fvec4) Load 53(inF0)
-             565:   48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 564
+             561:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 560
+             562:   48(fvec4) Load 53(inF0)
+             563:   48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 562
+             565:  543(ivec4) BitCount 564
              566:   48(fvec4) Load 53(inF0)
-             567:   48(fvec4) Load 54(inF1)
-             568:   48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 566 567
-             569:   48(fvec4) Load 53(inF0)
-             570:   48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 569
+             567:   48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 566
+             568:   48(fvec4) Load 53(inF0)
+             569:   48(fvec4) Load 54(inF1)
+             570:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 568 569
              571:   48(fvec4) Load 53(inF0)
              572:   48(fvec4) Load 54(inF1)
-             573:   48(fvec4) Load 55(inF2)
-             574:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 571 572 573
-             575:   48(fvec4) Load 53(inF0)
-             576:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 575
-             577:   48(fvec4) Load 53(inF0)
-             578:   48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 577
-             580:  558(ivec4) BitCount 579
-             581:   48(fvec4) Load 53(inF0)
-             582:   48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 581
-             583:   48(fvec4) Load 53(inF0)
-             584:   48(fvec4) Load 54(inF1)
-             585:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 583 584
-             586:   48(fvec4) Load 53(inF0)
-             587:   48(fvec4) Load 54(inF1)
-             588:    6(float) Dot 586 587
-             590:      7(ptr) AccessChain 53(inF0) 589
-             591:    6(float) Load 590
-             592:      7(ptr) AccessChain 54(inF1) 589
-             593:    6(float) Load 592
-             594:    6(float) FMul 591 593
-             596:      7(ptr) AccessChain 53(inF0) 595
-             597:    6(float) Load 596
-             599:      7(ptr) AccessChain 54(inF1) 598
-             600:    6(float) Load 599
-             601:   48(fvec4) CompositeConstruct 224 594 597 600
+             573:    6(float) Dot 571 572
+             575:      7(ptr) AccessChain 53(inF0) 574
+             576:    6(float) Load 575
+             577:      7(ptr) AccessChain 54(inF1) 574
+             578:    6(float) Load 577
+             579:    6(float) FMul 576 578
+             581:      7(ptr) AccessChain 53(inF0) 580
+             582:    6(float) Load 581
+             584:      7(ptr) AccessChain 54(inF1) 583
+             585:    6(float) Load 584
+             586:   48(fvec4) CompositeConstruct 219 579 582 585
+             587:   48(fvec4) Load 53(inF0)
+             588:   48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 587
+             589:   48(fvec4) Load 53(inF0)
+             590:   48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 589
+             591:   48(fvec4) Load 53(inF0)
+             592:   48(fvec4) Load 54(inF1)
+             593:   48(fvec4) Load 55(inF2)
+             594:   48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 591 592 593
+             595:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
+             596:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
+             597:   48(fvec4) Load 53(inF0)
+             598:   48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 597
+             599:   48(fvec4) Load 53(inF0)
+             600:   48(fvec4) Load 54(inF1)
+             601:   48(fvec4) FMod 599 600
              602:   48(fvec4) Load 53(inF0)
-             603:   48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 602
+             603:   48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 602
              604:   48(fvec4) Load 53(inF0)
-             605:   48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 604
-             606:   48(fvec4) Load 53(inF0)
-             607:   48(fvec4) Load 54(inF1)
-             608:   48(fvec4) Load 55(inF2)
-             609:   48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 606 607 608
-             610:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
-             611:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
+             606:  605(bvec4) IsInf 604
+             607:   48(fvec4) Load 53(inF0)
+             608:  605(bvec4) IsNan 607
+             609:   48(fvec4) Load 53(inF0)
+             610:   48(fvec4) Load 54(inF1)
+             611:   48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 609 610
              612:   48(fvec4) Load 53(inF0)
-             613:   48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 612
-             614:   48(fvec4) Load 53(inF0)
-             615:   48(fvec4) Load 54(inF1)
-             616:   48(fvec4) FMod 614 615
-             617:   48(fvec4) Load 53(inF0)
-             618:   48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 617
-             619:   48(fvec4) Load 53(inF0)
-             621:620(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 619
-             622:  558(ivec4) CompositeExtract 621 1
-                              Store 54(inF1) 622
-             623:   48(fvec4) CompositeExtract 621 0
-             624:   48(fvec4) Load 53(inF0)
-             626:  625(bvec4) IsInf 624
-             627:   48(fvec4) Load 53(inF0)
-             628:  625(bvec4) IsNan 627
-             629:   48(fvec4) Load 53(inF0)
-             630:   48(fvec4) Load 54(inF1)
-             631:   48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 629 630
-             632:   48(fvec4) Load 53(inF0)
-             633:   48(fvec4) Load 54(inF1)
-             634:   48(fvec4) Load 55(inF2)
-             635:   48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 632 633 634
+             613:   48(fvec4) Load 54(inF1)
+             614:   48(fvec4) Load 55(inF2)
+             615:   48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 612 613 614
+             616:   48(fvec4) Load 53(inF0)
+             617:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 616
+             618:   48(fvec4) Load 53(inF0)
+             619:   48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 618
+             620:   48(fvec4) Load 53(inF0)
+             621:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 620
+             622:   48(fvec4) VectorTimesScalar 621 196
+             623:   48(fvec4) Load 53(inF0)
+             624:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 623
+             625:   48(fvec4) Load 53(inF0)
+             626:   48(fvec4) Load 54(inF1)
+             627:   48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 625 626
+             628:   48(fvec4) Load 53(inF0)
+             629:   48(fvec4) Load 54(inF1)
+             630:   48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 628 629
+             631:   48(fvec4) Load 53(inF0)
+             632:   48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 631
+             633:   48(fvec4) Load 53(inF0)
+             634:   48(fvec4) Load 54(inF1)
+             635:   48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 633 634
              636:   48(fvec4) Load 53(inF0)
-             637:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 636
+             637:   48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 636
              638:   48(fvec4) Load 53(inF0)
-             639:   48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 638
-             640:   48(fvec4) Load 53(inF0)
-             641:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 640
-             642:   48(fvec4) VectorTimesScalar 641 201
-             643:   48(fvec4) Load 53(inF0)
-             644:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 643
-             645:   48(fvec4) Load 53(inF0)
-             646:   48(fvec4) Load 54(inF1)
-             647:   48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 645 646
-             648:   48(fvec4) Load 53(inF0)
-             649:   48(fvec4) Load 54(inF1)
-             650:   48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 648 649
+             639:   48(fvec4) Load 54(inF1)
+             640:   48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 638 639
+             641:   48(fvec4) Load 53(inF0)
+             642:   48(fvec4) Load 54(inF1)
+             643:   48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 641 642 349
+             646:  543(ivec4) BitReverse 645
+             647:   48(fvec4) Load 53(inF0)
+             648:   48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 647
+             649:   48(fvec4) Load 53(inF0)
+             650:   48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 649
              651:   48(fvec4) Load 53(inF0)
-             652:   48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 651
-             653:   48(fvec4) Load 53(inF0)
-             654:   48(fvec4) Load 54(inF1)
-             655:   48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 653 654
-             656:   48(fvec4) Load 53(inF0)
-             657:   48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 656
-             658:   48(fvec4) Load 53(inF0)
-             659:   48(fvec4) Load 54(inF1)
-             660:   48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 658 659
+             652:   48(fvec4) CompositeConstruct 218 218 218 218
+             653:   48(fvec4) CompositeConstruct 219 219 219 219
+             654:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 651 652 653
+             655:   48(fvec4) Load 53(inF0)
+             656:   48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 655
+             657:   48(fvec4) Load 53(inF0)
+             658:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 657
+             659:   48(fvec4) Load 53(inF0)
+             660:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 659
+                              Store 54(inF1) 660
              661:   48(fvec4) Load 53(inF0)
-             662:   48(fvec4) Load 54(inF1)
-             663:   48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 661 662 359
-             666:  558(ivec4) BitReverse 665
-             667:   48(fvec4) Load 53(inF0)
-             668:   48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 667
+             662:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 661
+                              Store 55(inF2) 662
+             663:   48(fvec4) Load 53(inF0)
+             664:   48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 663
+             665:   48(fvec4) Load 53(inF0)
+             666:   48(fvec4) Load 54(inF1)
+             667:   48(fvec4) Load 55(inF2)
+             668:   48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 665 666 667
              669:   48(fvec4) Load 53(inF0)
-             670:   48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 669
+             670:   48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 669
              671:   48(fvec4) Load 53(inF0)
-             672:   48(fvec4) CompositeConstruct 223 223 223 223
-             673:   48(fvec4) CompositeConstruct 224 224 224 224
-             674:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 671 672 673
-             675:   48(fvec4) Load 53(inF0)
-             676:   48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 675
-             677:   48(fvec4) Load 53(inF0)
-             678:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 677
-             679:   48(fvec4) Load 53(inF0)
-             680:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 679
-                              Store 54(inF1) 680
-             681:   48(fvec4) Load 53(inF0)
-             682:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 681
-                              Store 55(inF2) 682
-             683:   48(fvec4) Load 53(inF0)
-             684:   48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 683
-             685:   48(fvec4) Load 53(inF0)
-             686:   48(fvec4) Load 54(inF1)
-             687:   48(fvec4) Load 55(inF2)
-             688:   48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 685 686 687
-             689:   48(fvec4) Load 53(inF0)
-             690:   48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 689
-             691:   48(fvec4) Load 53(inF0)
-             692:   48(fvec4) Load 54(inF1)
-             693:   48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 691 692
-             694:   48(fvec4) Load 53(inF0)
-             695:   48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 694
-             696:   48(fvec4) Load 53(inF0)
-             697:   48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 696
-             698:   48(fvec4) Load 53(inF0)
-             699:   48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 698
-                              ReturnValue 701
+             672:   48(fvec4) Load 54(inF1)
+             673:   48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 671 672
+             674:   48(fvec4) Load 53(inF0)
+             675:   48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 674
+             676:   48(fvec4) Load 53(inF0)
+             677:   48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 676
+             678:   48(fvec4) Load 53(inF0)
+             679:   48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 678
+                              ReturnValue 681
                               FunctionEnd
 66(VertexShaderFunction2x2(mf22;mf22;mf22;):          60 Function None 62
         63(inF0):     61(ptr) FunctionParameter
         64(inF1):     61(ptr) FunctionParameter
         65(inF2):     61(ptr) FunctionParameter
               67:             Label
-             704:          60 Load 63(inF0)
-             705:   132(bool) All 704
-             706:          60 Load 63(inF0)
-             707:          60 ExtInst 1(GLSL.std.450) 4(FAbs) 706
-             708:          60 Load 63(inF0)
-             709:          60 ExtInst 1(GLSL.std.450) 17(Acos) 708
-             710:          60 Load 63(inF0)
-             711:   132(bool) Any 710
-             712:          60 Load 63(inF0)
-             713:          60 ExtInst 1(GLSL.std.450) 16(Asin) 712
-             714:          60 Load 63(inF0)
-             715:          60 ExtInst 1(GLSL.std.450) 18(Atan) 714
-             716:          60 Load 63(inF0)
-             717:          60 Load 64(inF1)
-             718:          60 ExtInst 1(GLSL.std.450) 25(Atan2) 716 717
+             684:          60 Load 63(inF0)
+             685:   132(bool) All 684
+             686:          60 Load 63(inF0)
+             687:          60 ExtInst 1(GLSL.std.450) 4(FAbs) 686
+             688:          60 Load 63(inF0)
+             689:          60 ExtInst 1(GLSL.std.450) 17(Acos) 688
+             690:          60 Load 63(inF0)
+             691:   132(bool) Any 690
+             692:          60 Load 63(inF0)
+             693:          60 ExtInst 1(GLSL.std.450) 16(Asin) 692
+             694:          60 Load 63(inF0)
+             695:          60 ExtInst 1(GLSL.std.450) 18(Atan) 694
+             696:          60 Load 63(inF0)
+             697:          60 Load 64(inF1)
+             698:          60 ExtInst 1(GLSL.std.450) 25(Atan2) 696 697
+             699:          60 Load 63(inF0)
+             700:          60 ExtInst 1(GLSL.std.450) 9(Ceil) 699
+             701:          60 Load 63(inF0)
+             702:          60 Load 64(inF1)
+             703:          60 Load 65(inF2)
+             704:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 701 702 703
+             705:          60 Load 63(inF0)
+             706:          60 ExtInst 1(GLSL.std.450) 14(Cos) 705
+             707:          60 Load 63(inF0)
+             708:          60 ExtInst 1(GLSL.std.450) 20(Cosh) 707
+             709:          60 Load 63(inF0)
+             710:          60 ExtInst 1(GLSL.std.450) 12(Degrees) 709
+             711:          60 Load 63(inF0)
+             712:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 711
+             713:          60 Load 63(inF0)
+             714:          60 ExtInst 1(GLSL.std.450) 27(Exp) 713
+             715:          60 Load 63(inF0)
+             716:          60 ExtInst 1(GLSL.std.450) 29(Exp2) 715
+             717:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
+             718:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
              719:          60 Load 63(inF0)
-             720:          60 ExtInst 1(GLSL.std.450) 9(Ceil) 719
+             720:          60 ExtInst 1(GLSL.std.450) 8(Floor) 719
              721:          60 Load 63(inF0)
              722:          60 Load 64(inF1)
-             723:          60 Load 65(inF2)
-             724:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 721 722 723
-             725:          60 Load 63(inF0)
-             726:          60 ExtInst 1(GLSL.std.450) 14(Cos) 725
-             727:          60 Load 63(inF0)
-             728:          60 ExtInst 1(GLSL.std.450) 20(Cosh) 727
-             729:          60 Load 63(inF0)
-             730:          60 ExtInst 1(GLSL.std.450) 12(Degrees) 729
-             731:          60 Load 63(inF0)
-             732:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 731
-             733:          60 Load 63(inF0)
-             734:          60 ExtInst 1(GLSL.std.450) 27(Exp) 733
+             723:   24(fvec2) CompositeExtract 721 0
+             724:   24(fvec2) CompositeExtract 722 0
+             725:   24(fvec2) FMod 723 724
+             726:   24(fvec2) CompositeExtract 721 1
+             727:   24(fvec2) CompositeExtract 722 1
+             728:   24(fvec2) FMod 726 727
+             729:          60 CompositeConstruct 725 728
+             730:          60 Load 63(inF0)
+             731:          60 ExtInst 1(GLSL.std.450) 10(Fract) 730
+             732:          60 Load 63(inF0)
+             733:          60 Load 64(inF1)
+             734:          60 ExtInst 1(GLSL.std.450) 53(Ldexp) 732 733
              735:          60 Load 63(inF0)
-             736:          60 ExtInst 1(GLSL.std.450) 29(Exp2) 735
-             737:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
-             738:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
+             736:          60 Load 64(inF1)
+             737:          60 Load 65(inF2)
+             738:          60 ExtInst 1(GLSL.std.450) 46(FMix) 735 736 737
              739:          60 Load 63(inF0)
-             740:          60 ExtInst 1(GLSL.std.450) 8(Floor) 739
+             740:          60 ExtInst 1(GLSL.std.450) 28(Log) 739
              741:          60 Load 63(inF0)
-             742:          60 Load 64(inF1)
-             743:   24(fvec2) CompositeExtract 741 0
-             744:   24(fvec2) CompositeExtract 742 0
-             745:   24(fvec2) FMod 743 744
-             746:   24(fvec2) CompositeExtract 741 1
-             747:   24(fvec2) CompositeExtract 742 1
-             748:   24(fvec2) FMod 746 747
-             749:          60 CompositeConstruct 745 748
-             750:          60 Load 63(inF0)
-             751:          60 ExtInst 1(GLSL.std.450) 10(Fract) 750
+             742:          60 ExtInst 1(GLSL.std.450) 30(Log2) 741
+             743:          60 MatrixTimesScalar 742 196
+             744:          60 Load 63(inF0)
+             745:          60 ExtInst 1(GLSL.std.450) 30(Log2) 744
+             746:          60 Load 63(inF0)
+             747:          60 Load 64(inF1)
+             748:          60 ExtInst 1(GLSL.std.450) 40(FMax) 746 747
+             749:          60 Load 63(inF0)
+             750:          60 Load 64(inF1)
+             751:          60 ExtInst 1(GLSL.std.450) 37(FMin) 749 750
              752:          60 Load 63(inF0)
-             754:753(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 752
-             755:  266(ivec2) CompositeExtract 754 1
-                              Store 64(inF1) 755
-             756:          60 CompositeExtract 754 0
+             753:          60 Load 64(inF1)
+             754:          60 ExtInst 1(GLSL.std.450) 26(Pow) 752 753
+             755:          60 Load 63(inF0)
+             756:          60 ExtInst 1(GLSL.std.450) 11(Radians) 755
              757:          60 Load 63(inF0)
-             758:          60 Load 64(inF1)
-             759:          60 ExtInst 1(GLSL.std.450) 53(Ldexp) 757 758
-             760:          60 Load 63(inF0)
-             761:          60 Load 64(inF1)
-             762:          60 Load 65(inF2)
-             763:          60 ExtInst 1(GLSL.std.450) 46(FMix) 760 761 762
-             764:          60 Load 63(inF0)
-             765:          60 ExtInst 1(GLSL.std.450) 28(Log) 764
-             766:          60 Load 63(inF0)
-             767:          60 ExtInst 1(GLSL.std.450) 30(Log2) 766
-             768:          60 MatrixTimesScalar 767 201
+             758:          60 ExtInst 1(GLSL.std.450) 2(RoundEven) 757
+             759:          60 Load 63(inF0)
+             760:          60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 759
+             761:          60 Load 63(inF0)
+             762:   24(fvec2) CompositeConstruct 218 218
+             763:   24(fvec2) CompositeConstruct 219 219
+             764:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 761 762 763
+             765:          60 Load 63(inF0)
+             766:          60 ExtInst 1(GLSL.std.450) 6(FSign) 765
+             767:          60 Load 63(inF0)
+             768:          60 ExtInst 1(GLSL.std.450) 13(Sin) 767
              769:          60 Load 63(inF0)
-             770:          60 ExtInst 1(GLSL.std.450) 30(Log2) 769
+             770:          60 ExtInst 1(GLSL.std.450) 13(Sin) 769
+                              Store 64(inF1) 770
              771:          60 Load 63(inF0)
-             772:          60 Load 64(inF1)
-             773:          60 ExtInst 1(GLSL.std.450) 40(FMax) 771 772
-             774:          60 Load 63(inF0)
-             775:          60 Load 64(inF1)
-             776:          60 ExtInst 1(GLSL.std.450) 37(FMin) 774 775
-             777:          60 Load 63(inF0)
-             778:          60 Load 64(inF1)
-             779:          60 ExtInst 1(GLSL.std.450) 26(Pow) 777 778
-             780:          60 Load 63(inF0)
-             781:          60 ExtInst 1(GLSL.std.450) 11(Radians) 780
-             782:          60 Load 63(inF0)
-             783:          60 ExtInst 1(GLSL.std.450) 2(RoundEven) 782
+             772:          60 ExtInst 1(GLSL.std.450) 14(Cos) 771
+                              Store 65(inF2) 772
+             773:          60 Load 63(inF0)
+             774:          60 ExtInst 1(GLSL.std.450) 19(Sinh) 773
+             775:          60 Load 63(inF0)
+             776:          60 Load 64(inF1)
+             777:          60 Load 65(inF2)
+             778:          60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 775 776 777
+             779:          60 Load 63(inF0)
+             780:          60 ExtInst 1(GLSL.std.450) 31(Sqrt) 779
+             781:          60 Load 63(inF0)
+             782:          60 Load 64(inF1)
+             783:          60 ExtInst 1(GLSL.std.450) 48(Step) 781 782
              784:          60 Load 63(inF0)
-             785:          60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 784
+             785:          60 ExtInst 1(GLSL.std.450) 15(Tan) 784
              786:          60 Load 63(inF0)
-             787:   24(fvec2) CompositeConstruct 223 223
-             788:   24(fvec2) CompositeConstruct 224 224
-             789:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 786 787 788
+             787:          60 ExtInst 1(GLSL.std.450) 21(Tanh) 786
+             788:          60 Load 63(inF0)
+             789:          60 Transpose 788
              790:          60 Load 63(inF0)
-             791:          60 ExtInst 1(GLSL.std.450) 6(FSign) 790
-             792:          60 Load 63(inF0)
-             793:          60 ExtInst 1(GLSL.std.450) 13(Sin) 792
-             794:          60 Load 63(inF0)
-             795:          60 ExtInst 1(GLSL.std.450) 13(Sin) 794
-                              Store 64(inF1) 795
-             796:          60 Load 63(inF0)
-             797:          60 ExtInst 1(GLSL.std.450) 14(Cos) 796
-                              Store 65(inF2) 797
-             798:          60 Load 63(inF0)
-             799:          60 ExtInst 1(GLSL.std.450) 19(Sinh) 798
-             800:          60 Load 63(inF0)
-             801:          60 Load 64(inF1)
-             802:          60 Load 65(inF2)
-             803:          60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 800 801 802
-             804:          60 Load 63(inF0)
-             805:          60 ExtInst 1(GLSL.std.450) 31(Sqrt) 804
-             806:          60 Load 63(inF0)
-             807:          60 Load 64(inF1)
-             808:          60 ExtInst 1(GLSL.std.450) 48(Step) 806 807
-             809:          60 Load 63(inF0)
-             810:          60 ExtInst 1(GLSL.std.450) 15(Tan) 809
-             811:          60 Load 63(inF0)
-             812:          60 ExtInst 1(GLSL.std.450) 21(Tanh) 811
-             813:          60 Load 63(inF0)
-             814:          60 Transpose 813
-             815:          60 Load 63(inF0)
-             816:          60 ExtInst 1(GLSL.std.450) 3(Trunc) 815
-                              ReturnValue 818
+             791:          60 ExtInst 1(GLSL.std.450) 3(Trunc) 790
+                              ReturnValue 793
                               FunctionEnd
 74(VertexShaderFunction3x3(mf33;mf33;mf33;):          68 Function None 70
         71(inF0):     69(ptr) FunctionParameter
         72(inF1):     69(ptr) FunctionParameter
         73(inF2):     69(ptr) FunctionParameter
               75:             Label
+             796:          68 Load 71(inF0)
+             797:   132(bool) All 796
+             798:          68 Load 71(inF0)
+             799:          68 ExtInst 1(GLSL.std.450) 4(FAbs) 798
+             800:          68 Load 71(inF0)
+             801:          68 ExtInst 1(GLSL.std.450) 17(Acos) 800
+             802:          68 Load 71(inF0)
+             803:   132(bool) Any 802
+             804:          68 Load 71(inF0)
+             805:          68 ExtInst 1(GLSL.std.450) 16(Asin) 804
+             806:          68 Load 71(inF0)
+             807:          68 ExtInst 1(GLSL.std.450) 18(Atan) 806
+             808:          68 Load 71(inF0)
+             809:          68 Load 72(inF1)
+             810:          68 ExtInst 1(GLSL.std.450) 25(Atan2) 808 809
+             811:          68 Load 71(inF0)
+             812:          68 ExtInst 1(GLSL.std.450) 9(Ceil) 811
+             813:          68 Load 71(inF0)
+             814:          68 Load 72(inF1)
+             815:          68 Load 73(inF2)
+             816:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 813 814 815
+             817:          68 Load 71(inF0)
+             818:          68 ExtInst 1(GLSL.std.450) 14(Cos) 817
+             819:          68 Load 71(inF0)
+             820:          68 ExtInst 1(GLSL.std.450) 20(Cosh) 819
              821:          68 Load 71(inF0)
-             822:   132(bool) All 821
+             822:          68 ExtInst 1(GLSL.std.450) 12(Degrees) 821
              823:          68 Load 71(inF0)
-             824:          68 ExtInst 1(GLSL.std.450) 4(FAbs) 823
+             824:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 823
              825:          68 Load 71(inF0)
-             826:          68 ExtInst 1(GLSL.std.450) 17(Acos) 825
+             826:          68 ExtInst 1(GLSL.std.450) 27(Exp) 825
              827:          68 Load 71(inF0)
-             828:   132(bool) Any 827
-             829:          68 Load 71(inF0)
-             830:          68 ExtInst 1(GLSL.std.450) 16(Asin) 829
+             828:          68 ExtInst 1(GLSL.std.450) 29(Exp2) 827
+             829:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
+             830:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
              831:          68 Load 71(inF0)
-             832:          68 ExtInst 1(GLSL.std.450) 18(Atan) 831
+             832:          68 ExtInst 1(GLSL.std.450) 8(Floor) 831
              833:          68 Load 71(inF0)
              834:          68 Load 72(inF1)
-             835:          68 ExtInst 1(GLSL.std.450) 25(Atan2) 833 834
-             836:          68 Load 71(inF0)
-             837:          68 ExtInst 1(GLSL.std.450) 9(Ceil) 836
-             838:          68 Load 71(inF0)
-             839:          68 Load 72(inF1)
-             840:          68 Load 73(inF2)
-             841:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 838 839 840
-             842:          68 Load 71(inF0)
-             843:          68 ExtInst 1(GLSL.std.450) 14(Cos) 842
-             844:          68 Load 71(inF0)
-             845:          68 ExtInst 1(GLSL.std.450) 20(Cosh) 844
-             846:          68 Load 71(inF0)
-             847:          68 ExtInst 1(GLSL.std.450) 12(Degrees) 846
-             848:          68 Load 71(inF0)
-             849:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 848
+             835:   36(fvec3) CompositeExtract 833 0
+             836:   36(fvec3) CompositeExtract 834 0
+             837:   36(fvec3) FMod 835 836
+             838:   36(fvec3) CompositeExtract 833 1
+             839:   36(fvec3) CompositeExtract 834 1
+             840:   36(fvec3) FMod 838 839
+             841:   36(fvec3) CompositeExtract 833 2
+             842:   36(fvec3) CompositeExtract 834 2
+             843:   36(fvec3) FMod 841 842
+             844:          68 CompositeConstruct 837 840 843
+             845:          68 Load 71(inF0)
+             846:          68 ExtInst 1(GLSL.std.450) 10(Fract) 845
+             847:          68 Load 71(inF0)
+             848:          68 Load 72(inF1)
+             849:          68 ExtInst 1(GLSL.std.450) 53(Ldexp) 847 848
              850:          68 Load 71(inF0)
-             851:          68 ExtInst 1(GLSL.std.450) 27(Exp) 850
-             852:          68 Load 71(inF0)
-             853:          68 ExtInst 1(GLSL.std.450) 29(Exp2) 852
-             854:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
-             855:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
+             851:          68 Load 72(inF1)
+             852:          68 Load 73(inF2)
+             853:          68 ExtInst 1(GLSL.std.450) 46(FMix) 850 851 852
+             854:          68 Load 71(inF0)
+             855:          68 ExtInst 1(GLSL.std.450) 28(Log) 854
              856:          68 Load 71(inF0)
-             857:          68 ExtInst 1(GLSL.std.450) 8(Floor) 856
-             858:          68 Load 71(inF0)
-             859:          68 Load 72(inF1)
-             860:   36(fvec3) CompositeExtract 858 0
-             861:   36(fvec3) CompositeExtract 859 0
-             862:   36(fvec3) FMod 860 861
-             863:   36(fvec3) CompositeExtract 858 1
-             864:   36(fvec3) CompositeExtract 859 1
-             865:   36(fvec3) FMod 863 864
-             866:   36(fvec3) CompositeExtract 858 2
-             867:   36(fvec3) CompositeExtract 859 2
-             868:   36(fvec3) FMod 866 867
-             869:          68 CompositeConstruct 862 865 868
+             857:          68 ExtInst 1(GLSL.std.450) 30(Log2) 856
+             858:          68 MatrixTimesScalar 857 196
+             859:          68 Load 71(inF0)
+             860:          68 ExtInst 1(GLSL.std.450) 30(Log2) 859
+             861:          68 Load 71(inF0)
+             862:          68 Load 72(inF1)
+             863:          68 ExtInst 1(GLSL.std.450) 40(FMax) 861 862
+             864:          68 Load 71(inF0)
+             865:          68 Load 72(inF1)
+             866:          68 ExtInst 1(GLSL.std.450) 37(FMin) 864 865
+             867:          68 Load 71(inF0)
+             868:          68 Load 72(inF1)
+             869:          68 ExtInst 1(GLSL.std.450) 26(Pow) 867 868
              870:          68 Load 71(inF0)
-             871:          68 ExtInst 1(GLSL.std.450) 10(Fract) 870
+             871:          68 ExtInst 1(GLSL.std.450) 11(Radians) 870
              872:          68 Load 71(inF0)
-             874:873(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 872
-             875:  411(ivec3) CompositeExtract 874 1
-                              Store 72(inF1) 875
-             876:          68 CompositeExtract 874 0
-             877:          68 Load 71(inF0)
-             878:          68 Load 72(inF1)
-             879:          68 ExtInst 1(GLSL.std.450) 53(Ldexp) 877 878
+             873:          68 ExtInst 1(GLSL.std.450) 2(RoundEven) 872
+             874:          68 Load 71(inF0)
+             875:          68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 874
+             876:          68 Load 71(inF0)
+             877:   36(fvec3) CompositeConstruct 218 218 218
+             878:   36(fvec3) CompositeConstruct 219 219 219
+             879:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 876 877 878
              880:          68 Load 71(inF0)
-             881:          68 Load 72(inF1)
-             882:          68 Load 73(inF2)
-             883:          68 ExtInst 1(GLSL.std.450) 46(FMix) 880 881 882
+             881:          68 ExtInst 1(GLSL.std.450) 6(FSign) 880
+             882:          68 Load 71(inF0)
+             883:          68 ExtInst 1(GLSL.std.450) 13(Sin) 882
              884:          68 Load 71(inF0)
-             885:          68 ExtInst 1(GLSL.std.450) 28(Log) 884
+             885:          68 ExtInst 1(GLSL.std.450) 13(Sin) 884
+                              Store 72(inF1) 885
              886:          68 Load 71(inF0)
-             887:          68 ExtInst 1(GLSL.std.450) 30(Log2) 886
-             888:          68 MatrixTimesScalar 887 201
-             889:          68 Load 71(inF0)
-             890:          68 ExtInst 1(GLSL.std.450) 30(Log2) 889
-             891:          68 Load 71(inF0)
-             892:          68 Load 72(inF1)
-             893:          68 ExtInst 1(GLSL.std.450) 40(FMax) 891 892
+             887:          68 ExtInst 1(GLSL.std.450) 14(Cos) 886
+                              Store 73(inF2) 887
+             888:          68 Load 71(inF0)
+             889:          68 ExtInst 1(GLSL.std.450) 19(Sinh) 888
+             890:          68 Load 71(inF0)
+             891:          68 Load 72(inF1)
+             892:          68 Load 73(inF2)
+             893:          68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 890 891 892
              894:          68 Load 71(inF0)
-             895:          68 Load 72(inF1)
-             896:          68 ExtInst 1(GLSL.std.450) 37(FMin) 894 895
-             897:          68 Load 71(inF0)
-             898:          68 Load 72(inF1)
-             899:          68 ExtInst 1(GLSL.std.450) 26(Pow) 897 898
-             900:          68 Load 71(inF0)
-             901:          68 ExtInst 1(GLSL.std.450) 11(Radians) 900
-             902:          68 Load 71(inF0)
-             903:          68 ExtInst 1(GLSL.std.450) 2(RoundEven) 902
-             904:          68 Load 71(inF0)
-             905:          68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 904
-             906:          68 Load 71(inF0)
-             907:   36(fvec3) CompositeConstruct 223 223 223
-             908:   36(fvec3) CompositeConstruct 224 224 224
-             909:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 906 907 908
-             910:          68 Load 71(inF0)
-             911:          68 ExtInst 1(GLSL.std.450) 6(FSign) 910
-             912:          68 Load 71(inF0)
-             913:          68 ExtInst 1(GLSL.std.450) 13(Sin) 912
-             914:          68 Load 71(inF0)
-             915:          68 ExtInst 1(GLSL.std.450) 13(Sin) 914
-                              Store 72(inF1) 915
-             916:          68 Load 71(inF0)
-             917:          68 ExtInst 1(GLSL.std.450) 14(Cos) 916
-                              Store 73(inF2) 917
-             918:          68 Load 71(inF0)
-             919:          68 ExtInst 1(GLSL.std.450) 19(Sinh) 918
-             920:          68 Load 71(inF0)
-             921:          68 Load 72(inF1)
-             922:          68 Load 73(inF2)
-             923:          68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 920 921 922
-             924:          68 Load 71(inF0)
-             925:          68 ExtInst 1(GLSL.std.450) 31(Sqrt) 924
-             926:          68 Load 71(inF0)
-             927:          68 Load 72(inF1)
-             928:          68 ExtInst 1(GLSL.std.450) 48(Step) 926 927
-             929:          68 Load 71(inF0)
-             930:          68 ExtInst 1(GLSL.std.450) 15(Tan) 929
-             931:          68 Load 71(inF0)
-             932:          68 ExtInst 1(GLSL.std.450) 21(Tanh) 931
-             933:          68 Load 71(inF0)
-             934:          68 Transpose 933
-             935:          68 Load 71(inF0)
-             936:          68 ExtInst 1(GLSL.std.450) 3(Trunc) 935
-                              ReturnValue 938
+             895:          68 ExtInst 1(GLSL.std.450) 31(Sqrt) 894
+             896:          68 Load 71(inF0)
+             897:          68 Load 72(inF1)
+             898:          68 ExtInst 1(GLSL.std.450) 48(Step) 896 897
+             899:          68 Load 71(inF0)
+             900:          68 ExtInst 1(GLSL.std.450) 15(Tan) 899
+             901:          68 Load 71(inF0)
+             902:          68 ExtInst 1(GLSL.std.450) 21(Tanh) 901
+             903:          68 Load 71(inF0)
+             904:          68 Transpose 903
+             905:          68 Load 71(inF0)
+             906:          68 ExtInst 1(GLSL.std.450) 3(Trunc) 905
+                              ReturnValue 908
                               FunctionEnd
 82(VertexShaderFunction4x4(mf44;mf44;mf44;):          76 Function None 78
         79(inF0):     77(ptr) FunctionParameter
         80(inF1):     77(ptr) FunctionParameter
         81(inF2):     77(ptr) FunctionParameter
               83:             Label
-             941:          76 Load 79(inF0)
-             942:   132(bool) All 941
-             943:          76 Load 79(inF0)
-             944:          76 ExtInst 1(GLSL.std.450) 4(FAbs) 943
-             945:          76 Load 79(inF0)
-             946:          76 ExtInst 1(GLSL.std.450) 17(Acos) 945
-             947:          76 Load 79(inF0)
-             948:   132(bool) Any 947
-             949:          76 Load 79(inF0)
-             950:          76 ExtInst 1(GLSL.std.450) 16(Asin) 949
-             951:          76 Load 79(inF0)
-             952:          76 ExtInst 1(GLSL.std.450) 18(Atan) 951
-             953:          76 Load 79(inF0)
-             954:          76 Load 80(inF1)
-             955:          76 ExtInst 1(GLSL.std.450) 25(Atan2) 953 954
-             956:          76 Load 79(inF0)
-             957:          76 ExtInst 1(GLSL.std.450) 9(Ceil) 956
-             958:          76 Load 79(inF0)
-             959:          76 Load 80(inF1)
-             960:          76 Load 81(inF2)
-             961:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 958 959 960
-             962:          76 Load 79(inF0)
-             963:          76 ExtInst 1(GLSL.std.450) 14(Cos) 962
-             964:          76 Load 79(inF0)
-             965:          76 ExtInst 1(GLSL.std.450) 20(Cosh) 964
-             966:          76 Load 79(inF0)
-             967:          76 ExtInst 1(GLSL.std.450) 12(Degrees) 966
+             911:          76 Load 79(inF0)
+             912:   132(bool) All 911
+             913:          76 Load 79(inF0)
+             914:          76 ExtInst 1(GLSL.std.450) 4(FAbs) 913
+             915:          76 Load 79(inF0)
+             916:          76 ExtInst 1(GLSL.std.450) 17(Acos) 915
+             917:          76 Load 79(inF0)
+             918:   132(bool) Any 917
+             919:          76 Load 79(inF0)
+             920:          76 ExtInst 1(GLSL.std.450) 16(Asin) 919
+             921:          76 Load 79(inF0)
+             922:          76 ExtInst 1(GLSL.std.450) 18(Atan) 921
+             923:          76 Load 79(inF0)
+             924:          76 Load 80(inF1)
+             925:          76 ExtInst 1(GLSL.std.450) 25(Atan2) 923 924
+             926:          76 Load 79(inF0)
+             927:          76 ExtInst 1(GLSL.std.450) 9(Ceil) 926
+             928:          76 Load 79(inF0)
+             929:          76 Load 80(inF1)
+             930:          76 Load 81(inF2)
+             931:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 928 929 930
+             932:          76 Load 79(inF0)
+             933:          76 ExtInst 1(GLSL.std.450) 14(Cos) 932
+             934:          76 Load 79(inF0)
+             935:          76 ExtInst 1(GLSL.std.450) 20(Cosh) 934
+             936:          76 Load 79(inF0)
+             937:          76 ExtInst 1(GLSL.std.450) 12(Degrees) 936
+             938:          76 Load 79(inF0)
+             939:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 938
+             940:          76 Load 79(inF0)
+             941:          76 ExtInst 1(GLSL.std.450) 27(Exp) 940
+             942:          76 Load 79(inF0)
+             943:          76 ExtInst 1(GLSL.std.450) 29(Exp2) 942
+             944:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
+             945:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
+             946:          76 Load 79(inF0)
+             947:          76 ExtInst 1(GLSL.std.450) 8(Floor) 946
+             948:          76 Load 79(inF0)
+             949:          76 Load 80(inF1)
+             950:   48(fvec4) CompositeExtract 948 0
+             951:   48(fvec4) CompositeExtract 949 0
+             952:   48(fvec4) FMod 950 951
+             953:   48(fvec4) CompositeExtract 948 1
+             954:   48(fvec4) CompositeExtract 949 1
+             955:   48(fvec4) FMod 953 954
+             956:   48(fvec4) CompositeExtract 948 2
+             957:   48(fvec4) CompositeExtract 949 2
+             958:   48(fvec4) FMod 956 957
+             959:   48(fvec4) CompositeExtract 948 3
+             960:   48(fvec4) CompositeExtract 949 3
+             961:   48(fvec4) FMod 959 960
+             962:          76 CompositeConstruct 952 955 958 961
+             963:          76 Load 79(inF0)
+             964:          76 ExtInst 1(GLSL.std.450) 10(Fract) 963
+             965:          76 Load 79(inF0)
+             966:          76 Load 80(inF1)
+             967:          76 ExtInst 1(GLSL.std.450) 53(Ldexp) 965 966
              968:          76 Load 79(inF0)
-             969:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 968
-             970:          76 Load 79(inF0)
-             971:          76 ExtInst 1(GLSL.std.450) 27(Exp) 970
+             969:          76 Load 80(inF1)
+             970:          76 Load 81(inF2)
+             971:          76 ExtInst 1(GLSL.std.450) 46(FMix) 968 969 970
              972:          76 Load 79(inF0)
-             973:          76 ExtInst 1(GLSL.std.450) 29(Exp2) 972
-             974:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 164
-             975:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 164
-             976:          76 Load 79(inF0)
-             977:          76 ExtInst 1(GLSL.std.450) 8(Floor) 976
-             978:          76 Load 79(inF0)
-             979:          76 Load 80(inF1)
-             980:   48(fvec4) CompositeExtract 978 0
-             981:   48(fvec4) CompositeExtract 979 0
-             982:   48(fvec4) FMod 980 981
-             983:   48(fvec4) CompositeExtract 978 1
-             984:   48(fvec4) CompositeExtract 979 1
-             985:   48(fvec4) FMod 983 984
-             986:   48(fvec4) CompositeExtract 978 2
-             987:   48(fvec4) CompositeExtract 979 2
-             988:   48(fvec4) FMod 986 987
-             989:   48(fvec4) CompositeExtract 978 3
-             990:   48(fvec4) CompositeExtract 979 3
-             991:   48(fvec4) FMod 989 990
-             992:          76 CompositeConstruct 982 985 988 991
-             993:          76 Load 79(inF0)
-             994:          76 ExtInst 1(GLSL.std.450) 10(Fract) 993
-             995:          76 Load 79(inF0)
-             997:996(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 995
-             998:  558(ivec4) CompositeExtract 997 1
-                              Store 80(inF1) 998
-             999:          76 CompositeExtract 997 0
+             973:          76 ExtInst 1(GLSL.std.450) 28(Log) 972
+             974:          76 Load 79(inF0)
+             975:          76 ExtInst 1(GLSL.std.450) 30(Log2) 974
+             976:          76 MatrixTimesScalar 975 196
+             977:          76 Load 79(inF0)
+             978:          76 ExtInst 1(GLSL.std.450) 30(Log2) 977
+             979:          76 Load 79(inF0)
+             980:          76 Load 80(inF1)
+             981:          76 ExtInst 1(GLSL.std.450) 40(FMax) 979 980
+             982:          76 Load 79(inF0)
+             983:          76 Load 80(inF1)
+             984:          76 ExtInst 1(GLSL.std.450) 37(FMin) 982 983
+             985:          76 Load 79(inF0)
+             986:          76 Load 80(inF1)
+             987:          76 ExtInst 1(GLSL.std.450) 26(Pow) 985 986
+             988:          76 Load 79(inF0)
+             989:          76 ExtInst 1(GLSL.std.450) 11(Radians) 988
+             990:          76 Load 79(inF0)
+             991:          76 ExtInst 1(GLSL.std.450) 2(RoundEven) 990
+             992:          76 Load 79(inF0)
+             993:          76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 992
+             994:          76 Load 79(inF0)
+             995:   48(fvec4) CompositeConstruct 218 218 218 218
+             996:   48(fvec4) CompositeConstruct 219 219 219 219
+             997:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 994 995 996
+             998:          76 Load 79(inF0)
+             999:          76 ExtInst 1(GLSL.std.450) 6(FSign) 998
             1000:          76 Load 79(inF0)
-            1001:          76 Load 80(inF1)
-            1002:          76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1000 1001
-            1003:          76 Load 79(inF0)
-            1004:          76 Load 80(inF1)
-            1005:          76 Load 81(inF2)
-            1006:          76 ExtInst 1(GLSL.std.450) 46(FMix) 1003 1004 1005
-            1007:          76 Load 79(inF0)
-            1008:          76 ExtInst 1(GLSL.std.450) 28(Log) 1007
-            1009:          76 Load 79(inF0)
-            1010:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1009
-            1011:          76 MatrixTimesScalar 1010 201
+            1001:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1000
+            1002:          76 Load 79(inF0)
+            1003:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1002
+                              Store 80(inF1) 1003
+            1004:          76 Load 79(inF0)
+            1005:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1004
+                              Store 81(inF2) 1005
+            1006:          76 Load 79(inF0)
+            1007:          76 ExtInst 1(GLSL.std.450) 19(Sinh) 1006
+            1008:          76 Load 79(inF0)
+            1009:          76 Load 80(inF1)
+            1010:          76 Load 81(inF2)
+            1011:          76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1008 1009 1010
             1012:          76 Load 79(inF0)
-            1013:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1012
+            1013:          76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1012
             1014:          76 Load 79(inF0)
             1015:          76 Load 80(inF1)
-            1016:          76 ExtInst 1(GLSL.std.450) 40(FMax) 1014 1015
+            1016:          76 ExtInst 1(GLSL.std.450) 48(Step) 1014 1015
             1017:          76 Load 79(inF0)
-            1018:          76 Load 80(inF1)
-            1019:          76 ExtInst 1(GLSL.std.450) 37(FMin) 1017 1018
-            1020:          76 Load 79(inF0)
-            1021:          76 Load 80(inF1)
-            1022:          76 ExtInst 1(GLSL.std.450) 26(Pow) 1020 1021
+            1018:          76 ExtInst 1(GLSL.std.450) 15(Tan) 1017
+            1019:          76 Load 79(inF0)
+            1020:          76 ExtInst 1(GLSL.std.450) 21(Tanh) 1019
+            1021:          76 Load 79(inF0)
+            1022:          76 Transpose 1021
             1023:          76 Load 79(inF0)
-            1024:          76 ExtInst 1(GLSL.std.450) 11(Radians) 1023
-            1025:          76 Load 79(inF0)
-            1026:          76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1025
-            1027:          76 Load 79(inF0)
-            1028:          76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1027
-            1029:          76 Load 79(inF0)
-            1030:   48(fvec4) CompositeConstruct 223 223 223 223
-            1031:   48(fvec4) CompositeConstruct 224 224 224 224
-            1032:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1029 1030 1031
-            1033:          76 Load 79(inF0)
-            1034:          76 ExtInst 1(GLSL.std.450) 6(FSign) 1033
-            1035:          76 Load 79(inF0)
-            1036:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1035
-            1037:          76 Load 79(inF0)
-            1038:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1037
-                              Store 80(inF1) 1038
-            1039:          76 Load 79(inF0)
-            1040:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1039
-                              Store 81(inF2) 1040
-            1041:          76 Load 79(inF0)
-            1042:          76 ExtInst 1(GLSL.std.450) 19(Sinh) 1041
-            1043:          76 Load 79(inF0)
-            1044:          76 Load 80(inF1)
-            1045:          76 Load 81(inF2)
-            1046:          76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1043 1044 1045
-            1047:          76 Load 79(inF0)
-            1048:          76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1047
-            1049:          76 Load 79(inF0)
-            1050:          76 Load 80(inF1)
-            1051:          76 ExtInst 1(GLSL.std.450) 48(Step) 1049 1050
-            1052:          76 Load 79(inF0)
-            1053:          76 ExtInst 1(GLSL.std.450) 15(Tan) 1052
-            1054:          76 Load 79(inF0)
-            1055:          76 ExtInst 1(GLSL.std.450) 21(Tanh) 1054
-            1056:          76 Load 79(inF0)
-            1057:          76 Transpose 1056
-            1058:          76 Load 79(inF0)
-            1059:          76 ExtInst 1(GLSL.std.450) 3(Trunc) 1058
-                              ReturnValue 1061
+            1024:          76 ExtInst 1(GLSL.std.450) 3(Trunc) 1023
+                              ReturnValue 1026
                               FunctionEnd
 91(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 84
         85(inF0):      7(ptr) FunctionParameter
@@ -3981,51 +3890,51 @@ Shader version: 450
        89(inFM0):     61(ptr) FunctionParameter
        90(inFM1):     61(ptr) FunctionParameter
               92:             Label
-        1064(r0):      7(ptr) Variable Function
-        1068(r1):     25(ptr) Variable Function
-        1072(r2):     25(ptr) Variable Function
-        1076(r3):      7(ptr) Variable Function
-        1080(r4):     25(ptr) Variable Function
-        1084(r5):     25(ptr) Variable Function
-        1088(r6):     61(ptr) Variable Function
-        1092(r7):     61(ptr) Variable Function
-        1096(r8):     61(ptr) Variable Function
-            1065:    6(float) Load 86(inF1)
-            1066:    6(float) Load 85(inF0)
-            1067:    6(float) FMul 1065 1066
-                              Store 1064(r0) 1067
-            1069:    6(float) Load 85(inF0)
-            1070:   24(fvec2) Load 87(inFV0)
-            1071:   24(fvec2) VectorTimesScalar 1070 1069
-                              Store 1068(r1) 1071
-            1073:   24(fvec2) Load 87(inFV0)
-            1074:    6(float) Load 85(inF0)
-            1075:   24(fvec2) VectorTimesScalar 1073 1074
-                              Store 1072(r2) 1075
-            1077:   24(fvec2) Load 87(inFV0)
-            1078:   24(fvec2) Load 88(inFV1)
-            1079:    6(float) Dot 1077 1078
-                              Store 1076(r3) 1079
-            1081:   24(fvec2) Load 87(inFV0)
-            1082:          60 Load 89(inFM0)
-            1083:   24(fvec2) VectorTimesMatrix 1081 1082
-                              Store 1080(r4) 1083
-            1085:          60 Load 89(inFM0)
-            1086:   24(fvec2) Load 87(inFV0)
-            1087:   24(fvec2) MatrixTimesVector 1085 1086
-                              Store 1084(r5) 1087
-            1089:    6(float) Load 85(inF0)
-            1090:          60 Load 89(inFM0)
-            1091:          60 MatrixTimesScalar 1090 1089
-                              Store 1088(r6) 1091
-            1093:          60 Load 89(inFM0)
-            1094:    6(float) Load 85(inF0)
-            1095:          60 MatrixTimesScalar 1093 1094
-                              Store 1092(r7) 1095
-            1097:          60 Load 90(inFM1)
-            1098:          60 Load 89(inFM0)
-            1099:          60 MatrixTimesMatrix 1097 1098
-                              Store 1096(r8) 1099
+        1029(r0):      7(ptr) Variable Function
+        1033(r1):     25(ptr) Variable Function
+        1037(r2):     25(ptr) Variable Function
+        1041(r3):      7(ptr) Variable Function
+        1045(r4):     25(ptr) Variable Function
+        1049(r5):     25(ptr) Variable Function
+        1053(r6):     61(ptr) Variable Function
+        1057(r7):     61(ptr) Variable Function
+        1061(r8):     61(ptr) Variable Function
+            1030:    6(float) Load 86(inF1)
+            1031:    6(float) Load 85(inF0)
+            1032:    6(float) FMul 1030 1031
+                              Store 1029(r0) 1032
+            1034:    6(float) Load 85(inF0)
+            1035:   24(fvec2) Load 87(inFV0)
+            1036:   24(fvec2) VectorTimesScalar 1035 1034
+                              Store 1033(r1) 1036
+            1038:   24(fvec2) Load 87(inFV0)
+            1039:    6(float) Load 85(inF0)
+            1040:   24(fvec2) VectorTimesScalar 1038 1039
+                              Store 1037(r2) 1040
+            1042:   24(fvec2) Load 87(inFV0)
+            1043:   24(fvec2) Load 88(inFV1)
+            1044:    6(float) Dot 1042 1043
+                              Store 1041(r3) 1044
+            1046:   24(fvec2) Load 87(inFV0)
+            1047:          60 Load 89(inFM0)
+            1048:   24(fvec2) VectorTimesMatrix 1046 1047
+                              Store 1045(r4) 1048
+            1050:          60 Load 89(inFM0)
+            1051:   24(fvec2) Load 87(inFV0)
+            1052:   24(fvec2) MatrixTimesVector 1050 1051
+                              Store 1049(r5) 1052
+            1054:    6(float) Load 85(inF0)
+            1055:          60 Load 89(inFM0)
+            1056:          60 MatrixTimesScalar 1055 1054
+                              Store 1053(r6) 1056
+            1058:          60 Load 89(inFM0)
+            1059:    6(float) Load 85(inF0)
+            1060:          60 MatrixTimesScalar 1058 1059
+                              Store 1057(r7) 1060
+            1062:          60 Load 90(inFM1)
+            1063:          60 Load 89(inFM0)
+            1064:          60 MatrixTimesMatrix 1062 1063
+                              Store 1061(r8) 1064
                               Return
                               FunctionEnd
 100(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 93
@@ -4036,51 +3945,51 @@ Shader version: 450
        98(inFM0):     69(ptr) FunctionParameter
        99(inFM1):     69(ptr) FunctionParameter
              101:             Label
-        1100(r0):      7(ptr) Variable Function
-        1104(r1):     37(ptr) Variable Function
-        1108(r2):     37(ptr) Variable Function
-        1112(r3):      7(ptr) Variable Function
-        1116(r4):     37(ptr) Variable Function
-        1120(r5):     37(ptr) Variable Function
-        1124(r6):     69(ptr) Variable Function
-        1128(r7):     69(ptr) Variable Function
-        1132(r8):     69(ptr) Variable Function
-            1101:    6(float) Load 95(inF1)
-            1102:    6(float) Load 94(inF0)
-            1103:    6(float) FMul 1101 1102
-                              Store 1100(r0) 1103
-            1105:    6(float) Load 94(inF0)
-            1106:   36(fvec3) Load 96(inFV0)
-            1107:   36(fvec3) VectorTimesScalar 1106 1105
-                              Store 1104(r1) 1107
-            1109:   36(fvec3) Load 96(inFV0)
-            1110:    6(float) Load 94(inF0)
-            1111:   36(fvec3) VectorTimesScalar 1109 1110
-                              Store 1108(r2) 1111
-            1113:   36(fvec3) Load 96(inFV0)
-            1114:   36(fvec3) Load 97(inFV1)
-            1115:    6(float) Dot 1113 1114
-                              Store 1112(r3) 1115
-            1117:   36(fvec3) Load 96(inFV0)
-            1118:          68 Load 98(inFM0)
-            1119:   36(fvec3) VectorTimesMatrix 1117 1118
-                              Store 1116(r4) 1119
-            1121:          68 Load 98(inFM0)
-            1122:   36(fvec3) Load 96(inFV0)
-            1123:   36(fvec3) MatrixTimesVector 1121 1122
-                              Store 1120(r5) 1123
-            1125:    6(float) Load 94(inF0)
-            1126:          68 Load 98(inFM0)
-            1127:          68 MatrixTimesScalar 1126 1125
-                              Store 1124(r6) 1127
-            1129:          68 Load 98(inFM0)
-            1130:    6(float) Load 94(inF0)
-            1131:          68 MatrixTimesScalar 1129 1130
-                              Store 1128(r7) 1131
-            1133:          68 Load 99(inFM1)
-            1134:          68 Load 98(inFM0)
-            1135:          68 MatrixTimesMatrix 1133 1134
-                              Store 1132(r8) 1135
+        1065(r0):      7(ptr) Variable Function
+        1069(r1):     37(ptr) Variable Function
+        1073(r2):     37(ptr) Variable Function
+        1077(r3):      7(ptr) Variable Function
+        1081(r4):     37(ptr) Variable Function
+        1085(r5):     37(ptr) Variable Function
+        1089(r6):     69(ptr) Variable Function
+        1093(r7):     69(ptr) Variable Function
+        1097(r8):     69(ptr) Variable Function
+            1066:    6(float) Load 95(inF1)
+            1067:    6(float) Load 94(inF0)
+            1068:    6(float) FMul 1066 1067
+                              Store 1065(r0) 1068
+            1070:    6(float) Load 94(inF0)
+            1071:   36(fvec3) Load 96(inFV0)
+            1072:   36(fvec3) VectorTimesScalar 1071 1070
+                              Store 1069(r1) 1072
+            1074:   36(fvec3) Load 96(inFV0)
+            1075:    6(float) Load 94(inF0)
+            1076:   36(fvec3) VectorTimesScalar 1074 1075
+                              Store 1073(r2) 1076
+            1078:   36(fvec3) Load 96(inFV0)
+            1079:   36(fvec3) Load 97(inFV1)
+            1080:    6(float) Dot 1078 1079
+                              Store 1077(r3) 1080
+            1082:   36(fvec3) Load 96(inFV0)
+            1083:          68 Load 98(inFM0)
+            1084:   36(fvec3) VectorTimesMatrix 1082 1083
+                              Store 1081(r4) 1084
+            1086:          68 Load 98(inFM0)
+            1087:   36(fvec3) Load 96(inFV0)
+            1088:   36(fvec3) MatrixTimesVector 1086 1087
+                              Store 1085(r5) 1088
+            1090:    6(float) Load 94(inF0)
+            1091:          68 Load 98(inFM0)
+            1092:          68 MatrixTimesScalar 1091 1090
+                              Store 1089(r6) 1092
+            1094:          68 Load 98(inFM0)
+            1095:    6(float) Load 94(inF0)
+            1096:          68 MatrixTimesScalar 1094 1095
+                              Store 1093(r7) 1096
+            1098:          68 Load 99(inFM1)
+            1099:          68 Load 98(inFM0)
+            1100:          68 MatrixTimesMatrix 1098 1099
+                              Store 1097(r8) 1100
                               Return
                               FunctionEnd
 109(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 102
@@ -4091,51 +4000,51 @@ Shader version: 450
       107(inFM0):     77(ptr) FunctionParameter
       108(inFM1):     77(ptr) FunctionParameter
              110:             Label
-        1136(r0):      7(ptr) Variable Function
-        1140(r1):     49(ptr) Variable Function
-        1144(r2):     49(ptr) Variable Function
-        1148(r3):      7(ptr) Variable Function
-        1152(r4):     49(ptr) Variable Function
-        1156(r5):     49(ptr) Variable Function
-        1160(r6):     77(ptr) Variable Function
-        1164(r7):     77(ptr) Variable Function
-        1168(r8):     77(ptr) Variable Function
-            1137:    6(float) Load 104(inF1)
-            1138:    6(float) Load 103(inF0)
-            1139:    6(float) FMul 1137 1138
-                              Store 1136(r0) 1139
-            1141:    6(float) Load 103(inF0)
-            1142:   48(fvec4) Load 105(inFV0)
-            1143:   48(fvec4) VectorTimesScalar 1142 1141
-                              Store 1140(r1) 1143
-            1145:   48(fvec4) Load 105(inFV0)
-            1146:    6(float) Load 103(inF0)
-            1147:   48(fvec4) VectorTimesScalar 1145 1146
-                              Store 1144(r2) 1147
-            1149:   48(fvec4) Load 105(inFV0)
-            1150:   48(fvec4) Load 106(inFV1)
-            1151:    6(float) Dot 1149 1150
-                              Store 1148(r3) 1151
-            1153:   48(fvec4) Load 105(inFV0)
-            1154:          76 Load 107(inFM0)
-            1155:   48(fvec4) VectorTimesMatrix 1153 1154
-                              Store 1152(r4) 1155
-            1157:          76 Load 107(inFM0)
-            1158:   48(fvec4) Load 105(inFV0)
-            1159:   48(fvec4) MatrixTimesVector 1157 1158
-                              Store 1156(r5) 1159
-            1161:    6(float) Load 103(inF0)
-            1162:          76 Load 107(inFM0)
-            1163:          76 MatrixTimesScalar 1162 1161
-                              Store 1160(r6) 1163
-            1165:          76 Load 107(inFM0)
-            1166:    6(float) Load 103(inF0)
-            1167:          76 MatrixTimesScalar 1165 1166
-                              Store 1164(r7) 1167
-            1169:          76 Load 108(inFM1)
-            1170:          76 Load 107(inFM0)
-            1171:          76 MatrixTimesMatrix 1169 1170
-                              Store 1168(r8) 1171
+        1101(r0):      7(ptr) Variable Function
+        1105(r1):     49(ptr) Variable Function
+        1109(r2):     49(ptr) Variable Function
+        1113(r3):      7(ptr) Variable Function
+        1117(r4):     49(ptr) Variable Function
+        1121(r5):     49(ptr) Variable Function
+        1125(r6):     77(ptr) Variable Function
+        1129(r7):     77(ptr) Variable Function
+        1133(r8):     77(ptr) Variable Function
+            1102:    6(float) Load 104(inF1)
+            1103:    6(float) Load 103(inF0)
+            1104:    6(float) FMul 1102 1103
+                              Store 1101(r0) 1104
+            1106:    6(float) Load 103(inF0)
+            1107:   48(fvec4) Load 105(inFV0)
+            1108:   48(fvec4) VectorTimesScalar 1107 1106
+                              Store 1105(r1) 1108
+            1110:   48(fvec4) Load 105(inFV0)
+            1111:    6(float) Load 103(inF0)
+            1112:   48(fvec4) VectorTimesScalar 1110 1111
+                              Store 1109(r2) 1112
+            1114:   48(fvec4) Load 105(inFV0)
+            1115:   48(fvec4) Load 106(inFV1)
+            1116:    6(float) Dot 1114 1115
+                              Store 1113(r3) 1116
+            1118:   48(fvec4) Load 105(inFV0)
+            1119:          76 Load 107(inFM0)
+            1120:   48(fvec4) VectorTimesMatrix 1118 1119
+                              Store 1117(r4) 1120
+            1122:          76 Load 107(inFM0)
+            1123:   48(fvec4) Load 105(inFV0)
+            1124:   48(fvec4) MatrixTimesVector 1122 1123
+                              Store 1121(r5) 1124
+            1126:    6(float) Load 103(inF0)
+            1127:          76 Load 107(inFM0)
+            1128:          76 MatrixTimesScalar 1127 1126
+                              Store 1125(r6) 1128
+            1130:          76 Load 107(inFM0)
+            1131:    6(float) Load 103(inF0)
+            1132:          76 MatrixTimesScalar 1130 1131
+                              Store 1129(r7) 1132
+            1134:          76 Load 108(inFM1)
+            1135:          76 Load 107(inFM0)
+            1136:          76 MatrixTimesMatrix 1134 1135
+                              Store 1133(r8) 1136
                               Return
                               FunctionEnd
 129(TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;):           2 Function None 119
@@ -4149,90 +4058,90 @@ Shader version: 450
     127(inFM3x4):    116(ptr) FunctionParameter
     128(inFM2x4):    118(ptr) FunctionParameter
              130:             Label
-       1172(r00):      7(ptr) Variable Function
-       1176(r01):     25(ptr) Variable Function
-       1180(r02):     37(ptr) Variable Function
-       1184(r03):     25(ptr) Variable Function
-       1188(r04):     37(ptr) Variable Function
-       1192(r05):      7(ptr) Variable Function
-       1196(r06):      7(ptr) Variable Function
-       1200(r07):     37(ptr) Variable Function
-       1204(r08):     25(ptr) Variable Function
-       1208(r09):     25(ptr) Variable Function
-       1212(r10):     37(ptr) Variable Function
-       1216(r11):    112(ptr) Variable Function
-       1220(r12):    114(ptr) Variable Function
-       1224(r13):     61(ptr) Variable Function
-       1228(r14):    112(ptr) Variable Function
-       1232(r15):    118(ptr) Variable Function
-       1236(r16):    116(ptr) Variable Function
-            1173:    6(float) Load 121(inF1)
-            1174:    6(float) Load 120(inF0)
-            1175:    6(float) FMul 1173 1174
-                              Store 1172(r00) 1175
-            1177:    6(float) Load 120(inF0)
+       1137(r00):      7(ptr) Variable Function
+       1141(r01):     25(ptr) Variable Function
+       1145(r02):     37(ptr) Variable Function
+       1149(r03):     25(ptr) Variable Function
+       1153(r04):     37(ptr) Variable Function
+       1157(r05):      7(ptr) Variable Function
+       1161(r06):      7(ptr) Variable Function
+       1165(r07):     37(ptr) Variable Function
+       1169(r08):     25(ptr) Variable Function
+       1173(r09):     25(ptr) Variable Function
+       1177(r10):     37(ptr) Variable Function
+       1181(r11):    112(ptr) Variable Function
+       1185(r12):    114(ptr) Variable Function
+       1189(r13):     61(ptr) Variable Function
+       1193(r14):    112(ptr) Variable Function
+       1197(r15):    118(ptr) Variable Function
+       1201(r16):    116(ptr) Variable Function
+            1138:    6(float) Load 121(inF1)
+            1139:    6(float) Load 120(inF0)
+            1140:    6(float) FMul 1138 1139
+                              Store 1137(r00) 1140
+            1142:    6(float) Load 120(inF0)
+            1143:   24(fvec2) Load 122(inFV2)
+            1144:   24(fvec2) VectorTimesScalar 1143 1142
+                              Store 1141(r01) 1144
+            1146:    6(float) Load 120(inF0)
+            1147:   36(fvec3) Load 123(inFV3)
+            1148:   36(fvec3) VectorTimesScalar 1147 1146
+                              Store 1145(r02) 1148
+            1150:   24(fvec2) Load 122(inFV2)
+            1151:    6(float) Load 120(inF0)
+            1152:   24(fvec2) VectorTimesScalar 1150 1151
+                              Store 1149(r03) 1152
+            1154:   36(fvec3) Load 123(inFV3)
+            1155:    6(float) Load 120(inF0)
+            1156:   36(fvec3) VectorTimesScalar 1154 1155
+                              Store 1153(r04) 1156
+            1158:   24(fvec2) Load 122(inFV2)
+            1159:   24(fvec2) Load 122(inFV2)
+            1160:    6(float) Dot 1158 1159
+                              Store 1157(r05) 1160
+            1162:   36(fvec3) Load 123(inFV3)
+            1163:   36(fvec3) Load 123(inFV3)
+            1164:    6(float) Dot 1162 1163
+                              Store 1161(r06) 1164
+            1166:         111 Load 124(inFM2x3)
+            1167:   24(fvec2) Load 122(inFV2)
+            1168:   36(fvec3) MatrixTimesVector 1166 1167
+                              Store 1165(r07) 1168
+            1170:         113 Load 125(inFM3x2)
+            1171:   36(fvec3) Load 123(inFV3)
+            1172:   24(fvec2) MatrixTimesVector 1170 1171
+                              Store 1169(r08) 1172
+            1174:   36(fvec3) Load 123(inFV3)
+            1175:         111 Load 124(inFM2x3)
+            1176:   24(fvec2) VectorTimesMatrix 1174 1175
+                              Store 1173(r09) 1176
             1178:   24(fvec2) Load 122(inFV2)
-            1179:   24(fvec2) VectorTimesScalar 1178 1177
-                              Store 1176(r01) 1179
-            1181:    6(float) Load 120(inF0)
-            1182:   36(fvec3) Load 123(inFV3)
-            1183:   36(fvec3) VectorTimesScalar 1182 1181
-                              Store 1180(r02) 1183
-            1185:   24(fvec2) Load 122(inFV2)
+            1179:         113 Load 125(inFM3x2)
+            1180:   36(fvec3) VectorTimesMatrix 1178 1179
+                              Store 1177(r10) 1180
+            1182:    6(float) Load 120(inF0)
+            1183:         111 Load 124(inFM2x3)
+            1184:         111 MatrixTimesScalar 1183 1182
+                              Store 1181(r11) 1184
             1186:    6(float) Load 120(inF0)
-            1187:   24(fvec2) VectorTimesScalar 1185 1186
-                              Store 1184(r03) 1187
-            1189:   36(fvec3) Load 123(inFV3)
-            1190:    6(float) Load 120(inF0)
-            1191:   36(fvec3) VectorTimesScalar 1189 1190
-                              Store 1188(r04) 1191
-            1193:   24(fvec2) Load 122(inFV2)
-            1194:   24(fvec2) Load 122(inFV2)
-            1195:    6(float) Dot 1193 1194
-                              Store 1192(r05) 1195
-            1197:   36(fvec3) Load 123(inFV3)
-            1198:   36(fvec3) Load 123(inFV3)
-            1199:    6(float) Dot 1197 1198
-                              Store 1196(r06) 1199
-            1201:         111 Load 124(inFM2x3)
-            1202:   24(fvec2) Load 122(inFV2)
-            1203:   36(fvec3) MatrixTimesVector 1201 1202
-                              Store 1200(r07) 1203
-            1205:         113 Load 125(inFM3x2)
-            1206:   36(fvec3) Load 123(inFV3)
-            1207:   24(fvec2) MatrixTimesVector 1205 1206
-                              Store 1204(r08) 1207
-            1209:   36(fvec3) Load 123(inFV3)
-            1210:         111 Load 124(inFM2x3)
-            1211:   24(fvec2) VectorTimesMatrix 1209 1210
-                              Store 1208(r09) 1211
-            1213:   24(fvec2) Load 122(inFV2)
-            1214:         113 Load 125(inFM3x2)
-            1215:   36(fvec3) VectorTimesMatrix 1213 1214
-                              Store 1212(r10) 1215
-            1217:    6(float) Load 120(inF0)
-            1218:         111 Load 124(inFM2x3)
-            1219:         111 MatrixTimesScalar 1218 1217
-                              Store 1216(r11) 1219
-            1221:    6(float) Load 120(inF0)
-            1222:         113 Load 125(inFM3x2)
-            1223:         113 MatrixTimesScalar 1222 1221
-                              Store 1220(r12) 1223
-            1225:         113 Load 125(inFM3x2)
-            1226:         111 Load 124(inFM2x3)
-            1227:          60 MatrixTimesMatrix 1225 1226
-                              Store 1224(r13) 1227
-            1229:          68 Load 126(inFM3x3)
-            1230:         111 Load 124(inFM2x3)
-            1231:         111 MatrixTimesMatrix 1229 1230
-                              Store 1228(r14) 1231
-            1233:         115 Load 127(inFM3x4)
-            1234:         111 Load 124(inFM2x3)
-            1235:         117 MatrixTimesMatrix 1233 1234
-                              Store 1232(r15) 1235
-            1237:         117 Load 128(inFM2x4)
-            1238:         113 Load 125(inFM3x2)
-            1239:         115 MatrixTimesMatrix 1237 1238
-                              Store 1236(r16) 1239
+            1187:         113 Load 125(inFM3x2)
+            1188:         113 MatrixTimesScalar 1187 1186
+                              Store 1185(r12) 1188
+            1190:         113 Load 125(inFM3x2)
+            1191:         111 Load 124(inFM2x3)
+            1192:          60 MatrixTimesMatrix 1190 1191
+                              Store 1189(r13) 1192
+            1194:          68 Load 126(inFM3x3)
+            1195:         111 Load 124(inFM2x3)
+            1196:         111 MatrixTimesMatrix 1194 1195
+                              Store 1193(r14) 1196
+            1198:         115 Load 127(inFM3x4)
+            1199:         111 Load 124(inFM2x3)
+            1200:         117 MatrixTimesMatrix 1198 1199
+                              Store 1197(r15) 1200
+            1202:         117 Load 128(inFM2x4)
+            1203:         113 Load 125(inFM3x2)
+            1204:         115 MatrixTimesMatrix 1202 1203
+                              Store 1201(r16) 1204
                               Return
                               FunctionEnd
diff --git a/Test/hlsl.intrinsic.frexp.frag b/Test/hlsl.intrinsic.frexp.frag
new file mode 100644
index 0000000000000000000000000000000000000000..fde87c9daa34be8ac5c270b470eb4e5bb32ad07a
--- /dev/null
+++ b/Test/hlsl.intrinsic.frexp.frag
@@ -0,0 +1,37 @@
+
+float PixelShaderFunctionS(float inF0, float inF1)
+{
+    float r000 = frexp(inF0, inF1);
+    return 0.0;
+}
+
+float2 PixelShaderFunction2(float2 inF0, float2 inF1)
+{
+    float2 r000 = frexp(inF0, inF1);
+    return float2(1,2);
+}
+
+float3 PixelShaderFunction3(float3 inF0, float3 inF1)
+{
+    float3 r000 = frexp(inF0, inF1);
+    return float3(1,2,3);
+}
+
+float4 PixelShaderFunction(float4 inF0, float4 inF1)
+{
+    float4 r000 = frexp(inF0, inF1);
+    return float4(1,2,3,4);
+}
+
+// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
+#define MATFNS(MT)                          \
+    MT r000 = frexp(inF0, inF1);
+
+struct PS_OUTPUT { float4 color : SV_Target0; };
+
+PS_OUTPUT main()
+{
+    PS_OUTPUT ps_output;
+    ps_output.color = 1.0;
+    return ps_output;
+};
diff --git a/Test/hlsl.intrinsic.frexp.vert b/Test/hlsl.intrinsic.frexp.vert
new file mode 100644
index 0000000000000000000000000000000000000000..f0fd5e00151519e48d9420fab0aecf4bd13272f3
--- /dev/null
+++ b/Test/hlsl.intrinsic.frexp.vert
@@ -0,0 +1,28 @@
+float VertexShaderFunctionS(float inF0, float inF1)
+{
+    frexp(inF0, inF1);
+    return 0.0;
+}
+
+float2 VertexShaderFunction2(float2 inF0, float2 inF1)
+{
+    frexp(inF0, inF1);
+    return float2(1,2);
+}
+
+float3 VertexShaderFunction3(float3 inF0, float3 inF1)
+{
+    frexp(inF0, inF1);
+    return float3(1,2,3);
+}
+
+float4 VertexShaderFunction4(float4 inF0, float4 inF1)
+{
+    frexp(inF0, inF1);
+    return float4(1,2,3,4);
+}
+
+// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
+#define MATFNS() \
+    frexp(inF0, inF1);
+
diff --git a/Test/hlsl.intrinsics.frag b/Test/hlsl.intrinsics.frag
index 15db6376ca1a002a786689eec956f0e0103b4691..029b156ff0706826cf229d6c4c6dc82a885d1885 100644
--- a/Test/hlsl.intrinsics.frag
+++ b/Test/hlsl.intrinsics.frag
@@ -52,7 +52,6 @@ float PixelShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint i
     // TODO: fma(inD0, inD1, inD2);
     float r033 = fmod(inF0, inF1);
     float r034 = frac(inF0);
-    float r035 = frexp(inF0, inF1);
     float r036 = fwidth(inF0);
     bool r037 = isinf(inF0);
     bool r038 = isnan(inF0);
@@ -136,7 +135,6 @@ float2 PixelShaderFunction2(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, u
     // TODO: fma(inD0, inD1, inD2);
     float2 r035 = fmod(inF0, inF1);
     float2 r036 = frac(inF0);
-    float2 r037 = frexp(inF0, inF1);
     float2 r038 = fwidth(inF0);
     bool2 r039 = isinf(inF0);
     bool2 r040 = isnan(inF0);
@@ -217,7 +215,6 @@ float3 PixelShaderFunction3(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, u
     // TODO: fma(inD0, inD1, inD2);
     float3 r036 = fmod(inF0, inF1);
     float3 r037 = frac(inF0);
-    float3 r038 = frexp(inF0, inF1);
     float3 r039 = fwidth(inF0);
     bool3 r040 = isinf(inF0);
     bool3 r041 = isnan(inF0);
@@ -299,7 +296,6 @@ float4 PixelShaderFunction(float4 inF0, float4 inF1, float4 inF2, uint4 inU0, ui
     // TODO: fma(inD0, inD1, inD2);
     float4 r036 = fmod(inF0, inF1);
     float4 r037 = frac(inF0);
-    float4 r038 = frexp(inF0, inF1);
     float4 r039 = fwidth(inF0);
     bool4 r040 = isinf(inF0);
     bool4 r041 = isnan(inF0);
@@ -369,7 +365,6 @@ float4 PixelShaderFunction(float4 inF0, float4 inF1, float4 inF2, uint4 inU0, ui
     MT r021 = floor(inF0);                  \
     MT r022 = fmod(inF0, inF1);             \
     MT r023 = frac(inF0);                   \
-    MT r024 = frexp(inF0, inF1);            \
     MT r025 = fwidth(inF0);                 \
     MT r026 = ldexp(inF0, inF1);            \
     MT r026a = lerp(inF0, inF1, inF2);      \
diff --git a/Test/hlsl.intrinsics.vert b/Test/hlsl.intrinsics.vert
index de9476cbd095734b86ff18b5d766813abf54f019..c442f16a500cd2d66b36bd8aa7c422e8873e3ece 100644
--- a/Test/hlsl.intrinsics.vert
+++ b/Test/hlsl.intrinsics.vert
@@ -28,7 +28,6 @@ float VertexShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint
     // TODO: fma(inD0, inD1, inD2);
     fmod(inF0, inF1);
     frac(inF0);
-    frexp(inF0, inF1);
     isinf(inF0);
     isnan(inF0);
     ldexp(inF0, inF1);
@@ -99,7 +98,6 @@ float2 VertexShaderFunction2(float2 inF0, float2 inF1, float2 inF2, uint2 inU0,
     // TODO: fma(inD0, inD1, inD2);
     fmod(inF0, inF1);
     frac(inF0);
-    frexp(inF0, inF1);
     isinf(inF0);
     isnan(inF0);
     ldexp(inF0, inF1);
@@ -170,7 +168,6 @@ float3 VertexShaderFunction3(float3 inF0, float3 inF1, float3 inF2, uint3 inU0,
     // TODO: fma(inD0, inD1, inD2);
     fmod(inF0, inF1);
     frac(inF0);
-    frexp(inF0, inF1);
     isinf(inF0);
     isnan(inF0);
     ldexp(inF0, inF1);
@@ -241,7 +238,6 @@ float4 VertexShaderFunction4(float4 inF0, float4 inF1, float4 inF2, uint4 inU0,
     // TODO: fma(inD0, inD1, inD2);
     fmod(inF0, inF1);
     frac(inF0);
-    frexp(inF0, inF1);
     isinf(inF0);
     isnan(inF0);
     ldexp(inF0, inF1);
@@ -305,7 +301,6 @@ float4 VertexShaderFunction4(float4 inF0, float4 inF1, float4 inF2, uint4 inU0,
     floor(inF0); \
     fmod(inF0, inF1); \
     frac(inF0); \
-    frexp(inF0, inF1); \
     ldexp(inF0, inF1); \
     lerp(inF0, inF1, inF2); \
     log(inF0); \
diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp
index 0b68aeab8275f64a5729081c72920fc0b3ebc316..185435a9aae1f0c02643f4d85f4a7f9fcb1bd9a4 100644
--- a/gtests/Hlsl.FromFile.cpp
+++ b/gtests/Hlsl.FromFile.cpp
@@ -138,6 +138,7 @@ INSTANTIATE_TEST_CASE_P(
         {"hlsl.intrinsics.f1632.frag", "main"},
         {"hlsl.intrinsics.f3216.frag", "main"},
         {"hlsl.intrinsics.frag", "main"},
+        {"hlsl.intrinsic.frexp.frag", "main"},
         {"hlsl.intrinsics.lit.frag", "PixelShaderFunction"},
         {"hlsl.intrinsics.negative.comp", "ComputeShaderFunction"},
         {"hlsl.intrinsics.negative.frag", "PixelShaderFunction"},
@@ -239,6 +240,7 @@ INSTANTIATE_TEST_CASE_P(
         {"hlsl.structStructName.frag", "main"},
         {"hlsl.this.frag", "main"},
         {"hlsl.intrinsics.vert", "VertexShaderFunction"},
+        {"hlsl.intrinsic.frexp.vert", "VertexShaderFunction"},
         {"hlsl.matType.frag", "PixelShaderFunction"},
         {"hlsl.matType.bool.frag", "main"},
         {"hlsl.matType.int.frag", "main"},