kumi 0.0.24 → 0.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/golden/array_element/expected/schema_ruby.rb +1 -1
- data/golden/array_index/expected/schema_ruby.rb +1 -1
- data/golden/array_operations/expected/schema_ruby.rb +1 -1
- data/golden/cascade_logic/expected/lir_02_inlined.txt +8 -8
- data/golden/cascade_logic/expected/schema_ruby.rb +1 -1
- data/golden/chained_fusion/expected/lir_02_inlined.txt +36 -36
- data/golden/chained_fusion/expected/lir_03_cse.txt +23 -23
- data/golden/chained_fusion/expected/lir_04_1_loop_fusion.txt +25 -25
- data/golden/chained_fusion/expected/lir_04_loop_invcm.txt +23 -23
- data/golden/chained_fusion/expected/lir_06_const_prop.txt +23 -23
- data/golden/chained_fusion/expected/schema_javascript.mjs +23 -23
- data/golden/chained_fusion/expected/schema_ruby.rb +28 -28
- data/golden/element_arrays/expected/schema_ruby.rb +1 -1
- data/golden/empty_and_null_inputs/expected/lir_02_inlined.txt +18 -18
- data/golden/empty_and_null_inputs/expected/lir_03_cse.txt +17 -17
- data/golden/empty_and_null_inputs/expected/lir_04_1_loop_fusion.txt +17 -17
- data/golden/empty_and_null_inputs/expected/lir_04_loop_invcm.txt +17 -17
- data/golden/empty_and_null_inputs/expected/lir_06_const_prop.txt +17 -17
- data/golden/empty_and_null_inputs/expected/schema_javascript.mjs +13 -13
- data/golden/empty_and_null_inputs/expected/schema_ruby.rb +18 -18
- data/golden/game_of_life/expected/lir_02_inlined.txt +1291 -1291
- data/golden/game_of_life/expected/lir_03_cse.txt +396 -396
- data/golden/game_of_life/expected/lir_04_1_loop_fusion.txt +396 -396
- data/golden/game_of_life/expected/lir_04_loop_invcm.txt +396 -396
- data/golden/game_of_life/expected/lir_06_const_prop.txt +396 -396
- data/golden/game_of_life/expected/schema_javascript.mjs +85 -85
- data/golden/game_of_life/expected/schema_ruby.rb +86 -86
- data/golden/hash_keys/expected/schema_ruby.rb +1 -1
- data/golden/hash_value/expected/schema_ruby.rb +1 -1
- data/golden/hierarchical_complex/expected/lir_02_inlined.txt +15 -15
- data/golden/hierarchical_complex/expected/lir_03_cse.txt +1 -1
- data/golden/hierarchical_complex/expected/lir_04_1_loop_fusion.txt +1 -1
- data/golden/hierarchical_complex/expected/lir_04_loop_invcm.txt +1 -1
- data/golden/hierarchical_complex/expected/lir_06_const_prop.txt +1 -1
- data/golden/hierarchical_complex/expected/schema_javascript.mjs +1 -1
- data/golden/hierarchical_complex/expected/schema_ruby.rb +2 -2
- data/golden/inline_rename_scope_leak/expected/schema_ruby.rb +1 -1
- data/golden/input_reference/expected/schema_ruby.rb +1 -1
- data/golden/interleaved_fusion/expected/lir_02_inlined.txt +35 -35
- data/golden/interleaved_fusion/expected/lir_03_cse.txt +26 -26
- data/golden/interleaved_fusion/expected/lir_04_1_loop_fusion.txt +27 -26
- data/golden/interleaved_fusion/expected/lir_04_loop_invcm.txt +26 -26
- data/golden/interleaved_fusion/expected/lir_06_const_prop.txt +26 -26
- data/golden/interleaved_fusion/expected/schema_javascript.mjs +23 -23
- data/golden/interleaved_fusion/expected/schema_ruby.rb +29 -29
- data/golden/let_inline/expected/schema_ruby.rb +1 -1
- data/golden/loop_fusion/expected/lir_02_inlined.txt +17 -17
- data/golden/loop_fusion/expected/lir_03_cse.txt +14 -14
- data/golden/loop_fusion/expected/lir_04_1_loop_fusion.txt +14 -14
- data/golden/loop_fusion/expected/lir_04_loop_invcm.txt +14 -14
- data/golden/loop_fusion/expected/lir_06_const_prop.txt +14 -14
- data/golden/loop_fusion/expected/schema_javascript.mjs +12 -12
- data/golden/loop_fusion/expected/schema_ruby.rb +16 -16
- data/golden/min_reduce_scope/expected/schema_ruby.rb +1 -1
- data/golden/mixed_dimensions/expected/lir_02_inlined.txt +5 -5
- data/golden/mixed_dimensions/expected/lir_03_cse.txt +5 -5
- data/golden/mixed_dimensions/expected/lir_04_1_loop_fusion.txt +5 -5
- data/golden/mixed_dimensions/expected/lir_04_loop_invcm.txt +5 -5
- data/golden/mixed_dimensions/expected/lir_06_const_prop.txt +5 -5
- data/golden/mixed_dimensions/expected/schema_javascript.mjs +3 -3
- data/golden/mixed_dimensions/expected/schema_ruby.rb +6 -6
- data/golden/multirank_hoisting/expected/lir_02_inlined.txt +48 -48
- data/golden/multirank_hoisting/expected/lir_03_cse.txt +35 -35
- data/golden/multirank_hoisting/expected/lir_04_1_loop_fusion.txt +35 -35
- data/golden/multirank_hoisting/expected/lir_04_loop_invcm.txt +35 -35
- data/golden/multirank_hoisting/expected/lir_06_const_prop.txt +35 -35
- data/golden/multirank_hoisting/expected/schema_javascript.mjs +34 -34
- data/golden/multirank_hoisting/expected/schema_ruby.rb +36 -36
- data/golden/nested_hash/expected/schema_ruby.rb +1 -1
- data/golden/reduction_broadcast/expected/lir_02_inlined.txt +30 -30
- data/golden/reduction_broadcast/expected/lir_03_cse.txt +22 -22
- data/golden/reduction_broadcast/expected/lir_04_1_loop_fusion.txt +22 -22
- data/golden/reduction_broadcast/expected/lir_04_loop_invcm.txt +22 -22
- data/golden/reduction_broadcast/expected/lir_06_const_prop.txt +22 -22
- data/golden/reduction_broadcast/expected/schema_javascript.mjs +18 -18
- data/golden/reduction_broadcast/expected/schema_ruby.rb +23 -23
- data/golden/roll/expected/schema_ruby.rb +1 -1
- data/golden/shift/expected/schema_ruby.rb +1 -1
- data/golden/shift_2d/expected/schema_ruby.rb +1 -1
- data/golden/simple_math/expected/schema_ruby.rb +1 -1
- data/golden/streaming_basics/expected/lir_02_inlined.txt +25 -25
- data/golden/streaming_basics/expected/lir_03_cse.txt +13 -13
- data/golden/streaming_basics/expected/lir_04_1_loop_fusion.txt +13 -13
- data/golden/streaming_basics/expected/lir_04_loop_invcm.txt +13 -13
- data/golden/streaming_basics/expected/lir_06_const_prop.txt +13 -13
- data/golden/streaming_basics/expected/schema_javascript.mjs +13 -13
- data/golden/streaming_basics/expected/schema_ruby.rb +14 -14
- data/golden/tuples/expected/schema_ruby.rb +1 -1
- data/golden/tuples_and_arrays/expected/lir_02_inlined.txt +16 -16
- data/golden/tuples_and_arrays/expected/lir_03_cse.txt +13 -13
- data/golden/tuples_and_arrays/expected/lir_04_1_loop_fusion.txt +13 -13
- data/golden/tuples_and_arrays/expected/lir_04_loop_invcm.txt +13 -13
- data/golden/tuples_and_arrays/expected/lir_06_const_prop.txt +13 -13
- data/golden/tuples_and_arrays/expected/schema_javascript.mjs +13 -13
- data/golden/tuples_and_arrays/expected/schema_ruby.rb +14 -14
- data/golden/us_tax_2024/expected/lir_02_inlined.txt +524 -524
- data/golden/us_tax_2024/expected/lir_03_cse.txt +283 -283
- data/golden/us_tax_2024/expected/lir_04_1_loop_fusion.txt +283 -283
- data/golden/us_tax_2024/expected/lir_04_loop_invcm.txt +320 -260
- data/golden/us_tax_2024/expected/lir_06_const_prop.txt +320 -260
- data/golden/us_tax_2024/expected/schema_javascript.mjs +24 -24
- data/golden/us_tax_2024/expected/schema_ruby.rb +25 -25
- data/golden/with_constants/expected/schema_ruby.rb +1 -1
- data/lib/kumi/core/analyzer/passes/lir/inline_declarations_pass.rb +118 -74
- data/lib/kumi/version.rb +1 -1
- metadata +1 -1
@@ -317,85 +317,85 @@
|
|
317
317
|
)
|
318
318
|
(Declaration n3_alive
|
319
319
|
%t253 = load_input "rows" :: array
|
320
|
-
%
|
321
|
-
%
|
322
|
-
%
|
323
|
-
%
|
320
|
+
%t499 = length %t253 :: integer
|
321
|
+
%t500 = const -1 :: integer
|
322
|
+
%t502 = const 0 :: integer
|
323
|
+
%t506 = const 1 :: integer
|
324
324
|
%t259 = const 3 :: integer
|
325
|
-
%
|
325
|
+
%t507 = call core.sub(%t499, %t506) :: integer
|
326
326
|
loop rows id=L23 in %t253 as el=%rows_el_254, idx=%rows_i_255
|
327
|
-
%
|
328
|
-
%
|
329
|
-
%
|
330
|
-
%
|
331
|
-
%
|
332
|
-
%
|
333
|
-
%
|
334
|
-
%
|
335
|
-
%
|
336
|
-
%
|
337
|
-
%
|
338
|
-
%
|
339
|
-
%
|
340
|
-
%
|
341
|
-
%
|
342
|
-
%
|
343
|
-
%
|
344
|
-
%
|
345
|
-
%
|
346
|
-
%
|
347
|
-
%
|
348
|
-
%
|
327
|
+
%t501 = call core.sub(%rows_i_255, %t500) :: integer
|
328
|
+
%t521 = call core.sub(%rows_i_255, %t506) :: integer
|
329
|
+
%t540 = call core.mod(%rows_i_255, %t499) :: integer
|
330
|
+
%t503 = call core.gte(%t501, %t502) :: boolean
|
331
|
+
%t504 = call core.lt(%t501, %t499) :: boolean
|
332
|
+
%t509 = call core.clamp(%t501, %t502, %t507) :: integer
|
333
|
+
%t523 = call core.gte(%t521, %t502) :: boolean
|
334
|
+
%t524 = call core.lt(%t521, %t499) :: boolean
|
335
|
+
%t529 = call core.clamp(%t521, %t502, %t507) :: integer
|
336
|
+
%t541 = call core.add(%t540, %t499) :: integer
|
337
|
+
%t505 = call core.and(%t503, %t504) :: boolean
|
338
|
+
%t510 = gather %t253, %t509 :: any
|
339
|
+
%t525 = call core.and(%t523, %t524) :: boolean
|
340
|
+
%t530 = gather %t253, %t529 :: any
|
341
|
+
%t542 = call core.mod(%t541, %t499) :: integer
|
342
|
+
%t511 = length %t510 :: integer
|
343
|
+
%t531 = length %t530 :: integer
|
344
|
+
%t543 = gather %t253, %t542 :: any
|
345
|
+
%t544 = length %t543 :: integer
|
346
|
+
%t600 = call core.sub(%t511, %t506) :: integer
|
347
|
+
%t656 = call core.sub(%t531, %t506) :: integer
|
348
|
+
%t552 = call core.sub(%t544, %t506) :: integer
|
349
349
|
loop col id=L24 in %rows_el_254 as el=%col_el_256, idx=%col_i_257
|
350
|
-
%
|
351
|
-
%
|
352
|
-
%
|
353
|
-
%
|
354
|
-
%
|
355
|
-
%
|
356
|
-
%
|
357
|
-
%
|
358
|
-
%
|
359
|
-
%
|
360
|
-
%
|
361
|
-
%
|
362
|
-
%
|
363
|
-
%
|
364
|
-
%
|
365
|
-
%
|
366
|
-
%
|
367
|
-
%
|
368
|
-
%
|
369
|
-
%
|
370
|
-
%
|
371
|
-
%
|
372
|
-
%
|
373
|
-
%
|
374
|
-
%
|
375
|
-
%
|
376
|
-
%
|
377
|
-
%
|
378
|
-
%
|
379
|
-
%
|
380
|
-
%
|
381
|
-
%
|
382
|
-
%
|
383
|
-
%
|
384
|
-
%
|
385
|
-
%
|
386
|
-
%
|
387
|
-
%
|
388
|
-
%
|
389
|
-
%
|
390
|
-
%
|
391
|
-
%
|
392
|
-
%
|
393
|
-
%
|
394
|
-
%
|
395
|
-
%
|
396
|
-
%
|
397
|
-
%
|
398
|
-
%t496 = make_tuple(%
|
350
|
+
%t512 = call core.mod(%col_i_257, %t511) :: integer
|
351
|
+
%t513 = call core.add(%t512, %t511) :: integer
|
352
|
+
%t514 = call core.mod(%t513, %t511) :: integer
|
353
|
+
%t515 = gather %t510, %t514 :: integer
|
354
|
+
%t517 = select %t505, %t515, %t502 :: integer
|
355
|
+
%t532 = call core.mod(%col_i_257, %t531) :: integer
|
356
|
+
%t533 = call core.add(%t532, %t531) :: integer
|
357
|
+
%t534 = call core.mod(%t533, %t531) :: integer
|
358
|
+
%t535 = gather %t530, %t534 :: integer
|
359
|
+
%t537 = select %t525, %t535, %t502 :: integer
|
360
|
+
%t546 = call core.sub(%col_i_257, %t500) :: integer
|
361
|
+
%t548 = call core.gte(%t546, %t502) :: boolean
|
362
|
+
%t549 = call core.lt(%t546, %t544) :: boolean
|
363
|
+
%t550 = call core.and(%t548, %t549) :: boolean
|
364
|
+
%t554 = call core.clamp(%t546, %t502, %t552) :: integer
|
365
|
+
%t555 = gather %t543, %t554 :: integer
|
366
|
+
%t557 = select %t550, %t555, %t502 :: integer
|
367
|
+
%t566 = call core.sub(%col_i_257, %t506) :: integer
|
368
|
+
%t568 = call core.gte(%t566, %t502) :: boolean
|
369
|
+
%t569 = call core.lt(%t566, %t544) :: boolean
|
370
|
+
%t570 = call core.and(%t568, %t569) :: boolean
|
371
|
+
%t574 = call core.clamp(%t566, %t502, %t552) :: integer
|
372
|
+
%t575 = gather %t543, %t574 :: integer
|
373
|
+
%t577 = select %t570, %t575, %t502 :: integer
|
374
|
+
%t596 = call core.lt(%t546, %t511) :: boolean
|
375
|
+
%t597 = call core.and(%t548, %t596) :: boolean
|
376
|
+
%t598 = call core.and(%t505, %t597) :: boolean
|
377
|
+
%t602 = call core.clamp(%t546, %t502, %t600) :: integer
|
378
|
+
%t603 = gather %t510, %t602 :: integer
|
379
|
+
%t605 = select %t598, %t603, %t502 :: integer
|
380
|
+
%t624 = call core.lt(%t566, %t511) :: boolean
|
381
|
+
%t625 = call core.and(%t568, %t624) :: boolean
|
382
|
+
%t626 = call core.and(%t505, %t625) :: boolean
|
383
|
+
%t630 = call core.clamp(%t566, %t502, %t600) :: integer
|
384
|
+
%t631 = gather %t510, %t630 :: integer
|
385
|
+
%t633 = select %t626, %t631, %t502 :: integer
|
386
|
+
%t652 = call core.lt(%t546, %t531) :: boolean
|
387
|
+
%t653 = call core.and(%t548, %t652) :: boolean
|
388
|
+
%t654 = call core.and(%t525, %t653) :: boolean
|
389
|
+
%t658 = call core.clamp(%t546, %t502, %t656) :: integer
|
390
|
+
%t659 = gather %t530, %t658 :: integer
|
391
|
+
%t661 = select %t654, %t659, %t502 :: integer
|
392
|
+
%t680 = call core.lt(%t566, %t531) :: boolean
|
393
|
+
%t681 = call core.and(%t568, %t680) :: boolean
|
394
|
+
%t682 = call core.and(%t525, %t681) :: boolean
|
395
|
+
%t686 = call core.clamp(%t566, %t502, %t656) :: integer
|
396
|
+
%t687 = gather %t530, %t686 :: integer
|
397
|
+
%t689 = select %t682, %t687, %t502 :: integer
|
398
|
+
%t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer>
|
399
399
|
%t497 = fold %t496 fn="agg.sum" ::
|
400
400
|
%t260 = call core.eq(%t497, %t259) :: boolean
|
401
401
|
yield %t260
|
@@ -404,361 +404,361 @@
|
|
404
404
|
)
|
405
405
|
(Declaration n2_alive
|
406
406
|
%t261 = load_input "rows" :: array
|
407
|
-
%
|
408
|
-
%
|
409
|
-
%
|
410
|
-
%
|
407
|
+
%t702 = length %t261 :: integer
|
408
|
+
%t703 = const -1 :: integer
|
409
|
+
%t705 = const 0 :: integer
|
410
|
+
%t709 = const 1 :: integer
|
411
411
|
%t267 = const 2 :: integer
|
412
|
-
%
|
412
|
+
%t710 = call core.sub(%t702, %t709) :: integer
|
413
413
|
loop rows id=L25 in %t261 as el=%rows_el_262, idx=%rows_i_263
|
414
|
-
%
|
415
|
-
%
|
416
|
-
%
|
417
|
-
%
|
418
|
-
%
|
419
|
-
%
|
420
|
-
%
|
421
|
-
%
|
422
|
-
%
|
423
|
-
%
|
414
|
+
%t704 = call core.sub(%rows_i_263, %t703) :: integer
|
415
|
+
%t724 = call core.sub(%rows_i_263, %t709) :: integer
|
416
|
+
%t743 = call core.mod(%rows_i_263, %t702) :: integer
|
417
|
+
%t706 = call core.gte(%t704, %t705) :: boolean
|
418
|
+
%t707 = call core.lt(%t704, %t702) :: boolean
|
419
|
+
%t712 = call core.clamp(%t704, %t705, %t710) :: integer
|
420
|
+
%t726 = call core.gte(%t724, %t705) :: boolean
|
421
|
+
%t727 = call core.lt(%t724, %t702) :: boolean
|
422
|
+
%t732 = call core.clamp(%t724, %t705, %t710) :: integer
|
423
|
+
%t744 = call core.add(%t743, %t702) :: integer
|
424
|
+
%t708 = call core.and(%t706, %t707) :: boolean
|
425
|
+
%t713 = gather %t261, %t712 :: any
|
424
426
|
%t728 = call core.and(%t726, %t727) :: boolean
|
425
427
|
%t733 = gather %t261, %t732 :: any
|
426
|
-
%
|
427
|
-
%
|
428
|
-
%t765 = call core.mod(%t764, %t722) :: integer
|
428
|
+
%t745 = call core.mod(%t744, %t702) :: integer
|
429
|
+
%t714 = length %t713 :: integer
|
429
430
|
%t734 = length %t733 :: integer
|
430
|
-
%
|
431
|
-
%
|
432
|
-
%
|
433
|
-
%
|
434
|
-
%
|
435
|
-
%t775 = call core.sub(%t767, %t729) :: integer
|
431
|
+
%t746 = gather %t261, %t745 :: any
|
432
|
+
%t747 = length %t746 :: integer
|
433
|
+
%t803 = call core.sub(%t714, %t709) :: integer
|
434
|
+
%t859 = call core.sub(%t734, %t709) :: integer
|
435
|
+
%t755 = call core.sub(%t747, %t709) :: integer
|
436
436
|
loop col id=L26 in %rows_el_262 as el=%col_el_264, idx=%col_i_265
|
437
|
+
%t715 = call core.mod(%col_i_265, %t714) :: integer
|
438
|
+
%t716 = call core.add(%t715, %t714) :: integer
|
439
|
+
%t717 = call core.mod(%t716, %t714) :: integer
|
440
|
+
%t718 = gather %t713, %t717 :: integer
|
441
|
+
%t720 = select %t708, %t718, %t705 :: integer
|
437
442
|
%t735 = call core.mod(%col_i_265, %t734) :: integer
|
438
443
|
%t736 = call core.add(%t735, %t734) :: integer
|
439
444
|
%t737 = call core.mod(%t736, %t734) :: integer
|
440
445
|
%t738 = gather %t733, %t737 :: integer
|
441
|
-
%t740 = select %t728, %t738, %
|
442
|
-
%
|
443
|
-
%
|
444
|
-
%
|
445
|
-
%
|
446
|
-
%
|
447
|
-
%
|
448
|
-
%
|
449
|
-
%
|
446
|
+
%t740 = select %t728, %t738, %t705 :: integer
|
447
|
+
%t749 = call core.sub(%col_i_265, %t703) :: integer
|
448
|
+
%t751 = call core.gte(%t749, %t705) :: boolean
|
449
|
+
%t752 = call core.lt(%t749, %t747) :: boolean
|
450
|
+
%t753 = call core.and(%t751, %t752) :: boolean
|
451
|
+
%t757 = call core.clamp(%t749, %t705, %t755) :: integer
|
452
|
+
%t758 = gather %t746, %t757 :: integer
|
453
|
+
%t760 = select %t753, %t758, %t705 :: integer
|
454
|
+
%t769 = call core.sub(%col_i_265, %t709) :: integer
|
455
|
+
%t771 = call core.gte(%t769, %t705) :: boolean
|
456
|
+
%t772 = call core.lt(%t769, %t747) :: boolean
|
450
457
|
%t773 = call core.and(%t771, %t772) :: boolean
|
451
|
-
%t777 = call core.clamp(%t769, %
|
452
|
-
%t778 = gather %
|
453
|
-
%t780 = select %t773, %t778, %
|
454
|
-
%
|
455
|
-
%
|
456
|
-
%
|
457
|
-
%
|
458
|
-
%
|
459
|
-
%
|
460
|
-
%
|
461
|
-
%
|
462
|
-
%
|
463
|
-
%
|
464
|
-
%
|
465
|
-
%
|
466
|
-
%
|
467
|
-
%
|
468
|
-
%
|
469
|
-
%
|
470
|
-
%
|
471
|
-
%
|
472
|
-
%
|
473
|
-
%
|
474
|
-
%
|
475
|
-
%
|
476
|
-
%
|
477
|
-
%
|
478
|
-
%
|
479
|
-
%
|
480
|
-
%
|
481
|
-
%t905 = call core.and(%t748, %t904) :: boolean
|
482
|
-
%t909 = call core.clamp(%t789, %t725, %t879) :: integer
|
483
|
-
%t910 = gather %t753, %t909 :: integer
|
484
|
-
%t912 = select %t905, %t910, %t725 :: integer
|
485
|
-
%t507 = make_tuple(%t740, %t760, %t780, %t800, %t828, %t856, %t884, %t912) :: tuple<integer>
|
486
|
-
%t508 = fold %t507 fn="agg.sum" ::
|
487
|
-
%t268 = call core.eq(%t508, %t267) :: boolean
|
458
|
+
%t777 = call core.clamp(%t769, %t705, %t755) :: integer
|
459
|
+
%t778 = gather %t746, %t777 :: integer
|
460
|
+
%t780 = select %t773, %t778, %t705 :: integer
|
461
|
+
%t799 = call core.lt(%t749, %t714) :: boolean
|
462
|
+
%t800 = call core.and(%t751, %t799) :: boolean
|
463
|
+
%t801 = call core.and(%t708, %t800) :: boolean
|
464
|
+
%t805 = call core.clamp(%t749, %t705, %t803) :: integer
|
465
|
+
%t806 = gather %t713, %t805 :: integer
|
466
|
+
%t808 = select %t801, %t806, %t705 :: integer
|
467
|
+
%t827 = call core.lt(%t769, %t714) :: boolean
|
468
|
+
%t828 = call core.and(%t771, %t827) :: boolean
|
469
|
+
%t829 = call core.and(%t708, %t828) :: boolean
|
470
|
+
%t833 = call core.clamp(%t769, %t705, %t803) :: integer
|
471
|
+
%t834 = gather %t713, %t833 :: integer
|
472
|
+
%t836 = select %t829, %t834, %t705 :: integer
|
473
|
+
%t855 = call core.lt(%t749, %t734) :: boolean
|
474
|
+
%t856 = call core.and(%t751, %t855) :: boolean
|
475
|
+
%t857 = call core.and(%t728, %t856) :: boolean
|
476
|
+
%t861 = call core.clamp(%t749, %t705, %t859) :: integer
|
477
|
+
%t862 = gather %t733, %t861 :: integer
|
478
|
+
%t864 = select %t857, %t862, %t705 :: integer
|
479
|
+
%t883 = call core.lt(%t769, %t734) :: boolean
|
480
|
+
%t884 = call core.and(%t771, %t883) :: boolean
|
481
|
+
%t885 = call core.and(%t728, %t884) :: boolean
|
482
|
+
%t889 = call core.clamp(%t769, %t705, %t859) :: integer
|
483
|
+
%t890 = gather %t733, %t889 :: integer
|
484
|
+
%t892 = select %t885, %t890, %t705 :: integer
|
485
|
+
%t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer>
|
486
|
+
%t700 = fold %t699 fn="agg.sum" ::
|
487
|
+
%t268 = call core.eq(%t700, %t267) :: boolean
|
488
488
|
yield %t268
|
489
489
|
end_loop
|
490
490
|
end_loop
|
491
491
|
)
|
492
492
|
(Declaration keep_alive
|
493
493
|
%t269 = load_input "rows" :: array
|
494
|
-
%
|
495
|
-
%
|
496
|
-
%
|
497
|
-
%
|
498
|
-
%
|
499
|
-
%
|
494
|
+
%t909 = length %t269 :: integer
|
495
|
+
%t910 = const -1 :: integer
|
496
|
+
%t912 = const 0 :: integer
|
497
|
+
%t916 = const 1 :: integer
|
498
|
+
%t895 = const 2 :: integer
|
499
|
+
%t917 = call core.sub(%t909, %t916) :: integer
|
500
500
|
loop rows id=L27 in %t269 as el=%rows_el_270, idx=%rows_i_271
|
501
|
-
%
|
502
|
-
%
|
503
|
-
%
|
504
|
-
%
|
505
|
-
%
|
506
|
-
%
|
507
|
-
%
|
508
|
-
%
|
509
|
-
%
|
510
|
-
%
|
511
|
-
%
|
512
|
-
%
|
513
|
-
%
|
514
|
-
%
|
515
|
-
%
|
516
|
-
%
|
517
|
-
%
|
518
|
-
%
|
519
|
-
%
|
520
|
-
%
|
521
|
-
%
|
522
|
-
%
|
501
|
+
%t911 = call core.sub(%rows_i_271, %t910) :: integer
|
502
|
+
%t931 = call core.sub(%rows_i_271, %t916) :: integer
|
503
|
+
%t950 = call core.mod(%rows_i_271, %t909) :: integer
|
504
|
+
%t913 = call core.gte(%t911, %t912) :: boolean
|
505
|
+
%t914 = call core.lt(%t911, %t909) :: boolean
|
506
|
+
%t919 = call core.clamp(%t911, %t912, %t917) :: integer
|
507
|
+
%t933 = call core.gte(%t931, %t912) :: boolean
|
508
|
+
%t934 = call core.lt(%t931, %t909) :: boolean
|
509
|
+
%t939 = call core.clamp(%t931, %t912, %t917) :: integer
|
510
|
+
%t951 = call core.add(%t950, %t909) :: integer
|
511
|
+
%t915 = call core.and(%t913, %t914) :: boolean
|
512
|
+
%t920 = gather %t269, %t919 :: any
|
513
|
+
%t935 = call core.and(%t933, %t934) :: boolean
|
514
|
+
%t940 = gather %t269, %t939 :: any
|
515
|
+
%t952 = call core.mod(%t951, %t909) :: integer
|
516
|
+
%t921 = length %t920 :: integer
|
517
|
+
%t941 = length %t940 :: integer
|
518
|
+
%t953 = gather %t269, %t952 :: any
|
519
|
+
%t954 = length %t953 :: integer
|
520
|
+
%t1010 = call core.sub(%t921, %t916) :: integer
|
521
|
+
%t1066 = call core.sub(%t941, %t916) :: integer
|
522
|
+
%t962 = call core.sub(%t954, %t916) :: integer
|
523
523
|
loop col id=L28 in %rows_el_270 as el=%col_el_272, idx=%col_i_273
|
524
|
-
%
|
525
|
-
%
|
526
|
-
%
|
527
|
-
%
|
528
|
-
%
|
529
|
-
%
|
530
|
-
%
|
531
|
-
%
|
532
|
-
%
|
533
|
-
%
|
534
|
-
%
|
535
|
-
%
|
536
|
-
%
|
537
|
-
%
|
538
|
-
%
|
539
|
-
%
|
540
|
-
%
|
541
|
-
%
|
542
|
-
%
|
543
|
-
%
|
544
|
-
%
|
545
|
-
%
|
546
|
-
%
|
547
|
-
%
|
548
|
-
%
|
549
|
-
%
|
550
|
-
%
|
551
|
-
%
|
552
|
-
%
|
553
|
-
%
|
554
|
-
%
|
555
|
-
%
|
556
|
-
%
|
557
|
-
%
|
558
|
-
%
|
559
|
-
%
|
560
|
-
%
|
561
|
-
%
|
562
|
-
%
|
563
|
-
%
|
564
|
-
%
|
565
|
-
%
|
566
|
-
%
|
567
|
-
%
|
568
|
-
%
|
569
|
-
%
|
570
|
-
%
|
571
|
-
%
|
572
|
-
%
|
573
|
-
%
|
574
|
-
%
|
575
|
-
%
|
576
|
-
%t276 = call core.and(%
|
524
|
+
%t922 = call core.mod(%col_i_273, %t921) :: integer
|
525
|
+
%t923 = call core.add(%t922, %t921) :: integer
|
526
|
+
%t924 = call core.mod(%t923, %t921) :: integer
|
527
|
+
%t925 = gather %t920, %t924 :: integer
|
528
|
+
%t927 = select %t915, %t925, %t912 :: integer
|
529
|
+
%t942 = call core.mod(%col_i_273, %t941) :: integer
|
530
|
+
%t943 = call core.add(%t942, %t941) :: integer
|
531
|
+
%t944 = call core.mod(%t943, %t941) :: integer
|
532
|
+
%t945 = gather %t940, %t944 :: integer
|
533
|
+
%t947 = select %t935, %t945, %t912 :: integer
|
534
|
+
%t956 = call core.sub(%col_i_273, %t910) :: integer
|
535
|
+
%t958 = call core.gte(%t956, %t912) :: boolean
|
536
|
+
%t959 = call core.lt(%t956, %t954) :: boolean
|
537
|
+
%t960 = call core.and(%t958, %t959) :: boolean
|
538
|
+
%t964 = call core.clamp(%t956, %t912, %t962) :: integer
|
539
|
+
%t965 = gather %t953, %t964 :: integer
|
540
|
+
%t967 = select %t960, %t965, %t912 :: integer
|
541
|
+
%t976 = call core.sub(%col_i_273, %t916) :: integer
|
542
|
+
%t978 = call core.gte(%t976, %t912) :: boolean
|
543
|
+
%t979 = call core.lt(%t976, %t954) :: boolean
|
544
|
+
%t980 = call core.and(%t978, %t979) :: boolean
|
545
|
+
%t984 = call core.clamp(%t976, %t912, %t962) :: integer
|
546
|
+
%t985 = gather %t953, %t984 :: integer
|
547
|
+
%t987 = select %t980, %t985, %t912 :: integer
|
548
|
+
%t1006 = call core.lt(%t956, %t921) :: boolean
|
549
|
+
%t1007 = call core.and(%t958, %t1006) :: boolean
|
550
|
+
%t1008 = call core.and(%t915, %t1007) :: boolean
|
551
|
+
%t1012 = call core.clamp(%t956, %t912, %t1010) :: integer
|
552
|
+
%t1013 = gather %t920, %t1012 :: integer
|
553
|
+
%t1015 = select %t1008, %t1013, %t912 :: integer
|
554
|
+
%t1034 = call core.lt(%t976, %t921) :: boolean
|
555
|
+
%t1035 = call core.and(%t978, %t1034) :: boolean
|
556
|
+
%t1036 = call core.and(%t915, %t1035) :: boolean
|
557
|
+
%t1040 = call core.clamp(%t976, %t912, %t1010) :: integer
|
558
|
+
%t1041 = gather %t920, %t1040 :: integer
|
559
|
+
%t1043 = select %t1036, %t1041, %t912 :: integer
|
560
|
+
%t1062 = call core.lt(%t956, %t941) :: boolean
|
561
|
+
%t1063 = call core.and(%t958, %t1062) :: boolean
|
562
|
+
%t1064 = call core.and(%t935, %t1063) :: boolean
|
563
|
+
%t1068 = call core.clamp(%t956, %t912, %t1066) :: integer
|
564
|
+
%t1069 = gather %t940, %t1068 :: integer
|
565
|
+
%t1071 = select %t1064, %t1069, %t912 :: integer
|
566
|
+
%t1090 = call core.lt(%t976, %t941) :: boolean
|
567
|
+
%t1091 = call core.and(%t978, %t1090) :: boolean
|
568
|
+
%t1092 = call core.and(%t935, %t1091) :: boolean
|
569
|
+
%t1096 = call core.clamp(%t976, %t912, %t1066) :: integer
|
570
|
+
%t1097 = gather %t940, %t1096 :: integer
|
571
|
+
%t1099 = select %t1092, %t1097, %t912 :: integer
|
572
|
+
%t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer>
|
573
|
+
%t907 = fold %t906 fn="agg.sum" ::
|
574
|
+
%t896 = call core.eq(%t907, %t895) :: boolean
|
575
|
+
%t1103 = call core.gt(%col_el_272, %t912) :: boolean
|
576
|
+
%t276 = call core.and(%t896, %t1103) :: boolean
|
577
577
|
yield %t276
|
578
578
|
end_loop
|
579
579
|
end_loop
|
580
580
|
)
|
581
581
|
(Declaration next_alive
|
582
582
|
%t277 = load_input "rows" :: array
|
583
|
-
%
|
584
|
-
%
|
585
|
-
%
|
586
|
-
%
|
587
|
-
%
|
588
|
-
%
|
589
|
-
%
|
583
|
+
%t1121 = length %t277 :: integer
|
584
|
+
%t1122 = const -1 :: integer
|
585
|
+
%t1124 = const 0 :: integer
|
586
|
+
%t1128 = const 1 :: integer
|
587
|
+
%t1107 = const 3 :: integer
|
588
|
+
%t1318 = const 2 :: integer
|
589
|
+
%t1129 = call core.sub(%t1121, %t1128) :: integer
|
590
590
|
loop rows id=L29 in %t277 as el=%rows_el_278, idx=%rows_i_279
|
591
|
-
%
|
592
|
-
%
|
593
|
-
%
|
594
|
-
%
|
595
|
-
%
|
596
|
-
%
|
597
|
-
%
|
598
|
-
%
|
599
|
-
%
|
600
|
-
%
|
601
|
-
%
|
602
|
-
%
|
603
|
-
%
|
604
|
-
%
|
605
|
-
%
|
606
|
-
%
|
607
|
-
%
|
608
|
-
%
|
609
|
-
%
|
610
|
-
%
|
611
|
-
%
|
612
|
-
%
|
591
|
+
%t1123 = call core.sub(%rows_i_279, %t1122) :: integer
|
592
|
+
%t1143 = call core.sub(%rows_i_279, %t1128) :: integer
|
593
|
+
%t1162 = call core.mod(%rows_i_279, %t1121) :: integer
|
594
|
+
%t1125 = call core.gte(%t1123, %t1124) :: boolean
|
595
|
+
%t1126 = call core.lt(%t1123, %t1121) :: boolean
|
596
|
+
%t1131 = call core.clamp(%t1123, %t1124, %t1129) :: integer
|
597
|
+
%t1145 = call core.gte(%t1143, %t1124) :: boolean
|
598
|
+
%t1146 = call core.lt(%t1143, %t1121) :: boolean
|
599
|
+
%t1151 = call core.clamp(%t1143, %t1124, %t1129) :: integer
|
600
|
+
%t1163 = call core.add(%t1162, %t1121) :: integer
|
601
|
+
%t1127 = call core.and(%t1125, %t1126) :: boolean
|
602
|
+
%t1132 = gather %t277, %t1131 :: any
|
603
|
+
%t1147 = call core.and(%t1145, %t1146) :: boolean
|
604
|
+
%t1152 = gather %t277, %t1151 :: any
|
605
|
+
%t1164 = call core.mod(%t1163, %t1121) :: integer
|
606
|
+
%t1133 = length %t1132 :: integer
|
607
|
+
%t1153 = length %t1152 :: integer
|
608
|
+
%t1165 = gather %t277, %t1164 :: any
|
609
|
+
%t1166 = length %t1165 :: integer
|
610
|
+
%t1222 = call core.sub(%t1133, %t1128) :: integer
|
611
|
+
%t1278 = call core.sub(%t1153, %t1128) :: integer
|
612
|
+
%t1174 = call core.sub(%t1166, %t1128) :: integer
|
613
613
|
loop col id=L30 in %rows_el_278 as el=%col_el_280, idx=%col_i_281
|
614
|
-
%
|
615
|
-
%
|
616
|
-
%
|
617
|
-
%
|
618
|
-
%
|
619
|
-
%
|
620
|
-
%
|
621
|
-
%
|
622
|
-
%
|
623
|
-
%
|
624
|
-
%
|
625
|
-
%
|
626
|
-
%
|
627
|
-
%
|
628
|
-
%
|
629
|
-
%
|
630
|
-
%
|
631
|
-
%
|
632
|
-
%
|
633
|
-
%
|
634
|
-
%
|
635
|
-
%
|
636
|
-
%
|
637
|
-
%
|
638
|
-
%
|
639
|
-
%
|
640
|
-
%
|
641
|
-
%
|
642
|
-
%
|
643
|
-
%
|
644
|
-
%
|
645
|
-
%
|
646
|
-
%
|
647
|
-
%
|
648
|
-
%
|
649
|
-
%
|
650
|
-
%
|
651
|
-
%
|
652
|
-
%
|
653
|
-
%
|
654
|
-
%
|
655
|
-
%
|
656
|
-
%
|
657
|
-
%
|
658
|
-
%
|
659
|
-
%
|
660
|
-
%
|
661
|
-
%
|
662
|
-
%
|
663
|
-
%
|
664
|
-
%
|
665
|
-
%
|
666
|
-
%
|
667
|
-
%
|
668
|
-
%t284 = call core.or(%
|
614
|
+
%t1134 = call core.mod(%col_i_281, %t1133) :: integer
|
615
|
+
%t1135 = call core.add(%t1134, %t1133) :: integer
|
616
|
+
%t1136 = call core.mod(%t1135, %t1133) :: integer
|
617
|
+
%t1137 = gather %t1132, %t1136 :: integer
|
618
|
+
%t1139 = select %t1127, %t1137, %t1124 :: integer
|
619
|
+
%t1154 = call core.mod(%col_i_281, %t1153) :: integer
|
620
|
+
%t1155 = call core.add(%t1154, %t1153) :: integer
|
621
|
+
%t1156 = call core.mod(%t1155, %t1153) :: integer
|
622
|
+
%t1157 = gather %t1152, %t1156 :: integer
|
623
|
+
%t1159 = select %t1147, %t1157, %t1124 :: integer
|
624
|
+
%t1168 = call core.sub(%col_i_281, %t1122) :: integer
|
625
|
+
%t1170 = call core.gte(%t1168, %t1124) :: boolean
|
626
|
+
%t1171 = call core.lt(%t1168, %t1166) :: boolean
|
627
|
+
%t1172 = call core.and(%t1170, %t1171) :: boolean
|
628
|
+
%t1176 = call core.clamp(%t1168, %t1124, %t1174) :: integer
|
629
|
+
%t1177 = gather %t1165, %t1176 :: integer
|
630
|
+
%t1179 = select %t1172, %t1177, %t1124 :: integer
|
631
|
+
%t1188 = call core.sub(%col_i_281, %t1128) :: integer
|
632
|
+
%t1190 = call core.gte(%t1188, %t1124) :: boolean
|
633
|
+
%t1191 = call core.lt(%t1188, %t1166) :: boolean
|
634
|
+
%t1192 = call core.and(%t1190, %t1191) :: boolean
|
635
|
+
%t1196 = call core.clamp(%t1188, %t1124, %t1174) :: integer
|
636
|
+
%t1197 = gather %t1165, %t1196 :: integer
|
637
|
+
%t1199 = select %t1192, %t1197, %t1124 :: integer
|
638
|
+
%t1218 = call core.lt(%t1168, %t1133) :: boolean
|
639
|
+
%t1219 = call core.and(%t1170, %t1218) :: boolean
|
640
|
+
%t1220 = call core.and(%t1127, %t1219) :: boolean
|
641
|
+
%t1224 = call core.clamp(%t1168, %t1124, %t1222) :: integer
|
642
|
+
%t1225 = gather %t1132, %t1224 :: integer
|
643
|
+
%t1227 = select %t1220, %t1225, %t1124 :: integer
|
644
|
+
%t1246 = call core.lt(%t1188, %t1133) :: boolean
|
645
|
+
%t1247 = call core.and(%t1190, %t1246) :: boolean
|
646
|
+
%t1248 = call core.and(%t1127, %t1247) :: boolean
|
647
|
+
%t1252 = call core.clamp(%t1188, %t1124, %t1222) :: integer
|
648
|
+
%t1253 = gather %t1132, %t1252 :: integer
|
649
|
+
%t1255 = select %t1248, %t1253, %t1124 :: integer
|
650
|
+
%t1274 = call core.lt(%t1168, %t1153) :: boolean
|
651
|
+
%t1275 = call core.and(%t1170, %t1274) :: boolean
|
652
|
+
%t1276 = call core.and(%t1147, %t1275) :: boolean
|
653
|
+
%t1280 = call core.clamp(%t1168, %t1124, %t1278) :: integer
|
654
|
+
%t1281 = gather %t1152, %t1280 :: integer
|
655
|
+
%t1283 = select %t1276, %t1281, %t1124 :: integer
|
656
|
+
%t1302 = call core.lt(%t1188, %t1153) :: boolean
|
657
|
+
%t1303 = call core.and(%t1190, %t1302) :: boolean
|
658
|
+
%t1304 = call core.and(%t1147, %t1303) :: boolean
|
659
|
+
%t1308 = call core.clamp(%t1188, %t1124, %t1278) :: integer
|
660
|
+
%t1309 = gather %t1152, %t1308 :: integer
|
661
|
+
%t1311 = select %t1304, %t1309, %t1124 :: integer
|
662
|
+
%t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer>
|
663
|
+
%t1119 = fold %t1118 fn="agg.sum" ::
|
664
|
+
%t1108 = call core.eq(%t1119, %t1107) :: boolean
|
665
|
+
%t1319 = call core.eq(%t1119, %t1318) :: boolean
|
666
|
+
%t1526 = call core.gt(%col_el_280, %t1124) :: boolean
|
667
|
+
%t1315 = call core.and(%t1319, %t1526) :: boolean
|
668
|
+
%t284 = call core.or(%t1108, %t1315) :: boolean
|
669
669
|
yield %t284
|
670
670
|
end_loop
|
671
671
|
end_loop
|
672
672
|
)
|
673
673
|
(Declaration next_state
|
674
674
|
%t285 = load_input "rows" :: array
|
675
|
-
%
|
676
|
-
%
|
677
|
-
%
|
678
|
-
%
|
679
|
-
%
|
680
|
-
%
|
681
|
-
%
|
675
|
+
%t1548 = length %t285 :: integer
|
676
|
+
%t1549 = const -1 :: integer
|
677
|
+
%t1551 = const 0 :: integer
|
678
|
+
%t1555 = const 1 :: integer
|
679
|
+
%t1534 = const 3 :: integer
|
680
|
+
%t1745 = const 2 :: integer
|
681
|
+
%t1556 = call core.sub(%t1548, %t1555) :: integer
|
682
682
|
loop rows id=L31 in %t285 as el=%rows_el_286, idx=%rows_i_287
|
683
|
-
%
|
684
|
-
%
|
685
|
-
%
|
686
|
-
%
|
687
|
-
%
|
688
|
-
%
|
689
|
-
%
|
690
|
-
%
|
691
|
-
%
|
692
|
-
%
|
693
|
-
%
|
694
|
-
%
|
695
|
-
%
|
696
|
-
%
|
697
|
-
%
|
698
|
-
%
|
699
|
-
%
|
700
|
-
%
|
701
|
-
%
|
702
|
-
%
|
703
|
-
%
|
704
|
-
%
|
683
|
+
%t1550 = call core.sub(%rows_i_287, %t1549) :: integer
|
684
|
+
%t1570 = call core.sub(%rows_i_287, %t1555) :: integer
|
685
|
+
%t1589 = call core.mod(%rows_i_287, %t1548) :: integer
|
686
|
+
%t1552 = call core.gte(%t1550, %t1551) :: boolean
|
687
|
+
%t1553 = call core.lt(%t1550, %t1548) :: boolean
|
688
|
+
%t1558 = call core.clamp(%t1550, %t1551, %t1556) :: integer
|
689
|
+
%t1572 = call core.gte(%t1570, %t1551) :: boolean
|
690
|
+
%t1573 = call core.lt(%t1570, %t1548) :: boolean
|
691
|
+
%t1578 = call core.clamp(%t1570, %t1551, %t1556) :: integer
|
692
|
+
%t1590 = call core.add(%t1589, %t1548) :: integer
|
693
|
+
%t1554 = call core.and(%t1552, %t1553) :: boolean
|
694
|
+
%t1559 = gather %t285, %t1558 :: any
|
695
|
+
%t1574 = call core.and(%t1572, %t1573) :: boolean
|
696
|
+
%t1579 = gather %t285, %t1578 :: any
|
697
|
+
%t1591 = call core.mod(%t1590, %t1548) :: integer
|
698
|
+
%t1560 = length %t1559 :: integer
|
699
|
+
%t1580 = length %t1579 :: integer
|
700
|
+
%t1592 = gather %t285, %t1591 :: any
|
701
|
+
%t1593 = length %t1592 :: integer
|
702
|
+
%t1649 = call core.sub(%t1560, %t1555) :: integer
|
703
|
+
%t1705 = call core.sub(%t1580, %t1555) :: integer
|
704
|
+
%t1601 = call core.sub(%t1593, %t1555) :: integer
|
705
705
|
loop col id=L32 in %rows_el_286 as el=%col_el_288, idx=%col_i_289
|
706
|
-
%
|
707
|
-
%
|
708
|
-
%
|
709
|
-
%
|
710
|
-
%
|
711
|
-
%
|
712
|
-
%
|
713
|
-
%
|
714
|
-
%
|
715
|
-
%
|
716
|
-
%
|
717
|
-
%
|
718
|
-
%
|
719
|
-
%
|
720
|
-
%
|
721
|
-
%
|
722
|
-
%
|
723
|
-
%
|
724
|
-
%
|
725
|
-
%
|
726
|
-
%
|
727
|
-
%
|
728
|
-
%
|
729
|
-
%
|
730
|
-
%
|
731
|
-
%
|
732
|
-
%
|
733
|
-
%
|
734
|
-
%
|
735
|
-
%
|
736
|
-
%
|
737
|
-
%
|
738
|
-
%
|
739
|
-
%
|
740
|
-
%
|
741
|
-
%
|
742
|
-
%
|
743
|
-
%
|
744
|
-
%
|
745
|
-
%
|
746
|
-
%
|
747
|
-
%
|
748
|
-
%
|
749
|
-
%
|
750
|
-
%
|
751
|
-
%
|
752
|
-
%
|
753
|
-
%
|
754
|
-
%
|
755
|
-
%
|
756
|
-
%
|
757
|
-
%
|
758
|
-
%
|
759
|
-
%
|
760
|
-
%
|
761
|
-
%t293 = select %
|
706
|
+
%t1561 = call core.mod(%col_i_289, %t1560) :: integer
|
707
|
+
%t1562 = call core.add(%t1561, %t1560) :: integer
|
708
|
+
%t1563 = call core.mod(%t1562, %t1560) :: integer
|
709
|
+
%t1564 = gather %t1559, %t1563 :: integer
|
710
|
+
%t1566 = select %t1554, %t1564, %t1551 :: integer
|
711
|
+
%t1581 = call core.mod(%col_i_289, %t1580) :: integer
|
712
|
+
%t1582 = call core.add(%t1581, %t1580) :: integer
|
713
|
+
%t1583 = call core.mod(%t1582, %t1580) :: integer
|
714
|
+
%t1584 = gather %t1579, %t1583 :: integer
|
715
|
+
%t1586 = select %t1574, %t1584, %t1551 :: integer
|
716
|
+
%t1595 = call core.sub(%col_i_289, %t1549) :: integer
|
717
|
+
%t1597 = call core.gte(%t1595, %t1551) :: boolean
|
718
|
+
%t1598 = call core.lt(%t1595, %t1593) :: boolean
|
719
|
+
%t1599 = call core.and(%t1597, %t1598) :: boolean
|
720
|
+
%t1603 = call core.clamp(%t1595, %t1551, %t1601) :: integer
|
721
|
+
%t1604 = gather %t1592, %t1603 :: integer
|
722
|
+
%t1606 = select %t1599, %t1604, %t1551 :: integer
|
723
|
+
%t1615 = call core.sub(%col_i_289, %t1555) :: integer
|
724
|
+
%t1617 = call core.gte(%t1615, %t1551) :: boolean
|
725
|
+
%t1618 = call core.lt(%t1615, %t1593) :: boolean
|
726
|
+
%t1619 = call core.and(%t1617, %t1618) :: boolean
|
727
|
+
%t1623 = call core.clamp(%t1615, %t1551, %t1601) :: integer
|
728
|
+
%t1624 = gather %t1592, %t1623 :: integer
|
729
|
+
%t1626 = select %t1619, %t1624, %t1551 :: integer
|
730
|
+
%t1645 = call core.lt(%t1595, %t1560) :: boolean
|
731
|
+
%t1646 = call core.and(%t1597, %t1645) :: boolean
|
732
|
+
%t1647 = call core.and(%t1554, %t1646) :: boolean
|
733
|
+
%t1651 = call core.clamp(%t1595, %t1551, %t1649) :: integer
|
734
|
+
%t1652 = gather %t1559, %t1651 :: integer
|
735
|
+
%t1654 = select %t1647, %t1652, %t1551 :: integer
|
736
|
+
%t1673 = call core.lt(%t1615, %t1560) :: boolean
|
737
|
+
%t1674 = call core.and(%t1617, %t1673) :: boolean
|
738
|
+
%t1675 = call core.and(%t1554, %t1674) :: boolean
|
739
|
+
%t1679 = call core.clamp(%t1615, %t1551, %t1649) :: integer
|
740
|
+
%t1680 = gather %t1559, %t1679 :: integer
|
741
|
+
%t1682 = select %t1675, %t1680, %t1551 :: integer
|
742
|
+
%t1701 = call core.lt(%t1595, %t1580) :: boolean
|
743
|
+
%t1702 = call core.and(%t1597, %t1701) :: boolean
|
744
|
+
%t1703 = call core.and(%t1574, %t1702) :: boolean
|
745
|
+
%t1707 = call core.clamp(%t1595, %t1551, %t1705) :: integer
|
746
|
+
%t1708 = gather %t1579, %t1707 :: integer
|
747
|
+
%t1710 = select %t1703, %t1708, %t1551 :: integer
|
748
|
+
%t1729 = call core.lt(%t1615, %t1580) :: boolean
|
749
|
+
%t1730 = call core.and(%t1617, %t1729) :: boolean
|
750
|
+
%t1731 = call core.and(%t1574, %t1730) :: boolean
|
751
|
+
%t1735 = call core.clamp(%t1615, %t1551, %t1705) :: integer
|
752
|
+
%t1736 = gather %t1579, %t1735 :: integer
|
753
|
+
%t1738 = select %t1731, %t1736, %t1551 :: integer
|
754
|
+
%t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer>
|
755
|
+
%t1546 = fold %t1545 fn="agg.sum" ::
|
756
|
+
%t1535 = call core.eq(%t1546, %t1534) :: boolean
|
757
|
+
%t1746 = call core.eq(%t1546, %t1745) :: boolean
|
758
|
+
%t1953 = call core.gt(%col_el_288, %t1551) :: boolean
|
759
|
+
%t1742 = call core.and(%t1746, %t1953) :: boolean
|
760
|
+
%t1531 = call core.or(%t1535, %t1742) :: boolean
|
761
|
+
%t293 = select %t1531, %t1555, %t1551 :: integer
|
762
762
|
yield %t293
|
763
763
|
end_loop
|
764
764
|
end_loop
|