> And technically, most bugs are predictable in theory, they just aren't known ahead of time.
When we're talking about reliability, it doesn't matter whether a thing can be reliable in theory, it matters whether it's reliable in practice. Software is unreliable, humans are unreliable, LLMs are unreliable. To claim otherwise is just wishful thinking.
In fact in this case, it's not the known limitation of floating point numbers to blame: this Calculator application gives you the ability (submenu under View > Decimal Places) to choose a precision between 0 to 15 decimal places, and it will do rounding beyond that point. I think the default is 8.
The original screenshot shows a number with 13 decimal places, and if you set it at or above 13, then the calculation will come out correct.
The application doesn't really go out of its way to communicate this to the user. For the most part maybe it doesn't matter, but "user entering more decimal places than they'll get back" might be one thing an application might usefully highlight.
Sorry, but this annoys me. The claim might be false if I had made it after seeing your screenshot. But you don't know what I've seen in my life up to that point. The claim that all calculators are infallible would be false, but that's not the claim I made.
When a personal experience is cited, a valid counterargument would be "your experience is not representative," not "you are incorrect about your own experience."
Well if you haven't seen enough calculators to see one that can't add, a very common issue with floating point arithmetic on computers, you shouldn't offer your experience as an argument for anything other than that you haven't seen enough calculators.
Well, to make the claim you actually made, which is that you haven't seen a single calculator that was wrong, anywhere from zero to all of them. It's just that the "zero" end of that spectrum doesn't really tell us anything about calculators.
That's not a tautology. You said "programs are the most reliable, though far from 100%"; they're just telling you that your upper bound for well-made programs is too low.
RE: the calculator screenshot - it's still reliable because the same answer will be produced for the same inputs every time. And the behavior, though possibly confusing to the end user at times, is based on choices made in the design of the system (floating point vs integer representations, rounding/truncating behavior, etc). It's reliable deterministic logic all the way down.
> > Programs can be very close to 100% reliable when made well.
> This is a tautology.
No it's not. There are plenty of things that can't be 100% reliable no matter how well they're made. A perfect bridge is still going to break down and eventually fall apart. The best possible motion-activated light is going to have false positives and false negatives because the real world is messy. Light bulbs will burn out no matter how much care and effort goes into them.
In any case, unless you assert that programs are never made well, then your own statement disproves your previous statement that the reliability of programs is "far from 100%."
Plenty of software is extremely reliable in practice. It's just easy to forget about it because good, reliable software tends to be invisible.
> No it's not. There are plenty of things that can't be 100% reliable no matter how well they're made. A perfect bridge is still going to break down and eventually fall apart. The best possible motion-activated light is going to have false positives and false negatives because the real world is messy. Light bulbs will burn out no matter how much care and effort goes into them.
All these failure modes are known and predicable, at least statistically
This is a tautology.
> I've never seen a calculator come up with the wrong answer when adding two numbers.
https://imgz.org/i6XLg7Fz.png
> And technically, most bugs are predictable in theory, they just aren't known ahead of time.
When we're talking about reliability, it doesn't matter whether a thing can be reliable in theory, it matters whether it's reliable in practice. Software is unreliable, humans are unreliable, LLMs are unreliable. To claim otherwise is just wishful thinking.