kumi 0.0.24 → 0.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +70 -71
  4. data/data/functions/agg/boolean.yaml +6 -2
  5. data/data/functions/agg/numeric.yaml +32 -16
  6. data/data/functions/agg/string.yaml +4 -3
  7. data/data/functions/core/arithmetic.yaml +62 -14
  8. data/data/functions/core/boolean.yaml +12 -6
  9. data/data/functions/core/comparison.yaml +25 -13
  10. data/data/functions/core/constructor.yaml +16 -8
  11. data/data/functions/core/select.yaml +3 -1
  12. data/data/functions/core/stencil.yaml +14 -5
  13. data/data/functions/core/string.yaml +9 -4
  14. data/data/kernels/ruby/agg/numeric.yaml +1 -1
  15. data/docs/UNSAT_DETECTION.md +83 -0
  16. data/golden/array_element/expected/nast.txt +1 -1
  17. data/golden/array_element/expected/schema_ruby.rb +1 -1
  18. data/golden/array_index/expected/nast.txt +7 -7
  19. data/golden/array_index/expected/schema_ruby.rb +1 -1
  20. data/golden/array_operations/expected/nast.txt +2 -2
  21. data/golden/array_operations/expected/schema_ruby.rb +1 -1
  22. data/golden/array_operations/expected/snast.txt +3 -3
  23. data/golden/cascade_logic/expected/lir_02_inlined.txt +8 -8
  24. data/golden/cascade_logic/expected/schema_ruby.rb +1 -1
  25. data/golden/cascade_logic/expected/snast.txt +2 -2
  26. data/golden/chained_fusion/expected/lir_02_inlined.txt +36 -36
  27. data/golden/chained_fusion/expected/lir_03_cse.txt +23 -23
  28. data/golden/chained_fusion/expected/lir_04_1_loop_fusion.txt +25 -25
  29. data/golden/chained_fusion/expected/lir_04_loop_invcm.txt +23 -23
  30. data/golden/chained_fusion/expected/lir_06_const_prop.txt +23 -23
  31. data/golden/chained_fusion/expected/nast.txt +2 -2
  32. data/golden/chained_fusion/expected/schema_javascript.mjs +23 -23
  33. data/golden/chained_fusion/expected/schema_ruby.rb +28 -28
  34. data/golden/element_arrays/expected/nast.txt +2 -2
  35. data/golden/element_arrays/expected/schema_ruby.rb +1 -1
  36. data/golden/element_arrays/expected/snast.txt +1 -1
  37. data/golden/empty_and_null_inputs/expected/lir_02_inlined.txt +18 -18
  38. data/golden/empty_and_null_inputs/expected/lir_03_cse.txt +17 -17
  39. data/golden/empty_and_null_inputs/expected/lir_04_1_loop_fusion.txt +17 -17
  40. data/golden/empty_and_null_inputs/expected/lir_04_loop_invcm.txt +17 -17
  41. data/golden/empty_and_null_inputs/expected/lir_06_const_prop.txt +17 -17
  42. data/golden/empty_and_null_inputs/expected/nast.txt +3 -3
  43. data/golden/empty_and_null_inputs/expected/schema_javascript.mjs +13 -13
  44. data/golden/empty_and_null_inputs/expected/schema_ruby.rb +18 -18
  45. data/golden/function_overload/expected/ast.txt +29 -0
  46. data/golden/function_overload/expected/input_plan.txt +4 -0
  47. data/golden/function_overload/expected/lir_00_unoptimized.txt +18 -0
  48. data/golden/function_overload/expected/lir_01_hoist_scalar_references.txt +18 -0
  49. data/golden/function_overload/expected/lir_02_inlined.txt +20 -0
  50. data/golden/function_overload/expected/lir_03_cse.txt +20 -0
  51. data/golden/function_overload/expected/lir_04_1_loop_fusion.txt +20 -0
  52. data/golden/function_overload/expected/lir_04_loop_invcm.txt +20 -0
  53. data/golden/function_overload/expected/lir_06_const_prop.txt +20 -0
  54. data/golden/function_overload/expected/nast.txt +22 -0
  55. data/golden/function_overload/expected/schema_javascript.mjs +12 -0
  56. data/golden/function_overload/expected/schema_ruby.rb +39 -0
  57. data/golden/function_overload/expected/snast.txt +22 -0
  58. data/golden/function_overload/input.json +8 -0
  59. data/golden/function_overload/schema.kumi +19 -0
  60. data/golden/game_of_life/expected/lir_00_unoptimized.txt +4 -4
  61. data/golden/game_of_life/expected/lir_01_hoist_scalar_references.txt +4 -4
  62. data/golden/game_of_life/expected/lir_02_inlined.txt +1294 -1294
  63. data/golden/game_of_life/expected/lir_03_cse.txt +403 -399
  64. data/golden/game_of_life/expected/lir_04_1_loop_fusion.txt +403 -399
  65. data/golden/game_of_life/expected/lir_04_loop_invcm.txt +403 -399
  66. data/golden/game_of_life/expected/lir_06_const_prop.txt +403 -399
  67. data/golden/game_of_life/expected/nast.txt +4 -4
  68. data/golden/game_of_life/expected/schema_javascript.mjs +87 -85
  69. data/golden/game_of_life/expected/schema_ruby.rb +88 -86
  70. data/golden/game_of_life/expected/snast.txt +10 -10
  71. data/golden/hash_keys/expected/schema_ruby.rb +1 -1
  72. data/golden/hash_value/expected/nast.txt +1 -1
  73. data/golden/hash_value/expected/schema_ruby.rb +1 -1
  74. data/golden/hash_value/expected/snast.txt +1 -1
  75. data/golden/hierarchical_complex/expected/lir_02_inlined.txt +15 -15
  76. data/golden/hierarchical_complex/expected/lir_03_cse.txt +1 -1
  77. data/golden/hierarchical_complex/expected/lir_04_1_loop_fusion.txt +1 -1
  78. data/golden/hierarchical_complex/expected/lir_04_loop_invcm.txt +1 -1
  79. data/golden/hierarchical_complex/expected/lir_06_const_prop.txt +1 -1
  80. data/golden/hierarchical_complex/expected/nast.txt +3 -3
  81. data/golden/hierarchical_complex/expected/schema_javascript.mjs +1 -1
  82. data/golden/hierarchical_complex/expected/schema_ruby.rb +2 -2
  83. data/golden/hierarchical_complex/expected/snast.txt +3 -3
  84. data/golden/inline_rename_scope_leak/expected/nast.txt +3 -3
  85. data/golden/inline_rename_scope_leak/expected/schema_ruby.rb +1 -1
  86. data/golden/input_reference/expected/nast.txt +2 -2
  87. data/golden/input_reference/expected/schema_ruby.rb +1 -1
  88. data/golden/interleaved_fusion/expected/lir_02_inlined.txt +35 -35
  89. data/golden/interleaved_fusion/expected/lir_03_cse.txt +26 -26
  90. data/golden/interleaved_fusion/expected/lir_04_1_loop_fusion.txt +27 -26
  91. data/golden/interleaved_fusion/expected/lir_04_loop_invcm.txt +26 -26
  92. data/golden/interleaved_fusion/expected/lir_06_const_prop.txt +26 -26
  93. data/golden/interleaved_fusion/expected/nast.txt +2 -2
  94. data/golden/interleaved_fusion/expected/schema_javascript.mjs +23 -23
  95. data/golden/interleaved_fusion/expected/schema_ruby.rb +29 -29
  96. data/golden/let_inline/expected/nast.txt +4 -4
  97. data/golden/let_inline/expected/schema_ruby.rb +1 -1
  98. data/golden/loop_fusion/expected/lir_02_inlined.txt +17 -17
  99. data/golden/loop_fusion/expected/lir_03_cse.txt +14 -14
  100. data/golden/loop_fusion/expected/lir_04_1_loop_fusion.txt +14 -14
  101. data/golden/loop_fusion/expected/lir_04_loop_invcm.txt +14 -14
  102. data/golden/loop_fusion/expected/lir_06_const_prop.txt +14 -14
  103. data/golden/loop_fusion/expected/nast.txt +1 -1
  104. data/golden/loop_fusion/expected/schema_javascript.mjs +12 -12
  105. data/golden/loop_fusion/expected/schema_ruby.rb +16 -16
  106. data/golden/min_reduce_scope/expected/nast.txt +3 -3
  107. data/golden/min_reduce_scope/expected/schema_ruby.rb +1 -1
  108. data/golden/min_reduce_scope/expected/snast.txt +1 -1
  109. data/golden/mixed_dimensions/expected/lir_02_inlined.txt +5 -5
  110. data/golden/mixed_dimensions/expected/lir_03_cse.txt +5 -5
  111. data/golden/mixed_dimensions/expected/lir_04_1_loop_fusion.txt +5 -5
  112. data/golden/mixed_dimensions/expected/lir_04_loop_invcm.txt +5 -5
  113. data/golden/mixed_dimensions/expected/lir_06_const_prop.txt +5 -5
  114. data/golden/mixed_dimensions/expected/nast.txt +2 -2
  115. data/golden/mixed_dimensions/expected/schema_javascript.mjs +3 -3
  116. data/golden/mixed_dimensions/expected/schema_ruby.rb +6 -6
  117. data/golden/multirank_hoisting/expected/lir_02_inlined.txt +48 -48
  118. data/golden/multirank_hoisting/expected/lir_03_cse.txt +35 -35
  119. data/golden/multirank_hoisting/expected/lir_04_1_loop_fusion.txt +35 -35
  120. data/golden/multirank_hoisting/expected/lir_04_loop_invcm.txt +35 -35
  121. data/golden/multirank_hoisting/expected/lir_06_const_prop.txt +35 -35
  122. data/golden/multirank_hoisting/expected/nast.txt +7 -7
  123. data/golden/multirank_hoisting/expected/schema_javascript.mjs +34 -34
  124. data/golden/multirank_hoisting/expected/schema_ruby.rb +36 -36
  125. data/golden/nested_hash/expected/nast.txt +1 -1
  126. data/golden/nested_hash/expected/schema_ruby.rb +1 -1
  127. data/golden/reduction_broadcast/expected/lir_02_inlined.txt +30 -30
  128. data/golden/reduction_broadcast/expected/lir_03_cse.txt +22 -22
  129. data/golden/reduction_broadcast/expected/lir_04_1_loop_fusion.txt +22 -22
  130. data/golden/reduction_broadcast/expected/lir_04_loop_invcm.txt +22 -22
  131. data/golden/reduction_broadcast/expected/lir_06_const_prop.txt +22 -22
  132. data/golden/reduction_broadcast/expected/nast.txt +3 -3
  133. data/golden/reduction_broadcast/expected/schema_javascript.mjs +18 -18
  134. data/golden/reduction_broadcast/expected/schema_ruby.rb +23 -23
  135. data/golden/reduction_broadcast/expected/snast.txt +1 -1
  136. data/golden/roll/expected/schema_ruby.rb +1 -1
  137. data/golden/shift/expected/schema_ruby.rb +1 -1
  138. data/golden/shift_2d/expected/schema_ruby.rb +1 -1
  139. data/golden/simple_math/expected/lir_00_unoptimized.txt +1 -1
  140. data/golden/simple_math/expected/lir_01_hoist_scalar_references.txt +1 -1
  141. data/golden/simple_math/expected/lir_02_inlined.txt +1 -1
  142. data/golden/simple_math/expected/lir_03_cse.txt +1 -1
  143. data/golden/simple_math/expected/lir_04_1_loop_fusion.txt +1 -1
  144. data/golden/simple_math/expected/lir_04_loop_invcm.txt +1 -1
  145. data/golden/simple_math/expected/lir_06_const_prop.txt +1 -1
  146. data/golden/simple_math/expected/nast.txt +5 -5
  147. data/golden/simple_math/expected/schema_ruby.rb +1 -1
  148. data/golden/simple_math/expected/snast.txt +2 -2
  149. data/golden/streaming_basics/expected/lir_02_inlined.txt +25 -25
  150. data/golden/streaming_basics/expected/lir_03_cse.txt +13 -13
  151. data/golden/streaming_basics/expected/lir_04_1_loop_fusion.txt +13 -13
  152. data/golden/streaming_basics/expected/lir_04_loop_invcm.txt +13 -13
  153. data/golden/streaming_basics/expected/lir_06_const_prop.txt +13 -13
  154. data/golden/streaming_basics/expected/nast.txt +8 -8
  155. data/golden/streaming_basics/expected/schema_javascript.mjs +13 -13
  156. data/golden/streaming_basics/expected/schema_ruby.rb +14 -14
  157. data/golden/streaming_basics/expected/snast.txt +1 -1
  158. data/golden/tuples/expected/lir_00_unoptimized.txt +5 -5
  159. data/golden/tuples/expected/lir_01_hoist_scalar_references.txt +5 -5
  160. data/golden/tuples/expected/lir_02_inlined.txt +5 -5
  161. data/golden/tuples/expected/lir_03_cse.txt +5 -5
  162. data/golden/tuples/expected/lir_04_1_loop_fusion.txt +5 -5
  163. data/golden/tuples/expected/lir_04_loop_invcm.txt +5 -5
  164. data/golden/tuples/expected/lir_06_const_prop.txt +5 -5
  165. data/golden/tuples/expected/nast.txt +4 -4
  166. data/golden/tuples/expected/schema_ruby.rb +1 -1
  167. data/golden/tuples/expected/snast.txt +6 -6
  168. data/golden/tuples_and_arrays/expected/lir_00_unoptimized.txt +1 -1
  169. data/golden/tuples_and_arrays/expected/lir_01_hoist_scalar_references.txt +1 -1
  170. data/golden/tuples_and_arrays/expected/lir_02_inlined.txt +17 -17
  171. data/golden/tuples_and_arrays/expected/lir_03_cse.txt +13 -13
  172. data/golden/tuples_and_arrays/expected/lir_04_1_loop_fusion.txt +13 -13
  173. data/golden/tuples_and_arrays/expected/lir_04_loop_invcm.txt +13 -13
  174. data/golden/tuples_and_arrays/expected/lir_06_const_prop.txt +13 -13
  175. data/golden/tuples_and_arrays/expected/nast.txt +3 -3
  176. data/golden/tuples_and_arrays/expected/schema_javascript.mjs +13 -13
  177. data/golden/tuples_and_arrays/expected/schema_ruby.rb +14 -14
  178. data/golden/tuples_and_arrays/expected/snast.txt +2 -2
  179. data/golden/us_tax_2024/expected/ast.txt +63 -670
  180. data/golden/us_tax_2024/expected/input_plan.txt +8 -45
  181. data/golden/us_tax_2024/expected/lir_00_unoptimized.txt +253 -863
  182. data/golden/us_tax_2024/expected/lir_01_hoist_scalar_references.txt +253 -863
  183. data/golden/us_tax_2024/expected/lir_02_inlined.txt +1215 -5139
  184. data/golden/us_tax_2024/expected/lir_03_cse.txt +587 -2460
  185. data/golden/us_tax_2024/expected/lir_04_1_loop_fusion.txt +632 -2480
  186. data/golden/us_tax_2024/expected/lir_04_loop_invcm.txt +587 -2400
  187. data/golden/us_tax_2024/expected/lir_06_const_prop.txt +587 -2400
  188. data/golden/us_tax_2024/expected/nast.txt +123 -826
  189. data/golden/us_tax_2024/expected/schema_javascript.mjs +127 -581
  190. data/golden/us_tax_2024/expected/schema_ruby.rb +135 -610
  191. data/golden/us_tax_2024/expected/snast.txt +155 -858
  192. data/golden/us_tax_2024/expected.json +120 -1
  193. data/golden/us_tax_2024/input.json +18 -9
  194. data/golden/us_tax_2024/schema.kumi +48 -178
  195. data/golden/with_constants/expected/lir_00_unoptimized.txt +1 -1
  196. data/golden/with_constants/expected/lir_01_hoist_scalar_references.txt +1 -1
  197. data/golden/with_constants/expected/lir_02_inlined.txt +1 -1
  198. data/golden/with_constants/expected/lir_03_cse.txt +1 -1
  199. data/golden/with_constants/expected/lir_04_1_loop_fusion.txt +1 -1
  200. data/golden/with_constants/expected/lir_04_loop_invcm.txt +1 -1
  201. data/golden/with_constants/expected/lir_06_const_prop.txt +1 -1
  202. data/golden/with_constants/expected/nast.txt +2 -2
  203. data/golden/with_constants/expected/schema_ruby.rb +1 -1
  204. data/golden/with_constants/expected/snast.txt +2 -2
  205. data/lib/kumi/analyzer.rb +12 -12
  206. data/lib/kumi/core/analyzer/passes/formal_constraint_propagator.rb +236 -0
  207. data/lib/kumi/core/analyzer/passes/input_collector.rb +22 -4
  208. data/lib/kumi/core/analyzer/passes/lir/inline_declarations_pass.rb +118 -74
  209. data/lib/kumi/core/analyzer/passes/nast_dimensional_analyzer_pass.rb +64 -18
  210. data/lib/kumi/core/analyzer/passes/normalize_to_nast_pass.rb +9 -4
  211. data/lib/kumi/core/analyzer/passes/snast_pass.rb +3 -1
  212. data/lib/kumi/core/analyzer/passes/unsat_detector.rb +172 -198
  213. data/lib/kumi/core/error_reporter.rb +36 -1
  214. data/lib/kumi/core/errors.rb +33 -1
  215. data/lib/kumi/core/functions/function_spec.rb +5 -4
  216. data/lib/kumi/core/functions/loader.rb +17 -1
  217. data/lib/kumi/core/functions/overload_resolver.rb +164 -0
  218. data/lib/kumi/core/functions/type_error_reporter.rb +118 -0
  219. data/lib/kumi/core/functions/type_rules.rb +155 -35
  220. data/lib/kumi/core/types/inference.rb +29 -22
  221. data/lib/kumi/core/types/normalizer.rb +29 -45
  222. data/lib/kumi/core/types/validator.rb +16 -27
  223. data/lib/kumi/core/types/value_objects.rb +116 -0
  224. data/lib/kumi/core/types.rb +45 -37
  225. data/lib/kumi/registry_v2/loader.rb +90 -0
  226. data/lib/kumi/registry_v2.rb +18 -1
  227. data/lib/kumi/version.rb +1 -1
  228. metadata +21 -7
  229. data/lib/kumi/core/analyzer/unsat_constant_evaluator.rb +0 -59
  230. data/lib/kumi/core/atom_unsat_solver.rb +0 -396
  231. data/lib/kumi/core/constraint_relationship_solver.rb +0 -641
  232. data/lib/kumi/core/types/builder.rb +0 -23
  233. data/lib/kumi/core/types/compatibility.rb +0 -96
  234. data/lib/kumi/core/types/formatter.rb +0 -26
