; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 1
; Bound: 200
; 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 Triangles
               OpExecutionMode %main Invocations 1
               OpExecutionMode %main OutputTriangleStrip
               OpExecutionMode %main OutputVertices 6
               OpSource GLSL 450
               OpName %main "main"
               OpName %left_aligned "left_aligned"
               OpName %gl_PerVertex "gl_PerVertex"
               OpMemberName %gl_PerVertex 0 "gl_Position"
               OpMemberName %gl_PerVertex 1 "gl_PointSize"
               OpName %gl_in "gl_in"
               OpName %gl_PerVertex_0 "gl_PerVertex"
               OpMemberName %gl_PerVertex_0 0 "gl_Position"
               OpMemberName %gl_PerVertex_0 1 "gl_PointSize"
               OpName %_ ""
               OpName %out_interpolators "out_interpolators"
               OpName %in_interpolators "in_interpolators"
               OpName %i "i"
               OpName %i_0 "i"
               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
       %bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%gl_PerVertex = OpTypeStruct %v4float %float
       %uint = OpTypeInt 32 0
         %13 = OpConstant %uint 3
%_arr_gl_PerVertex_13 = OpTypeArray %gl_PerVertex %13
%_ptr_Input__arr_gl_PerVertex_13 = OpTypePointer Input %_arr_gl_PerVertex_13
      %gl_in = OpVariable %_ptr_Input__arr_gl_PerVertex_13 Input
        %int = OpTypeInt 32 1
         %18 = OpConstant %int 0
         %19 = OpConstant %uint 0
%_ptr_Input_float = OpTypePointer Input %float
         %23 = OpConstant %int 2
%gl_PerVertex_0 = OpTypeStruct %v4float %float
%_ptr_Output_gl_PerVertex_0 = OpTypePointer Output %gl_PerVertex_0
          %_ = OpVariable %_ptr_Output_gl_PerVertex_0 Output
%_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float
         %38 = OpConstant %int 1
%_ptr_Output_float = OpTypePointer Output %float
         %43 = OpConstant %uint 16
%_arr_v4float_43 = OpTypeArray %v4float %43
%_ptr_Output__arr_v4float_43 = OpTypePointer Output %_arr_v4float_43
%out_interpolators = OpVariable %_ptr_Output__arr_v4float_43 Output
%_arr__arr_v4float_43_13 = OpTypeArray %_arr_v4float_43 %13
%_ptr_Input__arr__arr_v4float_43_13 = OpTypePointer Input %_arr__arr_v4float_43_13
%in_interpolators = OpVariable %_ptr_Input__arr__arr_v4float_43_13 Input
%_ptr_Input__arr_v4float_43 = OpTypePointer Input %_arr_v4float_43
%_ptr_Function_int = OpTypePointer Function %int
        %105 = OpConstant %int 16
       %main = OpFunction %void None %3
          %5 = OpLabel
