Utility function is supposed to contain only terminal values. You’re not supposed to factor instrumental values into your utility function.
Utility functions are typically defined over expected futures. A feature of that future is how many seconds and calories you spent making decisions (and thus not doing other things). And so if a gamble will give you either zero or a hundred calories, but take fifty calories to recompute all of your plans that depend on whether or not you win the gamble, then it’s actually a gamble between −50 and 50 calories, not 0 and 100.
In short, utility functions should take terminal values as inputs, but those terminal values depend on instrumental values, and your utility function should respond to that dependence.
Utility functions are typically defined over expected futures. A feature of that future is how many seconds and calories you spent making decisions (and thus not doing other things). And so if a gamble will give you either zero or a hundred calories, but take fifty calories to recompute all of your plans that depend on whether or not you win the gamble, then it’s actually a gamble between −50 and 50 calories, not 0 and 100.
In short, utility functions should take terminal values as inputs, but those terminal values depend on instrumental values, and your utility function should respond to that dependence.