Edit: To be clear, as a sibling post said, the basic arithmetic is easy enough. It's the tax opinion stuff that is absolutely not deterministic. If your situation is even moderately complex, there's a vast number of ways to describe your deductions, each with different tax implications and multi-year requirements. I'm not talking about being Jeff Bezos, either. Is your spouse an independent contractor? Do you own a home? Do you have stock options? Do you have a home office? These alone are enough to make some pretty creative reporting situations.
I use tax prep software because I do NOT want to worry whether I copied the amount from line C to line K correctly. The IRS forms are a nightmare!
The postscript in PDF should allow something more sane than what we have today in IRS forms, but that’s just wishful thinking.
Basically, unless you get someone who has a deep knowledge of the law, if your tax situation is non-trivial (see my post above this) then you might be leaving money on the table. It's a terrible, idea to evade taxes. It's a fantastic idea to realize when you're paying more than you're legally required to so that you can fix it.
These things are knowable, but unless you've spent some time studying it intensely, it's certain that you only know a fraction of the places where the program is written.
If it's helpful, programmers should imagine that it's written in C. At a glance you can tell what something's doing, but once you study it you can find UB all over the place and suddenly it's hard to say what the right answer is until you know the intricacies of the compiler and the target platform. You can't really determine the exact behavior without all that information that lives outside the code. Now, once you have all that, you can surely reason through it all. But how many people actually know all that, or even realize which parts they don't know?
"This is pretty straightforward" is a sure sign of someone who doesn't actually understand it well.
> These things are knowable
There are absolutely undefined, unknowable areas of law that are waiting on future SCOTUS decisions to be defined.
Heck, we can’t even rely on past SCOTUS decisions.
Even in extremely well-defined law like whether LEO’s have valid PC to search someone during a traffic stop, two different judges in the same district will disagree and appeals courts / state supreme courts can rule quite inconsistently.
That’s by definition not just undefined behavior but also non-deterministic results.
I'm serious. Pick any non-trivial issues of law, ask a world leading expert, and you'd very quickly hear the word "probably" somewhere. Less often than "it depends", but you'll hear those words often nonetheless.
If that's "knowable" to you, I guess it's knowable.
The behavior of C code is something that we can, in principle, reduce to semantics in a formal model we know how to describe the behavior of. Now, there's some issues getting there--the specification is more ambiguous than we'd like, and there's definitely certain behaviors that are very challenging to incorporate in a formal model (say, signal handlers). But even something like UB is something that we have good, well-understand models of what exactly it means to hit UB. At the end of the day, whether or not C code is correct, whether or not the compiler is correctly compiling the C code, is a question that has a clearly objective answer.
Law doesn't work like that. Laws are written and interpreted with the understanding that there is flexibility in the mater. If you compute the law and get an absurd result, then people are going to shrug and throw out the absurd result; rather different it is to a compiler where the absurdity is accepted as correct. As a result, there's not really an objective answer to whether or not something is legal, to understanding what will happen in a legal case, like there is to code.
This is partly because the law predates compilers and modern communication. Why should a crime get different sentences? Often because judges are humans and somehow that makes it okay to lock some people up for years longer than others.
And yet the sentencing guidelines are not binding on outcomes, in part because of the necessary flexibility in law. Sometimes you crunch the numbers and you get absurd results (SBF's fraud conviction is a good example I ran through myself), and so you need the flexibility to throw the algorithm out when the algorithm produces wrong results.
https://arxiv.org/pdf/2011.07966.pdf
Most law generally is non-monotonic. (See https://en.wikipedia.org/wiki/Non-monotonic_logic) The French tax code is one of the few exceptions.
There are parts of the tax code that mean different things in different parts of the US because of conflicting circuit court decisions that haven't made it to the Supreme Court.
Those questions all have discrete answers, including the much-misunderstood home office. The correct tax outcomes are very much deterministic, in the sense that the same inputs always result in the same outputs. It's simply that there are a lot of options to change the inputs (for example, choosing FIFO vs LIFO for stock sales, using an S-corp vs a sole proprietorship for a personal business).
For example, the home office deduction is only available to individuals who have a home office that is used exclusively for their individual business, not as an employee for someone else's business (the only exception being for flow-through entities where the taxpayer is a shareholder/partner). The "exclusive use" is meant in the all-or-nothing sense. Use your office computer after hours for games? The home office deduction no longer applies. Uses the office space to store personal documents, or really any other activity except for the business activity? The HOD no longer applies. Don't have any income from that business activity you claim are doing in the home office? The HOD no longer applies.
It's simply that enforcement is not deterministic, so people think they get away with a lot of positions that do not survive actual audits. Talk to an IRS agent that handles audits and you'll learn that a failed home office deduction claim is the #2 adjustment to the tax returns of white collar professionals.[1] At a relatively recent tax mixer, IRS agents from the Los Angeles branch office could only recall about a dozen cases in which the home office deduction actually survived an audit, out of thousands, and those taxpayers were extremely rigorous about following the rules to the letter (to the extent that all of them locked their home offices when they were not being used for work).
[1] The #1 reason for adjustments to the tax returns of white collar professionals is attempting to claim business expense deductions without matching business income to deduct against. Technically, the home office deduction is one of these deductions, which is why it is #2 and not #1.
Deterministic means that the results are not random, not that they are known at the time of the initial choice.
I suppose a dice roll or the motions of a butterfly are deterministic as well, if you have a full model capable of fully modeling the world.
That said, Intuit's actual business model is convincing millions of people that their taxes are so complicated they need to spend $60 on a program that is just copy-pasting numbers from one document to another.
People still pay accountants to do their very basic taxes and pay $200 for twenty minutes worth of work.
Why?
For the same reason paid software exists in this space - knowing you have someone else to blame.
As far as I understand it, a lot of this guidance can be/has been automated programmatically. I can see how LLMs can become useful for niche scenarios if you feed it *a LOT* of data as they become more accurate.
What most accountants call "loopholes" are actually just misunderstandings of the tax rules (e.g., the home office deduction, home business expense deductions, hiring family members being some of the biggest), and their clients usually end up paying penalties the IRS if they get audited.
When I did figure out what was wrong and asked if that made sense, it told me I was absolutely right though.
I think people are lucky the IRS fired all their employees this day and age so this work isn’t getting checked as much.
I have a formative story where a large industrial company was counting things for tax purposes using my software. Given the same data and same binary, the count was off by one depending on if it was running on Intel or AMD CPUs. They didn’t care so much what the count was, they just needed it to be the same value at all times in all places so they could defend it in an audit.
The inability to consistently reproduce the value was a bigger liability for tax purposes than small variances in accuracy that fell out of the process.
Also, yes the actual arithmetic at the end should be handled by deterministic code. I doubt anyone, including Intuit, thinks otherwise. But there's a ton of uses for LLMs before you get to 2+2 = 4, explaining concepts, document extraction, understanding the full financial picture, etc.
Kind of feels like you're criticizing a cartoonish idea of AI's place in their products.