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

                              Capability Shader
                              Capability Float64
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 12 14 28 161 169 187
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 420
                              Name 4  "main"
                              Name 10  "sum34"
                              Name 12  "m1"
                              Name 14  "m2"
                              Name 28  "f"
                              Name 140  "dm"
                              Name 159  "sum3"
                              Name 161  "v4"
                              Name 166  "sum4"
                              Name 169  "v3"
                              Name 174  "m43"
                              Name 179  "m4"
                              Name 187  "color"
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeMatrix 7(fvec4) 3
               9:             TypePointer Function 8
              11:             TypePointer Input 8
          12(m1):     11(ptr) Variable Input
          14(m2):     11(ptr) Variable Input
              27:             TypePointer Input 6(float)
           28(f):     27(ptr) Variable Input
              81:    6(float) Constant 1065353216
             136:             TypeFloat 64
             137:             TypeVector 136(float64_t) 4
             138:             TypeMatrix 137(f64vec4) 3
             139:             TypePointer Function 138
             157:             TypeVector 6(float) 3
             158:             TypePointer Function 157(fvec3)
             160:             TypePointer Input 7(fvec4)
         161(v4):    160(ptr) Variable Input
             165:             TypePointer Function 7(fvec4)
             168:             TypePointer Input 157(fvec3)
         169(v3):    168(ptr) Variable Input
             172:             TypeMatrix 157(fvec3) 4
             173:             TypePointer Function 172
             177:             TypeMatrix 7(fvec4) 4
             178:             TypePointer Function 177
             186:             TypePointer Output 7(fvec4)
      187(color):    186(ptr) Variable Output
             208:    6(float) Constant 0
             270:             TypeVector 6(float) 2
             271:             TypeMatrix 270(fvec2) 2
             279:    6(float) Constant 1088841318
         4(main):           2 Function None 3
               5:             Label
       10(sum34):      9(ptr) Variable Function
         140(dm):    139(ptr) Variable Function
       159(sum3):    158(ptr) Variable Function
       166(sum4):    165(ptr) Variable Function
        174(m43):    173(ptr) Variable Function
         179(m4):    178(ptr) Variable Function
              13:           8 Load 12(m1)
              15:           8 Load 14(m2)
              16:    7(fvec4) CompositeExtract 13 0
              17:    7(fvec4) CompositeExtract 15 0
              18:    7(fvec4) FSub 16 17
              19:    7(fvec4) CompositeExtract 13 1
              20:    7(fvec4) CompositeExtract 15 1
              21:    7(fvec4) FSub 19 20
              22:    7(fvec4) CompositeExtract 13 2
              23:    7(fvec4) CompositeExtract 15 2
              24:    7(fvec4) FSub 22 23
              25:           8 CompositeConstruct 18 21 24
                              Store 10(sum34) 25
              26:           8 Load 12(m1)
              29:    6(float) Load 28(f)
              30:           8 MatrixTimesScalar 26 29
              31:           8 Load 10(sum34)
              32:    7(fvec4) CompositeExtract 31 0
              33:    7(fvec4) CompositeExtract 30 0
              34:    7(fvec4) FAdd 32 33
              35:    7(fvec4) CompositeExtract 31 1
              36:    7(fvec4) CompositeExtract 30 1
              37:    7(fvec4) FAdd 35 36
              38:    7(fvec4) CompositeExtract 31 2
              39:    7(fvec4) CompositeExtract 30 2
              40:    7(fvec4) FAdd 38 39
              41:           8 CompositeConstruct 34 37 40
                              Store 10(sum34) 41
              42:    6(float) Load 28(f)
              43:           8 Load 12(m1)
              44:           8 MatrixTimesScalar 43 42
              45:           8 Load 10(sum34)
              46:    7(fvec4) CompositeExtract 45 0
              47:    7(fvec4) CompositeExtract 44 0
              48:    7(fvec4) FAdd 46 47
              49:    7(fvec4) CompositeExtract 45 1
              50:    7(fvec4) CompositeExtract 44 1
              51:    7(fvec4) FAdd 49 50
              52:    7(fvec4) CompositeExtract 45 2
              53:    7(fvec4) CompositeExtract 44 2
              54:    7(fvec4) FAdd 52 53
              55:           8 CompositeConstruct 48 51 54
                              Store 10(sum34) 55
              56:           8 Load 12(m1)
              57:           8 Load 14(m2)
              58:    7(fvec4) CompositeExtract 56 0
              59:    7(fvec4) CompositeExtract 57 0
              60:    7(fvec4) FMul 58 59
              61:    7(fvec4) CompositeExtract 56 1
              62:    7(fvec4) CompositeExtract 57 1
              63:    7(fvec4) FMul 61 62
              64:    7(fvec4) CompositeExtract 56 2
              65:    7(fvec4) CompositeExtract 57 2
              66:    7(fvec4) FMul 64 65
              67:           8 CompositeConstruct 60 63 66
              68:           8 Load 10(sum34)
              69:    7(fvec4) CompositeExtract 68 0
              70:    7(fvec4) CompositeExtract 67 0
              71:    7(fvec4) FDiv 69 70
              72:    7(fvec4) CompositeExtract 68 1
              73:    7(fvec4) CompositeExtract 67 1
              74:    7(fvec4) FDiv 72 73
              75:    7(fvec4) CompositeExtract 68 2
              76:    7(fvec4) CompositeExtract 67 2
              77:    7(fvec4) FDiv 75 76
              78:           8 CompositeConstruct 71 74 77
                              Store 10(sum34) 78
              79:           8 Load 12(m1)
              80:    6(float) Load 28(f)
              82:    6(float) FDiv 81 80
              83:           8 MatrixTimesScalar 79 82
              84:           8 Load 10(sum34)
              85:    7(fvec4) CompositeExtract 84 0
              86:    7(fvec4) CompositeExtract 83 0
              87:    7(fvec4) FAdd 85 86
              88:    7(fvec4) CompositeExtract 84 1
              89:    7(fvec4) CompositeExtract 83 1
              90:    7(fvec4) FAdd 88 89
              91:    7(fvec4) CompositeExtract 84 2
              92:    7(fvec4) CompositeExtract 83 2
              93:    7(fvec4) FAdd 91 92
              94:           8 CompositeConstruct 87 90 93
                              Store 10(sum34) 94
              95:    6(float) Load 28(f)
              96:           8 Load 12(m1)
              97:    7(fvec4) CompositeConstruct 95 95 95 95
              98:    7(fvec4) CompositeExtract 96 0
              99:    7(fvec4) FDiv 97 98
             100:    7(fvec4) CompositeExtract 96 1
             101:    7(fvec4) FDiv 97 100
             102:    7(fvec4) CompositeExtract 96 2
             103:    7(fvec4) FDiv 97 102
             104:           8 CompositeConstruct 99 101 103
             105:           8 Load 10(sum34)
             106:    7(fvec4) CompositeExtract 105 0
             107:    7(fvec4) CompositeExtract 104 0
             108:    7(fvec4) FAdd 106 107
             109:    7(fvec4) CompositeExtract 105 1
             110:    7(fvec4) CompositeExtract 104 1
             111:    7(fvec4) FAdd 109 110
             112:    7(fvec4) CompositeExtract 105 2
             113:    7(fvec4) CompositeExtract 104 2
             114:    7(fvec4) FAdd 112 113
             115:           8 CompositeConstruct 108 111 114
                              Store 10(sum34) 115
             116:    6(float) Load 28(f)
             117:           8 Load 10(sum34)
             118:    7(fvec4) CompositeConstruct 116 116 116 116
             119:    7(fvec4) CompositeExtract 117 0
             120:    7(fvec4) FAdd 119 118
             121:    7(fvec4) CompositeExtract 117 1
             122:    7(fvec4) FAdd 121 118
             123:    7(fvec4) CompositeExtract 117 2
             124:    7(fvec4) FAdd 123 118
             125:           8 CompositeConstruct 120 122 124
                              Store 10(sum34) 125
             126:    6(float) Load 28(f)
             127:           8 Load 10(sum34)
             128:    7(fvec4) CompositeConstruct 126 126 126 126
             129:    7(fvec4) CompositeExtract 127 0
             130:    7(fvec4) FSub 129 128
             131:    7(fvec4) CompositeExtract 127 1
             132:    7(fvec4) FSub 131 128
             133:    7(fvec4) CompositeExtract 127 2
             134:    7(fvec4) FSub 133 128
             135:           8 CompositeConstruct 130 132 134
                              Store 10(sum34) 135
             141:           8 Load 10(sum34)
             142:    7(fvec4) CompositeExtract 141 0
             143:137(f64vec4) FConvert 142
             144:    7(fvec4) CompositeExtract 141 1
             145:137(f64vec4) FConvert 144
             146:    7(fvec4) CompositeExtract 141 2
             147:137(f64vec4) FConvert 146
             148:         138 CompositeConstruct 143 145 147
                              Store 140(dm) 148
             149:         138 Load 140(dm)
             150:137(f64vec4) CompositeExtract 149 0
             151:    7(fvec4) FConvert 150
             152:137(f64vec4) CompositeExtract 149 1
             153:    7(fvec4) FConvert 152
             154:137(f64vec4) CompositeExtract 149 2
             155:    7(fvec4) FConvert 154
             156:           8 CompositeConstruct 151 153 155
                              Store 10(sum34) 156
             162:    7(fvec4) Load 161(v4)
             163:           8 Load 14(m2)
             164:  157(fvec3) VectorTimesMatrix 162 163
                              Store 159(sum3) 164
             167:           8 Load 14(m2)
             170:  157(fvec3) Load 169(v3)
             171:    7(fvec4) MatrixTimesVector 167 170
                              Store 166(sum4) 171
             175:           8 Load 10(sum34)
             176:         172 Transpose 175
                              Store 174(m43) 176
             180:           8 Load 12(m1)
             181:         172 Load 174(m43)
             182:         177 MatrixTimesMatrix 180 181
                              Store 179(m4) 182
             183:    7(fvec4) Load 161(v4)
             184:         177 Load 179(m4)
             185:    7(fvec4) VectorTimesMatrix 183 184
                              Store 166(sum4) 185
             188:    7(fvec4) Load 166(sum4)
                              Store 187(color) 188
             189:           8 Load 10(sum34)
             190:    7(fvec4) CompositeConstruct 81 81 81 81
             191:    7(fvec4) CompositeExtract 189 0
             192:    7(fvec4) FAdd 191 190
             193:    7(fvec4) CompositeExtract 189 1
             194:    7(fvec4) FAdd 193 190
             195:    7(fvec4) CompositeExtract 189 2
             196:    7(fvec4) FAdd 195 190
             197:           8 CompositeConstruct 192 194 196
                              Store 10(sum34) 197
             198:           8 Load 10(sum34)
             199:    7(fvec4) CompositeConstruct 81 81 81 81
             200:    7(fvec4) CompositeExtract 198 0
             201:    7(fvec4) FSub 200 199
             202:    7(fvec4) CompositeExtract 198 1
             203:    7(fvec4) FSub 202 199
             204:    7(fvec4) CompositeExtract 198 2
             205:    7(fvec4) FSub 204 199
             206:           8 CompositeConstruct 201 203 205
                              Store 10(sum34) 206
             207:    6(float) Load 28(f)
             209:    7(fvec4) CompositeConstruct 207 208 208 208
             210:    7(fvec4) CompositeConstruct 208 207 208 208
             211:    7(fvec4) CompositeConstruct 208 208 207 208
             212:           8 CompositeConstruct 209 210 211
             213:           8 Load 10(sum34)
             214:    7(fvec4) CompositeExtract 213 0
             215:    7(fvec4) CompositeExtract 212 0
             216:    7(fvec4) FAdd 214 215
             217:    7(fvec4) CompositeExtract 213 1
             218:    7(fvec4) CompositeExtract 212 1
             219:    7(fvec4) FAdd 217 218
             220:    7(fvec4) CompositeExtract 213 2
             221:    7(fvec4) CompositeExtract 212 2
             222:    7(fvec4) FAdd 220 221
             223:           8 CompositeConstruct 216 219 222
                              Store 10(sum34) 223
             224:  157(fvec3) Load 169(v3)
             225:    6(float) Load 28(f)
             226:  157(fvec3) Load 169(v3)
             227:    6(float) Load 28(f)
             228:  157(fvec3) Load 169(v3)
             229:    6(float) Load 28(f)
             230:    6(float) CompositeExtract 224 0
             231:    6(float) CompositeExtract 224 1
             232:    6(float) CompositeExtract 224 2
             233:    6(float) CompositeExtract 226 0
             234:    6(float) CompositeExtract 226 1
             235:    6(float) CompositeExtract 226 2
             236:    6(float) CompositeExtract 228 0
             237:    6(float) CompositeExtract 228 1
             238:    6(float) CompositeExtract 228 2
             239:    7(fvec4) CompositeConstruct 230 231 232 225
             240:    7(fvec4) CompositeConstruct 233 234 235 227
             241:    7(fvec4) CompositeConstruct 236 237 238 229
             242:           8 CompositeConstruct 239 240 241
             243:           8 Load 10(sum34)
             244:    7(fvec4) CompositeExtract 243 0
             245:    7(fvec4) CompositeExtract 242 0
             246:    7(fvec4) FAdd 244 245
             247:    7(fvec4) CompositeExtract 243 1
             248:    7(fvec4) CompositeExtract 242 1
             249:    7(fvec4) FAdd 247 248
             250:    7(fvec4) CompositeExtract 243 2
             251:    7(fvec4) CompositeExtract 242 2
             252:    7(fvec4) FAdd 250 251
             253:           8 CompositeConstruct 246 249 252
                              Store 10(sum34) 253
             254:  157(fvec3) Load 159(sum3)
             255:         172 Load 174(m43)
             256:    7(fvec4) VectorTimesMatrix 254 255
             257:    7(fvec4) Load 166(sum4)
             258:    7(fvec4) FAdd 256 257
             259:    7(fvec4) Load 187(color)
             260:    7(fvec4) FAdd 259 258
                              Store 187(color) 260
             261:         172 Load 174(m43)
             262:    6(float) CompositeExtract 261 0 0
             263:    6(float) CompositeExtract 261 0 1
             264:    6(float) CompositeExtract 261 0 2
             265:    6(float) CompositeExtract 261 1 0
             266:    7(fvec4) CompositeConstruct 262 263 264 265
             267:    7(fvec4) Load 187(color)
             268:    7(fvec4) FAdd 267 266
                              Store 187(color) 268
             269:    6(float) Load 28(f)
             272:  270(fvec2) CompositeConstruct 269 208
             273:  270(fvec2) CompositeConstruct 208 269
             274:         271 CompositeConstruct 272 273
             275:    6(float) CompositeExtract 274 0 0
             276:    6(float) CompositeExtract 274 0 1
             277:    6(float) CompositeExtract 274 1 0
             278:  157(fvec3) CompositeConstruct 275 276 277
             280:    6(float) CompositeExtract 278 0
             281:    6(float) CompositeExtract 278 1
             282:    6(float) CompositeExtract 278 2
             283:    7(fvec4) CompositeConstruct 280 281 282 279
             284:    7(fvec4) Load 187(color)
             285:    7(fvec4) FAdd 284 283
                              Store 187(color) 285
                              Return
                              FunctionEnd