spv.precision.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 146

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 23 62 64 76 119
                              ExecutionMode 4 OriginUpperLeft
                              Source ESSL 310
                              Name 4  "main"
                              Name 12  "foo(vf3;"
                              Name 11  "mv3"
                              Name 19  "boolfun(vb2;"
                              Name 18  "bv2"
                              Name 23  "highfin"
                              Name 41  "sum"
                              Name 43  "uniform_medium"
                              Name 45  "uniform_high"
                              Name 51  "uniform_low"
                              Name 56  "arg1"
                              Name 58  "arg2"
                              Name 60  "d"
                              Name 62  "lowfin"
                              Name 64  "mediumfin"
                              Name 68  "global_highp"
                              Name 72  "local_highp"
                              Name 76  "mediumfout"
                              Name 107  "ub2"
                              Name 108  "param"
                              Name 117  "S"
                              MemberName 117(S) 0  "a"
                              MemberName 117(S) 1  "b"
                              Name 119  "s"
                              Decorate 12(foo(vf3;) RelaxedPrecision
                              Decorate 11(mv3) RelaxedPrecision
                              Decorate 23(highfin) Location 2
                              Decorate 27 RelaxedPrecision
                              Decorate 28 RelaxedPrecision
                              Decorate 41(sum) RelaxedPrecision
                              Decorate 43(uniform_medium) RelaxedPrecision
                              Decorate 44 RelaxedPrecision
                              Decorate 49 RelaxedPrecision
                              Decorate 51(uniform_low) RelaxedPrecision
                              Decorate 52 RelaxedPrecision
                              Decorate 53 RelaxedPrecision
                              Decorate 54 RelaxedPrecision
                              Decorate 56(arg1) RelaxedPrecision
                              Decorate 58(arg2) RelaxedPrecision
                              Decorate 60(d) RelaxedPrecision
                              Decorate 62(lowfin) RelaxedPrecision
                              Decorate 62(lowfin) Location 0
                              Decorate 63 RelaxedPrecision
                              Decorate 64(mediumfin) RelaxedPrecision
                              Decorate 64(mediumfin) Location 1
                              Decorate 65 RelaxedPrecision
                              Decorate 66 RelaxedPrecision
                              Decorate 76(mediumfout) RelaxedPrecision
                              Decorate 76(mediumfout) Location 0
                              Decorate 77 RelaxedPrecision
                              Decorate 78 RelaxedPrecision
                              Decorate 79 RelaxedPrecision
                              Decorate 80 RelaxedPrecision
                              Decorate 81 RelaxedPrecision
                              Decorate 82 RelaxedPrecision
                              Decorate 86 RelaxedPrecision
                              Decorate 88 RelaxedPrecision
                              Decorate 90 RelaxedPrecision
                              Decorate 91 RelaxedPrecision
                              Decorate 93 RelaxedPrecision
                              Decorate 94 RelaxedPrecision
                              Decorate 97 RelaxedPrecision
                              Decorate 98 RelaxedPrecision
                              Decorate 99 RelaxedPrecision
                              Decorate 100 RelaxedPrecision
                              Decorate 101 RelaxedPrecision
                              Decorate 102 RelaxedPrecision
                              Decorate 103 RelaxedPrecision
                              Decorate 104 RelaxedPrecision
                              Decorate 105 RelaxedPrecision
                              Decorate 113 RelaxedPrecision
                              Decorate 115 RelaxedPrecision
                              Decorate 116 RelaxedPrecision
                              MemberDecorate 117(S) 1 RelaxedPrecision
                              Decorate 119(s) Location 3
                              Decorate 123 RelaxedPrecision
                              Decorate 127 RelaxedPrecision
                              Decorate 128 RelaxedPrecision
                              Decorate 129 RelaxedPrecision
                              Decorate 130 RelaxedPrecision
                              Decorate 131 RelaxedPrecision
                              Decorate 132 RelaxedPrecision
                              Decorate 135 RelaxedPrecision
                              Decorate 139 RelaxedPrecision
                              Decorate 140 RelaxedPrecision
                              Decorate 143 RelaxedPrecision
                              Decorate 144 RelaxedPrecision
                              Decorate 145 RelaxedPrecision
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
               8:             TypePointer Function 7(fvec3)
               9:             TypeVector 6(float) 2
              10:             TypeFunction 9(fvec2) 8(ptr)
              14:             TypeBool
              15:             TypeVector 14(bool) 2
              16:             TypePointer Function 15(bvec2)
              17:             TypeFunction 14(bool) 16(ptr)
              21:             TypeVector 6(float) 4
              22:             TypePointer Input 21(fvec4)
     23(highfin):     22(ptr) Variable Input
              26:             TypePointer Function 9(fvec2)
              32:    14(bool) ConstantFalse
              33:    14(bool) ConstantTrue
              34:   15(bvec2) ConstantComposite 32 33
              39:             TypeInt 32 1
              40:             TypePointer Function 39(int)
              42:             TypePointer Private 39(int)
43(uniform_medium):     42(ptr) Variable Private
45(uniform_high):     42(ptr) Variable Private
 51(uniform_low):     42(ptr) Variable Private
              55:             TypePointer Function 6(float)
              57:    6(float) Constant 1078774989
              59:    6(float) Constant 1232730691
              61:             TypePointer Input 6(float)
      62(lowfin):     61(ptr) Variable Input
   64(mediumfin):     61(ptr) Variable Input
              67:             TypePointer Private 6(float)
68(global_highp):     67(ptr) Variable Private
              71:             TypePointer Function 21(fvec4)
              75:             TypePointer Output 21(fvec4)
  76(mediumfout):     75(ptr) Variable Output
              85:     39(int) Constant 4
              87:             TypeVector 39(int) 2
              95:             TypeInt 32 0
              96:     95(int) Constant 0
             106:             TypePointer Private 15(bvec2)
        107(ub2):    106(ptr) Variable Private
             114:    6(float) Constant 1065353216
          117(S):             TypeStruct 6(float) 6(float)
             118:             TypePointer Input 117(S)
          119(s):    118(ptr) Variable Input
             120:     39(int) Constant 0
             125:     39(int) Constant 1
             133:    6(float) Constant 1082549862
             138:    6(float) Constant 1073741824
             142:    6(float) Constant 1077936128
         4(main):           2 Function None 3
               5:             Label
         41(sum):     40(ptr) Variable Function
        56(arg1):     55(ptr) Variable Function
        58(arg2):     55(ptr) Variable Function
           60(d):     55(ptr) Variable Function
 72(local_highp):     71(ptr) Variable Function
      108(param):     16(ptr) Variable Function
             135:     71(ptr) Variable Function
              44:     39(int) Load 43(uniform_medium)
              46:     39(int) Load 45(uniform_high)
              47:     39(int) IAdd 44 46
                              Store 41(sum) 47
              48:     39(int) Load 45(uniform_high)
              49:     39(int) Load 41(sum)
              50:     39(int) IAdd 49 48
                              Store 41(sum) 50
              52:     39(int) Load 51(uniform_low)
              53:     39(int) Load 41(sum)
              54:     39(int) IAdd 53 52
                              Store 41(sum) 54
                              Store 56(arg1) 57
                              Store 58(arg2) 59
              63:    6(float) Load 62(lowfin)
              65:    6(float) Load 64(mediumfin)
              66:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 63 65
                              Store 60(d) 66
              69:   21(fvec4) Load 23(highfin)
              70:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 69
                              Store 68(global_highp) 70
              73:    6(float) Load 68(global_highp)
              74:   21(fvec4) CompositeConstruct 73 73 73 73
                              Store 72(local_highp) 74
              77:    6(float) Load 60(d)
              78:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 77
              79:   21(fvec4) CompositeConstruct 78 78 78 78
              80:    6(float) Load 58(arg2)
              81:   21(fvec4) CompositeConstruct 80 80 80 80
              82:   21(fvec4) FAdd 79 81
              83:   21(fvec4) Load 72(local_highp)
              84:   21(fvec4) FAdd 82 83
                              Store 76(mediumfout) 84
              86:     39(int) Load 51(uniform_low)
              88:   87(ivec2) CompositeConstruct 86 86
              89:     39(int) Load 45(uniform_high)
              90:   87(ivec2) CompositeConstruct 89 89
              91:   87(ivec2) IMul 88 90
              92:     39(int) Load 45(uniform_high)
              93:   87(ivec2) CompositeConstruct 92 92
              94:   87(ivec2) IAdd 91 93
              97:     39(int) CompositeExtract 94 0
              98:     39(int) IAdd 85 97
              99:     39(int) Load 41(sum)
             100:     39(int) IAdd 99 98
                              Store 41(sum) 100
             101:     39(int) Load 41(sum)
             102:    6(float) ConvertSToF 101
             103:   21(fvec4) CompositeConstruct 102 102 102 102
             104:   21(fvec4) Load 76(mediumfout)
             105:   21(fvec4) FAdd 104 103
                              Store 76(mediumfout) 105
             109:   15(bvec2) Load 107(ub2)
                              Store 108(param) 109
             110:    14(bool) FunctionCall 19(boolfun(vb2;) 108(param)
                              SelectionMerge 112 None
                              BranchConditional 110 111 112
             111:               Label
             113:   21(fvec4)   Load 76(mediumfout)
             115:   21(fvec4)   CompositeConstruct 114 114 114 114
             116:   21(fvec4)   FAdd 113 115
                                Store 76(mediumfout) 116
                                Branch 112
             112:             Label
             121:     61(ptr) AccessChain 119(s) 120
             122:    6(float) Load 121
             123:   21(fvec4) Load 76(mediumfout)
             124:   21(fvec4) VectorTimesScalar 123 122
                              Store 76(mediumfout) 124
             126:     61(ptr) AccessChain 119(s) 125
             127:    6(float) Load 126
             128:   21(fvec4) Load 76(mediumfout)
             129:   21(fvec4) VectorTimesScalar 128 127
                              Store 76(mediumfout) 129
             130:    6(float) Load 64(mediumfin)
             131:    6(float) Load 64(mediumfin)
             132:    6(float) FMul 130 131
             134:    14(bool) FOrdGreaterThan 132 133
                              SelectionMerge 137 None
                              BranchConditional 134 136 141
             136:               Label
             139:   21(fvec4)   Load 76(mediumfout)
             140:   21(fvec4)   VectorTimesScalar 139 138
                                Store 135 140
                                Branch 137
             141:               Label
             143:   21(fvec4)   Load 76(mediumfout)
             144:   21(fvec4)   VectorTimesScalar 143 142
                                Store 135 144
                                Branch 137
             137:             Label
             145:   21(fvec4) Load 135
                              Store 76(mediumfout) 145
                              Return
                              FunctionEnd
    12(foo(vf3;):    9(fvec2) Function None 10
         11(mv3):      8(ptr) FunctionParameter
              13:             Label
              27:     26(ptr) Variable Function
              24:   21(fvec4) Load 23(highfin)
              25:    9(fvec2) VectorShuffle 24 24 0 1
                              Store 27 25
              28:    9(fvec2) Load 27
                              ReturnValue 28
                              FunctionEnd
19(boolfun(vb2;):    14(bool) Function None 17
         18(bv2):     16(ptr) FunctionParameter
              20:             Label
              31:   15(bvec2) Load 18(bv2)
              35:   15(bvec2) LogicalEqual 31 34
              36:    14(bool) All 35
                              ReturnValue 36
                              FunctionEnd
