There was a competition held a while back called Decompetition (https://decompetition.io/) in the same spirit: given a bunch of compiled programs, write the source code that compiles to the same (or very close) binary.

Most languages/compilers were quite reasonable to work with. Swift had some issues where the line number of the source statement mattered (it would be integrated into inline error reporting routines), and compiled Nim code was just really hard to read. The brutal one was Golang: the register allocator seems to depend on the ordering of the local symbol table, meaning that changing the name of a variable could end up changing which registers got used for completely unrelated variables.

In any case, it was an interesting exercise which demonstrated that full, 1:1 decompilation is really possible. I'm super happy to see a proper use-case for this approach implemented here!

Matching decompilation is not only possible but the whole of Super Mario 64 has been decompiled with it, to the point that it can be ported natively to other platforms: https://github.com/n64decomp/sm64