(set! pcs-debug-mode 1)
(define (double x) (* 2 x))
(define (halve x) (/ x 2))
;dit is een recursieve versie
(define (fastMULTrec a b)
(cond ((= b 0) 0)
((even? b) (double (fastMULTrec a (halve b))))
(else (+ a (fastMULTrec a (- b 1))))))
(define (fastMULTiter a b)
(define (iter a b acc)
(cond ((= b 0) acc)
((even? b) (iter (double a) (halve b) acc))
(else (iter a (- b 1) (+ acc a)))))
(iter a b 0))