@@ -4,59 +4,14 @@
4
4
  (InputDeclaration :state_rate :float)
5
5
  (InputDeclaration :local_rate :float)
6
6
  (InputDeclaration :retirement_contrib :float)
7
- (InputDeclaration :fed :hash
7
+ (InputDeclaration :filing_status :string)
8
+ (InputDeclaration :statuses :array
8
9
  [
9
- (InputDeclaration :single :hash
10
- [
11
- (InputDeclaration :std :float)
12
- (InputDeclaration :rates :array
13
- [
14
- (InputDeclaration :bracket :hash
15
- [
16
- (InputDeclaration :lo :float)
17
- (InputDeclaration :hi :float)
18
- (InputDeclaration :rate :float)
19
- ]
20
- )
21
- ]
22
- )
23
- ]
24
- )
25
- (InputDeclaration :married_joint :hash
26
- [
27
- (InputDeclaration :std :float)
28
- (InputDeclaration :rates :array
29
- [
30
- (InputDeclaration :bracket :hash
31
- [
32
- (InputDeclaration :lo :float)
33
- (InputDeclaration :hi :float)
34
- (InputDeclaration :rate :float)
35
- ]
36
- )
37
- ]
38
- )
39
- ]
40
- )
41
- (InputDeclaration :married_separate :hash
42
- [
43
- (InputDeclaration :std :float)
44
- (InputDeclaration :rates :array
45
- [
46
- (InputDeclaration :bracket :hash
47
- [
48
- (InputDeclaration :lo :float)
49
- (InputDeclaration :hi :float)
50
- (InputDeclaration :rate :float)
51
- ]
52
- )
53
- ]
54
- )
55
- ]
56
- )
57
- (InputDeclaration :head_of_household :hash
10
+ (InputDeclaration :status :hash
58
11
  [
12
+ (InputDeclaration :name :string)
59
13
  (InputDeclaration :std :float)
14
+ (InputDeclaration :addl_threshold :float)
60
15
  (InputDeclaration :rates :array
61
16
  [
62
17
  (InputDeclaration :bracket :hash
@@ -101,90 +56,78 @@
101
56
  (ValueDeclaration :addl_med_rate
102
57
  (Literal 0.009)
103
58
  )
104
- (ValueDeclaration :addl_threshold_single
105
- (Literal 200000.0)
106
- )
107
- (ValueDeclaration :addl_threshold_mj
108
- (Literal 250000.0)
109
- )
110
- (ValueDeclaration :addl_threshold_ms
111
- (Literal 125000.0)
112
- )
113
- (ValueDeclaration :addl_threshold_hoh
114
- (Literal 200000.0)
115
- )
116
- (ValueDeclaration :taxable_single
59
+ (ValueDeclaration :taxable
117
60
  (CallExpression :max
118
61
  (ArrayExpression
119
62
  (CallExpression :subtract
120
63
  (InputReference :income)
121
- (InputElementReference fed.single.std)
64
+ (InputElementReference statuses.status.std)
122
65
  )
123
66
  (Literal 0)
124
67
  )
125
68
  )
126
69
  )
127
- (ValueDeclaration :lo_s
128
- (InputElementReference fed.single.rates.bracket.lo)
70
+ (ValueDeclaration :lo
71
+ (InputElementReference statuses.status.rates.bracket.lo)
129
72
  )
130
- (ValueDeclaration :hi_s
131
- (InputElementReference fed.single.rates.bracket.hi)
73
+ (ValueDeclaration :hi
74
+ (InputElementReference statuses.status.rates.bracket.hi)
132
75
  )
133
- (ValueDeclaration :rate_s
134
- (InputElementReference fed.single.rates.bracket.rate)
76
+ (ValueDeclaration :rate
77
+ (InputElementReference statuses.status.rates.bracket.rate)
135
78
  )
136
- (ValueDeclaration :hi_s_eff
79
+ (ValueDeclaration :hi_eff
137
80
  (CallExpression :select
138
81
  (CallExpression :==
139
- (DeclarationReference :hi_s)
82
+ (DeclarationReference :hi)
140
83
  (Literal -1)
141
84
  )
142
85
  (DeclarationReference :big_hi)
143
- (DeclarationReference :hi_s)
86
+ (DeclarationReference :hi)
144
87
  )
145
88
  )
146
- (ValueDeclaration :amt_s
89
+ (ValueDeclaration :amt
147
90
  (CallExpression :clamp
148
91
  (CallExpression :subtract
149
- (DeclarationReference :taxable_single)
150
- (DeclarationReference :lo_s)
92
+ (DeclarationReference :taxable)
93
+ (DeclarationReference :lo)
151
94
  )
152
95
  (Literal 0)
153
96
  (CallExpression :subtract
154
- (DeclarationReference :hi_s_eff)
155
- (DeclarationReference :lo_s)
97
+ (DeclarationReference :hi_eff)
98
+ (DeclarationReference :lo)
156
99
  )
157
100
  )
158
101
  )
159
- (ValueDeclaration :fed_tax_single
102
+ (ValueDeclaration :fed_tax
160
103
  (CallExpression :sum
161
104
  (CallExpression :multiply
162
- (DeclarationReference :amt_s)
163
- (DeclarationReference :rate_s)
105
+ (DeclarationReference :amt)
106
+ (DeclarationReference :rate)
164
107
  )
165
108
  )
166
109
  )
167
- (ValueDeclaration :in_br_s
110
+ (ValueDeclaration :in_br
168
111
  (CallExpression :and
169
112
  (CallExpression :>=
170
- (DeclarationReference :taxable_single)
171
- (DeclarationReference :lo_s)
113
+ (DeclarationReference :taxable)
114
+ (DeclarationReference :lo)
172
115
  )
173
116
  (CallExpression :<
174
- (DeclarationReference :taxable_single)
175
- (DeclarationReference :hi_s_eff)
117
+ (DeclarationReference :taxable)
118
+ (DeclarationReference :hi_eff)
176
119
  )
177
120
  )
178
121
  )
179
- (ValueDeclaration :fed_marginal_single
122
+ (ValueDeclaration :fed_marg
180
123
  (CallExpression :sum_if
181
- (DeclarationReference :rate_s)
182
- (DeclarationReference :in_br_s)
124
+ (DeclarationReference :rate)
125
+ (DeclarationReference :in_br)
183
126
  )
184
127
  )
185
- (ValueDeclaration :fed_eff_single
128
+ (ValueDeclaration :fed_eff
186
129
  (CallExpression :divide
187
- (DeclarationReference :fed_tax_single)
130
+ (DeclarationReference :fed_tax)
188
131
  (CallExpression :max
189
132
  (ArrayExpression
190
133
  (InputReference :income)
@@ -193,7 +136,7 @@
193
136
  )
194
137
  )
195
138
  )
196
- (ValueDeclaration :ss_tax_s
139
+ (ValueDeclaration :ss_tax
197
140
  (CallExpression :multiply
198
141
  (CallExpression :min
199
142
  (ArrayExpression
@@ -204,174 +147,19 @@
204
147
  (DeclarationReference :ss_rate)
205
148
  )
206
149
  )
207
- (ValueDeclaration :med_tax_s
150
+ (ValueDeclaration :med_tax
208
151
  (CallExpression :multiply
209
152
  (InputReference :income)
210
153
  (DeclarationReference :med_base_rate)
211
154
  )
212
155
  )
213
- (ValueDeclaration :addl_med_tax_s
214
- (CallExpression :multiply
215
- (CallExpression :max
216
- (ArrayExpression
217
- (CallExpression :subtract
218
- (InputReference :income)
219
- (DeclarationReference :addl_threshold_single)
220
- )
221
- (Literal 0)
222
- )
223
- )
224
- (DeclarationReference :addl_med_rate)
225
- )
226
- )
227
- (ValueDeclaration :fica_tax_single
228
- (CallExpression :add
229
- (CallExpression :add
230
- (DeclarationReference :ss_tax_s)
231
- (DeclarationReference :med_tax_s)
232
- )
233
- (DeclarationReference :addl_med_tax_s)
234
- )
235
- )
236
- (ValueDeclaration :fica_eff_single
237
- (CallExpression :divide
238
- (DeclarationReference :fica_tax_single)
239
- (CallExpression :max
240
- (ArrayExpression
241
- (InputReference :income)
242
- (Literal 1.0)
243
- )
244
- )
245
- )
246
- )
247
- (ValueDeclaration :total_tax_single
248
- (CallExpression :add
249
- (CallExpression :add
250
- (CallExpression :add
251
- (DeclarationReference :fed_tax_single)
252
- (DeclarationReference :fica_tax_single)
253
- )
254
- (DeclarationReference :state_tax)
255
- )
256
- (DeclarationReference :local_tax)
257
- )
258
- )
259
- (ValueDeclaration :total_eff_single
260
- (CallExpression :divide
261
- (DeclarationReference :total_tax_single)
262
- (CallExpression :max
263
- (ArrayExpression
264
- (InputReference :income)
265
- (Literal 1.0)
266
- )
267
- )
268
- )
269
- )
270
- (ValueDeclaration :after_tax_single
271
- (CallExpression :subtract
272
- (InputReference :income)
273
- (DeclarationReference :total_tax_single)
274
- )
275
- )
276
- (ValueDeclaration :take_home_single
277
- (CallExpression :subtract
278
- (DeclarationReference :after_tax_single)
279
- (InputReference :retirement_contrib)
280
- )
281
- )
282
- (ValueDeclaration :taxable_mj
283
- (CallExpression :max
284
- (ArrayExpression
285
- (CallExpression :subtract
286
- (InputReference :income)
287
- (InputElementReference fed.married_joint.std)
288
- )
289
- (Literal 0)
290
- )
291
- )
292
- )
293
- (ValueDeclaration :lo_mj
294
- (InputElementReference fed.married_joint.rates.bracket.lo)
295
- )
296
- (ValueDeclaration :hi_mj
297
- (InputElementReference fed.married_joint.rates.bracket.hi)
298
- )
299
- (ValueDeclaration :rate_mj
300
- (InputElementReference fed.married_joint.rates.bracket.rate)
301
- )
302
- (ValueDeclaration :hi_mj_eff
303
- (CallExpression :select
304
- (CallExpression :==
305
- (DeclarationReference :hi_mj)
306
- (Literal -1)
307
- )
308
- (DeclarationReference :big_hi)
309
- (DeclarationReference :hi_mj)
310
- )
311
- )
312
- (ValueDeclaration :amt_mj
313
- (CallExpression :clamp
314
- (CallExpression :subtract
315
- (DeclarationReference :taxable_mj)
316
- (DeclarationReference :lo_mj)
317
- )
318
- (Literal 0)
319
- (CallExpression :subtract
320
- (DeclarationReference :hi_mj_eff)
321
- (DeclarationReference :lo_mj)
322
- )
323
- )
324
- )
325
- (ValueDeclaration :fed_tax_mj
326
- (CallExpression :sum
327
- (CallExpression :multiply
328
- (DeclarationReference :amt_mj)
329
- (DeclarationReference :rate_mj)
330
- )
331
- )
332
- )
333
- (ValueDeclaration :in_br_mj
334
- (CallExpression :and
335
- (CallExpression :>=
336
- (DeclarationReference :taxable_mj)
337
- (DeclarationReference :lo_mj)
338
- )
339
- (CallExpression :<
340
- (DeclarationReference :taxable_mj)
341
- (DeclarationReference :hi_mj_eff)
342
- )
343
- )
344
- )
345
- (ValueDeclaration :fed_marginal_mj
346
- (CallExpression :sum_if
347
- (DeclarationReference :rate_mj)
348
- (DeclarationReference :in_br_mj)
349
- )
350
- )
351
- (ValueDeclaration :fed_eff_mj
352
- (CallExpression :divide
353
- (DeclarationReference :fed_tax_mj)
354
- (CallExpression :max
355
- (ArrayExpression
356
- (InputReference :income)
357
- (Literal 1.0)
358
- )
359
- )
360
- )
361
- )
362
- (ValueDeclaration :ss_tax_mj
363
- (DeclarationReference :ss_tax_s)
364
- )
365
- (ValueDeclaration :med_tax_mj
366
- (DeclarationReference :med_tax_s)
367
- )
368
- (ValueDeclaration :addl_med_tax_mj
156
+ (ValueDeclaration :addl_med_tax
369
157
  (CallExpression :multiply
370
158
  (CallExpression :max
371
159
  (ArrayExpression
372
160
  (CallExpression :subtract
373
161
  (InputReference :income)
374
- (DeclarationReference :addl_threshold_mj)
162
+ (InputElementReference statuses.status.addl_threshold)
375
163
  )
376
164
  (Literal 0)
377
165
  )
@@ -379,18 +167,18 @@
379
167
  (DeclarationReference :addl_med_rate)
380
168
  )
381
169
  )
382
- (ValueDeclaration :fica_tax_mj
170
+ (ValueDeclaration :fica_tax
383
171
  (CallExpression :add
384
172
  (CallExpression :add
385
- (DeclarationReference :ss_tax_mj)
386
- (DeclarationReference :med_tax_mj)
173
+ (DeclarationReference :ss_tax)
174
+ (DeclarationReference :med_tax)
387
175
  )
388
- (DeclarationReference :addl_med_tax_mj)
176
+ (DeclarationReference :addl_med_tax)
389
177
  )
390
178
  )
391
- (ValueDeclaration :fica_eff_mj
179
+ (ValueDeclaration :fica_eff
392
180
  (CallExpression :divide
393
- (DeclarationReference :fica_tax_mj)
181
+ (DeclarationReference :fica_tax)
394
182
  (CallExpression :max
395
183
  (ArrayExpression
396
184
  (InputReference :income)
@@ -399,21 +187,21 @@
399
187
  )
400
188
  )
401
189
  )
402
- (ValueDeclaration :total_tax_mj
190
+ (ValueDeclaration :total_tax
403
191
  (CallExpression :add
404
192
  (CallExpression :add
405
193
  (CallExpression :add
406
- (DeclarationReference :fed_tax_mj)
407
- (DeclarationReference :fica_tax_mj)
194
+ (DeclarationReference :fed_tax)
195
+ (DeclarationReference :fica_tax)
408
196
  )
409
197
  (DeclarationReference :state_tax)
410
198
  )
411
199
  (DeclarationReference :local_tax)
412
200
  )
413
201
  )
414
- (ValueDeclaration :total_eff_mj
202
+ (ValueDeclaration :total_eff
415
203
  (CallExpression :divide
416
- (DeclarationReference :total_tax_mj)
204
+ (DeclarationReference :total_tax)
417
205
  (CallExpression :max
418
206
  (ArrayExpression
419
207
  (InputReference :income)
@@ -422,423 +210,29 @@
422
210
  )
423
211
  )
424
212
  )
425
- (ValueDeclaration :after_tax_mj
213
+ (ValueDeclaration :after_tax
426
214
  (CallExpression :subtract
427
215
  (InputReference :income)
428
- (DeclarationReference :total_tax_mj)
216
+ (DeclarationReference :total_tax)
429
217
  )
430
218
  )
431
- (ValueDeclaration :take_home_mj
219
+ (ValueDeclaration :take_home
432
220
  (CallExpression :subtract
433
- (DeclarationReference :after_tax_mj)
434
- (InputReference :retirement_contrib)
435
- )
436
- )
437
- (ValueDeclaration :taxable_ms
438
- (CallExpression :max
439
- (ArrayExpression
440
- (CallExpression :subtract
441
- (InputReference :income)
442
- (InputElementReference fed.married_separate.std)
443
- )
444
- (Literal 0)
445
- )
446
- )
447
- )
448
- (ValueDeclaration :lo_ms
449
- (InputElementReference fed.married_separate.rates.bracket.lo)
450
- )
451
- (ValueDeclaration :hi_ms
452
- (InputElementReference fed.married_separate.rates.bracket.hi)
453
- )
454
- (ValueDeclaration :rate_ms
455
- (InputElementReference fed.married_separate.rates.bracket.rate)
456
- )
457
- (ValueDeclaration :hi_ms_eff
458
- (CallExpression :select
459
- (CallExpression :==
460
- (DeclarationReference :hi_ms)
461
- (Literal -1)
462
- )
463
- (DeclarationReference :big_hi)
464
- (DeclarationReference :hi_ms)
465
- )
466
- )
467
- (ValueDeclaration :amt_ms
468
- (CallExpression :clamp
469
- (CallExpression :subtract
470
- (DeclarationReference :taxable_ms)
471
- (DeclarationReference :lo_ms)
472
- )
473
- (Literal 0)
474
- (CallExpression :subtract
475
- (DeclarationReference :hi_ms_eff)
476
- (DeclarationReference :lo_ms)
477
- )
478
- )
479
- )
480
- (ValueDeclaration :fed_tax_ms
481
- (CallExpression :sum
482
- (CallExpression :multiply
483
- (DeclarationReference :amt_ms)
484
- (DeclarationReference :rate_ms)
485
- )
486
- )
487
- )
488
- (ValueDeclaration :in_br_ms
489
- (CallExpression :and
490
- (CallExpression :>=
491
- (DeclarationReference :taxable_ms)
492
- (DeclarationReference :lo_ms)
493
- )
494
- (CallExpression :<
495
- (DeclarationReference :taxable_ms)
496
- (DeclarationReference :hi_ms_eff)
497
- )
498
- )
499
- )
500
- (ValueDeclaration :fed_marginal_ms
501
- (CallExpression :sum_if
502
- (DeclarationReference :rate_ms)
503
- (DeclarationReference :in_br_ms)
504
- )
505
- )
506
- (ValueDeclaration :fed_eff_ms
507
- (CallExpression :divide
508
- (DeclarationReference :fed_tax_ms)
509
- (CallExpression :max
510
- (ArrayExpression
511
- (InputReference :income)
512
- (Literal 1.0)
513
- )
514
- )
515
- )
516
- )
517
- (ValueDeclaration :ss_tax_ms
518
- (DeclarationReference :ss_tax_s)
519
- )
520
- (ValueDeclaration :med_tax_ms
521
- (DeclarationReference :med_tax_s)
522
- )
523
- (ValueDeclaration :addl_med_tax_ms
524
- (CallExpression :multiply
525
- (CallExpression :max
526
- (ArrayExpression
527
- (CallExpression :subtract
528
- (InputReference :income)
529
- (DeclarationReference :addl_threshold_ms)
530
- )
531
- (Literal 0)
532
- )
533
- )
534
- (DeclarationReference :addl_med_rate)
535
- )
536
- )
537
- (ValueDeclaration :fica_tax_ms
538
- (CallExpression :add
539
- (CallExpression :add
540
- (DeclarationReference :ss_tax_ms)
541
- (DeclarationReference :med_tax_ms)
542
- )
543
- (DeclarationReference :addl_med_tax_ms)
544
- )
545
- )
546
- (ValueDeclaration :fica_eff_ms
547
- (CallExpression :divide
548
- (DeclarationReference :fica_tax_ms)
549
- (CallExpression :max
550
- (ArrayExpression
551
- (InputReference :income)
552
- (Literal 1.0)
553
- )
554
- )
555
- )
556
- )
557
- (ValueDeclaration :total_tax_ms
558
- (CallExpression :add
559
- (CallExpression :add
560
- (CallExpression :add
561
- (DeclarationReference :fed_tax_ms)
562
- (DeclarationReference :fica_tax_ms)
563
- )
564
- (DeclarationReference :state_tax)
565
- )
566
- (DeclarationReference :local_tax)
567
- )
568
- )
569
- (ValueDeclaration :total_eff_ms
570
- (CallExpression :divide
571
- (DeclarationReference :total_tax_ms)
572
- (CallExpression :max
573
- (ArrayExpression
574
- (InputReference :income)
575
- (Literal 1.0)
576
- )
577
- )
578
- )
579
- )
580
- (ValueDeclaration :after_tax_ms
581
- (CallExpression :subtract
582
- (InputReference :income)
583
- (DeclarationReference :total_tax_ms)
584
- )
585
- )
586
- (ValueDeclaration :take_home_ms
587
- (CallExpression :subtract
588
- (DeclarationReference :after_tax_ms)
589
- (InputReference :retirement_contrib)
590
- )
591
- )
592
- (ValueDeclaration :taxable_hoh
593
- (CallExpression :max
594
- (ArrayExpression
595
- (CallExpression :subtract
596
- (InputReference :income)
597
- (InputElementReference fed.head_of_household.std)
598
- )
599
- (Literal 0)
600
- )
601
- )
602
- )
603
- (ValueDeclaration :lo_h
604
- (InputElementReference fed.head_of_household.rates.bracket.lo)
605
- )
606
- (ValueDeclaration :hi_h
607
- (InputElementReference fed.head_of_household.rates.bracket.hi)
608
- )
609
- (ValueDeclaration :rate_h
610
- (InputElementReference fed.head_of_household.rates.bracket.rate)
611
- )
612
- (ValueDeclaration :hi_h_eff
613
- (CallExpression :select
614
- (CallExpression :==
615
- (DeclarationReference :hi_h)
616
- (Literal -1)
617
- )
618
- (DeclarationReference :big_hi)
619
- (DeclarationReference :hi_h)
620
- )
621
- )
622
- (ValueDeclaration :amt_h
623
- (CallExpression :clamp
624
- (CallExpression :subtract
625
- (DeclarationReference :taxable_hoh)
626
- (DeclarationReference :lo_h)
627
- )
628
- (Literal 0)
629
- (CallExpression :subtract
630
- (DeclarationReference :hi_h_eff)
631
- (DeclarationReference :lo_h)
632
- )
633
- )
634
- )
635
- (ValueDeclaration :fed_tax_hoh
636
- (CallExpression :sum
637
- (CallExpression :multiply
638
- (DeclarationReference :amt_h)
639
- (DeclarationReference :rate_h)
640
- )
641
- )
642
- )
643
- (ValueDeclaration :in_br_h
644
- (CallExpression :and
645
- (CallExpression :>=
646
- (DeclarationReference :taxable_hoh)
647
- (DeclarationReference :lo_h)
648
- )
649
- (CallExpression :<
650
- (DeclarationReference :taxable_hoh)
651
- (DeclarationReference :hi_h_eff)
652
- )
653
- )
654
- )
655
- (ValueDeclaration :fed_marginal_hoh
656
- (CallExpression :sum_if
657
- (DeclarationReference :rate_h)
658
- (DeclarationReference :in_br_h)
659
- )
660
- )
661
- (ValueDeclaration :fed_eff_hoh
662
- (CallExpression :divide
663
- (DeclarationReference :fed_tax_hoh)
664
- (CallExpression :max
665
- (ArrayExpression
666
- (InputReference :income)
667
- (Literal 1.0)
668
- )
669
- )
670
- )
671
- )
672
- (ValueDeclaration :ss_tax_h
673
- (DeclarationReference :ss_tax_s)
674
- )
675
- (ValueDeclaration :med_tax_h
676
- (DeclarationReference :med_tax_s)
677
- )
678
- (ValueDeclaration :addl_med_tax_h
679
- (CallExpression :multiply
680
- (CallExpression :max
681
- (ArrayExpression
682
- (CallExpression :subtract
683
- (InputReference :income)
684
- (DeclarationReference :addl_threshold_hoh)
685
- )
686
- (Literal 0)
687
- )
688
- )
689
- (DeclarationReference :addl_med_rate)
690
- )
691
- )
692
- (ValueDeclaration :fica_tax_hoh
693
- (CallExpression :add
694
- (CallExpression :add
695
- (DeclarationReference :ss_tax_h)
696
- (DeclarationReference :med_tax_h)
697
- )
698
- (DeclarationReference :addl_med_tax_h)
699
- )
700
- )
701
- (ValueDeclaration :fica_eff_hoh
702
- (CallExpression :divide
703
- (DeclarationReference :fica_tax_hoh)
704
- (CallExpression :max
705
- (ArrayExpression
706
- (InputReference :income)
707
- (Literal 1.0)
708
- )
709
- )
710
- )
711
- )
712
- (ValueDeclaration :total_tax_hoh
713
- (CallExpression :add
714
- (CallExpression :add
715
- (CallExpression :add
716
- (DeclarationReference :fed_tax_hoh)
717
- (DeclarationReference :fica_tax_hoh)
718
- )
719
- (DeclarationReference :state_tax)
720
- )
721
- (DeclarationReference :local_tax)
722
- )
723
- )
724
- (ValueDeclaration :total_eff_hoh
725
- (CallExpression :divide
726
- (DeclarationReference :total_tax_hoh)
727
- (CallExpression :max
728
- (ArrayExpression
729
- (InputReference :income)
730
- (Literal 1.0)
731
- )
732
- )
733
- )
734
- )
735
- (ValueDeclaration :after_tax_hoh
736
- (CallExpression :subtract
737
- (InputReference :income)
738
- (DeclarationReference :total_tax_hoh)
739
- )
740
- )
741
- (ValueDeclaration :take_home_hoh
742
- (CallExpression :subtract
743
- (DeclarationReference :after_tax_hoh)
221
+ (DeclarationReference :after_tax)
744
222
  (InputReference :retirement_contrib)
745
223
  )
746
224
  )
747
225
  (ValueDeclaration :summary
748
226
  (HashExpression
749
- ((Literal :single) (HashExpression
750
- ((Literal :federal) (HashExpression
751
- ((Literal :marginal) (DeclarationReference :fed_marginal_single))
752
- ((Literal :effective) (DeclarationReference :fed_eff_single))
753
- ((Literal :tax) (DeclarationReference :fed_tax_single))
754
- ))
755
- ((Literal :fica) (HashExpression
756
- ((Literal :effective) (DeclarationReference :fica_eff_single))
757
- ((Literal :tax) (DeclarationReference :fica_tax_single))
758
- ))
759
- ((Literal :state) (HashExpression
760
- ((Literal :marginal) (InputReference :state_rate))
761
- ((Literal :effective) (InputReference :state_rate))
762
- ((Literal :tax) (DeclarationReference :state_tax))
763
- ))
764
- ((Literal :local) (HashExpression
765
- ((Literal :marginal) (InputReference :local_rate))
766
- ((Literal :effective) (InputReference :local_rate))
767
- ((Literal :tax) (DeclarationReference :local_tax))
768
- ))
769
- ((Literal :total) (HashExpression
770
- ((Literal :effective) (DeclarationReference :total_eff_single))
771
- ((Literal :tax) (DeclarationReference :total_tax_single))
772
- ))
773
- ((Literal :after_tax) (DeclarationReference :after_tax_single))
774
- ((Literal :retirement_contrib) (InputReference :retirement_contrib))
775
- ((Literal :take_home) (DeclarationReference :take_home_single))
776
- ))
777
- ((Literal :married_joint) (HashExpression
778
- ((Literal :federal) (HashExpression
779
- ((Literal :marginal) (DeclarationReference :fed_marginal_mj))
780
- ((Literal :effective) (DeclarationReference :fed_eff_mj))
781
- ((Literal :tax) (DeclarationReference :fed_tax_mj))
782
- ))
783
- ((Literal :fica) (HashExpression
784
- ((Literal :effective) (DeclarationReference :fica_eff_mj))
785
- ((Literal :tax) (DeclarationReference :fica_tax_mj))
786
- ))
787
- ((Literal :state) (HashExpression
788
- ((Literal :marginal) (InputReference :state_rate))
789
- ((Literal :effective) (InputReference :state_rate))
790
- ((Literal :tax) (DeclarationReference :state_tax))
791
- ))
792
- ((Literal :local) (HashExpression
793
- ((Literal :marginal) (InputReference :local_rate))
794
- ((Literal :effective) (InputReference :local_rate))
795
- ((Literal :tax) (DeclarationReference :local_tax))
796
- ))
797
- ((Literal :total) (HashExpression
798
- ((Literal :effective) (DeclarationReference :total_eff_mj))
799
- ((Literal :tax) (DeclarationReference :total_tax_mj))
800
- ))
801
- ((Literal :after_tax) (DeclarationReference :after_tax_mj))
802
- ((Literal :retirement_contrib) (InputReference :retirement_contrib))
803
- ((Literal :take_home) (DeclarationReference :take_home_mj))
804
- ))
805
- ((Literal :married_separate) (HashExpression
806
- ((Literal :federal) (HashExpression
807
- ((Literal :marginal) (DeclarationReference :fed_marginal_ms))
808
- ((Literal :effective) (DeclarationReference :fed_eff_ms))
809
- ((Literal :tax) (DeclarationReference :fed_tax_ms))
810
- ))
811
- ((Literal :fica) (HashExpression
812
- ((Literal :effective) (DeclarationReference :fica_eff_ms))
813
- ((Literal :tax) (DeclarationReference :fica_tax_ms))
814
- ))
815
- ((Literal :state) (HashExpression
816
- ((Literal :marginal) (InputReference :state_rate))
817
- ((Literal :effective) (InputReference :state_rate))
818
- ((Literal :tax) (DeclarationReference :state_tax))
819
- ))
820
- ((Literal :local) (HashExpression
821
- ((Literal :marginal) (InputReference :local_rate))
822
- ((Literal :effective) (InputReference :local_rate))
823
- ((Literal :tax) (DeclarationReference :local_tax))
824
- ))
825
- ((Literal :total) (HashExpression
826
- ((Literal :effective) (DeclarationReference :total_eff_ms))
827
- ((Literal :tax) (DeclarationReference :total_tax_ms))
828
- ))
829
- ((Literal :after_tax) (DeclarationReference :after_tax_ms))
830
- ((Literal :retirement_contrib) (InputReference :retirement_contrib))
831
- ((Literal :take_home) (DeclarationReference :take_home_ms))
832
- ))
833
- ((Literal :head_of_household) (HashExpression
227
+ ((Literal :filing_status) (InputElementReference statuses.status.name))
834
228
  ((Literal :federal) (HashExpression
835
- ((Literal :marginal) (DeclarationReference :fed_marginal_hoh))
836
- ((Literal :effective) (DeclarationReference :fed_eff_hoh))
837
- ((Literal :tax) (DeclarationReference :fed_tax_hoh))
229
+ ((Literal :marginal) (DeclarationReference :fed_marg))
230
+ ((Literal :effective) (DeclarationReference :fed_eff))
231
+ ((Literal :tax) (DeclarationReference :fed_tax))
838
232
  ))
839
233
  ((Literal :fica) (HashExpression
840
- ((Literal :effective) (DeclarationReference :fica_eff_hoh))
841
- ((Literal :tax) (DeclarationReference :fica_tax_hoh))
234
+ ((Literal :effective) (DeclarationReference :fica_eff))
235
+ ((Literal :tax) (DeclarationReference :fica_tax))
842
236
  ))
843
237
  ((Literal :state) (HashExpression
844
238
  ((Literal :marginal) (InputReference :state_rate))
@@ -851,13 +245,12 @@
851
245
  ((Literal :tax) (DeclarationReference :local_tax))
852
246
  ))
853
247
  ((Literal :total) (HashExpression
854
- ((Literal :effective) (DeclarationReference :total_eff_hoh))
855
- ((Literal :tax) (DeclarationReference :total_tax_hoh))
248
+ ((Literal :effective) (DeclarationReference :total_eff))
249
+ ((Literal :tax) (DeclarationReference :total_tax))
856
250
  ))
857
- ((Literal :after_tax) (DeclarationReference :after_tax_hoh))
251
+ ((Literal :after_tax) (DeclarationReference :after_tax))
858
252
  ((Literal :retirement_contrib) (InputReference :retirement_contrib))
859
- ((Literal :take_home) (DeclarationReference :take_home_hoh))
860
- ))
253
+ ((Literal :take_home) (DeclarationReference :take_home))
861
254
  )
862
255
  )
863
256
  ]