"Extract a data-flow representation from a program based on its (unstructured) control-flow graph optionally using the data-centric RVSDG intermediate representation. The program can be assumed to have no side effects (purity), such that it only contributes to the production of final values. This work will however be used for further introspection of programs, and not for executing optimizing compiler passes"