Comment by tovej
20 hours ago
Oh, IEEE 754 double precision floating point accuracy? Rule of thumb is 17 digits. You will probably get issues related to catastrophic cancellation around x=0. As I said earlier the easiest solution is just to measure in this case. You don't really need to fuzz a sine approximation, you can scan over one period and compare against exactly calculated tables. I would probably add a cutoff around zero and move to a linear model if there is cancellation issues.
And if the measurement shows the approximation has too much floating point error, you can always move to Kahan sums or quad precision. This comes up fairly often.
If I really had to _prove_ formally an exact error bound, that would take me some time. This is not something you would be likely to have to do unless you're building software for airplanes, or some other safety critical domain. And an LLM would absolutely not be helpful in that case. You would use formal verification methods.
"Oh, IEEE 754 double precision floating point accuracy?"
Ok, so we do agree! You DON'T want to go back to a system where everyone had to do their own arithmetic just to make a program! That's fabulous. I'm glad that we're in agreement.
It's it SO MUCH NICER to just have the vagaries of one arithmetic we've already agreed upon to deal with, instead of needing to become an expert in numerical analysis just to get along with things.
Ok. Based on your answer, you don't understand very much about computers. Maybe it makes sense that you're leaning on LLMs this early in your career. But it will bite you eventually.
Every x86 computer uses IEEE 754 floats, that's what you, the programmer, needs to be able to reason about.
You still need to understand floating point errors and catastrophic cancellation. And simple techniques to deal with that, like summing from small to big, or using Kahan sums, or limiting the range where your approximation is used. You can use a library for some of these, but then you need to know what the library is doing, and how to access these functions.
But the problem seems to be that you have a skill issue, and the LLM will only make your skill issues worse. Stop leaning on it or you'll never be able to stand on your own.
I said this situation is reminiscent of how we took computer arithmetic out of the hands of programmers in the 80s and you gave me a big lecture about how easy it was to make your own sine function which concluded in you explaining that every computer (mostly) uses IEEE floats.
No shit.
What do you think we did in the 1980s to take computer arithmetic away from working programmers? We standardized computer arithmetic so instead of needing a numerical analyst on hand you just need to read that Goldberg article you’ll run off to Google now.
You live in the land of milk and honey and you dare lecture someone about effort. You have absolutely no clue what world we left behind, but you’re happy to talk about who is and isn’t learning.
2 replies →