; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 134
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %104 "main" %101
OpExecutionMode %104 LocalSize 1 1 1
OpDecorate %101 BuiltIn GlobalInvocationId
%2 = OpTypeVoid
%4 = OpTypeInt 32 0
%3 = OpTypeVector %4 3
%5 = OpTypeInt 32 1
%9 = OpTypeFunction %2 %5
%15 = OpTypeFunction %2
%16 = OpConstant  %5  0
%37 = OpTypeFunction %2 %5 %5 %5
%73 = OpTypeFunction %2 %5 %5 %5 %5
%74 = OpConstant  %5  1
%75 = OpConstant  %5  2
%77 = OpTypePointer Function %5
%102 = OpTypePointer Input %3
%101 = OpVariable  %102  Input
%105 = OpConstant  %5  3
%106 = OpConstant  %5  4
%107 = OpConstant  %4  0
%109 = OpConstantNull  %5
%111 = OpConstant  %4  2
%112 = OpConstant  %4  1
%113 = OpConstant  %4  72
%114 = OpConstant  %4  264
%8 = OpFunction  %2  None %9
%7 = OpFunctionParameter  %5
%6 = OpLabel
OpBranch %10
%10 = OpLabel
OpSelectionMerge %11 None
OpSwitch %7 %12
%12 = OpLabel
OpBranch %11
%11 = OpLabel
OpReturn
OpFunctionEnd
%14 = OpFunction  %2  None %15
%13 = OpLabel
OpBranch %17
%17 = OpLabel
OpSelectionMerge %18 None
OpSwitch %16 %20 0 %19
%19 = OpLabel
OpBranch %18
%20 = OpLabel
OpBranch %18
%18 = OpLabel
OpReturn
OpFunctionEnd
%23 = OpFunction  %2  None %9
%22 = OpFunctionParameter  %5
%21 = OpLabel
OpBranch %24
%24 = OpLabel
OpBranch %25
%25 = OpLabel
OpLoopMerge %26 %28 None
OpBranch %27
%27 = OpLabel
OpSelectionMerge %29 None
OpSwitch %22 %31 1 %30
%30 = OpLabel
OpBranch %28
%31 = OpLabel
OpBranch %29
%29 = OpLabel
OpBranch %28
%28 = OpLabel
OpBranch %25
%26 = OpLabel
OpReturn
OpFunctionEnd
%36 = OpFunction  %2  None %37
%33 = OpFunctionParameter  %5
%34 = OpFunctionParameter  %5
%35 = OpFunctionParameter  %5
%32 = OpLabel
OpBranch %38
%38 = OpLabel
OpBranch %39
%39 = OpLabel
OpLoopMerge %40 %42 None
OpBranch %41
%41 = OpLabel
OpSelectionMerge %43 None
OpSwitch %33 %46 1 %44 2 %45
%44 = OpLabel
OpBranch %42
%45 = OpLabel
OpSelectionMerge %47 None
OpSwitch %34 %49 1 %48
%48 = OpLabel
OpBranch %42
%49 = OpLabel
OpBranch %50
%50 = OpLabel
OpLoopMerge %51 %53 None
OpBranch %52
%52 = OpLabel
OpSelectionMerge %54 None
OpSwitch %35 %56 1 %55
%55 = OpLabel
OpBranch %53
%56 = OpLabel
OpBranch %54
%54 = OpLabel
OpBranch %53
%53 = OpLabel
OpBranch %50
%51 = OpLabel
OpBranch %47
%47 = OpLabel
OpBranch %43
%46 = OpLabel
OpBranch %43
%43 = OpLabel
OpSelectionMerge %57 None
OpSwitch %34 %58
%58 = OpLabel
OpBranch %42
%57 = OpLabel
OpBranch %42
%42 = OpLabel
OpBranch %39
%40 = OpLabel
OpBranch %59
%59 = OpLabel
OpLoopMerge %60 %62 None
OpBranch %61
%61 = OpLabel
OpSelectionMerge %63 None
OpSwitch %34 %64 1 %64
%64 = OpLabel
OpSelectionMerge %65 None
OpSwitch %35 %66
%66 = OpLabel
OpBranch %62
%65 = OpLabel
OpBranch %63
%63 = OpLabel
OpBranch %62
%62 = OpLabel
OpBranch %59
%60 = OpLabel
OpReturn
OpFunctionEnd
%72 = OpFunction  %2  None %73
%68 = OpFunctionParameter  %5
%69 = OpFunctionParameter  %5
%70 = OpFunctionParameter  %5
%71 = OpFunctionParameter  %5
%67 = OpLabel
%76 = OpVariable  %77  Function %16
OpBranch %78
%78 = OpLabel
OpBranch %79
%79 = OpLabel
OpLoopMerge %80 %82 None
OpBranch %81
%81 = OpLabel
OpSelectionMerge %83 None
OpSwitch %68 %85 1 %84
%84 = OpLabel
OpStore %76 %74
OpBranch %83
%85 = OpLabel
OpBranch %83
%83 = OpLabel
OpBranch %82
%82 = OpLabel
OpBranch %79
%80 = OpLabel
OpBranch %86
%86 = OpLabel
OpLoopMerge %87 %89 None
OpBranch %88
%88 = OpLabel
OpSelectionMerge %90 None
OpSwitch %68 %93 1 %91 2 %92
%91 = OpLabel
OpBranch %90
%92 = OpLabel
OpSelectionMerge %94 None
OpSwitch %69 %96 1 %95
%95 = OpLabel
OpBranch %89
%96 = OpLabel
OpSelectionMerge %97 None
OpSwitch %70 %99 1 %98
%98 = OpLabel
OpStore %76 %75
OpBranch %97
%99 = OpLabel
OpBranch %97
%97 = OpLabel
OpBranch %94
%94 = OpLabel
OpBranch %90
%93 = OpLabel
OpBranch %90
%90 = OpLabel
OpBranch %89
%89 = OpLabel
OpBranch %86
%87 = OpLabel
OpReturn
OpFunctionEnd
%104 = OpFunction  %2  None %15
%100 = OpLabel
%108 = OpVariable  %77  Function %109
%103 = OpLoad  %3  %101
OpBranch %110
%110 = OpLabel
OpControlBarrier %111 %112 %113
OpControlBarrier %111 %111 %114
OpSelectionMerge %115 None
OpSwitch %74 %116
%116 = OpLabel
OpStore %108 %74
OpBranch %115
%115 = OpLabel
%117 = OpLoad  %5  %108
OpSelectionMerge %118 None
OpSwitch %117 %123 1 %119 2 %120 3 %121 4 %121 5 %122 6 %123
%119 = OpLabel
OpStore %108 %16
OpBranch %118
%120 = OpLabel
OpStore %108 %74
OpBranch %118
%121 = OpLabel
OpStore %108 %75
OpBranch %118
%122 = OpLabel
OpStore %108 %105
OpBranch %118
%123 = OpLabel
OpStore %108 %106
OpBranch %118
%118 = OpLabel
OpSelectionMerge %124 None
OpSwitch %107 %126 0 %125
%125 = OpLabel
OpBranch %124
%126 = OpLabel
OpBranch %124
%124 = OpLabel
%127 = OpLoad  %5  %108
OpSelectionMerge %128 None
OpSwitch %127 %133 1 %129 2 %130 3 %131 4 %132
%129 = OpLabel
OpStore %108 %16
OpBranch %128
%130 = OpLabel
OpStore %108 %74
OpReturn
%131 = OpLabel
OpStore %108 %75
OpReturn
%132 = OpLabel
OpReturn
%133 = OpLabel
OpStore %108 %105
OpReturn
%128 = OpLabel
OpReturn
OpFunctionEnd