Compile an Operation graph into a reusable execution plan.
This can be useful in the case where the function might need to be evaluated multiple times, as it will avoid
repeating initialisation and optimisation procedures.
The output nodes of the Operation graph.
A Plan that can be executed.