Add tests derived from VK-GL-CTS

This adds SPIR-V assembly and WGSL tests derived from VK-GL-CTS commit
571256871c2e2f03995373e1e4a02958d8cd8cf5. The following procedure was
followed:

- Those .amber files in VK-GL-CTS wholly owned by Google were
  identified

- All GLSL and SPIR-V shaders were extracted from the Amber files and
  converted into SPIR-V binaries

- The compact-ids pass of spirv-opt was applied to each binary

- Duplicate binaries were removed

- spirv-opt -O was used to obtain an optimized version of each remaining
  binary, with duplicates discarded

- Binaries that failed validation using spirv-val with target
  environment SPIR-V 1.3 were discarded

- Those binaries that tint could not successfully convert into WGSL were
  put aside for further investigation

- SPIR-V assembly versions of the remaining binaries are included in
  this CL

- test-runner with -generate-expected and -generate-skip was used to
  generate expected .spvasm, .msl, .hlsl and .wgsl outputs for these
  SPIR-V assembly tests

- Each successfully-generated .expected.wgsl is included in this CL
  again, as a WGLSL test

- test-runner with -generate-expected and -generate-skip was used again,
  to generate expected outputs for these WGSL tests

Change-Id: Ibe9baf2729cf97e0b633db9a426f53362a5de540
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58842
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
Alastair Donaldson
2021-07-23 13:10:12 +00:00
committed by Tint LUCI CQ
parent bd3edb564f
commit f7e73d4ee3
5160 changed files with 621458 additions and 0 deletions

View File

@@ -0,0 +1,684 @@
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 320
OpName %main "main"
OpName %BST "BST"
OpMemberName %BST 0 "data"
OpMemberName %BST 1 "leftIndex"
OpMemberName %BST 2 "rightIndex"
OpName %tree "tree"
OpName %_GLF_color "_GLF_color"
OpDecorate %_GLF_color Location 0
%void = OpTypeVoid
%7 = OpTypeFunction %void
%int = OpTypeInt 32 1
%BST = OpTypeStruct %int %int %int
%_ptr_Function_BST = OpTypePointer Function %BST
%_ptr_Function_int = OpTypePointer Function %int
%int_0 = OpConstant %int 0
%int_1 = OpConstant %int 1
%int_n1 = OpConstant %int -1
%int_2 = OpConstant %int 2
%bool = OpTypeBool
%uint = OpTypeInt 32 0
%uint_10 = OpConstant %uint 10
%_arr_BST_uint_10 = OpTypeArray %BST %uint_10
%int_9 = OpConstant %int 9
%int_5 = OpConstant %int 5
%int_12 = OpConstant %int 12
%int_15 = OpConstant %int 15
%int_7 = OpConstant %int 7
%int_8 = OpConstant %int 8
%int_6 = OpConstant %int 6
%int_17 = OpConstant %int 17
%int_13 = OpConstant %int 13
%int_20 = OpConstant %int 20
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%float_1 = OpConstant %float 1
%float_0 = OpConstant %float 0
%34 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%35 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1
%uint_0 = OpConstant %uint 0
%false = OpConstantFalse %bool
%true = OpConstantTrue %bool
%_ptr_Function__arr_BST_uint_10 = OpTypePointer Function %_arr_BST_uint_10
%40 = OpUndef %int
%41 = OpConstantComposite %BST %int_9 %int_n1 %int_n1
%42 = OpConstantComposite %BST %int_5 %int_n1 %int_n1
%43 = OpConstantComposite %BST %int_12 %int_n1 %int_n1
%int_3 = OpConstant %int 3
%45 = OpConstantComposite %BST %int_15 %int_n1 %int_n1
%int_4 = OpConstant %int 4
%47 = OpConstantComposite %BST %int_7 %int_n1 %int_n1
%48 = OpConstantComposite %BST %int_8 %int_n1 %int_n1
%49 = OpConstantComposite %BST %int_2 %int_n1 %int_n1
%50 = OpConstantComposite %BST %int_6 %int_n1 %int_n1
%51 = OpConstantComposite %BST %int_17 %int_n1 %int_n1
%52 = OpConstantComposite %BST %int_13 %int_n1 %int_n1
%main = OpFunction %void None %7
%53 = OpLabel
%tree = OpVariable %_ptr_Function__arr_BST_uint_10 Function
%54 = OpAccessChain %_ptr_Function_BST %tree %int_0
OpStore %54 %41
OpSelectionMerge %55 None
OpSwitch %uint_0 %56
%56 = OpLabel
OpBranch %57
%57 = OpLabel
%58 = OpPhi %int %int_0 %56 %59 %60
%61 = OpSLessThanEqual %bool %58 %int_1
OpLoopMerge %62 %60 None
OpBranchConditional %61 %63 %62
%63 = OpLabel
%64 = OpAccessChain %_ptr_Function_int %tree %58 %int_0
%65 = OpLoad %int %64
%66 = OpSLessThanEqual %bool %int_5 %65
OpSelectionMerge %67 None
OpBranchConditional %66 %68 %69
%69 = OpLabel
%70 = OpAccessChain %_ptr_Function_int %tree %58 %int_2
%71 = OpLoad %int %70
%72 = OpIEqual %bool %71 %int_n1
OpSelectionMerge %73 None
OpBranchConditional %72 %74 %75
%75 = OpLabel
%76 = OpLoad %int %70
OpBranch %60
%74 = OpLabel
OpStore %70 %int_1
%77 = OpAccessChain %_ptr_Function_BST %tree %int_1
OpStore %77 %42
OpBranch %62
%73 = OpLabel
OpUnreachable
%68 = OpLabel
%78 = OpAccessChain %_ptr_Function_int %tree %58 %int_1
%79 = OpLoad %int %78
%80 = OpIEqual %bool %79 %int_n1
OpSelectionMerge %81 None
OpBranchConditional %80 %82 %83
%83 = OpLabel
%84 = OpLoad %int %78
OpBranch %60
%82 = OpLabel
OpStore %78 %int_1
%85 = OpAccessChain %_ptr_Function_BST %tree %int_1
OpStore %85 %42
OpBranch %62
%81 = OpLabel
OpUnreachable
%67 = OpLabel
OpUnreachable
%60 = OpLabel
%59 = OpPhi %int %84 %83 %76 %75
OpBranch %57
%62 = OpLabel
%86 = OpPhi %bool %false %57 %true %82 %true %74
OpSelectionMerge %87 None
OpBranchConditional %86 %55 %87
%87 = OpLabel
OpBranch %55
%55 = OpLabel
OpSelectionMerge %88 None
OpSwitch %uint_0 %89
%89 = OpLabel
OpBranch %90
%90 = OpLabel
%91 = OpPhi %int %int_0 %89 %92 %93
%94 = OpSLessThanEqual %bool %91 %int_2
OpLoopMerge %95 %93 None
OpBranchConditional %94 %96 %95
%96 = OpLabel
%97 = OpAccessChain %_ptr_Function_int %tree %91 %int_0
%98 = OpLoad %int %97
%99 = OpSLessThanEqual %bool %int_12 %98
OpSelectionMerge %100 None
OpBranchConditional %99 %101 %102
%102 = OpLabel
%103 = OpAccessChain %_ptr_Function_int %tree %91 %int_2
%104 = OpLoad %int %103
%105 = OpIEqual %bool %104 %int_n1
OpSelectionMerge %106 None
OpBranchConditional %105 %107 %108
%108 = OpLabel
%109 = OpLoad %int %103
OpBranch %93
%107 = OpLabel
OpStore %103 %int_2
%110 = OpAccessChain %_ptr_Function_BST %tree %int_2
OpStore %110 %43
OpBranch %95
%106 = OpLabel
OpUnreachable
%101 = OpLabel
%111 = OpAccessChain %_ptr_Function_int %tree %91 %int_1
%112 = OpLoad %int %111
%113 = OpIEqual %bool %112 %int_n1
OpSelectionMerge %114 None
OpBranchConditional %113 %115 %116
%116 = OpLabel
%117 = OpLoad %int %111
OpBranch %93
%115 = OpLabel
OpStore %111 %int_2
%118 = OpAccessChain %_ptr_Function_BST %tree %int_2
OpStore %118 %43
OpBranch %95
%114 = OpLabel
OpUnreachable
%100 = OpLabel
OpUnreachable
%93 = OpLabel
%92 = OpPhi %int %117 %116 %109 %108
OpBranch %90
%95 = OpLabel
%119 = OpPhi %bool %false %90 %true %115 %true %107
OpSelectionMerge %120 None
OpBranchConditional %119 %88 %120
%120 = OpLabel
OpBranch %88
%88 = OpLabel
OpSelectionMerge %121 None
OpSwitch %uint_0 %122
%122 = OpLabel
OpBranch %123
%123 = OpLabel
%124 = OpPhi %int %int_0 %122 %125 %126
%127 = OpSLessThanEqual %bool %124 %int_3
OpLoopMerge %128 %126 None
OpBranchConditional %127 %129 %128
%129 = OpLabel
%130 = OpAccessChain %_ptr_Function_int %tree %124 %int_0
%131 = OpLoad %int %130
%132 = OpSLessThanEqual %bool %int_15 %131
OpSelectionMerge %133 None
OpBranchConditional %132 %134 %135
%135 = OpLabel
%136 = OpAccessChain %_ptr_Function_int %tree %124 %int_2
%137 = OpLoad %int %136
%138 = OpIEqual %bool %137 %int_n1
OpSelectionMerge %139 None
OpBranchConditional %138 %140 %141
%141 = OpLabel
%142 = OpLoad %int %136
OpBranch %126
%140 = OpLabel
OpStore %136 %int_3
%143 = OpAccessChain %_ptr_Function_BST %tree %int_3
OpStore %143 %45
OpBranch %128
%139 = OpLabel
OpUnreachable
%134 = OpLabel
%144 = OpAccessChain %_ptr_Function_int %tree %124 %int_1
%145 = OpLoad %int %144
%146 = OpIEqual %bool %145 %int_n1
OpSelectionMerge %147 None
OpBranchConditional %146 %148 %149
%149 = OpLabel
%150 = OpLoad %int %144
OpBranch %126
%148 = OpLabel
OpStore %144 %int_3
%151 = OpAccessChain %_ptr_Function_BST %tree %int_3
OpStore %151 %45
OpBranch %128
%147 = OpLabel
OpUnreachable
%133 = OpLabel
OpUnreachable
%126 = OpLabel
%125 = OpPhi %int %150 %149 %142 %141
OpBranch %123
%128 = OpLabel
%152 = OpPhi %bool %false %123 %true %148 %true %140
OpSelectionMerge %153 None
OpBranchConditional %152 %121 %153
%153 = OpLabel
OpBranch %121
%121 = OpLabel
OpSelectionMerge %154 None
OpSwitch %uint_0 %155
%155 = OpLabel
OpBranch %156
%156 = OpLabel
%157 = OpPhi %int %int_0 %155 %158 %159
%160 = OpSLessThanEqual %bool %157 %int_4
OpLoopMerge %161 %159 None
OpBranchConditional %160 %162 %161
%162 = OpLabel
%163 = OpAccessChain %_ptr_Function_int %tree %157 %int_0
%164 = OpLoad %int %163
%165 = OpSLessThanEqual %bool %int_7 %164
OpSelectionMerge %166 None
OpBranchConditional %165 %167 %168
%168 = OpLabel
%169 = OpAccessChain %_ptr_Function_int %tree %157 %int_2
%170 = OpLoad %int %169
%171 = OpIEqual %bool %170 %int_n1
OpSelectionMerge %172 None
OpBranchConditional %171 %173 %174
%174 = OpLabel
%175 = OpLoad %int %169
OpBranch %159
%173 = OpLabel
OpStore %169 %int_4
%176 = OpAccessChain %_ptr_Function_BST %tree %int_4
OpStore %176 %47
OpBranch %161
%172 = OpLabel
OpUnreachable
%167 = OpLabel
%177 = OpAccessChain %_ptr_Function_int %tree %157 %int_1
%178 = OpLoad %int %177
%179 = OpIEqual %bool %178 %int_n1
OpSelectionMerge %180 None
OpBranchConditional %179 %181 %182
%182 = OpLabel
%183 = OpLoad %int %177
OpBranch %159
%181 = OpLabel
OpStore %177 %int_4
%184 = OpAccessChain %_ptr_Function_BST %tree %int_4
OpStore %184 %47
OpBranch %161
%180 = OpLabel
OpUnreachable
%166 = OpLabel
OpUnreachable
%159 = OpLabel
%158 = OpPhi %int %183 %182 %175 %174
OpBranch %156
%161 = OpLabel
%185 = OpPhi %bool %false %156 %true %181 %true %173
OpSelectionMerge %186 None
OpBranchConditional %185 %154 %186
%186 = OpLabel
OpBranch %154
%154 = OpLabel
OpSelectionMerge %187 None
OpSwitch %uint_0 %188
%188 = OpLabel
OpBranch %189
%189 = OpLabel
%190 = OpPhi %int %int_0 %188 %191 %192
%193 = OpSLessThanEqual %bool %190 %int_5
OpLoopMerge %194 %192 None
OpBranchConditional %193 %195 %194
%195 = OpLabel
%196 = OpAccessChain %_ptr_Function_int %tree %190 %int_0
%197 = OpLoad %int %196
%198 = OpSLessThanEqual %bool %int_8 %197
OpSelectionMerge %199 None
OpBranchConditional %198 %200 %201
%201 = OpLabel
%202 = OpAccessChain %_ptr_Function_int %tree %190 %int_2
%203 = OpLoad %int %202
%204 = OpIEqual %bool %203 %int_n1
OpSelectionMerge %205 None
OpBranchConditional %204 %206 %207
%207 = OpLabel
%208 = OpLoad %int %202
OpBranch %192
%206 = OpLabel
OpStore %202 %int_5
%209 = OpAccessChain %_ptr_Function_BST %tree %int_5
OpStore %209 %48
OpBranch %194
%205 = OpLabel
OpUnreachable
%200 = OpLabel
%210 = OpAccessChain %_ptr_Function_int %tree %190 %int_1
%211 = OpLoad %int %210
%212 = OpIEqual %bool %211 %int_n1
OpSelectionMerge %213 None
OpBranchConditional %212 %214 %215
%215 = OpLabel
%216 = OpLoad %int %210
OpBranch %192
%214 = OpLabel
OpStore %210 %int_5
%217 = OpAccessChain %_ptr_Function_BST %tree %int_5
OpStore %217 %48
OpBranch %194
%213 = OpLabel
OpUnreachable
%199 = OpLabel
OpUnreachable
%192 = OpLabel
%191 = OpPhi %int %216 %215 %208 %207
OpBranch %189
%194 = OpLabel
%218 = OpPhi %bool %false %189 %true %214 %true %206
OpSelectionMerge %219 None
OpBranchConditional %218 %187 %219
%219 = OpLabel
OpBranch %187
%187 = OpLabel
OpSelectionMerge %220 None
OpSwitch %uint_0 %221
%221 = OpLabel
OpBranch %222
%222 = OpLabel
%223 = OpPhi %int %int_0 %221 %224 %225
%226 = OpSLessThanEqual %bool %223 %int_6
OpLoopMerge %227 %225 None
OpBranchConditional %226 %228 %227
%228 = OpLabel
%229 = OpAccessChain %_ptr_Function_int %tree %223 %int_0
%230 = OpLoad %int %229
%231 = OpSLessThanEqual %bool %int_2 %230
OpSelectionMerge %232 None
OpBranchConditional %231 %233 %234
%234 = OpLabel
%235 = OpAccessChain %_ptr_Function_int %tree %223 %int_2
%236 = OpLoad %int %235
%237 = OpIEqual %bool %236 %int_n1
OpSelectionMerge %238 None
OpBranchConditional %237 %239 %240
%240 = OpLabel
%241 = OpLoad %int %235
OpBranch %225
%239 = OpLabel
OpStore %235 %int_6
%242 = OpAccessChain %_ptr_Function_BST %tree %int_6
OpStore %242 %49
OpBranch %227
%238 = OpLabel
OpUnreachable
%233 = OpLabel
%243 = OpAccessChain %_ptr_Function_int %tree %223 %int_1
%244 = OpLoad %int %243
%245 = OpIEqual %bool %244 %int_n1
OpSelectionMerge %246 None
OpBranchConditional %245 %247 %248
%248 = OpLabel
%249 = OpLoad %int %243
OpBranch %225
%247 = OpLabel
OpStore %243 %int_6
%250 = OpAccessChain %_ptr_Function_BST %tree %int_6
OpStore %250 %49
OpBranch %227
%246 = OpLabel
OpUnreachable
%232 = OpLabel
OpUnreachable
%225 = OpLabel
%224 = OpPhi %int %249 %248 %241 %240
OpBranch %222
%227 = OpLabel
%251 = OpPhi %bool %false %222 %true %247 %true %239
OpSelectionMerge %252 None
OpBranchConditional %251 %220 %252
%252 = OpLabel
OpBranch %220
%220 = OpLabel
OpSelectionMerge %253 None
OpSwitch %uint_0 %254
%254 = OpLabel
OpBranch %255
%255 = OpLabel
%256 = OpPhi %int %int_0 %254 %257 %258
%259 = OpSLessThanEqual %bool %256 %int_7
OpLoopMerge %260 %258 None
OpBranchConditional %259 %261 %260
%261 = OpLabel
%262 = OpAccessChain %_ptr_Function_int %tree %256 %int_0
%263 = OpLoad %int %262
%264 = OpSLessThanEqual %bool %int_6 %263
OpSelectionMerge %265 None
OpBranchConditional %264 %266 %267
%267 = OpLabel
%268 = OpAccessChain %_ptr_Function_int %tree %256 %int_2
%269 = OpLoad %int %268
%270 = OpIEqual %bool %269 %int_n1
OpSelectionMerge %271 None
OpBranchConditional %270 %272 %273
%273 = OpLabel
%274 = OpLoad %int %268
OpBranch %258
%272 = OpLabel
OpStore %268 %int_7
%275 = OpAccessChain %_ptr_Function_BST %tree %int_7
OpStore %275 %50
OpBranch %260
%271 = OpLabel
OpUnreachable
%266 = OpLabel
%276 = OpAccessChain %_ptr_Function_int %tree %256 %int_1
%277 = OpLoad %int %276
%278 = OpIEqual %bool %277 %int_n1
OpSelectionMerge %279 None
OpBranchConditional %278 %280 %281
%281 = OpLabel
%282 = OpLoad %int %276
OpBranch %258
%280 = OpLabel
OpStore %276 %int_7
%283 = OpAccessChain %_ptr_Function_BST %tree %int_7
OpStore %283 %50
OpBranch %260
%279 = OpLabel
OpUnreachable
%265 = OpLabel
OpUnreachable
%258 = OpLabel
%257 = OpPhi %int %282 %281 %274 %273
OpBranch %255
%260 = OpLabel
%284 = OpPhi %bool %false %255 %true %280 %true %272
OpSelectionMerge %285 None
OpBranchConditional %284 %253 %285
%285 = OpLabel
OpBranch %253
%253 = OpLabel
OpSelectionMerge %286 None
OpSwitch %uint_0 %287
%287 = OpLabel
OpBranch %288
%288 = OpLabel
%289 = OpPhi %int %int_0 %287 %290 %291
%292 = OpSLessThanEqual %bool %289 %int_8
OpLoopMerge %293 %291 None
OpBranchConditional %292 %294 %293
%294 = OpLabel
%295 = OpAccessChain %_ptr_Function_int %tree %289 %int_0
%296 = OpLoad %int %295
%297 = OpSLessThanEqual %bool %int_17 %296
OpSelectionMerge %298 None
OpBranchConditional %297 %299 %300
%300 = OpLabel
%301 = OpAccessChain %_ptr_Function_int %tree %289 %int_2
%302 = OpLoad %int %301
%303 = OpIEqual %bool %302 %int_n1
OpSelectionMerge %304 None
OpBranchConditional %303 %305 %306
%306 = OpLabel
%307 = OpLoad %int %301
OpBranch %291
%305 = OpLabel
OpStore %301 %int_8
%308 = OpAccessChain %_ptr_Function_BST %tree %int_8
OpStore %308 %51
OpBranch %293
%304 = OpLabel
OpUnreachable
%299 = OpLabel
%309 = OpAccessChain %_ptr_Function_int %tree %289 %int_1
%310 = OpLoad %int %309
%311 = OpIEqual %bool %310 %int_n1
OpSelectionMerge %312 None
OpBranchConditional %311 %313 %314
%314 = OpLabel
%315 = OpLoad %int %309
OpBranch %291
%313 = OpLabel
OpStore %309 %int_8
%316 = OpAccessChain %_ptr_Function_BST %tree %int_8
OpStore %316 %51
OpBranch %293
%312 = OpLabel
OpUnreachable
%298 = OpLabel
OpUnreachable
%291 = OpLabel
%290 = OpPhi %int %315 %314 %307 %306
OpBranch %288
%293 = OpLabel
%317 = OpPhi %bool %false %288 %true %313 %true %305
OpSelectionMerge %318 None
OpBranchConditional %317 %286 %318
%318 = OpLabel
OpBranch %286
%286 = OpLabel
OpSelectionMerge %319 None
OpSwitch %uint_0 %320
%320 = OpLabel
OpBranch %321
%321 = OpLabel
%322 = OpPhi %int %int_0 %320 %323 %324
%325 = OpSLessThanEqual %bool %322 %int_9
OpLoopMerge %326 %324 None
OpBranchConditional %325 %327 %326
%327 = OpLabel
%328 = OpAccessChain %_ptr_Function_int %tree %322 %int_0
%329 = OpLoad %int %328
%330 = OpSLessThanEqual %bool %int_13 %329
OpSelectionMerge %331 None
OpBranchConditional %330 %332 %333
%333 = OpLabel
%334 = OpAccessChain %_ptr_Function_int %tree %322 %int_2
%335 = OpLoad %int %334
%336 = OpIEqual %bool %335 %int_n1
OpSelectionMerge %337 None
OpBranchConditional %336 %338 %339
%339 = OpLabel
%340 = OpLoad %int %334
OpBranch %324
%338 = OpLabel
OpStore %334 %int_9
%341 = OpAccessChain %_ptr_Function_BST %tree %int_9
OpStore %341 %52
OpBranch %326
%337 = OpLabel
OpUnreachable
%332 = OpLabel
%342 = OpAccessChain %_ptr_Function_int %tree %322 %int_1
%343 = OpLoad %int %342
%344 = OpIEqual %bool %343 %int_n1
OpSelectionMerge %345 None
OpBranchConditional %344 %346 %347
%347 = OpLabel
%348 = OpLoad %int %342
OpBranch %324
%346 = OpLabel
OpStore %342 %int_9
%349 = OpAccessChain %_ptr_Function_BST %tree %int_9
OpStore %349 %52
OpBranch %326
%345 = OpLabel
OpUnreachable
%331 = OpLabel
OpUnreachable
%324 = OpLabel
%323 = OpPhi %int %348 %347 %340 %339
OpBranch %321
%326 = OpLabel
%350 = OpPhi %bool %false %321 %true %346 %true %338
OpSelectionMerge %351 None
OpBranchConditional %350 %319 %351
%351 = OpLabel
OpBranch %319
%319 = OpLabel
OpBranch %352
%352 = OpLabel
%353 = OpPhi %int %40 %319 %354 %355
%356 = OpPhi %int %int_0 %319 %357 %355
%358 = OpPhi %int %int_0 %319 %359 %355
%360 = OpSLessThan %bool %358 %int_20
OpLoopMerge %361 %355 None
OpBranchConditional %360 %362 %361
%362 = OpLabel
OpSelectionMerge %363 None
OpSwitch %uint_0 %364
%364 = OpLabel
OpBranch %365
%365 = OpLabel
%366 = OpPhi %int %int_0 %364 %367 %368
%369 = OpINotEqual %bool %366 %int_n1
OpLoopMerge %370 %368 None
OpBranchConditional %369 %371 %370
%371 = OpLabel
%372 = OpAccessChain %_ptr_Function_BST %tree %366
%373 = OpLoad %BST %372
%374 = OpCompositeExtract %int %373 0
%375 = OpCompositeExtract %int %373 1
%376 = OpCompositeExtract %int %373 2
%377 = OpIEqual %bool %374 %358
OpSelectionMerge %378 None
OpBranchConditional %377 %379 %378
%379 = OpLabel
OpBranch %370
%378 = OpLabel
%380 = OpSGreaterThan %bool %358 %374
%367 = OpSelect %int %380 %376 %375
OpBranch %368
%368 = OpLabel
OpBranch %365
%370 = OpLabel
%381 = OpPhi %int %353 %365 %358 %379
%382 = OpPhi %bool %false %365 %true %379
OpSelectionMerge %383 None
OpBranchConditional %382 %363 %383
%383 = OpLabel
OpBranch %363
%363 = OpLabel
%354 = OpPhi %int %381 %370 %int_n1 %383
OpSelectionMerge %384 None
OpSwitch %358 %385 9 %386 5 %386 12 %386 15 %386 7 %386 8 %386 2 %386 6 %386 17 %386 13 %386
%386 = OpLabel
%387 = OpIEqual %bool %354 %358
OpSelectionMerge %388 None
OpBranchConditional %387 %389 %388
%389 = OpLabel
%390 = OpIAdd %int %356 %int_1
OpBranch %388
%388 = OpLabel
%391 = OpPhi %int %356 %386 %390 %389
OpBranch %384
%385 = OpLabel
%392 = OpIEqual %bool %354 %int_n1
OpSelectionMerge %393 None
OpBranchConditional %392 %394 %393
%394 = OpLabel
%395 = OpIAdd %int %356 %int_1
OpBranch %393
%393 = OpLabel
%396 = OpPhi %int %356 %385 %395 %394
OpBranch %384
%384 = OpLabel
%357 = OpPhi %int %396 %393 %391 %388
OpBranch %355
%355 = OpLabel
%359 = OpIAdd %int %358 %int_1
OpBranch %352
%361 = OpLabel
%397 = OpIEqual %bool %356 %int_20
OpSelectionMerge %398 None
OpBranchConditional %397 %399 %400
%400 = OpLabel
OpStore %_GLF_color %35
OpBranch %398
%399 = OpLabel
OpStore %_GLF_color %34
OpBranch %398
%398 = OpLabel
OpReturn
OpFunctionEnd

