hlsl.partialFlattenLocal.vert
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 159

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 83 86
                              Source HLSL 500
                              Name 4  "main"
                              Name 83  "pos"
                              Name 86  "@entryPointOutput"
                              Decorate 83(pos) Location 0
                              Decorate 86(@entryPointOutput) BuiltIn Position
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
              14:             TypeVector 6(float) 3
              15:             TypeInt 32 0
              16:     15(int) Constant 3
              17:             TypeArray 14(fvec3) 16
              18:             TypeVector 6(float) 2
              19:     15(int) Constant 2
              20:             TypeArray 18(fvec2) 19
              21:             TypeInt 32 1
              25:     21(int) Constant 0
              31:     21(int) Constant 1
              32:    6(float) Constant 0
              33:   14(fvec3) ConstantComposite 32 32 32
              34:             TypePointer Function 14(fvec3)
              37:    6(float) Constant 1065353216
              38:   18(fvec2) ConstantComposite 32 37
              39:             TypePointer Function 18(fvec2)
              54:             TypeBool
              82:             TypePointer Input 7(fvec4)
         83(pos):     82(ptr) Variable Input
              85:             TypePointer Output 7(fvec4)
86(@entryPointOutput):     85(ptr) Variable Output
             131:             TypePointer Function 17
             133:             TypePointer Function 20
         4(main):           2 Function None 3
               5:             Label
             134:    133(ptr) Variable Function
             132:    131(ptr) Variable Function
              84:    7(fvec4) Load 83(pos)
             137:     34(ptr) AccessChain 132 25
                              Store 137 33
             138:     39(ptr) AccessChain 134 25
                              Store 138 38
                              Branch 101
             101:             Label
             158:     21(int) Phi 25 5 119 105
             104:    54(bool) SLessThan 158 31
                              LoopMerge 120 105 None
                              BranchConditional 104 105 120
             105:               Label
             139:     39(ptr)   AccessChain 134 158
             109:   18(fvec2)   Load 139
             140:     34(ptr)   AccessChain 132 158
             111:   14(fvec3)   Load 140
             112:   18(fvec2)   VectorShuffle 111 111 0 1
             113:   18(fvec2)   FAdd 112 109
             141:     34(ptr)   AccessChain 132 158
             115:   14(fvec3)   Load 141
             116:   14(fvec3)   VectorShuffle 115 113 3 4 2
                                Store 141 116
             119:     21(int)   IAdd 158 31
                                Branch 101
             120:             Label
             143:          17 Load 132
             157:   14(fvec3) CompositeExtract 143 0
             125:    6(float) CompositeExtract 157 0
             126:    6(float) CompositeExtract 157 1
             127:    6(float) CompositeExtract 157 2
             128:    7(fvec4) CompositeConstruct 125 126 127 32
             129:    7(fvec4) FAdd 84 128
                              Store 86(@entryPointOutput) 129
                              Return
                              FunctionEnd
