; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 90
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %main "main" %tint_symbol_1
               OpExecutionMode %main OriginUpperLeft
               OpName %buf0 "buf0"
               OpMemberName %buf0 0 "one"
               OpName %x_10 "x_10"
               OpName %x_GLF_color "x_GLF_color"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %S "S"
               OpMemberName %S 0 "x"
               OpMemberName %S 1 "y"
               OpName %func_struct_S_i1_i11_ "func_struct_S_i1_i11_"
               OpName %arg "arg"
               OpName %main_1 "main_1"
               OpName %a "a"
               OpName %b "b"
               OpName %param "param"
               OpName %main_out "main_out"
               OpMemberName %main_out 0 "x_GLF_color_1"
               OpName %tint_symbol_2 "tint_symbol_2"
               OpName %tint_symbol "tint_symbol"
               OpName %main "main"
               OpDecorate %buf0 Block
               OpMemberDecorate %buf0 0 Offset 0
               OpDecorate %x_10 NonWritable
               OpDecorate %x_10 DescriptorSet 0
               OpDecorate %x_10 Binding 0
               OpDecorate %tint_symbol_1 Location 0
               OpMemberDecorate %S 0 Offset 0
               OpMemberDecorate %S 1 Offset 4
               OpDecorate %_arr_S_uint_2 ArrayStride 8
               OpMemberDecorate %main_out 0 Offset 0
        %int = OpTypeInt 32 1
       %buf0 = OpTypeStruct %int
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
       %x_10 = OpVariable %_ptr_Uniform_buf0 Uniform
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
          %9 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %9
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %9
       %void = OpTypeVoid
          %S = OpTypeStruct %int %int
%_ptr_Function_S = OpTypePointer Function %S
         %12 = OpTypeFunction %void %_ptr_Function_S
       %uint = OpTypeInt 32 0
     %uint_1 = OpConstant %uint 1
%_ptr_Function_int = OpTypePointer Function %int
      %int_1 = OpConstant %int 1
         %25 = OpTypeFunction %void
%_ptr_Function_float = OpTypePointer Function %float
         %30 = OpConstantNull %float
     %uint_2 = OpConstant %uint 2
%_arr_S_uint_2 = OpTypeArray %S %uint_2
%_ptr_Function__arr_S_uint_2 = OpTypePointer Function %_arr_S_uint_2
         %35 = OpConstantNull %_arr_S_uint_2
         %37 = OpConstantNull %S
    %float_5 = OpConstant %float 5
     %uint_0 = OpConstant %uint 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
       %bool = OpTypeBool
    %float_0 = OpConstant %float 0
      %false = OpConstantFalse %bool
    %float_1 = OpConstant %float 1
         %76 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
         %77 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
   %main_out = OpTypeStruct %v4float
         %78 = OpTypeFunction %void %main_out
%func_struct_S_i1_i11_ = OpFunction %void None %12
        %arg = OpFunctionParameter %_ptr_Function_S
         %18 = OpLabel
         %23 = OpAccessChain %_ptr_Function_int %arg %uint_1
               OpStore %23 %int_1
               OpReturn
               OpFunctionEnd
     %main_1 = OpFunction %void None %25
         %27 = OpLabel
          %a = OpVariable %_ptr_Function_float Function %30
          %b = OpVariable %_ptr_Function__arr_S_uint_2 Function %35
      %param = OpVariable %_ptr_Function_S Function %37
               OpStore %a %float_5
               OpBranch %39
         %39 = OpLabel
               OpLoopMerge %40 %41 None
               OpBranch %42
         %42 = OpLabel
         %45 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0
         %46 = OpLoad %int %45
         %47 = OpAccessChain %_ptr_Function_int %b %46 %uint_0
               OpStore %47 %int_1
         %48 = OpAccessChain %_ptr_Function_int %b %int_1 %uint_0
         %49 = OpLoad %int %48
         %50 = OpIEqual %bool %49 %int_1
               OpSelectionMerge %52 None
               OpBranchConditional %50 %53 %52
         %53 = OpLabel
         %54 = OpAccessChain %_ptr_Uniform_int %x_10 %uint_0
         %55 = OpLoad %int %54
         %56 = OpIEqual %bool %55 %int_1
               OpSelectionMerge %57 None
               OpBranchConditional %56 %58 %57
         %58 = OpLabel
               OpBranch %40
         %57 = OpLabel
         %59 = OpAccessChain %_ptr_Function_S %b %int_1
         %60 = OpLoad %S %59
               OpStore %param %60
         %61 = OpFunctionCall %void %func_struct_S_i1_i11_ %param
         %63 = OpLoad %S %param
         %64 = OpAccessChain %_ptr_Function_S %b %int_1
               OpStore %64 %63
         %65 = OpAccessChain %_ptr_Function_int %b %int_1 %uint_1
         %66 = OpLoad %int %65
         %67 = OpConvertSToF %float %66
               OpStore %a %67
               OpBranch %52
         %52 = OpLabel
               OpStore %a %float_0
               OpBranch %41
         %41 = OpLabel
               OpBranchConditional %false %39 %40
         %40 = OpLabel
         %70 = OpLoad %float %a
         %71 = OpFOrdEqual %bool %70 %float_5
               OpSelectionMerge %72 None
               OpBranchConditional %71 %73 %74
         %73 = OpLabel
               OpStore %x_GLF_color %76
               OpBranch %72
         %74 = OpLabel
               OpStore %x_GLF_color %77
               OpBranch %72
         %72 = OpLabel
               OpReturn
               OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %78
%tint_symbol = OpFunctionParameter %main_out
         %82 = OpLabel
         %83 = OpCompositeExtract %v4float %tint_symbol 0
               OpStore %tint_symbol_1 %83
               OpReturn
               OpFunctionEnd
       %main = OpFunction %void None %25
         %85 = OpLabel
         %86 = OpFunctionCall %void %main_1
         %88 = OpLoad %v4float %x_GLF_color
         %89 = OpCompositeConstruct %main_out %88
         %87 = OpFunctionCall %void %tint_symbol_2 %89
               OpReturn
               OpFunctionEnd
