Computer numerical simulation is a different kind of shell game from AI. The only reason it's done is because most differential equations aren't solvable in the ordinary sense, so instead they're discretized and approximated. Zeno's paradox for the modern world. Since the discretization doesn't work out, they're then hacked to make the results look right. This is also why they always want more flops, because they believe that, if you just discretize finely enough, you'll eventually reach infinity (or infinitesimal).
This also should not fill you with hope for general AI.
This is proof of one thing: that our brains are nothing like digital computers as laid out by Turing and Church.
What I mean about compilers is, compiler optimizations are only valid if a particular bit of code rewriting does exactly the same thing under all conditions as what the human wrote. This is chiefly only possible if the code in question doesn't include any branches (if, loops, function calls). A section of code with no branches is called a basic block. Rust is special because it harshly constrains the kinds of programs you can write: another consequence of the halting problem is that, in general, you can't track pointer aliasing outside a basic block, but the Rust program constraints do make this possible. It just foists the intellectual load onto the programmer. This is also why Rust is far and away my favorite language; I respect the boldness of this play, and the benefits far outweigh the drawbacks.
To me, general AI means a computer program having at least the same capabilities as a human. You can go further down this rabbit hole and read about the question that spawned the halting problem, called the entscheidungsproblem (decision problem) to see that AI is actually more impossible than I let on.