Simulation-based analyses of cyber-physical systems are becoming increasingly vital. Co-simulation is one such technique that enables the coupling of specialized simulation tools through an orchestration algorithm that dictates when, with which inputs, and how far each simulation tool should advance its corresponding subsystem. The result of a co-simulation is often sensitive to the orchestration algorithm. This algorithm should be designed based on the simulation tool's implementation to minimize the co-simulation error. The paper extends current graph-based approaches for generating implementation-aware simulation algorithms to cover complex co-simulation scenarios where step negotiation and algebraic loops are part of the simulation. We show how the generation takes place for different complex co-simulation scenarios. An implementation of the approach is available online.