I'm reading Advanced FPGA Design and the first example, one of simply raising a number to the 3rd power, quickly diverges into various quite clever optimizations to make the valuation faster.
Now, personally, I'd argue that such minutae is best left to the computer, so my question is this: is supercompilation (synthetically combining program elements until an optimal algorithm is found) used when appled to HDL?
TBH, I always assumed that that's exactly what synthesis is: taking HDL code and making sure it runs in optimal time. But the book hints at that not being the case, and altering code to shorten the evaluation path actually makes a difference.