kumi 0.0.26 → 0.0.28
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 +17 -0
- data/CLAUDE.md +4 -0
- data/README.md +36 -12
- data/data/functions/core/arithmetic.yaml +28 -8
- data/data/functions/core/boolean.yaml +8 -3
- data/data/functions/core/comparison.yaml +12 -4
- data/data/functions/core/conversion.yaml +32 -0
- data/data/kernels/javascript/core/arithmetic.yaml +6 -2
- data/data/kernels/javascript/core/coercion.yaml +20 -0
- data/data/kernels/ruby/core/arithmetic.yaml +7 -2
- data/data/kernels/ruby/core/coercion.yaml +20 -0
- data/docs/ARCHITECTURE.md +277 -0
- data/docs/DEVELOPMENT.md +62 -0
- data/docs/FUNCTIONS.md +955 -0
- data/docs/SYNTAX.md +8 -0
- data/docs/VSCODE_EXTENSION.md +114 -0
- data/docs/functions-reference.json +1821 -0
- data/golden/array_element/expected/schema_ruby.rb +1 -1
- data/golden/array_index/expected/lir_00_unoptimized.txt +2 -2
- data/golden/array_index/expected/lir_01_hoist_scalar_references.txt +2 -2
- data/golden/array_index/expected/lir_02_inlined.txt +2 -2
- data/golden/array_index/expected/lir_03_cse.txt +2 -2
- data/golden/array_index/expected/lir_04_1_loop_fusion.txt +2 -2
- data/golden/array_index/expected/lir_04_loop_invcm.txt +2 -2
- data/golden/array_index/expected/lir_06_const_prop.txt +2 -2
- data/golden/array_index/expected/schema_ruby.rb +1 -1
- data/golden/array_index/expected/snast.txt +2 -2
- data/golden/array_operations/expected/lir_00_unoptimized.txt +2 -2
- data/golden/array_operations/expected/lir_01_hoist_scalar_references.txt +2 -2
- data/golden/array_operations/expected/lir_02_inlined.txt +2 -2
- data/golden/array_operations/expected/lir_03_cse.txt +2 -2
- data/golden/array_operations/expected/lir_04_1_loop_fusion.txt +2 -2
- data/golden/array_operations/expected/lir_04_loop_invcm.txt +2 -2
- data/golden/array_operations/expected/lir_06_const_prop.txt +2 -2
- data/golden/array_operations/expected/schema_ruby.rb +1 -1
- data/golden/array_operations/expected/snast.txt +2 -2
- data/golden/cascade_logic/expected/schema_ruby.rb +1 -1
- data/golden/chained_fusion/expected/schema_ruby.rb +1 -1
- data/golden/decimal_explicit/expected/ast.txt +38 -0
- data/golden/decimal_explicit/expected/input_plan.txt +3 -0
- data/golden/decimal_explicit/expected/lir_00_unoptimized.txt +30 -0
- data/golden/decimal_explicit/expected/lir_01_hoist_scalar_references.txt +30 -0
- data/golden/decimal_explicit/expected/lir_02_inlined.txt +44 -0
- data/golden/decimal_explicit/expected/lir_03_cse.txt +40 -0
- data/golden/decimal_explicit/expected/lir_04_1_loop_fusion.txt +40 -0
- data/golden/decimal_explicit/expected/lir_04_loop_invcm.txt +40 -0
- data/golden/decimal_explicit/expected/lir_06_const_prop.txt +40 -0
- data/golden/decimal_explicit/expected/nast.txt +30 -0
- data/golden/decimal_explicit/expected/schema_javascript.mjs +31 -0
- data/golden/decimal_explicit/expected/schema_ruby.rb +57 -0
- data/golden/decimal_explicit/expected/snast.txt +30 -0
- data/golden/decimal_explicit/expected.json +1 -0
- data/golden/decimal_explicit/input.json +5 -0
- data/golden/decimal_explicit/schema.kumi +14 -0
- data/golden/element_arrays/expected/schema_ruby.rb +1 -1
- data/golden/empty_and_null_inputs/expected/schema_ruby.rb +1 -1
- data/golden/function_overload/expected/schema_ruby.rb +1 -1
- data/golden/game_of_life/expected/schema_ruby.rb +1 -1
- 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_00_unoptimized.txt +3 -3
- data/golden/hierarchical_complex/expected/lir_01_hoist_scalar_references.txt +3 -3
- data/golden/hierarchical_complex/expected/lir_02_inlined.txt +3 -3
- data/golden/hierarchical_complex/expected/lir_03_cse.txt +3 -3
- data/golden/hierarchical_complex/expected/lir_04_1_loop_fusion.txt +3 -3
- data/golden/hierarchical_complex/expected/lir_04_loop_invcm.txt +3 -3
- data/golden/hierarchical_complex/expected/lir_06_const_prop.txt +3 -3
- data/golden/hierarchical_complex/expected/schema_ruby.rb +1 -1
- data/golden/hierarchical_complex/expected/snast.txt +3 -3
- 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_00_unoptimized.txt +1 -1
- data/golden/interleaved_fusion/expected/lir_01_hoist_scalar_references.txt +1 -1
- data/golden/interleaved_fusion/expected/lir_02_inlined.txt +2 -2
- data/golden/interleaved_fusion/expected/lir_03_cse.txt +2 -2
- data/golden/interleaved_fusion/expected/lir_04_1_loop_fusion.txt +2 -2
- data/golden/interleaved_fusion/expected/lir_04_loop_invcm.txt +2 -2
- data/golden/interleaved_fusion/expected/lir_06_const_prop.txt +2 -2
- data/golden/interleaved_fusion/expected/schema_ruby.rb +1 -1
- data/golden/interleaved_fusion/expected/snast.txt +1 -1
- data/golden/let_inline/expected/lir_00_unoptimized.txt +2 -2
- data/golden/let_inline/expected/lir_01_hoist_scalar_references.txt +2 -2
- data/golden/let_inline/expected/lir_02_inlined.txt +6 -6
- data/golden/let_inline/expected/lir_03_cse.txt +6 -6
- data/golden/let_inline/expected/lir_04_1_loop_fusion.txt +6 -6
- data/golden/let_inline/expected/lir_04_loop_invcm.txt +6 -6
- data/golden/let_inline/expected/lir_06_const_prop.txt +6 -6
- data/golden/let_inline/expected/schema_ruby.rb +1 -1
- data/golden/let_inline/expected/snast.txt +2 -2
- data/golden/loop_fusion/expected/schema_ruby.rb +1 -1
- data/golden/min_reduce_scope/expected/schema_ruby.rb +1 -1
- data/golden/mixed_dimensions/expected/schema_ruby.rb +1 -1
- data/golden/multirank_hoisting/expected/lir_00_unoptimized.txt +2 -2
- data/golden/multirank_hoisting/expected/lir_01_hoist_scalar_references.txt +2 -2
- data/golden/multirank_hoisting/expected/lir_02_inlined.txt +7 -7
- data/golden/multirank_hoisting/expected/lir_03_cse.txt +7 -7
- data/golden/multirank_hoisting/expected/lir_04_1_loop_fusion.txt +7 -7
- data/golden/multirank_hoisting/expected/lir_04_loop_invcm.txt +7 -7
- data/golden/multirank_hoisting/expected/lir_06_const_prop.txt +7 -7
- data/golden/multirank_hoisting/expected/schema_ruby.rb +1 -1
- data/golden/multirank_hoisting/expected/snast.txt +2 -2
- data/golden/nested_hash/expected/lir_00_unoptimized.txt +1 -1
- data/golden/nested_hash/expected/lir_01_hoist_scalar_references.txt +1 -1
- data/golden/nested_hash/expected/lir_02_inlined.txt +1 -1
- data/golden/nested_hash/expected/lir_03_cse.txt +1 -1
- data/golden/nested_hash/expected/lir_04_1_loop_fusion.txt +1 -1
- data/golden/nested_hash/expected/lir_04_loop_invcm.txt +1 -1
- data/golden/nested_hash/expected/lir_06_const_prop.txt +1 -1
- data/golden/nested_hash/expected/schema_ruby.rb +1 -1
- data/golden/nested_hash/expected/snast.txt +1 -1
- data/golden/reduction_broadcast/expected/schema_ruby.rb +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 +2 -2
- data/golden/simple_math/expected/lir_01_hoist_scalar_references.txt +2 -2
- data/golden/simple_math/expected/lir_02_inlined.txt +2 -2
- data/golden/simple_math/expected/lir_03_cse.txt +2 -2
- data/golden/simple_math/expected/lir_04_1_loop_fusion.txt +2 -2
- data/golden/simple_math/expected/lir_04_loop_invcm.txt +2 -2
- data/golden/simple_math/expected/lir_06_const_prop.txt +2 -2
- 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_00_unoptimized.txt +3 -3
- data/golden/streaming_basics/expected/lir_01_hoist_scalar_references.txt +3 -3
- data/golden/streaming_basics/expected/lir_02_inlined.txt +9 -9
- data/golden/streaming_basics/expected/lir_03_cse.txt +7 -7
- data/golden/streaming_basics/expected/lir_04_1_loop_fusion.txt +7 -7
- data/golden/streaming_basics/expected/lir_04_loop_invcm.txt +7 -7
- data/golden/streaming_basics/expected/lir_06_const_prop.txt +7 -7
- data/golden/streaming_basics/expected/schema_ruby.rb +1 -1
- data/golden/streaming_basics/expected/snast.txt +3 -3
- data/golden/tuples/expected/schema_ruby.rb +1 -1
- data/golden/tuples_and_arrays/expected/schema_ruby.rb +1 -1
- data/golden/us_tax_2024/expected/lir_00_unoptimized.txt +6 -6
- data/golden/us_tax_2024/expected/lir_01_hoist_scalar_references.txt +6 -6
- data/golden/us_tax_2024/expected/lir_02_inlined.txt +71 -71
- data/golden/us_tax_2024/expected/lir_03_cse.txt +43 -43
- data/golden/us_tax_2024/expected/lir_04_1_loop_fusion.txt +48 -48
- data/golden/us_tax_2024/expected/lir_04_loop_invcm.txt +43 -43
- data/golden/us_tax_2024/expected/lir_06_const_prop.txt +43 -43
- data/golden/us_tax_2024/expected/schema_ruby.rb +1 -1
- data/golden/us_tax_2024/expected/snast.txt +6 -6
- data/golden/with_constants/expected/schema_ruby.rb +1 -1
- data/lib/kumi/configuration.rb +6 -0
- data/lib/kumi/core/analyzer/passes/nast_dimensional_analyzer_pass.rb +1 -1
- data/lib/kumi/core/error_reporter.rb +1 -1
- data/lib/kumi/core/errors.rb +1 -1
- data/lib/kumi/core/functions/overload_resolver.rb +57 -11
- data/lib/kumi/core/functions/type_categories.rb +44 -0
- data/lib/kumi/core/input/type_matcher.rb +8 -1
- data/lib/kumi/core/ruby_parser/input_builder.rb +2 -2
- data/lib/kumi/core/types/normalizer.rb +1 -0
- data/lib/kumi/core/types/validator.rb +2 -2
- data/lib/kumi/core/types.rb +2 -2
- data/lib/kumi/dev/golden/reporter.rb +9 -0
- data/lib/kumi/dev/golden/result.rb +3 -1
- data/lib/kumi/dev/golden/runtime_test.rb +25 -0
- data/lib/kumi/dev/golden/suite.rb +4 -4
- data/lib/kumi/dev/golden/value_normalizer.rb +80 -0
- data/lib/kumi/dev/golden.rb +21 -12
- data/lib/kumi/doc_generator/formatters/json.rb +39 -0
- data/lib/kumi/doc_generator/formatters/markdown.rb +175 -0
- data/lib/kumi/doc_generator/loader.rb +37 -0
- data/lib/kumi/doc_generator/merger.rb +54 -0
- data/lib/kumi/doc_generator.rb +4 -0
- data/lib/kumi/frontends/text.rb +33 -5
- data/lib/kumi/syntax/location.rb +5 -1
- data/lib/kumi/version.rb +1 -1
- data/vscode-extension/.gitignore +4 -0
- data/vscode-extension/README.md +59 -0
- data/vscode-extension/TESTING.md +151 -0
- data/vscode-extension/package.json +51 -0
- data/vscode-extension/src/extension.ts +295 -0
- data/vscode-extension/tsconfig.json +15 -0
- metadata +38 -1
@@ -2,13 +2,13 @@
|
|
2
2
|
(Declaration state_tax
|
3
3
|
%t1 = load_input "income" :: float
|
4
4
|
%t2 = load_input "state_rate" :: float
|
5
|
-
%t3 = call core.mul(%t1, %t2) :: float
|
5
|
+
%t3 = call core.mul:numeric(%t1, %t2) :: float
|
6
6
|
yield %t3
|
7
7
|
)
|
8
8
|
(Declaration local_tax
|
9
9
|
%t4 = load_input "income" :: float
|
10
10
|
%t5 = load_input "local_rate" :: float
|
11
|
-
%t6 = call core.mul(%t4, %t5) :: float
|
11
|
+
%t6 = call core.mul:numeric(%t4, %t5) :: float
|
12
12
|
yield %t6
|
13
13
|
)
|
14
14
|
(Declaration taxable
|
@@ -117,7 +117,7 @@
|
|
117
117
|
%t248 = call core.sub(%t267, %t259) :: float
|
118
118
|
%t249 = call core.clamp(%t244, %t254, %t248) :: float
|
119
119
|
%t279 = load_field rates_el_69["rate"] :: float
|
120
|
-
%t73 = call core.mul(%t249, %t279) :: float
|
120
|
+
%t73 = call core.mul:numeric(%t249, %t279) :: float
|
121
121
|
%acc_67 = acc_add agg.sum(%acc_67, %t73) :: float
|
122
122
|
end_loop
|
123
123
|
%t74 = acc_load %acc_67 :: float
|
@@ -202,7 +202,7 @@
|
|
202
202
|
%t372 = call core.sub(%t391, %t383) :: float
|
203
203
|
%t373 = call core.clamp(%t368, %t378, %t372) :: float
|
204
204
|
%t403 = load_field t358["rate"] :: float
|
205
|
-
%t362 = call core.mul(%t373, %t403) :: float
|
205
|
+
%t362 = call core.mul:numeric(%t373, %t403) :: float
|
206
206
|
%acc356 = acc_add agg.sum(%acc356, %t362) :: float
|
207
207
|
end_loop
|
208
208
|
%t363 = acc_load %acc356 :: float
|
@@ -224,7 +224,7 @@
|
|
224
224
|
%t113 = make_tuple(%t111, %t112) :: tuple<float, float>
|
225
225
|
%t114 = fold %t113 fn="agg.min" :: float
|
226
226
|
%t115 = const 0.062 :: float
|
227
|
-
%t116 = call core.mul(%t114, %t115) :: float
|
227
|
+
%t116 = call core.mul:numeric(%t114, %t115) :: float
|
228
228
|
yield %t116
|
229
229
|
)
|
230
230
|
(Declaration med_base_rate
|
@@ -234,7 +234,7 @@
|
|
234
234
|
(Declaration med_tax
|
235
235
|
%t118 = load_input "income" :: float
|
236
236
|
%t119 = const 0.0145 :: float
|
237
|
-
%t120 = call core.mul(%t118, %t119) :: float
|
237
|
+
%t120 = call core.mul:numeric(%t118, %t119) :: float
|
238
238
|
yield %t120
|
239
239
|
)
|
240
240
|
(Declaration addl_med_rate
|
@@ -251,7 +251,7 @@
|
|
251
251
|
%t127 = call core.sub(%t125, %t126) :: float
|
252
252
|
%t129 = make_tuple(%t127, %t128) :: tuple<float, integer>
|
253
253
|
%t130 = fold %t129 fn="agg.max" :: float
|
254
|
-
%t132 = call core.mul(%t130, %t131) :: float
|
254
|
+
%t132 = call core.mul:numeric(%t130, %t131) :: float
|
255
255
|
yield %t132
|
256
256
|
end_loop
|
257
257
|
)
|
@@ -262,9 +262,9 @@
|
|
262
262
|
%t406 = make_tuple(%t404, %t405) :: tuple<float, float>
|
263
263
|
%t407 = fold %t406 fn="agg.min" :: float
|
264
264
|
%t408 = const 0.062 :: float
|
265
|
-
%t409 = call core.mul(%t407, %t408) :: float
|
265
|
+
%t409 = call core.mul:numeric(%t407, %t408) :: float
|
266
266
|
%t411 = const 0.0145 :: float
|
267
|
-
%t412 = call core.mul(%t404, %t411) :: float
|
267
|
+
%t412 = call core.mul:numeric(%t404, %t411) :: float
|
268
268
|
loop statuses id=L20 in %t133 as el=%statuses_el_134, idx=%statuses_i_135
|
269
269
|
%t138 = call core.add(%t409, %t412) :: float
|
270
270
|
%t415 = load_field statuses_el_134["addl_threshold"] :: float
|
@@ -273,7 +273,7 @@
|
|
273
273
|
%t416 = call core.sub(%t404, %t415) :: float
|
274
274
|
%t418 = make_tuple(%t416, %t417) :: tuple<float, integer>
|
275
275
|
%t419 = fold %t418 fn="agg.max" :: float
|
276
|
-
%t421 = call core.mul(%t419, %t420) :: float
|
276
|
+
%t421 = call core.mul:numeric(%t419, %t420) :: float
|
277
277
|
%t140 = call core.add(%t138, %t421) :: float
|
278
278
|
yield %t140
|
279
279
|
end_loop
|
@@ -284,9 +284,9 @@
|
|
284
284
|
%t430 = make_tuple(%t428, %t429) :: tuple<float, float>
|
285
285
|
%t431 = fold %t430 fn="agg.min" :: float
|
286
286
|
%t432 = const 0.062 :: float
|
287
|
-
%t433 = call core.mul(%t431, %t432) :: float
|
287
|
+
%t433 = call core.mul:numeric(%t431, %t432) :: float
|
288
288
|
%t435 = const 0.0145 :: float
|
289
|
-
%t436 = call core.mul(%t428, %t435) :: float
|
289
|
+
%t436 = call core.mul:numeric(%t428, %t435) :: float
|
290
290
|
%t141 = load_input "statuses" :: array
|
291
291
|
loop statuses id=L21 in %t141 as el=%statuses_el_142, idx=%statuses_i_143
|
292
292
|
%t425 = call core.add(%t433, %t436) :: float
|
@@ -299,7 +299,7 @@
|
|
299
299
|
%t442 = make_tuple(%t440, %t441) :: tuple<float, integer>
|
300
300
|
%t148 = fold %t147 fn="agg.max" :: float
|
301
301
|
%t443 = fold %t442 fn="agg.max" :: float
|
302
|
-
%t445 = call core.mul(%t443, %t444) :: float
|
302
|
+
%t445 = call core.mul:numeric(%t443, %t444) :: float
|
303
303
|
%t427 = call core.add(%t425, %t445) :: float
|
304
304
|
%t149 = call core.div(%t427, %t148) :: float
|
305
305
|
yield %t149
|
@@ -311,14 +311,14 @@
|
|
311
311
|
%t510 = make_tuple(%t508, %t509) :: tuple<float, float>
|
312
312
|
%t511 = fold %t510 fn="agg.min" :: float
|
313
313
|
%t512 = const 0.062 :: float
|
314
|
-
%t513 = call core.mul(%t511, %t512) :: float
|
314
|
+
%t513 = call core.mul:numeric(%t511, %t512) :: float
|
315
315
|
%t515 = const 0.0145 :: float
|
316
|
-
%t516 = call core.mul(%t508, %t515) :: float
|
316
|
+
%t516 = call core.mul:numeric(%t508, %t515) :: float
|
317
317
|
%t150 = load_input "statuses" :: array
|
318
318
|
%t447 = load_input "state_rate" :: float
|
319
|
-
%t448 = call core.mul(%t508, %t447) :: float
|
319
|
+
%t448 = call core.mul:numeric(%t508, %t447) :: float
|
320
320
|
%t450 = load_input "local_rate" :: float
|
321
|
-
%t451 = call core.mul(%t508, %t450) :: float
|
321
|
+
%t451 = call core.mul:numeric(%t508, %t450) :: float
|
322
322
|
loop statuses id=L22 in %t150 as el=%statuses_el_151, idx=%statuses_i_152
|
323
323
|
%t474 = load_field statuses_el_151["std"] :: float
|
324
324
|
%t476 = const 0 :: integer
|
@@ -344,10 +344,10 @@
|
|
344
344
|
%t470 = call core.sub(%t489, %t481) :: float
|
345
345
|
%t471 = call core.clamp(%t466, %t476, %t470) :: float
|
346
346
|
%t501 = load_field t456["rate"] :: float
|
347
|
-
%t460 = call core.mul(%t471, %t501) :: float
|
347
|
+
%t460 = call core.mul:numeric(%t471, %t501) :: float
|
348
348
|
%acc454 = acc_add agg.sum(%acc454, %t460) :: float
|
349
349
|
end_loop
|
350
|
-
%t525 = call core.mul(%t523, %t524) :: float
|
350
|
+
%t525 = call core.mul:numeric(%t523, %t524) :: float
|
351
351
|
%t461 = acc_load %acc454 :: float
|
352
352
|
%t507 = call core.add(%t505, %t525) :: float
|
353
353
|
%t155 = call core.add(%t461, %t507) :: float
|
@@ -359,16 +359,16 @@
|
|
359
359
|
(Declaration total_eff
|
360
360
|
%t534 = load_input "income" :: float
|
361
361
|
%t535 = load_input "state_rate" :: float
|
362
|
-
%t536 = call core.mul(%t534, %t535) :: float
|
362
|
+
%t536 = call core.mul:numeric(%t534, %t535) :: float
|
363
363
|
%t538 = load_input "local_rate" :: float
|
364
|
-
%t539 = call core.mul(%t534, %t538) :: float
|
364
|
+
%t539 = call core.mul:numeric(%t534, %t538) :: float
|
365
365
|
%t597 = const 168600.0 :: float
|
366
366
|
%t598 = make_tuple(%t534, %t597) :: tuple<float, float>
|
367
367
|
%t599 = fold %t598 fn="agg.min" :: float
|
368
368
|
%t600 = const 0.062 :: float
|
369
|
-
%t601 = call core.mul(%t599, %t600) :: float
|
369
|
+
%t601 = call core.mul:numeric(%t599, %t600) :: float
|
370
370
|
%t603 = const 0.0145 :: float
|
371
|
-
%t604 = call core.mul(%t534, %t603) :: float
|
371
|
+
%t604 = call core.mul:numeric(%t534, %t603) :: float
|
372
372
|
%t160 = load_input "statuses" :: array
|
373
373
|
loop statuses id=L23 in %t160 as el=%statuses_el_161, idx=%statuses_i_162
|
374
374
|
%t562 = load_field statuses_el_161["std"] :: float
|
@@ -398,10 +398,10 @@
|
|
398
398
|
%t558 = call core.sub(%t577, %t569) :: float
|
399
399
|
%t559 = call core.clamp(%t554, %t564, %t558) :: float
|
400
400
|
%t589 = load_field t544["rate"] :: float
|
401
|
-
%t548 = call core.mul(%t559, %t589) :: float
|
401
|
+
%t548 = call core.mul:numeric(%t559, %t589) :: float
|
402
402
|
%acc542 = acc_add agg.sum(%acc542, %t548) :: float
|
403
403
|
end_loop
|
404
|
-
%t613 = call core.mul(%t611, %t612) :: float
|
404
|
+
%t613 = call core.mul:numeric(%t611, %t612) :: float
|
405
405
|
%t549 = acc_load %acc542 :: float
|
406
406
|
%t595 = call core.add(%t593, %t613) :: float
|
407
407
|
%t531 = call core.add(%t549, %t595) :: float
|
@@ -414,16 +414,16 @@
|
|
414
414
|
(Declaration after_tax
|
415
415
|
%t622 = load_input "income" :: float
|
416
416
|
%t623 = load_input "state_rate" :: float
|
417
|
-
%t624 = call core.mul(%t622, %t623) :: float
|
417
|
+
%t624 = call core.mul:numeric(%t622, %t623) :: float
|
418
418
|
%t626 = load_input "local_rate" :: float
|
419
|
-
%t627 = call core.mul(%t622, %t626) :: float
|
419
|
+
%t627 = call core.mul:numeric(%t622, %t626) :: float
|
420
420
|
%t685 = const 168600.0 :: float
|
421
421
|
%t686 = make_tuple(%t622, %t685) :: tuple<float, float>
|
422
422
|
%t687 = fold %t686 fn="agg.min" :: float
|
423
423
|
%t688 = const 0.062 :: float
|
424
|
-
%t689 = call core.mul(%t687, %t688) :: float
|
424
|
+
%t689 = call core.mul:numeric(%t687, %t688) :: float
|
425
425
|
%t691 = const 0.0145 :: float
|
426
|
-
%t692 = call core.mul(%t622, %t691) :: float
|
426
|
+
%t692 = call core.mul:numeric(%t622, %t691) :: float
|
427
427
|
%t169 = load_input "statuses" :: array
|
428
428
|
loop statuses id=L24 in %t169 as el=%statuses_el_170, idx=%statuses_i_171
|
429
429
|
%t650 = load_field statuses_el_170["std"] :: float
|
@@ -450,10 +450,10 @@
|
|
450
450
|
%t646 = call core.sub(%t665, %t657) :: float
|
451
451
|
%t647 = call core.clamp(%t642, %t652, %t646) :: float
|
452
452
|
%t677 = load_field t632["rate"] :: float
|
453
|
-
%t636 = call core.mul(%t647, %t677) :: float
|
453
|
+
%t636 = call core.mul:numeric(%t647, %t677) :: float
|
454
454
|
%acc630 = acc_add agg.sum(%acc630, %t636) :: float
|
455
455
|
end_loop
|
456
|
-
%t701 = call core.mul(%t699, %t700) :: float
|
456
|
+
%t701 = call core.mul:numeric(%t699, %t700) :: float
|
457
457
|
%t637 = acc_load %acc630 :: float
|
458
458
|
%t683 = call core.add(%t681, %t701) :: float
|
459
459
|
%t619 = call core.add(%t637, %t683) :: float
|
@@ -466,16 +466,16 @@
|
|
466
466
|
(Declaration take_home
|
467
467
|
%t714 = load_input "income" :: float
|
468
468
|
%t715 = load_input "state_rate" :: float
|
469
|
-
%t716 = call core.mul(%t714, %t715) :: float
|
469
|
+
%t716 = call core.mul:numeric(%t714, %t715) :: float
|
470
470
|
%t718 = load_input "local_rate" :: float
|
471
|
-
%t719 = call core.mul(%t714, %t718) :: float
|
471
|
+
%t719 = call core.mul:numeric(%t714, %t718) :: float
|
472
472
|
%t777 = const 168600.0 :: float
|
473
473
|
%t778 = make_tuple(%t714, %t777) :: tuple<float, float>
|
474
474
|
%t779 = fold %t778 fn="agg.min" :: float
|
475
475
|
%t780 = const 0.062 :: float
|
476
|
-
%t781 = call core.mul(%t779, %t780) :: float
|
476
|
+
%t781 = call core.mul:numeric(%t779, %t780) :: float
|
477
477
|
%t783 = const 0.0145 :: float
|
478
|
-
%t784 = call core.mul(%t714, %t783) :: float
|
478
|
+
%t784 = call core.mul:numeric(%t714, %t783) :: float
|
479
479
|
%t175 = load_input "statuses" :: array
|
480
480
|
loop statuses id=L25 in %t175 as el=%statuses_el_176, idx=%statuses_i_177
|
481
481
|
%t742 = load_field statuses_el_176["std"] :: float
|
@@ -503,10 +503,10 @@
|
|
503
503
|
%t738 = call core.sub(%t757, %t749) :: float
|
504
504
|
%t739 = call core.clamp(%t734, %t744, %t738) :: float
|
505
505
|
%t769 = load_field t724["rate"] :: float
|
506
|
-
%t728 = call core.mul(%t739, %t769) :: float
|
506
|
+
%t728 = call core.mul:numeric(%t739, %t769) :: float
|
507
507
|
%acc722 = acc_add agg.sum(%acc722, %t728) :: float
|
508
508
|
end_loop
|
509
|
-
%t793 = call core.mul(%t791, %t792) :: float
|
509
|
+
%t793 = call core.mul:numeric(%t791, %t792) :: float
|
510
510
|
%t729 = acc_load %acc722 :: float
|
511
511
|
%t775 = call core.add(%t773, %t793) :: float
|
512
512
|
%t711 = call core.add(%t729, %t775) :: float
|
@@ -523,13 +523,13 @@
|
|
523
523
|
%t976 = make_tuple(%t974, %t975) :: tuple<float, float>
|
524
524
|
%t977 = fold %t976 fn="agg.min" :: float
|
525
525
|
%t978 = const 0.062 :: float
|
526
|
-
%t979 = call core.mul(%t977, %t978) :: float
|
526
|
+
%t979 = call core.mul:numeric(%t977, %t978) :: float
|
527
527
|
%t981 = const 0.0145 :: float
|
528
|
-
%t982 = call core.mul(%t974, %t981) :: float
|
528
|
+
%t982 = call core.mul:numeric(%t974, %t981) :: float
|
529
529
|
%t1032 = load_input "state_rate" :: float
|
530
|
-
%t1033 = call core.mul(%t974, %t1032) :: float
|
530
|
+
%t1033 = call core.mul:numeric(%t974, %t1032) :: float
|
531
531
|
%t1035 = load_input "local_rate" :: float
|
532
|
-
%t1036 = call core.mul(%t974, %t1035) :: float
|
532
|
+
%t1036 = call core.mul:numeric(%t974, %t1035) :: float
|
533
533
|
%t181 = load_input "statuses" :: array
|
534
534
|
loop statuses id=L26 in %t181 as el=%statuses_el_182, idx=%statuses_i_183
|
535
535
|
%t184 = load_field statuses_el_182["name"] :: string
|
@@ -572,7 +572,7 @@
|
|
572
572
|
%t809 = select %t819, %t853, %t824 :: float
|
573
573
|
%acc802 = acc_add agg.sum(%acc802, %t809) :: float
|
574
574
|
end_loop
|
575
|
-
%t991 = call core.mul(%t989, %t990) :: float
|
575
|
+
%t991 = call core.mul:numeric(%t989, %t990) :: float
|
576
576
|
%t810 = acc_load %acc802 :: float
|
577
577
|
loop rates id=L33 in %t803 as el=%t865, idx=%t866
|
578
578
|
%t890 = load_field t865["lo"] :: float
|
@@ -583,7 +583,7 @@
|
|
583
583
|
%t879 = call core.sub(%t898, %t890) :: float
|
584
584
|
%t880 = call core.clamp(%t875, %t824, %t879) :: float
|
585
585
|
%t910 = load_field t865["rate"] :: float
|
586
|
-
%t869 = call core.mul(%t880, %t910) :: float
|
586
|
+
%t869 = call core.mul:numeric(%t880, %t910) :: float
|
587
587
|
%acc863 = acc_add agg.sum(%acc863, %t869) :: float
|
588
588
|
%acc913 = acc_add agg.sum(%acc913, %t869) :: float
|
589
589
|
%acc1039 = acc_add agg.sum(%acc1039, %t869) :: float
|
@@ -2,13 +2,13 @@
|
|
2
2
|
(Declaration state_tax
|
3
3
|
%t1 = load_input "income" :: float
|
4
4
|
%t2 = load_input "state_rate" :: float
|
5
|
-
%t3 = call core.mul(%t1, %t2) :: float
|
5
|
+
%t3 = call core.mul:numeric(%t1, %t2) :: float
|
6
6
|
yield %t3
|
7
7
|
)
|
8
8
|
(Declaration local_tax
|
9
9
|
%t4 = load_input "income" :: float
|
10
10
|
%t5 = load_input "local_rate" :: float
|
11
|
-
%t6 = call core.mul(%t4, %t5) :: float
|
11
|
+
%t6 = call core.mul:numeric(%t4, %t5) :: float
|
12
12
|
yield %t6
|
13
13
|
)
|
14
14
|
(Declaration taxable
|
@@ -117,7 +117,7 @@
|
|
117
117
|
%t248 = call core.sub(%t267, %t259) :: float
|
118
118
|
%t249 = call core.clamp(%t244, %t254, %t248) :: float
|
119
119
|
%t279 = load_field rates_el_69["rate"] :: float
|
120
|
-
%t73 = call core.mul(%t249, %t279) :: float
|
120
|
+
%t73 = call core.mul:numeric(%t249, %t279) :: float
|
121
121
|
%acc_67 = acc_add agg.sum(%acc_67, %t73) :: float
|
122
122
|
end_loop
|
123
123
|
%t74 = acc_load %acc_67 :: float
|
@@ -202,7 +202,7 @@
|
|
202
202
|
%t372 = call core.sub(%t391, %t383) :: float
|
203
203
|
%t373 = call core.clamp(%t368, %t378, %t372) :: float
|
204
204
|
%t403 = load_field t358["rate"] :: float
|
205
|
-
%t362 = call core.mul(%t373, %t403) :: float
|
205
|
+
%t362 = call core.mul:numeric(%t373, %t403) :: float
|
206
206
|
%acc356 = acc_add agg.sum(%acc356, %t362) :: float
|
207
207
|
end_loop
|
208
208
|
%t363 = acc_load %acc356 :: float
|
@@ -224,7 +224,7 @@
|
|
224
224
|
%t113 = make_tuple(%t111, %t112) :: tuple<float, float>
|
225
225
|
%t114 = fold %t113 fn="agg.min" :: float
|
226
226
|
%t115 = const 0.062 :: float
|
227
|
-
%t116 = call core.mul(%t114, %t115) :: float
|
227
|
+
%t116 = call core.mul:numeric(%t114, %t115) :: float
|
228
228
|
yield %t116
|
229
229
|
)
|
230
230
|
(Declaration med_base_rate
|
@@ -234,7 +234,7 @@
|
|
234
234
|
(Declaration med_tax
|
235
235
|
%t118 = load_input "income" :: float
|
236
236
|
%t119 = const 0.0145 :: float
|
237
|
-
%t120 = call core.mul(%t118, %t119) :: float
|
237
|
+
%t120 = call core.mul:numeric(%t118, %t119) :: float
|
238
238
|
yield %t120
|
239
239
|
)
|
240
240
|
(Declaration addl_med_rate
|
@@ -251,7 +251,7 @@
|
|
251
251
|
%t127 = call core.sub(%t125, %t126) :: float
|
252
252
|
%t129 = make_tuple(%t127, %t128) :: tuple<float, integer>
|
253
253
|
%t130 = fold %t129 fn="agg.max" :: float
|
254
|
-
%t132 = call core.mul(%t130, %t131) :: float
|
254
|
+
%t132 = call core.mul:numeric(%t130, %t131) :: float
|
255
255
|
yield %t132
|
256
256
|
end_loop
|
257
257
|
)
|
@@ -262,9 +262,9 @@
|
|
262
262
|
%t406 = make_tuple(%t404, %t405) :: tuple<float, float>
|
263
263
|
%t407 = fold %t406 fn="agg.min" :: float
|
264
264
|
%t408 = const 0.062 :: float
|
265
|
-
%t409 = call core.mul(%t407, %t408) :: float
|
265
|
+
%t409 = call core.mul:numeric(%t407, %t408) :: float
|
266
266
|
%t411 = const 0.0145 :: float
|
267
|
-
%t412 = call core.mul(%t404, %t411) :: float
|
267
|
+
%t412 = call core.mul:numeric(%t404, %t411) :: float
|
268
268
|
loop statuses id=L20 in %t133 as el=%statuses_el_134, idx=%statuses_i_135
|
269
269
|
%t138 = call core.add(%t409, %t412) :: float
|
270
270
|
%t415 = load_field statuses_el_134["addl_threshold"] :: float
|
@@ -273,7 +273,7 @@
|
|
273
273
|
%t416 = call core.sub(%t404, %t415) :: float
|
274
274
|
%t418 = make_tuple(%t416, %t417) :: tuple<float, integer>
|
275
275
|
%t419 = fold %t418 fn="agg.max" :: float
|
276
|
-
%t421 = call core.mul(%t419, %t420) :: float
|
276
|
+
%t421 = call core.mul:numeric(%t419, %t420) :: float
|
277
277
|
%t140 = call core.add(%t138, %t421) :: float
|
278
278
|
yield %t140
|
279
279
|
end_loop
|
@@ -284,9 +284,9 @@
|
|
284
284
|
%t430 = make_tuple(%t428, %t429) :: tuple<float, float>
|
285
285
|
%t431 = fold %t430 fn="agg.min" :: float
|
286
286
|
%t432 = const 0.062 :: float
|
287
|
-
%t433 = call core.mul(%t431, %t432) :: float
|
287
|
+
%t433 = call core.mul:numeric(%t431, %t432) :: float
|
288
288
|
%t435 = const 0.0145 :: float
|
289
|
-
%t436 = call core.mul(%t428, %t435) :: float
|
289
|
+
%t436 = call core.mul:numeric(%t428, %t435) :: float
|
290
290
|
%t141 = load_input "statuses" :: array
|
291
291
|
loop statuses id=L21 in %t141 as el=%statuses_el_142, idx=%statuses_i_143
|
292
292
|
%t425 = call core.add(%t433, %t436) :: float
|
@@ -299,7 +299,7 @@
|
|
299
299
|
%t442 = make_tuple(%t440, %t441) :: tuple<float, integer>
|
300
300
|
%t148 = fold %t147 fn="agg.max" :: float
|
301
301
|
%t443 = fold %t442 fn="agg.max" :: float
|
302
|
-
%t445 = call core.mul(%t443, %t444) :: float
|
302
|
+
%t445 = call core.mul:numeric(%t443, %t444) :: float
|
303
303
|
%t427 = call core.add(%t425, %t445) :: float
|
304
304
|
%t149 = call core.div(%t427, %t148) :: float
|
305
305
|
yield %t149
|
@@ -311,14 +311,14 @@
|
|
311
311
|
%t510 = make_tuple(%t508, %t509) :: tuple<float, float>
|
312
312
|
%t511 = fold %t510 fn="agg.min" :: float
|
313
313
|
%t512 = const 0.062 :: float
|
314
|
-
%t513 = call core.mul(%t511, %t512) :: float
|
314
|
+
%t513 = call core.mul:numeric(%t511, %t512) :: float
|
315
315
|
%t515 = const 0.0145 :: float
|
316
|
-
%t516 = call core.mul(%t508, %t515) :: float
|
316
|
+
%t516 = call core.mul:numeric(%t508, %t515) :: float
|
317
317
|
%t150 = load_input "statuses" :: array
|
318
318
|
%t447 = load_input "state_rate" :: float
|
319
|
-
%t448 = call core.mul(%t508, %t447) :: float
|
319
|
+
%t448 = call core.mul:numeric(%t508, %t447) :: float
|
320
320
|
%t450 = load_input "local_rate" :: float
|
321
|
-
%t451 = call core.mul(%t508, %t450) :: float
|
321
|
+
%t451 = call core.mul:numeric(%t508, %t450) :: float
|
322
322
|
loop statuses id=L22 in %t150 as el=%statuses_el_151, idx=%statuses_i_152
|
323
323
|
%t474 = load_field statuses_el_151["std"] :: float
|
324
324
|
%t476 = const 0 :: integer
|
@@ -344,10 +344,10 @@
|
|
344
344
|
%t470 = call core.sub(%t489, %t481) :: float
|
345
345
|
%t471 = call core.clamp(%t466, %t476, %t470) :: float
|
346
346
|
%t501 = load_field t456["rate"] :: float
|
347
|
-
%t460 = call core.mul(%t471, %t501) :: float
|
347
|
+
%t460 = call core.mul:numeric(%t471, %t501) :: float
|
348
348
|
%acc454 = acc_add agg.sum(%acc454, %t460) :: float
|
349
349
|
end_loop
|
350
|
-
%t525 = call core.mul(%t523, %t524) :: float
|
350
|
+
%t525 = call core.mul:numeric(%t523, %t524) :: float
|
351
351
|
%t461 = acc_load %acc454 :: float
|
352
352
|
%t507 = call core.add(%t505, %t525) :: float
|
353
353
|
%t155 = call core.add(%t461, %t507) :: float
|
@@ -359,16 +359,16 @@
|
|
359
359
|
(Declaration total_eff
|
360
360
|
%t534 = load_input "income" :: float
|
361
361
|
%t535 = load_input "state_rate" :: float
|
362
|
-
%t536 = call core.mul(%t534, %t535) :: float
|
362
|
+
%t536 = call core.mul:numeric(%t534, %t535) :: float
|
363
363
|
%t538 = load_input "local_rate" :: float
|
364
|
-
%t539 = call core.mul(%t534, %t538) :: float
|
364
|
+
%t539 = call core.mul:numeric(%t534, %t538) :: float
|
365
365
|
%t597 = const 168600.0 :: float
|
366
366
|
%t598 = make_tuple(%t534, %t597) :: tuple<float, float>
|
367
367
|
%t599 = fold %t598 fn="agg.min" :: float
|
368
368
|
%t600 = const 0.062 :: float
|
369
|
-
%t601 = call core.mul(%t599, %t600) :: float
|
369
|
+
%t601 = call core.mul:numeric(%t599, %t600) :: float
|
370
370
|
%t603 = const 0.0145 :: float
|
371
|
-
%t604 = call core.mul(%t534, %t603) :: float
|
371
|
+
%t604 = call core.mul:numeric(%t534, %t603) :: float
|
372
372
|
%t160 = load_input "statuses" :: array
|
373
373
|
loop statuses id=L23 in %t160 as el=%statuses_el_161, idx=%statuses_i_162
|
374
374
|
%t562 = load_field statuses_el_161["std"] :: float
|
@@ -398,10 +398,10 @@
|
|
398
398
|
%t558 = call core.sub(%t577, %t569) :: float
|
399
399
|
%t559 = call core.clamp(%t554, %t564, %t558) :: float
|
400
400
|
%t589 = load_field t544["rate"] :: float
|
401
|
-
%t548 = call core.mul(%t559, %t589) :: float
|
401
|
+
%t548 = call core.mul:numeric(%t559, %t589) :: float
|
402
402
|
%acc542 = acc_add agg.sum(%acc542, %t548) :: float
|
403
403
|
end_loop
|
404
|
-
%t613 = call core.mul(%t611, %t612) :: float
|
404
|
+
%t613 = call core.mul:numeric(%t611, %t612) :: float
|
405
405
|
%t549 = acc_load %acc542 :: float
|
406
406
|
%t595 = call core.add(%t593, %t613) :: float
|
407
407
|
%t531 = call core.add(%t549, %t595) :: float
|
@@ -414,16 +414,16 @@
|
|
414
414
|
(Declaration after_tax
|
415
415
|
%t622 = load_input "income" :: float
|
416
416
|
%t623 = load_input "state_rate" :: float
|
417
|
-
%t624 = call core.mul(%t622, %t623) :: float
|
417
|
+
%t624 = call core.mul:numeric(%t622, %t623) :: float
|
418
418
|
%t626 = load_input "local_rate" :: float
|
419
|
-
%t627 = call core.mul(%t622, %t626) :: float
|
419
|
+
%t627 = call core.mul:numeric(%t622, %t626) :: float
|
420
420
|
%t685 = const 168600.0 :: float
|
421
421
|
%t686 = make_tuple(%t622, %t685) :: tuple<float, float>
|
422
422
|
%t687 = fold %t686 fn="agg.min" :: float
|
423
423
|
%t688 = const 0.062 :: float
|
424
|
-
%t689 = call core.mul(%t687, %t688) :: float
|
424
|
+
%t689 = call core.mul:numeric(%t687, %t688) :: float
|
425
425
|
%t691 = const 0.0145 :: float
|
426
|
-
%t692 = call core.mul(%t622, %t691) :: float
|
426
|
+
%t692 = call core.mul:numeric(%t622, %t691) :: float
|
427
427
|
%t169 = load_input "statuses" :: array
|
428
428
|
loop statuses id=L24 in %t169 as el=%statuses_el_170, idx=%statuses_i_171
|
429
429
|
%t650 = load_field statuses_el_170["std"] :: float
|
@@ -450,10 +450,10 @@
|
|
450
450
|
%t646 = call core.sub(%t665, %t657) :: float
|
451
451
|
%t647 = call core.clamp(%t642, %t652, %t646) :: float
|
452
452
|
%t677 = load_field t632["rate"] :: float
|
453
|
-
%t636 = call core.mul(%t647, %t677) :: float
|
453
|
+
%t636 = call core.mul:numeric(%t647, %t677) :: float
|
454
454
|
%acc630 = acc_add agg.sum(%acc630, %t636) :: float
|
455
455
|
end_loop
|
456
|
-
%t701 = call core.mul(%t699, %t700) :: float
|
456
|
+
%t701 = call core.mul:numeric(%t699, %t700) :: float
|
457
457
|
%t637 = acc_load %acc630 :: float
|
458
458
|
%t683 = call core.add(%t681, %t701) :: float
|
459
459
|
%t619 = call core.add(%t637, %t683) :: float
|
@@ -466,16 +466,16 @@
|
|
466
466
|
(Declaration take_home
|
467
467
|
%t714 = load_input "income" :: float
|
468
468
|
%t715 = load_input "state_rate" :: float
|
469
|
-
%t716 = call core.mul(%t714, %t715) :: float
|
469
|
+
%t716 = call core.mul:numeric(%t714, %t715) :: float
|
470
470
|
%t718 = load_input "local_rate" :: float
|
471
|
-
%t719 = call core.mul(%t714, %t718) :: float
|
471
|
+
%t719 = call core.mul:numeric(%t714, %t718) :: float
|
472
472
|
%t777 = const 168600.0 :: float
|
473
473
|
%t778 = make_tuple(%t714, %t777) :: tuple<float, float>
|
474
474
|
%t779 = fold %t778 fn="agg.min" :: float
|
475
475
|
%t780 = const 0.062 :: float
|
476
|
-
%t781 = call core.mul(%t779, %t780) :: float
|
476
|
+
%t781 = call core.mul:numeric(%t779, %t780) :: float
|
477
477
|
%t783 = const 0.0145 :: float
|
478
|
-
%t784 = call core.mul(%t714, %t783) :: float
|
478
|
+
%t784 = call core.mul:numeric(%t714, %t783) :: float
|
479
479
|
%t175 = load_input "statuses" :: array
|
480
480
|
loop statuses id=L25 in %t175 as el=%statuses_el_176, idx=%statuses_i_177
|
481
481
|
%t742 = load_field statuses_el_176["std"] :: float
|
@@ -503,10 +503,10 @@
|
|
503
503
|
%t738 = call core.sub(%t757, %t749) :: float
|
504
504
|
%t739 = call core.clamp(%t734, %t744, %t738) :: float
|
505
505
|
%t769 = load_field t724["rate"] :: float
|
506
|
-
%t728 = call core.mul(%t739, %t769) :: float
|
506
|
+
%t728 = call core.mul:numeric(%t739, %t769) :: float
|
507
507
|
%acc722 = acc_add agg.sum(%acc722, %t728) :: float
|
508
508
|
end_loop
|
509
|
-
%t793 = call core.mul(%t791, %t792) :: float
|
509
|
+
%t793 = call core.mul:numeric(%t791, %t792) :: float
|
510
510
|
%t729 = acc_load %acc722 :: float
|
511
511
|
%t775 = call core.add(%t773, %t793) :: float
|
512
512
|
%t711 = call core.add(%t729, %t775) :: float
|
@@ -523,13 +523,13 @@
|
|
523
523
|
%t976 = make_tuple(%t974, %t975) :: tuple<float, float>
|
524
524
|
%t977 = fold %t976 fn="agg.min" :: float
|
525
525
|
%t978 = const 0.062 :: float
|
526
|
-
%t979 = call core.mul(%t977, %t978) :: float
|
526
|
+
%t979 = call core.mul:numeric(%t977, %t978) :: float
|
527
527
|
%t981 = const 0.0145 :: float
|
528
|
-
%t982 = call core.mul(%t974, %t981) :: float
|
528
|
+
%t982 = call core.mul:numeric(%t974, %t981) :: float
|
529
529
|
%t1032 = load_input "state_rate" :: float
|
530
|
-
%t1033 = call core.mul(%t974, %t1032) :: float
|
530
|
+
%t1033 = call core.mul:numeric(%t974, %t1032) :: float
|
531
531
|
%t1035 = load_input "local_rate" :: float
|
532
|
-
%t1036 = call core.mul(%t974, %t1035) :: float
|
532
|
+
%t1036 = call core.mul:numeric(%t974, %t1035) :: float
|
533
533
|
%t181 = load_input "statuses" :: array
|
534
534
|
loop statuses id=L26 in %t181 as el=%statuses_el_182, idx=%statuses_i_183
|
535
535
|
%t184 = load_field statuses_el_182["name"] :: string
|
@@ -572,7 +572,7 @@
|
|
572
572
|
%t809 = select %t819, %t853, %t824 :: float
|
573
573
|
%acc802 = acc_add agg.sum(%acc802, %t809) :: float
|
574
574
|
end_loop
|
575
|
-
%t991 = call core.mul(%t989, %t990) :: float
|
575
|
+
%t991 = call core.mul:numeric(%t989, %t990) :: float
|
576
576
|
%t810 = acc_load %acc802 :: float
|
577
577
|
loop rates id=L33 in %t803 as el=%t865, idx=%t866
|
578
578
|
%t890 = load_field t865["lo"] :: float
|
@@ -583,7 +583,7 @@
|
|
583
583
|
%t879 = call core.sub(%t898, %t890) :: float
|
584
584
|
%t880 = call core.clamp(%t875, %t824, %t879) :: float
|
585
585
|
%t910 = load_field t865["rate"] :: float
|
586
|
-
%t869 = call core.mul(%t880, %t910) :: float
|
586
|
+
%t869 = call core.mul:numeric(%t880, %t910) :: float
|
587
587
|
%acc863 = acc_add agg.sum(%acc863, %t869) :: float
|
588
588
|
%t940 = load_field t865["lo"] :: float
|
589
589
|
%t925 = call core.sub(%t826, %t940) :: float
|
@@ -593,7 +593,7 @@
|
|
593
593
|
%t929 = call core.sub(%t948, %t940) :: float
|
594
594
|
%t930 = call core.clamp(%t925, %t824, %t929) :: float
|
595
595
|
%t960 = load_field t865["rate"] :: float
|
596
|
-
%t919 = call core.mul(%t930, %t960) :: float
|
596
|
+
%t919 = call core.mul:numeric(%t930, %t960) :: float
|
597
597
|
%acc913 = acc_add agg.sum(%acc913, %t919) :: float
|
598
598
|
%t1066 = load_field t865["lo"] :: float
|
599
599
|
%t1051 = call core.sub(%t826, %t1066) :: float
|
@@ -603,7 +603,7 @@
|
|
603
603
|
%t1055 = call core.sub(%t1074, %t1066) :: float
|
604
604
|
%t1056 = call core.clamp(%t1051, %t824, %t1055) :: float
|
605
605
|
%t1086 = load_field t865["rate"] :: float
|
606
|
-
%t1045 = call core.mul(%t1056, %t1086) :: float
|
606
|
+
%t1045 = call core.mul:numeric(%t1056, %t1086) :: float
|
607
607
|
%acc1039 = acc_add agg.sum(%acc1039, %t1045) :: float
|
608
608
|
%t1154 = load_field t865["lo"] :: float
|
609
609
|
%t1139 = call core.sub(%t826, %t1154) :: float
|
@@ -613,7 +613,7 @@
|
|
613
613
|
%t1143 = call core.sub(%t1162, %t1154) :: float
|
614
614
|
%t1144 = call core.clamp(%t1139, %t824, %t1143) :: float
|
615
615
|
%t1174 = load_field t865["rate"] :: float
|
616
|
-
%t1133 = call core.mul(%t1144, %t1174) :: float
|
616
|
+
%t1133 = call core.mul:numeric(%t1144, %t1174) :: float
|
617
617
|
%acc1127 = acc_add agg.sum(%acc1127, %t1133) :: float
|
618
618
|
%t1246 = load_field t865["lo"] :: float
|
619
619
|
%t1231 = call core.sub(%t826, %t1246) :: float
|
@@ -623,7 +623,7 @@
|
|
623
623
|
%t1235 = call core.sub(%t1254, %t1246) :: float
|
624
624
|
%t1236 = call core.clamp(%t1231, %t824, %t1235) :: float
|
625
625
|
%t1266 = load_field t865["rate"] :: float
|
626
|
-
%t1225 = call core.mul(%t1236, %t1266) :: float
|
626
|
+
%t1225 = call core.mul:numeric(%t1236, %t1266) :: float
|
627
627
|
%acc1219 = acc_add agg.sum(%acc1219, %t1225) :: float
|
628
628
|
%t1342 = load_field t865["lo"] :: float
|
629
629
|
%t1327 = call core.sub(%t826, %t1342) :: float
|
@@ -633,7 +633,7 @@
|
|
633
633
|
%t1331 = call core.sub(%t1350, %t1342) :: float
|
634
634
|
%t1332 = call core.clamp(%t1327, %t824, %t1331) :: float
|
635
635
|
%t1362 = load_field t865["rate"] :: float
|
636
|
-
%t1321 = call core.mul(%t1332, %t1362) :: float
|
636
|
+
%t1321 = call core.mul:numeric(%t1332, %t1362) :: float
|
637
637
|
%acc1315 = acc_add agg.sum(%acc1315, %t1321) :: float
|
638
638
|
end_loop
|
639
639
|
%t973 = call core.add(%t971, %t991) :: float
|