Sunday, April 19, 2015

Hike #26: Tax computation

When
Saturday, 2015-04-11
Where
Piestewa Peak, via the Summit Trail
Duration
1½ hours
Notable
First sighting of saguaro blooms this year

Tax laws are complicated, but IRS forms and worksheets are not. Each line comprises a single, simple step. E.g., add two numbers together and write down the sum; or, compare two numbers and write down the smaller; or, check whether a number is less than zero, and, if so, skip to line such-and-such. And so on.

Such single-step simplicity is strikingly similar to how computer software works at its lowest level, in assembly languages, where the software meets the hardware. And all software, no matter how abstract and fuzzy, is built on top of assembly code.

It turns out IRS forms and worksheets use the same three basic building blocks as software.

  • Sequence. After completing a step, go to the next step.
  • Condition. Do X if such-and-such is true, otherwise do Y.
  • Branch. Go to such-and-such step instead of the next step.

As far as I can tell, IRS forms and worksheets are limited in only one fundamental way that software is not. An IRS form or worksheet never branches to a previous line, whereas software often branches to a previous instruction. Backwards branching is what makes looping possible, such as repeating the same sequence of instructions a thousand times, or to continue doing the same sequence until a calculated value becomes zero.

There's no technical reason stopping the IRS from using backwards branching in their forms or worksheets—only lack of need. Good thing, too. Who wants to get stuck in an infinite loop calculating their taxes?

3 comments:

Josh Wilson (fforfilms.net) said...

I think the infinite loop only occurs when you try to call someone for help on an 800 number.

Josh Wilson (fforfilms.net) said...

I think the infinite loop only occurs when you try to call someone for help on an 800 number.

Craig Brandenburg said...

Josh— Aye, good one.