In what world the return value doesn't depends on 'a' in this code?
if (num < a) return num * num;
/*else*/ return num;
A control dependency is still a dependency