4 ms·
It is all very nice, but if your function has two floating point parameters you have 1.6e19 tests to do...
by sega_sai 6y ago
It is all very nice, but if your function has two floating point parameters you have 1.6e19 tests to do...
- andi999 6y agoSo it only needs 4 Billion times 90s, so is this like never in a million years? (actually it should be only around 12000 year, so you could use a cluster of 48000 Computer and be done in 3 month)
- Someone 6y agoDistribute it over every smartphone on the planet (about 4 billion), and the computations will be done in minutes (of course, that’s dependent on the function being tested). There will be orchestration overhead and transmission latency, but I guess one could get all results in one place in a day, if one had the ability to do the “run it on every smartphone” thing.
- thechao 6y agoI have worked at two companies where we brute-force checked binary floating point operators. It’s annoying, error prone, boring, and soooooo satisfying. The Holy Grail^TM is brute force F32-FMA. That one really requires a lot of thought, and can’t be reasonably brute-forced on anyone’s budget.
- ChrisLomont 6y agoThen you can prove your algorithm correct using proof libraries like Z3.
- formerly_proven 6y agoTotally doable. That's just a few hours using 100k cores.
- TheRealPomax 6y agoWorth it if your function is acutely fundamental to the operation of your software because your software runs everyone else's software. You buy some time on a compute cluster with 1024 cores and 4TB of ram, and off you go, after making sure you understand your own code and reduce that number back down to "no it isn't, because two arguments in a given space for fundamental maths operations, taken together, almost certainly don't require combinatorial testing" =)