#version 460
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;

layout(set = 0, binding = 0, r32ui) uniform writeonly uimageBuffer _8;

void main()
{
    uint _24;
    if ((gl_GlobalInvocationID.x & 1u) == 0u)
    {
        _24 = 0u;
    }
    else
    {
        uint frontier_phi_3_2_ladder;
        if ((gl_GlobalInvocationID.x & 2u) == 0u)
        {
            uint frontier_phi_3_2_ladder_4_ladder;
            if ((gl_GlobalInvocationID.x & 4u) == 0u)
            {
                uint frontier_phi_3_2_ladder_4_ladder_5_ladder;
                if ((gl_GlobalInvocationID.x & 8u) == 0u)
                {
                    uint frontier_phi_3_2_ladder_4_ladder_5_ladder_6_ladder;
                    if ((gl_GlobalInvocationID.x & 16u) == 0u)
                    {
                        frontier_phi_3_2_ladder_4_ladder_5_ladder_6_ladder = 0u;
                    }
                    else
                    {
                        frontier_phi_3_2_ladder_4_ladder_5_ladder_6_ladder = 50u;
                    }
                    frontier_phi_3_2_ladder_4_ladder_5_ladder = frontier_phi_3_2_ladder_4_ladder_5_ladder_6_ladder;
                }
                else
                {
                    frontier_phi_3_2_ladder_4_ladder_5_ladder = 40u;
                }
                frontier_phi_3_2_ladder_4_ladder = frontier_phi_3_2_ladder_4_ladder_5_ladder;
            }
            else
            {
                frontier_phi_3_2_ladder_4_ladder = 30u;
            }
            frontier_phi_3_2_ladder = frontier_phi_3_2_ladder_4_ladder;
        }
        else
        {
            frontier_phi_3_2_ladder = 60u;
        }
        _24 = frontier_phi_3_2_ladder;
    }
    imageStore(_8, int(0u), uvec4(_24));
}


#if 0
// SPIR-V disassembly
; SPIR-V
; Version: 1.3
; Generator: Unknown(30017); 21022
; Bound: 57
; Schema: 0
OpCapability Shader
OpCapability ImageBuffer
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %3 "main" %12
OpExecutionMode %3 LocalSize 1 1 1
OpName %3 "main"
OpName %40 "frontier_phi_3.2.ladder.4.ladder.5.ladder.6.ladder"
OpName %41 "frontier_phi_3.2.ladder.4.ladder.5.ladder"
OpName %42 "frontier_phi_3.2.ladder.4.ladder"
OpName %43 "frontier_phi_3.2.ladder"
OpDecorate %8 DescriptorSet 0
OpDecorate %8 Binding 0
OpDecorate %8 NonReadable
OpDecorate %12 BuiltIn GlobalInvocationId
%1 = OpTypeVoid
%2 = OpTypeFunction %1
%5 = OpTypeInt 32 0
%6 = OpTypeImage %5 Buffer 0 0 0 2 R32ui
%7 = OpTypePointer UniformConstant %6
%8 = OpVariable %7 UniformConstant
%10 = OpTypeVector %5 3
%11 = OpTypePointer Input %10
%12 = OpVariable %11 Input
%13 = OpTypePointer Input %5
%15 = OpConstant %5 0
%18 = OpConstant %5 1
%19 = OpTypeBool
%22 = OpConstant %5 2
%25 = OpConstant %5 60
%26 = OpConstant %5 30
%27 = OpConstant %5 40
%28 = OpConstant %5 50
%29 = OpTypeVector %5 4
%32 = OpConstant %5 4
%35 = OpConstant %5 8
%38 = OpConstant %5 16
%3 = OpFunction %1 None %2
%4 = OpLabel
OpBranch %44
%44 = OpLabel
%9 = OpLoad %6 %8
%14 = OpAccessChain %13 %12 %15
%16 = OpLoad %5 %14
%17 = OpBitwiseAnd %5 %16 %18
%20 = OpIEqual %19 %17 %15
OpSelectionMerge %55 None
OpBranchConditional %20 %54 %45
%54 = OpLabel
OpBranch %55
%45 = OpLabel
%21 = OpBitwiseAnd %5 %16 %22
%23 = OpIEqual %19 %21 %15
OpSelectionMerge %53 None
OpBranchConditional %23 %46 %53
%46 = OpLabel
%31 = OpBitwiseAnd %5 %16 %32
%33 = OpIEqual %19 %31 %15
OpSelectionMerge %52 None
OpBranchConditional %33 %47 %52
%47 = OpLabel
%34 = OpBitwiseAnd %5 %16 %35
%36 = OpIEqual %19 %34 %15
OpSelectionMerge %51 None
OpBranchConditional %36 %48 %51
%48 = OpLabel
%37 = OpBitwiseAnd %5 %16 %38
%39 = OpIEqual %19 %37 %15
OpSelectionMerge %50 None
OpBranchConditional %39 %49 %50
%49 = OpLabel
OpBranch %50
%50 = OpLabel
%40 = OpPhi %5 %15 %49 %28 %48
OpBranch %51
%51 = OpLabel
%41 = OpPhi %5 %27 %47 %40 %50
OpBranch %52
%52 = OpLabel
%42 = OpPhi %5 %26 %46 %41 %51
OpBranch %53
%53 = OpLabel
%43 = OpPhi %5 %25 %45 %42 %52
OpBranch %55
%55 = OpLabel
%24 = OpPhi %5 %15 %54 %43 %53
%30 = OpCompositeConstruct %29 %24 %24 %24 %24
OpImageWrite %9 %15 %30
OpReturn
OpFunctionEnd
#endif
