We need to take special care for generating costly input because basically, the backends re-calculates all the inputs every time a new task is called by the jug scheduler
so for now, I propose to delegate and encapsule costly input generation to the simulation function