; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 526
OpCapability Shader
OpCapability Image1D
OpCapability Sampled1D
OpCapability SampledCubeArray
OpCapability ImageQuery
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %78 "main" %75
OpEntryPoint GLCompute %169 "depth_load" %167
OpEntryPoint Vertex %189 "queries" %187
OpEntryPoint Vertex %241 "levels_queries" %240
OpEntryPoint Fragment %272 "texture_sample" %271
OpEntryPoint Fragment %419 "texture_sample_comparison" %417
OpEntryPoint Fragment %475 "gather" %474
OpEntryPoint Fragment %509 "depth_no_comparison" %508
OpExecutionMode %78 LocalSize 16 1 1
OpExecutionMode %169 LocalSize 16 1 1
OpExecutionMode %272 OriginUpperLeft
OpExecutionMode %419 OriginUpperLeft
OpExecutionMode %475 OriginUpperLeft
OpExecutionMode %509 OriginUpperLeft
OpName %31 "image_mipmapped_src"
OpName %33 "image_multisampled_src"
OpName %35 "image_depth_multisampled_src"
OpName %37 "image_storage_src"
OpName %39 "image_array_src"
OpName %41 "image_dup_src"
OpName %43 "image_1d_src"
OpName %45 "image_dst"
OpName %47 "image_1d"
OpName %49 "image_2d"
OpName %51 "image_2d_u32"
OpName %52 "image_2d_i32"
OpName %54 "image_2d_array"
OpName %56 "image_cube"
OpName %58 "image_cube_array"
OpName %60 "image_3d"
OpName %62 "image_aa"
OpName %64 "sampler_reg"
OpName %66 "sampler_cmp"
OpName %68 "image_2d_depth"
OpName %70 "image_2d_array_depth"
OpName %72 "image_cube_depth"
OpName %75 "local_id"
OpName %78 "main"
OpName %167 "local_id"
OpName %169 "depth_load"
OpName %189 "queries"
OpName %241 "levels_queries"
OpName %272 "texture_sample"
OpName %286 "a"
OpName %419 "texture_sample_comparison"
OpName %424 "a"
OpName %475 "gather"
OpName %509 "depth_no_comparison"
OpDecorate %31 DescriptorSet 0
OpDecorate %31 Binding 0
OpDecorate %33 DescriptorSet 0
OpDecorate %33 Binding 3
OpDecorate %35 DescriptorSet 0
OpDecorate %35 Binding 4
OpDecorate %37 NonWritable
OpDecorate %37 DescriptorSet 0
OpDecorate %37 Binding 1
OpDecorate %39 DescriptorSet 0
OpDecorate %39 Binding 5
OpDecorate %41 NonWritable
OpDecorate %41 DescriptorSet 0
OpDecorate %41 Binding 6
OpDecorate %43 DescriptorSet 0
OpDecorate %43 Binding 7
OpDecorate %45 NonReadable
OpDecorate %45 DescriptorSet 0
OpDecorate %45 Binding 2
OpDecorate %47 DescriptorSet 0
OpDecorate %47 Binding 0
OpDecorate %49 DescriptorSet 0
OpDecorate %49 Binding 1
OpDecorate %51 DescriptorSet 0
OpDecorate %51 Binding 2
OpDecorate %52 DescriptorSet 0
OpDecorate %52 Binding 3
OpDecorate %54 DescriptorSet 0
OpDecorate %54 Binding 4
OpDecorate %56 DescriptorSet 0
OpDecorate %56 Binding 5
OpDecorate %58 DescriptorSet 0
OpDecorate %58 Binding 6
OpDecorate %60 DescriptorSet 0
OpDecorate %60 Binding 7
OpDecorate %62 DescriptorSet 0
OpDecorate %62 Binding 8
OpDecorate %64 DescriptorSet 1
OpDecorate %64 Binding 0
OpDecorate %66 DescriptorSet 1
OpDecorate %66 Binding 1
OpDecorate %68 DescriptorSet 1
OpDecorate %68 Binding 2
OpDecorate %70 DescriptorSet 1
OpDecorate %70 Binding 3
OpDecorate %72 DescriptorSet 1
OpDecorate %72 Binding 4
OpDecorate %75 BuiltIn LocalInvocationId
OpDecorate %167 BuiltIn LocalInvocationId
OpDecorate %187 BuiltIn Position
OpDecorate %240 BuiltIn Position
OpDecorate %271 Location 0
OpDecorate %417 Location 0
OpDecorate %474 Location 0
OpDecorate %508 Location 0
%2 = OpTypeVoid
%4 = OpTypeInt 32 0
%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
%5 = OpTypeImage %4 2D 0 0 1 1 Unknown
%7 = OpTypeFloat 32
%6 = OpTypeImage %7 2D 1 0 1 1 Unknown
%8 = OpTypeImage %4 2D 0 0 0 2 Rgba8ui
%9 = OpTypeImage %4 2D 0 1 0 1 Unknown
%10 = OpTypeImage %4 1D 0 0 0 2 R32ui
%11 = OpTypeImage %4 1D 0 0 0 1 Unknown
%12 = OpTypeVector %4 3
%14 = OpTypeInt 32 1
%13 = OpTypeVector %14 2
%15 = OpTypeImage %7 1D 0 0 0 1 Unknown
%16 = OpTypeImage %7 2D 0 0 0 1 Unknown
%17 = OpTypeImage %14 2D 0 0 0 1 Unknown
%18 = OpTypeImage %7 2D 0 1 0 1 Unknown
%19 = OpTypeImage %7 Cube 0 0 0 1 Unknown
%20 = OpTypeImage %7 Cube 0 1 0 1 Unknown
%21 = OpTypeImage %7 3D 0 0 0 1 Unknown
%22 = OpTypeImage %7 2D 0 0 1 1 Unknown
%23 = OpTypeVector %7 4
%24 = OpTypeSampler
%25 = OpTypeImage %7 2D 1 0 0 1 Unknown
%26 = OpTypeImage %7 2D 1 1 0 1 Unknown
%27 = OpTypeImage %7 Cube 1 0 0 1 Unknown
%28 = OpConstant  %14  3
%29 = OpConstant  %14  1
%30 = OpConstantComposite  %13  %28 %29
%32 = OpTypePointer UniformConstant %3
%31 = OpVariable  %32  UniformConstant
%34 = OpTypePointer UniformConstant %5
%33 = OpVariable  %34  UniformConstant
%36 = OpTypePointer UniformConstant %6
%35 = OpVariable  %36  UniformConstant
%38 = OpTypePointer UniformConstant %8
%37 = OpVariable  %38  UniformConstant
%40 = OpTypePointer UniformConstant %9
%39 = OpVariable  %40  UniformConstant
%42 = OpTypePointer UniformConstant %10
%41 = OpVariable  %42  UniformConstant
%44 = OpTypePointer UniformConstant %11
%43 = OpVariable  %44  UniformConstant
%46 = OpTypePointer UniformConstant %10
%45 = OpVariable  %46  UniformConstant
%48 = OpTypePointer UniformConstant %15
%47 = OpVariable  %48  UniformConstant
%50 = OpTypePointer UniformConstant %16
%49 = OpVariable  %50  UniformConstant
%51 = OpVariable  %32  UniformConstant
%53 = OpTypePointer UniformConstant %17
%52 = OpVariable  %53  UniformConstant
%55 = OpTypePointer UniformConstant %18
%54 = OpVariable  %55  UniformConstant
%57 = OpTypePointer UniformConstant %19
%56 = OpVariable  %57  UniformConstant
%59 = OpTypePointer UniformConstant %20
%58 = OpVariable  %59  UniformConstant
%61 = OpTypePointer UniformConstant %21
%60 = OpVariable  %61  UniformConstant
%63 = OpTypePointer UniformConstant %22
%62 = OpVariable  %63  UniformConstant
%65 = OpTypePointer UniformConstant %24
%64 = OpVariable  %65  UniformConstant
%67 = OpTypePointer UniformConstant %24
%66 = OpVariable  %67  UniformConstant
%69 = OpTypePointer UniformConstant %25
%68 = OpVariable  %69  UniformConstant
%71 = OpTypePointer UniformConstant %26
%70 = OpVariable  %71  UniformConstant
%73 = OpTypePointer UniformConstant %27
%72 = OpVariable  %73  UniformConstant
%76 = OpTypePointer Input %12
%75 = OpVariable  %76  Input
%79 = OpTypeFunction %2
%86 = OpConstant  %14  10
%87 = OpConstant  %14  20
%88 = OpConstantComposite  %13  %86 %87
%90 = OpTypeVector %4 2
%98 = OpTypeVector %4 4
%109 = OpTypeVector %14 3
%167 = OpVariable  %76  Input
%188 = OpTypePointer Output %23
%187 = OpVariable  %188  Output
%198 = OpConstant  %4  0
%240 = OpVariable  %188  Output
%271 = OpVariable  %188  Output
%278 = OpConstant  %7  0.5
%279 = OpTypeVector %7 2
%280 = OpConstantComposite  %279  %278 %278
%281 = OpTypeVector %7 3
%282 = OpConstantComposite  %281  %278 %278 %278
%283 = OpConstant  %7  2.3
%284 = OpConstant  %7  2.0
%285 = OpConstant  %14  0
%287 = OpTypePointer Function %23
%288 = OpConstantNull  %23
%291 = OpTypeSampledImage %15
%296 = OpTypeSampledImage %16
%317 = OpTypeSampledImage %18
%378 = OpTypeSampledImage %20
%418 = OpTypePointer Output %7
%417 = OpVariable  %418  Output
%425 = OpTypePointer Function %7
%426 = OpConstantNull  %7
%428 = OpTypeSampledImage %25
%433 = OpTypeSampledImage %26
%446 = OpTypeSampledImage %27
%453 = OpConstant  %7  0.0
%474 = OpVariable  %188  Output
%485 = OpConstant  %4  1
%488 = OpConstant  %4  3
%493 = OpTypeSampledImage %3
%496 = OpTypeVector %14 4
%497 = OpTypeSampledImage %17
%508 = OpVariable  %188  Output
%78 = OpFunction  %2  None %79
%74 = OpLabel
%77 = OpLoad  %12  %75
%80 = OpLoad  %3  %31
%81 = OpLoad  %5  %33
%82 = OpLoad  %8  %37
%83 = OpLoad  %9  %39
%84 = OpLoad  %11  %43
%85 = OpLoad  %10  %45
OpBranch %89
%89 = OpLabel
%91 = OpImageQuerySize  %90  %82
%92 = OpVectorShuffle  %90  %77 %77 0 1
%93 = OpIMul  %90  %91 %92
%94 = OpBitcast  %13  %93
%95 = OpSRem  %13  %94 %88
%96 = OpCompositeExtract  %4  %77 2
%97 = OpBitcast  %14  %96
%99 = OpImageFetch  %98  %80 %95 Lod %97
%100 = OpCompositeExtract  %4  %77 2
%101 = OpBitcast  %14  %100
%102 = OpImageFetch  %98  %81 %95 Sample %101
%103 = OpImageRead  %98  %82 %95
%104 = OpCompositeExtract  %4  %77 2
%105 = OpCompositeExtract  %4  %77 2
%106 = OpBitcast  %14  %105
%107 = OpIAdd  %14  %106 %29
%108 = OpBitcast  %14  %104
%110 = OpCompositeConstruct  %109  %95 %108
%111 = OpImageFetch  %98  %83 %110 Lod %107
%112 = OpCompositeExtract  %4  %77 2
%113 = OpBitcast  %14  %112
%114 = OpCompositeExtract  %4  %77 2
%115 = OpBitcast  %14  %114
%116 = OpIAdd  %14  %115 %29
%117 = OpCompositeConstruct  %109  %95 %113
%118 = OpImageFetch  %98  %83 %117 Lod %116
%119 = OpCompositeExtract  %4  %77 0
%120 = OpBitcast  %14  %119
%121 = OpCompositeExtract  %4  %77 2
%122 = OpBitcast  %14  %121
%123 = OpImageFetch  %98  %84 %120 Lod %122
%124 = OpBitcast  %90  %95
%125 = OpCompositeExtract  %4  %77 2
%126 = OpBitcast  %14  %125
%127 = OpImageFetch  %98  %80 %124 Lod %126
%128 = OpBitcast  %90  %95
%129 = OpCompositeExtract  %4  %77 2
%130 = OpBitcast  %14  %129
%131 = OpImageFetch  %98  %81 %128 Sample %130
%132 = OpBitcast  %90  %95
%133 = OpImageRead  %98  %82 %132
%134 = OpBitcast  %90  %95
%135 = OpCompositeExtract  %4  %77 2
%136 = OpCompositeExtract  %4  %77 2
%137 = OpBitcast  %14  %136
%138 = OpIAdd  %14  %137 %29
%139 = OpCompositeConstruct  %12  %134 %135
%140 = OpImageFetch  %98  %83 %139 Lod %138
%141 = OpBitcast  %90  %95
%142 = OpCompositeExtract  %4  %77 2
%143 = OpBitcast  %14  %142
%144 = OpCompositeExtract  %4  %77 2
%145 = OpBitcast  %14  %144
%146 = OpIAdd  %14  %145 %29
%147 = OpBitcast  %4  %143
%148 = OpCompositeConstruct  %12  %141 %147
%149 = OpImageFetch  %98  %83 %148 Lod %146
%150 = OpCompositeExtract  %4  %77 0
%152 = OpCompositeExtract  %4  %77 2
%153 = OpBitcast  %14  %152
%154 = OpImageFetch  %98  %84 %150 Lod %153
%155 = OpCompositeExtract  %14  %95 0
%156 = OpIAdd  %98  %99 %102
%157 = OpIAdd  %98  %156 %103
%158 = OpIAdd  %98  %157 %111
%159 = OpIAdd  %98  %158 %118
OpImageWrite %85 %155 %159
%160 = OpCompositeExtract  %14  %95 0
%161 = OpBitcast  %4  %160
%162 = OpIAdd  %98  %127 %131
%163 = OpIAdd  %98  %162 %133
%164 = OpIAdd  %98  %163 %140
%165 = OpIAdd  %98  %164 %149
OpImageWrite %85 %161 %165
OpReturn
OpFunctionEnd
%169 = OpFunction  %2  None %79
%166 = OpLabel
%168 = OpLoad  %12  %167
%170 = OpLoad  %6  %35
%171 = OpLoad  %8  %37
%172 = OpLoad  %10  %45
OpBranch %173
%173 = OpLabel
%174 = OpImageQuerySize  %90  %171
%175 = OpVectorShuffle  %90  %168 %168 0 1
%176 = OpIMul  %90  %174 %175
%177 = OpBitcast  %13  %176
%178 = OpSRem  %13  %177 %88
%179 = OpCompositeExtract  %4  %168 2
%180 = OpBitcast  %14  %179
%181 = OpImageFetch  %23  %170 %178 Sample %180
%182 = OpCompositeExtract  %7  %181 0
%183 = OpCompositeExtract  %14  %178 0
%184 = OpConvertFToU  %4  %182
%185 = OpCompositeConstruct  %98  %184 %184 %184 %184
OpImageWrite %172 %183 %185
OpReturn
OpFunctionEnd
%189 = OpFunction  %2  None %79
%186 = OpLabel
%190 = OpLoad  %15  %47
%191 = OpLoad  %16  %49
%192 = OpLoad  %18  %54
%193 = OpLoad  %19  %56
%194 = OpLoad  %20  %58
%195 = OpLoad  %21  %60
%196 = OpLoad  %22  %62
OpBranch %197
%197 = OpLabel
%199 = OpImageQuerySizeLod  %4  %190 %198
%200 = OpBitcast  %14  %199
%201 = OpImageQuerySizeLod  %4  %190 %200
%202 = OpImageQuerySizeLod  %90  %191 %198
%203 = OpImageQuerySizeLod  %90  %191 %29
%204 = OpImageQuerySizeLod  %12  %192 %198
%205 = OpVectorShuffle  %90  %204 %204 0 1
%206 = OpImageQuerySizeLod  %12  %192 %29
%207 = OpVectorShuffle  %90  %206 %206 0 1
%208 = OpImageQuerySizeLod  %90  %193 %198
%209 = OpImageQuerySizeLod  %90  %193 %29
%210 = OpImageQuerySizeLod  %12  %194 %198
%211 = OpVectorShuffle  %90  %210 %210 0 0
%212 = OpImageQuerySizeLod  %12  %194 %29
%213 = OpVectorShuffle  %90  %212 %212 0 0
%214 = OpImageQuerySizeLod  %12  %195 %198
%215 = OpImageQuerySizeLod  %12  %195 %29
%216 = OpImageQuerySize  %90  %196
%217 = OpCompositeExtract  %4  %202 1
%218 = OpIAdd  %4  %199 %217
%219 = OpCompositeExtract  %4  %203 1
%220 = OpIAdd  %4  %218 %219
%221 = OpCompositeExtract  %4  %205 1
%222 = OpIAdd  %4  %220 %221
%223 = OpCompositeExtract  %4  %207 1
%224 = OpIAdd  %4  %222 %223
%225 = OpCompositeExtract  %4  %208 1
%226 = OpIAdd  %4  %224 %225
%227 = OpCompositeExtract  %4  %209 1
%228 = OpIAdd  %4  %226 %227
%229 = OpCompositeExtract  %4  %211 1
%230 = OpIAdd  %4  %228 %229
%231 = OpCompositeExtract  %4  %213 1
%232 = OpIAdd  %4  %230 %231
%233 = OpCompositeExtract  %4  %214 2
%234 = OpIAdd  %4  %232 %233
%235 = OpCompositeExtract  %4  %215 2
%236 = OpIAdd  %4  %234 %235
%237 = OpConvertUToF  %7  %236
%238 = OpCompositeConstruct  %23  %237 %237 %237 %237
OpStore %187 %238
OpReturn
OpFunctionEnd
%241 = OpFunction  %2  None %79
%239 = OpLabel
%242 = OpLoad  %16  %49
%243 = OpLoad  %18  %54
%244 = OpLoad  %19  %56
%245 = OpLoad  %20  %58
%246 = OpLoad  %21  %60
%247 = OpLoad  %22  %62
OpBranch %248
%248 = OpLabel
%249 = OpImageQueryLevels  %4  %242
%250 = OpImageQuerySizeLod  %12  %243 %198
%251 = OpCompositeExtract  %4  %250 2
%252 = OpImageQueryLevels  %4  %243
%253 = OpImageQuerySizeLod  %12  %243 %198
%254 = OpCompositeExtract  %4  %253 2
%255 = OpImageQueryLevels  %4  %244
%256 = OpImageQueryLevels  %4  %245
%257 = OpImageQuerySizeLod  %12  %245 %198
%258 = OpCompositeExtract  %4  %257 2
%259 = OpImageQueryLevels  %4  %246
%260 = OpImageQuerySamples  %4  %247
%261 = OpIAdd  %4  %251 %258
%262 = OpIAdd  %4  %261 %260
%263 = OpIAdd  %4  %262 %249
%264 = OpIAdd  %4  %263 %252
%265 = OpIAdd  %4  %264 %259
%266 = OpIAdd  %4  %265 %255
%267 = OpIAdd  %4  %266 %256
%268 = OpConvertUToF  %7  %267
%269 = OpCompositeConstruct  %23  %268 %268 %268 %268
OpStore %240 %269
OpReturn
OpFunctionEnd
%272 = OpFunction  %2  None %79
%270 = OpLabel
%286 = OpVariable  %287  Function %288
%273 = OpLoad  %15  %47
%274 = OpLoad  %16  %49
%275 = OpLoad  %18  %54
%276 = OpLoad  %20  %58
%277 = OpLoad  %24  %64
OpBranch %289
%289 = OpLabel
%290 = OpCompositeExtract  %7  %280 0
%292 = OpSampledImage  %291  %273 %277
%293 = OpImageSampleImplicitLod  %23  %292 %290
%294 = OpLoad  %23  %286
%295 = OpFAdd  %23  %294 %293
OpStore %286 %295
%297 = OpSampledImage  %296  %274 %277
%298 = OpImageSampleImplicitLod  %23  %297 %280
%299 = OpLoad  %23  %286
%300 = OpFAdd  %23  %299 %298
OpStore %286 %300
%301 = OpSampledImage  %296  %274 %277
%302 = OpImageSampleImplicitLod  %23  %301 %280 ConstOffset %30
%303 = OpLoad  %23  %286
%304 = OpFAdd  %23  %303 %302
OpStore %286 %304
%305 = OpSampledImage  %296  %274 %277
%306 = OpImageSampleExplicitLod  %23  %305 %280 Lod %283
%307 = OpLoad  %23  %286
%308 = OpFAdd  %23  %307 %306
OpStore %286 %308
%309 = OpSampledImage  %296  %274 %277
%310 = OpImageSampleExplicitLod  %23  %309 %280 Lod|ConstOffset %283 %30
%311 = OpLoad  %23  %286
%312 = OpFAdd  %23  %311 %310
OpStore %286 %312
%313 = OpSampledImage  %296  %274 %277
%314 = OpImageSampleImplicitLod  %23  %313 %280 Bias|ConstOffset %284 %30
%315 = OpLoad  %23  %286
%316 = OpFAdd  %23  %315 %314
OpStore %286 %316
%318 = OpConvertUToF  %7  %198
%319 = OpCompositeConstruct  %281  %280 %318
%320 = OpSampledImage  %317  %275 %277
%321 = OpImageSampleImplicitLod  %23  %320 %319
%322 = OpLoad  %23  %286
%323 = OpFAdd  %23  %322 %321
OpStore %286 %323
%324 = OpConvertUToF  %7  %198
%325 = OpCompositeConstruct  %281  %280 %324
%326 = OpSampledImage  %317  %275 %277
%327 = OpImageSampleImplicitLod  %23  %326 %325 ConstOffset %30
%328 = OpLoad  %23  %286
%329 = OpFAdd  %23  %328 %327
OpStore %286 %329
%330 = OpConvertUToF  %7  %198
%331 = OpCompositeConstruct  %281  %280 %330
%332 = OpSampledImage  %317  %275 %277
%333 = OpImageSampleExplicitLod  %23  %332 %331 Lod %283
%334 = OpLoad  %23  %286
%335 = OpFAdd  %23  %334 %333
OpStore %286 %335
%336 = OpConvertUToF  %7  %198
%337 = OpCompositeConstruct  %281  %280 %336
%338 = OpSampledImage  %317  %275 %277
%339 = OpImageSampleExplicitLod  %23  %338 %337 Lod|ConstOffset %283 %30
%340 = OpLoad  %23  %286
%341 = OpFAdd  %23  %340 %339
OpStore %286 %341
%342 = OpConvertUToF  %7  %198
%343 = OpCompositeConstruct  %281  %280 %342
%344 = OpSampledImage  %317  %275 %277
%345 = OpImageSampleImplicitLod  %23  %344 %343 Bias|ConstOffset %284 %30
%346 = OpLoad  %23  %286
%347 = OpFAdd  %23  %346 %345
OpStore %286 %347
%348 = OpConvertSToF  %7  %285
%349 = OpCompositeConstruct  %281  %280 %348
%350 = OpSampledImage  %317  %275 %277
%351 = OpImageSampleImplicitLod  %23  %350 %349
%352 = OpLoad  %23  %286
%353 = OpFAdd  %23  %352 %351
OpStore %286 %353
%354 = OpConvertSToF  %7  %285
%355 = OpCompositeConstruct  %281  %280 %354
%356 = OpSampledImage  %317  %275 %277
%357 = OpImageSampleImplicitLod  %23  %356 %355 ConstOffset %30
%358 = OpLoad  %23  %286
%359 = OpFAdd  %23  %358 %357
OpStore %286 %359
%360 = OpConvertSToF  %7  %285
%361 = OpCompositeConstruct  %281  %280 %360
%362 = OpSampledImage  %317  %275 %277
%363 = OpImageSampleExplicitLod  %23  %362 %361 Lod %283
%364 = OpLoad  %23  %286
%365 = OpFAdd  %23  %364 %363
OpStore %286 %365
%366 = OpConvertSToF  %7  %285
%367 = OpCompositeConstruct  %281  %280 %366
%368 = OpSampledImage  %317  %275 %277
%369 = OpImageSampleExplicitLod  %23  %368 %367 Lod|ConstOffset %283 %30
%370 = OpLoad  %23  %286
%371 = OpFAdd  %23  %370 %369
OpStore %286 %371
%372 = OpConvertSToF  %7  %285
%373 = OpCompositeConstruct  %281  %280 %372
%374 = OpSampledImage  %317  %275 %277
%375 = OpImageSampleImplicitLod  %23  %374 %373 Bias|ConstOffset %284 %30
%376 = OpLoad  %23  %286
%377 = OpFAdd  %23  %376 %375
OpStore %286 %377
%379 = OpConvertUToF  %7  %198
%380 = OpCompositeConstruct  %23  %282 %379
%381 = OpSampledImage  %378  %276 %277
%382 = OpImageSampleImplicitLod  %23  %381 %380
%383 = OpLoad  %23  %286
%384 = OpFAdd  %23  %383 %382
OpStore %286 %384
%385 = OpConvertUToF  %7  %198
%386 = OpCompositeConstruct  %23  %282 %385
%387 = OpSampledImage  %378  %276 %277
%388 = OpImageSampleExplicitLod  %23  %387 %386 Lod %283
%389 = OpLoad  %23  %286
%390 = OpFAdd  %23  %389 %388
OpStore %286 %390
%391 = OpConvertUToF  %7  %198
%392 = OpCompositeConstruct  %23  %282 %391
%393 = OpSampledImage  %378  %276 %277
%394 = OpImageSampleImplicitLod  %23  %393 %392 Bias %284
%395 = OpLoad  %23  %286
%396 = OpFAdd  %23  %395 %394
OpStore %286 %396
%397 = OpConvertSToF  %7  %285
%398 = OpCompositeConstruct  %23  %282 %397
%399 = OpSampledImage  %378  %276 %277
%400 = OpImageSampleImplicitLod  %23  %399 %398
%401 = OpLoad  %23  %286
%402 = OpFAdd  %23  %401 %400
OpStore %286 %402
%403 = OpConvertSToF  %7  %285
%404 = OpCompositeConstruct  %23  %282 %403
%405 = OpSampledImage  %378  %276 %277
%406 = OpImageSampleExplicitLod  %23  %405 %404 Lod %283
%407 = OpLoad  %23  %286
%408 = OpFAdd  %23  %407 %406
OpStore %286 %408
%409 = OpConvertSToF  %7  %285
%410 = OpCompositeConstruct  %23  %282 %409
%411 = OpSampledImage  %378  %276 %277
%412 = OpImageSampleImplicitLod  %23  %411 %410 Bias %284
%413 = OpLoad  %23  %286
%414 = OpFAdd  %23  %413 %412
OpStore %286 %414
%415 = OpLoad  %23  %286
OpStore %271 %415
OpReturn
OpFunctionEnd
%419 = OpFunction  %2  None %79
%416 = OpLabel
%424 = OpVariable  %425  Function %426
%420 = OpLoad  %24  %66
%421 = OpLoad  %25  %68
%422 = OpLoad  %26  %70
%423 = OpLoad  %27  %72
OpBranch %427
%427 = OpLabel
%429 = OpSampledImage  %428  %421 %420
%430 = OpImageSampleDrefImplicitLod  %7  %429 %280 %278
%431 = OpLoad  %7  %424
%432 = OpFAdd  %7  %431 %430
OpStore %424 %432
%434 = OpConvertUToF  %7  %198
%435 = OpCompositeConstruct  %281  %280 %434
%436 = OpSampledImage  %433  %422 %420
%437 = OpImageSampleDrefImplicitLod  %7  %436 %435 %278
%438 = OpLoad  %7  %424
%439 = OpFAdd  %7  %438 %437
OpStore %424 %439
%440 = OpConvertSToF  %7  %285
%441 = OpCompositeConstruct  %281  %280 %440
%442 = OpSampledImage  %433  %422 %420
%443 = OpImageSampleDrefImplicitLod  %7  %442 %441 %278
%444 = OpLoad  %7  %424
%445 = OpFAdd  %7  %444 %443
OpStore %424 %445
%447 = OpSampledImage  %446  %423 %420
%448 = OpImageSampleDrefImplicitLod  %7  %447 %282 %278
%449 = OpLoad  %7  %424
%450 = OpFAdd  %7  %449 %448
OpStore %424 %450
%451 = OpSampledImage  %428  %421 %420
%452 = OpImageSampleDrefExplicitLod  %7  %451 %280 %278 Lod %453
%454 = OpLoad  %7  %424
%455 = OpFAdd  %7  %454 %452
OpStore %424 %455
%456 = OpConvertUToF  %7  %198
%457 = OpCompositeConstruct  %281  %280 %456
%458 = OpSampledImage  %433  %422 %420
%459 = OpImageSampleDrefExplicitLod  %7  %458 %457 %278 Lod %453
%460 = OpLoad  %7  %424
%461 = OpFAdd  %7  %460 %459
OpStore %424 %461
%462 = OpConvertSToF  %7  %285
%463 = OpCompositeConstruct  %281  %280 %462
%464 = OpSampledImage  %433  %422 %420
%465 = OpImageSampleDrefExplicitLod  %7  %464 %463 %278 Lod %453
%466 = OpLoad  %7  %424
%467 = OpFAdd  %7  %466 %465
OpStore %424 %467
%468 = OpSampledImage  %446  %423 %420
%469 = OpImageSampleDrefExplicitLod  %7  %468 %282 %278 Lod %453
%470 = OpLoad  %7  %424
%471 = OpFAdd  %7  %470 %469
OpStore %424 %471
%472 = OpLoad  %7  %424
OpStore %417 %472
OpReturn
OpFunctionEnd
%475 = OpFunction  %2  None %79
%473 = OpLabel
%476 = OpLoad  %16  %49
%477 = OpLoad  %3  %51
%478 = OpLoad  %17  %52
%479 = OpLoad  %24  %64
%480 = OpLoad  %24  %66
%481 = OpLoad  %25  %68
OpBranch %482
%482 = OpLabel
%483 = OpSampledImage  %296  %476 %479
%484 = OpImageGather  %23  %483 %280 %485
%486 = OpSampledImage  %296  %476 %479
%487 = OpImageGather  %23  %486 %280 %488 ConstOffset %30
%489 = OpSampledImage  %428  %481 %480
%490 = OpImageDrefGather  %23  %489 %280 %278
%491 = OpSampledImage  %428  %481 %480
%492 = OpImageDrefGather  %23  %491 %280 %278 ConstOffset %30
%494 = OpSampledImage  %493  %477 %479
%495 = OpImageGather  %98  %494 %280 %198
%498 = OpSampledImage  %497  %478 %479
%499 = OpImageGather  %496  %498 %280 %198
%500 = OpConvertUToF  %23  %495
%501 = OpConvertSToF  %23  %499
%502 = OpFAdd  %23  %500 %501
%503 = OpFAdd  %23  %484 %487
%504 = OpFAdd  %23  %503 %490
%505 = OpFAdd  %23  %504 %492
%506 = OpFAdd  %23  %505 %502
OpStore %474 %506
OpReturn
OpFunctionEnd
%509 = OpFunction  %2  None %79
%507 = OpLabel
%510 = OpLoad  %24  %64
%511 = OpLoad  %25  %68
OpBranch %512
%512 = OpLabel
%513 = OpSampledImage  %428  %511 %510
%514 = OpImageSampleImplicitLod  %23  %513 %280
%515 = OpCompositeExtract  %7  %514 0
%516 = OpSampledImage  %428  %511 %510
%517 = OpImageGather  %23  %516 %280 %198
%518 = OpSampledImage  %428  %511 %510
%520 = OpConvertSToF  %7  %29
%519 = OpImageSampleExplicitLod  %23  %518 %280 Lod %520
%521 = OpCompositeExtract  %7  %519 0
%522 = OpCompositeConstruct  %23  %515 %515 %515 %515
%523 = OpFAdd  %23  %522 %517
%524 = OpCompositeConstruct  %23  %521 %521 %521 %521
%525 = OpFAdd  %23  %523 %524
OpStore %508 %525
OpReturn
OpFunctionEnd