After each function is translated, both value and block maps are erased, which makes the current mapping of blockaddresses to llvm blocks broken - the patching happens only after *all* functions are translated. Simplify the overall mapping, update comments, variable names and fix the bug. --------- Co-authored-by: Christian Ulmann <christianulmann@gmail.com>