; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 46
; Schema: 0
               OpCapability Shader
         %36 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %f "f"
               OpExecutionMode %f LocalSize 1 1 1
               OpName %u_block_std140 "u_block_std140"
               OpMemberName %u_block_std140 0 "inner"
               OpName %S_std140 "S_std140"
               OpMemberName %S_std140 0 "before"
               OpMemberName %S_std140 1 "m_0"
               OpMemberName %S_std140 2 "m_1"
               OpMemberName %S_std140 3 "after"
               OpName %u "u"
               OpName %load_u_inner_2_m "load_u_inner_2_m"
               OpName %f "f"
               OpDecorate %u_block_std140 Block
               OpMemberDecorate %u_block_std140 0 Offset 0
               OpMemberDecorate %S_std140 0 Offset 0
               OpMemberDecorate %S_std140 1 Offset 8
               OpMemberDecorate %S_std140 2 Offset 16
               OpMemberDecorate %S_std140 3 Offset 24
               OpDecorate %_arr_S_std140_uint_4 ArrayStride 32
               OpDecorate %u NonWritable
               OpDecorate %u DescriptorSet 0
               OpDecorate %u Binding 0
        %int = OpTypeInt 32 1
      %float = OpTypeFloat 32
    %v2float = OpTypeVector %float 2
   %S_std140 = OpTypeStruct %int %v2float %v2float %int
       %uint = OpTypeInt 32 0
     %uint_4 = OpConstant %uint 4
%_arr_S_std140_uint_4 = OpTypeArray %S_std140 %uint_4
%u_block_std140 = OpTypeStruct %_arr_S_std140_uint_4
%_ptr_Uniform_u_block_std140 = OpTypePointer Uniform %u_block_std140
          %u = OpVariable %_ptr_Uniform_u_block_std140 Uniform
%mat2v2float = OpTypeMatrix %v2float 2
         %11 = OpTypeFunction %mat2v2float
     %uint_0 = OpConstant %uint 0
     %uint_2 = OpConstant %uint 2
%_ptr_Uniform_S_std140 = OpTypePointer Uniform %S_std140
     %uint_1 = OpConstant %uint 1
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
       %void = OpTypeVoid
         %29 = OpTypeFunction %void
         %37 = OpConstantNull %uint
%load_u_inner_2_m = OpFunction %mat2v2float None %11
         %14 = OpLabel
         %19 = OpAccessChain %_ptr_Uniform_S_std140 %u %uint_0 %uint_2
         %23 = OpAccessChain %_ptr_Uniform_v2float %19 %uint_1
         %24 = OpLoad %v2float %23
         %26 = OpAccessChain %_ptr_Uniform_v2float %19 %uint_2
         %27 = OpLoad %v2float %26
         %28 = OpCompositeConstruct %mat2v2float %24 %27
               OpReturnValue %28
               OpFunctionEnd
          %f = OpFunction %void None %29
         %32 = OpLabel
         %34 = OpFunctionCall %mat2v2float %load_u_inner_2_m
         %33 = OpTranspose %mat2v2float %34
         %38 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %37 %uint_2
         %39 = OpLoad %v2float %38
         %40 = OpVectorShuffle %v2float %39 %39 1 0
         %35 = OpExtInst %float %36 Length %40
         %42 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %37 %uint_2
         %43 = OpLoad %v2float %42
         %44 = OpVectorShuffle %v2float %43 %43 1 0
         %45 = OpCompositeExtract %float %44 0
         %41 = OpExtInst %float %36 FAbs %45
               OpReturn
               OpFunctionEnd
