spv.shortCircuit.frag
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 147

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 12 24 34 113 140 142
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 400
                              Name 4  "main"
                              Name 8  "foo("
                              Name 12  "of1"
                              Name 24  "of4"
                              Name 27  "ub"
                              Name 34  "ui"
                              Name 44  "uba"
                              Name 113  "uf"
                              Name 140  "uiv4"
                              Name 142  "uv4"
                              Name 145  "ub41"
                              Name 146  "ub42"
                              Decorate 34(ui) Flat
                              Decorate 140(uiv4) Flat
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeBool
               7:             TypeFunction 6(bool)
              10:             TypeFloat 32
              11:             TypePointer Output 10(float)
         12(of1):     11(ptr) Variable Output
              14:   10(float) Constant 1065353216
              17:   10(float) Constant 1092616192
              21:   10(float) Constant 0
              22:             TypeVector 10(float) 4
              23:             TypePointer Output 22(fvec4)
         24(of4):     23(ptr) Variable Output
              25:   22(fvec4) ConstantComposite 21 21 21 21
              26:             TypePointer Private 6(bool)
          27(ub):     26(ptr) Variable Private
              32:             TypeInt 32 1
              33:             TypePointer Input 32(int)
          34(ui):     33(ptr) Variable Input
              36:     32(int) Constant 2
         44(uba):     26(ptr) Variable Private
             112:             TypePointer Input 10(float)
         113(uf):    112(ptr) Variable Input
             116:   10(float) Constant 1082130432
             138:             TypeVector 32(int) 4
             139:             TypePointer Input 138(ivec4)
       140(uiv4):    139(ptr) Variable Input
             141:             TypePointer Input 22(fvec4)
        142(uv4):    141(ptr) Variable Input
             143:             TypeVector 6(bool) 4
             144:             TypePointer Private 143(bvec4)
       145(ub41):    144(ptr) Variable Private
       146(ub42):    144(ptr) Variable Private
         4(main):           2 Function None 3
               5:             Label
                              Store 12(of1) 21
                              Store 24(of4) 25
              28:     6(bool) Load 27(ub)
              29:     6(bool) LogicalNot 28
                              SelectionMerge 31 None
                              BranchConditional 29 30 31
              30:               Label
              35:     32(int)   Load 34(ui)
              37:     6(bool)   SGreaterThan 35 36
                                Branch 31
              31:             Label
              38:     6(bool) Phi 28 5 37 30
                              SelectionMerge 40 None
                              BranchConditional 38 39 40
              39:               Label
              41:   10(float)   Load 12(of1)
              42:   10(float)   FAdd 41 14
                                Store 12(of1) 42
                                Branch 40
              40:             Label
              43:     6(bool) Load 27(ub)
              45:     6(bool) Load 44(uba)
              46:     6(bool) LogicalNot 45
              47:     6(bool) LogicalAnd 43 46
                              SelectionMerge 49 None
                              BranchConditional 47 48 49
              48:               Label
              50:   10(float)   Load 12(of1)
              51:   10(float)   FAdd 50 14
                                Store 12(of1) 51
                                Branch 49
              49:             Label
              52:     6(bool) Load 27(ub)
              53:     6(bool) LogicalNot 52
                              SelectionMerge 55 None
                              BranchConditional 53 54 55
              54:               Label
              56:     6(bool)   FunctionCall 8(foo()
                                Branch 55
              55:             Label
              57:     6(bool) Phi 52 49 56 54
                              SelectionMerge 59 None
                              BranchConditional 57 58 59
              58:               Label
              60:   10(float)   Load 12(of1)
              61:   10(float)   FAdd 60 14
                                Store 12(of1) 61
                                Branch 59
              59:             Label
              62:     6(bool) Load 27(ub)
                              SelectionMerge 64 None
                              BranchConditional 62 63 64
              63:               Label
              65:     6(bool)   FunctionCall 8(foo()
                                Branch 64
              64:             Label
              66:     6(bool) Phi 62 59 65 63
                              SelectionMerge 68 None
                              BranchConditional 66 67 68
              67:               Label
              69:   10(float)   Load 12(of1)
              70:   10(float)   FAdd 69 14
                                Store 12(of1) 70
                                Branch 68
              68:             Label
              71:     6(bool) FunctionCall 8(foo()
              72:     6(bool) Load 27(ub)
              73:     6(bool) LogicalOr 71 72
                              SelectionMerge 75 None
                              BranchConditional 73 74 75
              74:               Label
              76:   10(float)   Load 12(of1)
              77:   10(float)   FAdd 76 14
                                Store 12(of1) 77
                                Branch 75
              75:             Label
              78:     6(bool) FunctionCall 8(foo()
              79:     6(bool) Load 27(ub)
              80:     6(bool) LogicalAnd 78 79
                              SelectionMerge 82 None
                              BranchConditional 80 81 82
              81:               Label
              83:   10(float)   Load 12(of1)
              84:   10(float)   FAdd 83 14
                                Store 12(of1) 84
                                Branch 82
              82:             Label
              85:     6(bool) Load 27(ub)
              86:     6(bool) LogicalNot 85
                              SelectionMerge 88 None
                              BranchConditional 86 87 88
              87:               Label
              89:   10(float)   Load 12(of1)
              90:   10(float)   FAdd 89 14
                                Store 12(of1) 90
              91:     6(bool)   FOrdGreaterThan 90 14
                                Branch 88
              88:             Label
              92:     6(bool) Phi 85 82 91 87
                              SelectionMerge 94 None
                              BranchConditional 92 93 94
              93:               Label
              95:   22(fvec4)   Load 24(of4)
              96:   22(fvec4)   CompositeConstruct 14 14 14 14
              97:   22(fvec4)   FAdd 95 96
                                Store 24(of4) 97
                                Branch 94
              94:             Label
              98:   10(float) Load 12(of1)
              99:   10(float) FAdd 98 14
                              Store 12(of1) 99
             100:     6(bool) FOrdGreaterThan 99 14
             101:     6(bool) Load 27(ub)
             102:     6(bool) LogicalOr 100 101
                              SelectionMerge 104 None
                              BranchConditional 102 103 104
             103:               Label
             105:   22(fvec4)   Load 24(of4)
             106:   22(fvec4)   CompositeConstruct 14 14 14 14
             107:   22(fvec4)   FAdd 105 106
                                Store 24(of4) 107
                                Branch 104
             104:             Label
             108:     6(bool) Load 27(ub)
             109:     6(bool) LogicalNot 108
                              SelectionMerge 111 None
                              BranchConditional 109 110 111
             110:               Label
             114:   10(float)   Load 113(uf)
             115:   10(float)   ExtInst 1(GLSL.std.450) 13(Sin) 114
             117:   10(float)   FMul 115 116
             118:   10(float)   Load 12(of1)
             119:     6(bool)   FOrdGreaterThan 117 118
                                Branch 111
             111:             Label
             120:     6(bool) Phi 108 104 119 110
                              SelectionMerge 122 None
                              BranchConditional 120 121 122
             121:               Label
             123:   10(float)   Load 12(of1)
             124:   10(float)   FAdd 123 14
                                Store 12(of1) 124
                                Branch 122
             122:             Label
             125:     6(bool) Load 27(ub)
                              SelectionMerge 127 None
                              BranchConditional 125 126 127
             126:               Label
             128:   10(float)   Load 113(uf)
             129:   10(float)   ExtInst 1(GLSL.std.450) 13(Sin) 128
             130:   10(float)   FMul 129 116
             131:   10(float)   Load 12(of1)
             132:     6(bool)   FOrdGreaterThan 130 131
                                Branch 127
             127:             Label
             133:     6(bool) Phi 125 122 132 126
                              SelectionMerge 135 None
                              BranchConditional 133 134 135
             134:               Label
             136:   10(float)   Load 12(of1)
             137:   10(float)   FAdd 136 14
                                Store 12(of1) 137
                                Branch 135
             135:             Label
                              Return
                              FunctionEnd
         8(foo():     6(bool) Function None 7
               9:             Label
              13:   10(float) Load 12(of1)
              15:   10(float) FAdd 13 14
                              Store 12(of1) 15
              16:   10(float) Load 12(of1)
              18:     6(bool) FOrdGreaterThan 16 17
                              ReturnValue 18
                              FunctionEnd
