spv.length.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 33

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 14 26
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 140
                              Name 4  "main"
                              Name 9  "t"
                              Name 14  "v"
                              Name 26  "gl_FragColor"
                              Name 32  "u"
                              Decorate 14(v) Location 0
                              Decorate 26(gl_FragColor) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 2
               8:             TypePointer Function 7(fvec2)
              10:             TypeInt 32 0
              11:     10(int) Constant 2
              12:             TypeArray 7(fvec2) 11
              13:             TypePointer Input 12
           14(v):     13(ptr) Variable Input
              15:             TypeInt 32 1
              16:     15(int) Constant 0
              17:             TypePointer Input 7(fvec2)
              20:     15(int) Constant 1
              24:             TypeVector 6(float) 4
              25:             TypePointer Output 24(fvec4)
26(gl_FragColor):     25(ptr) Variable Output
              27:    6(float) Constant 1106247680
              28:   24(fvec4) ConstantComposite 27 27 27 27
              29:     10(int) Constant 3
              30:             TypeArray 24(fvec4) 29
              31:             TypePointer Private 30
           32(u):     31(ptr) Variable Private
         4(main):           2 Function None 3
               5:             Label
            9(t):      8(ptr) Variable Function
              18:     17(ptr) AccessChain 14(v) 16
              19:    7(fvec2) Load 18
              21:     17(ptr) AccessChain 14(v) 20
              22:    7(fvec2) Load 21
              23:    7(fvec2) FAdd 19 22
                              Store 9(t) 23
                              Store 26(gl_FragColor) 28
                              Return
                              FunctionEnd
