Suppose we have the following definition of a function ` powerb(x,n)`
that computes *x ^{n}* :

(defun powerb (x n) (if (= n 0) 1 (if (evenp n) (square (powerb x (/ n 2))) (* x (powerb x (- n 1))))))

If this is used with a constant argument ` n`, as is often the case,
the function can be partially evaluated into more efficient code:

(gldefun t3 ((x real)) (powerb x 5)) (glcp 't3) result type: REAL (LAMBDA (X) (* X (SQUARE (SQUARE X))))The recursive function calls and interpretation (