(define-syntax fast-sum
(syntax-rules (iota)
((fast-sum (iota count start))
(+ 1
(apply - (map (lambda (x) (/ (* x (+ x 1)) 2))
(list (+ count (- start 1)) start)))))
((fast-sum e)
(apply + e))))
(define-syntax fast-sum
(syntax-rules (iota)
((fast-sum (iota count start))
(+ 1
(apply - (map (lambda (x) (/ (* x (+ x 1)) 2))
(list (+ count (- start 1)) start)))))
((fast-sum e)
(apply + e))))