View File

@@ -0,0 +1,748 @@
struct BST {
int data;
int leftIndex;
int rightIndex;
};
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
BST tree[10] = (BST[10])0;
int x_356 = 0;
int x_58_phi = 0;
bool x_86_phi = false;
int x_353_phi = 0;
int x_356_phi = 0;
int x_358_phi = 0;
const BST tint_symbol_2 = {9, -1, -1};
tree[0] = tint_symbol_2;
switch(0u) {
default: {
x_58_phi = 0;
while (true) {
int x_84 = 0;
int x_76 = 0;
int x_59 = 0;
int x_59_phi = 0;
const int x_58 = x_58_phi;
x_86_phi = false;
if ((x_58 <= 1)) {
} else {
break;
}
const int x_65 = tree[x_58].data;
if ((5 <= x_65)) {
const int x_78_save = x_58;
const int x_79 = tree[x_78_save].leftIndex;
if ((x_79 == -1)) {
tree[x_78_save].leftIndex = 1;
const BST tint_symbol_3 = {5, -1, -1};
tree[1] = tint_symbol_3;
x_86_phi = true;
break;
} else {
x_84 = tree[x_78_save].leftIndex;
x_59_phi = x_84;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
continue;
}
return;
} else {
const int x_70_save = x_58;
const int x_71 = tree[x_70_save].rightIndex;
if ((x_71 == -1)) {
tree[x_70_save].rightIndex = 1;
const BST tint_symbol_4 = {5, -1, -1};
tree[1] = tint_symbol_4;
x_86_phi = true;
break;
} else {
x_76 = tree[x_70_save].rightIndex;
x_59_phi = x_76;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
continue;
}
return;
}
return;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
}
if (x_86_phi) {
break;
}
break;
}
}
int x_91_phi = 0;
bool x_119_phi = false;
switch(0u) {
default: {
x_91_phi = 0;
while (true) {
int x_117 = 0;
int x_109 = 0;
int x_92 = 0;
int x_92_phi = 0;
const int x_91 = x_91_phi;
x_119_phi = false;
if ((x_91 <= 2)) {
} else {
break;
}
const int x_98 = tree[x_91].data;
if ((12 <= x_98)) {
const int x_111_save = x_91;
const int x_112 = tree[x_111_save].leftIndex;
if ((x_112 == -1)) {
tree[x_111_save].leftIndex = 2;
const BST tint_symbol_5 = {12, -1, -1};
tree[2] = tint_symbol_5;
x_119_phi = true;
break;
} else {
x_117 = tree[x_111_save].leftIndex;
x_92_phi = x_117;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
continue;
}
return;
} else {
const int x_103_save = x_91;
const int x_104 = tree[x_103_save].rightIndex;
if ((x_104 == -1)) {
tree[x_103_save].rightIndex = 2;
const BST tint_symbol_6 = {12, -1, -1};
tree[2] = tint_symbol_6;
x_119_phi = true;
break;
} else {
x_109 = tree[x_103_save].rightIndex;
x_92_phi = x_109;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
continue;
}
return;
}
return;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
}
if (x_119_phi) {
break;
}
break;
}
}
int x_124_phi = 0;
bool x_152_phi = false;
switch(0u) {
default: {
x_124_phi = 0;
while (true) {
int x_150 = 0;
int x_142 = 0;
int x_125 = 0;
int x_125_phi = 0;
const int x_124 = x_124_phi;
x_152_phi = false;
if ((x_124 <= 3)) {
} else {
break;
}
const int x_131 = tree[x_124].data;
if ((15 <= x_131)) {
const int x_144_save = x_124;
const int x_145 = tree[x_144_save].leftIndex;
if ((x_145 == -1)) {
tree[x_144_save].leftIndex = 3;
const BST tint_symbol_7 = {15, -1, -1};
tree[3] = tint_symbol_7;
x_152_phi = true;
break;
} else {
x_150 = tree[x_144_save].leftIndex;
x_125_phi = x_150;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
continue;
}
return;
} else {
const int x_136_save = x_124;
const int x_137 = tree[x_136_save].rightIndex;
if ((x_137 == -1)) {
tree[x_136_save].rightIndex = 3;
const BST tint_symbol_8 = {15, -1, -1};
tree[3] = tint_symbol_8;
x_152_phi = true;
break;
} else {
x_142 = tree[x_136_save].rightIndex;
x_125_phi = x_142;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
continue;
}
return;
}
return;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
}
if (x_152_phi) {
break;
}
break;
}
}
int x_157_phi = 0;
bool x_185_phi = false;
switch(0u) {
default: {
x_157_phi = 0;
while (true) {
int x_183 = 0;
int x_175 = 0;
int x_158 = 0;
int x_158_phi = 0;
const int x_157 = x_157_phi;
x_185_phi = false;
if ((x_157 <= 4)) {
} else {
break;
}
const int x_164 = tree[x_157].data;
if ((7 <= x_164)) {
const int x_177_save = x_157;
const int x_178 = tree[x_177_save].leftIndex;
if ((x_178 == -1)) {
tree[x_177_save].leftIndex = 4;
const BST tint_symbol_9 = {7, -1, -1};
tree[4] = tint_symbol_9;
x_185_phi = true;
break;
} else {
x_183 = tree[x_177_save].leftIndex;
x_158_phi = x_183;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
continue;
}
return;
} else {
const int x_169_save = x_157;
const int x_170 = tree[x_169_save].rightIndex;
if ((x_170 == -1)) {
tree[x_169_save].rightIndex = 4;
const BST tint_symbol_10 = {7, -1, -1};
tree[4] = tint_symbol_10;
x_185_phi = true;
break;
} else {
x_175 = tree[x_169_save].rightIndex;
x_158_phi = x_175;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
continue;
}
return;
}
return;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
}
if (x_185_phi) {
break;
}
break;
}
}
int x_190_phi = 0;
bool x_218_phi = false;
switch(0u) {
default: {
x_190_phi = 0;
while (true) {
int x_216 = 0;
int x_208 = 0;
int x_191 = 0;
int x_191_phi = 0;
const int x_190 = x_190_phi;
x_218_phi = false;
if ((x_190 <= 5)) {
} else {
break;
}
const int x_197 = tree[x_190].data;
if ((8 <= x_197)) {
const int x_210_save = x_190;
const int x_211 = tree[x_210_save].leftIndex;
if ((x_211 == -1)) {
tree[x_210_save].leftIndex = 5;
const BST tint_symbol_11 = {8, -1, -1};
tree[5] = tint_symbol_11;
x_218_phi = true;
break;
} else {
x_216 = tree[x_210_save].leftIndex;
x_191_phi = x_216;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
continue;
}
return;
} else {
const int x_202_save = x_190;
const int x_203 = tree[x_202_save].rightIndex;
if ((x_203 == -1)) {
tree[x_202_save].rightIndex = 5;
const BST tint_symbol_12 = {8, -1, -1};
tree[5] = tint_symbol_12;
x_218_phi = true;
break;
} else {
x_208 = tree[x_202_save].rightIndex;
x_191_phi = x_208;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
continue;
}
return;
}
return;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
}
if (x_218_phi) {
break;
}
break;
}
}
int x_223_phi = 0;
bool x_251_phi = false;
switch(0u) {
default: {
x_223_phi = 0;
while (true) {
int x_249 = 0;
int x_241 = 0;
int x_224 = 0;
int x_224_phi = 0;
const int x_223 = x_223_phi;
x_251_phi = false;
if ((x_223 <= 6)) {
} else {
break;
}
const int x_230 = tree[x_223].data;
if ((2 <= x_230)) {
const int x_243_save = x_223;
const int x_244 = tree[x_243_save].leftIndex;
if ((x_244 == -1)) {
tree[x_243_save].leftIndex = 6;
const BST tint_symbol_13 = {2, -1, -1};
tree[6] = tint_symbol_13;
x_251_phi = true;
break;
} else {
x_249 = tree[x_243_save].leftIndex;
x_224_phi = x_249;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
continue;
}
return;
} else {
const int x_235_save = x_223;
const int x_236 = tree[x_235_save].rightIndex;
if ((x_236 == -1)) {
tree[x_235_save].rightIndex = 6;
const BST tint_symbol_14 = {2, -1, -1};
tree[6] = tint_symbol_14;
x_251_phi = true;
break;
} else {
x_241 = tree[x_235_save].rightIndex;
x_224_phi = x_241;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
continue;
}
return;
}
return;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
}
if (x_251_phi) {
break;
}
break;
}
}
int x_256_phi = 0;
bool x_284_phi = false;
switch(0u) {
default: {
x_256_phi = 0;
while (true) {
int x_282 = 0;
int x_274 = 0;
int x_257 = 0;
int x_257_phi = 0;
const int x_256 = x_256_phi;
x_284_phi = false;
if ((x_256 <= 7)) {
} else {
break;
}
const int x_263 = tree[x_256].data;
if ((6 <= x_263)) {
const int x_276_save = x_256;
const int x_277 = tree[x_276_save].leftIndex;
if ((x_277 == -1)) {
tree[x_276_save].leftIndex = 7;
const BST tint_symbol_15 = {6, -1, -1};
tree[7] = tint_symbol_15;
x_284_phi = true;
break;
} else {
x_282 = tree[x_276_save].leftIndex;
x_257_phi = x_282;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
continue;
}
return;
} else {
const int x_268_save = x_256;
const int x_269 = tree[x_268_save].rightIndex;
if ((x_269 == -1)) {
tree[x_268_save].rightIndex = 7;
const BST tint_symbol_16 = {6, -1, -1};
tree[7] = tint_symbol_16;
x_284_phi = true;
break;
} else {
x_274 = tree[x_268_save].rightIndex;
x_257_phi = x_274;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
continue;
}
return;
}
return;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
}
if (x_284_phi) {
break;
}
break;
}
}
int x_289_phi = 0;
bool x_317_phi = false;
switch(0u) {
default: {
x_289_phi = 0;
while (true) {
int x_315 = 0;
int x_307 = 0;
int x_290 = 0;
int x_290_phi = 0;
const int x_289 = x_289_phi;
x_317_phi = false;
if ((x_289 <= 8)) {
} else {
break;
}
const int x_296 = tree[x_289].data;
if ((17 <= x_296)) {
const int x_309_save = x_289;
const int x_310 = tree[x_309_save].leftIndex;
if ((x_310 == -1)) {
tree[x_309_save].leftIndex = 8;
const BST tint_symbol_17 = {17, -1, -1};
tree[8] = tint_symbol_17;
x_317_phi = true;
break;
} else {
x_315 = tree[x_309_save].leftIndex;
x_290_phi = x_315;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
continue;
}
return;
} else {
const int x_301_save = x_289;
const int x_302 = tree[x_301_save].rightIndex;
if ((x_302 == -1)) {
tree[x_301_save].rightIndex = 8;
const BST tint_symbol_18 = {17, -1, -1};
tree[8] = tint_symbol_18;
x_317_phi = true;
break;
} else {
x_307 = tree[x_301_save].rightIndex;
x_290_phi = x_307;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
continue;
}
return;
}
return;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
}
if (x_317_phi) {
break;
}
break;
}
}
int x_322_phi = 0;
bool x_350_phi = false;
switch(0u) {
default: {
x_322_phi = 0;
while (true) {
int x_348 = 0;
int x_340 = 0;
int x_323 = 0;
int x_323_phi = 0;
const int x_322 = x_322_phi;
x_350_phi = false;
if ((x_322 <= 9)) {
} else {
break;
}
const int x_329 = tree[x_322].data;
if ((13 <= x_329)) {
const int x_342_save = x_322;
const int x_343 = tree[x_342_save].leftIndex;
if ((x_343 == -1)) {
tree[x_342_save].leftIndex = 9;
const BST tint_symbol_19 = {13, -1, -1};
tree[9] = tint_symbol_19;
x_350_phi = true;
break;
} else {
x_348 = tree[x_342_save].leftIndex;
x_323_phi = x_348;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
continue;
}
return;
} else {
const int x_334_save = x_322;
const int x_335 = tree[x_334_save].rightIndex;
if ((x_335 == -1)) {
tree[x_334_save].rightIndex = 9;
const BST tint_symbol_20 = {13, -1, -1};
tree[9] = tint_symbol_20;
x_350_phi = true;
break;
} else {
x_340 = tree[x_334_save].rightIndex;
x_323_phi = x_340;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
continue;
}
return;
}
return;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
}
if (x_350_phi) {
break;
}
break;
}
}
x_353_phi = 0;
x_356_phi = 0;
x_358_phi = 0;
while (true) {
int x_381 = 0;
int x_391 = 0;
int x_396 = 0;
int x_359 = 0;
int x_354_phi = 0;
int x_357_phi = 0;
const int x_353 = x_353_phi;
x_356 = x_356_phi;
const int x_358 = x_358_phi;
if ((x_358 < 20)) {
} else {
break;
}
int x_366_phi = 0;
int x_381_phi = 0;
bool x_382_phi = false;
switch(0u) {
default: {
x_366_phi = 0;
while (true) {
const int x_366 = x_366_phi;
x_381_phi = x_353;
x_382_phi = false;
if ((x_366 != -1)) {
} else {
break;
}
const BST x_373 = tree[x_366];
const int x_374 = x_373.data;
const int x_375 = x_373.leftIndex;
const int x_376 = x_373.rightIndex;
if ((x_374 == x_358)) {
x_381_phi = x_358;
x_382_phi = true;
break;
}
{
x_366_phi = ((x_358 > x_374) ? x_376 : x_375);
}
}
x_381 = x_381_phi;
const bool x_382 = x_382_phi;
x_354_phi = x_381;
if (x_382) {
break;
}
x_354_phi = -1;
break;
}
}
int x_354 = 0;
int x_390 = 0;
int x_395 = 0;
int x_391_phi = 0;
int x_396_phi = 0;
x_354 = x_354_phi;
switch(x_358) {
case 2:
case 5:
case 6:
case 7:
case 8:
case 9:
case 12:
case 13:
case 15:
case 17: {
x_391_phi = x_356;
if ((x_354 == asint(x_358))) {
x_390 = asint((x_356 + asint(1)));
x_391_phi = x_390;
}
x_391 = x_391_phi;
x_357_phi = x_391;
break;
}
default: {
x_396_phi = x_356;
if ((x_354 == asint(-1))) {
x_395 = asint((x_356 + asint(1)));
x_396_phi = x_395;
}
x_396 = x_396_phi;
x_357_phi = x_396;
break;
}
}
const int x_357 = x_357_phi;
{
x_359 = (x_358 + 1);
x_353_phi = x_354;
x_356_phi = x_357;
x_358_phi = x_359;
}
}
if ((x_356 == asint(20))) {
x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
}
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol {
float4 x_GLF_color_1 : SV_Target0;
};
tint_symbol main() {
main_1();
const main_out tint_symbol_1 = {x_GLF_color};
const tint_symbol tint_symbol_21 = {tint_symbol_1.x_GLF_color_1};
return tint_symbol_21;
}

View File

@@ -0,0 +1,762 @@
#include <metal_stdlib>
using namespace metal;
struct BST {
int data;
int leftIndex;
int rightIndex;
};
struct tint_array_wrapper {
BST arr[10];
};
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 x_GLF_color_1 [[color(0)]];
};
void main_1(thread float4* const tint_symbol_23) {
tint_array_wrapper tree = {};
int x_356 = 0;
int x_58_phi = 0;
bool x_86_phi = false;
int x_353_phi = 0;
int x_356_phi = 0;
int x_358_phi = 0;
BST const tint_symbol_3 = {.data=9, .leftIndex=-1, .rightIndex=-1};
tree.arr[0] = tint_symbol_3;
switch(0u) {
default: {
x_58_phi = 0;
while (true) {
int x_84 = 0;
int x_76 = 0;
int x_59 = 0;
int x_59_phi = 0;
int const x_58 = x_58_phi;
x_86_phi = false;
if ((x_58 <= 1)) {
} else {
break;
}
int const x_65 = tree.arr[x_58].data;
if ((5 <= x_65)) {
int const x_78_save = x_58;
int const x_79 = tree.arr[x_78_save].leftIndex;
if ((x_79 == -1)) {
tree.arr[x_78_save].leftIndex = 1;
BST const tint_symbol_4 = {.data=5, .leftIndex=-1, .rightIndex=-1};
tree.arr[1] = tint_symbol_4;
x_86_phi = true;
break;
} else {
x_84 = tree.arr[x_78_save].leftIndex;
x_59_phi = x_84;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
continue;
}
return;
} else {
int const x_70_save = x_58;
int const x_71 = tree.arr[x_70_save].rightIndex;
if ((x_71 == -1)) {
tree.arr[x_70_save].rightIndex = 1;
BST const tint_symbol_5 = {.data=5, .leftIndex=-1, .rightIndex=-1};
tree.arr[1] = tint_symbol_5;
x_86_phi = true;
break;
} else {
x_76 = tree.arr[x_70_save].rightIndex;
x_59_phi = x_76;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
continue;
}
return;
}
return;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
}
bool const x_86 = x_86_phi;
if (x_86) {
break;
}
break;
}
}
int x_91_phi = 0;
bool x_119_phi = false;
switch(0u) {
default: {
x_91_phi = 0;
while (true) {
int x_117 = 0;
int x_109 = 0;
int x_92 = 0;
int x_92_phi = 0;
int const x_91 = x_91_phi;
x_119_phi = false;
if ((x_91 <= 2)) {
} else {
break;
}
int const x_98 = tree.arr[x_91].data;
if ((12 <= x_98)) {
int const x_111_save = x_91;
int const x_112 = tree.arr[x_111_save].leftIndex;
if ((x_112 == -1)) {
tree.arr[x_111_save].leftIndex = 2;
BST const tint_symbol_6 = {.data=12, .leftIndex=-1, .rightIndex=-1};
tree.arr[2] = tint_symbol_6;
x_119_phi = true;
break;
} else {
x_117 = tree.arr[x_111_save].leftIndex;
x_92_phi = x_117;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
continue;
}
return;
} else {
int const x_103_save = x_91;
int const x_104 = tree.arr[x_103_save].rightIndex;
if ((x_104 == -1)) {
tree.arr[x_103_save].rightIndex = 2;
BST const tint_symbol_7 = {.data=12, .leftIndex=-1, .rightIndex=-1};
tree.arr[2] = tint_symbol_7;
x_119_phi = true;
break;
} else {
x_109 = tree.arr[x_103_save].rightIndex;
x_92_phi = x_109;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
continue;
}
return;
}
return;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
}
bool const x_119 = x_119_phi;
if (x_119) {
break;
}
break;
}
}
int x_124_phi = 0;
bool x_152_phi = false;
switch(0u) {
default: {
x_124_phi = 0;
while (true) {
int x_150 = 0;
int x_142 = 0;
int x_125 = 0;
int x_125_phi = 0;
int const x_124 = x_124_phi;
x_152_phi = false;
if ((x_124 <= 3)) {
} else {
break;
}
int const x_131 = tree.arr[x_124].data;
if ((15 <= x_131)) {
int const x_144_save = x_124;
int const x_145 = tree.arr[x_144_save].leftIndex;
if ((x_145 == -1)) {
tree.arr[x_144_save].leftIndex = 3;
BST const tint_symbol_8 = {.data=15, .leftIndex=-1, .rightIndex=-1};
tree.arr[3] = tint_symbol_8;
x_152_phi = true;
break;
} else {
x_150 = tree.arr[x_144_save].leftIndex;
x_125_phi = x_150;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
continue;
}
return;
} else {
int const x_136_save = x_124;
int const x_137 = tree.arr[x_136_save].rightIndex;
if ((x_137 == -1)) {
tree.arr[x_136_save].rightIndex = 3;
BST const tint_symbol_9 = {.data=15, .leftIndex=-1, .rightIndex=-1};
tree.arr[3] = tint_symbol_9;
x_152_phi = true;
break;
} else {
x_142 = tree.arr[x_136_save].rightIndex;
x_125_phi = x_142;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
continue;
}
return;
}
return;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
}
bool const x_152 = x_152_phi;
if (x_152) {
break;
}
break;
}
}
int x_157_phi = 0;
bool x_185_phi = false;
switch(0u) {
default: {
x_157_phi = 0;
while (true) {
int x_183 = 0;
int x_175 = 0;
int x_158 = 0;
int x_158_phi = 0;
int const x_157 = x_157_phi;
x_185_phi = false;
if ((x_157 <= 4)) {
} else {
break;
}
int const x_164 = tree.arr[x_157].data;
if ((7 <= x_164)) {
int const x_177_save = x_157;
int const x_178 = tree.arr[x_177_save].leftIndex;
if ((x_178 == -1)) {
tree.arr[x_177_save].leftIndex = 4;
BST const tint_symbol_10 = {.data=7, .leftIndex=-1, .rightIndex=-1};
tree.arr[4] = tint_symbol_10;
x_185_phi = true;
break;
} else {
x_183 = tree.arr[x_177_save].leftIndex;
x_158_phi = x_183;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
continue;
}
return;
} else {
int const x_169_save = x_157;
int const x_170 = tree.arr[x_169_save].rightIndex;
if ((x_170 == -1)) {
tree.arr[x_169_save].rightIndex = 4;
BST const tint_symbol_11 = {.data=7, .leftIndex=-1, .rightIndex=-1};
tree.arr[4] = tint_symbol_11;
x_185_phi = true;
break;
} else {
x_175 = tree.arr[x_169_save].rightIndex;
x_158_phi = x_175;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
continue;
}
return;
}
return;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
}
bool const x_185 = x_185_phi;
if (x_185) {
break;
}
break;
}
}
int x_190_phi = 0;
bool x_218_phi = false;
switch(0u) {
default: {
x_190_phi = 0;
while (true) {
int x_216 = 0;
int x_208 = 0;
int x_191 = 0;
int x_191_phi = 0;
int const x_190 = x_190_phi;
x_218_phi = false;
if ((x_190 <= 5)) {
} else {
break;
}
int const x_197 = tree.arr[x_190].data;
if ((8 <= x_197)) {
int const x_210_save = x_190;
int const x_211 = tree.arr[x_210_save].leftIndex;
if ((x_211 == -1)) {
tree.arr[x_210_save].leftIndex = 5;
BST const tint_symbol_12 = {.data=8, .leftIndex=-1, .rightIndex=-1};
tree.arr[5] = tint_symbol_12;
x_218_phi = true;
break;
} else {
x_216 = tree.arr[x_210_save].leftIndex;
x_191_phi = x_216;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
continue;
}
return;
} else {
int const x_202_save = x_190;
int const x_203 = tree.arr[x_202_save].rightIndex;
if ((x_203 == -1)) {
tree.arr[x_202_save].rightIndex = 5;
BST const tint_symbol_13 = {.data=8, .leftIndex=-1, .rightIndex=-1};
tree.arr[5] = tint_symbol_13;
x_218_phi = true;
break;
} else {
x_208 = tree.arr[x_202_save].rightIndex;
x_191_phi = x_208;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
continue;
}
return;
}
return;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
}
bool const x_218 = x_218_phi;
if (x_218) {
break;
}
break;
}
}
int x_223_phi = 0;
bool x_251_phi = false;
switch(0u) {
default: {
x_223_phi = 0;
while (true) {
int x_249 = 0;
int x_241 = 0;
int x_224 = 0;
int x_224_phi = 0;
int const x_223 = x_223_phi;
x_251_phi = false;
if ((x_223 <= 6)) {
} else {
break;
}
int const x_230 = tree.arr[x_223].data;
if ((2 <= x_230)) {
int const x_243_save = x_223;
int const x_244 = tree.arr[x_243_save].leftIndex;
if ((x_244 == -1)) {
tree.arr[x_243_save].leftIndex = 6;
BST const tint_symbol_14 = {.data=2, .leftIndex=-1, .rightIndex=-1};
tree.arr[6] = tint_symbol_14;
x_251_phi = true;
break;
} else {
x_249 = tree.arr[x_243_save].leftIndex;
x_224_phi = x_249;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
continue;
}
return;
} else {
int const x_235_save = x_223;
int const x_236 = tree.arr[x_235_save].rightIndex;
if ((x_236 == -1)) {
tree.arr[x_235_save].rightIndex = 6;
BST const tint_symbol_15 = {.data=2, .leftIndex=-1, .rightIndex=-1};
tree.arr[6] = tint_symbol_15;
x_251_phi = true;
break;
} else {
x_241 = tree.arr[x_235_save].rightIndex;
x_224_phi = x_241;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
continue;
}
return;
}
return;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
}
bool const x_251 = x_251_phi;
if (x_251) {
break;
}
break;
}
}
int x_256_phi = 0;
bool x_284_phi = false;
switch(0u) {
default: {
x_256_phi = 0;
while (true) {
int x_282 = 0;
int x_274 = 0;
int x_257 = 0;
int x_257_phi = 0;
int const x_256 = x_256_phi;
x_284_phi = false;
if ((x_256 <= 7)) {
} else {
break;
}
int const x_263 = tree.arr[x_256].data;
if ((6 <= x_263)) {
int const x_276_save = x_256;
int const x_277 = tree.arr[x_276_save].leftIndex;
if ((x_277 == -1)) {
tree.arr[x_276_save].leftIndex = 7;
BST const tint_symbol_16 = {.data=6, .leftIndex=-1, .rightIndex=-1};
tree.arr[7] = tint_symbol_16;
x_284_phi = true;
break;
} else {
x_282 = tree.arr[x_276_save].leftIndex;
x_257_phi = x_282;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
continue;
}
return;
} else {
int const x_268_save = x_256;
int const x_269 = tree.arr[x_268_save].rightIndex;
if ((x_269 == -1)) {
tree.arr[x_268_save].rightIndex = 7;
BST const tint_symbol_17 = {.data=6, .leftIndex=-1, .rightIndex=-1};
tree.arr[7] = tint_symbol_17;
x_284_phi = true;
break;
} else {
x_274 = tree.arr[x_268_save].rightIndex;
x_257_phi = x_274;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
continue;
}
return;
}
return;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
}
bool const x_284 = x_284_phi;
if (x_284) {
break;
}
break;
}
}
int x_289_phi = 0;
bool x_317_phi = false;
switch(0u) {
default: {
x_289_phi = 0;
while (true) {
int x_315 = 0;
int x_307 = 0;
int x_290 = 0;
int x_290_phi = 0;
int const x_289 = x_289_phi;
x_317_phi = false;
if ((x_289 <= 8)) {
} else {
break;
}
int const x_296 = tree.arr[x_289].data;
if ((17 <= x_296)) {
int const x_309_save = x_289;
int const x_310 = tree.arr[x_309_save].leftIndex;
if ((x_310 == -1)) {
tree.arr[x_309_save].leftIndex = 8;
BST const tint_symbol_18 = {.data=17, .leftIndex=-1, .rightIndex=-1};
tree.arr[8] = tint_symbol_18;
x_317_phi = true;
break;
} else {
x_315 = tree.arr[x_309_save].leftIndex;
x_290_phi = x_315;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
continue;
}
return;
} else {
int const x_301_save = x_289;
int const x_302 = tree.arr[x_301_save].rightIndex;
if ((x_302 == -1)) {
tree.arr[x_301_save].rightIndex = 8;
BST const tint_symbol_19 = {.data=17, .leftIndex=-1, .rightIndex=-1};
tree.arr[8] = tint_symbol_19;
x_317_phi = true;
break;
} else {
x_307 = tree.arr[x_301_save].rightIndex;
x_290_phi = x_307;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
continue;
}
return;
}
return;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
}
bool const x_317 = x_317_phi;
if (x_317) {
break;
}
break;
}
}
int x_322_phi = 0;
bool x_350_phi = false;
switch(0u) {
default: {
x_322_phi = 0;
while (true) {
int x_348 = 0;
int x_340 = 0;
int x_323 = 0;
int x_323_phi = 0;
int const x_322 = x_322_phi;
x_350_phi = false;
if ((x_322 <= 9)) {
} else {
break;
}
int const x_329 = tree.arr[x_322].data;
if ((13 <= x_329)) {
int const x_342_save = x_322;
int const x_343 = tree.arr[x_342_save].leftIndex;
if ((x_343 == -1)) {
tree.arr[x_342_save].leftIndex = 9;
BST const tint_symbol_20 = {.data=13, .leftIndex=-1, .rightIndex=-1};
tree.arr[9] = tint_symbol_20;
x_350_phi = true;
break;
} else {
x_348 = tree.arr[x_342_save].leftIndex;
x_323_phi = x_348;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
continue;
}
return;
} else {
int const x_334_save = x_322;
int const x_335 = tree.arr[x_334_save].rightIndex;
if ((x_335 == -1)) {
tree.arr[x_334_save].rightIndex = 9;
BST const tint_symbol_21 = {.data=13, .leftIndex=-1, .rightIndex=-1};
tree.arr[9] = tint_symbol_21;
x_350_phi = true;
break;
} else {
x_340 = tree.arr[x_334_save].rightIndex;
x_323_phi = x_340;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
continue;
}
return;
}
return;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
}
bool const x_350 = x_350_phi;
if (x_350) {
break;
}
break;
}
}
x_353_phi = 0;
x_356_phi = 0;
x_358_phi = 0;
while (true) {
int x_381 = 0;
int x_391 = 0;
int x_396 = 0;
int x_359 = 0;
int x_354_phi = 0;
int x_357_phi = 0;
int const x_353 = x_353_phi;
x_356 = x_356_phi;
int const x_358 = x_358_phi;
if ((x_358 < 20)) {
} else {
break;
}
int x_366_phi = 0;
int x_381_phi = 0;
bool x_382_phi = false;
switch(0u) {
default: {
x_366_phi = 0;
while (true) {
int const x_366 = x_366_phi;
x_381_phi = x_353;
x_382_phi = false;
if ((x_366 != -1)) {
} else {
break;
}
BST const x_373 = tree.arr[x_366];
int const x_374 = x_373.data;
int const x_375 = x_373.leftIndex;
int const x_376 = x_373.rightIndex;
if ((x_374 == x_358)) {
x_381_phi = x_358;
x_382_phi = true;
break;
}
{
x_366_phi = select(x_375, x_376, (x_358 > x_374));
}
}
x_381 = x_381_phi;
bool const x_382 = x_382_phi;
x_354_phi = x_381;
if (x_382) {
break;
}
x_354_phi = -1;
break;
}
}
int x_354 = 0;
int x_390 = 0;
int x_395 = 0;
int x_391_phi = 0;
int x_396_phi = 0;
x_354 = x_354_phi;
switch(x_358) {
case 2:
case 5:
case 6:
case 7:
case 8:
case 9:
case 12:
case 13:
case 15:
case 17: {
x_391_phi = x_356;
if ((x_354 == as_type<int>(x_358))) {
x_390 = as_type<int>((x_356 + as_type<int>(1)));
x_391_phi = x_390;
}
x_391 = x_391_phi;
x_357_phi = x_391;
break;
}
default: {
x_396_phi = x_356;
if ((x_354 == as_type<int>(-1))) {
x_395 = as_type<int>((x_356 + as_type<int>(1)));
x_396_phi = x_395;
}
x_396 = x_396_phi;
x_357_phi = x_396;
break;
}
}
int const x_357 = x_357_phi;
{
x_359 = (x_358 + 1);
x_353_phi = x_354;
x_356_phi = x_357;
x_358_phi = x_359;
}
}
if ((x_356 == as_type<int>(20))) {
*(tint_symbol_23) = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
*(tint_symbol_23) = float4(0.0f, 0.0f, 1.0f, 1.0f);
}
return;
}
fragment tint_symbol_1 tint_symbol() {
thread float4 tint_symbol_24 = 0.0f;
main_1(&(tint_symbol_24));
main_out const tint_symbol_2 = {.x_GLF_color_1=tint_symbol_24};
tint_symbol_1 const tint_symbol_22 = {.x_GLF_color_1=tint_symbol_2.x_GLF_color_1};
return tint_symbol_22;
}

