; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 1
; Bound: 66
; Schema: 0
               OpCapability Geometry
               OpCapability GeometryPointSize
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Geometry %main "main" %_ %gl_in %out_interpolators %in_interpolators
               OpExecutionMode %main InputLinesAdjacency
               OpExecutionMode %main Invocations 1
               OpExecutionMode %main OutputTriangleStrip
               OpExecutionMode %main OutputVertices 4
               OpSource GLSL 450
               OpName %main "main"
               OpName %i "i"
               OpName %input_index "input_index"
               OpName %indexable "indexable"
               OpName %gl_PerVertex "gl_PerVertex"
               OpMemberName %gl_PerVertex 0 "gl_Position"
               OpMemberName %gl_PerVertex 1 "gl_PointSize"
               OpName %_ ""
               OpName %gl_PerVertex_0 "gl_PerVertex"
               OpMemberName %gl_PerVertex_0 0 "gl_Position"
               OpMemberName %gl_PerVertex_0 1 "gl_PointSize"
               OpName %gl_in "gl_in"
               OpName %out_interpolators "out_interpolators"
               OpName %in_interpolators "in_interpolators"
               OpMemberDecorate %gl_PerVertex 0 BuiltIn Position
               OpMemberDecorate %gl_PerVertex 1 BuiltIn PointSize
               OpDecorate %gl_PerVertex Block
               OpMemberDecorate %gl_PerVertex_0 0 BuiltIn Position
               OpMemberDecorate %gl_PerVertex_0 1 BuiltIn PointSize
               OpDecorate %gl_PerVertex_0 Block
               OpDecorate %out_interpolators Location 0
               OpDecorate %in_interpolators Location 0
       %void = OpTypeVoid
          %3 = OpTypeFunction %void
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
          %9 = OpConstant %int 0
         %16 = OpConstant %int 4
       %bool = OpTypeBool
       %uint = OpTypeInt 32 0
         %21 = OpConstant %uint 4
%_arr_int_21 = OpTypeArray %int %21
         %23 = OpConstant %int 1
         %24 = OpConstant %int 3
         %25 = OpConstant %int 2
         %26 = OpConstantComposite %_arr_int_21 %9 %23 %24 %25
%_ptr_Function__arr_int_21 = OpTypePointer Function %_arr_int_21
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%gl_PerVertex = OpTypeStruct %v4float %float
%_ptr_Output_gl_PerVertex = OpTypePointer Output %gl_PerVertex
          %_ = OpVariable %_ptr_Output_gl_PerVertex Output
%gl_PerVertex_0 = OpTypeStruct %v4float %float
%_arr_gl_PerVertex_0_21 = OpTypeArray %gl_PerVertex_0 %21
%_ptr_Input__arr_gl_PerVertex_0_21 = OpTypePointer Input %_arr_gl_PerVertex_0_21
      %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_0_21 Input
%_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_ptr_Input_float = OpTypePointer Input %float
%_ptr_Output_float = OpTypePointer Output %float
         %53 = OpConstant %uint 16
%_arr_v4float_53 = OpTypeArray %v4float %53
%_ptr_Output__arr_v4float_53 = OpTypePointer Output %_arr_v4float_53
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_53 Output
%_arr__arr_v4float_53_21 = OpTypeArray %_arr_v4float_53 %21
%_ptr_Input__arr__arr_v4float_53_21 = OpTypePointer Input %_arr__arr_v4float_53_21
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_53_21 Input
%_ptr_Input__arr_v4float_53 = OpTypePointer Input %_arr_v4float_53
       %main = OpFunction %void None %3
          %5 = OpLabel
          %i = OpVariable %_ptr_Function_int Function
%input_index = OpVariable %_ptr_Function_int Function
  %indexable = OpVariable %_ptr_Function__arr_int_21 Function
               OpStore %i %9
               OpBranch %10
         %10 = OpLabel
               OpLoopMerge %12 %13 None
               OpBranch %14
         %14 = OpLabel
         %15 = OpLoad %int %i
         %18 = OpSLessThan %bool %15 %16
               OpBranchConditional %18 %11 %12
         %11 = OpLabel
         %27 = OpLoad %int %i
               OpStore %indexable %26
         %30 = OpAccessChain %_ptr_Function_int %indexable %27
         %31 = OpLoad %int %30
               OpStore %input_index %31
         %41 = OpLoad %int %input_index
         %43 = OpAccessChain %_ptr_Input_v4float %gl_in %41 %9
         %44 = OpLoad %v4float %43
         %46 = OpAccessChain %_ptr_Output_v4float %_ %9
               OpStore %46 %44
         %47 = OpLoad %int %input_index
         %49 = OpAccessChain %_ptr_Input_float %gl_in %47 %23
         %50 = OpLoad %float %49
         %52 = OpAccessChain %_ptr_Output_float %_ %23
               OpStore %52 %50
         %60 = OpLoad %int %input_index
         %62 = OpAccessChain %_ptr_Input__arr_v4float_53 %in_interpolators %60
         %63 = OpLoad %_arr_v4float_53 %62
               OpStore %out_interpolators %63
               OpEmitVertex
               OpBranch %13
         %13 = OpLabel
         %64 = OpLoad %int %i
         %65 = OpIAdd %int %64 %23
               OpStore %i %65
               OpBranch %10
         %12 = OpLabel
               OpEndPrimitive
               OpReturn
               OpFunctionEnd