%left_aligned = OpVariable %_ptr_Function_bool Function
          %i = OpVariable %_ptr_Function_int Function
        %i_0 = OpVariable %_ptr_Function_int Function
         %21 = OpAccessChain %_ptr_Input_float %gl_in %18 %18 %19
         %22 = OpLoad %float %21
         %24 = OpAccessChain %_ptr_Input_float %gl_in %23 %18 %19
         %25 = OpLoad %float %24
         %26 = OpFOrdEqual %bool %22 %25
               OpStore %left_aligned %26
         %27 = OpLoad %bool %left_aligned
               OpSelectionMerge %29 None
               OpBranchConditional %27 %28 %123
         %28 = OpLabel
         %34 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
         %35 = OpLoad %v4float %34
         %37 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %37 %35
         %39 = OpAccessChain %_ptr_Input_float %gl_in %18 %38
         %40 = OpLoad %float %39
         %42 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %42 %40
         %51 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18
         %52 = OpLoad %_arr_v4float_43 %51
               OpStore %out_interpolators %52
               OpEmitVertex
         %53 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
         %54 = OpLoad %v4float %53
         %55 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %55 %54
         %56 = OpAccessChain %_ptr_Input_float %gl_in %38 %38
         %57 = OpLoad %float %56
         %58 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %58 %57
         %59 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38
         %60 = OpLoad %_arr_v4float_43 %59
               OpStore %out_interpolators %60
               OpEmitVertex
         %61 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
         %62 = OpLoad %v4float %61
         %63 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %63 %62
         %64 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
         %65 = OpLoad %float %64
         %66 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %66 %65
         %67 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23
         %68 = OpLoad %_arr_v4float_43 %67
               OpStore %out_interpolators %68
               OpEmitVertex
               OpEndPrimitive
         %69 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
         %70 = OpLoad %v4float %69
         %71 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %71 %70
         %72 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
         %73 = OpLoad %float %72
         %74 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %74 %73
         %75 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23
         %76 = OpLoad %_arr_v4float_43 %75
               OpStore %out_interpolators %76
               OpEmitVertex
         %77 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
         %78 = OpLoad %v4float %77
         %79 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %79 %78
         %80 = OpAccessChain %_ptr_Input_float %gl_in %38 %38
         %81 = OpLoad %float %80
         %82 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %82 %81
         %83 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38
         %84 = OpLoad %_arr_v4float_43 %83
               OpStore %out_interpolators %84
               OpEmitVertex
         %85 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
         %86 = OpLoad %v4float %85
         %87 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
         %88 = OpLoad %v4float %87
         %89 = OpFAdd %v4float %86 %88
         %90 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
         %91 = OpLoad %v4float %90
         %92 = OpFSub %v4float %89 %91
         %93 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %93 %92
         %94 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
         %95 = OpLoad %float %94
         %96 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %96 %95
               OpStore %i %18
               OpBranch %99
         %99 = OpLabel
               OpLoopMerge %101 %102 None
               OpBranch %103
        %103 = OpLabel
        %104 = OpLoad %int %i
        %106 = OpSLessThan %bool %104 %105
               OpBranchConditional %106 %100 %101
        %100 = OpLabel
        %107 = OpLoad %int %i
        %108 = OpLoad %int %i
        %109 = OpAccessChain %_ptr_Input_v4float %in_interpolators %18 %108
        %110 = OpLoad %v4float %109
        %111 = OpFNegate %v4float %110
        %112 = OpLoad %int %i
        %113 = OpAccessChain %_ptr_Input_v4float %in_interpolators %38 %112
        %114 = OpLoad %v4float %113
        %115 = OpFAdd %v4float %111 %114
        %116 = OpLoad %int %i
        %117 = OpAccessChain %_ptr_Input_v4float %in_interpolators %23 %116
        %118 = OpLoad %v4float %117
        %119 = OpFAdd %v4float %115 %118
        %120 = OpAccessChain %_ptr_Output_v4float %out_interpolators %107
               OpStore %120 %119
               OpBranch %102
        %102 = OpLabel
        %121 = OpLoad %int %i
        %122 = OpIAdd %int %121 %38
               OpStore %i %122
               OpBranch %99
        %101 = OpLabel
               OpEmitVertex
               OpEndPrimitive
               OpBranch %29
        %123 = OpLabel
        %124 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
        %125 = OpLoad %v4float %124
        %126 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %126 %125
        %127 = OpAccessChain %_ptr_Input_float %gl_in %18 %38
        %128 = OpLoad %float %127
        %129 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %129 %128
        %130 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18
        %131 = OpLoad %_arr_v4float_43 %130
               OpStore %out_interpolators %131
               OpEmitVertex
        %132 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
        %133 = OpLoad %v4float %132
        %134 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %134 %133
        %135 = OpAccessChain %_ptr_Input_float %gl_in %38 %38
        %136 = OpLoad %float %135
        %137 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %137 %136
        %138 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %38
        %139 = OpLoad %_arr_v4float_43 %138
               OpStore %out_interpolators %139
               OpEmitVertex
        %140 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
        %141 = OpLoad %v4float %140
        %142 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %142 %141
        %143 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
        %144 = OpLoad %float %143
        %145 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %145 %144
        %146 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23
        %147 = OpLoad %_arr_v4float_43 %146
               OpStore %out_interpolators %147
               OpEmitVertex
               OpEndPrimitive
        %148 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
        %149 = OpLoad %v4float %148
        %150 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %150 %149
        %151 = OpAccessChain %_ptr_Input_float %gl_in %18 %38
        %152 = OpLoad %float %151
        %153 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %153 %152
        %154 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %18
        %155 = OpLoad %_arr_v4float_43 %154
               OpStore %out_interpolators %155
               OpEmitVertex
        %156 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
        %157 = OpLoad %v4float %156
        %158 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %158 %157
        %159 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
        %160 = OpLoad %float %159
        %161 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %161 %160
        %162 = OpAccessChain %_ptr_Input__arr_v4float_43 %in_interpolators %23
        %163 = OpLoad %_arr_v4float_43 %162
               OpStore %out_interpolators %163
               OpEmitVertex
        %164 = OpAccessChain %_ptr_Input_v4float %gl_in %18 %18
        %165 = OpLoad %v4float %164
        %166 = OpAccessChain %_ptr_Input_v4float %gl_in %23 %18
        %167 = OpLoad %v4float %166
        %168 = OpFAdd %v4float %165 %167
        %169 = OpAccessChain %_ptr_Input_v4float %gl_in %38 %18
        %170 = OpLoad %v4float %169
        %171 = OpFSub %v4float %168 %170
        %172 = OpAccessChain %_ptr_Output_v4float %_ %18
               OpStore %172 %171
        %173 = OpAccessChain %_ptr_Input_float %gl_in %23 %38
        %174 = OpLoad %float %173
        %175 = OpAccessChain %_ptr_Output_float %_ %38
               OpStore %175 %174
               OpStore %i_0 %18
               OpBranch %177
        %177 = OpLabel
               OpLoopMerge %179 %180 None
               OpBranch %181
        %181 = OpLabel
        %182 = OpLoad %int %i_0
        %183 = OpSLessThan %bool %182 %105
               OpBranchConditional %183 %178 %179
        %178 = OpLabel
        %184 = OpLoad %int %i_0
        %185 = OpLoad %int %i_0
        %186 = OpAccessChain %_ptr_Input_v4float %in_interpolators %18 %185
        %187 = OpLoad %v4float %186
        %188 = OpLoad %int %i_0
        %189 = OpAccessChain %_ptr_Input_v4float %in_interpolators %38 %188
        %190 = OpLoad %v4float %189
        %191 = OpFNegate %v4float %190
        %192 = OpFAdd %v4float %187 %191
        %193 = OpLoad %int %i_0
        %194 = OpAccessChain %_ptr_Input_v4float %in_interpolators %23 %193
        %195 = OpLoad %v4float %194
        %196 = OpFAdd %v4float %192 %195
        %197 = OpAccessChain %_ptr_Output_v4float %out_interpolators %184
               OpStore %197 %196
               OpBranch %180
        %180 = OpLabel
        %198 = OpLoad %int %i_0
        %199 = OpIAdd %int %198 %38
               OpStore %i_0 %199
               OpBranch %177
        %179 = OpLabel
               OpEmitVertex
               OpEndPrimitive
               OpBranch %29
         %29 = OpLabel
               OpReturn
               OpFunctionEnd