View File

@@ -0,0 +1,653 @@
struct BST {
data : i32;
leftIndex : i32;
rightIndex : i32;
};
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var tree : array<BST, 10>;
var x_356 : i32;
var x_58_phi : i32;
var x_86_phi : bool;
var x_353_phi : i32;
var x_356_phi : i32;
var x_358_phi : i32;
tree[0] = BST(9, -1, -1);
switch(0u) {
default: {
x_58_phi = 0;
loop {
var x_84 : i32;
var x_76 : i32;
var x_59 : i32;
var x_59_phi : i32;
let x_58 : i32 = x_58_phi;
x_86_phi = false;
if ((x_58 <= 1)) {
} else {
break;
}
let x_65 : i32 = tree[x_58].data;
if ((5 <= x_65)) {
let x_78 : ptr<function, i32> = &(tree[x_58].leftIndex);
let x_79 : i32 = *(x_78);
if ((x_79 == -1)) {
*(x_78) = 1;
tree[1] = BST(5, -1, -1);
x_86_phi = true;
break;
} else {
x_84 = *(x_78);
x_59_phi = x_84;
continue;
}
return;
} else {
let x_70 : ptr<function, i32> = &(tree[x_58].rightIndex);
let x_71 : i32 = *(x_70);
if ((x_71 == -1)) {
*(x_70) = 1;
tree[1] = BST(5, -1, -1);
x_86_phi = true;
break;
} else {
x_76 = *(x_70);
x_59_phi = x_76;
continue;
}
return;
}
return;
continuing {
x_59 = x_59_phi;
x_58_phi = x_59;
}
}
let x_86 : bool = x_86_phi;
if (x_86) {
break;
}
}
}
var x_91_phi : i32;
var x_119_phi : bool;
switch(0u) {
default: {
x_91_phi = 0;
loop {
var x_117 : i32;
var x_109 : i32;
var x_92 : i32;
var x_92_phi : i32;
let x_91 : i32 = x_91_phi;
x_119_phi = false;
if ((x_91 <= 2)) {
} else {
break;
}
let x_98 : i32 = tree[x_91].data;
if ((12 <= x_98)) {
let x_111 : ptr<function, i32> = &(tree[x_91].leftIndex);
let x_112 : i32 = *(x_111);
if ((x_112 == -1)) {
*(x_111) = 2;
tree[2] = BST(12, -1, -1);
x_119_phi = true;
break;
} else {
x_117 = *(x_111);
x_92_phi = x_117;
continue;
}
return;
} else {
let x_103 : ptr<function, i32> = &(tree[x_91].rightIndex);
let x_104 : i32 = *(x_103);
if ((x_104 == -1)) {
*(x_103) = 2;
tree[2] = BST(12, -1, -1);
x_119_phi = true;
break;
} else {
x_109 = *(x_103);
x_92_phi = x_109;
continue;
}
return;
}
return;
continuing {
x_92 = x_92_phi;
x_91_phi = x_92;
}
}
let x_119 : bool = x_119_phi;
if (x_119) {
break;
}
}
}
var x_124_phi : i32;
var x_152_phi : bool;
switch(0u) {
default: {
x_124_phi = 0;
loop {
var x_150 : i32;
var x_142 : i32;
var x_125 : i32;
var x_125_phi : i32;
let x_124 : i32 = x_124_phi;
x_152_phi = false;
if ((x_124 <= 3)) {
} else {
break;
}
let x_131 : i32 = tree[x_124].data;
if ((15 <= x_131)) {
let x_144 : ptr<function, i32> = &(tree[x_124].leftIndex);
let x_145 : i32 = *(x_144);
if ((x_145 == -1)) {
*(x_144) = 3;
tree[3] = BST(15, -1, -1);
x_152_phi = true;
break;
} else {
x_150 = *(x_144);
x_125_phi = x_150;
continue;
}
return;
} else {
let x_136 : ptr<function, i32> = &(tree[x_124].rightIndex);
let x_137 : i32 = *(x_136);
if ((x_137 == -1)) {
*(x_136) = 3;
tree[3] = BST(15, -1, -1);
x_152_phi = true;
break;
} else {
x_142 = *(x_136);
x_125_phi = x_142;
continue;
}
return;
}
return;
continuing {
x_125 = x_125_phi;
x_124_phi = x_125;
}
}
let x_152 : bool = x_152_phi;
if (x_152) {
break;
}
}
}
var x_157_phi : i32;
var x_185_phi : bool;
switch(0u) {
default: {
x_157_phi = 0;
loop {
var x_183 : i32;
var x_175 : i32;
var x_158 : i32;
var x_158_phi : i32;
let x_157 : i32 = x_157_phi;
x_185_phi = false;
if ((x_157 <= 4)) {
} else {
break;
}
let x_164 : i32 = tree[x_157].data;
if ((7 <= x_164)) {
let x_177 : ptr<function, i32> = &(tree[x_157].leftIndex);
let x_178 : i32 = *(x_177);
if ((x_178 == -1)) {
*(x_177) = 4;
tree[4] = BST(7, -1, -1);
x_185_phi = true;
break;
} else {
x_183 = *(x_177);
x_158_phi = x_183;
continue;
}
return;
} else {
let x_169 : ptr<function, i32> = &(tree[x_157].rightIndex);
let x_170 : i32 = *(x_169);
if ((x_170 == -1)) {
*(x_169) = 4;
tree[4] = BST(7, -1, -1);
x_185_phi = true;
break;
} else {
x_175 = *(x_169);
x_158_phi = x_175;
continue;
}
return;
}
return;
continuing {
x_158 = x_158_phi;
x_157_phi = x_158;
}
}
let x_185 : bool = x_185_phi;
if (x_185) {
break;
}
}
}
var x_190_phi : i32;
var x_218_phi : bool;
switch(0u) {
default: {
x_190_phi = 0;
loop {
var x_216 : i32;
var x_208 : i32;
var x_191 : i32;
var x_191_phi : i32;
let x_190 : i32 = x_190_phi;
x_218_phi = false;
if ((x_190 <= 5)) {
} else {
break;
}
let x_197 : i32 = tree[x_190].data;
if ((8 <= x_197)) {
let x_210 : ptr<function, i32> = &(tree[x_190].leftIndex);
let x_211 : i32 = *(x_210);
if ((x_211 == -1)) {
*(x_210) = 5;
tree[5] = BST(8, -1, -1);
x_218_phi = true;
break;
} else {
x_216 = *(x_210);
x_191_phi = x_216;
continue;
}
return;
} else {
let x_202 : ptr<function, i32> = &(tree[x_190].rightIndex);
let x_203 : i32 = *(x_202);
if ((x_203 == -1)) {
*(x_202) = 5;
tree[5] = BST(8, -1, -1);
x_218_phi = true;
break;
} else {
x_208 = *(x_202);
x_191_phi = x_208;
continue;
}
return;
}
return;
continuing {
x_191 = x_191_phi;
x_190_phi = x_191;
}
}
let x_218 : bool = x_218_phi;
if (x_218) {
break;
}
}
}
var x_223_phi : i32;
var x_251_phi : bool;
switch(0u) {
default: {
x_223_phi = 0;
loop {
var x_249 : i32;
var x_241 : i32;
var x_224 : i32;
var x_224_phi : i32;
let x_223 : i32 = x_223_phi;
x_251_phi = false;
if ((x_223 <= 6)) {
} else {
break;
}
let x_230 : i32 = tree[x_223].data;
if ((2 <= x_230)) {
let x_243 : ptr<function, i32> = &(tree[x_223].leftIndex);
let x_244 : i32 = *(x_243);
if ((x_244 == -1)) {
*(x_243) = 6;
tree[6] = BST(2, -1, -1);
x_251_phi = true;
break;
} else {
x_249 = *(x_243);
x_224_phi = x_249;
continue;
}
return;
} else {
let x_235 : ptr<function, i32> = &(tree[x_223].rightIndex);
let x_236 : i32 = *(x_235);
if ((x_236 == -1)) {
*(x_235) = 6;
tree[6] = BST(2, -1, -1);
x_251_phi = true;
break;
} else {
x_241 = *(x_235);
x_224_phi = x_241;
continue;
}
return;
}
return;
continuing {
x_224 = x_224_phi;
x_223_phi = x_224;
}
}
let x_251 : bool = x_251_phi;
if (x_251) {
break;
}
}
}
var x_256_phi : i32;
var x_284_phi : bool;
switch(0u) {
default: {
x_256_phi = 0;
loop {
var x_282 : i32;
var x_274 : i32;
var x_257 : i32;
var x_257_phi : i32;
let x_256 : i32 = x_256_phi;
x_284_phi = false;
if ((x_256 <= 7)) {
} else {
break;
}
let x_263 : i32 = tree[x_256].data;
if ((6 <= x_263)) {
let x_276 : ptr<function, i32> = &(tree[x_256].leftIndex);
let x_277 : i32 = *(x_276);
if ((x_277 == -1)) {
*(x_276) = 7;
tree[7] = BST(6, -1, -1);
x_284_phi = true;
break;
} else {
x_282 = *(x_276);
x_257_phi = x_282;
continue;
}
return;
} else {
let x_268 : ptr<function, i32> = &(tree[x_256].rightIndex);
let x_269 : i32 = *(x_268);
if ((x_269 == -1)) {
*(x_268) = 7;
tree[7] = BST(6, -1, -1);
x_284_phi = true;
break;
} else {
x_274 = *(x_268);
x_257_phi = x_274;
continue;
}
return;
}
return;
continuing {
x_257 = x_257_phi;
x_256_phi = x_257;
}
}
let x_284 : bool = x_284_phi;
if (x_284) {
break;
}
}
}
var x_289_phi : i32;
var x_317_phi : bool;
switch(0u) {
default: {
x_289_phi = 0;
loop {
var x_315 : i32;
var x_307 : i32;
var x_290 : i32;
var x_290_phi : i32;
let x_289 : i32 = x_289_phi;
x_317_phi = false;
if ((x_289 <= 8)) {
} else {
break;
}
let x_296 : i32 = tree[x_289].data;
if ((17 <= x_296)) {
let x_309 : ptr<function, i32> = &(tree[x_289].leftIndex);
let x_310 : i32 = *(x_309);
if ((x_310 == -1)) {
*(x_309) = 8;
tree[8] = BST(17, -1, -1);
x_317_phi = true;
break;
} else {
x_315 = *(x_309);
x_290_phi = x_315;
continue;
}
return;
} else {
let x_301 : ptr<function, i32> = &(tree[x_289].rightIndex);
let x_302 : i32 = *(x_301);
if ((x_302 == -1)) {
*(x_301) = 8;
tree[8] = BST(17, -1, -1);
x_317_phi = true;
break;
} else {
x_307 = *(x_301);
x_290_phi = x_307;
continue;
}
return;
}
return;
continuing {
x_290 = x_290_phi;
x_289_phi = x_290;
}
}
let x_317 : bool = x_317_phi;
if (x_317) {
break;
}
}
}
var x_322_phi : i32;
var x_350_phi : bool;
switch(0u) {
default: {
x_322_phi = 0;
loop {
var x_348 : i32;
var x_340 : i32;
var x_323 : i32;
var x_323_phi : i32;
let x_322 : i32 = x_322_phi;
x_350_phi = false;
if ((x_322 <= 9)) {
} else {
break;
}
let x_329 : i32 = tree[x_322].data;
if ((13 <= x_329)) {
let x_342 : ptr<function, i32> = &(tree[x_322].leftIndex);
let x_343 : i32 = *(x_342);
if ((x_343 == -1)) {
*(x_342) = 9;
tree[9] = BST(13, -1, -1);
x_350_phi = true;
break;
} else {
x_348 = *(x_342);
x_323_phi = x_348;
continue;
}
return;
} else {
let x_334 : ptr<function, i32> = &(tree[x_322].rightIndex);
let x_335 : i32 = *(x_334);
if ((x_335 == -1)) {
*(x_334) = 9;
tree[9] = BST(13, -1, -1);
x_350_phi = true;
break;
} else {
x_340 = *(x_334);
x_323_phi = x_340;
continue;
}
return;
}
return;
continuing {
x_323 = x_323_phi;
x_322_phi = x_323;
}
}
let x_350 : bool = x_350_phi;
if (x_350) {
break;
}
}
}
x_353_phi = 0;
x_356_phi = 0;
x_358_phi = 0;
loop {
var x_381 : i32;
var x_391 : i32;
var x_396 : i32;
var x_359 : i32;
var x_354_phi : i32;
var x_357_phi : i32;
let x_353 : i32 = x_353_phi;
x_356 = x_356_phi;
let x_358 : i32 = x_358_phi;
if ((x_358 < 20)) {
} else {
break;
}
var x_366_phi : i32;
var x_381_phi : i32;
var x_382_phi : bool;
switch(0u) {
default: {
x_366_phi = 0;
loop {
let x_366 : i32 = x_366_phi;
x_381_phi = x_353;
x_382_phi = false;
if ((x_366 != -1)) {
} else {
break;
}
let x_373 : BST = tree[x_366];
let x_374 : i32 = x_373.data;
let x_375 : i32 = x_373.leftIndex;
let x_376 : i32 = x_373.rightIndex;
if ((x_374 == x_358)) {
x_381_phi = x_358;
x_382_phi = true;
break;
}
continuing {
x_366_phi = select(x_375, x_376, (x_358 > x_374));
}
}
x_381 = x_381_phi;
let x_382 : bool = x_382_phi;
x_354_phi = x_381;
if (x_382) {
break;
}
x_354_phi = -1;
}
}
var x_354 : i32;
var x_390 : i32;
var x_395 : i32;
var x_391_phi : i32;
var x_396_phi : i32;
x_354 = x_354_phi;
switch(x_358) {
case 2, 5, 6, 7, 8, 9, 12, 13, 15, 17: {
x_391_phi = x_356;
if ((x_354 == bitcast<i32>(x_358))) {
x_390 = bitcast<i32>((x_356 + bitcast<i32>(1)));
x_391_phi = x_390;
}
x_391 = x_391_phi;
x_357_phi = x_391;
}
default: {
x_396_phi = x_356;
if ((x_354 == bitcast<i32>(-1))) {
x_395 = bitcast<i32>((x_356 + bitcast<i32>(1)));
x_396_phi = x_395;
}
x_396 = x_396_phi;
x_357_phi = x_396;
}
}
let x_357 : i32 = x_357_phi;
continuing {
x_359 = (x_358 + 1);
x_353_phi = x_354;
x_356_phi = x_357;
x_358_phi = x_359;
}
}
if ((x_356 == bitcast<i32>(20))) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 0.0, 1.0, 1.0);
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}

View File

