(a) it makes it more difficult to verify programs
goto in no way can increase the running time or memory requirement of the program. It also doesn't contribute to longer machine code. But the use of goto can result in unstructured code and there can be blocks with multiple entry and exit points which can cause a nightmare for program verification.
goto is a branch condition its true but Branch condition cause stalls and then it results in longer running times.
but here we have to select most appropriate option and option b seems more generic not very much specific to question
but you see in goto statements control flow changes abruptly (its properly defined in loops) so its difficult to verify the program or simply predict the working of the program.
thats what i think it may have some corrections
Actually I think it solely depends on the situation . Time Complexity is a major criteria but what if there will be a scarcity of memory resources ?
then we need to focus on space complexity. no?
similarly in question the word "unrestricted" is used for a reason as unrestricted means difficulty in judging the flow of control.
now how a is a weak option ?