SICP 1.3 Sum of Squares of two largest numbers
In my opinion this is too much code for such a simple task.

Assuming that you do not have a max function, you can define it in this way:

 (define (max x y)
   (if (&gt;= x y) x y))


or, if you cannot use if:

(define (max x y)
  (cond ((&gt;= x y) x)
        (#t y)))


Then, the function sosl could be defined as:

(define (sosl a b c)
  (if (&gt; a b) 
      (+ (square a) (square (max b c)))
      (+ (square b) (square (max a c)))))


or, again, if you need to use cond, as

(define (sosl a b c)
  (cond ((&gt; a b) (+ (square a) (square (max b c))))
        (#t (+ (square b) (square (max a c))))))