@@ -0,0 +1,653 @@
struct BST {
data : i32;
leftIndex : i32;
rightIndex : i32;
};
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var tree : array<BST, 10>;
var x_356 : i32;
var x_58_phi : i32;
var x_86_phi : bool;
var x_353_phi : i32;
var x_356_phi : i32;
var x_358_phi : i32;
tree[0] = BST(9, -1, -1);
switch(0u) {
default: {
x_58_phi = 0;
loop {
var x_84 : i32;
var x_76 : i32;
var x_59 : i32;
var x_59_phi : i32;
let x_58 : i32 = x_58_phi;
x_86_phi = false;
if ((x_58 <= 1)) {
} else {
break;
}
let x_65 : i32 = tree[x_58].data;
if ((5 <= x_65)) {
let x_78 : ptr<function, i32> = &(tree[x_58].leftIndex);
let x_79 : i32 = *(x_78);
if ((x_79 == -1)) {
*(x_78) = 1;
tree[1] = BST(5, -1, -1);
x_86_phi = true;
break;
} else {
x_84 = *(x_78);
x_59_phi = x_84;
continue;
}
return;
} else {
let x_70 : ptr<function, i32> = &(tree[x_58].rightIndex);
let x_71 : i32 = *(x_70);
if ((x_71 == -1)) {
*(x_70) = 1;
tree[1] = BST(5, -1, -1);
x_86_phi = true;
break;
} else {
x_76 = *(x_70);
x_59_phi = x_76;
continue;
}
return;
}
return;
continuing {
x_59 = x_59_phi;
x_58_phi = x_59;
}
}
let x_86 : bool = x_86_phi;
if (x_86) {
break;
}
}
}
var x_91_phi : i32;
var x_119_phi : bool;
switch(0u) {
default: {
x_91_phi = 0;
loop {
var x_117 : i32;
var x_109 : i32;
var x_92 : i32;
var x_92_phi : i32;
let x_91 : i32 = x_91_phi;
x_119_phi = false;
if ((x_91 <= 2)) {
} else {
break;
}
let x_98 : i32 = tree[x_91].data;
if ((12 <= x_98)) {
let x_111 : ptr<function, i32> = &(tree[x_91].leftIndex);
let x_112 : i32 = *(x_111);
if ((x_112 == -1)) {
*(x_111) = 2;
tree[2] = BST(12, -1, -1);
x_119_phi = true;
break;
} else {
x_117 = *(x_111);
x_92_phi = x_117;
continue;
}
return;
} else {
let x_103 : ptr<function, i32> = &(tree[x_91].rightIndex);
let x_104 : i32 = *(x_103);
if ((x_104 == -1)) {
*(x_103) = 2;
tree[2] = BST(12, -1, -1);
x_119_phi = true;
break;
} else {
x_109 = *(x_103);
x_92_phi = x_109;
continue;
}
return;
}
return;
continuing {
x_92 = x_92_phi;
x_91_phi = x_92;
}
}
let x_119 : bool = x_119_phi;
if (x_119) {
break;
}
}
}
var x_124_phi : i32;
var x_152_phi : bool;
switch(0u) {
default: {
x_124_phi = 0;
loop {
var x_150 : i32;
var x_142 : i32;
var x_125 : i32;
var x_125_phi : i32;
let x_124 : i32 = x_124_phi;
x_152_phi = false;
if ((x_124 <= 3)) {
} else {
break;
}
let x_131 : i32 = tree[x_124].data;
if ((15 <= x_131)) {
let x_144 : ptr<function, i32> = &(tree[x_124].leftIndex);
let x_145 : i32 = *(x_144);
if ((x_145 == -1)) {
*(x_144) = 3;
tree[3] = BST(15, -1, -1);
x_152_phi = true;
break;
} else {
x_150 = *(x_144);
x_125_phi = x_150;
continue;
}
return;
} else {
let x_136 : ptr<function, i32> = &(tree[x_124].rightIndex);
let x_137 : i32 = *(x_136);
if ((x_137 == -1)) {
*(x_136) = 3;
tree[3] = BST(15, -1, -1);
x_152_phi = true;
break;
} else {
x_142 = *(x_136);
x_125_phi = x_142;
continue;
}
return;
}
return;
continuing {
x_125 = x_125_phi;
x_124_phi = x_125;
}
}
let x_152 : bool = x_152_phi;
if (x_152) {
break;
}
}
}
var x_157_phi : i32;
var x_185_phi : bool;
switch(0u) {
default: {
x_157_phi = 0;
loop {
var x_183 : i32;
var x_175 : i32;
var x_158 : i32;
var x_158_phi : i32;
let x_157 : i32 = x_157_phi;
x_185_phi = false;
if ((x_157 <= 4)) {
} else {
break;
}
let x_164 : i32 = tree[x_157].data;
if ((7 <= x_164)) {
let x_177 : ptr<function, i32> = &(tree[x_157].leftIndex);
let x_178 : i32 = *(x_177);
if ((x_178 == -1)) {
*(x_177) = 4;
tree[4] = BST(7, -1, -1);
x_185_phi = true;
break;
} else {
x_183 = *(x_177);
x_158_phi = x_183;
continue;
}
return;
} else {
let x_169 : ptr<function, i32> = &(tree[x_157].rightIndex);
let x_170 : i32 = *(x_169);
if ((x_170 == -1)) {
*(x_169) = 4;
tree[4] = BST(7, -1, -1);
x_185_phi = true;
break;
} else {
x_175 = *(x_169);
x_158_phi = x_175;
continue;
}
return;
}
return;
continuing {
x_158 = x_158_phi;
x_157_phi = x_158;
}
}
let x_185 : bool = x_185_phi;
if (x_185) {
break;
}
}
}
var x_190_phi : i32;
var x_218_phi : bool;
switch(0u) {
default: {
x_190_phi = 0;
loop {
var x_216 : i32;
var x_208 : i32;
var x_191 : i32;
var x_191_phi : i32;
let x_190 : i32 = x_190_phi;
x_218_phi = false;
if ((x_190 <= 5)) {
} else {
break;
}
let x_197 : i32 = tree[x_190].data;
if ((8 <= x_197)) {
let x_210 : ptr<function, i32> = &(tree[x_190].leftIndex);
let x_211 : i32 = *(x_210);
if ((x_211 == -1)) {
*(x_210) = 5;
tree[5] = BST(8, -1, -1);
x_218_phi = true;
break;
} else {
x_216 = *(x_210);
x_191_phi = x_216;
continue;
}
return;
} else {
let x_202 : ptr<function, i32> = &(tree[x_190].rightIndex);
let x_203 : i32 = *(x_202);
if ((x_203 == -1)) {
*(x_202) = 5;
tree[5] = BST(8, -1, -1);
x_218_phi = true;
break;
} else {
x_208 = *(x_202);
x_191_phi = x_208;
continue;
}
return;
}
return;
continuing {
x_191 = x_191_phi;
x_190_phi = x_191;
}
}
let x_218 : bool = x_218_phi;
if (x_218) {
break;
}
}
}
var x_223_phi : i32;
var x_251_phi : bool;
switch(0u) {
default: {
x_223_phi = 0;
loop {
var x_249 : i32;
var x_241 : i32;
var x_224 : i32;
var x_224_phi : i32;
let x_223 : i32 = x_223_phi;
x_251_phi = false;
if ((x_223 <= 6)) {
} else {
break;
}
let x_230 : i32 = tree[x_223].data;
if ((2 <= x_230)) {
let x_243 : ptr<function, i32> = &(tree[x_223].leftIndex);
let x_244 : i32 = *(x_243);
if ((x_244 == -1)) {
*(x_243) = 6;
tree[6] = BST(2, -1, -1);
x_251_phi = true;
break;
} else {
x_249 = *(x_243);
x_224_phi = x_249;
continue;
}
return;
} else {
let x_235 : ptr<function, i32> = &(tree[x_223].rightIndex);
let x_236 : i32 = *(x_235);
if ((x_236 == -1)) {
*(x_235) = 6;
tree[6] = BST(2, -1, -1);
x_251_phi = true;
break;
} else {
x_241 = *(x_235);
x_224_phi = x_241;
continue;
}
return;
}
return;
continuing {
x_224 = x_224_phi;
x_223_phi = x_224;
}
}
let x_251 : bool = x_251_phi;
if (x_251) {
break;
}
}
}
var x_256_phi : i32;
var x_284_phi : bool;
switch(0u) {
default: {
x_256_phi = 0;
loop {
var x_282 : i32;
var x_274 : i32;
var x_257 : i32;
var x_257_phi : i32;
let x_256 : i32 = x_256_phi;
x_284_phi = false;
if ((x_256 <= 7)) {
} else {
break;
}
let x_263 : i32 = tree[x_256].data;
if ((6 <= x_263)) {
let x_276 : ptr<function, i32> = &(tree[x_256].leftIndex);
let x_277 : i32 = *(x_276);
if ((x_277 == -1)) {
*(x_276) = 7;
tree[7] = BST(6, -1, -1);
x_284_phi = true;
break;
} else {
x_282 = *(x_276);
x_257_phi = x_282;
continue;
}
return;
} else {
let x_268 : ptr<function, i32> = &(tree[x_256].rightIndex);
let x_269 : i32 = *(x_268);
if ((x_269 == -1)) {
*(x_268) = 7;
tree[7] = BST(6, -1, -1);
x_284_phi = true;
break;
} else {
x_274 = *(x_268);
x_257_phi = x_274;
continue;
}
return;
}
return;
continuing {
x_257 = x_257_phi;
x_256_phi = x_257;
}
}
let x_284 : bool = x_284_phi;
if (x_284) {
break;
}
}
}
var x_289_phi : i32;
var x_317_phi : bool;
switch(0u) {
default: {
x_289_phi = 0;
loop {
var x_315 : i32;
var x_307 : i32;
var x_290 : i32;
var x_290_phi : i32;
let x_289 : i32 = x_289_phi;
x_317_phi = false;
if ((x_289 <= 8)) {
} else {
break;
}
let x_296 : i32 = tree[x_289].data;
if ((17 <= x_296)) {
let x_309 : ptr<function, i32> = &(tree[x_289].leftIndex);
let x_310 : i32 = *(x_309);
if ((x_310 == -1)) {
*(x_309) = 8;
tree[8] = BST(17, -1, -1);
x_317_phi = true;
break;
} else {
x_315 = *(x_309);
x_290_phi = x_315;
continue;
}
return;
} else {
let x_301 : ptr<function, i32> = &(tree[x_289].rightIndex);
let x_302 : i32 = *(x_301);
if ((x_302 == -1)) {
*(x_301) = 8;
tree[8] = BST(17, -1, -1);
x_317_phi = true;
break;
} else {
x_307 = *(x_301);
x_290_phi = x_307;
continue;
}
return;
}
return;
continuing {
x_290 = x_290_phi;
x_289_phi = x_290;
}
}
let x_317 : bool = x_317_phi;
if (x_317) {
break;
}
}
}
var x_322_phi : i32;
var x_350_phi : bool;
switch(0u) {
default: {
x_322_phi = 0;
loop {
var x_348 : i32;
var x_340 : i32;
var x_323 : i32;
var x_323_phi : i32;
let x_322 : i32 = x_322_phi;
x_350_phi = false;
if ((x_322 <= 9)) {
} else {
break;
}
let x_329 : i32 = tree[x_322].data;
if ((13 <= x_329)) {
let x_342 : ptr<function, i32> = &(tree[x_322].leftIndex);
let x_343 : i32 = *(x_342);
if ((x_343 == -1)) {
*(x_342) = 9;
tree[9] = BST(13, -1, -1);
x_350_phi = true;
break;
} else {
x_348 = *(x_342);
x_323_phi = x_348;
continue;
}
return;
} else {
let x_334 : ptr<function, i32> = &(tree[x_322].rightIndex);
let x_335 : i32 = *(x_334);
if ((x_335 == -1)) {
*(x_334) = 9;
tree[9] = BST(13, -1, -1);
x_350_phi = true;
break;
} else {
x_340 = *(x_334);
x_323_phi = x_340;
continue;
}
return;
}
return;
continuing {
x_323 = x_323_phi;
x_322_phi = x_323;
}
}
let x_350 : bool = x_350_phi;
if (x_350) {
break;
}
}
}
x_353_phi = 0;
x_356_phi = 0;
x_358_phi = 0;
loop {
var x_381 : i32;
var x_391 : i32;
var x_396 : i32;
var x_359 : i32;
var x_354_phi : i32;
var x_357_phi : i32;
let x_353 : i32 = x_353_phi;
x_356 = x_356_phi;
let x_358 : i32 = x_358_phi;
if ((x_358 < 20)) {
} else {
break;
}
var x_366_phi : i32;
var x_381_phi : i32;
var x_382_phi : bool;
switch(0u) {
default: {
x_366_phi = 0;
loop {
let x_366 : i32 = x_366_phi;
x_381_phi = x_353;
x_382_phi = false;
if ((x_366 != -1)) {
} else {
break;
}
let x_373 : BST = tree[x_366];
let x_374 : i32 = x_373.data;
let x_375 : i32 = x_373.leftIndex;
let x_376 : i32 = x_373.rightIndex;
if ((x_374 == x_358)) {
x_381_phi = x_358;
x_382_phi = true;
break;
}
continuing {
x_366_phi = select(x_375, x_376, (x_358 > x_374));
}
}
x_381 = x_381_phi;
let x_382 : bool = x_382_phi;
x_354_phi = x_381;
if (x_382) {
break;
}
x_354_phi = -1;
}
}
var x_354 : i32;
var x_390 : i32;
var x_395 : i32;
var x_391_phi : i32;
var x_396_phi : i32;
x_354 = x_354_phi;
switch(x_358) {
case 2, 5, 6, 7, 8, 9, 12, 13, 15, 17: {
x_391_phi = x_356;
if ((x_354 == bitcast<i32>(x_358))) {
x_390 = bitcast<i32>((x_356 + bitcast<i32>(1)));
x_391_phi = x_390;
}
x_391 = x_391_phi;
x_357_phi = x_391;
}
default: {
x_396_phi = x_356;
if ((x_354 == bitcast<i32>(-1))) {
x_395 = bitcast<i32>((x_356 + bitcast<i32>(1)));
x_396_phi = x_395;
}
x_396 = x_396_phi;
x_357_phi = x_396;
}
}
let x_357 : i32 = x_357_phi;
continuing {
x_359 = (x_358 + 1);
x_353_phi = x_354;
x_356_phi = x_357;
x_358_phi = x_359;
}
}
if ((x_356 == bitcast<i32>(20))) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 0.0, 1.0, 1.0);
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}

View File

@@ -0,0 +1,748 @@
struct BST {
int data;
int leftIndex;
int rightIndex;
};
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
BST tree[10] = (BST[10])0;
int x_356 = 0;
int x_58_phi = 0;
bool x_86_phi = false;
int x_353_phi = 0;
int x_356_phi = 0;
int x_358_phi = 0;
const BST tint_symbol_2 = {9, -1, -1};
tree[0] = tint_symbol_2;
switch(0u) {
default: {
x_58_phi = 0;
while (true) {
int x_84 = 0;
int x_76 = 0;
int x_59 = 0;
int x_59_phi = 0;
const int x_58 = x_58_phi;
x_86_phi = false;
if ((x_58 <= 1)) {
} else {
break;
}
const int x_65 = tree[x_58].data;
if ((5 <= x_65)) {
const int x_78_save = x_58;
const int x_79 = tree[x_78_save].leftIndex;
if ((x_79 == -1)) {
tree[x_78_save].leftIndex = 1;
const BST tint_symbol_3 = {5, -1, -1};
tree[1] = tint_symbol_3;
x_86_phi = true;
break;
} else {
x_84 = tree[x_78_save].leftIndex;
x_59_phi = x_84;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
continue;
}
return;
} else {
const int x_70_save = x_58;
const int x_71 = tree[x_70_save].rightIndex;
if ((x_71 == -1)) {
tree[x_70_save].rightIndex = 1;
const BST tint_symbol_4 = {5, -1, -1};
tree[1] = tint_symbol_4;
x_86_phi = true;
break;
} else {
x_76 = tree[x_70_save].rightIndex;
x_59_phi = x_76;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
continue;
}
return;
}
return;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
}
if (x_86_phi) {
break;
}
break;
}
}
int x_91_phi = 0;
bool x_119_phi = false;
switch(0u) {
default: {
x_91_phi = 0;
while (true) {
int x_117 = 0;
int x_109 = 0;
int x_92 = 0;
int x_92_phi = 0;
const int x_91 = x_91_phi;
x_119_phi = false;
if ((x_91 <= 2)) {
} else {
break;
}
const int x_98 = tree[x_91].data;
if ((12 <= x_98)) {
const int x_111_save = x_91;
const int x_112 = tree[x_111_save].leftIndex;
if ((x_112 == -1)) {
tree[x_111_save].leftIndex = 2;
const BST tint_symbol_5 = {12, -1, -1};
tree[2] = tint_symbol_5;
x_119_phi = true;
break;
} else {
x_117 = tree[x_111_save].leftIndex;
x_92_phi = x_117;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
continue;
}
return;
} else {
const int x_103_save = x_91;
const int x_104 = tree[x_103_save].rightIndex;
if ((x_104 == -1)) {
tree[x_103_save].rightIndex = 2;
const BST tint_symbol_6 = {12, -1, -1};
tree[2] = tint_symbol_6;
x_119_phi = true;
break;
} else {
x_109 = tree[x_103_save].rightIndex;
x_92_phi = x_109;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
continue;
}
return;
}
return;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
}
if (x_119_phi) {
break;
}
break;
}
}
int x_124_phi = 0;
bool x_152_phi = false;
switch(0u) {
default: {
x_124_phi = 0;
while (true) {
int x_150 = 0;
int x_142 = 0;
int x_125 = 0;
int x_125_phi = 0;
const int x_124 = x_124_phi;
x_152_phi = false;
if ((x_124 <= 3)) {
} else {
break;
}
const int x_131 = tree[x_124].data;
if ((15 <= x_131)) {
const int x_144_save = x_124;
const int x_145 = tree[x_144_save].leftIndex;
if ((x_145 == -1)) {
tree[x_144_save].leftIndex = 3;
const BST tint_symbol_7 = {15, -1, -1};
tree[3] = tint_symbol_7;
x_152_phi = true;
break;
} else {
x_150 = tree[x_144_save].leftIndex;
x_125_phi = x_150;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
continue;
}
return;
} else {
const int x_136_save = x_124;
const int x_137 = tree[x_136_save].rightIndex;
if ((x_137 == -1)) {
tree[x_136_save].rightIndex = 3;
const BST tint_symbol_8 = {15, -1, -1};
tree[3] = tint_symbol_8;
x_152_phi = true;
break;
} else {
x_142 = tree[x_136_save].rightIndex;
x_125_phi = x_142;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
continue;
}
return;
}
return;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
}
if (x_152_phi) {
break;
}
break;
}
}
int x_157_phi = 0;
bool x_185_phi = false;
switch(0u) {
default: {
x_157_phi = 0;
while (true) {
int x_183 = 0;
int x_175 = 0;
int x_158 = 0;
int x_158_phi = 0;
const int x_157 = x_157_phi;
x_185_phi = false;
if ((x_157 <= 4)) {
} else {
break;
}
const int x_164 = tree[x_157].data;
if ((7 <= x_164)) {
const int x_177_save = x_157;
const int x_178 = tree[x_177_save].leftIndex;
if ((x_178 == -1)) {
tree[x_177_save].leftIndex = 4;
const BST tint_symbol_9 = {7, -1, -1};
tree[4] = tint_symbol_9;
x_185_phi = true;
break;
} else {
x_183 = tree[x_177_save].leftIndex;
x_158_phi = x_183;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
continue;
}
return;
} else {
const int x_169_save = x_157;
const int x_170 = tree[x_169_save].rightIndex;
if ((x_170 == -1)) {
tree[x_169_save].rightIndex = 4;
const BST tint_symbol_10 = {7, -1, -1};
tree[4] = tint_symbol_10;
x_185_phi = true;
break;
} else {
x_175 = tree[x_169_save].rightIndex;
x_158_phi = x_175;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
continue;
}
return;
}
return;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
}
if (x_185_phi) {
break;
}
break;
}
}
int x_190_phi = 0;
bool x_218_phi = false;
switch(0u) {
default: {
x_190_phi = 0;
while (true) {
int x_216 = 0;
int x_208 = 0;
int x_191 = 0;
int x_191_phi = 0;
const int x_190 = x_190_phi;
x_218_phi = false;
if ((x_190 <= 5)) {
} else {
break;
}
const int x_197 = tree[x_190].data;
if ((8 <= x_197)) {
const int x_210_save = x_190;
const int x_211 = tree[x_210_save].leftIndex;
if ((x_211 == -1)) {
tree[x_210_save].leftIndex = 5;
const BST tint_symbol_11 = {8, -1, -1};
tree[5] = tint_symbol_11;
x_218_phi = true;
break;
} else {
x_216 = tree[x_210_save].leftIndex;
x_191_phi = x_216;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
continue;
}
return;
} else {
const int x_202_save = x_190;
const int x_203 = tree[x_202_save].rightIndex;
if ((x_203 == -1)) {
tree[x_202_save].rightIndex = 5;
const BST tint_symbol_12 = {8, -1, -1};
tree[5] = tint_symbol_12;
x_218_phi = true;
break;
} else {
x_208 = tree[x_202_save].rightIndex;
x_191_phi = x_208;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
continue;
}
return;
}
return;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
}
if (x_218_phi) {
break;
}
break;
}
}
int x_223_phi = 0;
bool x_251_phi = false;
switch(0u) {
default: {
x_223_phi = 0;
while (true) {
int x_249 = 0;
int x_241 = 0;
int x_224 = 0;
int x_224_phi = 0;
const int x_223 = x_223_phi;
x_251_phi = false;
if ((x_223 <= 6)) {
} else {
break;
}
const int x_230 = tree[x_223].data;
if ((2 <= x_230)) {
const int x_243_save = x_223;
const int x_244 = tree[x_243_save].leftIndex;
if ((x_244 == -1)) {
tree[x_243_save].leftIndex = 6;
const BST tint_symbol_13 = {2, -1, -1};
tree[6] = tint_symbol_13;
x_251_phi = true;
break;
} else {
x_249 = tree[x_243_save].leftIndex;
x_224_phi = x_249;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
continue;
}
return;
} else {
const int x_235_save = x_223;
const int x_236 = tree[x_235_save].rightIndex;
if ((x_236 == -1)) {
tree[x_235_save].rightIndex = 6;
const BST tint_symbol_14 = {2, -1, -1};
tree[6] = tint_symbol_14;
x_251_phi = true;
break;
} else {
x_241 = tree[x_235_save].rightIndex;
x_224_phi = x_241;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
continue;
}
return;
}
return;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
}
if (x_251_phi) {
break;
}
break;
}
}
int x_256_phi = 0;
bool x_284_phi = false;
switch(0u) {
default: {
x_256_phi = 0;
while (true) {
int x_282 = 0;
int x_274 = 0;
int x_257 = 0;
int x_257_phi = 0;
const int x_256 = x_256_phi;
x_284_phi = false;
if ((x_256 <= 7)) {
} else {
break;
}
const int x_263 = tree[x_256].data;
if ((6 <= x_263)) {
const int x_276_save = x_256;
const int x_277 = tree[x_276_save].leftIndex;
if ((x_277 == -1)) {
tree[x_276_save].leftIndex = 7;
const BST tint_symbol_15 = {6, -1, -1};
tree[7] = tint_symbol_15;
x_284_phi = true;
break;
} else {
x_282 = tree[x_276_save].leftIndex;
x_257_phi = x_282;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
continue;
}
return;
} else {
const int x_268_save = x_256;
const int x_269 = tree[x_268_save].rightIndex;
if ((x_269 == -1)) {
tree[x_268_save].rightIndex = 7;
const BST tint_symbol_16 = {6, -1, -1};
tree[7] = tint_symbol_16;
x_284_phi = true;
break;
} else {
x_274 = tree[x_268_save].rightIndex;
x_257_phi = x_274;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
continue;
}
return;
}
return;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
}
if (x_284_phi) {
break;
}
break;
}
}
int x_289_phi = 0;
bool x_317_phi = false;
switch(0u) {
default: {
x_289_phi = 0;
while (true) {
int x_315 = 0;
int x_307 = 0;
int x_290 = 0;
int x_290_phi = 0;
const int x_289 = x_289_phi;
x_317_phi = false;
if ((x_289 <= 8)) {
} else {
break;
}
const int x_296 = tree[x_289].data;
if ((17 <= x_296)) {
const int x_309_save = x_289;
const int x_310 = tree[x_309_save].leftIndex;
if ((x_310 == -1)) {
tree[x_309_save].leftIndex = 8;
const BST tint_symbol_17 = {17, -1, -1};
tree[8] = tint_symbol_17;
x_317_phi = true;
break;
} else {
x_315 = tree[x_309_save].leftIndex;
x_290_phi = x_315;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
continue;
}
return;
} else {
const int x_301_save = x_289;
const int x_302 = tree[x_301_save].rightIndex;
if ((x_302 == -1)) {
tree[x_301_save].rightIndex = 8;
const BST tint_symbol_18 = {17, -1, -1};
tree[8] = tint_symbol_18;
x_317_phi = true;
break;
} else {
x_307 = tree[x_301_save].rightIndex;
x_290_phi = x_307;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
continue;
}
return;
}
return;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
}
if (x_317_phi) {
break;
}
break;
}
}
int x_322_phi = 0;
bool x_350_phi = false;
switch(0u) {
default: {
x_322_phi = 0;
while (true) {
int x_348 = 0;
int x_340 = 0;
int x_323 = 0;
int x_323_phi = 0;
const int x_322 = x_322_phi;
x_350_phi = false;
if ((x_322 <= 9)) {
} else {
break;
}
const int x_329 = tree[x_322].data;
if ((13 <= x_329)) {
const int x_342_save = x_322;
const int x_343 = tree[x_342_save].leftIndex;
if ((x_343 == -1)) {
tree[x_342_save].leftIndex = 9;
const BST tint_symbol_19 = {13, -1, -1};
tree[9] = tint_symbol_19;
x_350_phi = true;
break;
} else {
x_348 = tree[x_342_save].leftIndex;
x_323_phi = x_348;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
continue;
}
return;
} else {
const int x_334_save = x_322;
const int x_335 = tree[x_334_save].rightIndex;
if ((x_335 == -1)) {
tree[x_334_save].rightIndex = 9;
const BST tint_symbol_20 = {13, -1, -1};
tree[9] = tint_symbol_20;
x_350_phi = true;
break;
} else {
x_340 = tree[x_334_save].rightIndex;
x_323_phi = x_340;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
continue;
}
return;
}
return;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
}
if (x_350_phi) {
break;
}
break;
}
}
x_353_phi = 0;
x_356_phi = 0;
x_358_phi = 0;
while (true) {
int x_381 = 0;
int x_391 = 0;
int x_396 = 0;
int x_359 = 0;
int x_354_phi = 0;
int x_357_phi = 0;
const int x_353 = x_353_phi;
x_356 = x_356_phi;
const int x_358 = x_358_phi;
if ((x_358 < 20)) {
} else {
break;
}
int x_366_phi = 0;
int x_381_phi = 0;
bool x_382_phi = false;
switch(0u) {
default: {
x_366_phi = 0;
while (true) {
const int x_366 = x_366_phi;
x_381_phi = x_353;
x_382_phi = false;
if ((x_366 != -1)) {
} else {
break;
}
const BST x_373 = tree[x_366];
const int x_374 = x_373.data;
const int x_375 = x_373.leftIndex;
const int x_376 = x_373.rightIndex;
if ((x_374 == x_358)) {
x_381_phi = x_358;
x_382_phi = true;
break;
}
{
x_366_phi = ((x_358 > x_374) ? x_376 : x_375);
}
}
x_381 = x_381_phi;
const bool x_382 = x_382_phi;
x_354_phi = x_381;
if (x_382) {
break;
}
x_354_phi = -1;
break;
}
}
int x_354 = 0;
int x_390 = 0;
int x_395 = 0;
int x_391_phi = 0;
int x_396_phi = 0;
x_354 = x_354_phi;
switch(x_358) {
case 2:
case 5:
case 6:
case 7:
case 8:
case 9:
case 12:
case 13:
case 15:
case 17: {
x_391_phi = x_356;
if ((x_354 == asint(x_358))) {
x_390 = asint((x_356 + asint(1)));
x_391_phi = x_390;
}
x_391 = x_391_phi;
x_357_phi = x_391;
break;
}
default: {
x_396_phi = x_356;
if ((x_354 == asint(-1))) {
x_395 = asint((x_356 + asint(1)));
x_396_phi = x_395;
}
x_396 = x_396_phi;
x_357_phi = x_396;
break;
}
}
const int x_357 = x_357_phi;
{
x_359 = (x_358 + 1);
x_353_phi = x_354;
x_356_phi = x_357;
x_358_phi = x_359;
}
}
if ((x_356 == asint(20))) {
x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
x_GLF_color = float4(0.0f, 0.0f, 1.0f, 1.0f);
}
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol {
float4 x_GLF_color_1 : SV_Target0;
};
tint_symbol main() {
main_1();
const main_out tint_symbol_1 = {x_GLF_color};
const tint_symbol tint_symbol_21 = {tint_symbol_1.x_GLF_color_1};
return tint_symbol_21;
}

