1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 1
4; Bound: 58
5; Schema: 0
6               OpCapability Shader
7               OpCapability ClipDistance
8               OpCapability CullDistance
9          %1 = OpExtInstImport "GLSL.std.450"
10               OpMemoryModel Logical GLSL450
11               OpEntryPoint Vertex %4 "main" %52 %output
12               OpSource GLSL 450
13               OpName %4 "main"
14               OpName %9 "pos"
15               OpName %50 "gl_PerVertex"
16               OpMemberName %50 0 "gl_Position"
17               OpMemberName %50 1 "gl_PointSize"
18               OpMemberName %50 2 "gl_ClipDistance"
19               OpMemberName %50 3 "gl_CullDistance"
20               OpName %52 ""
21               OpDecorate %13 SpecId 201
22               OpDecorate %24 SpecId 202
23               OpMemberDecorate %50 0 BuiltIn Position
24               OpMemberDecorate %50 1 BuiltIn PointSize
25               OpMemberDecorate %50 2 BuiltIn ClipDistance
26               OpMemberDecorate %50 3 BuiltIn CullDistance
27               OpDecorate %50 Block
28               OpDecorate %57 SpecId 200
29			   OpDecorate %output Flat
30			   OpDecorate %output Location 0
31          %2 = OpTypeVoid
32          %3 = OpTypeFunction %2
33          %6 = OpTypeFloat 32
34          %7 = OpTypeVector %6 4
35          %8 = OpTypePointer Function %7
36         %10 = OpConstant %6 0
37         %11 = OpConstantComposite %7 %10 %10 %10 %10
38         %12 = OpTypeInt 32 1
39		 %int_ptr = OpTypePointer Output %12
40         %13 = OpSpecConstant %12 -10
41         %14 = OpConstant %12 2
42         %15 = OpSpecConstantOp %12 IAdd %13 %14
43         %17 = OpTypeInt 32 0
44         %18 = OpConstant %17 1
45         %19 = OpTypePointer Function %6
46         %24 = OpSpecConstant %17 100
47         %25 = OpConstant %17 5
48         %26 = OpSpecConstantOp %17 UMod %24 %25
49         %28 = OpConstant %17 2
50         %33 = OpConstant %12 20
51         %34 = OpConstant %12 30
52         %35 = OpTypeVector %12 4
53         %36 = OpSpecConstantComposite %35 %33 %34 %15 %15
54         %40 = OpTypeVector %12 2
55         %41 = OpSpecConstantOp %40 VectorShuffle %36 %36 1 0
56		 %foo = OpSpecConstantOp %12 CompositeExtract %36 1
57         %42 = OpTypeVector %6 2
58         %49 = OpTypeArray %6 %18
59         %50 = OpTypeStruct %7 %6 %49 %49
60         %51 = OpTypePointer Output %50
61         %52 = OpVariable %51 Output
62		 %output = OpVariable %int_ptr Output
63         %53 = OpConstant %12 0
64         %55 = OpTypePointer Output %7
65         %57 = OpSpecConstant %6 3.14159
66          %4 = OpFunction %2 None %3
67          %5 = OpLabel
68          %9 = OpVariable %8 Function
69               OpStore %9 %11
70         %16 = OpConvertSToF %6 %15
71         %20 = OpAccessChain %19 %9 %18
72         %21 = OpLoad %6 %20
73         %22 = OpFAdd %6 %21 %16
74         %23 = OpAccessChain %19 %9 %18
75               OpStore %23 %22
76         %27 = OpConvertUToF %6 %26
77         %29 = OpAccessChain %19 %9 %28
78         %30 = OpLoad %6 %29
79         %31 = OpFAdd %6 %30 %27
80         %32 = OpAccessChain %19 %9 %28
81               OpStore %32 %31
82         %37 = OpConvertSToF %7 %36
83         %38 = OpLoad %7 %9
84         %39 = OpFAdd %7 %38 %37
85               OpStore %9 %39
86         %43 = OpConvertSToF %42 %41
87         %44 = OpLoad %7 %9
88         %45 = OpVectorShuffle %42 %44 %44 0 1
89         %46 = OpFAdd %42 %45 %43
90         %47 = OpLoad %7 %9
91         %48 = OpVectorShuffle %7 %47 %46 4 5 2 3
92               OpStore %9 %48
93         %54 = OpLoad %7 %9
94         %56 = OpAccessChain %55 %52 %53
95               OpStore %56 %54
96			   OpStore %output %foo
97               OpReturn
98               OpFunctionEnd
99