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
@@ -29,19 +29,19 @@
|
|
29
29
|
end_loop
|
30
30
|
)
|
31
31
|
(Declaration elem_affine
|
32
|
+
%t66 = load_input "global_offset" :: float
|
33
|
+
%t67 = const 1.0 :: float
|
34
|
+
%t68 = call core.add(%t66, %t67) :: float
|
32
35
|
%t19 = load_input "batch" :: array
|
33
36
|
loop batch id=L4 in %t19 as el=%batch_el_20, idx=%batch_i_21
|
37
|
+
%t64 = load_field batch_el_20["mean"] :: float
|
34
38
|
%t22 = load_field batch_el_20["row"] :: any
|
35
|
-
%
|
36
|
-
%t82 = const 1.0 :: float
|
37
|
-
%t83 = call core.add(%t81, %t82) :: float
|
39
|
+
%t65 = call core.add(%t64, %t68) :: float
|
38
40
|
loop row id=L5 in %t22 as el=%row_el_23, idx=%row_i_24
|
39
|
-
%t25 = load_field row_el_23["col"] :: any
|
40
41
|
%t59 = load_field row_el_23["scale"] :: float
|
41
42
|
%t60 = const 2.0 :: float
|
42
43
|
%t61 = call core.mul(%t59, %t60) :: float
|
43
|
-
%
|
44
|
-
%t65 = call core.add(%t64, %t83) :: float
|
44
|
+
%t25 = load_field row_el_23["col"] :: any
|
45
45
|
loop col id=L6 in %t25 as el=%col_el_26, idx=%col_i_27
|
46
46
|
%t28 = load_field col_el_26["val"] :: float
|
47
47
|
%t30 = call core.mul(%t28, %t61) :: float
|
@@ -52,25 +52,25 @@
|
|
52
52
|
end_loop
|
53
53
|
)
|
54
54
|
(Declaration row_sum_affine
|
55
|
+
%t86 = load_input "global_offset" :: float
|
56
|
+
%t87 = const 1.0 :: float
|
57
|
+
%t88 = call core.add(%t86, %t87) :: float
|
55
58
|
%t33 = load_input "batch" :: array
|
56
59
|
loop batch id=L7 in %t33 as el=%batch_el_34, idx=%batch_i_35
|
60
|
+
%t84 = load_field batch_el_34["mean"] :: float
|
57
61
|
%t36 = load_field batch_el_34["row"] :: any
|
62
|
+
%t85 = call core.add(%t84, %t88) :: float
|
58
63
|
loop row id=L8 in %t36 as el=%row_el_37, idx=%row_i_38
|
64
|
+
%t79 = load_field row_el_37["scale"] :: float
|
65
|
+
%t80 = const 2.0 :: float
|
66
|
+
%t81 = call core.mul(%t79, %t80) :: float
|
59
67
|
%acc_39 = decl_acc :: float
|
60
68
|
%t40 = load_field row_el_37["col"] :: any
|
61
|
-
%t86 = load_field row_el_37["scale"] :: float
|
62
|
-
%t87 = const 2.0 :: float
|
63
|
-
%t88 = call core.mul(%t86, %t87) :: float
|
64
|
-
%t90 = load_input "global_offset" :: float
|
65
|
-
%t91 = const 1.0 :: float
|
66
|
-
%t92 = call core.add(%t90, %t91) :: float
|
67
|
-
%t93 = load_field batch_el_34["mean"] :: float
|
68
|
-
%t94 = call core.add(%t93, %t92) :: float
|
69
69
|
loop col id=L9 in %t40 as el=%col_el_41, idx=%col_i_42
|
70
|
-
%
|
71
|
-
%
|
72
|
-
%
|
73
|
-
%acc_39 = acc_add agg.sum(%acc_39, %
|
70
|
+
%t72 = load_field col_el_41["val"] :: float
|
71
|
+
%t74 = call core.mul(%t72, %t81) :: float
|
72
|
+
%t76 = call core.add(%t74, %t85) :: float
|
73
|
+
%acc_39 = acc_add agg.sum(%acc_39, %t76) :: float
|
74
74
|
end_loop
|
75
75
|
%t44 = acc_load %acc_39 :: float
|
76
76
|
yield %t44
|
@@ -78,29 +78,29 @@
|
|
78
78
|
end_loop
|
79
79
|
)
|
80
80
|
(Declaration batch_total_affine
|
81
|
+
%t115 = load_input "global_offset" :: float
|
82
|
+
%t116 = const 1.0 :: float
|
83
|
+
%t117 = call core.add(%t115, %t116) :: float
|
81
84
|
%t45 = load_input "batch" :: array
|
82
85
|
loop batch id=L10 in %t45 as el=%batch_el_46, idx=%batch_i_47
|
86
|
+
%t113 = load_field batch_el_46["mean"] :: float
|
83
87
|
%acc_48 = decl_acc :: float
|
84
88
|
%t49 = load_field batch_el_46["row"] :: any
|
89
|
+
%t114 = call core.add(%t113, %t117) :: float
|
85
90
|
loop row id=L11 in %t49 as el=%row_el_50, idx=%row_i_51
|
86
|
-
%
|
87
|
-
%
|
88
|
-
%t110 =
|
89
|
-
%
|
90
|
-
%
|
91
|
-
loop col id=L12 in %
|
92
|
-
%
|
93
|
-
%
|
94
|
-
%
|
95
|
-
%
|
96
|
-
%t106 = call core.add(%t105, %t112) :: float
|
97
|
-
%t107 = load_field col_el_41["val"] :: float
|
98
|
-
%t108 = call core.mul(%t107, %t102) :: float
|
99
|
-
%t109 = call core.add(%t108, %t106) :: float
|
100
|
-
%acc77 = acc_add agg.sum(%acc77, %t109) :: float
|
91
|
+
%t108 = load_field row_el_50["scale"] :: float
|
92
|
+
%t109 = const 2.0 :: float
|
93
|
+
%t110 = call core.mul(%t108, %t109) :: float
|
94
|
+
%acc92 = decl_acc :: float
|
95
|
+
%t93 = load_field row_el_50["col"] :: any
|
96
|
+
loop col id=L12 in %t93 as el=%t94, idx=%t95
|
97
|
+
%t101 = load_field t94["val"] :: float
|
98
|
+
%t103 = call core.mul(%t101, %t110) :: float
|
99
|
+
%t105 = call core.add(%t103, %t114) :: float
|
100
|
+
%acc92 = acc_add agg.sum(%acc92, %t105) :: float
|
101
101
|
end_loop
|
102
|
-
%
|
103
|
-
%acc_48 = acc_add agg.sum(%acc_48, %
|
102
|
+
%t97 = acc_load %acc92 :: float
|
103
|
+
%acc_48 = acc_add agg.sum(%acc_48, %t97) :: float
|
104
104
|
end_loop
|
105
105
|
%t53 = acc_load %acc_48 :: float
|
106
106
|
yield %t53
|
@@ -29,19 +29,19 @@
|
|
29
29
|
end_loop
|
30
30
|
)
|
31
31
|
(Declaration elem_affine
|
32
|
+
%t66 = load_input "global_offset" :: float
|
33
|
+
%t67 = const 1.0 :: float
|
34
|
+
%t68 = call core.add(%t66, %t67) :: float
|
32
35
|
%t19 = load_input "batch" :: array
|
33
|
-
%t81 = load_input "global_offset" :: float
|
34
|
-
%t82 = const 1.0 :: float
|
35
36
|
%t60 = const 2.0 :: float
|
36
|
-
%t83 = call core.add(%t81, %t82) :: float
|
37
37
|
loop batch id=L4 in %t19 as el=%batch_el_20, idx=%batch_i_21
|
38
|
-
%t22 = load_field batch_el_20["row"] :: any
|
39
38
|
%t64 = load_field batch_el_20["mean"] :: float
|
40
|
-
%
|
39
|
+
%t22 = load_field batch_el_20["row"] :: any
|
40
|
+
%t65 = call core.add(%t64, %t68) :: float
|
41
41
|
loop row id=L5 in %t22 as el=%row_el_23, idx=%row_i_24
|
42
|
-
%t25 = load_field row_el_23["col"] :: any
|
43
42
|
%t59 = load_field row_el_23["scale"] :: float
|
44
43
|
%t61 = call core.mul(%t59, %t60) :: float
|
44
|
+
%t25 = load_field row_el_23["col"] :: any
|
45
45
|
loop col id=L6 in %t25 as el=%col_el_26, idx=%col_i_27
|
46
46
|
%t28 = load_field col_el_26["val"] :: float
|
47
47
|
%t30 = call core.mul(%t28, %t61) :: float
|
@@ -52,25 +52,25 @@
|
|
52
52
|
end_loop
|
53
53
|
)
|
54
54
|
(Declaration row_sum_affine
|
55
|
+
%t86 = load_input "global_offset" :: float
|
56
|
+
%t87 = const 1.0 :: float
|
57
|
+
%t88 = call core.add(%t86, %t87) :: float
|
55
58
|
%t33 = load_input "batch" :: array
|
56
|
-
%
|
57
|
-
%t90 = load_input "global_offset" :: float
|
58
|
-
%t91 = const 1.0 :: float
|
59
|
-
%t92 = call core.add(%t90, %t91) :: float
|
59
|
+
%t80 = const 2.0 :: float
|
60
60
|
loop batch id=L7 in %t33 as el=%batch_el_34, idx=%batch_i_35
|
61
|
+
%t84 = load_field batch_el_34["mean"] :: float
|
61
62
|
%t36 = load_field batch_el_34["row"] :: any
|
62
|
-
%
|
63
|
-
%t94 = call core.add(%t93, %t92) :: float
|
63
|
+
%t85 = call core.add(%t84, %t88) :: float
|
64
64
|
loop row id=L8 in %t36 as el=%row_el_37, idx=%row_i_38
|
65
|
+
%t79 = load_field row_el_37["scale"] :: float
|
66
|
+
%t81 = call core.mul(%t79, %t80) :: float
|
65
67
|
%acc_39 = decl_acc :: float
|
66
68
|
%t40 = load_field row_el_37["col"] :: any
|
67
|
-
%t86 = load_field row_el_37["scale"] :: float
|
68
|
-
%t88 = call core.mul(%t86, %t87) :: float
|
69
69
|
loop col id=L9 in %t40 as el=%col_el_41, idx=%col_i_42
|
70
|
-
%
|
71
|
-
%
|
72
|
-
%
|
73
|
-
%acc_39 = acc_add agg.sum(%acc_39, %
|
70
|
+
%t72 = load_field col_el_41["val"] :: float
|
71
|
+
%t74 = call core.mul(%t72, %t81) :: float
|
72
|
+
%t76 = call core.add(%t74, %t85) :: float
|
73
|
+
%acc_39 = acc_add agg.sum(%acc_39, %t76) :: float
|
74
74
|
end_loop
|
75
75
|
%t44 = acc_load %acc_39 :: float
|
76
76
|
yield %t44
|
@@ -78,29 +78,29 @@
|
|
78
78
|
end_loop
|
79
79
|
)
|
80
80
|
(Declaration batch_total_affine
|
81
|
+
%t115 = load_input "global_offset" :: float
|
82
|
+
%t116 = const 1.0 :: float
|
83
|
+
%t117 = call core.add(%t115, %t116) :: float
|
81
84
|
%t45 = load_input "batch" :: array
|
82
|
-
%
|
83
|
-
%t111 = const 1.0 :: float
|
84
|
-
%t101 = const 2.0 :: float
|
85
|
-
%t112 = call core.add(%t110, %t111) :: float
|
85
|
+
%t109 = const 2.0 :: float
|
86
86
|
loop batch id=L10 in %t45 as el=%batch_el_46, idx=%batch_i_47
|
87
|
+
%t113 = load_field batch_el_46["mean"] :: float
|
87
88
|
%acc_48 = decl_acc :: float
|
88
89
|
%t49 = load_field batch_el_46["row"] :: any
|
89
|
-
%
|
90
|
-
%t106 = call core.add(%t105, %t112) :: float
|
90
|
+
%t114 = call core.add(%t113, %t117) :: float
|
91
91
|
loop row id=L11 in %t49 as el=%row_el_50, idx=%row_i_51
|
92
|
-
%
|
93
|
-
%
|
94
|
-
%
|
95
|
-
%
|
96
|
-
loop col id=L12 in %
|
97
|
-
%
|
98
|
-
%
|
99
|
-
%
|
100
|
-
%
|
92
|
+
%t108 = load_field row_el_50["scale"] :: float
|
93
|
+
%t110 = call core.mul(%t108, %t109) :: float
|
94
|
+
%acc92 = decl_acc :: float
|
95
|
+
%t93 = load_field row_el_50["col"] :: any
|
96
|
+
loop col id=L12 in %t93 as el=%t94, idx=%t95
|
97
|
+
%t101 = load_field t94["val"] :: float
|
98
|
+
%t103 = call core.mul(%t101, %t110) :: float
|
99
|
+
%t105 = call core.add(%t103, %t114) :: float
|
100
|
+
%acc92 = acc_add agg.sum(%acc92, %t105) :: float
|
101
101
|
end_loop
|
102
|
-
%
|
103
|
-
%acc_48 = acc_add agg.sum(%acc_48, %
|
102
|
+
%t97 = acc_load %acc92 :: float
|
103
|
+
%acc_48 = acc_add agg.sum(%acc_48, %t97) :: float
|
104
104
|
end_loop
|
105
105
|
%t53 = acc_load %acc_48 :: float
|
106
106
|
yield %t53
|
@@ -29,19 +29,19 @@
|
|
29
29
|
end_loop
|
30
30
|
)
|
31
31
|
(Declaration elem_affine
|
32
|
+
%t66 = load_input "global_offset" :: float
|
33
|
+
%t67 = const 1.0 :: float
|
34
|
+
%t68 = call core.add(%t66, %t67) :: float
|
32
35
|
%t19 = load_input "batch" :: array
|
33
|
-
%t81 = load_input "global_offset" :: float
|
34
|
-
%t82 = const 1.0 :: float
|
35
36
|
%t60 = const 2.0 :: float
|
36
|
-
%t83 = call core.add(%t81, %t82) :: float
|
37
37
|
loop batch id=L4 in %t19 as el=%batch_el_20, idx=%batch_i_21
|
38
|
-
%t22 = load_field batch_el_20["row"] :: any
|
39
38
|
%t64 = load_field batch_el_20["mean"] :: float
|
40
|
-
%
|
39
|
+
%t22 = load_field batch_el_20["row"] :: any
|
40
|
+
%t65 = call core.add(%t64, %t68) :: float
|
41
41
|
loop row id=L5 in %t22 as el=%row_el_23, idx=%row_i_24
|
42
|
-
%t25 = load_field row_el_23["col"] :: any
|
43
42
|
%t59 = load_field row_el_23["scale"] :: float
|
44
43
|
%t61 = call core.mul(%t59, %t60) :: float
|
44
|
+
%t25 = load_field row_el_23["col"] :: any
|
45
45
|
loop col id=L6 in %t25 as el=%col_el_26, idx=%col_i_27
|
46
46
|
%t28 = load_field col_el_26["val"] :: float
|
47
47
|
%t30 = call core.mul(%t28, %t61) :: float
|
@@ -52,25 +52,25 @@
|
|
52
52
|
end_loop
|
53
53
|
)
|
54
54
|
(Declaration row_sum_affine
|
55
|
+
%t86 = load_input "global_offset" :: float
|
56
|
+
%t87 = const 1.0 :: float
|
57
|
+
%t88 = call core.add(%t86, %t87) :: float
|
55
58
|
%t33 = load_input "batch" :: array
|
56
|
-
%
|
57
|
-
%t90 = load_input "global_offset" :: float
|
58
|
-
%t91 = const 1.0 :: float
|
59
|
-
%t92 = call core.add(%t90, %t91) :: float
|
59
|
+
%t80 = const 2.0 :: float
|
60
60
|
loop batch id=L7 in %t33 as el=%batch_el_34, idx=%batch_i_35
|
61
|
+
%t84 = load_field batch_el_34["mean"] :: float
|
61
62
|
%t36 = load_field batch_el_34["row"] :: any
|
62
|
-
%
|
63
|
-
%t94 = call core.add(%t93, %t92) :: float
|
63
|
+
%t85 = call core.add(%t84, %t88) :: float
|
64
64
|
loop row id=L8 in %t36 as el=%row_el_37, idx=%row_i_38
|
65
|
+
%t79 = load_field row_el_37["scale"] :: float
|
66
|
+
%t81 = call core.mul(%t79, %t80) :: float
|
65
67
|
%acc_39 = decl_acc :: float
|
66
68
|
%t40 = load_field row_el_37["col"] :: any
|
67
|
-
%t86 = load_field row_el_37["scale"] :: float
|
68
|
-
%t88 = call core.mul(%t86, %t87) :: float
|
69
69
|
loop col id=L9 in %t40 as el=%col_el_41, idx=%col_i_42
|
70
|
-
%
|
71
|
-
%
|
72
|
-
%
|
73
|
-
%acc_39 = acc_add agg.sum(%acc_39, %
|
70
|
+
%t72 = load_field col_el_41["val"] :: float
|
71
|
+
%t74 = call core.mul(%t72, %t81) :: float
|
72
|
+
%t76 = call core.add(%t74, %t85) :: float
|
73
|
+
%acc_39 = acc_add agg.sum(%acc_39, %t76) :: float
|
74
74
|
end_loop
|
75
75
|
%t44 = acc_load %acc_39 :: float
|
76
76
|
yield %t44
|
@@ -78,29 +78,29 @@
|
|
78
78
|
end_loop
|
79
79
|
)
|
80
80
|
(Declaration batch_total_affine
|
81
|
+
%t115 = load_input "global_offset" :: float
|
82
|
+
%t116 = const 1.0 :: float
|
83
|
+
%t117 = call core.add(%t115, %t116) :: float
|
81
84
|
%t45 = load_input "batch" :: array
|
82
|
-
%
|
83
|
-
%t111 = const 1.0 :: float
|
84
|
-
%t101 = const 2.0 :: float
|
85
|
-
%t112 = call core.add(%t110, %t111) :: float
|
85
|
+
%t109 = const 2.0 :: float
|
86
86
|
loop batch id=L10 in %t45 as el=%batch_el_46, idx=%batch_i_47
|
87
|
+
%t113 = load_field batch_el_46["mean"] :: float
|
87
88
|
%acc_48 = decl_acc :: float
|
88
89
|
%t49 = load_field batch_el_46["row"] :: any
|
89
|
-
%
|
90
|
-
%t106 = call core.add(%t105, %t112) :: float
|
90
|
+
%t114 = call core.add(%t113, %t117) :: float
|
91
91
|
loop row id=L11 in %t49 as el=%row_el_50, idx=%row_i_51
|
92
|
-
%
|
93
|
-
%
|
94
|
-
%
|
95
|
-
%
|
96
|
-
loop col id=L12 in %
|
97
|
-
%
|
98
|
-
%
|
99
|
-
%
|
100
|
-
%
|
92
|
+
%t108 = load_field row_el_50["scale"] :: float
|
93
|
+
%t110 = call core.mul(%t108, %t109) :: float
|
94
|
+
%acc92 = decl_acc :: float
|
95
|
+
%t93 = load_field row_el_50["col"] :: any
|
96
|
+
loop col id=L12 in %t93 as el=%t94, idx=%t95
|
97
|
+
%t101 = load_field t94["val"] :: float
|
98
|
+
%t103 = call core.mul(%t101, %t110) :: float
|
99
|
+
%t105 = call core.add(%t103, %t114) :: float
|
100
|
+
%acc92 = acc_add agg.sum(%acc92, %t105) :: float
|
101
101
|
end_loop
|
102
|
-
%
|
103
|
-
%acc_48 = acc_add agg.sum(%acc_48, %
|
102
|
+
%t97 = acc_load %acc92 :: float
|
103
|
+
%acc_48 = acc_add agg.sum(%acc_48, %t97) :: float
|
104
104
|
end_loop
|
105
105
|
%t53 = acc_load %acc_48 :: float
|
106
106
|
yield %t53
|
@@ -38,21 +38,21 @@ export function _row_scale2(input) {
|
|
38
38
|
|
39
39
|
export function _elem_affine(input) {
|
40
40
|
let out = [];
|
41
|
+
let t66 = input["global_offset"];
|
42
|
+
const t67 = 1.0;
|
43
|
+
let t68 = t66 + t67;
|
41
44
|
let t19 = input["batch"];
|
42
|
-
let t81 = input["global_offset"];
|
43
|
-
const t82 = 1.0;
|
44
45
|
const t60 = 2.0;
|
45
|
-
let t83 = t81 + t82;
|
46
46
|
t19.forEach((batch_el_20, batch_i_21) => {
|
47
47
|
let out_1 = [];
|
48
|
-
let t22 = batch_el_20["row"];
|
49
48
|
let t64 = batch_el_20["mean"];
|
50
|
-
let
|
49
|
+
let t22 = batch_el_20["row"];
|
50
|
+
let t65 = t64 + t68;
|
51
51
|
t22.forEach((row_el_23, row_i_24) => {
|
52
52
|
let out_2 = [];
|
53
|
-
let t25 = row_el_23["col"];
|
54
53
|
let t59 = row_el_23["scale"];
|
55
54
|
let t61 = t59 * t60;
|
55
|
+
let t25 = row_el_23["col"];
|
56
56
|
t25.forEach((col_el_26, col_i_27) => {
|
57
57
|
let t28 = col_el_26["val"];
|
58
58
|
let t30 = t28 * t61;
|
@@ -68,26 +68,26 @@ export function _elem_affine(input) {
|
|
68
68
|
|
69
69
|
export function _row_sum_affine(input) {
|
70
70
|
let out = [];
|
71
|
+
let t86 = input["global_offset"];
|
72
|
+
const t87 = 1.0;
|
73
|
+
let t88 = t86 + t87;
|
71
74
|
let t33 = input["batch"];
|
72
|
-
const
|
73
|
-
let t90 = input["global_offset"];
|
74
|
-
const t91 = 1.0;
|
75
|
-
let t92 = t90 + t91;
|
75
|
+
const t80 = 2.0;
|
76
76
|
t33.forEach((batch_el_34, batch_i_35) => {
|
77
77
|
let out_1 = [];
|
78
|
+
let t84 = batch_el_34["mean"];
|
78
79
|
let t36 = batch_el_34["row"];
|
79
|
-
let
|
80
|
-
let t94 = t93 + t92;
|
80
|
+
let t85 = t84 + t88;
|
81
81
|
t36.forEach((row_el_37, row_i_38) => {
|
82
|
+
let t79 = row_el_37["scale"];
|
83
|
+
let t81 = t79 * t80;
|
82
84
|
let acc_39 = 0.0;
|
83
85
|
let t40 = row_el_37["col"];
|
84
|
-
let t86 = row_el_37["scale"];
|
85
|
-
let t88 = t86 * t87;
|
86
86
|
t40.forEach((col_el_41, col_i_42) => {
|
87
|
-
let
|
88
|
-
let
|
89
|
-
let
|
90
|
-
acc_39 +=
|
87
|
+
let t72 = col_el_41["val"];
|
88
|
+
let t74 = t72 * t81;
|
89
|
+
let t76 = t74 + t85;
|
90
|
+
acc_39 += t76;
|
91
91
|
});
|
92
92
|
out_1.push(acc_39);
|
93
93
|
});
|
@@ -98,28 +98,28 @@ export function _row_sum_affine(input) {
|
|
98
98
|
|
99
99
|
export function _batch_total_affine(input) {
|
100
100
|
let out = [];
|
101
|
+
let t115 = input["global_offset"];
|
102
|
+
const t116 = 1.0;
|
103
|
+
let t117 = t115 + t116;
|
101
104
|
let t45 = input["batch"];
|
102
|
-
|
103
|
-
const t111 = 1.0;
|
104
|
-
const t101 = 2.0;
|
105
|
-
let t112 = t110 + t111;
|
105
|
+
const t109 = 2.0;
|
106
106
|
t45.forEach((batch_el_46, batch_i_47) => {
|
107
|
+
let t113 = batch_el_46["mean"];
|
107
108
|
let acc_48 = 0.0;
|
108
109
|
let t49 = batch_el_46["row"];
|
109
|
-
let
|
110
|
-
let t106 = t105 + t112;
|
110
|
+
let t114 = t113 + t117;
|
111
111
|
t49.forEach((row_el_50, row_i_51) => {
|
112
|
-
let
|
113
|
-
let
|
114
|
-
let
|
115
|
-
let
|
116
|
-
|
117
|
-
let
|
118
|
-
let
|
119
|
-
let
|
120
|
-
|
112
|
+
let t108 = row_el_50["scale"];
|
113
|
+
let t110 = t108 * t109;
|
114
|
+
let acc92 = 0.0;
|
115
|
+
let t93 = row_el_50["col"];
|
116
|
+
t93.forEach((t94, t95) => {
|
117
|
+
let t101 = t94["val"];
|
118
|
+
let t103 = t101 * t110;
|
119
|
+
let t105 = t103 + t114;
|
120
|
+
acc92 += t105;
|
121
121
|
});
|
122
|
-
acc_48 +=
|
122
|
+
acc_48 += acc92;
|
123
123
|
});
|
124
124
|
out.push(acc_48);
|
125
125
|
});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_7493f45c6a56b6958f928d8337e155ecf85850b56acef5a72dee8f1f697d1aac
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -69,21 +69,21 @@ module Kumi::Compiled::KUMI_e0419fbf641de528f8d1c03f124e177804f1a04ed69561ff0fe2
|
|
69
69
|
|
70
70
|
def _elem_affine(input = @input)
|
71
71
|
out = []
|
72
|
+
t66 = input["global_offset"] || input[:global_offset]
|
73
|
+
t67 = 1.0
|
74
|
+
t68 = t66 + t67
|
72
75
|
t19 = input["batch"] || input[:batch]
|
73
|
-
t81 = input["global_offset"] || input[:global_offset]
|
74
|
-
t82 = 1.0
|
75
76
|
t60 = 2.0
|
76
|
-
t83 = t81 + t82
|
77
77
|
t19.each_with_index do |batch_el_20, batch_i_21|
|
78
78
|
out_1 = []
|
79
|
-
t22 = batch_el_20["row"] || batch_el_20[:row]
|
80
79
|
t64 = batch_el_20["mean"] || batch_el_20[:mean]
|
81
|
-
|
80
|
+
t22 = batch_el_20["row"] || batch_el_20[:row]
|
81
|
+
t65 = t64 + t68
|
82
82
|
t22.each_with_index do |row_el_23, row_i_24|
|
83
83
|
out_2 = []
|
84
|
-
t25 = row_el_23["col"] || row_el_23[:col]
|
85
84
|
t59 = row_el_23["scale"] || row_el_23[:scale]
|
86
85
|
t61 = t59 * t60
|
86
|
+
t25 = row_el_23["col"] || row_el_23[:col]
|
87
87
|
t25.each_with_index do |col_el_26, col_i_27|
|
88
88
|
t28 = col_el_26["val"] || col_el_26[:val]
|
89
89
|
t30 = t28 * t61
|
@@ -99,26 +99,26 @@ module Kumi::Compiled::KUMI_e0419fbf641de528f8d1c03f124e177804f1a04ed69561ff0fe2
|
|
99
99
|
|
100
100
|
def _row_sum_affine(input = @input)
|
101
101
|
out = []
|
102
|
+
t86 = input["global_offset"] || input[:global_offset]
|
103
|
+
t87 = 1.0
|
104
|
+
t88 = t86 + t87
|
102
105
|
t33 = input["batch"] || input[:batch]
|
103
|
-
|
104
|
-
t90 = input["global_offset"] || input[:global_offset]
|
105
|
-
t91 = 1.0
|
106
|
-
t92 = t90 + t91
|
106
|
+
t80 = 2.0
|
107
107
|
t33.each_with_index do |batch_el_34, batch_i_35|
|
108
108
|
out_1 = []
|
109
|
+
t84 = batch_el_34["mean"] || batch_el_34[:mean]
|
109
110
|
t36 = batch_el_34["row"] || batch_el_34[:row]
|
110
|
-
|
111
|
-
t94 = t93 + t92
|
111
|
+
t85 = t84 + t88
|
112
112
|
t36.each_with_index do |row_el_37, row_i_38|
|
113
|
+
t79 = row_el_37["scale"] || row_el_37[:scale]
|
114
|
+
t81 = t79 * t80
|
113
115
|
acc_39 = 0.0
|
114
116
|
t40 = row_el_37["col"] || row_el_37[:col]
|
115
|
-
t86 = row_el_37["scale"] || row_el_37[:scale]
|
116
|
-
t88 = t86 * t87
|
117
117
|
t40.each_with_index do |col_el_41, col_i_42|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
acc_39 +=
|
118
|
+
t72 = col_el_41["val"] || col_el_41[:val]
|
119
|
+
t74 = t72 * t81
|
120
|
+
t76 = t74 + t85
|
121
|
+
acc_39 += t76
|
122
122
|
end
|
123
123
|
t44 = acc_39
|
124
124
|
out_1 << t44
|
@@ -130,29 +130,29 @@ module Kumi::Compiled::KUMI_e0419fbf641de528f8d1c03f124e177804f1a04ed69561ff0fe2
|
|
130
130
|
|
131
131
|
def _batch_total_affine(input = @input)
|
132
132
|
out = []
|
133
|
+
t115 = input["global_offset"] || input[:global_offset]
|
134
|
+
t116 = 1.0
|
135
|
+
t117 = t115 + t116
|
133
136
|
t45 = input["batch"] || input[:batch]
|
134
|
-
|
135
|
-
t111 = 1.0
|
136
|
-
t101 = 2.0
|
137
|
-
t112 = t110 + t111
|
137
|
+
t109 = 2.0
|
138
138
|
t45.each_with_index do |batch_el_46, batch_i_47|
|
139
|
+
t113 = batch_el_46["mean"] || batch_el_46[:mean]
|
139
140
|
acc_48 = 0.0
|
140
141
|
t49 = batch_el_46["row"] || batch_el_46[:row]
|
141
|
-
|
142
|
-
t106 = t105 + t112
|
142
|
+
t114 = t113 + t117
|
143
143
|
t49.each_with_index do |row_el_50, row_i_51|
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
144
|
+
t108 = row_el_50["scale"] || row_el_50[:scale]
|
145
|
+
t110 = t108 * t109
|
146
|
+
acc92 = 0.0
|
147
|
+
t93 = row_el_50["col"] || row_el_50[:col]
|
148
|
+
t93.each_with_index do |t94, t95|
|
149
|
+
t101 = t94["val"] || t94[:val]
|
150
|
+
t103 = t101 * t110
|
151
|
+
t105 = t103 + t114
|
152
|
+
acc92 += t105
|
153
153
|
end
|
154
|
-
|
155
|
-
acc_48 +=
|
154
|
+
t97 = acc92
|
155
|
+
acc_48 += t97
|
156
156
|
end
|
157
157
|
t53 = acc_48
|
158
158
|
out << t53
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_06206c81b13d30ba2dfe33471a73d550acd8ceaaed39c3bc060cd965ef719e19
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -31,48 +31,48 @@
|
|
31
31
|
%t34 = load_input "departments" :: array
|
32
32
|
%acc36 = decl_acc :: integer
|
33
33
|
%t37 = load_field departments_el_20["teams"] :: any
|
34
|
-
loop teams id=L8 in %t37 as el=%
|
35
|
-
%
|
36
|
-
%acc36 = acc_add agg.sum(%acc36, %
|
34
|
+
loop teams id=L8 in %t37 as el=%t38, idx=%t39
|
35
|
+
%t40 = load_field t38["headcount"] :: integer
|
36
|
+
%acc36 = acc_add agg.sum(%acc36, %t40) :: integer
|
37
37
|
end_loop
|
38
|
-
%
|
39
|
-
%
|
40
|
-
%
|
41
|
-
%
|
42
|
-
loop teams id=L9 in %
|
43
|
-
%
|
44
|
-
%
|
38
|
+
%t41 = acc_load %acc36 :: integer
|
39
|
+
%t42 = load_input "departments" :: array
|
40
|
+
%acc44 = decl_acc :: integer
|
41
|
+
%t45 = load_field departments_el_20["teams"] :: any
|
42
|
+
loop teams id=L9 in %t45 as el=%t46, idx=%t47
|
43
|
+
%t48 = load_field t46["team_name"] :: string
|
44
|
+
%acc44 = acc_add agg.count(%acc44, %t48) :: integer
|
45
45
|
end_loop
|
46
|
-
%
|
47
|
-
%t24 = call core.div(%
|
46
|
+
%t49 = acc_load %acc44 :: integer
|
47
|
+
%t24 = call core.div(%t41, %t49) :: float
|
48
48
|
yield %t24
|
49
49
|
end_loop
|
50
50
|
)
|
51
51
|
(Declaration is_above_average_team
|
52
52
|
%t25 = load_input "departments" :: array
|
53
53
|
loop departments id=L6 in %t25 as el=%departments_el_26, idx=%departments_i_27
|
54
|
-
%
|
55
|
-
%
|
56
|
-
%
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
%t54 = load_field teams_el_6["headcount"] :: integer
|
61
|
-
%acc52 = acc_add agg.sum(%acc52, %t54) :: integer
|
54
|
+
%t54 = load_input "departments" :: array
|
55
|
+
%acc56 = decl_acc :: integer
|
56
|
+
%t57 = load_field departments_el_26["teams"] :: any
|
57
|
+
loop teams id=L10 in %t57 as el=%t58, idx=%t59
|
58
|
+
%t60 = load_field t58["headcount"] :: integer
|
59
|
+
%acc56 = acc_add agg.sum(%acc56, %t60) :: integer
|
62
60
|
end_loop
|
63
|
-
%
|
64
|
-
%
|
65
|
-
%
|
66
|
-
%
|
67
|
-
loop teams id=L11 in %
|
68
|
-
%
|
69
|
-
%
|
61
|
+
%t61 = acc_load %acc56 :: integer
|
62
|
+
%t62 = load_input "departments" :: array
|
63
|
+
%acc64 = decl_acc :: integer
|
64
|
+
%t65 = load_field departments_el_26["teams"] :: any
|
65
|
+
loop teams id=L11 in %t65 as el=%t66, idx=%t67
|
66
|
+
%t68 = load_field t66["team_name"] :: string
|
67
|
+
%acc64 = acc_add agg.count(%acc64, %t68) :: integer
|
70
68
|
end_loop
|
71
|
-
%
|
72
|
-
%
|
69
|
+
%t69 = acc_load %acc64 :: integer
|
70
|
+
%t50 = load_input "departments" :: array
|
71
|
+
%t53 = call core.div(%t61, %t69) :: float
|
72
|
+
%t28 = load_field departments_el_26["teams"] :: any
|
73
73
|
loop teams id=L7 in %t28 as el=%teams_el_29, idx=%teams_i_30
|
74
74
|
%t31 = load_field teams_el_29["headcount"] :: integer
|
75
|
-
%t33 = call core.gt(%t31, %
|
75
|
+
%t33 = call core.gt(%t31, %t53) :: boolean
|
76
76
|
yield %t33
|
77
77
|
end_loop
|
78
78
|
end_loop
|