View File

@@ -0,0 +1,762 @@
#include <metal_stdlib>
using namespace metal;
struct BST {
int data;
int leftIndex;
int rightIndex;
};
struct tint_array_wrapper {
BST arr[10];
};
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 x_GLF_color_1 [[color(0)]];
};
void main_1(thread float4* const tint_symbol_23) {
tint_array_wrapper tree = {};
int x_356 = 0;
int x_58_phi = 0;
bool x_86_phi = false;
int x_353_phi = 0;
int x_356_phi = 0;
int x_358_phi = 0;
BST const tint_symbol_3 = {.data=9, .leftIndex=-1, .rightIndex=-1};
tree.arr[0] = tint_symbol_3;
switch(0u) {
default: {
x_58_phi = 0;
while (true) {
int x_84 = 0;
int x_76 = 0;
int x_59 = 0;
int x_59_phi = 0;
int const x_58 = x_58_phi;
x_86_phi = false;
if ((x_58 <= 1)) {
} else {
break;
}
int const x_65 = tree.arr[x_58].data;
if ((5 <= x_65)) {
int const x_78_save = x_58;
int const x_79 = tree.arr[x_78_save].leftIndex;
if ((x_79 == -1)) {
tree.arr[x_78_save].leftIndex = 1;
BST const tint_symbol_4 = {.data=5, .leftIndex=-1, .rightIndex=-1};
tree.arr[1] = tint_symbol_4;
x_86_phi = true;
break;
} else {
x_84 = tree.arr[x_78_save].leftIndex;
x_59_phi = x_84;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
continue;
}
return;
} else {
int const x_70_save = x_58;
int const x_71 = tree.arr[x_70_save].rightIndex;
if ((x_71 == -1)) {
tree.arr[x_70_save].rightIndex = 1;
BST const tint_symbol_5 = {.data=5, .leftIndex=-1, .rightIndex=-1};
tree.arr[1] = tint_symbol_5;
x_86_phi = true;
break;
} else {
x_76 = tree.arr[x_70_save].rightIndex;
x_59_phi = x_76;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
continue;
}
return;
}
return;
{
x_59 = x_59_phi;
x_58_phi = x_59;
}
}
bool const x_86 = x_86_phi;
if (x_86) {
break;
}
break;
}
}
int x_91_phi = 0;
bool x_119_phi = false;
switch(0u) {
default: {
x_91_phi = 0;
while (true) {
int x_117 = 0;
int x_109 = 0;
int x_92 = 0;
int x_92_phi = 0;
int const x_91 = x_91_phi;
x_119_phi = false;
if ((x_91 <= 2)) {
} else {
break;
}
int const x_98 = tree.arr[x_91].data;
if ((12 <= x_98)) {
int const x_111_save = x_91;
int const x_112 = tree.arr[x_111_save].leftIndex;
if ((x_112 == -1)) {
tree.arr[x_111_save].leftIndex = 2;
BST const tint_symbol_6 = {.data=12, .leftIndex=-1, .rightIndex=-1};
tree.arr[2] = tint_symbol_6;
x_119_phi = true;
break;
} else {
x_117 = tree.arr[x_111_save].leftIndex;
x_92_phi = x_117;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
continue;
}
return;
} else {
int const x_103_save = x_91;
int const x_104 = tree.arr[x_103_save].rightIndex;
if ((x_104 == -1)) {
tree.arr[x_103_save].rightIndex = 2;
BST const tint_symbol_7 = {.data=12, .leftIndex=-1, .rightIndex=-1};
tree.arr[2] = tint_symbol_7;
x_119_phi = true;
break;
} else {
x_109 = tree.arr[x_103_save].rightIndex;
x_92_phi = x_109;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
continue;
}
return;
}
return;
{
x_92 = x_92_phi;
x_91_phi = x_92;
}
}
bool const x_119 = x_119_phi;
if (x_119) {
break;
}
break;
}
}
int x_124_phi = 0;
bool x_152_phi = false;
switch(0u) {
default: {
x_124_phi = 0;
while (true) {
int x_150 = 0;
int x_142 = 0;
int x_125 = 0;
int x_125_phi = 0;
int const x_124 = x_124_phi;
x_152_phi = false;
if ((x_124 <= 3)) {
} else {
break;
}
int const x_131 = tree.arr[x_124].data;
if ((15 <= x_131)) {
int const x_144_save = x_124;
int const x_145 = tree.arr[x_144_save].leftIndex;
if ((x_145 == -1)) {
tree.arr[x_144_save].leftIndex = 3;
BST const tint_symbol_8 = {.data=15, .leftIndex=-1, .rightIndex=-1};
tree.arr[3] = tint_symbol_8;
x_152_phi = true;
break;
} else {
x_150 = tree.arr[x_144_save].leftIndex;
x_125_phi = x_150;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
continue;
}
return;
} else {
int const x_136_save = x_124;
int const x_137 = tree.arr[x_136_save].rightIndex;
if ((x_137 == -1)) {
tree.arr[x_136_save].rightIndex = 3;
BST const tint_symbol_9 = {.data=15, .leftIndex=-1, .rightIndex=-1};
tree.arr[3] = tint_symbol_9;
x_152_phi = true;
break;
} else {
x_142 = tree.arr[x_136_save].rightIndex;
x_125_phi = x_142;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
continue;
}
return;
}
return;
{
x_125 = x_125_phi;
x_124_phi = x_125;
}
}
bool const x_152 = x_152_phi;
if (x_152) {
break;
}
break;
}
}
int x_157_phi = 0;
bool x_185_phi = false;
switch(0u) {
default: {
x_157_phi = 0;
while (true) {
int x_183 = 0;
int x_175 = 0;
int x_158 = 0;
int x_158_phi = 0;
int const x_157 = x_157_phi;
x_185_phi = false;
if ((x_157 <= 4)) {
} else {
break;
}
int const x_164 = tree.arr[x_157].data;
if ((7 <= x_164)) {
int const x_177_save = x_157;
int const x_178 = tree.arr[x_177_save].leftIndex;
if ((x_178 == -1)) {
tree.arr[x_177_save].leftIndex = 4;
BST const tint_symbol_10 = {.data=7, .leftIndex=-1, .rightIndex=-1};
tree.arr[4] = tint_symbol_10;
x_185_phi = true;
break;
} else {
x_183 = tree.arr[x_177_save].leftIndex;
x_158_phi = x_183;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
continue;
}
return;
} else {
int const x_169_save = x_157;
int const x_170 = tree.arr[x_169_save].rightIndex;
if ((x_170 == -1)) {
tree.arr[x_169_save].rightIndex = 4;
BST const tint_symbol_11 = {.data=7, .leftIndex=-1, .rightIndex=-1};
tree.arr[4] = tint_symbol_11;
x_185_phi = true;
break;
} else {
x_175 = tree.arr[x_169_save].rightIndex;
x_158_phi = x_175;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
continue;
}
return;
}
return;
{
x_158 = x_158_phi;
x_157_phi = x_158;
}
}
bool const x_185 = x_185_phi;
if (x_185) {
break;
}
break;
}
}
int x_190_phi = 0;
bool x_218_phi = false;
switch(0u) {
default: {
x_190_phi = 0;
while (true) {
int x_216 = 0;
int x_208 = 0;
int x_191 = 0;
int x_191_phi = 0;
int const x_190 = x_190_phi;
x_218_phi = false;
if ((x_190 <= 5)) {
} else {
break;
}
int const x_197 = tree.arr[x_190].data;
if ((8 <= x_197)) {
int const x_210_save = x_190;
int const x_211 = tree.arr[x_210_save].leftIndex;
if ((x_211 == -1)) {
tree.arr[x_210_save].leftIndex = 5;
BST const tint_symbol_12 = {.data=8, .leftIndex=-1, .rightIndex=-1};
tree.arr[5] = tint_symbol_12;
x_218_phi = true;
break;
} else {
x_216 = tree.arr[x_210_save].leftIndex;
x_191_phi = x_216;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
continue;
}
return;
} else {
int const x_202_save = x_190;
int const x_203 = tree.arr[x_202_save].rightIndex;
if ((x_203 == -1)) {
tree.arr[x_202_save].rightIndex = 5;
BST const tint_symbol_13 = {.data=8, .leftIndex=-1, .rightIndex=-1};
tree.arr[5] = tint_symbol_13;
x_218_phi = true;
break;
} else {
x_208 = tree.arr[x_202_save].rightIndex;
x_191_phi = x_208;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
continue;
}
return;
}
return;
{
x_191 = x_191_phi;
x_190_phi = x_191;
}
}
bool const x_218 = x_218_phi;
if (x_218) {
break;
}
break;
}
}
int x_223_phi = 0;
bool x_251_phi = false;
switch(0u) {
default: {
x_223_phi = 0;
while (true) {
int x_249 = 0;
int x_241 = 0;
int x_224 = 0;
int x_224_phi = 0;
int const x_223 = x_223_phi;
x_251_phi = false;
if ((x_223 <= 6)) {
} else {
break;
}
int const x_230 = tree.arr[x_223].data;
if ((2 <= x_230)) {
int const x_243_save = x_223;
int const x_244 = tree.arr[x_243_save].leftIndex;
if ((x_244 == -1)) {
tree.arr[x_243_save].leftIndex = 6;
BST const tint_symbol_14 = {.data=2, .leftIndex=-1, .rightIndex=-1};
tree.arr[6] = tint_symbol_14;
x_251_phi = true;
break;
} else {
x_249 = tree.arr[x_243_save].leftIndex;
x_224_phi = x_249;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
continue;
}
return;
} else {
int const x_235_save = x_223;
int const x_236 = tree.arr[x_235_save].rightIndex;
if ((x_236 == -1)) {
tree.arr[x_235_save].rightIndex = 6;
BST const tint_symbol_15 = {.data=2, .leftIndex=-1, .rightIndex=-1};
tree.arr[6] = tint_symbol_15;
x_251_phi = true;
break;
} else {
x_241 = tree.arr[x_235_save].rightIndex;
x_224_phi = x_241;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
continue;
}
return;
}
return;
{
x_224 = x_224_phi;
x_223_phi = x_224;
}
}
bool const x_251 = x_251_phi;
if (x_251) {
break;
}
break;
}
}
int x_256_phi = 0;
bool x_284_phi = false;
switch(0u) {
default: {
x_256_phi = 0;
while (true) {
int x_282 = 0;
int x_274 = 0;
int x_257 = 0;
int x_257_phi = 0;
int const x_256 = x_256_phi;
x_284_phi = false;
if ((x_256 <= 7)) {
} else {
break;
}
int const x_263 = tree.arr[x_256].data;
if ((6 <= x_263)) {
int const x_276_save = x_256;
int const x_277 = tree.arr[x_276_save].leftIndex;
if ((x_277 == -1)) {
tree.arr[x_276_save].leftIndex = 7;
BST const tint_symbol_16 = {.data=6, .leftIndex=-1, .rightIndex=-1};
tree.arr[7] = tint_symbol_16;
x_284_phi = true;
break;
} else {
x_282 = tree.arr[x_276_save].leftIndex;
x_257_phi = x_282;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
continue;
}
return;
} else {
int const x_268_save = x_256;
int const x_269 = tree.arr[x_268_save].rightIndex;
if ((x_269 == -1)) {
tree.arr[x_268_save].rightIndex = 7;
BST const tint_symbol_17 = {.data=6, .leftIndex=-1, .rightIndex=-1};
tree.arr[7] = tint_symbol_17;
x_284_phi = true;
break;
} else {
x_274 = tree.arr[x_268_save].rightIndex;
x_257_phi = x_274;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
continue;
}
return;
}
return;
{
x_257 = x_257_phi;
x_256_phi = x_257;
}
}
bool const x_284 = x_284_phi;
if (x_284) {
break;
}
break;
}
}
int x_289_phi = 0;
bool x_317_phi = false;
switch(0u) {
default: {
x_289_phi = 0;
while (true) {
int x_315 = 0;
int x_307 = 0;
int x_290 = 0;
int x_290_phi = 0;
int const x_289 = x_289_phi;
x_317_phi = false;
if ((x_289 <= 8)) {
} else {
break;
}
int const x_296 = tree.arr[x_289].data;
if ((17 <= x_296)) {
int const x_309_save = x_289;
int const x_310 = tree.arr[x_309_save].leftIndex;
if ((x_310 == -1)) {
tree.arr[x_309_save].leftIndex = 8;
BST const tint_symbol_18 = {.data=17, .leftIndex=-1, .rightIndex=-1};
tree.arr[8] = tint_symbol_18;
x_317_phi = true;
break;
} else {
x_315 = tree.arr[x_309_save].leftIndex;
x_290_phi = x_315;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
continue;
}
return;
} else {
int const x_301_save = x_289;
int const x_302 = tree.arr[x_301_save].rightIndex;
if ((x_302 == -1)) {
tree.arr[x_301_save].rightIndex = 8;
BST const tint_symbol_19 = {.data=17, .leftIndex=-1, .rightIndex=-1};
tree.arr[8] = tint_symbol_19;
x_317_phi = true;
break;
} else {
x_307 = tree.arr[x_301_save].rightIndex;
x_290_phi = x_307;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
continue;
}
return;
}
return;
{
x_290 = x_290_phi;
x_289_phi = x_290;
}
}
bool const x_317 = x_317_phi;
if (x_317) {
break;
}
break;
}
}
int x_322_phi = 0;
bool x_350_phi = false;
switch(0u) {
default: {
x_322_phi = 0;
while (true) {
int x_348 = 0;
int x_340 = 0;
int x_323 = 0;
int x_323_phi = 0;
int const x_322 = x_322_phi;
x_350_phi = false;
if ((x_322 <= 9)) {
} else {
break;
}
int const x_329 = tree.arr[x_322].data;
if ((13 <= x_329)) {
int const x_342_save = x_322;
int const x_343 = tree.arr[x_342_save].leftIndex;
if ((x_343 == -1)) {
tree.arr[x_342_save].leftIndex = 9;
BST const tint_symbol_20 = {.data=13, .leftIndex=-1, .rightIndex=-1};
tree.arr[9] = tint_symbol_20;
x_350_phi = true;
break;
} else {
x_348 = tree.arr[x_342_save].leftIndex;
x_323_phi = x_348;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
continue;
}
return;
} else {
int const x_334_save = x_322;
int const x_335 = tree.arr[x_334_save].rightIndex;
if ((x_335 == -1)) {
tree.arr[x_334_save].rightIndex = 9;
BST const tint_symbol_21 = {.data=13, .leftIndex=-1, .rightIndex=-1};
tree.arr[9] = tint_symbol_21;
x_350_phi = true;
break;
} else {
x_340 = tree.arr[x_334_save].rightIndex;
x_323_phi = x_340;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
continue;
}
return;
}
return;
{
x_323 = x_323_phi;
x_322_phi = x_323;
}
}
bool const x_350 = x_350_phi;
if (x_350) {
break;
}
break;
}
}
x_353_phi = 0;
x_356_phi = 0;
x_358_phi = 0;
while (true) {
int x_381 = 0;
int x_391 = 0;
int x_396 = 0;
int x_359 = 0;
int x_354_phi = 0;
int x_357_phi = 0;
int const x_353 = x_353_phi;
x_356 = x_356_phi;
int const x_358 = x_358_phi;
if ((x_358 < 20)) {
} else {
break;
}
int x_366_phi = 0;
int x_381_phi = 0;
bool x_382_phi = false;
switch(0u) {
default: {
x_366_phi = 0;
while (true) {
int const x_366 = x_366_phi;
x_381_phi = x_353;
x_382_phi = false;
if ((x_366 != -1)) {
} else {
break;
}
BST const x_373 = tree.arr[x_366];
int const x_374 = x_373.data;
int const x_375 = x_373.leftIndex;
int const x_376 = x_373.rightIndex;
if ((x_374 == x_358)) {
x_381_phi = x_358;
x_382_phi = true;
break;
}
{
x_366_phi = select(x_375, x_376, (x_358 > x_374));
}
}
x_381 = x_381_phi;
bool const x_382 = x_382_phi;
x_354_phi = x_381;
if (x_382) {
break;
}
x_354_phi = -1;
break;
}
}
int x_354 = 0;
int x_390 = 0;
int x_395 = 0;
int x_391_phi = 0;
int x_396_phi = 0;
x_354 = x_354_phi;
switch(x_358) {
case 2:
case 5:
case 6:
case 7:
case 8:
case 9:
case 12:
case 13:
case 15:
case 17: {
x_391_phi = x_356;
if ((x_354 == as_type<int>(x_358))) {
x_390 = as_type<int>((x_356 + as_type<int>(1)));
x_391_phi = x_390;
}
x_391 = x_391_phi;
x_357_phi = x_391;
break;
}
default: {
x_396_phi = x_356;
if ((x_354 == as_type<int>(-1))) {
x_395 = as_type<int>((x_356 + as_type<int>(1)));
x_396_phi = x_395;
}
x_396 = x_396_phi;
x_357_phi = x_396;
break;
}
}
int const x_357 = x_357_phi;
{
x_359 = (x_358 + 1);
x_353_phi = x_354;
x_356_phi = x_357;
x_358_phi = x_359;
}
}
if ((x_356 == as_type<int>(20))) {
*(tint_symbol_23) = float4(1.0f, 0.0f, 0.0f, 1.0f);
} else {
*(tint_symbol_23) = float4(0.0f, 0.0f, 1.0f, 1.0f);
}
return;
}
fragment tint_symbol_1 tint_symbol() {
thread float4 tint_symbol_24 = 0.0f;
main_1(&(tint_symbol_24));
main_out const tint_symbol_2 = {.x_GLF_color_1=tint_symbol_24};
tint_symbol_1 const tint_symbol_22 = {.x_GLF_color_1=tint_symbol_2.x_GLF_color_1};
return tint_symbol_22;
}

View File

