; SPIR-V
; Version: 1.2
; Generator: rspirv
; Bound: 48
OpCapability Shader
OpCapability Float64
OpCapability Geometry
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %23 "main" %15 %18 %21
OpExecutionMode %23 OriginUpperLeft
OpMemberDecorate %6 0 Offset 0
OpMemberDecorate %6 1 Offset 16
OpMemberDecorate %9 0 Offset 0
OpMemberDecorate %9 1 Offset 16
OpDecorate %11 Block
OpMemberDecorate %11 0 Offset 0
OpDecorate %15 Location 0
OpDecorate %18 BuiltIn PrimitiveId
OpDecorate %18 Flat
OpDecorate %21 Location 0
%2 = OpTypeVoid
%3 = OpTypeInt 32 0
%5 = OpTypeFloat 64
%4 = OpTypeVector %5 2
%6 = OpTypeStruct %3 %4
%8 = OpTypeFloat 32
%7 = OpTypeVector %8 4
%9 = OpTypeStruct %7 %3
%11 = OpTypeStruct %6
%12 = OpTypePointer PushConstant %11
%10 = OpVariable  %12  PushConstant
%16 = OpTypePointer Input %7
%15 = OpVariable  %16  Input
%19 = OpTypePointer Input %3
%18 = OpVariable  %19  Input
%22 = OpTypePointer Output %7
%21 = OpVariable  %22  Output
%24 = OpTypeFunction %2
%25 = OpTypePointer PushConstant %6
%26 = OpConstant  %3  0
%28 = OpConstant  %8  1.0
%29 = OpTypeVector %8 3
%30 = OpConstantComposite  %29  %28 %28 %28
%33 = OpTypePointer PushConstant %3
%36 = OpTypeBool
%23 = OpFunction  %2  None %24
%13 = OpLabel
%17 = OpLoad  %7  %15
%20 = OpLoad  %3  %18
%14 = OpCompositeConstruct  %9  %17 %20
%27 = OpAccessChain  %25  %10 %26
OpBranch %31
%31 = OpLabel
%32 = OpCompositeExtract  %3  %14 1
%34 = OpAccessChain  %33  %27 %26
%35 = OpLoad  %3  %34
%37 = OpIEqual  %36  %32 %35
OpSelectionMerge %38 None
OpBranchConditional %37 %39 %40
%39 = OpLabel
%41 = OpCompositeExtract  %7  %14 0
OpStore %21 %41
OpReturn
%40 = OpLabel
%42 = OpCompositeExtract  %7  %14 0
%43 = OpVectorShuffle  %29  %42 %42 0 1 2
%44 = OpFSub  %29  %30 %43
%45 = OpCompositeExtract  %7  %14 0
%46 = OpCompositeExtract  %8  %45 3
%47 = OpCompositeConstruct  %7  %44 %46
OpStore %21 %47
OpReturn
%38 = OpLabel
OpReturn
OpFunctionEnd