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
@@ -83,7 +83,7 @@
|
|
83
83
|
%t660 = load_field rates_el_48["hi"] :: float
|
84
84
|
%t652 = const -1 :: integer
|
85
85
|
%t654 = const 100000000000.0 :: float
|
86
|
-
%t52 = call core.sub(%
|
86
|
+
%t52 = call core.sub(%t643, %t647) :: float
|
87
87
|
%t653 = call core.eq(%t660, %t652) :: boolean
|
88
88
|
%t656 = select %t653, %t654, %t660 :: float
|
89
89
|
%t56 = call core.sub(%t656, %t647) :: float
|
@@ -92,28 +92,28 @@
|
|
92
92
|
end_loop
|
93
93
|
)
|
94
94
|
(Declaration fed_tax_single
|
95
|
+
%t680 = load_input "income" :: float
|
96
|
+
%t681 = load_input "fed" :: any
|
97
|
+
%t682 = load_field t681["single"] :: any
|
98
|
+
%t683 = load_field t682["std"] :: float
|
99
|
+
%t684 = call core.sub(%t680, %t683) :: float
|
100
|
+
%t685 = const 0 :: integer
|
101
|
+
%t686 = make_tuple(%t684, %t685) :: tuple<float, integer>
|
102
|
+
%t687 = fold %t686 fn="agg.max" :: float
|
95
103
|
%acc_58 = decl_acc :: float
|
96
104
|
%t59 = load_input "fed" :: array
|
97
105
|
%t60 = load_field t59["single"] :: any
|
98
106
|
%t61 = load_field t60["rates"] :: any
|
99
107
|
loop rates id=L6 in %t61 as el=%rates_el_62, idx=%rates_i_63
|
100
|
-
%t680 = load_input "income" :: float
|
101
|
-
%t681 = load_input "fed" :: any
|
102
|
-
%t685 = const 0 :: integer
|
103
108
|
%t691 = load_field rates_el_62["lo"] :: float
|
104
109
|
%t704 = load_field rates_el_62["hi"] :: float
|
105
110
|
%t696 = const -1 :: integer
|
106
111
|
%t698 = const 100000000000.0 :: float
|
107
112
|
%t716 = load_field rates_el_62["rate"] :: float
|
108
|
-
%
|
113
|
+
%t674 = call core.sub(%t687, %t691) :: float
|
109
114
|
%t697 = call core.eq(%t704, %t696) :: boolean
|
110
|
-
%t683 = load_field t682["std"] :: float
|
111
115
|
%t700 = select %t697, %t698, %t704 :: float
|
112
|
-
%t684 = call core.sub(%t680, %t683) :: float
|
113
116
|
%t678 = call core.sub(%t700, %t691) :: float
|
114
|
-
%t686 = make_tuple(%t684, %t685) :: tuple<float, integer>
|
115
|
-
%t687 = fold %t686 fn="agg.max" :: float
|
116
|
-
%t674 = call core.sub(%t687, %t691) :: float
|
117
117
|
%t679 = call core.clamp(%t674, %t685, %t678) :: float
|
118
118
|
%t66 = call core.mul(%t679, %t716) :: float
|
119
119
|
%acc_58 = acc_add agg.sum(%acc_58, %t66) :: float
|
@@ -138,36 +138,36 @@
|
|
138
138
|
%t749 = load_field rates_el_71["hi"] :: float
|
139
139
|
%t741 = const -1 :: integer
|
140
140
|
%t743 = const 100000000000.0 :: float
|
141
|
-
%t75 = call core.gte(%
|
141
|
+
%t75 = call core.gte(%t724, %t736) :: boolean
|
142
142
|
%t742 = call core.eq(%t749, %t741) :: boolean
|
143
143
|
%t745 = select %t742, %t743, %t749 :: float
|
144
|
-
%t78 = call core.lt(%
|
144
|
+
%t78 = call core.lt(%t724, %t745) :: boolean
|
145
145
|
%t79 = call core.and(%t75, %t78) :: boolean
|
146
146
|
yield %t79
|
147
147
|
end_loop
|
148
148
|
)
|
149
149
|
(Declaration fed_marginal_single
|
150
|
+
%t764 = load_input "income" :: float
|
151
|
+
%t765 = load_input "fed" :: any
|
152
|
+
%t766 = load_field t765["single"] :: any
|
153
|
+
%t767 = load_field t766["std"] :: float
|
154
|
+
%t768 = call core.sub(%t764, %t767) :: float
|
155
|
+
%t769 = const 0 :: integer
|
156
|
+
%t770 = make_tuple(%t768, %t769) :: tuple<float, integer>
|
157
|
+
%t771 = fold %t770 fn="agg.max" :: float
|
150
158
|
%acc_80 = decl_acc :: float
|
151
159
|
%t81 = load_input "fed" :: array
|
152
160
|
%t82 = load_field t81["single"] :: any
|
153
161
|
%t83 = load_field t82["rates"] :: any
|
154
162
|
loop rates id=L8 in %t83 as el=%rates_el_84, idx=%rates_i_85
|
155
|
-
%t764 = load_input "income" :: float
|
156
|
-
%t765 = load_input "fed" :: any
|
157
|
-
%t769 = const 0 :: integer
|
158
163
|
%t783 = load_field rates_el_84["lo"] :: float
|
159
164
|
%t796 = load_field rates_el_84["hi"] :: float
|
160
165
|
%t788 = const -1 :: integer
|
161
166
|
%t790 = const 100000000000.0 :: float
|
162
167
|
%t804 = load_field rates_el_84["rate"] :: float
|
163
|
-
%
|
168
|
+
%t760 = call core.gte(%t771, %t783) :: boolean
|
164
169
|
%t789 = call core.eq(%t796, %t788) :: boolean
|
165
|
-
%t767 = load_field t766["std"] :: float
|
166
170
|
%t792 = select %t789, %t790, %t796 :: float
|
167
|
-
%t768 = call core.sub(%t764, %t767) :: float
|
168
|
-
%t770 = make_tuple(%t768, %t769) :: tuple<float, integer>
|
169
|
-
%t771 = fold %t770 fn="agg.max" :: float
|
170
|
-
%t760 = call core.gte(%t771, %t783) :: boolean
|
171
171
|
%t762 = call core.lt(%t771, %t792) :: boolean
|
172
172
|
%t763 = call core.and(%t760, %t762) :: boolean
|
173
173
|
%t89 = select %t763, %t804, %t769 :: float
|
@@ -177,28 +177,28 @@
|
|
177
177
|
yield %t90
|
178
178
|
)
|
179
179
|
(Declaration fed_eff_single
|
180
|
+
%t827 = load_input "income" :: float
|
181
|
+
%t828 = load_input "fed" :: any
|
182
|
+
%t829 = load_field t828["single"] :: any
|
183
|
+
%t830 = load_field t829["std"] :: float
|
184
|
+
%t831 = call core.sub(%t827, %t830) :: float
|
185
|
+
%t832 = const 0 :: integer
|
186
|
+
%t833 = make_tuple(%t831, %t832) :: tuple<float, integer>
|
187
|
+
%t834 = fold %t833 fn="agg.max" :: float
|
180
188
|
%acc806 = decl_acc :: float
|
181
189
|
%t807 = load_input "fed" :: array
|
182
190
|
%t808 = load_field t807["single"] :: any
|
183
191
|
%t809 = load_field t808["rates"] :: any
|
184
192
|
loop rates id=L33 in %t809 as el=%t810, idx=%t811
|
185
|
-
%t827 = load_input "income" :: float
|
186
|
-
%t828 = load_input "fed" :: any
|
187
|
-
%t832 = const 0 :: integer
|
188
193
|
%t838 = load_field t810["lo"] :: float
|
189
194
|
%t851 = load_field t810["hi"] :: float
|
190
195
|
%t843 = const -1 :: integer
|
191
196
|
%t845 = const 100000000000.0 :: float
|
192
197
|
%t863 = load_field t810["rate"] :: float
|
193
|
-
%
|
198
|
+
%t821 = call core.sub(%t834, %t838) :: float
|
194
199
|
%t844 = call core.eq(%t851, %t843) :: boolean
|
195
|
-
%t830 = load_field t829["std"] :: float
|
196
200
|
%t847 = select %t844, %t845, %t851 :: float
|
197
|
-
%t831 = call core.sub(%t827, %t830) :: float
|
198
201
|
%t825 = call core.sub(%t847, %t838) :: float
|
199
|
-
%t833 = make_tuple(%t831, %t832) :: tuple<float, integer>
|
200
|
-
%t834 = fold %t833 fn="agg.max" :: float
|
201
|
-
%t821 = call core.sub(%t834, %t838) :: float
|
202
202
|
%t826 = call core.clamp(%t821, %t832, %t825) :: float
|
203
203
|
%t814 = call core.mul(%t826, %t863) :: float
|
204
204
|
%acc806 = acc_add agg.sum(%acc806, %t814) :: float
|
@@ -301,28 +301,28 @@
|
|
301
301
|
yield %t129
|
302
302
|
)
|
303
303
|
(Declaration total_tax_single
|
304
|
+
%t925 = load_input "income" :: float
|
305
|
+
%t926 = load_input "fed" :: any
|
306
|
+
%t927 = load_field t926["single"] :: any
|
307
|
+
%t928 = load_field t927["std"] :: float
|
308
|
+
%t929 = call core.sub(%t925, %t928) :: float
|
309
|
+
%t930 = const 0 :: integer
|
310
|
+
%t931 = make_tuple(%t929, %t930) :: tuple<float, integer>
|
311
|
+
%t932 = fold %t931 fn="agg.max" :: float
|
304
312
|
%acc904 = decl_acc :: float
|
305
313
|
%t905 = load_input "fed" :: array
|
306
314
|
%t906 = load_field t905["single"] :: any
|
307
315
|
%t907 = load_field t906["rates"] :: any
|
308
316
|
loop rates id=L34 in %t907 as el=%t908, idx=%t909
|
309
|
-
%t925 = load_input "income" :: float
|
310
|
-
%t926 = load_input "fed" :: any
|
311
|
-
%t930 = const 0 :: integer
|
312
317
|
%t936 = load_field t908["lo"] :: float
|
313
318
|
%t949 = load_field t908["hi"] :: float
|
314
319
|
%t941 = const -1 :: integer
|
315
320
|
%t943 = const 100000000000.0 :: float
|
316
321
|
%t961 = load_field t908["rate"] :: float
|
317
|
-
%
|
322
|
+
%t919 = call core.sub(%t932, %t936) :: float
|
318
323
|
%t942 = call core.eq(%t949, %t941) :: boolean
|
319
|
-
%t928 = load_field t927["std"] :: float
|
320
324
|
%t945 = select %t942, %t943, %t949 :: float
|
321
|
-
%t929 = call core.sub(%t925, %t928) :: float
|
322
325
|
%t923 = call core.sub(%t945, %t936) :: float
|
323
|
-
%t931 = make_tuple(%t929, %t930) :: tuple<float, integer>
|
324
|
-
%t932 = fold %t931 fn="agg.max" :: float
|
325
|
-
%t919 = call core.sub(%t932, %t936) :: float
|
326
326
|
%t924 = call core.clamp(%t919, %t930, %t923) :: float
|
327
327
|
%t912 = call core.mul(%t924, %t961) :: float
|
328
328
|
%acc904 = acc_add agg.sum(%acc904, %t912) :: float
|
@@ -353,28 +353,28 @@
|
|
353
353
|
yield %t136
|
354
354
|
)
|
355
355
|
(Declaration total_eff_single
|
356
|
+
%t1019 = load_input "income" :: float
|
357
|
+
%t1020 = load_input "fed" :: any
|
358
|
+
%t1021 = load_field t1020["single"] :: any
|
359
|
+
%t1022 = load_field t1021["std"] :: float
|
360
|
+
%t1023 = call core.sub(%t1019, %t1022) :: float
|
361
|
+
%t1024 = const 0 :: integer
|
362
|
+
%t1025 = make_tuple(%t1023, %t1024) :: tuple<float, integer>
|
363
|
+
%t1026 = fold %t1025 fn="agg.max" :: float
|
356
364
|
%acc998 = decl_acc :: float
|
357
365
|
%t999 = load_input "fed" :: array
|
358
366
|
%t1000 = load_field t999["single"] :: any
|
359
367
|
%t1001 = load_field t1000["rates"] :: any
|
360
368
|
loop rates id=L35 in %t1001 as el=%t1002, idx=%t1003
|
361
|
-
%t1019 = load_input "income" :: float
|
362
|
-
%t1020 = load_input "fed" :: any
|
363
|
-
%t1024 = const 0 :: integer
|
364
369
|
%t1030 = load_field t1002["lo"] :: float
|
365
370
|
%t1043 = load_field t1002["hi"] :: float
|
366
371
|
%t1035 = const -1 :: integer
|
367
372
|
%t1037 = const 100000000000.0 :: float
|
368
373
|
%t1055 = load_field t1002["rate"] :: float
|
369
|
-
%
|
374
|
+
%t1013 = call core.sub(%t1026, %t1030) :: float
|
370
375
|
%t1036 = call core.eq(%t1043, %t1035) :: boolean
|
371
|
-
%t1022 = load_field t1021["std"] :: float
|
372
376
|
%t1039 = select %t1036, %t1037, %t1043 :: float
|
373
|
-
%t1023 = call core.sub(%t1019, %t1022) :: float
|
374
377
|
%t1017 = call core.sub(%t1039, %t1030) :: float
|
375
|
-
%t1025 = make_tuple(%t1023, %t1024) :: tuple<float, integer>
|
376
|
-
%t1026 = fold %t1025 fn="agg.max" :: float
|
377
|
-
%t1013 = call core.sub(%t1026, %t1030) :: float
|
378
378
|
%t1018 = call core.clamp(%t1013, %t1024, %t1017) :: float
|
379
379
|
%t1006 = call core.mul(%t1018, %t1055) :: float
|
380
380
|
%acc998 = acc_add agg.sum(%acc998, %t1006) :: float
|
@@ -410,27 +410,27 @@
|
|
410
410
|
)
|
411
411
|
(Declaration after_tax_single
|
412
412
|
%t143 = load_input "income" :: float
|
413
|
+
%t1114 = load_input "fed" :: any
|
414
|
+
%t1115 = load_field t1114["single"] :: any
|
415
|
+
%t1116 = load_field t1115["std"] :: float
|
416
|
+
%t1117 = call core.sub(%t143, %t1116) :: float
|
417
|
+
%t1118 = const 0 :: integer
|
418
|
+
%t1119 = make_tuple(%t1117, %t1118) :: tuple<float, integer>
|
419
|
+
%t1120 = fold %t1119 fn="agg.max" :: float
|
413
420
|
%acc1092 = decl_acc :: float
|
414
421
|
%t1093 = load_input "fed" :: array
|
415
422
|
%t1094 = load_field t1093["single"] :: any
|
416
423
|
%t1095 = load_field t1094["rates"] :: any
|
417
424
|
loop rates id=L36 in %t1095 as el=%t1096, idx=%t1097
|
418
|
-
%t1114 = load_input "fed" :: any
|
419
|
-
%t1118 = const 0 :: integer
|
420
425
|
%t1124 = load_field t1096["lo"] :: float
|
421
426
|
%t1137 = load_field t1096["hi"] :: float
|
422
427
|
%t1129 = const -1 :: integer
|
423
428
|
%t1131 = const 100000000000.0 :: float
|
424
429
|
%t1149 = load_field t1096["rate"] :: float
|
425
|
-
%
|
430
|
+
%t1107 = call core.sub(%t1120, %t1124) :: float
|
426
431
|
%t1130 = call core.eq(%t1137, %t1129) :: boolean
|
427
|
-
%t1116 = load_field t1115["std"] :: float
|
428
432
|
%t1133 = select %t1130, %t1131, %t1137 :: float
|
429
|
-
%t1117 = call core.sub(%t143, %t1116) :: float
|
430
433
|
%t1111 = call core.sub(%t1133, %t1124) :: float
|
431
|
-
%t1119 = make_tuple(%t1117, %t1118) :: tuple<float, integer>
|
432
|
-
%t1120 = fold %t1119 fn="agg.max" :: float
|
433
|
-
%t1107 = call core.sub(%t1120, %t1124) :: float
|
434
434
|
%t1112 = call core.clamp(%t1107, %t1118, %t1111) :: float
|
435
435
|
%t1100 = call core.mul(%t1112, %t1149) :: float
|
436
436
|
%acc1092 = acc_add agg.sum(%acc1092, %t1100) :: float
|
@@ -463,27 +463,27 @@
|
|
463
463
|
)
|
464
464
|
(Declaration take_home_single
|
465
465
|
%t1178 = load_input "income" :: float
|
466
|
+
%t1211 = load_input "fed" :: any
|
467
|
+
%t1212 = load_field t1211["single"] :: any
|
468
|
+
%t1213 = load_field t1212["std"] :: float
|
469
|
+
%t1214 = call core.sub(%t1178, %t1213) :: float
|
470
|
+
%t1215 = const 0 :: integer
|
471
|
+
%t1216 = make_tuple(%t1214, %t1215) :: tuple<float, integer>
|
472
|
+
%t1217 = fold %t1216 fn="agg.max" :: float
|
466
473
|
%acc1189 = decl_acc :: float
|
467
474
|
%t1190 = load_input "fed" :: array
|
468
475
|
%t1191 = load_field t1190["single"] :: any
|
469
476
|
%t1192 = load_field t1191["rates"] :: any
|
470
477
|
loop rates id=L37 in %t1192 as el=%t1193, idx=%t1194
|
471
|
-
%t1211 = load_input "fed" :: any
|
472
|
-
%t1215 = const 0 :: integer
|
473
478
|
%t1221 = load_field t1193["lo"] :: float
|
474
479
|
%t1234 = load_field t1193["hi"] :: float
|
475
480
|
%t1226 = const -1 :: integer
|
476
481
|
%t1228 = const 100000000000.0 :: float
|
477
482
|
%t1246 = load_field t1193["rate"] :: float
|
478
|
-
%
|
483
|
+
%t1204 = call core.sub(%t1217, %t1221) :: float
|
479
484
|
%t1227 = call core.eq(%t1234, %t1226) :: boolean
|
480
|
-
%t1213 = load_field t1212["std"] :: float
|
481
485
|
%t1230 = select %t1227, %t1228, %t1234 :: float
|
482
|
-
%t1214 = call core.sub(%t1178, %t1213) :: float
|
483
486
|
%t1208 = call core.sub(%t1230, %t1221) :: float
|
484
|
-
%t1216 = make_tuple(%t1214, %t1215) :: tuple<float, integer>
|
485
|
-
%t1217 = fold %t1216 fn="agg.max" :: float
|
486
|
-
%t1204 = call core.sub(%t1217, %t1221) :: float
|
487
487
|
%t1209 = call core.clamp(%t1204, %t1215, %t1208) :: float
|
488
488
|
%t1197 = call core.mul(%t1209, %t1246) :: float
|
489
489
|
%acc1189 = acc_add agg.sum(%acc1189, %t1197) :: float
|
@@ -584,7 +584,7 @@
|
|
584
584
|
%t1307 = load_field rates_el_189["hi"] :: float
|
585
585
|
%t1299 = const -1 :: integer
|
586
586
|
%t1301 = const 100000000000.0 :: float
|
587
|
-
%t193 = call core.sub(%
|
587
|
+
%t193 = call core.sub(%t1290, %t1294) :: float
|
588
588
|
%t1300 = call core.eq(%t1307, %t1299) :: boolean
|
589
589
|
%t1303 = select %t1300, %t1301, %t1307 :: float
|
590
590
|
%t197 = call core.sub(%t1303, %t1294) :: float
|
@@ -593,28 +593,28 @@
|
|
593
593
|
end_loop
|
594
594
|
)
|
595
595
|
(Declaration fed_tax_mj
|
596
|
+
%t1327 = load_input "income" :: float
|
597
|
+
%t1328 = load_input "fed" :: any
|
598
|
+
%t1329 = load_field t1328["married_joint"] :: any
|
599
|
+
%t1330 = load_field t1329["std"] :: float
|
600
|
+
%t1331 = call core.sub(%t1327, %t1330) :: float
|
601
|
+
%t1332 = const 0 :: integer
|
602
|
+
%t1333 = make_tuple(%t1331, %t1332) :: tuple<float, integer>
|
603
|
+
%t1334 = fold %t1333 fn="agg.max" :: float
|
596
604
|
%acc_199 = decl_acc :: float
|
597
605
|
%t200 = load_input "fed" :: array
|
598
606
|
%t201 = load_field t200["married_joint"] :: any
|
599
607
|
%t202 = load_field t201["rates"] :: any
|
600
608
|
loop rates id=L14 in %t202 as el=%rates_el_203, idx=%rates_i_204
|
601
|
-
%t1327 = load_input "income" :: float
|
602
|
-
%t1328 = load_input "fed" :: any
|
603
|
-
%t1332 = const 0 :: integer
|
604
609
|
%t1338 = load_field rates_el_203["lo"] :: float
|
605
610
|
%t1351 = load_field rates_el_203["hi"] :: float
|
606
611
|
%t1343 = const -1 :: integer
|
607
612
|
%t1345 = const 100000000000.0 :: float
|
608
613
|
%t1363 = load_field rates_el_203["rate"] :: float
|
609
|
-
%
|
614
|
+
%t1321 = call core.sub(%t1334, %t1338) :: float
|
610
615
|
%t1344 = call core.eq(%t1351, %t1343) :: boolean
|
611
|
-
%t1330 = load_field t1329["std"] :: float
|
612
616
|
%t1347 = select %t1344, %t1345, %t1351 :: float
|
613
|
-
%t1331 = call core.sub(%t1327, %t1330) :: float
|
614
617
|
%t1325 = call core.sub(%t1347, %t1338) :: float
|
615
|
-
%t1333 = make_tuple(%t1331, %t1332) :: tuple<float, integer>
|
616
|
-
%t1334 = fold %t1333 fn="agg.max" :: float
|
617
|
-
%t1321 = call core.sub(%t1334, %t1338) :: float
|
618
618
|
%t1326 = call core.clamp(%t1321, %t1332, %t1325) :: float
|
619
619
|
%t207 = call core.mul(%t1326, %t1363) :: float
|
620
620
|
%acc_199 = acc_add agg.sum(%acc_199, %t207) :: float
|
@@ -639,36 +639,36 @@
|
|
639
639
|
%t1396 = load_field rates_el_212["hi"] :: float
|
640
640
|
%t1388 = const -1 :: integer
|
641
641
|
%t1390 = const 100000000000.0 :: float
|
642
|
-
%t216 = call core.gte(%
|
642
|
+
%t216 = call core.gte(%t1371, %t1383) :: boolean
|
643
643
|
%t1389 = call core.eq(%t1396, %t1388) :: boolean
|
644
644
|
%t1392 = select %t1389, %t1390, %t1396 :: float
|
645
|
-
%t219 = call core.lt(%
|
645
|
+
%t219 = call core.lt(%t1371, %t1392) :: boolean
|
646
646
|
%t220 = call core.and(%t216, %t219) :: boolean
|
647
647
|
yield %t220
|
648
648
|
end_loop
|
649
649
|
)
|
650
650
|
(Declaration fed_marginal_mj
|
651
|
+
%t1411 = load_input "income" :: float
|
652
|
+
%t1412 = load_input "fed" :: any
|
653
|
+
%t1413 = load_field t1412["married_joint"] :: any
|
654
|
+
%t1414 = load_field t1413["std"] :: float
|
655
|
+
%t1415 = call core.sub(%t1411, %t1414) :: float
|
656
|
+
%t1416 = const 0 :: integer
|
657
|
+
%t1417 = make_tuple(%t1415, %t1416) :: tuple<float, integer>
|
658
|
+
%t1418 = fold %t1417 fn="agg.max" :: float
|
651
659
|
%acc_221 = decl_acc :: float
|
652
660
|
%t222 = load_input "fed" :: array
|
653
661
|
%t223 = load_field t222["married_joint"] :: any
|
654
662
|
%t224 = load_field t223["rates"] :: any
|
655
663
|
loop rates id=L16 in %t224 as el=%rates_el_225, idx=%rates_i_226
|
656
|
-
%t1411 = load_input "income" :: float
|
657
|
-
%t1412 = load_input "fed" :: any
|
658
|
-
%t1416 = const 0 :: integer
|
659
664
|
%t1430 = load_field rates_el_225["lo"] :: float
|
660
665
|
%t1443 = load_field rates_el_225["hi"] :: float
|
661
666
|
%t1435 = const -1 :: integer
|
662
667
|
%t1437 = const 100000000000.0 :: float
|
663
668
|
%t1451 = load_field rates_el_225["rate"] :: float
|
664
|
-
%
|
669
|
+
%t1407 = call core.gte(%t1418, %t1430) :: boolean
|
665
670
|
%t1436 = call core.eq(%t1443, %t1435) :: boolean
|
666
|
-
%t1414 = load_field t1413["std"] :: float
|
667
671
|
%t1439 = select %t1436, %t1437, %t1443 :: float
|
668
|
-
%t1415 = call core.sub(%t1411, %t1414) :: float
|
669
|
-
%t1417 = make_tuple(%t1415, %t1416) :: tuple<float, integer>
|
670
|
-
%t1418 = fold %t1417 fn="agg.max" :: float
|
671
|
-
%t1407 = call core.gte(%t1418, %t1430) :: boolean
|
672
672
|
%t1409 = call core.lt(%t1418, %t1439) :: boolean
|
673
673
|
%t1410 = call core.and(%t1407, %t1409) :: boolean
|
674
674
|
%t230 = select %t1410, %t1451, %t1416 :: float
|
@@ -678,28 +678,28 @@
|
|
678
678
|
yield %t231
|
679
679
|
)
|
680
680
|
(Declaration fed_eff_mj
|
681
|
+
%t1474 = load_input "income" :: float
|
682
|
+
%t1475 = load_input "fed" :: any
|
683
|
+
%t1476 = load_field t1475["married_joint"] :: any
|
684
|
+
%t1477 = load_field t1476["std"] :: float
|
685
|
+
%t1478 = call core.sub(%t1474, %t1477) :: float
|
686
|
+
%t1479 = const 0 :: integer
|
687
|
+
%t1480 = make_tuple(%t1478, %t1479) :: tuple<float, integer>
|
688
|
+
%t1481 = fold %t1480 fn="agg.max" :: float
|
681
689
|
%acc1453 = decl_acc :: float
|
682
690
|
%t1454 = load_input "fed" :: array
|
683
691
|
%t1455 = load_field t1454["married_joint"] :: any
|
684
692
|
%t1456 = load_field t1455["rates"] :: any
|
685
693
|
loop rates id=L38 in %t1456 as el=%t1457, idx=%t1458
|
686
|
-
%t1474 = load_input "income" :: float
|
687
|
-
%t1475 = load_input "fed" :: any
|
688
|
-
%t1479 = const 0 :: integer
|
689
694
|
%t1485 = load_field t1457["lo"] :: float
|
690
695
|
%t1498 = load_field t1457["hi"] :: float
|
691
696
|
%t1490 = const -1 :: integer
|
692
697
|
%t1492 = const 100000000000.0 :: float
|
693
698
|
%t1510 = load_field t1457["rate"] :: float
|
694
|
-
%
|
699
|
+
%t1468 = call core.sub(%t1481, %t1485) :: float
|
695
700
|
%t1491 = call core.eq(%t1498, %t1490) :: boolean
|
696
|
-
%t1477 = load_field t1476["std"] :: float
|
697
701
|
%t1494 = select %t1491, %t1492, %t1498 :: float
|
698
|
-
%t1478 = call core.sub(%t1474, %t1477) :: float
|
699
702
|
%t1472 = call core.sub(%t1494, %t1485) :: float
|
700
|
-
%t1480 = make_tuple(%t1478, %t1479) :: tuple<float, integer>
|
701
|
-
%t1481 = fold %t1480 fn="agg.max" :: float
|
702
|
-
%t1468 = call core.sub(%t1481, %t1485) :: float
|
703
703
|
%t1473 = call core.clamp(%t1468, %t1479, %t1472) :: float
|
704
704
|
%t1461 = call core.mul(%t1473, %t1510) :: float
|
705
705
|
%acc1453 = acc_add agg.sum(%acc1453, %t1461) :: float
|
@@ -786,28 +786,28 @@
|
|
786
786
|
yield %t259
|
787
787
|
)
|
788
788
|
(Declaration total_tax_mj
|
789
|
+
%t1585 = load_input "income" :: float
|
790
|
+
%t1586 = load_input "fed" :: any
|
791
|
+
%t1587 = load_field t1586["married_joint"] :: any
|
792
|
+
%t1588 = load_field t1587["std"] :: float
|
793
|
+
%t1589 = call core.sub(%t1585, %t1588) :: float
|
794
|
+
%t1590 = const 0 :: integer
|
795
|
+
%t1591 = make_tuple(%t1589, %t1590) :: tuple<float, integer>
|
796
|
+
%t1592 = fold %t1591 fn="agg.max" :: float
|
789
797
|
%acc1564 = decl_acc :: float
|
790
798
|
%t1565 = load_input "fed" :: array
|
791
799
|
%t1566 = load_field t1565["married_joint"] :: any
|
792
800
|
%t1567 = load_field t1566["rates"] :: any
|
793
801
|
loop rates id=L39 in %t1567 as el=%t1568, idx=%t1569
|
794
|
-
%t1585 = load_input "income" :: float
|
795
|
-
%t1586 = load_input "fed" :: any
|
796
|
-
%t1590 = const 0 :: integer
|
797
802
|
%t1596 = load_field t1568["lo"] :: float
|
798
803
|
%t1609 = load_field t1568["hi"] :: float
|
799
804
|
%t1601 = const -1 :: integer
|
800
805
|
%t1603 = const 100000000000.0 :: float
|
801
806
|
%t1621 = load_field t1568["rate"] :: float
|
802
|
-
%
|
807
|
+
%t1579 = call core.sub(%t1592, %t1596) :: float
|
803
808
|
%t1602 = call core.eq(%t1609, %t1601) :: boolean
|
804
|
-
%t1588 = load_field t1587["std"] :: float
|
805
809
|
%t1605 = select %t1602, %t1603, %t1609 :: float
|
806
|
-
%t1589 = call core.sub(%t1585, %t1588) :: float
|
807
810
|
%t1583 = call core.sub(%t1605, %t1596) :: float
|
808
|
-
%t1591 = make_tuple(%t1589, %t1590) :: tuple<float, integer>
|
809
|
-
%t1592 = fold %t1591 fn="agg.max" :: float
|
810
|
-
%t1579 = call core.sub(%t1592, %t1596) :: float
|
811
811
|
%t1584 = call core.clamp(%t1579, %t1590, %t1583) :: float
|
812
812
|
%t1572 = call core.mul(%t1584, %t1621) :: float
|
813
813
|
%acc1564 = acc_add agg.sum(%acc1564, %t1572) :: float
|
@@ -838,28 +838,28 @@
|
|
838
838
|
yield %t266
|
839
839
|
)
|
840
840
|
(Declaration total_eff_mj
|
841
|
+
%t1681 = load_input "income" :: float
|
842
|
+
%t1682 = load_input "fed" :: any
|
843
|
+
%t1683 = load_field t1682["married_joint"] :: any
|
844
|
+
%t1684 = load_field t1683["std"] :: float
|
845
|
+
%t1685 = call core.sub(%t1681, %t1684) :: float
|
846
|
+
%t1686 = const 0 :: integer
|
847
|
+
%t1687 = make_tuple(%t1685, %t1686) :: tuple<float, integer>
|
848
|
+
%t1688 = fold %t1687 fn="agg.max" :: float
|
841
849
|
%acc1660 = decl_acc :: float
|
842
850
|
%t1661 = load_input "fed" :: array
|
843
851
|
%t1662 = load_field t1661["married_joint"] :: any
|
844
852
|
%t1663 = load_field t1662["rates"] :: any
|
845
853
|
loop rates id=L40 in %t1663 as el=%t1664, idx=%t1665
|
846
|
-
%t1681 = load_input "income" :: float
|
847
|
-
%t1682 = load_input "fed" :: any
|
848
|
-
%t1686 = const 0 :: integer
|
849
854
|
%t1692 = load_field t1664["lo"] :: float
|
850
855
|
%t1705 = load_field t1664["hi"] :: float
|
851
856
|
%t1697 = const -1 :: integer
|
852
857
|
%t1699 = const 100000000000.0 :: float
|
853
858
|
%t1717 = load_field t1664["rate"] :: float
|
854
|
-
%
|
859
|
+
%t1675 = call core.sub(%t1688, %t1692) :: float
|
855
860
|
%t1698 = call core.eq(%t1705, %t1697) :: boolean
|
856
|
-
%t1684 = load_field t1683["std"] :: float
|
857
861
|
%t1701 = select %t1698, %t1699, %t1705 :: float
|
858
|
-
%t1685 = call core.sub(%t1681, %t1684) :: float
|
859
862
|
%t1679 = call core.sub(%t1701, %t1692) :: float
|
860
|
-
%t1687 = make_tuple(%t1685, %t1686) :: tuple<float, integer>
|
861
|
-
%t1688 = fold %t1687 fn="agg.max" :: float
|
862
|
-
%t1675 = call core.sub(%t1688, %t1692) :: float
|
863
863
|
%t1680 = call core.clamp(%t1675, %t1686, %t1679) :: float
|
864
864
|
%t1668 = call core.mul(%t1680, %t1717) :: float
|
865
865
|
%acc1660 = acc_add agg.sum(%acc1660, %t1668) :: float
|
@@ -895,27 +895,27 @@
|
|
895
895
|
)
|
896
896
|
(Declaration after_tax_mj
|
897
897
|
%t273 = load_input "income" :: float
|
898
|
+
%t1778 = load_input "fed" :: any
|
899
|
+
%t1779 = load_field t1778["married_joint"] :: any
|
900
|
+
%t1780 = load_field t1779["std"] :: float
|
901
|
+
%t1781 = call core.sub(%t273, %t1780) :: float
|
902
|
+
%t1782 = const 0 :: integer
|
903
|
+
%t1783 = make_tuple(%t1781, %t1782) :: tuple<float, integer>
|
904
|
+
%t1784 = fold %t1783 fn="agg.max" :: float
|
898
905
|
%acc1756 = decl_acc :: float
|
899
906
|
%t1757 = load_input "fed" :: array
|
900
907
|
%t1758 = load_field t1757["married_joint"] :: any
|
901
908
|
%t1759 = load_field t1758["rates"] :: any
|
902
909
|
loop rates id=L41 in %t1759 as el=%t1760, idx=%t1761
|
903
|
-
%t1778 = load_input "fed" :: any
|
904
|
-
%t1782 = const 0 :: integer
|
905
910
|
%t1788 = load_field t1760["lo"] :: float
|
906
911
|
%t1801 = load_field t1760["hi"] :: float
|
907
912
|
%t1793 = const -1 :: integer
|
908
913
|
%t1795 = const 100000000000.0 :: float
|
909
914
|
%t1813 = load_field t1760["rate"] :: float
|
910
|
-
%
|
915
|
+
%t1771 = call core.sub(%t1784, %t1788) :: float
|
911
916
|
%t1794 = call core.eq(%t1801, %t1793) :: boolean
|
912
|
-
%t1780 = load_field t1779["std"] :: float
|
913
917
|
%t1797 = select %t1794, %t1795, %t1801 :: float
|
914
|
-
%t1781 = call core.sub(%t273, %t1780) :: float
|
915
918
|
%t1775 = call core.sub(%t1797, %t1788) :: float
|
916
|
-
%t1783 = make_tuple(%t1781, %t1782) :: tuple<float, integer>
|
917
|
-
%t1784 = fold %t1783 fn="agg.max" :: float
|
918
|
-
%t1771 = call core.sub(%t1784, %t1788) :: float
|
919
919
|
%t1776 = call core.clamp(%t1771, %t1782, %t1775) :: float
|
920
920
|
%t1764 = call core.mul(%t1776, %t1813) :: float
|
921
921
|
%acc1756 = acc_add agg.sum(%acc1756, %t1764) :: float
|
@@ -948,27 +948,27 @@
|
|
948
948
|
)
|
949
949
|
(Declaration take_home_mj
|
950
950
|
%t1844 = load_input "income" :: float
|
951
|
+
%t1877 = load_input "fed" :: any
|
952
|
+
%t1878 = load_field t1877["married_joint"] :: any
|
953
|
+
%t1879 = load_field t1878["std"] :: float
|
954
|
+
%t1880 = call core.sub(%t1844, %t1879) :: float
|
955
|
+
%t1881 = const 0 :: integer
|
956
|
+
%t1882 = make_tuple(%t1880, %t1881) :: tuple<float, integer>
|
957
|
+
%t1883 = fold %t1882 fn="agg.max" :: float
|
951
958
|
%acc1855 = decl_acc :: float
|
952
959
|
%t1856 = load_input "fed" :: array
|
953
960
|
%t1857 = load_field t1856["married_joint"] :: any
|
954
961
|
%t1858 = load_field t1857["rates"] :: any
|
955
962
|
loop rates id=L42 in %t1858 as el=%t1859, idx=%t1860
|
956
|
-
%t1877 = load_input "fed" :: any
|
957
|
-
%t1881 = const 0 :: integer
|
958
963
|
%t1887 = load_field t1859["lo"] :: float
|
959
964
|
%t1900 = load_field t1859["hi"] :: float
|
960
965
|
%t1892 = const -1 :: integer
|
961
966
|
%t1894 = const 100000000000.0 :: float
|
962
967
|
%t1912 = load_field t1859["rate"] :: float
|
963
|
-
%
|
968
|
+
%t1870 = call core.sub(%t1883, %t1887) :: float
|
964
969
|
%t1893 = call core.eq(%t1900, %t1892) :: boolean
|
965
|
-
%t1879 = load_field t1878["std"] :: float
|
966
970
|
%t1896 = select %t1893, %t1894, %t1900 :: float
|
967
|
-
%t1880 = call core.sub(%t1844, %t1879) :: float
|
968
971
|
%t1874 = call core.sub(%t1896, %t1887) :: float
|
969
|
-
%t1882 = make_tuple(%t1880, %t1881) :: tuple<float, integer>
|
970
|
-
%t1883 = fold %t1882 fn="agg.max" :: float
|
971
|
-
%t1870 = call core.sub(%t1883, %t1887) :: float
|
972
972
|
%t1875 = call core.clamp(%t1870, %t1881, %t1874) :: float
|
973
973
|
%t1863 = call core.mul(%t1875, %t1912) :: float
|
974
974
|
%acc1855 = acc_add agg.sum(%acc1855, %t1863) :: float
|
@@ -1069,7 +1069,7 @@
|
|
1069
1069
|
%t1975 = load_field rates_el_319["hi"] :: float
|
1070
1070
|
%t1967 = const -1 :: integer
|
1071
1071
|
%t1969 = const 100000000000.0 :: float
|
1072
|
-
%t323 = call core.sub(%
|
1072
|
+
%t323 = call core.sub(%t1958, %t1962) :: float
|
1073
1073
|
%t1968 = call core.eq(%t1975, %t1967) :: boolean
|
1074
1074
|
%t1971 = select %t1968, %t1969, %t1975 :: float
|
1075
1075
|
%t327 = call core.sub(%t1971, %t1962) :: float
|
@@ -1078,28 +1078,28 @@
|
|
1078
1078
|
end_loop
|
1079
1079
|
)
|
1080
1080
|
(Declaration fed_tax_ms
|
1081
|
+
%t1995 = load_input "income" :: float
|
1082
|
+
%t1996 = load_input "fed" :: any
|
1083
|
+
%t1997 = load_field t1996["married_separate"] :: any
|
1084
|
+
%t1998 = load_field t1997["std"] :: float
|
1085
|
+
%t1999 = call core.sub(%t1995, %t1998) :: float
|
1086
|
+
%t2000 = const 0 :: integer
|
1087
|
+
%t2001 = make_tuple(%t1999, %t2000) :: tuple<float, integer>
|
1088
|
+
%t2002 = fold %t2001 fn="agg.max" :: float
|
1081
1089
|
%acc_329 = decl_acc :: float
|
1082
1090
|
%t330 = load_input "fed" :: array
|
1083
1091
|
%t331 = load_field t330["married_separate"] :: any
|
1084
1092
|
%t332 = load_field t331["rates"] :: any
|
1085
1093
|
loop rates id=L22 in %t332 as el=%rates_el_333, idx=%rates_i_334
|
1086
|
-
%t1995 = load_input "income" :: float
|
1087
|
-
%t1996 = load_input "fed" :: any
|
1088
|
-
%t2000 = const 0 :: integer
|
1089
1094
|
%t2006 = load_field rates_el_333["lo"] :: float
|
1090
1095
|
%t2019 = load_field rates_el_333["hi"] :: float
|
1091
1096
|
%t2011 = const -1 :: integer
|
1092
1097
|
%t2013 = const 100000000000.0 :: float
|
1093
1098
|
%t2031 = load_field rates_el_333["rate"] :: float
|
1094
|
-
%
|
1099
|
+
%t1989 = call core.sub(%t2002, %t2006) :: float
|
1095
1100
|
%t2012 = call core.eq(%t2019, %t2011) :: boolean
|
1096
|
-
%t1998 = load_field t1997["std"] :: float
|
1097
1101
|
%t2015 = select %t2012, %t2013, %t2019 :: float
|
1098
|
-
%t1999 = call core.sub(%t1995, %t1998) :: float
|
1099
1102
|
%t1993 = call core.sub(%t2015, %t2006) :: float
|
1100
|
-
%t2001 = make_tuple(%t1999, %t2000) :: tuple<float, integer>
|
1101
|
-
%t2002 = fold %t2001 fn="agg.max" :: float
|
1102
|
-
%t1989 = call core.sub(%t2002, %t2006) :: float
|
1103
1103
|
%t1994 = call core.clamp(%t1989, %t2000, %t1993) :: float
|
1104
1104
|
%t337 = call core.mul(%t1994, %t2031) :: float
|
1105
1105
|
%acc_329 = acc_add agg.sum(%acc_329, %t337) :: float
|
@@ -1124,36 +1124,36 @@
|
|
1124
1124
|
%t2064 = load_field rates_el_342["hi"] :: float
|
1125
1125
|
%t2056 = const -1 :: integer
|
1126
1126
|
%t2058 = const 100000000000.0 :: float
|
1127
|
-
%t346 = call core.gte(%
|
1127
|
+
%t346 = call core.gte(%t2039, %t2051) :: boolean
|
1128
1128
|
%t2057 = call core.eq(%t2064, %t2056) :: boolean
|
1129
1129
|
%t2060 = select %t2057, %t2058, %t2064 :: float
|
1130
|
-
%t349 = call core.lt(%
|
1130
|
+
%t349 = call core.lt(%t2039, %t2060) :: boolean
|
1131
1131
|
%t350 = call core.and(%t346, %t349) :: boolean
|
1132
1132
|
yield %t350
|
1133
1133
|
end_loop
|
1134
1134
|
)
|
1135
1135
|
(Declaration fed_marginal_ms
|
1136
|
+
%t2079 = load_input "income" :: float
|
1137
|
+
%t2080 = load_input "fed" :: any
|
1138
|
+
%t2081 = load_field t2080["married_separate"] :: any
|
1139
|
+
%t2082 = load_field t2081["std"] :: float
|
1140
|
+
%t2083 = call core.sub(%t2079, %t2082) :: float
|
1141
|
+
%t2084 = const 0 :: integer
|
1142
|
+
%t2085 = make_tuple(%t2083, %t2084) :: tuple<float, integer>
|
1143
|
+
%t2086 = fold %t2085 fn="agg.max" :: float
|
1136
1144
|
%acc_351 = decl_acc :: float
|
1137
1145
|
%t352 = load_input "fed" :: array
|
1138
1146
|
%t353 = load_field t352["married_separate"] :: any
|
1139
1147
|
%t354 = load_field t353["rates"] :: any
|
1140
1148
|
loop rates id=L24 in %t354 as el=%rates_el_355, idx=%rates_i_356
|
1141
|
-
%t2079 = load_input "income" :: float
|
1142
|
-
%t2080 = load_input "fed" :: any
|
1143
|
-
%t2084 = const 0 :: integer
|
1144
1149
|
%t2098 = load_field rates_el_355["lo"] :: float
|
1145
1150
|
%t2111 = load_field rates_el_355["hi"] :: float
|
1146
1151
|
%t2103 = const -1 :: integer
|
1147
1152
|
%t2105 = const 100000000000.0 :: float
|
1148
1153
|
%t2119 = load_field rates_el_355["rate"] :: float
|
1149
|
-
%
|
1154
|
+
%t2075 = call core.gte(%t2086, %t2098) :: boolean
|
1150
1155
|
%t2104 = call core.eq(%t2111, %t2103) :: boolean
|
1151
|
-
%t2082 = load_field t2081["std"] :: float
|
1152
1156
|
%t2107 = select %t2104, %t2105, %t2111 :: float
|
1153
|
-
%t2083 = call core.sub(%t2079, %t2082) :: float
|
1154
|
-
%t2085 = make_tuple(%t2083, %t2084) :: tuple<float, integer>
|
1155
|
-
%t2086 = fold %t2085 fn="agg.max" :: float
|
1156
|
-
%t2075 = call core.gte(%t2086, %t2098) :: boolean
|
1157
1157
|
%t2077 = call core.lt(%t2086, %t2107) :: boolean
|
1158
1158
|
%t2078 = call core.and(%t2075, %t2077) :: boolean
|
1159
1159
|
%t360 = select %t2078, %t2119, %t2084 :: float
|
@@ -1163,28 +1163,28 @@
|
|
1163
1163
|
yield %t361
|
1164
1164
|
)
|
1165
1165
|
(Declaration fed_eff_ms
|
1166
|
+
%t2142 = load_input "income" :: float
|
1167
|
+
%t2143 = load_input "fed" :: any
|
1168
|
+
%t2144 = load_field t2143["married_separate"] :: any
|
1169
|
+
%t2145 = load_field t2144["std"] :: float
|
1170
|
+
%t2146 = call core.sub(%t2142, %t2145) :: float
|
1171
|
+
%t2147 = const 0 :: integer
|
1172
|
+
%t2148 = make_tuple(%t2146, %t2147) :: tuple<float, integer>
|
1173
|
+
%t2149 = fold %t2148 fn="agg.max" :: float
|
1166
1174
|
%acc2121 = decl_acc :: float
|
1167
1175
|
%t2122 = load_input "fed" :: array
|
1168
1176
|
%t2123 = load_field t2122["married_separate"] :: any
|
1169
1177
|
%t2124 = load_field t2123["rates"] :: any
|
1170
1178
|
loop rates id=L43 in %t2124 as el=%t2125, idx=%t2126
|
1171
|
-
%t2142 = load_input "income" :: float
|
1172
|
-
%t2143 = load_input "fed" :: any
|
1173
|
-
%t2147 = const 0 :: integer
|
1174
1179
|
%t2153 = load_field t2125["lo"] :: float
|
1175
1180
|
%t2166 = load_field t2125["hi"] :: float
|
1176
1181
|
%t2158 = const -1 :: integer
|
1177
1182
|
%t2160 = const 100000000000.0 :: float
|
1178
1183
|
%t2178 = load_field t2125["rate"] :: float
|
1179
|
-
%
|
1184
|
+
%t2136 = call core.sub(%t2149, %t2153) :: float
|
1180
1185
|
%t2159 = call core.eq(%t2166, %t2158) :: boolean
|
1181
|
-
%t2145 = load_field t2144["std"] :: float
|
1182
1186
|
%t2162 = select %t2159, %t2160, %t2166 :: float
|
1183
|
-
%t2146 = call core.sub(%t2142, %t2145) :: float
|
1184
1187
|
%t2140 = call core.sub(%t2162, %t2153) :: float
|
1185
|
-
%t2148 = make_tuple(%t2146, %t2147) :: tuple<float, integer>
|
1186
|
-
%t2149 = fold %t2148 fn="agg.max" :: float
|
1187
|
-
%t2136 = call core.sub(%t2149, %t2153) :: float
|
1188
1188
|
%t2141 = call core.clamp(%t2136, %t2147, %t2140) :: float
|
1189
1189
|
%t2129 = call core.mul(%t2141, %t2178) :: float
|
1190
1190
|
%acc2121 = acc_add agg.sum(%acc2121, %t2129) :: float
|
@@ -1271,28 +1271,28 @@
|
|
1271
1271
|
yield %t389
|
1272
1272
|
)
|
1273
1273
|
(Declaration total_tax_ms
|
1274
|
+
%t2253 = load_input "income" :: float
|
1275
|
+
%t2254 = load_input "fed" :: any
|
1276
|
+
%t2255 = load_field t2254["married_separate"] :: any
|
1277
|
+
%t2256 = load_field t2255["std"] :: float
|
1278
|
+
%t2257 = call core.sub(%t2253, %t2256) :: float
|
1279
|
+
%t2258 = const 0 :: integer
|
1280
|
+
%t2259 = make_tuple(%t2257, %t2258) :: tuple<float, integer>
|
1281
|
+
%t2260 = fold %t2259 fn="agg.max" :: float
|
1274
1282
|
%acc2232 = decl_acc :: float
|
1275
1283
|
%t2233 = load_input "fed" :: array
|
1276
1284
|
%t2234 = load_field t2233["married_separate"] :: any
|
1277
1285
|
%t2235 = load_field t2234["rates"] :: any
|
1278
1286
|
loop rates id=L44 in %t2235 as el=%t2236, idx=%t2237
|
1279
|
-
%t2253 = load_input "income" :: float
|
1280
|
-
%t2254 = load_input "fed" :: any
|
1281
|
-
%t2258 = const 0 :: integer
|
1282
1287
|
%t2264 = load_field t2236["lo"] :: float
|
1283
1288
|
%t2277 = load_field t2236["hi"] :: float
|
1284
1289
|
%t2269 = const -1 :: integer
|
1285
1290
|
%t2271 = const 100000000000.0 :: float
|
1286
1291
|
%t2289 = load_field t2236["rate"] :: float
|
1287
|
-
%
|
1292
|
+
%t2247 = call core.sub(%t2260, %t2264) :: float
|
1288
1293
|
%t2270 = call core.eq(%t2277, %t2269) :: boolean
|
1289
|
-
%t2256 = load_field t2255["std"] :: float
|
1290
1294
|
%t2273 = select %t2270, %t2271, %t2277 :: float
|
1291
|
-
%t2257 = call core.sub(%t2253, %t2256) :: float
|
1292
1295
|
%t2251 = call core.sub(%t2273, %t2264) :: float
|
1293
|
-
%t2259 = make_tuple(%t2257, %t2258) :: tuple<float, integer>
|
1294
|
-
%t2260 = fold %t2259 fn="agg.max" :: float
|
1295
|
-
%t2247 = call core.sub(%t2260, %t2264) :: float
|
1296
1296
|
%t2252 = call core.clamp(%t2247, %t2258, %t2251) :: float
|
1297
1297
|
%t2240 = call core.mul(%t2252, %t2289) :: float
|
1298
1298
|
%acc2232 = acc_add agg.sum(%acc2232, %t2240) :: float
|
@@ -1323,28 +1323,28 @@
|
|
1323
1323
|
yield %t396
|
1324
1324
|
)
|
1325
1325
|
(Declaration total_eff_ms
|
1326
|
+
%t2349 = load_input "income" :: float
|
1327
|
+
%t2350 = load_input "fed" :: any
|
1328
|
+
%t2351 = load_field t2350["married_separate"] :: any
|
1329
|
+
%t2352 = load_field t2351["std"] :: float
|
1330
|
+
%t2353 = call core.sub(%t2349, %t2352) :: float
|
1331
|
+
%t2354 = const 0 :: integer
|
1332
|
+
%t2355 = make_tuple(%t2353, %t2354) :: tuple<float, integer>
|
1333
|
+
%t2356 = fold %t2355 fn="agg.max" :: float
|
1326
1334
|
%acc2328 = decl_acc :: float
|
1327
1335
|
%t2329 = load_input "fed" :: array
|
1328
1336
|
%t2330 = load_field t2329["married_separate"] :: any
|
1329
1337
|
%t2331 = load_field t2330["rates"] :: any
|
1330
1338
|
loop rates id=L45 in %t2331 as el=%t2332, idx=%t2333
|
1331
|
-
%t2349 = load_input "income" :: float
|
1332
|
-
%t2350 = load_input "fed" :: any
|
1333
|
-
%t2354 = const 0 :: integer
|
1334
1339
|
%t2360 = load_field t2332["lo"] :: float
|
1335
1340
|
%t2373 = load_field t2332["hi"] :: float
|
1336
1341
|
%t2365 = const -1 :: integer
|
1337
1342
|
%t2367 = const 100000000000.0 :: float
|
1338
1343
|
%t2385 = load_field t2332["rate"] :: float
|
1339
|
-
%
|
1344
|
+
%t2343 = call core.sub(%t2356, %t2360) :: float
|
1340
1345
|
%t2366 = call core.eq(%t2373, %t2365) :: boolean
|
1341
|
-
%t2352 = load_field t2351["std"] :: float
|
1342
1346
|
%t2369 = select %t2366, %t2367, %t2373 :: float
|
1343
|
-
%t2353 = call core.sub(%t2349, %t2352) :: float
|
1344
1347
|
%t2347 = call core.sub(%t2369, %t2360) :: float
|
1345
|
-
%t2355 = make_tuple(%t2353, %t2354) :: tuple<float, integer>
|
1346
|
-
%t2356 = fold %t2355 fn="agg.max" :: float
|
1347
|
-
%t2343 = call core.sub(%t2356, %t2360) :: float
|
1348
1348
|
%t2348 = call core.clamp(%t2343, %t2354, %t2347) :: float
|
1349
1349
|
%t2336 = call core.mul(%t2348, %t2385) :: float
|
1350
1350
|
%acc2328 = acc_add agg.sum(%acc2328, %t2336) :: float
|
@@ -1380,27 +1380,27 @@
|
|
1380
1380
|
)
|
1381
1381
|
(Declaration after_tax_ms
|
1382
1382
|
%t403 = load_input "income" :: float
|
1383
|
+
%t2446 = load_input "fed" :: any
|
1384
|
+
%t2447 = load_field t2446["married_separate"] :: any
|
1385
|
+
%t2448 = load_field t2447["std"] :: float
|
1386
|
+
%t2449 = call core.sub(%t403, %t2448) :: float
|
1387
|
+
%t2450 = const 0 :: integer
|
1388
|
+
%t2451 = make_tuple(%t2449, %t2450) :: tuple<float, integer>
|
1389
|
+
%t2452 = fold %t2451 fn="agg.max" :: float
|
1383
1390
|
%acc2424 = decl_acc :: float
|
1384
1391
|
%t2425 = load_input "fed" :: array
|
1385
1392
|
%t2426 = load_field t2425["married_separate"] :: any
|
1386
1393
|
%t2427 = load_field t2426["rates"] :: any
|
1387
1394
|
loop rates id=L46 in %t2427 as el=%t2428, idx=%t2429
|
1388
|
-
%t2446 = load_input "fed" :: any
|
1389
|
-
%t2450 = const 0 :: integer
|
1390
1395
|
%t2456 = load_field t2428["lo"] :: float
|
1391
1396
|
%t2469 = load_field t2428["hi"] :: float
|
1392
1397
|
%t2461 = const -1 :: integer
|
1393
1398
|
%t2463 = const 100000000000.0 :: float
|
1394
1399
|
%t2481 = load_field t2428["rate"] :: float
|
1395
|
-
%
|
1400
|
+
%t2439 = call core.sub(%t2452, %t2456) :: float
|
1396
1401
|
%t2462 = call core.eq(%t2469, %t2461) :: boolean
|
1397
|
-
%t2448 = load_field t2447["std"] :: float
|
1398
1402
|
%t2465 = select %t2462, %t2463, %t2469 :: float
|
1399
|
-
%t2449 = call core.sub(%t403, %t2448) :: float
|
1400
1403
|
%t2443 = call core.sub(%t2465, %t2456) :: float
|
1401
|
-
%t2451 = make_tuple(%t2449, %t2450) :: tuple<float, integer>
|
1402
|
-
%t2452 = fold %t2451 fn="agg.max" :: float
|
1403
|
-
%t2439 = call core.sub(%t2452, %t2456) :: float
|
1404
1404
|
%t2444 = call core.clamp(%t2439, %t2450, %t2443) :: float
|
1405
1405
|
%t2432 = call core.mul(%t2444, %t2481) :: float
|
1406
1406
|
%acc2424 = acc_add agg.sum(%acc2424, %t2432) :: float
|
@@ -1433,27 +1433,27 @@
|
|
1433
1433
|
)
|
1434
1434
|
(Declaration take_home_ms
|
1435
1435
|
%t2512 = load_input "income" :: float
|
1436
|
+
%t2545 = load_input "fed" :: any
|
1437
|
+
%t2546 = load_field t2545["married_separate"] :: any
|
1438
|
+
%t2547 = load_field t2546["std"] :: float
|
1439
|
+
%t2548 = call core.sub(%t2512, %t2547) :: float
|
1440
|
+
%t2549 = const 0 :: integer
|
1441
|
+
%t2550 = make_tuple(%t2548, %t2549) :: tuple<float, integer>
|
1442
|
+
%t2551 = fold %t2550 fn="agg.max" :: float
|
1436
1443
|
%acc2523 = decl_acc :: float
|
1437
1444
|
%t2524 = load_input "fed" :: array
|
1438
1445
|
%t2525 = load_field t2524["married_separate"] :: any
|
1439
1446
|
%t2526 = load_field t2525["rates"] :: any
|
1440
1447
|
loop rates id=L47 in %t2526 as el=%t2527, idx=%t2528
|
1441
|
-
%t2545 = load_input "fed" :: any
|
1442
|
-
%t2549 = const 0 :: integer
|
1443
1448
|
%t2555 = load_field t2527["lo"] :: float
|
1444
1449
|
%t2568 = load_field t2527["hi"] :: float
|
1445
1450
|
%t2560 = const -1 :: integer
|
1446
1451
|
%t2562 = const 100000000000.0 :: float
|
1447
1452
|
%t2580 = load_field t2527["rate"] :: float
|
1448
|
-
%
|
1453
|
+
%t2538 = call core.sub(%t2551, %t2555) :: float
|
1449
1454
|
%t2561 = call core.eq(%t2568, %t2560) :: boolean
|
1450
|
-
%t2547 = load_field t2546["std"] :: float
|
1451
1455
|
%t2564 = select %t2561, %t2562, %t2568 :: float
|
1452
|
-
%t2548 = call core.sub(%t2512, %t2547) :: float
|
1453
1456
|
%t2542 = call core.sub(%t2564, %t2555) :: float
|
1454
|
-
%t2550 = make_tuple(%t2548, %t2549) :: tuple<float, integer>
|
1455
|
-
%t2551 = fold %t2550 fn="agg.max" :: float
|
1456
|
-
%t2538 = call core.sub(%t2551, %t2555) :: float
|
1457
1457
|
%t2543 = call core.clamp(%t2538, %t2549, %t2542) :: float
|
1458
1458
|
%t2531 = call core.mul(%t2543, %t2580) :: float
|
1459
1459
|
%acc2523 = acc_add agg.sum(%acc2523, %t2531) :: float
|
@@ -1554,7 +1554,7 @@
|
|
1554
1554
|
%t2643 = load_field rates_el_449["hi"] :: float
|
1555
1555
|
%t2635 = const -1 :: integer
|
1556
1556
|
%t2637 = const 100000000000.0 :: float
|
1557
|
-
%t453 = call core.sub(%
|
1557
|
+
%t453 = call core.sub(%t2626, %t2630) :: float
|
1558
1558
|
%t2636 = call core.eq(%t2643, %t2635) :: boolean
|
1559
1559
|
%t2639 = select %t2636, %t2637, %t2643 :: float
|
1560
1560
|
%t457 = call core.sub(%t2639, %t2630) :: float
|
@@ -1563,28 +1563,28 @@
|
|
1563
1563
|
end_loop
|
1564
1564
|
)
|
1565
1565
|
(Declaration fed_tax_hoh
|
1566
|
+
%t2663 = load_input "income" :: float
|
1567
|
+
%t2664 = load_input "fed" :: any
|
1568
|
+
%t2665 = load_field t2664["head_of_household"] :: any
|
1569
|
+
%t2666 = load_field t2665["std"] :: float
|
1570
|
+
%t2667 = call core.sub(%t2663, %t2666) :: float
|
1571
|
+
%t2668 = const 0 :: integer
|
1572
|
+
%t2669 = make_tuple(%t2667, %t2668) :: tuple<float, integer>
|
1573
|
+
%t2670 = fold %t2669 fn="agg.max" :: float
|
1566
1574
|
%acc_459 = decl_acc :: float
|
1567
1575
|
%t460 = load_input "fed" :: array
|
1568
1576
|
%t461 = load_field t460["head_of_household"] :: any
|
1569
1577
|
%t462 = load_field t461["rates"] :: any
|
1570
1578
|
loop rates id=L30 in %t462 as el=%rates_el_463, idx=%rates_i_464
|
1571
|
-
%t2663 = load_input "income" :: float
|
1572
|
-
%t2664 = load_input "fed" :: any
|
1573
|
-
%t2668 = const 0 :: integer
|
1574
1579
|
%t2674 = load_field rates_el_463["lo"] :: float
|
1575
1580
|
%t2687 = load_field rates_el_463["hi"] :: float
|
1576
1581
|
%t2679 = const -1 :: integer
|
1577
1582
|
%t2681 = const 100000000000.0 :: float
|
1578
1583
|
%t2699 = load_field rates_el_463["rate"] :: float
|
1579
|
-
%
|
1584
|
+
%t2657 = call core.sub(%t2670, %t2674) :: float
|
1580
1585
|
%t2680 = call core.eq(%t2687, %t2679) :: boolean
|
1581
|
-
%t2666 = load_field t2665["std"] :: float
|
1582
1586
|
%t2683 = select %t2680, %t2681, %t2687 :: float
|
1583
|
-
%t2667 = call core.sub(%t2663, %t2666) :: float
|
1584
1587
|
%t2661 = call core.sub(%t2683, %t2674) :: float
|
1585
|
-
%t2669 = make_tuple(%t2667, %t2668) :: tuple<float, integer>
|
1586
|
-
%t2670 = fold %t2669 fn="agg.max" :: float
|
1587
|
-
%t2657 = call core.sub(%t2670, %t2674) :: float
|
1588
1588
|
%t2662 = call core.clamp(%t2657, %t2668, %t2661) :: float
|
1589
1589
|
%t467 = call core.mul(%t2662, %t2699) :: float
|
1590
1590
|
%acc_459 = acc_add agg.sum(%acc_459, %t467) :: float
|
@@ -1609,36 +1609,36 @@
|
|
1609
1609
|
%t2732 = load_field rates_el_472["hi"] :: float
|
1610
1610
|
%t2724 = const -1 :: integer
|
1611
1611
|
%t2726 = const 100000000000.0 :: float
|
1612
|
-
%t476 = call core.gte(%
|
1612
|
+
%t476 = call core.gte(%t2707, %t2719) :: boolean
|
1613
1613
|
%t2725 = call core.eq(%t2732, %t2724) :: boolean
|
1614
1614
|
%t2728 = select %t2725, %t2726, %t2732 :: float
|
1615
|
-
%t479 = call core.lt(%
|
1615
|
+
%t479 = call core.lt(%t2707, %t2728) :: boolean
|
1616
1616
|
%t480 = call core.and(%t476, %t479) :: boolean
|
1617
1617
|
yield %t480
|
1618
1618
|
end_loop
|
1619
1619
|
)
|
1620
1620
|
(Declaration fed_marginal_hoh
|
1621
|
+
%t2747 = load_input "income" :: float
|
1622
|
+
%t2748 = load_input "fed" :: any
|
1623
|
+
%t2749 = load_field t2748["head_of_household"] :: any
|
1624
|
+
%t2750 = load_field t2749["std"] :: float
|
1625
|
+
%t2751 = call core.sub(%t2747, %t2750) :: float
|
1626
|
+
%t2752 = const 0 :: integer
|
1627
|
+
%t2753 = make_tuple(%t2751, %t2752) :: tuple<float, integer>
|
1628
|
+
%t2754 = fold %t2753 fn="agg.max" :: float
|
1621
1629
|
%acc_481 = decl_acc :: float
|
1622
1630
|
%t482 = load_input "fed" :: array
|
1623
1631
|
%t483 = load_field t482["head_of_household"] :: any
|
1624
1632
|
%t484 = load_field t483["rates"] :: any
|
1625
1633
|
loop rates id=L32 in %t484 as el=%rates_el_485, idx=%rates_i_486
|
1626
|
-
%t2747 = load_input "income" :: float
|
1627
|
-
%t2748 = load_input "fed" :: any
|
1628
|
-
%t2752 = const 0 :: integer
|
1629
1634
|
%t2766 = load_field rates_el_485["lo"] :: float
|
1630
1635
|
%t2779 = load_field rates_el_485["hi"] :: float
|
1631
1636
|
%t2771 = const -1 :: integer
|
1632
1637
|
%t2773 = const 100000000000.0 :: float
|
1633
1638
|
%t2787 = load_field rates_el_485["rate"] :: float
|
1634
|
-
%
|
1639
|
+
%t2743 = call core.gte(%t2754, %t2766) :: boolean
|
1635
1640
|
%t2772 = call core.eq(%t2779, %t2771) :: boolean
|
1636
|
-
%t2750 = load_field t2749["std"] :: float
|
1637
1641
|
%t2775 = select %t2772, %t2773, %t2779 :: float
|
1638
|
-
%t2751 = call core.sub(%t2747, %t2750) :: float
|
1639
|
-
%t2753 = make_tuple(%t2751, %t2752) :: tuple<float, integer>
|
1640
|
-
%t2754 = fold %t2753 fn="agg.max" :: float
|
1641
|
-
%t2743 = call core.gte(%t2754, %t2766) :: boolean
|
1642
1642
|
%t2745 = call core.lt(%t2754, %t2775) :: boolean
|
1643
1643
|
%t2746 = call core.and(%t2743, %t2745) :: boolean
|
1644
1644
|
%t490 = select %t2746, %t2787, %t2752 :: float
|
@@ -1648,28 +1648,28 @@
|
|
1648
1648
|
yield %t491
|
1649
1649
|
)
|
1650
1650
|
(Declaration fed_eff_hoh
|
1651
|
+
%t2810 = load_input "income" :: float
|
1652
|
+
%t2811 = load_input "fed" :: any
|
1653
|
+
%t2812 = load_field t2811["head_of_household"] :: any
|
1654
|
+
%t2813 = load_field t2812["std"] :: float
|
1655
|
+
%t2814 = call core.sub(%t2810, %t2813) :: float
|
1656
|
+
%t2815 = const 0 :: integer
|
1657
|
+
%t2816 = make_tuple(%t2814, %t2815) :: tuple<float, integer>
|
1658
|
+
%t2817 = fold %t2816 fn="agg.max" :: float
|
1651
1659
|
%acc2789 = decl_acc :: float
|
1652
1660
|
%t2790 = load_input "fed" :: array
|
1653
1661
|
%t2791 = load_field t2790["head_of_household"] :: any
|
1654
1662
|
%t2792 = load_field t2791["rates"] :: any
|
1655
1663
|
loop rates id=L48 in %t2792 as el=%t2793, idx=%t2794
|
1656
|
-
%t2810 = load_input "income" :: float
|
1657
|
-
%t2811 = load_input "fed" :: any
|
1658
|
-
%t2815 = const 0 :: integer
|
1659
1664
|
%t2821 = load_field t2793["lo"] :: float
|
1660
1665
|
%t2834 = load_field t2793["hi"] :: float
|
1661
1666
|
%t2826 = const -1 :: integer
|
1662
1667
|
%t2828 = const 100000000000.0 :: float
|
1663
1668
|
%t2846 = load_field t2793["rate"] :: float
|
1664
|
-
%
|
1669
|
+
%t2804 = call core.sub(%t2817, %t2821) :: float
|
1665
1670
|
%t2827 = call core.eq(%t2834, %t2826) :: boolean
|
1666
|
-
%t2813 = load_field t2812["std"] :: float
|
1667
1671
|
%t2830 = select %t2827, %t2828, %t2834 :: float
|
1668
|
-
%t2814 = call core.sub(%t2810, %t2813) :: float
|
1669
1672
|
%t2808 = call core.sub(%t2830, %t2821) :: float
|
1670
|
-
%t2816 = make_tuple(%t2814, %t2815) :: tuple<float, integer>
|
1671
|
-
%t2817 = fold %t2816 fn="agg.max" :: float
|
1672
|
-
%t2804 = call core.sub(%t2817, %t2821) :: float
|
1673
1673
|
%t2809 = call core.clamp(%t2804, %t2815, %t2808) :: float
|
1674
1674
|
%t2797 = call core.mul(%t2809, %t2846) :: float
|
1675
1675
|
%acc2789 = acc_add agg.sum(%acc2789, %t2797) :: float
|
@@ -1756,28 +1756,28 @@
|
|
1756
1756
|
yield %t519
|
1757
1757
|
)
|
1758
1758
|
(Declaration total_tax_hoh
|
1759
|
+
%t2921 = load_input "income" :: float
|
1760
|
+
%t2922 = load_input "fed" :: any
|
1761
|
+
%t2923 = load_field t2922["head_of_household"] :: any
|
1762
|
+
%t2924 = load_field t2923["std"] :: float
|
1763
|
+
%t2925 = call core.sub(%t2921, %t2924) :: float
|
1764
|
+
%t2926 = const 0 :: integer
|
1765
|
+
%t2927 = make_tuple(%t2925, %t2926) :: tuple<float, integer>
|
1766
|
+
%t2928 = fold %t2927 fn="agg.max" :: float
|
1759
1767
|
%acc2900 = decl_acc :: float
|
1760
1768
|
%t2901 = load_input "fed" :: array
|
1761
1769
|
%t2902 = load_field t2901["head_of_household"] :: any
|
1762
1770
|
%t2903 = load_field t2902["rates"] :: any
|
1763
1771
|
loop rates id=L49 in %t2903 as el=%t2904, idx=%t2905
|
1764
|
-
%t2921 = load_input "income" :: float
|
1765
|
-
%t2922 = load_input "fed" :: any
|
1766
|
-
%t2926 = const 0 :: integer
|
1767
1772
|
%t2932 = load_field t2904["lo"] :: float
|
1768
1773
|
%t2945 = load_field t2904["hi"] :: float
|
1769
1774
|
%t2937 = const -1 :: integer
|
1770
1775
|
%t2939 = const 100000000000.0 :: float
|
1771
1776
|
%t2957 = load_field t2904["rate"] :: float
|
1772
|
-
%
|
1777
|
+
%t2915 = call core.sub(%t2928, %t2932) :: float
|
1773
1778
|
%t2938 = call core.eq(%t2945, %t2937) :: boolean
|
1774
|
-
%t2924 = load_field t2923["std"] :: float
|
1775
1779
|
%t2941 = select %t2938, %t2939, %t2945 :: float
|
1776
|
-
%t2925 = call core.sub(%t2921, %t2924) :: float
|
1777
1780
|
%t2919 = call core.sub(%t2941, %t2932) :: float
|
1778
|
-
%t2927 = make_tuple(%t2925, %t2926) :: tuple<float, integer>
|
1779
|
-
%t2928 = fold %t2927 fn="agg.max" :: float
|
1780
|
-
%t2915 = call core.sub(%t2928, %t2932) :: float
|
1781
1781
|
%t2920 = call core.clamp(%t2915, %t2926, %t2919) :: float
|
1782
1782
|
%t2908 = call core.mul(%t2920, %t2957) :: float
|
1783
1783
|
%acc2900 = acc_add agg.sum(%acc2900, %t2908) :: float
|
@@ -1808,28 +1808,28 @@
|
|
1808
1808
|
yield %t526
|
1809
1809
|
)
|
1810
1810
|
(Declaration total_eff_hoh
|
1811
|
+
%t3017 = load_input "income" :: float
|
1812
|
+
%t3018 = load_input "fed" :: any
|
1813
|
+
%t3019 = load_field t3018["head_of_household"] :: any
|
1814
|
+
%t3020 = load_field t3019["std"] :: float
|
1815
|
+
%t3021 = call core.sub(%t3017, %t3020) :: float
|
1816
|
+
%t3022 = const 0 :: integer
|
1817
|
+
%t3023 = make_tuple(%t3021, %t3022) :: tuple<float, integer>
|
1818
|
+
%t3024 = fold %t3023 fn="agg.max" :: float
|
1811
1819
|
%acc2996 = decl_acc :: float
|
1812
1820
|
%t2997 = load_input "fed" :: array
|
1813
1821
|
%t2998 = load_field t2997["head_of_household"] :: any
|
1814
1822
|
%t2999 = load_field t2998["rates"] :: any
|
1815
1823
|
loop rates id=L50 in %t2999 as el=%t3000, idx=%t3001
|
1816
|
-
%t3017 = load_input "income" :: float
|
1817
|
-
%t3018 = load_input "fed" :: any
|
1818
|
-
%t3022 = const 0 :: integer
|
1819
1824
|
%t3028 = load_field t3000["lo"] :: float
|
1820
1825
|
%t3041 = load_field t3000["hi"] :: float
|
1821
1826
|
%t3033 = const -1 :: integer
|
1822
1827
|
%t3035 = const 100000000000.0 :: float
|
1823
1828
|
%t3053 = load_field t3000["rate"] :: float
|
1824
|
-
%
|
1829
|
+
%t3011 = call core.sub(%t3024, %t3028) :: float
|
1825
1830
|
%t3034 = call core.eq(%t3041, %t3033) :: boolean
|
1826
|
-
%t3020 = load_field t3019["std"] :: float
|
1827
1831
|
%t3037 = select %t3034, %t3035, %t3041 :: float
|
1828
|
-
%t3021 = call core.sub(%t3017, %t3020) :: float
|
1829
1832
|
%t3015 = call core.sub(%t3037, %t3028) :: float
|
1830
|
-
%t3023 = make_tuple(%t3021, %t3022) :: tuple<float, integer>
|
1831
|
-
%t3024 = fold %t3023 fn="agg.max" :: float
|
1832
|
-
%t3011 = call core.sub(%t3024, %t3028) :: float
|
1833
1833
|
%t3016 = call core.clamp(%t3011, %t3022, %t3015) :: float
|
1834
1834
|
%t3004 = call core.mul(%t3016, %t3053) :: float
|
1835
1835
|
%acc2996 = acc_add agg.sum(%acc2996, %t3004) :: float
|
@@ -1865,27 +1865,27 @@
|
|
1865
1865
|
)
|
1866
1866
|
(Declaration after_tax_hoh
|
1867
1867
|
%t533 = load_input "income" :: float
|
1868
|
+
%t3114 = load_input "fed" :: any
|
1869
|
+
%t3115 = load_field t3114["head_of_household"] :: any
|
1870
|
+
%t3116 = load_field t3115["std"] :: float
|
1871
|
+
%t3117 = call core.sub(%t533, %t3116) :: float
|
1872
|
+
%t3118 = const 0 :: integer
|
1873
|
+
%t3119 = make_tuple(%t3117, %t3118) :: tuple<float, integer>
|
1874
|
+
%t3120 = fold %t3119 fn="agg.max" :: float
|
1868
1875
|
%acc3092 = decl_acc :: float
|
1869
1876
|
%t3093 = load_input "fed" :: array
|
1870
1877
|
%t3094 = load_field t3093["head_of_household"] :: any
|
1871
1878
|
%t3095 = load_field t3094["rates"] :: any
|
1872
1879
|
loop rates id=L51 in %t3095 as el=%t3096, idx=%t3097
|
1873
|
-
%t3114 = load_input "fed" :: any
|
1874
|
-
%t3118 = const 0 :: integer
|
1875
1880
|
%t3124 = load_field t3096["lo"] :: float
|
1876
1881
|
%t3137 = load_field t3096["hi"] :: float
|
1877
1882
|
%t3129 = const -1 :: integer
|
1878
1883
|
%t3131 = const 100000000000.0 :: float
|
1879
1884
|
%t3149 = load_field t3096["rate"] :: float
|
1880
|
-
%
|
1885
|
+
%t3107 = call core.sub(%t3120, %t3124) :: float
|
1881
1886
|
%t3130 = call core.eq(%t3137, %t3129) :: boolean
|
1882
|
-
%t3116 = load_field t3115["std"] :: float
|
1883
1887
|
%t3133 = select %t3130, %t3131, %t3137 :: float
|
1884
|
-
%t3117 = call core.sub(%t533, %t3116) :: float
|
1885
1888
|
%t3111 = call core.sub(%t3133, %t3124) :: float
|
1886
|
-
%t3119 = make_tuple(%t3117, %t3118) :: tuple<float, integer>
|
1887
|
-
%t3120 = fold %t3119 fn="agg.max" :: float
|
1888
|
-
%t3107 = call core.sub(%t3120, %t3124) :: float
|
1889
1889
|
%t3112 = call core.clamp(%t3107, %t3118, %t3111) :: float
|
1890
1890
|
%t3100 = call core.mul(%t3112, %t3149) :: float
|
1891
1891
|
%acc3092 = acc_add agg.sum(%acc3092, %t3100) :: float
|
@@ -1918,27 +1918,27 @@
|
|
1918
1918
|
)
|
1919
1919
|
(Declaration take_home_hoh
|
1920
1920
|
%t3180 = load_input "income" :: float
|
1921
|
+
%t3213 = load_input "fed" :: any
|
1922
|
+
%t3214 = load_field t3213["head_of_household"] :: any
|
1923
|
+
%t3215 = load_field t3214["std"] :: float
|
1924
|
+
%t3216 = call core.sub(%t3180, %t3215) :: float
|
1925
|
+
%t3217 = const 0 :: integer
|
1926
|
+
%t3218 = make_tuple(%t3216, %t3217) :: tuple<float, integer>
|
1927
|
+
%t3219 = fold %t3218 fn="agg.max" :: float
|
1921
1928
|
%acc3191 = decl_acc :: float
|
1922
1929
|
%t3192 = load_input "fed" :: array
|
1923
1930
|
%t3193 = load_field t3192["head_of_household"] :: any
|
1924
1931
|
%t3194 = load_field t3193["rates"] :: any
|
1925
1932
|
loop rates id=L52 in %t3194 as el=%t3195, idx=%t3196
|
1926
|
-
%t3213 = load_input "fed" :: any
|
1927
|
-
%t3217 = const 0 :: integer
|
1928
1933
|
%t3223 = load_field t3195["lo"] :: float
|
1929
1934
|
%t3236 = load_field t3195["hi"] :: float
|
1930
1935
|
%t3228 = const -1 :: integer
|
1931
1936
|
%t3230 = const 100000000000.0 :: float
|
1932
1937
|
%t3248 = load_field t3195["rate"] :: float
|
1933
|
-
%
|
1938
|
+
%t3206 = call core.sub(%t3219, %t3223) :: float
|
1934
1939
|
%t3229 = call core.eq(%t3236, %t3228) :: boolean
|
1935
|
-
%t3215 = load_field t3214["std"] :: float
|
1936
1940
|
%t3232 = select %t3229, %t3230, %t3236 :: float
|
1937
|
-
%t3216 = call core.sub(%t3180, %t3215) :: float
|
1938
1941
|
%t3210 = call core.sub(%t3232, %t3223) :: float
|
1939
|
-
%t3218 = make_tuple(%t3216, %t3217) :: tuple<float, integer>
|
1940
|
-
%t3219 = fold %t3218 fn="agg.max" :: float
|
1941
|
-
%t3206 = call core.sub(%t3219, %t3223) :: float
|
1942
1942
|
%t3211 = call core.clamp(%t3206, %t3217, %t3210) :: float
|
1943
1943
|
%t3199 = call core.mul(%t3211, %t3248) :: float
|
1944
1944
|
%acc3191 = acc_add agg.sum(%acc3191, %t3199) :: float
|
@@ -1972,28 +1972,28 @@
|
|
1972
1972
|
yield %t538
|
1973
1973
|
)
|
1974
1974
|
(Declaration summary
|
1975
|
+
%t3301 = load_input "income" :: float
|
1976
|
+
%t3302 = load_input "fed" :: any
|
1977
|
+
%t3303 = load_field t3302["single"] :: any
|
1978
|
+
%t3304 = load_field t3303["std"] :: float
|
1979
|
+
%t3305 = call core.sub(%t3301, %t3304) :: float
|
1980
|
+
%t3306 = const 0 :: integer
|
1981
|
+
%t3307 = make_tuple(%t3305, %t3306) :: tuple<float, integer>
|
1982
|
+
%t3308 = fold %t3307 fn="agg.max" :: float
|
1975
1983
|
%acc3280 = decl_acc :: float
|
1976
1984
|
%t3281 = load_input "fed" :: array
|
1977
1985
|
%t3282 = load_field t3281["single"] :: any
|
1978
1986
|
%t3283 = load_field t3282["rates"] :: any
|
1979
1987
|
%acc3349 = decl_acc :: float
|
1980
1988
|
loop rates id=L53 in %t3283 as el=%t3284, idx=%t3285
|
1981
|
-
%t3301 = load_input "income" :: float
|
1982
|
-
%t3302 = load_input "fed" :: any
|
1983
|
-
%t3306 = const 0 :: integer
|
1984
1989
|
%t3320 = load_field t3284["lo"] :: float
|
1985
1990
|
%t3333 = load_field t3284["hi"] :: float
|
1986
1991
|
%t3325 = const -1 :: integer
|
1987
1992
|
%t3327 = const 100000000000.0 :: float
|
1988
1993
|
%t3341 = load_field t3284["rate"] :: float
|
1989
|
-
%
|
1994
|
+
%t3297 = call core.gte(%t3308, %t3320) :: boolean
|
1990
1995
|
%t3326 = call core.eq(%t3333, %t3325) :: boolean
|
1991
|
-
%t3304 = load_field t3303["std"] :: float
|
1992
1996
|
%t3329 = select %t3326, %t3327, %t3333 :: float
|
1993
|
-
%t3305 = call core.sub(%t3301, %t3304) :: float
|
1994
|
-
%t3307 = make_tuple(%t3305, %t3306) :: tuple<float, integer>
|
1995
|
-
%t3308 = fold %t3307 fn="agg.max" :: float
|
1996
|
-
%t3297 = call core.gte(%t3308, %t3320) :: boolean
|
1997
1997
|
%t3299 = call core.lt(%t3308, %t3329) :: boolean
|
1998
1998
|
%t3300 = call core.and(%t3297, %t3299) :: boolean
|
1999
1999
|
%t3289 = select %t3300, %t3341, %t3306 :: float
|
@@ -2128,22 +2128,22 @@
|
|
2128
2128
|
%t3818 = call core.sub(%t3301, %t3825) :: float
|
2129
2129
|
%t3815 = call core.sub(%t3818, %t558) :: float
|
2130
2130
|
%t560 = make_object{federal: %t542, fica: %t545, state: %t549, local: %t553, total: %t556, after_tax: %t3718, retirement_contrib: %t558, take_home: %t3815} :: object
|
2131
|
+
%t3937 = load_field t3302["married_joint"] :: any
|
2132
|
+
%t3938 = load_field t3937["std"] :: float
|
2133
|
+
%t3939 = call core.sub(%t3301, %t3938) :: float
|
2134
|
+
%t3941 = make_tuple(%t3939, %t3306) :: tuple<float, integer>
|
2135
|
+
%t3942 = fold %t3941 fn="agg.max" :: float
|
2131
2136
|
%acc3914 = decl_acc :: float
|
2132
2137
|
%t3916 = load_field t3281["married_joint"] :: any
|
2133
2138
|
%t3917 = load_field t3916["rates"] :: any
|
2134
2139
|
%acc3983 = decl_acc :: float
|
2135
2140
|
loop rates id=L60 in %t3917 as el=%t3918, idx=%t3919
|
2136
|
-
%t3937 = load_field t3302["married_joint"] :: any
|
2137
2141
|
%t3954 = load_field t3918["lo"] :: float
|
2138
2142
|
%t3967 = load_field t3918["hi"] :: float
|
2139
2143
|
%t3975 = load_field t3918["rate"] :: float
|
2140
|
-
%
|
2144
|
+
%t3931 = call core.gte(%t3942, %t3954) :: boolean
|
2141
2145
|
%t3960 = call core.eq(%t3967, %t3325) :: boolean
|
2142
|
-
%t3939 = call core.sub(%t3301, %t3938) :: float
|
2143
2146
|
%t3963 = select %t3960, %t3327, %t3967 :: float
|
2144
|
-
%t3941 = make_tuple(%t3939, %t3306) :: tuple<float, integer>
|
2145
|
-
%t3942 = fold %t3941 fn="agg.max" :: float
|
2146
|
-
%t3931 = call core.gte(%t3942, %t3954) :: boolean
|
2147
2147
|
%t3933 = call core.lt(%t3942, %t3963) :: boolean
|
2148
2148
|
%t3934 = call core.and(%t3931, %t3933) :: boolean
|
2149
2149
|
%t3923 = select %t3934, %t3975, %t3306 :: float
|
@@ -2259,22 +2259,22 @@
|
|
2259
2259
|
%t4462 = call core.sub(%t3301, %t4469) :: float
|
2260
2260
|
%t4459 = call core.sub(%t4462, %t558) :: float
|
2261
2261
|
%t582 = make_object{federal: %t564, fica: %t567, state: %t549, local: %t553, total: %t578, after_tax: %t4360, retirement_contrib: %t558, take_home: %t4459} :: object
|
2262
|
+
%t4583 = load_field t3302["married_separate"] :: any
|
2263
|
+
%t4584 = load_field t4583["std"] :: float
|
2264
|
+
%t4585 = call core.sub(%t3301, %t4584) :: float
|
2265
|
+
%t4587 = make_tuple(%t4585, %t3306) :: tuple<float, integer>
|
2266
|
+
%t4588 = fold %t4587 fn="agg.max" :: float
|
2262
2267
|
%acc4560 = decl_acc :: float
|
2263
2268
|
%t4562 = load_field t3281["married_separate"] :: any
|
2264
2269
|
%t4563 = load_field t4562["rates"] :: any
|
2265
2270
|
%acc4629 = decl_acc :: float
|
2266
2271
|
loop rates id=L67 in %t4563 as el=%t4564, idx=%t4565
|
2267
|
-
%t4583 = load_field t3302["married_separate"] :: any
|
2268
2272
|
%t4600 = load_field t4564["lo"] :: float
|
2269
2273
|
%t4613 = load_field t4564["hi"] :: float
|
2270
2274
|
%t4621 = load_field t4564["rate"] :: float
|
2271
|
-
%
|
2275
|
+
%t4577 = call core.gte(%t4588, %t4600) :: boolean
|
2272
2276
|
%t4606 = call core.eq(%t4613, %t3325) :: boolean
|
2273
|
-
%t4585 = call core.sub(%t3301, %t4584) :: float
|
2274
2277
|
%t4609 = select %t4606, %t3327, %t4613 :: float
|
2275
|
-
%t4587 = make_tuple(%t4585, %t3306) :: tuple<float, integer>
|
2276
|
-
%t4588 = fold %t4587 fn="agg.max" :: float
|
2277
|
-
%t4577 = call core.gte(%t4588, %t4600) :: boolean
|
2278
2278
|
%t4579 = call core.lt(%t4588, %t4609) :: boolean
|
2279
2279
|
%t4580 = call core.and(%t4577, %t4579) :: boolean
|
2280
2280
|
%t4569 = select %t4580, %t4621, %t3306 :: float
|
@@ -2390,22 +2390,22 @@
|
|
2390
2390
|
%t5108 = call core.sub(%t3301, %t5115) :: float
|
2391
2391
|
%t5105 = call core.sub(%t5108, %t558) :: float
|
2392
2392
|
%t604 = make_object{federal: %t586, fica: %t589, state: %t549, local: %t553, total: %t600, after_tax: %t5006, retirement_contrib: %t558, take_home: %t5105} :: object
|
2393
|
+
%t5229 = load_field t3302["head_of_household"] :: any
|
2394
|
+
%t5230 = load_field t5229["std"] :: float
|
2395
|
+
%t5231 = call core.sub(%t3301, %t5230) :: float
|
2396
|
+
%t5233 = make_tuple(%t5231, %t3306) :: tuple<float, integer>
|
2397
|
+
%t5234 = fold %t5233 fn="agg.max" :: float
|
2393
2398
|
%acc5206 = decl_acc :: float
|
2394
2399
|
%t5208 = load_field t3281["head_of_household"] :: any
|
2395
2400
|
%t5209 = load_field t5208["rates"] :: any
|
2396
2401
|
%acc5275 = decl_acc :: float
|
2397
2402
|
loop rates id=L74 in %t5209 as el=%t5210, idx=%t5211
|
2398
|
-
%t5229 = load_field t3302["head_of_household"] :: any
|
2399
2403
|
%t5246 = load_field t5210["lo"] :: float
|
2400
2404
|
%t5259 = load_field t5210["hi"] :: float
|
2401
2405
|
%t5267 = load_field t5210["rate"] :: float
|
2402
|
-
%
|
2406
|
+
%t5223 = call core.gte(%t5234, %t5246) :: boolean
|
2403
2407
|
%t5252 = call core.eq(%t5259, %t3325) :: boolean
|
2404
|
-
%t5231 = call core.sub(%t3301, %t5230) :: float
|
2405
2408
|
%t5255 = select %t5252, %t3327, %t5259 :: float
|
2406
|
-
%t5233 = make_tuple(%t5231, %t3306) :: tuple<float, integer>
|
2407
|
-
%t5234 = fold %t5233 fn="agg.max" :: float
|
2408
|
-
%t5223 = call core.gte(%t5234, %t5246) :: boolean
|
2409
2409
|
%t5225 = call core.lt(%t5234, %t5255) :: boolean
|
2410
2410
|
%t5226 = call core.and(%t5223, %t5225) :: boolean
|
2411
2411
|
%t5215 = select %t5226, %t5267, %t3306 :: float
|