@@ -0,0 +1,653 @@
struct BST {
data : i32;
leftIndex : i32;
rightIndex : i32;
};
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var tree : array<BST, 10>;
var x_356 : i32;
var x_58_phi : i32;
var x_86_phi : bool;
var x_353_phi : i32;
var x_356_phi : i32;
var x_358_phi : i32;
tree[0] = BST(9, -1, -1);
switch(0u) {
default: {
x_58_phi = 0;
loop {
var x_84 : i32;
var x_76 : i32;
var x_59 : i32;
var x_59_phi : i32;
let x_58 : i32 = x_58_phi;
x_86_phi = false;
if ((x_58 <= 1)) {
} else {
break;
}
let x_65 : i32 = tree[x_58].data;
if ((5 <= x_65)) {
let x_78 : ptr<function, i32> = &(tree[x_58].leftIndex);
let x_79 : i32 = *(x_78);
if ((x_79 == -1)) {
*(x_78) = 1;
tree[1] = BST(5, -1, -1);
x_86_phi = true;
break;
} else {
x_84 = *(x_78);
x_59_phi = x_84;
continue;
}
return;
} else {
let x_70 : ptr<function, i32> = &(tree[x_58].rightIndex);
let x_71 : i32 = *(x_70);
if ((x_71 == -1)) {
*(x_70) = 1;
tree[1] = BST(5, -1, -1);
x_86_phi = true;
break;
} else {
x_76 = *(x_70);
x_59_phi = x_76;
continue;
}
return;
}
return;
continuing {
x_59 = x_59_phi;
x_58_phi = x_59;
}
}
let x_86 : bool = x_86_phi;
if (x_86) {
break;
}
}
}
var x_91_phi : i32;
var x_119_phi : bool;
switch(0u) {
default: {
x_91_phi = 0;
loop {
var x_117 : i32;
var x_109 : i32;
var x_92 : i32;
var x_92_phi : i32;
let x_91 : i32 = x_91_phi;
x_119_phi = false;
if ((x_91 <= 2)) {
} else {
break;
}
let x_98 : i32 = tree[x_91].data;
if ((12 <= x_98)) {
let x_111 : ptr<function, i32> = &(tree[x_91].leftIndex);
let x_112 : i32 = *(x_111);
if ((x_112 == -1)) {
*(x_111) = 2;
tree[2] = BST(12, -1, -1);
x_119_phi = true;
break;
} else {
x_117 = *(x_111);
x_92_phi = x_117;
continue;
}
return;
} else {
let x_103 : ptr<function, i32> = &(tree[x_91].rightIndex);
let x_104 : i32 = *(x_103);
if ((x_104 == -1)) {
*(x_103) = 2;
tree[2] = BST(12, -1, -1);
x_119_phi = true;
break;
} else {
x_109 = *(x_103);
x_92_phi = x_109;
continue;
}
return;
}
return;
continuing {
x_92 = x_92_phi;
x_91_phi = x_92;
}
}
let x_119 : bool = x_119_phi;
if (x_119) {
break;
}
}
}
var x_124_phi : i32;
var x_152_phi : bool;
switch(0u) {
default: {
x_124_phi = 0;
loop {
var x_150 : i32;
var x_142 : i32;
var x_125 : i32;
var x_125_phi : i32;
let x_124 : i32 = x_124_phi;
x_152_phi = false;
if ((x_124 <= 3)) {
} else {
break;
}
let x_131 : i32 = tree[x_124].data;
if ((15 <= x_131)) {
let x_144 : ptr<function, i32> = &(tree[x_124].leftIndex);
let x_145 : i32 = *(x_144);
if ((x_145 == -1)) {
*(x_144) = 3;
tree[3] = BST(15, -1, -1);
x_152_phi = true;
break;
} else {
x_150 = *(x_144);
x_125_phi = x_150;
continue;
}
return;
} else {
let x_136 : ptr<function, i32> = &(tree[x_124].rightIndex);
let x_137 : i32 = *(x_136);
if ((x_137 == -1)) {
*(x_136) = 3;
tree[3] = BST(15, -1, -1);
x_152_phi = true;
break;
} else {
x_142 = *(x_136);
x_125_phi = x_142;
continue;
}
return;
}
return;
continuing {
x_125 = x_125_phi;
x_124_phi = x_125;
}
}
let x_152 : bool = x_152_phi;
if (x_152) {
break;
}
}
}
var x_157_phi : i32;
var x_185_phi : bool;
switch(0u) {
default: {
x_157_phi = 0;
loop {
var x_183 : i32;
var x_175 : i32;
var x_158 : i32;
var x_158_phi : i32;
let x_157 : i32 = x_157_phi;
x_185_phi = false;
if ((x_157 <= 4)) {
} else {
break;
}
let x_164 : i32 = tree[x_157].data;
if ((7 <= x_164)) {
let x_177 : ptr<function, i32> = &(tree[x_157].leftIndex);
let x_178 : i32 = *(x_177);
if ((x_178 == -1)) {
*(x_177) = 4;
tree[4] = BST(7, -1, -1);
x_185_phi = true;
break;
} else {
x_183 = *(x_177);
x_158_phi = x_183;
continue;
}
return;
} else {
let x_169 : ptr<function, i32> = &(tree[x_157].rightIndex);
let x_170 : i32 = *(x_169);
if ((x_170 == -1)) {
*(x_169) = 4;
tree[4] = BST(7, -1, -1);
x_185_phi = true;
break;
} else {
x_175 = *(x_169);
x_158_phi = x_175;
continue;
}
return;
}
return;
continuing {
x_158 = x_158_phi;
x_157_phi = x_158;
}
}
let x_185 : bool = x_185_phi;
if (x_185) {
break;
}
}
}
var x_190_phi : i32;
var x_218_phi : bool;
switch(0u) {
default: {
x_190_phi = 0;
loop {
var x_216 : i32;
var x_208 : i32;
var x_191 : i32;
var x_191_phi : i32;
let x_190 : i32 = x_190_phi;
x_218_phi = false;
if ((x_190 <= 5)) {
} else {
break;
}
let x_197 : i32 = tree[x_190].data;
if ((8 <= x_197)) {
let x_210 : ptr<function, i32> = &(tree[x_190].leftIndex);
let x_211 : i32 = *(x_210);
if ((x_211 == -1)) {
*(x_210) = 5;
tree[5] = BST(8, -1, -1);
x_218_phi = true;
break;
} else {
x_216 = *(x_210);
x_191_phi = x_216;
continue;
}
return;
} else {
let x_202 : ptr<function, i32> = &(tree[x_190].rightIndex);
let x_203 : i32 = *(x_202);
if ((x_203 == -1)) {
*(x_202) = 5;
tree[5] = BST(8, -1, -1);
x_218_phi = true;
break;
} else {
x_208 = *(x_202);
x_191_phi = x_208;
continue;
}
return;
}
return;
continuing {
x_191 = x_191_phi;
x_190_phi = x_191;
}
}
let x_218 : bool = x_218_phi;
if (x_218) {
break;
}
}
}
var x_223_phi : i32;
var x_251_phi : bool;
switch(0u) {
default: {
x_223_phi = 0;
loop {
var x_249 : i32;
var x_241 : i32;
var x_224 : i32;
var x_224_phi : i32;
let x_223 : i32 = x_223_phi;
x_251_phi = false;
if ((x_223 <= 6)) {
} else {
break;
}
let x_230 : i32 = tree[x_223].data;
if ((2 <= x_230)) {
let x_243 : ptr<function, i32> = &(tree[x_223].leftIndex);
let x_244 : i32 = *(x_243);
if ((x_244 == -1)) {
*(x_243) = 6;
tree[6] = BST(2, -1, -1);
x_251_phi = true;
break;
} else {
x_249 = *(x_243);
x_224_phi = x_249;
continue;
}
return;
} else {
let x_235 : ptr<function, i32> = &(tree[x_223].rightIndex);
let x_236 : i32 = *(x_235);
if ((x_236 == -1)) {
*(x_235) = 6;
tree[6] = BST(2, -1, -1);
x_251_phi = true;
break;
} else {
x_241 = *(x_235);
x_224_phi = x_241;
continue;
}
return;
}
return;
continuing {
x_224 = x_224_phi;
x_223_phi = x_224;
}
}
let x_251 : bool = x_251_phi;
if (x_251) {
break;
}
}
}
var x_256_phi : i32;
var x_284_phi : bool;
switch(0u) {
default: {
x_256_phi = 0;
loop {
var x_282 : i32;
var x_274 : i32;
var x_257 : i32;
var x_257_phi : i32;
let x_256 : i32 = x_256_phi;
x_284_phi = false;
if ((x_256 <= 7)) {
} else {
break;
}
let x_263 : i32 = tree[x_256].data;
if ((6 <= x_263)) {
let x_276 : ptr<function, i32> = &(tree[x_256].leftIndex);
let x_277 : i32 = *(x_276);
if ((x_277 == -1)) {
*(x_276) = 7;
tree[7] = BST(6, -1, -1);
x_284_phi = true;
break;
} else {
x_282 = *(x_276);
x_257_phi = x_282;
continue;
}
return;
} else {
let x_268 : ptr<function, i32> = &(tree[x_256].rightIndex);
let x_269 : i32 = *(x_268);
if ((x_269 == -1)) {
*(x_268) = 7;
tree[7] = BST(6, -1, -1);
x_284_phi = true;
break;
} else {
x_274 = *(x_268);
x_257_phi = x_274;
continue;
}
return;
}
return;
continuing {
x_257 = x_257_phi;
x_256_phi = x_257;
}
}
let x_284 : bool = x_284_phi;
if (x_284) {
break;
}
}
}
var x_289_phi : i32;
var x_317_phi : bool;
switch(0u) {
default: {
x_289_phi = 0;
loop {
var x_315 : i32;
var x_307 : i32;
var x_290 : i32;
var x_290_phi : i32;
let x_289 : i32 = x_289_phi;
x_317_phi = false;
if ((x_289 <= 8)) {
} else {
break;
}
let x_296 : i32 = tree[x_289].data;
if ((17 <= x_296)) {
let x_309 : ptr<function, i32> = &(tree[x_289].leftIndex);
let x_310 : i32 = *(x_309);
if ((x_310 == -1)) {
*(x_309) = 8;
tree[8] = BST(17, -1, -1);
x_317_phi = true;
break;
} else {
x_315 = *(x_309);
x_290_phi = x_315;
continue;
}
return;
} else {
let x_301 : ptr<function, i32> = &(tree[x_289].rightIndex);
let x_302 : i32 = *(x_301);
if ((x_302 == -1)) {
*(x_301) = 8;
tree[8] = BST(17, -1, -1);
x_317_phi = true;
break;
} else {
x_307 = *(x_301);
x_290_phi = x_307;
continue;
}
return;
}
return;
continuing {
x_290 = x_290_phi;
x_289_phi = x_290;
}
}
let x_317 : bool = x_317_phi;
if (x_317) {
break;
}
}
}
var x_322_phi : i32;
var x_350_phi : bool;
switch(0u) {
default: {
x_322_phi = 0;
loop {
var x_348 : i32;
var x_340 : i32;
var x_323 : i32;
var x_323_phi : i32;
let x_322 : i32 = x_322_phi;
x_350_phi = false;
if ((x_322 <= 9)) {
} else {
break;
}
let x_329 : i32 = tree[x_322].data;
if ((13 <= x_329)) {
let x_342 : ptr<function, i32> = &(tree[x_322].leftIndex);
let x_343 : i32 = *(x_342);
if ((x_343 == -1)) {
*(x_342) = 9;
tree[9] = BST(13, -1, -1);
x_350_phi = true;
break;
} else {
x_348 = *(x_342);
x_323_phi = x_348;
continue;
}
return;
} else {
let x_334 : ptr<function, i32> = &(tree[x_322].rightIndex);
let x_335 : i32 = *(x_334);
if ((x_335 == -1)) {
*(x_334) = 9;
tree[9] = BST(13, -1, -1);
x_350_phi = true;
break;
} else {
x_340 = *(x_334);
x_323_phi = x_340;
continue;
}
return;
}
return;
continuing {
x_323 = x_323_phi;
x_322_phi = x_323;
}
}
let x_350 : bool = x_350_phi;
if (x_350) {
break;
}
}
}
x_353_phi = 0;
x_356_phi = 0;
x_358_phi = 0;
loop {
var x_381 : i32;
var x_391 : i32;
var x_396 : i32;
var x_359 : i32;
var x_354_phi : i32;
var x_357_phi : i32;
let x_353 : i32 = x_353_phi;
x_356 = x_356_phi;
let x_358 : i32 = x_358_phi;
if ((x_358 < 20)) {
} else {
break;
}
var x_366_phi : i32;
var x_381_phi : i32;
var x_382_phi : bool;
switch(0u) {
default: {
x_366_phi = 0;
loop {
let x_366 : i32 = x_366_phi;
x_381_phi = x_353;
x_382_phi = false;
if ((x_366 != -1)) {
} else {
break;
}
let x_373 : BST = tree[x_366];
let x_374 : i32 = x_373.data;
let x_375 : i32 = x_373.leftIndex;
let x_376 : i32 = x_373.rightIndex;
if ((x_374 == x_358)) {
x_381_phi = x_358;
x_382_phi = true;
break;
}
continuing {
x_366_phi = select(x_375, x_376, (x_358 > x_374));
}
}
x_381 = x_381_phi;
let x_382 : bool = x_382_phi;
x_354_phi = x_381;
if (x_382) {
break;
}
x_354_phi = -1;
}
}
var x_354 : i32;
var x_390 : i32;
var x_395 : i32;
var x_391_phi : i32;
var x_396_phi : i32;
x_354 = x_354_phi;
switch(x_358) {
case 2, 5, 6, 7, 8, 9, 12, 13, 15, 17: {
x_391_phi = x_356;
if ((x_354 == bitcast<i32>(x_358))) {
x_390 = bitcast<i32>((x_356 + bitcast<i32>(1)));
x_391_phi = x_390;
}
x_391 = x_391_phi;
x_357_phi = x_391;
}
default: {
x_396_phi = x_356;
if ((x_354 == bitcast<i32>(-1))) {
x_395 = bitcast<i32>((x_356 + bitcast<i32>(1)));
x_396_phi = x_395;
}
x_396 = x_396_phi;
x_357_phi = x_396;
}
}
let x_357 : i32 = x_357_phi;
continuing {
x_359 = (x_358 + 1);
x_353_phi = x_354;
x_356_phi = x_357;
x_358_phi = x_359;
}
}
if ((x_356 == bitcast<i32>(20))) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 0.0, 1.0, 1.0);
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}

View File

@@ -0,0 +1,977 @@
struct BST {
data : i32;
leftIndex : i32;
rightIndex : i32;
};
[[block]]
struct buf0 {
injectionSwitch : vec2<f32>;
};
[[group(0), binding(0)]] var<uniform> x_8 : buf0;
var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var tree : array<BST, 10>;
var x_67 : bool;
var x_114 : bool;
var x_572 : i32;
var x_67_phi : bool;
var x_70_phi : i32;
var x_116_phi : bool;
var x_119_phi : i32;
var x_569_phi : i32;
var x_572_phi : i32;
var x_574_phi : i32;
tree[0] = BST(9, -1, -1);
switch(0u) {
default: {
x_67_phi = false;
x_70_phi = 0;
loop {
var x_95 : i32;
var x_87 : i32;
var x_68 : bool;
var x_71 : i32;
var x_68_phi : bool;
var x_71_phi : i32;
x_67 = x_67_phi;
let x_70 : i32 = x_70_phi;
x_116_phi = x_67;
if ((x_70 <= 1)) {
} else {
break;
}
let x_76 : i32 = tree[x_70].data;
if ((5 <= x_76)) {
var x_114_phi : bool;
let x_89 : ptr<function, i32> = &(tree[x_70].leftIndex);
let x_90 : i32 = *(x_89);
if ((x_90 == -1)) {
let x_97 : f32 = x_8.injectionSwitch.y;
let x_99 : f32 = x_8.injectionSwitch.x;
if ((x_97 < x_99)) {
loop {
discard;
}
return;
}
*(x_89) = 1;
tree[1] = BST(5, -1, -1);
loop {
x_114_phi = x_67;
if ((0 < i32(x_97))) {
} else {
break;
}
x_114_phi = true;
break;
}
x_114 = x_114_phi;
x_116_phi = x_114;
if (x_114) {
break;
}
} else {
x_95 = *(x_89);
x_68_phi = x_67;
x_71_phi = x_95;
continue;
}
} else {
let x_81 : ptr<function, i32> = &(tree[x_70].rightIndex);
let x_82 : i32 = *(x_81);
if ((x_82 == -1)) {
*(x_81) = 1;
tree[1] = BST(5, -1, -1);
x_116_phi = true;
break;
} else {
x_87 = *(x_81);
x_68_phi = x_67;
x_71_phi = x_87;
continue;
}
return;
}
x_68_phi = x_114;
x_71_phi = x_70;
continuing {
x_68 = x_68_phi;
x_71 = x_71_phi;
x_67_phi = x_68;
x_70_phi = x_71;
}
}
let x_116 : bool = x_116_phi;
if (x_116) {
break;
}
}
}
x_119_phi = 0;
loop {
var x_133 : bool;
var x_120 : i32;
var x_134_phi : bool;
let x_119 : i32 = x_119_phi;
let x_125 : f32 = gl_FragCoord.y;
let x_126 : bool = (x_125 < 0.0);
x_134_phi = x_126;
if (!(x_126)) {
let x_131 : f32 = x_8.injectionSwitch.y;
x_133 = (x_119 != i32(x_131));
x_134_phi = x_133;
}
let x_134 : bool = x_134_phi;
if (x_134) {
} else {
break;
}
var x_139 : bool;
var x_186 : bool;
var x_139_phi : bool;
var x_142_phi : i32;
var x_188_phi : bool;
switch(0u) {
default: {
x_139_phi = false;
x_142_phi = 0;
loop {
var x_167 : i32;
var x_159 : i32;
var x_140 : bool;
var x_143 : i32;
var x_140_phi : bool;
var x_143_phi : i32;
x_139 = x_139_phi;
let x_142 : i32 = x_142_phi;
x_188_phi = x_139;
if ((x_142 <= 2)) {
} else {
break;
}
let x_148 : i32 = tree[x_142].data;
if ((12 <= x_148)) {
var x_186_phi : bool;
let x_161 : ptr<function, i32> = &(tree[x_142].leftIndex);
let x_162 : i32 = *(x_161);
if ((x_162 == -1)) {
let x_169 : f32 = x_8.injectionSwitch.y;
let x_171 : f32 = x_8.injectionSwitch.x;
if ((x_169 < x_171)) {
loop {
discard;
}
return;
}
*(x_161) = 2;
tree[2] = BST(12, -1, -1);
loop {
x_186_phi = x_139;
if ((0 < i32(x_169))) {
} else {
break;
}
x_186_phi = true;
break;
}
x_186 = x_186_phi;
x_188_phi = x_186;
if (x_186) {
break;
}
} else {
x_167 = *(x_161);
x_140_phi = x_139;
x_143_phi = x_167;
continue;
}
} else {
let x_153 : ptr<function, i32> = &(tree[x_142].rightIndex);
let x_154 : i32 = *(x_153);
if ((x_154 == -1)) {
*(x_153) = 2;
tree[2] = BST(12, -1, -1);
x_188_phi = true;
break;
} else {
x_159 = *(x_153);
x_140_phi = x_139;
x_143_phi = x_159;
continue;
}
return;
}
x_140_phi = x_186;
x_143_phi = x_142;
continuing {
x_140 = x_140_phi;
x_143 = x_143_phi;
x_139_phi = x_140;
x_142_phi = x_143;
}
}
let x_188 : bool = x_188_phi;
if (x_188) {
break;
}
}
}
continuing {
x_120 = (x_119 + 1);
x_119_phi = x_120;
}
}
var x_193 : bool;
var x_240 : bool;
var x_193_phi : bool;
var x_196_phi : i32;
var x_242_phi : bool;
switch(0u) {
default: {
x_193_phi = false;
x_196_phi = 0;
loop {
var x_221 : i32;
var x_213 : i32;
var x_194 : bool;
var x_197 : i32;
var x_194_phi : bool;
var x_197_phi : i32;
x_193 = x_193_phi;
let x_196 : i32 = x_196_phi;
x_242_phi = x_193;
if ((x_196 <= 3)) {
} else {
break;
}
let x_202 : i32 = tree[x_196].data;
if ((15 <= x_202)) {
var x_240_phi : bool;
let x_215 : ptr<function, i32> = &(tree[x_196].leftIndex);
let x_216 : i32 = *(x_215);
if ((x_216 == -1)) {
let x_223 : f32 = x_8.injectionSwitch.y;
let x_225 : f32 = x_8.injectionSwitch.x;
if ((x_223 < x_225)) {
loop {
discard;
}
return;
}
*(x_215) = 3;
tree[3] = BST(15, -1, -1);
loop {
x_240_phi = x_193;
if ((0 < i32(x_223))) {
} else {
break;
}
x_240_phi = true;
break;
}
x_240 = x_240_phi;
x_242_phi = x_240;
if (x_240) {
break;
}
} else {
x_221 = *(x_215);
x_194_phi = x_193;
x_197_phi = x_221;
continue;
}
} else {
let x_207 : ptr<function, i32> = &(tree[x_196].rightIndex);
let x_208 : i32 = *(x_207);
if ((x_208 == -1)) {
*(x_207) = 3;
tree[3] = BST(15, -1, -1);
x_242_phi = true;
break;
} else {
x_213 = *(x_207);
x_194_phi = x_193;
x_197_phi = x_213;
continue;
}
return;
}
x_194_phi = x_240;
x_197_phi = x_196;
continuing {
x_194 = x_194_phi;
x_197 = x_197_phi;
x_193_phi = x_194;
x_196_phi = x_197;
}
}
let x_242 : bool = x_242_phi;
if (x_242) {
break;
}
}
}
var x_247 : bool;
var x_294 : bool;
var x_247_phi : bool;
var x_250_phi : i32;
var x_296_phi : bool;
switch(0u) {
default: {
x_247_phi = false;
x_250_phi = 0;
loop {
var x_275 : i32;
var x_267 : i32;
var x_248 : bool;
var x_251 : i32;
var x_248_phi : bool;
var x_251_phi : i32;
x_247 = x_247_phi;
let x_250 : i32 = x_250_phi;
x_296_phi = x_247;
if ((x_250 <= 4)) {
} else {
break;
}
let x_256 : i32 = tree[x_250].data;
if ((7 <= x_256)) {
var x_294_phi : bool;
let x_269 : ptr<function, i32> = &(tree[x_250].leftIndex);
let x_270 : i32 = *(x_269);
if ((x_270 == -1)) {
let x_277 : f32 = x_8.injectionSwitch.y;
let x_279 : f32 = x_8.injectionSwitch.x;
if ((x_277 < x_279)) {
loop {
discard;
}
return;
}
*(x_269) = 4;
tree[4] = BST(7, -1, -1);
loop {
x_294_phi = x_247;
if ((0 < i32(x_277))) {
} else {
break;
}
x_294_phi = true;
break;
}
x_294 = x_294_phi;
x_296_phi = x_294;
if (x_294) {
break;
}
} else {
x_275 = *(x_269);
x_248_phi = x_247;
x_251_phi = x_275;
continue;
}
} else {
let x_261 : ptr<function, i32> = &(tree[x_250].rightIndex);
let x_262 : i32 = *(x_261);
if ((x_262 == -1)) {
*(x_261) = 4;
tree[4] = BST(7, -1, -1);
x_296_phi = true;
break;
} else {
x_267 = *(x_261);
x_248_phi = x_247;
x_251_phi = x_267;
continue;
}
return;
}
x_248_phi = x_294;
x_251_phi = x_250;
continuing {
x_248 = x_248_phi;
x_251 = x_251_phi;
x_247_phi = x_248;
x_250_phi = x_251;
}
}
let x_296 : bool = x_296_phi;
if (x_296) {
break;
}
}
}
var x_301 : bool;
var x_348 : bool;
var x_301_phi : bool;
var x_304_phi : i32;
var x_350_phi : bool;
switch(0u) {
default: {
x_301_phi = false;
x_304_phi = 0;
loop {
var x_329 : i32;
var x_321 : i32;
var x_302 : bool;
var x_305 : i32;
var x_302_phi : bool;
var x_305_phi : i32;
x_301 = x_301_phi;
let x_304 : i32 = x_304_phi;
x_350_phi = x_301;
if ((x_304 <= 5)) {
} else {
break;
}
let x_310 : i32 = tree[x_304].data;
if ((8 <= x_310)) {
var x_348_phi : bool;
let x_323 : ptr<function, i32> = &(tree[x_304].leftIndex);
let x_324 : i32 = *(x_323);
if ((x_324 == -1)) {
let x_331 : f32 = x_8.injectionSwitch.y;
let x_333 : f32 = x_8.injectionSwitch.x;
if ((x_331 < x_333)) {
loop {
discard;
}
return;
}
*(x_323) = 5;
tree[5] = BST(8, -1, -1);
loop {
x_348_phi = x_301;
if ((0 < i32(x_331))) {
} else {
break;
}
x_348_phi = true;
break;
}
x_348 = x_348_phi;
x_350_phi = x_348;
if (x_348) {
break;
}
} else {
x_329 = *(x_323);
x_302_phi = x_301;
x_305_phi = x_329;
continue;
}
} else {
let x_315 : ptr<function, i32> = &(tree[x_304].rightIndex);
let x_316 : i32 = *(x_315);
if ((x_316 == -1)) {
*(x_315) = 5;
tree[5] = BST(8, -1, -1);
x_350_phi = true;
break;
} else {
x_321 = *(x_315);
x_302_phi = x_301;
x_305_phi = x_321;
continue;
}
return;
}
x_302_phi = x_348;
x_305_phi = x_304;
continuing {
x_302 = x_302_phi;
x_305 = x_305_phi;
x_301_phi = x_302;
x_304_phi = x_305;
}
}
let x_350 : bool = x_350_phi;
if (x_350) {
break;
}
}
}
var x_355 : bool;
var x_402 : bool;
var x_355_phi : bool;
var x_358_phi : i32;
var x_404_phi : bool;
switch(0u) {
default: {
x_355_phi = false;
x_358_phi = 0;
loop {
var x_383 : i32;
var x_375 : i32;
var x_356 : bool;
var x_359 : i32;
var x_356_phi : bool;
var x_359_phi : i32;
x_355 = x_355_phi;
let x_358 : i32 = x_358_phi;
x_404_phi = x_355;
if ((x_358 <= 6)) {
} else {
break;
}
let x_364 : i32 = tree[x_358].data;
if ((2 <= x_364)) {
var x_402_phi : bool;
let x_377 : ptr<function, i32> = &(tree[x_358].leftIndex);
let x_378 : i32 = *(x_377);
if ((x_378 == -1)) {
let x_385 : f32 = x_8.injectionSwitch.y;
let x_387 : f32 = x_8.injectionSwitch.x;
if ((x_385 < x_387)) {
loop {
discard;
}
return;
}
*(x_377) = 6;
tree[6] = BST(2, -1, -1);
loop {
x_402_phi = x_355;
if ((0 < i32(x_385))) {
} else {
break;
}
x_402_phi = true;
break;
}
x_402 = x_402_phi;
x_404_phi = x_402;
if (x_402) {
break;
}
} else {
x_383 = *(x_377);
x_356_phi = x_355;
x_359_phi = x_383;
continue;
}
} else {
let x_369 : ptr<function, i32> = &(tree[x_358].rightIndex);
let x_370 : i32 = *(x_369);
if ((x_370 == -1)) {
*(x_369) = 6;
tree[6] = BST(2, -1, -1);
x_404_phi = true;
break;
} else {
x_375 = *(x_369);
x_356_phi = x_355;
x_359_phi = x_375;
continue;
}
return;
}
x_356_phi = x_402;
x_359_phi = x_358;
continuing {
x_356 = x_356_phi;
x_359 = x_359_phi;
x_355_phi = x_356;
x_358_phi = x_359;
}
}
let x_404 : bool = x_404_phi;
if (x_404) {
break;
}
}
}
var x_409 : bool;
var x_456 : bool;
var x_409_phi : bool;
var x_412_phi : i32;
var x_458_phi : bool;
switch(0u) {
default: {
x_409_phi = false;
x_412_phi = 0;
loop {
var x_437 : i32;
var x_429 : i32;
var x_410 : bool;
var x_413 : i32;
var x_410_phi : bool;
var x_413_phi : i32;
x_409 = x_409_phi;
let x_412 : i32 = x_412_phi;
x_458_phi = x_409;
if ((x_412 <= 7)) {
} else {
break;
}
let x_418 : i32 = tree[x_412].data;
if ((6 <= x_418)) {
var x_456_phi : bool;
let x_431 : ptr<function, i32> = &(tree[x_412].leftIndex);
let x_432 : i32 = *(x_431);
if ((x_432 == -1)) {
let x_439 : f32 = x_8.injectionSwitch.y;
let x_441 : f32 = x_8.injectionSwitch.x;
if ((x_439 < x_441)) {
loop {
discard;
}
return;
}
*(x_431) = 7;
tree[7] = BST(6, -1, -1);
loop {
x_456_phi = x_409;
if ((0 < i32(x_439))) {
} else {
break;
}
x_456_phi = true;
break;
}
x_456 = x_456_phi;
x_458_phi = x_456;
if (x_456) {
break;
}
} else {
x_437 = *(x_431);
x_410_phi = x_409;
x_413_phi = x_437;
continue;
}
} else {
let x_423 : ptr<function, i32> = &(tree[x_412].rightIndex);
let x_424 : i32 = *(x_423);
if ((x_424 == -1)) {
*(x_423) = 7;
tree[7] = BST(6, -1, -1);
x_458_phi = true;
break;
} else {
x_429 = *(x_423);
x_410_phi = x_409;
x_413_phi = x_429;
continue;
}
return;
}
x_410_phi = x_456;
x_413_phi = x_412;
continuing {
x_410 = x_410_phi;
x_413 = x_413_phi;
x_409_phi = x_410;
x_412_phi = x_413;
}
}
let x_458 : bool = x_458_phi;
if (x_458) {
break;
}
}
}
var x_463 : bool;
var x_510 : bool;
var x_463_phi : bool;
var x_466_phi : i32;
var x_512_phi : bool;
switch(0u) {
default: {
x_463_phi = false;
x_466_phi = 0;
loop {
var x_491 : i32;
var x_483 : i32;
var x_464 : bool;
var x_467 : i32;
var x_464_phi : bool;
var x_467_phi : i32;
x_463 = x_463_phi;
let x_466 : i32 = x_466_phi;
x_512_phi = x_463;
if ((x_466 <= 8)) {
} else {
break;
}
let x_472 : i32 = tree[x_466].data;
if ((17 <= x_472)) {
var x_510_phi : bool;
let x_485 : ptr<function, i32> = &(tree[x_466].leftIndex);
let x_486 : i32 = *(x_485);
if ((x_486 == -1)) {
let x_493 : f32 = x_8.injectionSwitch.y;
let x_495 : f32 = x_8.injectionSwitch.x;
if ((x_493 < x_495)) {
loop {
discard;
}
return;
}
*(x_485) = 8;
tree[8] = BST(17, -1, -1);
loop {
x_510_phi = x_463;
if ((0 < i32(x_493))) {
} else {
break;
}
x_510_phi = true;
break;
}
x_510 = x_510_phi;
x_512_phi = x_510;
if (x_510) {
break;
}
} else {
x_491 = *(x_485);
x_464_phi = x_463;
x_467_phi = x_491;
continue;
}
} else {
let x_477 : ptr<function, i32> = &(tree[x_466].rightIndex);
let x_478 : i32 = *(x_477);
if ((x_478 == -1)) {
*(x_477) = 8;
tree[8] = BST(17, -1, -1);
x_512_phi = true;
break;
} else {
x_483 = *(x_477);
x_464_phi = x_463;
x_467_phi = x_483;
continue;
}
return;
}
x_464_phi = x_510;
x_467_phi = x_466;
continuing {
x_464 = x_464_phi;
x_467 = x_467_phi;
x_463_phi = x_464;
x_466_phi = x_467;
}
}
let x_512 : bool = x_512_phi;
if (x_512) {
break;
}
}
}
var x_517 : bool;
var x_564 : bool;
var x_517_phi : bool;
var x_520_phi : i32;
var x_566_phi : bool;
switch(0u) {
default: {
x_517_phi = false;
x_520_phi = 0;
loop {
var x_545 : i32;
var x_537 : i32;
var x_518 : bool;
var x_521 : i32;
var x_518_phi : bool;
var x_521_phi : i32;
x_517 = x_517_phi;
let x_520 : i32 = x_520_phi;
x_566_phi = x_517;
if ((x_520 <= 9)) {
} else {
break;
}
let x_526 : i32 = tree[x_520].data;
if ((13 <= x_526)) {
var x_564_phi : bool;
let x_539 : ptr<function, i32> = &(tree[x_520].leftIndex);
let x_540 : i32 = *(x_539);
if ((x_540 == -1)) {
let x_547 : f32 = x_8.injectionSwitch.y;
let x_549 : f32 = x_8.injectionSwitch.x;
if ((x_547 < x_549)) {
loop {
discard;
}
return;
}
*(x_539) = 9;
tree[9] = BST(13, -1, -1);
loop {
x_564_phi = x_517;
if ((0 < i32(x_547))) {
} else {
break;
}
x_564_phi = true;
break;
}
x_564 = x_564_phi;
x_566_phi = x_564;
if (x_564) {
break;
}
} else {
x_545 = *(x_539);
x_518_phi = x_517;
x_521_phi = x_545;
continue;
}
} else {
let x_531 : ptr<function, i32> = &(tree[x_520].rightIndex);
let x_532 : i32 = *(x_531);
if ((x_532 == -1)) {
*(x_531) = 9;
tree[9] = BST(13, -1, -1);
x_566_phi = true;
break;
} else {
x_537 = *(x_531);
x_518_phi = x_517;
x_521_phi = x_537;
continue;
}
return;
}
x_518_phi = x_564;
x_521_phi = x_520;
continuing {
x_518 = x_518_phi;
x_521 = x_521_phi;
x_517_phi = x_518;
x_520_phi = x_521;
}
}
let x_566 : bool = x_566_phi;
if (x_566) {
break;
}
}
}
x_569_phi = 0;
x_572_phi = 0;
x_574_phi = 0;
loop {
var x_597 : i32;
var x_607 : i32;
var x_612 : i32;
var x_575 : i32;
var x_570_phi : i32;
var x_573_phi : i32;
let x_569 : i32 = x_569_phi;
x_572 = x_572_phi;
let x_574 : i32 = x_574_phi;
if ((x_574 < 20)) {
} else {
break;
}
var x_582_phi : i32;
var x_597_phi : i32;
var x_598_phi : bool;
switch(0u) {
default: {
x_582_phi = 0;
loop {
let x_582 : i32 = x_582_phi;
x_597_phi = x_569;
x_598_phi = false;
if ((x_582 != -1)) {
} else {
break;
}
let x_589 : BST = tree[x_582];
let x_590 : i32 = x_589.data;
let x_591 : i32 = x_589.leftIndex;
let x_592 : i32 = x_589.rightIndex;
if ((x_590 == x_574)) {
x_597_phi = x_574;
x_598_phi = true;
break;
}
continuing {
x_582_phi = select(x_591, x_592, (x_574 > x_590));
}
}
x_597 = x_597_phi;
let x_598 : bool = x_598_phi;
x_570_phi = x_597;
if (x_598) {
break;
}
x_570_phi = -1;
}
}
var x_570 : i32;
var x_606 : i32;
var x_611 : i32;
var x_607_phi : i32;
var x_612_phi : i32;
x_570 = x_570_phi;
switch(x_574) {
case 2, 5, 6, 7, 8, 9, 12, 13, 15, 17: {
x_607_phi = x_572;
if ((x_570 == bitcast<i32>(x_574))) {
x_606 = bitcast<i32>((x_572 + bitcast<i32>(1)));
x_607_phi = x_606;
}
x_607 = x_607_phi;
x_573_phi = x_607;
}
default: {
x_612_phi = x_572;
if ((x_570 == bitcast<i32>(-1))) {
x_611 = bitcast<i32>((x_572 + bitcast<i32>(1)));
x_612_phi = x_611;
}
x_612 = x_612_phi;
x_573_phi = x_612;
}
}
let x_573 : i32 = x_573_phi;
continuing {
x_575 = (x_574 + 1);
x_569_phi = x_570;
x_572_phi = x_573;
x_574_phi = x_575;
}
}
if ((x_572 == bitcast<i32>(20))) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 0.0, 1.0, 1.0);
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out {
gl_FragCoord = gl_FragCoord_param;
main_1();
return main_out(x_GLF_color);
}

