1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 7
4; Bound: 45
5; Schema: 0
6               OpCapability Shader
7          %1 = OpExtInstImport "GLSL.std.450"
8               OpMemoryModel Logical GLSL450
9               OpEntryPoint GLCompute %main "main"
10               OpExecutionMode %main LocalSize 1 1 1
11               OpSource GLSL 450
12               OpMemberDecorate %SSBO 0 Offset 0
13               OpMemberDecorate %SSBO 1 Offset 4
14               OpDecorate %SSBO BufferBlock
15               OpDecorate %_ DescriptorSet 0
16               OpDecorate %_ Binding 0
17       %void = OpTypeVoid
18          %3 = OpTypeFunction %void
19      %float = OpTypeFloat 32
20 %ResTypeMod = OpTypeStruct %float %float
21%_ptr_Function_ResTypeMod = OpTypePointer Function %ResTypeMod
22        %int = OpTypeInt 32 1
23      %int_0 = OpConstant %int 0
24   %float_20 = OpConstant %float 20
25      %int_1 = OpConstant %int 1
26%_ptr_Function_float = OpTypePointer Function %float
27%ResTypeFrexp = OpTypeStruct %float %int
28%_ptr_Function_ResTypeFrexp = OpTypePointer Function %ResTypeFrexp
29   %float_40 = OpConstant %float 40
30%_ptr_Function_int = OpTypePointer Function %int
31       %SSBO = OpTypeStruct %float %int
32%_ptr_Uniform_SSBO = OpTypePointer Uniform %SSBO
33          %_ = OpVariable %_ptr_Uniform_SSBO Uniform
34%_ptr_Uniform_float = OpTypePointer Uniform %float
35%_ptr_Uniform_int = OpTypePointer Uniform %int
36       %main = OpFunction %void None %3
37          %5 = OpLabel
38         %modres = OpExtInst %ResTypeMod %1 ModfStruct %float_20
39         %frexpres = OpExtInst %ResTypeFrexp %1 FrexpStruct %float_40
40
41		 %modres_f = OpCompositeExtract %float %modres 0
42		 %modres_i = OpCompositeExtract %float %modres 1
43		 %frexpres_f = OpCompositeExtract %float %frexpres 0
44		 %frexpres_i = OpCompositeExtract %int %frexpres 1
45
46         %float_ptr = OpAccessChain %_ptr_Uniform_float %_ %int_0
47         %int_ptr = OpAccessChain %_ptr_Uniform_int %_ %int_1
48
49               OpStore %float_ptr %modres_f
50               OpStore %float_ptr %modres_i
51               OpStore %float_ptr %frexpres_f
52               OpStore %int_ptr %frexpres_i
53
54               OpReturn
55               OpFunctionEnd
56