; SPIR-V ; Version: 1.0 ; Generator: rspirv ; Bound: 61 OpCapability Shader OpExtension "SPV_KHR_storage_buffer_storage_class" %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %48 "main" %45 OpExecutionMode %48 LocalSize 1 1 1 OpSource GLSL 450 OpName %9 "PrimeIndices" OpMemberName %9 0 "data" OpName %11 "v_indices" OpName %13 "n" OpName %15 "i" OpName %18 "collatz_iterations" OpName %45 "global_id" OpName %48 "main" OpDecorate %8 ArrayStride 4 OpDecorate %9 Block OpMemberDecorate %9 0 Offset 0 OpDecorate %11 DescriptorSet 0 OpDecorate %11 Binding 0 OpDecorate %45 BuiltIn GlobalInvocationId %2 = OpTypeVoid %4 = OpTypeInt 32 0 %3 = OpConstant %4 0 %5 = OpConstant %4 1 %6 = OpConstant %4 2 %7 = OpConstant %4 3 %8 = OpTypeRuntimeArray %4 %9 = OpTypeStruct %8 %10 = OpTypeVector %4 3 %12 = OpTypePointer StorageBuffer %9 %11 = OpVariable %12 StorageBuffer %14 = OpTypePointer Function %4 %19 = OpTypeFunction %4 %4 %26 = OpTypeBool %46 = OpTypePointer Input %10 %45 = OpVariable %46 Input %49 = OpTypeFunction %2 %51 = OpTypePointer StorageBuffer %8 %53 = OpTypePointer StorageBuffer %4 %55 = OpTypeInt 32 1 %56 = OpConstant %55 0 %18 = OpFunction %4 None %19 %17 = OpFunctionParameter %4 %16 = OpLabel %13 = OpVariable %14 Function %15 = OpVariable %14 Function %3 OpBranch %20 %20 = OpLabel OpStore %13 %17 OpBranch %21 %21 = OpLabel OpLoopMerge %22 %24 None OpBranch %23 %23 = OpLabel %25 = OpLoad %4 %13 %27 = OpULessThanEqual %26 %25 %5 OpSelectionMerge %28 None OpBranchConditional %27 %29 %28 %29 = OpLabel OpBranch %22 %28 = OpLabel %30 = OpLoad %4 %13 %31 = OpUMod %4 %30 %6 %32 = OpIEqual %26 %31 %3 OpSelectionMerge %33 None OpBranchConditional %32 %34 %35 %34 = OpLabel %36 = OpLoad %4 %13 %37 = OpUDiv %4 %36 %6 OpStore %13 %37 OpBranch %33 %35 = OpLabel %38 = OpLoad %4 %13 %39 = OpIMul %4 %7 %38 %40 = OpIAdd %4 %39 %5 OpStore %13 %40 OpBranch %33 %33 = OpLabel %41 = OpLoad %4 %15 %42 = OpIAdd %4 %41 %5 OpStore %15 %42 OpBranch %24 %24 = OpLabel OpBranch %21 %22 = OpLabel %43 = OpLoad %4 %15 OpReturnValue %43 OpFunctionEnd %48 = OpFunction %2 None %49 %44 = OpLabel %47 = OpLoad %10 %45 OpBranch %50 %50 = OpLabel %52 = OpCompositeExtract %4 %47 0 %54 = OpCompositeExtract %4 %47 0 %57 = OpAccessChain %53 %11 %56 %54 %58 = OpLoad %4 %57 %59 = OpFunctionCall %4 %18 %58 %60 = OpAccessChain %53 %11 %56 %52 OpStore %60 %59 OpReturn OpFunctionEnd