View File

@@ -0,0 +1,977 @@
struct BST {
data : i32;
leftIndex : i32;
rightIndex : i32;
};
[[block]]
struct buf0 {
injectionSwitch : vec2<f32>;
};
[[group(0), binding(0)]] var<uniform> x_8 : buf0;
var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var tree : array<BST, 10>;
var x_67 : bool;
var x_114 : bool;
var x_572 : i32;
var x_67_phi : bool;
var x_70_phi : i32;
var x_116_phi : bool;
var x_119_phi : i32;
var x_569_phi : i32;
var x_572_phi : i32;
var x_574_phi : i32;
tree[0] = BST(9, -1, -1);
switch(0u) {
default: {
x_67_phi = false;
x_70_phi = 0;
loop {
var x_95 : i32;
var x_87 : i32;
var x_68 : bool;
var x_71 : i32;
var x_68_phi : bool;
var x_71_phi : i32;
x_67 = x_67_phi;
let x_70 : i32 = x_70_phi;
x_116_phi = x_67;
if ((x_70 <= 1)) {
} else {
break;
}
let x_76 : i32 = tree[x_70].data;
if ((5 <= x_76)) {
var x_114_phi : bool;
let x_89 : ptr<function, i32> = &(tree[x_70].leftIndex);
let x_90 : i32 = *(x_89);
if ((x_90 == -1)) {
let x_97 : f32 = x_8.injectionSwitch.y;
let x_99 : f32 = x_8.injectionSwitch.x;
if ((x_97 < x_99)) {
loop {
discard;
}
return;
}
*(x_89) = 1;
tree[1] = BST(5, -1, -1);
loop {
x_114_phi = x_67;
if ((0 < i32(x_97))) {
} else {
break;
}
x_114_phi = true;
break;
}
x_114 = x_114_phi;
x_116_phi = x_114;
if (x_114) {
break;
}
} else {
x_95 = *(x_89);
x_68_phi = x_67;
x_71_phi = x_95;
continue;
}
} else {
let x_81 : ptr<function, i32> = &(tree[x_70].rightIndex);
let x_82 : i32 = *(x_81);
if ((x_82 == -1)) {
*(x_81) = 1;
tree[1] = BST(5, -1, -1);
x_116_phi = true;
break;
} else {
x_87 = *(x_81);
x_68_phi = x_67;
x_71_phi = x_87;
continue;
}
return;
}
x_68_phi = x_114;
x_71_phi = x_70;
continuing {
x_68 = x_68_phi;
x_71 = x_71_phi;
x_67_phi = x_68;
x_70_phi = x_71;
}
}
let x_116 : bool = x_116_phi;
if (x_116) {
break;
}
}
}
x_119_phi = 0;
loop {
var x_133 : bool;
var x_120 : i32;
var x_134_phi : bool;
let x_119 : i32 = x_119_phi;
let x_125 : f32 = gl_FragCoord.y;
let x_126 : bool = (x_125 < 0.0);
x_134_phi = x_126;
if (!(x_126)) {
let x_131 : f32 = x_8.injectionSwitch.y;
x_133 = (x_119 != i32(x_131));
x_134_phi = x_133;
}
let x_134 : bool = x_134_phi;
if (x_134) {
} else {
break;
}
var x_139 : bool;
var x_186 : bool;
var x_139_phi : bool;
var x_142_phi : i32;
var x_188_phi : bool;
switch(0u) {
default: {
x_139_phi = false;
x_142_phi = 0;
loop {
var x_167 : i32;
var x_159 : i32;
var x_140 : bool;
var x_143 : i32;
var x_140_phi : bool;
var x_143_phi : i32;
x_139 = x_139_phi;
let x_142 : i32 = x_142_phi;
x_188_phi = x_139;
if ((x_142 <= 2)) {
} else {
break;
}
let x_148 : i32 = tree[x_142].data;
if ((12 <= x_148)) {
var x_186_phi : bool;
let x_161 : ptr<function, i32> = &(tree[x_142].leftIndex);
let x_162 : i32 = *(x_161);
if ((x_162 == -1)) {
let x_169 : f32 = x_8.injectionSwitch.y;
let x_171 : f32 = x_8.injectionSwitch.x;
if ((x_169 < x_171)) {
loop {
discard;
}
return;
}
*(x_161) = 2;
tree[2] = BST(12, -1, -1);
loop {
x_186_phi = x_139;
if ((0 < i32(x_169))) {
} else {
break;
}
x_186_phi = true;
break;
}
x_186 = x_186_phi;
x_188_phi = x_186;
if (x_186) {
break;
}
} else {
x_167 = *(x_161);
x_140_phi = x_139;
x_143_phi = x_167;
continue;
}
} else {
let x_153 : ptr<function, i32> = &(tree[x_142].rightIndex);
let x_154 : i32 = *(x_153);
if ((x_154 == -1)) {
*(x_153) = 2;
tree[2] = BST(12, -1, -1);
x_188_phi = true;
break;
} else {
x_159 = *(x_153);
x_140_phi = x_139;
x_143_phi = x_159;
continue;
}
return;
}
x_140_phi = x_186;
x_143_phi = x_142;
continuing {
x_140 = x_140_phi;
x_143 = x_143_phi;
x_139_phi = x_140;
x_142_phi = x_143;
}
}
let x_188 : bool = x_188_phi;
if (x_188) {
break;
}
}
}
continuing {
x_120 = (x_119 + 1);
x_119_phi = x_120;
}
}
var x_193 : bool;
var x_240 : bool;
var x_193_phi : bool;
var x_196_phi : i32;
var x_242_phi : bool;
switch(0u) {
default: {
x_193_phi = false;
x_196_phi = 0;
loop {
var x_221 : i32;
var x_213 : i32;
var x_194 : bool;
var x_197 : i32;
var x_194_phi : bool;
var x_197_phi : i32;
x_193 = x_193_phi;
let x_196 : i32 = x_196_phi;
x_242_phi = x_193;
if ((x_196 <= 3)) {
} else {
break;
}
let x_202 : i32 = tree[x_196].data;
if ((15 <= x_202)) {
var x_240_phi : bool;
let x_215 : ptr<function, i32> = &(tree[x_196].leftIndex);
let x_216 : i32 = *(x_215);
if ((x_216 == -1)) {
let x_223 : f32 = x_8.injectionSwitch.y;
let x_225 : f32 = x_8.injectionSwitch.x;
if ((x_223 < x_225)) {
loop {
discard;
}
return;
}
*(x_215) = 3;
tree[3] = BST(15, -1, -1);
loop {
x_240_phi = x_193;
if ((0 < i32(x_223))) {
} else {
break;
}
x_240_phi = true;
break;
}
x_240 = x_240_phi;
x_242_phi = x_240;
if (x_240) {
break;
}
} else {
x_221 = *(x_215);
x_194_phi = x_193;
x_197_phi = x_221;
continue;
}
} else {
let x_207 : ptr<function, i32> = &(tree[x_196].rightIndex);
let x_208 : i32 = *(x_207);
if ((x_208 == -1)) {
*(x_207) = 3;
tree[3] = BST(15, -1, -1);
x_242_phi = true;
break;
} else {
x_213 = *(x_207);
x_194_phi = x_193;
x_197_phi = x_213;
continue;
}
return;
}
x_194_phi = x_240;
x_197_phi = x_196;
continuing {
x_194 = x_194_phi;
x_197 = x_197_phi;
x_193_phi = x_194;
x_196_phi = x_197;
}
}
let x_242 : bool = x_242_phi;
if (x_242) {
break;
}
}
}
var x_247 : bool;
var x_294 : bool;
var x_247_phi : bool;
var x_250_phi : i32;
var x_296_phi : bool;
switch(0u) {
default: {
x_247_phi = false;
x_250_phi = 0;
loop {
var x_275 : i32;
var x_267 : i32;
var x_248 : bool;
var x_251 : i32;
var x_248_phi : bool;
var x_251_phi : i32;
x_247 = x_247_phi;
let x_250 : i32 = x_250_phi;
x_296_phi = x_247;
if ((x_250 <= 4)) {
} else {
break;
}
let x_256 : i32 = tree[x_250].data;
if ((7 <= x_256)) {
var x_294_phi : bool;
let x_269 : ptr<function, i32> = &(tree[x_250].leftIndex);
let x_270 : i32 = *(x_269);
if ((x_270 == -1)) {
let x_277 : f32 = x_8.injectionSwitch.y;
let x_279 : f32 = x_8.injectionSwitch.x;
if ((x_277 < x_279)) {
loop {
discard;
}
return;
}
*(x_269) = 4;
tree[4] = BST(7, -1, -1);
loop {
x_294_phi = x_247;
if ((0 < i32(x_277))) {
} else {
break;
}
x_294_phi = true;
break;
}
x_294 = x_294_phi;
x_296_phi = x_294;
if (x_294) {
break;
}
} else {
x_275 = *(x_269);
x_248_phi = x_247;
x_251_phi = x_275;
continue;
}
} else {
let x_261 : ptr<function, i32> = &(tree[x_250].rightIndex);
let x_262 : i32 = *(x_261);
if ((x_262 == -1)) {
*(x_261) = 4;
tree[4] = BST(7, -1, -1);
x_296_phi = true;
break;
} else {
x_267 = *(x_261);
x_248_phi = x_247;
x_251_phi = x_267;
continue;
}
return;
}
x_248_phi = x_294;
x_251_phi = x_250;
continuing {
x_248 = x_248_phi;
x_251 = x_251_phi;
x_247_phi = x_248;
x_250_phi = x_251;
}
}
let x_296 : bool = x_296_phi;
if (x_296) {
break;
}
}
}
var x_301 : bool;
var x_348 : bool;
var x_301_phi : bool;
var x_304_phi : i32;
var x_350_phi : bool;
switch(0u) {
default: {
x_301_phi = false;
x_304_phi = 0;
loop {
var x_329 : i32;
var x_321 : i32;
var x_302 : bool;
var x_305 : i32;
var x_302_phi : bool;
var x_305_phi : i32;
x_301 = x_301_phi;
let x_304 : i32 = x_304_phi;
x_350_phi = x_301;
if ((x_304 <= 5)) {
} else {
break;
}
let x_310 : i32 = tree[x_304].data;
if ((8 <= x_310)) {
var x_348_phi : bool;
let x_323 : ptr<function, i32> = &(tree[x_304].leftIndex);
let x_324 : i32 = *(x_323);
if ((x_324 == -1)) {
let x_331 : f32 = x_8.injectionSwitch.y;
let x_333 : f32 = x_8.injectionSwitch.x;
if ((x_331 < x_333)) {
loop {
discard;
}
return;
}
*(x_323) = 5;
tree[5] = BST(8, -1, -1);
loop {
x_348_phi = x_301;
if ((0 < i32(x_331))) {
} else {
break;
}
x_348_phi = true;
break;
}
x_348 = x_348_phi;
x_350_phi = x_348;
if (x_348) {
break;
}
} else {
x_329 = *(x_323);
x_302_phi = x_301;
x_305_phi = x_329;
continue;
}
} else {
let x_315 : ptr<function, i32> = &(tree[x_304].rightIndex);
let x_316 : i32 = *(x_315);
if ((x_316 == -1)) {
*(x_315) = 5;
tree[5] = BST(8, -1, -1);
x_350_phi = true;
break;
} else {
x_321 = *(x_315);
x_302_phi = x_301;
x_305_phi = x_321;
continue;
}
return;
}
x_302_phi = x_348;
x_305_phi = x_304;
continuing {
x_302 = x_302_phi;
x_305 = x_305_phi;
x_301_phi = x_302;
x_304_phi = x_305;
}
}
let x_350 : bool = x_350_phi;
if (x_350) {
break;
}
}
}
var x_355 : bool;
var x_402 : bool;
var x_355_phi : bool;
var x_358_phi : i32;
var x_404_phi : bool;
switch(0u) {
default: {
x_355_phi = false;
x_358_phi = 0;
loop {
var x_383 : i32;
var x_375 : i32;
var x_356 : bool;
var x_359 : i32;
var x_356_phi : bool;
var x_359_phi : i32;
x_355 = x_355_phi;
let x_358 : i32 = x_358_phi;
x_404_phi = x_355;
if ((x_358 <= 6)) {
} else {
break;
}
let x_364 : i32 = tree[x_358].data;
if ((2 <= x_364)) {
var x_402_phi : bool;
let x_377 : ptr<function, i32> = &(tree[x_358].leftIndex);
let x_378 : i32 = *(x_377);
if ((x_378 == -1)) {
let x_385 : f32 = x_8.injectionSwitch.y;
let x_387 : f32 = x_8.injectionSwitch.x;
if ((x_385 < x_387)) {
loop {
discard;
}
return;
}
*(x_377) = 6;
tree[6] = BST(2, -1, -1);
loop {
x_402_phi = x_355;
if ((0 < i32(x_385))) {
} else {
break;
}
x_402_phi = true;
break;
}
x_402 = x_402_phi;
x_404_phi = x_402;
if (x_402) {
break;
}
} else {
x_383 = *(x_377);
x_356_phi = x_355;
x_359_phi = x_383;
continue;
}
} else {
let x_369 : ptr<function, i32> = &(tree[x_358].rightIndex);
let x_370 : i32 = *(x_369);
if ((x_370 == -1)) {
*(x_369) = 6;
tree[6] = BST(2, -1, -1);
x_404_phi = true;
break;
} else {
x_375 = *(x_369);
x_356_phi = x_355;
x_359_phi = x_375;
continue;
}
return;
}
x_356_phi = x_402;
x_359_phi = x_358;
continuing {
x_356 = x_356_phi;
x_359 = x_359_phi;
x_355_phi = x_356;
x_358_phi = x_359;
}
}
let x_404 : bool = x_404_phi;
if (x_404) {
break;
}
}
}
var x_409 : bool;
var x_456 : bool;
var x_409_phi : bool;
var x_412_phi : i32;
var x_458_phi : bool;
switch(0u) {
default: {
x_409_phi = false;
x_412_phi = 0;
loop {
var x_437 : i32;
var x_429 : i32;
var x_410 : bool;
var x_413 : i32;
var x_410_phi : bool;
var x_413_phi : i32;
x_409 = x_409_phi;
let x_412 : i32 = x_412_phi;
x_458_phi = x_409;
if ((x_412 <= 7)) {
} else {
break;
}
let x_418 : i32 = tree[x_412].data;
if ((6 <= x_418)) {
var x_456_phi : bool;
let x_431 : ptr<function, i32> = &(tree[x_412].leftIndex);
let x_432 : i32 = *(x_431);
if ((x_432 == -1)) {
let x_439 : f32 = x_8.injectionSwitch.y;
let x_441 : f32 = x_8.injectionSwitch.x;
if ((x_439 < x_441)) {
loop {
discard;
}
return;
}
*(x_431) = 7;
tree[7] = BST(6, -1, -1);
loop {
x_456_phi = x_409;
if ((0 < i32(x_439))) {
} else {
break;
}
x_456_phi = true;
break;
}
x_456 = x_456_phi;
x_458_phi = x_456;
if (x_456) {
break;
}
} else {
x_437 = *(x_431);
x_410_phi = x_409;
x_413_phi = x_437;
continue;
}
} else {
let x_423 : ptr<function, i32> = &(tree[x_412].rightIndex);
let x_424 : i32 = *(x_423);
if ((x_424 == -1)) {
*(x_423) = 7;
tree[7] = BST(6, -1, -1);
x_458_phi = true;
break;
} else {
x_429 = *(x_423);
x_410_phi = x_409;
x_413_phi = x_429;
continue;
}
return;
}
x_410_phi = x_456;
x_413_phi = x_412;
continuing {
x_410 = x_410_phi;
x_413 = x_413_phi;
x_409_phi = x_410;
x_412_phi = x_413;
}
}
let x_458 : bool = x_458_phi;
if (x_458) {
break;
}
}
}
var x_463 : bool;
var x_510 : bool;
var x_463_phi : bool;
var x_466_phi : i32;
var x_512_phi : bool;
switch(0u) {
default: {
x_463_phi = false;
x_466_phi = 0;
loop {
var x_491 : i32;
var x_483 : i32;
var x_464 : bool;
var x_467 : i32;
var x_464_phi : bool;
var x_467_phi : i32;
x_463 = x_463_phi;
let x_466 : i32 = x_466_phi;
x_512_phi = x_463;
if ((x_466 <= 8)) {
} else {
break;
}
let x_472 : i32 = tree[x_466].data;
if ((17 <= x_472)) {
var x_510_phi : bool;
let x_485 : ptr<function, i32> = &(tree[x_466].leftIndex);
let x_486 : i32 = *(x_485);
if ((x_486 == -1)) {
let x_493 : f32 = x_8.injectionSwitch.y;
let x_495 : f32 = x_8.injectionSwitch.x;
if ((x_493 < x_495)) {
loop {
discard;
}
return;
}
*(x_485) = 8;
tree[8] = BST(17, -1, -1);
loop {
x_510_phi = x_463;
if ((0 < i32(x_493))) {
} else {
break;
}
x_510_phi = true;
break;
}
x_510 = x_510_phi;
x_512_phi = x_510;
if (x_510) {
break;
}
} else {
x_491 = *(x_485);
x_464_phi = x_463;
x_467_phi = x_491;
continue;
}
} else {
let x_477 : ptr<function, i32> = &(tree[x_466].rightIndex);
let x_478 : i32 = *(x_477);
if ((x_478 == -1)) {
*(x_477) = 8;
tree[8] = BST(17, -1, -1);
x_512_phi = true;
break;
} else {
x_483 = *(x_477);
x_464_phi = x_463;
x_467_phi = x_483;
continue;
}
return;
}
x_464_phi = x_510;
x_467_phi = x_466;
continuing {
x_464 = x_464_phi;
x_467 = x_467_phi;
x_463_phi = x_464;
x_466_phi = x_467;
}
}
let x_512 : bool = x_512_phi;
if (x_512) {
break;
}
}
}
var x_517 : bool;
var x_564 : bool;
var x_517_phi : bool;
var x_520_phi : i32;
var x_566_phi : bool;
switch(0u) {
default: {
x_517_phi = false;
x_520_phi = 0;
loop {
var x_545 : i32;
var x_537 : i32;
var x_518 : bool;
var x_521 : i32;
var x_518_phi : bool;
var x_521_phi : i32;
x_517 = x_517_phi;
let x_520 : i32 = x_520_phi;
x_566_phi = x_517;
if ((x_520 <= 9)) {
} else {
break;
}
let x_526 : i32 = tree[x_520].data;
if ((13 <= x_526)) {
var x_564_phi : bool;
let x_539 : ptr<function, i32> = &(tree[x_520].leftIndex);
let x_540 : i32 = *(x_539);
if ((x_540 == -1)) {
let x_547 : f32 = x_8.injectionSwitch.y;
let x_549 : f32 = x_8.injectionSwitch.x;
if ((x_547 < x_549)) {
loop {
discard;
}
return;
}
*(x_539) = 9;
tree[9] = BST(13, -1, -1);
loop {
x_564_phi = x_517;
if ((0 < i32(x_547))) {
} else {
break;
}
x_564_phi = true;
break;
}
x_564 = x_564_phi;
x_566_phi = x_564;
if (x_564) {
break;
}
} else {
x_545 = *(x_539);
x_518_phi = x_517;
x_521_phi = x_545;
continue;
}
} else {
let x_531 : ptr<function, i32> = &(tree[x_520].rightIndex);
let x_532 : i32 = *(x_531);
if ((x_532 == -1)) {
*(x_531) = 9;
tree[9] = BST(13, -1, -1);
x_566_phi = true;
break;
} else {
x_537 = *(x_531);
x_518_phi = x_517;
x_521_phi = x_537;
continue;
}
return;
}
x_518_phi = x_564;
x_521_phi = x_520;
continuing {
x_518 = x_518_phi;
x_521 = x_521_phi;
x_517_phi = x_518;
x_520_phi = x_521;
}
}
let x_566 : bool = x_566_phi;
if (x_566) {
break;
}
}
}
x_569_phi = 0;
x_572_phi = 0;
x_574_phi = 0;
loop {
var x_597 : i32;
var x_607 : i32;
var x_612 : i32;
var x_575 : i32;
var x_570_phi : i32;
var x_573_phi : i32;
let x_569 : i32 = x_569_phi;
x_572 = x_572_phi;
let x_574 : i32 = x_574_phi;
if ((x_574 < 20)) {
} else {
break;
}
var x_582_phi : i32;
var x_597_phi : i32;
var x_598_phi : bool;
switch(0u) {
default: {
x_582_phi = 0;
loop {
let x_582 : i32 = x_582_phi;
x_597_phi = x_569;
x_598_phi = false;
if ((x_582 != -1)) {
} else {
break;
}
let x_589 : BST = tree[x_582];
let x_590 : i32 = x_589.data;
let x_591 : i32 = x_589.leftIndex;
let x_592 : i32 = x_589.rightIndex;
if ((x_590 == x_574)) {
x_597_phi = x_574;
x_598_phi = true;
break;
}
continuing {
x_582_phi = select(x_591, x_592, (x_574 > x_590));
}
}
x_597 = x_597_phi;
let x_598 : bool = x_598_phi;
x_570_phi = x_597;
if (x_598) {
break;
}
x_570_phi = -1;
}
}
var x_570 : i32;
var x_606 : i32;
var x_611 : i32;
var x_607_phi : i32;
var x_612_phi : i32;
x_570 = x_570_phi;
switch(x_574) {
case 2, 5, 6, 7, 8, 9, 12, 13, 15, 17: {
x_607_phi = x_572;
if ((x_570 == bitcast<i32>(x_574))) {
x_606 = bitcast<i32>((x_572 + bitcast<i32>(1)));
x_607_phi = x_606;
}
x_607 = x_607_phi;
x_573_phi = x_607;
}
default: {
x_612_phi = x_572;
if ((x_570 == bitcast<i32>(-1))) {
x_611 = bitcast<i32>((x_572 + bitcast<i32>(1)));
x_612_phi = x_611;
}
x_612 = x_612_phi;
x_573_phi = x_612;
}
}
let x_573 : i32 = x_573_phi;
continuing {
x_575 = (x_574 + 1);
x_569_phi = x_570;
x_572_phi = x_573;
x_574_phi = x_575;
}
}
if ((x_572 == bitcast<i32>(20))) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 0.0, 1.0, 1.0);
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out {
gl_FragCoord = gl_FragCoord_param;
main_1();
return main_out(x_GLF_color);
}

