(letrec ((= (lambda (x y) (if (sub x y) 0 1))) (retard (lambda (x y z) (if (= x z) 1 (if (= y z) 0 (retard (add x 1) (sub y 1) z))))) (<= (lambda (x y) (retard x x y))) (a (lambda (k x1 x2 x3 x4 x5) (letrec ((b (lambda () (set k (sub k 1)) (a k b x1 x2 x3 x4)))) (if (<= k 0) (add (x4) (x5)) (b))))) (test (lambda (x) (if (null x) nil (cons (a (car x) (lambda () 1) (lambda () -1) (lambda () -1) (lambda () 1) (lambda () 0)) (test (cdr x)))))) (range (lambda (x acc) (if (add x 1) (range (sub x 1) (cons x acc)) acc)))) (test (range 13 nil)))