kumi 0.0.24 → 0.0.26
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 +14 -0
- data/README.md +70 -71
- data/data/functions/agg/boolean.yaml +6 -2
- data/data/functions/agg/numeric.yaml +32 -16
- data/data/functions/agg/string.yaml +4 -3
- data/data/functions/core/arithmetic.yaml +62 -14
- data/data/functions/core/boolean.yaml +12 -6
- data/data/functions/core/comparison.yaml +25 -13
- data/data/functions/core/constructor.yaml +16 -8
- data/data/functions/core/select.yaml +3 -1
- data/data/functions/core/stencil.yaml +14 -5
- data/data/functions/core/string.yaml +9 -4
- data/data/kernels/ruby/agg/numeric.yaml +1 -1
- data/docs/UNSAT_DETECTION.md +83 -0
- data/golden/array_element/expected/nast.txt +1 -1
- data/golden/array_element/expected/schema_ruby.rb +1 -1
- data/golden/array_index/expected/nast.txt +7 -7
- data/golden/array_index/expected/schema_ruby.rb +1 -1
- data/golden/array_operations/expected/nast.txt +2 -2
- data/golden/array_operations/expected/schema_ruby.rb +1 -1
- data/golden/array_operations/expected/snast.txt +3 -3
- data/golden/cascade_logic/expected/lir_02_inlined.txt +8 -8
- data/golden/cascade_logic/expected/schema_ruby.rb +1 -1
- data/golden/cascade_logic/expected/snast.txt +2 -2
- 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/nast.txt +2 -2
- 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/nast.txt +2 -2
- data/golden/element_arrays/expected/schema_ruby.rb +1 -1
- data/golden/element_arrays/expected/snast.txt +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/nast.txt +3 -3
- 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/function_overload/expected/ast.txt +29 -0
- data/golden/function_overload/expected/input_plan.txt +4 -0
- data/golden/function_overload/expected/lir_00_unoptimized.txt +18 -0
- data/golden/function_overload/expected/lir_01_hoist_scalar_references.txt +18 -0
- data/golden/function_overload/expected/lir_02_inlined.txt +20 -0
- data/golden/function_overload/expected/lir_03_cse.txt +20 -0
- data/golden/function_overload/expected/lir_04_1_loop_fusion.txt +20 -0
- data/golden/function_overload/expected/lir_04_loop_invcm.txt +20 -0
- data/golden/function_overload/expected/lir_06_const_prop.txt +20 -0
- data/golden/function_overload/expected/nast.txt +22 -0
- data/golden/function_overload/expected/schema_javascript.mjs +12 -0
- data/golden/function_overload/expected/schema_ruby.rb +39 -0
- data/golden/function_overload/expected/snast.txt +22 -0
- data/golden/function_overload/input.json +8 -0
- data/golden/function_overload/schema.kumi +19 -0
- data/golden/game_of_life/expected/lir_00_unoptimized.txt +4 -4
- data/golden/game_of_life/expected/lir_01_hoist_scalar_references.txt +4 -4
- data/golden/game_of_life/expected/lir_02_inlined.txt +1294 -1294
- data/golden/game_of_life/expected/lir_03_cse.txt +403 -399
- data/golden/game_of_life/expected/lir_04_1_loop_fusion.txt +403 -399
- data/golden/game_of_life/expected/lir_04_loop_invcm.txt +403 -399
- data/golden/game_of_life/expected/lir_06_const_prop.txt +403 -399
- data/golden/game_of_life/expected/nast.txt +4 -4
- data/golden/game_of_life/expected/schema_javascript.mjs +87 -85
- data/golden/game_of_life/expected/schema_ruby.rb +88 -86
- data/golden/game_of_life/expected/snast.txt +10 -10
- data/golden/hash_keys/expected/schema_ruby.rb +1 -1
- data/golden/hash_value/expected/nast.txt +1 -1
- data/golden/hash_value/expected/schema_ruby.rb +1 -1
- data/golden/hash_value/expected/snast.txt +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/nast.txt +3 -3
- data/golden/hierarchical_complex/expected/schema_javascript.mjs +1 -1
- data/golden/hierarchical_complex/expected/schema_ruby.rb +2 -2
- data/golden/hierarchical_complex/expected/snast.txt +3 -3
- data/golden/inline_rename_scope_leak/expected/nast.txt +3 -3
- data/golden/inline_rename_scope_leak/expected/schema_ruby.rb +1 -1
- data/golden/input_reference/expected/nast.txt +2 -2
- 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/nast.txt +2 -2
- 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/nast.txt +4 -4
- 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/nast.txt +1 -1
- 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/nast.txt +3 -3
- data/golden/min_reduce_scope/expected/schema_ruby.rb +1 -1
- data/golden/min_reduce_scope/expected/snast.txt +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/nast.txt +2 -2
- 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/nast.txt +7 -7
- 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/nast.txt +1 -1
- 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/nast.txt +3 -3
- data/golden/reduction_broadcast/expected/schema_javascript.mjs +18 -18
- data/golden/reduction_broadcast/expected/schema_ruby.rb +23 -23
- data/golden/reduction_broadcast/expected/snast.txt +1 -1
- 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/lir_00_unoptimized.txt +1 -1
- data/golden/simple_math/expected/lir_01_hoist_scalar_references.txt +1 -1
- data/golden/simple_math/expected/lir_02_inlined.txt +1 -1
- data/golden/simple_math/expected/lir_03_cse.txt +1 -1
- data/golden/simple_math/expected/lir_04_1_loop_fusion.txt +1 -1
- data/golden/simple_math/expected/lir_04_loop_invcm.txt +1 -1
- data/golden/simple_math/expected/lir_06_const_prop.txt +1 -1
- data/golden/simple_math/expected/nast.txt +5 -5
- data/golden/simple_math/expected/schema_ruby.rb +1 -1
- data/golden/simple_math/expected/snast.txt +2 -2
- 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/nast.txt +8 -8
- data/golden/streaming_basics/expected/schema_javascript.mjs +13 -13
- data/golden/streaming_basics/expected/schema_ruby.rb +14 -14
- data/golden/streaming_basics/expected/snast.txt +1 -1
- data/golden/tuples/expected/lir_00_unoptimized.txt +5 -5
- data/golden/tuples/expected/lir_01_hoist_scalar_references.txt +5 -5
- data/golden/tuples/expected/lir_02_inlined.txt +5 -5
- data/golden/tuples/expected/lir_03_cse.txt +5 -5
- data/golden/tuples/expected/lir_04_1_loop_fusion.txt +5 -5
- data/golden/tuples/expected/lir_04_loop_invcm.txt +5 -5
- data/golden/tuples/expected/lir_06_const_prop.txt +5 -5
- data/golden/tuples/expected/nast.txt +4 -4
- data/golden/tuples/expected/schema_ruby.rb +1 -1
- data/golden/tuples/expected/snast.txt +6 -6
- data/golden/tuples_and_arrays/expected/lir_00_unoptimized.txt +1 -1
- data/golden/tuples_and_arrays/expected/lir_01_hoist_scalar_references.txt +1 -1
- data/golden/tuples_and_arrays/expected/lir_02_inlined.txt +17 -17
- 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/nast.txt +3 -3
- data/golden/tuples_and_arrays/expected/schema_javascript.mjs +13 -13
- data/golden/tuples_and_arrays/expected/schema_ruby.rb +14 -14
- data/golden/tuples_and_arrays/expected/snast.txt +2 -2
- data/golden/us_tax_2024/expected/ast.txt +63 -670
- data/golden/us_tax_2024/expected/input_plan.txt +8 -45
- data/golden/us_tax_2024/expected/lir_00_unoptimized.txt +253 -863
- data/golden/us_tax_2024/expected/lir_01_hoist_scalar_references.txt +253 -863
- data/golden/us_tax_2024/expected/lir_02_inlined.txt +1215 -5139
- data/golden/us_tax_2024/expected/lir_03_cse.txt +587 -2460
- data/golden/us_tax_2024/expected/lir_04_1_loop_fusion.txt +632 -2480
- data/golden/us_tax_2024/expected/lir_04_loop_invcm.txt +587 -2400
- data/golden/us_tax_2024/expected/lir_06_const_prop.txt +587 -2400
- data/golden/us_tax_2024/expected/nast.txt +123 -826
- data/golden/us_tax_2024/expected/schema_javascript.mjs +127 -581
- data/golden/us_tax_2024/expected/schema_ruby.rb +135 -610
- data/golden/us_tax_2024/expected/snast.txt +155 -858
- data/golden/us_tax_2024/expected.json +120 -1
- data/golden/us_tax_2024/input.json +18 -9
- data/golden/us_tax_2024/schema.kumi +48 -178
- data/golden/with_constants/expected/lir_00_unoptimized.txt +1 -1
- data/golden/with_constants/expected/lir_01_hoist_scalar_references.txt +1 -1
- data/golden/with_constants/expected/lir_02_inlined.txt +1 -1
- data/golden/with_constants/expected/lir_03_cse.txt +1 -1
- data/golden/with_constants/expected/lir_04_1_loop_fusion.txt +1 -1
- data/golden/with_constants/expected/lir_04_loop_invcm.txt +1 -1
- data/golden/with_constants/expected/lir_06_const_prop.txt +1 -1
- data/golden/with_constants/expected/nast.txt +2 -2
- data/golden/with_constants/expected/schema_ruby.rb +1 -1
- data/golden/with_constants/expected/snast.txt +2 -2
- data/lib/kumi/analyzer.rb +12 -12
- data/lib/kumi/core/analyzer/passes/formal_constraint_propagator.rb +236 -0
- data/lib/kumi/core/analyzer/passes/input_collector.rb +22 -4
- data/lib/kumi/core/analyzer/passes/lir/inline_declarations_pass.rb +118 -74
- data/lib/kumi/core/analyzer/passes/nast_dimensional_analyzer_pass.rb +64 -18
- data/lib/kumi/core/analyzer/passes/normalize_to_nast_pass.rb +9 -4
- data/lib/kumi/core/analyzer/passes/snast_pass.rb +3 -1
- data/lib/kumi/core/analyzer/passes/unsat_detector.rb +172 -198
- data/lib/kumi/core/error_reporter.rb +36 -1
- data/lib/kumi/core/errors.rb +33 -1
- data/lib/kumi/core/functions/function_spec.rb +5 -4
- data/lib/kumi/core/functions/loader.rb +17 -1
- data/lib/kumi/core/functions/overload_resolver.rb +164 -0
- data/lib/kumi/core/functions/type_error_reporter.rb +118 -0
- data/lib/kumi/core/functions/type_rules.rb +155 -35
- data/lib/kumi/core/types/inference.rb +29 -22
- data/lib/kumi/core/types/normalizer.rb +29 -45
- data/lib/kumi/core/types/validator.rb +16 -27
- data/lib/kumi/core/types/value_objects.rb +116 -0
- data/lib/kumi/core/types.rb +45 -37
- data/lib/kumi/registry_v2/loader.rb +90 -0
- data/lib/kumi/registry_v2.rb +18 -1
- data/lib/kumi/version.rb +1 -1
- metadata +21 -7
- data/lib/kumi/core/analyzer/unsat_constant_evaluator.rb +0 -59
- data/lib/kumi/core/atom_unsat_solver.rb +0 -396
- data/lib/kumi/core/constraint_relationship_solver.rb +0 -641
- data/lib/kumi/core/types/builder.rb +0 -23
- data/lib/kumi/core/types/compatibility.rb +0 -96
- data/lib/kumi/core/types/formatter.rb +0 -26
@@ -29,22 +29,22 @@
|
|
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
|
+
%t62 = load_input "batch" :: array
|
38
|
+
%t64 = load_field batch_el_20["mean"] :: float
|
39
|
+
%t65 = call core.add(%t64, %t68) :: float
|
34
40
|
%t22 = load_field batch_el_20["row"] :: any
|
35
|
-
%t81 = load_input "global_offset" :: float
|
36
|
-
%t82 = const 1.0 :: float
|
37
|
-
%t83 = call core.add(%t81, %t82) :: float
|
38
41
|
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
42
|
%t57 = load_input "batch" :: array
|
41
43
|
%t58 = load_field batch_el_20["row"] :: any
|
42
44
|
%t59 = load_field row_el_23["scale"] :: float
|
43
45
|
%t60 = const 2.0 :: float
|
44
46
|
%t61 = call core.mul(%t59, %t60) :: float
|
45
|
-
%
|
46
|
-
%t64 = load_field batch_el_20["mean"] :: float
|
47
|
-
%t65 = call core.add(%t64, %t83) :: float
|
47
|
+
%t25 = load_field row_el_23["col"] :: any
|
48
48
|
loop col id=L6 in %t25 as el=%col_el_26, idx=%col_i_27
|
49
49
|
%t28 = load_field col_el_26["val"] :: float
|
50
50
|
%t30 = call core.mul(%t28, %t61) :: float
|
@@ -55,31 +55,31 @@
|
|
55
55
|
end_loop
|
56
56
|
)
|
57
57
|
(Declaration row_sum_affine
|
58
|
+
%t86 = load_input "global_offset" :: float
|
59
|
+
%t87 = const 1.0 :: float
|
60
|
+
%t88 = call core.add(%t86, %t87) :: float
|
58
61
|
%t33 = load_input "batch" :: array
|
59
62
|
loop batch id=L7 in %t33 as el=%batch_el_34, idx=%batch_i_35
|
63
|
+
%t82 = load_input "batch" :: array
|
64
|
+
%t84 = load_field batch_el_34["mean"] :: float
|
65
|
+
%t85 = call core.add(%t84, %t88) :: float
|
60
66
|
%t36 = load_field batch_el_34["row"] :: any
|
61
67
|
loop row id=L8 in %t36 as el=%row_el_37, idx=%row_i_38
|
68
|
+
%t77 = load_input "batch" :: array
|
69
|
+
%t78 = load_field batch_el_34["row"] :: any
|
70
|
+
%t79 = load_field row_el_37["scale"] :: float
|
71
|
+
%t80 = const 2.0 :: float
|
72
|
+
%t81 = call core.mul(%t79, %t80) :: float
|
62
73
|
%acc_39 = decl_acc :: float
|
63
74
|
%t40 = load_field row_el_37["col"] :: any
|
64
|
-
%t84 = load_input "batch" :: array
|
65
|
-
%t85 = load_field batch_el_34["row"] :: any
|
66
|
-
%t86 = load_field row_el_37["scale"] :: float
|
67
|
-
%t87 = const 2.0 :: float
|
68
|
-
%t88 = call core.mul(%t86, %t87) :: float
|
69
|
-
%t89 = load_input "batch" :: array
|
70
|
-
%t90 = load_input "global_offset" :: float
|
71
|
-
%t91 = const 1.0 :: float
|
72
|
-
%t92 = call core.add(%t90, %t91) :: float
|
73
|
-
%t93 = load_field batch_el_34["mean"] :: float
|
74
|
-
%t94 = call core.add(%t93, %t92) :: float
|
75
75
|
loop col id=L9 in %t40 as el=%col_el_41, idx=%col_i_42
|
76
|
-
%
|
77
|
-
%
|
78
|
-
%
|
79
|
-
%
|
80
|
-
%
|
81
|
-
%
|
82
|
-
%acc_39 = acc_add agg.sum(%acc_39, %
|
76
|
+
%t69 = load_input "batch" :: array
|
77
|
+
%t70 = load_field batch_el_34["row"] :: any
|
78
|
+
%t71 = load_field row_el_37["col"] :: any
|
79
|
+
%t72 = load_field col_el_41["val"] :: float
|
80
|
+
%t74 = call core.mul(%t72, %t81) :: float
|
81
|
+
%t76 = call core.add(%t74, %t85) :: float
|
82
|
+
%acc_39 = acc_add agg.sum(%acc_39, %t76) :: float
|
83
83
|
end_loop
|
84
84
|
%t44 = acc_load %acc_39 :: float
|
85
85
|
yield %t44
|
@@ -87,37 +87,37 @@
|
|
87
87
|
end_loop
|
88
88
|
)
|
89
89
|
(Declaration batch_total_affine
|
90
|
+
%t115 = load_input "global_offset" :: float
|
91
|
+
%t116 = const 1.0 :: float
|
92
|
+
%t117 = call core.add(%t115, %t116) :: float
|
90
93
|
%t45 = load_input "batch" :: array
|
91
94
|
loop batch id=L10 in %t45 as el=%batch_el_46, idx=%batch_i_47
|
95
|
+
%t111 = load_input "batch" :: array
|
96
|
+
%t113 = load_field batch_el_46["mean"] :: float
|
97
|
+
%t114 = call core.add(%t113, %t117) :: float
|
92
98
|
%acc_48 = decl_acc :: float
|
93
99
|
%t49 = load_field batch_el_46["row"] :: any
|
94
100
|
loop row id=L11 in %t49 as el=%row_el_50, idx=%row_i_51
|
95
|
-
%
|
96
|
-
%
|
97
|
-
%
|
98
|
-
%
|
99
|
-
%t110 =
|
100
|
-
%
|
101
|
-
%
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
%t97 = load_field row_el_50["col"] :: any
|
101
|
+
%t106 = load_input "batch" :: array
|
102
|
+
%t107 = load_field batch_el_46["row"] :: any
|
103
|
+
%t108 = load_field row_el_50["scale"] :: float
|
104
|
+
%t109 = const 2.0 :: float
|
105
|
+
%t110 = call core.mul(%t108, %t109) :: float
|
106
|
+
%t89 = load_input "batch" :: array
|
107
|
+
%t90 = load_field batch_el_46["row"] :: any
|
108
|
+
%acc92 = decl_acc :: float
|
109
|
+
%t93 = load_field row_el_50["col"] :: any
|
110
|
+
loop col id=L12 in %t93 as el=%t94, idx=%t95
|
106
111
|
%t98 = load_input "batch" :: array
|
107
112
|
%t99 = load_field batch_el_46["row"] :: any
|
108
|
-
%t100 = load_field row_el_50["
|
109
|
-
%t101 =
|
110
|
-
%
|
111
|
-
%
|
112
|
-
%
|
113
|
-
%t106 = call core.add(%t105, %t112) :: float
|
114
|
-
%t107 = load_field col_el_41["val"] :: float
|
115
|
-
%t108 = call core.mul(%t107, %t102) :: float
|
116
|
-
%t109 = call core.add(%t108, %t106) :: float
|
117
|
-
%acc77 = acc_add agg.sum(%acc77, %t109) :: float
|
113
|
+
%t100 = load_field row_el_50["col"] :: any
|
114
|
+
%t101 = load_field t94["val"] :: float
|
115
|
+
%t103 = call core.mul(%t101, %t110) :: float
|
116
|
+
%t105 = call core.add(%t103, %t114) :: float
|
117
|
+
%acc92 = acc_add agg.sum(%acc92, %t105) :: float
|
118
118
|
end_loop
|
119
|
-
%
|
120
|
-
%acc_48 = acc_add agg.sum(%acc_48, %
|
119
|
+
%t97 = acc_load %acc92 :: float
|
120
|
+
%acc_48 = acc_add agg.sum(%acc_48, %t97) :: float
|
121
121
|
end_loop
|
122
122
|
%t53 = acc_load %acc_48 :: float
|
123
123
|
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
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
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
|
@@ -1,25 +1,25 @@
|
|
1
1
|
(NAST
|
2
2
|
(VALUE global_offset_plus
|
3
|
-
(Call :
|
3
|
+
(Call :add
|
4
4
|
(InputRef [:global_offset])
|
5
5
|
(Const 1.0)
|
6
6
|
)
|
7
7
|
)
|
8
8
|
(VALUE batch_bias
|
9
|
-
(Call :
|
9
|
+
(Call :add
|
10
10
|
(InputRef [:batch, :b, :mean])
|
11
11
|
(Ref global_offset_plus)
|
12
12
|
)
|
13
13
|
)
|
14
14
|
(VALUE row_scale2
|
15
|
-
(Call :
|
15
|
+
(Call :multiply
|
16
16
|
(InputRef [:batch, :b, :row, :r, :scale])
|
17
17
|
(Const 2.0)
|
18
18
|
)
|
19
19
|
)
|
20
20
|
(VALUE elem_affine
|
21
|
-
(Call :
|
22
|
-
(Call :
|
21
|
+
(Call :add
|
22
|
+
(Call :multiply
|
23
23
|
(InputRef [:batch, :b, :row, :r, :col, :c, :val])
|
24
24
|
(Ref row_scale2)
|
25
25
|
)
|
@@ -27,12 +27,12 @@
|
|
27
27
|
)
|
28
28
|
)
|
29
29
|
(VALUE row_sum_affine
|
30
|
-
(Call :
|
30
|
+
(Call :sum
|
31
31
|
(Ref elem_affine)
|
32
32
|
)
|
33
33
|
)
|
34
34
|
(VALUE batch_total_affine
|
35
|
-
(Call :
|
35
|
+
(Call :sum
|
36
36
|
(Ref row_sum_affine)
|
37
37
|
)
|
38
38
|
)
|