View File

@@ -0,0 +1,977 @@
struct BST {
data : i32;
leftIndex : i32;
rightIndex : i32;
};
[[block]]
struct buf0 {
injectionSwitch : vec2<f32>;
};
[[group(0), binding(0)]] var<uniform> x_8 : buf0;
var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var tree : array<BST, 10>;
var x_67 : bool;
var x_114 : bool;
var x_572 : i32;
var x_67_phi : bool;
var x_70_phi : i32;
var x_116_phi : bool;
var x_119_phi : i32;
var x_569_phi : i32;
var x_572_phi : i32;
var x_574_phi : i32;
tree[0] = BST(9, -1, -1);
switch(0u) {
default: {
x_67_phi = false;
x_70_phi = 0;
loop {
var x_95 : i32;
var x_87 : i32;
var x_68 : bool;
var x_71 : i32;
var x_68_phi : bool;
var x_71_phi : i32;
x_67 = x_67_phi;
let x_70 : i32 = x_70_phi;
x_116_phi = x_67;
if ((x_70 <= 1)) {
} else {
break;
}
let x_76 : i32 = tree[x_70].data;
if ((5 <= x_76)) {
var x_114_phi : bool;
let x_89 : ptr<function, i32> = &(tree[x_70].leftIndex);
let x_90 : i32 = *(x_89);
if ((x_90 == -1)) {
let x_97 : f32 = x_8.injectionSwitch.y;
let x_99 : f32 = x_8.injectionSwitch.x;
if ((x_97 < x_99)) {
loop {
discard;
}
return;
}
*(x_89) = 1;
tree[1] = BST(5, -1, -1);
loop {
x_114_phi = x_67;
if ((0 < i32(x_97))) {
} else {
break;
}
x_114_phi = true;
break;
}
x_114 = x_114_phi;
x_116_phi = x_114;
if (x_114) {
break;
}
} else {
x_95 = *(x_89);
x_68_phi = x_67;
x_71_phi = x_95;
continue;
}
} else {
let x_81 : ptr<function, i32> = &(tree[x_70].rightIndex);
let x_82 : i32 = *(x_81);
if ((x_82 == -1)) {
*(x_81) = 1;
tree[1] = BST(5, -1, -1);
x_116_phi = true;
break;
} else {
x_87 = *(x_81);
x_68_phi = x_67;
x_71_phi = x_87;
continue;
}
return;
}
x_68_phi = x_114;
x_71_phi = x_70;
continuing {
x_68 = x_68_phi;
x_71 = x_71_phi;
x_67_phi = x_68;
x_70_phi = x_71;
}
}
let x_116 : bool = x_116_phi;
if (x_116) {
break;
}
}
}
x_119_phi = 0;
loop {
var x_133 : bool;
var x_120 : i32;
var x_134_phi : bool;
let x_119 : i32 = x_119_phi;
let x_125 : f32 = gl_FragCoord.y;
let x_126 : bool = (x_125 < 0.0);
x_134_phi = x_126;
if (!(x_126)) {
let x_131 : f32 = x_8.injectionSwitch.y;
x_133 = (x_119 != i32(x_131));
x_134_phi = x_133;
}
let x_134 : bool = x_134_phi;
if (x_134) {
} else {
break;
}
var x_139 : bool;
var x_186 : bool;
var x_139_phi : bool;
var x_142_phi : i32;
var x_188_phi : bool;
switch(0u) {
default: {
x_139_phi = false;
x_142_phi = 0;
loop {
var x_167 : i32;
var x_159 : i32;
var x_140 : bool;
var x_143 : i32;
var x_140_phi : bool;
var x_143_phi : i32;
x_139 = x_139_phi;
let x_142 : i32 = x_142_phi;
x_188_phi = x_139;
if ((x_142 <= 2)) {
} else {
break;
}
let x_148 : i32 = tree[x_142].data;
if ((12 <= x_148)) {
var x_186_phi : bool;
let x_161 : ptr<function, i32> = &(tree[x_142].leftIndex);
let x_162 : i32 = *(x_161);
if ((x_162 == -1)) {
let x_169 : f32 = x_8.injectionSwitch.y;
let x_171 : f32 = x_8.injectionSwitch.x;
if ((x_169 < x_171)) {
loop {
discard;
}
return;
}
*(x_161) = 2;
tree[2] = BST(12, -1, -1);
loop {
x_186_phi = x_139;
if ((0 < i32(x_169))) {
} else {
break;
}
x_186_phi = true;
break;
}
x_186 = x_186_phi;
x_188_phi = x_186;
if (x_186) {
break;
}
} else {
x_167 = *(x_161);
x_140_phi = x_139;
x_143_phi = x_167;
continue;
}
} else {
let x_153 : ptr<function, i32> = &(tree[x_142].rightIndex);
let x_154 : i32 = *(x_153);
if ((x_154 == -1)) {
*(x_153) = 2;
tree[2] = BST(12, -1, -1);
x_188_phi = true;
break;
} else {
x_159 = *(x_153);
x_140_phi = x_139;
x_143_phi = x_159;
continue;
}
return;
}
x_140_phi = x_186;
x_143_phi = x_142;
continuing {
x_140 = x_140_phi;
x_143 = x_143_phi;
x_139_phi = x_140;
x_142_phi = x_143;
}
}
let x_188 : bool = x_188_phi;
if (x_188) {
break;
}
}
}
continuing {
x_120 = (x_119 + 1);
x_119_phi = x_120;
}
}
var x_193 : bool;
var x_240 : bool;
var x_193_phi : bool;
var x_196_phi : i32;
var x_242_phi : bool;
switch(0u) {
default: {
x_193_phi = false;
x_196_phi = 0;
loop {
var x_221 : i32;
var x_213 : i32;
var x_194 : bool;
var x_197 : i32;
var x_194_phi : bool;
var x_197_phi : i32;
x_193 = x_193_phi;
let x_196 : i32 = x_196_phi;
x_242_phi = x_193;
if ((x_196 <= 3)) {
} else {
break;
}
let x_202 : i32 = tree[x_196].data;
if ((15 <= x_202)) {
var x_240_phi : bool;
let x_215 : ptr<function, i32> = &(tree[x_196].leftIndex);
let x_216 : i32 = *(x_215);
if ((x_216 == -1)) {
let x_223 : f32 = x_8.injectionSwitch.y;
let x_225 : f32 = x_8.injectionSwitch.x;
if ((x_223 < x_225)) {
loop {
discard;
}
return;
}
*(x_215) = 3;
tree[3] = BST(15, -1, -1);
loop {
x_240_phi = x_193;
if ((0 < i32(x_223))) {
} else {
break;
}
x_240_phi = true;
break;
}
x_240 = x_240_phi;
x_242_phi = x_240;
if (x_240) {
break;
}
} else {
x_221 = *(x_215);
x_194_phi = x_193;
x_197_phi = x_221;
continue;
}
} else {
let x_207 : ptr<function, i32> = &(tree[x_196].rightIndex);
let x_208 : i32 = *(x_207);
if ((x_208 == -1)) {
*(x_207) = 3;
tree[3] = BST(15, -1, -1);
x_242_phi = true;
break;
} else {
x_213 = *(x_207);
x_194_phi = x_193;
x_197_phi = x_213;
continue;
}
return;
}
x_194_phi = x_240;
x_197_phi = x_196;
continuing {
x_194 = x_194_phi;
x_197 = x_197_phi;
x_193_phi = x_194;
x_196_phi = x_197;
}
}
let x_242 : bool = x_242_phi;
if (x_242) {
break;
}
}
}
var x_247 : bool;
var x_294 : bool;
var x_247_phi : bool;
var x_250_phi : i32;
var x_296_phi : bool;
switch(0u) {
default: {
x_247_phi = false;
x_250_phi = 0;
loop {
var x_275 : i32;
var x_267 : i32;
var x_248 : bool;
var x_251 : i32;
var x_248_phi : bool;
var x_251_phi : i32;
x_247 = x_247_phi;
let x_250 : i32 = x_250_phi;
x_296_phi = x_247;
if ((x_250 <= 4)) {
} else {
break;
}
let x_256 : i32 = tree[x_250].data;
if ((7 <= x_256)) {
var x_294_phi : bool;
let x_269 : ptr<function, i32> = &(tree[x_250].leftIndex);
let x_270 : i32 = *(x_269);
if ((x_270 == -1)) {
let x_277 : f32 = x_8.injectionSwitch.y;
let x_279 : f32 = x_8.injectionSwitch.x;
if ((x_277 < x_279)) {
loop {
discard;
}
return;
}
*(x_269) = 4;
tree[4] = BST(7, -1, -1);
loop {
x_294_phi = x_247;
if ((0 < i32(x_277))) {
} else {
break;
}
x_294_phi = true;
break;
}
x_294 = x_294_phi;
x_296_phi = x_294;
if (x_294) {
break;
}
} else {
x_275 = *(x_269);
x_248_phi = x_247;
x_251_phi = x_275;
continue;
}
} else {
let x_261 : ptr<function, i32> = &(tree[x_250].rightIndex);
let x_262 : i32 = *(x_261);
if ((x_262 == -1)) {
*(x_261) = 4;
tree[4] = BST(7, -1, -1);
x_296_phi = true;
break;
} else {
x_267 = *(x_261);
x_248_phi = x_247;
x_251_phi = x_267;
continue;
}
return;
}
x_248_phi = x_294;
x_251_phi = x_250;
continuing {
x_248 = x_248_phi;
x_251 = x_251_phi;
x_247_phi = x_248;
x_250_phi = x_251;
}
}
let x_296 : bool = x_296_phi;
if (x_296) {
break;
}
}
}
var x_301 : bool;
var x_348 : bool;
var x_301_phi : bool;
var x_304_phi : i32;
var x_350_phi : bool;
switch(0u) {
default: {
x_301_phi = false;
x_304_phi = 0;
loop {
var x_329 : i32;
var x_321 : i32;
var x_302 : bool;
var x_305 : i32;
var x_302_phi : bool;
var x_305_phi : i32;
x_301 = x_301_phi;
let x_304 : i32 = x_304_phi;
x_350_phi = x_301;
if ((x_304 <= 5)) {
} else {
break;
}
let x_310 : i32 = tree[x_304].data;
if ((8 <= x_310)) {
var x_348_phi : bool;
let x_323 : ptr<function, i32> = &(tree[x_304].leftIndex);
let x_324 : i32 = *(x_323);
if ((x_324 == -1)) {
let x_331 : f32 = x_8.injectionSwitch.y;
let x_333 : f32 = x_8.injectionSwitch.x;
if ((x_331 < x_333)) {
loop {
discard;
}
return;
}
*(x_323) = 5;
tree[5] = BST(8, -1, -1);
loop {
x_348_phi = x_301;
if ((0 < i32(x_331))) {
} else {
break;
}
x_348_phi = true;
break;
}
x_348 = x_348_phi;
x_350_phi = x_348;
if (x_348) {
break;
}
} else {
x_329 = *(x_323);
x_302_phi = x_301;
x_305_phi = x_329;
continue;
}
} else {
let x_315 : ptr<function, i32> = &(tree[x_304].rightIndex);
let x_316 : i32 = *(x_315);
if ((x_316 == -1)) {
*(x_315) = 5;
tree[5] = BST(8, -1, -1);
x_350_phi = true;
break;
} else {
x_321 = *(x_315);
x_302_phi = x_301;
x_305_phi = x_321;
continue;
}
return;
}
x_302_phi = x_348;
x_305_phi = x_304;
continuing {
x_302 = x_302_phi;
x_305 = x_305_phi;
x_301_phi = x_302;
x_304_phi = x_305;
}
}
let x_350 : bool = x_350_phi;
if (x_350) {
break;
}
}
}
var x_355 : bool;
var x_402 : bool;
var x_355_phi : bool;
var x_358_phi : i32;
var x_404_phi : bool;
switch(0u) {
default: {
x_355_phi = false;
x_358_phi = 0;
loop {
var x_383 : i32;
var x_375 : i32;
var x_356 : bool;
var x_359 : i32;
var x_356_phi : bool;
var x_359_phi : i32;
x_355 = x_355_phi;
let x_358 : i32 = x_358_phi;
x_404_phi = x_355;
if ((x_358 <= 6)) {
} else {
break;
}
let x_364 : i32 = tree[x_358].data;
if ((2 <= x_364)) {
var x_402_phi : bool;
let x_377 : ptr<function, i32> = &(tree[x_358].leftIndex);
let x_378 : i32 = *(x_377);
if ((x_378 == -1)) {
let x_385 : f32 = x_8.injectionSwitch.y;
let x_387 : f32 = x_8.injectionSwitch.x;
if ((x_385 < x_387)) {
loop {
discard;
}
return;
}
*(x_377) = 6;
tree[6] = BST(2, -1, -1);
loop {
x_402_phi = x_355;
if ((0 < i32(x_385))) {
} else {
break;
}
x_402_phi = true;
break;
}
x_402 = x_402_phi;
x_404_phi = x_402;
if (x_402) {
break;
}
} else {
x_383 = *(x_377);
x_356_phi = x_355;
x_359_phi = x_383;
continue;
}
} else {
let x_369 : ptr<function, i32> = &(tree[x_358].rightIndex);
let x_370 : i32 = *(x_369);
if ((x_370 == -1)) {
*(x_369) = 6;
tree[6] = BST(2, -1, -1);
x_404_phi = true;
break;
} else {
x_375 = *(x_369);
x_356_phi = x_355;
x_359_phi = x_375;
continue;
}
return;
}
x_356_phi = x_402;
x_359_phi = x_358;
continuing {
x_356 = x_356_phi;
x_359 = x_359_phi;
x_355_phi = x_356;
x_358_phi = x_359;
}
}
let x_404 : bool = x_404_phi;
if (x_404) {
break;
}
}
}
var x_409 : bool;
var x_456 : bool;
var x_409_phi : bool;
var x_412_phi : i32;
var x_458_phi : bool;
switch(0u) {
default: {
x_409_phi = false;
x_412_phi = 0;
loop {
var x_437 : i32;
var x_429 : i32;
var x_410 : bool;
var x_413 : i32;
var x_410_phi : bool;
var x_413_phi : i32;
x_409 = x_409_phi;
let x_412 : i32 = x_412_phi;
x_458_phi = x_409;
if ((x_412 <= 7)) {
} else {
break;
}
let x_418 : i32 = tree[x_412].data;
if ((6 <= x_418)) {
var x_456_phi : bool;
let x_431 : ptr<function, i32> = &(tree[x_412].leftIndex);
let x_432 : i32 = *(x_431);
if ((x_432 == -1)) {
let x_439 : f32 = x_8.injectionSwitch.y;
let x_441 : f32 = x_8.injectionSwitch.x;
if ((x_439 < x_441)) {
loop {
discard;
}
return;
}
*(x_431) = 7;
tree[7] = BST(6, -1, -1);
loop {
x_456_phi = x_409;
if ((0 < i32(x_439))) {
} else {
break;
}
x_456_phi = true;
break;
}
x_456 = x_456_phi;
x_458_phi = x_456;
if (x_456) {
break;
}
} else {
x_437 = *(x_431);
x_410_phi = x_409;
x_413_phi = x_437;
continue;
}
} else {
let x_423 : ptr<function, i32> = &(tree[x_412].rightIndex);
let x_424 : i32 = *(x_423);
if ((x_424 == -1)) {
*(x_423) = 7;
tree[7] = BST(6, -1, -1);
x_458_phi = true;
break;
} else {
x_429 = *(x_423);
x_410_phi = x_409;
x_413_phi = x_429;
continue;
}
return;
}
x_410_phi = x_456;
x_413_phi = x_412;
continuing {
x_410 = x_410_phi;
x_413 = x_413_phi;
x_409_phi = x_410;
x_412_phi = x_413;
}
}
let x_458 : bool = x_458_phi;
if (x_458) {
break;
}
}
}
var x_463 : bool;
var x_510 : bool;
var x_463_phi : bool;
var x_466_phi : i32;
var x_512_phi : bool;
switch(0u) {
default: {
x_463_phi = false;
x_466_phi = 0;
loop {
var x_491 : i32;
var x_483 : i32;
var x_464 : bool;
var x_467 : i32;
var x_464_phi : bool;
var x_467_phi : i32;
x_463 = x_463_phi;
let x_466 : i32 = x_466_phi;
x_512_phi = x_463;
if ((x_466 <= 8)) {
} else {
break;
}
let x_472 : i32 = tree[x_466].data;
if ((17 <= x_472)) {
var x_510_phi : bool;
let x_485 : ptr<function, i32> = &(tree[x_466].leftIndex);
let x_486 : i32 = *(x_485);
if ((x_486 == -1)) {
let x_493 : f32 = x_8.injectionSwitch.y;
let x_495 : f32 = x_8.injectionSwitch.x;
if ((x_493 < x_495)) {
loop {
discard;
}
return;
}
*(x_485) = 8;
tree[8] = BST(17, -1, -1);
loop {
x_510_phi = x_463;
if ((0 < i32(x_493))) {
} else {
break;
}
x_510_phi = true;
break;
}
x_510 = x_510_phi;
x_512_phi = x_510;
if (x_510) {
break;
}
} else {
x_491 = *(x_485);
x_464_phi = x_463;
x_467_phi = x_491;
continue;
}
} else {
let x_477 : ptr<function, i32> = &(tree[x_466].rightIndex);
let x_478 : i32 = *(x_477);
if ((x_478 == -1)) {
*(x_477) = 8;
tree[8] = BST(17, -1, -1);
x_512_phi = true;
break;
} else {
x_483 = *(x_477);
x_464_phi = x_463;
x_467_phi = x_483;
continue;
}
return;
}
x_464_phi = x_510;
x_467_phi = x_466;
continuing {
x_464 = x_464_phi;
x_467 = x_467_phi;
x_463_phi = x_464;
x_466_phi = x_467;
}
}
let x_512 : bool = x_512_phi;
if (x_512) {
break;
}
}
}
var x_517 : bool;
var x_564 : bool;
var x_517_phi : bool;
var x_520_phi : i32;
var x_566_phi : bool;
switch(0u) {
default: {
x_517_phi = false;
x_520_phi = 0;
loop {
var x_545 : i32;
var x_537 : i32;
var x_518 : bool;
var x_521 : i32;
var x_518_phi : bool;
var x_521_phi : i32;
x_517 = x_517_phi;
let x_520 : i32 = x_520_phi;
x_566_phi = x_517;
if ((x_520 <= 9)) {
} else {
break;
}
let x_526 : i32 = tree[x_520].data;
if ((13 <= x_526)) {
var x_564_phi : bool;
let x_539 : ptr<function, i32> = &(tree[x_520].leftIndex);
let x_540 : i32 = *(x_539);
if ((x_540 == -1)) {
let x_547 : f32 = x_8.injectionSwitch.y;
let x_549 : f32 = x_8.injectionSwitch.x;
if ((x_547 < x_549)) {
loop {
discard;
}
return;
}
*(x_539) = 9;
tree[9] = BST(13, -1, -1);
loop {
x_564_phi = x_517;
if ((0 < i32(x_547))) {
} else {
break;
}
x_564_phi = true;
break;
}
x_564 = x_564_phi;
x_566_phi = x_564;
if (x_564) {
break;
}
} else {
x_545 = *(x_539);
x_518_phi = x_517;
x_521_phi = x_545;
continue;
}
} else {
let x_531 : ptr<function, i32> = &(tree[x_520].rightIndex);
let x_532 : i32 = *(x_531);
if ((x_532 == -1)) {
*(x_531) = 9;
tree[9] = BST(13, -1, -1);
x_566_phi = true;
break;
} else {
x_537 = *(x_531);
x_518_phi = x_517;
x_521_phi = x_537;
continue;
}
return;
}
x_518_phi = x_564;
x_521_phi = x_520;
continuing {
x_518 = x_518_phi;
x_521 = x_521_phi;
x_517_phi = x_518;
x_520_phi = x_521;
}
}
let x_566 : bool = x_566_phi;
if (x_566) {
break;
}
}
}
x_569_phi = 0;
x_572_phi = 0;
x_574_phi = 0;
loop {
var x_597 : i32;
var x_607 : i32;
var x_612 : i32;
var x_575 : i32;
var x_570_phi : i32;
var x_573_phi : i32;
let x_569 : i32 = x_569_phi;
x_572 = x_572_phi;
let x_574 : i32 = x_574_phi;
if ((x_574 < 20)) {
} else {
break;
}
var x_582_phi : i32;
var x_597_phi : i32;
var x_598_phi : bool;
switch(0u) {
default: {
x_582_phi = 0;
loop {
let x_582 : i32 = x_582_phi;
x_597_phi = x_569;
x_598_phi = false;
if ((x_582 != -1)) {
} else {
break;
}
let x_589 : BST = tree[x_582];
let x_590 : i32 = x_589.data;
let x_591 : i32 = x_589.leftIndex;
let x_592 : i32 = x_589.rightIndex;
if ((x_590 == x_574)) {
x_597_phi = x_574;
x_598_phi = true;
break;
}
continuing {
x_582_phi = select(x_591, x_592, (x_574 > x_590));
}
}
x_597 = x_597_phi;
let x_598 : bool = x_598_phi;
x_570_phi = x_597;
if (x_598) {
break;
}
x_570_phi = -1;
}
}
var x_570 : i32;
var x_606 : i32;
var x_611 : i32;
var x_607_phi : i32;
var x_612_phi : i32;
x_570 = x_570_phi;
switch(x_574) {
case 2, 5, 6, 7, 8, 9, 12, 13, 15, 17: {
x_607_phi = x_572;
if ((x_570 == bitcast<i32>(x_574))) {
x_606 = bitcast<i32>((x_572 + bitcast<i32>(1)));
x_607_phi = x_606;
}
x_607 = x_607_phi;
x_573_phi = x_607;
}
default: {
x_612_phi = x_572;
if ((x_570 == bitcast<i32>(-1))) {
x_611 = bitcast<i32>((x_572 + bitcast<i32>(1)));
x_612_phi = x_611;
}
x_612 = x_612_phi;
x_573_phi = x_612;
}
}
let x_573 : i32 = x_573_phi;
continuing {
x_575 = (x_574 + 1);
x_569_phi = x_570;
x_572_phi = x_573;
x_574_phi = x_575;
}
}
if ((x_572 == bitcast<i32>(20))) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 0.0, 1.0, 1.0);
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out {
gl_FragCoord = gl_FragCoord_param;
main_1();
return main_out(x_GLF_color);
}