; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 48
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
         %39 = 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_0"
               OpMemberName %u_block_std140 1 "inner_1"
               OpMemberName %u_block_std140 2 "inner_2"
               OpMemberName %u_block_std140 3 "inner_3"
               OpName %u "u"
               OpName %load_u_inner "load_u_inner"
               OpName %f "f"
               OpDecorate %u_block_std140 Block
               OpMemberDecorate %u_block_std140 0 Offset 0
               OpMemberDecorate %u_block_std140 1 Offset 4
               OpMemberDecorate %u_block_std140 2 Offset 8
               OpMemberDecorate %u_block_std140 3 Offset 12
               OpDecorate %u NonWritable
               OpDecorate %u DescriptorSet 0
               OpDecorate %u Binding 0
       %half = OpTypeFloat 16
     %v2half = OpTypeVector %half 2
%u_block_std140 = OpTypeStruct %v2half %v2half %v2half %v2half
%_ptr_Uniform_u_block_std140 = OpTypePointer Uniform %u_block_std140
          %u = OpVariable %_ptr_Uniform_u_block_std140 Uniform
 %mat4v2half = OpTypeMatrix %v2half 4
          %6 = OpTypeFunction %mat4v2half
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_Uniform_v2half = OpTypePointer Uniform %v2half
     %uint_1 = OpConstant %uint 1
     %uint_2 = OpConstant %uint 2
     %uint_3 = OpConstant %uint 3
       %void = OpTypeVoid
         %30 = OpTypeFunction %void
     %v4half = OpTypeVector %half 4
 %mat2v4half = OpTypeMatrix %v4half 2
         %46 = OpConstantNull %uint
%load_u_inner = OpFunction %mat4v2half None %6
          %9 = OpLabel
         %15 = OpAccessChain %_ptr_Uniform_v2half %u %uint_0
         %16 = OpLoad %v2half %15
         %19 = OpAccessChain %_ptr_Uniform_v2half %u %uint_1
         %20 = OpLoad %v2half %19
         %23 = OpAccessChain %_ptr_Uniform_v2half %u %uint_2
         %24 = OpLoad %v2half %23
         %27 = OpAccessChain %_ptr_Uniform_v2half %u %uint_3
         %28 = OpLoad %v2half %27
         %29 = OpCompositeConstruct %mat4v2half %16 %20 %24 %28
               OpReturnValue %29
               OpFunctionEnd
          %f = OpFunction %void None %30
         %33 = OpLabel
         %37 = OpFunctionCall %mat4v2half %load_u_inner
         %34 = OpTranspose %mat2v4half %37
         %40 = OpAccessChain %_ptr_Uniform_v2half %u %uint_1
         %41 = OpLoad %v2half %40
         %38 = OpExtInst %half %39 Length %41
         %43 = OpAccessChain %_ptr_Uniform_v2half %u %uint_0
         %44 = OpLoad %v2half %43
         %45 = OpVectorShuffle %v2half %44 %44 1 0
         %47 = OpCompositeExtract %half %45 0
         %42 = OpExtInst %half %39 FAbs %47
               OpReturn
               OpFunctionEnd
