anchor.diff:  (defun count-atoms1 (exp acc)
   	(if (null exp)
   			acc
  -			(foo (cdr exp)
  -					 (let ((1st (car exp)))
  -						 (cond ((null 1st) acc)
  -									 ((atom 1st) (1+ acc))
  -									 (t (foo 1st acc)))))))
  +			(count-atoms1 (cdr exp)
  +										(let ((1st (car exp)))
  +											(cond ((null 1st) acc)
  +														((atom 1st) (1+ acc))
  +														(t (count-atoms1 1st acc)))))))
  
positive.code: ;;;; -*- Mode: Lisp; Syntax: Common-Lisp -*-
  
  
  ;; 1.2 Write a function to exponentiate, or raise a number to an integer
  ;; power.
  
negative.code: 				((evenp n) (expt (power x (/ n 2)) 2))
  				(t (* x (power x (- n 1))))))
  
  ;; linear iteration: Θ(n) steps and Θ(n) space.
  (defun power1 (b n)
  	(if (= n 0)
  			1
  			(* b (power1 b (1- n)))))
  
  ;; linear tail recursion: Θ(n) steps and Θ(1) space.
  (defun power2 (b n)
  	(labels ((iter (b n p)
  						 (if (= n 0)
  								 p
  								 (iter b (1- n) (* b p)))))
  		(iter b n 1)))
  
  ;; log N tail recursion: Θ(logN) steps and Θ(1) space.
  (defun power3 (b n)
  	(flet ((square (b) (* b b)))
  		(cond ((= 0 n) 1)
  