1:
(declare (flonum))
2:
3:
(define (make-Complex x y)
4: 1.96%
  (f64vector x y))
5:
6:
(define (Complex-real z)
7: 1.92%
  (f64vector-ref z 0))
8:
9:
(define (Complex-real-set! z value)
10: .58%
  (f64vector-set! z 0 value))
11:
12:
(define (Complex-imag z)
13: 1.63%
  (f64vector-ref z 1))
14:
15:
(define (Complex-imag-set! z value)
16: .55%
  (f64vector-set! z 1 value))
17:
18:
(define (Complex-negate z)
19:
  (make-Complex (- (Complex-real z))
20:
		(- (Complex-imag z))))
21:
22:
(define (Complex-magnitude z)
23: 1.12%
  (let ((r (Complex-real z))
24: 1.07%
	(i (Complex-imag z)))
25: 2.8%
    (sqrt (+ (* r r) (* i i)))))
26:
27:
(define (Complex-magnitude-squared z)
28:
  (let ((r (Complex-real z))
29:
	(i (Complex-imag z)))
30:
    (+ (* r r) (* i i))))
31:
32:
(declare (generic))