tail-recursion opt in user-def call
fixed prog reload bug in tail-rec