1. A computer implemented method comprising: separating function instructions intermixed with control structure instructions from an original program into a list of the function instructions separate from the control structure instructions; removing duplicate function instructions from the list of function instructions to create a reduced list of function instructions; assigning to each function instruction in the reduced list of function instructions an address in at least one function memory where the corresponding function instruction is to be stored; generating a selection program made up of selection instructions in a sequencing order to preserve the function of the original program, the selection instructions comprising a function selection instruction formatted to identify an assigned address in the at least one function memory for programmably fetching the corresponding function instruction for execution; and utilizing the selection program and the reduced list of function instructions in place of the original program.