There doesn't seem to be a good in-depth academic resource for advanced compiler optimization. I've searched a lot and all the courses I found were introductory, the actual interesting techniques require diving deep into the source code of popular OSS compilers. I found that quite surprising.
It is possible that he did, but that his brain did not compel him to give it politically spicy prompts. However, I think that should be expected from a general audience. I am more curious of who they used as a test group to give this a once-over and a "looks good to me". There is no way it was representative of a wide public consumer base.
With all the spyware there is on a company’s laptop nowadays I wouldn’t even dare to think about querying such questions in an internal-only version of the AI.
Screw a test group, a test department, called QA, people who are paid to understand the system and how it works enough to evaluate if it's fully working or not and empowered to stop ship when it's catastrophically not working.
Maybe the wise choice is to change the path? That feeling of resignation, while a bitter pill to swallow, might be a good thing in the end. I used to beat myself over for not working hard and dedicating myself to my ideas, yet a few years down the line it became obvious the startups I wanted to build would have been made obsolete by other tech. I've dodged a few wasted years, a burnout or straight-up insanity right there. Trust your gut.
Why do something you are not enjoying? Life is short, it might end faster than you think. The people close to you can also disappear sooner than you think. Try to make the most of it. It's not all about making it big and being successful/rich.
Ten elephants would have a total of 32 legs if two of them are legless.
Analysis:
# Calculating the total number of legs for ten elephants, considering two of them are legless
# Number of legs each elephant normally has
legs_per_elephant = 4
# Total number of elephants
total_elephants = 10
# Number of legless elephants
legless_elephants = 2
# Total number of legs
# (Total elephants - Legless elephants) * Legs per elephant
total_legs = (total_elephants - legless_elephants) * legs_per_elephant
total_legs
Was this its raw response to the same query as in the OP? It seems odd it would provide a response using variables named with underscores, rather than using spaces, or more traditional algebraic notation (x/y/z).
ChatGPT (paid version at least) writes a quick python script in cases like these, and then executes it to get the result. For transparency, the script is shown in the output as well. Probably to avoid embarrassments like the ones we saw above.
That's just you showing that you clearly misunderstand. These aren't examples of fundamental problems, instead they are clear examples that these things are just autocomplete regardless of how many people think they are doing something more complex. It's not that getting the example correct is interesting, it's that getting it wrong is a clear sign of stupidity.
What are they using to benchmark single-threaded performance? I don't think it's good to state that without clarifying what is the task being run. You could have a benchmark that increments a number in register. Since add/increment runs in a single clock, a high frequency CPU (Pentium 4 at 3.8Ghz?) would win over a wide core with great memory bandwidth (M2 at 3.7Ghz). Technically, that's a greater single thread performance, but not really applicable to the real world.
If it's over a variety of tasks and/or in a task that's similar to real world computation, kudos to them!
Because the temporal factor is the hardest one to game. Thus a strong predictor of quality/spaminness. Spammers used to do churn and burn and rank in a month or so. This has been killed mid 2013.
Use distilled water. I bought a distilling machine just for this and my pm2.5 sensor barely moves. Used to peak up to 120 on tap water. Now it’s consistently under 2 and the air is humid.
Unfortunately, the original AMD64 back in 200x lacked a popcount, so most software built for PCs even today lacks any instances of the instruction. Means to get the instruction generated are finicky, non-portable, and often result unexpectedly in a function call, instead. E.g., without a "-m" option, Gcc and Clang will turn "__builtin_popcount()" into a function call. Likewise, "std::popcount()" and "std::bitset<>::count()". Always use at least "-mavx".