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

layout(set = 0, binding = 0, std140) uniform _13_15
{
    vec4 _m0[1];
} _15;

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

void main()
{
    uint _24 = floatBitsToUint(_15._m0[0u]).x + 4294967295u;
    bool _38;
    if (_24 < 11u)
    {
        _38 = bitfieldExtract((bitfieldExtract(440u, int(0u), int(11u)) >> bitfieldExtract(bitfieldExtract(_24, int(0u), int(11u)), int(0u), int(11u))) & 1u, int(0u), int(11u)) != bitfieldExtract(0u, int(0u), int(11u));
    }
    else
    {
        _38 = true;
    }
    if (_38)
    {
        imageStore(_8, ivec3(uvec3(1u)), vec4(0.0));
    }
    else
    {
        imageStore(_8, ivec3(uvec3(1u)), vec4(1.0));
    }
}


#if 0
// SPIR-V disassembly
; SPIR-V
; Version: 1.3
; Generator: Unknown(30017); 21022
; Bound: 54
; Schema: 0
OpCapability Shader
OpCapability StorageImageWriteWithoutFormat
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %3 "main"
OpExecutionMode %3 LocalSize 8 8 1
OpName %3 "main"
OpName %13 ""
OpDecorate %8 DescriptorSet 0
OpDecorate %8 Binding 0
OpDecorate %8 NonReadable
OpDecorate %12 ArrayStride 16
OpMemberDecorate %13 0 Offset 0
OpDecorate %13 Block
OpDecorate %15 DescriptorSet 0
OpDecorate %15 Binding 0
%1 = OpTypeVoid
%2 = OpTypeFunction %1
%5 = OpTypeFloat 32
%6 = OpTypeImage %5 2D 0 1 0 2 Unknown
%7 = OpTypePointer UniformConstant %6
%8 = OpVariable %7 UniformConstant
%9 = OpTypeInt 32 0
%10 = OpConstant %9 1
%11 = OpTypeVector %5 4
%12 = OpTypeArray %11 %10
%13 = OpTypeStruct %12
%14 = OpTypePointer Uniform %13
%15 = OpVariable %14 Uniform
%17 = OpConstant %9 0
%18 = OpTypePointer Uniform %11
%21 = OpTypeVector %9 4
%25 = OpConstant %9 4294967295
%26 = OpTypeBool
%28 = OpConstant %9 11
%31 = OpConstant %9 440
%39 = OpConstantTrue %26
%40 = OpConstant %5 0
%41 = OpTypeVector %9 3
%44 = OpConstant %5 1
%3 = OpFunction %1 None %2
%4 = OpLabel
OpBranch %47
%47 = OpLabel
%16 = OpLoad %6 %8
%19 = OpAccessChain %18 %15 %17 %17
%20 = OpLoad %11 %19
%22 = OpBitcast %21 %20
%23 = OpCompositeExtract %9 %22 0
%24 = OpIAdd %9 %23 %25
%27 = OpULessThan %26 %24 %28
OpSelectionMerge %49 None
OpBranchConditional %27 %48 %49
%48 = OpLabel
%29 = OpBitFieldUExtract %9 %24 %17 %28
%32 = OpBitFieldUExtract %9 %31 %17 %28
%33 = OpBitFieldUExtract %9 %29 %17 %28
%30 = OpShiftRightLogical %9 %32 %33
%34 = OpBitwiseAnd %9 %30 %10
%36 = OpBitFieldUExtract %9 %34 %17 %28
%37 = OpBitFieldUExtract %9 %17 %17 %28
%35 = OpINotEqual %26 %36 %37
OpBranch %49
%49 = OpLabel
%38 = OpPhi %26 %39 %47 %35 %48
OpSelectionMerge %52 None
OpBranchConditional %38 %51 %50
%51 = OpLabel
%42 = OpCompositeConstruct %41 %10 %10 %10
%43 = OpCompositeConstruct %11 %40 %40 %40 %40
OpImageWrite %16 %42 %43
OpBranch %52
%50 = OpLabel
%45 = OpCompositeConstruct %41 %10 %10 %10
%46 = OpCompositeConstruct %11 %44 %44 %44 %44
OpImageWrite %16 %45 %46
OpBranch %52
%52 = OpLabel
OpReturn
OpFunctionEnd
#endif
