[SCM] snd/master: Imported Upstream version 16.7

umlaeute at users.alioth.debian.org umlaeute at users.alioth.debian.org
Mon Aug 8 12:42:57 UTC 2016


The following commit has been merged in the master branch:
commit 595a8d637b81d45fe73f566b25d64cf8bca672c1
Author: IOhannes m zmölnig <zmoelnig at iem.at>
Date:   Thu Aug 4 10:52:15 2016 +0200

    Imported Upstream version 16.7

diff --git a/HISTORY.Snd b/HISTORY.Snd
index 65dc385..e434ad2 100644
--- a/HISTORY.Snd
+++ b/HISTORY.Snd
@@ -1,5 +1,6 @@
 Snd change log
 
+ 28-Jul:    Snd 16.7.
  14-Jun:    Snd 16.6.
  30-May:    snd-lint.scm, symbol takes any number of args.
  6-May:     Snd 16.5.
diff --git a/NEWS b/NEWS
index 1e813d7..ca62b9d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,11 +1,7 @@
-Snd 16.6.
+Snd 16.7.
 
-added snd-lint.scm (Snd extensions for lint)
+changed compute-string and compute-uniform-circular-string to vibrating-string, etc.
 
-s7's symbol function now takes any number of string args
-  these are all concatenated to form the new symbol name
-s7's make-vector no longer takes an optional fourth argument.
+checked: gtk 3.21.3|4, sbcl 1.3.7.
 
-checked: gtk 3.21.2, sbcl 1.3.6, Fedora 24
-
-Thanks!: Joe Python, Tito Latini.
\ No newline at end of file
+Thanks!: Carlos Carrasco
diff --git a/analog-filter.scm b/analog-filter.scm
index 33a5ef5..6c45264 100644
--- a/analog-filter.scm
+++ b/analog-filter.scm
@@ -34,15 +34,15 @@
 	      (set! sum (+ sum (* (h m) (x (- n m))))))
 	    (set! (y n) sum))))
       
-      (let* ((K (length A))
-	     (d (make-float-vector (+ 1 (* 2 K))))
-	     (a1 (make-float-vector (+ 1 (* 2 K)))))
-	(set! (a1 0) 1.0)
-	(do ((i 0 (+ i 1)))
-	    ((= i K))
-	  (conv 2 (A i) (+ 1 (* 2 i)) a1 d)
-	  (copy d a1 0 (+ 3 (* 2 i))))
-	a1))
+      (let ((K (length A)))
+	(let ((d (make-float-vector (+ 1 (* 2 K))))
+	      (a1 (make-float-vector (+ 1 (* 2 K)))))
+	  (set! (a1 0) 1.0)
+	  (do ((i 0 (+ i 1)))
+	      ((= i K))
+	    (conv 2 (A i) (+ 1 (* 2 i)) a1 d)
+	    (copy d a1 0 (+ 3 (* 2 i))))
+	  a1)))
     
     (do ((i 0 (+ i 2))
 	 (j 0 (+ j 3))
@@ -53,14 +53,14 @@
 	     (nt2 (num (+ j 2)))
 	     (dt0 (/ (den j) (* wc wc)))
 	     (dt1 (/ (den (+ j 1)) (* wc Q)))
-	     (dt2 (den (+ j 2)))
-	     (kd (+ dt0 dt1 dt2))
-	     (kn (+ nt0 nt1 nt2)))
-	(set! (c    k   ) (/ (- (* 2.0 dt2) (* 2.0 dt0)) kd))
-	(set! (c (+ k 1)) (/ (- (+ dt0 dt2) dt1) kd))
-	(set! (c (+ k 2)) (/ (- (* 2.0 nt2) (* 2.0 nt0)) kn))
-	(set! (c (+ k 3)) (/ (- (+ nt0 nt2) nt1) kn))
-	(set! g (* g (/ kn kd)))))
+	     (dt2 (den (+ j 2))))
+	(let ((kd (+ dt0 dt1 dt2))
+	      (kn (+ nt0 nt1 nt2)))
+	  (set! (c    k   ) (/ (- (* 2.0 dt2) (* 2.0 dt0)) kd))
+	  (set! (c (+ k 1)) (/ (- (+ dt0 dt2) dt1) kd))
+	  (set! (c (+ k 2)) (/ (- (* 2.0 nt2) (* 2.0 nt0)) kn))
+	  (set! (c (+ k 3)) (/ (- (+ nt0 nt2) nt1) kn))
+	  (set! g (* g (/ kn kd))))))
     
     (do ((a ())
 	 (b ())
@@ -96,19 +96,19 @@
 ;;; ---------------- Butterworth ----------------
 
 (define (butterworth-prototype n)
-  (let* ((len (/ (* n 3) 2))
-	 (num (make-float-vector len))
-	 (den (make-float-vector len)))
-    (do ((w 1 (+ w 2))
+  (let ((len (/ (* n 3) 2)))
+    (do ((num (make-float-vector len))
+	 (den (make-float-vector len))
+	 (w 1 (+ w 2))
 	 (j 0 (+ j 3)))
-	((>= w n))
+	((>= w n)
+	 (list num den)) 
       (set! (num j) 0.0)
       (set! (num (+ j 1)) 0.0)
       (set! (num (+ j 2)) 1.0)
       (set! (den j) 1.0)
       (set! (den (+ j 1)) (* 2.0 (cos (/ (* w pi) (* 2.0 n)))))
-      (set! (den (+ j 2)) 1.0))
-    (list num den)))
+      (set! (den (+ j 2)) 1.0))))
 
 (define make-butterworth-lowpass
   (let ((documentation "(make-butterworth-lowpass n fc) returns a lowpass Buttterworth filter; n = order, fc = cutoff \
@@ -116,8 +116,8 @@ freq (srate = 1.0): (make-butterworth-lowpass 8 .1)"))
     (lambda (n fc)
       ;; identical to make-butter-lp except for fc (freq->1.0) fixup
       (if (odd? n) (set! n (+ n 1)))
-      (let* ((proto (butterworth-prototype n))
-	     (coeffs (analog->digital n (car proto) (cadr proto) fc)))
+      (let ((coeffs (let ((proto (butterworth-prototype n)))
+		      (analog->digital n (car proto) (cadr proto) fc))))
 	(make-filter :xcoeffs (car coeffs) :ycoeffs (cadr coeffs))))))
 
 (define make-butterworth-highpass
@@ -125,9 +125,8 @@ freq (srate = 1.0): (make-butterworth-lowpass 8 .1)"))
 freq (srate = 1.0): (make-butterworth-highpass 8 .1)"))
     (lambda (n fc)
       (if (odd? n) (set! n (+ n 1)))
-      (let* ((proto (butterworth-prototype n))
-	     (hproto (prototype->highpass n proto))
-	     (coeffs (analog->digital n (car hproto) (cadr hproto) fc)))
+      (let ((coeffs (let ((hproto (prototype->highpass n (butterworth-prototype n))))
+		      (analog->digital n (car hproto) (cadr hproto) fc))))
 	(make-filter :xcoeffs (car coeffs) :ycoeffs (cadr coeffs))))))
 
 (define make-butterworth-bandpass
@@ -155,14 +154,17 @@ are (1.0-based) edge freqs: (make-butterworth-bandstop 4 .1 .2)"))
 ;;; ---------------- Chebyshev ---------------- 
 
 (define* (chebyshev-prototype n (ripple 1.0)) ; ripple in dB (positive)
-  (let* ((e (sqrt (- (expt 10.0 (* 0.1 ripple)) 1.0)))
-	 (v0 (/ (asinh (/ 1.0 e)) n))
-	 (len (/ (* n 3) 2))
+  (let ((len (/ (* n 3) 2)))
+    (do ((v0 (let ((e (sqrt (- (expt 10.0 (* 0.1 ripple)) 1.0))))
+	       (/ (asinh (/ 1.0 e)) n)))
 	 (num (make-float-vector len))
-	 (den (make-float-vector len)))
-    (do ((k 1.0 (+ k 2.0))
+	 (den (make-float-vector len))
+	 (k 1.0 (+ k 2.0))
 	 (j 0 (+ j 3)))
-	((>= k n))
+	((>= k n)
+	 (set! (num 2) (/ (expt 2.0 (- 2 n))
+			  (expt 3.2 (log ripple 10.0)))) ; whatever works...
+	 (list num den))
       (let ((u (- (* (sinh v0) (sin (/ (* k pi) (* 2.0 n))))))
 	    (w (* (cosh v0) (cos (/ (* k pi) (* 2.0 n))))))
 	(set! (num    j   ) 0.0)
@@ -170,18 +172,15 @@ are (1.0-based) edge freqs: (make-butterworth-bandstop 4 .1 .2)"))
 	(set! (num (+ j 2)) 1.0)
 	(set! (den    j   ) 1.0)
 	(set! (den (+ j 1)) (* -2.0 u))
-	(set! (den (+ j 2)) (+ (* u u) (* w w)))))
-    (set! (num 2) (/ (expt 2.0 (- 2 n))
-		     (expt 3.2 (log ripple 10.0)))) ; whatever works...
-    (list num den)))
+	(set! (den (+ j 2)) (+ (* u u) (* w w)))))))
 
 (define make-chebyshev-lowpass 
   (let ((documentation "(make-chebyshev-lowpass n fc (ripple 1.0)) returns a lowpass Chebyshev filter; n = order, \
 fc = cutoff freq (srate = 1.0): (make-chebyshev-lowpass 8 .1)"))
     (lambda* (n fc (ripple 1.0))
       (if (odd? n) (set! n (+ n 1)))
-      (let* ((proto (chebyshev-prototype n ripple))
-	     (coeffs (analog->digital n (car proto) (cadr proto) fc)))
+      (let ((coeffs (let ((proto (chebyshev-prototype n ripple)))
+		      (analog->digital n (car proto) (cadr proto) fc))))
 	(make-filter :xcoeffs (car coeffs) :ycoeffs (cadr coeffs))))))
 
 (define make-chebyshev-highpass 
@@ -189,9 +188,8 @@ fc = cutoff freq (srate = 1.0): (make-chebyshev-lowpass 8 .1)"))
 fc = cutoff freq (srate = 1.0): (make-chebyshev-highpass 8 .1 .01)"))
     (lambda* (n fc (ripple 1.0))
       (if (odd? n) (set! n (+ n 1)))
-      (let* ((proto (chebyshev-prototype n ripple))
-	     (hproto (prototype->highpass n proto))
-	     (coeffs (analog->digital n (car hproto) (cadr hproto) fc)))
+      (let ((coeffs (let ((hproto (prototype->highpass n (chebyshev-prototype n ripple))))
+		      (analog->digital n (car hproto) (cadr hproto) fc))))
 	(make-filter :xcoeffs (car coeffs) :ycoeffs (cadr coeffs))))))
 
 (define make-chebyshev-bandpass 
@@ -219,15 +217,17 @@ fl and fh = edge freqs (srate = 1.0): (make-chebyshev-bandstop 8 .1 .4 .01)"))
 ;;; ---------------- inverse Chebyshev ---------------- 
 
 (define* (inverse-chebyshev-prototype n (loss-dB 60.0)) ; stopband loss
-  (let* ((e (sqrt (/ 1.0 (- (expt 10.0 (* 0.1 loss-dB)) 1.0))))
-	 (v0 (/ (asinh (/ 1.0 e)) n))
-	 (len (/ (* n 3) 2))
+  (let ((len (/ (* n 3) 2)))
+    (do ((v0 (let ((e (sqrt (/ 1.0 (- (expt 10.0 (* 0.1 loss-dB)) 1.0)))))
+	       (/ (asinh (/ 1.0 e)) n)))
 	 (num (make-float-vector len))
-	 (den (make-float-vector len)))
-    (do ((pl 0.0)
+	 (den (make-float-vector len))
+	 (pl 0.0)
 	 (L 1.0 (+ L 2.0))
 	 (j 0 (+ j 3)))
-	((>= L n))
+	((>= L n)
+	 (list num den
+	       (expt 1.122 (- loss-dB)))) ; argh
       (let ((u (- (* (sinh v0) (sin (/ (* L pi) (* 2.0 n))))))
 	    (w (* (cosh v0) (cos (/ (* L pi) (* 2.0 n)))))
 	    (t (/ 1.0 (sin (/ (* (+ L pl) pi) (* 2.0 n))))))
@@ -236,9 +236,7 @@ fl and fh = edge freqs (srate = 1.0): (make-chebyshev-bandstop 8 .1 .4 .01)"))
 	(set! (num (+ j 2)) (* t t))
 	(set! (den    j   ) 1.0)
 	(set! (den (+ j 1)) (/ (* -2.0 u) (+ (* u u) (* w w))))
-	(set! (den (+ j 2)) (/ 1.0 (+ (* u u) (* w w))))))
-    (list num den
-	  (expt 1.122 (- loss-dB))))) ; argh
+	(set! (den (+ j 2)) (/ 1.0 (+ (* u u) (* w w))))))))
 
 (define make-inverse-chebyshev-lowpass 
   (let ((documentation "(make-inverse-chebyshev-lowpass n fc (loss-dB 60.0)) returns a lowpass inverse-Chebyshev filter; n = order, \
@@ -255,8 +253,8 @@ fc = cutoff freq (srate = 1.0): (make-inverse-chebyshev-highpass 10 .1 120)"))
     (lambda* (n fc (loss-dB 60.0))
       (if (odd? n) (set! n (+ n 1)))
       (let* ((proto (inverse-chebyshev-prototype n loss-dB))
-	     (hproto (prototype->highpass n proto))
-	     (coeffs (analog->digital n (car hproto) (cadr hproto) fc)))
+	     (coeffs (let ((hproto (prototype->highpass n proto)))
+		       (analog->digital n (car hproto) (cadr hproto) fc))))
 	(make-filter :xcoeffs (float-vector-scale! (car coeffs) (caddr proto)) :ycoeffs (cadr coeffs))))))
 
 (define make-inverse-chebyshev-bandpass 
@@ -286,11 +284,10 @@ fl and fh are edge freqs (srate=1.0): (make-inverse-chebyshev-bandstop 8 .1 .4 9
   (define (bessel-i n)
 
     (define (fact n)
-      (let ((x 1))
-	(do ((i 2 (+ i 1)))
-	    ((> i n))
-	  (set! x (* x i)))
-	x))
+      (do ((x 1)
+	   (i 2 (+ i 1)))
+	  ((> i n) x)
+	(set! x (* x i))))
     ;; this form overflows if we don't have bignums
     ;;  (define (bessel-i n)
     ;;    (let ((cs (make-float-vector (+ n 1))))
@@ -312,40 +309,39 @@ fl and fh are edge freqs (srate=1.0): (make-inverse-chebyshev-bandstop 8 .1 .4 9
 	   (set! (cs i) val))   
 	(set! val (* val f)))))
   
-  (let* ((len (/ (* n 3) 2))
-	 (num (make-float-vector len))
-	 (den (make-float-vector len))
-	 (b2 (bessel-i n)))
-    (let ((p (gsl-roots (copy b2 (make-vector (length b2))))))
-      (do ((i 0 (+ i 1)))
-	  ((= i n))
-	(set! (p i) (/ (p i) (expt (b2 0) (/ 1.0 n)))))
-      (do ((j 0 (+ j 3))
-	   (i 0 (+ i 2)))
-	  ((>= i n))
-	(set! (num    j   ) 0.0)
-	(set! (num (+ j 1)) 0.0)
-	(set! (num (+ j 2)) 1.0)
-	(set! (den    j   ) 1.0)
-	(set! (den (+ j 1)) (* -2.0 (real-part (p i))))
-	(set! (den (+ j 2)) (real-part (* (p i) (p (+ i 1)))))))
-    (list num den)))
+  (let ((len (/ (* n 3) 2)))
+    (let ((num (make-float-vector len))
+	  (den (make-float-vector len))
+	  (b2 (bessel-i n)))
+      (let ((p (gsl-roots (copy b2 (make-vector (length b2))))))
+	(do ((i 0 (+ i 1)))
+	    ((= i n))
+	  (set! (p i) (/ (p i) (expt (b2 0) (/ 1.0 n)))))
+	(do ((j 0 (+ j 3))
+	     (i 0 (+ i 2)))
+	    ((>= i n))
+	  (set! (num    j   ) 0.0)
+	  (set! (num (+ j 1)) 0.0)
+	  (set! (num (+ j 2)) 1.0)
+	  (set! (den    j   ) 1.0)
+	  (set! (den (+ j 1)) (* -2.0 (real-part (p i))))
+	  (set! (den (+ j 2)) (real-part (* (p i) (p (+ i 1)))))))
+      (list num den))))
 
 (define make-bessel-lowpass 
   (let ((documentation "(make-bessel-lowpass n fc) returns a lowpass Bessel filter; n = order, fc = cutoff freq (srate = 1.0): (make-bessel-lowpass 4 .1)"))
     (lambda (n fc)
       (if (odd? n) (set! n (+ n 1)))
-      (let* ((proto (bessel-prototype n))
-	     (coeffs (analog->digital n (car proto) (cadr proto) fc)))
+      (let ((coeffs (let ((proto (bessel-prototype n)))
+		      (analog->digital n (car proto) (cadr proto) fc))))
 	(make-filter :xcoeffs (car coeffs) :ycoeffs (cadr coeffs))))))
 
 (define make-bessel-highpass 
   (let ((documentation "(make-bessel-highpass n fc) returns a highpass Bessel filter; n = order, fc = cutoff freq (srate = 1.0): (make-bessel-highpass 8 .1)"))
     (lambda* (n fc)
       (if (odd? n) (set! n (+ n 1)))
-      (let* ((proto (bessel-prototype n))
-	     (hproto (prototype->highpass n proto))
-	     (coeffs (analog->digital n (car hproto) (cadr hproto) fc)))
+      (let ((coeffs (let ((hproto (prototype->highpass n (bessel-prototype n))))
+		      (analog->digital n (car hproto) (cadr hproto) fc))))
 	(make-filter :xcoeffs (car coeffs) :ycoeffs (cadr coeffs))))))
 
 (define make-bessel-bandpass 
@@ -390,8 +386,8 @@ fl and fh are edge freqs (srate=1.0): (make-inverse-chebyshev-bandstop 8 .1 .4 9
 	    (if (< ft fx)
 		(begin
 		  (set! fx ft)
-		  (set! xmax (if (< j (- n 1)) (x (+ j 1)) (x (- n 1))))
-		  (set! xmin (if (> j 0) (x (- j 1)) (x 0))))))))
+		  (set! xmax (x (if (< j (- n 1)) (+ j 1) (- n 1))))
+		  (set! xmin (x (if (> j 0) (- j 1) 0))))))))
       (/ (+ xmax xmin) 2.0)))
   
   (define (findm m arg1 arg2)
@@ -401,59 +397,57 @@ fl and fh are edge freqs (srate=1.0): (make-inverse-chebyshev-bandstop 8 .1 .4 9
     (let ((vals (gsl-ellipj u arg1)))
       (abs (- arg2 (/ (car vals) (cadr vals))))))
   
-  (let* ((e (sqrt (- (expt 10.0 (* 0.1 ripple)) 1.0)))
-	 (k1 (/ e (sqrt (- (expt 10.0 (* 0.1 loss-dB)) 1.0))))
-	 (k1p (sqrt (- 1.0 (* k1 k1))))
-	 (m 0.0)
-	 (k 0.0)
-	 (len (/ (* n 3) 2))
-	 (num (make-float-vector len))
-	 (den (make-float-vector len))
-	 (g 1.0))
-    (let ((eps 0.0000001)
-	  (kr 0.0))
-      (if (> (abs (- 1.0 (* k1p k1p))) eps)
-	  (set! kr (* n (/ (gsl-ellipk (* k1 k1)) (gsl-ellipk (* k1p k1p))))))
-      (set! m (minimize-function findm 0.001 0.999 kr)))
-    (set! k (gsl-ellipk m))
-    (let ((cv (make-float-vector (floor (* 0.5 3 (+ n 1))))))
-      (do ((i 0 (+ i 2))
-	   (j 0 (+ j 3)))
-	  ((>= i n))
-	(let* ((vals (gsl-ellipj (/ (* (+ i 1) k) (* 1.0 n)) m))
-	       (sn (car vals))
-	       (cn (cadr vals))
-	       (dn (caddr vals)))
-	  (set! (cv    j   ) sn)
-	  (set! (cv (+ j 1)) cn)
-	  (set! (cv (+ j 2)) dn)
-	  (let* ((z (/ 0.0-i (* (sqrt m) sn)))
-		 (pz (real-part (* z (complex (real-part z) (- (imag-part z)))))))
-	    (set! g (/ g pz))
-	    (set! (num    j   ) 1.0)
-	    (set! (num (+ j 1)) (* -2.0 (real-part z)))
-	    (set! (num (+ j 2)) pz))))
-      (let* ((minf (minimize-function findv 0.0 (/ 1.0 e) (* k1p k1p) (/ 1.0 e)))
-	     (v0 (/ (* k minf)
-		    (* n (gsl-ellipk (* k k1)))))
-	     (vals (gsl-ellipj v0 (- 1.0 m)))
-	     (sn (car vals))
-	     (cn (cadr vals))
-	     (dn (caddr vals)))
-	(do ((i 0 (+ i 2))
-	     (j 0 (+ j 3)))
-	    ((>= i n))
-	  (let* ((p (/ (- (+ (* (cv (+ j 1)) (cv (+ j 2)) sn cn)
-			     (* 0.0+i (cv j) dn)))
-		       (- 1.0 (* (cv (+ j 2)) sn
-				 (cv (+ j 2)) sn))))
-		 (pp (real-part (* p (complex (real-part p) (- (imag-part p)))))))
-	    (set! g (* g pp))
-	    (set! (den    j   ) 1.0)
-	    (set! (den (+ j 1)) (* -2.0 (real-part p)))
-	    (set! (den (+ j 2)) pp)))))
-    (set! g (abs (/ g (sqrt (+ 1.0 (* e e))))))
-    (list num den g)))
+  (let ((e (sqrt (- (expt 10.0 (* 0.1 ripple)) 1.0))))
+    (let ((k1 (/ e (sqrt (- (expt 10.0 (* 0.1 loss-dB)) 1.0))))
+	  (len (/ (* n 3) 2)))
+      (let ((k1p (sqrt (- 1.0 (* k1 k1))))
+	    (m 0.0)
+	    (num (make-float-vector len))
+	    (den (make-float-vector len))
+	    (g 1.0))
+	(let ((eps 0.0000001)
+	      (kr 0.0))
+	  (if (> (abs (- 1.0 (* k1p k1p))) eps)
+	      (set! kr (* n (/ (gsl-ellipk (* k1 k1)) (gsl-ellipk (* k1p k1p))))))
+	  (set! m (minimize-function findm 0.001 0.999 kr)))
+	(let ((k (gsl-ellipk m))
+	      (cv (make-float-vector (floor (* 0.5 3 (+ n 1))))))
+	  (do ((i 0 (+ i 2))
+	       (j 0 (+ j 3)))
+	      ((>= i n))
+	    (let ((vals (gsl-ellipj (/ (* (+ i 1) k) (* 1.0 n)) m)))
+	      (let ((sn (car vals))
+		    (cn (cadr vals))
+		    (dn (caddr vals)))
+		(set! (cv    j   ) sn)
+		(set! (cv (+ j 1)) cn)
+		(set! (cv (+ j 2)) dn)
+		(let* ((z (/ 0.0-i (* (sqrt m) sn)))
+		       (pz (real-part (* z (complex (real-part z) (- (imag-part z)))))))
+		  (set! g (/ g pz))
+		  (set! (num    j   ) 1.0)
+		  (set! (num (+ j 1)) (* -2.0 (real-part z)))
+		  (set! (num (+ j 2)) pz)))))
+	  (let ((vals (let ((v0 (let ((minf (minimize-function findv 0.0 (/ 1.0 e) (* k1p k1p) (/ 1.0 e))))
+				  (/ (* k minf)
+				     (* n (gsl-ellipk (* k k1)))))))
+			(gsl-ellipj v0 (- 1.0 m)))))
+	    (do ((sn (car vals))
+		 (cn (cadr vals))
+		 (dn (caddr vals))
+		 (i 0 (+ i 2))
+		 (j 0 (+ j 3)))
+		((>= i n))
+	      (let* ((p (/ (- (+ (* (cv (+ j 1)) (cv (+ j 2)) sn cn)
+				 (* 0.0+i (cv j) dn)))
+			   (- 1.0 (* (cv (+ j 2)) sn
+				     (cv (+ j 2)) sn))))
+		     (pp (real-part (* p (complex (real-part p) (- (imag-part p)))))))
+		(set! g (* g pp))
+		(set! (den    j   ) 1.0)
+		(set! (den (+ j 1)) (* -2.0 (real-part p)))
+		(set! (den (+ j 2)) pp)))))
+	(list num den (abs (/ g (sqrt (+ 1.0 (* e e))))))))))
 
 (define make-elliptic-lowpass 
   (let ((documentation "(make-elliptic-lowpass n fc (ripple 1.0) (loss-dB 60.0)) returns a lowpass elliptic filter; n = order, \
@@ -470,8 +464,8 @@ fc = cutoff freq (srate = 1.0): (make-elliptic-highpass 8 .25 .01 90)"))
     (lambda* (n fc (ripple 1.0) (loss-dB 60.0))
       (if (odd? n) (set! n (+ n 1)))
       (let* ((proto (elliptic-prototype n ripple loss-dB))
-	     (hproto (prototype->highpass n proto))
-	     (coeffs (analog->digital n (car hproto) (cadr hproto) fc)))
+	     (coeffs (let ((hproto (prototype->highpass n proto)))
+		       (analog->digital n (car hproto) (cadr hproto) fc))))
 	(make-filter :xcoeffs (float-vector-scale! (car coeffs) (caddr proto)) :ycoeffs (cadr coeffs))))))
 
 (define make-elliptic-bandpass 
diff --git a/animals.scm b/animals.scm
index d76a69f..c7ff644 100644
--- a/animals.scm
+++ b/animals.scm
@@ -1436,13 +1436,13 @@
 (defanimal (green-toad beg dur amp)
   ;; rocky 31 1
   ;;  (an experiment with wave-train in place of pulsed env)
-  (let* ((wave-len 256)
-	 (pulse (let ((v (make-float-vector wave-len))
+  (let ((pulse (let* ((wave-len 256)
+		      (v (make-float-vector wave-len))
 		      (pulse-ampf (make-env '(0.000 0.000 0.063 0.312 0.277 0.937 0.405 1.000 0.617 0.696 0.929 0.146 2.000 0.000) :length wave-len)))
-		  (do ((i 0 (+ i 1)))
-		      ((= i wave-len))
-		    (set! (v i) (env pulse-ampf)))
-		  v)))
+		 (do ((i 0 (+ i 1)))
+		     ((= i wave-len))
+		   (set! (v i) (env pulse-ampf)))
+		 v)))
     (let ((start (seconds->samples beg))
 	  (stop (seconds->samples (+ beg dur)))
 	  (ampf (make-env (list 0 0  .2 .9  .3 .7  .4 1  (max .5 (- dur .01)) 1  (max .51 dur) 0) :duration dur :scaler amp))
@@ -2506,9 +2506,6 @@
 	  (frq-envs (make-vector 10 #f))
 	  (gen1 (make-oscil))
 	  (gen2 (make-oscil))
-	  (peep 0)
-	  (peep-dur 0)
-	  (peep-start 0)
 	  (durs (let ((v (make-vector 10 0.0)))
 		  (do ((i 0 (+ i 1)))
 		      ((= i 10))
@@ -2545,26 +2542,26 @@
 				       :scaler (hz->radians (- (high-frqs i) (low-frqs i))) 
 				       :offset (hz->radians (low-frqs i))
 				       :duration (durs i)))))
-      (set! peep-dur (seconds->samples (durs 0)))
-      (set! peep-start (+ start (seconds->samples (begs 0))))
-
       (call-with-exit
        (lambda (done)
-	 (do ((i peep-start peep-start))
-	     ((>= i stop))
-	   (let ((fe (frq-envs peep))
-		 (ae (amp-envs peep))
-		 (reset-stop (min stop (+ i peep-dur))))
-	     (do ((k i (+ k 1)))
-		 ((= k reset-stop))
-	       (let ((frq (+ (env fe) (rand-interp rnd))))
-		 (outa k (* (env ae)
-			    (oscil gen1 frq 
-				   (* .03 (oscil gen2 (* 2.0 frq)))))))))
-	   (set! peep (+ peep 1))
-	   (if (>= peep 10) (done))
-	   (set! peep-start (+ start (seconds->samples (begs peep))))
-	   (set! peep-dur (seconds->samples (durs peep)))))))))
+	 (let ((peep 0)
+	       (peep-dur (seconds->samples (durs 0)))
+	       (peep-start (+ start (seconds->samples (begs 0)))))
+	   (do ((i peep-start peep-start))
+	       ((>= i stop))
+	     (let ((fe (frq-envs peep))
+		   (ae (amp-envs peep))
+		   (reset-stop (min stop (+ i peep-dur))))
+	       (do ((k i (+ k 1)))
+		   ((= k reset-stop))
+		 (let ((frq (+ (env fe) (rand-interp rnd))))
+		   (outa k (* (env ae)
+			      (oscil gen1 frq 
+				     (* .03 (oscil gen2 (* 2.0 frq)))))))))
+	     (set! peep (+ peep 1))
+	     (if (>= peep 10) (done))
+	     (set! peep-start (+ start (seconds->samples (begs peep))))
+	     (set! peep-dur (seconds->samples (durs peep))))))))))
 
 
 ;; (with-sound (:play #t) (fox-sparrow 0 3 .25))
@@ -2931,10 +2928,10 @@
   ;; -------- 
   (savannah-1 beg (* amp .21))
   (savannah-1 (+ beg .35) (* amp .45))
-  (savannah-1 (+ beg .35 .28) (* amp .51))
-  (savannah-1 (+ beg .35 .28 .24) (* amp .64))
-  (savannah-1 (+ beg .35 .28 .24 .26) amp)
-  (savannah-1 (+ beg .35 .28 .24 .26 .17) amp)
+  (savannah-1 (+ beg .63) (* amp .51))
+  (savannah-1 (+ beg .87) (* amp .64))
+  (savannah-1 (+ beg 1.13) amp)
+  (savannah-1 (+ beg 1.3) amp)
   
   (savannah-4 (+ .97 beg) (* amp .21))
   
@@ -8925,31 +8922,31 @@
 		     (polywave gen1 (+ (env frqf1)
 				       (* (env vibf) (oscil vib))))))))))
   
-  (let ((main-ampf '(0.000 0.000 0.321 0.215 0.679 0.569 0.826 0.992 0.874 1.000 1.000 0.000))
-	(main-frqf '(0.000 0.228 0.795 0.210 0.816 0.235 0.827 0.199 0.846 0.217 0.882 0.181 1.000 0.206))
-	(other-ampf '(0.000 0.000 0.139 0.356 0.541 0.652 0.766 0.838 0.834 1.000 0.932 0.257 1.000 0.000)))
-    
-    (black-throated-blue-warbler-1 beg1 .053 (* .2 amp1) 
-				   '(0.000 0.000 0.017 0.079 0.082 0.142 0.142 0.122 0.199 0.213 0.237 0.150 0.291 0.201 
-					   0.317 0.102 0.352 0.197 0.395 0.248 0.415 0.201 0.435 0.335 0.468 0.323 0.488 0.429 
-					   0.514 0.350 0.581 0.870 0.616 0.583 0.678 0.697 0.709 0.618 0.752 1.000 0.801 0.350 
-					   0.815 0.295 0.838 0.500 0.895 0.197 0.911 0.366 0.929 0.220 0.955 0.248 0.972 0.134 
-					   0.987 0.197 1.000 0.000)
-				   22000 
-				   '(0.000 0.222 0.038 0.204 0.099 0.208 0.134 0.197 0.205 0.208 0.244 0.186 0.288 0.211 
-					   0.336 0.194 0.382 0.201 0.421 0.190 0.475 0.215 0.511 0.190 0.563 0.208 0.613 0.190
-					   0.656 0.208 0.695 0.194 0.755 0.194 1.000 0.133)
-				   10)
-    
-    (black-throated-blue-warbler-1 (+ beg1 .156) .11 (* .4 amp1) main-ampf 20000 main-frqf 100)
-    (black-throated-blue-warbler-1 (+ beg1 .33) .135 (* .6 amp1) main-ampf 21000 main-frqf 200)
-    (black-throated-blue-warbler-1 (+ beg1 .33) .135 (* .6 amp1) main-ampf 22000 main-frqf 200)
-    (black-throated-blue-warbler-1 (+ beg1 .51) .175 amp1 other-ampf 22400.0 main-frqf 200)
-    (black-throated-blue-warbler-1 (+ beg1 .72) .152 amp1 other-ampf 23000.0 main-frqf 200)
-    
-    (black-throated-blue-warbler-1 (+ beg1 .94) .23 (* .5 amp1) 
-				   '(0.000 0.000 0.022 0.300 0.067 0.788 0.191 0.919 0.331 0.958 0.581 1.000 0.805 0.946 0.929 0.773 1.000 0.000)
-				   5400.0 '(0 1 1 1) 400)))
+  (black-throated-blue-warbler-1 beg1 .053 (* .2 amp1) 
+				 '(0.000 0.000 0.017 0.079 0.082 0.142 0.142 0.122 0.199 0.213 0.237 0.150 0.291 0.201 
+					 0.317 0.102 0.352 0.197 0.395 0.248 0.415 0.201 0.435 0.335 0.468 0.323 0.488 0.429 
+					 0.514 0.350 0.581 0.870 0.616 0.583 0.678 0.697 0.709 0.618 0.752 1.000 0.801 0.350 
+					 0.815 0.295 0.838 0.500 0.895 0.197 0.911 0.366 0.929 0.220 0.955 0.248 0.972 0.134 
+					 0.987 0.197 1.000 0.000)
+				 22000 
+				 '(0.000 0.222 0.038 0.204 0.099 0.208 0.134 0.197 0.205 0.208 0.244 0.186 0.288 0.211 
+					 0.336 0.194 0.382 0.201 0.421 0.190 0.475 0.215 0.511 0.190 0.563 0.208 0.613 0.190
+					 0.656 0.208 0.695 0.194 0.755 0.194 1.000 0.133)
+				 10)
+  
+  (let ((main-frqf '(0.000 0.228 0.795 0.210 0.816 0.235 0.827 0.199 0.846 0.217 0.882 0.181 1.000 0.206)))
+    (let ((main-ampf '(0.000 0.000 0.321 0.215 0.679 0.569 0.826 0.992 0.874 1.000 1.000 0.000)))
+      (black-throated-blue-warbler-1 (+ beg1 .156) .11 (* .4 amp1) main-ampf 20000 main-frqf 100)
+      (black-throated-blue-warbler-1 (+ beg1 .33) .135 (* .6 amp1) main-ampf 21000 main-frqf 200)
+      (black-throated-blue-warbler-1 (+ beg1 .33) .135 (* .6 amp1) main-ampf 22000 main-frqf 200))
+
+    (let ((other-ampf '(0.000 0.000 0.139 0.356 0.541 0.652 0.766 0.838 0.834 1.000 0.932 0.257 1.000 0.000)))
+      (black-throated-blue-warbler-1 (+ beg1 .51) .175 amp1 other-ampf 22400.0 main-frqf 200)
+      (black-throated-blue-warbler-1 (+ beg1 .72) .152 amp1 other-ampf 23000.0 main-frqf 200)))
+  
+  (black-throated-blue-warbler-1 (+ beg1 .94) .23 (* .5 amp1) 
+				 '(0.000 0.000 0.022 0.300 0.067 0.788 0.191 0.919 0.331 0.958 0.581 1.000 0.805 0.946 0.929 0.773 1.000 0.000)
+				 5400.0 '(0 1 1 1) 400))
 
 ;; (with-sound (:play #t) (black-throated-blue-warbler 0 .5))
 
@@ -10689,7 +10686,7 @@
 ;;; ================ calling-all-animals ================
 
 (define* (calling-all-frogs (beg 0.0) (spacing 0.0))
-  (plains-spadefoot        (+ beg 0) 0.25)             (set! beg (+ beg spacing))
+  (plains-spadefoot           beg    0.25)             (set! beg (+ beg spacing))
   (barking-tree-frog       (+ beg 1) 0.25)             (set! beg (+ beg spacing))
   (western-toad            (+ beg 1.5) 2 0.25)         (set! beg (+ beg spacing))
   (southwestern-toad       (+ beg 4) 2 0.25)           (set! beg (+ beg spacing))
@@ -10724,7 +10721,7 @@
 
 
 (define* (calling-all-insects (beg 0.0) (spacing 0.0))
-  (mosquito                    (+ beg 0) 5 560 0.2)    (set! beg (+ beg spacing))
+  (mosquito                       beg    5 560 0.2)    (set! beg (+ beg spacing))
   (mosquito                    (+ beg 1) 3 880 0.05)   (set! beg (+ beg spacing))
   (broad-winged-tree-cricket   (+ beg 5.5) 2.0 0.2)    (set! beg (+ beg spacing))
   (long-spurred-meadow-katydid (+ beg 8) 0.5)          (set! beg (+ beg spacing))
@@ -10752,7 +10749,7 @@
 
 
 (define* (calling-all-birds (beg 0.0) (spacing .25)) 
-  (ruffed-grouse                 (+ beg 0.0) 0.5)        (set! beg (+ beg spacing))
+  (ruffed-grouse                    beg       0.5)       (set! beg (+ beg spacing))
   (eastern-wood-pewee-1          (+ beg 11.0) 0.25)      (set! beg (+ beg spacing))
   (eastern-wood-pewee-2          (+ beg 12.5) 0.25)      (set! beg (+ beg spacing))
   (field-sparrow                 (+ beg 14.0) 0.25)      (set! beg (+ beg spacing))
diff --git a/autosave.scm b/autosave.scm
index 2d78052..f17e78b 100644
--- a/autosave.scm
+++ b/autosave.scm
@@ -48,7 +48,7 @@
 	(if auto-saving
 	    (begin
 	      (for-each (lambda (snd)
-			  (if (positive? (or (sound-property 'auto-save snd) 0))
+			  (if (cond ((sound-property 'auto-save snd) => positive?) (else #f))
 			      (let ((save-name (auto-save-temp-name snd)))
 				(status-report (string-append "auto-saving as " save-name "...") snd)
 				(in 3000 (lambda () (status-report "" snd)))
diff --git a/bess.scm b/bess.scm
index 6cc66c3..346f1cf 100644
--- a/bess.scm
+++ b/bess.scm
@@ -79,22 +79,22 @@
 						      XmNorientation      XmHORIZONTAL
 						      XmNbackground       *position-color*)))
 	     ;; amp
-	     (amp (XtCreateManagedWidget "amp:" xmLabelWidgetClass form
-					 (list XmNleftAttachment   XmATTACH_FORM
-					       XmNbottomAttachment XmATTACH_NONE
-					       XmNtopAttachment    XmATTACH_WIDGET
-					       XmNtopWidget        carrier
-					       XmNrightAttachment  XmATTACH_NONE
-					       XmNrecomputeSize    #f
-					       XmNbackground       white)))
 	     (amp-label (XtCreateManagedWidget "label" xmLabelWidgetClass form
-					       (list XmNleftAttachment   XmATTACH_WIDGET
-						     XmNleftWidget       amp
-						     XmNbottomAttachment XmATTACH_NONE
-						     XmNtopAttachment    XmATTACH_OPPOSITE_WIDGET
-						     XmNtopWidget        amp
-						     XmNrightAttachment  XmATTACH_NONE
-						     XmNbackground       white)))
+					       (let ((amp (XtCreateManagedWidget "amp:" xmLabelWidgetClass form
+										 (list XmNleftAttachment   XmATTACH_FORM
+										       XmNbottomAttachment XmATTACH_NONE
+										       XmNtopAttachment    XmATTACH_WIDGET
+										       XmNtopWidget        carrier
+										       XmNrightAttachment  XmATTACH_NONE
+										       XmNrecomputeSize    #f
+										       XmNbackground       white))))
+						 (list XmNleftAttachment   XmATTACH_WIDGET
+						       XmNleftWidget       amp
+						       XmNbottomAttachment XmATTACH_NONE
+						       XmNtopAttachment    XmATTACH_OPPOSITE_WIDGET
+						       XmNtopWidget        amp
+						       XmNrightAttachment  XmATTACH_NONE
+						       XmNbackground       white))))
 	     (amp-scale (XtCreateManagedWidget "amp" xmScaleWidgetClass form
 					       (list XmNleftAttachment   XmATTACH_WIDGET
 						     XmNleftWidget       amp-label
@@ -106,22 +106,22 @@
 						     XmNorientation      XmHORIZONTAL
 						     XmNbackground       *position-color*)))
 	     ;; fm index
-	     (fm-index (XtCreateManagedWidget "fm index:" xmLabelWidgetClass form
-					      (list XmNleftAttachment   XmATTACH_FORM
-						    XmNbottomAttachment XmATTACH_NONE
-						    XmNtopAttachment    XmATTACH_WIDGET
-						    XmNtopWidget        amp-scale
-						    XmNrightAttachment  XmATTACH_NONE
-						    XmNrecomputeSize    #f
-						    XmNbackground       white)))
 	     (fm-label (XtCreateManagedWidget "label" xmLabelWidgetClass form
-					      (list XmNleftAttachment   XmATTACH_WIDGET
-						    XmNleftWidget       fm-index
-						    XmNbottomAttachment XmATTACH_NONE
-						    XmNtopAttachment    XmATTACH_OPPOSITE_WIDGET
-						    XmNtopWidget        fm-index
-						    XmNrightAttachment  XmATTACH_NONE
-						    XmNbackground       white)))
+					      (let ((fm-index (XtCreateManagedWidget "fm index:" xmLabelWidgetClass form
+										     (list XmNleftAttachment   XmATTACH_FORM
+											   XmNbottomAttachment XmATTACH_NONE
+											   XmNtopAttachment    XmATTACH_WIDGET
+											   XmNtopWidget        amp-scale
+											   XmNrightAttachment  XmATTACH_NONE
+											   XmNrecomputeSize    #f
+											   XmNbackground       white))))
+						(list XmNleftAttachment   XmATTACH_WIDGET
+						      XmNleftWidget       fm-index
+						      XmNbottomAttachment XmATTACH_NONE
+						      XmNtopAttachment    XmATTACH_OPPOSITE_WIDGET
+						      XmNtopWidget        fm-index
+						      XmNrightAttachment  XmATTACH_NONE
+						      XmNbackground       white))))
 	     (fm-scale (XtCreateManagedWidget "fm index" xmScaleWidgetClass form
 					      (list XmNleftAttachment   XmATTACH_WIDGET
 						    XmNleftWidget       fm-label
@@ -133,22 +133,22 @@
 						    XmNorientation      XmHORIZONTAL
 						    XmNbackground       *position-color*)))
 	     ;; c/m ratio
-	     (cm-ratio (XtCreateManagedWidget "c/m ratio:" xmLabelWidgetClass form
-					      (list XmNleftAttachment   XmATTACH_FORM
-						    XmNbottomAttachment XmATTACH_NONE
-						    XmNtopAttachment    XmATTACH_WIDGET
-						    XmNtopWidget        fm-scale
-						    XmNrightAttachment  XmATTACH_NONE
-						    XmNrecomputeSize    #f
-						    XmNbackground       white)))
 	     (cm-label (XtCreateManagedWidget "label" xmLabelWidgetClass form
-					      (list XmNleftAttachment   XmATTACH_WIDGET
-						    XmNleftWidget       cm-ratio
-						    XmNbottomAttachment XmATTACH_NONE
-						    XmNtopAttachment    XmATTACH_OPPOSITE_WIDGET
-						    XmNtopWidget        cm-ratio
-						    XmNrightAttachment  XmATTACH_NONE
-						    XmNbackground       white)))
+					      (let ((cm-ratio (XtCreateManagedWidget "c/m ratio:" xmLabelWidgetClass form
+										     (list XmNleftAttachment   XmATTACH_FORM
+											   XmNbottomAttachment XmATTACH_NONE
+											   XmNtopAttachment    XmATTACH_WIDGET
+											   XmNtopWidget        fm-scale
+											   XmNrightAttachment  XmATTACH_NONE
+											   XmNrecomputeSize    #f
+											   XmNbackground       white))))
+						(list XmNleftAttachment   XmATTACH_WIDGET
+						      XmNleftWidget       cm-ratio
+						      XmNbottomAttachment XmATTACH_NONE
+						      XmNtopAttachment    XmATTACH_OPPOSITE_WIDGET
+						      XmNtopWidget        cm-ratio
+						      XmNrightAttachment  XmATTACH_NONE
+						      XmNbackground       white))))
 	     (cm-scale (XtCreateManagedWidget "cm ratio" xmScaleWidgetClass form
 					      (list XmNleftAttachment   XmATTACH_WIDGET
 						    XmNleftWidget       cm-label
@@ -158,94 +158,92 @@
 						    XmNrightAttachment  XmATTACH_FORM
 						    XmNshowValue        #f
 						    XmNorientation      XmHORIZONTAL
-						    XmNbackground       *position-color*)))
-	     (frequency 220.0)
-	     (low-frequency 40.0)
-	     (high-frequency 2000.0)
-	     (amplitude 0.5)
-	     (index 1.0)
-	     (high-index 3.0)
-	     (ratio 1)
-	     (high-ratio 10)
-	     (playing 0.0)
-	     (carosc (make-oscil 0.0))
-	     (modosc (make-oscil 0.0)))
-	
-	(define (freq-callback w c i)
-	  (set! frequency (+ low-frequency (* (.value i) (/ (- high-frequency low-frequency) 100.0))))
-	  (set-flabel freq-label frequency))
-	
-	(define (amp-callback w c i)
-	  (set! amplitude (/ (.value i) 100.0))
-	  (set-flabel amp-label amplitude))
-	
-	(define (fm-callback w c i)
-	  (set! index (* (.value i) (/ high-index 100.0)))
-	  (set-flabel fm-label index))
-	
-	(define (ratio-callback w c i)
-	  (set! ratio (floor (* (.value i) (/ high-ratio 100.0))))
-	  (set-ilabel cm-label ratio))
-	
-	;; add scale-change (drag and value-changed) callbacks
-	(XtAddCallback freq-scale XmNdragCallback freq-callback)
-	(XtAddCallback freq-scale XmNvalueChangedCallback freq-callback)
-	
-	(XtAddCallback amp-scale XmNdragCallback amp-callback)
-	(XtAddCallback amp-scale XmNvalueChangedCallback amp-callback)
-	
-	(XtAddCallback fm-scale XmNdragCallback fm-callback)
-	(XtAddCallback fm-scale XmNvalueChangedCallback fm-callback)
-	
-	(XtAddCallback cm-scale XmNdragCallback ratio-callback)
-	(XtAddCallback cm-scale XmNvalueChangedCallback ratio-callback)
-	
-	(XtAddCallback play-button XmNvalueChangedCallback (lambda (w c i) (set! playing (if (.set i) 1.0 0.0))))
-	
-	;; set initial values
-	(set-flabel freq-label frequency)
-	(set-flabel amp-label amplitude)
-	(set-flabel fm-label index)
-	(set-ilabel cm-label ratio)
-	
-	(XmScaleSetValue freq-scale (floor (* 100 (/ (- frequency low-frequency) (- high-frequency low-frequency)))))
-	(XmScaleSetValue amp-scale (floor (* 100 amplitude)))
-	(XmScaleSetValue fm-scale (floor (* 100 (/ index high-index))))
-	(XmScaleSetValue cm-scale (floor (* ratio (/ 100 high-ratio))))
-	
-	(XtManageChild shell)
-	(XtRealizeWidget shell)
-	
-	;; send fm data to dac
-	(let* ((bufsize 256)
-	       (srate 22050)
-	       (work-proc #f)
-					;(data (make-float-vector bufsize))
-	       (port (mus-audio-open-output mus-audio-default srate 1 mus-lshort (* bufsize 2))))
-	  (if (< port 0) 
-	      (format () "can't open DAC!"))
+						    XmNbackground       *position-color*))))
+	(let ((frequency 220.0)
+	      (low-frequency 40.0)
+	      (high-frequency 2000.0)
+	      (amplitude 0.5)
+	      (index 1.0)
+	      (high-index 3.0)
+	      (ratio 1)
+	      (high-ratio 10)
+	      (playing 0.0)
+	      (carosc (make-oscil 0.0))
+	      (modosc (make-oscil 0.0)))
+	  
+	  (define (freq-callback w c i)
+	    (set! frequency (+ low-frequency (* (.value i) (/ (- high-frequency low-frequency) 100.0))))
+	    (set-flabel freq-label frequency))
+	  
+	  (define (amp-callback w c i)
+	    (set! amplitude (/ (.value i) 100.0))
+	    (set-flabel amp-label amplitude))
+	  
+	  (define (fm-callback w c i)
+	    (set! index (* (.value i) (/ high-index 100.0)))
+	    (set-flabel fm-label index))
+	  
+	  (define (ratio-callback w c i)
+	    (set! ratio (floor (* (.value i) (/ high-ratio 100.0))))
+	    (set-ilabel cm-label ratio))
+	  
+	  ;; add scale-change (drag and value-changed) callbacks
+	  (XtAddCallback freq-scale XmNdragCallback freq-callback)
+	  (XtAddCallback freq-scale XmNvalueChangedCallback freq-callback)
+	  
+	  (XtAddCallback amp-scale XmNdragCallback amp-callback)
+	  (XtAddCallback amp-scale XmNvalueChangedCallback amp-callback)
+	  
+	  (XtAddCallback fm-scale XmNdragCallback fm-callback)
+	  (XtAddCallback fm-scale XmNvalueChangedCallback fm-callback)
+	  
+	  (XtAddCallback cm-scale XmNdragCallback ratio-callback)
+	  (XtAddCallback cm-scale XmNvalueChangedCallback ratio-callback)
+	  
+	  (XtAddCallback play-button XmNvalueChangedCallback (lambda (w c i) (set! playing (if (.set i) 1.0 0.0))))
+	  
+	  ;; set initial values
+	  (set-flabel freq-label frequency)
+	  (set-flabel amp-label amplitude)
+	  (set-flabel fm-label index)
+	  (set-ilabel cm-label ratio)
+	  
+	  (XmScaleSetValue freq-scale (floor (* 100 (/ (- frequency low-frequency) (- high-frequency low-frequency)))))
+	  (XmScaleSetValue amp-scale (floor (* 100 amplitude)))
+	  (XmScaleSetValue fm-scale (floor (* 100 (/ index high-index))))
+	  (XmScaleSetValue cm-scale (floor (* ratio (/ 100 high-ratio))))
+	  
+	  (XtManageChild shell)
+	  (XtRealizeWidget shell)
 	  
-	  (XmAddWMProtocolCallback (cadr (main-widgets)) ; shell
-				   (XmInternAtom dpy "WM_DELETE_WINDOW" #f)
-				   (lambda (w c i)
-				     (XtRemoveWorkProc work-proc) ; odd that there's no XtAppRemoveWorkProc
-				     (mus-audio-close port))
-				   #f)
-	  (XtAddCallback shell
-			 XmNcancelCallback (lambda (w context info)
-					     (XtRemoveWorkProc work-proc)
-					     (mus-audio-close port)
-					     (XtUnmanageChild shell)))
-	  (set! work-proc (XtAppAddWorkProc app 
-					    (lambda (ignored-arg)
-					      (let ((data (make-float-vector bufsize)))
-						(do ((i 0 (+ 1 i)))
-						    ((= i bufsize))
-						  (float-vector-set! data i (* amplitude playing
-									       (oscil carosc 
-										      (+ (hz->radians frequency)
-											 (* index 
-											    (oscil modosc 
-												   (hz->radians (* ratio frequency)))))))))
-						(mus-audio-write port data bufsize)
-						#f)))))))))
+	  ;; send fm data to dac
+	  (let* ((bufsize 256)
+		 (work-proc #f)
+		 (port (mus-audio-open-output mus-audio-default 22050 1 mus-lshort (* bufsize 2))))
+	    (if (< port 0) 
+		(format () "can't open DAC!"))
+	    
+	    (XmAddWMProtocolCallback (cadr (main-widgets)) ; shell
+				     (XmInternAtom dpy "WM_DELETE_WINDOW" #f)
+				     (lambda (w c i)
+				       (XtRemoveWorkProc work-proc) ; odd that there's no XtAppRemoveWorkProc
+				       (mus-audio-close port))
+				     #f)
+	    (XtAddCallback shell
+			   XmNcancelCallback (lambda (w context info)
+					       (XtRemoveWorkProc work-proc)
+					       (mus-audio-close port)
+					       (XtUnmanageChild shell)))
+	    (set! work-proc (XtAppAddWorkProc app 
+					      (lambda (ignored-arg)
+						(let ((data (make-float-vector bufsize)))
+						  (do ((i 0 (+ 1 i)))
+						      ((= i bufsize))
+						    (float-vector-set! data i (* amplitude playing
+										 (oscil carosc 
+											(+ (hz->radians frequency)
+											   (* index 
+											      (oscil modosc 
+												     (hz->radians (* ratio frequency)))))))))
+						  (mus-audio-write port data bufsize)
+						  #f))))))))))
diff --git a/bess1.scm b/bess1.scm
index 570172a..e2935d6 100644
--- a/bess1.scm
+++ b/bess1.scm
@@ -62,17 +62,20 @@
     (lambda* (dur freq amp (fm-index 1.0) (amp-env '(0 0 25 1 75 1 100 0)))
       (let* ((frq-scl (hz->radians freq))
 	     (maxdev (* frq-scl fm-index))
-	     (index1 (* maxdev (/ 5.0 (log freq))))
-	     (index2 (/ (* maxdev 3.0 (- 8.5 (log freq))) (+ 3.0 (/ freq 1000))))
-	     (index3 (* maxdev (/ 4.0 (sqrt freq))))
 	     (carrier (make-oscil :frequency freq))
 	     (fmosc1 (make-oscil :frequency freq))
 	     (fmosc2 (make-oscil :frequency (* 3 freq)))
 	     (fmosc3 (make-oscil :frequency (* 4 freq)))
-	     (ampf  (make-env :envelope amp-env :scaler amp :duration dur))
-	     (indf1 (make-env :envelope '(0 1 25 0.4 75 0.6 100 0) :scaler index1 :duration dur))
-	     (indf2 (make-env :envelope '(0 1 25 0.4 75 0.6 100 0) :scaler index2 :duration dur))
-	     (indf3 (make-env :envelope '(0 1 25 0.4 75 0.6 100 0) :scaler index3 :duration dur))
+	     (ampf (make-env :envelope amp-env :scaler amp :duration dur))
+	     (indf1 (make-env :envelope '(0 1 25 0.4 75 0.6000000000000001 100 0) 
+			      :scaler (* maxdev (/ 5.0 (log freq)))
+			      :duration dur))
+	     (indf2 (make-env :envelope '(0 1 25 0.4 75 0.6000000000000001 100 0) 
+			      :scaler (/ (* maxdev 3.0 (- 8.5 (log freq))) (+ 3.0 (/ freq 1000)))
+			      :duration dur))
+	     (indf3 (make-env :envelope '(0 1 25 0.4 75 0.6000000000000001 100 0) 
+			      :scaler (* maxdev (/ 4.0 (sqrt freq)))
+			      :duration dur))
 	     (pervib (make-triangle-wave :frequency 5 :amplitude (* 0.0025 frq-scl)))
 	     (ranvib (make-rand-interp :frequency 16 :amplitude (* 0.005 frq-scl))))
 	(lambda ()
@@ -90,15 +93,8 @@
 (define* (make-float-vector-test (srate *clm-srate*)
 			(bufsize *clm-rt-bufsize*)
 			(sample-type *clm-sample-type*))
-  (let ((vmode (vector 0 12 2 4 14 4 5 5 0 7 7 11 11))
-	(vpits (make-vector (+ 1 lim) 0))
-	(vbegs (make-vector (+ 1 lim) 0))
-	(cellbeg 0)
-	(cellsiz 6)
-	(cellctr 0)
-	(func #f)
-	(len 0)
-	(dur 0.0))
+  (let ((vpits (make-vector (+ 1 lim) 0))
+	(vbegs (make-vector (+ 1 lim) 0)))
     (do ((i 0 (+ 1 i)))
 	((= i lim))
       (set! (vpits i) (random 12))
@@ -106,35 +102,42 @@
     (set! *clm-srate* srate)
     (set! *clm-rt-bufsize* bufsize)
     (set! *output* (mus-audio-open-output mus-audio-default srate 1 sample-type (* bufsize 2)))
-    (lambda ()
-      (if (> len 1)
-	  (set! len (- len 1))
-	  (begin
-	    (set! dur (* ctempo (vbegs (+ cellctr 1))))
-	    (set! cellctr (+ cellctr 1))
-	    (if (> cellctr (+ cellsiz cellbeg))
-		(begin
-		  (if (> (random 1.0) 0.5) (set! cellbeg (+ 1 cellbeg)))
-		  (if (> (random 1.0) 0.5) (set! cellsiz (+ 1 cellsiz)))
-		  (set! cellctr cellbeg)))
 
-	    (let ((freq (* cfreq 16.351 16
-			   (expt 2 (/ (vmode (vpits cellctr)) 12.0)))))
-	      (format () "dur: ~A, freq: ~A, amp: ~A, index: ~A~%"
-		      dur
-		      (if (< (* 8 freq) *clm-srate*)
-			  freq
-			  (/ freq 4))
-		      (* camp 0.3) 
-		      cindex)
-
-	      (set! func (make-rt-violin dur
-					 (if (< (* 8 freq) *clm-srate*)
-					     freq
-					     (/ freq 4))
-					 (* camp 0.3) :fm-index cindex)))
-	    (set! len (ceiling (/ (seconds->samples dur) bufsize)))))
-      func)))
+    (let ((cellbeg 0)
+	  (cellsiz 6)
+	  (cellctr 0)
+	  (func #f)
+	  (len 0)
+	  (dur 0.0)
+	  (vmode (vector 0 12 2 4 14 4 5 5 0 7 7 11 11)))
+      (lambda ()
+	(if (> len 1)
+	    (set! len (- len 1))
+	    (begin
+	      (set! dur (* ctempo (vbegs (+ cellctr 1))))
+	      (set! cellctr (+ cellctr 1))
+	      (if (> cellctr (+ cellsiz cellbeg))
+		  (begin
+		    (if (> (random 1.0) 0.5) (set! cellbeg (+ 1 cellbeg)))
+		    (if (> (random 1.0) 0.5) (set! cellsiz (+ 1 cellsiz)))
+		    (set! cellctr cellbeg)))
+	      
+	      (let ((freq (* cfreq 16.351 16
+			     (expt 2 (/ (vmode (vpits cellctr)) 12.0)))))
+		(format () "dur: ~A, freq: ~A, amp: ~A, index: ~A~%"
+			dur
+			(if (< (* 8 freq) *clm-srate*)
+			    freq
+			    (/ freq 4))
+			(* camp 0.3) 
+			cindex)
+		(set! func (make-rt-violin dur
+					   (if (< (* 8 freq) *clm-srate*)
+					       freq
+					       (/ freq 4))
+					   (* camp 0.3) :fm-index cindex)))
+	      (set! len (ceiling (/ (seconds->samples dur) bufsize)))))
+	func))))
 
 ;; from clm-2/bess5.cl and clm-2/clm-example.lisp
 (define time 60)
@@ -159,6 +162,18 @@
 (define* (make-agn (srate *clm-srate*)
 		   (bufsize *clm-rt-bufsize*)
 		   (sample-type *clm-sample-type*))
+  (do ((i 0 (+ i 1)))
+      ((= i lim))
+    (set! (octs i) (floor (+ 4 (* 2 (rbell (random 1.0))))))
+    (set! (pits i) (mode (random 12)))
+    (set! (rhys i) (+ 4 (random 6)))
+    (set! (begs i) (if (< (random 1.0) 0.9) 
+		       (+ 4 (random 2))
+		       (random 24)))
+    (set! (amps i) (floor (+ 1 (* 8 (rbell (random 1.0)))))))
+  (set! *clm-srate* srate)
+  (set! *clm-rt-bufsize* bufsize)
+  (set! *output* (mus-audio-open-output mus-audio-default srate 1 sample-type (* bufsize 2)))
   (let ((wins (vector '(0 0 40 0.1 60 0.2 75 0.4 82 1 90 1 100 0)
 		      '(0 0 60 0.1 80 0.2 90 0.4 95 1 100 0)
 		      '(0 0 10 1 16 0 32 0.1 50 1 56 0 60 0 90 0.3 100 0)
@@ -181,18 +196,6 @@
 	(whichway 1)
 	(func #f)
 	(len 0))
-    (do ((i 0 (+ i 1)))
-	((= i lim))
-      (set! (octs i) (floor (+ 4 (* 2 (rbell (random 1.0))))))
-      (set! (pits i) (mode (random 12)))
-      (set! (rhys i) (+ 4 (random 6)))
-      (set! (begs i) (if (< (random 1.0) 0.9) 
-			 (+ 4 (random 2))
-			 (random 24)))
-      (set! (amps i) (floor (+ 1 (* 8 (rbell (random 1.0)))))))
-    (set! *clm-srate* srate)
-    (set! *clm-rt-bufsize* bufsize)
-    (set! *output* (mus-audio-open-output mus-audio-default srate 1 sample-type (* bufsize 2)))
     (lambda ()
       (if (> len 1)
 	  (set! len (- len 1))
@@ -318,23 +321,23 @@
 						     XmNtopAttachment    XmATTACH_FORM
 						     XmNrightAttachment  XmATTACH_FORM
 						     XmNbackground       (get-color background))))
-	   (sep (XtCreateManagedWidget "sep" xmSeparatorWidgetClass form
-				       (list XmNleftAttachment   XmATTACH_FORM
-					     XmNbottomAttachment XmATTACH_NONE
-					     XmNtopAttachment    XmATTACH_WIDGET
-					     XmNtopWidget        radio
-					     XmNrightAttachment  XmATTACH_FORM
-					     XmNheight 4
-					     XmNorientation XmHORIZONTAL)))
-	   ;; tempo
-	   (tempo (XtCreateManagedWidget " tempo:" xmLabelWidgetClass form
-					 (list XmNleftAttachment   XmATTACH_FORM
-					       XmNbottomAttachment XmATTACH_NONE
-					       XmNtopAttachment    XmATTACH_WIDGET
-					       XmNtopWidget        sep
-					       XmNrightAttachment  XmATTACH_NONE
-					       XmNrecomputeSize    #f
-					       XmNbackground       (get-color background))))
+           (tempo (let ((sep (XtCreateManagedWidget "sep" xmSeparatorWidgetClass form
+						    (list XmNleftAttachment XmATTACH_FORM 
+							  XmNbottomAttachment XmATTACH_NONE
+							  XmNtopAttachment XmATTACH_WIDGET 
+							  XmNtopWidget radio 
+							  XmNrightAttachment XmATTACH_FORM 
+							  XmNheight 4 
+							  XmNorientation XmHORIZONTAL))))
+                    (XtCreateManagedWidget " tempo:" xmLabelWidgetClass form
+					   (list XmNleftAttachment XmATTACH_FORM 
+						 XmNbottomAttachment XmATTACH_NONE 
+						 XmNtopAttachment XmATTACH_WIDGET 
+						 XmNtopWidget sep 
+						 XmNrightAttachment XmATTACH_NONE 
+						 XmNrecomputeSize #f
+						 XmNbackground (get-color background)))))
+
 	   (tempo-label (XtCreateManagedWidget "label" xmLabelWidgetClass form
 					       (list XmNleftAttachment   XmATTACH_WIDGET
 						     XmNleftWidget       tempo
@@ -410,23 +413,22 @@
 						   XmNorientation      XmHORIZONTAL
 						   XmNheight           20
 						   XmNbackground       light-blue)))
-	   ;; index
-	   (index (XtCreateManagedWidget " index:" xmLabelWidgetClass form
-					 (list XmNleftAttachment   XmATTACH_FORM
-					       XmNbottomAttachment XmATTACH_NONE
-					       XmNtopAttachment    XmATTACH_WIDGET
-					       XmNtopWidget        amp
-					       XmNrightAttachment  XmATTACH_NONE
-					       XmNrecomputeSize    #f
-					       XmNbackground       (get-color background))))
-	   (index-label (XtCreateManagedWidget "label" xmLabelWidgetClass form
-					       (list XmNleftAttachment   XmATTACH_WIDGET
-						     XmNleftWidget       index
-						     XmNbottomAttachment XmATTACH_NONE
-						     XmNtopAttachment    XmATTACH_OPPOSITE_WIDGET
-						     XmNtopWidget        index
-						     XmNrightAttachment  XmATTACH_NONE
-						     XmNbackground       (get-color background))))
+	   (index-label (let ((index (XtCreateManagedWidget " index:" xmLabelWidgetClass form
+							    (list XmNleftAttachment   XmATTACH_FORM
+								  XmNbottomAttachment XmATTACH_NONE
+								  XmNtopAttachment    XmATTACH_WIDGET
+								  XmNtopWidget        amp
+								  XmNrightAttachment  XmATTACH_NONE
+								  XmNrecomputeSize    #f
+								  XmNbackground       (get-color background)))))
+			  (XtCreateManagedWidget "label" xmLabelWidgetClass form
+						 (list XmNleftAttachment   XmATTACH_WIDGET
+						       XmNleftWidget       index
+						       XmNbottomAttachment XmATTACH_NONE
+						       XmNtopAttachment    XmATTACH_OPPOSITE_WIDGET
+						       XmNtopWidget        index
+						       XmNrightAttachment  XmATTACH_NONE
+						       XmNbackground       (get-color background)))))
 	   (index-scale (XtCreateManagedWidget "index" xmScaleWidgetClass form
 					       (list XmNleftAttachment   XmATTACH_WIDGET
 						     XmNleftWidget       index-label
@@ -437,95 +439,95 @@
 						     XmNshowValue        #f
 						     XmNorientation      XmHORIZONTAL
 						     XmNheight           20
-						     XmNbackground       light-blue)))
-	   (low-tempo 0.05)
-	   (high-tempo 0.5)
-	   (low-freq 0.1)
-	   (high-freq 4.0)
-	   (high-index 2.0)
-	   (which-play 0)
-	   (proc #f)
-	   (func #f))
-
-      (define (tempo-callback w c i)
-	(set! ctempo (+ low-tempo (* (.value i) (/ (- high-tempo low-tempo) 100.0))))
-	(set-flabel tempo-label ctempo))
-
-      (define (amp-callback w c i)
-	(let ((high-amp 1.0))
-	  (set! camp (* (.value i) (/ high-amp 100.0))))
-	(set-flabel amp-label camp))
-
-      (define (freq-callback w c i)
-	(set! cfreq (+ low-freq (* (.value i) (/ (- high-freq low-freq) 100.0))))
-	(set-flabel freq-label cfreq))
-
-      (define (index-callback w c i)
-	(set! cindex (* (.value i) (/ high-index 100.0)))
-	(set-flabel index-label cindex))
-
-      (define (set-defaults)
-	(set! ctempo 0.25)
-	(set! camp 1.0)
-	(set! cfreq 1.0)
-	(set! cindex 1.0)
-	(set-flabel tempo-label ctempo)
-	(set-flabel amp-label camp)
-	(set-flabel freq-label cfreq)
-	(set-flabel index-label cindex)
-	(XmScaleSetValue tempo-scale (floor (* 100 (/ (- ctempo low-tempo) (- high-tempo low-tempo)))))
-	(XmScaleSetValue freq-scale (floor (* 100 (/ (- cfreq low-freq) (- high-freq low-freq)))))
-	(XmScaleSetValue amp-scale (floor (* 100 camp)))
-	(XmScaleSetValue index-scale (floor (* 100 (/ cindex high-index)))))
-
-      (XtManageChild radio)
-      ;; add scale-change (drag and value-changed) callbacks
-      (XtAddCallback tempo-scale XmNdragCallback tempo-callback)
-      (XtAddCallback tempo-scale XmNvalueChangedCallback tempo-callback)
-
-      (XtAddCallback amp-scale XmNdragCallback amp-callback)
-      (XtAddCallback amp-scale XmNvalueChangedCallback amp-callback)
-
-      (XtAddCallback freq-scale XmNdragCallback freq-callback)
-      (XtAddCallback freq-scale XmNvalueChangedCallback freq-callback)
-
-      (XtAddCallback index-scale XmNdragCallback index-callback)
-      (XtAddCallback index-scale XmNvalueChangedCallback index-callback)
-
-      (XtAddCallback agn-button XmNvalueChangedCallback
-		     (lambda (w c i)
-		       (if (.set i)
-			   (set! which-play 0))
-		       (set! cplay #f)
-		       (XmToggleButtonSetState play-button cplay #f)))
-
-      (XmToggleButtonSetState agn-button #t #f)
-      (XtAddCallback test-button XmNvalueChangedCallback
-		     (lambda (w c i)
-		       (if (.set i)
-			   (set! which-play 1))
-		       (set! cplay #f)
-		       (XmToggleButtonSetState play-button cplay #f)))
-		     
-      (XtAddCallback quit-button XmNactivateCallback
-		     (lambda (w c i)
-		       (set! cplay #f)
-		       (if proc (XtRemoveWorkProc proc))
-		       (exit 0)))
-      
-      (XtAddCallback play-button XmNvalueChangedCallback
-		     (lambda (w c i)
-		       (set! cplay (.set i))
-		       (if cplay
-			   (begin
-			     (set-defaults)
-			     (set! func (apply (if (= which-play 0) make-agn make-float-vector-test) (or args ())))
-			     (set! proc (XtAppAddWorkProc app (lambda (c) (rt-send->dac func)))))
-			   (if proc (XtRemoveWorkProc proc)))))
-      (XmToggleButtonSetState play-button cplay #f)
-      (set-defaults)
-      (XtRealizeWidget shell))
-    (XtAppMainLoop app)))
+						     XmNbackground       light-blue))))
+      (let ((low-tempo 0.05)
+	    (high-tempo 0.5)
+	    (low-freq 0.1)
+	    (high-freq 4.0)
+	    (high-index 2.0)
+	    (which-play 0)
+	    (proc #f)
+	    (func #f))
+	
+	(define (tempo-callback w c i)
+	  (set! ctempo (+ low-tempo (* (.value i) (/ (- high-tempo low-tempo) 100.0))))
+	  (set-flabel tempo-label ctempo))
+	
+	(define (amp-callback w c i)
+	  (let ((high-amp 1.0))
+	    (set! camp (* (.value i) (/ high-amp 100.0))))
+	  (set-flabel amp-label camp))
+	
+	(define (freq-callback w c i)
+	  (set! cfreq (+ low-freq (* (.value i) (/ (- high-freq low-freq) 100.0))))
+	  (set-flabel freq-label cfreq))
+	
+	(define (index-callback w c i)
+	  (set! cindex (* (.value i) (/ high-index 100.0)))
+	  (set-flabel index-label cindex))
+	
+	(define (set-defaults)
+	  (set! ctempo 0.25)
+	  (set! camp 1.0)
+	  (set! cfreq 1.0)
+	  (set! cindex 1.0)
+	  (set-flabel tempo-label ctempo)
+	  (set-flabel amp-label camp)
+	  (set-flabel freq-label cfreq)
+	  (set-flabel index-label cindex)
+	  (XmScaleSetValue tempo-scale (floor (* 100 (/ (- ctempo low-tempo) (- high-tempo low-tempo)))))
+	  (XmScaleSetValue freq-scale (floor (* 100 (/ (- cfreq low-freq) (- high-freq low-freq)))))
+	  (XmScaleSetValue amp-scale (floor (* 100 camp)))
+	  (XmScaleSetValue index-scale (floor (* 100 (/ cindex high-index)))))
+	
+	(XtManageChild radio)
+	;; add scale-change (drag and value-changed) callbacks
+	(XtAddCallback tempo-scale XmNdragCallback tempo-callback)
+	(XtAddCallback tempo-scale XmNvalueChangedCallback tempo-callback)
+	
+	(XtAddCallback amp-scale XmNdragCallback amp-callback)
+	(XtAddCallback amp-scale XmNvalueChangedCallback amp-callback)
+	
+	(XtAddCallback freq-scale XmNdragCallback freq-callback)
+	(XtAddCallback freq-scale XmNvalueChangedCallback freq-callback)
+	
+	(XtAddCallback index-scale XmNdragCallback index-callback)
+	(XtAddCallback index-scale XmNvalueChangedCallback index-callback)
+	
+	(XtAddCallback agn-button XmNvalueChangedCallback
+		       (lambda (w c i)
+			 (if (.set i)
+			     (set! which-play 0))
+			 (set! cplay #f)
+			 (XmToggleButtonSetState play-button cplay #f)))
+	
+	(XmToggleButtonSetState agn-button #t #f)
+	(XtAddCallback test-button XmNvalueChangedCallback
+		       (lambda (w c i)
+			 (if (.set i)
+			     (set! which-play 1))
+			 (set! cplay #f)
+			 (XmToggleButtonSetState play-button cplay #f)))
+	
+	(XtAddCallback quit-button XmNactivateCallback
+		       (lambda (w c i)
+			 (set! cplay #f)
+			 (if proc (XtRemoveWorkProc proc))
+			 (exit 0)))
+	
+	(XtAddCallback play-button XmNvalueChangedCallback
+		       (lambda (w c i)
+			 (set! cplay (.set i))
+			 (if cplay
+			     (begin
+			       (set-defaults)
+			       (set! func (apply (if (= which-play 0) make-agn make-float-vector-test) (or args ())))
+			       (set! proc (XtAppAddWorkProc app (lambda (c) (rt-send->dac func)))))
+			     (if proc (XtRemoveWorkProc proc)))))
+	(XmToggleButtonSetState play-button cplay #f)
+	(set-defaults)
+	(XtRealizeWidget shell))
+      (XtAppMainLoop app))))
 
 (rt-motif)
 )
diff --git a/binary-io.scm b/binary-io.scm
index 30341f2..be83523 100644
--- a/binary-io.scm
+++ b/binary-io.scm
@@ -127,17 +127,17 @@
   (int_to_float32 (read-lint32)))
 
 (define (float64_to_int32 flt)
-  (let* ((data (integer-decode-float flt))
-	 (signif (car data))
-	 (expon (cadr data))
-	 (sign (caddr data)))
-    (if (= expon signif 0)
-	0
-	;; we're assuming floats are (64-bit) doubles in s7, so this is coercing to a 32-bit float in a sense
-	;;   this causes some round-off error
-	(logior (if (negative? sign) #x80000000 0)
-		(ash (+ expon 179) 23)   ; 179 = (+ 52 127)
-		(logand (ash signif -29) #x7fffff)))))
+  (let ((data (integer-decode-float flt)))
+    (let ((signif (car data))
+	  (expon (cadr data))
+	  (sign (caddr data)))
+      (if (= expon signif 0)
+	  0
+	  ;; we're assuming floats are (64-bit) doubles in s7, so this is coercing to a 32-bit float in a sense
+	  ;;   this causes some round-off error
+	  (logior (if (negative? sign) #x80000000 0)
+		  (ash (+ expon 179) 23)   ; 179 = (+ 52 127)
+		  (logand (ash signif -29) #x7fffff))))))
 
 (define (write-bfloat32 flt)
   (write-bint32 (float64_to_int32 flt)))
@@ -164,15 +164,15 @@
   (int_to_float64 (read-lint64)))
 
 (define (float64_to_int64 flt)
-  (let* ((data (integer-decode-float flt))
-	 (signif (car data))
-	 (expon (cadr data))
-	 (sign (caddr data)))
-    (if (= expon signif 0)
-	0
-	(logior (if (negative? sign) #x8000000000000000 0)
-		(ash (+ expon 1075) 52) ; 1075 = (+ 52 1023)
-		(logand signif #xfffffffffffff)))))
+  (let ((data (integer-decode-float flt)))
+    (let ((signif (car data))
+	  (expon (cadr data))
+	  (sign (caddr data)))
+      (if (= expon signif 0)
+	  0
+	  (logior (if (negative? sign) #x8000000000000000 0)
+		  (ash (+ expon 1075) 52) ; 1075 = (+ 52 1023)
+		  (logand signif #xfffffffffffff))))))
 
 (define (write-bfloat64 flt)
   (write-bint64 (float64_to_int64 flt)))
@@ -186,8 +186,6 @@
 
 (define (read-bfloat80->int)
   (let ((exp 0)
-	(mant1 0)
-	(mant0 0)
 	(sign 0)
 	(buf (make-vector 10)))
     (do ((i 0 (+ i 1)))
@@ -196,14 +194,14 @@
     (set! exp (logior (ash (buf 0) 8) (buf 1)))
     (set! sign (if (not (= (logand exp #x8000) 0)) 1 0))
     (set! exp (logand exp #x7FFF))
-    (set! mant1 (+ (ash (buf 2) 24) (ash (buf 3) 16) (ash (buf 4) 8) (buf 5)))
-    (set! mant0 (+ (ash (buf 6) 24) (ash (buf 7) 16) (ash (buf 8) 8) (buf 9)))
-    (if (= mant1 mant0 exp sign 0) 
-	0
-      (round (* (if (= sign 1) -1 1)
-		(expt 2.0 (- exp 16383.0))
-		(+ (* (expt 2.0 -31.0) mant1)
-		   (* (expt 2.0 -63.0) mant0)))))))
+    (let ((mant1 (+ (ash (buf 2) 24) (ash (buf 3) 16) (ash (buf 4) 8) (buf 5)))
+	  (mant0 (+ (ash (buf 6) 24) (ash (buf 7) 16) (ash (buf 8) 8) (buf 9))))
+      (if (= mant1 mant0 exp sign 0) 
+	  0
+	  (round (* (if (= sign 1) -1 1)
+		    (expt 2.0 (- exp 16383.0))
+		    (+ (* (expt 2.0 -31.0) mant1)
+		       (* (expt 2.0 -63.0) mant0))))))))
 
 (define (write-int->bfloat80 val)
   (let ((exp 0)    
@@ -254,17 +252,17 @@
   (with-output-to-file file
     (lambda ()
       (let* ((comlen (length comment))
-	     (data-location (+ 24 (* 4 (floor (+ 1 (/ comlen 4))))))
-	     (curloc 24))
+	     (data-location (+ 24 (* 4 (floor (+ 1 (/ comlen 4)))))))
 	(write-chars ".snd")
 	(for-each write-bint32 (vector data-location data-size sample-type srate chns))
-	(if (> comlen 0)
-	    (begin
-	      (io-write-string comment)
-	      (set! curloc (+ curloc comlen 1)))) ; io-write-string adds a trailing 0
-	(do ((i curloc (+ i 1)))
-	    ((>= i data-location))
-	  (write-byte 0))))))
+	(let ((curloc 24))
+	  (if (> comlen 0)
+	      (begin
+		(io-write-string comment)
+		(set! curloc (+ curloc comlen 1)))) ; io-write-string adds a trailing 0
+	  (do ((i curloc (+ i 1)))
+	      ((>= i data-location))
+	    (write-byte 0)))))))
 
 
 (define (read-aif-header file)
diff --git a/bird.scm b/bird.scm
index 4b8fcd7..8fe061c 100644
--- a/bird.scm
+++ b/bird.scm
@@ -46,10 +46,8 @@
     (lambda (beg)
       (let ((oriup '(0.0 0.0 1.0 1.0))
 	    (oridwn '(0.0 1.0 1.0 .0))
-	    (oriupdwna '(0.0 0.0 .60 1.0 1.0 .60 ))
+	    (oriupdwna '(0.0 0.0 .60 1.0 1.0 .60))
 	    (oriupdwnb '(0.0 .50 .30 1.0 1.0 .0))
-	    (orimid '(0.0 1.0 .05 .50 .10 1.0 .25 0.0 .85 .50 1.0 .0))
-	    (oridwnup '(0.0 .30 .25 0.0 1.0 1.0))
 	    (oriamp '(0.0 0.0 .10 1.0 1.0 .0)))
 	(set! beg (- beg .38))
 	(bird (+ beg .38) .03 3700 100 .05 oridwn main-amp)
@@ -58,13 +56,14 @@
 	(bird (+ beg .65) .03 3900 1200 .1 oridwn main-amp)
 	(bigbird (+ beg .7) .21 2000 1200 .15 '(0.0 .90 .15 1.0 .40 .30 .60 .60 .85 0.0 1.0 .0) main-amp '(1 1 2 .05))
 	(bird (+ beg 1.0) .05 4200 1000 .1 oridwn main-amp)
-	(bigbird (+ beg 1.1) .1 2000 1000 .25 orimid main-amp '(1 1 2 .05))
-	(bigbird (+ beg 1.3) .1 2000 1000 .25 orimid main-amp '(1 1 2 .05))
+	(let ((orimid '(0.0 1.0 .05 .50 .10 1.0 .25 0.0 .85 .50 1.0 .0)))
+	  (bigbird (+ beg 1.1) .1 2000 1000 .25 orimid main-amp '(1 1 2 .05))
+	  (bigbird (+ beg 1.3) .1 2000 1000 .25 orimid main-amp '(1 1 2 .05)))
 	(bird (+ beg 1.48) .1 2300 3200 .1 oriupdwnb oriamp)
 	(bird (+ beg 1.65) .03 1800 300 .05 oriup main-amp)
 	(bird (+ beg 1.7) .03 2200 100 .04 oridwn main-amp)
 	(bird (+ beg 1.8) .07 2500 2000 .15 oriupdwnb oriamp)
-	(bigbird (+ beg 1.92) .2 2400 1200 .25 oridwnup main-amp '(1 1 2 .04))
+	(bigbird (+ beg 1.92) .2 2400 1200 .25 '(0.0 .30 .25 0.0 1.0 1.0) main-amp '(1 1 2 .04))
 	(bird (+ beg 2.2) .02 2200 3000 .04 oriup main-amp)
 	(bird (+ beg 2.28) .02 2200 3000 .04 oriup main-amp)
 	(bigbird (+ beg 2.4) .17 2000 1000 .2 oriupdwna oriamp '(1 1 2 .04))))))
@@ -74,7 +73,7 @@
   (let ((documentation "(cassins-kingbird beg) produces a cassins kingbird call at time 'beg'"))
     (lambda (beg)
       (let ((kingfirst '(0.0 .30 .45 1.0 .90 .10 1.0 .0))
-	    (kingsecond '(0.0 0.0 .02 .50 .04 0.0 .06 .55 .08 .05 .10 .60 .12 .05 .14 .65 .16 .10 .18 .70 .20 .10 .22 .75 .24 .15 .26 .80 .28 .20 .30 .85 .32 .25 .34 .90 .36 .30 .38 .95 .40 .40 .42 1.0 .44 .50 .46 1.0 .48 .45 .50 1.0 .52 .50 .54 1.0 .56 .40 .58 .95 .60 .40 .62 .90 .64 .40 .66 .85 .68 .35 .70 .80 .72 .30 .74 .75 .76 .25 .78 .70 .80 .20 .82 .65 .84 .10 .86 .60 .88 0.0 .90 .55 .92 0.0 .94 .50 .96 0.0 1.0 .40 )))
+	    (kingsecond '(0.0 0.0 .02 .50 .04 0.0 .06 .55 .08 .05 .10 .60 .12 .05 .14 .65 .16 .10 .18 .70 .20 .10 .22 .75 .24 .15 .26 .80 .28 .20 .30 .85 .32 .25 .34 .90 .36 .30 .38 .95 .40 .40 .42 1.0 .44 .50 .46 1.0 .48 .45 .50 1.0 .52 .50 .54 1.0 .56 .40 .58 .95 .60 .40 .62 .90 .64 .40 .66 .85 .68 .35 .70 .80 .72 .30 .74 .75 .76 .25 .78 .70 .80 .20 .82 .65 .84 .10 .86 .60 .88 0.0 .90 .55 .92 0.0 .94 .50 .96 0.0 1.0 .40)))
 	(set! beg (- beg .03))
 	(bigbird (+ beg .03) .04 1700 1200 .15 kingfirst main-amp '(1 1 2 .5 3 0 4 .2))
 	(bigbird (+ beg .12) .18 1700 900 .25 kingsecond main-amp '(1 1 2 .01 3 0 4 .1))))))
@@ -138,21 +137,18 @@
 (define b-great-horned-owl
   (let ((documentation "(great-horned-owl beg) produces a great horned owl call at time 'beg'"))
     (lambda (beg)
-      (let ((owlup '(0.0 0.0 .30 1.0 1.0 1.0))
-	    (owldown '(0.0 1.0 1.0 .0)))
-	(set! beg (- beg .3))
-	(bigbird (+ beg .3) .1 300 0 .1 main-amp main-amp '(1 1 3 .02 7 .01))
-	(bigbird (+ beg .6) .4 293 6 .1 owldown main-amp '(1 1 3 .02 7 .01))
-	(bigbird (+ beg 1.75) .35 293 7 .1 owlup main-amp '(1 1 3 .02 7 .01))
-	(bigbird (+ beg 2.5) .2 300 0 .1 owlup main-amp '(1 1 3 .02 7 .01))))))
+      (bigbird beg .1 300 0 .1 main-amp main-amp '(1 1 3 .02 7 .01))
+      (bigbird (+ beg .3) .4 293 6 .1 '(0.0 1.0 1.0 .0) main-amp '(1 1 3 .02 7 .01))
+      (let ((owlup '(0.0 0.0 .30 1.0 1.0 1.0)))
+	(bigbird (+ beg 1.45) .35 293 7 .1 owlup main-amp '(1 1 3 .02 7 .01))
+	(bigbird (+ beg 2.2) .2 300 0 .1 owlup main-amp '(1 1 3 .02 7 .01))))))
 
 
 (define b-black-throated-gray-warbler
   (let ((documentation "(black-throated-gray-warbler beg) produces a black throated gray warbler call at time 'beg'"))
     (lambda (beg)
-      (let ((grayone '(0.0 .50 .02 .60 .04 .45 .06 .62 .08 .40 .10 .65 .12 .35 .14 .70 .18 .30 .20 .70 .22 .30 .24 .70 .25 .20 .30 .80 .35 .10 .40 .90 .45 0.0 .50 1.0 .55 0.0 .60 1.0 .65 0.0 .70 1.0 .75 0.0 .80 1.0 .85 0.0 .90 1.0 .95 0.0 1.0 .50 ))
-	    (graytwo '(0.0 0.0 .01 .40 .02 0.0 .03 .40 .04 0.0 .05 .40 .06 0.0 .07 .40 .08 0.0 .09 .40 .10 0.0 .25 .80 .40 .30 .55 1.0 .70 0.0 .85 .80 1.0 .40 ))
-	    (graythree '(0.0 1.0 .01 .60 .02 1.0 .03 .60 .04 1.0 .05 .60 .06 1.0 .07 .60 .08 1.0 .09 .60 .10 1.0 .11 .60 .12 1.0 .13 .60 .14 1.0 .15 .60 .16 1.0 .17 .60 .18 1.0 .19 .60 .20 1.0 .21 .55 .22 1.0 .23 .50 .24 1.0 .25 .50 .26 1.0 .27 .50 .28 1.0 .29 .50 .30 1.0 .31 .50 .32 1.0 .33 .50 .34 1.0 .35 .50 .36 1.0 .37 .50 .38 1.0 .39 .50 .40 1.0 .41 .50 .42 1.0 .43 .50 .44 1.0 .45 .50 .46 1.0 .47 .50 .48 1.0 .49 .50 .50 1.0 .51 .50 .52 1.0 .53 .50 .54 1.0 .55 .50 .56 1.0 .57 .50 .58 1.0 .59 .50 .60 1.0 1.0 .0))
+      (let ((grayone '(0.0 .50 .02 .60 .04 .45 .06 .62 .08 .40 .10 .65 .12 .35 .14 .70 .18 .30 .20 .70 .22 .30 .24 .70 .25 .20 .30 .80 .35 .10 .40 .90 .45 0.0 .50 1.0 .55 0.0 .60 1.0 .65 0.0 .70 1.0 .75 0.0 .80 1.0 .85 0.0 .90 1.0 .95 0.0 1.0 .50))
+	    (graytwo '(0.0 0.0 .01 .40 .02 0.0 .03 .40 .04 0.0 .05 .40 .06 0.0 .07 .40 .08 0.0 .09 .40 .10 0.0 .25 .80 .40 .30 .55 1.0 .70 0.0 .85 .80 1.0 .40))
 	    (grayfour '(0.0 0.0 1.0 1.0)))
 	(bird beg .12 3700 600 .05 grayone main-amp)
 	(bird (+ beg .18) .08 3000 800 .07 graytwo main-amp)
@@ -161,7 +157,7 @@
 	(bird (+ beg .54) .12 3700 600 .20 grayone main-amp)
 	(bird (+ beg .72) .08 3000 800 .25 graytwo main-amp)
 	(bird (+ beg .82) .12 3700 600 .25 grayone main-amp)
-	(bird (+ beg .96) .2 3000 2000 .2 graythree main-amp)
+	(bird (+ beg .96) .2 3000 2000 .2 '(0.0 1.0 .01 .60 .02 1.0 .03 .60 .04 1.0 .05 .60 .06 1.0 .07 .60 .08 1.0 .09 .60 .10 1.0 .11 .60 .12 1.0 .13 .60 .14 1.0 .15 .60 .16 1.0 .17 .60 .18 1.0 .19 .60 .20 1.0 .21 .55 .22 1.0 .23 .50 .24 1.0 .25 .50 .26 1.0 .27 .50 .28 1.0 .29 .50 .30 1.0 .31 .50 .32 1.0 .33 .50 .34 1.0 .35 .50 .36 1.0 .37 .50 .38 1.0 .39 .50 .40 1.0 .41 .50 .42 1.0 .43 .50 .44 1.0 .45 .50 .46 1.0 .47 .50 .48 1.0 .49 .50 .50 1.0 .51 .50 .52 1.0 .53 .50 .54 1.0 .55 .50 .56 1.0 .57 .50 .58 1.0 .59 .50 .60 1.0 1.0 .0) main-amp)
 	(bird (+ beg 1.2) .02 4500 500 .05 grayfour main-amp)
 	(bird (+ beg 1.25) .02 4200 800 .05 grayfour main-amp)
 	(bird (+ beg 1.3) .02 4000 900 .05 grayfour main-amp)))))
@@ -170,9 +166,8 @@
 (define b-yellow-warbler
   (let ((documentation "(yellow-warbler beg) produces a yellow warbler call at time 'beg'"))
     (lambda (beg)
-      (let ((yellow-swirl '(0.0 1.0 .05 1.0 .60 0.0 .80 .30 1.0 .10 ))
+      (let ((yellow-swirl '(0.0 1.0 .05 1.0 .60 0.0 .80 .30 1.0 .10))
 	    (yellow-down '(0.0 1.0 1.0 .0))
-	    (yellow-last '(0.0 0.0 .30 .20 .80 .70 1.0 1.0))
 	    (swirl-amp '(0.0 0.0 .90 1.0 1.0 .0)))
 	(bird beg 0.05 5600 400 0.05 '(0.0 0.0 0.6 1.0 1.0 0.5) main-amp)
 	(bird (+ beg .23) .12 5000 1500 .15 yellow-swirl swirl-amp)
@@ -182,7 +177,7 @@
 	(bird (+ beg 1.05) .075 3700 1000 .20 yellow-down main-amp)
 	(bird (+ beg 1.15) .075 3700 800 .15 yellow-down main-amp)
 	(bird (+ beg 1.25) .075 3700 800 .15 yellow-down main-amp)
-	(bird (+ beg 1.4)  .2   3700 2000 .2 yellow-last swirl-amp)))))
+	(bird (+ beg 1.4)  .2   3700 2000 .2 '(0.0 0.0 .30 .20 .80 .70 1.0 1.0) swirl-amp)))))
 
 
 (define b-black-necked-stilt
@@ -194,7 +189,7 @@
 	    ;;	of western birds" just shows it going up.
 	    ;;
 	    (upamp '(0.0 0.0 .90 1.0 1.0 .0))
-	    (rampup '(0.0 0.0 .50 1.0 1.0 .20 )))
+	    (rampup '(0.0 0.0 .50 1.0 1.0 .20)))
 	(bigbird beg .1 900 100 .2 rampup upamp '( 1 .5  2 1 3 .75 4 .5  5 .1))
 	(bigbird (+ beg .30) .1 900 200 .2 rampup upamp '( 1 .5  2 1 3 .75 4 .5  5 .1))
 	(bigbird (+ beg .60) .1 900 250 .2 rampup upamp '( 1 .5  2 1 3 .75 4 .5  5 .1))))))
@@ -205,11 +200,7 @@
     (lambda (beg)
       (let ((ycurve '(0.0 1.0 .30 .50 .60 1.0 .80 .20 1.0 .0))
 	    (vcurve '(0.0 .20 .50 1.0 1.0 .0))
-	    (wcurve '(0.0 .50 .15 0.0 .45 .10 .60 1.0 .70 .90 1.0 .90 ))
-	    (upcurve '(0.0 0.0 .95 1.0 1.0 1.0))
-	    (downcurve '(0.0 1.0 .25 .30 .60 .15 1.0 .0))
-	    (louder '(0.0 0.0 .90 1.0 1.0 .0))
-	    (wamp '(0.0 0.0 .10 1.0 .40 .10 .50 .90 .60 .10 .70 1.0 1.0 .0)))
+	    (louder '(0.0 0.0 .90 1.0 1.0 .0)))
 	(set! beg (- beg .1))
 	(bigbird (+ beg .1) .1 4050 1200 .05 ycurve main-amp '(1 1 2 .1))
 	(bigbird (+ beg .25) .03 3900 300 .075 vcurve main-amp '(1 1 2 .1))
@@ -220,22 +211,22 @@
 	(bigbird (+ beg .72) .1 4000 1200 .2 ycurve bird-tap '(1 1 2 .1))
 	(bigbird (+ beg .85) .03 3800 500 .15 vcurve main-amp '(1 1 2 .1))
 	(bigbird (+ beg .91) .1 4000 1200 .2 ycurve bird-tap '(1 1 2 .1))
-	(bigbird (+ beg 1.05) .12 3800 2200 .15 wcurve wamp '(1 1 2 .1))
-	(bigbird (+ beg 1.20) .12 3800 2200 .15 wcurve wamp '(1 1 2 .1))
-	(bigbird (+ beg 1.35) .12 2500 2200 .25 upcurve louder '(1 1 2 .1))
-	(bigbird (+ beg 1.50) .12 2500 4000 .15 downcurve main-amp '(1 1 2 .1))))))
+	(let ((wcurve '(0.0 .50 .15 0.0 .45 .10 .60 1.0 .70 .90 1.0 .90))
+	      (wamp '(0.0 0.0 .10 1.0 .40 .10 .50 .90 .60 .10 .70 1.0 1.0 .0)))  
+	  (bigbird (+ beg 1.05) .12 3800 2200 .15 wcurve wamp '(1 1 2 .1))
+	  (bigbird (+ beg 1.20) .12 3800 2200 .15 wcurve wamp '(1 1 2 .1)))
+	(bigbird (+ beg 1.35) .12 2500 2200 .25 '(0.0 0.0 .95 1.0 1.0 1.0) louder '(1 1 2 .1))
+	(bigbird (+ beg 1.50) .12 2500 4000 .15 '(0.0 1.0 .25 .30 .60 .15 1.0 .0) main-amp '(1 1 2 .1))))))
 
 
 (define b-grasshopper-sparrow
   (let ((documentation "(grasshopper-sparrow beg) produces a grasshopper sparrow call at time 'beg'"))
     (lambda (beg)
-      (let ((grassone '(0.0 .50 .02 .80 .04 .30 .06 .80 .07 .10 .08 .90 .10 0.0 .11 .90 .12 0.0 .13 .90 .14 .10 .15 1.0 .16 .10 .17 1.0 .18 .10 .19 1.0 .20 .10 .21 1.0 .22 .10 .23 1.0 .24 .10 .25 1.0 .26 .10 .27 1.0 .28 .10 .29 1.0 .30 .10 .31 1.0 .32 .10 .33 1.0 .34 .10 .35 1.0 .36 .10 .37 1.0 .38 .10 .39 1.0 .40 .10 .41 1.0 .42 .10 .43 1.0 .44 .10 .45 1.0 .46 .10 .47 1.0 .48 .10 .49 1.0 .50 .10 .51 1.0 .52 .10 .53 1.0 .54 .10 .55 1.0 .56 .10 .57 1.0 .58 .10 .59 1.0 .60 .10 .61 1.0 .62 .10 .63 1.0 .64 .10 .65 1.0 .66 .10 .67 1.0 .68 .10 .69 1.0 .70 .10 .71 1.0 .72 .10 .73 1.0 .74 .10 .75 1.0 .76 .10 .77 1.0 .78 .10 .79 1.0 .80 .10 .81 1.0 .82 .10 .83 1.0 .84 .10 .85 1.0 .86 .10 .87 1.0 .88 .10 .89 1.0 .90 .10 .91 1.0 .92 .10 .93 1.0 .94 .10 .95 1.0 .96 .10 .97 1.0 .98 .10 1.0 1.0))
-	    (grasstwo '(0.0 0.0 .10 1.0 .20 0.0 .30 1.0 .40 0.0 .50 1.0 .60 0.0 .70 1.0 .80 0.0 .90 1.0 1.0 .0)))
-	(set! beg (- beg .49))
-	(bird (+ beg .49) .01 8000 100 .1 grasstwo main-amp)
-	(bird (+ beg .60) .01 5700 300 .1 grasstwo main-amp)
-	(bird (+ beg .92) .01 3900 100 .1 grasstwo main-amp)
-	(bird (+ beg 1.00) 1.4 6000 2500 .2 grassone main-amp)))))
+      (let ((grasstwo '(0.0 0.0 .10 1.0 .20 0.0 .30 1.0 .40 0.0 .50 1.0 .60 0.0 .70 1.0 .80 0.0 .90 1.0 1.0 .0)))
+	(bird beg .01 8000 100 .1 grasstwo main-amp)
+	(bird (+ beg .11) .01 5700 300 .1 grasstwo main-amp)
+	(bird (+ beg .43) .01 3900 100 .1 grasstwo main-amp))
+	(bird (+ beg .51) 1.4 6000 2500 .2 '(0.0 .50 .02 .80 .04 .30 .06 .80 .07 .10 .08 .90 .10 0.0 .11 .90 .12 0.0 .13 .90 .14 .10 .15 1.0 .16 .10 .17 1.0 .18 .10 .19 1.0 .20 .10 .21 1.0 .22 .10 .23 1.0 .24 .10 .25 1.0 .26 .10 .27 1.0 .28 .10 .29 1.0 .30 .10 .31 1.0 .32 .10 .33 1.0 .34 .10 .35 1.0 .36 .10 .37 1.0 .38 .10 .39 1.0 .40 .10 .41 1.0 .42 .10 .43 1.0 .44 .10 .45 1.0 .46 .10 .47 1.0 .48 .10 .49 1.0 .50 .10 .51 1.0 .52 .10 .53 1.0 .54 .10 .55 1.0 .56 .10 .57 1.0 .58 .10 .59 1.0 .60 .10 .61 1.0 .62 .10 .63 1.0 .64 .10 .65 1.0 .66 .10 .67 1.0 .68 .10 .69 1.0 .70 .10 .71 1.0 .72 .10 .73 1.0 .74 .10 .75 1.0 .76 .10 .77 1.0 .78 .10 .79 1.0 .80 .10 .81 1.0 .82 .10 .83 1.0 .84 .10 .85 1.0 .86 .10 .87 1.0 .88 .10 .89 1.0 .90 .10 .91 1.0 .92 .10 .93 1.0 .94 .10 .95 1.0 .96 .10 .97 1.0 .98 .10 1.0 1.0)main-amp))))
 
 
 (define b-swamp-sparrow
@@ -287,16 +278,11 @@
 (define b-golden-crowned-sparrow
   (let ((documentation "(golden-crowned-sparrow beg) produces a golden crowned sparrow call at time 'beg'"))
     (lambda (beg)
-      (let (
-	    ;;	these have as different song around here.
-	    (goldone '(0.0 1.0 .25 .20 1.0 .0))
-	    (goldtwo '(0.0 .90 .05 1.0 .10 .40 1.0 .0))
-	    (goldtrill '(0.0 .50 .10 0.0 .20 1.0 .30 0.0 .40 1.0 .50 0.0 .60 1.0 .70 0.0 .80 1.0 .90 0.0 1.0 .50 )))
-	(set! beg (- beg .6))
-	(bird (+ beg .6) .5 4300 1000 .15 goldone main-amp)
-	(bird (+ beg 1.3) .45 3300 200 .15 goldone main-amp)
-	(bird (+ beg 1.75) .4 3800 100 .15 goldtwo main-amp)
-	(bird (+ beg 2.2) .3 3800 100 .1 goldtrill main-amp)))))
+      (let ((goldone '(0.0 1.0 .25 .20 1.0 .0))) ;	these have as different song around here.
+	(bird beg .5 4300 1000 .15 goldone main-amp)
+	(bird (+ beg 0.7) .45 3300 200 .15 goldone main-amp))
+      (bird (+ beg 1.15) .4 3800 100 .15 '(0.0 .90 .05 1.0 .10 .40 1.0 .0) main-amp)
+      (bird (+ beg 1.6) .3 3800 100 .1 '(0.0 .50 .10 0.0 .20 1.0 .30 0.0 .40 1.0 .50 0.0 .60 1.0 .70 0.0 .80 1.0 .90 0.0 1.0 .50) main-amp))))
 
 
 (define b-indigo-bunting
@@ -304,7 +290,7 @@
     (lambda (beg)
       (let ((buntdwn '(0.0 1.0 1.0 .0))
 	    (buntv '(0.0 0.0 .50 1.0 1.0 .0))
-	    (bunty '(0.0 1.0 .50 0.0 1.0 .90 ))
+	    (bunty '(0.0 1.0 .50 0.0 1.0 .90))
 	    (buntn '(0.0 .80 .30 1.0 .70 .20 1.0 .0))
 	    (buntup '(0.0 0.0 1.0 1.0)))
 	(set! beg (- beg .4))
@@ -368,41 +354,39 @@
   (let ((documentation "(american-widgeon beg) produces an american widgeon call at time 'beg'"))
     (lambda (beg)
       (let ((widgeon '(0.0 0.0 .50 1.0 1.0 .0)))
-	(set! beg (- beg .3))
-	(bigbird (+ beg .3) .07 1900 300 .15 widgeon widgeon '(1 1 2 .02))
-	(bigbird (+ beg .4) .11 1700 1400 .25 widgeon widgeon '(1 .7 2 1 3 .02))
-	(bigbird (+ beg .55) .07 1900 300 .15 widgeon widgeon '(1 1 2 .02))))))
+	(bigbird beg .07 1900 300 .15 widgeon widgeon '(1 1 2 .02))
+	(bigbird (+ beg .1) .11 1700 1400 .25 widgeon widgeon '(1 .7 2 1 3 .02))
+	(bigbird (+ beg .25) .07 1900 300 .15 widgeon widgeon '(1 1 2 .02))))))
 
 
 (define b-louisiana-waterthrush
   (let ((documentation "(louisiana-waterthrush beg) produces a louisiana waterthrush call at time 'beg'"))
     (lambda (beg)
       (let ((water-four '(0.0 0.0 1.0 1.0))
-	    (water-five '(0.0 1.0 1.0 .0))
 	    (water-damp '(0.0 0.0 .90 1.0 1.0 .0)))
-	(let ((water-one '(0.0 .80 .35 .40 .45 .90 .50 1.0 .75 1.0 1.0 .10 ))
+	(let ((water-one '(0.0 .80 .35 .40 .45 .90 .50 1.0 .75 1.0 1.0 .10))
 	      (water-amp '(0.0 0.0 .35 1.0 .50 .20 .90 1.0 1.0 .0)))
 	  (bird beg .17 4100 2000 .2 water-one water-amp)
 	  (bird (+ beg .32) .18 4050 2050 .3 water-one water-amp)
 	  (bird (+ beg .64) .20 4000 1900 .25 water-one water-amp))
-	(bird (+ beg .9) .2 3900 2000 .3 '(0.0 1.0 .40 0.0 .60 .10 1.0 .80 ) bird-tap)
+	(bird (+ beg .9) .2 3900 2000 .3 '(0.0 1.0 .40 0.0 .60 .10 1.0 .80) bird-tap)
 	(bird (+ beg 1.25) 0.12 3000 3000 0.25 '(0.0 1.0 0.95 0.0 1.0 0.0) water-damp)
 	(bird (+ beg 1.4) .1 2700 1500 .2 water-four water-damp)
-	(bird (+ beg 1.58) .02 5200 1000 .1 water-five main-amp)
-	(bird (+ beg 1.65) .02 5200 1000 .1 water-five main-amp)
+	(let ((water-five '(0.0 1.0 1.0 .0)))
+	  (bird (+ beg 1.58) .02 5200 1000 .1 water-five main-amp)
+	  (bird (+ beg 1.65) .02 5200 1000 .1 water-five main-amp))
 	(bird (+ beg 1.7) .035 3200 1000 .1 water-four water-damp)))))
 
 
 (define b-robin
   (let ((documentation "(robin beg) produces a robin call at time 'beg'"))
     (lambda (beg)
-      (set! beg (- beg .45))
-      (bigbird (+ beg .45) .06 2000 800 .15 '(0.0 0.0 .12 .70 .30 0.0 .70 1.0 1.0 .50 ) main-amp '(1 1 2 .1))
-      (bigbird (+ beg .56) .10 2000 900 .15 '(0.0 .10 .08 .70 .30 0.0 .35 1.0 .40 .30 1.0 .30 ) main-amp '(1 1 2 .1))
-      (bigbird (+ beg 1.04) .24 2000 2000 .25 '(0.0 0.0 .10 1.0 .20 .70 .35 .70 .65 .30 .70 .50 .80 0.0 .90 .20 1.0 .0) main-amp '(1 1 2 .1))
-      (bigbird (+ beg 1.63) .13 1900 1600 .20 '(0.0 .20 .25 1.0 .60 .70 .90 0.0 1.0 .10 ) main-amp '(1 1 2 .1))
-      (bigbird (+ beg 1.80) .11 2200 1200 .25 '(0.0 1.0 1.0 .0) main-amp '(1 1 2 .1))
-      (bigbird (+ beg 2.31) .21 1950 2000 .15 '(0.0 .50 .10 0.0 .20 1.0 .30 0.0 .40 1.0 .50 0.0 .60 1.0 .70 .50 1.0 .20 ) main-amp '(1 1 2 .1)))))
+      (bigbird beg .06 2000 800 .15 '(0.0 0.0 .12 .70 .30 0.0 .70 1.0 1.0 .50) main-amp '(1 1 2 .1))
+      (bigbird (+ beg .11) .10 2000 900 .15 '(0.0 .10 .08 .70 .30 0.0 .35 1.0 .40 .30 1.0 .30) main-amp '(1 1 2 .1))
+      (bigbird (+ beg .59) .24 2000 2000 .25 '(0.0 0.0 .10 1.0 .20 .70 .35 .70 .65 .30 .70 .50 .80 0.0 .90 .20 1.0 .0) main-amp '(1 1 2 .1))
+      (bigbird (+ beg 1.18) .13 1900 1600 .20 '(0.0 .20 .25 1.0 .60 .70 .90 0.0 1.0 .10) main-amp '(1 1 2 .1))
+      (bigbird (+ beg 1.35) .11 2200 1200 .25 '(0.0 1.0 1.0 .0) main-amp '(1 1 2 .1))
+      (bigbird (+ beg 1.86) .21 1950 2000 .15 '(0.0 .50 .10 0.0 .20 1.0 .30 0.0 .40 1.0 .50 0.0 .60 1.0 .70 .50 1.0 .20) main-amp '(1 1 2 .1)))))
 
 
 (define b-solitary-vireo
@@ -528,7 +512,7 @@
       (let ((phoebe-amp '(0.0 0.0 .10 1.0 1.0 .0)))
 	(bird beg .225 3000 1300 .3 '(0.0 0.0 .30 .30 .35 .50 .55 .40 .70 .80 .75 .70 .80 1.0 .95 .90 1.0 .0) main-amp)
 	(bird (+ beg .35) .12 3000 500 .1 '(0.0 0.0 .50 1.0 1.0 .0) phoebe-amp)
-	(bird (+ beg .4) .10 3000 1500 .2 '(0.0 0.0 .10 .40 .80 1.0 1.0 .10 ) phoebe-amp)
+	(bird (+ beg .4) .10 3000 1500 .2 '(0.0 0.0 .10 .40 .80 1.0 1.0 .10) phoebe-amp)
 	(bird (+ beg .55) .05 3000 1400 .2 '(0.0 1.0 .50 .70 1.0 .0) phoebe-amp)))))
 
 
@@ -541,7 +525,7 @@
 	(bird (+ beg .21) .07 4100 700 .15 '(0.0 1.0 1.0 .0) main-amp)
 	(bird (+ beg .36) .12 3700 1000 .20 '(0.0 0.0 .50 1.0 1.0 .0) main-amp)
 	(bird (+ beg .52) .08 2300 1600 .15
-	      '(0.0 .70 .15 0.0 .40 1.0 .80 1.0 1.0 .50 )
+	      '(0.0 .70 .15 0.0 .40 1.0 .80 1.0 1.0 .50)
 	      '(0.0 0.0 .10 .50 .15 0.0 .40 1.0 .90 1.0 1.0 .0))
 	(bird (+ beg .68) .1 4000 1000 .25 b-one bird-tap)
 	(bird (+ beg .8) .12 2300 1700 .2 '(0.0 1.0 .25 .40 .75 .50 1.0 .0) main-amp)
@@ -554,7 +538,7 @@
 	  (bird (+ beg 1.33) .02 3200 1000 .1 b-eleven main-amp)
 	  (bird (+ beg 1.36) .02 3200 1000 .1 b-eleven main-amp))
 	(bird (+ beg 1.40) .03 4000 2000 .12 
-	      '(0.0 0.0 .50 1.0 1.0 .50 )
+	      '(0.0 0.0 .50 1.0 1.0 .50)
 	      '(0.0 0.0 .05 1.0 .30 .20 .60 .20 .90 1.0 1.0 .0))
 	(bird (+ beg 1.47) .1 2300 1700 .2 
 	      '(0.0 .30 .30 1.0 .60 .30 1.0 .0)
@@ -565,7 +549,7 @@
     (lambda (beg)
       (let ((f-one '(0.0 0.0 .10 1.0 .20 .40 .95 .10 1.0 .0))
 	    (a-one '(0.0 0.0 .10 .20 .20 .10 .30 1.0 .90 1.0 1.0 .0))
-	    (f-two '(0.0 .50 .25 1.0 .50 0.0 .60 0.0 .95 .30 1.0 .60 ))
+	    (f-two '(0.0 .50 .25 1.0 .50 0.0 .60 0.0 .95 .30 1.0 .60))
 	    (a-two '(0.0 0.0 .10 1.0 .20 1.0 .50 .10 .60 .10 .90 1.0 1.0 .0)))
 	(bigbird beg .2 2000 2200 .2 f-one a-one '(1 1 2 .02 3 .1 4 .01))
 	(bigbird (+ beg .3) .2 2000 1100 .2 f-two a-two '(1 1 2 .02 3 .1 4 .01))))))
@@ -612,7 +596,7 @@
 	  (bird (+ beg 3.2) .06 4000 1700 .1 supn main-amp)
 	  (bird (+ beg 3.27) .01 5200 0 .2 supn main-amp))
 	
-	(let ((slast '(0.0 1.0 .25 0.0 .75 .40 1.0 .50 )))
+	(let ((slast '(0.0 1.0 .25 0.0 .75 .40 1.0 .50)))
 	  (bird (+ beg 3.4) .15 3000 1000 .2 slast main-amp)
 	  (bird (+ beg 3.6) .15 3000 1000 .2 slast main-amp)
 	  (bird (+ beg 3.8) .15 3000 1000 .2 slast main-amp)
@@ -625,7 +609,7 @@
   (let ((documentation "(cedar-waxwing beg) produces a cedar waxwing call at time 'beg'"))
     (lambda (beg)
       (bird beg .50 6000 800 .2
-	    '(0.0 0.0 .25 .70 .70 1.0 .90 1.0 1.0 .20 )
+	    '(0.0 0.0 .25 .70 .70 1.0 .90 1.0 1.0 .20)
 	    '(0.0 0.0 .20 1.0 .40 1.0 1.0 .0)))))
 
 (define b-bairds-sparrow
@@ -810,12 +794,9 @@
 
 (define b-audubons-warbler
   (let ((documentation "(audubons-warbler  beg) produces an audubons warbler (yellow-rumped warbler) call at time 'beg'"))
-    (lambda (beg)
-      (let (
-	    ;;	(yellow-rumped say the revisionists))
-	    (w-up '(0.0 0.0 1.0 1.0))
+    (lambda (beg) ; (yellow-rumped say the revisionists))
+      (let ((w-up '(0.0 0.0 1.0 1.0))
 	    (w-down '(0.0 1.0 1.0 .0))
-	    (w-end '(0.0 0.0 .15 1.0 .45 .90 .50 0.0 .55 1.0 .90 .90 1.0 .10 ))
 	    (w-updown '(0.0 .10 .50 1.0 1.0 .0)))
 	(set! beg (- beg .75))
 	(bird (+ beg .75) .04 2400 200 .05 w-down bird-amp)
@@ -836,17 +817,16 @@
 	(bird (+ beg 1.65) .03 3100 800 .10 w-up bird-amp)
 	(bird (+ beg 1.70) .07 2800 800 .15 w-updown bird-amp)
 	(bird (+ beg 1.79) .06 2400 1000 .10 w-down bird-amp)
-	(bird (+ beg 1.86) .14 3100 900 .25 w-end bird-amp)
-	(bird (+ beg 2.02) .12 3200 800 .20 w-end bird-amp)))))
+	(let ((w-end '(0.0 0.0 .15 1.0 .45 .90 .50 0.0 .55 1.0 .90 .90 1.0 .10)))
+	  (bird (+ beg 1.86) .14 3100 900 .25 w-end bird-amp)
+	  (bird (+ beg 2.02) .12 3200 800 .20 w-end bird-amp))))))
 
 
 (define b-lark-bunting
   (let ((documentation "(lark-bunting beg) produces a lark bunting call at time 'beg'"))
     (lambda (beg)
       (let ((b-down '(0.0 1.0 1.0 .0))
-	    (b-up '(0.0 0.0 1.0 1.0))
-	    (b-trill-one '(0.0 0.0 .06 .80 .12 0.0 .18 .85 .24 .05 .36 .90 .42 .10 .48 .95 .54 .20 .60 1.0 .66 .20 .72 1.0 .78 .20 .84 1.0 .90 .20 1.0 1.0))
-	    (b-trill-two '(0.0 0.0 .05 .80 .10 0.0 .15 .85 .20 0.0 .25 .90 .30 0.0 .35 .95 .40 0.0 .45 1.0 .50 0.0 .55 1.0 .60 0.0 .65 1.0 .70 0.0 .75 1.0 .80 0.0 .85 1.0 .90 0.0 .95 1.0 1.0 .0)))
+	    (b-up '(0.0 0.0 1.0 1.0)))
 	(set! beg (- beg .1))
 	(bird (+ beg .1) .03 1800 100 .1 b-up bird-amp)
 	(bird (+ beg .2) .12 3700 400 .2 b-up bird-amp)
@@ -879,45 +859,39 @@
 	(bird (+ beg 1.65) .05 2000 400 .20 b-down bird-amp)
 	(bird (+ beg 1.71) .03 1800 100 .1 b-up bird-amp)
 	
-	(bird (+ beg 1.77) .23 6000 600 .15 b-trill-one bird-amp)
-	(bird (+ beg 2.005) .28 6000 600 .15 b-trill-two bird-amp)))))
+	(let ((b-trill-one '(0.0 0.0 .06 .80 .12 0.0 .18 .85 .24 .05 .36 .90 .42 .10 .48 .95 .54 .20 .60 1.0 .66 .20 .72 1.0 .78 .20 .84 1.0 .90 .20 1.0 1.0))
+	      (b-trill-two '(0.0 0.0 .05 .80 .10 0.0 .15 .85 .20 0.0 .25 .90 .30 0.0 .35 .95 .40 0.0 .45 1.0 .50 0.0 .55 1.0 .60 0.0 .65 1.0 .70 0.0 .75 1.0 .80 0.0 .85 1.0 .90 0.0 .95 1.0 1.0 .0)))
+	  (bird (+ beg 1.77) .23 6000 600 .15 b-trill-one bird-amp)
+	  (bird (+ beg 2.005) .28 6000 600 .15 b-trill-two bird-amp))))))
 
 
 (define b-eastern-bluebird
   (let ((documentation "(eastern-bluebird beg) produces an eastern bluebird call at time 'beg'"))
     (lambda (beg)
-      (let ((blue-one '(0.0 0.0 1.0 1.0))
-	    (blue-two '(0.0 1.0 1.0 .0))
-	    (blue-three '(0.0 .60 .10 1.0 .20 0.0 .25 1.0 .30 0.0 .35 1.0 .40 0.0 .45 1.0 .50 0.0 .75 1.0 1.0 .0))
-	    (blue-four '(0.0 0.0 .50 1.0 1.0 .0))
-	    (blue-five '(0.0 .50 .10 1.0 .20 0.0 .35 1.0 .50 0.0 .65 1.0 .80 0.0 .95 1.0 1.0 .50 )))
+      (let ((blue-one '(0.0 0.0 1.0 1.0)))
 	(set! beg (- beg .75))
 	(bird (+ beg .75) .02 2000 1600 .1 blue-one bird-amp)
 	(bird (+ beg .80) .02 2000 1600 .1 blue-one bird-amp)
 	(bird (+ beg .86) .02 2000 1600 .1 blue-one bird-amp)
-	(bird (+ beg 1.00) .13 2000 1400 .2 blue-two bird-amp)
-	(bird (+ beg 1.20) .24 2000 800 .2 blue-three bird-amp)
+	(bird (+ beg 1.00) .13 2000 1400 .2 '(0.0 1.0 1.0 .0) bird-amp)
+	(bird (+ beg 1.20) .24 2000 800 .2 '(0.0 .60 .10 1.0 .20 0.0 .25 1.0 .30 0.0 .35 1.0 .40 0.0 .45 1.0 .50 0.0 .75 1.0 1.0 .0) bird-amp)
 	(bird (+ beg 1.68) .03 2200 400 .1 blue-one bird-amp)
-	(bird (+ beg 1.72) .10 1950 100 .15 blue-four bird-amp)
-	(bird (+ beg 1.96) .15 2000 600 .20 blue-five bird-amp)))))
+	(bird (+ beg 1.72) .10 1950 100 .15 '(0.0 0.0 .50 1.0 1.0 .0) bird-amp)
+	(bird (+ beg 1.96) .15 2000 600 .20 '(0.0 .50 .10 1.0 .20 0.0 .35 1.0 .50 0.0 .65 1.0 .80 0.0 .95 1.0 1.0 .50) bird-amp)))))
 
 
 (define b-chuck-wills-widow
   (let ((documentation "(chuck-wills-widow beg) produces a chuck wills widow call at time 'beg'"))
     (lambda (beg)
-      (let ((wid-down '(0.0 1.0 1.0 .0))
-	    (wid-one '(0.0 0.0 .10 .10 .25 1.0 .50 .30 .80 .70 1.0 .0))
-	    (wid-two '(0.0 .20 .30 1.0 .50 .30 .60 .70 .90 .10 1.0 .0)))
-	(set! beg (- beg .05))
-	(bird (+ beg .05) .03 1000 800 .1 wid-down bird-amp)
-	(bird (+ beg .32) .20 1000 1000 .2 wid-one bird-amp)
-	(bird (+ beg .56) .29 900 1100 .2 wid-two bird-amp)))))
+      (bird beg .03 1000 800 .1 '(0.0 1.0 1.0 .0) bird-amp)
+      (bird (+ beg .27) .20 1000 1000 .2 '(0.0 0.0 .10 .10 .25 1.0 .50 .30 .80 .70 1.0 .0) bird-amp)
+      (bird (+ beg .51) .29 900 1100 .2 '(0.0 .20 .30 1.0 .50 .30 .60 .70 .90 .10 1.0 .0) bird-amp))))
 
 
 (define b-blue-gray-gnatcatcher
   (let ((documentation "(blue-gray-gnatcatcher beg) produces a blue gray gnatcatcher call at time 'beg'"))
     (lambda (beg)
-      (let ((gskw1 '(0.0 0.0 .15 1.0 .75 .80 .90 1.0 1.0 .70 ))
+      (let ((gskw1 '(0.0 0.0 .15 1.0 .75 .80 .90 1.0 1.0 .70))
 	    (gskw2 '(0.0 0.0 .25 1.0 .75 .70 1.0 .0)))
 	(set! beg (- beg .5))
 	(bigbird (+ beg .5) .20 4000 1000 .2 gskw1 bird-amp '(1 .4 2 1 3 .1))
@@ -935,18 +909,17 @@
       (let ((black-up '(0.0 0.0 1.0 1.0))
 	    (black-amp '(0.0 0.0 .50 1.0 1.0 .0)))
 	(set! beg (- beg .8))
-	(let ((black-down '(0.0 1.0 1.0 .0))
-	      (black-down-amp '(0.0 0.0 .75 1.0 1.0 .0)))
+	(let ((black-down '(0.0 1.0 1.0 .0)))
 	  (bird (+ beg .8) .02 2200 1000 .1 black-down bird-amp)
 	  (bird (+ beg .83) .01 3000 200 .05 black-up bird-amp)
 	  (bird (+ beg .96) .02 5800 500 .05 black-up bird-amp)
 	  (bird (+ beg 1.00) .02 4000 200 .05 black-up bird-amp)
-	  (bird (+ beg 1.04) .10 2100 1700 .15 black-down black-down-amp))
+	  (bird (+ beg 1.04) .10 2100 1700 .15 black-down '(0.0 0.0 .75 1.0 1.0 .0)))
 	(bird (+ beg 1.15) .05 5700 400 .25 black-up bird-amp)
 	(bird (+ beg 1.25) .25 2000 900 .2 
 	      '(0.0 0.0 .03 .70 .06 0.0 .09 .75 .12 0.0 .15 .80 .18 .05 .21 .85 .24 .10 .27 .90 
 		.30 .10 .33 1.0 .36 .10 .39 1.0 .42 .10 .45 1.0 .48 .10 .51 1.0 .54 .10 .57 1.0 
-		.60 .10 .63 1.0 .66 .10 .69 1.0 .72 .10 .75 1.0 .78 .10 .81 1.0 .84 .10 .87 1.0 .90 0.0 .93 .95 .96 0.0 1.0 .90 )
+		.60 .10 .63 1.0 .66 .10 .69 1.0 .72 .10 .75 1.0 .78 .10 .81 1.0 .84 .10 .87 1.0 .90 0.0 .93 .95 .96 0.0 1.0 .90)
 	      bird-amp)
 	(bird (+ beg 1.52) .05 5600 400 .15 '(0.0 0.0 .50 1.0 1.0 .20) bird-amp)
 	
@@ -1008,9 +981,8 @@
 (define various-gull-cries-from-end-of-colony-5
   (let ((documentation "(various-gull-cries-from-end-of-colony-5 beg) produces a various gull cries at time 'beg'"))
     (lambda (beg)
-      (let ((gullstart '(0 0 10 1 20 .5000 40 .6000 60 .5000 100 0 ))
-	    (gullmiddle '(0 0 10 1 30 .5000 80 .5000 100 0 ))
-	    (gullend '(0 0 5 1 10 .5000 90 .4000 100 0 ))
+      (let ((gullstart '(0 0 10 1 20 .5000 40 .6000 60 .5000 100 0))
+	    (gullend '(0 0 5 1 10 .5000 90 .4000 100 0))
 	    (gull-frq '(1  .1  2  1  3  .1  4  .01  5  .09  6  .01  7  .01)))
 	(set! beg (- beg .25))
 	(bigbird (+ beg .250) .80  1180  1180  .08 gullend  bird-amp gull-frq)
@@ -1019,7 +991,7 @@
 	(bigbird (+ beg 4.800) .05  1180 1180  .06  gullstart  bird-amp gull-frq)
 	(bigbird (+ beg 4.950) .10  1180 1180  .08  gullstart  bird-amp gull-frq)
 	(bigbird (+ beg 5.150) .10  1180 1180  .09  gullstart  bird-amp gull-frq)
-	(bigbird (+ beg 5.350) .10  1180 1180  .1  gullmiddle  bird-amp gull-frq)
+	(bigbird (+ beg 5.350) .10  1180 1180  .1  '(0 0 10 1 30 .5000 80 .5000 100 0) bird-amp gull-frq)
 	(bigbird (+ beg 5.450) .40  1050  1050  .1  gullend  bird-amp gull-frq)
 	(bigbird (+ beg 6.250) .80  1050  1050  .1  gullend  bird-amp gull-frq)
 	(bigbird (+ beg 7.450) 1.80  1050  1050  .1 gullend  bird-amp gull-frq)))))
diff --git a/clean.scm b/clean.scm
index e31a2ef..45f76c6 100644
--- a/clean.scm
+++ b/clean.scm
@@ -31,53 +31,53 @@
 ;;; -------- single sample clicks
 
 (define* (remove-single-sample-clicks (jump 8) snd chn)
-  (let* ((reader (make-sampler 0 snd chn))
-	 (mx (make-moving-average 16)) ; local average of abs difference
-	 (samp0 0.0)
-	 (samp1 0.0)
-	 (samp2 0.0)
-	 (fixed 0)
-	 (len (framples snd chn))
-	 (block-size (min len 1048576)) ; do edits by blocks rather than sample-at-a-time (saves time, memory etc) 1048576=1024*1024
-	 (block-ctr 0)
-	 (block-beg 0)
-	 (block (make-float-vector block-size))
-	 (block-changed #f))
-     (do ((ctr 0 (+ ctr 1)))
-	 ((= ctr len))
-       (set! samp0 samp1)
-       (set! samp1 samp2)
-       (set! samp2 (next-sample reader))
-       (set! (block block-ctr) samp2)
-       (let* ((df1 (abs (- samp1 samp0)))
-	      (df2 (abs (- samp2 samp1)))
-	      (df3 (abs (- samp2 samp0)))
-	      (local-max (moving-average mx df1)))
-	 (if (and (> df1 (* jump local-max))
-		  (> df2 (* jump local-max))
-		  (or (< df3 local-max)
-		      (and (< df3 (* 2 local-max))
-			   (< (* (- samp2 samp0)
-				 (- samp1 samp0))
-			      0.0))))
-	     (begin
-	       (set! samp1 (* .5 (+ samp0 samp2)))
-	       (set! (block (- block-ctr 1)) samp1)
-	       (set! block-changed #t)
-	       (set! fixed (+ 1 fixed)))))
-       (set! block-ctr (+ 1 block-ctr))
-       (if (>= block-ctr block-size)
-	   (begin
-	     (if block-changed
-		 (begin
-		   (float-vector->channel block block-beg block-size snd chn)
-		   (set! block-changed #f)))
-	     (set! block-beg (- (+ block-beg block-size) 1))
-	     (set! block-ctr 1)
-	     (set! (block 0) samp2))))
-     (if block-changed
-	 (float-vector->channel block block-beg block-ctr snd chn))
-    fixed))
+  (let* ((len (framples snd chn))
+	 (block-size (min len 1048576))) ; do edits by blocks rather than sample-at-a-time (saves time, memory etc) 1048576=1024*1024
+    (let ((reader (make-sampler 0 snd chn))
+	  (mx (make-moving-average 16)) ; local average of abs difference
+	  (samp0 0.0)
+	  (samp1 0.0)
+	  (samp2 0.0)
+	  (fixed 0)
+	  (block-ctr 0)
+	  (block-beg 0)
+	  (block (make-float-vector block-size))
+	  (block-changed #f))
+      (do ((ctr 0 (+ ctr 1)))
+	  ((= ctr len))
+	(set! samp0 samp1)
+	(set! samp1 samp2)
+	(set! samp2 (next-sample reader))
+	(set! (block block-ctr) samp2)
+	(let ((df1 (abs (- samp1 samp0))))
+	  (let ((df2 (abs (- samp2 samp1)))
+		(df3 (abs (- samp2 samp0)))
+		(local-max (moving-average mx df1)))
+	    (if (and (> df1 (* jump local-max))
+		     (> df2 (* jump local-max))
+		     (or (< df3 local-max)
+			 (and (< df3 (* 2 local-max))
+			      (< (* (- samp2 samp0)
+				    (- samp1 samp0))
+				 0.0))))
+		(begin
+		  (set! samp1 (* .5 (+ samp0 samp2)))
+		  (set! (block (- block-ctr 1)) samp1)
+		  (set! block-changed #t)
+		  (set! fixed (+ 1 fixed))))))
+	(set! block-ctr (+ 1 block-ctr))
+	(if (>= block-ctr block-size)
+	    (begin
+	      (if block-changed
+		  (begin
+		    (float-vector->channel block block-beg block-size snd chn)
+		    (set! block-changed #f)))
+	      (set! block-beg (- (+ block-beg block-size) 1))
+	      (set! block-ctr 1)
+	      (set! (block 0) samp2))))
+      (if block-changed
+	  (float-vector->channel block block-beg block-ctr snd chn))
+      fixed)))
 
 (define (test-remove-single-clicks)
   (let ((test (new-sound "test.snd")))
@@ -115,108 +115,106 @@
 ;;; -------- pops
 
 (define* (smooth-float-vector data beg dur)
-  (let* ((y0 (data beg))
-	 (y1 (data (+ beg dur)))
-	 (angle (if (> y1 y0) pi 0.0)) 
-	 (off (* .5 (+ y0 y1))) 
-	 (scale (* 0.5 (abs (- y1 y0))))
-	 (incr (/ pi dur)))
-    (do ((i 0 (+ i 1)))
-	((= i dur))
-      (set! (data (+ beg i)) (+ off (* scale (cos (+ angle (* i incr)))))))))
+  (let ((y0 (data beg))
+	(y1 (data (+ beg dur))))
+    (let ((angle (if (> y1 y0) pi 0.0)) 
+	  (off (* .5 (+ y0 y1))) 
+	  (scale (* 0.5 (abs (- y1 y0))))
+	  (incr (/ pi dur)))
+      (do ((i 0 (+ i 1)))
+	  ((= i dur))
+	(set! (data (+ beg i)) (+ off (* scale (cos (+ angle (* i incr))))))))))
 
 (define* (remove-pops (size 8) snd chn)
-  (let* ((reader (make-sampler 0 snd chn))
-	 (dly0 (make-delay (* 4 size)))
-	 (dly1 (make-delay (* 5 size)))
-	 (mx-ahead (make-moving-average (* 4 size))) ; local average of abs difference ahead of current window
-	 (mx-behind (make-moving-average (* 4 size))) ; local average of abs difference behind current window
-	 (mx (make-moving-average size)) ; local average of abs difference
-
-	 (last-ahead-samp 0.0)
-	 (last-dly0-samp 0.0)
-	 (last-dly1-samp 0.0)
-
-	 (last-case 0)
-	 (fixed 0)
-	 (len (framples snd chn))
-
+  (let* ((len (framples snd chn))
 	 (pad (* 8 size))
-	 (block-size (min (+ len pad) 1048576)) ; 1048576=1024*1024
-	 (block-ctr 0)
-	 (block-beg 0)
-	 (block (make-float-vector block-size))
-	 (block-changed #f))
-    
-     (let ((check-val 0.0)
-	   (check-start 0)
-	   (checker 0)
-	   (checked 0)
-	   (checking #f)
-	   (moving-start #t))
-       (do ((ctr 0 (+ ctr 1)))
-	   ((= ctr len))
-	 (let* ((ahead-samp (next-sample reader))
-		(avg-ahead (moving-average mx-ahead (abs (- ahead-samp last-ahead-samp))))
-		(dly0-samp (delay dly0 ahead-samp))
-		(cur-diff (abs (- dly0-samp last-dly0-samp)))
-		(cur-avg (moving-average mx cur-diff))
-		(dly1-samp (delay dly1 ahead-samp))
-		(avg-behind (moving-average mx-behind (abs (- dly1-samp last-dly1-samp)))))
-	   (set! last-ahead-samp ahead-samp)
-	   (set! last-dly0-samp dly0-samp)
-	   (set! last-dly1-samp dly1-samp)
-	   (set! (block block-ctr) ahead-samp)
-	   (if checking
-	       (begin
-		 (set! checked (+ checked 1))
-		 (if (or (>= checked (* 2 size))
-			 (< cur-avg check-val))
-		     (begin
-		       (set! fixed (+ fixed 1))
-		       (set! checking #f)
-		       (smooth-float-vector block (- check-start block-beg) (+ size checker))
-		       (set! block-changed #t)))
-		 (if moving-start
-		     (begin
-		       (set! moving-start (< cur-diff avg-behind))
-		       (if moving-start
-			   (set! check-start (+ check-start 1)))))
-		 (if (not moving-start)
-		     (set! checker (+ checker 1))))
-	       (if (and (> (- ctr last-case) (* 2 size))
-			(> cur-avg (* 4 avg-ahead))
-			(> cur-avg (* 4 avg-behind)))
-		   ;; possible pop
-		   (begin
-		     (set! check-start (max 0 (- ctr (* 5 size))))
-		     (set! moving-start (< cur-diff avg-behind))
-		     (if moving-start
-			 (set! check-start (+ check-start 1)))
-		     (set! checking #t)
-		     (set! check-val cur-avg)
-		     (set! checker 0)
-		     (set! checked 0)
-		     (set! last-case ctr))))
-	   
-	   (set! block-ctr (+ block-ctr 1))
-	   (if (>= (+ block-ctr pad) block-size)
-	       (begin
-		 (if block-changed
-		     (begin
-		       (float-vector->channel block block-beg (- block-ctr pad) snd chn)
-		       (set! block-changed #f)))
-		 (set! block-beg (- (+ block-beg block-ctr) pad))
-		 (do ((i 0 (+ i 1))
-		      (j (- block-ctr pad) (+ j 1)))
-		     ((= i pad))
-		   (set! (block i) (block j)))
-		 (set! block-ctr pad)))))
-       
-       (if block-changed
-	   (float-vector->channel block block-beg block-ctr snd chn)))
-
-    fixed))
+	 (block-size (min (+ len pad) 1048576))) ; 1048576=1024*1024
+    (let ((reader (make-sampler 0 snd chn))
+	  (dly0 (make-delay (* 4 size)))
+	  (dly1 (make-delay (* 5 size)))
+	  (mx-ahead (make-moving-average (* 4 size))) ; local average of abs difference ahead of current window
+	  (mx-behind (make-moving-average (* 4 size))) ; local average of abs difference behind current window
+	  (mx (make-moving-average size)) ; local average of abs difference
+	  
+	  (last-ahead-samp 0.0)
+	  (last-dly0-samp 0.0)
+	  (last-dly1-samp 0.0)
+	  (last-case 0)
+	  (fixed 0)
+	  (block-ctr 0)
+	  (block-beg 0)
+	  (block (make-float-vector block-size))
+	  (block-changed #f))
+      
+      (let ((check-val 0.0)
+	    (check-start 0)
+	    (checker 0)
+	    (checked 0)
+	    (checking #f)
+	    (moving-start #t))
+	(do ((ctr 0 (+ ctr 1)))
+	    ((= ctr len))
+	  (let* ((ahead-samp (next-sample reader))
+		 (avg-ahead (moving-average mx-ahead (abs (- ahead-samp last-ahead-samp))))
+		 (dly0-samp (delay dly0 ahead-samp))
+		 (cur-diff (abs (- dly0-samp last-dly0-samp)))
+		 (cur-avg (moving-average mx cur-diff))
+		 (dly1-samp (delay dly1 ahead-samp))
+		 (avg-behind (moving-average mx-behind (abs (- dly1-samp last-dly1-samp)))))
+	    (set! last-ahead-samp ahead-samp)
+	    (set! last-dly0-samp dly0-samp)
+	    (set! last-dly1-samp dly1-samp)
+	    (set! (block block-ctr) ahead-samp)
+	    (if checking
+		(begin
+		  (set! checked (+ checked 1))
+		  (if (or (>= checked (* 2 size))
+			  (< cur-avg check-val))
+		      (begin
+			(set! fixed (+ fixed 1))
+			(set! checking #f)
+			(smooth-float-vector block (- check-start block-beg) (+ size checker))
+			(set! block-changed #t)))
+		  (if moving-start
+		      (begin
+			(set! moving-start (< cur-diff avg-behind))
+			(if moving-start
+			    (set! check-start (+ check-start 1)))))
+		  (if (not moving-start)
+		      (set! checker (+ checker 1))))
+		(if (and (> (- ctr last-case) (* 2 size))
+			 (> cur-avg (* 4 avg-ahead))
+			 (> cur-avg (* 4 avg-behind)))
+		    ;; possible pop
+		    (begin
+		      (set! check-start (max 0 (- ctr (* 5 size))))
+		      (set! moving-start (< cur-diff avg-behind))
+		      (if moving-start
+			  (set! check-start (+ check-start 1)))
+		      (set! checking #t)
+		      (set! check-val cur-avg)
+		      (set! checker 0)
+		      (set! checked 0)
+		      (set! last-case ctr))))
+	    
+	    (set! block-ctr (+ block-ctr 1))
+	    (if (>= (+ block-ctr pad) block-size)
+		(begin
+		  (if block-changed
+		      (begin
+			(float-vector->channel block block-beg (- block-ctr pad) snd chn)
+			(set! block-changed #f)))
+		  (set! block-beg (- (+ block-beg block-ctr) pad))
+		  (do ((i 0 (+ i 1))
+		       (j (- block-ctr pad) (+ j 1)))
+		      ((= i pad))
+		    (set! (block i) (block j)))
+		  (set! block-ctr pad)))))
+	
+	(if block-changed
+	    (float-vector->channel block block-beg block-ctr snd chn)))
+      
+      fixed)))
 
 (define (test-remove-pops)
   (new-sound "test.snd")
@@ -325,49 +323,47 @@
 
 
 (define* (tvf-channel snd chn)
-  (let* ((size (framples snd chn))
-	 (avg-data (make-float-vector size))
-	 (ctr 0)
-	 (mx (maxamp snd chn))
-	 (avg-size 8192)
-	 (rd0 (make-sampler 0 snd chn))
-	 (xhat 0.0)
-	 (frm (make-formant :radius (- 1.0 (/ 500.0 (srate snd))) :frequency 600))
-	 (del (make-moving-sum avg-size))
-	 (K 0.0)
-
-	 (maxg 0.0)
-	 (ming 1000.0)
-	 (maxK 0.0)
-	 (minK 1000.0)
-	 )
-
-    (do ((i 0 (+ i 1)))
-	((= i avg-size))
-      (moving-sum del (formant frm (rd0))))
-
-    (map-channel
-     (lambda (datum)
-       (let ((xhatminus xhat)
-	     (avg (moving-sum del (formant frm (rd0)))))
-
-	 (set! K (min 1.0 (+ .1 (/ avg 100.0))))
-;	 (set! K .5)
-
-	 (set! (avg-data ctr) K)
-	 (set! ctr (+ ctr 1))
-
-	 (set! maxg (max maxg avg))
-	 (set! ming (min ming avg))
-	 (set! maxK (max maxK K))
-	 (set! minK (min minK K))
-
-	 (set! xhat (+ xhatminus
-		       (* K (- datum xhatminus))))
-	 xhatminus))
-     0 size snd chn)
+  (let ((size (framples snd chn))
+	(avg-size 8192))
+    (let ((avg-data (make-float-vector size))
+	  (ctr 0)
+	  (mx (maxamp snd chn))
+	  (rd0 (make-sampler 0 snd chn))
+	  (xhat 0.0)
+	  (frm (make-formant :radius (- 1.0 (/ 500.0 (srate snd))) :frequency 600))
+	  (del (make-moving-sum avg-size))
+	  (K 0.0)
+	  (maxg 0.0)
+	  (ming 1000.0)
+	  (maxK 0.0)
+	  (minK 1000.0))
+      
+      (do ((i 0 (+ i 1)))
+	  ((= i avg-size))
+	(moving-sum del (formant frm (rd0))))
+      
+      (map-channel
+       (lambda (datum)
+	 (let ((xhatminus xhat)
+	       (avg (moving-sum del (formant frm (rd0)))))
+	   
+	   (set! K (min 1.0 (+ .1 (/ avg 100.0))))
+	   ;;	 (set! K .5)
+	   
+	   (set! (avg-data ctr) K)
+	   (set! ctr (+ ctr 1))
+	   
+	   (set! maxg (max maxg avg))
+	   (set! ming (min ming avg))
+	   (set! maxK (max maxK K))
+	   (set! minK (min minK K))
+	   
+	   (set! xhat (+ xhatminus
+			 (* K (- datum xhatminus))))
+	   xhatminus))
+       0 size snd chn)
 
-    (scale-channel (/ mx (maxamp snd chn)) snd chn)))
+      (scale-channel (/ mx (maxamp snd chn)) snd chn))))
 
 
 (define* (clean-channel snd chn)
diff --git a/clm-ins.scm b/clm-ins.scm
index 0d05178..26c005e 100644
--- a/clm-ins.scm
+++ b/clm-ins.scm
@@ -1106,27 +1106,27 @@ is a physical model of a flute:
 	((= i numformants))
       (let* ((frmdat (data i))
 	     (freq (cadr frmdat))
-	     (ampf (car frmdat))
-	     (rfamp  (frmdat 2))
-	     (ampat (* 100 (/ (frmdat 3) dur)))
-	     (ampdc (- 100 (* 100 (/ (frmdat 4) dur))))
-	     (dev0 (hz->radians (* (frmdat 5) freq)))
-	     (dev1 (hz->radians (* (frmdat 6) freq)))
-	     (indxat (* 100 (/ (frmdat 7) dur)))
-	     (indxdc (- 100 (* 100 (/ (frmdat 8) dur))))
-	     (harm (round (/ freq pitch)))
-	     (rsamp (- 1.0 (abs (- harm (/ freq pitch)))))
-	     (cfq (* pitch harm)))
-	(if (zero? ampat) (set! ampat 25))
-	(if (zero? ampdc) (set! ampdc 75))
-	(if (zero? indxat) (set! indxat 25))
-	(if (zero? indxdc) (set! indxdc 75))
-	(set! (indfs i) (make-env (stretch-envelope indxfun 25 indxat 75 indxdc) :duration dur
-				  :scaler (- dev1 dev0) :offset dev0))
-	(set! (ampfs i) (make-env (stretch-envelope ampf 25 ampat 75 ampdc) :duration dur
-				  :scaler (/ (* rsamp amp rfamp) totalamp)))
-	(set! (c-rats i) harm)
-	(set! (carriers i) (make-oscil cfq))))
+	     (harm (round (/ freq pitch))))
+	(let ((rfamp  (frmdat 2))
+	      (ampat (* 100 (/ (frmdat 3) dur)))
+	      (ampdc (- 100 (* 100 (/ (frmdat 4) dur))))
+	      (dev0 (hz->radians (* (frmdat 5) freq)))
+	      (dev1 (hz->radians (* (frmdat 6) freq)))
+	      (indxat (* 100 (/ (frmdat 7) dur)))
+	      (indxdc (- 100 (* 100 (/ (frmdat 8) dur))))
+	      (ampf (car frmdat))
+	      (rsamp (- 1.0 (abs (- harm (/ freq pitch)))))
+	      (cfq (* pitch harm)))
+	  (if (zero? ampat) (set! ampat 25))
+	  (if (zero? ampdc) (set! ampdc 75))
+	  (if (zero? indxat) (set! indxat 25))
+	  (if (zero? indxdc) (set! indxdc 75))
+	  (set! (indfs i) (make-env (stretch-envelope indxfun 25 indxat 75 indxdc) :duration dur
+				    :scaler (- dev1 dev0) :offset dev0))
+	  (set! (ampfs i) (make-env (stretch-envelope ampf 25 ampat 75 ampdc) :duration dur
+				    :scaler (/ (* rsamp amp rfamp) totalamp)))
+	  (set! (c-rats i) harm)
+	  (set! (carriers i) (make-oscil cfq)))))
     (if (= numformants 2)
 	(let ((e1 (ampfs 0))
 	      (e2 (ampfs 1))
@@ -1944,62 +1944,60 @@ is a physical model of a flute:
 	(attack-size (or attack 1)))
     
     (let* ((hop (floor (/ fftsize-1 4)))
-	   (outhop (floor (* time-scaler hop)))
-	   (ifreq (/ 1.0 outhop))
-	   (max-oscils (* 2 max-peaks-1)))
-      
-      (let ((end (+ start (seconds->samples dur)))
-	    (fil (make-readin file))
-	    (fdr (make-float-vector fftsize-1))
-	    (fdi (make-float-vector fftsize-1))
-	    (window (make-fft-window blackman2-window fftsize-1))
-	    (current-peak-freqs (make-float-vector max-oscils))
-	    (last-peak-freqs (make-float-vector max-oscils))
-	    (current-peak-amps (make-float-vector max-oscils))
-	    (last-peak-amps (make-float-vector max-oscils))
-	    (peak-amps (make-float-vector max-peaks-1))
-	    (peak-freqs (make-float-vector max-peaks-1))
-	    (amps (make-float-vector max-oscils))	;run-time generated amplitude and frequency envelopes
-	    (rates (make-float-vector max-oscils))
-	    (freqs (make-float-vector max-oscils))
-	    (sweeps (make-float-vector max-oscils))
-	    ;; (lowest-magnitude .001)
+	   (outhop (floor (* time-scaler hop))))
+      (let ((ifreq (/ 1.0 outhop))
+	    (max-oscils (* 2 max-peaks-1)))
+	(let ((end (+ start (seconds->samples dur)))
+	      (fil (make-readin file))
+	      (fdr (make-float-vector fftsize-1))
+	      (fdi (make-float-vector fftsize-1))
+	      (window (make-fft-window blackman2-window fftsize-1))
+	      (current-peak-freqs (make-float-vector max-oscils))
+	      (last-peak-freqs (make-float-vector max-oscils))
+	      (current-peak-amps (make-float-vector max-oscils))
+	      (last-peak-amps (make-float-vector max-oscils))
+	      (peak-amps (make-float-vector max-peaks-1))
+	      (peak-freqs (make-float-vector max-peaks-1))
+	      (amps (make-float-vector max-oscils))	;run-time generated amplitude and frequency envelopes
+	      (rates (make-float-vector max-oscils))
+	      (freqs (make-float-vector max-oscils))
+	      (sweeps (make-float-vector max-oscils))
+	      ;; (lowest-magnitude .001)
+	      
+	      (ihifreq (hz->radians ifreq))
+	      (fftscale (/ 1.0 fftsize-1 .42323)) ;integrate Blackman-Harris window = .42323*window width and shift by fftsize-1
+	      (fft-mag (/ *clm-srate* fftsize-1))
+	      (furthest-away-accepted .1)
+	      (filptr 0)
+	      (filend 0)
+	      (cur-oscils max-oscils)
+	      (splice-attack (number? attack))
+	      (ramped-attack (make-float-vector attack-size)))
+	  (let ((obank (make-oscil-bank freqs (make-float-vector max-oscils) amps)))
 	    
-	    (ihifreq (hz->radians ifreq))
-	    (fftscale (/ 1.0 fftsize-1 .42323)) ;integrate Blackman-Harris window = .42323*window width and shift by fftsize-1
-	    (fft-mag (/ *clm-srate* fftsize-1))
-	    (furthest-away-accepted .1)
-	    (filptr 0)
-	    (filend 0)
-	    (cur-oscils max-oscils)
-	    (splice-attack (number? attack))
-	    (ramped-attack (make-float-vector attack-size)))
-	(let ((obank (make-oscil-bank freqs (make-float-vector max-oscils) amps)))
-
-	  (set! filend (mus-length fil))
-	  (float-vector-scale! window fftscale)
-	  
-	  (when splice-attack
-	    (let ((cur-end (+ start attack-size)))
-	      ;; my experience in translating SMS, and rumor via Greg Sandell leads me to believe that
-	      ;; there is in fact no way to model some attacks successfully in this manner, so this block
-	      ;; simply splices the original attack on to the rest of the note.  "attack" is the number
-	      ;; of samples to include bodily.
-	      (do ((i start (+ i 1)))
-		  ((= i cur-end))
-		(outa i (* amp (readin fil))))
-	      (set! filptr attack_size)
-	      (let ((mult (make-env '(0 1.0 1.0 0.0) :length attack-size)))
-		(do ((k 0 (+ k 1)))
-		    ((= k attack-size))
-		  (float-vector-set! ramped-attack k (* (env mult) (readin fil)))))
-	      (set! start cur-end)))
-	  
-	  (when (< start end)
-	    (do ((i start (+ i outhop)))
-		((>= i end))
-	      (when (<= filptr filend)
-		(let ((peaks 0))
+	    (set! filend (mus-length fil))
+	    (float-vector-scale! window fftscale)
+	    
+	    (when splice-attack
+	      (let ((cur-end (+ start attack-size)))
+		;; my experience in translating SMS, and rumor via Greg Sandell leads me to believe that
+		;; there is in fact no way to model some attacks successfully in this manner, so this block
+		;; simply splices the original attack on to the rest of the note.  "attack" is the number
+		;; of samples to include bodily.
+		(do ((i start (+ i 1)))
+		    ((= i cur-end))
+		  (outa i (* amp (readin fil))))
+		(set! filptr attack_size)
+		(let ((mult (make-env '(0 1.0 1.0 0.0) :length attack-size)))
+		  (do ((k 0 (+ k 1)))
+		      ((= k attack-size))
+		    (float-vector-set! ramped-attack k (* (env mult) (readin fil)))))
+		(set! start cur-end)))
+	    
+	    (when (< start end)
+	      (do ((i start (+ i outhop)))
+		  ((>= i end))
+		(when (<= filptr filend)
 		  ;; get next block of data and apply window to it
 		  (set! (mus-location fil) filptr)
 		  (do ((k 0 (+ k 1)))
@@ -2019,77 +2017,78 @@ is a physical model of a flute:
 		  (fill! current-peak-amps 0.0)
 		  (fill! peak-amps 0.0)
 		  
-		  (let ((ra (fdr 0))
-			(la 0.0)
-			(ca 0.0))
-		    ;; search for current peaks following Xavier Serra's recommendations in
-		    ;; "A System for Sound Analysis/Transformation/Synthesis 
-		    ;;      Based on a Deterministic Plus Stochastic Decomposition"
+		  (let ((peaks 0))
+		    (let ((ra (fdr 0))
+			  (la 0.0)
+			  (ca 0.0))
+		      ;; search for current peaks following Xavier Serra's recommendations in
+		      ;; "A System for Sound Analysis/Transformation/Synthesis 
+		      ;;      Based on a Deterministic Plus Stochastic Decomposition"
+		      (do ((k 0 (+ k 1)))
+			  ((= k highest-bin-1))
+			(set! la ca)
+			(set! ca ra)
+			(set! ra (fdr k))
+			(when (and (> ca .001) ; lowest-magnitude
+				   (> ca ra)
+				   (> ca la)
+				   (not (zero? ra))
+				   (not (zero? la)))
+			  ;; found a local maximum above the current threshold (its bin number is k-1)
+			  (let ((logla (log la 10.0))
+				(logca (log ca 10.0))
+				(logra (log ra 10.0)))
+			    (let ((offset (/ (* .5 (- logla logra)) (+ logla (* -2 logca) logra)))) ; isn't logca always 0?
+			      (let ((amp (expt 10.0 (- logca (* .25 (- logla logra) offset))))
+				    (freq (* fft-mag (+ k offset -1))))
+				;; (if (not (real? amp)) (format *stderr* "~A ~A ~A -> ~A ~A~%" la ca ra offset amp))
+				(if (= peaks max-peaks-1)
+				    ;; gotta either flush this peak, or find current lowest and flush him
+				    (let ((minp 0)
+					  (minpeak (peak-amps 0)))
+				      (do ((j 1 (+ j 1)))
+					  ((= j max-peaks-1))
+					(if (< (peak-amps j) minpeak)
+					    (begin
+					      (set! minp j)
+					      (set! minpeak (peak-amps j)))))
+				      (if (> amp minpeak)
+					  (begin
+					    (set! (peak-freqs minp) freq)
+					    (set! (peak-amps minp) amp))))
+				    (begin
+				      (set! (peak-freqs peaks) freq)
+				      (set! (peak-amps peaks) amp)
+				      (set! peaks (+ peaks 1))))))))))
+		    ;; now we have the current peaks -- match them to the previous set and do something interesting with the result
+		    ;; the end results are reflected in the updated values in the rates and sweeps arrays.
+		    ;; search for fits between last and current, set rates/sweeps for those found
+		    ;;   try to go by largest amp first 
 		    (do ((k 0 (+ k 1)))
-			((= k highest-bin-1))
-		      (set! la ca)
-		      (set! ca ra)
-		      (set! ra (fdr k))
-		      (when (and (> ca .001) ; lowest-magnitude
-				 (> ca ra)
-				 (> ca la)
-				 (not (zero? ra))
-				 (not (zero? la)))
-			;; found a local maximum above the current threshold (its bin number is k-1)
-			(let ((logla (log la 10.0))
-			      (logca (log ca 10.0))
-			      (logra (log ra 10.0)))
-			  (let* ((offset (/ (* .5 (- logla logra)) (+ logla (* -2 logca) logra))) ; isn't logca always 0?
-				 (amp (expt 10.0 (- logca (* .25 (- logla logra) offset))))
-				 (freq (* fft-mag (+ k offset -1))))
-			    ;; (if (not (real? amp)) (format *stderr* "~A ~A ~A -> ~A ~A~%" la ca ra offset amp))
-			    (if (= peaks max-peaks-1)
-				;; gotta either flush this peak, or find current lowest and flush him
-				(let ((minp 0)
-				      (minpeak (peak-amps 0)))
-				  (do ((j 1 (+ j 1)))
+			((= k peaks))
+		      (let ((pl (float-vector-peak-and-location peak-amps)))
+			(let ((maxpk (car pl))
+			      (maxp (cadr pl)))
+			  ;; now maxp points to next largest unmatched peak
+			  (if (> maxpk 0.0)
+			      (let ((closestp -1)
+				    (closestamp 10.0)
+				    (current-freq (peak-freqs maxp)))
+				(let ((icf (/ 1.0 current-freq)))
+				  (do ((j 0 (+ j 1)))
 				      ((= j max-peaks-1))
-				    (if (< (peak-amps j) minpeak)
-					(begin
-					  (set! minp j)
-					  (set! minpeak (peak-amps j)))))
-				  (if (> amp minpeak)
+				    (if (> (last-peak-amps j) 0.0)
+					(let ((closeness (* icf (abs (- (last-peak-freqs j) current-freq)))))
+					  (if (< closeness closestamp)
+					      (begin
+						(set! closestamp closeness)
+						(set! closestp j))))))
+				  (if (< closestamp furthest-away-accepted)
 				      (begin
-					(set! (peak-freqs minp) freq)
-					(set! (peak-amps minp) amp))))
-				(begin
-				  (set! (peak-freqs peaks) freq)
-				  (set! (peak-amps peaks) amp)
-				  (set! peaks (+ peaks 1)))))))))
-		  ;; now we have the current peaks -- match them to the previous set and do something interesting with the result
-		  ;; the end results are reflected in the updated values in the rates and sweeps arrays.
-		  ;; search for fits between last and current, set rates/sweeps for those found
-		  ;;   try to go by largest amp first 
-		  (do ((k 0 (+ k 1)))
-		      ((= k peaks))
-		    (let ((pl (float-vector-peak-and-location peak-amps)))
-		      (let ((maxpk (car pl))
-			    (maxp (cadr pl)))
-			;; now maxp points to next largest unmatched peak
-			(if (> maxpk 0.0)
-			    (let ((closestp -1)
-				  (closestamp 10.0)
-				  (current-freq (peak-freqs maxp)))
-			      (let ((icf (/ 1.0 current-freq)))
-				(do ((j 0 (+ j 1)))
-				    ((= j max-peaks-1))
-				  (if (> (last-peak-amps j) 0.0)
-				      (let ((closeness (* icf (abs (- (last-peak-freqs j) current-freq)))))
-					(if (< closeness closestamp)
-					    (begin
-					      (set! closestamp closeness)
-					      (set! closestp j))))))
-				(if (< closestamp furthest-away-accepted)
-				    (begin
-				      ;; peak-amp is transferred to appropriate current-amp and zeroed,
-				      (set! (current-peak-amps closestp) (peak-amps maxp))
-				      (set! (peak-amps maxp) 0.0)
-				      (set! (current-peak-freqs closestp) current-freq)))))))))
+					;; peak-amp is transferred to appropriate current-amp and zeroed,
+					(set! (current-peak-amps closestp) (peak-amps maxp))
+					(set! (peak-amps maxp) 0.0)
+					(set! (current-peak-freqs closestp) current-freq))))))))))
 		  (do ((k 0 (+ k 1)))
 		      ((= k max-peaks-1))
 		    (if (> (peak-amps k) 0.0)
@@ -2249,23 +2248,18 @@ is a physical model of a flute:
 				  :duration dur))
 		(ampe (make-env (or ampenv '(0 0 .5 1 1 0)) :scaler amp :duration dur)))
 	    (let ((exA (make-granulate :expansion initial-exp-amt
-				       :input f0
-				       :max-size max-len
-				       :ramp initial-ramp-time 
-				       :hop initial-out-hop
-				       :length initial-seg-len 
-				       :scaler scaler-amp))
-		  (ex-samp 0.0)
-		  (next-samp 0.0)
-		  (vol 0.0)
-		  (valA0 0.0)
-		  (valA1 0.0))
-
-	      (set! vol (env ampe))
-	      (set! valA0 (* vol (granulate exA)))
-	      (set! valA1 (* vol (granulate exA)))
-	      
-	      (do ((i st (+ i 1)))
+				      :input f0
+				      :max-size max-len
+				      :ramp initial-ramp-time 
+				      :hop initial-out-hop
+				      :length initial-seg-len 
+				      :scaler scaler-amp))
+		  (vol (env ampe)))
+	      (do ((valA0 (* vol (granulate exA)))
+		   (valA1 (* vol (granulate exA)))
+		   (ex-samp 0.0)
+		   (next-samp 0.0)
+		   (i st (+ i 1)))
 		  ((= i nd))
 		(let ((sl (env lenenv))) ;current segment length
 		  ;; now we set the granulate generator internal state to reflect all these envelopes
@@ -2504,15 +2498,11 @@ nil doesnt print anything, which will speed up a bit the process.
 	  (scales (make-float-vector freq-inc 1.0))
 	  (diffs (make-float-vector freq-inc))
 	  (win (make-fft-window blackman2-window fftsize))
-	  (k 0)
-	  (amp 0.0)
 	  (incr (/ (* amp-scaler 4) *clm-srate*))
 	  (beg (seconds->samples start))
 	  (end (seconds->samples (+ start dur)))
 	  (file (make-file->sample infile))
-	  (fs (make-vector freq-inc))
-	  (samp 0)
-	  (fdrc 0.0))
+	  (fs (make-vector freq-inc)))
       (let ((bin (/ *clm-srate* fftsize))
 	    (radius (- 1.0 (/ r fftsize))))
 	(do ((ctr 0 (+ ctr 1)))
@@ -2521,7 +2511,11 @@ nil doesnt print anything, which will speed up a bit the process.
       (set! fs (make-formant-bank fs scales))
 
       (set! (scales 0) 0.0)
-      (do ((i beg (+ i 1)))
+      (do ((k 0)
+	   (amp 0.0)
+	   (samp 0)
+	   (fdrc 0.0)
+	   (i beg (+ i 1)))
 	  ((= i end))
 	(let ((inval (file->sample file samp)))
 	  (set! samp (+ samp 1))
@@ -2653,8 +2647,8 @@ mjkoskin at sci.fi
 (define make-rmsgain 
   (let ((documentation "(make-rmsgain (hp 10.0)) makes an RMS gain generator"))
     (lambda* ((hp 10.0))
-      (let* ((b (- 2.0 (cos (* hp (/ (* 2.0 pi) *clm-srate*)))))
-	     (c2 (- b (sqrt (- (* b b) 1.0)))))
+      (let ((c2 (let ((b (- 2.0 (cos (* hp (/ (* 2.0 pi) *clm-srate*))))))
+		  (- b (sqrt (- (* b b) 1.0))))))
 	(make-rmsg :c1 (- 1.0 c2) :c2 c2)))))
 
 (define rms 
@@ -2698,33 +2692,33 @@ mjkoskin at sci.fi
 
 
 (definstrument (cnvrev file impulse (rev-amt .1))
-  (let* ((file-len (mus-sound-framples file))
-	 (filter-len (mus-sound-framples impulse))
-	 (filter-chan0 (make-float-vector filter-len))
-	 (filter-chan1 (and (= (mus-channels *output*) 2) 
-			    (> (mus-sound-chans impulse) 1)
-			    (make-float-vector filter-len))))
-    (file->array impulse 0 0 filter-len filter-chan0)
-    (if (float-vector? filter-chan1)
-	(file->array impulse 1 0 filter-len filter-chan1)
-	(set! filter-chan1 filter-chan0))
-    (let ((fd (make-readin file))
-	  (fd1 (and (= (mus-channels *output*) 2) 
-		    (> (mus-sound-chans file) 1)
-		    (make-readin file :channel 1))))
-      (let ((ff0 (make-convolve :input fd :filter filter-chan0))
-	    (ff1 (and (= (mus-channels *output*) 2) 
+  (let ((filter-len (mus-sound-framples impulse)))
+    (let ((file-len (mus-sound-framples file))
+	  (filter-chan0 (make-float-vector filter-len))
+	  (filter-chan1 (and (= (mus-channels *output*) 2) 
+			     (> (mus-sound-chans impulse) 1)
+			     (make-float-vector filter-len))))
+      (file->array impulse 0 0 filter-len filter-chan0)
+      (if (float-vector? filter-chan1)
+	  (file->array impulse 1 0 filter-len filter-chan1)
+	  (set! filter-chan1 filter-chan0))
+      (let ((fd (make-readin file))
+	    (fd1 (and (= (mus-channels *output*) 2) 
 		      (> (mus-sound-chans file) 1)
-		      (make-convolve :input fd1 :filter filter-chan1)))
-	    (end (+ file-len filter-len)))
-	(if ff1
-	    (do ((i 0 (+ i 1)))
-		((= i end))
-	      (outa i (* rev-amt (convolve ff0)))
-	      (outb i (* rev-amt (convolve ff1))))
-	    (do ((i 0 (+ i 1)))
-		((= i end))
-	      (outa i (* rev-amt (convolve ff0)))))))))
+		      (make-readin file :channel 1))))
+	(let ((ff0 (make-convolve :input fd :filter filter-chan0))
+	      (ff1 (and (= (mus-channels *output*) 2) 
+			(> (mus-sound-chans file) 1)
+			(make-convolve :input fd1 :filter filter-chan1)))
+	      (end (+ file-len filter-len)))
+	  (if ff1
+	      (do ((i 0 (+ i 1)))
+		  ((= i end))
+		(outa i (* rev-amt (convolve ff0)))
+		(outb i (* rev-amt (convolve ff1))))
+	      (do ((i 0 (+ i 1)))
+		  ((= i end))
+		(outa i (* rev-amt (convolve ff0))))))))))
 
 
 #|
diff --git a/clm23.scm b/clm23.scm
index 99fed8f..47262a5 100644
--- a/clm23.scm
+++ b/clm23.scm
@@ -703,8 +703,8 @@
   (let ((start (seconds->samples beg))
 	(end (seconds->samples (+ beg dur)))
 	(os (make-oscil freq)))
-    (let* ((sr2 (make-src :srate speed :input (lambda (dir) (oscil os))))
-	   (sr1 (make-src :srate speed :input (lambda (dir) (src sr2)))))
+    (let ((sr1 (let ((sr2 (make-src :srate speed :input (lambda (dir) (oscil os)))))
+		 (make-src :srate speed :input (lambda (dir) (src sr2))))))
       (do ((i start (+ i 1))) ((= i end))
 	(outa i (* amp (src sr1)))))))
 
@@ -885,16 +885,17 @@
   (let ((os (make-oscil freq))
 	(start (seconds->samples beg))
 	(end (seconds->samples (+ beg dur)))
-	(arr (make-float-vector 100))
-	(ctr 0)
-	(dir 1))
+	(arr (make-float-vector 100)))
     (do ((i 0 (+ i 1)))
 	((= i 100))
       (set! (arr i) (* amp (- (* i .01) 0.5))))
     (array->file "testx.data" arr 100 22050 1)
     (fill! arr 0.0)
     (file->array "testx.data" 0 0 100 arr)
-    (do ((i start (+ i 1))) ((= i end))
+    (do ((ctr 0)
+	 (dir 1)
+	 (i start (+ i 1))) 
+	((= i end))
       (outa i (* (arr ctr) (oscil os)))
       (set! ctr (+ ctr dir))
       (if (>= ctr 99) (set! dir -1)
@@ -1467,11 +1468,11 @@
     (if (or (null? loop-data)
 	    (<= (cadr loop-data) (car loop-data)))
 	(error 'no-loop-positions)
-	(let* ((loop-start (car loop-data))
-	       (loop-length (- (+ (cadr loop-data) 1) loop-start))
-	       (sound-section (float-vector-scale! (file->array sound 0 loop-start loop-length (make-float-vector loop-length)) amp))
-	       (tbl (make-table-lookup :frequency (/ (* freq (srate sound)) loop-length)
-				       :wave sound-section)))
+	(let ((tbl (let* ((loop-start (car loop-data))
+			  (loop-length (- (+ (cadr loop-data) 1) loop-start))
+			  (sound-section (float-vector-scale! (file->array sound 0 loop-start loop-length (make-float-vector loop-length)) amp)))
+		     (make-table-lookup :frequency (/ (* freq (srate sound)) loop-length)
+					:wave sound-section))))
 	  ;; "freq" here is how fast we read (transpose) the sound -- 1.0 returns the original
 	  (do ((i beg (+ i 1)))
 	      ((= i end))
@@ -1578,14 +1579,14 @@
   (float-vector 0.0 (hz->radians frequency) (* 1.0 n)))
 
 (define (sndclmdoc-sum-of-odd-sines gen fm)
-  (let* ((a2 (* (gen 0) 0.5))
-	 (n (gen 2))
-	 (den (* n (sin a2)))
-	 (result (if (< (abs den) 1.0e-9)
-		     0.0
-		     (/ (* (sin (* n a2)) 
-			   (sin (* (+ 1 n) a2)))
-			den))))
+  (let ((result (let* ((a2 (* (gen 0) 0.5))
+		       (n (gen 2))
+		       (den (* n (sin a2))))
+		  (if (< (abs den) 1.0e-9)
+		      0.0
+		      (/ (* (sin (* n a2)) 
+			    (sin (* (+ 1 n) a2)))
+			 den)))))
     (set! (gen 0) (+ (gen 0) (gen 1) fm))
     result))
 
@@ -2018,9 +2019,9 @@
     (lambda (gen input)
       (let-set! gen 'input input)
       (with-let gen
-	(let* ((modphase (* ratio phase))
-	       (result (* (exp (* r2 (cos modphase)))
-			  (sin (+ phase (* r1 (sin modphase)))))))
+	(let ((result (let ((modphase (* ratio phase)))
+			(* (exp (* r2 (cos modphase)))
+			   (sin (+ phase (* r1 (sin modphase))))))))
 	  (set! phase (+ phase input freq))
 	  result)))))
 
@@ -2029,9 +2030,9 @@
     (lambda (gen input)
       (let-set! gen 'input input)
       (with-let gen
-	(let* ((modphase (* ratio phase))
-	       (result (* (exp (- (* r1 (cos modphase)) r3))
-			  (sin (+ phase (* r2 (sin modphase)))))))
+	(let ((result (let ((modphase (* ratio phase)))
+			(* (exp (- (* r1 (cos modphase)) r3))
+			   (sin (+ phase (* r2 (sin modphase))))))))
 	  (set! phase (+ phase input freq))
 	  result)))))
 
@@ -2128,11 +2129,11 @@
     (sndclmdoc-tritri 0 1 1000.0 0.5 0.1 0.01) ; sci-fi laser gun
     (sndclmdoc-tritri 1 1 4000.0 0.7 0.1 0.01)) ; a sparrow?
   (with-sound (:srate 22050) (sndclmdoc-shift-pitch 0 3 "oboe.snd" 1108.0)) ; 1.7
-  (let* ((sound "oboe.snd") ; 1.8
-	 (mx (maxamp sound))
-	 (dur (mus-sound-duration sound)))
-    (with-sound (:scaled-to mx :srate 22050) 
-      (sndclmdoc-repitch 0 dur sound 554 1000)))
+  (let ((sound "oboe.snd")) ; 1.8
+    (let ((mx (maxamp sound))
+	  (dur (mus-sound-duration sound)))
+      (with-sound (:scaled-to mx :srate 22050) 
+	(sndclmdoc-repitch 0 dur sound 554 1000))))
   (with-sound () (sndclmdoc-fofins 0 1 270 .2 .001 730 .6 1090 .3 2440 .1)) ; "Ahh"
   (with-sound () ; one of JC's favorite demos
     (sndclmdoc-fofins 0 4 270 .2 0.005 730 .6 1090 .3 2440 .1 '(0 0 40 0 75 .2 100 1) 
diff --git a/clm2xen.c b/clm2xen.c
index 87debfa..9120e6c 100644
--- a/clm2xen.c
+++ b/clm2xen.c
@@ -5149,7 +5149,7 @@ static mus_float_t *list_to_partials(Xen harms, int *npartials, int *error_code)
 
   for (i = 0, lst = Xen_copy_arg(harms); i < listlen; i += 2, lst = Xen_cddr(lst))
     {
-      if ((!(Xen_is_number(Xen_car(lst)))) ||
+      if ((!(Xen_is_integer(Xen_car(lst)))) ||
 	  (!(Xen_is_number(Xen_cadr(lst)))))
 	{
 	  (*error_code) = NON_NUMBER_IN_LIST;
@@ -12766,7 +12766,7 @@ static void mus_xen_init(void)
   Xen_define_typed_procedure(S_mus_file_name,		g_mus_file_name_w,		1, 0, 0,  H_mus_file_name,	pl_sc);
   Xen_define_typed_procedure(S_mus_reset,		g_mus_reset_w,			1, 0, 0,  H_mus_reset,		pl_tc);
   Xen_define_typed_procedure(S_mus_copy,		g_mus_copy_w,			1, 0, 0,  H_mus_copy,		pl_cc);
-  Xen_define_procedure(S_mus_run,			g_mus_run_w,			1, 2, 0,  H_mus_run);
+  Xen_define_typed_procedure(S_mus_run,			g_mus_run_w,			1, 2, 0,  H_mus_run,            pl_dcr);
 
   Xen_define_typed_procedure(S_mus_name,     g_mus_name_w, 1, 0, 0,  H_mus_name, pl_sc);
   Xen_define_typed_dilambda(S_mus_phase,     g_mus_phase_w,     H_mus_phase,     S_set S_mus_phase,     g_mus_set_phase_w,      1, 0, 2, 0, pl_dc, pl_dcr);
@@ -12786,7 +12786,7 @@ static void mus_xen_init(void)
   Xen_define_typed_procedure(S_is_oscil_bank,		g_is_oscil_bank_w,		1, 0, 0, H_is_oscil_bank,	pl_bt);
   Xen_define_typed_procedure(S_oscil_bank,		g_oscil_bank_w,			1, 0, 0, H_oscil_bank,		pl_dc);
 
-  Xen_define_procedure(S_mus_apply,			g_mus_apply_w,			0, 0, 1, H_mus_apply);
+  Xen_define_typed_procedure(S_mus_apply,		g_mus_apply_w,			0, 0, 1, H_mus_apply,           pl_dcr);
 
   Xen_define_typed_procedure(S_make_delay,		g_make_delay_w,			0, 0, 1, H_make_delay,		
 			     s7_make_circular_signature(s7, 1, 2, s7_make_symbol(s7, S_is_delay), t));
diff --git a/cload.scm b/cload.scm
index 728a05d..f94aef0 100644
--- a/cload.scm
+++ b/cload.scm
@@ -216,429 +216,427 @@
 
   (set! c-define-output-file-counter (+ c-define-output-file-counter 1))
 
-  (let* ((file-name (string-append *cload-directory* (or output-name (format #f "temp-s7-output-~D" c-define-output-file-counter))))
-	 (c-file-name (string-append file-name ".c"))
-	 (o-file-name (string-append file-name ".o"))
-	 (so-file-name (string-append file-name ".so"))
-	 (init-name (if (string? output-name)
-			(string-append output-name "_init")
-			(string-append "init_" (number->string c-define-output-file-counter))))
-	 (functions ())
-	 (constants ())
-	 (macros ())     ; these are protected by #ifdef ... #endif
-	 (inits ())      ; C code (a string in s7) inserted in the library initialization function
-	 (p #f)
-	 (if-funcs ())   ; if-functions (guaranteed to return int, so we can optimize away make-integer etc)
-	 (rf-funcs ())  ; rf-functions
-	 (sig-symbols (list (cons 'integer? 0) (cons 'boolean? 0) (cons 'real?  0) (cons 'float? 0) 
-			    (cons 'char? 0) (cons 'string? 0) (cons 'c-pointer? 0) (cons 't 0)))
-	 (signatures (make-hash-table)))
-
-    (define (make-signature rtn args)
-
-      (define (compress sig)
-	(if (and (pair? sig)
-		 (pair? (cdr sig))
-		 (eq? (car sig) (cadr sig)))
-	    (compress (cdr sig))
-	    sig))
-
-      (let ((sig (list (cload->signature rtn #t)))
-	    (cyclic #f))
-	(for-each
-	 (lambda (arg)
-	   (set! sig (cons (cload->signature arg) sig)))
-	 args)
-	(let ((len (length sig)))
-	  (set! sig (compress sig))
-	  (set! cyclic (not (= len (length sig)))))
-	(set! sig (reverse sig))
-	(unless (signatures sig) ; it's not in our collection yet
-	  (let ((pl (make-string (+ (if cyclic 4 3) (length sig))))
-		(loc (if cyclic 4 3)))
-	    (set! (pl 0) #\p) 
-	    (if cyclic
-		(begin (set! (pl 1) #\c) (set! (pl 2) #\l) (set! (pl 3) #\_))
-		(begin (set! (pl 1) #\l) (set! (pl 2) #\_)))
-	    (for-each 
-	     (lambda (typer)
-	       (set! (pl loc) (signature->pl typer))
-	       (let ((count (or (assq typer sig-symbols)
-				(assq 't sig-symbols))))
-		 (set-cdr! count (+ (cdr count) 1)))
-	       (set! loc (+ loc 1)))
-	     sig)
-	    (set! (signatures sig) pl)))
-	sig))
-
-    (define (initialize-c-file)
-      ;; C header stuff
-      (set! p (open-output-file c-file-name))
-      (format p "#include <stdlib.h>~%")
-      (format p "#include <stdio.h>~%")
-      (format p "#include <string.h>~%")
-      (if (string? headers)
-	  (format p "#include <~A>~%" headers)
-	  (for-each
-	   (lambda (header)
-	     (format p "#include <~A>~%" header))
-	   headers))
-      (format p "#include \"s7.h\"~%~%"))
-  
-    (define collides?
-      (let ((all-names ()))
-	(lambda (name)
-	  (if (memq name all-names) 
-	      (format *stderr* "~A twice?~%" name)
-	      (set! all-names (cons name all-names)))
-	  name)))
-
-    (define* (add-one-function return-type name arg-types doc)
-      ;; (format *stderr* "~A ~A ~A~%" return-type name arg-types): double j0 (double) for example
-      ;; C function -> scheme
-      (let* ((func-name   (symbol->string (collides? name)))
-	     (num-args    (length arg-types))
-	     (base-name   (string-append (if (> (length prefix) 0) prefix "s7_dl") "_" func-name)) ; not "g" -- collides with glib
-	     (scheme-name (string-append prefix (if (> (length prefix) 0) ":" "") func-name)))
-
-	(if (and (= num-args 1) 
-		 (eq? (car arg-types) 'void))
-	    (set! num-args 0))
-	(format p "~%/* -------- ~A -------- */~%" func-name)
-	(format p "static s7_pointer ~A(s7_scheme *sc, s7_pointer args)~%" base-name)
-	(format p "{~%")
-	
-	;; get the Scheme args, check their types, assign to local C variables
-	(when (positive? num-args)
-	  (format p "  s7_pointer arg;~%")
-	  (do ((i 0 (+ i 1))
-	       (type arg-types (cdr type)))
-	      ((= i num-args))
-	    (format p "  ~A ~A_~D;~%" ((if (pair? (car type)) caar car) type) base-name i))
-	  (format p "  arg = args;~%")
-	  (do ((i 0 (+ i 1))
-	       (type arg-types (cdr type)))
-	      ((= i num-args))
-	    
-	    (let* ((nominal-type ((if (pair? (car type)) caar car) type))  ; double in the example
-		   (true-type    ((if (pair? (car type)) cadar car) type))
-		   (s7-type      (C-type->s7-type true-type)))                    ; real
-	      (if (eq? true-type 's7_pointer)
-		  (format p "    ~A_~D = s7_car(arg);~%" base-name i)
-		  (begin
-		    (format p "  if (~A(s7_car(arg)))~%" (checker true-type))
-		    (format p "    ~A_~D = (~A)~A(~As7_car(arg));~%"
-			    base-name i
-			    nominal-type
-			    (s7->C true-type)                               ; s7_number_to_real which requires 
-			    (if (memq s7-type '(boolean real))              ;   the extra sc arg
-				"sc, " ""))
-		    (format p "  else return(s7_wrong_type_arg_error(sc, ~S, ~D, s7_car(arg), ~S));~%"
-			    func-name 
-			    (if (= num-args 1) 0 (+ i 1))
-			    (if (symbol? s7-type) 
-				(symbol->string s7-type) 
-				(error 'bad-arg (format #f "in ~S, ~S is not a symbol~%" name s7-type))))))
-	      (if (< i (- num-args 1))
-		  (format p "  arg = s7_cdr(arg);~%")))))
+  (let ((file-name (string-append *cload-directory* (or output-name (format #f "temp-s7-output-~D" c-define-output-file-counter)))))
+    (let ((c-file-name (string-append file-name ".c"))
+	  (o-file-name (string-append file-name ".o"))
+	  (so-file-name (string-append file-name ".so"))
+	  (init-name (if (string? output-name)
+			 (string-append output-name "_init")
+			 (string-append "init_" (number->string c-define-output-file-counter))))
+	  (functions ())
+	  (constants ())
+	  (macros ())     ; these are protected by #ifdef ... #endif
+	  (inits ())      ; C code (a string in s7) inserted in the library initialization function
+	  (p #f)
+	  (if-funcs ())   ; if-functions (guaranteed to return int, so we can optimize away make-integer etc)
+	  (rf-funcs ())  ; rf-functions
+	  (sig-symbols (list (cons 'integer? 0) (cons 'boolean? 0) (cons 'real?  0) (cons 'float? 0) 
+			     (cons 'char? 0) (cons 'string? 0) (cons 'c-pointer? 0) (cons 't 0)))
+	  (signatures (make-hash-table)))
+      
+      (define (make-signature rtn args)
 	
-	;; return C value to Scheme
-	(if (pair? return-type) 
-	    (set! return-type (cadr return-type)))
-	(let ((return-translator (C->s7 return-type)))
-	  (format p "  ")
-	  (if (not (eq? return-translator #t))
-	      (format p "return("))
-	  (if (symbol? return-translator)
-	      (format p "~A(sc, (~A)" return-translator (C->s7-cast return-type)))
-	  (format p "~A(" func-name)
-	  (do ((i 0 (+ i 1)))
-	      ((>= i (- num-args 1)))
-	    (format p "~A_~D, " base-name i))
-	  (if (positive? num-args)
-	      (format p "~A_~D" base-name (- num-args 1)))
-	  (format p ")")
-	  (if (symbol? return-translator)
-	      (format p ")"))
-	  (format p (if (not (eq? return-translator #t))
-			");~%"
-			";~%  return(s7_unspecified(sc));~%"))
-	  (format p "}~%"))
+	(define (compress sig)
+	  (if (and (pair? sig)
+		   (pair? (cdr sig))
+		   (eq? (car sig) (cadr sig)))
+	      (compress (cdr sig))
+	      sig))
 	
-	;; add optimizer connection
-	(when (and (eq? return-type 'double)     ; double (f double) -- s7_rf_t: double f(s7, s7_pointer **p)
-		   (eq? (car arg-types) 'double)
-		   (or (= num-args 1)
-		       (and (= num-args 2)       ; double (f double double)
-			    (eq? (cadr arg-types) 'double))))
-	  (set! rf-funcs (cons (cons func-name scheme-name) rf-funcs))
-	  (format p (if (= num-args 1)	    
-	                "static s7_double ~A_rf_r(s7_scheme *sc, s7_pointer **p)~
+	(let ((sig (list (cload->signature rtn #t)))
+	      (cyclic #f))
+	  (for-each
+	   (lambda (arg)
+	     (set! sig (cons (cload->signature arg) sig)))
+	   args)
+	  (let ((len (length sig)))
+	    (set! sig (compress sig))
+	    (set! cyclic (not (= len (length sig)))))
+	  (set! sig (reverse sig))
+	  (unless (signatures sig) ; it's not in our collection yet
+	    (let ((pl (make-string (+ (if cyclic 4 3) (length sig))))
+		  (loc (if cyclic 4 3)))
+	      (set! (pl 0) #\p) 
+	      (if cyclic
+		  (begin (set! (pl 1) #\c) (set! (pl 2) #\l) (set! (pl 3) #\_))
+		  (begin (set! (pl 1) #\l) (set! (pl 2) #\_)))
+	      (for-each 
+	       (lambda (typer)
+		 (set! (pl loc) (signature->pl typer))
+		 (let ((count (or (assq typer sig-symbols)
+				  (assq 't sig-symbols))))
+		   (set-cdr! count (+ (cdr count) 1)))
+		 (set! loc (+ loc 1)))
+	       sig)
+	      (set! (signatures sig) pl)))
+	  sig))
+      
+      (define (initialize-c-file)
+	;; C header stuff
+	(set! p (open-output-file c-file-name))
+	(format p "#include <stdlib.h>~%")
+	(format p "#include <stdio.h>~%")
+	(format p "#include <string.h>~%")
+	(if (string? headers)
+	    (format p "#include <~A>~%" headers)
+	    (for-each
+	     (lambda (header)
+	       (format p "#include <~A>~%" header))
+	     headers))
+	(format p "#include \"s7.h\"~%~%"))
+      
+      (define collides?
+	(let ((all-names ()))
+	  (lambda (name)
+	    (if (memq name all-names) 
+		(format *stderr* "~A twice?~%" name)
+		(set! all-names (cons name all-names)))
+	    name)))
+      
+      (define* (add-one-function return-type name arg-types doc)
+	;; (format *stderr* "~A ~A ~A~%" return-type name arg-types): double j0 (double) for example
+	;; C function -> scheme
+	(let ((func-name (symbol->string (collides? name))))
+	  (let ((num-args (length arg-types))
+		(base-name (string-append (if (> (length prefix) 0) prefix "s7_dl") "_" func-name)) ; not "g" -- collides with glib
+		(scheme-name (string-append prefix (if (> (length prefix) 0) ":" "") func-name)))
+	  
+	    (if (and (= num-args 1) 
+		     (eq? (car arg-types) 'void))
+		(set! num-args 0))
+	    (format p "~%/* -------- ~A -------- */~%" func-name)
+	    (format p "static s7_pointer ~A(s7_scheme *sc, s7_pointer args)~%" base-name)
+	    (format p "{~%")
+	    
+	    ;; get the Scheme args, check their types, assign to local C variables
+	    (when (positive? num-args)
+	      (format p "  s7_pointer arg;~%")
+	      (do ((i 0 (+ i 1))
+		   (type arg-types (cdr type)))
+		  ((= i num-args))
+		(format p "  ~A ~A_~D;~%" ((if (pair? (car type)) caar car) type) base-name i))
+	      (format p "  arg = args;~%")
+	      (do ((i 0 (+ i 1))
+		   (type arg-types (cdr type)))
+		  ((= i num-args))
+		
+		(let* ((nominal-type ((if (pair? (car type)) caar car) type))  ; double in the example
+		       (true-type    ((if (pair? (car type)) cadar car) type))
+		       (s7-type      (C-type->s7-type true-type)))                    ; real
+		  (if (eq? true-type 's7_pointer)
+		      (format p "    ~A_~D = s7_car(arg);~%" base-name i)
+		      (begin
+			(format p "  if (~A(s7_car(arg)))~%" (checker true-type))
+			(format p "    ~A_~D = (~A)~A(~As7_car(arg));~%"
+				base-name i
+				nominal-type
+				(s7->C true-type)                               ; s7_number_to_real which requires 
+				(if (memq s7-type '(boolean real))              ;   the extra sc arg
+				    "sc, " ""))
+			(format p "  else return(s7_wrong_type_arg_error(sc, ~S, ~D, s7_car(arg), ~S));~%"
+				func-name 
+				(if (= num-args 1) 0 (+ i 1))
+				(if (symbol? s7-type) 
+				    (symbol->string s7-type) 
+				    (error 'bad-arg (format #f "in ~S, ~S is not a symbol~%" name s7-type))))))
+		  (if (< i (- num-args 1))
+		      (format p "  arg = s7_cdr(arg);~%")))))
+	    
+	    ;; return C value to Scheme
+	    (if (pair? return-type) 
+		(set! return-type (cadr return-type)))
+	    (let ((return-translator (C->s7 return-type)))
+	      (format p "  ")
+	      (if (not (eq? return-translator #t))
+		  (format p "return("))
+	      (if (symbol? return-translator)
+		  (format p "~A(sc, (~A)" return-translator (C->s7-cast return-type)))
+	      (format p "~A(" func-name)
+	      (do ((i 0 (+ i 1)))
+		  ((>= i (- num-args 1)))
+		(format p "~A_~D, " base-name i))
+	      (if (positive? num-args)
+		  (format p "~A_~D" base-name (- num-args 1)))
+	      (format p ")")
+	      (if (symbol? return-translator)
+		  (format p ")"))
+	      (format p (if (not (eq? return-translator #t))
+			    ");~%"
+			    ";~%  return(s7_unspecified(sc));~%"))
+	      (format p "}~%"))
+	    
+	    ;; add optimizer connection
+	    (when (and (eq? return-type 'double)     ; double (f double) -- s7_rf_t: double f(s7, s7_pointer **p)
+		       (eq? (car arg-types) 'double)
+		       (or (= num-args 1)
+			   (and (= num-args 2)       ; double (f double double)
+				(eq? (cadr arg-types) 'double))))
+	      (set! rf-funcs (cons (cons func-name scheme-name) rf-funcs))
+	      (format p (if (= num-args 1)	    
+			    "static s7_double ~A_rf_r(s7_scheme *sc, s7_pointer **p)~
                           {s7_rf_t f; s7_double x; f = (s7_rf_t)(**p); (*p)++; x = f(sc, p); return(~A(x));}~%" 
-			"static s7_double ~A_rf_r(s7_scheme *sc, s7_pointer **p)~%  ~
+			    "static s7_double ~A_rf_r(s7_scheme *sc, s7_pointer **p)~%  ~
                           {s7_rf_t f; s7_double x, y; f = (s7_rf_t)(**p); (*p)++; x = f(sc, p); f = (s7_rf_t)(**p); (*p)++; y = f(sc, p); return(~A(x, y));}~%")
-		  func-name func-name)
-	  (format p "static s7_rf_t ~A_rf(s7_scheme *sc, s7_pointer expr) ~
+		      func-name func-name)
+	      (format p "static s7_rf_t ~A_rf(s7_scheme *sc, s7_pointer expr) ~
                       {if (s7_arg_to_rf(sc, s7_cadr(expr))) return(~A_rf_r); return(NULL);}~%" 
-		  func-name func-name))
-
-	(when (and (eq? return-type 'int)        ; int (f int|double|void)
-		   (memq (car arg-types) '(int double void))
-		   (<= num-args 1))
-	  (set! if-funcs (cons (cons func-name scheme-name) if-funcs))
-	  (case (car arg-types)
-	    ((double)
-	     (format p "static s7_int ~A_if_r(s7_scheme *sc, s7_pointer **p)~
+		      func-name func-name))
+	    
+	    (when (and (eq? return-type 'int)        ; int (f int|double|void)
+		       (memq (car arg-types) '(int double void))
+		       (<= num-args 1))
+	      (set! if-funcs (cons (cons func-name scheme-name) if-funcs))
+	      (case (car arg-types)
+		((double)
+		 (format p "static s7_int ~A_if_r(s7_scheme *sc, s7_pointer **p)~
                          {s7_rf_t f; s7_double x; f = (s7_rf_t)(**p); (*p)++; x = f(sc, p); return(~A(x));}~%" 
-		     func-name func-name)
-	     (format p "static s7_if_t ~A_if(s7_scheme *sc, s7_pointer expr) ~
+			 func-name func-name)
+		 (format p "static s7_if_t ~A_if(s7_scheme *sc, s7_pointer expr) ~
                          {if (s7_arg_to_if(sc, s7_cadr(expr))) return(~A_if_r); return(NULL);}~%" 
-		     func-name func-name))
-	    ((int)
-	     (format p "static s7_int ~A_if_i(s7_scheme *sc, s7_pointer **p)~
+			 func-name func-name))
+		((int)
+		 (format p "static s7_int ~A_if_i(s7_scheme *sc, s7_pointer **p)~
                          {s7_if_t f; s7_int x; f = (s7_if_t)(**p); (*p)++; x = f(sc, p); return(~A(x));}~%" 
-		     func-name (if (string=? func-name "abs") "llabs" func-name))
-	     (format p "static s7_if_t ~A_if(s7_scheme *sc, s7_pointer expr) ~
+			 func-name (if (string=? func-name "abs") "llabs" func-name))
+		 (format p "static s7_if_t ~A_if(s7_scheme *sc, s7_pointer expr) ~
                          {if (s7_arg_to_if(sc, s7_cadr(expr))) return(~A_if_i); return(NULL);}~%" 
-		     func-name func-name))
-	    ((void)
-	     (format p "static s7_int ~A_if_i(s7_scheme *sc, s7_pointer **p) {return(~A());}~%" func-name func-name)
-	     (format p "static s7_if_t ~A_if(s7_scheme *sc, s7_pointer expr) {return(~A_if_i);}~%" func-name func-name))))
-	  
-	(format p "~%")
-	(set! functions (cons (list scheme-name base-name 
-				    (if (and (string? doc)
-					     (> (length doc) 0))
-					doc
-					(format #f "~A ~A~A" return-type func-name arg-types))
-				    num-args 0 
-				    (make-signature return-type arg-types))
-			      functions))))
-
-    
-    (define (end-c-file)
-      ;; now the init function
-      ;;   the new scheme variables and functions are placed in the current environment
-
-      (format p "void ~A(s7_scheme *sc);~%" init-name)
-      (format p "void ~A(s7_scheme *sc)~%" init-name)
-      (format p "{~%")
-      (format p "  s7_pointer cur_env;~%")
-      (format p "  s7_pointer ")
-      (let ((pls (hash-table-entries signatures))
-	    (loc 1))
-	(for-each
-	 (lambda (s)
-	   (format p "~A~A~A" (cdr s) (if (< loc pls) (values "," " ") (values ";" #\newline)))
-	   (set! loc (+ loc 1)))
-	 signatures))
-
-      (let ((syms ())
-	    (names ()))
-	(for-each
-	 (lambda (q)
-	   (when (positive? (cdr q))
-	     (set! syms (cons (car q) syms))
-	     (set! names (cons (signature->pl (car q)) names))))
-	 sig-symbols)
-	(when (pair? syms)
-	  (format p "  {~%    s7_pointer ~{~C~^, ~};~%" names)
-	  (for-each
-	   (lambda (name sym)
-	     (if (eq? sym 't)
-		 (format p "    t = s7_t(sc);~%")
-		 (format p "    ~C = s7_make_symbol(sc, ~S);~%" name (symbol->string sym))))
-	   names syms)))
-      (format p "~%")
-      (for-each
-       (lambda (sig)
-	 (let ((cyclic (char=? ((cdr sig) 1) #\c)))
-	   (if cyclic
-	       (format p "    ~A = s7_make_circular_signature(sc, ~D, ~D" (cdr sig) (- (length (car sig)) 1) (length (car sig)))
-	       (format p "    ~A = s7_make_signature(sc, ~D" (cdr sig) (length (car sig))))
-	   (format p "~{~^, ~C~}" (substring (cdr sig) (if cyclic 4 3)))
-	   (format p ");~%")))
-       signatures)
-      (format p "  }~%~%")
-      (format p "  cur_env = s7_outlet(sc, s7_curlet(sc));~%") ; this must exist because we pass load the env ourselves
-      
-      ;; send out any special initialization code
-      (for-each
-       (lambda (init-str)
-	 (format p "  ~A~%" init-str))
-       (reverse inits))
-
-      ;; "constants" -- actually variables in s7 because we want them to be local to the current environment
-      (if (pair? constants)
-	  (begin
+			 func-name func-name))
+		((void)
+		 (format p "static s7_int ~A_if_i(s7_scheme *sc, s7_pointer **p) {return(~A());}~%" func-name func-name)
+		 (format p "static s7_if_t ~A_if(s7_scheme *sc, s7_pointer expr) {return(~A_if_i);}~%" func-name func-name))))
+	    
 	    (format p "~%")
-	    (for-each
-	     (lambda (c)
-	       (let* ((type (c 0))
-		      (c-name (c 1))
-		      (scheme-name (string-append prefix (if (> (length prefix) 0) ":" "") c-name)))
-		 (format p "  s7_define(sc, cur_env, s7_make_symbol(sc, ~S), ~A(sc, (~A)~A));~%" 
-			 scheme-name
-			 (C->s7 type)
-			 (C->s7-cast type)
-			 c-name)))
-	     constants)))
+	    (set! functions (cons (list scheme-name base-name 
+					(if (and (string? doc)
+						 (> (length doc) 0))
+					    doc
+					    (format #f "~A ~A~A" return-type func-name arg-types))
+					num-args 0 
+					(make-signature return-type arg-types))
+				  functions)))))
       
-      ;; C macros -- need #ifdef name #endif wrapper
-      (if (pair? macros)
-	  (begin
-	    (format p "~%")
+      (define (end-c-file)
+	;; now the init function
+	;;   the new scheme variables and functions are placed in the current environment
+	
+	(format p "void ~A(s7_scheme *sc);~%" init-name)
+	(format p "void ~A(s7_scheme *sc)~%" init-name)
+	(format p "{~%")
+	(format p "  s7_pointer cur_env;~%")
+	(format p "  s7_pointer ")
+	(let ((pls (hash-table-entries signatures))
+	      (loc 1))
+	  (for-each
+	   (lambda (s)
+	     (format p "~A~A~A" (cdr s) (if (< loc pls) (values "," " ") (values ";" #\newline)))
+	     (set! loc (+ loc 1)))
+	   signatures))
+	
+	(let ((syms ())
+	      (names ()))
+	  (for-each
+	   (lambda (q)
+	     (when (positive? (cdr q))
+	       (set! syms (cons (car q) syms))
+	       (set! names (cons (signature->pl (car q)) names))))
+	   sig-symbols)
+	  (when (pair? syms)
+	    (format p "  {~%    s7_pointer ~{~C~^, ~};~%" names)
 	    (for-each
-	     (lambda (c)
-	       (let* ((type (c 0))
-		      (c-name (c 1))
-		      (scheme-name (string-append prefix (if (> (length prefix) 0) ":" "") c-name)))
-		 (format p "#ifdef ~A~%" c-name)
-		 (format p "  s7_define(sc, cur_env, s7_make_symbol(sc, ~S), ~A(sc, (~A)~A));~%" 
-			 scheme-name
-			 (C->s7 type)
-			 (C->s7-cast type)
-			 c-name)
-		 (format p "#endif~%")))
-	     macros)))
-      
-      ;; functions
-      (for-each
-       (lambda (f) 
-	 (let ((scheme-name (f 0))
-	       (base-name   (f 1))
-	       (help        (f 2))
-	       (num-args    (f 3))
-	       (opt-args    (if (> (length f) 4) (f 4) 0))
-	       (sig         (and (> (length f) 5) (f 5))))
-	   (format p "~%  s7_define(sc, cur_env,~%            s7_make_symbol(sc, ~S),~%" scheme-name)
-	   (format p "            s7_make_typed_function(sc, ~S, ~A, ~D, ~D, false, ~S, ~A));~%"
-		   scheme-name
-		   base-name
-		   num-args
-		   opt-args
-		   help
-		   (if (pair? sig) (signatures sig) 'NULL))))
-       functions)
-
-      ;; optimizer connection
-      (when (pair? rf-funcs)
-	(format p "~%  /* rf optimizer connections */~%")
+	     (lambda (name sym)
+	       (format p (if (eq? sym 't)
+			     "    t = s7_t(sc);~%"
+			     (values "    ~C = s7_make_symbol(sc, ~S);~%" name (symbol->string sym)))))
+	     names syms)))
+	(format p "~%")
 	(for-each
-	 (lambda (f)
-	   (format p "  s7_rf_set_function(s7_name_to_value(sc, ~S), ~A_rf);~%" (cdr f) (car f)))
-	 rf-funcs))
-
-      (when (pair? if-funcs)
-	(format p "~%  /* if optimizer connections */~%")
+	 (lambda (sig)
+	   (let ((cyclic (char=? ((cdr sig) 1) #\c)))
+	     (format p (if cyclic 
+			   (values "    ~A = s7_make_circular_signature(sc, ~D, ~D" (cdr sig) (- (length (car sig)) 1) (length (car sig)))
+			   (values "    ~A = s7_make_signature(sc, ~D" (cdr sig) (length (car sig)))))
+	     (format p "~{~^, ~C~}" (substring (cdr sig) (if cyclic 4 3)))
+	     (format p ");~%")))
+	 signatures)
+	(format p "  }~%~%")
+	(format p "  cur_env = s7_outlet(sc, s7_curlet(sc));~%") ; this must exist because we pass load the env ourselves
+	
+	;; send out any special initialization code
 	(for-each
-	 (lambda (f)
-	   (format p "  s7_if_set_function(s7_name_to_value(sc, ~S), ~A_if);~%" (cdr f) (car f)))
-	 if-funcs))
-      
-      (format p "}~%")
-      (close-output-port p)
+	 (lambda (init-str)
+	   (format p "  ~A~%" init-str))
+	 (reverse inits))
+	
+	;; "constants" -- actually variables in s7 because we want them to be local to the current environment
+	(if (pair? constants)
+	    (begin
+	      (format p "~%")
+	      (for-each
+	       (lambda (c)
+		 (let* ((type (c 0))
+			(c-name (c 1))
+			(scheme-name (string-append prefix (if (> (length prefix) 0) ":" "") c-name)))
+		   (format p "  s7_define(sc, cur_env, s7_make_symbol(sc, ~S), ~A(sc, (~A)~A));~%" 
+			   scheme-name
+			   (C->s7 type)
+			   (C->s7-cast type)
+			   c-name)))
+	       constants)))
+	
+	;; C macros -- need #ifdef name #endif wrapper
+	(if (pair? macros)
+	    (begin
+	      (format p "~%")
+	      (for-each
+	       (lambda (c)
+		 (let* ((type (c 0))
+			(c-name (c 1))
+			(scheme-name (string-append prefix (if (> (length prefix) 0) ":" "") c-name)))
+		   (format p "#ifdef ~A~%" c-name)
+		   (format p "  s7_define(sc, cur_env, s7_make_symbol(sc, ~S), ~A(sc, (~A)~A));~%" 
+			   scheme-name
+			   (C->s7 type)
+			   (C->s7-cast type)
+			   c-name)
+		   (format p "#endif~%")))
+	       macros)))
+	
+	;; functions
+	(for-each
+	 (lambda (f) 
+	   (let ((scheme-name (f 0))
+		 (base-name   (f 1))
+		 (help        (f 2))
+		 (num-args    (f 3))
+		 (opt-args    (if (> (length f) 4) (f 4) 0))
+		 (sig         (and (> (length f) 5) (f 5))))
+	     (format p "~%  s7_define(sc, cur_env,~%            s7_make_symbol(sc, ~S),~%" scheme-name)
+	     (format p "            s7_make_typed_function(sc, ~S, ~A, ~D, ~D, false, ~S, ~A));~%"
+		     scheme-name
+		     base-name
+		     num-args
+		     opt-args
+		     help
+		     (if (pair? sig) (signatures sig) 'NULL))))
+	 functions)
+	
+	;; optimizer connection
+	(when (pair? rf-funcs)
+	  (format p "~%  /* rf optimizer connections */~%")
+	  (for-each
+	   (lambda (f)
+	     (format p "  s7_rf_set_function(s7_name_to_value(sc, ~S), ~A_rf);~%" (cdr f) (car f)))
+	   rf-funcs))
+	
+	(when (pair? if-funcs)
+	  (format p "~%  /* if optimizer connections */~%")
+	  (for-each
+	   (lambda (f)
+	     (format p "  s7_if_set_function(s7_name_to_value(sc, ~S), ~A_if);~%" (cdr f) (car f)))
+	   if-funcs))
+	
+	(format p "}~%")
+	(close-output-port p)
+	
+	;; now we have the module .c file -- make it into a shared object, load it, delete the temp files
+	
+	(cond ((provided? 'osx)
+	       ;; I assume the caller is also compiled with these flags?
+	       (system (format #f "gcc -c ~A -o ~A ~A ~A" 
+			       c-file-name o-file-name *cload-cflags* cflags))
+	       (system (format #f "gcc ~A -o ~A -dynamic -bundle -undefined suppress -flat_namespace ~A ~A" 
+			       o-file-name so-file-name *cload-ldflags* ldflags)))
+	      
+	      ((provided? 'freebsd)
+	       (system (format #f "cc -fPIC -c ~A -o ~A ~A ~A" 
+			       c-file-name o-file-name *cload-cflags* cflags))
+	       (system (format #f "cc ~A -shared -o ~A ~A ~A" 
+			       o-file-name so-file-name *cload-ldflags* ldflags)))
+	      
+	      ((provided? 'openbsd)
+	       (system (format #f "cc -fPIC -ftrampolines -c ~A -o ~A ~A ~A" 
+			       c-file-name o-file-name *cload-cflags* cflags))
+	       (system (format #f "cc ~A -shared -o ~A ~A ~A" 
+			       o-file-name so-file-name *cload-ldflags* ldflags)))
+	      
+	      ((provided? 'sunpro_c) ; just guessing here...
+	       (system (format #f "cc -c ~A -o ~A ~A ~A" 
+			       c-file-name o-file-name *cload-cflags* cflags))
+	       (system (format #f "cc ~A -G -o ~A ~A ~A" 
+			       o-file-name so-file-name *cload-ldflags* ldflags)))
+	      
+	      ;; what about clang?  Maybe use cc below, not gcc (and in osx case above)
+	      
+	      (else
+	       (system (format #f "gcc -fPIC -c ~A -o ~A ~A ~A" 
+			       c-file-name o-file-name *cload-cflags* cflags))
+	       (system (format #f "gcc ~A -shared -o ~A ~A ~A" 
+			       o-file-name so-file-name *cload-ldflags* ldflags)))))
       
-      ;; now we have the module .c file -- make it into a shared object, load it, delete the temp files
+      (define (handle-declaration func)
+	
+	(define (add-one-constant type name)
+	  ;; C constant -> scheme
+	  (let ((c-type (if (pair? type) (cadr type) type)))
+	    (if (symbol? name)
+		(set! constants (cons (list c-type (symbol->string (collides? name))) constants))
+		(for-each 
+		 (lambda (c)
+		   (set! constants (cons (list c-type (symbol->string (collides? c))) constants)))
+		 name))))
+	
+	(define (add-one-macro type name)
+	  ;; C macro (with definition check) -> scheme
+	  (let ((c-type (if (pair? type) (cadr type) type)))
+	    (if (symbol? name)
+		(set! macros (cons (list c-type (symbol->string (collides? name))) macros))
+		(for-each 
+		 (lambda (c)
+		   (set! macros (cons (list c-type (symbol->string (collides? c))) macros)))
+		 name))))
+	
+	(define (check-doc func-data)
+	  (let ((doc (caddr func-data)))
+	    (if (and (string? doc)
+		     (> (length doc) 0))
+		func-data
+		(append (list (car func-data) (cadr func-data) (car func-data)) (cdddr func-data)))))
+	
+	;; functions
+	(if (>= (length func) 3)
+	    (apply add-one-function func)
+	    (case (car func)
+	      ((in-C)       (format p "~A~%" (cadr func)))
+	      ((C-init)     (set! inits (cons (cadr func) inits)))
+	      ((C-macro)    (apply add-one-macro (cadr func)))
+	      ((C-function) (collides? (caadr func)) (set! functions (cons (check-doc (cadr func)) functions)))
+	      (else         (apply add-one-constant func)))))
       
-      (cond ((provided? 'osx)
-	     ;; I assume the caller is also compiled with these flags?
-	     (system (format #f "gcc -c ~A -o ~A ~A ~A" 
-			     c-file-name o-file-name *cload-cflags* cflags))
-	     (system (format #f "gcc ~A -o ~A -dynamic -bundle -undefined suppress -flat_namespace ~A ~A" 
-			     o-file-name so-file-name *cload-ldflags* ldflags)))
-
-	    ((provided? 'freebsd)
-	     (system (format #f "cc -fPIC -c ~A -o ~A ~A ~A" 
-			     c-file-name o-file-name *cload-cflags* cflags))
-	     (system (format #f "cc ~A -shared -o ~A ~A ~A" 
-			     o-file-name so-file-name *cload-ldflags* ldflags)))
-
-	    ((provided? 'openbsd)
-	     (system (format #f "cc -fPIC -ftrampolines -c ~A -o ~A ~A ~A" 
-			     c-file-name o-file-name *cload-cflags* cflags))
-	     (system (format #f "cc ~A -shared -o ~A ~A ~A" 
-			     o-file-name so-file-name *cload-ldflags* ldflags)))
-
-	    ((provided? 'sunpro_c) ; just guessing here...
-	     (system (format #f "cc -c ~A -o ~A ~A ~A" 
-			     c-file-name o-file-name *cload-cflags* cflags))
-	     (system (format #f "cc ~A -G -o ~A ~A ~A" 
-			     o-file-name so-file-name *cload-ldflags* ldflags)))
-
-	    ;; what about clang?  Maybe use cc below, not gcc (and in osx case above)
-
-	    (else
-	     (system (format #f "gcc -fPIC -c ~A -o ~A ~A ~A" 
-			     c-file-name o-file-name *cload-cflags* cflags))
-	     (system (format #f "gcc ~A -shared -o ~A ~A ~A" 
-			     o-file-name so-file-name *cload-ldflags* ldflags)))))
-
-    (define (handle-declaration func)
-
-      (define (add-one-constant type name)
-	;; C constant -> scheme
-	(let ((c-type (if (pair? type) (cadr type) type)))
-	  (if (symbol? name)
-	      (set! constants (cons (list c-type (symbol->string (collides? name))) constants))
-	      (for-each 
-	       (lambda (c)
-		 (set! constants (cons (list c-type (symbol->string (collides? c))) constants)))
-	       name))))
       
-      (define (add-one-macro type name)
-	;; C macro (with definition check) -> scheme
-	(let ((c-type (if (pair? type) (cadr type) type)))
-	  (if (symbol? name)
-	      (set! macros (cons (list c-type (symbol->string (collides? name))) macros))
-	      (for-each 
-	       (lambda (c)
-		 (set! macros (cons (list c-type (symbol->string (collides? c))) macros)))
-	       name))))
+      ;; this is the body of c-define
+      (unless (and output-name
+		   (file-exists? c-file-name)
+		   (file-exists? so-file-name)
+		   (provided? 'system-extras)
+		   (>= (file-mtime so-file-name) (file-mtime c-file-name))
+		   (not (and (file-exists? (port-filename (current-input-port)))
+			     (< (file-mtime so-file-name) (file-mtime (port-filename (current-input-port)))))))
+	(format *stderr* "writing ~A~%" c-file-name)
+	;; write a new C file and compile it
+	(initialize-c-file)
+	
+	(if (and (pair? (cdr function-info))
+		 (symbol? (cadr function-info)))
+	    (handle-declaration function-info)
+	    (for-each handle-declaration function-info))
+	
+	(end-c-file)
+	(delete-file o-file-name))
       
-      (define (check-doc func-data)
-	(let ((doc (caddr func-data)))
-	  (if (and (string? doc)
-		   (> (length doc) 0))
-	      func-data
-	      (append (list (car func-data) (cadr func-data) (car func-data)) (cdddr func-data)))))
-
-      ;; functions
-      (if (>= (length func) 3)
-	  (apply add-one-function func)
-	  (case (car func)
-	    ((in-C)       (format p "~A~%" (cadr func)))
-	    ((C-init)     (set! inits (cons (cadr func) inits)))
-	    ((C-macro)    (apply add-one-macro (cadr func)))
-	    ((C-function) (collides? (caadr func)) (set! functions (cons (check-doc (cadr func)) functions)))
-	    (else         (apply add-one-constant func)))))
-
-
-    ;; this is the body of c-define
-    (if (or (not output-name)
-	    (not (file-exists? c-file-name))
-	    (not (file-exists? so-file-name))
-	    (not (provided? 'system-extras))
-	    (< (file-mtime so-file-name) (file-mtime c-file-name))   ; they are equal on my linux system
-	    (and (file-exists? (port-filename (current-input-port))) ; we're actually loading a file
-		 (< (file-mtime so-file-name) (file-mtime (port-filename (current-input-port))))))
-	(begin
-	  (format *stderr* "writing ~A~%" c-file-name)
-	  ;; write a new C file and compile it
-	  (initialize-c-file)
-
-	  (if (and (pair? (cdr function-info))
-		   (symbol? (cadr function-info)))
-	      (handle-declaration function-info)
-	      (for-each handle-declaration function-info))
-	  
-	  (end-c-file)
-	  (delete-file o-file-name)))
-
-    ;; load the object file, clean up
-    (let ((new-env (sublet cur-env 'init_func (string->symbol init-name))))
-      (format *stderr* "loading ~A~%" so-file-name)
-      (load so-file-name new-env))))
+      ;; load the object file, clean up
+      (let ((new-env (sublet cur-env 'init_func (string->symbol init-name))))
+	(format *stderr* "loading ~A~%" so-file-name)
+	(load so-file-name new-env)))))
 
 
 
diff --git a/configure b/configure
index 2ea88a6..de4ae62 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for snd 16.6.
+# Generated by GNU Autoconf 2.69 for snd 16.7.
 #
 # Report bugs to <bil at ccrma.stanford.edu>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='snd'
 PACKAGE_TARNAME='ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-16.tar.gz'
-PACKAGE_VERSION='16.6'
-PACKAGE_STRING='snd 16.6'
+PACKAGE_VERSION='16.7'
+PACKAGE_STRING='snd 16.7'
 PACKAGE_BUGREPORT='bil at ccrma.stanford.edu'
 PACKAGE_URL=''
 
@@ -1310,7 +1310,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures snd 16.6 to adapt to many kinds of systems.
+\`configure' configures snd 16.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1380,7 +1380,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of snd 16.6:";;
+     short | recursive ) echo "Configuration of snd 16.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1496,7 +1496,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-snd configure 16.6
+snd configure 16.7
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1957,7 +1957,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by snd $as_me 16.6, which was
+It was created by snd $as_me 16.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3304,7 +3304,7 @@ LOCAL_LANGUAGE="None"
 GRAPHICS_TOOLKIT="None"
 
 PACKAGE=Snd
-VERSION=16.6
+VERSION=16.7
 
 #--------------------------------------------------------------------------------
 # configuration options
@@ -6691,7 +6691,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by snd $as_me 16.6, which was
+This file was extended by snd $as_me 16.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6753,7 +6753,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-snd config.status 16.6
+snd config.status 16.7
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index a15ab4a..7278f82 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 #   gmp, mpfr, and mpc deliberately have none!
 
 
-AC_INIT(snd, 16.6, bil at ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-16.tar.gz)
+AC_INIT(snd, 16.7, bil at ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-16.tar.gz)
 
 AC_CONFIG_SRCDIR(snd.c)
 AC_CANONICAL_HOST # needed by case $host below
@@ -24,7 +24,7 @@ LOCAL_LANGUAGE="None"
 GRAPHICS_TOOLKIT="None"
 
 PACKAGE=Snd
-VERSION=16.6
+VERSION=16.7
 
 #--------------------------------------------------------------------------------
 # configuration options
diff --git a/dlocsig.scm b/dlocsig.scm
index aaac828..3075534 100644
--- a/dlocsig.scm
+++ b/dlocsig.scm
@@ -219,15 +219,12 @@
   ;; sanity checking of configuration
   
   (define (has-duplicates? lst)
-    ;; from ice-9/common-list.scm
-    (cond ((null? lst) #f)
-	  ((member (car lst) (cdr lst)) #t)
-	  (else (has-duplicates? (cdr lst)))))
+    (and (not (null? lst))
+         (or (member (car lst) (cdr lst))
+             (has-duplicates? (cdr lst)))))
   
   (define (invert3x3 mat) ; invert a 3x3 matrix using cofactors
-    (let ((m (make-float-vector '(3 3)))
-	  (det 0.0)
-	  (invdet 0.0))
+    (let ((m (make-float-vector '(3 3))))
       (do ((i 0 (+ i 1)))
 	  ((= i 3))
 	(do ((j 0 (+ j 1)))
@@ -242,18 +239,18 @@
       (set! (mat 2 0) (- (* (m 1 0) (m 2 1)) (* (m 1 1) (m 2 0))))
       (set! (mat 2 1) (- (* (m 0 1) (m 2 0)) (* (m 0 0) (m 2 1))))
       (set! (mat 2 2) (- (* (m 0 0) (m 1 1)) (* (m 0 1) (m 1 0))))
-      (set! det (+ (* (m 0 0) (mat 0 0))
-		   (* (m 0 1) (mat 1 0))
-		   (* (m 0 2) (mat 2 0))))
-      (and (> (abs det) 1e-06)
-	   (begin
-	     (set! invdet (/ 1.0 det))
-	     (do ((row 0 (+ 1 row)))
-		 ((= row 3))
-	       (do ((col 0 (+ 1 col)))
-		   ((= col 3))
-		 (set! (mat row col) (* (mat row col) invdet))))
-	     mat))))
+
+      (let ((det (+ (* (m 0 0) (mat 0 0))
+		    (* (m 0 1) (mat 1 0))
+		    (* (m 0 2) (mat 2 0)))))
+	(and (> (abs det) 1e-06)
+	     (let ((invdet (/ 1.0 det)))
+	       (do ((row 0 (+ 1 row)))
+		   ((= row 3))
+		 (do ((col 0 (+ 1 col)))
+		     ((= col 3))
+		   (set! (mat row col) (* (mat row col) invdet))))
+	       mat)))))
   
   (define (invert2x2 mat) ; invert a 2x2 matrix
     (let ((m (make-float-vector '(2 2)))
@@ -297,31 +294,30 @@
   (if (null? groups)
       (error 'mus-error "no groups specified, speakers must be arranged in groups~%"))
   
-  (if (and (pair? delays)
-	   (pair? distances))
-      (error 'mus-error "please specify delays or distances but not both~%"))
+  (when (pair? delays)
+    (if (pair? distances)
+	(error 'mus-error "please specify delays or distances but not both~%"))
   
-  (if (pair? delays)
-      (if (> (length speakers) (length delays))
-	  (error 'mus-error "all speaker delays have to be specified, only ~A supplied [~A]~%" (length delays) delays)
-	  (if (< (length speakers) (length delays))
-	      (error 'mus-error "more speaker delays than speakers, ~A supplied instead of ~A [~A]~%" (length delays) (length speakers) delays))))
+    (if (> (length speakers) (length delays))
+	(error 'mus-error "all speaker delays have to be specified, only ~A supplied [~A]~%" (length delays) delays)
+	(if (< (length speakers) (length delays))
+	    (error 'mus-error "more speaker delays than speakers, ~A supplied instead of ~A [~A]~%" (length delays) (length speakers) delays)))
   
-  (for-each
-   (lambda (dly)
-     (if (< dly 0.0) (error 'mus-error "delays must be all positive, ~A is negative~%" dly)))
-   delays)
+    (for-each
+     (lambda (dly)
+       (if (< dly 0.0) (error 'mus-error "delays must be all positive, ~A is negative~%" dly)))
+     delays))
   
-  (if (pair? distances)
-      (if (> (length speakers) (length distances))
-	  (error 'mus-error "all speaker distances have to be specified, only ~A supplied [~A]~%" (length distances) distances)
-	  (if (< (length speakers) (length distances))
-	      (error 'mus-error "more speaker distances than speakers, ~A supplied instead of ~A [~A]~%" (length distances) (length speakers) distances))))
+  (when (pair? distances)
+    (if (> (length speakers) (length distances))
+	(error 'mus-error "all speaker distances have to be specified, only ~A supplied [~A]~%" (length distances) distances)
+	(if (< (length speakers) (length distances))
+	    (error 'mus-error "more speaker distances than speakers, ~A supplied instead of ~A [~A]~%" (length distances) (length speakers) distances)))
   
-  (for-each
-   (lambda (dly)
-     (if (< dly 0.0) (error 'mus-error "distances must be all positive, ~A is negative~%" dly)))
-   distances)
+    (for-each
+     (lambda (dly)
+       (if (< dly 0.0) (error 'mus-error "distances must be all positive, ~A is negative~%" dly)))
+     distances))
   
   (if (pair? channel-map)
       (if (> (length speakers) (length channel-map))
@@ -335,26 +331,24 @@
 	  (let ((val ()))
 	    (for-each
 	     (lambda (s) ; speakers
-	       (let* ((a (if (pair? s) (car s) s))
-		      (e (if (pair? s) (or (cadr s) 0.0) 0.0))
-		      (evec (cis (/ (* e 2 pi) dlocsig-one-turn)))
+	       (let* ((evec (let ((e (if (pair? s) (or (cadr s) 0.0) 0.0)))
+			      (cis (/ (* e 2 pi) dlocsig-one-turn))))
+		      (avec (let ((a (if (pair? s) (car s) s)))
+			      (cis (/ (* a 2 pi) dlocsig-one-turn))))
 		      (dxy (real-part evec))
-		      (avec (cis (/ (* a 2 pi) dlocsig-one-turn)))
+		      (z (imag-part evec))
 		      (x (* dxy (imag-part avec)))
 		      (y (* dxy (real-part avec)))
-		      (z (imag-part evec))
 		      (mag (sqrt (+ (* x x) (* y y) (* z z)))))
 		 (set! val (cons (list (/ x mag) (/ y mag) (/ z mag)) val))))
 	     speakers)
 	    (reverse val)))
-	 
-	 ;; minimum distance
-	 (min-dist (if (pair? distances)
-		       (apply min distances)
-		       0.0))
 
 	 ;; find delay times from specified distances or delays
-	 (times (let ((v (make-float-vector (length speakers))))
+	 (times (let ((min-dist (if (pair? distances)  ; minimum distance
+				    (apply min distances)
+				    0.0))
+		      (v (make-float-vector (length speakers))))
 		  (do ((i 0 (+ i 1)))
 		      ((= i (length speakers)))
 		    (set! (v i) (let ((distance (and (pair? distances) (distances i)))
@@ -511,7 +505,7 @@
 (define get-speaker-configuration 
   (let ((documentation "(get-speaker-configuration channels (3d dlocsig-3d) (configs dlocsig-speaker-configs)) returns a dlocsig speaker configuration"))
     (lambda* (channels (3d dlocsig-3d) (configs dlocsig-speaker-configs))
-      (let ((config (if 3d ((cadr configs) channels) ((car configs) channels))))
+      (let ((config (((if 3d cadr car) configs) channels)))
 	(if (null? config)
 	    (error 'mus-error "no speaker configuration exists for ~A ~A output channel~A~%~%" 
 		   (if 3d "tridimensional" "bidimensional")
@@ -743,19 +737,20 @@
 	    (error 'mus-error "Can't specify initial direction ~A for a closed path ~A~%" initial-direction path))
 	(if final-direction
 	    (error 'mus-error "Can't specify final direction ~A for a closed path ~A~%" final-direction path))
-	(if (not (if (pair? (car path))
-		     (let ((start (car path))
-			   (end (car (last path))))
-		       (and (= (car start) (car end))
-			    (= (cadr start) (cadr end))
-			    (or (not path-3d)
-				(= (third start) (third end)))))
-		     (let ((end (last path (if path-3d 3 2))))
-		       (and (= (car path) (car end))
-			    (= (cadr path) (cadr end))
-			    (or (not path-3d)
-				(= (third path) (third end)))))))
-	    (error 'mus-error "Closed path ~A is not closed~%" path))))
+	(let ((closed? (if (pair? (car path))
+			   (let ((start (car path))
+				 (end (car (last path))))
+			     (and (= (car start) (car end))
+				  (= (cadr start) (cadr end))
+				  (or (not path-3d)
+				      (= (third start) (third end)))))
+			   (let ((end (last path (if path-3d 3 2))))
+			     (and (= (car path) (car end))
+				  (= (cadr path) (cadr end))
+				  (or (not path-3d)
+				      (= (third path) (third end))))))))
+	  (if (not closed?)
+	      (error 'mus-error "Closed path ~A is not closed~%" path)))))
 
     (lambda* (path
 	      (3d path-3d)
@@ -916,14 +911,14 @@
 		  (v ()))
 	      (for-each
 	       (lambda (p)
-		 (let* ((d (car p))
-			(a (cadr p))
-			(e (if (and 3d (pair? (cddr p))) (caddr p) 0.0))
-			(evec (cis (/ (* e 2 pi) dlocsig-one-turn)))
-			(dxy (* d (real-part evec)))
-			(avec (cis (/ (* a 2 pi) dlocsig-one-turn))))
-		   (set! x (cons (* dxy (imag-part avec)) x))
-		   (set! y (cons (* dxy (real-part avec)) y))
+		 (let ((d (car p))
+			(evec (let ((e (if (and 3d (pair? (cddr p))) (caddr p) 0.0)))
+				(cis (/ (* e 2 pi) dlocsig-one-turn)))))
+		   (let ((dxy (* d (real-part evec)))
+			 (avec (let ((a (cadr p)))
+				 (cis (/ (* a 2 pi) dlocsig-one-turn)))))
+		     (set! x (cons (* dxy (imag-part avec)) x))
+		     (set! y (cons (* dxy (real-part avec)) y)))
 		   (set! z (cons (* d (imag-part evec)) z))
 		   (set! v (cons ((if 3d fourth third) p) v))))
 	       points)
@@ -942,11 +937,11 @@
 		      ((>= i len)
 		       (list (reverse x) (reverse y) (reverse z) (make-list (length x) #f)))
 		    (let* ((d (points i))
-			   (a (points (+ i 1)))
-			   (e (points (+ i 2)))
-			   (evec (cis (/ (* e 2 pi) dlocsig-one-turn)))
+			   (evec (let ((e (points (+ i 2))))
+				   (cis (/ (* e 2 pi) dlocsig-one-turn))))
 			   (dxy (* d (real-part evec)))
-			   (avec (cis (/ (* a 2 pi) dlocsig-one-turn))))
+			   (avec (let ((a (points (+ i 1))))
+				   (cis (/ (* a 2 pi) dlocsig-one-turn)))))
 		      (set! x (cons (* dxy (imag-part avec)) x))
 		      (set! y (cons (* dxy (real-part avec)) y))
 		      (set! z (cons (* d (imag-part evec)) z))))
@@ -959,9 +954,9 @@
 		  (do ((i 0 (+ i 2)))
 		      ((>= i len)
 		       (list (reverse x) (reverse y) (make-list (length x) 0.0) (make-list (length x) #f)))     
-		    (let* ((d (points i))
-			   (a (points (+ i 1)))
-			   (avec (cis (/ (* a 2 pi) dlocsig-one-turn))))
+		    (let ((d (points i))
+			  (avec (let ((a (points (+ i 1))))
+				  (cis (/ (* a 2 pi) dlocsig-one-turn)))))
 		      (set! x (cons (* d (imag-part avec)) x))
 		      (set! y (cons (* d (real-part avec)) y)))))))))))
 		
@@ -970,19 +965,11 @@
   (let ((polar (bezier-polar xpath))
 	(points (bezier-path xpath))
 	(3d (bezier-3d xpath)))
-    (if polar
-	;; parse a polar path
-	(let ((vals (parse-polar-coordinates points 3d)))
-	  (set! (bezier-x xpath) (car vals))
-	  (set! (bezier-y xpath) (cadr vals))
-	  (set! (bezier-z xpath) (caddr vals))
-	  (set! (bezier-v xpath) (cadddr vals)))
-	(let ((vals (parse-cartesian-coordinates points 3d)))
-	  ;; parse a cartesian path
-	  (set! (bezier-x xpath) (car vals))
-	  (set! (bezier-y xpath) (cadr vals))
-	  (set! (bezier-z xpath) (caddr vals))
-	  (set! (bezier-v xpath) (cadddr vals)))))
+    (let ((vals ((if polar parse-polar-coordinates parse-cartesian-coordinates) points 3d)))
+      (set! (bezier-x xpath) (car vals))
+      (set! (bezier-y xpath) (cadr vals))
+      (set! (bezier-z xpath) (caddr vals))
+      (set! (bezier-v xpath) (cadddr vals))))
   (for-each
    (lambda (v)
      (if (and (real? v) 
@@ -1020,11 +1007,12 @@
 	(else (let* ((xm0 (- x1 x0))
 		     (ym0 (- y1 y0))
 		     (zm0 (- z1 z0))
-		     (xm1 (- px x0))
-		     (ym1 (- py y0))
-		     (zm1 (- pz z0))
-		     (p (* (distance xm1 ym1 zm1) (vcos xm0 ym0 zm0 xm1 ym1 zm1)))
-		     (ratio (/ p (distance xm0 ym0 zm0))))
+		     (ratio (let ((p (let ((xm1 (- px x0))
+					   (ym1 (- py y0))
+					   (zm1 (- pz z0)))
+				       (* (distance xm1 ym1 zm1)
+					  (vcos xm0 ym0 zm0 xm1 ym1 zm1)))))
+			      (/ p (distance xm0 ym0 zm0)))))
 		(list (+ x0 (* xm0 ratio))
 		      (+ y0 (* ym0 ratio))
 		      (+ z0 (* zm0 ratio)))))))
@@ -1082,116 +1070,115 @@
 ;;; Calculate bezier difference vectors for the given path
 ;;; (path-x (make-path '((-10 10)(0 5)(10 10))))
 
-(define (calculate-fit path)
+(define (fit path)
   (cond ((not (eq? (car path) 'open-bezier-path))
-	 (let* ((n (- (length (bezier-x path )) 1))
-		(m (/ (- n (if (odd? n) 3 4)) 2))
-		;; data points P(i)
-		(p (vector (apply vector (bezier-x path))
-			   (apply vector (bezier-y path))
-			   (apply vector (bezier-z path))))
-		;; control points D(i)
-		(d (vector (make-vector n 0.0)
-			   (make-vector n 0.0)
-			   (make-vector n 0.0))))
+	 (let ((n (- (length (bezier-x path )) 1)))
+	   (let ((m (/ (- n (if (odd? n) 3 4)) 2))
+		 ;; data points P(i)
+		 (p (vector (apply vector (bezier-x path))
+			    (apply vector (bezier-y path))
+			    (apply vector (bezier-z path))))
+		 ;; control points D(i)
+		 (d (let ((maker (lambda () (make-vector n 0.0))))
+		      (vector (maker) (maker) (maker)))))
 	   
-	   (define (a-1 k n)
-	     (if (odd? (min (+ (* path-maxcoeff 2) 1) n))
+	     (define (a-1 k n)
+	       (if (odd? (min (+ (* path-maxcoeff 2) 1) n))
+		   (begin
+		     (if (not path-ak-odd) (make-a-odd))
+		     ((path-ak-odd (/ (- n 3) 2)) (- k 1)))
+		   (begin
+		     (if (not path-ak-even) (make-a-even))
+		     ((path-ak-even (/ (- n 4) 2)) (- k 1)))))
+	     
+	     (define (xvector-ref z j i)
+	       (z j (if (> i (- n 1))
+			(- i n)
+			(if (< i 0) 
+			    (+ i n) i))))
+	     
+	     (do ((i 0 (+ i 1)))
+		 ((= i n))
+	       (do ((k 1 (+ k 1)))
+		   ((> k m))
+		 (do ((a 0 (+ 1 a)))
+		     ((> a 2))
+		   (set! (d a i)
+			 (+ (d a i)
+			    (* (a-1 k n)
+			       (- (xvector-ref p a (+ i k))
+				  (xvector-ref p a (- i k)))))))))
+	     (if (bezier-curvature path)
+		 (do ((i 0 (+ i 1)))
+		     ((= i n))
+		   (set! (d 0 i) (* (d 0 i) (bezier-curvature path)))
+		   (set! (d 1 i) (* (d 1 i) (bezier-curvature path)))
+		   (set! (d 2 i) (* (d 2 i) (bezier-curvature path)))))
+	     (list (- n 1) p d))))
+	(else
+	 (let ((n (- (length (bezier-x path)) 1)))
+	   (let ((m (- n 1))
+		 ;; data points P(i)
+		 (p (vector (apply vector (bezier-x path))
+			    (apply vector (bezier-y path))
+			    (apply vector (bezier-z path))))
+		 ;; control points D(i)
+		 (d (vector (make-vector (+ n 1) 0.0) 
+			    (make-vector (+ n 1) 0.0) 
+			    (make-vector (+ n 1) 0.0))))
+	     
+	     (define (ac k n)
+	       (let ((un (min n path-maxcoeff)))
+		 (if (not path-ak-even) (make-a-even))
+		 ((path-ak-even (- un 2)) (- k 1))))
+	     
+	     (define (ref z j i)
+	       (cond ((> i n) (z j (- i n)))
+		     ((< i 0) (z j (+ i n)))
+		     ((= i n) (- (z j n) (d j n)))
+		     ((= i 0) (+ (z j 0) (d j 0)))
+		     (else    (z j i))))
+	     
+	     ;; forced initial direction
+	     (if (initial-direction path)
 		 (begin
-		   (if (not path-ak-odd) (make-a-odd))
-		   ((path-ak-odd (/ (- n 3) 2)) (- k 1)))
+		   (set! (d 0 0) (car (initial-direction path)))
+		   (set! (d 1 0) (cadr (initial-direction path)))
+		   (set! (d 2 0) (third (initial-direction path))))
 		 (begin
-		   (if (not path-ak-even) (make-a-even))
-		   ((path-ak-even (/ (- n 4) 2)) (- k 1)))))
-	   
-	   (define (xvector-ref z j i)
-	     (z j (if (> i (- n 1))
-		      (- i n)
-		      (if (< i 0) 
-			  (+ i n) i))))
-	   
-	   (do ((i 0 (+ i 1)))
-	       ((= i n))
-	     (do ((k 1 (+ k 1)))
-		 ((> k m))
-	       (do ((a 0 (+ 1 a)))
-		   ((> a 2))
-		 (set! (d a i)
-		       (+ (d a i)
-			  (* (a-1 k n)
-			     (- (xvector-ref p a (+ i k))
-				(xvector-ref p a (- i k)))))))))
-	   (if (bezier-curvature path)
-	       (do ((i 0 (+ i 1)))
-		   ((= i n))
-		 (set! (d 0 i) (* (d 0 i) (bezier-curvature path)))
-		 (set! (d 1 i) (* (d 1 i) (bezier-curvature path)))
-		 (set! (d 2 i) (* (d 2 i) (bezier-curvature path)))))
-	   (list (- n 1) p d)))
-	(else
-	 (let* ((n (- (length (bezier-x path)) 1))
-		(m (- n 1))
-		;; data points P(i)
-		(p (vector (apply vector (bezier-x path))
-			   (apply vector (bezier-y path))
-			   (apply vector (bezier-z path))))
-		;; control points D(i)
-		(d (vector (make-vector (+ n 1) 0.0) 
-			   (make-vector (+ n 1) 0.0) 
-			   (make-vector (+ n 1) 0.0))))
-	   
-	   (define (ac k n)
-	     (let ((un (min n path-maxcoeff)))
-	       (if (not path-ak-even) (make-a-even))
-	       ((path-ak-even (- un 2)) (- k 1))))
-	   
-	   (define (ref z j i)
-	     (cond ((> i n) (z j (- i n)))
-		   ((< i 0) (z j (+ i n)))
-		   ((= i n) (- (z j n) (d j n)))
-		   ((= i 0) (+ (z j 0) (d j 0)))
-		   (else    (z j i))))
-	   
-	   ;; forced initial direction
-	   (if (initial-direction path)
-	       (begin
-		 (set! (d 0 0) (car (initial-direction path)))
-		 (set! (d 1 0) (cadr (initial-direction path)))
-		 (set! (d 2 0) (third (initial-direction path))))
-	       (begin
-		 (set! (d 0 0) 0.0)
-		 (set! (d 1 0) 0.0)
-		 (set! (d 2 0) 0.0)))
-	   
-	   ;; forced final direction
-	   (if (final-direction path)
-	       (begin
-		 (set! (d 0 n) (car (final-direction path)))
-		 (set! (d 1 n) (cadr (final-direction path)))
-		 (set! (d 2 n) (caddr (final-direction path))))
-	       (begin
-		 (set! (d 0 n) 0.0)
-		 (set! (d 1 n) 0.0)
-		 (set! (d 2 n) 0.0)))
-	   
-	   ;; calculate fit
-	   (do ((i 1 (+ i 1)))
-	       ((= i n))
-	     (do ((k 1 (+ k 1)))
-		 ((> k (min m (- path-maxcoeff 1))))
-	       (let ((d0 (d 0 i))
-		     (d1 (d 1 i))
-		     (d2 (d 2 i)))
-		 (set! (d 0 i) (+ d0 (* (ac k n)
-					(- (ref p 0 (+ i k))
-					   (ref p 0 (- i k))))))
-		 (set! (d 1 i) (+ d1 (* (ac k n)
-					(- (ref p 1 (+ i k))
-					   (ref p 1 (- i k))))))
-		 (set! (d 2 i) (+ d2 (* (ac k n)
-					(- (ref p 2 (+ i k))
-					   (ref p 2 (- i k)))))))))
-	   (list n p d)))))
+		   (set! (d 0 0) 0.0)
+		   (set! (d 1 0) 0.0)
+		   (set! (d 2 0) 0.0)))
+	     
+	     ;; forced final direction
+	     (if (final-direction path)
+		 (begin
+		   (set! (d 0 n) (car (final-direction path)))
+		   (set! (d 1 n) (cadr (final-direction path)))
+		   (set! (d 2 n) (caddr (final-direction path))))
+		 (begin
+		   (set! (d 0 n) 0.0)
+		   (set! (d 1 n) 0.0)
+		   (set! (d 2 n) 0.0)))
+	     
+	     ;; calculate fit
+	     (do ((i 1 (+ i 1)))
+		 ((= i n))
+	       (do ((k 1 (+ k 1)))
+		   ((> k (min m (- path-maxcoeff 1))))
+		 (let ((d0 (d 0 i))
+		       (d1 (d 1 i))
+		       (d2 (d 2 i)))
+		   (set! (d 0 i) (+ d0 (* (ac k n)
+					  (- (ref p 0 (+ i k))
+					     (ref p 0 (- i k))))))
+		   (set! (d 1 i) (+ d1 (* (ac k n)
+					  (- (ref p 1 (+ i k))
+					     (ref p 1 (- i k))))))
+		   (set! (d 2 i) (+ d2 (* (ac k n)
+					  (- (ref p 2 (+ i k))
+					     (ref p 2 (- i k)))))))))
+	     (list n p d))))))
 
 ;;; Calculate bezier control points for the given open path
 
@@ -1211,41 +1198,44 @@
 	 
 	 (let ((points (length (bezier-x path))))
 	   (cond ((> points 2)
-		  (let* ((vals (calculate-fit path))
-			 (n (car vals))
-			 (p (cadr vals))
-			 (d (caddr vals)))
-		    (let ((c (bezier-curvature path))
-			  (cs (make-vector n)))
-		      ;; setup the curvatures array
-		      (cond ((memq c '(#f ()))                          ; no curvature specified, default is 1.0
-			     (do ((i 0 (+ i 1)))
-				 ((= i n))
-			       (set! (cs i) (list 1.0 1.0))))
-			    ((number? c)                    ; same curvature for all segments
-			     (do ((i 0 (+ i 1)))
-				 ((= i n))
-			       (set! (cs i) (list c c))))
-			    ((and (pair? c) (= n (length c)))   ; list of curvatures
-			     (let ((i 0))
-			       (for-each
-				(lambda (ci)
-				  (set! (cs i) (if (pair? ci) 
-						   (if (= (length ci) 2)
-						       ci
-						       (error 'mus-error "curvature sublist must have two elements ~A~%" ci))
-						   (list ci ci)))
-				  (set! i (+ i 1)))
-				c)))
-			    (else (error 'mus-error "bad curvature argument ~A to path, need ~A elements~%" c n)))
-		      
-		      ;; calculate control points
-		      (let ((xc ())
-			    (yc ())
-			    (zc ()))
-			(do ((i 0 (+ i 1)))
-			    ((= i n))
-			  
+		  (let ((vals (fit path)))
+		    (let ((n (car vals))
+			  (p (cadr vals))
+			  (d (caddr vals)))
+		      (let ((c (bezier-curvature path))
+			    (cs (make-vector n)))
+			;; setup the curvatures array
+			(cond ((memq c '(#f ()))                          ; no curvature specified, default is 1.0
+			       (do ((i 0 (+ i 1)))
+				   ((= i n))
+				 (set! (cs i) (list 1.0 1.0))))
+			      ((number? c)                    ; same curvature for all segments
+			       (do ((i 0 (+ i 1)))
+				   ((= i n))
+				 (set! (cs i) (list c c))))
+			      ((and (pair? c) (= n (length c)))   ; list of curvatures
+			       (let ((i 0))
+				 (for-each
+				  (lambda (ci)
+				    (set! (cs i) (if (pair? ci) 
+						     (if (= (length ci) 2)
+							 ci
+							 (error 'mus-error "curvature sublist must have two elements ~A~%" ci))
+						     (list ci ci)))
+				    (set! i (+ i 1)))
+				  c)))
+			      (else (error 'mus-error "bad curvature argument ~A to path, need ~A elements~%" c n)))
+			
+			;; calculate control points
+			(do ((xc ())
+			     (yc ())
+			     (zc ())
+			     (i 0 (+ i 1)))
+			    ((= i n)
+			     (set! (bezier-bx path) (reverse xc))
+			     (set! (bezier-by path) (reverse yc))
+			     (set! (bezier-bz path) (reverse zc)))
+			     
 			  (set! xc (cons (list (p 0 i)
 					       (+ (p 0 i) (* (d 0 i) (car (cs i))))
 					       (- (p 0 (+ i 1)) (* (d 0 (+ i 1)) (cadr (cs i))))
@@ -1257,10 +1247,7 @@
 			  (set! zc (cons (list (p 2 i)
 					       (+ (p 2 i) (* (d 2 i) (car (cs i))))
 					       (- (p 2 (+ i 1)) (* (d 2 (+ i 1)) (cadr (cs i))))
-					       (p 2 (+ i 1))) zc)))
-			(set! (bezier-bx path) (reverse xc))
-			(set! (bezier-by path) (reverse yc))
-			(set! (bezier-bz path) (reverse zc))))))
+					       (p 2 (+ i 1))) zc)))))))
 		 
 		 ((= points 2)
 		  ;; just a line, stays a line
@@ -1286,61 +1273,61 @@
 	     (xparse-path path))
 	 
 	 (if (> (length (bezier-x path)) 4)
-	     (let* ((vals (calculate-fit path))
-		    (n (car vals))
+	     (let ((vals (fit path)))
+	       (do ((n (car vals))
 		    (p (cadr vals))
-		    (d (caddr vals)))
-	       ;; enough points, fit path
-	       (let ((xc ())
-		     (yc ())
-		     (zc ()))
-		 (do ((i 0 (+ i 1)))
-		     ((= i n))
-		   (set! xc (cons (list (p 0 i)
-					(+ (p 0 i) (d 0 i))
-					(- (p 0 (+ i 1)) (d 0 (+ i 1)))
-					(p 0 (+ i 1))) xc))
-		   (set! yc (cons (list (p 1 i)
-					(+ (p 1 i) (d 1 i))
-					(- (p 1 (+ i 1)) (d 1 (+ i 1)))
-					(p 1 (+ i 1))) yc))
-		   (set! zc (cons (list (p 2 i)
-					(+ (p 2 i) (d 2 i))
-					(- (p 2 (+ i 1)) (d 2 (+ i 1)))
-					(p 2 (+ i 1))) zc)))
-		 (set! (bezier-bx path) (append (reverse xc) (list (list (p 0 n)
-									 (+ (p 0 n) (d 0 n))
-									 (- (p 0 0) (d 0 0))
-									 (p 0 0)))))
-		 (set! (bezier-by path) (append (reverse yc) (list (list (p 1 n)
-									 (+ (p 1 n) (d 1 n))
-									 (- (p 1 0) (d 1 0))
-									 (p 1 0)))))
-		 (set! (bezier-bz path) (append (reverse zc) (list (list (p 2 n)
-									 (+ (p 2 n) (d 2 n))
-									 (- (p 2 0) (d 2 0))
-									 (p 2 0)))))))
+		    (d (caddr vals))
+		    ;; enough points, fit path
+		    (xc ())
+		    (yc ())
+		    (zc ())
+		    (i 0 (+ i 1)))
+		   ((= i n)
+		    (set! (bezier-bx path) (append (reverse xc) (list (list (p 0 n)
+									    (+ (p 0 n) (d 0 n))
+									    (- (p 0 0) (d 0 0))
+									    (p 0 0)))))
+		    (set! (bezier-by path) (append (reverse yc) (list (list (p 1 n)
+									    (+ (p 1 n) (d 1 n))
+									    (- (p 1 0) (d 1 0))
+									    (p 1 0)))))
+		    (set! (bezier-bz path) (append (reverse zc) (list (list (p 2 n)
+									    (+ (p 2 n) (d 2 n))
+									    (- (p 2 0) (d 2 0))
+									    (p 2 0))))))
+		 (set! xc (cons (list (p 0 i)
+				      (+ (p 0 i) (d 0 i))
+				      (- (p 0 (+ i 1)) (d 0 (+ i 1)))
+				      (p 0 (+ i 1))) xc))
+		 (set! yc (cons (list (p 1 i)
+				      (+ (p 1 i) (d 1 i))
+				      (- (p 1 (+ i 1)) (d 1 (+ i 1)))
+				      (p 1 (+ i 1))) yc))
+		 (set! zc (cons (list (p 2 i)
+				      (+ (p 2 i) (d 2 i))
+				      (- (p 2 (+ i 1)) (d 2 (+ i 1)))
+				      (p 2 (+ i 1))) zc))))
 	     
 	     ;; not enough points to fit a closed path
-	     (let ((xc ())
-		   (yc ())
-		   (zc ()))
-	       (let ((len (min (length (bezier-x path)) (length (bezier-y path)) (length (bezier-z path)))))
-		 (do ((i 0 (+ i 1)))
-		     ((>= i len))
-		   (let ((x1 ((bezier-x path) i))
-			 (x2 ((bezier-x path) (+ i 1)))
-			 (y1 ((bezier-y path) i))
-			 (y2 ((bezier-y path) (+ i 1)))
-			 (z1 ((bezier-z path) i))
-			 (z2 ((bezier-z path) (+ i 1))))
-		     (set! xc (cons (list x1 x1 x2 x2) xc))
-		     (set! yc (cons (list y1 y1 y2 y2) yc))
-		     (set! zc (cons (list z1 z1 z2 z2) zc))))
-		 (format *stderr* "[fit-path:closed-path] not enough points to do bezier fit (~A points)" len))
-	       (set! (bezier-bx path) (reverse xc))
-	       (set! (bezier-by path) (reverse yc))
-	       (set! (bezier-bz path) (reverse zc))))
+	     (do ((xc ())
+		  (yc ())
+		  (zc ())
+		  (len (min (length (bezier-x path)) (length (bezier-y path)) (length (bezier-z path))))
+		  (i 0 (+ i 1)))
+		 ((>= i len)
+		  (format *stderr* "[fit-path:closed-path] not enough points to do bezier fit (~A points)" len)
+		  (set! (bezier-bx path) (reverse xc))
+		  (set! (bezier-by path) (reverse yc))
+		  (set! (bezier-bz path) (reverse zc)))
+	       (let ((x1 ((bezier-x path) i))
+		     (x2 ((bezier-x path) (+ i 1)))
+		     (y1 ((bezier-y path) i))
+		     (y2 ((bezier-y path) (+ i 1)))
+		     (z1 ((bezier-z path) i))
+		     (z2 ((bezier-z path) (+ i 1))))
+		 (set! xc (cons (list x1 x1 x2 x2) xc))
+		 (set! yc (cons (list y1 y1 y2 y2) yc))
+		 (set! zc (cons (list z1 z1 z2 z2) zc)))))
 	 (reset-rendering path))))
 
 
@@ -1422,27 +1409,27 @@
 		(cr 1 0)
 		(cr 2 0))))
       
-      (let* ((vals (bezier-point u c))
-	     (x (car vals))
-	     (y (cadr vals))
-	     (z (caddr vals))
-	     (val1 (nearest-point xl yl zl xh yh zh x y z))
-	     (xn (car val1))
-	     (yn (cadr val1))
-	     (zn (caddr val1)))
-	(if (<= (distance (- xn x) (- yn y) (- zn z)) err)
-	    (list () () ())
-	    (let* ((val2 (berny xl yl zl x y z ul (/ (+ ul u) 2) u c err))
-		   (xi (car val2))
-		   (yi (cadr val2))
-		   (zi (caddr val2))
-		   (val3 (berny x y z xh yh zh u (/ (+ u uh) 2) uh c err))
-		   (xj (car val3))
-		   (yj (cadr val3))
-		   (zj (caddr val3)))
-	      (list (append xi (cons x xj))
-		    (append yi (cons y yj))
-		    (append zi (cons z zj)))))))
+      (let ((vals (bezier-point u c)))
+	(let ((x (car vals))
+	      (y (cadr vals))
+	      (z (caddr vals)))
+	  (let ((val1 (nearest-point xl yl zl xh yh zh x y z)))
+	    (let ((xn (car val1))
+		  (yn (cadr val1))
+		  (zn (caddr val1)))
+	      (if (<= (distance (- xn x) (- yn y) (- zn z)) err)
+		  (list () () ())
+		  (let ((val2 (berny xl yl zl x y z ul (/ (+ ul u) 2) u c err))
+			(val3 (berny x y z xh yh zh u (/ (+ u uh) 2) uh c err)))
+		    (let ((xi (car val2))
+			  (yi (cadr val2))
+			  (zi (caddr val2))
+			  (xj (car val3))
+			  (yj (cadr val3))
+			  (zj (caddr val3)))
+		      (list (append xi (cons x xj))
+			    (append yi (cons y yj))
+			    (append zi (cons z zj)))))))))))
     
     ;; Create linear segment approximations of the bezier segments
     ;; make sure there are initial and final velocity values
@@ -1467,40 +1454,36 @@
 	    ;; render the path only if it has at least two points
 	    (do ((i 0 (+ i 1)))
 		((= i len))
-	      (let* ((x-bz ((bezier-bx path) i))
-		     (y-bz ((bezier-by path) i))
-		     (z-bz ((bezier-bz path) i))
-		     (vi-bz ((bezier-v path) i))
-		     (vf-bz ((bezier-v path) (+ i 1)))
-		     (xi-bz (car x-bz))
-		     (xf-bz (x-bz (- (length x-bz) 1)))
-		     (yi-bz (car y-bz))
-		     (yf-bz (y-bz (- (length y-bz) 1)))
-		     (zi-bz (car z-bz))
-		     (zf-bz (z-bz (- (length z-bz) 1)))
-		     (vals (berny xi-bz yi-bz zi-bz xf-bz yf-bz zf-bz 0.0 0.5 1.0 
-				  (vector (apply vector x-bz)
-					  (apply vector y-bz)
-					  (apply vector z-bz))
-				  (bezier-error path)))
-		     (xs (car vals))
-		     (ys (cadr vals))
-		     (zs (caddr vals)))
-		
-		;; approximate the bezier curve with linear segments
-		(set! xrx (append xrx (cons xi-bz xs)))
-		(set! xry (append xry (cons yi-bz ys)))
-		(set! xrz (append xrz (cons zi-bz zs)))
-		
-		;; accumulate intermediate unknown velocities as nils
-		(set! xrv (append xrv (cons vi-bz (make-list (length xs) #f))))
-		(if (= i (- len 1))
-		    (begin
-		      ;; add the last point
-		      (set! xrx (append xrx (list xf-bz)))
-		      (set! xry (append xry (list yf-bz)))
-		      (set! xrz (append xrz (list zf-bz)))
-		      (set! xrv (append xrv (list vf-bz))))))))
+	      (let ((x-bz ((bezier-bx path) i))
+		    (y-bz ((bezier-by path) i))
+		    (z-bz ((bezier-bz path) i)))
+		(let ((vi-bz ((bezier-v path) i))
+		      (vf-bz ((bezier-v path) (+ i 1)))
+		      (xi-bz (car x-bz))
+		      (xf-bz (x-bz (- (length x-bz) 1)))
+		      (yi-bz (car y-bz))
+		      (yf-bz (y-bz (- (length y-bz) 1)))
+		      (zi-bz (car z-bz))
+		      (zf-bz (z-bz (- (length z-bz) 1))))
+		  (let ((vals (berny xi-bz yi-bz zi-bz xf-bz yf-bz zf-bz 0.0 0.5 1.0 
+				     (vector (apply vector x-bz)
+					     (apply vector y-bz)
+					     (apply vector z-bz))
+				     (bezier-error path))))
+		      ;; approximate the bezier curve with linear segments
+		    (set! xry (append xry (cons yi-bz (cadr vals))))
+		    (set! xrz (append xrz (cons zi-bz (caddr vals))))
+		    (let ((xs (car vals)))
+		      (set! xrx (append xrx (cons xi-bz xs)))
+		      ;; accumulate intermediate unknown velocities as nils
+		      (set! xrv (append xrv (cons vi-bz (make-list (length xs) #f))))
+		      (if (= i (- len 1))
+			  (begin
+			    ;; add the last point
+			    (set! xrx (append xrx (list xf-bz)))
+			    (set! xry (append xry (list yf-bz)))
+			    (set! xrz (append xrz (list zf-bz)))
+			    (set! xrv (append xrv (list vf-bz)))))))))))
 	  
 	  ;; calculate times for each velocity segment
 	  (let ((ti 0)
@@ -1603,71 +1586,71 @@
 	(begin
 	  (set! (path-rt path) (list 0.0))
 	  (reset-transformation path))
-	(let* ((rx (path-rx path))
-	       (ry (path-ry path))
-	       (rz (path-rz path))
-	       (rv (path-rv path))
-	       (xseg (list (car rx)))
-	       (yseg (list (car ry)))
-	       (zseg (list (car rz)))
-	       (vseg (list (car rv)))
-	       (vi (car rv))
-	       (len (length rx))
-	       (ti 0)
-	       (times (list ti)))
-	  (do ((i 1 (+ i 1)))
-	      ((= i len))
-	    (let ((x (rx i))
-		  (y (ry i))
-		  (z (rz i))
-		  (v (rv i)))
-	      (set! xseg (append xseg (list x)))
-	      (set! yseg (append yseg (list y)))
-	      (set! zseg (append zseg (list z)))
-	      (set! vseg (append vseg (list v)))
+	(let ((rx (path-rx path))
+	      (ry (path-ry path))
+	      (rz (path-rz path))
+	      (rv (path-rv path)))
+	  (let ((xseg (list (car rx)))
+		(yseg (list (car ry)))
+		(zseg (list (car rz)))
+		(vseg (list (car rv)))
+		(vi (car rv))
+		(len (length rx))
+		(ti 0))
+	    (let ((times (list ti)))
+	      (do ((i 1 (+ i 1)))
+		  ((= i len))
+		(let ((x (rx i))
+		      (y (ry i))
+		      (z (rz i))
+		      (v (rv i)))
+		  (set! xseg (append xseg (list x)))
+		  (set! yseg (append yseg (list y)))
+		  (set! zseg (append zseg (list z)))
+		  (set! vseg (append vseg (list v)))
+		  
+		  (when (number? v)
+		    (let ((sofar 0.0)
+			  (dseg ())
+			  (len (- (length xseg) 1)))
+		      (do ((i 0 (+ i 1)))
+			  ((= i len))
+			(let ((xsi (xseg i))
+			      (ysi (yseg i))
+			      (zsi (zseg i))
+			      (xsf (xseg (+ i 1)))
+			      (ysf (yseg (+ i 1)))
+			      (zsf (zseg (+ i 1))))
+			  (set! sofar (+ sofar (distance (- xsf xsi) (- ysf ysi) (- zsf zsi))))
+			  (set! dseg (cons sofar dseg))))
+		      (let ((df (car dseg)))
+			(set! dseg (reverse dseg))
+			(let ((tseg ()))
+			  (let ((a (/ (* (- v vi) (+ v vi)) df 4)))
+			    (for-each
+			     (lambda (d)
+			       (let ((seg (+ ti (if (= v vi)
+						    (/ d vi)
+						    (/ (- (sqrt (+ (* vi vi) (* 4 a d))) vi) (* 2 a))))))
+				 (set! tseg (cons seg tseg))))
+			     dseg))
+			  (set! ti (car tseg))
+			  (set! tseg (reverse tseg))
+			  (set! times (append times tseg))
+			  (set! xseg (list x))
+			  (set! yseg (list y))
+			  (set! zseg (list z))
+			  (set! vseg (list v))
+			  (set! vi v)))))))
 	      
-	      (when (number? v)
-		(let ((sofar 0.0)
-		      (dseg ())
-		      (len (- (length xseg) 1)))
-		  (do ((i 0 (+ i 1)))
-		      ((= i len))
-		    (let ((xsi (xseg i))
-			  (ysi (yseg i))
-			  (zsi (zseg i))
-			  (xsf (xseg (+ i 1)))
-			  (ysf (yseg (+ i 1)))
-			  (zsf (zseg (+ i 1))))
-		      (set! sofar (+ sofar (distance (- xsf xsi) (- ysf ysi) (- zsf zsi))))
-		      (set! dseg (cons sofar dseg))))
-		  (let ((df (car dseg)))
-		    (set! dseg (reverse dseg))
-		    (let ((tseg ()))
-		      (let ((a (/ (* (- v vi) (+ v vi)) df 4)))
-			(for-each
-			 (lambda (d)
-			   (let ((seg (+ ti (if (= v vi)
-						(/ d vi)
-						(/ (- (sqrt (+ (* vi vi) (* 4 a d))) vi) (* 2 a))))))
-			   (set! tseg (cons seg tseg))))
-			 dseg))
-		      (set! ti (car tseg))
-		      (set! tseg (reverse tseg))
-		      (set! times (append times tseg))
-		      (set! xseg (list x))
-		      (set! yseg (list y))
-		      (set! zseg (list z))
-		      (set! vseg (list v))
-		      (set! vi v)))))))
-	  
-	  (set! (path-rt path) (let ((val ())
-				     (tf (times (- (length times) 1))))
-				 (for-each
-				  (lambda (ti)
-				    (set! val (cons (/ ti tf) val)))
-				  times)
-				 (reverse val)))
-	  (reset-transformation path)))))
+	      (set! (path-rt path) (let ((val ())
+					 (tf (times (- (length times) 1))))
+				     (for-each
+				      (lambda (ti)
+					(set! val (cons (/ ti tf) val)))
+				      times)
+				     (reverse val)))
+	      (reset-transformation path)))))))
 
 (define (spiral-render path)
   ;; Render a spiral path from the object data
@@ -1678,9 +1661,9 @@
 		    (if (spiral-turns path)
 			(* (spiral-turns path) 2 pi)
 			(error 'mus-error "a spiral-path needs either a total-angle or turns, none specified~%"))))
-	 (steps (abs (/ (* total dlocsig-one-turn) (* (spiral-step-angle path) 2 pi))))
-	 (step (/ total (ceiling steps)
-		  (if (< (spiral-step-angle path) 0) -1 1)))
+	 (step (let ((steps (abs (/ (* total dlocsig-one-turn) (* (spiral-step-angle path) 2 pi)))))
+		 (/ total (ceiling steps)
+		  (if (< (spiral-step-angle path) 0) -1 1))))
 	 (xdistance (x-norm (spiral-distance path) total))
 	 (height (x-norm (spiral-height path) total)))
     (let ((x ())
@@ -1722,11 +1705,11 @@
 		((>= i len))
 	      (let* ((di (dp i))
 		     (df (dp (+ i 1)))
-		     (vp (x-norm (spiral-velocity path) df))
-		     (vi (envelope-interp di vp))
-		     (vf (envelope-interp df vp)))
-		(set! tp (cons td tp))
-		(set! td (+ td (/ (- df di) (+ vi vf) 2)))))
+		     (vp (x-norm (spiral-velocity path) df)))
+		(let ((vi (envelope-interp di vp))
+		      (vf (envelope-interp df vp)))
+		  (set! tp (cons td tp))
+		  (set! td (+ td (/ (- df di) (+ vi vf) 2))))))
 	    (let ((tf (car tp)))
 	      (set! tp (reverse tp))
 	      (set! (path-rx path) x)
@@ -1777,16 +1760,16 @@
       (let ((mag (distance a b c)))
 	(list (/ a mag) (/ b mag) (/ c mag))))
     
-    (let* ((vals (normalize x y z))
-	   (dx (car vals))
-	   (dy (cadr vals))
-	   (dz (caddr vals))
-	   (rotate (vector (vector 0.0 0.0 0.0) (vector 0.0 0.0 0.0) (vector 0.0 0.0 0.0)))
-	   (I (vector (vector 1.0 0.0 0.0) (vector 0.0 1.0 0.0) (vector 0.0 0.0 1.0)))
-	   (A (vector (vector 0.0 dz (- dy)) (vector (- dz) 0.0 dx) (vector dy (- dx) 0.0)))
-	   (AA (vector (vector 0.0 0.0 0.0) (vector 0.0 0.0 0.0) (vector 0.0 0.0 0.0)))
-	   (sn (sin (- angle)))
-	   (omcs (- 1 (cos angle)))) ; (cos (- angle)) == (cos angle)
+    (let ((rotate (vector (vector 0.0 0.0 0.0) (vector 0.0 0.0 0.0) (vector 0.0 0.0 0.0)))
+	  (I (vector (vector 1.0 0.0 0.0) (vector 0.0 1.0 0.0) (vector 0.0 0.0 1.0)))
+	  (A (let ((vals (normalize x y z)))
+	       (let ((dx (car vals))
+		     (dy (cadr vals))
+		     (dz (caddr vals)))
+		 (vector (vector 0.0 dz (- dy)) (vector (- dz) 0.0 dx) (vector dy (- dx) 0.0)))))
+	  (AA (vector (vector 0.0 0.0 0.0) (vector 0.0 0.0 0.0) (vector 0.0 0.0 0.0)))
+	  (sn (sin (- angle)))
+	  (omcs (- 1 (cos angle)))) ; (cos (- angle)) == (cos angle)
       
       (do ((row 0 (+ 1 row)))
 	  ((= row 3))
@@ -1839,58 +1822,58 @@
 	     (set! (path-ty path) (reverse ytr))
 	     (set! (path-tz path) (reverse ztr)))
 
-	  (let* ((x (xc i))
-		 (y (yc i))
-		 (z (zc i))
-		 (xw x)
-		 (yw y)
-		 (zw z))
-	    (when rotation
-	      ;; rotating around non-triple zero? translate first
-	      (when rotation-center
-		(set! xw (- xw (car rotation-center)))
-		(set! yw (- yw (cadr rotation-center)))
-		(set! zw (- zw (third rotation-center))))
-	      ;; rotation
-	      (let ((xr (+ (* (matrix 0 0) xw)
-			   (* (matrix 1 0) yw)
-			   (* (matrix 2 0) zw)))
-		    (yr (+ (* (matrix 0 1) xw)
-			   (* (matrix 1 1) yw)
-			   (* (matrix 2 1) zw)))
-		    (zr (+ (* (matrix 0 2) xw)
-			   (* (matrix 1 2) yw)
-			   (* (matrix 2 2) zw))))
-		(set! xw xr)
-		(set! yw yr)
-		(set! zw zr))
-	      ;; rotating around non-triple zero? untranslate
-	      (when rotation-center
-		(set! xw (+ xw (car rotation-center)))
-		(set! yw (+ yw (cadr rotation-center)))
-		(set! zw (+ zw (third rotation-center)))))
-	    
-	    ;; scaling
-	    (when scaling
-	      (set! xw (* xw (car scaling)))
-	      (if (cadr scaling)
-		  (set! yw (* yw (cadr scaling))))
-	      (if (third scaling)
-		  (set! zw (* zw (third scaling)))))
-	    
-	    ;; translating
-	    (when translation
-	      (set! xw (+ xw (car translation)))
-	      (if (cadr translation)
-		  (set! yw (+ yw (cadr translation))))
-	      (if (third translation)
-		  (set! zw (+ zw (third translation)))))
-	    
-	    ;; collect the points
-	    (set! xtr (cons xw xtr))
-	    (set! ytr (cons yw ytr))
-	    (set! ztr (cons zw ztr)))))
-	  
+	  (let ((x (xc i))
+		(y (yc i))
+		(z (zc i)))
+	    (let ((xw x)
+		  (yw y)
+		  (zw z))
+	      (when rotation
+		;; rotating around non-triple zero? translate first
+		(when rotation-center
+		  (set! xw (- xw (car rotation-center)))
+		  (set! yw (- yw (cadr rotation-center)))
+		  (set! zw (- zw (third rotation-center))))
+		;; rotation
+		(let ((xr (+ (* (matrix 0 0) xw)
+			     (* (matrix 1 0) yw)
+			     (* (matrix 2 0) zw)))
+		      (yr (+ (* (matrix 0 1) xw)
+			     (* (matrix 1 1) yw)
+			     (* (matrix 2 1) zw)))
+		      (zr (+ (* (matrix 0 2) xw)
+			     (* (matrix 1 2) yw)
+			     (* (matrix 2 2) zw))))
+		  (set! xw xr)
+		  (set! yw yr)
+		  (set! zw zr))
+		;; rotating around non-triple zero? untranslate
+		(when rotation-center
+		  (set! xw (+ xw (car rotation-center)))
+		  (set! yw (+ yw (cadr rotation-center)))
+		  (set! zw (+ zw (third rotation-center)))))
+	      
+	      ;; scaling
+	      (when scaling
+		(set! xw (* xw (car scaling)))
+		(if (cadr scaling)
+		    (set! yw (* yw (cadr scaling))))
+		(if (third scaling)
+		    (set! zw (* zw (third scaling)))))
+	      
+	      ;; translating
+	      (when translation
+		(set! xw (+ xw (car translation)))
+		(if (cadr translation)
+		    (set! yw (+ yw (cadr translation))))
+		(if (third translation)
+		    (set! zw (+ zw (third translation)))))
+	      
+	      ;; collect the points
+	      (set! xtr (cons xw xtr))
+	      (set! ytr (cons yw ytr))
+	      (set! ztr (cons zw ztr))))))
+      
       (begin
 	;; if there's no transformation just copy the rendered path
 	(set! (path-tt path) (copy (path-rt path)))
@@ -2035,62 +2018,48 @@
   (if (not rev-channels)
       (set! rev-channels (if *reverb* (channels *reverb*) 0)))
   
-  (let* (;; speaker configuration for current number of channels
-	 (speakers (and (not (= render-using ambisonics))
-			(get-speaker-configuration out-channels)))
-	 
-	 ;; array of gains -- envelopes
-	 (channel-gains (make-vector out-channels ()))
-	 (channel-rev-gains (make-vector out-channels ()))
-	 
-	 ;; speaker output delays
-	 (max-out-delay 0.0)
-	 (out-delays (make-vector out-channels))
-	 
-	 ;; coordinates of rendered path
-	 (xpoints (path-x path))
-	 (ypoints (path-y path))
-	 (zpoints (path-z path))
-	 (tpoints (path-time path))
-	 
-	 ;; speed of sound expressed in terms of path time coordinates
-	 (start 0)
-					;(end 0)
-	 (dly ())
-	 (doppler ())
-	 (real-dur 0)
-	 (prev-time #f)
-	 (prev-dist #f)
-	 (first-dist #f)
-	 (last-dist #f)
-	 (min-dist #f)
-	 (max-dist #f)
-	 (min-delay #f)
-	 ;; without this the delay apparently stomps over something else in the structure
-	 ;; and we get artifacts in the output, probably a off-by-one error somewhere
-	 (delay-hack 1)
-	 (min-dist-unity #f)
-	 (unity-gain 1.0)
-	 (unity-rev-gain 1.0)
-	 (amb-unity-gain 1.0)
-	 (amb-unity-rev-gain 1.0)
-	 (run-beg #f)
-	 (run-end #f)
-	 ;; channel offsets in output stream for ambisonics
-	 ;; (depends on horizontal and vertical order, default is h=1,v=1)
-	 (z-offset #f)
-	 (r-offset #f)
-	 (s-offset #f)
-	 (t-offset #f)
-	 (u-offset #f)
-	 (v-offset #f)
-	 (k-offset #f)
-	 (l-offset #f)
-	 (m-offset #f)
-	 (n-offset #f)
-	 (o-offset #f)
-	 (p-offset #f)
-	 (q-offset #f))
+  (let (;; speaker configuration for current number of channels
+	(speakers (and (not (= render-using ambisonics))
+		       (get-speaker-configuration out-channels)))
+	;; coordinates of rendered path
+	(xpoints (path-x path))
+	(ypoints (path-y path))
+	(zpoints (path-z path))
+	(tpoints (path-time path))
+	
+	;; array of gains -- envelopes
+	(channel-gains (make-vector out-channels ()))
+	(channel-rev-gains (make-vector out-channels ()))
+	
+	;; speaker output delays
+	(max-out-delay 0.0)
+	(out-delays (make-vector out-channels))
+	
+	;; speed of sound expressed in terms of path time coordinates
+	(dly ())
+	(doppler ())
+	(prev-time #f)
+	(prev-dist #f)
+	(first-dist #f)
+	(last-dist #f)
+	(min-dist #f)
+	(max-dist #f)
+	(delay-hack 1)
+	;; channel offsets in output stream for ambisonics
+	;; (depends on horizontal and vertical order, default is h=1,v=1)
+	(z-offset #f)
+	(r-offset #f)
+	(s-offset #f)
+	(t-offset #f)
+	(u-offset #f)
+	(v-offset #f)
+	(k-offset #f)
+	(l-offset #f)
+	(m-offset #f)
+	(n-offset #f)
+	(o-offset #f)
+	(p-offset #f)
+	(q-offset #f))
     
     (when (= render-using ambisonics)
       ;; calculate output channel offsets for ambisonics rendering
@@ -2135,17 +2104,17 @@
     (define (time->samples time) (round (* time *clm-srate*)))
     
     ;; calculate speaker gains for group
-    (define (calculate-gains x y z group)
+    (define (find-gains x y z group)
       (let ((zero-coord 1.0e-10)
 	    (zero-gain 1.0e-10)
 	    (size (group-size group))
 	    (mat (group-matrix group))) ; returns float-vector
-	(cond ((and (< (abs x) zero-coord)
-		    (< (abs y) zero-coord)
-		    (< (abs z) zero-coord))
-	       (list #t (list 1.0 1.0 1.0)))
-	      
-	      ((= size 3)
+	(if (and (< (abs x) zero-coord)
+		 (< (abs y) zero-coord)
+		 (< (abs z) zero-coord))
+	    (list #t (list 1.0 1.0 1.0))
+	    (case size
+	      ((3)
 	       (let* ((gain-a (+ (* (mat 0 0) x)
 				 (* (mat 1 0) y)
 				 (* (mat 2 0) z)))
@@ -2166,7 +2135,7 @@
 		 (list (and (>= gain-a 0) (>= gain-b 0) (>= gain-c 0))
 		       (list (/ gain-a mag) (/ gain-b mag) (/ gain-c mag)))))
 	      
-	      ((= size 2)
+	      ((2)
 	       (let* ((gain-a (+ (* (mat 0 0) x)
 				 (* (mat 1 0) y)))
 		      (gain-b (+ (* (mat 0 1) x)
@@ -2181,8 +2150,8 @@
 		 (list (and (>= gain-a 0) (>= gain-b 0))
 		       (list (/ gain-a mag) (/ gain-b mag)))))
 	      
-	      ((= size 1)
-	       (list #t (list 1.0))))))
+	      ((1)
+	       (list #t (list 1.0)))))))
     
 
     ;; Render a trajectory breakpoint through amplitude panning
@@ -2243,15 +2212,15 @@
 	;; calculate transition point between two adjacent two-speaker groups
 	;; original line intersection code from Graphic Gems III
 	(define (transition-point-2 vert xa ya xb yb)
-	  (let* ((Ax (car vert))
-		 (Bx (- xa xb))
-		 (Ay (cadr vert))
-		 (By (- ya yb))
-		 (d (- (* By (- xa)) (* Bx (- ya))))
-		 (f (- (* Ay Bx) (* Ax By))))
-	    (and (not (= f 0))
-		 (list (/ (* d Ax) f)
-		       (/ (* d Ay) f)))))
+	  (let ((Ax (car vert))
+		(Bx (- xa xb))
+		(Ay (cadr vert))
+		(By (- ya yb)))
+	    (let ((d (- (* By (- xa)) (* Bx (- ya))))
+		  (f (- (* Ay Bx) (* Ax By))))
+	      (and (not (= f 0))
+		   (list (/ (* d Ax) f)
+			 (/ (* d Ay) f))))))
 	
 	;; find the speaker group that contains a point
 	(define (find-group x y z)
@@ -2259,11 +2228,11 @@
 	   (lambda (return)
 	     (for-each
 	      (lambda (group)
-		(let* ((vals (calculate-gains x y z group))
-		       (inside (car vals))
-		       (gains (cadr vals)))
-		  (if inside
-		      (return (list group gains)))))
+		(let ((vals (find-gains x y z group)))
+		  (let ((inside (car vals))
+			(gains (cadr vals)))
+		    (if inside
+			(return (list group gains))))))
 	      (speaker-config-groups speakers))
 	     (list #f #f))))
 	
@@ -2361,146 +2330,146 @@
 	  
 	  ;; output gains for current point
 	  (if prev-group
-	      (let* ((vals (calculate-gains x y z prev-group))
-		     (inside (car vals))
-		     (gains (cadr vals)))
-		;; check that the source is not moving faster than sound
-		(if (not (= time prev-time))
-		    (let ((speed (/ (- dist prev-dist) (- time prev-time))))
-		      (if (> speed speed-limit)
-			  (format () "warning: supersonic radial movement at [~F,~F,~F, ~F], speed=~F~%" x y z time speed))))
-		(if inside
-		    ;; still in the same group
-		    (begin
-		      (push-gains prev-group gains dist time)
-		      (set! prev-x x)
-		      (set! prev-y y)
-		      (set! prev-z z))
-		    ;; left the group
-		    (let* ((vals (find-group x y z))
-			   (group (car vals))
-			   (gains (cadr vals)))
-		      (if (not group)
-			  (begin
-			    ;; current point is outside all defined groups
-			    ;; we should send a warning at this point...
-			    (push-zero-gains time)
-			    (set! prev-group #f))
-			  (begin
-			    ;; we have to interpolate a new point that lies on the shared
-			    ;; edge of the adjacent groups so that the speakers opposite
-			    ;; the edge have zero gain when the trajectory switches groups
-			    (let ((edge (equalp-intersection (group-vertices group)
-							     (group-vertices prev-group))))
-			      (cond ((= (length edge) 2)
-				     ;; the groups have two shared points (ie: share an edge)
-				     ;; this must be a three speaker groups transition
-				     (let ((pint (transition-point-3 (car edge) (cadr edge) x y z prev-x prev-y prev-z)))
-				       (when pint
-					 (let* ((xi (car pint))
-						(yi (cadr pint))
-						(zi (third pint))
-						(di (distance xi yi zi))
-						(ti (+ prev-time (max .00001 (* (/ (distance (- xi prev-x)
-											     (- yi prev-y)
-											     (- zi prev-z))
-										   (distance (- x prev-x)
-											     (- y prev-y)
-											     (- z prev-z)))
-										(- time prev-time)))))
-						;; see if we are inside the previous group
-						;; we can be on either side due to roundoff errors
-						(vals (calculate-gains xi yi zi prev-group))
-						(inside (car vals))
-						(gains (cadr vals)))
-					   (if inside
-					       (push-gains prev-group gains di ti)
-					       (let* ((val1 (calculate-gains xi yi zi group))
-						      (inside (car val1))
-						      (gains (cadr val1)))
-						 (if inside
-						     (push-gains group gains di ti)
-						     ;; how did we get here?
-						     (error 'mus-error "Outside of both adjacent groups [~A:~A:~A @~A]~%~%" xi yi zi ti))))))))
-				    
-				    ((and (pair? edge) 
-					  (null? (cdr edge))
-					  (= (group-size group) 2))
-				     ;; two two-speaker groups share one point
-				     ;; z coordinates are silently ignored
-				     (let ((pint (transition-point-2 (car edge) x y prev-x prev-y)))
-				       (when pint
-					 (let* ((xi (car pint))
-						(yi (cadr pint))
-						(di (distance xi yi 0.0))
-						(ti (+ prev-time (max .00001 (* (/ (distance (- xi prev-x)
-											     (- yi prev-y)
-											     0.0)
-										   (distance (- x prev-x)
-											     (- y prev-y)
-											     0.0))
-										(- time prev-time)))))
-						;; see if we are inside the previous group
-						;; we can be on either side due to roundoff errors
-						(vals (calculate-gains xi yi 0.0 prev-group))
-						(inside (car vals))
-						(gains (cadr vals)))
-					   (if inside 
-					       (push-gains prev-group gains di ti)
-					       (let* ((val1 (calculate-gains xi yi 0.0 group))
-						      (inside (car val1))
-						      (gains (cadr val1)))
+	      (let ((vals (find-gains x y z prev-group)))
+		(let ((inside (car vals))
+		      (gains (cadr vals)))
+		  ;; check that the source is not moving faster than sound
+		  (if (not (= time prev-time))
+		      (let ((speed (/ (- dist prev-dist) (- time prev-time))))
+			(if (> speed speed-limit)
+			    (format () "warning: supersonic radial movement at [~F,~F,~F, ~F], speed=~F~%" x y z time speed))))
+		  (if inside
+		      ;; still in the same group
+		      (begin
+			(push-gains prev-group gains dist time)
+			(set! prev-x x)
+			(set! prev-y y)
+			(set! prev-z z))
+		      ;; left the group
+		      (let ((vals (find-group x y z)))
+			(let ((group (car vals))
+			      (gains (cadr vals)))
+			  (if (not group)
+			      (begin
+				;; current point is outside all defined groups
+				;; we should send a warning at this point...
+				(push-zero-gains time)
+				(set! prev-group #f))
+			      (begin
+				;; we have to interpolate a new point that lies on the shared
+				;; edge of the adjacent groups so that the speakers opposite
+				;; the edge have zero gain when the trajectory switches groups
+				(let ((edge (equalp-intersection (group-vertices group)
+								 (group-vertices prev-group))))
+				  (cond ((= (length edge) 2)
+					 ;; the groups have two shared points (ie: share an edge)
+					 ;; this must be a three speaker groups transition
+					 (let ((pint (transition-point-3 (car edge) (cadr edge) x y z prev-x prev-y prev-z)))
+					   (when pint
+					     (let* ((xi (car pint))
+						    (yi (cadr pint))
+						    (zi (third pint))
+						    (vals (find-gains xi yi zi prev-group)))
+					       (let ((di (distance xi yi zi))
+						     (ti (+ prev-time (max .00001 (* (/ (distance (- xi prev-x)
+												  (- yi prev-y)
+												  (- zi prev-z))
+											(distance (- x prev-x)
+												  (- y prev-y)
+												  (- z prev-z)))
+										     (- time prev-time)))))
+						     ;; see if we are inside the previous group
+						     ;; we can be on either side due to roundoff errors
+						     (inside (car vals))
+						     (gains (cadr vals)))
 						 (if inside
-						     (push-gains group gains di ti)
-						     ;; how did we get here?
-						     (format () "Outside of both adjacent groups [~A:~A @~A]~%~%" xi yi ti))))))))
-				    
-				    ((and (pair? edge) 
-					  (null? (cdr edge)))
-				     ;; groups share only one point... for now a warning
-				     ;; we should calculate two additional interpolated
-				     ;; points as the trajectory must be crossing a third
-				     ;; group
-				     (for-each
-				      (lambda (int-group)
-					(if (and (member (car edge) (group-vertices int-group))
-						 (not (equal? int-group group))
-						 (not (equal? int-group prev-group)))
-					    (format () "e1=~A; e2=~A~%~%"
-						    (equalp-intersection (group-vertices int-group)
-									 (group-vertices prev-group))
-						    (equalp-intersection (group-vertices int-group)
-									 (group-vertices group)))))
-					      
-				      (speaker-config-groups speakers))
-				     (format () "warning: crossing between groups with only one point in common~%  prev=~A~%  curr=~A~%" prev-group group))
-				    
-				    ;; groups don't share points... how did we get here?
-				    ((null? edge)
-				     (format () "warning: crossing between groups with no common points, ~A~A to ~A~A~%"
-					     (group-id prev-group) (group-speakers prev-group)
-					     (group-id group) (group-speakers group)))))
-			    
-			    ;; finally push gains for current group
-			    (push-gains group gains dist time)
-			    (set! prev-group group)
-			    (set! prev-x x)
-			    (set! prev-y y)
-			    (set! prev-z z))))))
+						     (push-gains prev-group gains di ti)
+						     (let ((val1 (find-gains xi yi zi group)))
+						       (let ((inside (car val1))
+							     (gains (cadr val1)))
+							 (if inside
+							     (push-gains group gains di ti)
+							     ;; how did we get here?
+							     (error 'mus-error "Outside of both adjacent groups [~A:~A:~A @~A]~%~%" xi yi zi ti))))))))))
+					
+					((and (pair? edge) 
+					      (null? (cdr edge))
+					      (= (group-size group) 2))
+					 ;; two two-speaker groups share one point
+					 ;; z coordinates are silently ignored
+					 (let ((pint (transition-point-2 (car edge) x y prev-x prev-y)))
+					   (when pint
+					     (let* ((xi (car pint))
+						    (yi (cadr pint))
+						    (vals (find-gains xi yi 0.0 prev-group)))
+					       (let ((di (distance xi yi 0.0))
+						     (ti (+ prev-time (max .00001 (* (/ (distance (- xi prev-x)
+												  (- yi prev-y)
+												  0.0)
+											(distance (- x prev-x)
+												  (- y prev-y)
+												  0.0))
+										     (- time prev-time)))))
+						     ;; see if we are inside the previous group
+						     ;; we can be on either side due to roundoff errors
+						     (inside (car vals))
+						     (gains (cadr vals)))
+						 (if inside 
+						     (push-gains prev-group gains di ti)
+						     (let ((val1 (find-gains xi yi 0.0 group)))
+						       (let ((inside (car val1))
+							     (gains (cadr val1)))
+							 (if inside
+							     (push-gains group gains di ti)
+							     ;; how did we get here?
+							     (format () "Outside of both adjacent groups [~A:~A @~A]~%~%" xi yi ti))))))))))
+					
+					((and (pair? edge) 
+					      (null? (cdr edge)))
+					 ;; groups share only one point... for now a warning
+					 ;; we should calculate two additional interpolated
+					 ;; points as the trajectory must be crossing a third
+					 ;; group
+					 (for-each
+					  (lambda (int-group)
+					    (if (and (member (car edge) (group-vertices int-group))
+						     (not (equal? int-group group))
+						     (not (equal? int-group prev-group)))
+						(format () "e1=~A; e2=~A~%~%"
+							(equalp-intersection (group-vertices int-group)
+									     (group-vertices prev-group))
+							(equalp-intersection (group-vertices int-group)
+									     (group-vertices group)))))
+					  
+					  (speaker-config-groups speakers))
+					 (format () "warning: crossing between groups with only one point in common~%  prev=~A~%  curr=~A~%" prev-group group))
+					
+					;; groups don't share points... how did we get here?
+					((null? edge)
+					 (format () "warning: crossing between groups with no common points, ~A~A to ~A~A~%"
+						 (group-id prev-group) (group-speakers prev-group)
+						 (group-id group) (group-speakers group)))))
+				
+				;; finally push gains for current group
+				(push-gains group gains dist time)
+				(set! prev-group group)
+				(set! prev-x x)
+				(set! prev-y y)
+				(set! prev-z z))))))))
 	      ;; first time around
-	      (let* ((vals (find-group x y z))
-		     (group (car vals))
-		     (gains (cadr vals)))
-		(if group
-		    (begin
-		      (push-gains group gains dist time)
-		      (set! prev-group group)
-		      (set! prev-x x)
-		      (set! prev-y y)
-		      (set! prev-z z))
-		    (begin
-		      (push-zero-gains time)
-		      (set! prev-group #f))))))))
+	      (let ((vals (find-group x y z)))
+		(let ((group (car vals))
+		      (gains (cadr vals)))
+		  (if group
+		      (begin
+			(push-gains group gains dist time)
+			(set! prev-group group)
+			(set! prev-x x)
+			(set! prev-y y)
+			(set! prev-z z))
+		      (begin
+			(push-zero-gains time)
+			(set! prev-group #f)))))))))
     
     ;; Render a trajectory breakpoint for ambisonics b-format coding
     ;; http://www.york.ac.uk/inst/mustech/3d_audio/ambis2.htm
@@ -2564,19 +2533,12 @@
 	    (ambisonics-k1 (sqrt 135/256)) ;(/ (* 21 45) 224 8)
 	    (ambisonics-k2 (* (sqrt 3) 3 0.5)))
 	(lambda (x y z dist time)
-	  (let* ((att (if (> dist inside-radius)
+	  (let ((att (if (> dist inside-radius)
 			  (expt (/ inside-radius dist) direct-power)
 			  (expt (/ dist inside-radius) (/ inside-direct-power))))
-		 (attW (if (> dist inside-radius)
-			   (* point707 att)
-			   (- 1 (* (- 1 point707) (expt (/ dist inside-radius) direct-power)))))
 		 (ratt (if (> dist inside-radius)
 			   (expt (/ inside-radius dist) reverb-power)
 			   (expt (/ dist inside-radius) (/ inside-reverb-power))))
-		 (rattW (if (> dist inside-radius)
-			    (* point707 ratt)
-			    (- 1 (* (- 1 point707) (expt (/ dist inside-radius) reverb-power)))))
-		 ;; storage for some intermediate calculations
 		 (u 0)
 		 (v 0)
 		 (lm 0)
@@ -2584,7 +2546,10 @@
 	    ;; output encoding gains for point
 	    ;; W: 0.707
 	    (set! (channel-gains w-offset) (cons time (channel-gains w-offset)))
-	    (set! (channel-gains w-offset) (cons attW (channel-gains w-offset)))
+	    (let ((attW (if (> dist inside-radius)
+			    (* point707 att)
+			    (- 1 (* (- 1 point707) (expt (/ dist inside-radius) direct-power))))))
+	      (set! (channel-gains w-offset) (cons attW (channel-gains w-offset))))
 	    ;; X: (* (cos A) (cos E))
 	    (set! (channel-gains x-offset) (cons time (channel-gains x-offset)))
 	    (set! (channel-gains x-offset) (cons (* (if (zero? dist) 0 (/ y dist)) att) (channel-gains x-offset)))
@@ -2618,7 +2583,7 @@
 	      ;; V
 	      (set! (channel-gains v-offset) (cons time (channel-gains v-offset)))
 	      (set! (channel-gains v-offset) (cons v (channel-gains v-offset))))
-
+	    
 	    (when (>= ambisonics-v-order 3)
 	      (set! lm (* ambisonics-k1 (- (* 5 z z (if (zero? dist) 1 (/ 1.0 dist dist))) 1) att))
 	      (set! no (* ambisonics-k2 z (if (zero? dist) 1 (/ dist)) att))
@@ -2637,7 +2602,7 @@
 	      ;; O
 	      (set! (channel-gains o-offset) (cons time (channel-gains o-offset)))
 	      (set! (channel-gains o-offset) (cons (* (if (zero? dist) 0 no) v) (channel-gains o-offset))))
-
+	    
 	    (when (>= ambisonics-h-order 3)
 	      ;; P
 	      (set! (channel-gains p-offset) (cons time (channel-gains p-offset)))
@@ -2663,7 +2628,10 @@
 	      ;; multichannel reverb, send ambisonics components
 	      ;; W: 0.707
 	      (set! (channel-rev-gains w-offset) (cons time (channel-rev-gains w-offset)))
-	      (set! (channel-rev-gains w-offset) (cons rattW (channel-rev-gains w-offset)))
+	      (let ((rattW (if (> dist inside-radius)
+			       (* point707 ratt)
+			       (- 1 (* (- 1 point707) (expt (/ dist inside-radius) reverb-power))))))
+		(set! (channel-rev-gains w-offset) (cons rattW (channel-rev-gains w-offset))))
 	      ;; X: (* (cos A)(cos E))
 	      (set! (channel-rev-gains x-offset) (cons time (channel-rev-gains x-offset)))
 	      (set! (channel-rev-gains x-offset) (cons (* (if (zero? dist) 0 1) y (if (zero? dist) 1 (/ dist)) ratt)
@@ -2715,10 +2683,10 @@
 		(set! no (* ambisonics-k2 z (if (zero? dist) 1 (/ dist)) ratt))
 		;; K
 		(set! (channel-rev-gains k-offset) (cons time (channel-rev-gains k-offset)))
-		(set! (channel-rev-gains k-offset) (cons (* (if (zero? dist) 0 1) 
-							    (- (* 2.5 z z (if (zero? dist) 1 (/ 1.0 dist dist))) 1.5)
-							    dlocsig-ambisonics-ho-rev-scaler ratt)
-							 (channel-rev-gains k-offset)))
+		(set! (channel-rev-gains k-offset) (let ((dist-k (* (if (zero? dist) 0 1) 
+								    (- (* 2.5 z z (if (zero? dist) 1 (/ 1.0 dist dist))) 1.5)
+								    dlocsig-ambisonics-ho-rev-scaler ratt)))
+						     (cons dist-k (channel-rev-gains k-offset))))
 		;; L
 		(set! (channel-rev-gains l-offset) (cons time (channel-rev-gains l-offset)))
 		(set! (channel-rev-gains l-offset) (cons (* (if (zero? dist) 0 (/ x dist)) lm) 
@@ -2738,18 +2706,18 @@
 	      (when (>= ambisonics-h-order 3)
 		;; P
 		(set! (channel-rev-gains p-offset) (cons time (channel-rev-gains p-offset)))
-		(set! (channel-rev-gains p-offset) (cons (* (if (zero? dist) 0 (/ ratt dist)) 
-							    dlocsig-ambisonics-ho-rev-scaler x 
-							    (- (* x x (if (zero? dist) 1 (/ 1.0 dist dist)))
-							       (* 3 y y (if (zero? dist) 1 (/ 1.0 dist dist))))) 
-							 (channel-rev-gains p-offset)))
+		(set! (channel-rev-gains p-offset) (let ((dist-p (* (if (zero? dist) 0 (/ ratt dist)) 
+								    dlocsig-ambisonics-ho-rev-scaler x 
+								    (- (* x x (if (zero? dist) 1 (/ 1.0 dist dist)))
+								       (* 3 y y (if (zero? dist) 1 (/ 1.0 dist dist)))))))
+						     (cons dist-p (channel-rev-gains p-offset))))
 		;; Q
 		(set! (channel-rev-gains q-offset) (cons time (channel-rev-gains q-offset)))
-		(set! (channel-rev-gains q-offset) (cons (* (if (zero? dist) 0 (/ ratt dist)) 
-							    dlocsig-ambisonics-ho-rev-scaler y
-							    (- (* 3 x x (if (zero? dist) 1 (/ 1.0 dist dist)))
-							       (* y y (if (zero? dist) 1 (/ 1.0 dist dist))))) 
-							 (channel-rev-gains q-offset))))
+		(set! (channel-rev-gains q-offset) (let ((dist-q (* (if (zero? dist) 0 (/ ratt dist)) 
+								    dlocsig-ambisonics-ho-rev-scaler y
+								    (- (* 3 x x (if (zero? dist) 1 (/ 1.0 dist dist)))
+								       (* y y (if (zero? dist) 1 (/ 1.0 dist dist)))))))
+						     (cons dist-q (channel-rev-gains q-offset)))))
 	      )))))
     
     ;; Render a trajectory breakpoint to a room for decoded ambisonics
@@ -2763,67 +2731,66 @@
     ;;         (* Z (sin el)))
     ;; 
     (define (fdecoded-ambisonics x y z dist time)
-      (let* ((att (if (> dist inside-radius)
+      (let ((att (if (> dist inside-radius)
 		      (expt (/ inside-radius dist) direct-power)
 		      (expt (/ dist inside-radius) (/ inside-direct-power))))
-	     (attW (if (> dist inside-radius)
-		       (* point707 att)
-		       (- 1 (* (- 1 point707) (expt (/ dist inside-radius) direct-power)))))
 	     (ratt (if (> dist inside-radius)
 		       (expt (/ inside-radius dist) reverb-power)
-		       (expt (/ dist inside-radius) (/ inside-reverb-power))))
-	     (rattW (if (> dist inside-radius)
-			(* point707 ratt)
-			(- 1 (* (- 1 point707) (expt (/ dist inside-radius) reverb-power))))))
-	;; output decoded gains for point
-	(let ((len (speaker-config-number speakers))
-	      (spkrs (speaker-config-coords speakers)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i len))
-	    (let* ((s (spkrs i))
-		   (signal (* dlocsig-ambisonics-scaler
-			      (+ 
-			       ;; W
-			       (* attW point707)
-			       ;; (* X (cos az) (cos el))
-			       (* att (if (= dist 0) 0 (/ y dist)) (cadr s))
-			       ;; (* Y (sin az) (cos el))
-			       (* att (if (= dist 0) 0 (/ x dist)) (car s))
-			       ;; (* Z (sin el)
-			       (* att (if (= dist 0) 0 (/ z dist)) (third s))))))
-	      (set! (channel-gains i) (cons time (channel-gains i)))
-	      (set! (channel-gains i) (cons signal (channel-gains i))))))
-	
-	;; push reverb gain into envelope
-	(if (= rev-channels 1)
-	    (begin
-	      ;; mono reverberation
-	      (set! (channel-rev-gains 0) (cons time (channel-rev-gains 0)))
-	      (set! (channel-rev-gains 0) (cons (if (>= dist inside-radius)
-						    (expt dist (- reverb-power))
-						    (- 1.0 (expt (/ dist inside-radius) (/ inside-reverb-power))))
-						(channel-rev-gains 0))))
-	    ;; multichannel reverb
+		       (expt (/ dist inside-radius) (/ inside-reverb-power)))))
+	(let ((attW (if (> dist inside-radius)
+			(* point707 att)
+			(- 1 (* (- 1 point707) (expt (/ dist inside-radius) direct-power)))))
+	      (rattW (if (> dist inside-radius)
+			 (* point707 ratt)
+			 (- 1 (* (- 1 point707) (expt (/ dist inside-radius) reverb-power))))))
+	  ;; output decoded gains for point
+	  (let ((len (speaker-config-number speakers))
+		(spkrs (speaker-config-coords speakers)))
 	    (do ((i 0 (+ i 1)))
-		((= i rev-channels))
-	      (let* ((s ((speaker-config-coords speakers) i))
-		     (signal (* dlocsig-ambisonics-scaler
-				(+ 
-				 ;; W
-				 (* rattW point707)
-				 ;; (* X (cos az) (cos el))
-				 (* ratt (if (zero? dist) 0 (/ y dist)) (cadr s))
-				 ;; (* Y (sin az) (cos el))
-				 (* ratt (if (zero? dist) 0 (/ x dist)) (car s))
-				 ;; (* Z (sin el)
-				 (* ratt (if (zero? dist) 0 (/ z dist)) (third s))))))
-		(set! (channel-rev-gains i) (cons time (channel-rev-gains i)))
-		(set! (channel-rev-gains i) (cons signal (channel-rev-gains i))))))))
+		((= i len))
+	      (let ((signal (let ((s (spkrs i)))
+			      (* dlocsig-ambisonics-scaler
+				 (+ 
+				  ;; W
+				  (* attW point707)
+				  ;; (* X (cos az) (cos el))
+				  (* att (if (= dist 0) 0 (/ y dist)) (cadr s))
+				  ;; (* Y (sin az) (cos el))
+				  (* att (if (= dist 0) 0 (/ x dist)) (car s))
+				  ;; (* Z (sin el)
+				  (* att (if (= dist 0) 0 (/ z dist)) (third s)))))))
+		(set! (channel-gains i) (cons time (channel-gains i)))
+		(set! (channel-gains i) (cons signal (channel-gains i))))))
+	  
+	  ;; push reverb gain into envelope
+	  (if (= rev-channels 1)
+	      (begin
+		;; mono reverberation
+		(set! (channel-rev-gains 0) (cons time (channel-rev-gains 0)))
+		(set! (channel-rev-gains 0) (cons (if (>= dist inside-radius)
+						      (expt dist (- reverb-power))
+						      (- 1.0 (expt (/ dist inside-radius) (/ inside-reverb-power))))
+						  (channel-rev-gains 0))))
+	      ;; multichannel reverb
+	      (do ((i 0 (+ i 1)))
+		  ((= i rev-channels))
+		(let ((signal (let ((s ((speaker-config-coords speakers) i)))
+				(* dlocsig-ambisonics-scaler
+				   (+ 
+				    ;; W
+				    (* rattW point707)
+				    ;; (* X (cos az) (cos el))
+				    (* ratt (if (zero? dist) 0 (/ y dist)) (cadr s))
+				    ;; (* Y (sin az) (cos el))
+				    (* ratt (if (zero? dist) 0 (/ x dist)) (car s))
+				    ;; (* Z (sin el)
+				    (* ratt (if (zero? dist) 0 (/ z dist)) (third s)))))))
+		  (set! (channel-rev-gains i) (cons time (channel-rev-gains i)))
+		  (set! (channel-rev-gains i) (cons signal (channel-rev-gains i)))))))))
     
     ;; Loop through all virtual rooms for one breakpoint in the trajectory
     (define (walk-all-rooms x y z time)
-      (let ((room 0)
-	    (dist (distance x y z)))
+      (let ((dist (distance x y z)))
 	;; remember first and last distances
 	(if (not first-dist) ; set to #f (far) above
 	    (set! first-dist dist))
@@ -2862,12 +2829,12 @@
 	       ;; ambisonics decoded
 	       (fdecoded-ambisonics x y z dist time)))
 	
-	(set! room (+ 1 room))
-	;; remember current time and distance for next point
-	(set! prev-time time)
-	(set! prev-dist dist)
-	;; return number of rooms processed
-	room))
+	(let ((room 1))
+	  ;; remember current time and distance for next point
+	  (set! prev-time time)
+	  (set! prev-dist dist)
+	  ;; return number of rooms processed (?)
+	  room)))
     
     ;; Check to see if a segment changes radial direction:
     ;;   a change in radial direction implies a change in 
@@ -2875,21 +2842,21 @@
     ;;   point in the rendered envelopes
     (define (change-direction xa ya za ta xb yb zb tb)
       (walk-all-rooms xa ya za ta)
-      (if (not (and (= xa xb)
-		    (= ya yb)
-		    (= za zb)
-		    (= ta tb)))
-	  (let* ((vals (nearest-point xa ya za xb yb zb 0 0 0))
-		 (xi (car vals))
-		 (yi (cadr vals))
-		 (zi (caddr vals)))
+      (unless (and (= xa xb)
+		   (= ya yb)
+		   (= za zb)
+		   (= ta tb))
+	(let ((vals (nearest-point xa ya za xb yb zb 0 0 0)))
+	  (let ((xi (car vals))
+		(yi (cadr vals))
+		(zi (caddr vals)))
 	    (if (and (if (< xa xb) (<= xa xi xb) (<= xb xi xa))
 		     (if (< ya yb) (<= ya yi yb) (<= yb yi ya))
 		     (if (< za zb) (<= za zi zb) (<= zb zi za)))
 		(walk-all-rooms xi yi zi
 				(+ tb (* (- ta tb)
 					 (/ (distance (- xb xi) (- yb yi) (- zb zi))
-					    (distance (- xb xa) (- yb ya) (- zb za))))))))))
+					    (distance (- xb xa) (- yb ya) (- zb za)))))))))))
     
     ;; Check to see if a segment intersects the inner sphere:
     ;;   points inside are rendered differently so we need to
@@ -2900,48 +2867,48 @@
 	     (vy (/ (- yb ya) mag))
 	     (vz (/ (- zb za) mag))
 	     (bsq (+ (* xa vx) (* ya vy) (* za vz)))
-	     (u (- (+ (* xa xa) (* ya ya) (* za za))
-		   (* inside-radius inside-radius)))
-	     (disc (- (* bsq bsq) u))
+	     (disc (let ((u (- (+ (* xa xa) (* ya ya) (* za za))
+			       (* inside-radius inside-radius))))
+		     (- (* bsq bsq) u)))
 	     (hit (>= disc 0.0)))
 	(if (not hit)
 	    (change-direction xa ya za ta xb yb zb tb)
 	    ;; ray defined by two points hits sphere
-	    (let* ((root (sqrt disc))
-		   (rin  (- (+ bsq root)))
-		   (rout (- root bsq))
-		   (xi #f) (yi #f) (zi #f) (ti #f) (xo #f) (yo #f) (zo #f) (to #f))
-	      (if (> mag rin 0) ;(and (> rin 0) (< rin mag))
-		  ;; intersects entering sphere
-		  (begin
-		    (set! xi (+ xa (* vx rin)))
-		    (set! yi (+ ya (* vy rin)))
-		    (set! zi (+ za (* vz rin)))
-		    (set! ti (+ tb (* (- ta tb)
-				      (/ (distance (- xb xi) (- yb yi) (- zb zi))
-					 (distance (- xb xa) (- yb ya) (- zb za))))))))
-	      (if (and (> rout 0) (< (abs rout) mag))
-		  ;; intersects leaving sphere
-		  (begin
-		    (set! xo (+ xa (* vx rout)))
-		    (set! yo (+ ya (* vy rout)))
-		    (set! zo (+ za (* vz rout)))
-		    (set! to (+ tb (* (- ta tb)
-				      (/ (distance (- xb xo) (- yb yo) (- zb zo))
-					 (distance (- xb xa) (- yb ya) (- zb za))))))))
-	      (if xi
-		  (begin
-		    (change-direction xa ya za ta xi yi zi ti)
+	    (let ((root (sqrt disc)))
+	      (let ((rin  (- (+ bsq root)))
+		    (rout (- root bsq))
+		    (xi #f) (yi #f) (zi #f) (ti #f) (xo #f) (yo #f) (zo #f) (to #f))
+		(if (> mag rin 0) ;(and (> rin 0) (< rin mag))
+		    ;; intersects entering sphere
+		    (begin
+		      (set! xi (+ xa (* vx rin)))
+		      (set! yi (+ ya (* vy rin)))
+		      (set! zi (+ za (* vz rin)))
+		      (set! ti (+ tb (* (- ta tb)
+					(/ (distance (- xb xi) (- yb yi) (- zb zi))
+					   (distance (- xb xa) (- yb ya) (- zb za))))))))
+		(if (and (> rout 0) (< (abs rout) mag))
+		    ;; intersects leaving sphere
+		    (begin
+		      (set! xo (+ xa (* vx rout)))
+		      (set! yo (+ ya (* vy rout)))
+		      (set! zo (+ za (* vz rout)))
+		      (set! to (+ tb (* (- ta tb)
+					(/ (distance (- xb xo) (- yb yo) (- zb zo))
+					   (distance (- xb xa) (- yb ya) (- zb za))))))))
+		(if xi
+		    (begin
+		      (change-direction xa ya za ta xi yi zi ti)
+		      (if xo
+			  (begin
+			    (change-direction xi yi zi ti xo yo zo to)
+			    (change-direction xo yo zo to xb yb zb tb))
+			  (change-direction xi yi zi ti xb yb zb tb)))
 		    (if xo
 			(begin
-			  (change-direction xi yi zi ti xo yo zo to)
+			  (change-direction xa ya za ta xo yo zo to)
 			  (change-direction xo yo zo to xb yb zb tb))
-			(change-direction xi yi zi ti xb yb zb tb)))
-		  (if xo
-		      (begin
-			(change-direction xa ya za ta xo yo zo to)
-			(change-direction xo yo zo to xb yb zb tb))
-		      (change-direction xa ya za ta xb yb zb tb)))))))
+			(change-direction xa ya za ta xb yb zb tb))))))))
     
     ;; Recursively split segment if longer than minimum rendering distance:
     ;;   otherwise long line segments that have changes in distance render 
@@ -2969,15 +2936,15 @@
 	     (dur 0.0))
 	(do ((i 0 (+ i 2)))
 	    ((>= i (- len 2)) dur)
-	  (let* ((x0 (e i))
-		 (x1 (e (+ i 2)))
-		 (y0 (e (+ i 1))) ; 1/x x points
-		 (y1 (e (+ i 3)))
-		 (area (if (< (abs (real-part (- y0 y1))) .0001)
-			   (/ (- x1 x0) (* y0 all-x))
-			   (/ (* (- (log y1) (log y0)) 
-				 (- x1 x0)) 
-			      (* (- y1 y0) all-x)))))
+	  (let ((area (let ((x0 (e i))
+			    (x1 (e (+ i 2)))
+			    (y0 (e (+ i 1))) ; 1/x x points
+			    (y1 (e (+ i 3))))
+			(if (< (abs (real-part (- y0 y1))) .0001)
+			    (/ (- x1 x0) (* y0 all-x))
+			    (/ (* (- (log y1) (log y0)) 
+				  (- x1 x0)) 
+			       (* (- y1 y0) all-x))))))
 	    (set! dur (+ dur (abs (real-part area))))))))
     
     ;; Loop for each pair of points in the position envelope and render them
@@ -3013,122 +2980,118 @@
 					      (make-delay (time->samples delayo))))
 	      (set! max-out-delay (max max-out-delay delayo))))))
     
-    ;; delay from the minimum distance to the listener
-    (set! min-delay (dist->samples min-dist))
-    ;; duration of sound at listener's position after doppler src
-    ;;
-    ;; this does not work quite right but the error leads to a longer
-    ;; run with zeroed samples at the end so it should be fine
-    ; (format () "doppler: ~S~%" doppler)
-
-    (set! real-dur (* duration (if (null? doppler) 1.0 (src-duration (reverse doppler)))))
-
     ;; end of the run according to the duration of the note
     ;; (set! end (time->samples duration))
     ;; start and end of the loop in samples
-    (set! run-beg (time->samples start-time))
-    (set! run-end (floor (- (+ (time->samples (+ start-time (max duration real-dur)))
-			       (dist->samples last-dist)
-			       (time->samples max-out-delay))
-			    (if initial-delay 0.0 min-delay))))
-    ;; sample at which signal first arrives to the listener
-    (set! start (+ run-beg (dist->samples (- first-dist (if initial-delay 0.0 min-dist)))))
-    ;; minimum distance for unity gain calculation
-    (set! min-dist-unity (max min-dist inside-radius))
-    ;; unity-gain gain scalers
-    (set! unity-gain (* scaler
-			(if (number? unity-gain-dist)
-			    (expt unity-gain-dist direct-power)
-			    (if unity-gain-dist
-				1.0
-				(expt min-dist-unity direct-power)))))
-    (set! unity-rev-gain (* scaler
-			    (if (number? unity-gain-dist)
-				(expt unity-gain-dist reverb-power)
-				(if unity-gain-dist ; defaults to #f above
-				    1.0
-				    (expt min-dist-unity reverb-power)))))
-    ;; unity-gain ambisonics gain scalers
-    (set! amb-unity-gain (* scaler 
-			    (if (number? unity-gain-dist)
-				(expt unity-gain-dist direct-power)
-				(if unity-gain-dist
-				    1.0
-				    (expt min-dist-unity direct-power)))))
-    (set! amb-unity-rev-gain (* scaler
-				(if (number? unity-gain-dist)
-				    (expt unity-gain-dist reverb-power)
-				    (if unity-gain-dist ; defaults to #f above
-					1.0
-					(expt min-dist-unity reverb-power)))))
-
-    ;;; XXX hack!! this should be intercepted in the calling code, no 0 duration please...
-    (if (<= real-dur 0.0)
-	(begin
-	  (format () ";;; error: resetting real duration to 0.1 (was ~A)~%" real-dur)
-	(set! real-dur 0.1)))
-
-    (list 
-     (make-move-sound
-      (list
-       ;; :start 
-       start
-       ;; :end 
-       (time->samples (+ start-time (max duration real-dur)))
-       ;; :out-channels 
-       (if speakers (speaker-config-number speakers) out-channels)
-       ;; :rev-channels 
-       rev-channels
-       ;; :path 
-       (make-delay delay-hack :max-size (max 1 (+ (ceiling (dist->samples max-dist)) delay-hack)))
-       ;; :delay 
-       (make-env (reverse dly)
-		 :offset (if initial-delay 0.0 (- min-delay))
-		 :duration real-dur)
-       ;; :rev 
-       (make-env (if (number? reverb-amount) ; as opposed to an envelope I guess
-		     (list 0 reverb-amount 1 reverb-amount)
-		     reverb-amount)
-		 :duration real-dur)
-       ;; :out-delays 
-       out-delays
-       ;; :gains 
-       (let ((v (make-vector out-channels)))
-	 (do ((i 0 (+ i 1)))
-	     ((= i out-channels))
-	   (set! (v i) (make-env (reverse (channel-gains i))
-				 :scaler (if (= render-using ambisonics) amb-unity-gain unity-gain)
-				 :duration real-dur)))
-	 v)
-       ;; :rev-gains 
-       (and (> rev-channels 0)
-	    (let ((v (make-vector rev-channels)))
-	      (do ((i 0 (+ i 1)))
-		  ((= i rev-channels))
-		(set! (v i) (make-env (reverse (channel-rev-gains i))
-				      :scaler (if (= render-using ambisonics) amb-unity-rev-gain unity-rev-gain)
-				      :duration real-dur)))
-	      v))
-       ;; :out-map 
-       (if speakers 
-	   (speaker-config-map speakers) 
-	   (let ((v (make-vector out-channels)))
-	     (do ((i 0 (+ i 1)))
-		 ((= i out-channels))
-	       (set! (v i) i))
-	     v)))
-      *output*
-      *reverb*)
-     ;; return start and end samples for the run loop
-     run-beg
-     run-end)))
-
-					;(with-sound(:channels 6 :play #f :statistics #t) (sinewave 0 10 440 0.5 :path (make-path '((-10 10) (0.5 0.5) (10 10)) :error 0.001)))
-					;
-					;(with-sound(:statistics #t :channels 4 :reverb-channels 4 :reverb freeverb :decay-time 3)
-					;  (move 0 "/usr/ccrma/snd/nando/sounds/kitchen/bowl/small-medium-large-1.snd"
-					;	:paths (list (make-spiral-path :start-angle 0 :turns 2.5)
-					;		     (make-spiral-path :start-angle 180 :turns 3.5))))
+    (let (;; delay from the minimum distance to the listener
+	  (min-delay (dist->samples min-dist))
+	  ;; duration of sound at listener's position after doppler src
+	  ;; this does not work quite right but the error leads to a longer
+	  ;; run with zeroed samples at the end so it should be fine
+	  (real-dur (* duration (if (null? doppler) 1.0 (src-duration (reverse doppler)))))
+	  ;; minimum distance for unity gain calculation
+	  (min-dist-unity (max min-dist inside-radius))
+	  (run-beg (time->samples start-time)))
+      (let ((run-end (floor (- (+ (time->samples (+ start-time (max duration real-dur)))
+				  (dist->samples last-dist)
+				  (time->samples max-out-delay))
+			       (if initial-delay 0.0 min-delay))))
+	    ;; sample at which signal first arrives to the listener
+	    (start (+ run-beg (dist->samples (- first-dist (if initial-delay 0.0 min-dist)))))
+	    ;; unity-gain gain scalers
+	    (unity-gain (* scaler
+			   (if (number? unity-gain-dist)
+			       (expt unity-gain-dist direct-power)
+			       (if unity-gain-dist
+				   1.0
+				   (expt min-dist-unity direct-power)))))
+	    (unity-rev-gain (* scaler
+			       (if (number? unity-gain-dist)
+				   (expt unity-gain-dist reverb-power)
+				   (if unity-gain-dist ; defaults to #f above
+				       1.0
+				       (expt min-dist-unity reverb-power)))))
+	    ;; unity-gain ambisonics gain scalers
+	    (amb-unity-gain (* scaler 
+			       (if (number? unity-gain-dist)
+				   (expt unity-gain-dist direct-power)
+				   (if unity-gain-dist
+				       1.0
+				       (expt min-dist-unity direct-power)))))
+	    (amb-unity-rev-gain (* scaler
+				   (if (number? unity-gain-dist)
+				       (expt unity-gain-dist reverb-power)
+				       (if unity-gain-dist ; defaults to #f above
+					   1.0
+					   (expt min-dist-unity reverb-power))))))
+      
+	;; XXX hack!! this should be intercepted in the calling code, no 0 duration please...
+	(if (<= real-dur 0.0)
+	    (begin
+	      (format () ";;; error: resetting real duration to 0.1 (was ~A)~%" real-dur)
+	      (set! real-dur 0.1)))
+	
+	(let ((gen (make-move-sound
+		    (list
+		     ;; :start 
+		     start
+		     ;; :end 
+		     (time->samples (+ start-time (max duration real-dur)))
+		     ;; :out-channels 
+		     (if speakers (speaker-config-number speakers) out-channels)
+		     ;; :rev-channels 
+		     rev-channels
+		     ;; :path 
+		     (make-delay delay-hack :max-size (max 1 (+ (ceiling (dist->samples max-dist)) delay-hack)))
+		     ;; :delay 
+		     (make-env (reverse dly)
+			       :offset (if initial-delay 0.0 (- min-delay))
+			       :duration real-dur)
+		     ;; :rev 
+		     (make-env (if (number? reverb-amount) ; as opposed to an envelope I guess
+				   (list 0 reverb-amount 1 reverb-amount)
+				   reverb-amount)
+			       :duration real-dur)
+		     ;; :out-delays 
+		     out-delays
+		     ;; :gains 
+		     (let ((v (make-vector out-channels)))
+		       (do ((i 0 (+ i 1)))
+			   ((= i out-channels))
+			 (set! (v i) (make-env (reverse (channel-gains i))
+					       :scaler (if (= render-using ambisonics) amb-unity-gain unity-gain)
+					       :duration real-dur)))
+		       v)
+		     ;; :rev-gains 
+		     (and (> rev-channels 0)
+			  (let ((v (make-vector rev-channels)))
+			    (do ((i 0 (+ i 1)))
+				((= i rev-channels))
+			      (set! (v i) (make-env (reverse (channel-rev-gains i))
+						    :scaler (if (= render-using ambisonics) amb-unity-rev-gain unity-rev-gain)
+						    :duration real-dur)))
+			    v))
+		     ;; :out-map 
+		     (if speakers 
+			 (speaker-config-map speakers) 
+			 (let ((v (make-vector out-channels)))
+			   (do ((i 0 (+ i 1)))
+			       ((= i out-channels))
+			     (set! (v i) i))
+			   v)))
+		    *output*
+		    *reverb*)))
+	  (list gen
+		;; return start and end samples for the run loop
+		run-beg
+		run-end))))))
+
+;; (with-sound(:channels 6 :play #f :statistics #t) (sinewave 0 10 440 0.5 :path (make-path '((-10 10) (0.5 0.5) (10 10)) :error 0.001)))
+;;
+;; (with-sound(:statistics #t :channels 4 :reverb-channels 4 :reverb freeverb :decay-time 3)
+;;  (move 0 "/usr/ccrma/snd/nando/sounds/kitchen/bowl/small-medium-large-1.snd"
+;;	:paths (list (make-spiral-path :start-angle 0 :turns 2.5)
+;;		     (make-spiral-path :start-angle 180 :turns 3.5))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Run macro to localize samples
@@ -3139,8 +3102,9 @@
 
 #|
 
-					;(define hi (make-path '((-10 10) (0.5 0.5) (10 10)) :3d #f :error 0.001))
-					;(make-dlocsig 0 1.0 :out-channels 2 :rev-channels 0 :path (make-path '((-10 10) (0.5 0.5) (10 10)) :3d #f))
+;; (define hi (make-path '((-10 10) (0.5 0.5) (10 10)) :3d #f :error 0.001))
+;; (make-dlocsig 0 1.0 :out-channels 2 :rev-channels 0 :path (make-path '((-10 10) (0.5 0.5) (10 10)) :3d #f))
+
 (if (provided? 'snd)
     (require snd-ws.scm)
     (require sndlib-ws.scm))
diff --git a/draw.scm b/draw.scm
index 3d500c7..c235558 100644
--- a/draw.scm
+++ b/draw.scm
@@ -64,52 +64,52 @@
 	  (set! (foreground-color snd chn) red)
 	  (draw-lines (channel-property 'rms-lines snd chn) snd chn time-graph cr)
 	  (set! (foreground-color snd chn) old-color))
-	(let* ((xdata (pack-x-info axinf))
-	       (ydata (pack-y-info axinf))
-	       (start (max 0 (- left rms-size)))
-	       (reader (make-sampler start snd chn))
-	       (rms (make-moving-rms rms-size))
-	       (x0 0)
-	       (y0 0)
-	       (line-ctr 2)
-	       (lines (make-vector (* 2 (- (+ (axinf 12) 1) (axinf 10))) 0)))
-	  (dynamic-wind
-	      (lambda ()
-		(set! (foreground-color snd chn) red))
-	      (lambda ()
-		(if (< start left)                 ; check previous samples to get first rms value
-		    (do ((i start (+ 1 i))) 
-			((= i left))
-		      (moving-rms rms (reader))))
-		(let ((first-sample (next-sample reader)))
-		  (set! x0 (grf-it (* left sr) xdata))
-		  (set! y0 (grf-it first-sample ydata)))
-		(set! (lines 0) x0)                ; first graph point
-		(set! (lines 1) y0)
-		(do ((i (+ left 1) (+ 1 i)))       ; loop through all samples calling moving-rms
-		    ((= i right))
-		  (let ((x1 (grf-it (* i sr) xdata))
-			(y (moving-rms rms (next-sample reader))))
-		    (if (> x1 x0)                 ; very often many samples are represented by one pixel
-			(let ((y1 (grf-it y ydata)))
-			  (set! (lines line-ctr) x1)
-			  (set! (lines (+ 1 line-ctr)) y1)
-			  (set! line-ctr (+ line-ctr 2))
-			  (set! x0 x1)
-			  (set! y0 y1)))))      ; else should we do "max" here? or draw a vertical line from min to max?
-		(if (< line-ctr (length lines))
-		    (do ((j line-ctr (+ j 2)))       ; off-by-one in vector size calc -- need to pad so we don't get a bogus line to (0, 0)
-			((>= j (length lines)))
-		      (set! (lines j) x0)
-		      (set! (lines (+ j 1)) y0)))
-		(draw-lines lines snd chn time-graph cr)
-		(set! (channel-property 'rms-lines snd chn) lines)  ; save current data for possible redisplay
-		(set! (channel-property 'rms-axis-info snd chn) axinf))
-	      (lambda ()
-		(set! (foreground-color snd chn) old-color)))))
+	(let ((start (max 0 (- left rms-size))))
+	  (let ((xdata (pack-x-info axinf))
+		(ydata (pack-y-info axinf))
+		(reader (make-sampler start snd chn))
+		(rms (make-moving-rms rms-size))
+		(x0 0)
+		(y0 0)
+		(line-ctr 2)
+		(lines (make-vector (* 2 (- (+ (axinf 12) 1) (axinf 10))) 0)))
+	    (dynamic-wind
+		(lambda ()
+		  (set! (foreground-color snd chn) red))
+		(lambda ()
+		  (if (< start left)                 ; check previous samples to get first rms value
+		      (do ((i start (+ 1 i))) 
+			  ((= i left))
+			(moving-rms rms (reader))))
+		  (let ((first-sample (next-sample reader)))
+		    (set! x0 (grf-it (* left sr) xdata))
+		    (set! y0 (grf-it first-sample ydata)))
+		  (set! (lines 0) x0)                ; first graph point
+		  (set! (lines 1) y0)
+		  (do ((i (+ left 1) (+ 1 i)))       ; loop through all samples calling moving-rms
+		      ((= i right))
+		    (let ((x1 (grf-it (* i sr) xdata))
+			  (y (moving-rms rms (next-sample reader))))
+		      (if (> x1 x0)                 ; very often many samples are represented by one pixel
+			  (let ((y1 (grf-it y ydata)))
+			    (set! (lines line-ctr) x1)
+			    (set! (lines (+ 1 line-ctr)) y1)
+			    (set! line-ctr (+ line-ctr 2))
+			    (set! x0 x1)
+			    (set! y0 y1)))))      ; else should we do "max" here? or draw a vertical line from min to max?
+		  (if (< line-ctr (length lines))
+		      (do ((j line-ctr (+ j 2)))       ; off-by-one in vector size calc -- need to pad so we don't get a bogus line to (0, 0)
+			  ((>= j (length lines)))
+			(set! (lines j) x0)
+			(set! (lines (+ j 1)) y0)))
+		  (draw-lines lines snd chn time-graph cr)
+		  (set! (channel-property 'rms-lines snd chn) lines)  ; save current data for possible redisplay
+		  (set! (channel-property 'rms-axis-info snd chn) axinf))
+		(lambda ()
+		  (set! (foreground-color snd chn) old-color))))))
     (free-cairo cr)))
 
-					;(hook-push after-graph-hook (lambda (hook) (overlay-rms-env (hook 'snd) (hook 'chn))))
+;; (hook-push after-graph-hook (lambda (hook) (overlay-rms-env (hook 'snd) (hook 'chn))))
 
 
 (define display-colored-samples 
@@ -125,20 +125,18 @@ whenever they're in the current view."))
 		   (> right beg))
 	  (let ((data (make-graph-data snd chn)))
 	    (if (float-vector? data)
-		(let* ((samps (- (min right end) (max left beg)))
-		       (offset (max 0 (- beg left)))
-		       (new-data (float-vector-subseq data offset (+ offset samps))))
+		(let ((new-data (let ((samps (- (min right end) (max left beg)))
+				      (offset (max 0 (- beg left))))
+				  (float-vector-subseq data offset (+ offset samps)))))
 		  (set! (foreground-color snd chn) color)
 		  (graph-data new-data snd chn copy-context (max beg left) (min end right) (time-graph-style snd chn) cr)
 		  (set! (foreground-color snd chn) old-color))
-		(let* ((low-data (car data))
-		       (high-data (cadr data))
-		       (size (length low-data))
+		(let* ((size (length (car data)))
 		       (samps (- right left))
 		       (left-bin (floor (/ (* size (max 0 (- beg left))) samps)))
 		       (right-bin (floor (/ (* size (- (min end right) left)) samps)))
-		       (new-low-data (float-vector-subseq low-data left-bin right-bin))
-		       (new-high-data (float-vector-subseq high-data left-bin right-bin)))
+		       (new-low-data (float-vector-subseq (car data) left-bin right-bin))
+		       (new-high-data (float-vector-subseq (cadr data) left-bin right-bin)))
 		  (set! (foreground-color snd chn) color)
 		  (graph-data (list new-low-data new-high-data) snd chn copy-context left-bin right-bin (time-graph-style snd chn) cr)
 		  (set! (foreground-color snd chn) old-color)))))
@@ -163,13 +161,13 @@ whenever they're in the current view."))
     (lambda* (color ubeg udur usnd uchn)
       (if (not (member display-samples-in-color (hook-functions after-graph-hook)))
 	  (hook-push after-graph-hook display-samples-in-color))
-      (let* ((beg (or ubeg 0))
-	     (snd (or usnd (selected-sound) (car (sounds))))
-	     (chn (or uchn (selected-channel snd) 0))
-	     (dur (or udur (- (framples snd chn) beg)))
-	     (old-colors (or (channel-property 'colored-samples snd chn) ())))
-	(set! (channel-property 'colored-samples snd chn) (cons (list color beg dur) old-colors))
-	(update-time-graph snd chn)))))
+      (let ((snd (or usnd (selected-sound) (car (sounds)))))
+	(let ((chn (or uchn (selected-channel snd) 0))
+	      (beg (or ubeg 0)))
+	  (let ((dur (or udur (- (framples snd chn) beg)))
+		(old-colors (or (channel-property 'colored-samples snd chn) ())))
+	    (set! (channel-property 'colored-samples snd chn) (cons (list color beg dur) old-colors))
+	    (update-time-graph snd chn)))))))
 
 
 (define uncolor-samples 
@@ -187,24 +185,21 @@ whenever they're in the current view."))
       (let ((edits (edit-position snd chn)))
 	(when (> edits 0)
 	  (let* ((old-color (foreground-color snd chn))
-		 (clist (color->list old-color))
-		 (r (car clist))
-		 (g (cadr clist))
-		 (b (caddr clist))
-		 (rinc (/ (- 1.0 r) (+ edits 1)))
-		 (ginc (/ (- 1.0 g) (+ edits 1)))
-		 (binc (/ (- 1.0 b) (+ edits 1)))
-		 (cr (make-cairo (car (channel-widgets snd chn))))) 
-	    (do ((pos 0 (+ 1 pos))
-		 (re (- 1.0 rinc) (- re rinc))
-		 (ge (- 1.0 ginc) (- ge ginc))
-		 (be (- 1.0 binc) (- be binc)))
-		((> pos edits))
-	      (let ((data (make-graph-data snd chn pos)))
-		(set! (foreground-color snd chn) (make-color re ge be))
-		(graph-data data snd chn copy-context #f #f (time-graph-style snd chn) cr)))
-	    (set! (foreground-color snd chn) old-color)
-	    (free-cairo cr)))))))
+		 (clist (color->list old-color)))
+	    (let ((rinc (/ (- 1.0 (car clist)) (+ edits 1)))
+		  (ginc (/ (- 1.0 (cadr clist)) (+ edits 1)))
+		  (binc (/ (- 1.0 (caddr clist)) (+ edits 1)))
+		  (cr (make-cairo (car (channel-widgets snd chn))))) 
+	      (do ((pos 0 (+ 1 pos))
+		   (re (- 1.0 rinc) (- re rinc))
+		   (ge (- 1.0 ginc) (- ge ginc))
+		   (be (- 1.0 binc) (- be binc)))
+		  ((> pos edits))
+		(let ((data (make-graph-data snd chn pos)))
+		  (set! (foreground-color snd chn) (make-color re ge be))
+		  (graph-data data snd chn copy-context #f #f (time-graph-style snd chn) cr)))
+	      (set! (foreground-color snd chn) old-color)
+	      (free-cairo cr))))))))
 
 
 (define overlay-sounds
diff --git a/dsp.scm b/dsp.scm
index 30d399c..ecb7b1c 100644
--- a/dsp.scm
+++ b/dsp.scm
@@ -42,16 +42,18 @@
 	     (dur 0.0))
 	(do ((i 0 (+ i 2)))
 	    ((>= i (- len 2)) dur)
-	  (let* ((x0 (e i))
-		 (x1 (e (+ i 2)))
-		 (y0 (e (+ i 1))) ; 1/x x points
-		 (y1 (e (+ i 3)))
-		 (area (if (< (abs (- y0 y1)) .0001)
-			   (/ (- x1 x0) (* y0 all-x))
-			   (/ (* (- (log y1) (log y0)) (- x1 x0)) 
-			      (* (- y1 y0) all-x)))))
-	    ;; or (* (/ (- (log y1) (log y0)) (- y1 y0)) ; or (/ (log (/ y1 y0)) (- y1 y0))
-	    ;;       (/ (- x1 x0) all-x)))
+	  (let ((area (let ((x0 (e i))
+			    (x1 (e (+ i 2)))
+			    (y0 (e (+ i 1))) ; 1/x x points
+			    (y1 (e (+ i 3))))
+			(if (< (abs (real-part (- y0 y1))) .0001)
+			    (/ (- x1 x0) (* y0 all-x))
+			    (/ (* (- (log y1) (log y0)) 
+				  (- x1 x0)) 
+			       (* (- y1 y0) all-x))))))
+	    ;; or (* (/ (- (log y1) (log y0)) (- y1 y0)) 
+	    ;;    or (/ (log (/ y1 y0)) (- y1 y0))
+	    ;;       (/ (- x1 x0) all-x)
 	    (set! dur (+ dur (abs area)))))))))
 
 ;;; :(src-duration '(0 1 1 2))
@@ -71,17 +73,17 @@
 (define dolph
   (let ((documentation "(dolph n gamma) produces a Dolph-Chebyshev FFT data window of 'n' points using 'gamma' as the window parameter."))
     (lambda (N gamma)
-      (let* ((alpha (cosh (/ (acosh (expt 10.0 gamma)) N)))
-	     (den (/ 1.0 (cosh (* N (acosh alpha)))))
-	     (freq (/ pi N))
-	     (rl (make-float-vector N))
-	     (im (make-float-vector N)))
-	(do ((i 0 (+ i 1))
-	     (phase 0.0 (+ phase freq)))
-	    ((= i N))
-	  (let ((val (* den (cos (* N (acos (* alpha (cos phase))))))))
-	    (set! (rl i) (real-part val))
-	    (set! (im i) (imag-part val)))) ;this is always essentially 0.0
+      (let ((rl (make-float-vector N))
+	    (im (make-float-vector N)))
+	(let ((alpha (cosh (/ (acosh (expt 10.0 gamma)) N))))
+	  (do ((den (/ 1.0 (cosh (* N (acosh alpha)))))
+	       (freq (/ pi N))
+	       (i 0 (+ i 1))
+	       (phase 0.0 (+ phase freq)))
+	      ((= i N))
+	    (let ((val (* den (cos (* N (acos (* alpha (cos phase))))))))
+	      (set! (rl i) (real-part val))
+	      (set! (im i) (imag-part val))))) ;this is always essentially 0.0
 	(fft rl im -1)            ;direction could also be 1
 	(float-vector-scale! rl (/ 1.0 (float-vector-peak rl)))
 	(do ((i 0 (+ i 1))
@@ -99,31 +101,31 @@
 (define dolph-1
   (let ((documentation "(dolph-1 n gamma) produces a Dolph-Chebyshev FFT data window of 'n' points using 'gamma' as the window parameter."))
     (lambda (N gamma)
-      (let* ((alpha (cosh (/ (acosh (expt 10.0 gamma)) N)))
-	     (den (/ 1.0 (cosh (* N (acosh alpha)))))
-	     (freq (/ pi N))
-	     (vals (make-vector N))
-	     (w (make-vector N))
-	     (pk 0.0))
-	(do ((mult -1 (- mult))
-	     (i 0 (+ i 1))
-	     (phase (* -0.5 pi) (+ phase freq)))
-	    ((= i N))
-	  (set! (vals i) (* mult den (cos (* N (acos (* alpha (cos phase))))))))
+      (let ((vals (make-vector N)))
+	(let ((alpha (cosh (/ (acosh (expt 10.0 gamma)) N))))
+	  (do ((den (/ 1.0 (cosh (* N (acosh alpha)))))
+	       (freq (/ pi N))
+	       (mult -1 (- mult))
+	       (i 0 (+ i 1))
+	       (phase (* -0.5 pi) (+ phase freq)))
+	      ((= i N))
+	    (set! (vals i) (* mult den (cos (* N (acos (* alpha (cos phase)))))))))
 	;; now take the DFT
-	(do ((i 0 (+ i 1)))
-	    ((= i N))
-	  (let ((sum 0.0))
-	    (do ((k 0 (+ k 1)))
-		((= k N))
-	      (set! sum (+ sum (* (vals k) (exp (/ (* 2.0 0+1.0i pi k i) N))))))
-	    (set! (w i) (magnitude sum))
-	    (set! pk (max pk (w i)))))
-	;; scale to 1.0 (it's usually pretty close already, that is pk is close to 1.0)
-	(do ((i 0 (+ i 1)))
-	    ((= i N))
-	  (set! (w i) (/ (w i) pk)))
-	w))))
+	(let ((pk 0.0)
+	      (w (make-vector N)))
+	  (do ((i 0 (+ i 1)))
+	      ((= i N))
+	    (let ((sum 0.0))
+	      (do ((k 0 (+ k 1)))
+		  ((= k N))
+		(set! sum (+ sum (* (vals k) (exp (/ (* 2.0 0+1.0i pi k i) N))))))
+	      (set! (w i) (magnitude sum))
+	      (set! pk (max pk (w i)))))
+	  ;; scale to 1.0 (it's usually pretty close already, that is pk is close to 1.0)
+	  (do ((i 0 (+ i 1)))
+	      ((= i N))
+	    (set! (w i) (/ (w i) pk)))
+	  w)))))
 
 
 ;;; -------- move sound down by n (a power of 2)
@@ -135,55 +137,54 @@
       ;;  the power-of-2 limitation is based on the underlying fft function's insistence on power-of-2 data sizes
       ;;  see stretch-sound-via-dft below for a general version
       (let* ((len (framples snd chn))
-	     (fftlen (floor (expt 2 (ceiling (log len 2)))))
-	     (fftlen2 (/ fftlen 2))
-	     (fft-1 (- (* n fftlen) 1))
-	     (fftscale (/ 1.0 fftlen))
-	     (rl1 (channel->float-vector 0 fftlen snd chn))
-	     (im1 (make-float-vector fftlen)))
-	(fft rl1 im1 1)
-	(float-vector-scale! rl1 fftscale)
-	(float-vector-scale! im1 fftscale)
-	(let ((rl2 (make-float-vector (* n fftlen)))
-	      (im2 (make-float-vector (* n fftlen))))
-	  (copy rl1 rl2 0 fftlen2)
-	  (copy im1 im2 0 fftlen2)
-	  (do ((k (- fftlen 1) (- k 1))
-	       (j fft-1 (- j 1)))
-	      ((= k fftlen2))
-	    (float-vector-set! rl2 j (float-vector-ref rl1 k))
-	    (float-vector-set! im2 j (float-vector-ref im1 k)))
-	  (fft rl2 im2 -1)
-	  (float-vector->channel rl2 0 (* n len) snd chn #f (format #f "down-oct ~A" n)))))))
-
+	     (fftlen (floor (expt 2 (ceiling (log len 2))))))
+	(let ((fftlen2 (/ fftlen 2))
+	      (fft-1 (- (* n fftlen) 1))
+	      (fftscale (/ 1.0 fftlen))
+	      (rl1 (channel->float-vector 0 fftlen snd chn))
+	      (im1 (make-float-vector fftlen)))
+	  (fft rl1 im1 1)
+	  (float-vector-scale! rl1 fftscale)
+	  (float-vector-scale! im1 fftscale)
+	  (let ((rl2 (make-float-vector (* n fftlen)))
+		(im2 (make-float-vector (* n fftlen))))
+	    (copy rl1 rl2 0 fftlen2)
+	    (copy im1 im2 0 fftlen2)
+	    (do ((k (- fftlen 1) (- k 1))
+		 (j fft-1 (- j 1)))
+		((= k fftlen2))
+	      (float-vector-set! rl2 j (float-vector-ref rl1 k))
+	      (float-vector-set! im2 j (float-vector-ref im1 k)))
+	    (fft rl2 im2 -1)
+	    (float-vector->channel rl2 0 (* n len) snd chn #f (format #f "down-oct ~A" n))))))))
+  
 (define stretch-sound-via-dft 
   (let ((documentation "(stretch-sound-via-dft factor snd chn) makes the given channel longer ('factor' should be > 1.0) by \
 squeezing in the frequency domain, then using the inverse DFT to get the time domain result."))
     (lambda* (factor snd chn)
       ;; this is very slow! factor>1.0
       (let* ((n (framples snd chn))
-	     (n2 (floor (/ n 2.0)))
-	     (out-n (round (* n factor)))
-	     (in-data (channel->float-vector 0 n snd chn))
-	     (out-data (make-float-vector out-n))
-	     (fr (make-vector out-n 0.0))
-	     (freq (/ (* 2 pi) n)))
-	(do ((i 0 (+ i 1)))
-	    ((= i n))
-	  ;; DFT + split
-	  (if (< i n2)
-	      (set! (fr i) (edot-product (* freq 0.0-1.0i i) in-data))
-	      (set! (fr (- (+ i out-n) n 1)) (edot-product (* freq 0.0-1.0i i) in-data))))
-	(set! freq (/ (* 2 pi) out-n))
-	(do ((i 0 (+ i 1)))
-	    ((= i out-n))
-	  ;; inverse DFT
-	  (set! (out-data i) (real-part (/ (edot-product (* freq 0.0+1.0i i) fr) n))))
-	(float-vector->channel out-data 0 out-n snd chn #f (format #f "stretch-sound-via-dft ~A" factor))))))
-
+	     (out-n (round (* n factor))))
+	(let ((out-data (make-float-vector out-n))
+	      (fr (make-vector out-n 0.0))
+	      (freq (/ (* 2 pi) n)))
+	  (do ((in-data (channel->float-vector 0 n snd chn))
+	       (n2 (floor (/ n 2.0)))
+	       (i 0 (+ i 1)))
+	      ((= i n))
+	    ;; DFT + split
+	    (set! (fr (if (< i n2) i (- (+ i out-n) n 1))) 
+		  (edot-product (* freq 0.0-1.0i i) in-data)))
+	  (set! freq (/ (* 2 pi) out-n))
+	  (do ((i 0 (+ i 1)))
+	      ((= i out-n))
+	    ;; inverse DFT
+	    (set! (out-data i) (real-part (/ (edot-product (* freq 0.0+1.0i i) fr) n))))
+	  (float-vector->channel out-data 0 out-n snd chn #f (format #f "stretch-sound-via-dft ~A" factor)))))))
+  
 
 
-;;; -------- compute-uniform-circular-string
+;;; -------- vibrating-uniform-circular-string
 ;;;
 ;;; this is a simplification of the underlying table-filling routine for "scanned synthesis".
 ;;; To watch the wave, open some sound (so Snd has some place to put the graph), turn off
@@ -191,7 +192,7 @@ squeezing in the frequency domain, then using the inverse DFT to get the time do
 ;;; elegant manner, see snd-motif.scm under scanned-synthesis).
 
 #|
-(define old-compute-uniform-circular-string
+(define old-vibrating-uniform-circular-string
   (lambda (size x0 x1 x2 mass xspring damp)
     (define circle-ref 
       (lambda (v i)
@@ -214,28 +215,28 @@ squeezing in the frequency domain, then using the inverse DFT to get the time do
       (copy x1 x2)
       (copy x0 x1))))
 
-;;; (compute-uniform-circular-string 100 (make-float-vector 100) (make-float-vector 100) (make-float-vector 100) .5 .5 .5)
+;;; (vibrating-uniform-circular-string 100 (make-float-vector 100) (make-float-vector 100) (make-float-vector 100) .5 .5 .5)
 |#
 
-(define (compute-uniform-circular-string size x0 x1 x2 mass xspring damp)
-  (let* ((dm (/ damp mass))
-	 (km (/ xspring mass))
-	 (denom (+ 1.0 dm))
-	 (p2 (/ km denom))
-	 (s1 (- size 1)))
-    (float-vector-scale! x2 (/ -1.0 denom))
-    (copy x1 x0)
-    (float-vector-scale! x0 (/ (- (+ 2.0 dm) (* 2.0 km)) denom))
-    (float-vector-add! x0 x2)
-    (set! (x0 0) (+ (x0 0) (* p2 (+ (x1 s1) (x1 1)))))
-    (do ((i 1 (+ i 1)))
-	((= i s1))
-      (float-vector-set! x0 i (+ (float-vector-ref x0 i) (* p2 (+ (float-vector-ref x1 (- i 1)) (float-vector-ref x1 (+ i 1)))))))
-    (set! (x0 s1) (+ (x0 s1) (* p2 (+ (x1 (- s1 1)) (x1 0)))))
-    (copy x1 x2)
-    (copy x0 x1)))
+(define (vibrating-uniform-circular-string size x0 x1 x2 mass xspring damp)
+  (let ((dm (/ damp mass))
+	(km (/ xspring mass)))
+    (let ((denom (+ 1.0 dm)))
+      (let ((p2 (/ km denom))
+	    (s1 (- size 1)))
+	(float-vector-scale! x2 (/ -1.0 denom))
+	(copy x1 x0)
+	(float-vector-scale! x0 (/ (- (+ 2.0 dm) (* 2.0 km)) denom))
+	(float-vector-add! x0 x2)
+	(set! (x0 0) (+ (x0 0) (* p2 (+ (x1 s1) (x1 1)))))
+	(do ((i 1 (+ i 1)))
+	    ((= i s1))
+	  (float-vector-set! x0 i (+ (float-vector-ref x0 i) (* p2 (+ (float-vector-ref x1 (- i 1)) (float-vector-ref x1 (+ i 1)))))))
+	(set! (x0 s1) (+ (x0 s1) (* p2 (+ (x1 (- s1 1)) (x1 0))))))))
+  (copy x1 x2)
+  (copy x0 x1))
 
-(define (compute-string size x0 x1 x2 masses xsprings esprings damps haptics)
+(define (vibrating-string size x0 x1 x2 masses xsprings esprings damps haptics)
   ;; this is the more general form
   (do ((i 0 (+ i 1)))
       ((= i size))
@@ -329,16 +330,16 @@ squeezing in the frequency domain, then using the inverse DFT to get the time do
 (define spike
   (let ((documentation "(spike snd chn) multiplies successive samples together to make a sound more spikey"))
     (lambda* (snd chn)
-      (let* ((len (framples snd chn))
-	     (data (channel->float-vector 0 (+ len 2) snd chn))
-	     (amp (maxamp snd chn)) ; keep resultant peak at maxamp
-	     ;; multiply x[0]*x[1]*x[2]
-	     (data1 (make-float-vector (+ len 1))))
-	(copy data data1 1)
-	(float-vector-abs! (float-vector-multiply! data1 data))
-	(float-vector-multiply! data (make-shared-vector data1 (list len) 1))
-	(let ((amp1 (/ amp (float-vector-peak data))))
-	  (float-vector->channel (float-vector-scale! data amp1) 0 len snd chn current-edit-position "spike"))))))
+      (let ((len (framples snd chn)))
+	(let ((data (channel->float-vector 0 (+ len 2) snd chn))
+	      (amp (maxamp snd chn)) ; keep resultant peak at maxamp
+	      ;; multiply x[0]*x[1]*x[2]
+	      (data1 (make-float-vector (+ len 1))))
+	  (copy data data1 1)
+	  (float-vector-abs! (float-vector-multiply! data1 data))
+	  (float-vector-multiply! data (make-shared-vector data1 (list len) 1))
+	  (let ((amp1 (/ amp (float-vector-peak data))))
+	    (float-vector->channel (float-vector-scale! data amp1) 0 len snd chn current-edit-position "spike")))))))
 
 ;;; the more successive samples we include in the product, the more we
 ;;;   limit the output to pulses placed at (just after) wave peaks
@@ -360,11 +361,11 @@ squeezing in the frequency domain, then using the inverse DFT to get the time do
 		   ((= i (- fftlen 2)) 0)
 		 (if (and (< (data i) (data (+ i 1)))
 			  (> (data (+ i 1)) (data (+ i 2))))
-		     (let* ((logla (log10 (/ (+ cor-peak (data i)) (* 2 cor-peak))))
-			    (logca (log10 (/ (+ cor-peak (data (+ i 1))) (* 2 cor-peak))))
-			    (logra (log10 (/ (+ cor-peak (data (+ i 2))) (* 2 cor-peak))))
-			    (offset (/ (* 0.5 (- logla logra))
-				       (+ logla logra (* -2.0 logca)))))
+		     (let ((offset (let ((logla (log10 (/ (+ cor-peak (data i)) (* 2 cor-peak))))
+					 (logca (log10 (/ (+ cor-peak (data (+ i 1))) (* 2 cor-peak))))
+					 (logra (log10 (/ (+ cor-peak (data (+ i 2))) (* 2 cor-peak)))))
+				     (/ (* 0.5 (- logla logra))
+					(+ logla logra (* -2.0 logca))))))
 		       (return (/ (srate snd)
 				  (* 2 (+ i 1 offset))))))))))))))
 
@@ -432,47 +433,47 @@ squeezing in the frequency domain, then using the inverse DFT to get the time do
     (lambda* (snd chn)
       (let* ((len (framples snd chn))
 	     (fftlen (floor (expt 2 (ceiling (log len 2)))))
-	     (fftscale (/ 1.0 fftlen))
-	     (rl (channel->float-vector 0 fftlen snd chn))
-	     (old-pk (float-vector-peak rl))
-	     (im (make-float-vector fftlen)))
-	(if (> old-pk 0.0)
-	    (begin
-	      (fft rl im 1)
-	      (rectangular->magnitudes rl im)
-	      (float-vector-scale! rl fftscale)
-	      (float-vector-scale! im 0.0)
-	      (fft rl im -1)
-	      (let ((pk (float-vector-peak rl)))
-		(float-vector->channel (float-vector-scale! rl (/ old-pk pk)) 0 len snd chn #f "zero-phase"))))))))
+	     (rl (channel->float-vector 0 fftlen snd chn)))
+	(let ((fftscale (/ 1.0 fftlen))
+	      (old-pk (float-vector-peak rl))
+	      (im (make-float-vector fftlen)))
+	  (if (> old-pk 0.0)
+	      (begin
+		(fft rl im 1)
+		(rectangular->magnitudes rl im)
+		(float-vector-scale! rl fftscale)
+		(float-vector-scale! im 0.0)
+		(fft rl im -1)
+		(let ((pk (float-vector-peak rl)))
+		  (float-vector->channel (float-vector-scale! rl (/ old-pk pk)) 0 len snd chn #f "zero-phase")))))))))
 
 (define rotate-phase
   (let ((documentation "(rotate-phase func snd chn) calls fft, applies func to each phase, then un-ffts"))
     (lambda* (func snd chn)
       (let* ((len (framples snd chn))
 	     (fftlen (floor (expt 2 (ceiling (log len 2)))))
-	     (fftlen2 (floor (/ fftlen 2)))
-	     (fftscale (/ 1.0 fftlen))
-	     (rl (channel->float-vector 0 fftlen snd chn))
-	     (old-pk (float-vector-peak rl))
-	     (im (make-float-vector fftlen)))
-	(if (> old-pk 0.0)
-	    (begin
-	      (fft rl im 1)
-	      (rectangular->magnitudes rl im)
-	      (float-vector-scale! rl fftscale)
-	      (set! (im 0) 0.0)
-	      (do ((i 1 (+ i 1))
-		   (j (- fftlen 1) (- j 1)))
-		  ((= i fftlen2))
-		;; rotate the fft vector by func, keeping imaginary part complex conjgate of real
-		(set! (im i) (func (im i)))
-		(set! (im j) (- (im i))))
-	      (polar->rectangular rl im)
-	      (fft rl im -1)
-	      (let ((pk (float-vector-peak rl)))
-		(float-vector->channel (float-vector-scale! rl (/ old-pk pk)) 0 len snd chn #f 
-				       (format #f "rotate-phase ~A" (procedure-source func))))))))))
+	     (rl (channel->float-vector 0 fftlen snd chn)))
+	(let ((fftlen2 (floor (/ fftlen 2)))
+	      (fftscale (/ 1.0 fftlen))
+	      (old-pk (float-vector-peak rl))
+	      (im (make-float-vector fftlen)))
+	  (if (> old-pk 0.0)
+	      (begin
+		(fft rl im 1)
+		(rectangular->magnitudes rl im)
+		(float-vector-scale! rl fftscale)
+		(set! (im 0) 0.0)
+		(do ((i 1 (+ i 1))
+		     (j (- fftlen 1) (- j 1)))
+		    ((= i fftlen2))
+		  ;; rotate the fft vector by func, keeping imaginary part complex conjgate of real
+		  (set! (im i) (func (im i)))
+		  (set! (im j) (- (im i))))
+		(polar->rectangular rl im)
+		(fft rl im -1)
+		(let ((pk (float-vector-peak rl)))
+		  (float-vector->channel (float-vector-scale! rl (/ old-pk pk)) 0 len snd chn #f 
+					 (format #f "rotate-phase ~A" (procedure-source func)))))))))))
 
 #|
 (rotate-phase (lambda (x) 0.0)) is the same as (zero-phase)
@@ -495,16 +496,16 @@ squeezing in the frequency domain, then using the inverse DFT to get the time do
 (define brighten-slightly
   (let ((documentation "(brighten-slightly amount snd chn) is a form of contrast-enhancement ('amount' between ca .1 and 1)"))
     (lambda* (amount snd chn)
-      (let* ((mx (maxamp))
-	     (brt (* 2 pi amount))
-	     (len (framples snd chn))
-	     (data (make-float-vector len))
-	     (reader (make-sampler 0 snd chn)))
-	(do ((i 0 (+ i 1)))
-	    ((= i len))
-	  (float-vector-set! data i (sin (* (next-sample reader) brt))))
-	(float-vector->channel 
-	 (float-vector-scale! data (/ mx (float-vector-peak data))) 0 len snd chn current-edit-position (format #f "brighten-slightly ~A" amount))))))
+      (let ((len (framples snd chn)))
+	(let ((mx (maxamp))
+	      (brt (* 2 pi amount))
+	      (data (make-float-vector len))
+	      (reader (make-sampler 0 snd chn)))
+	  (do ((i 0 (+ i 1)))
+	      ((= i len))
+	    (float-vector-set! data i (sin (* (next-sample reader) brt))))
+	  (float-vector->channel 
+	   (float-vector-scale! data (/ mx (float-vector-peak data))) 0 len snd chn current-edit-position (format #f "brighten-slightly ~A" amount)))))))
 
 (define brighten-slightly-1
   (let ((documentation "(brighten-slightly-1 coeffs) is a form of contrast-enhancement: (brighten-slightly-1 '(1 .5 3 1))"))
@@ -572,24 +573,24 @@ squeezing in the frequency domain, then using the inverse DFT to get the time do
 (define make-hilbert-transform
   (let ((documentation "(make-hilbert-transform (len 30)) makes a Hilbert transform filter"))
     (lambda* ((len 30))
-      (let* ((arrlen (+ 1 (* 2 len)))
-	     (arr (make-float-vector arrlen))
-	     (lim (if (even? len) len (+ 1 len))))
-	(do ((i (- len) (+ i 1)))
-	    ((= i lim))
-	  (let ((k (+ i len))
-		(denom (* pi i))
-		(num (- 1.0 (cos (* pi i)))))
-	    (set! (arr k)
-		  (if (or (= num 0.0) 
-			  (= i 0))
-		      0.0
-		      ;; this is the "ideal" -- rectangular window -- version:
-		      ;; (set! (arr k) (/ num denom))
-		      ;; this is the Hamming window version:
-		      (* (/ num denom) 
-			 (+ .54 (* .46 (cos (/ (* i pi) len))))))))) ; window
-	(make-fir-filter arrlen arr)))))
+      (let ((arrlen (+ 1 (* 2 len))))
+	(let ((arr (make-float-vector arrlen))
+	      (lim (if (even? len) len (+ 1 len))))
+	  (do ((i (- len) (+ i 1)))
+	      ((= i lim))
+	    (let ((k (+ i len))
+		  (denom (* pi i))
+		  (num (- 1.0 (cos (* pi i)))))
+	      (set! (arr k)
+		    (if (or (= num 0.0) 
+			    (= i 0))
+			0.0
+			;; this is the "ideal" -- rectangular window -- version:
+			;; (set! (arr k) (/ num denom))
+			;; this is the Hamming window version:
+			(* (/ num denom) 
+			   (+ .54 (* .46 (cos (/ (* i pi) len))))))))) ; window
+	  (make-fir-filter arrlen arr))))))
 
 (define hilbert-transform fir-filter)
 
@@ -833,22 +834,21 @@ can be used directly: (filter-sound (make-butter-low-pass 500.0)), or via the 'b
 (define make-butter-band-pass
   (let ((documentation "(make-butter-band-pass freq band) makes a bandpass Butterworth filter with low edge at 'freq' and width 'band'"))
     (lambda (fq bw)
-      (let* ((d (* 2.0 (cos (/ (* 2.0 pi fq) (srate)))))
-	     (c (/ 1.0 (tan (/ (* pi bw) (srate)))))
-	     (c1 (/ 1.0 (+ 1.0 c))))
-	(make-filter 3
-		     (float-vector c1 0.0 (- c1))
-		     (float-vector 0.0 
-				   (* (- c) d c1)
-				   (* (- c 1.0) c1)))))))
+      (let ((c (/ 1.0 (tan (/ (* pi bw) (srate))))))
+	(let ((d (* 2.0 (cos (/ (* 2.0 pi fq) (srate)))))
+	      (c1 (/ 1.0 (+ 1.0 c))))
+	  (make-filter 3
+		       (float-vector c1 0.0 (- c1))
+		       (float-vector 0.0 
+				     (* (- c) d c1)
+				     (* (- c 1.0) c1))))))))
 
 (define make-butter-band-reject
   (let ((documentation "(make-butter-band-reject freq band) makes a band-reject Butterworth filter with low edge at 'freq' and width 'band'"))
     (lambda (fq bw)
-      (let* ((d  (* 2.0 (cos (/ (* 2.0 pi fq) (srate)))))
-	     (c (tan (/ (* pi bw) (srate))))
+      (let* ((c (tan (/ (* pi bw) (srate))))
 	     (c1 (/ 1.0 (+ 1.0 c)))
-	     (c2 (* (- d) c1)))
+	     (c2 (* c1 -2.0 (cos (/ (* 2.0 pi fq) (srate))))))
 	(make-filter 3
 		     (float-vector c1 c2 c1)
 		     (float-vector 0.0 c2 (* (- 1.0 c) c1)))))))
@@ -876,41 +876,35 @@ can be used directly: (filter-sound (make-butter-low-pass 500.0)), or via the 'b
 
 (define* (make-iir-low-pass-2 fc din) ; din=(sqrt 2.0) for example (suggested range 0.2.. 10)
   (let* ((theta (/ (* 2 pi fc) *clm-srate*))
-	 (d (or din (sqrt 2.0)))
-	 (beta (* 0.5 (/ (- 1.0 (* (/ d 2) (sin theta)))
-			 (+ 1.0 (* (/ d 2) (sin theta))))))
+	 (beta (let ((d (* (sin theta) (/ (or din (sqrt 2.0)) 2))))
+		 (* 0.5 (/ (- 1.0 d) (+ 1.0 d)))))
 	 (gamma (* (+ 0.5 beta) (cos theta)))
 	 (alpha (* 0.5 (- (+ 0.5 beta) gamma))))
     (make-local-biquad alpha (* 2.0 alpha) alpha gamma beta)))
 
 (define* (make-iir-high-pass-2 fc din)
   (let* ((theta (/ (* 2 pi fc) *clm-srate*))
-	 (d (or din (sqrt 2.0)))
-	 (beta (* 0.5 (/ (- 1.0 (* (/ d 2) (sin theta)))
-			 (+ 1.0 (* (/ d 2) (sin theta))))))
+	 (beta (let ((d (* (sin theta) (/ (or din (sqrt 2.0)) 2))))
+		 (* 0.5 (/ (- 1.0 d) (+ 1.0 d)))))
 	 (gamma (* (+ 0.5 beta) (cos theta)))
 	 (alpha (* 0.5 (+ 0.5 beta gamma))))
     (make-local-biquad alpha (* -2.0 alpha) alpha gamma beta)))
 
 (define (make-iir-band-pass-2 f1 f2)
   (let* ((theta (/ (* 2 pi (sqrt (* f1 f2))) *clm-srate*))
-	 (Q (/ (sqrt (* f1 f2)) (- f2 f1)))
-	 (t2 (tan (/ theta (* 2 Q))))
-	 (beta (* 0.5 (/ (- 1.0 t2)
-			 (+ 1.0 t2))))
-	 (gamma (* (+ 0.5 beta) (cos theta)))
-	 (alpha (- 0.5 beta)))
-    (make-local-biquad alpha 0.0 (- alpha) gamma beta)))
+	 (beta (let ((t2 (tan (/ theta (* 2 (/ (sqrt (* f1 f2)) (- f2 f1)))))))
+		 (* 0.5 (/ (- 1.0 t2) (+ 1.0 t2))))))
+    (let ((gamma (* (+ 0.5 beta) (cos theta)))
+	  (alpha (- 0.5 beta)))
+      (make-local-biquad alpha 0.0 (- alpha) gamma beta))))
 
 (define (make-iir-band-stop-2 f1 f2)
   (let* ((theta (/ (* 2 pi (sqrt (* f1 f2))) *clm-srate*))
-	 (Q (/ (sqrt (* f1 f2)) (- f2 f1)))
-	 (t2 (tan (/ theta (* 2 Q))))
-	 (beta (* 0.5 (/ (- 1.0 t2)
-			 (+ 1.0 t2))))
-	 (gamma (* (+ 0.5 beta) (cos theta)))
-	 (alpha (+ 0.5 beta)))
-    (make-local-biquad alpha (* -2.0 gamma) alpha gamma beta)))
+	 (beta (let ((t2 (tan (/ theta (* 2 (/ (sqrt (* f1 f2)) (- f2 f1)))))))
+		 (* 0.5 (/ (- 1.0 t2) (+ 1.0 t2))))))
+    (let ((gamma (* (+ 0.5 beta) (cos theta)))
+	  (alpha (+ 0.5 beta)))
+      (make-local-biquad alpha (* -2.0 gamma) alpha gamma beta))))
 
 #|
 (define* (old-make-eliminate-hum (hum-freq 60.0) (hum-harmonics 5) (bandwidth 10))
@@ -952,15 +946,13 @@ can be used directly: (filter-sound (make-butter-low-pass 500.0)), or via the 'b
 (define (make-peaking-2 f1 f2 m)
   ;; bandpass, m is gain at center of peak
   ;; use map-channel with this one (not clm-channel or filter)
-  (let* ((theta (/ (* 2 pi (sqrt (* f1 f2))) *clm-srate*))
-	 (Q (/ (sqrt (* f1 f2)) (- f2 f1)))
-	 (t2 (* (/ 4.0 (+ m 1)) (tan (/ theta (* 2 Q)))))
-	 (beta (* 0.5 (/ (- 1.0 t2)
-			 (+ 1.0 t2))))
-	 (gamma (* (+ 0.5 beta) (cos theta)))
-	 (alpha (- 0.5 beta))
-	 (flt (make-local-biquad alpha 0.0 (- alpha) gamma beta))
-	 (m1 (- m 1.0)))
+  (let ((flt (let* ((theta (/ (* 2 pi (sqrt (* f1 f2))) *clm-srate*))
+		    (beta (let ((t2 (* (/ 4.0 (+ m 1)) (tan (/ theta (* 2 (/ (sqrt (* f1 f2)) (- f2 f1))))))))
+			    (* 0.5 (/ (- 1.0 t2) (+ 1.0 t2))))))
+	       (let ((gamma (* (+ 0.5 beta) (cos theta)))
+		     (alpha (- 0.5 beta)))
+		 (make-local-biquad alpha 0.0 (- alpha) gamma beta))))
+	(m1 (- m 1.0)))
     (lambda (x) (+ x (* m1 (filter flt x))))))
 
 
@@ -980,134 +972,132 @@ can be used directly: (filter-sound (make-butter-low-pass 500.0)), or via the 'b
 	      (set! sum (+ sum (* (h m) (x (- n m))))))
 	    (set! (y n) sum))))
       
-      (let* ((K (length A))
-	     (d (make-float-vector (+ 1 (* 2 K))))
-	     (a1 (make-float-vector (+ 1 (* 2 K)))))
-	(set! (a1 0) 1.0)
-	(do ((i 0 (+ i 1)))
-	    ((= i K))
-	  (conv 2 (A i) (+ 1 (* 2 i)) a1 d)
-	  (copy d a1 0 (+ 3 (* 2 i))))
-	a1))))
+      (let ((K (length A)))
+	(let ((d (make-float-vector (+ 1 (* 2 K))))
+	      (a1 (make-float-vector (+ 1 (* 2 K)))))
+	  (set! (a1 0) 1.0)
+	  (do ((i 0 (+ i 1)))
+	      ((= i K))
+	    (conv 2 (A i) (+ 1 (* 2 i)) a1 d)
+	    (copy d a1 0 (+ 3 (* 2 i))))
+	  a1)))))
 
 
 (define make-butter-lp
   (let ((documentation "(make-butter-lp M fc) returns a butterworth low-pass filter; its order is 'M' * 2, 'fc' is the cutoff frequency in Hz"))
     (lambda (M fc)
-      (let* ((xcoeffs ())
-	     (ycoeffs ())
-	     (theta (/ (* 2 pi fc) *clm-srate*))
-	     (st (sin theta))
-	     (ct (cos theta)))
-	(do ((k 1 (+ k 1)))
-	    ((> k M))
-	  (let* ((d (* 2 (sin (/ (* pi (- (* 2 k) 1)) (* 4 M)))))
-		 (beta (* 0.5 (/ (- 1.0 (* 0.5 d st))
-				 (+ 1.0 (* 0.5 d st)))))
-		 (gamma (* ct (+ 0.5 beta)))
-		 (alpha (* 0.25 (- (+ 0.5 beta) gamma))))
-	    (set! xcoeffs (cons (float-vector (* 2 alpha) (* 4 alpha) (* 2 alpha)) xcoeffs))
-	    (set! ycoeffs (cons (float-vector 1.0 (* -2.0 gamma) (* 2.0 beta)) ycoeffs))))
-	(make-filter (+ 1 (* 2 M))
-		     (cascade->canonical xcoeffs)
-		     (cascade->canonical ycoeffs))))))
+      (let ((theta (/ (* 2 pi fc) *clm-srate*)))
+	(let ((xcoeffs ())
+	      (ycoeffs ())
+	      (st (sin theta))
+	      (ct (cos theta)))
+	  (do ((k 1 (+ k 1)))
+	      ((> k M))
+	    (let* ((beta (let ((d (* st (sin (/ (* pi (- (* 2 k) 1)) (* 4 M))))))
+			   (* 0.5 (/ (- 1.0 d) (+ 1.0 d)))))
+		   (gamma (* ct (+ 0.5 beta)))
+		   (alpha (* 0.25 (- (+ 0.5 beta) gamma))))
+	      (set! xcoeffs (cons (float-vector (* 2 alpha) (* 4 alpha) (* 2 alpha)) xcoeffs))
+	      (set! ycoeffs (cons (float-vector 1.0 (* -2.0 gamma) (* 2.0 beta)) ycoeffs))))
+	  (make-filter (+ 1 (* 2 M))
+		       (cascade->canonical xcoeffs)
+		       (cascade->canonical ycoeffs)))))))
 
 (define make-butter-hp
   (let ((documentation "(make-butter-hp M fc) returns a butterworth high-pass filter; its order is 'M' * 2, 'fc' is the cutoff frequency in Hz"))
     (lambda (M fc)
-      (let* ((xcoeffs ())
-	     (ycoeffs ())
-	     (theta (/ (* 2 pi fc) *clm-srate*))
-	     (st (sin theta))
-	     (ct (cos theta)))
-	(do ((k 1 (+ k 1)))
-	    ((> k M))
-	  (let* ((d (* 2 (sin (/ (* pi (- (* 2 k) 1)) (* 4 M)))))
-		 (beta (* 0.5 (/ (- 1.0 (* 0.5 d st))
-				 (+ 1.0 (* 0.5 d st)))))
-		 (gamma (* ct (+ 0.5 beta)))
-		 (alpha (* 0.25 (+ 0.5 beta gamma))))
-	    (set! xcoeffs (cons (float-vector (* 2 alpha) (* -4 alpha) (* 2 alpha)) xcoeffs))
-	    (set! ycoeffs (cons (float-vector 1.0 (* -2.0 gamma) (* 2.0 beta)) ycoeffs))))
-	(make-filter (+ 1 (* 2 M))
-		     (cascade->canonical xcoeffs)
-		     (cascade->canonical ycoeffs))))))
+      (let ((theta (/ (* 2 pi fc) *clm-srate*)))
+	(let ((xcoeffs ())
+	      (ycoeffs ())
+	      (st (sin theta))
+	      (ct (cos theta)))
+	  (do ((k 1 (+ k 1)))
+	      ((> k M))
+	    (let* ((beta (let ((d (* st (sin (/ (* pi (- (* 2 k) 1)) (* 4 M))))))
+			   (* 0.5 (/ (- 1.0 d) (+ 1.0 d)))))
+		   (gamma (* ct (+ 0.5 beta)))
+		   (alpha (* 0.25 (+ 0.5 beta gamma))))
+	      (set! xcoeffs (cons (float-vector (* 2 alpha) (* -4 alpha) (* 2 alpha)) xcoeffs))
+	      (set! ycoeffs (cons (float-vector 1.0 (* -2.0 gamma) (* 2.0 beta)) ycoeffs))))
+	  (make-filter (+ 1 (* 2 M))
+		       (cascade->canonical xcoeffs)
+		       (cascade->canonical ycoeffs)))))))
 
 (define make-butter-bp
   (let ((documentation "(make-butter-bp M f1 f2) returns a butterworth band-pass filter; its order is 'M' * 2, 'f1' and 'f2' are the band edge frequencies in Hz"))
     (lambda (M f1 f2)
-      (let* ((xcoeffs ())
-	     (ycoeffs ())
-	     (f0 (sqrt (* f1 f2)))
-	     (Q (/ f0 (- f2 f1)))
+      (let* ((f0 (sqrt (* f1 f2)))
 	     (theta0 (/ (* 2 pi f0) *clm-srate*))
-	     (de (/ (* 2 (tan (/ theta0 (* 2 Q)))) (sin theta0)))
+	     (de (let ((Q (/ f0 (- f2 f1))))
+		   (/ (* 2 (tan (/ theta0 (* 2 Q)))) (sin theta0)))))
+	(do ((xcoeffs ())
+	     (ycoeffs ())
 	     (de2 (/ de 2))
-	     (tn0 (tan (* theta0 0.5))))
-	(do ((i 1 (+ i 1))
+	     (tn0 (tan (* theta0 0.5)))
+	     (i 1 (+ i 1))
 	     (k 1)
 	     (j 1))
-	    ((> i M))
+	    ((> i M)
+	     (make-filter (+ 1 (* 2 M))
+			  (cascade->canonical xcoeffs)
+			  (cascade->canonical ycoeffs)))
 	  (let* ((Dk (* 2 (sin (/ (* pi (- (* 2 k) 1)) (* 2 M)))))
-		 (Ak (/ (+ 1 (* de2 de2)) (* Dk de2)))
-		 (dk1 (sqrt (/ (* de Dk)
-			       (+ Ak (sqrt (- (* Ak Ak) 1))))))
-		 (Bk (* de2 (/ Dk dk1)))
-		 (Wk (real-part (+ Bk (sqrt (- (* Bk Bk) 1.0))))) ; fp inaccuracies causing tiny (presumably bogus) imaginary part here
+		 (dk1 (let ((Ak (/ (+ 1 (* de2 de2)) (* Dk de2))))
+			(sqrt (/ (* de Dk)
+				 (+ Ak (sqrt (- (* Ak Ak) 1)))))))
+		 (Wk (let ((Bk (* de2 (/ Dk dk1))))
+		       (real-part (+ Bk (sqrt (- (* Bk Bk) 1.0)))))) ; fp inaccuracies causing tiny (presumably bogus) imaginary part here
 		 (thetajk (* 2 (if (= j 1) (atan tn0 Wk) (atan (* tn0 Wk)))))
 		 (betajk (* 0.5 (/ (- 1.0 (* 0.5 dk1 (sin thetajk)))
-				   (+ 1.0 (* 0.5 dk1 (sin thetajk))))))
-		 (gammajk (* (+ 0.5 betajk) (cos thetajk)))
-		 (wk2 (/ (- Wk (/ 1.0 Wk)) dk1))
-		 (alphajk (* 0.5 (- 0.5 betajk) (sqrt (+ 1.0 (* wk2 wk2))))))
-	    (set! xcoeffs (cons (float-vector (* 2 alphajk) 0.0 (* -2 alphajk)) xcoeffs))
-	    (set! ycoeffs (cons (float-vector 1.0 (* -2.0 gammajk) (* 2.0 betajk)) ycoeffs))
-	    (if (= j 1)
-		(set! j 2)
-		(begin
-		  (set! k (+ k 1))
-		  (set! j 1)))))
-	(make-filter (+ 1 (* 2 M))
-		     (cascade->canonical xcoeffs)
-		     (cascade->canonical ycoeffs))))))
-
+				   (+ 1.0 (* 0.5 dk1 (sin thetajk)))))))
+	    (let ((gammajk (* (+ 0.5 betajk) (cos thetajk)))
+		  (alphajk (let ((wk2 (/ (- Wk (/ 1.0 Wk)) dk1)))
+			     (* 0.5 (- 0.5 betajk) (sqrt (+ 1.0 (* wk2 wk2)))))))
+	      (set! xcoeffs (cons (float-vector (* 2 alphajk) 0.0 (* -2 alphajk)) xcoeffs))
+	      (set! ycoeffs (cons (float-vector 1.0 (* -2.0 gammajk) (* 2.0 betajk)) ycoeffs))))
+	  (if (= j 1)
+	      (set! j 2)
+	      (begin
+		(set! k (+ k 1))
+		(set! j 1))))))))
+  
 (define make-butter-bs
   (let ((documentation "(make-butter-bs M f1 f2) returns a butterworth band-stop filter; its order is 'M' * 2, 'f1' and 'f2' are the band edge frequencies in Hz"))
     (lambda (M f1 f2)
-      (let* ((xcoeffs ())
-	     (ycoeffs ())
-	     (f0 (sqrt (* f1 f2)))
-	     (Q (/ f0 (- f2 f1)))
+      (let* ((f0 (sqrt (* f1 f2)))
 	     (theta0 (/ (* 2 pi f0) *clm-srate*))
-	     (de (/ (* 2 (tan (/ theta0 (* 2 Q)))) (sin theta0)))
+	     (de (let ((Q (/ f0 (- f2 f1))))
+		   (/ (* 2 (tan (/ theta0 (* 2 Q)))) (sin theta0)))))
+	(do ((xcoeffs ())
+	     (ycoeffs ())
 	     (de2 (/ de 2))
 	     (ct (cos theta0))
-	     (tn0 (tan (* theta0 0.5))))
-	(do ((i 1 (+ i 1))
+	     (tn0 (tan (* theta0 0.5)))
+	     (i 1 (+ i 1))
 	     (k 1)
 	     (j 1))
-	    ((> i M))
+	    ((> i M)
+	     (make-filter (+ 1 (* 2 M))
+			  (cascade->canonical xcoeffs)
+			  (cascade->canonical ycoeffs)))
 	  (let* ((Dk (* 2 (sin (/ (* pi (- (* 2 k) 1)) (* 2 M)))))
-		 (Ak (/ (+ 1 (* de2 de2)) (* Dk de2)))
-		 (dk1 (sqrt (/ (* de Dk)
-			       (+ Ak (sqrt (- (* Ak Ak) 1))))))
-		 (Bk (* de2 (/ Dk dk1)))
-		 (Wk (real-part (+ Bk (sqrt (- (* Bk Bk) 1.0)))))
-		 (thetajk (* 2 (if (= j 1) (atan tn0 Wk) (atan (* tn0 Wk)))))
+		 (dk1 (let ((Ak (/ (+ 1 (* de2 de2)) (* Dk de2))))
+			(sqrt (/ (* de Dk)
+				 (+ Ak (sqrt (- (* Ak Ak) 1)))))))
+		 (thetajk (let ((Wk (let ((Bk (* de2 (/ Dk dk1))))
+				      (real-part (+ Bk (sqrt (- (* Bk Bk) 1.0)))))))
+			    (* 2 (if (= j 1) (atan tn0 Wk) (atan (* tn0 Wk))))))
 		 (betajk (* 0.5 (/ (- 1.0 (* 0.5 dk1 (sin thetajk)))
-				   (+ 1.0 (* 0.5 dk1 (sin thetajk))))))
-		 (gammajk (* (+ 0.5 betajk) (cos thetajk)))
-		 (alphajk (/ (* 0.5 (+ 0.5 betajk) (- 1.0 (cos thetajk))) (- 1.0 ct))))
-	    (set! xcoeffs (cons (float-vector (* 2 alphajk) (* -4 ct alphajk) (* 2 alphajk)) xcoeffs))
-	    (set! ycoeffs (cons (float-vector 1.0 (* -2.0 gammajk) (* 2.0 betajk)) ycoeffs))
-	    (if (= j 1)
-		(set! j 2)
-		(begin
-		  (set! k (+ k 1))
-		  (set! j 1)))))
-	(make-filter (+ 1 (* 2 M))
-		     (cascade->canonical xcoeffs)
-		     (cascade->canonical ycoeffs))))))
+				   (+ 1.0 (* 0.5 dk1 (sin thetajk)))))))
+	    (let ((gammajk (* (+ 0.5 betajk) (cos thetajk)))
+		  (alphajk (/ (* 0.5 (+ 0.5 betajk) (- 1.0 (cos thetajk))) (- 1.0 ct))))
+	      (set! xcoeffs (cons (float-vector (* 2 alphajk) (* -4 ct alphajk) (* 2 alphajk)) xcoeffs))
+	      (set! ycoeffs (cons (float-vector 1.0 (* -2.0 gammajk) (* 2.0 betajk)) ycoeffs))))
+	  (if (= j 1)
+	      (set! j 2)
+	      (begin
+		(set! k (+ k 1))
+		(set! j 1))))))))
 
 
 ;;; -------- notch filters
@@ -1168,15 +1158,15 @@ can be used directly: (filter-sound (make-butter-low-pass 500.0)), or via the 'b
 		(si 0.0))
 	    (do ((k 0 (+ k 1)))
 		((= k n))
-	      (let* ((phase (* ph0 k w))
-		     (c (cos phase))
-		     (s (sin phase))
-		     (x (fr k))
-		     (y (fi k))
-		     (r (- (* x c) (* y s)))
-		     (i (+ (* y c) (* x s))))
-		(set! sr (+ sr r))
-		(set! si (+ si i))))
+	      (let ((phase (* ph0 k w)))
+		(let ((c (cos phase))
+		      (s (sin phase))
+		      (x (fr k))
+		      (y (fi k)))
+		  (let ((r (- (* x c) (* y s)))
+			(i (+ (* y c) (* x s))))
+		    (set! sr (+ sr r))
+		    (set! si (+ si i))))))
 	    (set! (hr w) sr)
 	    (set! (hi w) si)))
 	(list hr hi)))))
@@ -1208,18 +1198,18 @@ can be used directly: (filter-sound (make-butter-low-pass 500.0)), or via the 'b
   (let ((documentation "(dht data) returns the Hartley transform of 'data'."))
     (lambda (data) 
       ;; taken from Perry Cook's SignalProcessor.m (the slow version of the Hartley transform)
-      (let* ((len (length data)) 
-	     (arr (make-float-vector len))
-	     (w (/ (* 2.0 pi) len)))
-	(do ((i 0 (+ i 1)))
-	    ((= i len))
-	  (do ((j 0 (+ j 1)))
-	      ((= j len))
-	    (set! (arr i) (+ (arr i) 
-			     (* (data j) 
-				(+ (cos (* i j w)) 
-				   (sin (* i j w))))))))
-	arr))))
+      (let ((len (length data)) )
+	(let ((arr (make-float-vector len))
+	      (w (/ (* 2.0 pi) len)))
+	  (do ((i 0 (+ i 1)))
+	      ((= i len))
+	    (do ((j 0 (+ j 1)))
+		((= j len))
+	      (set! (arr i) (+ (arr i) 
+			       (* (data j) 
+				  (+ (cos (* i j w)) 
+				     (sin (* i j w))))))))
+	  arr)))))
 
 (define find-sine
   (let ((documentation "(find-sine freq beg dur snd) returns the amplitude and initial-phase (for sin) at freq"))
@@ -1322,25 +1312,24 @@ the era when computers were human beings"))
 ;;; this is the inverse integration function used by CLM to turn a distribution function into a weighting function
 
 (define* (inverse-integrate dist (data-size 512) (e-size 50))
-  (let* ((e ())
-	 (sum (cadr dist))
-	 (first-sum sum)
-	 (data (make-float-vector data-size))
-	 (x0 (car dist))
-	 (x1 (dist (- (length dist) 2)))
-	 (xincr (/ (- x1 x0) e-size)))
-    (do ((i 0 (+ i 1))
-	 (x x0 (+ x xincr)))
-	((> i e-size))
-      (set! e (cons x (cons sum e)))
-      (set! sum (+ sum (envelope-interp x dist))))
-    (let ((incr (/ (- (cadr e) first-sum) (- data-size 1))))
-      (set! e (reverse e))
+  (let ((sum (cadr dist))
+	(x0 (car dist)))
+    (let ((first-sum sum)
+	  (data (make-float-vector data-size))
+	  (e ())
+	  (xincr (/ (- (dist (- (length dist) 2)) x0) e-size)))
       (do ((i 0 (+ i 1))
-	   (x first-sum (+ x incr)))
-	  ((= i data-size))
-	(set! (data i) (envelope-interp x e)))
-      data)))
+	   (x x0 (+ x xincr)))
+	  ((> i e-size))
+	(set! e (cons x (cons sum e)))
+	(set! sum (+ sum (envelope-interp x dist))))
+      (let ((incr (/ (- (cadr e) first-sum) (- data-size 1))))
+	(set! e (reverse e))
+	(do ((i 0 (+ i 1))
+	     (x first-sum (+ x incr)))
+	    ((= i data-size))
+	  (set! (data i) (envelope-interp x e)))
+	data))))
 
 (define (gaussian-envelope s)
   (do ((e ())
@@ -1401,8 +1390,8 @@ the era when computers were human beings"))
 (define channel-variance                  ; "sample-variance" might be better, <f, f> - (<f, 1> / n) ^ 2 with quibbles
   (let ((documentation "(channel-variance snd chn) returns the sample variance in the given channel: <f,f>-((<f,1>/ n)^2"))
     (lambda* (snd chn) 
-      (let* ((N (framples snd chn))
-	     (mu (* (/ N (- N 1)) (channel-mean snd chn)))) ; avoid bias sez JOS
+      (let ((mu (let ((N (framples snd chn)))
+		  (* (/ N (- N 1)) (channel-mean snd chn))))) ; avoid bias sez JOS
 	(- (channel-total-energy snd chn) 
 	   (* mu mu))))))
 
@@ -1498,25 +1487,25 @@ the era when computers were human beings"))
 (define periodogram
   (let ((documentation "(periodogram N) displays an 'N' point Bartlett periodogram of the samples in the current channel"))
     (lambda (N)
-      (let* ((len (framples))
-	     (average-data (make-float-vector N))
-	     (rd (make-sampler 0))
-	     (N2 (* 2 N))
-	     (rl (make-float-vector N2))
-	     (im (make-float-vector N2)))
-	(do ((i 0 (+ i N)))
-	    ((>= i len))
-	  (float-vector-scale! rl 0.0)
-	  (float-vector-scale! im 0.0)
-	  (do ((k 0 (+ k 1)))
-	      ((= k N))
-	    (float-vector-set! rl k (read-sample rd)))
-	  (mus-fft rl im)
-	  (float-vector-multiply! rl rl)
-	  (float-vector-multiply! im im)
-	  (float-vector-add! average-data (float-vector-add! rl im)))
-	;; or add snd-spectrum results
-	(graph (float-vector-scale! average-data (/ 1.0 (ceiling (/ len N)))))))))
+      (let ((N2 (* 2 N)))
+	(let ((len (framples))
+	      (average-data (make-float-vector N))
+	      (rd (make-sampler 0))
+	      (rl (make-float-vector N2))
+	      (im (make-float-vector N2)))
+	  (do ((i 0 (+ i N)))
+	      ((>= i len))
+	    (float-vector-scale! rl 0.0)
+	    (float-vector-scale! im 0.0)
+	    (do ((k 0 (+ k 1)))
+		((= k N))
+	      (float-vector-set! rl k (read-sample rd)))
+	    (mus-fft rl im)
+	    (float-vector-multiply! rl rl)
+	    (float-vector-multiply! im im)
+	    (float-vector-add! average-data (float-vector-add! rl im)))
+	  ;; or add snd-spectrum results
+	  (graph (float-vector-scale! average-data (/ 1.0 (ceiling (/ len N))))))))))
 
 
 ;;; -------- ssb-am friends
@@ -1629,9 +1618,8 @@ shift the given channel in pitch without changing its length.  The higher 'order
 
 (define (float-vector-polynomial v coeffs)
   ;; Horner's rule applied to entire float-vector
-  (let* ((v-len (length v))
-	 (num-coeffs (length coeffs))
-	 (new-v (make-float-vector v-len (coeffs (- num-coeffs 1)))))
+  (let* ((num-coeffs (length coeffs))
+	 (new-v (make-float-vector (length v) (coeffs (- num-coeffs 1)))))
     (do ((i (- num-coeffs 2) (- i 1)))
 	((< i 0))
       (float-vector-offset! (float-vector-multiply! new-v v) (coeffs i)))
@@ -1653,36 +1641,36 @@ shift the given channel in pitch without changing its length.  The higher 'order
 
 (define* (spectral-polynomial coeffs snd chn)
   (let* ((len (framples snd chn))
-	 (sound (channel->float-vector 0 len snd chn))
 	 (num-coeffs (length coeffs))
 	 (fft-len (if (< num-coeffs 2) 
 		      len 
-		      (expt 2 (ceiling (log (* (- num-coeffs 1) len) 2)))))
-	 (rl1 (make-float-vector fft-len))
-	 (rl2 (make-float-vector fft-len))
-	 (newv (make-float-vector fft-len)))
-    (if (> (coeffs 0) 0.0)
-	(let ((dither (coeffs 0)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i fft-len))
-	    (float-vector-set! newv i (mus-random dither)))))
-    (if (> num-coeffs 1)
-	(begin
-	  (float-vector-add! newv (float-vector-scale! (copy sound) (coeffs 1)))
-	  (if (> num-coeffs 2)
-	      (let ((peak (maxamp snd chn)))
-		(copy sound rl1)
-		(do ((i 2 (+ i 1)))
-		    ((= i num-coeffs))
-		  (copy sound rl2)
-		  (convolution rl1 rl2 fft-len)
-		  (float-vector-add! newv (float-vector-scale! (copy rl1) 
-							       (/ (* (coeffs i) peak) (float-vector-peak rl1)))))
-		(float-vector-scale! newv (/ peak (float-vector-peak newv)))))))
-    (float-vector->channel newv 0 (max len (* len (- num-coeffs 1))) 
-			   snd chn #f 
-			   (format #f "spectral-polynomial ~A" (float-vector->string coeffs)))))
-
+		      (expt 2 (ceiling (log (* (- num-coeffs 1) len) 2))))))
+    (let ((sound (channel->float-vector 0 len snd chn))
+	  (rl1 (make-float-vector fft-len))
+	  (rl2 (make-float-vector fft-len))
+	  (newv (make-float-vector fft-len)))
+      (if (> (coeffs 0) 0.0)
+	  (let ((dither (coeffs 0)))
+	    (do ((i 0 (+ i 1)))
+		((= i fft-len))
+	      (float-vector-set! newv i (mus-random dither)))))
+      (if (> num-coeffs 1)
+	  (begin
+	    (float-vector-add! newv (float-vector-scale! (copy sound) (coeffs 1)))
+	    (if (> num-coeffs 2)
+		(let ((peak (maxamp snd chn)))
+		  (copy sound rl1)
+		  (do ((i 2 (+ i 1)))
+		      ((= i num-coeffs))
+		    (copy sound rl2)
+		    (convolution rl1 rl2 fft-len)
+		    (float-vector-add! newv (float-vector-scale! (copy rl1) 
+								 (/ (* (coeffs i) peak) (float-vector-peak rl1)))))
+		  (float-vector-scale! newv (/ peak (float-vector-peak newv)))))))
+      (float-vector->channel newv 0 (max len (* len (- num-coeffs 1))) 
+			     snd chn #f 
+			     (format #f "spectral-polynomial ~A" (float-vector->string coeffs))))))
+  
 
 ;;; ----------------
 ;;; SCENTROID
@@ -1720,36 +1708,35 @@ shift the given channel in pitch without changing its length.  The higher 'order
 the rendering frequency, the number of measurements per second; 'db-floor' is the level below which data will be ignored"))
     (lambda* (file (beg 0.0) dur (db-floor -40.0) (rfreq 100.0) (fftsize 4096))
       (let* ((fsr (srate file))
-	     (incrsamps (floor (/ fsr rfreq)))
-	     (start (floor (* beg fsr)))
-	     (end (+ start (if dur (floor (* dur fsr)) (- (framples file) beg))))
-	     (fdr (make-float-vector fftsize))
-	     (fdi (make-float-vector fftsize))
-	     (scl (make-float-vector (/ fftsize 2)))
-	     (ones (make-float-vector (/ fftsize 2) 1.0))
-	     (windows (+ 1 (floor (/ (- end start) incrsamps))))
-	     (results (make-float-vector windows))
-	     (fft2 (floor (/ fftsize 2)))
-	     (binwidth (* 1.0 (/ fsr fftsize)))
-	     (rd (make-readin file)))
-	(do ((k 0 (+ k 1)))
-	    ((= k fft2))
-	  (float-vector-set! scl k (* k binwidth)))
-	(do ((i start (+ i incrsamps))
-	     (loc 0 (+ 1 loc)))
-	    ((>= i end))
-	  (set! (mus-location rd) i)
-	  (do ((j 0 (+ j 1)))
-	      ((= j fftsize))
-	    (float-vector-set! fdr j (readin rd)))
-	  (if (>= (linear->db (sqrt (/ (dot-product fdr fdr) fftsize))) db-floor)
-	      (begin
-		(fill! fdi 0.0)
-		(mus-fft fdr fdi fftsize)
-		(rectangular->magnitudes fdr fdi)
-		(set! (results loc) (/ (dot-product scl fdr fft2) 
-				       (dot-product ones fdr fft2))))))
-	results))))
+	     (start (floor (* beg fsr))))
+	(let ((incrsamps (floor (/ fsr rfreq)))
+	      (end (+ start (if dur (floor (* dur fsr)) (- (framples file) beg)))))
+	  (let ((fdr (make-float-vector fftsize))
+		(fdi (make-float-vector fftsize))
+		(scl (make-float-vector (/ fftsize 2)))
+		(ones (make-float-vector (/ fftsize 2) 1.0))
+		(results (make-float-vector (+ 1 (floor (/ (- end start) incrsamps)))))
+		(fft2 (floor (/ fftsize 2)))
+		(binwidth (* 1.0 (/ fsr fftsize)))
+		(rd (make-readin file)))
+	    (do ((k 0 (+ k 1)))
+		((= k fft2))
+	      (float-vector-set! scl k (* k binwidth)))
+	    (do ((i start (+ i incrsamps))
+		 (loc 0 (+ 1 loc)))
+		((>= i end))
+	      (set! (mus-location rd) i)
+	      (do ((j 0 (+ j 1)))
+		  ((= j fftsize))
+		(float-vector-set! fdr j (readin rd)))
+	      (if (>= (linear->db (sqrt (/ (dot-product fdr fdr) fftsize))) db-floor)
+		  (begin
+		    (fill! fdi 0.0)
+		    (mus-fft fdr fdi fftsize)
+		    (rectangular->magnitudes fdr fdi)
+		    (set! (results loc) (/ (dot-product scl fdr fft2) 
+					   (dot-product ones fdr fft2))))))
+	    results))))))
 
 
 ;;; ----------------
@@ -1805,22 +1792,22 @@ the rendering frequency, the number of measurements per second; 'db-floor' is th
 (define volterra-filter
   (let ((documentation "(volterra-filter flt x) takes 'flt', a list returned by make-volterra-filter, and an input 'x', and returns the (non-linear filtered) result"))
     (lambda (flt x)
-      (let* ((as (car flt))
-	     (bs (cadr flt))
-	     (xs (caddr flt))
-	     (xlen (length xs))
-	     (x1len (length as))
-	     (x2len (length bs))
-	     (sum 0.0))
-	(float-vector-move! xs (- xlen 1) (- xlen 2) #t)
-	(set! (xs 0) x)
-	(set! sum (dot-product as xs x1len))
-	(do ((i 0 (+ i 1)))
-	    ((= i x2len))
-	  (do ((j i (+ j 1)))
-	      ((= j x2len))
-	    (set! sum (+ sum (* (bs j) (xs i) (xs j))))))
-	sum))))
+      (let ((as (car flt))
+	    (bs (cadr flt))
+	    (xs (caddr flt)))
+	(let ((x1len (length as))
+	      (x2len (length bs))
+	      (sum 0.0))
+	  (let ((xlen (length xs)))
+	    (float-vector-move! xs (- xlen 1) (- xlen 2) #t))
+	  (set! (xs 0) x)
+	  (set! sum (dot-product as xs x1len))
+	  (do ((i 0 (+ i 1)))
+	      ((= i x2len))
+	    (do ((j i (+ j 1)))
+		((= j x2len))
+	      (set! sum (+ sum (* (bs j) (xs i) (xs j))))))
+	  sum)))))
 
 ;;; (define flt (make-volterra-filter (float-vector .5 .1) (float-vector .3 .2 .1)))
 ;;; (map-channel (lambda (x) (volterra-filter flt x)))
@@ -1902,25 +1889,25 @@ and replaces it with the spectrum given in coeffs"))
 (define linear-src-channel
   (let ((documentation "(linear-src-channel sr snd chn) performs sampling rate conversion using linear interpolation."))
     (lambda* (sr snd chn)
-      (let* ((rd (make-sampler 0 snd chn))
-	     (last (rd))
-	     (next (rd))
-	     (intrp 0.0)
-	     (tempfile 
-	      (with-sound (:output (snd-tempnam) :srate (srate snd) :to-snd #f)
-		(do ((samp 0 (+ samp 1)))
-		    ((sampler-at-end? rd))
-		  (outa samp
-			(let ((pos intrp))
-			  (if (>= pos 1.0)
-			      (let ((num (floor pos)))
-				(do ((i 0 (+ i 1)))
-				    ((= i num))
-				  (set! last next)
-				  (set! next (read-sample rd)))
-				(set! pos (- pos num))))
-			  (set! intrp (+ pos sr))
-			  (+ last (* pos (- next last)))))))))
+      (let ((tempfile 
+	     (with-sound (:output (snd-tempnam) :srate (srate snd) :to-snd #f)
+	       (let ((rd (make-sampler 0 snd chn)))
+		 (do ((intrp 0.0)
+		      (last (rd))
+		      (next (rd))
+		      (samp 0 (+ samp 1)))
+		     ((sampler-at-end? rd))
+		   (outa samp
+			 (let ((pos intrp))
+			   (if (>= pos 1.0)
+			       (let ((num (floor pos)))
+				 (do ((i 0 (+ i 1)))
+				     ((= i num))
+				   (set! last next)
+				   (set! next (read-sample rd)))
+				 (set! pos (- pos num))))
+			   (set! intrp (+ pos sr))
+			   (+ last (* pos (- next last))))))))))
 	(set-samples 0 (- (framples tempfile) 1) tempfile snd chn #t "linear-src" 0 #f #t)
 	;; first #t=truncate to new length, #f=at current edpos, #t=auto delete temp file
 	))))
@@ -1965,61 +1952,60 @@ and replaces it with the spectrum given in coeffs"))
 					     (fft-window snd chn) fftlen linear 
 					     (fft-window-beta snd chn) #f normalized)))
 		  (when (float-vector? fftdata)
-		    (let* ((sr (srate snd))
-			   (mx (float-vector-peak fftdata))
-			   (data-len (length fftdata))
-			   
-			   ;; bark settings
-			   (bark-low (floor (bark 20.0)))
-			   (bark-frqscl (/ data-len (- (ceiling (bark (* 0.5 sr))) bark-low)))
-			   (bark-data (make-float-vector data-len))
-			   
-			   ;; mel settings
-			   (mel-low (floor (mel 20.0)))
-			   (mel-frqscl (/ data-len (- (ceiling (mel (* 0.5 sr))) mel-low)))
-			   (mel-data (make-float-vector data-len))
-			   
-			   ;; erb settings
-			   (erb-low (floor (erb 20.0)))
-			   (erb-frqscl (/ data-len (- (ceiling (erb (* 0.5 sr))) erb-low)))
-			   (erb-data (make-float-vector data-len)))
-		      
-		      (set! bark-fft-size fftlen)
-		      
-		      (do ((i 0 (+ i 1)))
-			  ((= i data-len))
-			(let* ((val (fftdata i))
-			       (frq (* sr (/ i fftlen)))
-			       (bark-bin (round (* bark-frqscl (- (bark frq) bark-low))))
-			       (mel-bin (round (* mel-frqscl (- (mel frq) mel-low))))
-			       (erb-bin (round (* erb-frqscl (- (erb frq) erb-low)))))
-			  (if (and (>= bark-bin 0)
-				   (< bark-bin data-len))
-			      (set! (bark-data bark-bin) (+ val (bark-data bark-bin))))
-			  (if (and (>= mel-bin 0)
-				   (< mel-bin data-len))
-			      (set! (mel-data mel-bin) (+ val (mel-data mel-bin))))
-			  (if (and (>= erb-bin 0)
-				   (< erb-bin data-len))
-			      (set! (erb-data erb-bin) (+ val (erb-data erb-bin))))))
-		      
-		      (if normalized
-			  (let ((bmx (float-vector-peak bark-data))
-				(mmx (float-vector-peak mel-data))
-				(emx (float-vector-peak erb-data)))
-			    (if (> (abs (- mx bmx)) .01)
-				(float-vector-scale! bark-data (/ mx bmx)))
-			    (if (> (abs (- mx mmx)) .01)
-				(float-vector-scale! mel-data (/ mx mmx)))
-			    (if (> (abs (- mx emx)) .01)
-				(float-vector-scale! erb-data (/ mx emx)))))
-		      
-		      (graph (list bark-data mel-data erb-data) 
-			     "ignored" 
-			     20.0 (* 0.5 sr) 
-			     0.0 (if normalized 1.0 (* data-len (y-zoom-slider snd chn)))
-			     snd chn 
-			     #f show-bare-x-axis)))))))
+		    (let ((sr (srate snd))
+			  (data-len (length fftdata))
+			  (bark-low (floor (bark 20.0)))
+			  (mel-low (floor (mel 20.0)))
+			  (erb-low (floor (erb 20.0))))
+		      (let ((mx (float-vector-peak fftdata))
+			    ;; bark settings
+			    (bark-frqscl (/ data-len (- (ceiling (bark (* 0.5 sr))) bark-low)))
+			    (bark-data (make-float-vector data-len))
+			    
+			    ;; mel settings
+			    (mel-frqscl (/ data-len (- (ceiling (mel (* 0.5 sr))) mel-low)))
+			    (mel-data (make-float-vector data-len))
+			    
+			    ;; erb settings
+			    (erb-frqscl (/ data-len (- (ceiling (erb (* 0.5 sr))) erb-low)))
+			    (erb-data (make-float-vector data-len)))
+			
+			(set! bark-fft-size fftlen)
+			
+			(do ((i 0 (+ i 1)))
+			    ((= i data-len))
+			  (let ((val (fftdata i))
+				(frq (* sr (/ i fftlen))))
+			    (let ((bark-bin (round (* bark-frqscl (- (bark frq) bark-low))))
+				  (mel-bin (round (* mel-frqscl (- (mel frq) mel-low))))
+				  (erb-bin (round (* erb-frqscl (- (erb frq) erb-low)))))
+			      (if (and (>= bark-bin 0)
+				       (< bark-bin data-len))
+				  (set! (bark-data bark-bin) (+ val (bark-data bark-bin))))
+			      (if (and (>= mel-bin 0)
+				       (< mel-bin data-len))
+				  (set! (mel-data mel-bin) (+ val (mel-data mel-bin))))
+			      (if (and (>= erb-bin 0)
+				       (< erb-bin data-len))
+				  (set! (erb-data erb-bin) (+ val (erb-data erb-bin)))))))
+			
+			(if normalized
+			    (let ((bmx (float-vector-peak bark-data))
+				  (mmx (float-vector-peak mel-data))
+				  (emx (float-vector-peak erb-data)))
+			      (if (> (abs (- mx bmx)) .01)
+				  (float-vector-scale! bark-data (/ mx bmx)))
+			      (if (> (abs (- mx mmx)) .01)
+				  (float-vector-scale! mel-data (/ mx mmx)))
+			      (if (> (abs (- mx emx)) .01)
+				  (float-vector-scale! erb-data (/ mx emx)))))
+			
+			(graph (list bark-data mel-data erb-data) 
+			       "ignored" 
+			       20.0 (* 0.5 sr) 
+			       0.0 (if normalized 1.0 (* data-len (y-zoom-slider snd chn)))
+			       snd chn 
+			       #f show-bare-x-axis))))))))
 	  
 	  (list color1 color2 color3))) ; tell lisp graph display what colors to use
       
@@ -2027,83 +2013,82 @@ and replaces it with the spectrum given in coeffs"))
 	;; at this point the x axis has no markings, but there is room for labels and ticks
 	(let* ((snd (hook 'snd))
 	       (chn (hook 'chn))
-	       (old-foreground-color (foreground-color snd chn copy-context)))
+	       (old-foreground-color (foreground-color snd chn copy-context))
+	       (axinfo (axis-info snd chn lisp-graph))
+	       (axis-x0 (axinfo 10))
+	       (axis-x1 (axinfo 12))
+	       (axis-y1 (axinfo 11))
+	       (bark-label-font (snd-font 3))
+	       (cr (make-cairo (car (channel-widgets snd chn))))
+	       (scale-position (let ((sr2 (* 0.5 (srate snd))))
+				 (lambda (scale f)
+				   (let ((b20 (scale 20.0)))
+				     (round (+ axis-x0 
+					       (/ (* (- axis-x1 axis-x0) (- (scale f) b20)) 
+						  (- (scale sr2) b20))))))))
+	       (bark-position (lambda (f) (scale-position bark f)))
+	       (mel-position (lambda (f) (scale-position mel f)))
+	       (erb-position (lambda (f) (scale-position erb f)))
+	       (draw-bark-ticks
+		(let ((minor-tick-len 6)
+		      (major-tick-len 12))
+		  (let (;; (tick-y0 axis-y1)
+			(minor-y0 (+ axis-y1 minor-tick-len))
+			(major-y0 (+ axis-y1 major-tick-len))
+			(axis-y0 (axinfo 13))
+			(bark-numbers-font (snd-font 2)))
+		    
+		    (lambda (bark-function)
+		      (if bark-numbers-font (set! (current-font snd chn copy-context) bark-numbers-font))
+		      
+		      (draw-line axis-x0 axis-y1 axis-x0 major-y0 snd chn copy-context cr)
+		      (let ((i1000 (scale-position bark-function 1000.0))
+			    (i10000 (scale-position bark-function 10000.0)))
+			
+			(draw-line i1000 axis-y1 i1000 major-y0 snd chn copy-context cr)
+			(draw-line i10000 axis-y1 i10000 major-y0 snd chn copy-context cr)
+			
+			(draw-string "20" axis-x0 major-y0 snd chn copy-context cr)
+			(draw-string "1000" (- i1000 12) major-y0 snd chn copy-context cr)
+			(draw-string "10000" (- i10000 24) major-y0 snd chn copy-context cr)
+			
+			(draw-string (format #f "fft size: ~D" bark-fft-size) (+ axis-x0 10) axis-y0 snd chn copy-context cr)
+			
+			(do ((i 100 (+ i 100)))
+			    ((= i 1000))
+			  (let ((i100 (scale-position bark-function i)))
+			    (draw-line i100 axis-y1 i100 minor-y0 snd chn copy-context cr)))
+			
+			(do ((i 2000 (+ i 1000)))
+			    ((= i 10000))
+			  (let ((i1000 (scale-position bark-function i)))
+			    (draw-line i1000 axis-y1 i1000 minor-y0 snd chn copy-context cr)))))))))
 	  
-	  (let* ((axinfo (axis-info snd chn lisp-graph))
-		 (axis-x0 (axinfo 10))
-		 (axis-x1 (axinfo 12))
-		 (axis-y1 (axinfo 11))
-		 (label-height 15)
-		 (char-width 8)
-		 (minor-tick-len 6)
-		 (major-tick-len 12)
-		 (bark-label-font (snd-font 3))
-		 (label-pos (round (+ axis-x0 (* .45 (- axis-x1 axis-x0)))))
-		 (cr (make-cairo (car (channel-widgets snd chn))))
-		 (scale-position (let ((sr2 (* 0.5 (srate snd))))
-				   (lambda (scale f)
-				     (let ((b20 (scale 20.0)))
-				       (round (+ axis-x0 
-						 (/ (* (- axis-x1 axis-x0) (- (scale f) b20)) 
-						    (- (scale sr2) b20))))))))
-		 (bark-position (lambda (f) (scale-position bark f)))
-		 (mel-position (lambda (f) (scale-position mel f)))
-		 (erb-position (lambda (f) (scale-position erb f))))
+	  (let ((label-pos (round (+ axis-x0 (* .45 (- axis-x1 axis-x0)))))
+		(label-height 15)
+		(char-width 8))
 	    
-	    (let ((draw-bark-ticks
-		   (let ((tick-y0 axis-y1)
-			 (minor-y0 (+ axis-y1 minor-tick-len))
-			 (major-y0 (+ axis-y1 major-tick-len))
-			 (axis-y0 (axinfo 13))
-			 (bark-numbers-font (snd-font 2)))
-		     
-		     (lambda (bark-function)
-		       (if bark-numbers-font (set! (current-font snd chn copy-context) bark-numbers-font))
-		       
-		       (draw-line axis-x0 tick-y0 axis-x0 major-y0 snd chn copy-context cr)
-		       (let ((i1000 (scale-position bark-function 1000.0))
-			     (i10000 (scale-position bark-function 10000.0)))
-			 
-			 (draw-line i1000 tick-y0 i1000 major-y0 snd chn copy-context cr)
-			 (draw-line i10000 tick-y0 i10000 major-y0 snd chn copy-context cr)
-			 
-			 (draw-string "20" axis-x0 major-y0 snd chn copy-context cr)
-			 (draw-string "1000" (- i1000 12) major-y0 snd chn copy-context cr)
-			 (draw-string "10000" (- i10000 24) major-y0 snd chn copy-context cr)
-			 
-			 (draw-string (format #f "fft size: ~D" bark-fft-size) (+ axis-x0 10) axis-y0 snd chn copy-context cr)
-			 
-			 (do ((i 100 (+ i 100)))
-			     ((= i 1000))
-			   (let ((i100 (scale-position bark-function i)))
-			     (draw-line i100 tick-y0 i100 minor-y0 snd chn copy-context cr)))
-			 
-			 (do ((i 2000 (+ i 1000)))
-			     ((= i 10000))
-			   (let ((i1000 (scale-position bark-function i)))
-			     (draw-line i1000 tick-y0 i1000 minor-y0 snd chn copy-context cr))))))))
-	      
-	      ;; bark label/ticks
-	      (set! (foreground-color snd chn copy-context) color1)
-	      (if (= bark-tick-function 0) (draw-bark-ticks bark-position))
-	      (if bark-label-font (set! (current-font snd chn copy-context) bark-label-font))
-	      (draw-string "bark," label-pos (+ axis-y1 label-height) snd chn copy-context cr)
-	      
-	      ;; mel label/ticks
-	      (set! (foreground-color snd chn copy-context) color2)
-	      (if (= bark-tick-function 1) (draw-bark-ticks mel-position))
-	      (if bark-label-font (set! (current-font snd chn copy-context) bark-label-font))
-	      (draw-string "mel," (+ (* char-width 6) label-pos) (+ axis-y1 label-height) snd chn copy-context cr)
-	      
-	      ;; erb label/ticks
-	      (set! (foreground-color snd chn copy-context) color3)
-	      (if (= bark-tick-function 2) (draw-bark-ticks erb-position))
-	      (if bark-label-font (set! (current-font snd chn copy-context) bark-label-font))
-	      (draw-string "erb" (+ (* char-width 11) label-pos) (+ axis-y1 label-height) snd chn copy-context cr)
-	      (free-cairo cr)))
+	    ;; bark label/ticks
+	    (set! (foreground-color snd chn copy-context) color1)
+	    (if (= bark-tick-function 0) (draw-bark-ticks bark-position))
+	    (if bark-label-font (set! (current-font snd chn copy-context) bark-label-font))
+	    (draw-string "bark," label-pos (+ axis-y1 label-height) snd chn copy-context cr)
+	    
+	    ;; mel label/ticks
+	    (set! (foreground-color snd chn copy-context) color2)
+	    (if (= bark-tick-function 1) (draw-bark-ticks mel-position))
+	    (if bark-label-font (set! (current-font snd chn copy-context) bark-label-font))
+	    (draw-string "mel," (+ (* char-width 6) label-pos) (+ axis-y1 label-height) snd chn copy-context cr)
+	    
+	    ;; erb label/ticks
+	    (set! (foreground-color snd chn copy-context) color3)
+	    (if (= bark-tick-function 2) (draw-bark-ticks erb-position))
+	    (if bark-label-font (set! (current-font snd chn copy-context) bark-label-font))
+	    (draw-string "erb" (+ (* char-width 11) label-pos) (+ axis-y1 label-height) snd chn copy-context cr)
+	    (free-cairo cr))
 	  
 	  (set! (foreground-color snd chn copy-context) old-foreground-color)))
-      
+    
       ;; mouse click = move to next scale's ticks
       (define (choose-bark-ticks hook)
 	(if (= (hook 'axis) lisp-graph)
@@ -2137,7 +2122,7 @@ and replaces it with the spectrum given in coeffs"))
 			      ((= c (channels snd)))
 			    (set! (lisp-graph? snd c) #f)))
 			(sounds))))))))
-
+  
 (define (undisplay-bark-fft) (display-bark-fft #t))
 
 
@@ -2277,20 +2262,18 @@ is assumed to be outside -1.0 to 1.0."))
 			 
 			 ;; use LPC to reconstruct going both forwards and backwards
 			 
-			 (let* ((data (channel->float-vector (- clip-beg forward-data-len) forward-data-len snd chn))
-				(future (lpc-predict 
-					 data forward-data-len 
-					 (lpc-coeffs data forward-data-len forward-predict-len)
-					 forward-predict-len
-					 clip-len #f))
-				
-				(rdata (reverse! (channel->float-vector (+ 1 clip-end) backward-data-len snd chn)))
-				(past (lpc-predict 
-				       rdata backward-data-len 
-				       (lpc-coeffs rdata backward-data-len backward-predict-len)
-				       backward-predict-len
-				       clip-len #f))
-				
+			 (let ((future (let ((data (channel->float-vector (- clip-beg forward-data-len) forward-data-len snd chn)))
+					 (lpc-predict 
+					  data forward-data-len 
+					  (lpc-coeffs data forward-data-len forward-predict-len)
+					  forward-predict-len
+					  clip-len #f)))
+			       (past (let ((rdata (reverse! (channel->float-vector (+ 1 clip-end) backward-data-len snd chn))))
+				       (lpc-predict 
+					rdata backward-data-len 
+					(lpc-coeffs rdata backward-data-len backward-predict-len)
+					backward-predict-len
+					clip-len #f)))
 				(new-data (make-float-vector clip-len)))
 			   
 			   (if (> clip-len 1)
@@ -2348,8 +2331,7 @@ is assumed to be outside -1.0 to 1.0."))
       (let ((datum (data k))
 	    (xhatminus xhat))
 	
-	(let* ((res (formant frm datum))
-	       (avg (moving-average del (abs res))))
+	(let ((avg (moving-average del (abs (formant frm datum)))))
 	  (set! R (/ .000001 (+ avg .001))))
 	;; K now goes between say .5 if avg large to almost 0 if avg 0 (R is inverse essentially)
 	;;   so filter lp effect increases as apparent true signal decreases
@@ -2379,75 +2361,75 @@ is assumed to be outside -1.0 to 1.0."))
 					;(format () "~%~%invert-matrix n: ~D, ~S, b: ~A, ~S~%" (length matrix) matrix (and b (length b)) b)
       (call-with-exit
        (lambda (return)
-	 (let* ((n (car (vector-dimensions matrix)))
-		(cols (make-vector n 0))
-		(rows (make-vector n 0))
-		(pivots (make-vector n 0)))
-	   (do ((i 0 (+ i 1)))
-	       ((= i n))
-	     (let ((col 0)
-		   (row 0))
-	       (let ((biggest 0.0))
-		 (do ((j 0 (+ j 1)))
-		     ((= j n))
+	 (let ((n (car (vector-dimensions matrix))))
+	   (let ((cols (make-vector n 0))
+		 (rows (make-vector n 0))
+		 (pivots (make-vector n 0)))
+	     (do ((i 0 (+ i 1)))
+		 ((= i n))
+	       (let ((col 0)
+		     (row 0))
+		 (let ((biggest 0.0))
+		   (do ((j 0 (+ j 1)))
+		       ((= j n))
 					;(format () "j: ~A, n: ~A~%" j n)
-		   (if (not (= (pivots j) 1))
-		       (do ((k 0 (+ k 1)))
-			   ((= k n))
-			 (if (= (pivots k) 0)
-			     (let ((val (abs (matrix j k))))
-			       (if (> val biggest)
-				   (begin
-				     (set! col k)
-				     (set! row j)
+		     (if (not (= (pivots j) 1))
+			 (do ((k 0 (+ k 1)))
+			     ((= k n))
+			   (if (= (pivots k) 0)
+			       (let ((val (abs (matrix j k))))
+				 (if (> val biggest)
+				     (begin
+				       (set! col k)
+				       (set! row j)
 					;(format () "k: ~A, row: ~D, col: ~A~%" k row col)
-				     (set! biggest val))))
-			     (if (> (pivots k) 1)
-				 (return #f))))))
-		 (if (< biggest zero) 
-		     (return #f))) ; this can be fooled (floats...): (invert-matrix (make-share-vector (float-vector 1 2 3 3 2 1 4 5 6) (list 3 3)))
-	       (set! (pivots col) (+ (pivots col) 1))
+				       (set! biggest val))))
+			       (if (> (pivots k) 1)
+				   (return #f))))))
+		   (if (< biggest zero) 
+		       (return #f))) ; this can be fooled (floats...): (invert-matrix (make-share-vector (float-vector 1 2 3 3 2 1 4 5 6) (list 3 3)))
+		 (set! (pivots col) (+ (pivots col) 1))
 					;(format () "i: ~D, row: ~D, col: ~A~%" i row col)
-	       (if (not (= row col))
-		   (let ((temp (if (sequence? b) (b row) 0.0)))
-		     (if (sequence? b)
-			 (begin
-			   (set! (b row) (b col))
-			   (set! (b col) temp)))
-		     (do ((k 0 (+ k 1)))
-			 ((= k n))
-		       (set! temp (matrix row k))
-		       (set! (matrix row k) (matrix col k))
-		       (set! (matrix col k) temp))))
-	       (set! (cols i) col)
-	       (set! (rows i) row)
-	       ;; round-off troubles here
-	       (if (< (abs (matrix col col)) zero)
-		   (return #f))
-	       (let ((inverse-pivot (/ 1.0 (matrix col col))))
-		 (set! (matrix col col) 1.0)
-		 (do ((k 0 (+ k 1)))
-		     ((= k n))
-		   (set! (matrix col k) (* inverse-pivot (matrix col k))))
-		 (if b (set! (b col) (* inverse-pivot (b col)))))
-	       (do ((k 0 (+ k 1)))
-		   ((= k n))
-		 (if (not (= k col))
-		     (let ((scl (matrix k col)))
-		       (set! (matrix k col) 0.0)
-		       (do ((m 0 (+ 1 m)))
-			   ((= m n))
-			 (set! (matrix k m) (- (matrix k m) (* scl (matrix col m)))))
-		       (if b (set! (b k) (- (b k) (* scl (b col))))))))))
-	   (do ((i (- n 1) (- i 1)))
-	       ((< i 0))
-	     (if (not (= (rows i) (cols i)))
+		 (if (not (= row col))
+		     (let ((temp (if (sequence? b) (b row) 0.0)))
+		       (if (sequence? b)
+			   (begin
+			     (set! (b row) (b col))
+			     (set! (b col) temp)))
+		       (do ((k 0 (+ k 1)))
+			   ((= k n))
+			 (set! temp (matrix row k))
+			 (set! (matrix row k) (matrix col k))
+			 (set! (matrix col k) temp))))
+		 (set! (cols i) col)
+		 (set! (rows i) row)
+		 ;; round-off troubles here
+		 (if (< (abs (matrix col col)) zero)
+		     (return #f))
+		 (let ((inverse-pivot (/ 1.0 (matrix col col))))
+		   (set! (matrix col col) 1.0)
+		   (do ((k 0 (+ k 1)))
+		       ((= k n))
+		     (set! (matrix col k) (* inverse-pivot (matrix col k))))
+		   (if b (set! (b col) (* inverse-pivot (b col)))))
 		 (do ((k 0 (+ k 1)))
 		     ((= k n))
-		   (let ((temp (matrix k (rows i))))
-		     (set! (matrix k (rows i)) (matrix k (cols i)))
-		     (set! (matrix k (cols i)) temp)))))
-	   (list matrix b)))))))
+		   (if (not (= k col))
+		       (let ((scl (matrix k col)))
+			 (set! (matrix k col) 0.0)
+			 (do ((m 0 (+ 1 m)))
+			     ((= m n))
+			   (set! (matrix k m) (- (matrix k m) (* scl (matrix col m)))))
+			 (if b (set! (b k) (- (b k) (* scl (b col))))))))))
+	     (do ((i (- n 1) (- i 1)))
+		 ((< i 0))
+	       (if (not (= (rows i) (cols i)))
+		   (do ((k 0 (+ k 1)))
+		       ((= k n))
+		     (let ((temp (matrix k (rows i))))
+		       (set! (matrix k (rows i)) (matrix k (cols i)))
+		       (set! (matrix k (cols i)) temp)))))
+	     (list matrix b))))))))
 
 (define (matrix-solve A b)
   (cond ((invert-matrix A b) => cadr) (else #f)))
@@ -2523,15 +2505,15 @@ is assumed to be outside -1.0 to 1.0."))
 the multi-modulator FM case described by the list of modulator frequencies and indices"))
     (lambda (freq-we-want wc wms inds ns bs using-sine)
       (if (pair? wms)
-	  (let* ((sum 0.0)
-		 (index (car inds))
-		 (mx (ceiling (* 7 index)))
-		 (wm (car wms)))
-	    (do ((k (- mx) (+ k 1)))
-		((>= k mx) sum)
-	      (set! sum (+ sum (fm-parallel-component freq-we-want (+ wc (* k wm)) (cdr wms) (cdr inds) 
-						      (append ns (list k)) (append bs (list index)) 
-						      using-sine)))))
+	  (let ((index (car inds)))
+	    (let ((sum 0.0)
+		  (mx (ceiling (* 7 index)))
+		  (wm (car wms)))
+	      (do ((k (- mx) (+ k 1)))
+		  ((>= k mx) sum)
+		(set! sum (+ sum (fm-parallel-component freq-we-want (+ wc (* k wm)) (cdr wms) (cdr inds) 
+							(append ns (list k)) (append bs (list index)) 
+							using-sine))))))
 	  (if (>= (abs (- freq-we-want (abs wc))) .1)
 	      0.0
 	      (let ((bmult 1.0))
@@ -2540,7 +2522,6 @@ the multi-modulator FM case described by the list of modulator frequencies and i
 		   (set! bmult (* bmult (bes-jn n index))))
 		 ns bs)
 		(if (and using-sine (< wc 0.0)) (set! bmult (- bmult)))
-					;(format () ";add ~A from ~A ~A" bmult ns bs)
 		bmult))))))
 
 
@@ -2631,14 +2612,14 @@ the multi-modulator FM case described by the list of modulator frequencies and i
 (define* (flatten-partials any-partials (tries 32))
   
   (define (cos-fft-to-max n cur-amps)
-    (let* ((size 1024)
-	   (fft-rl (make-float-vector size))
-	   (fft-im (make-float-vector size)))
-      (do ((i 0 (+ i 1))
+    (let ((size 1024))
+      (do ((fft-rl (make-float-vector size))
+	   (fft-im (make-float-vector size))
+	   (i 0 (+ i 1))
 	   (bin 2 (+ bin 2)))
-	  ((= i n))
-	(set! (fft-rl bin) (cur-amps i)))
-      (float-vector-peak (mus-fft fft-rl fft-im size -1))))
+	  ((= i n)
+	   (float-vector-peak (mus-fft fft-rl fft-im size -1)))   
+	(set! (fft-rl bin) (cur-amps i)))))
   
   (let* ((partials (if (list? any-partials)
 		       (apply float-vector any-partials)
diff --git a/edit-menu.scm b/edit-menu.scm
index 43d8b8d..1ff58f0 100644
--- a/edit-menu.scm
+++ b/edit-menu.scm
@@ -93,7 +93,8 @@
 	(define (trim-back-one-channel snd chn)
 	  (if (null? (marks snd chn))
 	      (status-report "trim-back needs a mark" snd)
-	      (let ((endpt (mark-sample (car (reverse (marks snd chn))))))
+	      (let ((endpt (let ((ms (marks snd chn)))
+			     (mark-sample (list-ref ms (- (length ms) 1))))))
 		(delete-samples (+ endpt 1) (- (framples snd chn) endpt)))))
 	(if (> snc 0)
 	    (apply map
@@ -116,8 +117,9 @@
       (as-one-edit
        (lambda ()
 	 (delete-samples 0 (mark-sample (car (marks snd chn))) snd chn)
-	 (let ((endpt (mark-sample (car (reverse (marks snd chn))))))
-	   (delete-samples (+ endpt 1) (- (framples snd chn) endpt))))
+	      (let ((endpt (let ((ms (marks snd chn)))
+			     (mark-sample (list-ref ms (- (length ms) 1))))))
+		(delete-samples (+ endpt 1) (- (framples snd chn) endpt))))
        "crop-one-channel")))
 
 (define crop
diff --git a/edit123.scm b/edit123.scm
index c9a6497..e868f6b 100644
--- a/edit123.scm
+++ b/edit123.scm
@@ -87,9 +87,10 @@
 	  (set! last-file-opened (file-name (or (selected-sound)
 						(car (sounds))))))
       (if (not current-directory)
-	  (if (null? (sounds))
-	      (get-current-files (getcwd))
-	      (get-current-files (directory-from-path last-file-opened))))
+	  (get-current-files
+	   (if (null? (sounds))
+	       (getcwd)
+	       (directory-from-path last-file-opened))))
       (if (null? current-sorted-files)
 	  (error 'no-such-file (list "open-next-file-in-directory" current-directory))
 	  (let ((next-file (find-next-file)))
diff --git a/effects-utils.scm b/effects-utils.scm
index 4d6618b..87c1ecf 100644
--- a/effects-utils.scm
+++ b/effects-utils.scm
@@ -229,18 +229,18 @@
     (let ((documentation "(add-sliders dialog sliders) takes 'sliders', a list of lists, each inner list being (title low initial high callback scale ['log]) \
 and returns a list of widgets (for reset callbacks)"))
       (lambda* (dialog sliders)
-	(let* ((mainfrm (XtCreateManagedWidget "formd" xmFormWidgetClass dialog
-					       (list XmNleftAttachment      XmATTACH_FORM
-						     XmNrightAttachment     XmATTACH_FORM
-						     XmNtopAttachment       XmATTACH_FORM
-						     XmNbottomAttachment    XmATTACH_WIDGET
-						     XmNbottomWidget        (XmMessageBoxGetChild dialog XmDIALOG_SEPARATOR)
-						     XmNbackground          *highlight-color*)))
-	       (mainform (XtCreateManagedWidget "formd" xmRowColumnWidgetClass mainfrm
-						(list XmNleftAttachment      XmATTACH_FORM
-						      XmNrightAttachment     XmATTACH_FORM
-						      XmNbackground          *highlight-color*
-						      XmNorientation         XmVERTICAL))))
+	(let ((mainform (let ((mainfrm (XtCreateManagedWidget "formd" xmFormWidgetClass dialog
+							      (list XmNleftAttachment      XmATTACH_FORM
+								    XmNrightAttachment     XmATTACH_FORM
+								    XmNtopAttachment       XmATTACH_FORM
+								    XmNbottomAttachment    XmATTACH_WIDGET
+								    XmNbottomWidget        (XmMessageBoxGetChild dialog XmDIALOG_SEPARATOR)
+								    XmNbackground          *highlight-color*))))
+			  (XtCreateManagedWidget "formd" xmRowColumnWidgetClass mainfrm
+						 (list XmNleftAttachment      XmATTACH_FORM
+						       XmNrightAttachment     XmATTACH_FORM
+						       XmNbackground          *highlight-color*
+						       XmNorientation         XmVERTICAL)))))
 	  (map
 	   (lambda (slider-data)
 	     (let* ((title (XmStringCreate (slider-data 0) XmFONTLIST_DEFAULT_TAG))
@@ -248,22 +248,22 @@ and returns a list of widgets (for reset callbacks)"))
 		    (initial (slider-data 2))
 		    (high (slider-data 3))
 		    (func (slider-data 4))
-		    (scale (slider-data 5))
 		    (new-slider (if (= (length slider-data) 7)
 				    (if (eq? (slider-data 6) 'log)
 					(create-log-scale-widget mainform title low initial high)
 					(create-semi-scale-widget mainform title initial))
-				    (XtCreateManagedWidget (car slider-data) xmScaleWidgetClass mainform
-							   (list XmNorientation   XmHORIZONTAL
-								 XmNshowValue     #t
-								 XmNminimum       (floor (* low scale))
-								 XmNmaximum       (floor (* high scale))
-								 XmNvalue         (floor (* initial scale))
-								 XmNdecimalPoints (case scale ((10000) 4) ((1000) 3) ((100) 2) ((10) 1) (else 0))
-								 XmNtitleString   title
-								 XmNleftAttachment XmATTACH_FORM
-								 XmNrightAttachment XmATTACH_FORM
-								 XmNbackground    *basic-color*)))))
+				    (let ((scale (slider-data 5)))
+				      (XtCreateManagedWidget (car slider-data) xmScaleWidgetClass mainform
+							     (list XmNorientation   XmHORIZONTAL
+								   XmNshowValue     #t
+								   XmNminimum       (floor (* low scale))
+								   XmNmaximum       (floor (* high scale))
+								   XmNvalue         (floor (* initial scale))
+								   XmNdecimalPoints (case scale ((10000) 4) ((1000) 3) ((100) 2) ((10) 1) (else 0))
+								   XmNtitleString   title
+								   XmNleftAttachment XmATTACH_FORM
+								   XmNrightAttachment XmATTACH_FORM
+								   XmNbackground    *basic-color*))))))
 	       (XmStringFree title)
 	       (XtAddCallback new-slider XmNvalueChangedCallback func)
 	       new-slider))
diff --git a/env.scm b/env.scm
index 43f36a0..4425bac 100644
--- a/env.scm
+++ b/env.scm
@@ -170,50 +170,50 @@ divseg in early versions of CLM and its antecedents in Sambox and Mus10 (linen).
 	    ((and old-dec (not new-dec))
 	     (error 'wrong-number-of-args "stretch-envelope:~A ~A ~A, old-decay but no new-decay?" old-att new-att old-dec))
 	    (else
-	     (let* ((x0 (car fn))
-		    (new-x x0)
-		    (last-x (fn (- (length fn) 2)))
-		    (y0 (cadr fn))
-		    (new-fn (list y0 x0))
-		    (scl (/ (- new-att x0) (max .0001 (- old-att x0)))))
-	       
-	       (if (and (number? old-dec)
-			(= old-dec old-att))
-		   (set! old-dec (* 1e-06 last-x)))
-	       (reverse
-		(let stretch-envelope-1 ((new-fn new-fn)
-					 (old-fn (cddr fn)))
-		  (if (null? old-fn)
-		      new-fn
-		      (let ((x1 (car old-fn))
-			    (y1 (cadr old-fn)))
-			(when (and (< x0 old-att) (>= x1 old-att))
-			  (set! y0 (if (= x1 old-att)
-				       y1
-				       (+ y0 (* (- y1 y0) (/ (- old-att x0) (- x1 x0))))))
-			  (set! x0 old-att)
-			  (set! new-x new-att)
-			  (set! new-fn (cons y0 (cons new-x new-fn)))
-			  (set! scl (if old-dec
-					(/ (- new-dec new-att) (- old-dec old-att))
-					(/ (- last-x new-att) (- last-x old-att)))))
-			(when (and (real? old-dec)
-				   (< x0 old-dec)
-				   (>= x1 old-dec))
-			  (set! y0 (if (= x1 old-dec)
-				       y1
-				       (+ y0 (* (- y1 y0) (/ (- old-dec x0) (- x1 x0))))))
-			  (set! x0 old-dec)
-			  (set! new-x new-dec)
-			  (set! new-fn (cons y0 (cons new-x new-fn)))
-			  (set! scl (/ (- last-x new-dec) (- last-x old-dec))))
-			(unless (= x0 x1)
-			  (set! new-x (+ new-x (* scl (- x1 x0))))
-			  (set! new-fn (cons y1 (cons new-x new-fn)))
-			  (set! x0 x1)
-			  (set! y0 y1))
-			(stretch-envelope-1 new-fn (cddr old-fn))))))))))))
-
+	     (let ((x0 (car fn))
+		   (y0 (cadr fn)))
+	       (let ((new-x x0)
+		     (last-x (fn (- (length fn) 2)))
+		     (new-fn (list y0 x0))
+		     (scl (/ (- new-att x0) (max .0001 (- old-att x0)))))
+		 
+		 (if (and (number? old-dec)
+			  (= old-dec old-att))
+		     (set! old-dec (* 1e-06 last-x)))
+		 (reverse
+		  (let stretch-envelope-1 ((new-fn new-fn)
+					   (old-fn (cddr fn)))
+		    (if (null? old-fn)
+			new-fn
+			(let ((x1 (car old-fn))
+			      (y1 (cadr old-fn)))
+			  (when (and (< x0 old-att) (>= x1 old-att))
+			    (set! y0 (if (= x1 old-att)
+					 y1
+					 (+ y0 (* (- y1 y0) (/ (- old-att x0) (- x1 x0))))))
+			    (set! x0 old-att)
+			    (set! new-x new-att)
+			    (set! new-fn (cons y0 (cons new-x new-fn)))
+			    (set! scl (if old-dec
+					  (/ (- new-dec new-att) (- old-dec old-att))
+					  (/ (- last-x new-att) (- last-x old-att)))))
+			  (when (and (real? old-dec)
+				     (< x0 old-dec)
+				     (>= x1 old-dec))
+			    (set! y0 (if (= x1 old-dec)
+					 y1
+					 (+ y0 (* (- y1 y0) (/ (- old-dec x0) (- x1 x0))))))
+			    (set! x0 old-dec)
+			    (set! new-x new-dec)
+			    (set! new-fn (cons y0 (cons new-x new-fn)))
+			    (set! scl (/ (- last-x new-dec) (- last-x old-dec))))
+			  (unless (= x0 x1)
+			    (set! new-x (+ new-x (* scl (- x1 x0))))
+			    (set! new-fn (cons y1 (cons new-x new-fn)))
+			    (set! x0 x1)
+			    (set! y0 y1))
+			  (stretch-envelope-1 new-fn (cddr old-fn)))))))))))))
+  
 
 ;;; -------- scale-envelope
 
@@ -281,41 +281,41 @@ inserted between repeats. 'normalized' causes the new envelope's x axis
 to have the same extent as the original's. 'reflected' causes every other 
 repetition to be in reverse."))
     (lambda* (ur-env repeats reflected normalized)
-      (let* ((times (if reflected (floor (/ repeats 2)) repeats))
-	     (e (if (not reflected)
-		    ur-env
-		    (let ((lastx (ur-env (- (length ur-env) 2)))
-			  (rev-env (cddr (reverse ur-env)))
-			  (new-env (reverse ur-env)))
-		      (while (pair? rev-env)
-			     (set! new-env (cons (- (+ lastx lastx) (cadr rev-env)) new-env))
-			     (set! new-env (cons (car rev-env) new-env))
-			     (set! rev-env (cddr rev-env)))
-		      (reverse new-env))))
-	     (first-y (cadr e))
-	     (x-max (e (- (length e) 2)))
-	     (x (car e))
-	     (first-y-is-last-y (= first-y (e (- (length e) 1))))
-	     (new-env (list first-y x)))
-	(let ((len (length e)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i times))
-	    (do ((j 2 (+ j 2)))
-		((>= j len))
-	      (set! x (- (+ x (e j)) (e (- j 2))))
-	      (set! new-env (cons (e (+ j 1)) (cons x new-env))))
-	    (if (and (< i (- times 1)) (not first-y-is-last-y))
-		(begin
-		  (set! x (+ x (/ x-max 100.0)))
-		  (set! new-env (cons first-y (cons x new-env)))))))
-	(set! new-env (reverse new-env))
-	(if normalized
-	    (let ((scl (/ x-max x))
-		  (new-len (length new-env)))
-	      (do ((i 0 (+ i 2)))
-		  ((>= i new-len))
-		(set! (new-env i) (* scl (new-env i))))))
-	new-env))))
+      (let ((e (if (not reflected)
+		   ur-env
+		   (let ((lastx (ur-env (- (length ur-env) 2)))
+			 (rev-env (cddr (reverse ur-env)))
+			 (new-env (reverse ur-env)))
+		     (while (pair? rev-env)
+			    (set! new-env (cons (- (+ lastx lastx) (cadr rev-env)) new-env))
+			    (set! new-env (cons (car rev-env) new-env))
+			    (set! rev-env (cddr rev-env)))
+		     (reverse new-env)))))
+	(let ((first-y (cadr e))
+	      (x (car e)))
+	  (let ((x-max (e (- (length e) 2)))
+		(new-env (list first-y x)))
+	    (let ((len (length e))
+		  (times (if reflected (floor (/ repeats 2)) repeats))
+		  (first-y-is-last-y (= first-y (e (- (length e) 1)))))
+	      (do ((i 0 (+ i 1)))
+		  ((= i times))
+		(do ((j 2 (+ j 2)))
+		    ((>= j len))
+		  (set! x (- (+ x (e j)) (e (- j 2))))
+		  (set! new-env (cons (e (+ j 1)) (cons x new-env))))
+		(if (and (< i (- times 1)) (not first-y-is-last-y))
+		    (begin
+		      (set! x (+ x (/ x-max 100.0)))
+		      (set! new-env (cons first-y (cons x new-env)))))))
+	    (set! new-env (reverse new-env))
+	    (if normalized
+		(let ((scl (/ x-max x))
+		      (new-len (length new-env)))
+		  (do ((i 0 (+ i 2)))
+		      ((>= i new-len))
+		    (set! (new-env i) (* scl (new-env i))))))
+	    new-env))))))
 
 
 ;;; -------- power-env 
@@ -390,30 +390,30 @@ repetition to be in reverse."))
   (let ((documentation "(powenv-channel envelope (beg 0) dur snd chn edpos) returns an envelope with a separate base for \
 each segment: (powenv-channel '(0 0 .325  1 1 32.0 2 0 32.0))"))
     (lambda* (envelope (beg 0) dur snd chn edpos)
-      (let* ((curbeg beg)
-	     (fulldur (or dur (framples snd chn edpos)))
-	     (len (length envelope))
-	     (x1 (car envelope))
-	     (xrange (- (envelope (- len 3)) x1))
-	     (y1 (cadr envelope))
-	     (base (caddr envelope))
-	     (x0 0.0)
-	     (y0 0.0))
-	(if (= len 3)
-	    (scale-channel y1 beg dur snd chn edpos)
-	    (as-one-edit
-	     (lambda ()
-	       (do ((i 3 (+ i 3)))
-		   ((= i len))
-		 (set! x0 x1)
-		 (set! y0 y1)
-		 (set! x1 (envelope i))
-		 (set! y1 (envelope (+ i 1)))
-		 (let ((curdur (round (* fulldur (/ (- x1 x0) xrange)))))
-		   (xramp-channel y0 y1 base curbeg curdur snd chn edpos)
-		   (set! curbeg (+ curbeg curdur)))
-		 (set! base (envelope (+ i 2)))))))))))
-
+      (let ((len (length envelope))
+	    (x1 (car envelope)))
+	(let ((curbeg beg)
+	      (fulldur (or dur (framples snd chn edpos)))
+	      (xrange (- (envelope (- len 3)) x1))
+	      (y1 (cadr envelope))
+	      (base (caddr envelope))
+	      (x0 0.0)
+	      (y0 0.0))
+	  (if (= len 3)
+	      (scale-channel y1 beg dur snd chn edpos)
+	      (as-one-edit
+	       (lambda ()
+		 (do ((i 3 (+ i 3)))
+		     ((= i len))
+		   (set! x0 x1)
+		   (set! y0 y1)
+		   (set! x1 (envelope i))
+		   (set! y1 (envelope (+ i 1)))
+		   (let ((curdur (round (* fulldur (/ (- x1 x0) xrange)))))
+		     (xramp-channel y0 y1 base curbeg curdur snd chn edpos)
+		     (set! curbeg (+ curbeg curdur)))
+		   (set! base (envelope (+ i 2))))))))))))
+  
 
 ;;; by Anders Vinjar:
 ;;;
@@ -429,22 +429,22 @@ each segment: (powenv-channel '(0 0 .325  1 1 32.0 2 0 32.0))"))
 (define envelope-exp 
   (let ((documentation "(envelope-exp e (power 1.0) (xgrid 100)) approximates an exponential curve connecting the breakpoints"))
     (lambda* (e (power 1.0) (xgrid 100))
-      (let* ((mn (min-envelope e))
-	     (largest-diff (* 1.0 (- (max-envelope e) mn)))
-	     (x-min (car e))
-	     (x-max (e (- (length e) 2)))
-	     (x-incr (* 1.0 (/ (- x-max x-min) xgrid)))
-	     (new-e ()))
-	(do ((x x-min (+ x x-incr)))
-	    ((>= x x-max))
-	  (let ((y (envelope-interp x e)))
-	    (set! new-e (cons (if (= largest-diff 0.0)
-				  y
-				  (+ mn
-				     (* largest-diff
-					(expt (/ (- y mn) largest-diff) power))))
-			      (cons x new-e)))))
-	(reverse new-e)))))
+      (let ((mn (min-envelope e)))
+	(let ((largest-diff (* 1.0 (- (max-envelope e) mn)))
+	      (x-min (car e))
+	      (x-max (e (- (length e) 2))))
+	  (let ((x-incr (* 1.0 (/ (- x-max x-min) xgrid)))
+		(new-e ()))
+	    (do ((x x-min (+ x x-incr)))
+		((>= x x-max))
+	      (let ((y (envelope-interp x e)))
+		(set! new-e (cons (if (= largest-diff 0.0)
+				      y
+				      (+ mn
+					 (* largest-diff
+					    (expt (/ (- y mn) largest-diff) power))))
+				  (cons x new-e)))))
+	    (reverse new-e)))))))
 
 
 ;;; rms-envelope
@@ -453,39 +453,38 @@ each segment: (powenv-channel '(0 0 .325  1 1 32.0 2 0 32.0))"))
   (let ((documentation "(rms-envelope file (beg 0.0) (dur #f) (rfreq 30.0) (db #f)) returns an envelope of RMS values in 'file'"))
     (lambda* (file (beg 0.0) dur (rfreq 30.0) db)
       ;; based on rmsenv.ins by Bret Battey
-      (let* ((e ())
-	     (incr (/ 1.0 rfreq))
-	     (fsr (srate file))
-	     (incrsamps (round (* incr fsr)))
+      (let* ((fsr (srate file))
 	     (start (round (* beg fsr)))
-	     (reader (make-sampler start file))
 	     (end (if dur (min (* 1.0 (+ start (round (* fsr dur))))
 			       (mus-sound-framples file))
-		      (mus-sound-framples file)))
-	     (rms (make-moving-average incrsamps)) ; this could use make-moving-rms from dsp.scm
-	     (rms-val 0.0)
-	     (jend 0)
-	     (len (- (+ end 1) start))
-	     (data (make-float-vector len)))
-	(do ((i 0 (+ i 1)))
-	    ((= i len))
-	  (float-vector-set! data i (next-sample reader)))
-	(float-vector-multiply! data data)
-	(do ((i 0 (+ i incrsamps)))
-	    ((>= i end) 
-	     (reverse e))
-	  (set! jend (min end (+ i incrsamps)))
-	  (do ((j i (+ j 1)))
-	      ((= j jend))
-	    (moving-average rms (float-vector-ref data j)))
-	  (set! e (cons (* 1.0 (/ i fsr)) e))
-	  (set! rms-val (sqrt (* (mus-scaler rms) (mus-increment rms))))
-	  (set! e (cons (if db 
-			    (if (< rms-val 1e-05) -100.0 (* 20.0 (log rms-val 10.0)))
-			    rms-val)
-			e)))))))
-
-
+		      (mus-sound-framples file))))
+	(let ((incrsamps (round (/ fsr rfreq)))
+	      (len (- (+ end 1) start)))
+	  (let ((reader (make-sampler start file))
+		(rms (make-moving-average incrsamps)) ; this could use make-moving-rms from dsp.scm
+		(e ())
+		(rms-val 0.0)
+		(jend 0)
+		(data (make-float-vector len)))
+	    (do ((i 0 (+ i 1)))
+		((= i len))
+	      (float-vector-set! data i (next-sample reader)))
+	    (float-vector-multiply! data data)
+	    (do ((i 0 (+ i incrsamps)))
+		((>= i end) 
+		 (reverse e))
+	      (set! jend (min end (+ i incrsamps)))
+	      (do ((j i (+ j 1)))
+		  ((= j jend))
+		(moving-average rms (float-vector-ref data j)))
+	      (set! e (cons (* 1.0 (/ i fsr)) e))
+	      (set! rms-val (sqrt (* (mus-scaler rms) (mus-increment rms))))
+	      (set! e (cons (if db 
+				(if (< rms-val 1e-05) -100.0 (* 20.0 (log rms-val 10.0)))
+				rms-val)
+			    e)))))))))
+  
+  
 (define* (normalize-envelope env1 (new-max 1.0))
   (scale-envelope env1
 		  (/ new-max
diff --git a/enved.scm b/enved.scm
index 0ee7c77..d113de7 100644
--- a/enved.scm
+++ b/enved.scm
@@ -101,18 +101,18 @@
 		(set! new-env (append new-env (list (car e) (cadr e))))
 		(search-point (cddr e) (+ npos 2)))))))
 
-    (let* ((cur-env (channel-envelope snd chn))
-	   (lx (if (= mouse-pos 0)
-		   0.0
-		   (if (>= mouse-pos (- (length cur-env) 2))
-		       1.0
-		       (max (+ (list-ref cur-env (- mouse-pos 2)) .001)
-			    (min x
-				 (- (list-ref cur-env (+ mouse-pos 2)) .001))))))
-	   (ly (max 0.0 (min y 1.0))))
-      (set! (channel-envelope snd chn) 
-	    (edit-envelope-point mouse-pos lx ly cur-env))
-      (update-lisp-graph snd chn))))
+    (let ((cur-env (channel-envelope snd chn)))
+      (let ((lx (if (= mouse-pos 0)
+		    0.0
+		    (if (>= mouse-pos (- (length cur-env) 2))
+			1.0
+			(max (+ (list-ref cur-env (- mouse-pos 2)) .001)
+			     (min x
+				  (- (list-ref cur-env (+ mouse-pos 2)) .001))))))
+	    (ly (max 0.0 (min y 1.0))))
+	(set! (channel-envelope snd chn) 
+	      (edit-envelope-point mouse-pos lx ly cur-env))
+	(update-lisp-graph snd chn)))))
 
 (define (mouse-release-envelope hook)
   (let ((snd (hook 'snd))
diff --git a/examp.scm b/examp.scm
index 614c6d0..b4bb7a2 100644
--- a/examp.scm
+++ b/examp.scm
@@ -89,53 +89,52 @@
   ;; in this version, the y-zoom-slider controls the graph amp
   (let ((documentation "(display-energy hook) is a lisp-graph-hook function to display the time domain data as energy (squared)"))
     (lambda (hook)
-      (let* ((snd (hook 'snd))
-	     (chn (hook 'chn))
-	     (ls (left-sample snd chn))
-	     (rs (right-sample snd chn))
-	     (datal (make-graph-data snd chn))
-	     (data (if (float-vector? datal) datal (cadr datal)))
-	     (sr (srate snd))
-	     (y-max (y-zoom-slider snd chn)))
-	(if (and data ls rs)
-	    (begin
-	      (float-vector-multiply! data data)
-	      (graph data "energy" (/ ls sr) (/ rs sr) 0.0 (* y-max y-max) snd chn #f)))))))
-
-					;(hook-push lisp-graph-hook display-energy)
+      (let ((snd (hook 'snd))
+	    (chn (hook 'chn)))
+	(let ((ls (left-sample snd chn))
+	      (rs (right-sample snd chn))
+	      (data (let ((datal (make-graph-data snd chn)))
+		      (if (float-vector? datal) datal (cadr datal))))
+	      (sr (srate snd))
+	      (y-max (y-zoom-slider snd chn)))
+	  (if (and data ls rs)
+	      (begin
+		(float-vector-multiply! data data)
+		(graph data "energy" (/ ls sr) (/ rs sr) 0.0 (* y-max y-max) snd chn #f))))))))
+  
+;; (hook-push lisp-graph-hook display-energy)
 
 
 (define display-db 
   (let ((documentation "(display-db hook) is a lisp-graph-hook function to display the time domain data in dB"))
     (lambda (hook)
-      (let* ((snd (hook 'snd))
-	     (chn (hook 'chn))
-	     (datal (make-graph-data snd chn)))
+      (let ((snd (hook 'snd))
+	    (chn (hook 'chn)))
+	(let ((datal (make-graph-data snd chn)))
 	
-	(if datal
-	    (let* ((data (if (float-vector? datal) datal (cadr datal)))
-		   (len (length data))
-		   (sr (srate snd)))
-	      (define (dB val)
-		(if (< val .001)
-		    -60.0
-		    (* 20.0 (log val 10))))
-	      (do ((i 0 (+ i 1)))
-		  ((= i len))
-		(set! (data i) (+ 60.0 (dB (abs (data i))))))
-	      (graph data "dB" 
-		     (/ (left-sample snd chn) sr) (/ (right-sample snd chn) sr)  
-		     0.0 60.0
-		     snd chn)))))))
-
-					;(hook-push lisp-graph-hook display-db)
+	  (if datal
+	      (let ((data (if (float-vector? datal) datal (cadr datal))))
+		(let ((len (length data))
+		      (sr (srate snd)))
+		  (define (dB val)
+		    (if (< val .001)
+			-60.0
+			(* 20.0 (log val 10))))
+		  (do ((i 0 (+ i 1)))
+		      ((= i len))
+		    (set! (data i) (+ 60.0 (dB (abs (data i))))))
+		  (graph data "dB" 
+			 (/ (left-sample snd chn) sr) (/ (right-sample snd chn) sr)  
+			 0.0 60.0
+			 snd chn)))))))))
+
+;; (hook-push lisp-graph-hook display-db)
 
 
 (define window-rms
   (let ((documentation "(window-rms) -> rms of data in currently selected graph window"))
     (lambda ()
-      (let* ((ls (left-sample))
-	     (data (channel->float-vector ls (- (+ (right-sample) 1) ls)))
+      (let* ((data (channel->float-vector (left-sample) (- (+ (right-sample) 1) (left-sample))))
 	     (len (length data)))
 	(sqrt (/ (dot-product data data) len))))))
 
@@ -182,27 +181,27 @@
 		      (> (framples snd 1) 1)))
 	    (status-report "display-correlation wants stereo input")
 	    (let* ((ls (left-sample snd 0))
-		   (fftlen (floor (expt 2 (ceiling (log (- (+ (right-sample snd 0) 1) ls) 2)))))
-		   (fftscale (/ 1.0 fftlen))
-		   (rl1 (channel->float-vector ls fftlen snd 0))
-		   (rl2 (channel->float-vector ls fftlen snd 1))
-		   (im1 (make-float-vector fftlen))
-		   (im2 (make-float-vector fftlen)))
-	      (fft rl1 im1 1)
-	      (fft rl2 im2 1)
-	      (let ((tmprl (copy rl1))
-		    (tmpim (copy im1)))
-		(float-vector-multiply! tmprl rl2)     ; (* tempr1 tempr2)
-		(float-vector-multiply! tmpim im2)     ; (* tempi1 tempi2)
-		(float-vector-multiply! im2 rl1)       ; (* tempr1 tempi2)
-		(float-vector-multiply! rl2 im1)       ; (* tempr2 tempi1)
-		(float-vector-add! tmprl tmpim)        ; add the first two
-		(float-vector-subtract! im2 rl2)       ; subtract the 4th from the 3rd
-		(fft tmprl im2 -1)
-		(float-vector-scale! tmprl fftscale)   ; scale by fftscale
-		(graph tmprl "lag time" 0 fftlen))))))))
-
-					;(hook-push graph-hook display-correlation)
+		   (fftlen (floor (expt 2 (ceiling (log (- (+ (right-sample snd 0) 1) ls) 2))))))
+	      (let ((fftscale (/ 1.0 fftlen))
+		    (rl1 (channel->float-vector ls fftlen snd 0))
+		    (rl2 (channel->float-vector ls fftlen snd 1))
+		    (im1 (make-float-vector fftlen))
+		    (im2 (make-float-vector fftlen)))
+		(fft rl1 im1 1)
+		(fft rl2 im2 1)
+		(let ((tmprl (copy rl1))
+		      (tmpim (copy im1)))
+		  (float-vector-multiply! tmprl rl2)     ; (* tempr1 tempr2)
+		  (float-vector-multiply! tmpim im2)     ; (* tempi1 tempi2)
+		  (float-vector-multiply! im2 rl1)       ; (* tempr1 tempi2)
+		  (float-vector-multiply! rl2 im1)       ; (* tempr2 tempi1)
+		  (float-vector-add! tmprl tmpim)        ; add the first two
+		  (float-vector-subtract! im2 rl2)       ; subtract the 4th from the 3rd
+		  (fft tmprl im2 -1)
+		  (float-vector-scale! tmprl fftscale)   ; scale by fftscale
+		  (graph tmprl "lag time" 0 fftlen)))))))))
+
+;; (hook-push graph-hook display-correlation)
 
 
 ;;; -------- set transform-size based on current time domain window size
@@ -295,10 +294,10 @@
 		  (snd-print (format #f "odd: ~S is using a reserved Version ID" mpgfile)))
 	      (if (= layer 0)
 		  (snd-print (format #f "odd: ~S is using a reserved layer description" mpgfile)))
-	      (let* ((chans (if (= channel-mode 3) 1 2))
-		     (mpegnum (if (= id 0) 4 (if (= id 2) 2 1)))
-		     (mpeg-layer (if (= layer 3) 1 (if (= layer 2) 2 3)))
-		     (srate (/ (#(44100 48000 32000 0) srate-index) mpegnum)))
+	      (let ((chans (if (= channel-mode 3) 1 2))
+		    (mpeg-layer (if (= layer 3) 1 (if (= layer 2) 2 3)))
+		    (srate (/ (#(44100 48000 32000 0) srate-index)
+			      (if (= id 0) 4 (if (= id 2) 2 1)))))
 		(snd-print (format #f "~S: ~A Hz, ~A, MPEG-~A~%" 
 				   mpgfile srate (if (= chans 1) "mono" "stereo") mpeg-layer))
 		(system (format #f "mpg123 -s ~A > ~A" mpgfile rawfile))
@@ -635,79 +634,78 @@ a number, the sound is split such that 0 is all in channel 0 and 90 is all in ch
   (let ((documentation "(fft-edit low-Hz high-Hz snd chn) ffts an entire sound, removes all energy below low-Hz and all above high-Hz, 
 then inverse ffts."))
     (lambda* (bottom top snd chn)
-      (let* ((sr (srate snd))
-	     (len (framples snd chn))
-	     (fsize (expt 2 (ceiling (log len 2))))
-	     (fsize2 (/ fsize 2))
-	     (rdata (channel->float-vector 0 fsize snd chn))
-	     (idata (make-float-vector fsize))
-	     (lo (round (/ (* bottom fsize) sr)))
-	     (hi (round (/ (* top fsize) sr))))
-	(fft rdata idata 1)
-	(if (> lo 0)
-	    (begin
-	      (fill! rdata 0.0 0 lo)
-	      (fill! idata 0.0 0 lo)
-	      (fill! rdata (- fsize lo) fsize)
-	      (fill! idata (- fsize lo) fsize)))
-	(if (< hi fsize2)
-	    (begin 
-	      (fill! rdata 0.0 hi (- fsize hi))
-	      (fill! idata 0.0 hi (- fsize hi))))
-	(fft rdata idata -1)
-	(float-vector-scale! rdata (/ 1.0 fsize))
-	(float-vector->channel rdata 0 (- len 1) snd chn #f (format #f "fft-edit ~A ~A" bottom top))))))
-
-
+      (let ((sr (srate snd))
+	    (len (framples snd chn)))
+	(let ((fsize (expt 2 (ceiling (log len 2)))))
+	  (let ((fsize2 (/ fsize 2))
+		(rdata (channel->float-vector 0 fsize snd chn))
+		(idata (make-float-vector fsize)))
+	    (fft rdata idata 1)
+	    (let ((lo (round (/ (* bottom fsize) sr)))) 
+	      (if (> lo 0)
+		  (begin
+		    (fill! rdata 0.0 0 lo)
+		    (fill! idata 0.0 0 lo)
+		    (fill! rdata (- fsize lo) fsize)
+		    (fill! idata (- fsize lo) fsize))))
+	    (let ((hi (round (/ (* top fsize) sr))))
+	      (if (< hi fsize2)
+		  (begin 
+		    (fill! rdata 0.0 hi (- fsize hi))
+		    (fill! idata 0.0 hi (- fsize hi)))))
+	    (fft rdata idata -1)
+	    (float-vector-scale! rdata (/ 1.0 fsize))
+	    (float-vector->channel rdata 0 (- len 1) snd chn #f (format #f "fft-edit ~A ~A" bottom top))))))))
+  
+  
 (define fft-squelch 
   (let ((documentation "(fft-squelch squelch snd chn) ffts an entire sound, sets all bins to 0.0 whose energy is below squelch, then inverse ffts"))
     (lambda* (squelch snd chn)
       (let* ((len (framples snd chn))
-	     (fsize (expt 2 (ceiling (log len 2))))
-	     (rdata (channel->float-vector 0 fsize snd chn))
-	     (idata (make-float-vector fsize))
-	     (scaler 1.0))
-	(fft rdata idata 1)
-	(let ((vr (copy rdata))
-	      (vi (copy idata)))
-	  (rectangular->polar vr vi)
-	  (set! scaler (float-vector-peak vr)))
-	(let ((scl-squelch (* squelch scaler))
-	      (rd (copy rdata))
-	      (id (copy idata)))
-	  (float-vector-multiply! rd rd)
-	  (float-vector-multiply! id id)
-	  (float-vector-add! rd id)
-	  (do ((i 0 (+ i 1)))
-	      ((= i fsize))
-	    (if (< (sqrt (float-vector-ref rd i)) scl-squelch)
-		(begin
-		  (set! (rdata i) 0.0)
-		  (set! (idata i) 0.0))))
-	  (fft rdata idata -1)
-	  (float-vector-scale! rdata (/ 1.0 fsize)))
-	(float-vector->channel rdata 0 (- len 1) snd chn #f (format #f "fft-squelch ~A" squelch))
-	scaler))))
+	     (fsize (expt 2 (ceiling (log len 2)))))
+	(let ((rdata (channel->float-vector 0 fsize snd chn))
+	      (idata (make-float-vector fsize))
+	      (scaler 1.0))
+	  (fft rdata idata 1)
+	  (let ((vr (copy rdata))
+		(vi (copy idata)))
+	    (rectangular->polar vr vi)
+	    (set! scaler (float-vector-peak vr)))
+	  (let ((scl-squelch (* squelch scaler))
+		(rd (copy rdata))
+		(id (copy idata)))
+	    (float-vector-multiply! rd rd)
+	    (float-vector-multiply! id id)
+	    (float-vector-add! rd id)
+	    (do ((i 0 (+ i 1)))
+		((= i fsize))
+	      (if (< (sqrt (float-vector-ref rd i)) scl-squelch)
+		  (begin
+		    (set! (rdata i) 0.0)
+		    (set! (idata i) 0.0))))
+	    (fft rdata idata -1)
+	    (float-vector-scale! rdata (/ 1.0 fsize)))
+	  (float-vector->channel rdata 0 (- len 1) snd chn #f (format #f "fft-squelch ~A" squelch))
+	  scaler)))))
 
 
 (define fft-cancel 
   (let ((documentation "(fft-cancel lo-freq hi-freq snd chn) ffts an entire sound, sets the bin(s) representing lo-freq to hi-freq to 0.0, then inverse ffts"))
     (lambda* (lo-freq hi-freq snd chn)
-      (let* ((sr (srate snd))
-	     (len (framples snd chn))
-	     (fsize (expt 2 (ceiling (log len 2))))
-	     (rdata (channel->float-vector 0 fsize snd chn))
-	     (idata (make-float-vector fsize)))
-	(fft rdata idata 1)
-	(let* ((hz-bin (/ sr fsize))
-	       (lo-bin (round (/ lo-freq hz-bin)))
-	       (hi-bin (round (/ hi-freq hz-bin))))
-	  (fill! rdata 0.0 lo-bin hi-bin)
-	  (fill! idata 0.0 lo-bin hi-bin)
-	  (fill! rdata 0.0 (- fsize hi-bin) (- fsize lo-bin)))
-	(fft rdata idata -1)
-	(float-vector-scale! rdata (/ 1.0 fsize))
-	(float-vector->channel rdata 0 (- len 1) snd chn #f (format #f "fft-cancel ~A ~A" lo-freq hi-freq))))))
+      (let* ((len (framples snd chn))
+	     (fsize (expt 2 (ceiling (log len 2)))))
+	(let ((rdata (channel->float-vector 0 fsize snd chn))
+	      (idata (make-float-vector fsize)))
+	  (fft rdata idata 1)
+	  (let ((hz-bin (/ (srate snd) fsize)))
+	    (let ((lo-bin (round (/ lo-freq hz-bin)))
+		  (hi-bin (round (/ hi-freq hz-bin))))
+	      (fill! rdata 0.0 lo-bin hi-bin)
+	      (fill! idata 0.0 lo-bin hi-bin)
+	      (fill! rdata 0.0 (- fsize hi-bin) (- fsize lo-bin))))
+	  (fft rdata idata -1)
+	  (float-vector-scale! rdata (/ 1.0 fsize))
+	  (float-vector->channel rdata 0 (- len 1) snd chn #f (format #f "fft-cancel ~A ~A" lo-freq hi-freq)))))))
 
 
 ;;; same idea but used to distinguish vowels (steady-state) from consonants
@@ -734,59 +732,58 @@ then inverse ffts."))
 (define squelch-vowels 
   (let ((documentation "(squelch-vowels snd chn) suppresses portions of a sound that look like steady-state"))
     (lambda* (snd chn)
-      (let* ((fft-size 32)
-	     (fft-mid (floor (/ fft-size 2)))
-	     (rl (make-float-vector fft-size))
-	     (im (make-float-vector fft-size))
-	     (ramper (make-ramp 256)) ; 512 ok too
-	     (peak (/ (maxamp) fft-mid))
-	     (read-ahead (make-sampler 0 snd chn))
-	     (ctr 0)
-	     (in-vowel #f))
-	(do ((i 0 (+ i 1)))
-	    ((= i fft-size))
-	  (float-vector-set! rl i (read-sample read-ahead)))
-	(set! ctr (- fft-size 1))
-	(map-channel (lambda (y)
-		       (set! ctr (+ ctr 1))
-		       (if (= ctr fft-size)
-			   (begin
-			     (fft rl im 1)
-			     (float-vector-multiply! rl rl)
-			     (float-vector-multiply! im im)
-			     (float-vector-add! rl im)
-			     (set! in-vowel (> (+ (rl 0) (rl 1) (rl 2) (rl 3)) peak))
-			     ;; fancier version checked here ratio of this sum and
-			     ;;   sum of all rl vals, returned vowel if > 0.5
-			     (set! ctr 0)
-			     (do ((i 0 (+ i 1)))
-				 ((= i fft-size))
-			       (float-vector-set! rl i (read-sample read-ahead)))
-			     (fill! im 0.0)))
-		       (* y (- 1.0 (ramp ramper in-vowel))))
+      (let ((fft-size 32))
+	(let ((rl (make-float-vector fft-size))
+	      (im (make-float-vector fft-size))
+	      (ramper (make-ramp 256)) ; 512 ok too
+	      (peak (/ (* 2 (maxamp)) fft-size))
+	      (read-ahead (make-sampler 0 snd chn))
+	      (ctr 0)
+	      (in-vowel #f))
+	  (do ((i 0 (+ i 1)))
+	      ((= i fft-size))
+	    (float-vector-set! rl i (read-sample read-ahead)))
+	  (set! ctr (- fft-size 1))
+	  (map-channel (lambda (y)
+			 (set! ctr (+ ctr 1))
+			 (if (= ctr fft-size)
+			     (begin
+			       (fft rl im 1)
+			       (float-vector-multiply! rl rl)
+			       (float-vector-multiply! im im)
+			       (float-vector-add! rl im)
+			       (set! in-vowel (> (+ (rl 0) (rl 1) (rl 2) (rl 3)) peak))
+			       ;; fancier version checked here ratio of this sum and
+			       ;;   sum of all rl vals, returned vowel if > 0.5
+			       (set! ctr 0)
+			       (do ((i 0 (+ i 1)))
+				   ((= i fft-size))
+				 (float-vector-set! rl i (read-sample read-ahead)))
+			       (fill! im 0.0)))
+			 (* y (- 1.0 (ramp ramper in-vowel))))
 					; squelch consonants if just ramp value (not 1.0-val)
 					;(and (> rval 0.0) ; if this is included, the vowel-portions are omitted
 					; squelch vowels 
 					;(* y (+ (* 2 rval) .1)) ;accentuate consonants
-		     0 #f snd chn #f "squelch-vowels")))))
+		       0 #f snd chn #f "squelch-vowels"))))))
 
 
 (define fft-env-data 
   (let ((documentation "(fft-env-data fft-env snd chn) applies fft-env as spectral env to current sound, returning float-vector of new data"))
     (lambda* (fft-env snd chn)
-      (let* ((fsize (expt 2 (ceiling (log (framples snd chn) 2))))
-	     (rdata (channel->float-vector 0 fsize snd chn))
-	     (idata (make-float-vector fsize))
-	     (e (make-env (concatenate-envelopes fft-env (reverse-envelope fft-env)) :length fsize))
-	     (ve (make-float-vector fsize)))
-	(fft rdata idata 1)
-	(do ((i 0 (+ i 1)))
-	    ((= i fsize))
-	  (float-vector-set! ve i (env e)))
-	(float-vector-multiply! rdata ve)
-	(float-vector-multiply! idata ve)
-	(fft rdata idata -1)
-	(float-vector-scale! rdata (/ 1.0 fsize))))))
+      (let ((fsize (expt 2 (ceiling (log (framples snd chn) 2)))))
+	(let ((rdata (channel->float-vector 0 fsize snd chn))
+	      (idata (make-float-vector fsize))
+	      (ve (make-float-vector fsize)))
+	  (fft rdata idata 1)
+	  (do ((e (make-env (concatenate-envelopes fft-env (reverse-envelope fft-env)) :length fsize))
+	       (i 0 (+ i 1)))
+	      ((= i fsize))
+	    (float-vector-set! ve i (env e)))
+	  (float-vector-multiply! rdata ve)
+	  (float-vector-multiply! idata ve)
+	  (fft rdata idata -1)
+	  (float-vector-scale! rdata (/ 1.0 fsize)))))))
 
 
 (define fft-env-edit 
@@ -819,29 +816,27 @@ applies the function 'flt' to it, then inverse ffts.  'flt' should take one argu
 current spectrum value.  (filter-fft (lambda (y) (if (< y .01) 0.0 y))) is like fft-squelch."))
     (lambda* (flt (normalize #t) snd chn)
       (let* ((len (framples snd chn))
-	     (mx (maxamp snd chn))
 	     (fsize (expt 2 (ceiling (log len 2))))
 	     (fsize2 (/ fsize 2))
-					;(orig 0.0) (cur 0.0)
-	     (rdata (channel->float-vector 0 fsize snd chn))
-	     (idata (make-float-vector fsize))
-	     (spect (snd-spectrum rdata rectangular-window fsize #t 1.0 #f normalize)) ; not in-place!
-	     (vf (make-float-vector fsize)))
-	
-	(fft rdata idata 1)
-	(flt (spect 0))
-	(do ((i 1 (+ i 1))
-	     (j (- fsize 1) (- j 1)))
-	    ((= i fsize2))
-	  (float-vector-set! vf j (float-vector-set! vf i (/ (flt (spect i)) (max (spect i) 1e-5)))))
-	(float-vector-multiply! rdata vf)
-	(float-vector-multiply! idata vf)
-	(fft rdata idata -1)
-	(if (= mx 0.0)
-	    (float-vector->channel rdata 0 (- len 1) snd chn #f (format #f "filter-fft ~A" flt))
-	    (let ((pk (float-vector-peak rdata)))
-	      (float-vector->channel (float-vector-scale! rdata (/ mx pk)) 0 (- len 1) snd chn #f (format #f "filter-fft ~A" flt))))))))
-	    
+	     (rdata (channel->float-vector 0 fsize snd chn)))
+	(let ((mx (maxamp snd chn))
+	      (idata (make-float-vector fsize))
+	      (vf (make-float-vector fsize)))
+	  (let ((spect (snd-spectrum rdata rectangular-window fsize #t 1.0 #f normalize))) ; not in-place!
+	    (fft rdata idata 1)
+	    (flt (spect 0))
+	    (do ((i 1 (+ i 1))
+		 (j (- fsize 1) (- j 1)))
+		((= i fsize2))
+	      (float-vector-set! vf j (float-vector-set! vf i (/ (flt (spect i)) (max (spect i) 1e-5))))))
+	  (float-vector-multiply! rdata vf)
+	  (float-vector-multiply! idata vf)
+	  (fft rdata idata -1)
+	  (if (= mx 0.0)
+	      (float-vector->channel rdata 0 (- len 1) snd chn #f (format #f "filter-fft ~A" flt))
+	      (let ((pk (float-vector-peak rdata)))
+		(float-vector->channel (float-vector-scale! rdata (/ mx pk)) 0 (- len 1) snd chn #f (format #f "filter-fft ~A" flt)))))))))
+  
 
 ;; (let ((op (make-one-zero .5 .5))) (filter-fft op))
 ;; (let ((op (make-one-pole .05 .95))) (filter-fft op))
@@ -880,36 +875,36 @@ current spectrum value.  (filter-fft (lambda (y) (if (< y .01) 0.0 y))) is like
   (let ((documentation "(fft-smoother cutoff start samps snd chn) uses fft-filtering to smooth a 
 section: (float-vector->channel (fft-smoother .1 (cursor) 400) (cursor) 400)"))
     (lambda* (cutoff start samps snd chn)
-      (let* ((fftpts (floor (expt 2 (ceiling (log (+ 1 samps) 2)))))
-	     (rl (channel->float-vector start fftpts snd chn))
-	     (im (make-float-vector fftpts))
-	     (top (floor (* fftpts cutoff))))
-	(let ((old0 (rl 0))
-	      (old1 (rl (- samps 1)))
-	      (oldmax (float-vector-peak rl)))
-	  (fft rl im 1)
-	  (do ((i top (+ i 1)))
-	      ((= i fftpts))
-	    (set! (rl i) 0.0)
-	    (set! (im i) 0.0))
-	  (fft rl im -1)
-	  (float-vector-scale! rl (/ 1.0 fftpts))
-	  (let ((newmax (float-vector-peak rl)))
-	    (if (= newmax 0.0)
-		rl
-		(begin
-		  (if (> (/ oldmax newmax) 1.5)
-		      (float-vector-scale! rl (/ oldmax newmax)))
-		  (let* ((new0 (rl 0))
-			 (new1 (rl (- samps 1)))
-			 (offset0 (- old0 new0))
-			 (offset1 (- old1 new1))
-			 (incr (if (= offset1 offset0) 0.0 (/ (- offset1 offset0) samps))))
-		    (do ((i 0 (+ i 1))
-			 (trend offset0 (+ trend incr)))
-			((= i samps))
-		      (set! (rl i) (+ (rl i) trend)))
-		    rl)))))))))
+      (let ((fftpts (floor (expt 2 (ceiling (log (+ 1 samps) 2))))))
+	(let ((rl (channel->float-vector start fftpts snd chn))
+	      (im (make-float-vector fftpts))
+	      (top (floor (* fftpts cutoff))))
+	  (let ((old0 (rl 0))
+		(old1 (rl (- samps 1)))
+		(oldmax (float-vector-peak rl)))
+	    (fft rl im 1)
+	    (do ((i top (+ i 1)))
+		((= i fftpts))
+	      (set! (rl i) 0.0)
+	      (set! (im i) 0.0))
+	    (fft rl im -1)
+	    (float-vector-scale! rl (/ 1.0 fftpts))
+	    (let ((newmax (float-vector-peak rl)))
+	      (if (= newmax 0.0)
+		  rl
+		  (begin
+		    (if (> (/ oldmax newmax) 1.5)
+			(float-vector-scale! rl (/ oldmax newmax)))
+		    (let* ((new0 (rl 0))
+			   (new1 (rl (- samps 1)))
+			   (offset0 (- old0 new0))
+			   (incr (let ((offset1 (- old1 new1)))
+				   (if (= offset1 offset0) 0.0 (/ (- offset1 offset0) samps)))))
+		      (do ((i 0 (+ i 1))
+			   (trend offset0 (+ trend incr)))
+			  ((= i samps))
+			(set! (rl i) (+ (rl i) trend)))
+		      rl))))))))))
 
 
 
@@ -1054,9 +1049,9 @@ formants, then calls map-channel: (osc-formants .99 (float-vector 400.0 800.0 12
 (define zecho 
   (let ((documentation "(zecho scaler secs freq amp) returns a modulated echo maker: (map-channel (zecho .5 .75 6 10.0) 0 65000)"))
     (lambda (scaler secs frq amp)
-      (let* ((os (make-oscil frq))
-	     (len (round (* secs (srate))))
-	     (del (make-delay len :max-size (floor (+ len amp 1)))))
+      (let ((os (make-oscil frq))
+	    (del (let ((len (round (* secs (srate)))))
+		   (make-delay len :max-size (floor (+ len amp 1))))))
 	(lambda (inval)
 	  (+ inval 
 	     (delay del 
@@ -1115,11 +1110,12 @@ formants, then calls map-channel: (osc-formants .99 (float-vector 400.0 800.0 12
 (define hello-dentist 
   (let ((documentation "(hello-dentist frq amp snd chn) varies the sampling rate randomly, making a voice sound quavery: (hello-dentist 40.0 .1)"))
     (lambda* (frq amp snd chn)
-      (let* ((rn (make-rand-interp :frequency frq :amplitude amp))
-	     (len (framples))
-	     (rd (make-sampler 0 snd chn))
-	     (sr (make-src :srate 1.0 
-			   :input (lambda (dir) (read-sample-with-direction rd dir)))))
+      (let ((rn (make-rand-interp :frequency frq :amplitude amp))
+	    (len (framples))
+	    (sr (make-src :srate 1.0 
+			  :input (let ((rd (make-sampler 0 snd chn)))
+				   (lambda (dir) 
+				     (read-sample-with-direction rd dir))))))
 	(map-channel
 	 (lambda (y)
 	   (src sr (rand-interp rn)))
@@ -1132,9 +1128,10 @@ formants, then calls map-channel: (osc-formants .99 (float-vector 400.0 800.0 12
 (define fp 
   (let ((documentation "(fp sr osamp osfrq snd chn) varies the sampling rate via an oscil: (fp 1.0 .3 20)"))
     (lambda* (sr osamp osfrq snd chn)
-      (let* ((os (make-oscil osfrq))
-	     (sf (make-sampler 0 snd chn))
-	     (s (make-src :srate sr :input (lambda (dir) (read-sample-with-direction sf dir)))))
+      (let ((os (make-oscil osfrq))
+	    (s (make-src :srate sr :input (let ((sf (make-sampler 0 snd chn)))
+					    (lambda (dir) 
+					      (read-sample-with-direction sf dir))))))
 	(map-channel
 	 (lambda (y)
 	   (src s (* osamp (oscil os))))
@@ -1165,10 +1162,11 @@ formants, then calls map-channel: (osc-formants .99 (float-vector 400.0 800.0 12
   (let ((documentation "(expsrc rate snd chn) uses sampling-rate conversion and granular synthesis 
 to produce a sound at a new pitch but at the original tempo.  It returns a function for map-channel."))
     (lambda* (rate snd chn)
-      (let* ((gr (make-granulate :expansion rate
-				 :input (make-sampler 0 snd chn)))
-	     (sr (make-src :srate rate
-			   :input (lambda (dir) (granulate gr)))))
+      (let ((sr (make-src :srate rate
+			  :input (let ((gr (make-granulate :expansion rate
+							   :input (make-sampler 0 snd chn))))
+				   (lambda (dir) 
+				     (granulate gr))))))
 	(lambda (inval)
 	  (src sr 0.0))))))
 
@@ -1204,88 +1202,86 @@ to produce a sound at a new pitch but at the original tempo.  It returns a funct
   (let ((documentation "(cross-synthesis cross-snd amp fftsize r) does cross-synthesis between 'cross-snd' (a sound object) and the currently 
 selected sound: (map-channel (cross-synthesis (integer->sound 0) .5 128 6.0))"))
     (lambda (cross-snd amp fftsize r)
-      (let* ((freq-inc (/ fftsize 2))
-	     (fdr #f)
-	     (fdi (make-float-vector fftsize))
-	     (spectr (make-float-vector freq-inc))
-	     (inctr 0)
-	     (ctr freq-inc)
-	     (radius (- 1.0 (/ r fftsize)))
-	     (bin (/ (srate) fftsize))
-	     (formants (make-vector freq-inc))
-	     (old-srate *clm-srate*))
-	(set! *clm-srate* (srate))
-	;; if mus-srate is 44.1k and srate is 48k, make-formant thinks we're trying to go past srate/2
-	;;    and in any case it's setting its formants incorrectly for the actual output srate
-	
-	(do ((i 0 (+ i 1)))
-	    ((= i freq-inc))
-	  (set! (formants i) (make-formant (* i bin) radius)))
-	(set! formants (make-formant-bank formants spectr))
-	(set! *clm-srate* old-srate)
-	
-	(lambda (inval)
-	  (if (= ctr freq-inc)
-	      (begin
-		(set! fdr (channel->float-vector inctr fftsize cross-snd 0))
-		(set! inctr (+ inctr freq-inc))
-		(spectrum fdr fdi #f 2)
-		(float-vector-subtract! fdr spectr)
-		(float-vector-scale! fdr (/ 1.0 freq-inc))
-		(set! ctr 0)))
-	  (set! ctr (+ ctr 1))
-	  (float-vector-add! spectr fdr)
-	  (* amp (formant-bank formants inval)))))))
-
-
-
+      (let ((freq-inc (/ fftsize 2)))
+	(let ((spectr (make-float-vector freq-inc))
+	      (formants (make-vector freq-inc))
+	      (old-srate *clm-srate*))
+	  (set! *clm-srate* (srate))
+	  ;; if mus-srate is 44.1k and srate is 48k, make-formant thinks we're trying to go past srate/2
+	  ;;    and in any case it's setting its formants incorrectly for the actual output srate
+	  (do ((radius (- 1.0 (/ r fftsize)))
+	       (bin (/ (srate) fftsize))
+	       (i 0 (+ i 1)))
+	      ((= i freq-inc))
+	    (set! (formants i) (make-formant (* i bin) radius)))
+	  (set! formants (make-formant-bank formants spectr))
+	  (set! *clm-srate* old-srate)
+	  (let ((fdr #f)
+		(ctr freq-inc)
+		(inctr 0))
+	    (lambda (inval)
+	      (if (= ctr freq-inc)
+		  (let ((fdi (make-float-vector fftsize)))
+		    (set! fdr (channel->float-vector inctr fftsize cross-snd 0))
+		    (set! inctr (+ inctr freq-inc))
+		    (spectrum fdr fdi #f 2)
+		    (float-vector-subtract! fdr spectr)
+		    (float-vector-scale! fdr (/ 1.0 freq-inc))
+		    (set! ctr 0)))
+	      (set! ctr (+ ctr 1))
+	      (float-vector-add! spectr fdr)
+	      (* amp (formant-bank formants inval)))))))))
+  
+  
+  
 ;;; similar ideas can be used for spectral cross-fades, etc -- for example:
 
 (define voiced->unvoiced 
   (let ((documentation "(voiced->unvoiced amp fftsize r tempo snd chn) turns a vocal sound into whispering: (voiced->unvoiced 1.0 256 2.0 2.0)"))
     (lambda* (amp fftsize r tempo snd chn)
-      (let* ((freq-inc (/ fftsize 2))
-	     (fdr #f)
-	     (fdi (make-float-vector fftsize))
-	     (spectr (make-float-vector freq-inc))
-	     (noi (make-rand (/ (srate snd) 3)))
-	     (inctr 0)
-	     (ctr 0)
-	     (radius (- 1.0 (/ r fftsize)))
-	     (bin (/ (srate snd) fftsize))
-	     (len (framples snd chn))
-	     (outlen (floor (/ len tempo)))
-	     (hop (floor (* freq-inc tempo)))
-	     (out-data (make-float-vector (max len outlen)))
-	     (formants (make-vector freq-inc))
-	     (old-peak-amp 0.0))
-	
-	(do ((i 0 (+ i 1)))
-	    ((= i freq-inc))
-	  (set! (formants i) (make-formant (* i bin) radius)))
-	(set! formants (make-formant-bank formants spectr))
-	
-	(do ((i 0 (+ i freq-inc)))
-	    ((>= i outlen))
-	  (set! ctr (min (- outlen i) freq-inc))
-	  (if (odd? ctr) (set! ctr (- ctr 1)))
-	  
-	  (set! fdr (channel->float-vector inctr fftsize snd chn))
-	  (set! old-peak-amp (max (float-vector-peak fdr) old-peak-amp))
-	  (spectrum fdr fdi #f 2)
-	  (float-vector-subtract! fdr spectr)
-	  (float-vector-scale! fdr (/ 2.0 freq-inc))
-	  (set! inctr (+ inctr hop))
+      (let ((freq-inc (/ fftsize 2))
+	    (len (framples snd chn)))
+	(let ((outlen (floor (/ len tempo)))
+	      (fdr #f)
+	      (fdi (make-float-vector fftsize))
+	      (spectr (make-float-vector freq-inc))
+	      (noi (make-rand (/ (srate snd) 3)))
+	      (ctr 0)
+	      (hop (floor (* freq-inc tempo)))
+	      (formants (make-vector freq-inc))
+	      (old-peak-amp 0.0))
+	  (let ((out-data (make-float-vector (max len outlen))))
+	    
+	    (do ((bin (/ (srate snd) fftsize))
+		 (radius (- 1.0 (/ r fftsize)))
+		 
+		 (i 0 (+ i 1)))
+		((= i freq-inc))
+	      (set! (formants i) (make-formant (* i bin) radius)))
+	    (set! formants (make-formant-bank formants spectr))
+	    
+	    (do ((inctr 0)
+		 (i 0 (+ i freq-inc)))
+		((>= i outlen))
+	      (set! ctr (min (- outlen i) freq-inc))
+	      (if (odd? ctr) (set! ctr (- ctr 1)))
+	      
+	      (set! fdr (channel->float-vector inctr fftsize snd chn))
+	      (set! old-peak-amp (max (float-vector-peak fdr) old-peak-amp))
+	      (spectrum fdr fdi #f 2)
+	      (float-vector-subtract! fdr spectr)
+	      (float-vector-scale! fdr (/ 2.0 freq-inc))
+	      (set! inctr (+ inctr hop))
+	      
+	      (do ((k 0 (+ k 2))
+		   (j i (+ j 2)))
+		  ((= k ctr))
+		(float-vector-add! spectr fdr)
+		(float-vector-set! out-data j (formant-bank formants (rand noi)))
+		(float-vector-set! out-data (+ j 1) (formant-bank formants (rand noi)))))
 	  
-	  (do ((k 0 (+ k 2))
-	       (j i (+ j 2)))
-	      ((= k ctr))
-	    (float-vector-add! spectr fdr)
-	    (float-vector-set! out-data j (formant-bank formants (rand noi)))
-	    (float-vector-set! out-data (+ j 1) (formant-bank formants (rand noi)))))
-	
-	(float-vector-scale! out-data (* amp (/ old-peak-amp (float-vector-peak out-data))))
-	(float-vector->channel out-data 0 (max len outlen) snd chn)))))
+	  (float-vector-scale! out-data (* amp (/ old-peak-amp (float-vector-peak out-data))))
+	  (float-vector->channel out-data 0 (max len outlen) snd chn)))))))
 
 
 ;;; very similar but use ncos (glottal pulse train?) instead of white noise
@@ -1293,44 +1289,43 @@ selected sound: (map-channel (cross-synthesis (integer->sound 0) .5 128 6.0))"))
 (define pulse-voice 
   (let ((documentation "(pulse-voice cosines (freq 440) (amp 1.0) (fftsize 256) (r 2.0) snd chn) uses ncos to manipulate speech sounds"))
     (lambda* (cosines (freq 440.0) (amp 1.0) (fftsize 256) (r 2.0) snd chn)
-      (let* ((freq-inc (/ fftsize 2))
-	     (fdr #f)
-	     (fdi (make-float-vector fftsize))
-	     (spectr (make-float-vector freq-inc))
-	     (pulse (make-ncos freq cosines))
-	     (inctr 0)
-	     (ctr 0)
-	     (radius (- 1.0 (/ r fftsize)))
-	     (bin (/ (srate snd) fftsize))
-	     (len (framples snd chn))
-	     (out-data (make-float-vector len))
-	     (formants (make-vector freq-inc))
-	     (old-peak-amp 0.0))
-	
-	(do ((i 0 (+ i 1)))
-	    ((= i freq-inc))
-	  (set! (formants i) (make-formant (* i bin) radius)))
-	(set! formants (make-formant-bank formants spectr))
-	
-	(do ((i 0 (+ i freq-inc)))
-	    ((>= i len))
-	  (set! ctr (min (- len i) freq-inc))
-	  
-	  (set! fdr (channel->float-vector inctr fftsize snd chn))
-	  (set! old-peak-amp (max (float-vector-peak fdr) old-peak-amp))
-	  (spectrum fdr fdi #f 2)
-	  (float-vector-subtract! fdr spectr)
-	  (float-vector-scale! fdr (/ 1.0 freq-inc))
-	  (set! inctr (+ inctr freq-inc))
+      (let ((freq-inc (/ fftsize 2)))
+	(let ((spectr (make-float-vector freq-inc))
+	      (formants (make-vector freq-inc))
+	      (len (framples snd chn))) 
+
+	  (do ((radius (- 1.0 (/ r fftsize)))
+	       (bin (/ (srate snd) fftsize))
+	       (i 0 (+ i 1)))
+	      ((= i freq-inc))
+	    (set! (formants i) (make-formant (* i bin) radius)))
+	  (set! formants (make-formant-bank formants spectr))
 	  
-	  (do ((k 0 (+ k 1))
-	       (j i (+ j 1)))
-	      ((= k ctr))
-	    (float-vector-add! spectr fdr)
-	    (float-vector-set! out-data j (formant-bank formants (ncos pulse)))))
-	
-	(float-vector-scale! out-data (* amp (/ old-peak-amp (float-vector-peak out-data))))
-	(float-vector->channel out-data 0 len snd chn)))))
+	  (do ((old-peak-amp 0.0)
+	       (pulse (make-ncos freq cosines)) 
+	       (out-data (make-float-vector len)) 
+	       (fdr #f)
+	       (inctr 0)
+	       (fdi (make-float-vector fftsize))
+	       (ctr 0)
+	       (i 0 (+ i freq-inc)))
+	      ((>= i len)
+	       (float-vector-scale! out-data (* amp (/ old-peak-amp (float-vector-peak out-data))))
+	       (float-vector->channel out-data 0 len snd chn))
+	    (set! ctr (min (- len i) freq-inc))
+	    
+	    (set! fdr (channel->float-vector inctr fftsize snd chn))
+	    (set! old-peak-amp (max (float-vector-peak fdr) old-peak-amp))
+	    (spectrum fdr fdi #f 2)
+	    (float-vector-subtract! fdr spectr)
+	    (float-vector-scale! fdr (/ 1.0 freq-inc))
+	    (set! inctr (+ inctr freq-inc))
+	    
+	    (do ((k 0 (+ k 1))
+		 (j i (+ j 1)))
+		((= k ctr))
+	      (float-vector-add! spectr fdr)
+	      (float-vector-set! out-data j (formant-bank formants (ncos pulse))))))))))
 
 ;;; (pulse-voice 80 20.0 1.0 1024 0.01)
 ;;; (pulse-voice 80 120.0 1.0 1024 0.2)
@@ -1479,10 +1474,7 @@ the given channel following 'envelope' (as in env-sound-interp), using grains to
 			     (do ((i 0 (+ i hop-frames)))
 				 ((>= i newlen))
 			       (let ((start i)
-				     (stop (min newlen (+ i hop-frames)))
-				     (e #f)
-				     (r #t))
-				 
+				     (stop (min newlen (+ i hop-frames))))
 				 (set! (mus-location read-env) i)
 				 (let ((position-in-original (env read-env)))
 				   (set! (readers next-reader)
@@ -1491,7 +1483,9 @@ the given channel following 'envelope' (as in env-sound-interp), using grains to
 				 (set! next-reader (modulo (+ next-reader 1) num-readers))
 				 (set! cur-readers (max cur-readers next-reader))
 				 
-				 (do ((k 0 (+ k 1)))
+				 (do ((e #f)
+				      (r #t)
+				      (k 0 (+ k 1)))
 				     ((= k cur-readers))
 				   (set! e (grain-envs k))
 				   (set! r (readers k))
@@ -1515,18 +1509,17 @@ the given channel following 'envelope' (as in env-sound-interp), using grains to
   (let ((documentation "(filtered-env env snd chn) is a time-varying one-pole filter: when env is at 1.0, no filtering, 
 as env moves to 0.0, low-pass gets more intense; amplitude and low-pass amount move together"))
     (lambda* (e snd chn)
-      (let* ((samps (framples))
-	     (flt (make-one-pole 1.0 0.0))
-	     (xc (mus-xcoeffs flt))
-	     (yc (mus-ycoeffs flt))
-	     (amp-env (make-env e :length samps)))
-	(map-channel
-	 (lambda (val)
-	   (let ((env-val (env amp-env)))
-	     (float-vector-set! xc 0 env-val)
-	     (float-vector-set! yc 1 (- env-val 1.0))
-	     (one-pole flt (* env-val val))))
-	 0 #f snd chn #f (format #f "filtered-env '~A" e))))))
+      (let ((flt (make-one-pole 1.0 0.0)))
+	(let ((xc (mus-xcoeffs flt))
+	      (yc (mus-ycoeffs flt))
+	      (amp-env (make-env e :length (framples))))
+	  (map-channel
+	   (lambda (val)
+	     (let ((env-val (env amp-env)))
+	       (float-vector-set! xc 0 env-val)
+	       (float-vector-set! yc 1 (- env-val 1.0))
+	       (one-pole flt (* env-val val))))
+	   0 #f snd chn #f (format #f "filtered-env '~A" e)))))))
 
 
 
@@ -1698,10 +1691,12 @@ starting at the cursor in the currently selected channel: (add-notes '((\"oboe.s
 	 (lambda ()
 	   (for-each 
 	    (lambda (note)
-	      (let* ((file (car note))
-		     (offset (if (> (length note) 1) (cadr note) 0.0))
-		     (amp (and (> (length note) 2) (caddr note)))
-		     (beg (+ start (floor (* (srate snd) offset)))))
+	      (let ((file (car note))
+		    (amp (and (> (length note) 2) (caddr note)))
+		    (beg (+ start (floor (* (srate snd) 
+					     (if (> (length note) 1) 
+						 (cadr note)
+						 0.0))))))    
 		(if (and (number? amp)
 			 (not (= amp 1.0)))
 		    (mix-float-vector (float-vector-scale! (file->floats file) amp) beg snd chn #f "add-notes")
@@ -1726,8 +1721,8 @@ a sort of play list: (region-play-list (list (list reg0 0.0) (list reg1 0.5) (li
 (define region-play-sequence 
   (let ((documentation "(region-play-sequence data): 'data' is list of regions which will be played one after the other: (region-play-sequence (list reg0 reg2 reg1))"))
     (lambda (data)
-      (region-play-list
-       (let ((time 0.0))
+      (let ((time 0.0))
+	(region-play-list
 	 (map 
 	  (lambda (id)
 	    (let ((cur time))
@@ -1744,24 +1739,23 @@ a sort of play list: (region-play-list (list (list reg0 0.0) (list reg1 0.5) (li
       (let sf2it ((lst (soundfont-info)))
 	(if (pair? lst)
 	    (let* ((vals (car lst))
-		   (name (car vals))
-		   (start (cadr vals))
-		   (end (if (null? (cdr lst))
-			    (framples)
-			    (cadadr lst)))
-		   (loop-start (- (caddr vals) start))
-		   (loop-end (- (cadddr vals) start))
-		   (filename (string-append name ".aif")))
-	      (if (selection?)
-		  (set! (selection-member? #t) #f))
-	      (set! (selection-member?) #t)
-	      (set! (selection-position) start)
-	      (set! (selection-framples) (- end start))
-	      (save-selection filename (selection-srate) mus-bshort mus-aifc)
-	      (let ((temp (open-sound filename)))
-		(set! (sound-loop-info temp) (list loop-start loop-end))
-		(close-sound temp))
-	      (sf2it (cdr lst))))))))
+		   (start (cadr vals)))
+	      (let ((end (if (null? (cdr lst))
+			     (framples)
+			     (cadadr lst)))
+		    (loop-start (- (caddr vals) start))
+		    (loop-end (- (cadddr vals) start))
+		    (filename (string-append (car vals) ".aif")))
+		(if (selection?)
+		    (set! (selection-member? #t) #f))
+		(set! (selection-member?) #t)
+		(set! (selection-position) start)
+		(set! (selection-framples) (- end start))
+		(save-selection filename (selection-srate) mus-bshort mus-aifc)
+		(let ((temp (open-sound filename)))
+		  (set! (sound-loop-info temp) (list loop-start loop-end))
+		  (close-sound temp))
+		(sf2it (cdr lst)))))))))
 
 
 ;;; -------- open-next-file-in-directory
@@ -1967,48 +1961,48 @@ passed as the arguments so to end with channel 3 in channel 0, 2 in 1, 0 in 2, a
 		(reader (make-sampler)))
 	    (do ((i 0 (+ i 1)))
 		((= i len))
-	      (let* ((y (next-sample reader))
-		     (sum-of-squares (moving-average buffer (* y y)))
-		     (now-silent (< sum-of-squares silence)))
+	      (let ((now-silent (let ((sum-of-squares (let ((y (next-sample reader)))
+							(moving-average buffer (* y y)))))
+				  (< sum-of-squares silence))))
 		(if (not (eq? in-silence now-silent))
 		    (set! edges (cons i edges)))
 		(set! in-silence now-silent))))
 	  (set! edges (append (reverse edges) (list (framples))))
-	  (let* ((len (length edges))
-		 (pieces (make-vector len #f))
-		 (start 0)
-		 (ctr 0))
-	    (for-each
-	     (lambda (end)
-	       (set! (pieces ctr) (make-region start end))
-	       (set! ctr (+ ctr 1))
-	       (set! start end))
-	     edges)
-	    (set! start 0)
-	    (as-one-edit
-	     (lambda()
-	       (scale-by 0.0)
-	       (do ((i 0 (+ i 1)))
-		   ((= i len))
-		 (let* ((this (random len))
-			(reg (pieces this)))
-		   (set! (pieces this) #f)
-		   (if (not reg)
-		       (begin
-			 (do ((j (+ 1 this) (+ j 1)))
-			     ((or (= j len)
-				  reg))
-			   (set! reg (pieces j))
-			   (if reg (set! (pieces j) #f)))
-			 (if (not reg)
-			     (do ((j (- this 1) (- j 1)))
-				 ((or (< j 0)
-				      reg))
-			       (set! reg (pieces j))
-			       (if reg (set! (pieces j) #f))))))
-		   (mix-region reg start)
-		   (set! start (+ start (framples reg)))
-		   (forget-region reg)))))))
+	  (let ((len (length edges)))
+	    (let ((pieces (make-vector len #f))
+		  (start 0)
+		  (ctr 0))
+	      (for-each
+	       (lambda (end)
+		 (set! (pieces ctr) (make-region start end))
+		 (set! ctr (+ ctr 1))
+		 (set! start end))
+	       edges)
+	      (set! start 0)
+	      (as-one-edit
+	       (lambda()
+		 (scale-by 0.0)
+		 (do ((i 0 (+ i 1)))
+		     ((= i len))
+		   (let* ((this (random len))
+			  (reg (pieces this)))
+		     (set! (pieces this) #f)
+		     (if (not reg)
+			 (begin
+			   (do ((j (+ 1 this) (+ j 1)))
+			       ((or (= j len)
+				    reg))
+			     (set! reg (pieces j))
+			     (if reg (set! (pieces j) #f)))
+			   (if (not reg)
+			       (do ((j (- this 1) (- j 1)))
+				   ((or (< j 0)
+					reg))
+				 (set! reg (pieces j))
+				 (if reg (set! (pieces j) #f))))))
+		     (mix-region reg start)
+		     (set! start (+ start (framples reg)))
+		     (forget-region reg))))))))
 	(lambda ()
 	  (set! *with-mix-tags* old-tags)
 	  (set! *max-regions* old-max)))))
@@ -2022,25 +2016,25 @@ passed as the arguments so to end with channel 3 in channel 0, 2 in 1, 0 in 2, a
       (let* ((len (framples snd chn))
 	     (num-blocks (floor (/ len (srate snd) block-len))))
 	(if (> num-blocks 1)
-	    (let* ((actual-block-len (ceiling (/ len num-blocks)))
-		   (rd (make-sampler (- len actual-block-len) snd chn))
-		   (beg 0)
-		   (ctr 1))
-	      (map-channel
-	       (lambda (y)
-		 (let ((val (read-sample rd)))
-		   (if (< beg 10) ; ramp start and end to avoid clicks (might want to mix with next section)
-		       (set! val (* val beg .1))
-		       (if (> beg (- actual-block-len 10))
-			   (set! val (* val (- actual-block-len beg) .1))))
-		   (set! beg (+ beg 1))
-		   (if (= beg actual-block-len)
-		       (begin
-			 (set! ctr (+ ctr 1))
-			 (set! beg 0)
-			 (set! rd (make-sampler (max 0 (- len (* ctr actual-block-len))) snd chn))))
-		   val))
-	       0 #f snd chn #f (format #f "reverse-by-blocks ~A" block-len))))))))
+	    (let ((actual-block-len (ceiling (/ len num-blocks))))
+	      (let ((rd (make-sampler (- len actual-block-len) snd chn))
+		    (beg 0)
+		    (ctr 1))
+		(map-channel
+		 (lambda (y)
+		   (let ((val (read-sample rd)))
+		     (if (< beg 10) ; ramp start and end to avoid clicks (might want to mix with next section)
+			 (set! val (* val beg .1))
+			 (if (> beg (- actual-block-len 10))
+			     (set! val (* val (- actual-block-len beg) .1))))
+		     (set! beg (+ beg 1))
+		     (if (= beg actual-block-len)
+			 (begin
+			   (set! ctr (+ ctr 1))
+			   (set! beg 0)
+			   (set! rd (make-sampler (max 0 (- len (* ctr actual-block-len))) snd chn))))
+		     val))
+		 0 #f snd chn #f (format #f "reverse-by-blocks ~A" block-len)))))))))
 
 
 (define reverse-within-blocks 
diff --git a/expandn.scm b/expandn.scm
index 6687441..a961a6e 100644
--- a/expandn.scm
+++ b/expandn.scm
@@ -123,11 +123,11 @@
 			  (sample-1 0.0))
 			  ;; these vars used for resampling
 
-		      (if (and (not (pair? srate))
-			       (not update-envs)
-			       (= out-chans 1)
-			       (not matrix)
-			       (not rev-mx))
+		      (if (not (or (pair? srate) 
+				   update-envs 
+				   (not (= out-chans 1)) 
+				   matrix 
+				   rev-mx))
 
 			  (let ((file-end (+ beg (seconds->samples (+ (* 2 seglen) 
 								      (/ (* (mus-sound-duration fnam) (mus-sound-srate fnam) expand) 
diff --git a/extensions.scm b/extensions.scm
index 7d2da9f..b78b379 100644
--- a/extensions.scm
+++ b/extensions.scm
@@ -137,76 +137,81 @@ a list (file-name-or-sound-object [beg [channel]])."))
 	      (close-sound output)
 	      (mix output-name output-beg 0 output-snd output-chn #t #t))))
       
-      (let* ((input (if (not (pair? input-data)) 
-			input-data 
-			(car input-data)))
-	     (input-beg (if (or (not (pair? input-data))
-				(< (length input-data) 2)) 
-			    0 
-			    (cadr input-data)))
-	     (input-channel (if (or (not (pair? input-data))
-				    (< (length input-data) 3))
-				0 
-				(caddr input-data)))
-	     (len (or dur (- (if (string? input)
-				 (framples input) 
-				 (framples input input-channel))
-			     input-beg)))
-	     (start (or beg 0)))
-	(if (< start 0) 
-	    (error 'no-such-sample "mix-channel: begin time < 0: ~A" beg)
-	    (when (> len 0)
-	      (cond ((not with-tag)
-		     ;; not a virtual mix
-		     (let ((d1 (samples input-beg len input input-channel))
-			   (d2 (samples start len snd chn edpos)))
-		       (float-vector-add! d1 d2)
-		       (float-vector->channel d1 start len snd chn
-					      current-edit-position
-					      (format #f (if (string? input-data)
-							     "mix-channel ~S ~A ~A"
-							     "mix-channel '~A ~A ~A")
-						      input-data beg dur))))
-		    ;; a virtual mix -- use simplest method available
-		    ((sound? input)          ; sound object case
-		     (channel->mix input input-channel input-beg len snd chn start))
-		    ((and (= start 0)        ; file input
-			  (= len (framples input)))
-		     (mix input start 0 snd chn #t #f)) ; mix entire file (don't delete it)
-		    (else
-		     ;; mix part of file
-		     (let* ((output-name (snd-tempnam))
-			    (output (new-sound output-name :size len)))
-		       (float-vector->channel (samples input-beg len input input-channel) 0 len output 0)
-		       (save-sound output)
-		       (close-sound output)
-		       (mix output-name start 0 snd chn #t #t))))))))))
+      (let ((input (if (not (pair? input-data)) 
+		       input-data 
+		       (car input-data)))
+	    (input-beg (if (or (not (pair? input-data))
+			       (< (length input-data) 2)) 
+			   0 
+			   (cadr input-data)))
+	    (input-channel (if (or (not (pair? input-data))
+				   (< (length input-data) 3))
+			       0 
+			       (caddr input-data))))
+	(let ((len (or dur (- (if (string? input)
+				  (framples input) 
+				  (framples input input-channel))
+			      input-beg)))
+	      (start (or beg 0)))
+	  (cond ((< start 0) 
+		 (error 'no-such-sample "mix-channel: begin time < 0: ~A" beg))
+		
+		((<= len 0))
+
+		((not with-tag)
+		 ;; not a virtual mix
+		 (let ((d1 (samples input-beg len input input-channel))
+		       (d2 (samples start len snd chn edpos)))
+		   (float-vector-add! d1 d2)
+		   (float-vector->channel d1 start len snd chn
+					  current-edit-position
+					  (format #f (if (string? input-data)
+							 "mix-channel ~S ~A ~A"
+							 "mix-channel '~A ~A ~A")
+						  input-data beg dur))))
+		
+		;; a virtual mix -- use simplest method available
+		((sound? input)          ; sound object case
+		 (channel->mix input input-channel input-beg len snd chn start))
+		
+		((and (= start 0)        ; file input
+		      (= len (framples input)))
+		 (mix input start 0 snd chn #t #f)) ; mix entire file (don't delete it)
+		
+		(else
+		 ;; mix part of file
+		 (let* ((output-name (snd-tempnam))
+			(output (new-sound output-name :size len)))
+		   (float-vector->channel (samples input-beg len input input-channel) 0 len output 0)
+		   (save-sound output)
+		   (close-sound output)
+		   (mix output-name start 0 snd chn #t #t)))))))))
 
 
 (define insert-channel 
   (let ((documentation "(insert-channel file beg dur snd chn edpos) inserts the file. file can be the file name or a list (file-name [beg [channel]])"))
     (lambda* (file-data beg dur snd chn edpos)
-      (let* ((file-name (if (string? file-data) file-data (car file-data)))
-	     (file-beg (if (or (string? file-data) 
-			       (< (length file-data) 2)) 
-			   0 
-			   (cadr file-data)))
-	     (file-channel (if (or (string? file-data) 
-				   (< (length file-data) 3))
-			       0 
-			       (caddr file-data)))
-	     (len (or dur (- (framples file-name) file-beg)))
-	     (start (or beg 0)))
-	(if (< start 0) (error 'no-such-sample "insert-channel: begin time < 0: ~A" beg))
-	(if (> len 0)
-	    (insert-samples start len 
-			    (samples file-beg len file-name file-channel)
-			    snd chn edpos #f 
-			    (format #f (if (string? file-data)
-					   "insert-channel ~S ~A ~A"
-					   "insert-channel '~A ~A ~A")
-				    file-data beg dur)))))))
-
+      (let ((file-name (if (string? file-data) file-data (car file-data)))
+	    (file-beg (if (or (string? file-data) 
+			      (< (length file-data) 2)) 
+			  0 
+			  (cadr file-data))))
+	(let ((file-channel (if (or (string? file-data) 
+				    (< (length file-data) 3))
+				0 
+				(caddr file-data)))
+	      (len (or dur (- (framples file-name) file-beg)))
+	      (start (or beg 0)))
+	  (if (< start 0) (error 'no-such-sample "insert-channel: begin time < 0: ~A" beg))
+	  (if (> len 0)
+	      (insert-samples start len 
+			      (samples file-beg len file-name file-channel)
+			      snd chn edpos #f 
+			      (format #f (if (string? file-data)
+					     "insert-channel ~S ~A ~A"
+					     "insert-channel '~A ~A ~A")
+				      file-data beg dur))))))))
+  
 
 ;;; -------- redo-channel, undo-channel
 
@@ -441,14 +446,14 @@ connects them with 'func', and applies the result as an amplitude envelope to th
 (define dither-channel 
   (let ((documentation "(dither-channel (amount .00006) (beg 0) dur snd chn edpos) adds amount dither to each sample"))
     (lambda* ((amount .00006) (beg 0) dur snd chn edpos)
-      (let* ((dither (* .5 amount))
-	     (len (if (number? dur) dur (- (framples snd chn) beg)))
-	     (data (samples beg len snd chn edpos)))
-	(do ((i 0 (+ i 1)))
-	    ((= i len))
-	  (float-vector-set! data i (+ (float-vector-ref data i) (mus-random dither) (mus-random dither))))
-	(float-vector->channel data beg len snd chn current-edit-position
-			       (format #f "dither-channel ~,8F ~A ~A" amount beg dur))))))
+      (let ((len (if (number? dur) dur (- (framples snd chn) beg))))
+	(let ((dither (* .5 amount))
+	      (data (samples beg len snd chn edpos)))
+	  (do ((i 0 (+ i 1)))
+	      ((= i len))
+	    (float-vector-set! data i (+ (float-vector-ref data i) (mus-random dither) (mus-random dither))))
+	  (float-vector->channel data beg len snd chn current-edit-position
+				 (format #f "dither-channel ~,8F ~A ~A" amount beg dur)))))))
 
 
 (define dither-sound 
diff --git a/extsnd.html b/extsnd.html
index cf72cda..2cc7659 100644
--- a/extsnd.html
+++ b/extsnd.html
@@ -7907,15 +7907,14 @@ then check to see how close our reconstruction is to the original:
 
 <pre class="indented">
 (define* (<em class="noem" id="cosinechannel">cosine-channel</em> (beg 0) dur snd chn edpos)
-  (<em class=red>map-channel</em>
-   (let* ((samps (or dur (<a class=quiet href="#framples">framples</a> snd chn)))
-	  (incr (/ pi samps))
-	  (angle (* -0.5 pi)))
-     (lambda (y)
-       (let ((val (* y (cos angle))))
-	 (set! angle (+ angle incr))
-	 val)))
-   beg dur snd chn edpos))
+  (let ((fnc (let* ((samps (or dur (<a class=quiet href="#framples">framples</a> snd chn)))
+	            (incr (/ pi samps))
+	            (angle (* -0.5 pi)))
+               (lambda (y)
+                 (let ((val (* y (cos angle))))
+	           (set! angle (+ angle incr))
+	           val)))))
+  (<em class=red>map-channel</em> fnc beg dur snd chn edpos)))
 </pre>
 
 <p id="mapsilence">Here's a slightly more involved example;
@@ -9109,8 +9108,8 @@ sample 'samp' for 'samps' samples to the values in 'data'.
 </p>
 
 <pre class="indented">
-(set! (samples 0 100) (make-vct 100 .1))
-(set-samples 0 100 (make-vct 100 .1))
+(set! (samples 0 100) (make-float-vector 100 .1))
+(set-samples 0 100 (make-float-vector 100 .1))
 </pre>
 
 <p>both change all samples between 0 and 100 to be 0.1. 
@@ -11347,8 +11346,8 @@ and initial-phase:
 (define (fft->sines amps phases)
   (let* ((len (length phases))
 	 (fft-size (expt 2 (+ 10 (ceiling (log len 2)))))
-	 (rl (make-vct fft-size))
-	 (im (make-vct fft-size)))
+	 (rl (make-float-vector fft-size))
+	 (im (make-float-vector fft-size)))
     (do ((i 0 (+ i 1)))
 	((= i len))
       (let ((amp (amps i))
@@ -12087,7 +12086,7 @@ starts the help dialog with help related to the selection if "h" is typed in the
   (let ((documentation "start help dialog based on listener selected text"))
     (lambda ()
       (let ((subject (<em class=red>listener-selection</em>)))
-        (if subject
+        (if (string? subject)
             (<a class=quiet href="#helpdialog">help-dialog</a> subject (<a class=quiet href="#sndhelp">snd-help</a> subject)))))))
 </pre>
 <div class="spacer"></div>
diff --git a/fmv.scm b/fmv.scm
index e094601..a08cccf 100644
--- a/fmv.scm
+++ b/fmv.scm
@@ -64,61 +64,62 @@ fm-violin takes the value returned by make-fm-violin and returns a new sample ea
 			fm3-index
 			(base 1.0))
       
-      (let* ((frq-scl (hz->radians frequency))
-	     (modulate (not (zero? fm-index)))
-	     (maxdev (* frq-scl fm-index))
-	     (logfreq (log frequency))
-	     (index1 (or fm1-index (min pi (* maxdev (/ 5.0 logfreq)))))
-	     (index2 (or fm2-index (min pi (/ (* maxdev 3.0 (- 8.5 logfreq)) (+ 3.0 (* frequency 0.001))))))
-	     (index3 (or fm3-index (min pi (* maxdev (/ 4.0 (sqrt frequency))))))
-	     (easy-case (and (zero? noise-amount)
-			     (or (not fm2-env) (equal? fm1-env fm2-env))
-			     (or (not fm3-env) (equal? fm1-env fm3-env))
-			     (= fm1-rat (floor fm1-rat))
-			     (= fm2-rat (floor fm2-rat))
-			     (= fm3-rat (floor fm3-rat))))
-	     (carrier (make-oscil frequency))
-	     (fmosc1 (and modulate (make-oscil (* fm1-rat frequency))))
-	     (fmosc2 (and modulate (or easy-case (make-oscil (* fm2-rat frequency)))))
-	     (fmosc3 (and modulate (or easy-case (make-oscil (* fm3-rat frequency)))))
-	     (coeffs (and easy-case modulate
-			  (partials->polynomial
-			   (list fm1-rat index1
-				 (floor (/ fm2-rat fm1-rat)) index2
-				 (floor (/ fm3-rat fm1-rat)) index3))))
-	     (ampf (or amp-env (lambda () amplitude)))
-	     (indf1 (or fm1-env (lambda () (or (and easy-case modulate 1.0) index1))))
-	     (indf2 (or fm2-env (lambda () index2)))
-	     (indf3 (or fm3-env (lambda () index3)))
-	     (pervib (make-triangle-wave periodic-vibrato-rate (* periodic-vibrato-amplitude frq-scl)))
-	     (ranvib (make-rand-interp random-vibrato-rate (* random-vibrato-amplitude frq-scl)))
-	     (fm-noi (and (not (= 0.0 noise-amount))
-			  (make-rand noise-freq (* pi noise-amount))))
-	     (amp-noi (and (not (= 0.0 amp-noise-amount))
-			   (not (= 0.0 amp-noise-freq))
-			   (make-rand-interp amp-noise-freq amp-noise-amount)))
-	     (ind-noi (and (not (= 0.0 ind-noise-amount)) 
-			   (not (= 0.0 ind-noise-freq))
-			   (make-rand-interp ind-noise-freq ind-noise-amount)))
-	     (frqf (or gliss-env (lambda () 0.0))))
-	
-	(lambda ()
-	  (let ((vib (+ (frqf) (triangle-wave pervib) (rand-interp ranvib)))
-		(fuzz (if (rand? fm-noi) (rand fm-noi) 0.0)))
-	    (* (ampf)
-	       (if amp-noi (+ 1.0 (rand-interp amp-noi)) 1.0)
-	       (oscil carrier 
-		      (+ vib 
-			 (* (if ind-noi (+ 1.0 (rand-interp ind-noi)) 1.0)
-			    (if (not fmosc1)
-				0.0
-				(if coeffs
-				    (* (indf1)
-				       (polynomial coeffs (oscil fmosc1 vib)))
-				    (+ (* (indf1) (oscil fmosc1 (+ (* fm1-rat vib) fuzz)))
-				       (* (indf2) (oscil fmosc2 (+ (* fm2-rat vib) fuzz)))
-				       (* (indf3) (oscil fmosc3 (+ (* fm3-rat vib) fuzz))))))))))))))))
-
+      (let ((frq-scl (hz->radians frequency)))
+	(let ((maxdev (* frq-scl fm-index))
+	      (logfreq (log frequency)))
+	  (let ((modulate (not (zero? fm-index)))
+		(index1 (or fm1-index (min pi (* maxdev (/ 5.0 logfreq)))))
+		(index2 (or fm2-index (min pi (/ (* maxdev 3.0 (- 8.5 logfreq)) (+ 3.0 (* frequency 0.001))))))
+		(index3 (or fm3-index (min pi (* maxdev (/ 4.0 (sqrt frequency))))))
+		(easy-case (and (zero? noise-amount)
+				(or (not fm2-env) (equal? fm1-env fm2-env))
+				(or (not fm3-env) (equal? fm1-env fm3-env))
+				(= fm1-rat (floor fm1-rat))
+				(= fm2-rat (floor fm2-rat))
+				(= fm3-rat (floor fm3-rat)))))
+	    (let ((carrier (make-oscil frequency))
+		  (fmosc1 (and modulate (make-oscil (* fm1-rat frequency))))
+		  (fmosc2 (and modulate (or easy-case (make-oscil (* fm2-rat frequency)))))
+		  (fmosc3 (and modulate (or easy-case (make-oscil (* fm3-rat frequency)))))
+		  
+		  (coeffs (and easy-case modulate
+			       (partials->polynomial
+				(list (floor fm1-rat) index1
+				      (floor (/ fm2-rat fm1-rat)) index2
+				      (floor (/ fm3-rat fm1-rat)) index3))))
+		  (ampf (or amp-env (lambda () amplitude)))
+		  (indf1 (or fm1-env (lambda () (or (and easy-case modulate 1.0) index1))))
+		  (indf2 (or fm2-env (lambda () index2)))
+		  (indf3 (or fm3-env (lambda () index3)))
+		  (pervib (make-triangle-wave periodic-vibrato-rate (* periodic-vibrato-amplitude frq-scl)))
+		  (ranvib (make-rand-interp random-vibrato-rate (* random-vibrato-amplitude frq-scl)))
+		  (fm-noi (and (not (= 0.0 noise-amount))
+			       (make-rand noise-freq (* pi noise-amount))))
+		  (amp-noi (and (not (= 0.0 amp-noise-amount))
+				(not (= 0.0 amp-noise-freq))
+				(make-rand-interp amp-noise-freq amp-noise-amount)))
+		  (ind-noi (and (not (= 0.0 ind-noise-amount)) 
+				(not (= 0.0 ind-noise-freq))
+				(make-rand-interp ind-noise-freq ind-noise-amount)))
+		  (frqf (or gliss-env (lambda () 0.0))))
+	      
+	      (lambda ()
+		(let ((vib (+ (frqf) (triangle-wave pervib) (rand-interp ranvib)))
+		      (fuzz (if (rand? fm-noi) (rand fm-noi) 0.0)))
+		  (* (ampf)
+		     (if amp-noi (+ 1.0 (rand-interp amp-noi)) 1.0)
+		     (oscil carrier 
+			    (+ vib 
+			       (* (if ind-noi (+ 1.0 (rand-interp ind-noi)) 1.0)
+				  (if (not fmosc1)
+				      0.0
+				      (if coeffs
+					  (* (indf1)
+					     (polynomial coeffs (oscil fmosc1 vib)))
+					  (+ (* (indf1) (oscil fmosc1 (+ (* fm1-rat vib) fuzz)))
+					     (* (indf2) (oscil fmosc2 (+ (* fm2-rat vib) fuzz)))
+					     (* (indf3) (oscil fmosc3 (+ (* fm3-rat vib) fuzz)))))))))))))))))))
+  
 #|
 (define test-v 
   (lambda (beg dur freq amp amp-env)
@@ -158,19 +159,19 @@ fm-violin takes the value returned by make-fm-violin and returns a new sample ea
   (let ((documentation "(fm-violin-ins startime dur freq amp degree (reverb-amount 0.0) (distance 1.0) :rest args) 
 calls the fm-violin with the given args and mixes the results into the current sound"))
     (lambda* (startime dur freq amp degree (reverb-amount 0.0) (distance 1.0) :rest args)
-      (let* ((beg (floor (* startime (srate))))
-	     (len (floor (* dur (srate))))
-	     (loc (make-locsig :channels (channels) :degree (or degree (random 90.0)) :reverb reverb-amount :distance distance))
-	     (out-data (make-float-vector len))
-	     (v (apply make-fm-violin freq amp args)))
-	(do ((i 0 (+ 1 i)))
-	    ((= i len))
-	  (set! (out-data i) (v)))
-	(if (= (channels) 2)
-	    (let ((bsamps (copy out-data)))
-	      (mix-float-vector (float-vector-scale! bsamps (locsig-ref loc 1)) beg #f 1 #f)
-	      (mix-float-vector (float-vector-scale! out-data (locsig-ref loc 0)) beg #f 0 #f))
-	    (mix-float-vector out-data beg #f 0 #f))))))
+      (let ((beg (floor (* startime (srate))))
+	    (len (floor (* dur (srate)))))
+	(let ((loc (make-locsig :channels (channels) :degree (or degree (random 90.0)) :reverb reverb-amount :distance distance))
+	      (out-data (make-float-vector len))
+	      (v (apply make-fm-violin freq amp args)))
+	  (do ((i 0 (+ 1 i)))
+	      ((= i len))
+	    (set! (out-data i) (v)))
+	  (if (= (channels) 2)
+	      (let ((bsamps (copy out-data)))
+		(mix-float-vector (float-vector-scale! bsamps (locsig-ref loc 1)) beg #f 1 #f)
+		(mix-float-vector (float-vector-scale! out-data (locsig-ref loc 0)) beg #f 0 #f))
+	      (mix-float-vector out-data beg #f 0 #f)))))))
 
 
 
diff --git a/freeverb.scm b/freeverb.scm
index fe6e043..b9611d0 100644
--- a/freeverb.scm
+++ b/freeverb.scm
@@ -105,9 +105,8 @@
 	    ((= c out-chans))
 	  (do ((i 0 (+ i 1)))
 	      ((= i numcombs))
-	    (let* ((tuning (combtuning i))
-		   (len (floor (* srate-scale tuning)))
-		   (dmp (* scale-damping (if (number? damping) damping (damping i)))))
+	    (let ((len (floor (* srate-scale (combtuning i))))
+		  (dmp (* scale-damping (if (number? damping) damping (damping i)))))
 	      (if (odd? c)
 		  (set! len (+ len (floor (* srate-scale stereo-spread)))))
 	      (set! (fcombs (+ (* c numcombs) i))
@@ -118,8 +117,7 @@
 	    ((= c out-chans))
 	  (do ((i 0 (+ i 1)))
 	      ((= i numallpasses))
-	    (let* ((tuning (allpasstuning i))
-		   (len (floor (* srate-scale tuning))))
+	    (let ((len (floor (* srate-scale (allpasstuning i)))))
 	      (if (odd? c)
 		  (set! len (+ len (floor (* srate-scale stereo-spread)))))
 	      (set! (allpasses (+ (* c numallpasses) i))
diff --git a/generators.scm b/generators.scm
index c277be1..707e67c 100644
--- a/generators.scm
+++ b/generators.scm
@@ -348,7 +348,7 @@ returns n sines from frequency spaced by frequency * ratio with every other sine
 
 (defgenerator (noddsin 
 	       :make-wrapper (lambda (g)
-			       (if (< (g 'n) 1) (set! (g 'n) 1))
+			       (set! (g 'n) (max (g 'n) 1))
 			       (set! (g 'frequency) (hz->radians (g 'frequency)))
 			       (if (not (and (< (g 'n) 100)
 					     (> (noddsin-maxes (g 'n)) 0.0)))
@@ -446,20 +446,20 @@ returns n sinusoids from frequency spaced by 2 * ratio * frequency."))
       (let-set! gen 'fm fm)
       (with-let gen
 	(let* ((cx angle)
-	       (mx (* cx ratio))
-	       (x (- cx mx))
-	       (sinnx (sin (* n mx)))
-	       (den (* n (sin mx)))) ; "n" is normalization
-	  (set! angle (+ angle fm frequency))
-	  (if (< (abs den) nearly-zero)
-	      (if (< (modulo mx (* 2 pi)) .1)
-		  -1.0
-		  1.0)
-	      (- (* (sin x)
-		    (/ (* sinnx sinnx) den))
-		 (* (cos x)
-		    (/ (sin (* 2 n mx))
-		       (* 2 den))))))))))
+	       (mx (* cx ratio)))
+	  (let ((x (- cx mx))
+		(sinnx (sin (* n mx)))
+		(den (* n (sin mx)))) ; "n" is normalization
+	    (set! angle (+ angle fm frequency))
+	    (if (< (abs den) nearly-zero)
+		(if (< (modulo mx (* 2 pi)) .1)
+		    -1.0
+		    1.0)
+		(- (* (sin x)
+		      (/ (* sinnx sinnx) den))
+		   (* (cos x)
+		      (/ (sin (* 2 n mx))
+			 (* 2 den)))))))))))
 
 #|
 (with-sound (:clipped #f :statistics #t :play #t)
@@ -561,20 +561,18 @@ returns n*2+1 sinusoids spaced by frequency with amplitudes in a sort of tent sh
     (lambda* (gen (fm 0.0))
       (let-set! gen 'fm fm)
       (with-let gen
-	(let* ((den (sin (* 0.5 angle)))
-	       (result (if (< (abs den) nearly-zero)
-			   1.0
-			   (let* ((n1 (+ n 1))
-				  (result1 
-				   (let ((val (/ (sin (* 0.5 n1 angle)) 
-						 (* n1 den))))
-				     (* val val)))
-				  (p2n2 (+ (* 2 n) 2))
-				  (result2 
-				   (let ((val (/ (sin (* 0.5 p2n2 angle)) 
-						 (* p2n2 den))))
-				     (* val val))))
-			     (- (* 2 result2) result1)))))
+	(let ((result (let ((den (sin (* 0.5 angle))))
+			(if (< (abs den) nearly-zero)
+			    1.0
+			    (let ((result1 (let ((val (let ((n1 (+ n 1)))
+							(/ (sin (* 0.5 n1 angle))
+							   (* n1 den)))))
+					     (* val val)))
+				  (result2 (let ((val (let ((p2n2 (+ (* 2 n) 2)))
+							(/ (sin (* 0.5 p2n2 angle)) 
+							   (* p2n2 den)))))
+					     (* val val))))
+			      (- (* 2 result2) result1))))))
 	  (set! angle (+ angle fm frequency))
 	  result)))))
 
@@ -930,8 +928,7 @@ returns n cosines spaced by frequency with amplitudes scaled by r^k."))
 	       :make-wrapper (lambda (g)
 			       (set! (g 'frequency) (hz->radians (g 'frequency)))
 			       (set! (g 'r) (generator-clamp-r (g 'r)))
-			       (if (< (g 'r) 0.0)
-				   (set! (g 'r) 0.0))
+			       (set! (g 'r) (max (g 'r) 0.0))
 			       (set! (g 'rn) (- (expt (g 'r) (g 'n))))
 			       (set! (g 'rn1) (expt (g 'r) (+ (g 'n) 1)))
 			       (set! (g 'norm) (/ (- (g 'rn) 1) (- (g 'r) 1)))
@@ -1028,17 +1025,17 @@ scaled by r^k. The 'interp' argument determines whether the sidebands are above
 	  (stop (+ start (seconds->samples dur))))
       (do ((i start (+ i 1)))
 	  ((= i stop))
-	(let* ((vol (* (+ .8 (rand-interp avib)) 
-		       (env amplitude)))
-	       (vib (+ (* h3freq (oscil mod1))
-		       (env skenv)))
-	       (vola (* scl vol))
-	       (result (* vol
-			  (+ (* (- relamp vola) 
-				(nrssb-interp gen (* res1 vib) -1.0))
-			     (* (- (+ 1.0 vola) relamp) 
-				(oscil gen2 (+ (* vib res2) 
-					       (* hfreq (oscil gen3 vib)))))))))
+	(let ((result (let* ((vol (* (+ .8 (rand-interp avib)) 
+				     (env amplitude)))
+			     (vola (* scl vol))
+			     (vib (+ (* h3freq (oscil mod1))
+				     (env skenv))))
+			 (* vol
+			    (+ (* (- relamp vola) 
+				  (nrssb-interp gen (* res1 vib) -1.0))
+			       (* (- (+ 1.0 vola) relamp) 
+				  (oscil gen2 (+ (* vib res2) 
+						 (* hfreq (oscil gen3 vib))))))))))
 	  (outa i result)
 	  (if *reverb* (outa i (* .01 result) *reverb*)))))))
 
@@ -1581,16 +1578,16 @@ returns many cosines spaced by frequency with amplitude r^k."))
       (let-set! gen 'fm fm)
       (with-let gen
 	(let* ((angle1 angle)
-	       (angle2 (* angle1 ratio))
-	       (carsin (sin angle1))
-	       (canrcos (cos angle1))
-	       (den (+ 1.0 (* r r) (* -2.0 r (cos angle2))))
-	       (sumsin (* r (sin angle2)))
-	       (sumcos (- 1.0 (* r (cos angle2)))))
-	  (set! angle (+ angle1 fm frequency))
-	  (/ (- (* carsin sumsin)
-		(* canrcos sumcos))
-	     (* 2 den)))))))
+	       (angle2 (* angle1 ratio)))
+	  (let ((carsin (sin angle1))
+		(canrcos (cos angle1))
+		(den (+ 1.0 (* r r) (* -2.0 r (cos angle2))))
+		(sumsin (* r (sin angle2)))
+		(sumcos (- 1.0 (* r (cos angle2)))))
+	    (set! angle (+ angle1 fm frequency))
+	    (/ (- (* carsin sumsin)
+		  (* canrcos sumcos))
+	       (* 2 den))))))))
 
 
 (define rssb-interp 
@@ -1604,16 +1601,16 @@ with amplitude r^k. The 'interp' argument determines whether the sidebands are a
       (let-set! gen 'interp interp)
       (with-let gen
 	(let* ((angle1 angle)
-	       (angle2 (* angle1 ratio))
-	       (carsin (sin angle1))
-	       (canrcos (cos angle1))
-	       (den (+ 1.0 (* r r) (* -2.0 r (cos angle2))))
-	       (sumsin (* r (sin angle2)))
-	       (sumcos (- 1.0 (* r (cos angle2)))))
-	  (set! angle (+ angle1 fm frequency))
-	  (/ (- (* carsin sumsin)
-		(* interp canrcos sumcos))
-	     (* 2 den)))))))
+	       (angle2 (* angle1 ratio)))
+	  (let ((carsin (sin angle1))
+		(canrcos (cos angle1))
+		(den (+ 1.0 (* r r) (* -2.0 r (cos angle2))))
+		(sumsin (* r (sin angle2)))
+		(sumcos (- 1.0 (* r (cos angle2)))))
+	    (set! angle (+ angle1 fm frequency))
+	    (/ (- (* carsin sumsin)
+		  (* interp canrcos sumcos))
+	       (* 2 den))))))))
 
 
 (definstrument (bump beg dur freq amp f0 f1 f2)
@@ -2030,18 +2027,18 @@ returns many sinusoids from frequency spaced by frequency * ratio with amplitude
       (let-set! gen 'fm fm)
       (with-let gen
 	(let* ((cx angle)
-	       (mx (* cx ratio))
-	       (cxx (- cx mx))
-	       (ccmx (- (cosh r) (cos mx))))
-	  (set! angle (+ angle fm frequency))
-	  (if (< (abs ccmx) nearly-zero)
-	      1.0
-	      (/ (- (* (cos cxx)
-		       (- (/ (sinh r) ccmx)
-			  1.0))
-		    (* (sin cxx)
-		       (/ (sin mx) ccmx)))
-		 (* 2.0 (- (/ 1.0 (- 1.0 (exp (- r)))) 1.0))))))))) ; normalization
+	       (mx (* cx ratio)))
+	  (let ((cxx (- cx mx))
+		(ccmx (- (cosh r) (cos mx))))
+	    (set! angle (+ angle fm frequency))
+	    (if (< (abs ccmx) nearly-zero)
+		1.0
+		(/ (- (* (cos cxx)
+			 (- (/ (sinh r) ccmx)
+			    1.0))
+		      (* (sin cxx)
+			 (/ (sin mx) ccmx)))
+		   (* 2.0 (- (/ 1.0 (- 1.0 (exp (- r)))) 1.0)))))))))) ; normalization
 
 #|
 (with-sound (:clipped #f :statistics #t :play #t)
@@ -2400,16 +2397,16 @@ returns many sinusoids from frequency from spaced by frequency * ratio with ampl
       (let-set! gen 'fm fm)
       (with-let gen
 	(let* ((cx angle)
-	       (mx (* cx ratio))
-	       (cxx (* (- 1.0 ratio) cx))
-	       (rcosmx (* r (cos mx))))
-	  (set! angle (+ angle fm frequency))
-	  (/ (- (* (cos cxx)
-		   -0.5 (log (+ 1.0 (* -2.0 rcosmx) (* r r))))
-		(* (sin cxx)
-		   (atan (* r (sin mx))
-			 (- 1.0 rcosmx))))
-	     (- (log (- 1.0 (abs r)))))))))) ; normalization
+	       (mx (* cx ratio)))
+	  (let ((cxx (* (- 1.0 ratio) cx))
+		(rcosmx (* r (cos mx))))
+	    (set! angle (+ angle fm frequency))
+	    (/ (- (* (cos cxx)
+		     -0.5 (log (+ 1.0 (* -2.0 rcosmx) (* r r))))
+		  (* (sin cxx)
+		     (atan (* r (sin mx))
+			   (- 1.0 rcosmx))))
+	       (- (log (- 1.0 (abs r))))))))))) ; normalization
 
 #|
 (with-sound (:clipped #f :statistics #t :play #t :scaled-to .5)
@@ -2554,13 +2551,13 @@ returns many sinusoids from frequency spaced by frequency * ratio with amplitude
       (let-set! gen 'fm fm)
       (with-let gen
 	(let* ((cx angle)
-	       (mx (* cx ratio))
-	       (ercosmx (exp (* r (cos mx))))
-	       (rsinmx (* r (sin mx))))
-	  (set! angle (+ angle fm frequency))
-	  (/ (- (* (cos cx) ercosmx (cos rsinmx))
-		(* (sin cx) ercosmx (sin rsinmx)))
-	     (exp (abs r)))))))) ; normalization (keeping DC term here to get "carrier")
+	       (mx (* cx ratio)))
+	  (let ((ercosmx (exp (* r (cos mx))))
+		(rsinmx (* r (sin mx))))
+	    (set! angle (+ angle fm frequency))
+	    (/ (- (* (cos cx) ercosmx (cos rsinmx))
+		  (* (sin cx) ercosmx (sin rsinmx)))
+	       (exp (abs r))))))))) ; normalization (keeping DC term here to get "carrier")
 
 #|
 (with-sound (:clipped #f :statistics #t :play #t :scaled-to .5)
@@ -3024,17 +3021,17 @@ returns many sinusoids from frequency spaced by frequency * 2 * ratio with ampli
       (let-set! gen 'fm fm)
       (with-let gen
 	(let* ((cx angle)
-	       (mx (* cx ratio))
-	       (cxx (- cx mx))
-	       (cmx (* 2.0 r (cos mx))))
-	  (set! angle (+ angle fm frequency))
-	  (* (- (* (cos cxx)
-		   0.5
-		   (log (/ (+ rr1 cmx) (- rr1 cmx))))
-		(* (sin cxx)
-		   (atan (* 2.0 r (sin mx))
-			 (- 1.0 (* r r)))))
-	     norm))))))
+	       (mx (* cx ratio)))
+	  (let ((cxx (- cx mx))
+		(cmx (* 2.0 r (cos mx))))
+	    (set! angle (+ angle fm frequency))
+	    (* (- (* (cos cxx)
+		     0.5
+		     (log (/ (+ rr1 cmx) (- rr1 cmx))))
+		  (* (sin cxx)
+		     (atan (* 2.0 r (sin mx))
+			   (- 1.0 (* r r)))))
+	       norm)))))))
 #|
 (with-sound (:clipped #f :statistics #t :play #t)
   (let ((gen (make-rkoddssb 1000.0 0.1 0.5)))
@@ -3100,14 +3097,13 @@ returns many sines spaced by frequency with amplitude kr^k."))
     (lambda* (gen (fm 0.0))
       (let-set! gen 'fm fm)
       (with-let gen
-	(let* ((x angle)
-	       (r1 (- 1.0 r))
-	       (r2 (* r r))
-	       (r3 (if (> r .9) r1 1.0)) ; not right yet...
-	       (den (+ 1.0 (* -2.0 r (cos x)) r2)))
-	  (set! angle (+ angle fm frequency))
-	  (/ (* r1 r1 r3 (sin x))
-	     (* den den)))))))
+	(let ((x angle)
+	      (r1 (- 1.0 r)))
+	  (let ((r3 (if (> r .9) r1 1.0)) ; not right yet...
+		(den (+ 1.0 (* -2.0 r (cos x)) (* r r))))
+	    (set! angle (+ angle fm frequency))
+	    (/ (* r1 r1 r3 (sin x))
+	       (* den den))))))))
 
 #|
 (with-sound (:clipped #f :statistics #t :play #t)
@@ -3403,13 +3399,13 @@ returns many cosines spaced by frequency with amplitude 1/(r^2+k^2)."))
     (lambda* (gen (fm 0.0))
       (let-set! gen 'fm fm)
       (with-let gen
-	(let* ((r1 (/ r))
-	       (one (if (or (> r 1.0) 
-			    (< -1.0 r 0.0))
-			-1.0 1.0))
-	       (modphase (* ratio phase))
-	       (result (* (exp (* 0.5 index (- r r1) (+ one (cos modphase))))
-			  (cos (+ phase (* 0.5 index (+ r r1) (sin modphase))))))) ; use cos, not sin, to get predictable amp
+	(let ((result (let ((r1 (/ r))
+			    (one (if (or (> r 1.0) 
+					 (< -1.0 r 0.0))
+				     -1.0 1.0))
+			    (modphase (* ratio phase)))
+			(* (exp (* 0.5 index (- r r1) (+ one (cos modphase))))
+			   (cos (+ phase (* 0.5 index (+ r r1) (sin modphase)))))))) ; use cos, not sin, to get predictable amp
 	  (set! phase (+ phase fm frequency))
 	  result)))))
 
@@ -3456,10 +3452,10 @@ returns many cosines spaced by frequency with amplitude 1/(r^2+k^2)."))
     (lambda* (gen (fm 0.0))
       (let-set! gen 'fm fm)
       (with-let gen
-	(let* ((r1 (/ r))
-	       (modphase (* ratio phase))
-	       (result (* (exp (* 0.5 index (+ r r1) (- (cos modphase) 1.0)))
-			  (cos (+ phase (* 0.5 index (- r r1) (sin modphase)))))))
+	(let ((result (let ((r1 (/ r))
+			    (modphase (* ratio phase)))
+			(* (exp (* 0.5 index (+ r r1) (- (cos modphase) 1.0)))
+			   (cos (+ phase (* 0.5 index (- r r1) (sin modphase))))))))
 	  (set! phase (+ phase fm frequency))
 	  result)))))
 
@@ -3562,22 +3558,22 @@ returns a sum of cosines scaled by a product of Bessel functions."))
     (lambda* (gen (fm 0.0))
       (let-set! gen 'fm fm)
       (with-let gen
-	(let* ((x angle)
-	       (dc (* (bes-j0 (* k a)) (bes-j0 (* k r))))
-	       (norm (- (bes-j0 (* k (sqrt (+ (* a a) (* r r) (* -2 a r))))) dc)))
-	  
-	  ;; this norm only works if the a/r/k values all small enough that the initial J0 bump dominates
-	  ;;   if they're large (k=10 for example), later maxes come into play.
-	  ;; we need a formula for a sum of JJ's
-	  ;;
-	  ;; the resultant spectra are similar to FM (we can get sharper bumps, or low-passed bumps, etc)
+	(let ((x angle)
+	      (dc (* (bes-j0 (* k a)) (bes-j0 (* k r)))))
+	  (let ((norm (- (bes-j0 (* k (sqrt (+ (* a a) (* r r) (* -2 a r))))) dc)))
 	  
-	  (set! angle (+ angle fm frequency))
-	  (/ (- (bes-j0 (* k (sqrt (+ (* r r) 
-				      (* a a)
-				      (* a -2.0 r (cos x))))))
-		dc)             ; get rid of DC component
-	     norm))))))
+	    ;; this norm only works if the a/r/k values all small enough that the initial J0 bump dominates
+	    ;;   if they're large (k=10 for example), later maxes come into play.
+	    ;; we need a formula for a sum of JJ's
+	    ;;
+	    ;; the resultant spectra are similar to FM (we can get sharper bumps, or low-passed bumps, etc)
+	    
+	    (set! angle (+ angle fm frequency))
+	    (/ (- (bes-j0 (* k (sqrt (+ (* r r) 
+					(* a a)
+					(* a -2.0 r (cos x))))))
+		  dc)             ; get rid of DC component
+	       norm)))))))
 
 #|
 (with-sound (:clipped #f :statistics #t :play #t)
@@ -3691,9 +3687,9 @@ returns a sum of cosines scaled Jk^2(index/2)."))
     (lambda* (gen (fm 0.0))
       (let-set! gen 'fm fm)
       (with-let gen
-	(let* ((x angle)
-	       (j0 (bes-j0 (* 0.5 index)))
-	       (dc (* j0 j0)))
+	(let ((x angle)
+	      (dc (let ((j0 (bes-j0 (* 0.5 index))))
+		    (* j0 j0))))
 	  (set! angle (+ angle fm frequency))
 	  (if (= dc 1.0)
 	      1.0
@@ -3804,7 +3800,7 @@ index 10 (so 10/2 is the bes-jn arg):
 (defgenerator (j2cos
 	       :make-wrapper (lambda (g)
 			       (set! (g 'frequency) (hz->radians (g 'frequency)))
-			       (if (< (g 'n) 1) (set! (g 'n) 1))
+			       (set! (g 'n) (max (g 'n) 1))
 			       g))
   (frequency *clm-default-frequency*) (r 0.5) (n 1) (angle 0.0) fm)
 
@@ -3974,15 +3970,14 @@ returns a sum of cosines scaled in a very complicated way."))
     (lambda* (gen (fm 0.0))
       (let-set! gen 'fm fm)
       (with-let gen
-	(let* ((x angle)
-	       (j0 (bes-j0 (* 0.5 index)))
-	       (dc (* j0 j0))
-	       (arg (* index (cos x))))
+	(let ((dc (let ((j0 (bes-j0 (* 0.5 index))))
+		    (* j0 j0)))
+	      (arg (* index (cos angle))))
 	  (set! angle (+ angle fm frequency))
 	  (/ (- (+ (bes-j0 arg)
 		   (bes-j1 arg))
 		dc)        ; get rid of DC component
-	     1.215))))))      ; not the best...
+	     1.215))))))   ; not the best...
     
 					; need to normalize j0j1cos -- min depends on index, so peak depends on max and min and dc
 					;       (max (- 1.2154 dc)
@@ -4069,12 +4064,12 @@ returns a sum of cosines scaled by Yn(r)*Jn(r)."))
     (lambda* (gen (fm 0.0))
       (let-set! gen 'fm fm)
       (with-let gen
-	(let* ((x angle)
-	       (b2c2 (+ (* r r) (* a a)))
-	       (dc (* (bes-y0 r) (bes-j0 a)))
-	       (norm (abs (- (bes-y0 (sqrt (+ b2c2 (* -2 r a)))) dc))))
-	  (set! angle (+ angle fm frequency))
-	  (/ (- (bes-y0 (sqrt (+ b2c2 (* -2.0 r a (cos x))))) dc) norm))))))
+	(let ((x angle)
+	      (b2c2 (+ (* r r) (* a a)))
+	      (dc (* (bes-y0 r) (bes-j0 a))))
+	  (let ((norm (abs (- (bes-y0 (sqrt (+ b2c2 (* -2 r a)))) dc))))
+	    (set! angle (+ angle fm frequency))
+	    (/ (- (bes-y0 (sqrt (+ b2c2 (* -2.0 r a (cos x))))) dc) norm)))))))
 
 ;;; oops -- bes-y0(0) is -inf!
 ;;; norm only works for "reasonable" a and r
@@ -4309,19 +4304,19 @@ returns the nth Blackman-Harris fft data window as a periodic waveform. (n <= 10
 
 ;;; FM with complex index
 (define* (fpmc beg dur freq amp mc-ratio fm-index interp)
-  (let* ((start (seconds->samples beg))
-         (end (+ start (seconds->samples dur)))
-         (cr 0.0)
-	 (cr-frequency (hz->radians freq))
-	 (md-frequency (hz->radians (* freq mc-ratio)))
-	 (md 0.0))
-    (do ((i start (+ i 1)))
-	((= i end))
-      (let ((val (sin (+ cr (* fm-index (sin md))))))
-        (outa i (* amp (+ (* (- 1.0 interp) (real-part val))
-                          (* interp (imag-part val)))))
-        (set! cr (+ cr cr-frequency))
-        (set! md (+ md md-frequency))))))
+  (let ((start (seconds->samples beg)))
+    (let ((end (+ start (seconds->samples dur)))
+	  (cr 0.0)
+	  (cr-frequency (hz->radians freq))
+	  (md-frequency (hz->radians (* freq mc-ratio)))
+	  (md 0.0))
+      (do ((i start (+ i 1)))
+	  ((= i end))
+	(let ((val (sin (+ cr (* fm-index (sin md))))))
+	  (outa i (* amp (+ (* (- 1.0 interp) (real-part val))
+			    (* interp (imag-part val)))))
+	  (set! cr (+ cr cr-frequency))
+	  (set! md (+ md md-frequency)))))))
 
 #|
 (with-sound (:clipped #f :statistics #t :play #t)
@@ -4471,22 +4466,22 @@ returns the nth Blackman-Harris fft data window as a periodic waveform. (n <= 10
 |#
 
 (define (fm-cancellation beg dur frequency ratio amp index)
-  (let* ((cx 0.0)
-	 (mx 0.0)
-	 (car-frequency (hz->radians frequency))
-	 (mod-frequency (hz->radians ratio))
-	 (start (seconds->samples beg))
-	 (stop (+ start (seconds->samples dur))))
-    (do ((i start (+ i 1)))
-	((= i stop))
-      (outa i (* amp (- (* (cos cx)
-			   (sin (* index (cos mx))))
-			(* (sin cx)
-			   (sin (* index (sin mx))))))
-	    ;; use -index for reflection
-	    )
-      (set! cx (+ cx car-frequency))
-      (set! mx (+ mx mod-frequency)))))
+  (let ((start (seconds->samples beg)))
+    (let ((cx 0.0)
+	  (mx 0.0)
+	  (car-frequency (hz->radians frequency))
+	  (mod-frequency (hz->radians ratio))
+	  (stop (+ start (seconds->samples dur))))
+      (do ((i start (+ i 1)))
+	  ((= i stop))
+	(outa i (* amp (- (* (cos cx)
+			     (sin (* index (cos mx))))
+			  (* (sin cx)
+			     (sin (* index (sin mx))))))
+	      ;; use -index for reflection
+	      )
+	(set! cx (+ cx car-frequency))
+	(set! mx (+ mx mod-frequency))))))
 
 					;(with-sound () (fm-cancellation 0 1 1000.0 100.0 0.3 9.0))
 
@@ -4610,15 +4605,15 @@ returns the nth Blackman-Harris fft data window as a periodic waveform. (n <= 10
     (let ((stop (+ start (seconds->samples dur))))
       (do ((i 0 (+ i 1)))
 	  ((= i 3))
-	(let* ((frq (* freq (expt 2 i)))
-	       (index1 (hz->radians (/ (* fm-index frq 5.0) (log frq))))
-	       (index2 (hz->radians (/ (* fm-index frq 3.0 (- 8.5 (log frq))) (+ 3.0 (* frq 0.001)))))
-	       (index3 (hz->radians (/ (* fm-index frq 4.0) (sqrt frq)))))
-	  (set! (carriers i) (make-oscil frq))
-	  (set! (fmoscs i) (make-polywave frq
-					  :partials (list 1 index1
-							  3 index2
-							  4 index3)))))
+	(let ((frq (* freq (expt 2 i))))
+	  (let ((index1 (hz->radians (/ (* fm-index frq 5.0) (log frq))))
+		(index2 (hz->radians (/ (* fm-index frq 3.0 (- 8.5 (log frq))) (+ 3.0 (* frq 0.001)))))
+		(index3 (hz->radians (/ (* fm-index frq 4.0) (sqrt frq)))))
+	    (set! (carriers i) (make-oscil frq))
+	    (set! (fmoscs i) (make-polywave frq
+					    :partials (list 1 index1
+							    3 index2
+							    4 index3))))))
       
       (set! (ampfs 0) (make-env (or amp-env '(0 0 1 1 2 1 3 0)) :scaler amp :duration dur))
       (set! (ampfs 1) (make-env (list 0 0  .04 1  .075 0 dur 0) :scaler (* amp .0125) :duration dur))
@@ -5097,17 +5092,17 @@ returns a sum of cosines scaled by the binomial coeffcients."))
     (lambda* (gen (fm 0.0))
       (let-set! gen 'fm fm)
       (with-let gen
-	(let* ((x angle)
-	       (max-angle (* pi 0.5 n))
-	       (new-angle (+ x fm frequency))
-	       (DC (/ 1.0 n))
-	       (norm (/ n (- n 1))))
-	  (if (> new-angle max-angle)
-	      (set! new-angle (- new-angle (* pi n))))
-	  (set! angle new-angle)
-	  (if (< (abs x) nearly-zero)
-	      1.0
-	      (* norm (- (/ (sin x) x) DC))))))))
+	(let ((x angle))
+	  (let ((max-angle (* pi 0.5 n))
+		(new-angle (+ x fm frequency))
+		(DC (/ 1.0 n))
+		(norm (/ n (- n 1))))
+	    (if (> new-angle max-angle)
+		(set! new-angle (- new-angle (* pi n))))
+	    (set! angle new-angle)
+	    (if (< (abs x) nearly-zero)
+		1.0
+		(* norm (- (/ (sin x) x) DC)))))))))
 
 #|
 (with-sound (:clipped #f :statistics #t)
@@ -5687,37 +5682,37 @@ returns the sum of the last n inputs weighted by (-n/(n+1))^k"))
 		 (do ((i 0 (+ i 3)))
 		     ((>= i len))
 		   (set! n (max n (floor (partial-amps-and-phases i)))))
-		 n))
-	 (sin-amps (make-float-vector (+ topk 1)))
-	 (cos-amps (make-float-vector (+ topk 1))))
-    (do ((j 0 (+ j 3)))
-	((>= j len))
-      (let ((n (floor (partial-amps-and-phases j)))
-	    (amp (partial-amps-and-phases (+ j 1)))
-	    (phase (partial-amps-and-phases (+ j 2))))
-	(if (> n 0)                                   ; constant only applies to cos side
-	    (set! (sin-amps n) (* amp (cos phase))))
-	(set! (cos-amps n) (* amp (sin phase)))))
-    (make-polywave frequency :xcoeffs cos-amps :ycoeffs sin-amps)))
+		 n)))
+    (let ((sin-amps (make-float-vector (+ topk 1)))
+	  (cos-amps (make-float-vector (+ topk 1))))
+      (do ((j 0 (+ j 3)))
+	  ((>= j len))
+	(let ((n (floor (partial-amps-and-phases j)))
+	      (amp (partial-amps-and-phases (+ j 1)))
+	      (phase (partial-amps-and-phases (+ j 2))))
+	  (if (> n 0)                                   ; constant only applies to cos side
+	      (set! (sin-amps n) (* amp (cos phase))))
+	  (set! (cos-amps n) (* amp (sin phase)))))
+      (make-polywave frequency :xcoeffs cos-amps :ycoeffs sin-amps))))
 
 
 (define (polyoid-env gen fm amps phases)
   ;; amps and phases are the envelopes, one for each harmonic, setting the sample-wise amp and phase
-  (let* ((original-data (polyoid-partial-amps-and-phases gen))
-	 (data-len (length original-data))
-	 (amps-len (length amps))
-	 (tn (polyoid-tn gen))
-	 (un (polyoid-un gen)))
-    (do ((i 0 (+ i 3))
-	 (j 0 (+ j 1)))
-	((or (= j amps-len)
-	     (= i data-len)))
-      (let ((hn (floor (original-data i)))
-	    (amp (env (amps j)))
-	    (phase (env (phases j))))
-	(set! (tn hn) (* amp (sin phase)))
-	(set! (un hn) (* amp (cos phase)))))
-    (polyoid gen fm)))
+  (let ((original-data (polyoid-partial-amps-and-phases gen)))
+    (let ((data-len (length original-data))
+	  (amps-len (length amps))
+	  (tn (polyoid-tn gen))
+	  (un (polyoid-un gen)))
+      (do ((i 0 (+ i 3))
+	   (j 0 (+ j 1)))
+	  ((or (= j amps-len)
+	       (= i data-len)))
+	(let ((hn (floor (original-data i)))
+	      (amp (env (amps j)))
+	      (phase (env (phases j))))
+	  (set! (tn hn) (* amp (sin phase)))
+	  (set! (un hn) (* amp (cos phase)))))
+      (polyoid gen fm))))
 
 #|
 (with-sound (:clipped #f)
@@ -6410,18 +6405,19 @@ The magnitudes are available as mus-xcoeffs, the phases as mus-ycoeffs, and the
 	    (if (< (linear->db rms) dbfloor)
 		(set! curval 0.0)
 		(let* ((data (mus-data dly))
-		       (fft2 (/ size 2))
-		       (numsum 0.0)
-		       (densum 0.0))
+		       (fft2 (/ size 2)))
 		  (fill! im 0.0)
 		  (float-vector-subseq data 0 (- size 1) rl)
 		  (mus-fft rl im size 1)          ; we can use the delay line contents un-reordered because phases are ignored here
 		  (rectangular->magnitudes rl im)
-		  (do ((k 0 (+ k 1)))
-		      ((= k fft2))
+		  (do ((numsum 0.0)
+		       (densum 0.0)
+		       (k 0 (+ k 1)))
+		      ((= k fft2)
+		       (set! curval (/ (* binwidth numsum) densum)))     
 		    (set! numsum (+ numsum (* k (rl k))))
-		    (set! densum (+ densum (rl k))))
-		  (set! curval (/ (* binwidth numsum) densum)))))))
+		    (set! densum (+ densum (rl k)))))))))
+		  
     (delay dly x)       ; our "sliding window" on the input data
     (set! outctr (+ outctr 1))
     curval))
@@ -6527,11 +6523,11 @@ input from the readin generator 'reader'.  The output data is available via mus-
 
 (define (moving-pitch gen)
   (with-let gen
-    (if (moving-autocorrelation ac)
-	(let* ((data (mus-data ac))
-	       (peak 0.0)
-	       (peak-loc 0)
-	       (len (length data)))
+    (when (moving-autocorrelation ac)
+      (let ((data (mus-data ac)))
+	(let ((peak 0.0)
+	      (peak-loc 0)
+	      (len (length data)))
 	  (do ((i 8 (+ i 1))) ; assume we're not in the top few octaves
 	      ((= i len))
 	    (let ((apk (abs (data i))))
@@ -6542,14 +6538,14 @@ input from the readin generator 'reader'.  The output data is available via mus-
 	  (if (or (= peak 0.0)
 		  (= peak-loc 0))
 	      (set! val 0.0)
-	      (let* ((la (data (- peak-loc 1)))
-		     (ra (data (+ peak-loc 1)))
-		     (logla (log (/ (max la .0000001) peak) 10))  ; (positive la)?
-		     (logra (log (/ (max ra .0000001) peak) 10)))
-		(set! val
-		      (/ *clm-srate*
-			 (+ peak-loc (/ (* 0.5 (- logla logra))
-					(+ logla logra)))))))))
+	      (let ((la (data (- peak-loc 1)))
+		    (ra (data (+ peak-loc 1))))
+		(let ((logla (log (/ (max la .0000001) peak) 10))  ; (positive la)?
+		      (logra (log (/ (max ra .0000001) peak) 10)))
+		  (set! val
+			(/ *clm-srate*
+			   (+ peak-loc (/ (* 0.5 (- logla logra))
+					  (+ logla logra)))))))))))
     val))
 
 #|
@@ -6684,29 +6680,29 @@ input from the readin generator 'reader'.  The output data is available via mus-
   (let-set! gen 'samp samp)
   (let-set! gen 'input input)
   (with-let gen
-    (let* ((rpos (rand-interp ri))
-	   (pos (min (max (+ rpos offset) (- amplitude)) amplitude))
-	   (amp1 (if (<= pos -1.0) 1.0
-		     (if (>= pos 1.0) 0.0
-			 (* (sqrt (- 1.0 pos)) 1/sqrt2))))
-	   (amp2 (if (<= pos -1.0) 0.0
-		     (if (>= pos 1.0) 1.0
-			 (* (sqrt (+ 1.0 pos)) 1/sqrt2))))
-	   (dly1 (abs (min 0.0 pos)))
-	   (frac1 (- dly1 (floor dly1)))
-	   (dly2 (max 0.0 pos))
-	   (frac2 (- dly2 (floor dly2)))
-	   (loc outloc)
-	   (loc10 (modulo (+ loc (floor dly1)) maxd))
-	   (loc11 (modulo (+ loc 1 (floor dly1)) maxd))
-	   (loc20 (modulo (+ loc (floor dly2)) maxd))
-	   (loc21 (modulo (+ loc 1 (floor dly2)) maxd)))
-      
-      (set! (out1 loc10) (+ (out1 loc10) (* amp1 input (- 1.0 frac1))))
-      (set! (out1 loc11) (+ (out1 loc11) (* amp1 input frac1)))
-      (set! (out2 loc20) (+ (out2 loc20) (* amp2 input (- 1.0 frac2))))
-      (set! (out2 loc21) (+ (out2 loc21) (* amp2 input frac2)))
-      
+    (let ((pos (min (max (+ (rand-interp ri) offset) 
+			 (- amplitude)) 
+		    amplitude))
+	  (loc outloc))
+      (let ((dly1 (abs (min 0.0 pos)))
+	    (dly2 (max 0.0 pos)))
+	(let ((amp1 (if (<= pos -1.0) 1.0
+			(if (>= pos 1.0) 0.0
+			    (* (sqrt (- 1.0 pos)) 1/sqrt2))))
+	      (amp2 (if (<= pos -1.0) 0.0
+			(if (>= pos 1.0) 1.0
+			    (* (sqrt (+ 1.0 pos)) 1/sqrt2))))
+	      (frac1 (- dly1 (floor dly1)))
+	      (frac2 (- dly2 (floor dly2))))
+	  (let ((loc10 (modulo (+ loc (floor dly1)) maxd)))
+	    (set! (out1 loc10) (+ (out1 loc10) (* amp1 input (- 1.0 frac1)))))
+	  (let ((loc11 (modulo (+ loc 1 (floor dly1)) maxd)))
+	    (set! (out1 loc11) (+ (out1 loc11) (* amp1 input frac1))))
+	  (let ((loc20 (modulo (+ loc (floor dly2)) maxd)))
+	    (set! (out2 loc20) (+ (out2 loc20) (* amp2 input (- 1.0 frac2)))))
+	  (let ((loc21 (modulo (+ loc 1 (floor dly2)) maxd)))
+	    (set! (out2 loc21) (+ (out2 loc21) (* amp2 input frac2))))))
+	  
       (let ((val1 (out1 loc))
 	    (val2 (out2 loc)))
 	(set! (out1 loc) 0.0)
@@ -6723,8 +6719,6 @@ input from the readin generator 'reader'.  The output data is available via mus-
 
 
 
-
-
 ;;; --------------------------------------------------------------------------------
 ;;; old version of one-pole-all-pass
 #|
diff --git a/gl.c b/gl.c
index ae42a08..26e6bad 100644
--- a/gl.c
+++ b/gl.c
@@ -4455,15 +4455,17 @@ static void define_functions(void)
 {
 #if HAVE_SCHEME
 static s7_pointer s_boolean, s_integer, s_real, s_any;
-static s7_pointer pl_t, pl_tttti, pl_ttttb, pl_ttri, pl_ttit, pl_ttr, pl_ttir, pl_ttb, pl_tti, pl_ttiti, pl_ttrriir, pl_ttititiiti, pl_ttititi, pl_ttrri, pl_ttrrri, pl_tb, pl_bt, pl_iiiiitiiit, pl_iiiiiiiit, pl_iiiiiiiiiiit, pl_iiiiiiit, pl_iiiiiiiiiit, pl_iiiiiit, pl_iiiiiiiiit, pl_irrrt, pl_irrrrtttrrt, pl_i, pl_ittit, pl_tiirrrrt, pl_tiiiit, pl_tiiit, pl_tiiiiiiit, pl_tiiiiiiiit, pl_tirriit, pl_tirriirriit, pl_tirrir, pl_tir, pl_tit, pl_tiiiiiiiiit, pl_tiiiiiiiiiit, pl_tiiib, pl_ti, pl_tiiiiiit, pl_tiir, pl_tiiiiit, pl_tiit, pl_tibiit, pl_tiib, pl_trrrrt, pl_tr, pl_bit, pl_bi, pl_unused;
+static s7_pointer pl_t, pl_ttri, pl_ttit, pl_ttr, pl_ttir, pl_ttb, pl_tti, pl_ttiti, pl_ttrriir, pl_ttititiiti, pl_ttititi, pl_ttrri, pl_ttrrri, pl_tb, pl_bt, pl_iiiiitiiit, pl_iiiiiiiit, pl_iiiiiiiiiiit, pl_iiiiiiit, pl_iiiiiiiiiit, pl_iiiiiit, pl_iiiiiiiiit, pl_irrrt, pl_irrrrtttrrt, pl_i, pl_tiirrrrt, pl_tiiiit, pl_tiiit, pl_tiiiiiiit, pl_tiiiiiiiit, pl_tirriit, pl_tirriirriit, pl_tirrir, pl_tir, pl_tit, pl_tiiiiiiiiit, pl_tiiiiiiiiiit, pl_tiiib, pl_ti, pl_tiiiiiit, pl_tiir, pl_tiiiiit, pl_tiit, pl_tibiit, pl_tiib, pl_trrrrt, pl_tr, pl_bit, pl_bi;
+#if USE_MOTIF
+static s7_pointer pl_tttti, pl_ttttb, pl_ittit;
+#endif
+
   s_boolean = s7_make_symbol(s7, "boolean?");
   s_integer = s7_make_symbol(s7, "integer?");
   s_real = s7_make_symbol(s7, "real?");
   s_any = s7_t(s7);
 
   pl_t = s7_make_circular_signature(s7, 0, 1, s_any);
-  pl_tttti = s7_make_circular_signature(s7, 4, 5, s_any, s_any, s_any, s_any, s_integer);
-  pl_ttttb = s7_make_circular_signature(s7, 4, 5, s_any, s_any, s_any, s_any, s_boolean);
   pl_ttri = s7_make_circular_signature(s7, 3, 4, s_any, s_any, s_real, s_integer);
   pl_ttit = s7_make_circular_signature(s7, 3, 4, s_any, s_any, s_integer, s_any);
   pl_ttr = s7_make_circular_signature(s7, 2, 3, s_any, s_any, s_real);
@@ -4488,7 +4490,6 @@ static s7_pointer pl_t, pl_tttti, pl_ttttb, pl_ttri, pl_ttit, pl_ttr, pl_ttir, p
   pl_irrrt = s7_make_circular_signature(s7, 4, 5, s_integer, s_real, s_real, s_real, s_any);
   pl_irrrrtttrrt = s7_make_circular_signature(s7, 10, 11, s_integer, s_real, s_real, s_real, s_real, s_any, s_any, s_any, s_real, s_real, s_any);
   pl_i = s7_make_circular_signature(s7, 0, 1, s_integer);
-  pl_ittit = s7_make_circular_signature(s7, 4, 5, s_integer, s_any, s_any, s_integer, s_any);
   pl_tiirrrrt = s7_make_circular_signature(s7, 7, 8, s_any, s_integer, s_integer, s_real, s_real, s_real, s_real, s_any);
   pl_tiiiit = s7_make_circular_signature(s7, 5, 6, s_any, s_integer, s_integer, s_integer, s_integer, s_any);
   pl_tiiit = s7_make_circular_signature(s7, 4, 5, s_any, s_integer, s_integer, s_integer, s_any);
@@ -4513,7 +4514,12 @@ static s7_pointer pl_t, pl_tttti, pl_ttttb, pl_ttri, pl_ttit, pl_ttr, pl_ttir, p
   pl_tr = s7_make_circular_signature(s7, 1, 2, s_any, s_real);
   pl_bit = s7_make_circular_signature(s7, 2, 3, s_boolean, s_integer, s_any);
   pl_bi = s7_make_circular_signature(s7, 1, 2, s_boolean, s_integer);
-pl_unused = NULL;
+
+#if USE_MOTIF
+  pl_tttti = s7_make_circular_signature(s7, 4, 5, s_any, s_any, s_any, s_any, s_integer);
+  pl_ttttb = s7_make_circular_signature(s7, 4, 5, s_any, s_any, s_any, s_any, s_boolean);
+  pl_ittit = s7_make_circular_signature(s7, 4, 5, s_integer, s_any, s_any, s_integer, s_any);
+#endif
 #endif
 
 #if HAVE_SCHEME
@@ -5721,7 +5727,7 @@ void Init_libgl(void)
       define_integers();
       define_functions();
       Xen_provide_feature("gl");
-      Xen_define("gl-version", C_string_to_Xen_string("13-Jun-16"));
+      Xen_define("gl-version", C_string_to_Xen_string("26-Jul-16"));
       gl_already_inited = true;
     }
 }
diff --git a/grani.scm b/grani.scm
index 9b2329a..6673f3d 100644
--- a/grani.scm
+++ b/grani.scm
@@ -40,74 +40,72 @@
 		       (offset 0)
 		       cutoff
 		       (out-scaler 1))
-  (let* ((base (* 1.0 base))
-	 (error (* 1.0 error))
-	 (scaler (* 1.0 scaler))
-	 (offset (* 1.0 offset))
-	 (out-scaler (* 1.0 out-scaler))
-	 (ycutoff (and cutoff (expt base (+ offset (* cutoff scaler)))))
-	 (result ()))
-
-    ;; recursively render one segment
-    ;;   xl,xh   = x coordinates of segment ends
-    ;;   yl,yh   = y coordinates of segment ends
-    ;;   yle,yhe = exponential values of y coords of segment ends
-    ;;   error   = linear domain error bound for rendering
-    (define (exp-seg xl yle xh yhe yl yh error)
-
-      ;; linear interpolation
-      (define (interpolate xl yl xh yh xi)
-	(+ yl (* (- xi xl) (/ (- yh yl) (- xh xl)))))
-    
-      (let* ((xint (/ (+ xl xh) 2.0))
-	     (yint (interpolate xl yl xh yh xint))
-	     (yinte (interpolate xl yle xh yhe xint))
-	     (yexp (expt base yint))
-	     (yerr (- (expt base (+ yint error)) yexp)))
-	;; is the linear approximation accurate enough?
-	;; are we still over the cutoff limit?
-	(if (not (and (> (abs (- yexp yinte)) yerr)
-		      (or (not (real? ycutoff))
-			  (> yinte ycutoff))))
-	    ;; yes --> don't need to add nu'ting to the envelope
-	    (values () ())
-	    ;; no --> add a breakpoint and recurse right and left
-	    ((lambda (xi yi xj yj)
-	       (values (append xi (cons xint xj))
-		       (append yi (cons yexp yj))))
-	     (exp-seg xl yle xint yexp yl yint error)
-	     (exp-seg xint yexp xh yhe yint yh error)))))
-    
-    ;; loop for each segment in the envelope
-    (let segs ((en env1))
-      (let* ((x (car en))
-	     (y (* 1.0 (cadr en)))
-	     (nx (caddr en))
-	     (ny (* 1.0 (cadddr en)))
-	     (yscl (+ offset (* y scaler)))
-	     (nyscl (+ offset (* ny scaler)))
-	     (xy (list x (if (or (not (real? ycutoff))
-				 (>= (expt base yscl) ycutoff))
-			     (* out-scaler (expt base yscl))
-			     0.0))))
-	(set! result (append result xy))
-	((lambda (xs ys)
-	   (if (pair? ys)
-	       (let vals ((xx xs)
-			  (yy (map (lambda (y) (* y out-scaler)) ys)))
-		 (let ((x (car xx))
-		       (y (car yy)))
-		   (set! result (append result (list x y)))
-		   (if (pair? (cdr xx))
-		       (vals (cdr xx) (cdr yy)))))))
-	 (exp-seg x (expt base yscl) nx (expt base nyscl) yscl nyscl error))
-	(if (<= (length en) 4)
-	    (append result (list nx (if (or (not (real? ycutoff))
-					    (>= (expt base nyscl) ycutoff))
-					(* out-scaler (expt base nyscl))
-					0.0)))
-	    (segs (cddr en)))))))
-
+  (let ((base (* 1.0 base))
+	(error (* 1.0 error))
+	(scaler (* 1.0 scaler))
+	(offset (* 1.0 offset))
+	(out-scaler (* 1.0 out-scaler)))
+    (let ((ycutoff (and cutoff (expt base (+ offset (* cutoff scaler)))))
+	  (result ()))
+      
+      ;; recursively render one segment
+      ;;   xl,xh   = x coordinates of segment ends
+      ;;   yl,yh   = y coordinates of segment ends
+      ;;   yle,yhe = exponential values of y coords of segment ends
+      ;;   error   = linear domain error bound for rendering
+      (define (exp-seg xl yle xh yhe yl yh error)
+	
+	;; linear interpolation
+	(define (interpolate xl yl xh yh xi)
+	  (+ yl (* (- xi xl) (/ (- yh yl) (- xh xl)))))
+	
+	(let* ((xint (/ (+ xl xh) 2.0))
+	       (yint (interpolate xl yl xh yh xint))
+	       (yexp (expt base yint)))
+	  (let ((yinte (interpolate xl yle xh yhe xint))
+		(yerr (- (expt base (+ yint error)) yexp)))
+	    ;; is the linear approximation accurate enough?
+	    ;; are we still over the cutoff limit?
+	    (if (not (and (> (abs (- yexp yinte)) yerr)
+			  (or (not (real? ycutoff))
+			      (> yinte ycutoff))))
+		;; yes --> don't need to add nu'ting to the envelope
+		(values () ())
+		;; no --> add a breakpoint and recurse right and left
+		((lambda (xi yi xj yj)
+		   (values (append xi (cons xint xj))
+			   (append yi (cons yexp yj))))
+		 (exp-seg xl yle xint yexp yl yint error)
+		 (exp-seg xint yexp xh yhe yint yh error))))))
+      
+      ;; loop for each segment in the envelope
+      (let segs ((en env1))
+	(let ((x (car en))
+	      (yscl (+ offset (* (cadr en) scaler))))
+	  (let ((nx (caddr en))
+		(nyscl (+ offset (* (cadddr en) scaler)))
+		(xy (list x (if (or (not (real? ycutoff))
+				    (>= (expt base yscl) ycutoff))
+				(* out-scaler (expt base yscl))
+				0.0))))
+	    (set! result (append result xy))
+	    ((lambda (xs ys)
+	       (if (pair? ys)
+		   (let vals ((xx xs)
+			      (yy (map (lambda (y) (* y out-scaler)) ys)))
+		     (let ((x (car xx))
+			   (y (car yy)))
+		       (set! result (append result (list x y)))
+		       (if (pair? (cdr xx))
+			   (vals (cdr xx) (cdr yy)))))))
+	     (exp-seg x (expt base yscl) nx (expt base nyscl) yscl nyscl error))
+	    (if (<= (length en) 4)
+		(append result (list nx (if (or (not (real? ycutoff))
+						(>= (expt base nyscl) ycutoff))
+					    (* out-scaler (expt base nyscl))
+					    0.0)))
+		(segs (cddr en)))))))))
+  
 ;;; Amplitude envelope in dBs
 ;;;
 ;;; The db scale is defined as:
@@ -245,16 +243,16 @@
 
 (define* (raised-cosine	(duty-cycle 100)
 			(len 128))
-  (let* ((v (make-float-vector len))
-	 (active (* len duty-cycle 0.01))
-	 (incr (/ pi (- active 1)))
-	 (start (max 0 (/ (- len active) 2)))
-	 (end (min len (/ (+ len active) 2))))
-    (do ((i start (+ i 1))
-	 (s 0.0 (+ s incr)))
-	((= i end) v)
-      (let ((sine (sin s)))
-	(set! (v i) (* sine sine))))))
+  (let ((active (* len duty-cycle 0.01)))
+    (let ((v (make-float-vector len))
+	  (incr (/ pi (- active 1)))
+	  (start (max 0 (/ (- len active) 2)))
+	  (end (min len (/ (+ len active) 2))))
+      (do ((i start (+ i 1))
+	   (s 0.0 (+ s incr)))
+	  ((= i end) v)
+	(let ((sine (sin s)))
+	  (set! (v i) (* sine sine)))))))
 
 ;;;=============================================================================
 ;;; Granular synthesis instrument
diff --git a/grfsnd.html b/grfsnd.html
index 51ed322..eb5649b 100644
--- a/grfsnd.html
+++ b/grfsnd.html
@@ -1334,20 +1334,18 @@ Here's a dialog window with a slider:
       (XmStringFree xdismiss)
       (XmStringFree titlestr)
       
-      (let* ((mainform 
-	      (XtCreateManagedWidget "formd" xmFormWidgetClass scale-dialog
+      (let ((scale (let ((mainform (XtCreateManagedWidget "formd" xmFormWidgetClass scale-dialog
 				     (list XmNleftAttachment    XmATTACH_FORM
 					   XmNrightAttachment   XmATTACH_FORM
 					   XmNtopAttachment     XmATTACH_FORM
 					   XmNbottomAttachment  XmATTACH_WIDGET
-					   XmNbottomWidget      (XmMessageBoxGetChild scale-dialog XmDIALOG_SEPARATOR))))
-	     (scale
-	      (XtCreateManagedWidget "" xmScaleWidgetClass mainform
+					   XmNbottomWidget      (XmMessageBoxGetChild scale-dialog XmDIALOG_SEPARATOR)))))
+	              (XtCreateManagedWidget "" xmScaleWidgetClass mainform
 				     (list XmNorientation XmHORIZONTAL
 					   XmNshowValue   #t
 					   XmNvalue       100
 					   XmNmaximum     500
-					   XmNdecimalPoints 2))))
+					   XmNdecimalPoints 2)))))
 	
 	(XtAddCallback scale XmNvalueChangedCallback (lambda (w context info)
 						       (set! current-scaler (/ (.value info) 100.0))))
diff --git a/gtk-effects-utils.scm b/gtk-effects-utils.scm
index c0e5aae..4e1bd00 100644
--- a/gtk-effects-utils.scm
+++ b/gtk-effects-utils.scm
@@ -33,11 +33,7 @@
 (define* (make-effect-dialog label ok-callback help-callback reset-callback target-ok-callback)
   ;; make a standard dialog
   ;; callbacks take 2 args: widget data
-  (let ((new-dialog (gtk_dialog_new))
-	(dismiss-button #f)
-	(help-button #f)
-	(ok-button #f)
-	(reset-button #f))
+  (let ((new-dialog (gtk_dialog_new)))
 
     (if (defined? 'gtk_widget_set_clip) ; gtk 3.14.0
 	(gtk_window_set_transient_for (GTK_WINDOW new-dialog) (GTK_WINDOW ((main-widgets) 1))))
@@ -51,42 +47,40 @@
 			(gtk_widget_hide new-dialog)
 			#t) ; this is crucial -- thanks to Kjetil for catching it!
 		      #f)
-
-    (set! dismiss-button (gtk_dialog_add_button (GTK_DIALOG new-dialog) "Go Away" GTK_RESPONSE_NONE))
-    (g_signal_connect dismiss-button "clicked" (lambda (w data) (gtk_widget_hide new-dialog)) #f)
-    (gtk_widget_show dismiss-button)
-
-    (set! ok-button (gtk_dialog_add_button (GTK_DIALOG new-dialog) "DoIt" GTK_RESPONSE_NONE))
-    (g_signal_connect ok-button "clicked" ok-callback #f)
-    (gtk_widget_show ok-button)
-
-    (if reset-callback
-	(begin
-	  (set! reset-button (gtk_dialog_add_button (GTK_DIALOG new-dialog) "Reset" GTK_RESPONSE_NONE))
-	  (g_signal_connect reset-button "clicked" reset-callback #f)
-	  (gtk_widget_set_name reset-button "reset_button")
-	  (gtk_widget_show reset-button)))
-
-    (set! help-button (gtk_dialog_add_button (GTK_DIALOG new-dialog) "Help" GTK_RESPONSE_NONE))
-    (g_signal_connect help-button "clicked" help-callback #f)
-    (gtk_widget_show help-button)
-
-    (gtk_widget_set_name dismiss-button "quit_button")
-    (gtk_widget_set_name help-button "help_button")
-    (gtk_widget_set_name ok-button "doit_button")
-
-    (if target-ok-callback
-	(begin
-	  (gtk_widget_set_sensitive ok-button (target-ok-callback))
-	  (hook-push effects-hook
-		     (lambda (hook) (gtk_widget_set_sensitive ok-button (target-ok-callback)))))
-	(begin
-	  (gtk_widget_set_sensitive ok-button (pair? (sounds)))
-	  (hook-push effects-hook
-		     (lambda (hook) (gtk_widget_set_sensitive ok-button (pair? (sounds)))))))
-
-    (g_object_set_data (G_OBJECT new-dialog) "ok-button" (GPOINTER ok-button))
-    new-dialog))
+    
+    (let ((dismiss-button (gtk_dialog_add_button (GTK_DIALOG new-dialog) "Go Away" GTK_RESPONSE_NONE)))
+      (g_signal_connect dismiss-button "clicked" (lambda (w data) (gtk_widget_hide new-dialog)) #f)
+      (gtk_widget_show dismiss-button)
+      (gtk_widget_set_name dismiss-button "quit_button"))
+    
+    (let ((ok-button (gtk_dialog_add_button (GTK_DIALOG new-dialog) "DoIt" GTK_RESPONSE_NONE)))
+      (g_signal_connect ok-button "clicked" ok-callback #f)
+      (gtk_widget_show ok-button)
+      (gtk_widget_set_name ok-button "doit_button")
+      
+      (if reset-callback
+	  (let ((reset-button (gtk_dialog_add_button (GTK_DIALOG new-dialog) "Reset" GTK_RESPONSE_NONE)))
+	    (g_signal_connect reset-button "clicked" reset-callback #f)
+	    (gtk_widget_set_name reset-button "reset_button")
+	    (gtk_widget_show reset-button)))
+      
+      (let ((help-button (gtk_dialog_add_button (GTK_DIALOG new-dialog) "Help" GTK_RESPONSE_NONE)))
+	(g_signal_connect help-button "clicked" help-callback #f)
+	(gtk_widget_show help-button)
+	(gtk_widget_set_name help-button "help_button"))
+      
+      (if target-ok-callback
+	  (begin
+	    (gtk_widget_set_sensitive ok-button (target-ok-callback))
+	    (hook-push effects-hook
+		       (lambda (hook) (gtk_widget_set_sensitive ok-button (target-ok-callback)))))
+	  (begin
+	    (gtk_widget_set_sensitive ok-button (pair? (sounds)))
+	    (hook-push effects-hook
+		       (lambda (hook) (gtk_widget_set_sensitive ok-button (pair? (sounds)))))))
+      
+      (g_object_set_data (G_OBJECT new-dialog) "ok-button" (GPOINTER ok-button))
+      new-dialog)))
 
 (define (change-label w new-label)
   (if w (gtk_label_set_text (GTK_LABEL (if (GTK_IS_LABEL w) w (gtk_bin_get_child (GTK_BIN w)))) new-label)))
@@ -119,8 +113,7 @@
   ;; returns list of widgets (for reset callbacks)
   (let* ((mainform (gtk_box_new GTK_ORIENTATION_VERTICAL 2))
 	 (use-hbox (and (pair? sliders) (null? (cdr sliders))))
-	 (table (if (not use-hbox) (gtk_grid_new)))
-	 (slider 0))
+	 (table (if (not use-hbox) (gtk_grid_new))))
     (gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG dialog))) mainform #f #f 4)
     (gtk_widget_show mainform)
     (if (not use-hbox)
@@ -130,58 +123,58 @@
 	  (gtk_grid_set_column_spacing (GTK_GRID table) 4)
 	  (gtk_widget_show table)))
     (map 
-     (lambda (slider-data)
-       (let* ((title (slider-data 0))
-	      (low (slider-data 1))
-	      (initial (slider-data 2))
-	      (high (slider-data 3))
-	      (func (slider-data 4))
-	      (scaler (slider-data 5))
-	      (use-log (and (= (length slider-data) 7)
-			    (eq? (slider-data 6) 'log)))
-	      (hbox (and use-hbox (gtk_box_new GTK_ORIENTATION_HORIZONTAL 0)))
-	      (label (gtk_label_new 
-		      (format #f (if use-hbox
-				     (if use-log 
-					 (values "~A: ~,2F" title initial)
-					 (values "~A:" title))
-				     (if use-log
-					 (values "~A (~,2F)" title initial)
-					 (values "~A" title))))))
-	      (adj (if use-log 
-		       (gtk_adjustment_new (scale-log->linear low initial high) 0 log-scale-ticks 1 10 1)
-		       (gtk_adjustment_new initial low high 0.0 0.0 0.0)))
-	      (scale (gtk_scale_new GTK_ORIENTATION_HORIZONTAL (GTK_ADJUSTMENT adj))))
-	 (if use-hbox
-	     (begin
-	       (gtk_box_pack_start (GTK_BOX mainform) hbox #f #f 2)
-	       (gtk_widget_show hbox)
-	       (gtk_box_pack_start (GTK_BOX hbox) label #f #f 6))
-	     (gtk_grid_attach (GTK_GRID table) label 0 slider 1 1)
-	     )
-	 (gtk_widget_show label)
-	 (gtk_scale_set_digits (GTK_SCALE scale)
-			       (cond (use-log 0)
-				     ((assoc scaler '((1000 . 3) (100 . 2) (10 . 1)) =) => cdr)
-				     (else 0)))
-	 (gtk_scale_set_draw_value (GTK_SCALE scale) (not use-log))
-	 (if use-hbox
-	     (gtk_box_pack_start (GTK_BOX hbox) scale #t #t 0)
-	     (begin
-	       (gtk_widget_set_hexpand (GTK_WIDGET scale) #t)
-	       (gtk_grid_attach (GTK_GRID table) scale 1 slider 1 1)
-	       (set! slider (+ 1 slider))))
-	 (gtk_widget_show scale)
-	 (let ((label-func (if (not use-log)
-			       func
-			       (lambda (w d) 
-				 (func w d)
-				 (change-label label 
-					       (format #f "~A: ~,2F" 
-						       title 
-						       (scale-linear->log low (gtk_adjustment_get_value (GTK_ADJUSTMENT adj)) high)))))))
-	   (g_signal_connect adj "value_changed" label-func #f))
-	 adj))
+     (let ((slider 0))
+       (lambda (slider-data)
+	 (let* ((title (slider-data 0))
+		(low (slider-data 1))
+		(initial (slider-data 2))
+		(high (slider-data 3))
+		(func (slider-data 4))
+		(scaler (slider-data 5))
+		(use-log (and (= (length slider-data) 7)
+			      (eq? (slider-data 6) 'log)))
+		(hbox (and use-hbox (gtk_box_new GTK_ORIENTATION_HORIZONTAL 0)))
+		(label (gtk_label_new 
+			(format #f (if use-hbox
+				       (if use-log 
+					   (values "~A: ~,2F" title initial)
+					   (values "~A:" title))
+				       (if use-log
+					   (values "~A (~,2F)" title initial)
+					   (values "~A" title))))))
+		(adj (if use-log 
+			 (gtk_adjustment_new (scale-log->linear low initial high) 0 log-scale-ticks 1 10 1)
+			 (gtk_adjustment_new initial low high 0.0 0.0 0.0)))
+		(scale (gtk_scale_new GTK_ORIENTATION_HORIZONTAL (GTK_ADJUSTMENT adj))))
+	   (if use-hbox
+	       (begin
+		 (gtk_box_pack_start (GTK_BOX mainform) hbox #f #f 2)
+		 (gtk_widget_show hbox)
+		 (gtk_box_pack_start (GTK_BOX hbox) label #f #f 6))
+	       (gtk_grid_attach (GTK_GRID table) label 0 slider 1 1))
+	   (gtk_widget_show label)
+	   (gtk_scale_set_digits (GTK_SCALE scale)
+				 (cond (use-log 0)
+				       ((assoc scaler '((1000 . 3) (100 . 2) (10 . 1)) =) => cdr)
+				       (else 0)))
+	   (gtk_scale_set_draw_value (GTK_SCALE scale) (not use-log))
+	   (if use-hbox
+	       (gtk_box_pack_start (GTK_BOX hbox) scale #t #t 0)
+	       (begin
+		 (gtk_widget_set_hexpand (GTK_WIDGET scale) #t)
+		 (gtk_grid_attach (GTK_GRID table) scale 1 slider 1 1)
+		 (set! slider (+ 1 slider))))
+	   (gtk_widget_show scale)
+	   (let ((label-func (if (not use-log)
+				 func
+				 (lambda (w d) 
+				   (func w d)
+				   (change-label label 
+						 (format #f "~A: ~,2F" 
+							 title 
+							 (scale-linear->log low (gtk_adjustment_get_value (GTK_ADJUSTMENT adj)) high)))))))
+	     (g_signal_connect adj "value_changed" label-func #f))
+	   adj)))
      sliders)))
 
 (define (activate-dialog w)
diff --git a/gtk-effects.scm b/gtk-effects.scm
index 0d66e95..e885c0d 100644
--- a/gtk-effects.scm
+++ b/gtk-effects.scm
@@ -14,12 +14,12 @@
 	  (error 'no-such-mark (list "mark-related action requires two marks"))
 	  (if (= (length ms) 2)
 	      ms
-	      (let* ((lw (left-sample snd chn))
-		     (rw (right-sample snd chn))
-		     (cw (cursor snd chn))
-		     (favor (if (>= rw cw lw)
+	      (let ((favor (let ((lw (left-sample snd chn))
+				 (rw (right-sample snd chn))
+				 (cw (cursor snd chn)))
+			    (if (>= rw cw lw)
 				cw
-				(* .5 (+ lw rw)))))
+				(* .5 (+ lw rw))))))
 		;; favor is the point we center the search on
 		(let centered-points ((points ms))
 		  (if (= (length points) 2)
@@ -49,35 +49,34 @@
 		      (< (length (marks (selected-sound) (selected-channel))) 2)))
 	     (snd-print ";no marks"))
 	    (else
-	     (let* ((snc (sync))
-		    (ms (and (eq? target 'marks)
-			     (plausible-mark-samples)))
-		    (beg (case target
-			   ((sound) 0)
-			   ((selection) (selection-position))
-			   ((cursor) (cursor (selected-sound) (selected-channel)))
-			   (else (car ms))))
-		    (overlap (if decay
-				 (floor (* (srate) decay))
-				 0)))
-	       (apply for-each
-		      (lambda (snd chn)
-			(let ((end (if (memq target '(sound cursor))
-				       (- (framples snd chn) 1)
-				       (if (eq? target 'selection)
-					   (+ (selection-position) (selection-framples))
-					   (cadr ms)))))
-			  (if (= (sync snd) snc)
-			      (map-channel (func (- end beg)) beg (+ end overlap 1) snd chn #f
-					   (format #f "~A ~A ~A" 
-						   (origin target (- end beg))
-						   (if (eq? target 'sound) 0 beg)
-						   (and (not (eq? target 'sound)) (- (+ end 1) beg)))))))
-		      
-		      (if (> snc 0) 
-			  (all-chans) 
-			  (list (list (selected-sound)) 
-				(list (selected-channel))))))))))
+	     (let ((snc (sync))
+		   (ms (and (eq? target 'marks)
+			    (plausible-mark-samples))))
+	       (let ((beg (case target
+			    ((sound) 0)
+			    ((selection) (selection-position))
+			    ((cursor) (cursor (selected-sound) (selected-channel)))
+			    (else (car ms))))
+		     (overlap (if decay
+				  (floor (* (srate) decay))
+				  0)))
+		 (apply for-each
+			(lambda (snd chn)
+			  (let ((end (if (memq target '(sound cursor))
+					 (- (framples snd chn) 1)
+					 (if (eq? target 'selection)
+					     (+ (selection-position) (selection-framples))
+					     (cadr ms)))))
+			    (if (= (sync snd) snc)
+				(map-channel (func (- end beg)) beg (+ end overlap 1) snd chn #f
+					     (format #f "~A ~A ~A" 
+						     (origin target (- end beg))
+						     (if (eq? target 'sound) 0 beg)
+						     (and (not (eq? target 'sound)) (- (+ end 1) beg)))))))
+			(if (> snc 0) 
+			    (all-chans) 
+			    (list (list (selected-sound)) 
+				  (list (selected-channel)))))))))))
   
   
   (define (add-target mainform target-callback truncate-callback)
@@ -136,17 +135,17 @@
   (define effects-menu (add-to-main-menu "Effects" (lambda () (update-label effects-list))))
   
   (define* (effects-squelch-channel amp gate-size snd chn no-silence)
-    (let ((f0 (make-moving-average gate-size))
-	  (f1 (make-moving-average gate-size :initial-element 1.0)))
-      (map-channel
-       (if no-silence
-	   (lambda (y)
-	     (let ((val (* y (moving-average f1 (ceiling (- (moving-average f0 (* y y)) amp))))))
-	       (and (not (zero? val)) val)))
-	   (lambda (y)
-	     (* y (moving-average f1 (ceiling (- (moving-average f0 (* y y)) amp))))))
-       0 #f snd chn #f
-       (format #f "effects-squelch-channel ~A ~A" amp gate-size))))
+    (let ((squelcher (let ((f0 (make-moving-average gate-size))
+			   (f1 (make-moving-average gate-size :initial-element 1.0)))
+		       (if no-silence
+			   (lambda (y)
+			     (let ((val (* y (moving-average f1 (ceiling (- (moving-average f0 (* y y)) amp))))))
+			       (and (not (zero? val)) val)))
+			   (lambda (y)
+			     (* y (moving-average f1 (ceiling (- (moving-average f0 (* y y)) amp)))))))))
+      (map-channel squelcher
+		   0 #f snd chn #f
+		   (format #f "effects-squelch-channel ~A ~A" amp gate-size))))
   
   (let ((amp-menu-list ())
 	(amp-menu (gtk_menu_item_new_with_label "Amplitude Effects"))
@@ -242,63 +241,63 @@
     
     ;; -------- Normalize
     
-    (let ((child (gtk_menu_item_new_with_label "Normalize"))
-	  (normalize-amount 1.0)
-	  (normalize-dialog #f)
-	  (normalize-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Normalize")))
       (gtk_menu_shell_append (GTK_MENU_SHELL amp-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless normalize-dialog
-			    (let ((initial-normalize-amount 1.0)
-				  (sliders ()))
-			      (set! normalize-dialog 
-				    (make-effect-dialog 
-				     "Normalize"
-				     
-				     (lambda (w data) 
-				       (if (eq? normalize-target 'sound)
-					   (scale-to normalize-amount)
-					   (if (eq? normalize-target 'selection)
-					       (if (selection?)
-						   (scale-selection-to normalize-amount)
-						   (snd-print "no selection"))
-					       (let ((pts (plausible-mark-samples)))
-						 (if pts
-						     (scale-to normalize-amount (car pts) (- (cadr pts) (car pts))))))))
-				     
-				     (lambda (w data)
-				       (help-dialog 
-					"Normalize"
-					"Normalize scales amplitude to the normalize amount. Move the slider to change the scaling amount."))
-				     
-				     (lambda (w data)
-				       (set! normalize-amount initial-normalize-amount)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) normalize-amount)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok normalize-target))))
-			      
-			      (set! sliders
-				    (add-sliders normalize-dialog
-						 (list (list "normalize" 0.0 initial-normalize-amount 1.1
-							     (lambda (w data)
-							       (set! normalize-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT w))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG normalize-dialog)) 
-					  (lambda (target) 
-					    (set! normalize-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT normalize-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog normalize-dialog))
-			#f)
-      (set! amp-menu-list (cons (lambda ()
-				  (change-label child (format #f "Normalize (~1,2F)"  normalize-amount)))
-				amp-menu-list)))
+      (let ((normalize-amount 1.0)
+	    (normalize-dialog #f)
+	    (normalize-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless normalize-dialog
+			      (let ((initial-normalize-amount 1.0)
+				    (sliders ()))
+				(set! normalize-dialog 
+				      (make-effect-dialog 
+				       "Normalize"
+				       
+				       (lambda (w data) 
+					 (if (eq? normalize-target 'sound)
+					     (scale-to normalize-amount)
+					     (if (eq? normalize-target 'selection)
+						 (if (selection?)
+						     (scale-selection-to normalize-amount)
+						     (snd-print "no selection"))
+						 (let ((pts (plausible-mark-samples)))
+						   (if pts
+						       (scale-to normalize-amount (car pts) (- (cadr pts) (car pts))))))))
+				       
+				       (lambda (w data)
+					 (help-dialog 
+					  "Normalize"
+					  "Normalize scales amplitude to the normalize amount. Move the slider to change the scaling amount."))
+				       
+				       (lambda (w data)
+					 (set! normalize-amount initial-normalize-amount)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) normalize-amount)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok normalize-target))))
+				
+				(set! sliders
+				      (add-sliders normalize-dialog
+						   (list (list "normalize" 0.0 initial-normalize-amount 1.1
+							       (lambda (w data)
+								 (set! normalize-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT w))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG normalize-dialog)) 
+					    (lambda (target) 
+					      (set! normalize-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT normalize-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog normalize-dialog))
+			  #f)
+	(set! amp-menu-list (cons (lambda ()
+				    (change-label child (format #f "Normalize (~1,2F)"  normalize-amount)))
+				  amp-menu-list))))
     
     ;; -------- Gate (gate set by gate-amount)
     
@@ -391,8 +390,8 @@
 				   (fir-filter flt (* scaler (+ (tap del) inval))))))
 		       beg #f snd chn #f
 		       (format #f "effects-flecho-1 ~A ~A ~A ~A ~A" scaler secs input-samps-1 beg #f))
-	  (let* ((cutoff (- (or input-samps-1 dur (framples snd chn)) 1))
-		 (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
+	  (let ((genv (let ((cutoff (- (or input-samps-1 dur (framples snd chn)) 1)))
+			(make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100)))))
 	    (map-channel (lambda (inval)
 			   (+ inval 
 			      (delay del 
@@ -401,11 +400,11 @@
 			 (format #f "effects-flecho-1 ~A ~A ~A ~A ~A" scaler secs input-samps-1 beg dur))))))
   
   (define* (effects-zecho-1 scaler secs frq amp input-samps-1 beg dur snd chn)
-    (let* ((os (make-oscil frq))
-	   (len (round (* secs (srate snd))))
-	   (del (make-delay len :max-size (round (+ len amp 1))))
-	   (cutoff (- (or input-samps-1 dur (framples snd chn)) 1))
-	   (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
+    (let ((os (make-oscil frq))
+	  (del (let ((len (round (* secs (srate snd)))))
+		 (make-delay len :max-size (round (+ len amp 1)))))
+	  (genv (let ((cutoff (- (or input-samps-1 dur (framples snd chn)) 1)))
+		  (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100)))))
       (map-channel (lambda (inval)
 		     (+ inval 
 			(delay del 
@@ -425,160 +424,159 @@
     
     ;; -------- Echo (controlled by delay-time and echo-amount)
     
-    (let ((child (gtk_menu_item_new_with_label "Echo"))
-	  (delay-time .5) ; i.e. delay between echoes
+    (let ((child (gtk_menu_item_new_with_label "Echo")))
+      (gtk_menu_shell_append (GTK_MENU_SHELL delay-cascade) child)
+      (gtk_widget_show child)
+      (let ((delay-time .5) ; i.e. delay between echoes
 	  (echo-amount .2)
 	  (echo-dialog #f)
 	  (echo-target 'sound)
 	  (echo-truncate #t))
-      ;; echo-decay? -- using (* 4 delay-time) currently
-      (gtk_menu_shell_append (GTK_MENU_SHELL delay-cascade) child)
-      (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless echo-dialog
-			    (let ((initial-delay-time 0.5)
-				  (initial-echo-amount 0.2)
-				  (sliders ()))
-			      (set! echo-dialog 
-				    (make-effect-dialog 
-				     "Echo"
-				     
-				     (lambda (w data)
-				       (map-chan-over-target-with-sync 
-					(lambda (cutoff) 
-					  (let ((del (make-delay (round (* delay-time (srate)))))
-						(genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
-					    (lambda (inval)
-					      (+ inval
-						 (delay del
-							(* echo-amount (+ (tap del) (* (env genv) inval))))))))
-					echo-target
-					(lambda (target input-samps) 
-					  (format #f "effects-echo ~A ~A ~A" 
-						  (and (not (eq? target 'sound)) input-samps)
-						  delay-time echo-amount))
-					(and (not echo-truncate) 
-					     (* 4 delay-time))))
-				     
-				     (lambda (w data)
-				       (help-dialog "Echo"
-						    "The sliders change the delay time and echo amount."))
-				     
-				     (lambda (w data)   
-				       (set! delay-time initial-delay-time)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) delay-time)
-				       (set! echo-amount initial-echo-amount)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) echo-amount)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok echo-target))))
-			      
-			      (set! sliders
-				    (add-sliders echo-dialog
-						 (list (list "delay time" 0.0 initial-delay-time 2.0
-							     (lambda (w data)
-							       (set! delay-time (gtk_adjustment_get_value (GTK_ADJUSTMENT (car sliders)))))
-							     100)
-						       (list "echo amount" 0.0 initial-echo-amount 1.0
-							     (lambda (w data)
-							       (set! echo-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (cadr sliders)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG echo-dialog)) 
-					  (lambda (target) 
-					    (set! echo-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT echo-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  (lambda (truncate) 
-					    (set! echo-truncate truncate)))))
-			  (activate-dialog echo-dialog))
-			#f)
-      (set! delay-menu-list (cons (lambda ()
-				    (change-label child (format #f "Echo (~1,2F ~1,2F)" delay-time echo-amount)))
-				  delay-menu-list)))
+	;; echo-decay? -- using (* 4 delay-time) currently
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless echo-dialog
+			      (let ((initial-delay-time 0.5)
+				    (initial-echo-amount 0.2)
+				    (sliders ()))
+				(set! echo-dialog 
+				      (make-effect-dialog 
+				       "Echo"
+				       
+				       (lambda (w data)
+					 (map-chan-over-target-with-sync 
+					  (lambda (cutoff) 
+					    (let ((del (make-delay (round (* delay-time (srate)))))
+						  (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
+					      (lambda (inval)
+						(+ inval
+						   (delay del
+							  (* echo-amount (+ (tap del) (* (env genv) inval))))))))
+					  echo-target
+					  (lambda (target input-samps) 
+					    (format #f "effects-echo ~A ~A ~A" 
+						    (and (not (eq? target 'sound)) input-samps)
+						    delay-time echo-amount))
+					  (and (not echo-truncate) 
+					       (* 4 delay-time))))
+				       
+				       (lambda (w data)
+					 (help-dialog "Echo"
+						      "The sliders change the delay time and echo amount."))
+				       
+				       (lambda (w data)   
+					 (set! delay-time initial-delay-time)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) delay-time)
+					 (set! echo-amount initial-echo-amount)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) echo-amount)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok echo-target))))
+				
+				(set! sliders
+				      (add-sliders echo-dialog
+						   (list (list "delay time" 0.0 initial-delay-time 2.0
+							       (lambda (w data)
+								 (set! delay-time (gtk_adjustment_get_value (GTK_ADJUSTMENT (car sliders)))))
+							       100)
+							 (list "echo amount" 0.0 initial-echo-amount 1.0
+							       (lambda (w data)
+								 (set! echo-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (cadr sliders)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG echo-dialog)) 
+					    (lambda (target) 
+					      (set! echo-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT echo-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    (lambda (truncate) 
+					      (set! echo-truncate truncate)))))
+			    (activate-dialog echo-dialog))
+			  #f)
+	(set! delay-menu-list (cons (lambda ()
+				      (change-label child (format #f "Echo (~1,2F ~1,2F)" delay-time echo-amount)))
+				    delay-menu-list))))
     
     ;; -------- Filtered echo
     
-    (let ((child (gtk_menu_item_new_with_label "Filtered echo"))
-	  (flecho-scaler 0.5)
-	  (flecho-delay 0.9)
-	  (flecho-dialog #f)
-	  (flecho-target 'sound)
-	  (flecho-truncate #t))
-      
-      (define flecho-1
-	(lambda (scaler secs cutoff)
-	  (let ((flt (make-fir-filter :order 4 :xcoeffs (float-vector .125 .25 .25 .125)))
-		(del (make-delay (round (* secs (srate)))))
-		(genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
-	    (lambda (inval)
-	      (+ inval 
-		 (delay del 
-			(fir-filter flt (* scaler (+ (tap del) (* (env genv) inval))))))))))
-      
+    (let ((child (gtk_menu_item_new_with_label "Filtered echo")))
       (gtk_menu_shell_append (GTK_MENU_SHELL delay-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless flecho-dialog
-			    (let ((initial-flecho-scaler 0.5)
-				  (initial-flecho-delay 0.9)
-				  (sliders ()))
-			      (set! flecho-dialog 
-				    (make-effect-dialog 
-				     "Filtered echo"
-				     
-				     (lambda (w data)
-				       (map-chan-over-target-with-sync
-					(lambda (input-samps) 
-					  (flecho-1 flecho-scaler flecho-delay input-samps))
-					flecho-target 
-					(lambda (target input-samps) 
-					  (format #f "effects-flecho-1 ~A ~A ~A"
-						  flecho-scaler flecho-delay
-						  (and (not (eq? target 'sound)) input-samps)))
-					(and (not flecho-truncate) 
-					     (* 4 flecho-delay))))
-				     
-				     (lambda (w data)
-				       (help-dialog "Filtered echo"
-						    "Move the sliders to set the filter scaler and the delay time in seconds."))
-				     
-				     (lambda (w data)
-				       (set! flecho-scaler initial-flecho-scaler)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) flecho-scaler)
-				       (set! flecho-delay initial-flecho-delay)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) flecho-delay)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok flecho-target))))
-			      
-			      (set! sliders
-				    (add-sliders flecho-dialog
-						 (list (list "filter scaler" 0.0 initial-flecho-scaler 1.0
-							     (lambda (w data)
-							       (set! flecho-scaler (gtk_adjustment_get_value (GTK_ADJUSTMENT (car sliders)))))
-							     100)
-						       (list "delay time (secs)" 0.0 initial-flecho-delay 3.0
-							     (lambda (w data)
-							       (set! flecho-delay (gtk_adjustment_get_value (GTK_ADJUSTMENT (cadr sliders)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG flecho-dialog)) 
-					  (lambda (target) 
-					    (set! flecho-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT flecho-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  (lambda (truncate) 
-					    (set! flecho-truncate truncate)))))
-			  (activate-dialog flecho-dialog))
-			#f)
-      (set! delay-menu-list (cons (lambda ()
-				    (change-label child (format #f "Filtered echo (~1,2F ~1,2F)" flecho-scaler flecho-delay)))
-				  delay-menu-list)))
+      (let ((flecho-scaler 0.5)
+	    (flecho-delay 0.9)
+	    (flecho-dialog #f)
+	    (flecho-target 'sound)
+	    (flecho-truncate #t))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless flecho-dialog
+			      (let ((initial-flecho-scaler 0.5)
+				    (initial-flecho-delay 0.9)
+				    (sliders ()))
+				(set! flecho-dialog 
+				      (make-effect-dialog 
+				       "Filtered echo"
+				       
+				       (lambda (w data)
+					 (map-chan-over-target-with-sync
+					  (lambda (input-samps) 
+					    (let ((flt (make-fir-filter :order 4 
+									:xcoeffs (float-vector .125 .25 .25 .125)))
+						  (del (make-delay (round (* flecho-delay (srate)))))
+						  (genv (make-env (list 0.0 1.0 input-samps 1.0 (+ input-samps 1) 0.0 (+ input-samps 100) 0.0) 
+								  :length (+ input-samps 100))))
+					      (lambda (inval)
+						(+ inval 
+						   (delay del 
+							  (fir-filter flt (* flecho-scaler 
+									     (+ (tap del) 
+										(* (env genv) inval)))))))))
+					  flecho-target 
+					  (lambda (target input-samps) 
+					    (format #f "effects-flecho-1 ~A ~A ~A"
+						    flecho-scaler flecho-delay
+						    (and (not (eq? target 'sound)) input-samps)))
+					  (and (not flecho-truncate) 
+					       (* 4 flecho-delay))))
+				       
+				       (lambda (w data)
+					 (help-dialog "Filtered echo"
+						      "Move the sliders to set the filter scaler and the delay time in seconds."))
+				       
+				       (lambda (w data)
+					 (set! flecho-scaler initial-flecho-scaler)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) flecho-scaler)
+					 (set! flecho-delay initial-flecho-delay)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) flecho-delay)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok flecho-target))))
+				
+				(set! sliders
+				      (add-sliders flecho-dialog
+						   (list (list "filter scaler" 0.0 initial-flecho-scaler 1.0
+							       (lambda (w data)
+								 (set! flecho-scaler (gtk_adjustment_get_value (GTK_ADJUSTMENT (car sliders)))))
+							       100)
+							 (list "delay time (secs)" 0.0 initial-flecho-delay 3.0
+							       (lambda (w data)
+								 (set! flecho-delay (gtk_adjustment_get_value (GTK_ADJUSTMENT (cadr sliders)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG flecho-dialog)) 
+					    (lambda (target) 
+					      (set! flecho-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT flecho-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    (lambda (truncate) 
+					      (set! flecho-truncate truncate)))))
+			    (activate-dialog flecho-dialog))
+			  #f)
+	(set! delay-menu-list (cons (lambda ()
+				      (change-label child (format #f "Filtered echo (~1,2F ~1,2F)" flecho-scaler flecho-delay)))
+				    delay-menu-list))))
     
     ;; -------- Modulated echo
     
@@ -593,9 +591,9 @@
       
       (define zecho-1
 	(lambda (scaler secs frq amp cutoff)
-	  (let* ((os (make-oscil frq))
-		 (len (round (* secs (srate))))
-		 (del (make-delay len :max-size (round (+ len amp 1))))
+	  (let ((os (make-oscil frq))
+		(del (let ((len (round (* secs (srate)))))
+		       (make-delay len :max-size (round (+ len amp 1)))))
 		 (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
 	    (lambda (inval)
 	      (+ inval 
@@ -745,326 +743,328 @@ the modulation frequency, and the echo amplitude."))
     
     ;; -------- Butterworth band-pass filter
     
-    (let ((child (gtk_menu_item_new_with_label "Band-pass filter"))
-	  (band-pass-freq 1000)
-	  (band-pass-bw 100)
-	  (band-pass-dialog #f)
-	  (band-pass-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Band-pass filter")))
       (gtk_menu_shell_append (GTK_MENU_SHELL filter-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless band-pass-dialog
-			    (let ((initial-band-pass-freq 1000)
-				  (initial-band-pass-bw 100)
-				  (sliders ()))
-			      (set! band-pass-dialog 
-				    (make-effect-dialog 
-				     "Band-pass filter"
-				     
-				     (lambda (w data) 
-				       (let ((flt (make-butter-band-pass band-pass-freq band-pass-bw)))
-					 (if (eq? band-pass-target 'sound)
-					     (filter-sound flt #f #f #f #f (format #f "effects-bbp ~A ~A 0 #f" band-pass-freq band-pass-bw))
-					     (if (eq? band-pass-target 'selection)
-						 (filter-selection flt)
-						 (let* ((ms (plausible-mark-samples))
-							(bg (car ms))
-							(nd (- (+ (cadr ms) 1) (car ms))))
-						   (clm-channel flt bg nd #f #f #f #f 
-								(format #f "effects-bbp ~A ~A ~A ~A" band-pass-freq band-pass-bw bg nd)))))))
-				     
-				     (lambda (w data)
-				       (help-dialog "Band-pass filter"
-						    "Butterworth band-pass filter. Move the sliders to change the center frequency and bandwidth."))
-				     
-				     (lambda (w data)
-				       (set! band-pass-freq initial-band-pass-freq)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) (scale-log->linear 20 band-pass-freq 22050))
-				       (set! band-pass-bw initial-band-pass-bw)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) band-pass-bw)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok band-pass-target))))
-			      
-			      (set! sliders
-				    (add-sliders band-pass-dialog
-						 (list (list "center frequency" 20 initial-band-pass-freq 22050
-							     (lambda (w data)
-							       (set! band-pass-freq (scale-linear->log 20 
-										      (gtk_adjustment_get_value (GTK_ADJUSTMENT (car sliders)))
-										      22050)))
-							     1 'log)
-						       (list "bandwidth" 0 initial-band-pass-bw 1000
-							     (lambda (w data)
-							       (set! band-pass-bw (gtk_adjustment_get_value (GTK_ADJUSTMENT (cadr sliders)))))
-							     1))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG band-pass-dialog)) 
-					  (lambda (target) 
-					    (set! band-pass-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT band-pass-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog band-pass-dialog))
-			#f)
-      (set! filter-menu-list (cons (lambda ()
-				     (change-label child (format #f "Band-pass filter (~,2F ~D)" band-pass-freq band-pass-bw)))
-				   filter-menu-list)))
+      (let ((band-pass-freq 1000)
+	    (band-pass-bw 100)
+	    (band-pass-dialog #f)
+	    (band-pass-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless band-pass-dialog
+			      (let ((initial-band-pass-freq 1000)
+				    (initial-band-pass-bw 100)
+				    (sliders ()))
+				(set! band-pass-dialog 
+				      (make-effect-dialog 
+				       "Band-pass filter"
+				       
+				       (lambda (w data) 
+					 (let ((flt (make-butter-band-pass band-pass-freq band-pass-bw)))
+					   (if (eq? band-pass-target 'sound)
+					       (filter-sound flt #f #f #f #f (format #f "effects-bbp ~A ~A 0 #f" band-pass-freq band-pass-bw))
+					       (if (eq? band-pass-target 'selection)
+						   (filter-selection flt)
+						   (let ((ms (plausible-mark-samples)))
+						     (let ((bg (car ms))
+							   (nd (- (+ (cadr ms) 1) (car ms))))
+						       (clm-channel flt bg nd #f #f #f #f 
+								    (format #f "effects-bbp ~A ~A ~A ~A" band-pass-freq band-pass-bw bg nd))))))))
+				       
+				       (lambda (w data)
+					 (help-dialog "Band-pass filter"
+						      "Butterworth band-pass filter. Move the sliders to change the center frequency and bandwidth."))
+				       
+				       (lambda (w data)
+					 (set! band-pass-freq initial-band-pass-freq)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) (scale-log->linear 20 band-pass-freq 22050))
+					 (set! band-pass-bw initial-band-pass-bw)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) band-pass-bw)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok band-pass-target))))
+				
+				(set! sliders
+				      (add-sliders band-pass-dialog
+						   (list (list "center frequency" 20 initial-band-pass-freq 22050
+							       (lambda (w data)
+								 (set! band-pass-freq (scale-linear->log 20 
+													 (gtk_adjustment_get_value (GTK_ADJUSTMENT (car sliders)))
+													 22050)))
+							       1 'log)
+							 (list "bandwidth" 0 initial-band-pass-bw 1000
+							       (lambda (w data)
+								 (set! band-pass-bw (gtk_adjustment_get_value (GTK_ADJUSTMENT (cadr sliders)))))
+							       1))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG band-pass-dialog)) 
+					    (lambda (target) 
+					      (set! band-pass-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT band-pass-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog band-pass-dialog))
+			  #f)
+	(set! filter-menu-list (cons (lambda ()
+				       (change-label child (format #f "Band-pass filter (~,2F ~D)" band-pass-freq band-pass-bw)))
+				     filter-menu-list))))
     
     ;; -------- Butterworth band-reject (notch) filter
     
-    (let ((child (gtk_menu_item_new_with_label "Band-reject filter"))
-	  (notch-freq 100)
-	  (notch-bw 100)
-	  (notch-dialog #f)
-	  (notch-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Band-reject filter")))
       (gtk_menu_shell_append (GTK_MENU_SHELL filter-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless notch-dialog
-			    (let ((initial-notch-freq 100)
-				  (initial-notch-bw 100)
-				  (sliders ()))
-			      (set! notch-dialog 
-				    (make-effect-dialog 
-				     "Band-reject filter"
-				     
-				     (lambda (w data) 
-				       (let ((flt (make-butter-band-reject notch-freq notch-bw)))
-					 (if (eq? notch-target 'sound)
-					     (filter-sound flt #f #f #f #f (format #f "effects-bbr ~A ~A 0 #f" notch-freq notch-bw))
-					     (if (eq? notch-target 'selection)
-						 (filter-selection flt)
-						 (let* ((ms (plausible-mark-samples))
-							(bg (car ms))
-							(nd (- (+ (cadr ms) 1) (car ms))))
-						   (clm-channel flt bg nd #f #f #f #f 
-								(format #f "effects-bbr ~A ~A ~A ~A" notch-freq notch-bw bg nd)))))))
-				     
-				     (lambda (w data)
-				       (help-dialog "Band-reject filter"
-						    "Butterworth band-reject filter. Move the sliders to change the center frequency and bandwidth."))
-				     
-				     (lambda (w data)
-				       (set! notch-freq initial-notch-freq)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) (scale-log->linear 20 notch-freq 22050))
-				       (set! notch-bw initial-notch-bw)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) notch-bw)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok notch-target))))
-			      
-			      (set! sliders
-				    (add-sliders notch-dialog
-						 (list (list "center frequency" 20 initial-notch-freq 22050
-							     (lambda (w data)
-							       (set! notch-freq (scale-linear->log 20 (gtk_adjustment_get_value (GTK_ADJUSTMENT (car sliders))) 22050)))
-							     1 'log)
-						       (list "bandwidth" 0 initial-notch-bw 1000
-							     (lambda (w data)
-							       (set! notch-bw (gtk_adjustment_get_value (GTK_ADJUSTMENT (cadr sliders)))))
-							     1))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG notch-dialog)) 
-					  (lambda (target) 
-					    (set! notch-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT notch-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog notch-dialog))
-			#f)
-      (set! filter-menu-list (cons (lambda ()
-				     (change-label child (format #f "Band-reject filter (~,2F ~D)" notch-freq notch-bw)))
-				   filter-menu-list)))
+      (let ((notch-freq 100)
+	    (notch-bw 100)
+	    (notch-dialog #f)
+	    (notch-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless notch-dialog
+			      (let ((initial-notch-freq 100)
+				    (initial-notch-bw 100)
+				    (sliders ()))
+				(set! notch-dialog 
+				      (make-effect-dialog 
+				       "Band-reject filter"
+				       
+				       (lambda (w data) 
+					 (let ((flt (make-butter-band-reject notch-freq notch-bw)))
+					   (if (eq? notch-target 'sound)
+					       (filter-sound flt #f #f #f #f (format #f "effects-bbr ~A ~A 0 #f" notch-freq notch-bw))
+					       (if (eq? notch-target 'selection)
+						   (filter-selection flt)
+						   (let ((ms (plausible-mark-samples)))
+						     (let ((bg (car ms))
+							   (nd (- (+ (cadr ms) 1) (car ms))))
+						       (clm-channel flt bg nd #f #f #f #f 
+								    (format #f "effects-bbr ~A ~A ~A ~A" notch-freq notch-bw bg nd))))))))
+				       
+				       (lambda (w data)
+					 (help-dialog "Band-reject filter"
+						      "Butterworth band-reject filter. Move the sliders to change the center frequency and bandwidth."))
+				       
+				       (lambda (w data)
+					 (set! notch-freq initial-notch-freq)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) (scale-log->linear 20 notch-freq 22050))
+					 (set! notch-bw initial-notch-bw)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) notch-bw)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok notch-target))))
+				
+				(set! sliders
+				      (add-sliders notch-dialog
+						   (list (list "center frequency" 20 initial-notch-freq 22050
+							       (lambda (w data)
+								 (set! notch-freq (scale-linear->log 20 (gtk_adjustment_get_value (GTK_ADJUSTMENT (car sliders))) 22050)))
+							       1 'log)
+							 (list "bandwidth" 0 initial-notch-bw 1000
+							       (lambda (w data)
+								 (set! notch-bw (gtk_adjustment_get_value (GTK_ADJUSTMENT (cadr sliders)))))
+							       1))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG notch-dialog)) 
+					    (lambda (target) 
+					      (set! notch-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT notch-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog notch-dialog))
+			  #f)
+	(set! filter-menu-list (cons (lambda ()
+				       (change-label child (format #f "Band-reject filter (~,2F ~D)" notch-freq notch-bw)))
+				     filter-menu-list))))
     
     ;; -------- Butterworth high-pass filter
     
-    (let ((child (gtk_menu_item_new_with_label "High-pass filter"))
-	  (high-pass-freq 100)
-	  (high-pass-dialog #f)
-	  (high-pass-target 'sound))
-      (gtk_menu_shell_append (GTK_MENU_SHELL filter-cascade) child)
-      (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless high-pass-dialog
-			    (let ((initial-high-pass-freq 100)
-				  (sliders ()))
-			      (set! high-pass-dialog 
-				    (make-effect-dialog 
-				     "High-pass filter"
-				     
-				     (lambda (w data) 
-				       (let ((flt (make-butter-high-pass high-pass-freq)))
-					 (if (eq? high-pass-target 'sound)
-					     (filter-sound flt #f #f #f #f (format #f "effects-bhp ~A 0 #f" high-pass-freq))
-					     (if (eq? high-pass-target 'selection)
-						 (filter-selection flt)
-						 (let* ((ms (plausible-mark-samples))
-							(bg (car ms))
-							(nd (- (+ (cadr ms) 1) (car ms))))
-						   (clm-channel flt bg nd #f #f #f #f 
-								(format #f "effects-bhp ~A ~A ~A" high-pass-freq bg nd)))))))
-				     
-				     (lambda (w data)
-				       (help-dialog "High-pass filter"
-						    "Butterworth high-pass filter. Move the slider to change the high-pass cutoff frequency."))
-				     
-				     (lambda (w data)
-				       (set! high-pass-freq initial-high-pass-freq)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) (scale-log->linear 20 high-pass-freq 22050))
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok high-pass-target))))
-			      
-			      (set! sliders
-				    (add-sliders high-pass-dialog
-						 (list (list "high-pass cutoff frequency" 20 initial-high-pass-freq 22050
-							     (lambda (w data)
-							       (set! high-pass-freq (scale-linear->log 20 (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0))) 22050)))
-							     1 'log))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG high-pass-dialog)) 
-					  (lambda (target) 
-					    (set! high-pass-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT high-pass-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog high-pass-dialog))
-			#f)
-      (set! filter-menu-list (cons (lambda ()
-				     (change-label child (format #f "High-pass filter (~,2F)" high-pass-freq)))
-				   filter-menu-list)))
-    
-    ;; -------- Butterworth low-pass filter
-    
-    (let ((child (gtk_menu_item_new_with_label "Low-pass filter"))
-	  (low-pass-freq 1000)
-	  (low-pass-dialog #f)
-	  (low-pass-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "High-pass filter")))
       (gtk_menu_shell_append (GTK_MENU_SHELL filter-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless low-pass-dialog
-			    (let ((initial-low-pass-freq 1000)
-				  (sliders ()))
-			      (sete! low-pass-dialog 
-				     (make-effect-dialog 
-				      "Low-pass filter"
-				      
-				      (lambda (w data) 
-					(let ((flt (make-butter-low-pass low-pass-freq)))
-					  (if (eq? low-pass-target 'sound)
-					      (filter-sound flt #f #f #f #f (format #f "effects-blp ~A 0 #f" low-pass-freq))
-					      (if (eq? low-pass-target 'selection)
-						  (filter-selection flt)
-						  (let* ((ms (plausible-mark-samples))
-							 (bg (car ms))
-							 (nd (- (+ (cadr ms) 1) (car ms))))
-						    (clm-channel flt bg nd #f #f #f #f 
-								 (format #f "effects-blp ~A ~A ~A" low-pass-freq bg nd)))))))
-				      
-				      (lambda (w data)
-					(help-dialog "Low-pass filter"
-						     "Butterworth low-pass filter. Move the slider to change the low-pass cutoff frequency."))
-				      
-				      (lambda (w data)
-					(set! low-pass-freq initial-low-pass-freq)
-					(gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) (scale-log->linear 20 low-pass-freq 22050))
-					)
-				      
-				      (lambda () 
-					(effect-target-ok low-pass-target))))
-			      
-			      (set! sliders
-				    (add-sliders low-pass-dialog
-						 (list (list "low-pass cutoff frequency" 20 initial-low-pass-freq 22050
-							     (lambda (w data)
-							       (set! low-pass-freq (scale-linear->log 20 (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0))) 22050)))
-							     1 'log))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG low-pass-dialog)) 
-					  (lambda (target) 
-					    (set! low-pass-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT low-pass-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog low-pass-dialog))
-			#f)
-      (set! filter-menu-list (cons (lambda ()
-				     (change-label child (format #f "Low-pass filter (~,2F)" low-pass-freq)))
-				   filter-menu-list)))
+      (let ((high-pass-freq 100)
+	    (high-pass-dialog #f)
+	    (high-pass-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless high-pass-dialog
+			      (let ((initial-high-pass-freq 100)
+				    (sliders ()))
+				(set! high-pass-dialog 
+				      (make-effect-dialog 
+				       "High-pass filter"
+				       
+				       (lambda (w data) 
+					 (let ((flt (make-butter-high-pass high-pass-freq)))
+					   (if (eq? high-pass-target 'sound)
+					       (filter-sound flt #f #f #f #f (format #f "effects-bhp ~A 0 #f" high-pass-freq))
+					       (if (eq? high-pass-target 'selection)
+						   (filter-selection flt)
+						   (let ((ms (plausible-mark-samples)))
+						     (let ((bg (car ms))
+							   (nd (- (+ (cadr ms) 1) (car ms))))
+						       (clm-channel flt bg nd #f #f #f #f 
+								    (format #f "effects-bhp ~A ~A ~A" high-pass-freq bg nd))))))))
+				       
+				       (lambda (w data)
+					 (help-dialog "High-pass filter"
+						      "Butterworth high-pass filter. Move the slider to change the high-pass cutoff frequency."))
+				       
+				       (lambda (w data)
+					 (set! high-pass-freq initial-high-pass-freq)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) (scale-log->linear 20 high-pass-freq 22050))
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok high-pass-target))))
+				
+				(set! sliders
+				      (add-sliders high-pass-dialog
+						   (list (list "high-pass cutoff frequency" 20 initial-high-pass-freq 22050
+							       (lambda (w data)
+								 (set! high-pass-freq
+								       (scale-linear->log 20 (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0))) 22050)))
+							       1 'log))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG high-pass-dialog)) 
+					    (lambda (target) 
+					      (set! high-pass-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT high-pass-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog high-pass-dialog))
+			  #f)
+	(set! filter-menu-list (cons (lambda ()
+				       (change-label child (format #f "High-pass filter (~,2F)" high-pass-freq)))
+				     filter-menu-list))))
+    
+    ;; -------- Butterworth low-pass filter
+    
+    (let ((child (gtk_menu_item_new_with_label "Low-pass filter")))
+      (gtk_menu_shell_append (GTK_MENU_SHELL filter-cascade) child)
+      (gtk_widget_show child)
+      (let ((low-pass-freq 1000)
+	    (low-pass-dialog #f)
+	    (low-pass-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless low-pass-dialog
+			      (let ((initial-low-pass-freq 1000)
+				    (sliders ()))
+				(sete! low-pass-dialog 
+				       (make-effect-dialog 
+					"Low-pass filter"
+					
+					(lambda (w data) 
+					  (let ((flt (make-butter-low-pass low-pass-freq)))
+					    (if (eq? low-pass-target 'sound)
+						(filter-sound flt #f #f #f #f (format #f "effects-blp ~A 0 #f" low-pass-freq))
+						(if (eq? low-pass-target 'selection)
+						    (filter-selection flt)
+						    (let ((ms (plausible-mark-samples)))
+						      (let ((bg (car ms))
+							    (nd (- (+ (cadr ms) 1) (car ms))))
+							(clm-channel flt bg nd #f #f #f #f 
+								     (format #f "effects-blp ~A ~A ~A" low-pass-freq bg nd))))))))
+					
+					(lambda (w data)
+					  (help-dialog "Low-pass filter"
+						       "Butterworth low-pass filter. Move the slider to change the low-pass cutoff frequency."))
+					
+					(lambda (w data)
+					  (set! low-pass-freq initial-low-pass-freq)
+					  (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) (scale-log->linear 20 low-pass-freq 22050))
+					  )
+					
+					(lambda () 
+					  (effect-target-ok low-pass-target))))
+				
+				(set! sliders
+				      (add-sliders low-pass-dialog
+						   (list (list "low-pass cutoff frequency" 20 initial-low-pass-freq 22050
+							       (lambda (w data)
+								 (set! low-pass-freq 
+								       (scale-linear->log 20 (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0))) 22050)))
+							       1 'log))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG low-pass-dialog)) 
+					    (lambda (target) 
+					      (set! low-pass-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT low-pass-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog low-pass-dialog))
+			  #f)
+	(set! filter-menu-list (cons (lambda ()
+				       (change-label child (format #f "Low-pass filter (~,2F)" low-pass-freq)))
+				     filter-menu-list))))
     
     ;; -------- Comb filter
     
-    (let ((child (gtk_menu_item_new_with_label "Comb filter"))
-	  (comb-scaler 0.1)
-	  (comb-size 50)
-	  (comb-dialog #f)
-	  (comb-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Comb filter")))
       (gtk_menu_shell_append (GTK_MENU_SHELL filter-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless comb-dialog
-			    (let ((initial-comb-scaler 0.1)
-				  (initial-comb-size 50)
-				  (sliders ()))
-			      (set! comb-dialog 
-				    (make-effect-dialog 
-				     "Comb filter"
-				     
-				     (lambda (w data) 
-				       (map-chan-over-target-with-sync
-					(lambda (ignored) 
-					  (effects-comb-filter comb-scaler comb-size)) 
-					comb-target 
-					(lambda (target samps)
-					  (format #f "effects-comb-filter ~A ~A" comb-scaler comb-size))
-					#f))
-				     
-				     (lambda (w data)
-				       (help-dialog "Comb filter"
-						    "Move the sliders to change the comb scaler and size."))
-				     
-				     (lambda (w data)
-				       (set! comb-scaler initial-comb-scaler)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) comb-scaler)
-				       (set! comb-size initial-comb-size)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) comb-size)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok comb-target))))
-			      
-			      (set! sliders
-				    (add-sliders comb-dialog
-						 (list (list "scaler" 0.0 initial-comb-scaler 1.0
-							     (lambda (w data)
-							       (set! comb-scaler (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100)
-						       (list "size" 0 initial-comb-size 100
-							     (lambda (w data)
-							       (set! comb-size (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     1))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG comb-dialog)) 
-					  (lambda (target) 
-					    (set! comb-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT comb-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog comb-dialog))
-			#f)
-      (set! filter-menu-list (cons (lambda ()
-				     (change-label child (format #f "Comb filter (~1,2F ~D)" comb-scaler comb-size)))
-				   filter-menu-list)))
+      (let ((comb-scaler 0.1)
+	    (comb-size 50)
+	    (comb-dialog #f)
+	    (comb-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless comb-dialog
+			      (let ((initial-comb-scaler 0.1)
+				    (initial-comb-size 50)
+				    (sliders ()))
+				(set! comb-dialog 
+				      (make-effect-dialog 
+				       "Comb filter"
+				       
+				       (lambda (w data) 
+					 (map-chan-over-target-with-sync
+					  (lambda (ignored) 
+					    (effects-comb-filter comb-scaler comb-size)) 
+					  comb-target 
+					  (lambda (target samps)
+					    (format #f "effects-comb-filter ~A ~A" comb-scaler comb-size))
+					  #f))
+				       
+				       (lambda (w data)
+					 (help-dialog "Comb filter"
+						      "Move the sliders to change the comb scaler and size."))
+				       
+				       (lambda (w data)
+					 (set! comb-scaler initial-comb-scaler)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) comb-scaler)
+					 (set! comb-size initial-comb-size)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) comb-size)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok comb-target))))
+				
+				(set! sliders
+				      (add-sliders comb-dialog
+						   (list (list "scaler" 0.0 initial-comb-scaler 1.0
+							       (lambda (w data)
+								 (set! comb-scaler (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100)
+							 (list "size" 0 initial-comb-size 100
+							       (lambda (w data)
+								 (set! comb-size (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       1))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG comb-dialog)) 
+					    (lambda (target) 
+					      (set! comb-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT comb-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog comb-dialog))
+			  #f)
+	(set! filter-menu-list (cons (lambda ()
+				       (change-label child (format #f "Comb filter (~1,2F ~D)" comb-scaler comb-size)))
+				     filter-menu-list))))
     
     ;; -------- Comb-chord filter
     
@@ -1256,159 +1256,159 @@ Move the sliders to set the filter cutoff frequency and resonance."))
     
     ;; -------- Sample rate conversion (resample)
     
-    (let ((child (gtk_menu_item_new_with_label "Sample rate conversion"))
-	  (src-amount 0.0)
-	  (src-dialog #f)
-	  (src-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Sample rate conversion")))
       (gtk_menu_shell_append (GTK_MENU_SHELL freq-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless src-dialog
-			    (let ((initial-src-amount 0.0)
-				  (sliders ()))
-			      (set! src-dialog
-				    (make-effect-dialog
-				     "Sample rate conversion"
-				     
-				     (lambda (w data) 
-				       (if (eq? src-target 'sound)
-					   (src-sound src-amount)
-					   (if (eq? src-target 'selection)
-					       (if (selection?)
-						   (src-selection src-amount)
-						   (snd-print "no selection"))
-					       (snd-print "can't apply src between marks yet"))))
-				     
-				     (lambda (w data)
-				       (help-dialog "Sample rate conversion"
-						    "Move the slider to change the sample rate.
+      (let ((src-amount 0.0)
+	    (src-dialog #f)
+	    (src-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless src-dialog
+			      (let ((initial-src-amount 0.0)
+				    (sliders ()))
+				(set! src-dialog
+				      (make-effect-dialog
+				       "Sample rate conversion"
+				       
+				       (lambda (w data) 
+					 (if (eq? src-target 'sound)
+					     (src-sound src-amount)
+					     (if (eq? src-target 'selection)
+						 (if (selection?)
+						     (src-selection src-amount)
+						     (snd-print "no selection"))
+						 (snd-print "can't apply src between marks yet"))))
+				       
+				       (lambda (w data)
+					 (help-dialog "Sample rate conversion"
+						      "Move the slider to change the sample rate.
 Values greater than 1.0 speed up file play, negative values reverse it."))
-				     
-				     (lambda (w data)
-				       (set! src-amount initial-src-amount)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) src-amount))
-				     
-				     (lambda () 
-				       (effect-target-ok src-target))))
-			      
-			      (set! sliders
-				    (add-sliders src-dialog
-						 (list (list "sample rate" -2.0 initial-src-amount 2.0
-							     (lambda (w data)
-							       (set! src-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100)))))
-			    (add-target (gtk_dialog_get_content_area (GTK_DIALOG src-dialog)) 
-					(lambda (target) 
-					  (set! src-target target)
-					  (gtk_widget_set_sensitive 
-					   (GTK_WIDGET (g_object_get_data (G_OBJECT src-dialog) "ok-button")) 
-					   (effect-target-ok target)))
-					#f))
-			  (activate-dialog src-dialog))
-			#f)
-      (set! freq-menu-list (cons (lambda ()
-				   (change-label child (format #f "Sample rate scaling (~1,2F)" src-amount)))
-				 freq-menu-list)))
+				       
+				       (lambda (w data)
+					 (set! src-amount initial-src-amount)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) src-amount))
+				       
+				       (lambda () 
+					 (effect-target-ok src-target))))
+				
+				(set! sliders
+				      (add-sliders src-dialog
+						   (list (list "sample rate" -2.0 initial-src-amount 2.0
+							       (lambda (w data)
+								 (set! src-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100)))))
+			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG src-dialog)) 
+					  (lambda (target) 
+					    (set! src-target target)
+					    (gtk_widget_set_sensitive 
+					     (GTK_WIDGET (g_object_get_data (G_OBJECT src-dialog) "ok-button")) 
+					     (effect-target-ok target)))
+					  #f))
+			    (activate-dialog src-dialog))
+			  #f)
+	(set! freq-menu-list (cons (lambda ()
+				     (change-label child (format #f "Sample rate scaling (~1,2F)" src-amount)))
+				   freq-menu-list))))
     
     ;; -------- Time and pitch scaling by granular synthesis and sampling rate conversion
     
-    (let ((child (gtk_menu_item_new_with_label "Time/pitch scaling"))
-	  (time-scale 1.0)
-	  (hop-size 0.05)
-	  (segment-length 0.15)
-	  (ramp-scale 0.5)
-	  (pitch-scale 1.0)
-	  (expsrc-dialog #f)
-	  (expsrc-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Time/pitch scaling")))
       (gtk_menu_shell_append (GTK_MENU_SHELL freq-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless expsrc-dialog
-			    (let ((initial-time-scale 1.0)
-				  (initial-hop-size 0.05)
-				  (initial-segment-length 0.15)
-				  (initial-ramp-scale 0.5)
-				  (initial-pitch-scale 1.0)
-				  (sliders ()))
-			      (set! expsrc-dialog 
-				    (make-effect-dialog
-				     "Time/pitch scaling"
-				     
-				     (lambda (w data) 
-				       (let ((snd (selected-sound)))
-					 (save-controls snd)
-					 (reset-controls snd)
-					 (set! (speed-control snd) pitch-scale)
-					 (let ((new-time (* pitch-scale time-scale)))
-					   (if (not (= new-time 1.0))
-					       (begin
-						 (set! (expand-control? snd) #t)
-						 (set! (expand-control snd) new-time)
-						 (set! (expand-control-hop snd) hop-size)
-						 (set! (expand-control-length snd) segment-length)
-						 (set! (expand-control-ramp snd) ramp-scale))))
-					 (if (eq? expsrc-target 'marks)
-					     (let ((ms (plausible-mark-samples)))
-					       (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
-					     (apply-controls snd (if (eq? expsrc-target 'sound) 0 2)))
-					 (restore-controls snd)))
-				     
-				     (lambda (w data)
-				       (help-dialog "Time/pitch scaling"
-						    "Move the sliders to change the time/pitch scaling parameters."))
-				     
-				     (lambda (w data)
-				       (set! time-scale initial-time-scale)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) time-scale)
-				       (set! hop-size initial-hop-size)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) hop-size)
-				       (set! segment-length initial-segment-length)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 2)) segment-length)
-				       (set! ramp-scale initial-ramp-scale)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 3)) ramp-scale)
-				       (set! pitch-scale initial-pitch-scale)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 4)) pitch-scale)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok expsrc-target))))
-			      
-			      (set! sliders
-				    (add-sliders expsrc-dialog
-						 (list (list "time scale" 0.0 initial-time-scale 5.0
-							     (lambda (w data)
-							       (set! time-scale (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100)
-						       (list "hop size" 0.0 initial-hop-size 1.0
-							     (lambda (w data)
-							       (set! hop-size (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
-							     100)
-						       (list "segment length" 0.0 initial-segment-length 0.5
-							     (lambda (w data)
-							       (set! segment-length (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
-							     100)
-						       (list "ramp scale" 0.0 initial-ramp-scale 0.5
-							     (lambda (w data)
-							       (set! ramp-scale (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 3)))))
-							     1000)
-						       (list "pitch scale" 0.0 initial-pitch-scale 5.0
-							     (lambda (w data)
-							       (set! pitch-scale (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 4)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG expsrc-dialog)) 
-					  (lambda (target) 
-					    (set! expsrc-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT expsrc-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog expsrc-dialog))
-			#f)
-      (set! freq-menu-list (cons (lambda ()
-				   (change-label child (format #f "Time/pitch scaling (~1,2F ~1,2F)" time-scale pitch-scale)))
-				 freq-menu-list)))
+      (let ((time-scale 1.0)
+	    (hop-size 0.05)
+	    (segment-length 0.15)
+	    (ramp-scale 0.5)
+	    (pitch-scale 1.0)
+	    (expsrc-dialog #f)
+	    (expsrc-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless expsrc-dialog
+			      (let ((initial-time-scale 1.0)
+				    (initial-hop-size 0.05)
+				    (initial-segment-length 0.15)
+				    (initial-ramp-scale 0.5)
+				    (initial-pitch-scale 1.0)
+				    (sliders ()))
+				(set! expsrc-dialog 
+				      (make-effect-dialog
+				       "Time/pitch scaling"
+				       
+				       (lambda (w data) 
+					 (let ((snd (selected-sound)))
+					   (save-controls snd)
+					   (reset-controls snd)
+					   (set! (speed-control snd) pitch-scale)
+					   (let ((new-time (* pitch-scale time-scale)))
+					     (if (not (= new-time 1.0))
+						 (begin
+						   (set! (expand-control? snd) #t)
+						   (set! (expand-control snd) new-time)
+						   (set! (expand-control-hop snd) hop-size)
+						   (set! (expand-control-length snd) segment-length)
+						   (set! (expand-control-ramp snd) ramp-scale))))
+					   (if (eq? expsrc-target 'marks)
+					       (let ((ms (plausible-mark-samples)))
+						 (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
+					       (apply-controls snd (if (eq? expsrc-target 'sound) 0 2)))
+					   (restore-controls snd)))
+				       
+				       (lambda (w data)
+					 (help-dialog "Time/pitch scaling"
+						      "Move the sliders to change the time/pitch scaling parameters."))
+				       
+				       (lambda (w data)
+					 (set! time-scale initial-time-scale)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) time-scale)
+					 (set! hop-size initial-hop-size)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) hop-size)
+					 (set! segment-length initial-segment-length)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 2)) segment-length)
+					 (set! ramp-scale initial-ramp-scale)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 3)) ramp-scale)
+					 (set! pitch-scale initial-pitch-scale)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 4)) pitch-scale)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok expsrc-target))))
+				
+				(set! sliders
+				      (add-sliders expsrc-dialog
+						   (list (list "time scale" 0.0 initial-time-scale 5.0
+							       (lambda (w data)
+								 (set! time-scale (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100)
+							 (list "hop size" 0.0 initial-hop-size 1.0
+							       (lambda (w data)
+								 (set! hop-size (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
+							       100)
+							 (list "segment length" 0.0 initial-segment-length 0.5
+							       (lambda (w data)
+								 (set! segment-length (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
+							       100)
+							 (list "ramp scale" 0.0 initial-ramp-scale 0.5
+							       (lambda (w data)
+								 (set! ramp-scale (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 3)))))
+							       1000)
+							 (list "pitch scale" 0.0 initial-pitch-scale 5.0
+							       (lambda (w data)
+								 (set! pitch-scale (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 4)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG expsrc-dialog)) 
+					    (lambda (target) 
+					      (set! expsrc-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT expsrc-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog expsrc-dialog))
+			  #f)
+	(set! freq-menu-list (cons (lambda ()
+				     (change-label child (format #f "Time/pitch scaling (~1,2F ~1,2F)" time-scale pitch-scale)))
+				   freq-menu-list))))
     
 ;;; -------- Time-varying sample rate conversion (resample)
 ;;; (KSM)
@@ -1559,8 +1559,8 @@ Values greater than 1.0 speed up file play, negative values reverse it."))
 					am-effect-target 
 					(lambda (target samps)
 					  (format #f "effects-am ~A ~A" am-effect-amount
-						  (let* ((need-env (not (equal? (xe-envelope am-effect-envelope) '(0.0 1.0 1.0 1.0))))
-							 (e (and need-env (xe-envelope am-effect-envelope))))
+						  (let ((e (and (not (equal? (xe-envelope am-effect-envelope) '(0.0 1.0 1.0 1.0)))
+								(xe-envelope am-effect-envelope))))
 						    (and e (format #f "'~A" e)))))
 					#f))
 				     
@@ -1642,8 +1642,8 @@ Values greater than 1.0 speed up file play, negative values reverse it."))
 					rm-target 
 					(lambda (target samps)
 					  (format #f "effects-rm ~A ~A" rm-frequency
-						  (let* ((need-env (not (equal? (xe-envelope rm-envelope) '(0.0 1.0 1.0 1.0))))
-							 (e (and need-env (xe-envelope rm-envelope))))
+						  (let ((e (and (not (equal? (xe-envelope rm-envelope) '(0.0 1.0 1.0 1.0)))
+								(xe-envelope rm-envelope))))
 						    (and e (format #f "'~A" e)))))
 					#f))
 				     
@@ -1742,223 +1742,222 @@ Values greater than 1.0 speed up file play, negative values reverse it."))
     
     ;; -------- Reverb from Michael McNabb's Nrev 
     
-    (let ((child (gtk_menu_item_new_with_label "McNabb reverb"))
-	  (reverb-amount 0.1)
-	  (reverb-filter 0.5)
-	  (reverb-feedback 1.09)
-	  (reverb-dialog #f)
-	  (reverb-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "McNabb reverb")))
       (gtk_menu_shell_append (GTK_MENU_SHELL reverb-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  ;; add reverb-control-decay (with ramp?) and reverb-truncate
-			  (unless reverb-dialog
-			    (let ((initial-reverb-amount 0.1)
-				  (initial-reverb-filter 0.5)
-				  (initial-reverb-feedback 1.09)
-				  (sliders ()))
-			      (set! reverb-dialog 
-				    (make-effect-dialog 
-				     "McNabb reverb"
-				     
-				     (lambda (w data)
-				       (let ((snd (selected-sound)))
-					 (save-controls snd)
-					 (reset-controls snd)
-					 (set! (reverb-control? snd) #t)
-					 (set! (reverb-control-scale snd) reverb-amount)
-					 (set! (reverb-control-lowpass snd) reverb-filter)
-					 (set! (reverb-control-feedback snd) reverb-feedback)
-					 (if (eq? reverb-target 'marks)
-					     (let ((ms (plausible-mark-samples)))
-					       (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
-					     (apply-controls snd (if (eq? reverb-target 'sound) 0 2)))
-					 (restore-controls snd)))
-				     
-				     (lambda (w data)
-				       (help-dialog "McNabb reverb"
-						    "Reverberator from Michael McNabb.
+      (let ((reverb-amount 0.1)
+	    (reverb-filter 0.5)
+	    (reverb-feedback 1.09)
+	    (reverb-dialog #f)
+	    (reverb-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    ;; add reverb-control-decay (with ramp?) and reverb-truncate
+			    (unless reverb-dialog
+			      (let ((initial-reverb-amount 0.1)
+				    (initial-reverb-filter 0.5)
+				    (initial-reverb-feedback 1.09)
+				    (sliders ()))
+				(set! reverb-dialog 
+				      (make-effect-dialog 
+				       "McNabb reverb"
+				       
+				       (lambda (w data)
+					 (let ((snd (selected-sound)))
+					   (save-controls snd)
+					   (reset-controls snd)
+					   (set! (reverb-control? snd) #t)
+					   (set! (reverb-control-scale snd) reverb-amount)
+					   (set! (reverb-control-lowpass snd) reverb-filter)
+					   (set! (reverb-control-feedback snd) reverb-feedback)
+					   (if (eq? reverb-target 'marks)
+					       (let ((ms (plausible-mark-samples)))
+						 (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
+					       (apply-controls snd (if (eq? reverb-target 'sound) 0 2)))
+					   (restore-controls snd)))
+				       
+				       (lambda (w data)
+					 (help-dialog "McNabb reverb"
+						      "Reverberator from Michael McNabb.
 Adds reverberation scaled by reverb amount, lowpass filtering, and feedback. Move the sliders to change the reverb parameters."))
-				     
-				     (lambda (w data)
-				       (set! reverb-amount initial-reverb-amount)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) reverb-amount)
-				       (set! reverb-filter initial-reverb-filter)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) reverb-filter)
-				       (set! reverb-feedback initial-reverb-feedback)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (caddr sliders)) reverb-feedback)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok reverb-target))))
-			      
-			      (set! sliders
-				    (add-sliders reverb-dialog
-						 (list (list "reverb amount" 0.0 initial-reverb-amount 1.0
-							     (lambda (w data)
-							       (set! reverb-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100)
-						       (list "reverb filter" 0.0 initial-reverb-filter 1.0
-							     (lambda (w data)
-							       (set! reverb-filter (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
-							     100)
-						       (list "reverb feedback" 0.0 initial-reverb-feedback 1.25
-							     (lambda (w data)
-							       (set! reverb-feedback (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG reverb-dialog)) 
-					  (lambda (target) 
-					    (set! reverb-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT reverb-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog reverb-dialog))
-			#f)
-      (set! reverb-menu-list (cons (lambda ()
-				     (change-label child (format #f "McNabb reverb (~1,2F ~1,2F ~1,2F)" reverb-amount reverb-filter reverb-feedback)))
-				   reverb-menu-list)))
+				       
+				       (lambda (w data)
+					 (set! reverb-amount initial-reverb-amount)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) reverb-amount)
+					 (set! reverb-filter initial-reverb-filter)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) reverb-filter)
+					 (set! reverb-feedback initial-reverb-feedback)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (caddr sliders)) reverb-feedback)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok reverb-target))))
+				
+				(set! sliders
+				      (add-sliders reverb-dialog
+						   (list (list "reverb amount" 0.0 initial-reverb-amount 1.0
+							       (lambda (w data)
+								 (set! reverb-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100)
+							 (list "reverb filter" 0.0 initial-reverb-filter 1.0
+							       (lambda (w data)
+								 (set! reverb-filter (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
+							       100)
+							 (list "reverb feedback" 0.0 initial-reverb-feedback 1.25
+							       (lambda (w data)
+								 (set! reverb-feedback (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG reverb-dialog)) 
+					    (lambda (target) 
+					      (set! reverb-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT reverb-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog reverb-dialog))
+			  #f)
+	(set! reverb-menu-list (cons (lambda ()
+				       (change-label child (format #f "McNabb reverb (~1,2F ~1,2F ~1,2F)" reverb-amount reverb-filter reverb-feedback)))
+				     reverb-menu-list))))
     
     ;; -------- Chowning reverb
     
-    (let ((child (gtk_menu_item_new_with_label "Chowning reverb"))
-	  (jc-reverb-decay 2.0)
-	  (jc-reverb-volume 0.1)
-	  (jc-reverb-dialog #f)
-	  (jc-reverb-target 'sound)
-	  (jc-reverb-truncate #t))
-      
+    (let ((child (gtk_menu_item_new_with_label "Chowning reverb")))
       (gtk_menu_shell_append (GTK_MENU_SHELL reverb-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless jc-reverb-dialog
-			    (let ((initial-jc-reverb-decay 2.0)
-				  (initial-jc-reverb-volume 0.1)
-				  (sliders ()))
-			      (set! jc-reverb-dialog
-				    (make-effect-dialog
-				     "Chowning reverb"
-				     
-				     (lambda (w data) 
-				       (map-chan-over-target-with-sync
-					(lambda (samps) (effects-jc-reverb samps jc-reverb-volume))
-					jc-reverb-target 
-					(lambda (target samps) 
-					  (format #f "effects-jc-reverb-1 ~A" jc-reverb-volume))
-					(and (not jc-reverb-truncate) jc-reverb-decay)))
-				     
-				     (lambda (w data)
-				       (help-dialog "Chowning reverb"
-						    "Nice reverb from John Chowning. Move the sliders to set the reverb parameters."))
-				     
-				     (lambda (w data)
-				       (set! jc-reverb-decay initial-jc-reverb-decay)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) jc-reverb-decay)
-				       (set! jc-reverb-volume initial-jc-reverb-volume)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) jc-reverb-volume)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok jc-reverb-target))))
-			      
-			      (set! sliders
-				    (add-sliders jc-reverb-dialog
-						 (list (list "decay duration" 0.0 initial-jc-reverb-decay 10.0
-							     (lambda (w data)
-							       (set! jc-reverb-decay (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100)
-						       (list "reverb volume" 0.0 initial-jc-reverb-volume 1.0
-							     (lambda (w data)
-							       (set! jc-reverb-volume (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG jc-reverb-dialog)) 
-					  (lambda (target) 
-					    (set! jc-reverb-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT jc-reverb-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  (lambda (truncate) 
-					    (set! jc-reverb-truncate truncate)))))
-			  (activate-dialog jc-reverb-dialog))
-			#f)
-      (set! reverb-menu-list (cons (lambda ()
-				     (change-label child (format #f "Chowning reverb (~1,2F ~1,2F)" jc-reverb-decay jc-reverb-volume)))
-				   reverb-menu-list)))
+      (let ((jc-reverb-decay 2.0)
+	    (jc-reverb-volume 0.1)
+	    (jc-reverb-dialog #f)
+	    (jc-reverb-target 'sound)
+	    (jc-reverb-truncate #t))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless jc-reverb-dialog
+			      (let ((initial-jc-reverb-decay 2.0)
+				    (initial-jc-reverb-volume 0.1)
+				    (sliders ()))
+				(set! jc-reverb-dialog
+				      (make-effect-dialog
+				       "Chowning reverb"
+				       
+				       (lambda (w data) 
+					 (map-chan-over-target-with-sync
+					  (lambda (samps) (effects-jc-reverb samps jc-reverb-volume))
+					  jc-reverb-target 
+					  (lambda (target samps) 
+					    (format #f "effects-jc-reverb-1 ~A" jc-reverb-volume))
+					  (and (not jc-reverb-truncate) jc-reverb-decay)))
+				       
+				       (lambda (w data)
+					 (help-dialog "Chowning reverb"
+						      "Nice reverb from John Chowning. Move the sliders to set the reverb parameters."))
+				       
+				       (lambda (w data)
+					 (set! jc-reverb-decay initial-jc-reverb-decay)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) jc-reverb-decay)
+					 (set! jc-reverb-volume initial-jc-reverb-volume)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) jc-reverb-volume)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok jc-reverb-target))))
+				
+				(set! sliders
+				      (add-sliders jc-reverb-dialog
+						   (list (list "decay duration" 0.0 initial-jc-reverb-decay 10.0
+							       (lambda (w data)
+								 (set! jc-reverb-decay (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100)
+							 (list "reverb volume" 0.0 initial-jc-reverb-volume 1.0
+							       (lambda (w data)
+								 (set! jc-reverb-volume (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG jc-reverb-dialog)) 
+					    (lambda (target) 
+					      (set! jc-reverb-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT jc-reverb-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    (lambda (truncate) 
+					      (set! jc-reverb-truncate truncate)))))
+			    (activate-dialog jc-reverb-dialog))
+			  #f)
+	(set! reverb-menu-list (cons (lambda ()
+				       (change-label child (format #f "Chowning reverb (~1,2F ~1,2F)" jc-reverb-decay jc-reverb-volume)))
+				     reverb-menu-list))))
     
     ;; -------- Convolution
     
-    (let ((child (gtk_menu_item_new_with_label "Convolution"))
-	  (convolve-sound-one 0)
-	  (convolve-sound-two 1)
-	  (convolve-amp 0.01)
-	  (convolve-dialog #f))
+    (let ((child (gtk_menu_item_new_with_label "Convolution")))
       (gtk_menu_shell_append (GTK_MENU_SHELL reverb-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless convolve-dialog
-			    (let ((initial-convolve-sound-one 0)
-				  (initial-convolve-sound-two 1)
-				  (initial-convolve-amp 0.01)
-				  (sliders ()))
-			      (set! convolve-dialog
-				    (make-effect-dialog
-				     "Convolution"
-				     
-				     (lambda (w data)
-				       (effects-cnv convolve-sound-one convolve-amp convolve-sound-two))
-				     
-				     (lambda (w data)
-				       (help-dialog "Convolution"
-						    "Very simple convolution. Move the sliders to set the numbers of the soundfiles
+      (let ((convolve-sound-one 0)
+	    (convolve-sound-two 1)
+	    (convolve-amp 0.01)
+	    (convolve-dialog #f))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless convolve-dialog
+			      (let ((initial-convolve-sound-one 0)
+				    (initial-convolve-sound-two 1)
+				    (initial-convolve-amp 0.01)
+				    (sliders ()))
+				(set! convolve-dialog
+				      (make-effect-dialog
+				       "Convolution"
+				       
+				       (lambda (w data)
+					 (effects-cnv convolve-sound-one convolve-amp convolve-sound-two))
+				       
+				       (lambda (w data)
+					 (help-dialog "Convolution"
+						      "Very simple convolution. Move the sliders to set the numbers of the soundfiles
 to be convolved and the amount for the amplitude scaler.  Output will be scaled to floating-point values, resulting
 in very large (but not clipped) amplitudes. Use the Normalize amplitude effect to rescale the output.
 The convolution data file typically defines a natural reverberation source, and the output from this effect
 can provide very striking reverb effects. You can find convolution data files on sites listed at
 http://www.bright.net/~dlphilp/linux_csound.html under Impulse Response Data."))
-				     (lambda (w data)
-				       (set! convolve-sound-one initial-convolve-sound-one)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) convolve-sound-one)
-				       (set! convolve-sound-two initial-convolve-sound-two)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) convolve-sound-two)
-				       (set! convolve-amp initial-convolve-amp)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 2)) convolve-amp)
-				       )))
-			      
-			      (set! sliders
-				    (add-sliders convolve-dialog
-						 (list (list "impulse response file" 0 initial-convolve-sound-one 24
-							     (lambda (w data)
-							       (set! convolve-sound-one (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     1)
-						       (list "sound file" 0 initial-convolve-sound-two 24
-							     (lambda (w data)
-							       (set! convolve-sound-two (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
-							     1)
-						       (list "amplitude" 0.0 initial-convolve-amp 0.10
-							     (lambda (w data)
-							       (set! convolve-amp (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
-							     1000))))))
-			  (activate-dialog convolve-dialog))
-			#f)
-      (set! reverb-menu-list (cons (lambda ()
-				     (change-label child (format #f "Convolution (~D ~D ~1,2F)" convolve-sound-one convolve-sound-two convolve-amp)))
-				   reverb-menu-list)))
-    )
-  
-  
+				       (lambda (w data)
+					 (set! convolve-sound-one initial-convolve-sound-one)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) convolve-sound-one)
+					 (set! convolve-sound-two initial-convolve-sound-two)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) convolve-sound-two)
+					 (set! convolve-amp initial-convolve-amp)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 2)) convolve-amp)
+					 )))
+				
+				(set! sliders
+				      (add-sliders convolve-dialog
+						   (list (list "impulse response file" 0 initial-convolve-sound-one 24
+							       (lambda (w data)
+								 (set! convolve-sound-one (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       1)
+							 (list "sound file" 0 initial-convolve-sound-two 24
+							       (lambda (w data)
+								 (set! convolve-sound-two (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
+							       1)
+							 (list "amplitude" 0.0 initial-convolve-amp 0.10
+							       (lambda (w data)
+								 (set! convolve-amp (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
+							       1000))))))
+			    (activate-dialog convolve-dialog))
+			  #f)
+	(set! reverb-menu-list (cons (lambda ()
+				       (change-label child (format #f "Convolution (~D ~D ~1,2F)" convolve-sound-one convolve-sound-two convolve-amp)))
+				     reverb-menu-list)))))
+    
+    
 ;;; VARIOUS AND MISCELLANEOUS
   
   (define effects-hello-dentist 
     (let ((documentation "(hello-dentist frq amp snd chn) varies the sampling rate randomly, making a voice sound quavery: (hello-dentist 40.0 .1)"))
       (lambda* (frq amp beg dur snd chn)
-	(let* ((rn (make-rand-interp :frequency frq :amplitude amp))
-	       (len (or dur (- (framples snd chn) beg)))
-	       (sf (make-sampler beg snd chn))
-	       (rd (make-src :srate 1.0 
-			     :input (lambda (dir) (read-sample-with-direction sf dir)))))
+	(let ((rn (make-rand-interp :frequency frq :amplitude amp))
+	      (len (or dur (- (framples snd chn) beg)))
+	      (rd (make-src :srate 1.0 
+			    :input (let ((sf (make-sampler beg snd chn)))
+				     (lambda (dir) 
+				       (read-sample-with-direction sf dir))))))
 	  (map-channel
 	   (lambda (y)
 	     (src rd (rand-interp rn)))
@@ -1966,10 +1965,12 @@ http://www.bright.net/~dlphilp/linux_csound.html under Impulse Response Data."))
   
   
   (define* (effects-fp sr osamp osfrq beg dur snd chn)
-    (let* ((os (make-oscil osfrq))
-	   (len (framples snd chn))
-	   (sf (make-sampler beg snd chn))
-	   (s (make-src :srate sr :input (lambda (dir) (read-sample-with-direction sf dir)))))
+    (let ((os (make-oscil osfrq))
+	  (len (framples snd chn))
+	  (s (make-src :srate sr 
+		       :input (let ((sf (make-sampler beg snd chn)))
+				(lambda (dir) 
+				  (read-sample-with-direction sf dir))))))
       (map-channel
        (lambda (y)
 	 (src s (* osamp (oscil os))))
@@ -1984,21 +1985,19 @@ http://www.bright.net/~dlphilp/linux_csound.html under Impulse Response Data."))
 			 (+ y (* pos (read-sample reader1))))
 		       0 len snd chn #f
 		       (format #f "effects-position-sound ~A ~A" mono-snd pos))
-	  (let ((e1 (make-env pos :length len)))
-	    (map-channel
-	     (if (eqv? chn 1)
-		 (lambda (y)
-		   (+ y (* (env e1) (read-sample reader1))))
-		 (lambda (y)
-		   (+ y (* (- 1.0 (env e1)) (read-sample reader1)))))
-	     0 len snd chn #f
-	     (format #f "effects-position-sound ~A '~A" mono-snd pos))))))
+	  (let ((e1f (let ((e1 (make-env pos :length len)))
+		       (if (eqv? chn 1)
+			   (lambda (y)
+			     (+ y (* (env e1) (read-sample reader1))))
+			   (lambda (y)
+			     (+ y (* (- 1.0 (env e1)) (read-sample reader1))))))))
+	    (map-channel e1f 0 len snd chn #f (format #f "effects-position-sound ~A '~A" mono-snd pos))))))
 
   
   (define* (effects-flange amount speed time beg dur snd chn)
-    (let* ((ri (make-rand-interp :frequency speed :amplitude amount))
-	   (len (round (* time (srate snd))))
-	   (del (make-delay len :max-size (round (+ len amount 1)))))
+    (let ((ri (make-rand-interp :frequency speed :amplitude amount))
+	  (del (let ((len (round (* time (srate snd)))))
+		 (make-delay len :max-size (round (+ len amount 1))))))
       (map-channel (lambda (inval)
 		     (* .75 (+ inval
 			       (delay del
@@ -2009,36 +2008,35 @@ http://www.bright.net/~dlphilp/linux_csound.html under Impulse Response Data."))
   
   (define (effects-cross-synthesis cross-snd amp fftsize r)
     ;; cross-snd is the index of the other sound (as opposed to the map-channel sound)
-    (let* ((freq-inc (/ fftsize 2))
-	   (fdr #f)
-	   (fdi (make-float-vector fftsize))
-	   (spectr (make-float-vector freq-inc))
-	   (inctr 0)
-	   (ctr freq-inc)
-	   (radius (- 1.0 (/ r fftsize)))
-	   (bin (/ (srate) fftsize))
-	   (formants (make-vector freq-inc)))
-      (do ((i 0 (+ 1 i)))
-	  ((= i freq-inc))
-	(set! (formants i) (make-formant (* i bin) radius)))
-      (set! formants (make-formant-bank formants spectr))
-      (lambda (inval)
-	(if (= ctr freq-inc)
-	    (begin
-	      (set! fdr (channel->float-vector inctr fftsize cross-snd 0))
-	      (set! inctr (+ inctr freq-inc))
-	      (spectrum fdr fdi #f 2)
-	      (float-vector-subtract! fdr spectr)
-	      (float-vector-scale! fdr (/ 1.0 freq-inc))
-	      (set! ctr 0)))
-	(set! ctr (+ ctr 1))
-	(float-vector-add! spectr fdr)
-	(* amp (formant-bank formants inval)))))
+    (let ((freq-inc (/ fftsize 2)))
+      (let ((fdr #f)
+	    (fdi (make-float-vector fftsize))
+	    (spectr (make-float-vector freq-inc))
+	    (inctr 0)
+	    (ctr freq-inc)
+	    (radius (- 1.0 (/ r fftsize)))
+	    (bin (/ (srate) fftsize))
+	    (formants (make-vector freq-inc)))
+	(do ((i 0 (+ 1 i)))
+	    ((= i freq-inc))
+	  (set! (formants i) (make-formant (* i bin) radius)))
+	(set! formants (make-formant-bank formants spectr))
+	(lambda (inval)
+	  (if (= ctr freq-inc)
+	      (begin
+		(set! fdr (channel->float-vector inctr fftsize cross-snd 0))
+		(set! inctr (+ inctr freq-inc))
+		(spectrum fdr fdi #f 2)
+		(float-vector-subtract! fdr spectr)
+		(float-vector-scale! fdr (/ 1.0 freq-inc))
+		(set! ctr 0)))
+	  (set! ctr (+ ctr 1))
+	  (float-vector-add! spectr fdr)
+	  (* amp (formant-bank formants inval))))))
   
   (define* (effects-cross-synthesis-1 cross-snd amp fftsize r beg dur snd chn)
-    (map-channel (effects-cross-synthesis (if (sound? cross-snd) cross-snd (car (sounds))) amp fftsize r)
-		 beg dur snd chn #f
-		 (format #f "effects-cross-synthesis-1 ~A ~A ~A ~A ~A ~A" cross-snd amp fftsize r beg dur)))
+    (let ((csf (effects-cross-synthesis (if (sound? cross-snd) cross-snd (car (sounds))) amp fftsize r)))
+      (map-channel csf beg dur snd chn #f (format #f "effects-cross-synthesis-1 ~A ~A ~A ~A ~A ~A" cross-snd amp fftsize r beg dur))))
   
   (let ((misc-menu-list ())
 	(misc-menu (gtk_menu_item_new_with_label "Various"))
@@ -2130,504 +2128,502 @@ http://www.bright.net/~dlphilp/linux_csound.html under Impulse Response Data."))
     
     ;; -------- Insert silence (at cursor, silence-amount in secs)
     
-    (let ((child (gtk_menu_item_new_with_label "Add silence"))
-	  (silence-amount 1.0)
-	  (silence-dialog #f))
+    (let ((child (gtk_menu_item_new_with_label "Add silence")))
       (gtk_menu_shell_append (GTK_MENU_SHELL misc-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless silence-dialog
-			    (let ((initial-silence-amount 1.0)
-				  (sliders ()))
-			      (set! silence-dialog
-				    (make-effect-dialog
-				     "Add silence"
-				     
-				     (lambda (w data)
-				       (insert-silence (cursor) (floor (* (srate) silence-amount))))
-				     
-				     (lambda (w data)
-				       (help-dialog "Add silence"
-						    "Move the slider to change the number of seconds of silence added at the cursor position."))
-				     
-				     (lambda (w data)
-				       (set! silence-amount initial-silence-amount)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) silence-amount)
-				       )))
-			      
-			      (set! sliders
-				    (add-sliders silence-dialog
-						 (list (list "silence" 0.0 initial-silence-amount 5.0
-							     (lambda (w data)
-							       (set! silence-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100))))))
-			  (activate-dialog silence-dialog))
-			#f)
-      (set! misc-menu-list (cons (lambda ()
-				   (change-label child (format #f "Add silence (~1,2F)" silence-amount)))
-				 misc-menu-list)))
+      (let ((silence-amount 1.0)
+	    (silence-dialog #f))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless silence-dialog
+			      (let ((initial-silence-amount 1.0)
+				    (sliders ()))
+				(set! silence-dialog
+				      (make-effect-dialog
+				       "Add silence"
+				       
+				       (lambda (w data)
+					 (insert-silence (cursor) (floor (* (srate) silence-amount))))
+				       
+				       (lambda (w data)
+					 (help-dialog "Add silence"
+						      "Move the slider to change the number of seconds of silence added at the cursor position."))
+				       
+				       (lambda (w data)
+					 (set! silence-amount initial-silence-amount)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) silence-amount)
+					 )))
+				
+				(set! sliders
+				      (add-sliders silence-dialog
+						   (list (list "silence" 0.0 initial-silence-amount 5.0
+							       (lambda (w data)
+								 (set! silence-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100))))))
+			    (activate-dialog silence-dialog))
+			  #f)
+	(set! misc-menu-list (cons (lambda ()
+				     (change-label child (format #f "Add silence (~1,2F)" silence-amount)))
+				   misc-menu-list))))
     
 ;;; -------- Contrast (brightness control)
 ;;;
     
-    (let ((child (gtk_menu_item_new_with_label "Contrast enhancement"))
-	  (contrast-amount 1.0)
-	  (contrast-dialog #f)
-	  (contrast-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Contrast enhancement")))
       (gtk_menu_shell_append (GTK_MENU_SHELL misc-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless contrast-dialog
-			    (let ((initial-contrast-amount 1.0)
-				  (sliders ()))
-			      (set! contrast-dialog
-				    (make-effect-dialog
-				     "Contrast enhancement"
-				     
-				     (lambda (w data) 
-				       (let ((peak (maxamp))
-					     (snd (selected-sound)))
-					 (save-controls snd)
-					 (reset-controls snd)
-					 (set! (contrast-control? snd) #t)
-					 (set! (contrast-control snd) contrast-amount)
-					 (set! (contrast-control-amp snd) (/ 1.0 peak))
-					 (set! (amp-control snd) peak)
-					 (if (eq? contrast-target 'marks)
-					     (let ((ms (plausible-mark-samples)))
-					       (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
-					     (apply-controls snd (if (eq? contrast-target 'sound) 0 2)))
-					 (restore-controls snd)))
-				     
-				     (lambda (w data)
-				       (help-dialog "Contrast enhancement"
-						    "Move the slider to change the contrast intensity."))
-				     
-				     (lambda (w data)
-				       (set! contrast-amount initial-contrast-amount)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) contrast-amount)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok contrast-target))))
-			      
-			      (set! sliders
-				    (add-sliders contrast-dialog
-						 (list (list "contrast enhancement" 0.0 initial-contrast-amount 10.0
-							     (lambda (w data)
-							       (set! contrast-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG contrast-dialog))
-					  (lambda (target) 
-					    (set! contrast-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT contrast-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog contrast-dialog))
-			#f)
-      (set! misc-menu-list (cons (lambda ()
-				   (change-label child (format #f "Contrast enhancement (~1,2F)" contrast-amount)))
-				 misc-menu-list)))
+      (let ((contrast-amount 1.0)
+	    (contrast-dialog #f)
+	    (contrast-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless contrast-dialog
+			      (let ((initial-contrast-amount 1.0)
+				    (sliders ()))
+				(set! contrast-dialog
+				      (make-effect-dialog
+				       "Contrast enhancement"
+				       
+				       (lambda (w data) 
+					 (let ((peak (maxamp))
+					       (snd (selected-sound)))
+					   (save-controls snd)
+					   (reset-controls snd)
+					   (set! (contrast-control? snd) #t)
+					   (set! (contrast-control snd) contrast-amount)
+					   (set! (contrast-control-amp snd) (/ 1.0 peak))
+					   (set! (amp-control snd) peak)
+					   (if (eq? contrast-target 'marks)
+					       (let ((ms (plausible-mark-samples)))
+						 (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
+					       (apply-controls snd (if (eq? contrast-target 'sound) 0 2)))
+					   (restore-controls snd)))
+				       
+				       (lambda (w data)
+					 (help-dialog "Contrast enhancement"
+						      "Move the slider to change the contrast intensity."))
+				       
+				       (lambda (w data)
+					 (set! contrast-amount initial-contrast-amount)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) contrast-amount)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok contrast-target))))
+				
+				(set! sliders
+				      (add-sliders contrast-dialog
+						   (list (list "contrast enhancement" 0.0 initial-contrast-amount 10.0
+							       (lambda (w data)
+								 (set! contrast-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG contrast-dialog))
+					    (lambda (target) 
+					      (set! contrast-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT contrast-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog contrast-dialog))
+			  #f)
+	(set! misc-menu-list (cons (lambda ()
+				     (change-label child (format #f "Contrast enhancement (~1,2F)" contrast-amount)))
+				   misc-menu-list))))
     
     ;; -------- Cross synthesis
     
-    (let ((child (gtk_menu_item_new_with_label "Cross synthesis"))
-	  (cross-synth-sound 1)
-	  (cross-synth-amp .5)
-	  (cross-synth-fft-size 128)
-	  (cross-synth-radius 6.0)
-	  (cross-synth-dialog #f)
-	  (cross-synth-target 'sound))
-      
+    (let ((child (gtk_menu_item_new_with_label "Cross synthesis")))
       (gtk_menu_shell_append (GTK_MENU_SHELL misc-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless cross-synth-dialog
-			    (let ((initial-cross-synth-sound 1)
-				  (initial-cross-synth-amp .5)
-				  (initial-cross-synth-fft-size 128)
-				  (initial-cross-synth-radius 6.0)
-				  (sliders ()))
-			      (set! cross-synth-dialog
-				    (make-effect-dialog
-				     "Cross synthesis"
-				     
-				     (lambda (w data)
-				       (map-chan-over-target-with-sync
-					(lambda (ignored) 
-					  (effects-cross-synthesis cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius))
-					cross-synth-target 
-					(lambda (target samps)
-					  (format #f "effects-cross-synthesis-1 ~A ~A ~A ~A"
-						  cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius))
-					#f))
-				     
-				     (lambda (w data)
-				       (help-dialog "Cross synthesis"
-						    "The sliders set the number of the soundfile to be cross-synthesized, 
+      (let ((cross-synth-sound 1)
+	    (cross-synth-amp .5)
+	    (cross-synth-fft-size 128)
+	    (cross-synth-radius 6.0)
+	    (cross-synth-dialog #f)
+	    (cross-synth-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless cross-synth-dialog
+			      (let ((initial-cross-synth-sound 1)
+				    (initial-cross-synth-amp .5)
+				    (initial-cross-synth-fft-size 128)
+				    (initial-cross-synth-radius 6.0)
+				    (sliders ()))
+				(set! cross-synth-dialog
+				      (make-effect-dialog
+				       "Cross synthesis"
+				       
+				       (lambda (w data)
+					 (map-chan-over-target-with-sync
+					  (lambda (ignored) 
+					    (effects-cross-synthesis cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius))
+					  cross-synth-target 
+					  (lambda (target samps)
+					    (format #f "effects-cross-synthesis-1 ~A ~A ~A ~A"
+						    cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius))
+					  #f))
+				       
+				       (lambda (w data)
+					 (help-dialog "Cross synthesis"
+						      "The sliders set the number of the soundfile to be cross-synthesized, 
 the synthesis amplitude, the FFT size, and the radius value."))
-				     
-				     (lambda (w data)
-				       (set! cross-synth-sound initial-cross-synth-sound)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) cross-synth-sound)
-				       (set! cross-synth-amp initial-cross-synth-amp)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) cross-synth-amp)
-				       (set! cross-synth-fft-size initial-cross-synth-fft-size)
-				       (set! cross-synth-radius initial-cross-synth-radius)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 2)) cross-synth-radius)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok cross-synth-target))))
-			      
-			      (set! sliders
-				    (add-sliders cross-synth-dialog
-						 (list (list "input sound" 0 initial-cross-synth-sound 20
-							     (lambda (w data)
-							       (set! cross-synth-sound (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     1)
-						       (list "amplitude" 0.0 initial-cross-synth-amp 1.0
-							     (lambda (w data)
-							       (set! cross-synth-amp (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
-							     100)
-						       (list "radius" 0.0 initial-cross-synth-radius 360.0
-							     (lambda (w data)
-							       (set! cross-synth-radius (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG cross-synth-dialog)) 
-					  (lambda (target) 
-					    (set! cross-synth-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT cross-synth-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog cross-synth-dialog))
-			#f)
-      (set! misc-menu-list (cons (lambda ()
-				   (change-label child (format #f "Cross synthesis (~D ~1,2F ~D ~1,2F)" 
-							       cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius)))
-				 misc-menu-list)))
-    
+				       
+				       (lambda (w data)
+					 (set! cross-synth-sound initial-cross-synth-sound)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 0)) cross-synth-sound)
+					 (set! cross-synth-amp initial-cross-synth-amp)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 1)) cross-synth-amp)
+					 (set! cross-synth-fft-size initial-cross-synth-fft-size)
+					 (set! cross-synth-radius initial-cross-synth-radius)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (sliders 2)) cross-synth-radius)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok cross-synth-target))))
+				
+				(set! sliders
+				      (add-sliders cross-synth-dialog
+						   (list (list "input sound" 0 initial-cross-synth-sound 20
+							       (lambda (w data)
+								 (set! cross-synth-sound (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       1)
+							 (list "amplitude" 0.0 initial-cross-synth-amp 1.0
+							       (lambda (w data)
+								 (set! cross-synth-amp (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
+							       100)
+							 (list "radius" 0.0 initial-cross-synth-radius 360.0
+							       (lambda (w data)
+								 (set! cross-synth-radius (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG cross-synth-dialog)) 
+					    (lambda (target) 
+					      (set! cross-synth-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT cross-synth-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog cross-synth-dialog))
+			  #f)
+	(set! misc-menu-list (cons (lambda ()
+				     (change-label child (format #f "Cross synthesis (~D ~1,2F ~D ~1,2F)" 
+								 cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius)))
+				   misc-menu-list))))
+      
     ;; -------- Flange and phasing
     
-    (let ((child (gtk_menu_item_new_with_label "Flange"))
-	  (flange-speed 2.0)
-	  (flange-amount 5.0)
-	  (flange-time 0.001)
-	  (flange-dialog #f)
-	  (flange-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Flange")))
       (gtk_menu_shell_append (GTK_MENU_SHELL misc-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless flange-dialog
-			    (let ((initial-flange-speed 2.0)
-				  (initial-flange-amount 5.0)
-				  (initial-flange-time 0.001)
-				  (sliders ()))
-			      (set! flange-dialog
-				    (make-effect-dialog
-				     "Flange"
-				     
-				     (lambda (w data)
-				       (map-chan-over-target-with-sync 
-					(lambda (ignored)
-					  (let* ((ri (make-rand-interp :frequency flange-speed :amplitude flange-amount))
-						 (len (round (* flange-time (srate))))
-						 (del (make-delay len :max-size (round (+ len flange-amount 1)))))
-					    (lambda (inval)
-					      (* .75 (+ inval
-							(delay del
-							       inval
-							       (rand-interp ri)))))))
-					flange-target 
-					(lambda (target samps) 
-					  (format #f "effects-flange ~A ~A ~A" flange-amount flange-speed flange-time))
-					#f))
-				     
-				     (lambda (w data)
-				       (help-dialog "Flange"
-						    "Move the sliders to change the flange speed, amount, and time"))
-				     
-				     (lambda (w data)
-				       (set! flange-speed initial-flange-speed)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) flange-speed)
-				       (set! flange-amount initial-flange-amount)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) flange-amount)
-				       (set! flange-time initial-flange-time)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (caddr sliders)) flange-time)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok flange-target))))
-			      
-			      (set! sliders
-				    (add-sliders flange-dialog
-						 (list (list "flange speed" 0.0 initial-flange-speed 100.0
-							     (lambda (w data)
-							       (set! flange-speed (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     10)
-						       (list "flange amount" 0.0 initial-flange-amount 100.0
-							     (lambda (w data)
-							       (set! flange-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
-							     10)
-						       ;; flange time ought to use a non-linear scale (similar to amp in control panel)
-						       (list "flange time" 0.0 initial-flange-time 1.0
-							     (lambda (w data)
-							       (set! flange-time (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG flange-dialog)) 
-					  (lambda (target) 
-					    (set! flange-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT flange-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog flange-dialog))
-			#f)
-      (set! misc-menu-list (cons (lambda ()
-				   (change-label child (format #f "Flange (~1,2F ~1,2F ~1,3F)" flange-speed flange-amount flange-time)))
-				 misc-menu-list)))
+      (let ((flange-speed 2.0)
+	    (flange-amount 5.0)
+	    (flange-time 0.001)
+	    (flange-dialog #f)
+	    (flange-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless flange-dialog
+			      (let ((initial-flange-speed 2.0)
+				    (initial-flange-amount 5.0)
+				    (initial-flange-time 0.001)
+				    (sliders ()))
+				(set! flange-dialog
+				      (make-effect-dialog
+				       "Flange"
+				       
+				       (lambda (w data)
+					 (map-chan-over-target-with-sync 
+					  (lambda (ignored)
+					    (let ((ri (make-rand-interp :frequency flange-speed :amplitude flange-amount))
+						  (del (let ((len (round (* flange-time (srate)))))
+							 (make-delay len :max-size (round (+ len flange-amount 1))))))
+					      (lambda (inval)
+						(* .75 (+ inval
+							  (delay del
+								 inval
+								 (rand-interp ri)))))))
+					  flange-target 
+					  (lambda (target samps) 
+					    (format #f "effects-flange ~A ~A ~A" flange-amount flange-speed flange-time))
+					  #f))
+				       
+				       (lambda (w data)
+					 (help-dialog "Flange"
+						      "Move the sliders to change the flange speed, amount, and time"))
+				       
+				       (lambda (w data)
+					 (set! flange-speed initial-flange-speed)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) flange-speed)
+					 (set! flange-amount initial-flange-amount)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) flange-amount)
+					 (set! flange-time initial-flange-time)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (caddr sliders)) flange-time)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok flange-target))))
+				
+				(set! sliders
+				      (add-sliders flange-dialog
+						   (list (list "flange speed" 0.0 initial-flange-speed 100.0
+							       (lambda (w data)
+								 (set! flange-speed (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       10)
+							 (list "flange amount" 0.0 initial-flange-amount 100.0
+							       (lambda (w data)
+								 (set! flange-amount (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
+							       10)
+							 ;; flange time ought to use a non-linear scale (similar to amp in control panel)
+							 (list "flange time" 0.0 initial-flange-time 1.0
+							       (lambda (w data)
+								 (set! flange-time (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG flange-dialog)) 
+					    (lambda (target) 
+					      (set! flange-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT flange-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog flange-dialog))
+			  #f)
+	(set! misc-menu-list (cons (lambda ()
+				     (change-label child (format #f "Flange (~1,2F ~1,2F ~1,3F)" flange-speed flange-amount flange-time)))
+				   misc-menu-list))))
     
     ;; -------- Randomize phase
     
-    (let ((child (gtk_menu_item_new_with_label "Randomize phase"))
-	  (random-phase-amp-scaler 3.14)
-	  (random-phase-dialog #f))
+    (let ((child (gtk_menu_item_new_with_label "Randomize phase")))
       (gtk_menu_shell_append (GTK_MENU_SHELL misc-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless random-phase-dialog
-			    (let ((initial-random-phase-amp-scaler 3.14)
-				  (sliders ()))
-			      (set! random-phase-dialog
-				    (make-effect-dialog
-				     "Randomize phase"
-				     
-				     (lambda (w data)
-				       (rotate-phase (lambda (x) (random random-phase-amp-scaler))))
-				     
-				     (lambda (w data)
-				       (help-dialog "Randomize phase"
-						    "Move the slider to change the randomization amplitude scaler."))
-				     
-				     (lambda (w data)
-				       (set! random-phase-amp-scaler initial-random-phase-amp-scaler)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) random-phase-amp-scaler)
-				       )))
-			      
-			      (set! sliders
-				    (add-sliders random-phase-dialog
-						 (list (list "amplitude scaler" 0.0 initial-random-phase-amp-scaler 100.0
-							     (lambda (w data)
-							       (set! random-phase-amp-scaler (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100))))))
-			  (activate-dialog random-phase-dialog))
-			#f)
-      (set! misc-menu-list (cons (lambda ()
-				   (change-label child (format #f "Randomize phase (~1,2F)"  random-phase-amp-scaler)))
-				 misc-menu-list)))
+      (let ((random-phase-amp-scaler 3.14)
+	    (random-phase-dialog #f))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless random-phase-dialog
+			      (let ((initial-random-phase-amp-scaler 3.14)
+				    (sliders ()))
+				(set! random-phase-dialog
+				      (make-effect-dialog
+				       "Randomize phase"
+				       
+				       (lambda (w data)
+					 (rotate-phase (lambda (x) (random random-phase-amp-scaler))))
+				       
+				       (lambda (w data)
+					 (help-dialog "Randomize phase"
+						      "Move the slider to change the randomization amplitude scaler."))
+				       
+				       (lambda (w data)
+					 (set! random-phase-amp-scaler initial-random-phase-amp-scaler)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) random-phase-amp-scaler)
+					 )))
+				
+				(set! sliders
+				      (add-sliders random-phase-dialog
+						   (list (list "amplitude scaler" 0.0 initial-random-phase-amp-scaler 100.0
+							       (lambda (w data)
+								 (set! random-phase-amp-scaler (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100))))))
+			    (activate-dialog random-phase-dialog))
+			  #f)
+	(set! misc-menu-list (cons (lambda ()
+				     (change-label child (format #f "Randomize phase (~1,2F)"  random-phase-amp-scaler)))
+				   misc-menu-list))))
     
     ;; -------- Robotize
     
-    (let ((child (gtk_menu_item_new_with_label "Robotize"))
-	  (samp-rate 1.0)
-	  (osc-amp 0.3)
-	  (osc-freq 20)
-	  (robotize-dialog #f)
-	  (robotize-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Robotize")))
       (gtk_menu_shell_append (GTK_MENU_SHELL misc-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless robotize-dialog
-			    (let ((initial-samp-rate 1.0)
-				  (initial-osc-amp 0.3)
-				  (initial-osc-freq 20)
-				  (sliders ()))
-			      (set! robotize-dialog
-				    (make-effect-dialog
-				     "Robotize"
-				     
-				     (lambda (w data)
-				       (let ((ms (and (eq? robotize-target 'marks)
-						      (plausible-mark-samples))))
-					 (effects-fp samp-rate osc-amp osc-freq
-						     (if (eq? robotize-target 'sound)
-							 (values 0 
-								 (framples))
-							 (if (eq? robotize-target 'selection)
-							     (values (selection-position)
-								     (selection-framples))
-							     (values (car ms)
-								     (- (cadr ms) (car ms))))))))
-				     (lambda (w data)
-				       (help-dialog "Robotize"
-						    "Move the sliders to set the sample rate, oscillator amplitude, and oscillator frequency."))
-				     
-				     (lambda (w data)
-				       (set! samp-rate initial-samp-rate)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) samp-rate)
-				       (set! osc-amp initial-osc-amp)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) osc-amp)
-				       (set! osc-freq initial-osc-freq)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (caddr sliders)) osc-freq)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok robotize-target))))
-			      
-			      (set! sliders
-				    (add-sliders robotize-dialog
-						 (list (list "sample rate" 0.0 initial-samp-rate 2.0
-							     (lambda (w data)
-							       (set! samp-rate (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100)
-						       (list "oscillator amplitude" 0.0 initial-osc-amp 1.0
-							     (lambda (w data)
-							       (set! osc-amp (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
-							     100)
-						       (list "oscillator frequency" 0.0 initial-osc-freq 60
-							     (lambda (w data)
-							       (set! osc-freq (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG robotize-dialog)) 
-					  (lambda (target) 
-					    (set! robotize-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT robotize-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog robotize-dialog))
-			#f)
-      (set! misc-menu-list (cons (lambda ()
-				   (change-label child (format #f "Robotize (~1,2F ~1,2F ~1,2F)" samp-rate osc-amp osc-freq)))
-				 misc-menu-list)))
+      (let ((samp-rate 1.0)
+	    (osc-amp 0.3)
+	    (osc-freq 20)
+	    (robotize-dialog #f)
+	    (robotize-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless robotize-dialog
+			      (let ((initial-samp-rate 1.0)
+				    (initial-osc-amp 0.3)
+				    (initial-osc-freq 20)
+				    (sliders ()))
+				(set! robotize-dialog
+				      (make-effect-dialog
+				       "Robotize"
+				       
+				       (lambda (w data)
+					 (let ((ms (and (eq? robotize-target 'marks)
+							(plausible-mark-samples))))
+					   (effects-fp samp-rate osc-amp osc-freq
+						       (if (eq? robotize-target 'sound)
+							   (values 0 
+								   (framples))
+							   (if (eq? robotize-target 'selection)
+							       (values (selection-position)
+								       (selection-framples))
+							       (values (car ms)
+								       (- (cadr ms) (car ms))))))))
+				       (lambda (w data)
+					 (help-dialog "Robotize"
+						      "Move the sliders to set the sample rate, oscillator amplitude, and oscillator frequency."))
+				       
+				       (lambda (w data)
+					 (set! samp-rate initial-samp-rate)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) samp-rate)
+					 (set! osc-amp initial-osc-amp)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) osc-amp)
+					 (set! osc-freq initial-osc-freq)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (caddr sliders)) osc-freq)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok robotize-target))))
+				
+				(set! sliders
+				      (add-sliders robotize-dialog
+						   (list (list "sample rate" 0.0 initial-samp-rate 2.0
+							       (lambda (w data)
+								 (set! samp-rate (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100)
+							 (list "oscillator amplitude" 0.0 initial-osc-amp 1.0
+							       (lambda (w data)
+								 (set! osc-amp (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
+							       100)
+							 (list "oscillator frequency" 0.0 initial-osc-freq 60
+							       (lambda (w data)
+								 (set! osc-freq (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 2)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG robotize-dialog)) 
+					    (lambda (target) 
+					      (set! robotize-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT robotize-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog robotize-dialog))
+			  #f)
+	(set! misc-menu-list (cons (lambda ()
+				     (change-label child (format #f "Robotize (~1,2F ~1,2F ~1,2F)" samp-rate osc-amp osc-freq)))
+				   misc-menu-list))))
     
     ;; -------- Rubber sound
     
-    (let ((child (gtk_menu_item_new_with_label "Rubber sound"))
-	  (rubber-factor 1.0)
-	  (rubber-dialog #f)
-	  (rubber-target 'sound))
+    (let ((child (gtk_menu_item_new_with_label "Rubber sound")))
       (gtk_menu_shell_append (GTK_MENU_SHELL misc-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless rubber-dialog
-			    (let ((initial-rubber-factor 1.0)
-				  (sliders ()))
-			      (set! rubber-dialog
-				    (make-effect-dialog
-				     "Rubber sound"
-				     
-				     (lambda (w data) 
-				       (rubber-sound rubber-factor))
-				     
-				     (lambda (w data)
-				       (help-dialog "Rubber sound"
-						    "Stretches or contracts the time of a sound. Move the slider to change the stretch factor."))
-				     
-				     (lambda (w data)
-				       (set! rubber-factor initial-rubber-factor)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) rubber-factor)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok rubber-target))))
-			      
-			      (set! sliders
-				    (add-sliders rubber-dialog
-						 (list (list "stretch factor" 0.0 initial-rubber-factor 5.0
-							     (lambda (w data)
-							       (set! rubber-factor (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG rubber-dialog)) 
-					  (lambda (target) 
-					    (set! rubber-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT rubber-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog rubber-dialog))
-			#f)
-      (set! misc-menu-list (cons (lambda ()
-				   (change-label child (format #f "Rubber sound (~1,2F)"  rubber-factor)))
-				 misc-menu-list)))
-    
+      (let ((rubber-factor 1.0)
+	    (rubber-dialog #f)
+	    (rubber-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless rubber-dialog
+			      (let ((initial-rubber-factor 1.0)
+				    (sliders ()))
+				(set! rubber-dialog
+				      (make-effect-dialog
+				       "Rubber sound"
+				       
+				       (lambda (w data) 
+					 (rubber-sound rubber-factor))
+				       
+				       (lambda (w data)
+					 (help-dialog "Rubber sound"
+						      "Stretches or contracts the time of a sound. Move the slider to change the stretch factor."))
+				       
+				       (lambda (w data)
+					 (set! rubber-factor initial-rubber-factor)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) rubber-factor)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok rubber-target))))
+				
+				(set! sliders
+				      (add-sliders rubber-dialog
+						   (list (list "stretch factor" 0.0 initial-rubber-factor 5.0
+							       (lambda (w data)
+								 (set! rubber-factor (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG rubber-dialog)) 
+					    (lambda (target) 
+					      (set! rubber-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT rubber-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog rubber-dialog))
+			  #f)
+	(set! misc-menu-list (cons (lambda ()
+				     (change-label child (format #f "Rubber sound (~1,2F)"  rubber-factor)))
+				   misc-menu-list))))
+      
     ;; -------- Wobble
     
-    (let ((child (gtk_menu_item_new_with_label "Wobble"))
-	  (wobble-frequency 50)
-	  (wobble-amplitude 0.5)
-	  (wobble-dialog #f)
-	  (wobble-target 'sound))
-      
+    (let ((child (gtk_menu_item_new_with_label "Wobble")))
       (gtk_menu_shell_append (GTK_MENU_SHELL misc-cascade) child)
       (gtk_widget_show child)
-      (g_signal_connect child "activate"
-			(lambda (w d) 
-			  (unless wobble-dialog
-			    (let ((initial-wobble-frequency 50)
-				  (initial-wobble-amplitude 0.5)
-				  (sliders ()))
-			      (set! wobble-dialog
-				    (make-effect-dialog
-				     "Wobble"
-				     
-				     (lambda (w data)
-				       (let ((ms (and (eq? wobble-target 'marks)
-						      (plausible-mark-samples))))
-					 (effects-hello-dentist wobble-frequency wobble-amplitude
-								(if (eq? wobble-target 'sound)
-								    (values 0 
-									    (framples))
-								    (if (eq? wobble-target 'selection)
-									(values (selection-position)
-										(selection-framples))
-									(values	(car ms)
-										(- (cadr ms) (car ms))))))))
-				     (lambda (w data)
-				       (help-dialog "Wobble"
-						    "Move the sliders to set the wobble frequency and amplitude."))
-				     
-				     (lambda (w data)
-				       (set! wobble-frequency initial-wobble-frequency)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) wobble-frequency)
-				       (set! wobble-amplitude initial-wobble-amplitude)
-				       (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) wobble-amplitude)
-				       )
-				     
-				     (lambda () 
-				       (effect-target-ok wobble-target))))
-			      
-			      (set! sliders
-				    (add-sliders wobble-dialog
-						 (list (list "wobble frequency" 0 initial-wobble-frequency 100
-							     (lambda (w data)
-							       (set! wobble-frequency (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
-							     100)
-						       (list "wobble amplitude" 0.0 initial-wobble-amplitude 1.0
-							     (lambda (w data)
-							       (set! wobble-amplitude (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
-							     100))))
-			      (add-target (gtk_dialog_get_content_area (GTK_DIALOG wobble-dialog)) 
-					  (lambda (target) 
-					    (set! wobble-target target)
-					    (gtk_widget_set_sensitive 
-					     (GTK_WIDGET (g_object_get_data (G_OBJECT wobble-dialog) "ok-button")) 
-					     (effect-target-ok target)))
-					  #f)))
-			  (activate-dialog wobble-dialog))
-			#f)
-      (set! misc-menu-list (cons (lambda ()
-				   (change-label child (format #f "Wobble (~1,2F ~1,2F)" wobble-frequency wobble-amplitude)))
-				 misc-menu-list)))
+      (let ((wobble-frequency 50)
+	    (wobble-amplitude 0.5)
+	    (wobble-dialog #f)
+	    (wobble-target 'sound))
+	(g_signal_connect child "activate"
+			  (lambda (w d) 
+			    (unless wobble-dialog
+			      (let ((initial-wobble-frequency 50)
+				    (initial-wobble-amplitude 0.5)
+				    (sliders ()))
+				(set! wobble-dialog
+				      (make-effect-dialog
+				       "Wobble"
+				       
+				       (lambda (w data)
+					 (let ((ms (and (eq? wobble-target 'marks)
+							(plausible-mark-samples))))
+					   (effects-hello-dentist wobble-frequency wobble-amplitude
+								  (if (eq? wobble-target 'sound)
+								      (values 0 
+									      (framples))
+								      (if (eq? wobble-target 'selection)
+									  (values (selection-position)
+										  (selection-framples))
+									  (values	(car ms)
+											(- (cadr ms) (car ms))))))))
+				       (lambda (w data)
+					 (help-dialog "Wobble"
+						      "Move the sliders to set the wobble frequency and amplitude."))
+				       
+				       (lambda (w data)
+					 (set! wobble-frequency initial-wobble-frequency)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (car sliders)) wobble-frequency)
+					 (set! wobble-amplitude initial-wobble-amplitude)
+					 (gtk_adjustment_set_value (GTK_ADJUSTMENT (cadr sliders)) wobble-amplitude)
+					 )
+				       
+				       (lambda () 
+					 (effect-target-ok wobble-target))))
+				
+				(set! sliders
+				      (add-sliders wobble-dialog
+						   (list (list "wobble frequency" 0 initial-wobble-frequency 100
+							       (lambda (w data)
+								 (set! wobble-frequency (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 0)))))
+							       100)
+							 (list "wobble amplitude" 0.0 initial-wobble-amplitude 1.0
+							       (lambda (w data)
+								 (set! wobble-amplitude (gtk_adjustment_get_value (GTK_ADJUSTMENT (sliders 1)))))
+							       100))))
+				(add-target (gtk_dialog_get_content_area (GTK_DIALOG wobble-dialog)) 
+					    (lambda (target) 
+					      (set! wobble-target target)
+					      (gtk_widget_set_sensitive 
+					       (GTK_WIDGET (g_object_get_data (G_OBJECT wobble-dialog) "ok-button")) 
+					       (effect-target-ok target)))
+					    #f)))
+			    (activate-dialog wobble-dialog))
+			  #f)
+	(set! misc-menu-list (cons (lambda ()
+				     (change-label child (format #f "Wobble (~1,2F ~1,2F)" wobble-frequency wobble-amplitude)))
+				   misc-menu-list))))
     )
   
 ;;;
diff --git a/headers.c b/headers.c
index 5b8a7ab..bf224a3 100644
--- a/headers.c
+++ b/headers.c
@@ -2414,7 +2414,7 @@ static int write_rf64_header(int fd, int wsrate, int wchans, mus_long_t size, mu
 
 static int mus_header_convert_riff_to_rf64(const char *filename, mus_long_t size)
 {
-  int err = MUS_NO_ERROR, fd;
+  int err, fd;
 
   update_rf64_location = -1;
   update_ssnd_location = 0;
@@ -6513,7 +6513,7 @@ int mus_header_change_srate(const char *filename, mus_header_t type, int new_sra
 
 int mus_header_change_type(const char *filename, mus_header_t new_type, mus_sample_t new_format)
 {
-  int err = MUS_NO_ERROR;
+  int err;
   /* open temp, write header, copy data, replace original with temp */
   err = mus_header_read(filename);
   if (err == MUS_NO_ERROR)
@@ -6693,7 +6693,7 @@ int mus_header_change_location(const char *filename, mus_header_t type, mus_long
 
 int mus_header_change_comment(const char *filename, mus_header_t type, const char *new_comment)
 {
-  int err = MUS_NO_ERROR;
+  int err;
   err = mus_header_read(filename);
   if (err == MUS_NO_ERROR)
     {
diff --git a/index.html b/index.html
index c1ecbba..df4a212 100644
--- a/index.html
+++ b/index.html
@@ -37,192 +37,191 @@
 </head>
 <body class="body">
 <div class="topheader">Index</div>
-<!-- created 18-Mar-16 05:58 PDT -->
+<!-- created 01-Jul-16 09:52 PDT -->
 <table>
-  <tr><td><em class=tab><a href="s7.html#sharpreaders">*#readers*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#epssize">eps-size</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-bess">make-bess</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#secondstosamples">seconds->samples</a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#ercos">ercos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebiquad">make-biquad</a></em></td><td></td><td class="green"><div class="centered">N</div></td><td></td><td><em class=tab><a href="extsnd.html#selectall">select-all</a></em></td></tr>
-  <tr><td class="green"><div class="centered">-</div></td><td></td><td><em class=tab><a href="sndclm.html#ercos?">ercos?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebirds">make-birds</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#selectchannel">select-channel</a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="s7.html#errorhook">*error-hook*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-blackman">make-blackman</a></em></td><td></td><td><em class=tab><a href="sndclm.html#n1cos">n1cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectchannelhook">select-channel-hook</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#tobytevector">->byte-vector</a></em></td><td></td><td><em class=tab><a href="sndclm.html#erssb">erssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-brown-noise">make-brown-noise</a></em></td><td></td><td><em class=tab><a href="sndclm.html#n1cos?">n1cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectsound">select-sound</a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#erssb?">erssb?</a></em></td><td></td><td><em class=tab><a href="s7.html#makebytevector">make-byte-vector</a></em></td><td></td><td><em class=tab><a href="extsnd.html#nameclickhook">name-click-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectsoundhook">select-sound-hook</a></em></td></tr>
-  <tr><td class="green"><div class="centered">A</div></td><td></td><td><em class=tab><a href="sndclm.html#evenmultiple">even-multiple</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makedropsite">make-channel-drop-site</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nchoosekcos">nchoosekcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedchannel">selected-channel</a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#evenweight">even-weight</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makecolor">make-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nchoosekcos?">nchoosekcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selecteddatacolor">selected-data-color</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#abcos">abcos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#everysample">every-sample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-comb">make-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos">ncos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedgraphcolor">selected-graph-color</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#abcos?">abcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#exit">exit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#makecombbank">make-comb-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos2?">ncos2?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedsound">selected-sound</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#abort">abort</a></em></td><td></td><td><em class=tab><a href="extsnd.html#exithook">exit-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-convolve">make-convolve</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos4?">ncos4?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selection">selection</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#absin">absin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrol">expand-control</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-delay">make-delay</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos?">ncos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectiontomix">selection->mix</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#absin?">absin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolbounds">expand-control-bounds</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makedifferentiator">make-differentiator</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsound">new-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionchans">selection-chans</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#addampcontrols">add-amp-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolhop">expand-control-hop</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-env">make-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsounddialog">new-sound-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncolor">selection-color</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addcolormap">add-colormap</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontroljitter">expand-control-jitter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-eoddcos">make-eoddcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsoundhook">new-sound-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncontext">selection-context</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#adddeleteoption">add-delete-option</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrollength">expand-control-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ercos">make-ercos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newwidgethook">new-widget-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncreatesregion">selection-creates-region</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#adddirectorytoviewfileslist">add-directory-to-view-files-list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolramp">expand-control-ramp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-erssb">make-erssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#nextsample">next-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionframples">selection-framples</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addfilefilter">add-file-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolp">expand-control?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-fft-window">make-fft-window</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nkssb">nkssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmaxamp">selection-maxamp</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addfilesorter">add-file-sorter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#explodesf2">explode-sf2</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filetoframple">make-file->frample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nkssbinterp">nkssb-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmaxampposition">selection-maxamp-position</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addfiletoviewfileslist">add-file-to-view-files-list</a></em></td><td></td><td><em class=tab><a href="sndclm.html#exponentially-weighted-moving-average">exponentially-weighted-moving-average</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filetosample">make-file->sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nkssb?">nkssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmember">selection-member?</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addmark">add-mark</a></em></td><td></td><td><em class=tab><a href="sndscm.html#expsnd">expsnd</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filter">make-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddcos">noddcos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#selectionmembers">selection-members</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#addmarkpane">add-mark-pane</a></em></td><td></td><td><em class=tab><a href="sndscm.html#expsrc">expsrc</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filtered-comb">make-filtered-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddcos?">noddcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionposition">selection-position</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addplayer">add-player</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#makefilteredcombbank">make-filtered-comb-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddsin">noddsin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#selectionrms">selection-rms</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addsoundfileextension">add-sound-file-extension</a></em></td><td></td><td class="green"><div class="centered">F</div></td><td></td><td><em class=tab><a href="sndclm.html#make-fir-coeffs">make-fir-coeffs</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddsin?">noddsin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionsrate">selection-srate</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addsourcefileextension">add-source-file-extension</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#make-fir-filter">make-fir-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddssb">noddssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionok">selection?</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addtomainmenu">add-to-main-menu</a></em></td><td></td><td><em class=tab><a href="s7.html#featureslist">*features*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-firmant">make-firmant</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddssb?">noddssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionstuff"><b>Selections</b></a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addtomenu">add-to-menu</a></em></td><td></td><td><em class=tab><a href="sndscm.html#cellon">feedback fm</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makefv">make-float-vector</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noid">noid</a></em></td><td></td><td><em class=tab><a href="extsnd.html#setsamples">set-samples</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#addtooltip">add-tooltip</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fft">fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-flocsig">make-flocsig</a></em></td><td></td><td><em class=tab><a href="sndscm.html#cleandoc"><b>Noise Reduction</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#shortfilename">short-file-name</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#addtransform">add-transform</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftcancel">fft-cancel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-fmssb">make-fmssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#normalizechannel">normalize-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showaxes">show-axes</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#spectra">additive synthesis</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftedit">fft-edit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-formant">make-formant</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizeenvelope">normalize-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showcontrols">show-controls</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#adjustable-sawtooth-wave">adjustable-sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftenvedit">fft-env-edit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#makeformantbank">make-formant-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#normalizepartials">normalize-partials</a></em></td><td></td><td><em class=tab><a href="sndscm.html#showdiskspace">show-disk-space</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#adjustable-sawtooth-wave?">adjustable-sawtooth-wave?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftenvinterp">fft-env-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-frampletofile">make-frample->file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizesound">normalize-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showfullduration">show-full-duration</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#adjustable-square-wave">adjustable-square-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftlogfrequency">fft-log-frequency</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-granulate">make-granulate</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizedmix">normalized-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showfullrange">show-full-range</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#adjustable-square-wave?">adjustable-square-wave?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftlogmagnitude">fft-log-magnitude</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makegraphdata">make-graph-data</a></em></td><td></td><td><em class=tab><a href="sndclm.html#notch">notch</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showgrid">show-grid</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#adjustable-triangle-wave">adjustable-triangle-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftsmoother">fft-smoother</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-green-noise">make-green-noise</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchchannel">notch-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showindices">show-indices</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#adjustable-triangle-wave?">adjustable-triangle-wave?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftsquelch">fft-squelch</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-green-noise-interp">make-green-noise-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchselection">notch-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showlistener">show-listener</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#afterapplycontrolshook">after-apply-controls-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftwindow">fft-window</a></em></td><td></td><td><em class=tab><a href="s7.html#makehashtable">make-hash-table</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchsound">notch-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showmarks">show-marks</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#afteredithook">after-edit-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftalpha">fft-window-alpha</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makehighpass">make-highpass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#notch?">notch?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showmixwaveforms">show-mix-waveforms</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#aftergraphhook">after-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftbeta">fft-window-beta</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makehilberttransform">make-hilbert-transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#npcos?">npcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showselection">show-selection</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#afterlispgraphhook">after-lisp-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftwithphases">fft-with-phases</a></em></td><td></td><td><em class=tab><a href="s7.html#makehook">make-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrcos">nrcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showselectiontransform">show-selection-transform</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#afteropenhook">after-open-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftexamples"><b>FFTs</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-iir-filter">make-iir-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrcos?">nrcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showsonogramcursor">show-sonogram-cursor</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#aftersaveashook">after-save-as-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nbdoc">file database</a></em></td><td></td><td><em class=tab><a href="s7.html#makeintvector">make-int-vector</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nrev">nrev</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showtransformpeaks">show-transform-peaks</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#aftersavestatehook">after-save-state-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoarray">file->array</a></em></td><td></td><td><em class=tab><a href="s7.html#makeiterator">make-iterator</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrsin">nrsin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showwidget">show-widget</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#aftertransformhook">after-transform-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoframple">file->frample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-izcos">make-izcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrsin?">nrsin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showyzero">show-y-zero</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#allchans">all-chans</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoframple?">file->frample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-j0evencos">make-j0evencos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrssb">nrssb</a></em></td><td></td><td><em class=tab><a href="sndscm.html#silenceallmixes">silence-all-mixes</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#all-pass">all-pass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetosample">file->sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-j0j1cos">make-j0j1cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrssbinterp">nrssb-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#silencemixes">silence-mixes</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#allpassbank">all-pass-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetosample?">file->sample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-j2cos">make-j2cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrssb?">nrssb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sinc-train">sinc-train</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#allpassbankp">all-pass-bank?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filename">file-name</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-jjcos">make-jjcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxycos">nrxycos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sinc-train?">sinc-train?</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#all-pass?">all-pass?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericfilename"><b>file-name (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-jncos">make-jncos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxycos?">nrxycos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sincwidth">sinc-width</a></em></td></tr>
-  <tr><td><em class=tab><a href="grfsnd.html#sndandalsa"><b>Alsa</b></a></em></td><td></td><td><em class=tab><a href="s7.html#fillb">fill!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-jpcos">make-jpcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxysin">nrxysin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sineenvchannel">sine-env-channel</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#ampcontrol">amp-control</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericfill"><b>fill! (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-jycos">make-jycos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxysin?">nrxysin?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sineramp">sine-ramp</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#ampcontrolbounds">amp-control-bounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fillpolygon">fill-polygon</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-k2cos">make-k2cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsin">nsin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#singerdoc">singer</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#amplitude-modulate">amplitude-modulate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fillrectangle">fill-rectangle</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-k2sin">make-k2sin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsin?">nsin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothchannel">smooth-channel</a></em></td></tr>
-  <tr><td><em class=tab><a href="grfsnd.html#analyseladspa">analyse-ladspa</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filter">filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-k2ssb">make-k2ssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsincos">nsincos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothselection">smooth-selection</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#anoi">anoi</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterchannel">filter-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-k3sin">make-k3sin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsincos?">nsincos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothsound">smooth-sound</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#anyenvchannel">any-env-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolcoeffs">filter-control-coeffs</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-krksin">make-krksin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nssb">nssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothexamples"><b>Smoothing</b></a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#anyrandom">any-random</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolenvelope">filter-control-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-locsig">make-locsig</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nssb?">nssb?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pins">SMS synthesis</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#applycontrols">apply-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolindB">filter-control-in-dB</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makelowpass">make-lowpass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxy1cos">nxy1cos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmarktobeat">snap-mark-to-beat</a></em></td></tr>
-  <tr><td><em class=tab><a href="grfsnd.html#applyladspa">apply-ladspa</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolinhz">filter-control-in-hz</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makemixsampler">make-mix-sampler</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxy1cos?">nxy1cos?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmarks">snap-marks</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#aritablep">aritable?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolorder">filter-control-order</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-move-sound">make-move-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxy1sin">nxy1sin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmixtobeat">snap-mix-to-beat</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#arity">arity</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterwaveformcolor">filter-control-waveform-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-autocorrelation">make-moving-autocorrelation</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxy1sin?">nxy1sin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtosample">snd->sample</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#arraytofile">array->file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolp">filter-control?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-average">make-moving-average</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxycos">nxycos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtosamplep">snd->sample?</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#array-interp">array-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filterfft">filter-fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-fft">make-moving-fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxycos?">nxycos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndcolor">snd-color</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#asoneedit">as-one-edit</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterselection">filter-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-max">make-moving-max</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxysin">nxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#snderror">snd-error</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#askaboutunsavededits">ask-about-unsaved-edits</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filterselectionandsmooth">filter-selection-and-smooth</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-norm">make-moving-norm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxysin?">nxysin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#snderrorhook">snd-error-hook</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#askbeforeoverwrite">ask-before-overwrite</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtersound">filter-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-pitch">make-moving-pitch</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#sndfont">snd-font</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#asyfmI">asyfm-I</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filter?">filter?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-scentroid">make-moving-scentroid</a></em></td><td></td><td class="green"><div class="centered">O</div></td><td></td><td><em class=tab><a href="extsnd.html#sndgcs">snd-gcs</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#asyfmJ">asyfm-J</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filtered-comb">filtered-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-spectrum">make-moving-spectrum</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#sndhelp">snd-help</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#asyfm?">asyfm?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filteredcombbank">filtered-comb-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-n1cos">make-n1cos</a></em></td><td></td><td><em class=tab><a href="s7.html#objecttostring">object->string</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sndscmhooks">snd-hooks</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#asymmetric-fm">asymmetric-fm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filteredcombbankp">filtered-comb-bank?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nchoosekcos">make-nchoosekcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oddmultiple">odd-multiple</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndopenedsound">*snd-opened-sound*</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#asymmetric-fm?">asymmetric-fm?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filtered-comb?">filtered-comb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ncos">make-ncos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oddweight">odd-weight</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndprint">snd-print</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#autoresize">auto-resize</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtersinsnd"><b>Filters</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nkssb">make-nkssb</a></em></td><td></td><td><em class=tab><a href="sndscm.html#offsetchannel">offset-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndspectrum">snd-spectrum</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#autosavedoc">auto-save</a></em></td><td></td><td><em class=tab><a href="extsnd.html#finddialog">find-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noddcos">make-noddcos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#offsetsound">offset-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtempnam">snd-tempnam</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#autoupdate">auto-update</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findmark">find-mark</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noddsin">make-noddsin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole">one-pole</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndurl">snd-url</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#autoupdateinterval">auto-update-interval</a></em></td><td></td><td><em class=tab><a href="sndscm.html#findmix">find-mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noddssb">make-noddssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole-all-pass">one-pole-all-pass</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndurls">snd-urls</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#autocorrelate">autocorrelate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findsound">find-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noid">make-noid</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole-all-pass?">one-pole-all-pass?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndversion">snd-version</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#autoload"><b>autoload</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#finfo">finfo</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-notch">make-notch</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole?">one-pole?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndwarning">snd-warning</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#axiscolor">axis-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#finishprogressreport">finish-progress-report</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrcos">make-nrcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-zero">one-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndwarninghook">snd-warning-hook</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#axisinfo">axis-info</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fir-filter">fir-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrsin">make-nrsin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-zero?">one-zero?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sndwarp">sndwarp</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#axislabelfont">axis-label-font</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fir-filter?">fir-filter?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrssb">make-nrssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openfiledialog">open-file-dialog</a></em></td><td></td><td><em class=tab><a href="s7.html#sortb">sort!</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#axisnumbersfont">axis-numbers-font</a></em></td><td></td><td><em class=tab><a href="sndclm.html#firmant">firmant</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrxycos">make-nrxycos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openfiledialogdirectory">open-file-dialog-directory</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-locsig"><b>Sound placement</b></a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#firmant?">firmant?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrxysin">make-nrxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openhook">open-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundtoamp_env">sound->amp-env</a></em></td></tr>
-  <tr><td class="green"><div class="centered">B</div></td><td></td><td><em class=tab><a href="sndscm.html#fitselectionbetweenmarks">fit-selection-between-marks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nsin">make-nsin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#opennextfileindirectory">open-next-file-in-directory</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundtointeger">sound->integer</a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndscm.html#flattenpartials">flatten-partials</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nsincos">make-nsincos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openrawsound">open-raw-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfileextensions">sound-file-extensions</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#backgroundgradient">background-gradient</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fv">float-vector</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nssb">make-nssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openrawsoundhook">open-raw-sound-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfilep">sound-file?</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#badheaderhook">bad-header-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvtimes">float-vector*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nxy1cos">make-nxy1cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#opensound">open-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfilesindirectory">sound-files-in-directory</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#bagpipe">bagpipe</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvplus">float-vector+</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nxy1sin">make-nxy1sin</a></em></td><td></td><td><em class=tab><a href="s7.html#openlet">openlet</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundinterp">sound-interp</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#basiccolor">basic-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvtochannel">float-vector->channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nxycos">make-nxycos</a></em></td><td></td><td><em class=tab><a href="s7.html#openletp">openlet?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundloopinfo">sound-loop-info</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#beatspermeasure">beats-per-measure</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvtolist">float-vector->list</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nxysin">make-nxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#orientationhook">orientation-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundproperties">sound-properties</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#beatsperminute">beats-per-minute</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvtostring">float-vector->string</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-pole">make-one-pole</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil">oscil</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundproperty">sound-property</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#beforeclosehook">before-close-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvabs">float-vector-abs!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-pole-all-pass">make-one-pole-all-pass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil-bank">oscil-bank</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundwidgets">sound-widgets</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#beforeexithook">before-exit-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvadd">float-vector-add!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-zero">make-one-zero</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil-bank?">oscil-bank?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundp">sound?</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#beforesaveashook">before-save-as-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvcopy">float-vector-copy</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-oscil">make-oscil</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil?">oscil?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfontinfo">soundfont-info</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#beforesavestatehook">before-save-state-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvequal">float-vector-equal?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-oscil-bank">make-oscil-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#out-any">out-any</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounds">sounds</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#beforetransformhook">before-transform-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvfill">float-vector-fill!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-phase-vocoder">make-phase-vocoder</a></em></td><td></td><td><em class=tab><a href="sndclm.html#outbank">out-bank</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundstosegmentdata">sounds->segment-data</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#besj0">bes-j0</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvlength">float-vector-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-pink-noise">make-pink-noise</a></em></td><td></td><td><em class=tab><a href="sndclm.html#outa">outa</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectra">spectra</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#bess">bess</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvmax">float-vector-max</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makepixmap">make-pixmap</a></em></td><td></td><td><em class=tab><a href="s7.html#outlet">outlet</a></em></td><td></td><td><em class=tab><a href="sndscm.html#twotab">spectral interpolation</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#bess?">bess?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvmin">float-vector-min</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeplayer">make-player</a></em></td><td></td><td><em class=tab><a href="sndclm.html#*output*">*output*</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectralpolynomial">spectral-polynomial</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">bessel filters</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvmove">float-vector-move!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-polyoid">make-polyoid</a></em></td><td></td><td><em class=tab><a href="extsnd.html#outputcommenthook">output-comment-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrohop">spectro-hop</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#bigbird">bigbird</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvmultiply">float-vector-multiply!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-polyshape">make-polyshape</a></em></td><td></td><td><em class=tab><a href="sndscm.html#overlayrmsenv">overlay-rms-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroxangle">spectro-x-angle</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#bignum">bignum</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvoffset">float-vector-offset!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-polywave">make-polywave</a></em></td><td></td><td><em class=tab><a href="s7.html#owlet">owlet</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroxscale">spectro-x-scale</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#bignump">bignum?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvpeak">float-vector-peak</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-pulse-train">make-pulse-train</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#spectroyangle">spectro-y-angle</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#binaryiodoc">binary files</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vctpolynomial">float-vector-polynomial</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-pulsed-env">make-pulsed-env</a></em></td><td></td><td class="green"><div class="centered">P</div></td><td></td><td><em class=tab><a href="extsnd.html#spectroyscale">spectro-y-scale</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#bindkey">bind-key</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvref">float-vector-ref</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-r2k!cos">make-r2k!cos</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#spectrozangle">spectro-z-angle</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#bird">bird</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvreverse">float-vector-reverse!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-r2k2cos">make-r2k2cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#padchannel">pad-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrozscale">spectro-z-scale</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#blackman">blackman</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvscale">float-vector-scale!</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeramp">make-ramp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#padmarks">pad-marks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#spectrum">spectrum</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#blackman4envchannel">blackman4-env-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvset">float-vector-set!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rand">make-rand</a></em></td><td></td><td><em class=tab><a href="sndscm.html#padsound">pad-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectrumtocoeffs">spectrum->coeffs</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#blackman?">blackman?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvsubseq">float-vector-subseq</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rand-interp">make-rand-interp</a></em></td><td></td><td><em class=tab><a href="s7.html#pairfilename">pair-filename</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrumend">spectrum-end</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#boldpeaksfont">bold-peaks-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvsubtract">float-vector-subtract!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rcos">make-rcos</a></em></td><td></td><td><em class=tab><a href="s7.html#pairlinenumber">pair-line-number</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrumstart">spectrum-start</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#break">break</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvp">float-vector?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-readin">make-readin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#panmix">pan-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedcontrol">speed-control</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#brown-noise">brown-noise</a></em></td><td></td><td><em class=tab><a href="sndclm.html#flocsig">flocsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeregion">make-region</a></em></td><td></td><td><em class=tab><a href="sndscm.html#panmixvct">pan-mix-float-vector</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedcontrolbounds">speed-control-bounds</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#brown-noise?">brown-noise?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#flocsig?">flocsig?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeregionsampler">make-region-sampler</a></em></td><td></td><td><em class=tab><a href="sndclm.html#partialstopolynomial">partials->polynomial</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedstyle">speed-control-style</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">butterworth filters</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stereoflute">flute model</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rk!cos">make-rk!cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#partialstowave">partials->wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedtones">speed-control-tones</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#bytevector">byte-vector</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmbell">fm-bell</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rk!ssb">make-rk!ssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#pausing">pausing</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spotfreq">spot-freq</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#bytevectorp">byte-vector?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmdrum">fm-drum</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rkcos">make-rkcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peakenvdir">peak-env-dir</a></em></td><td></td><td><em class=tab><a href="sndclm.html#square-wave">square-wave</a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndscm.html#fmnoise">fm-noise</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rkoddssb">make-rkoddssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peaks">peaks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#square-wave?">square-wave?</a></em></td></tr>
-  <tr><td class="green"><div class="centered">C</div></td><td></td><td><em class=tab><a href="sndscm.html#fmparallelcomponent">fm-parallel-component</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rksin">make-rksin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peaksfont">peaks-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#squelchupdate">squelch-update</a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndscm.html#fmvox">fm-talker</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rkssb">make-rkssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-partialstowave">phase-partials->wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#squelchvowels">squelch-vowels</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#definecfunction">c-define</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmtrumpet">fm-trumpet</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-round-interp">make-round-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-vocoder">phase-vocoder</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srate">srate</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#cgp">c-g?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vdoc">fm-violin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rssb">make-rssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-vocoder?">phase-vocoder?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericsrate"><b>srate (generic)</b></a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#cobject">c-object?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmvoice">fm-voice</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rxycos">make-rxycos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#prc95doc"><b>Physical Models</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#src">src</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#cpoint">c-pointer</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fmssb">fmssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rxyk!cos">make-rxyk!cos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pianodoc">piano model</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcchannel">src-channel</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#cpointer">c-pointer?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fmssb?">fmssb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rxyk!sin">make-rxyk!sin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pink-noise">pink-noise</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcduration">src-duration</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#callwithexit">call-with-exit</a></em></td><td></td><td><em class=tab><a href="extsnd.html#focuswidget">focus-widget</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rxysin">make-rxysin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pink-noise?">pink-noise?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcfitenvelope">src-fit-envelope</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#bagpipe">canter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fofins">FOF synthesis</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sampletofile">make-sample->file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pins">pins</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcmixes">src-mixes</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#cascadetocanonical">cascade->canonical</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fofins">fofins</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesampler">make-sampler</a></em></td><td></td><td><em class=tab><a href="sndscm.html#placesound">place-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcsoundselection">src-selection</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#catch">catch</a></em></td><td></td><td><em class=tab><a href="sndscm.html#foreachchild">for-each-child</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sawtooth-wave">make-sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#play">play</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcsound">src-sound</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#cellon">cellon</a></em></td><td></td><td><em class=tab><a href="sndscm.html#foreachsoundfile">for-each-sound-file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeselection">make-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericplay"><b>play (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#src?">src?</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#chaindsps">chain-dsps</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fp">Forbidden Planet</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sinc-train">make-sinc-train</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playarrowsize">play-arrow-size</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ssb-am">ssb-am</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#channeltovct">channel->vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#foregroundcolor">foreground-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesndtosample">make-snd->sample</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playbetweenmarks">play-between-marks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ssb-am?">ssb-am?</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#channelampenvs">channel-amp-envs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#forgetregion">forget-region</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makesoundbox">make-sound-box</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playhook">play-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbbank">ssb-bank</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#channeldata">channel-data</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formant">formant</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makespencerfilter">make-spencer-filter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playmixes">play-mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbbankenv">ssb-bank-env</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#channelenvelope">channel-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formantbank">formant-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-square-wave">make-square-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playoften">play-often</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbfm">ssb-fm</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#channelpolynomial">channel-polynomial</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formantbankp">formant-bank?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-src">make-src</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playregionforever">play-region-forever</a></em></td><td></td><td><em class=tab><a href="sndscm.html#startdac">start-dac</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#channelproperties">channel-properties</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formant?">formant?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ssb-am">make-ssb-am</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsine">play-sine</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplaying">start-playing</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#channelproperty">channel-property</a></em></td><td></td><td><em class=tab><a href="s7.html#format">format</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-table-lookup">make-table-lookup</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsines">play-sines</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplayinghook">start-playing-hook</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#channelrms">channel-rms</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandforth"><b>Forth</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-table-lookup-with-env">make-table-lookup-with-env</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsyncdmarks">play-syncd-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplayingselectionhook">start-playing-selection-hook</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#channelstyle">channel-style</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fp">fp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-tanhsin">make-tanhsin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playuntilcg">play-until-c-g</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startprogressreport">start-progress-report</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#channelsync">channel-sync</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fractionalfouriertransform">fractional-fourier-transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-triangle-wave">make-triangle-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playwithenvs">play-with-envs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#statusreport">status-report</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#channelwidgets">channel-widgets</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frampletofile">frample->file</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-two-pole">make-two-pole</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playerhome">player-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stdinprompt">stdin-prompt</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#channels">channels</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frampletofile?">frample->file?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-two-zero">make-two-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playerQ">player?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stereotomono">stereo->mono</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#genericchannels"><b>channels (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#frampletoframple">frample->frample</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makevariabledisplay">make-variable-display</a></em></td><td></td><td><em class=tab><a href="extsnd.html#players">players</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stereoflute">stereo-flute</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#channelsequal">channels-equal?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#framples">framples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makevariablegraph">make-variable-graph</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playing">playing</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayer">stop-player</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#channelseq">channels=?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericframples"><b>framples (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#makevct">make-vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playexamples"><b>Playing</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplaying">stop-playing</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#chans">chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#freeplayer">free-player</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-wave-train">make-wave-train</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pluck">pluck</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayinghook">stop-playing-hook</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#charposition">char-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#freesampler">free-sampler</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-wave-train-with-env">make-wave-train-with-env</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandladspa"><b>Plugins</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayingselectionhook">stop-playing-selection-hook</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#chebyhka">cheby-hka</a></em></td><td></td><td><em class=tab><a href="sndscm.html#freeverb">freeverb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mapchannel">map-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polartorectangular">polar->rectangular</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stretchenvelope">stretch-envelope</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">chebyshev filters</a></em></td><td></td><td><em class=tab><a href="fm.html#fmintro"><b>Frequency Modulation</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#mapsoundfiles">map-sound-files</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polynomial">polynomial</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stretchsoundviadft">stretch-sound-via-dft</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#checkmixtags">check-mix-tags</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fullmix">fullmix</a></em></td><td></td><td><em class=tab><a href="sndscm.html#maracadoc">maracas</a></em></td><td></td><td><em class=tab><a href="sndscm.html#polydoc">polynomial operations</a></em></td><td></td><td><em class=tab><a href="s7.html#stringposition">string-position</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#chordalize">chordalize</a></em></td><td></td><td><em class=tab><a href="s7.html#funclet">funclet</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktointeger">mark->integer</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoid">polyoid</a></em></td><td></td><td><em class=tab><a href="s7.html#sublet">sublet</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#chorus">chorus</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#markclickhook">mark-click-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoidenv">polyoid-env</a></em></td><td></td><td><em class=tab><a href="sndscm.html#superimposeffts">superimpose-ffts</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#cleanchannel">clean-channel</a></em></td><td></td><td class="green"><div class="centered">G</div></td><td></td><td><em class=tab><a href="sndscm.html#markclickinfo">mark-click-info</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoid?">polyoid?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#swapchannels">swap-channels</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#cleansound">clean-sound</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#markcolor">mark-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyshape">polyshape</a></em></td><td></td><td><em class=tab><a href="sndscm.html#swapselectionchannels">swap-selection-channels</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#clearlistener">clear-listener</a></em></td><td></td><td><em class=tab><a href="sndscm.html#gaussiandistribution">gaussian-distribution</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markcontext">mark-context</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyshape?">polyshape?</a></em></td><td></td><td><em class=tab><a href="s7.html#symboltodynamicvalue">symbol->dynamic-value</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#cliphook">clip-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gcoff">gc-off</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markdraghook">mark-drag-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polywave">polywave</a></em></td><td></td><td><em class=tab><a href="s7.html#symboltovalue">symbol->value</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#clipping">clipping</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gcon">gc-on</a></em></td><td></td><td><em class=tab><a href="sndscm.html#markexplode">mark-explode</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polywave?">polywave?</a></em></td><td></td><td><em class=tab><a href="s7.html#symbolaccess">symbol-access</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#clmchannel">clm-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#generators"><b>Generators</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#markhome">mark-home</a></em></td><td></td><td><em class=tab><a href="s7.html#portfilename">port-filename</a></em></td><td></td><td><em class=tab><a href="s7.html#symboltable">symbol-table</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#clmexpsrc">clm-expsrc</a></em></td><td></td><td><em class=tab><a href="s7.html#gensym">gensym</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markhook">mark-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#portlinenumber">port-line-number</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sync">sync</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#closehook">close-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#gensym?">gensym?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#markloops">mark-loops</a></em></td><td></td><td><em class=tab><a href="extsnd.html#positiontox">position->x</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericsync"><b>sync (generic)</b></a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#closesound">close-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#glgraphtops">gl-graph->ps</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markname">mark-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#positiontoy">position->y</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sync-everything">sync-everything</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colortolist">color->list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#glspectrogram">glSpectrogram</a></em></td><td></td><td><em class=tab><a href="sndscm.html#marknametoid">mark-name->id</a></em></td><td></td><td><em class=tab><a href="extsnd.html#positioncolor">position-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncmax">sync-max</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colorcutoff">color-cutoff</a></em></td><td></td><td><em class=tab><a href="sndscm.html#goertzel">goertzel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markproperties">mark-properties</a></em></td><td></td><td><em class=tab><a href="sndscm.html#powerenv">power-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncstyle">sync-style</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colorhook">color-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gotolistenerend">goto-listener-end</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markproperty">mark-property</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pqw">pqw</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncdmarks">syncd-marks</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colorinverted">color-inverted</a></em></td><td></td><td><em class=tab><a href="sndscm.html#grani">grani</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksample">mark-sample</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pqwvox">pqw-vox</a></em></td><td></td><td><em class=tab><a href="sndscm.html#syncdmixes">syncd-mixes</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#colormixes">color-mixes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#grains"><b>Granular synthesis</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksync">mark-sync</a></em></td><td></td><td><em class=tab><a href="extsnd.html#preferencesdialog">preferences-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#syncup">syncup</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colororientationdialog">color-orientation-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#granulate">granulate</a></em></td><td></td><td><em class=tab><a href="sndscm.html#marksynccolor">mark-sync-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#previoussample">previous-sample</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colorscale">color-scale</a></em></td><td></td><td><em class=tab><a href="sndclm.html#granulate?">granulate?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksyncmax">mark-sync-max</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printdialog">print-dialog</a></em></td><td></td><td class="green"><div class="centered">T</div></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colorp">color?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#granulatedsoundinterp">granulated-sound-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktagheight">mark-tag-height</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printlength">print-length</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colormap">colormap</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graph">graph</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktagwidth">mark-tag-width</a></em></td><td></td><td><em class=tab><a href="s7.html#proceduredocumentation">procedure-documentation</a></em></td><td></td><td><em class=tab><a href="sndclm.html#table-lookup">table-lookup</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colormaptointeger">colormap->integer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphtops">graph->ps</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markp">mark?</a></em></td><td></td><td><em class=tab><a href="s7.html#proceduresetter">procedure-setter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#table-lookup?">table-lookup?</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colormapname">colormap-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphcolor">graph-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markstuff"><b>Marking</b></a></em></td><td></td><td><em class=tab><a href="s7.html#proceduresignature">procedure-signature</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tanhsin">tanhsin</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colormapref">colormap-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphcursor">graph-cursor</a></em></td><td></td><td><em class=tab><a href="extsnd.html#emarks">marks</a></em></td><td></td><td><em class=tab><a href="s7.html#proceduresource">procedure-source</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tanhsin?">tanhsin?</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colormapsize">colormap-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphdata">graph-data</a></em></td><td></td><td><em class=tab><a href="sndscm.html#matchsoundfiles">match-sound-files</a></em></td><td></td><td><em class=tab><a href="extsnd.html#progressreport">progress-report</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tap">tap</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colormapp">colormap?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphhook">graph-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#maxenvelope">max-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulse-train">pulse-train</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tap?">tap?</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#colors"><b>Colors</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphstyle">graph-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxregions">max-regions</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulse-train?">pulse-train?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#telephone">telephone</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#comb">comb</a></em></td><td></td><td><em class=tab><a href="sndscm.html#grapheq">graphic equalizer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxfftpeaks">max-transform-peaks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulsedenv">pulsed-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#tempdir">temp-dir</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#combbank">comb-bank</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphshorizontal">graphs-horizontal</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxamp">maxamp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulsedenv?">pulsed-env?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#textfocuscolor">text-focus-color</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#combbankp">comb-bank?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise">green-noise</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericmaxamp"><b>maxamp (generic)</b></a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphstyle">time-graph-style</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#comb?">comb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise-interp">green-noise-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxampposition">maxamp-position</a></em></td><td></td><td class="green"><div class="centered">R</div></td><td></td><td><em class=tab><a href="extsnd.html#timegraphtype">time-graph-type</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#combineddatacolor">combined-data-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise-interp?">green-noise-interp?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxampexamples"><b>Maxamps</b></a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphp">time-graph?</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#comment">comment</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise?">green-noise?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#menuwidgets">menu-widgets</a></em></td><td></td><td><em class=tab><a href="sndclm.html#r2k!cos">r2k!cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#timestosamples">times->samples</a></em></td></tr>
-  <tr><td><em class=tab><a href="grfsnd.html#sndwithcm"><b>Common Music</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#griddensity">grid-density</a></em></td><td></td><td><em class=tab><a href="sndscm.html#menusdoc">menus, optional</a></em></td><td></td><td><em class=tab><a href="sndclm.html#r2k!cos?">r2k!cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#tinyfont">tiny-font</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#complexify">complexify</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#mindb">min-dB</a></em></td><td></td><td><em class=tab><a href="sndclm.html#r2k2cos">r2k2cos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#telephone">touch-tone</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#computeuniformcircularstring">compute-uniform-circular-string</a></em></td><td></td><td class="green"><div class="centered">H</div></td><td></td><td><em class=tab><a href="extsnd.html#mix">mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#r2k2cos?">r2k2cos?</a></em></td><td></td><td><em class=tab><a href="s7.html#trace">trace</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#sharpreaders">*#readers*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ercos">ercos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebiquad">make-biquad</a></em></td><td></td><td class="green"><div class="centered">N</div></td><td></td><td><em class=tab><a href="extsnd.html#selectall">select-all</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#ercos?">ercos?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebirds">make-birds</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#selectchannel">select-channel</a></em></td></tr>
+  <tr><td class="green"><div class="centered">-</div></td><td></td><td><em class=tab><a href="s7.html#errorhook">*error-hook*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-blackman">make-blackman</a></em></td><td></td><td><em class=tab><a href="sndclm.html#n1cos">n1cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectchannelhook">select-channel-hook</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#erssb">erssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-brown-noise">make-brown-noise</a></em></td><td></td><td><em class=tab><a href="sndclm.html#n1cos?">n1cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectsound">select-sound</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#tobytevector">->byte-vector</a></em></td><td></td><td><em class=tab><a href="sndclm.html#erssb?">erssb?</a></em></td><td></td><td><em class=tab><a href="s7.html#makebytevector">make-byte-vector</a></em></td><td></td><td><em class=tab><a href="extsnd.html#nameclickhook">name-click-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectsoundhook">select-sound-hook</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#evenmultiple">even-multiple</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makedropsite">make-channel-drop-site</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nchoosekcos">nchoosekcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedchannel">selected-channel</a></em></td></tr>
+  <tr><td class="green"><div class="centered">A</div></td><td></td><td><em class=tab><a href="sndclm.html#evenweight">even-weight</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makecolor">make-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nchoosekcos?">nchoosekcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selecteddatacolor">selected-data-color</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndscm.html#everysample">every-sample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-comb">make-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos">ncos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedgraphcolor">selected-graph-color</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#abcos">abcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#exit">exit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#makecombbank">make-comb-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos2?">ncos2?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedsound">selected-sound</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#abcos?">abcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#exithook">exit-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-convolve">make-convolve</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos4?">ncos4?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selection">selection</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#abort">abort</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrol">expand-control</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-delay">make-delay</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos?">ncos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectiontomix">selection->mix</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#absin">absin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolbounds">expand-control-bounds</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makedifferentiator">make-differentiator</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsound">new-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionchans">selection-chans</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#absin?">absin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolhop">expand-control-hop</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-env">make-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsounddialog">new-sound-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncolor">selection-color</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#addampcontrols">add-amp-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontroljitter">expand-control-jitter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-eoddcos">make-eoddcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsoundhook">new-sound-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncontext">selection-context</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addcolormap">add-colormap</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrollength">expand-control-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ercos">make-ercos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newwidgethook">new-widget-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncreatesregion">selection-creates-region</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#adddeleteoption">add-delete-option</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolramp">expand-control-ramp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-erssb">make-erssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#nextsample">next-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionframples">selection-framples</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#adddirectorytoviewfileslist">add-directory-to-view-files-list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolp">expand-control?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-fft-window">make-fft-window</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nkssb">nkssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmaxamp">selection-maxamp</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addfilefilter">add-file-filter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#explodesf2">explode-sf2</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filetoframple">make-file->frample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nkssbinterp">nkssb-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmaxampposition">selection-maxamp-position</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addfilesorter">add-file-sorter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#exponentially-weighted-moving-average">exponentially-weighted-moving-average</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filetosample">make-file->sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nkssb?">nkssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmember">selection-member?</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addfiletoviewfileslist">add-file-to-view-files-list</a></em></td><td></td><td><em class=tab><a href="sndscm.html#expsnd">expsnd</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filter">make-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddcos">noddcos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#selectionmembers">selection-members</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addmark">add-mark</a></em></td><td></td><td><em class=tab><a href="sndscm.html#expsrc">expsrc</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filtered-comb">make-filtered-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddcos?">noddcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionposition">selection-position</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#addmarkpane">add-mark-pane</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#makefilteredcombbank">make-filtered-comb-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddsin">noddsin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#selectionrms">selection-rms</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addplayer">add-player</a></em></td><td></td><td class="green"><div class="centered">F</div></td><td></td><td><em class=tab><a href="sndclm.html#make-fir-coeffs">make-fir-coeffs</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddsin?">noddsin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionsrate">selection-srate</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addsoundfileextension">add-sound-file-extension</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#make-fir-filter">make-fir-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddssb">noddssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionok">selection?</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addsourcefileextension">add-source-file-extension</a></em></td><td></td><td><em class=tab><a href="s7.html#featureslist">*features*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-firmant">make-firmant</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noddssb?">noddssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionstuff"><b>Selections</b></a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addtomainmenu">add-to-main-menu</a></em></td><td></td><td><em class=tab><a href="sndscm.html#cellon">feedback fm</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makefv">make-float-vector</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noid">noid</a></em></td><td></td><td><em class=tab><a href="extsnd.html#setsamples">set-samples</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addtomenu">add-to-menu</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fft">fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-flocsig">make-flocsig</a></em></td><td></td><td><em class=tab><a href="sndscm.html#cleandoc"><b>Noise Reduction</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#shortfilename">short-file-name</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#addtooltip">add-tooltip</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftcancel">fft-cancel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-fmssb">make-fmssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#normalizechannel">normalize-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showaxes">show-axes</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#addtransform">add-transform</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftedit">fft-edit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-formant">make-formant</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizeenvelope">normalize-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showcontrols">show-controls</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#spectra">additive synthesis</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftenvedit">fft-env-edit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#makeformantbank">make-formant-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#normalizepartials">normalize-partials</a></em></td><td></td><td><em class=tab><a href="sndscm.html#showdiskspace">show-disk-space</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#adjustable-sawtooth-wave">adjustable-sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftenvinterp">fft-env-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-frampletofile">make-frample->file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizesound">normalize-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showfullduration">show-full-duration</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#adjustable-sawtooth-wave?">adjustable-sawtooth-wave?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftlogfrequency">fft-log-frequency</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-granulate">make-granulate</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizedmix">normalized-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showfullrange">show-full-range</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#adjustable-square-wave">adjustable-square-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftlogmagnitude">fft-log-magnitude</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makegraphdata">make-graph-data</a></em></td><td></td><td><em class=tab><a href="sndclm.html#notch">notch</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showgrid">show-grid</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#adjustable-square-wave?">adjustable-square-wave?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftsmoother">fft-smoother</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-green-noise">make-green-noise</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchchannel">notch-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showindices">show-indices</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#adjustable-triangle-wave">adjustable-triangle-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftsquelch">fft-squelch</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-green-noise-interp">make-green-noise-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchselection">notch-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showlistener">show-listener</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#adjustable-triangle-wave?">adjustable-triangle-wave?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftwindow">fft-window</a></em></td><td></td><td><em class=tab><a href="s7.html#makehashtable">make-hash-table</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchsound">notch-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showmarks">show-marks</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#afterapplycontrolshook">after-apply-controls-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftalpha">fft-window-alpha</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makehighpass">make-highpass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#notch?">notch?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showmixwaveforms">show-mix-waveforms</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#afteredithook">after-edit-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftbeta">fft-window-beta</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makehilberttransform">make-hilbert-transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#npcos?">npcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showselection">show-selection</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#aftergraphhook">after-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftwithphases">fft-with-phases</a></em></td><td></td><td><em class=tab><a href="s7.html#makehook">make-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrcos">nrcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showselectiontransform">show-selection-transform</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#afterlispgraphhook">after-lisp-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftexamples"><b>FFTs</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-iir-filter">make-iir-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrcos?">nrcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showsonogramcursor">show-sonogram-cursor</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#afteropenhook">after-open-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nbdoc">file database</a></em></td><td></td><td><em class=tab><a href="s7.html#makeintvector">make-int-vector</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nrev">nrev</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showtransformpeaks">show-transform-peaks</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#aftersaveashook">after-save-as-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoarray">file->array</a></em></td><td></td><td><em class=tab><a href="s7.html#makeiterator">make-iterator</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrsin">nrsin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showwidget">show-widget</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#aftersavestatehook">after-save-state-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoframple">file->frample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-izcos">make-izcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrsin?">nrsin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showyzero">show-y-zero</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#aftertransformhook">after-transform-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoframple?">file->frample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-j0evencos">make-j0evencos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrssb">nrssb</a></em></td><td></td><td><em class=tab><a href="sndscm.html#silenceallmixes">silence-all-mixes</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#allchans">all-chans</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetosample">file->sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-j0j1cos">make-j0j1cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrssbinterp">nrssb-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#silencemixes">silence-mixes</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#all-pass">all-pass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetosample?">file->sample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-j2cos">make-j2cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrssb?">nrssb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sinc-train">sinc-train</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#allpassbank">all-pass-bank</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filename">file-name</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-jjcos">make-jjcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxycos">nrxycos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sinc-train?">sinc-train?</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#allpassbankp">all-pass-bank?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericfilename"><b>file-name (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-jncos">make-jncos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxycos?">nrxycos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sincwidth">sinc-width</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#all-pass?">all-pass?</a></em></td><td></td><td><em class=tab><a href="s7.html#fillb">fill!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-jpcos">make-jpcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxysin">nrxysin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sineenvchannel">sine-env-channel</a></em></td></tr>
+  <tr><td><em class=tab><a href="grfsnd.html#sndandalsa"><b>Alsa</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericfill"><b>fill! (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-jycos">make-jycos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxysin?">nrxysin?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sineramp">sine-ramp</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#ampcontrol">amp-control</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fillpolygon">fill-polygon</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-k2cos">make-k2cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsin">nsin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#singerdoc">singer</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#ampcontrolbounds">amp-control-bounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fillrectangle">fill-rectangle</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-k2sin">make-k2sin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsin?">nsin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothchannel">smooth-channel</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#amplitude-modulate">amplitude-modulate</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filter">filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-k2ssb">make-k2ssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsincos">nsincos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothselection">smooth-selection</a></em></td></tr>
+  <tr><td><em class=tab><a href="grfsnd.html#analyseladspa">analyse-ladspa</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterchannel">filter-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-k3sin">make-k3sin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsincos?">nsincos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothsound">smooth-sound</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#anoi">anoi</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolcoeffs">filter-control-coeffs</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-krksin">make-krksin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nssb">nssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothexamples"><b>Smoothing</b></a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#anyenvchannel">any-env-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolenvelope">filter-control-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-locsig">make-locsig</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nssb?">nssb?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pins">SMS synthesis</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#anyrandom">any-random</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolindB">filter-control-in-dB</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makelowpass">make-lowpass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxy1cos">nxy1cos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmarktobeat">snap-mark-to-beat</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#applycontrols">apply-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolinhz">filter-control-in-hz</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makemixsampler">make-mix-sampler</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxy1cos?">nxy1cos?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmarks">snap-marks</a></em></td></tr>
+  <tr><td><em class=tab><a href="grfsnd.html#applyladspa">apply-ladspa</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolorder">filter-control-order</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-move-sound">make-move-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxy1sin">nxy1sin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmixtobeat">snap-mix-to-beat</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#aritablep">aritable?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterwaveformcolor">filter-control-waveform-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-autocorrelation">make-moving-autocorrelation</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxy1sin?">nxy1sin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtosample">snd->sample</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#arity">arity</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolp">filter-control?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-average">make-moving-average</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxycos">nxycos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtosamplep">snd->sample?</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#arraytofile">array->file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filterfft">filter-fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-fft">make-moving-fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxycos?">nxycos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndcolor">snd-color</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#array-interp">array-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterselection">filter-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-max">make-moving-max</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxysin">nxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#snderror">snd-error</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#asoneedit">as-one-edit</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filterselectionandsmooth">filter-selection-and-smooth</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-norm">make-moving-norm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nxysin?">nxysin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#snderrorhook">snd-error-hook</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#askaboutunsavededits">ask-about-unsaved-edits</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtersound">filter-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-pitch">make-moving-pitch</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#sndfont">snd-font</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#askbeforeoverwrite">ask-before-overwrite</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filter?">filter?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-scentroid">make-moving-scentroid</a></em></td><td></td><td class="green"><div class="centered">O</div></td><td></td><td><em class=tab><a href="extsnd.html#sndgcs">snd-gcs</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#asyfmI">asyfm-I</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filtered-comb">filtered-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-spectrum">make-moving-spectrum</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#sndhelp">snd-help</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#asyfmJ">asyfm-J</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filteredcombbank">filtered-comb-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-n1cos">make-n1cos</a></em></td><td></td><td><em class=tab><a href="s7.html#objecttostring">object->string</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sndscmhooks">snd-hooks</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#asyfm?">asyfm?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filteredcombbankp">filtered-comb-bank?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nchoosekcos">make-nchoosekcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oddmultiple">odd-multiple</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndopenedsound">*snd-opened-sound*</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#asymmetric-fm">asymmetric-fm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filtered-comb?">filtered-comb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ncos">make-ncos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oddweight">odd-weight</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndprint">snd-print</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#asymmetric-fm?">asymmetric-fm?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtersinsnd"><b>Filters</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nkssb">make-nkssb</a></em></td><td></td><td><em class=tab><a href="sndscm.html#offsetchannel">offset-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndspectrum">snd-spectrum</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#autoresize">auto-resize</a></em></td><td></td><td><em class=tab><a href="extsnd.html#finddialog">find-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noddcos">make-noddcos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#offsetsound">offset-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtempnam">snd-tempnam</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#autosavedoc">auto-save</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findmark">find-mark</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noddsin">make-noddsin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole">one-pole</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndurl">snd-url</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#autoupdate">auto-update</a></em></td><td></td><td><em class=tab><a href="sndscm.html#findmix">find-mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noddssb">make-noddssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole-all-pass">one-pole-all-pass</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndurls">snd-urls</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#autoupdateinterval">auto-update-interval</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findsound">find-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noid">make-noid</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole-all-pass?">one-pole-all-pass?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndversion">snd-version</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#autocorrelate">autocorrelate</a></em></td><td></td><td><em class=tab><a href="sndscm.html#finfo">finfo</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-notch">make-notch</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole?">one-pole?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndwarning">snd-warning</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#autoload"><b>autoload</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#finishprogressreport">finish-progress-report</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrcos">make-nrcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-zero">one-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndwarninghook">snd-warning-hook</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#axiscolor">axis-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fir-filter">fir-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrsin">make-nrsin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-zero?">one-zero?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sndwarp">sndwarp</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#axisinfo">axis-info</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fir-filter?">fir-filter?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrssb">make-nrssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openfiledialog">open-file-dialog</a></em></td><td></td><td><em class=tab><a href="s7.html#sortb">sort!</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#axislabelfont">axis-label-font</a></em></td><td></td><td><em class=tab><a href="sndclm.html#firmant">firmant</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrxycos">make-nrxycos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openfiledialogdirectory">open-file-dialog-directory</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-locsig"><b>Sound placement</b></a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#axisnumbersfont">axis-numbers-font</a></em></td><td></td><td><em class=tab><a href="sndclm.html#firmant?">firmant?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrxysin">make-nrxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openhook">open-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundtoamp_env">sound->amp-env</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndscm.html#fitselectionbetweenmarks">fit-selection-between-marks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nsin">make-nsin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#opennextfileindirectory">open-next-file-in-directory</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundtointeger">sound->integer</a></em></td></tr>
+  <tr><td class="green"><div class="centered">B</div></td><td></td><td><em class=tab><a href="sndscm.html#flattenpartials">flatten-partials</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nsincos">make-nsincos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openrawsound">open-raw-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfileextensions">sound-file-extensions</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#fv">float-vector</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nssb">make-nssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openrawsoundhook">open-raw-sound-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfilep">sound-file?</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#backgroundgradient">background-gradient</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvtimes">float-vector*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nxy1cos">make-nxy1cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#opensound">open-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfilesindirectory">sound-files-in-directory</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#badheaderhook">bad-header-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvplus">float-vector+</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nxy1sin">make-nxy1sin</a></em></td><td></td><td><em class=tab><a href="s7.html#openlet">openlet</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundinterp">sound-interp</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#bagpipe">bagpipe</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvtochannel">float-vector->channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nxycos">make-nxycos</a></em></td><td></td><td><em class=tab><a href="s7.html#openletp">openlet?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundloopinfo">sound-loop-info</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#basiccolor">basic-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvtolist">float-vector->list</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nxysin">make-nxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#orientationhook">orientation-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundproperties">sound-properties</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#beatspermeasure">beats-per-measure</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvtostring">float-vector->string</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-pole">make-one-pole</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil">oscil</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundproperty">sound-property</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#beatsperminute">beats-per-minute</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvabs">float-vector-abs!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-pole-all-pass">make-one-pole-all-pass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil-bank">oscil-bank</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundwidgets">sound-widgets</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#beforeclosehook">before-close-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvadd">float-vector-add!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-zero">make-one-zero</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil-bank?">oscil-bank?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundp">sound?</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#beforeexithook">before-exit-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvcopy">float-vector-copy</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-oscil">make-oscil</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil?">oscil?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfontinfo">soundfont-info</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#beforesaveashook">before-save-as-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvequal">float-vector-equal?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-oscil-bank">make-oscil-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#out-any">out-any</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounds">sounds</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#beforesavestatehook">before-save-state-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvfill">float-vector-fill!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-phase-vocoder">make-phase-vocoder</a></em></td><td></td><td><em class=tab><a href="sndclm.html#outbank">out-bank</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundstosegmentdata">sounds->segment-data</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#beforetransformhook">before-transform-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvlength">float-vector-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-pink-noise">make-pink-noise</a></em></td><td></td><td><em class=tab><a href="sndclm.html#outa">outa</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectra">spectra</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#besj0">bes-j0</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvmax">float-vector-max</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makepixmap">make-pixmap</a></em></td><td></td><td><em class=tab><a href="s7.html#outlet">outlet</a></em></td><td></td><td><em class=tab><a href="sndscm.html#twotab">spectral interpolation</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#bess">bess</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvmin">float-vector-min</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeplayer">make-player</a></em></td><td></td><td><em class=tab><a href="sndclm.html#*output*">*output*</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectralpolynomial">spectral-polynomial</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#bess?">bess?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvmove">float-vector-move!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-polyoid">make-polyoid</a></em></td><td></td><td><em class=tab><a href="extsnd.html#outputcommenthook">output-comment-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrohop">spectro-hop</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">bessel filters</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvmultiply">float-vector-multiply!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-polyshape">make-polyshape</a></em></td><td></td><td><em class=tab><a href="sndscm.html#overlayrmsenv">overlay-rms-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroxangle">spectro-x-angle</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#bigbird">bigbird</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvoffset">float-vector-offset!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-polywave">make-polywave</a></em></td><td></td><td><em class=tab><a href="s7.html#owlet">owlet</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroxscale">spectro-x-scale</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#bignum">bignum</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvpeak">float-vector-peak</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-pulse-train">make-pulse-train</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#spectroyangle">spectro-y-angle</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#bignump">bignum?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vctpolynomial">float-vector-polynomial</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-pulsed-env">make-pulsed-env</a></em></td><td></td><td class="green"><div class="centered">P</div></td><td></td><td><em class=tab><a href="extsnd.html#spectroyscale">spectro-y-scale</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#binaryiodoc">binary files</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvref">float-vector-ref</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-r2k!cos">make-r2k!cos</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#spectrozangle">spectro-z-angle</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#bindkey">bind-key</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvreverse">float-vector-reverse!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-r2k2cos">make-r2k2cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#padchannel">pad-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrozscale">spectro-z-scale</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#bird">bird</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvscale">float-vector-scale!</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeramp">make-ramp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#padmarks">pad-marks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#spectrum">spectrum</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#blackman">blackman</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvset">float-vector-set!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rand">make-rand</a></em></td><td></td><td><em class=tab><a href="sndscm.html#padsound">pad-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectrumtocoeffs">spectrum->coeffs</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#blackman4envchannel">blackman4-env-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvsubseq">float-vector-subseq</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rand-interp">make-rand-interp</a></em></td><td></td><td><em class=tab><a href="s7.html#pairfilename">pair-filename</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrumend">spectrum-end</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#blackman?">blackman?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvsubtract">float-vector-subtract!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rcos">make-rcos</a></em></td><td></td><td><em class=tab><a href="s7.html#pairlinenumber">pair-line-number</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrumstart">spectrum-start</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#boldpeaksfont">bold-peaks-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fvp">float-vector?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-readin">make-readin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#panmix">pan-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedcontrol">speed-control</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#break">break</a></em></td><td></td><td><em class=tab><a href="sndclm.html#flocsig">flocsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeregion">make-region</a></em></td><td></td><td><em class=tab><a href="sndscm.html#panmixvct">pan-mix-float-vector</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedcontrolbounds">speed-control-bounds</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#brown-noise">brown-noise</a></em></td><td></td><td><em class=tab><a href="sndclm.html#flocsig?">flocsig?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeregionsampler">make-region-sampler</a></em></td><td></td><td><em class=tab><a href="sndclm.html#partialstopolynomial">partials->polynomial</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedstyle">speed-control-style</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#brown-noise?">brown-noise?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stereoflute">flute model</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rk!cos">make-rk!cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#partialstowave">partials->wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedtones">speed-control-tones</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">butterworth filters</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmbell">fm-bell</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rk!ssb">make-rk!ssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#pausing">pausing</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spotfreq">spot-freq</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#bytevector">byte-vector</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmdrum">fm-drum</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rkcos">make-rkcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peakenvdir">peak-env-dir</a></em></td><td></td><td><em class=tab><a href="sndclm.html#square-wave">square-wave</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#bytevectorp">byte-vector?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmnoise">fm-noise</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rkoddssb">make-rkoddssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peaks">peaks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#square-wave?">square-wave?</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndscm.html#fmparallelcomponent">fm-parallel-component</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rksin">make-rksin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peaksfont">peaks-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#squelchupdate">squelch-update</a></em></td></tr>
+  <tr><td class="green"><div class="centered">C</div></td><td></td><td><em class=tab><a href="sndscm.html#fmvox">fm-talker</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rkssb">make-rkssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-partialstowave">phase-partials->wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#squelchvowels">squelch-vowels</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndscm.html#fmtrumpet">fm-trumpet</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-round-interp">make-round-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-vocoder">phase-vocoder</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srate">srate</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#definecfunction">c-define</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vdoc">fm-violin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rssb">make-rssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-vocoder?">phase-vocoder?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericsrate"><b>srate (generic)</b></a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#cgp">c-g?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmvoice">fm-voice</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rxycos">make-rxycos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#prc95doc"><b>Physical Models</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#src">src</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#cobject">c-object?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fmssb">fmssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rxyk!cos">make-rxyk!cos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pianodoc">piano model</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcchannel">src-channel</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#cpoint">c-pointer</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fmssb?">fmssb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rxyk!sin">make-rxyk!sin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pink-noise">pink-noise</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcduration">src-duration</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#cpointer">c-pointer?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#focuswidget">focus-widget</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rxysin">make-rxysin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pink-noise?">pink-noise?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcfitenvelope">src-fit-envelope</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#callwithexit">call-with-exit</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fofins">FOF synthesis</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sampletofile">make-sample->file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pins">pins</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcmixes">src-mixes</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#bagpipe">canter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fofins">fofins</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesampler">make-sampler</a></em></td><td></td><td><em class=tab><a href="sndscm.html#placesound">place-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcsoundselection">src-selection</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#cascadetocanonical">cascade->canonical</a></em></td><td></td><td><em class=tab><a href="sndscm.html#foreachchild">for-each-child</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sawtooth-wave">make-sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#play">play</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcsound">src-sound</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#catch">catch</a></em></td><td></td><td><em class=tab><a href="sndscm.html#foreachsoundfile">for-each-sound-file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeselection">make-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericplay"><b>play (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#src?">src?</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#cellon">cellon</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fp">Forbidden Planet</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sinc-train">make-sinc-train</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playarrowsize">play-arrow-size</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ssb-am">ssb-am</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#chaindsps">chain-dsps</a></em></td><td></td><td><em class=tab><a href="extsnd.html#foregroundcolor">foreground-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesndtosample">make-snd->sample</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playbetweenmarks">play-between-marks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ssb-am?">ssb-am?</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#channeltovct">channel->vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#forgetregion">forget-region</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makesoundbox">make-sound-box</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playhook">play-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbbank">ssb-bank</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#channelampenvs">channel-amp-envs</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formant">formant</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makespencerfilter">make-spencer-filter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playmixes">play-mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbbankenv">ssb-bank-env</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#channeldata">channel-data</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formantbank">formant-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-square-wave">make-square-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playoften">play-often</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbfm">ssb-fm</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#channelenvelope">channel-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formantbankp">formant-bank?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-src">make-src</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playregionforever">play-region-forever</a></em></td><td></td><td><em class=tab><a href="sndscm.html#startdac">start-dac</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#channelpolynomial">channel-polynomial</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formant?">formant?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ssb-am">make-ssb-am</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsine">play-sine</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplaying">start-playing</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#channelproperties">channel-properties</a></em></td><td></td><td><em class=tab><a href="s7.html#format">format</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-table-lookup">make-table-lookup</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsines">play-sines</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplayinghook">start-playing-hook</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#channelproperty">channel-property</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandforth"><b>Forth</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-table-lookup-with-env">make-table-lookup-with-env</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsyncdmarks">play-syncd-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplayingselectionhook">start-playing-selection-hook</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#channelrms">channel-rms</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fp">fp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-tanhsin">make-tanhsin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playuntilcg">play-until-c-g</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startprogressreport">start-progress-report</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#channelstyle">channel-style</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fractionalfouriertransform">fractional-fourier-transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-triangle-wave">make-triangle-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playwithenvs">play-with-envs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#statusreport">status-report</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#channelsync">channel-sync</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frampletofile">frample->file</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-two-pole">make-two-pole</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playerhome">player-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stdinprompt">stdin-prompt</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#channelwidgets">channel-widgets</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frampletofile?">frample->file?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-two-zero">make-two-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playerQ">player?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stereotomono">stereo->mono</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#channels">channels</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frampletoframple">frample->frample</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makevariabledisplay">make-variable-display</a></em></td><td></td><td><em class=tab><a href="extsnd.html#players">players</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stereoflute">stereo-flute</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#genericchannels"><b>channels (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#framples">framples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makevariablegraph">make-variable-graph</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playing">playing</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayer">stop-player</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#channelsequal">channels-equal?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericframples"><b>framples (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#makevct">make-vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playexamples"><b>Playing</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplaying">stop-playing</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#channelseq">channels=?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#freeplayer">free-player</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-wave-train">make-wave-train</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pluck">pluck</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayinghook">stop-playing-hook</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#chans">chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#freesampler">free-sampler</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-wave-train-with-env">make-wave-train-with-env</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandladspa"><b>Plugins</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayingselectionhook">stop-playing-selection-hook</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#charposition">char-position</a></em></td><td></td><td><em class=tab><a href="sndscm.html#freeverb">freeverb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mapchannel">map-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polartorectangular">polar->rectangular</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stretchenvelope">stretch-envelope</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#chebyhka">cheby-hka</a></em></td><td></td><td><em class=tab><a href="fm.html#fmintro"><b>Frequency Modulation</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#mapsoundfiles">map-sound-files</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polynomial">polynomial</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stretchsoundviadft">stretch-sound-via-dft</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">chebyshev filters</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fullmix">fullmix</a></em></td><td></td><td><em class=tab><a href="sndscm.html#maracadoc">maracas</a></em></td><td></td><td><em class=tab><a href="sndscm.html#polydoc">polynomial operations</a></em></td><td></td><td><em class=tab><a href="s7.html#stringposition">string-position</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#checkmixtags">check-mix-tags</a></em></td><td></td><td><em class=tab><a href="s7.html#funclet">funclet</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktointeger">mark->integer</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoid">polyoid</a></em></td><td></td><td><em class=tab><a href="s7.html#sublet">sublet</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#chordalize">chordalize</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#markclickhook">mark-click-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoidenv">polyoid-env</a></em></td><td></td><td><em class=tab><a href="sndscm.html#superimposeffts">superimpose-ffts</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#chorus">chorus</a></em></td><td></td><td class="green"><div class="centered">G</div></td><td></td><td><em class=tab><a href="sndscm.html#markclickinfo">mark-click-info</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoid?">polyoid?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#swapchannels">swap-channels</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#cleanchannel">clean-channel</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#markcolor">mark-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyshape">polyshape</a></em></td><td></td><td><em class=tab><a href="sndscm.html#swapselectionchannels">swap-selection-channels</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#cleansound">clean-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#gaussiandistribution">gaussian-distribution</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markcontext">mark-context</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyshape?">polyshape?</a></em></td><td></td><td><em class=tab><a href="s7.html#symboltodynamicvalue">symbol->dynamic-value</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#clearlistener">clear-listener</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gcoff">gc-off</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markdraghook">mark-drag-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polywave">polywave</a></em></td><td></td><td><em class=tab><a href="s7.html#symboltovalue">symbol->value</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#cliphook">clip-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gcon">gc-on</a></em></td><td></td><td><em class=tab><a href="sndscm.html#markexplode">mark-explode</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polywave?">polywave?</a></em></td><td></td><td><em class=tab><a href="s7.html#symbolaccess">symbol-access</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#clipping">clipping</a></em></td><td></td><td><em class=tab><a href="sndclm.html#generators"><b>Generators</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#markhome">mark-home</a></em></td><td></td><td><em class=tab><a href="s7.html#portfilename">port-filename</a></em></td><td></td><td><em class=tab><a href="s7.html#symboltable">symbol-table</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#clmchannel">clm-channel</a></em></td><td></td><td><em class=tab><a href="s7.html#gensym">gensym</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markhook">mark-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#portlinenumber">port-line-number</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sync">sync</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#clmexpsrc">clm-expsrc</a></em></td><td></td><td><em class=tab><a href="s7.html#gensym?">gensym?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#markloops">mark-loops</a></em></td><td></td><td><em class=tab><a href="extsnd.html#positiontox">position->x</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericsync"><b>sync (generic)</b></a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#closehook">close-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#glgraphtops">gl-graph->ps</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markname">mark-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#positiontoy">position->y</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sync-everything">sync-everything</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#closesound">close-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#glspectrogram">glSpectrogram</a></em></td><td></td><td><em class=tab><a href="sndscm.html#marknametoid">mark-name->id</a></em></td><td></td><td><em class=tab><a href="extsnd.html#positioncolor">position-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncmax">sync-max</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colortolist">color->list</a></em></td><td></td><td><em class=tab><a href="sndscm.html#goertzel">goertzel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markproperties">mark-properties</a></em></td><td></td><td><em class=tab><a href="sndscm.html#powerenv">power-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncstyle">sync-style</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colorcutoff">color-cutoff</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gotolistenerend">goto-listener-end</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markproperty">mark-property</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pqw">pqw</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncdmarks">syncd-marks</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colorhook">color-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#grani">grani</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksample">mark-sample</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pqwvox">pqw-vox</a></em></td><td></td><td><em class=tab><a href="sndscm.html#syncdmixes">syncd-mixes</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colorinverted">color-inverted</a></em></td><td></td><td><em class=tab><a href="sndclm.html#grains"><b>Granular synthesis</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksync">mark-sync</a></em></td><td></td><td><em class=tab><a href="extsnd.html#preferencesdialog">preferences-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#syncup">syncup</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#colormixes">color-mixes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#granulate">granulate</a></em></td><td></td><td><em class=tab><a href="sndscm.html#marksynccolor">mark-sync-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#previoussample">previous-sample</a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colororientationdialog">color-orientation-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#granulate?">granulate?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksyncmax">mark-sync-max</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printdialog">print-dialog</a></em></td><td></td><td class="green"><div class="centered">T</div></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colorscale">color-scale</a></em></td><td></td><td><em class=tab><a href="sndscm.html#granulatedsoundinterp">granulated-sound-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktagheight">mark-tag-height</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printlength">print-length</a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colorp">color?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graph">graph</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktagwidth">mark-tag-width</a></em></td><td></td><td><em class=tab><a href="s7.html#proceduredocumentation">procedure-documentation</a></em></td><td></td><td><em class=tab><a href="sndclm.html#table-lookup">table-lookup</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colormap">colormap</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphtops">graph->ps</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markp">mark?</a></em></td><td></td><td><em class=tab><a href="s7.html#proceduresetter">procedure-setter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#table-lookup?">table-lookup?</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colormaptointeger">colormap->integer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphcolor">graph-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markstuff"><b>Marking</b></a></em></td><td></td><td><em class=tab><a href="s7.html#proceduresignature">procedure-signature</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tanhsin">tanhsin</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colormapname">colormap-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphcursor">graph-cursor</a></em></td><td></td><td><em class=tab><a href="extsnd.html#emarks">marks</a></em></td><td></td><td><em class=tab><a href="s7.html#proceduresource">procedure-source</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tanhsin?">tanhsin?</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colormapref">colormap-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphdata">graph-data</a></em></td><td></td><td><em class=tab><a href="sndscm.html#matchsoundfiles">match-sound-files</a></em></td><td></td><td><em class=tab><a href="extsnd.html#progressreport">progress-report</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tap">tap</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colormapsize">colormap-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphhook">graph-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#maxenvelope">max-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulse-train">pulse-train</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tap?">tap?</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colormapp">colormap?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphstyle">graph-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxregions">max-regions</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulse-train?">pulse-train?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#telephone">telephone</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#colors"><b>Colors</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#grapheq">graphic equalizer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxfftpeaks">max-transform-peaks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulsedenv">pulsed-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#tempdir">temp-dir</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#comb">comb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphshorizontal">graphs-horizontal</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxamp">maxamp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulsedenv?">pulsed-env?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#textfocuscolor">text-focus-color</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#combbank">comb-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise">green-noise</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericmaxamp"><b>maxamp (generic)</b></a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphstyle">time-graph-style</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#combbankp">comb-bank?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise-interp">green-noise-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxampposition">maxamp-position</a></em></td><td></td><td class="green"><div class="centered">R</div></td><td></td><td><em class=tab><a href="extsnd.html#timegraphtype">time-graph-type</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#comb?">comb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise-interp?">green-noise-interp?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxampexamples"><b>Maxamps</b></a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphp">time-graph?</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#combineddatacolor">combined-data-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise?">green-noise?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#menuwidgets">menu-widgets</a></em></td><td></td><td><em class=tab><a href="sndclm.html#r2k!cos">r2k!cos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#timestosamples">times->samples</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#comment">comment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#griddensity">grid-density</a></em></td><td></td><td><em class=tab><a href="sndscm.html#menusdoc">menus, optional</a></em></td><td></td><td><em class=tab><a href="sndclm.html#r2k!cos?">r2k!cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#tinyfont">tiny-font</a></em></td></tr>
+  <tr><td><em class=tab><a href="grfsnd.html#sndwithcm"><b>Common Music</b></a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#mindb">min-dB</a></em></td><td></td><td><em class=tab><a href="sndclm.html#r2k2cos">r2k2cos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#telephone">touch-tone</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#complexify">complexify</a></em></td><td></td><td class="green"><div class="centered">H</div></td><td></td><td><em class=tab><a href="extsnd.html#mix">mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#r2k2cos?">r2k2cos?</a></em></td><td></td><td><em class=tab><a href="s7.html#trace">trace</a></em></td></tr>
   <tr><td><em class=tab><a href="sndscm.html#concatenateenvelopes">concatenate-envelopes</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndscm.html#mixtovct">mix->float-vector</a></em></td><td></td><td><em class=tab><a href="sndclm.html#radianstodegrees">radians->degrees</a></em></td><td></td><td><em class=tab><a href="extsnd.html#trackingcursors"><b>Tracking cursors</b></a></em></td></tr>
   <tr><td><em class=tab><a href="s7.html#constantp">constant?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#harmonicizer">harmonicizer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixtointeger">mix->integer</a></em></td><td></td><td><em class=tab><a href="sndclm.html#radianstohz">radians->hz</a></em></td><td></td><td><em class=tab><a href="extsnd.html#trackingcursorstyle">tracking-cursor-style</a></em></td></tr>
   <tr><td><em class=tab><a href="s7.html#continuationp">continuation?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#dht">Hartley transform</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixamp">mix-amp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#rampchannel">ramp-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformtointeger">transform->integer</a></em></td></tr>
@@ -300,99 +299,100 @@
   <tr><td><em class=tab><a href="extsnd.html#deletecolormap">delete-colormap</a></em></td><td></td><td><em class=tab><a href="sndclm.html#j0j1cos?">j0j1cos?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mpg">mpg</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ring-modulate">ring-modulate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctp">vct?</a></em></td></tr>
   <tr><td><em class=tab><a href="extsnd.html#deletefilefilter">delete-file-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#j2cos">j2cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsabuffersize">mus-alsa-buffer-size</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rk!cos">rk!cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#Vcts"><b>Vcts</b></a></em></td></tr>
   <tr><td><em class=tab><a href="extsnd.html#deletefilesorter">delete-file-sorter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#j2cos?">j2cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsabuffers">mus-alsa-buffers</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rk!cos?">rk!cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vectortovct">vector->vct</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#deletemark">delete-mark</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandjack"><b>Jack</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsacapturedevice">mus-alsa-capture-device</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rk!ssb">rk!ssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesamp">view-files-amp</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#deletemarks">delete-marks</a></em></td><td></td><td><em class=tab><a href="sndscm.html#jcreverb">jc-reverb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsadevice">mus-alsa-device</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rk!ssb?">rk!ssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesampenv">view-files-amp-env</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#deletesample">delete-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jjcos">jjcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsaplaybackdevice">mus-alsa-playback-device</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkcos">rkcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesdialog">view-files-dialog</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#deletesamples">delete-samples</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jjcos?">jjcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsasquelchwarning">mus-alsa-squelch-warning</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkcos?">rkcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesfiles">view-files-files</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#deletesamplesandsmooth">delete-samples-and-smooth</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jncos">jncos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musarrayprintlength">mus-array-print-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkoddssb">rkoddssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesselecthook">view-files-select-hook</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#deleteselection">delete-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jncos?">jncos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musbytespersample">mus-bytes-per-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkoddssb?">rkoddssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesselectedfiles">view-files-selected-files</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#deleteselectionandsmooth">delete-selection-and-smooth</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jpcos">jpcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-channel">mus-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rksin">rksin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilessort">view-files-sort</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#deletetransform">delete-transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jpcos?">jpcos?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-channels">mus-channels</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rksin?">rksin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesspeed">view-files-speed</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#deletionexamples"><b>Deletions</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#justsounds">just-sounds</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-chebyshev-tu-sum">mus-chebyshev-tu-sum</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkssb">rkssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesspeedstyle">view-files-speed-style</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#describehook">describe-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jycos">jycos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musclipping">mus-clipping</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkssb?">rkssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewmixesdialog">view-mixes-dialog</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#describemark">describe-mark</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jycos?">jycos?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-close">mus-close</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsgain">rms</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewregionsdialog">view-regions-dialog</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#dht">dht</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-copy">mus-copy</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsgain">rms, gain, balance gens</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewsound">view-sound</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#dialogwidgets">dialog-widgets</a></em></td><td></td><td class="green"><div class="centered">K</div></td><td></td><td><em class=tab><a href="sndclm.html#mus-data">mus-data</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsenvelope">rms-envelope</a></em></td><td></td><td><em class=tab><a href="sndscm.html#singerdoc">voice physical model</a></em></td></tr>
-  <tr><td><em class=tab><a href="s7.html#dilambda">dilambda</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-describe">mus-describe</a></em></td><td></td><td><em class=tab><a href="s7.html#rootlet">rootlet</a></em></td><td></td><td><em class=tab><a href="sndscm.html#voicedtounvoiced">voiced->unvoiced</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#disablecontrolpanel">disable-control-panel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2cos">k2cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#muserrorhook">mus-error-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#round-interp">round-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#volterrafilter">volterra-filter</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#displaybarkfft">display-bark-fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2cos?">k2cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#muserrortypetostring">mus-error-type->string</a></em></td><td></td><td><em class=tab><a href="sndclm.html#round-interp?">round-interp?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmvox">vox</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#displaycorrelation">display-correlation</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2sin">k2sin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musexpandfilename">mus-expand-filename</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rssb">rssb</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#displaydb">display-db</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2sin?">k2sin?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-feedback">mus-feedback</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rssbinterp">rssb-interp</a></em></td><td></td><td class="green"><div class="centered">W</div></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#displayedits">display-edits</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2ssb">k2ssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-feedforward">mus-feedforward</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rssb?">rssb?</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#displayenergy">display-energy</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2ssb?">k2ssb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fft">mus-fft</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rubbersound">rubber-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#wave-train">wave-train</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#dissolvefade">dissolve-fade</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k3sin">k3sin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musfilebuffersize">mus-file-buffer-size</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandruby"><b>Ruby</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#wave-train?">wave-train?</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#ditherchannel">dither-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k3sin?">k3sin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musfileclipping">mus-file-clipping</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxycos">rxycos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavelettype">wavelet-type</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#dithersound">dither-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#kalmanfilterchannel">kalman-filter-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#musfilemix">mus-file-mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxycos?">rxycos?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pqwvox">waveshaping voice</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#dolph">dolph</a></em></td><td></td><td><em class=tab><a href="extsnd.html#key">key</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-file-name">mus-file-name</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxyk!cos">rxyk!cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavohop">wavo-hop</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#dot-product">dot-product</a></em></td><td></td><td><em class=tab><a href="extsnd.html#keybinding">key-binding</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musfloatequalfudgefactor">mus-float-equal-fudge-factor</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxyk!cos?">rxyk!cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavotrace">wavo-trace</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#dotsize">dot-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#keypresshook">key-press-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-frequency">mus-frequency</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxyk!sin">rxyk!sin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#weighted-moving-average">weighted-moving-average</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#downoct">down-oct</a></em></td><td></td><td><em class=tab><a href="sndclm.html#krksin">krksin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musgeneratorp">mus-generator?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxyk!sin?">rxyk!sin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgetposition">widget-position</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#drawaxes">draw-axes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#krksin?">krksin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musheaderrawdefaults">mus-header-raw-defaults</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxysin">rxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgetsize">widget-size</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#drawdot">draw-dot</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#musheadertypetostring">mus-header-type->string</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxysin?">rxysin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgettext">widget-text</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#drawdots">draw-dots</a></em></td><td></td><td class="green"><div class="centered">L</div></td><td></td><td><em class=tab><a href="extsnd.html#musheadertypename">mus-header-type-name</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#movingwindows"><b>Window size and position</b></a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#drawline">draw-line</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-hop">mus-hop</a></em></td><td></td><td class="green"><div class="centered">S</div></td><td></td><td><em class=tab><a href="extsnd.html#windowheight">window-height</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#drawlines">draw-lines</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#ladspadescriptor">ladspa-descriptor</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-increment">mus-increment</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndscm.html#windowsamples">window-samples</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#drawmarkhook">draw-mark-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ladspadir">ladspa-dir</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-input?">mus-input?</a></em></td><td></td><td><em class=tab><a href="s7.html#s7doc"><b>s7 scheme</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowwidth">window-width</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#drawmixhook">draw-mix-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#lambdastar">lambda*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-interp-type">mus-interp-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sample">sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowx">window-x</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#drawstring">draw-string</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lbjpiano">lbj-piano</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-interpolate">mus-interpolate</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletofile">sample->file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowy">window-y</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#drone">drone</a></em></td><td></td><td><em class=tab><a href="extsnd.html#leftsample">left-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-length">mus-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletofile?">sample->file?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withbackgroundprocesses">with-background-processes</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#makedropsite">drop sites</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericlength"><b>length (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-location">mus-location</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sampletype">sample-type</a></em></td><td></td><td><em class=tab><a href="s7.html#withbaffle">with-baffle</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#drophook">drop-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#lettolist">let->list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musmaxmalloc">mus-max-malloc</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sampleratendQ">sampler-at-end?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withfilemonitor">with-file-monitor</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#duringopenhook">during-open-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#letref">let-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musmaxtablesize">mus-max-table-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerhome">sampler-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withgl">with-gl</a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="s7.html#letset">let-set!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-name">mus-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerposition">sampler-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withinsetgraph">with-inset-graph</a></em></td></tr>
-  <tr><td class="green"><div class="centered">E</div></td><td></td><td><em class=tab><a href="s7.html#letp">let?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-offset">mus-offset</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerQ">sampler?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withinterrupts">with-interrupts</a></em></td></tr>
-  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#lineartodb">linear->db</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-order">mus-order</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplers"><b>samplers</b></a></em></td><td></td><td><em class=tab><a href="s7.html#with-let">with-let</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#editlists"><b>Edit lists</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#linearsrcchannel">linear-src-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musosssetbuffers">mus-oss-set-buffers</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samples">samples</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withlocalhook">with-local-hook</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#editfragment">edit-fragment</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lintdoc">lint for scheme</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-output?">mus-output?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#samplestoseconds">samples->seconds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withmenuicons">with-menu-icons</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#editheaderdialog">edit-header-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphhook">lisp-graph-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-phase">mus-phase</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sashcolor">sash-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withmixtags">with-mix-tags</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#edithook">edit-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphstyle">lisp-graph-style</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ramp">mus-ramp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveasdialogautocomment">save-as-dialog-auto-comment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withpointerfocus">with-pointer-focus</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#editlisttofunction">edit-list->function</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphp">lisp-graph?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-rand-seed">mus-rand-seed</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveasdialogsrc">save-as-dialog-src</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withrelativepanes">with-relative-panes</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#editposition">edit-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listtofv">list->float-vector</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-random">mus-random</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savecontrols">save-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withsmptelabel">with-smpte-label</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#editproperties">edit-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listtovct">list->vct</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-reset">mus-reset</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savedir">save-dir</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withsound">with-sound</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#editproperty">edit-property</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#listladspa">list-ladspa</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-run">mus-run</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveedithistory">save-edit-history</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withtemporaryselection">with-temporary-selection</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#edittree">edit-tree</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerclickhook">listener-click-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussampletypetostring">mus-sample-type->string</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveenvelopes">save-envelopes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withtoolbar">with-toolbar</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#edits">edits</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenercolor">listener-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussampletypename">mus-sample-type-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savehook">save-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withtooltips">with-tooltips</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#edot-product">edot-product</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenercolorized">listener-colorized</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-scaler">mus-scaler</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savelistener">save-listener</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withtrackingcursor">with-tracking-cursor</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#effectshook">effects-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerfont">listener-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundchans">mus-sound-chans</a></em></td><td></td><td><em class=tab><a href="sndscm.html#savemarkproperties">save-mark-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withverbosecursor">with-verbose-cursor</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">elliptic filters</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerprompt">listener-prompt</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcloseinput">mus-sound-close-input</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemarks">save-marks</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="grfsnd.html#emacssnd"><b>Emacs and Snd</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerselection">listener-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcloseoutput">mus-sound-close-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemix">save-mix</a></em></td><td></td><td class="green"><div class="centered">X</div></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#env">env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenertextcolor">listener-text-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcomment">mus-sound-comment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveregion">save-region</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#env-any">env-any</a></em></td><td></td><td><em class=tab><a href="extsnd.html#littleendianp">little-endian?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddatalocation">mus-sound-data-location</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveregiondialog">save-region-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xtoposition">x->position</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envchannel">env-channel</a></em></td><td></td><td><em class=tab><a href="s7.html#loadhook">*load-hook*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddatumsize">mus-sound-datum-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveselection">save-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xaxislabel">x-axis-label</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envchannelwithbase">env-channel-with-base</a></em></td><td></td><td><em class=tab><a href="s7.html#loadpath">*load-path*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundduration">mus-sound-duration</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveselectiondialog">save-selection-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xaxisstyle">x-axis-style</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#envexptchannel">env-expt-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#locatezero">locate-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundforget">mus-sound-forget</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesound">save-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xbounds">x-bounds</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#env-interp">env-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig">locsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundframples">mus-sound-framples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesoundas">save-sound-as</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xpositionslider">x-position-slider</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#envmixes">env-mixes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-ref">locsig-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundheadertype">mus-sound-header-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesounddialog">save-sound-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xzoomslider">x-zoom-slider</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envselection">env-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-reverb-ref">locsig-reverb-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundlength">mus-sound-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestate">save-state</a></em></td><td></td><td><em class=tab><a href="sndscm.html#xbopen">xb-open</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envsound">env-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-reverb-set!">locsig-reverb-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundloopinfo">mus-sound-loop-info</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestatefile">save-state-file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xrampchannel">xramp-channel</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#envsoundinterp">env-sound-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-set!">locsig-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmarkinfo">mus-sound-mark-info</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestatehook">save-state-hook</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#envsquaredchannel">env-squared-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-type">locsig-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmaxamp">mus-sound-maxamp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveexamples"><b>Saving</b></a></em></td><td></td><td class="green"><div class="centered">Y</div></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#env?">env?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig?">locsig?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmaxampexists">mus-sound-maxamp-exists?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sgfilter">savitzky-golay-filter</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedbase">enved-base</a></em></td><td></td><td><em class=tab><a href="extsnd.html#logfreqstart">log-freq-start</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundopeninput">mus-sound-open-input</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sawtooth-wave">sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ytoposition">y->position</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedclipping">enved-clip?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lpccoeffs">lpc-coeffs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundopenoutput">mus-sound-open-output</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sawtooth-wave?">sawtooth-wave?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#yaxislabel">y-axis-label</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#enveddialog">enved-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lpcpredict">lpc-predict</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundpath">mus-sound-path</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleby">scale-by</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ybounds">y-bounds</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedenvelope">enved-envelope</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundpreload">mus-sound-preload</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scalechannel">scale-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ypositionslider">y-position-slider</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#filterenv">enved-filter</a></em></td><td></td><td class="green"><div class="centered">M</div></td><td></td><td><em class=tab><a href="extsnd.html#mussoundprune">mus-sound-prune</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scaleenvelope">scale-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#yzoomslider">y-zoom-slider</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#filterenvorder">enved-filter-order</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundread">mus-sound-read</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scalemixes">scale-mixes</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedhook">enved-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#macrop">macro?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundreopenoutput">mus-sound-reopen-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleselectionby">scale-selection-by</a></em></td><td></td><td class="green"><div class="centered">Z</div></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedin-dB">enved-in-dB</a></em></td><td></td><td><em class=tab><a href="s7.html#macroexpand">macroexpand</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundreportcache">mus-sound-report-cache</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleselectionto">scale-selection-to</a></em></td><td></td><td><em class=tab>    </em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedpower">enved-power</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mainmenu">main-menu</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsampletype">mus-sound-sample-type</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scalesound">scale-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ztransform">z-transform</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedstyle">enved-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mainwidgets">main-widgets</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsamples">mus-sound-samples</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scaletempo">scale-tempo</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zecho">zecho</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedtarget">enved-target</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-abcos">make-abcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundseekframple">mus-sound-seek-frample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleto">scale-to</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zeroplus">zero+</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedwaving">enved-wave?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-absin">make-absin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsrate">mus-sound-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scanchannel">scan-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zeropad">zero-pad</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envedwaveformcolor">enved-waveform-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-adjustable-sawtooth-wave">make-adjustable-sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundtypespecifier">mus-sound-type-specifier</a></em></td><td></td><td><em class=tab><a href="sndscm.html#dspdocscanned">scanned synthesis</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zerophase">zero-phase</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#envelopeinterp">envelope-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-adjustable-square-wave">make-adjustable-square-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundwrite">mus-sound-write</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scentroid">scentroid</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zipsound">zip-sound</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndscm.html#envelopedmix">enveloped-mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-adjustable-triangle-wave">make-adjustable-triangle-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundwritedate">mus-sound-write-date</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scratch">scratch</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zipper">zipper</a></em></td></tr>
-  <tr><td><em class=tab><a href="extsnd.html#envexamples"><b>Envelopes</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-all-pass">make-all-pass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mussrate">mus-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scriptarg">script-arg</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zoomcolor">zoom-color</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#eoddcos">eoddcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#makeallpassbank">make-all-pass-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-width">mus-width</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scriptargs">script-args</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zoomfocusstyle">zoom-focus-style</a></em></td></tr>
-  <tr><td><em class=tab><a href="sndclm.html#eoddcos?">eoddcos?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-asyfm">make-asyfm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-xcoeff">mus-xcoeff</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndwithnogui"><b>Scripting</b></a></em></td><td></td>
-</tr>
+  <tr><td><em class=tab><a href="extsnd.html#deletemark">delete-mark</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandjack"><b>Jack</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsacapturedevice">mus-alsa-capture-device</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rk!ssb">rk!ssb</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vibratinguniformcircularstring">vibrating-uniform-circular-string</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#deletemarks">delete-marks</a></em></td><td></td><td><em class=tab><a href="sndscm.html#jcreverb">jc-reverb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsadevice">mus-alsa-device</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rk!ssb?">rk!ssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesamp">view-files-amp</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#deletesample">delete-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jjcos">jjcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsaplaybackdevice">mus-alsa-playback-device</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkcos">rkcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesampenv">view-files-amp-env</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#deletesamples">delete-samples</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jjcos?">jjcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsasquelchwarning">mus-alsa-squelch-warning</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkcos?">rkcos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesdialog">view-files-dialog</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#deletesamplesandsmooth">delete-samples-and-smooth</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jncos">jncos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musarrayprintlength">mus-array-print-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkoddssb">rkoddssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesfiles">view-files-files</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#deleteselection">delete-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jncos?">jncos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musbytespersample">mus-bytes-per-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkoddssb?">rkoddssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesselecthook">view-files-select-hook</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#deleteselectionandsmooth">delete-selection-and-smooth</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jpcos">jpcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-channel">mus-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rksin">rksin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesselectedfiles">view-files-selected-files</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#deletetransform">delete-transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jpcos?">jpcos?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-channels">mus-channels</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rksin?">rksin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilessort">view-files-sort</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#deletionexamples"><b>Deletions</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#justsounds">just-sounds</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-chebyshev-tu-sum">mus-chebyshev-tu-sum</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkssb">rkssb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesspeed">view-files-speed</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#describehook">describe-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jycos">jycos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musclipping">mus-clipping</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rkssb?">rkssb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesspeedstyle">view-files-speed-style</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#describemark">describe-mark</a></em></td><td></td><td><em class=tab><a href="sndclm.html#jycos?">jycos?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-close">mus-close</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsgain">rms</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewmixesdialog">view-mixes-dialog</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#dht">dht</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-copy">mus-copy</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsgain">rms, gain, balance gens</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewregionsdialog">view-regions-dialog</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#dialogwidgets">dialog-widgets</a></em></td><td></td><td class="green"><div class="centered">K</div></td><td></td><td><em class=tab><a href="sndclm.html#mus-data">mus-data</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsenvelope">rms-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewsound">view-sound</a></em></td></tr>
+  <tr><td><em class=tab><a href="s7.html#dilambda">dilambda</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-describe">mus-describe</a></em></td><td></td><td><em class=tab><a href="s7.html#rootlet">rootlet</a></em></td><td></td><td><em class=tab><a href="sndscm.html#singerdoc">voice physical model</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#disablecontrolpanel">disable-control-panel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2cos">k2cos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#muserrorhook">mus-error-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#round-interp">round-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#voicedtounvoiced">voiced->unvoiced</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#displaybarkfft">display-bark-fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2cos?">k2cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#muserrortypetostring">mus-error-type->string</a></em></td><td></td><td><em class=tab><a href="sndclm.html#round-interp?">round-interp?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#volterrafilter">volterra-filter</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#displaycorrelation">display-correlation</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2sin">k2sin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musexpandfilename">mus-expand-filename</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rssb">rssb</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmvox">vox</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#displaydb">display-db</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2sin?">k2sin?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-feedback">mus-feedback</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rssbinterp">rssb-interp</a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#displayedits">display-edits</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2ssb">k2ssb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-feedforward">mus-feedforward</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rssb?">rssb?</a></em></td><td></td><td class="green"><div class="centered">W</div></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#displayenergy">display-energy</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k2ssb?">k2ssb?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fft">mus-fft</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rubbersound">rubber-sound</a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#dissolvefade">dissolve-fade</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k3sin">k3sin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musfilebuffersize">mus-file-buffer-size</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandruby"><b>Ruby</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#wave-train">wave-train</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#ditherchannel">dither-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#k3sin?">k3sin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musfileclipping">mus-file-clipping</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxycos">rxycos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#wave-train?">wave-train?</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#dithersound">dither-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#kalmanfilterchannel">kalman-filter-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#musfilemix">mus-file-mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxycos?">rxycos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavelettype">wavelet-type</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#dolph">dolph</a></em></td><td></td><td><em class=tab><a href="extsnd.html#key">key</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-file-name">mus-file-name</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxyk!cos">rxyk!cos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pqwvox">waveshaping voice</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#dot-product">dot-product</a></em></td><td></td><td><em class=tab><a href="extsnd.html#keybinding">key-binding</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musfloatequalfudgefactor">mus-float-equal-fudge-factor</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxyk!cos?">rxyk!cos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavohop">wavo-hop</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#dotsize">dot-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#keypresshook">key-press-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-frequency">mus-frequency</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxyk!sin">rxyk!sin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavotrace">wavo-trace</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#downoct">down-oct</a></em></td><td></td><td><em class=tab><a href="sndclm.html#krksin">krksin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musgeneratorp">mus-generator?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxyk!sin?">rxyk!sin?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#weighted-moving-average">weighted-moving-average</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#drawaxes">draw-axes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#krksin?">krksin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musheaderrawdefaults">mus-header-raw-defaults</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxysin">rxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgetposition">widget-position</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#drawdot">draw-dot</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#musheadertypetostring">mus-header-type->string</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rxysin?">rxysin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgetsize">widget-size</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#drawdots">draw-dots</a></em></td><td></td><td class="green"><div class="centered">L</div></td><td></td><td><em class=tab><a href="extsnd.html#musheadertypename">mus-header-type-name</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#widgettext">widget-text</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#drawline">draw-line</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-hop">mus-hop</a></em></td><td></td><td class="green"><div class="centered">S</div></td><td></td><td><em class=tab><a href="extsnd.html#movingwindows"><b>Window size and position</b></a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#drawlines">draw-lines</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#ladspadescriptor">ladspa-descriptor</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-increment">mus-increment</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#windowheight">window-height</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#drawmarkhook">draw-mark-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ladspadir">ladspa-dir</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-input?">mus-input?</a></em></td><td></td><td><em class=tab><a href="s7.html#s7doc"><b>s7 scheme</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#windowsamples">window-samples</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#drawmixhook">draw-mix-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#lambdastar">lambda*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-interp-type">mus-interp-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sample">sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowwidth">window-width</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#drawstring">draw-string</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lbjpiano">lbj-piano</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-interpolate">mus-interpolate</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletofile">sample->file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowx">window-x</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#drone">drone</a></em></td><td></td><td><em class=tab><a href="extsnd.html#leftsample">left-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-length">mus-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletofile?">sample->file?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowy">window-y</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#makedropsite">drop sites</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericlength"><b>length (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-location">mus-location</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sampletype">sample-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withbackgroundprocesses">with-background-processes</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#drophook">drop-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#lettolist">let->list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musmaxmalloc">mus-max-malloc</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sampleratendQ">sampler-at-end?</a></em></td><td></td><td><em class=tab><a href="s7.html#withbaffle">with-baffle</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#duringopenhook">during-open-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#letref">let-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musmaxtablesize">mus-max-table-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerhome">sampler-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withfilemonitor">with-file-monitor</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="s7.html#letset">let-set!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-name">mus-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerposition">sampler-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withgl">with-gl</a></em></td></tr>
+  <tr><td class="green"><div class="centered">E</div></td><td></td><td><em class=tab><a href="s7.html#letp">let?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-offset">mus-offset</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerQ">sampler?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withinsetgraph">with-inset-graph</a></em></td></tr>
+  <tr><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#lineartodb">linear->db</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-order">mus-order</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplers"><b>samplers</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#withinterrupts">with-interrupts</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#editlists"><b>Edit lists</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#linearsrcchannel">linear-src-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musosssetbuffers">mus-oss-set-buffers</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samples">samples</a></em></td><td></td><td><em class=tab><a href="s7.html#with-let">with-let</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#editfragment">edit-fragment</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lintdoc">lint for scheme</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-output?">mus-output?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#samplestoseconds">samples->seconds</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withlocalhook">with-local-hook</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#editheaderdialog">edit-header-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphhook">lisp-graph-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-phase">mus-phase</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sashcolor">sash-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withmenuicons">with-menu-icons</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#edithook">edit-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphstyle">lisp-graph-style</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ramp">mus-ramp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveasdialogautocomment">save-as-dialog-auto-comment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withmixtags">with-mix-tags</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#editlisttofunction">edit-list->function</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphp">lisp-graph?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-rand-seed">mus-rand-seed</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveasdialogsrc">save-as-dialog-src</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withpointerfocus">with-pointer-focus</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#editposition">edit-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listtofv">list->float-vector</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-random">mus-random</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savecontrols">save-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withrelativepanes">with-relative-panes</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#editproperties">edit-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listtovct">list->vct</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-reset">mus-reset</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savedir">save-dir</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withsmptelabel">with-smpte-label</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#editproperty">edit-property</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#listladspa">list-ladspa</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-run">mus-run</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveedithistory">save-edit-history</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withsound">with-sound</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#edittree">edit-tree</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerclickhook">listener-click-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussampletypetostring">mus-sample-type->string</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveenvelopes">save-envelopes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withtemporaryselection">with-temporary-selection</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#edits">edits</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenercolor">listener-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussampletypename">mus-sample-type-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savehook">save-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withtoolbar">with-toolbar</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#edot-product">edot-product</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenercolorized">listener-colorized</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-scaler">mus-scaler</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savelistener">save-listener</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withtooltips">with-tooltips</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#effectshook">effects-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerfont">listener-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundchans">mus-sound-chans</a></em></td><td></td><td><em class=tab><a href="sndscm.html#savemarkproperties">save-mark-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withtrackingcursor">with-tracking-cursor</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">elliptic filters</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerprompt">listener-prompt</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcloseinput">mus-sound-close-input</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemarks">save-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withverbosecursor">with-verbose-cursor</a></em></td></tr>
+  <tr><td><em class=tab><a href="grfsnd.html#emacssnd"><b>Emacs and Snd</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerselection">listener-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcloseoutput">mus-sound-close-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemix">save-mix</a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#env">env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenertextcolor">listener-text-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcomment">mus-sound-comment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveregion">save-region</a></em></td><td></td><td class="green"><div class="centered">X</div></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#env-any">env-any</a></em></td><td></td><td><em class=tab><a href="extsnd.html#littleendianp">little-endian?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddatalocation">mus-sound-data-location</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveregiondialog">save-region-dialog</a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envchannel">env-channel</a></em></td><td></td><td><em class=tab><a href="s7.html#loadhook">*load-hook*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddatumsize">mus-sound-datum-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveselection">save-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xtoposition">x->position</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envchannelwithbase">env-channel-with-base</a></em></td><td></td><td><em class=tab><a href="s7.html#loadpath">*load-path*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundduration">mus-sound-duration</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveselectiondialog">save-selection-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xaxislabel">x-axis-label</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#envexptchannel">env-expt-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#locatezero">locate-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundforget">mus-sound-forget</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesound">save-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xaxisstyle">x-axis-style</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#env-interp">env-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig">locsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundframples">mus-sound-framples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesoundas">save-sound-as</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xbounds">x-bounds</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#envmixes">env-mixes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-ref">locsig-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundheadertype">mus-sound-header-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesounddialog">save-sound-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xpositionslider">x-position-slider</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envselection">env-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-reverb-ref">locsig-reverb-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundlength">mus-sound-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestate">save-state</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xzoomslider">x-zoom-slider</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envsound">env-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-reverb-set!">locsig-reverb-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundloopinfo">mus-sound-loop-info</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestatefile">save-state-file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#xbopen">xb-open</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#envsoundinterp">env-sound-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-set!">locsig-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmarkinfo">mus-sound-mark-info</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestatehook">save-state-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xrampchannel">xramp-channel</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#envsquaredchannel">env-squared-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-type">locsig-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmaxamp">mus-sound-maxamp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveexamples"><b>Saving</b></a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#env?">env?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig?">locsig?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmaxampexists">mus-sound-maxamp-exists?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sgfilter">savitzky-golay-filter</a></em></td><td></td><td class="green"><div class="centered">Y</div></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedbase">enved-base</a></em></td><td></td><td><em class=tab><a href="extsnd.html#logfreqstart">log-freq-start</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundopeninput">mus-sound-open-input</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sawtooth-wave">sawtooth-wave</a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedclipping">enved-clip?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lpccoeffs">lpc-coeffs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundopenoutput">mus-sound-open-output</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sawtooth-wave?">sawtooth-wave?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ytoposition">y->position</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#enveddialog">enved-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lpcpredict">lpc-predict</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundpath">mus-sound-path</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleby">scale-by</a></em></td><td></td><td><em class=tab><a href="extsnd.html#yaxislabel">y-axis-label</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedenvelope">enved-envelope</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundpreload">mus-sound-preload</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scalechannel">scale-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ybounds">y-bounds</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#filterenv">enved-filter</a></em></td><td></td><td class="green"><div class="centered">M</div></td><td></td><td><em class=tab><a href="extsnd.html#mussoundprune">mus-sound-prune</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scaleenvelope">scale-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ypositionslider">y-position-slider</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#filterenvorder">enved-filter-order</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundread">mus-sound-read</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scalemixes">scale-mixes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#yzoomslider">y-zoom-slider</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedhook">enved-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#macrop">macro?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundreopenoutput">mus-sound-reopen-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleselectionby">scale-selection-by</a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedin-dB">enved-in-dB</a></em></td><td></td><td><em class=tab><a href="s7.html#macroexpand">macroexpand</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundreportcache">mus-sound-report-cache</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleselectionto">scale-selection-to</a></em></td><td></td><td class="green"><div class="centered">Z</div></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedpower">enved-power</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mainmenu">main-menu</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsampletype">mus-sound-sample-type</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scalesound">scale-sound</a></em></td><td></td><td><em class=tab>    </em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedstyle">enved-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mainwidgets">main-widgets</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsamples">mus-sound-samples</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scaletempo">scale-tempo</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ztransform">z-transform</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedtarget">enved-target</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-abcos">make-abcos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundseekframple">mus-sound-seek-frample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleto">scale-to</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zecho">zecho</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedwaving">enved-wave?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-absin">make-absin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsrate">mus-sound-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scanchannel">scan-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zeroplus">zero+</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envedwaveformcolor">enved-waveform-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-adjustable-sawtooth-wave">make-adjustable-sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundtypespecifier">mus-sound-type-specifier</a></em></td><td></td><td><em class=tab><a href="sndscm.html#dspdocscanned">scanned synthesis</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zeropad">zero-pad</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#envelopeinterp">envelope-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-adjustable-square-wave">make-adjustable-square-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundwrite">mus-sound-write</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scentroid">scentroid</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zerophase">zero-phase</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndscm.html#envelopedmix">enveloped-mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-adjustable-triangle-wave">make-adjustable-triangle-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundwritedate">mus-sound-write-date</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scratch">scratch</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zipsound">zip-sound</a></em></td></tr>
+  <tr><td><em class=tab><a href="extsnd.html#envexamples"><b>Envelopes</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-all-pass">make-all-pass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mussrate">mus-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scriptarg">script-arg</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zipper">zipper</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#eoddcos">eoddcos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#makeallpassbank">make-all-pass-bank</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-width">mus-width</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scriptargs">script-args</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zoomcolor">zoom-color</a></em></td></tr>
+  <tr><td><em class=tab><a href="sndclm.html#eoddcos?">eoddcos?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-asyfm">make-asyfm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-xcoeff">mus-xcoeff</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndwithnogui"><b>Scripting</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#zoomfocusstyle">zoom-focus-style</a></em></td></tr>
   <tr><td><em class=tab><a href="extsnd.html#epsbottommargin">eps-bottom-margin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-asymmetric-fm">make-asymmetric-fm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-xcoeffs">mus-xcoeffs</a></em></td><td></td><td><em class=tab><a href="sndscm.html#searchforclick">search-for-click</a></em></td><td></td>
 </tr>
   <tr><td><em class=tab><a href="extsnd.html#epsfile">eps-file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebandpass">make-bandpass</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ycoeff">mus-ycoeff</a></em></td><td></td><td><em class=tab><a href="extsnd.html#searchprocedure">search-procedure</a></em></td><td></td>
 </tr>
   <tr><td><em class=tab><a href="extsnd.html#epsleftmargin">eps-left-margin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebandstop">make-bandstop</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ycoeffs">mus-ycoeffs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#searchexamples"><b>Searching</b></a></em></td><td></td>
 </tr>
+  <tr><td><em class=tab><a href="extsnd.html#epssize">eps-size</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-bess">make-bess</a></em></td><td></td><td><em class=tab>    </em></td><td></td><td><em class=tab><a href="sndclm.html#secondstosamples">seconds->samples</a></em></td><td></td>
+</tr>
 
 </table>
 </body></html>
diff --git a/io.c b/io.c
index c078535..7d23ce0 100644
--- a/io.c
+++ b/io.c
@@ -35,20 +35,20 @@
 
 #define HAVE_BYTESWAP_H __linux__
 
-#define MUS_BYTE_TO_SAMPLE(n) (((mus_float_t)(n) / (mus_float_t)(1 << 7)))
-#define MUS_SHORT_TO_SAMPLE(n) (((mus_float_t)(n) / (mus_float_t)(1 << 15)))
-#define MUS_INT_TO_SAMPLE(n) (((mus_float_t)(n) / (mus_float_t)(1 << 23)))
-#define MUS_INT24_TO_SAMPLE(n) (((mus_float_t)(n) / (mus_float_t)(1 << 23)))
-#define MUS_SAMPLE_TO_INT(n) ((int)((n) * (1 << 23)))
-#define MUS_SAMPLE_TO_INT24(n) ((int)((n) * (1 << 23)))
-#define MUS_SAMPLE_TO_SHORT(n) ((short)((n) * (1 << 15)))
-#define MUS_SAMPLE_TO_BYTE(n) ((char)((n) * (1 << 7)))
+#define mus_byte_to_sample(n)  (((mus_float_t)(n) / (mus_float_t)(1 << 7)))
+#define mus_short_to_sample(n) (((mus_float_t)(n) / (mus_float_t)(1 << 15)))
+#define mus_int_to_sample(n)   (((mus_float_t)(n) / (mus_float_t)(1 << 23)))
+#define mus_int24_to_sample(n) (((mus_float_t)(n) / (mus_float_t)(1 << 23)))
+#define mus_sample_to_int(n)   ((int)((n) * (1 << 23)))
+#define mus_sample_to_int24(n) ((int)((n) * (1 << 23)))
+#define mus_sample_to_short(n) ((short)((n) * (1 << 15)))
+#define mus_sample_to_byte(n)  ((char)((n) * (1 << 7)))
 #if defined(__x86_64__) || defined(__i386__) 
-  #define BINT24_TO_SAMPLE(n) ((mus_float_t)(big_endian_int(jchar) >> 8) / (mus_float_t)(1 << 23))
-  #define INT24_TO_SAMPLE(n) ((mus_float_t)(little_endian_int(jchar) >> 8) / (mus_float_t)(1 << 23))
+  #define bint24_to_sample(n)  ((mus_float_t)(big_endian_int(jchar) >> 8) / (mus_float_t)(1 << 23))
+  #define int24_to_sample(n)   ((mus_float_t)(little_endian_int(jchar) >> 8) / (mus_float_t)(1 << 23))
 #else
-  #define BINT24_TO_SAMPLE(n) ((mus_float_t)(mus_char_to_bint(jchar) >> 8) / (mus_float_t)(1 << 23))
-  #define INT24_TO_SAMPLE(n) ((mus_float_t)(mus_char_to_lint(jchar) >> 8) / (mus_float_t)(1 << 23))
+  #define bint24_to_sample(n)  ((mus_float_t)(mus_char_to_bint(jchar) >> 8) / (mus_float_t)(1 << 23))
+  #define int24_to_sample(n)   ((mus_float_t)(mus_char_to_lint(jchar) >> 8) / (mus_float_t)(1 << 23))
 #endif
 
 static mus_long_t mus_maximum_malloc = MUS_MAX_MALLOC_DEFAULT;
@@ -880,7 +880,7 @@ static unsigned char to_alaw(int pcm_val)
     }
 }
 
-#define A_(a) MUS_SHORT_TO_SAMPLE(a)
+#define A_(a) mus_short_to_sample(a)
 static const mus_float_t mus_alaw[256] = {
   A_(-5504), A_(-5248), A_(-6016), A_(-5760), A_(-4480), A_(-4224), A_(-4992), A_(-4736), A_(-7552), A_(-7296), 
   A_(-8064), A_(-7808), A_(-6528), A_(-6272), A_(-7040), A_(-6784), A_(-2752), A_(-2624), A_(-3008), A_(-2880), 
@@ -926,7 +926,7 @@ static unsigned char to_mulaw(int pcm_val)
     }
 }
 
-#define MU_(a) MUS_SHORT_TO_SAMPLE(a)
+#define MU_(a) mus_short_to_sample(a)
 static const mus_float_t mus_mulaw[256] = {
   MU_(-32124), MU_(-31100), MU_(-30076), MU_(-29052), MU_(-28028), MU_(-27004), MU_(-25980), MU_(-24956), MU_(-23932), MU_(-22908), 
   MU_(-21884), MU_(-20860), MU_(-19836), MU_(-18812), MU_(-17788), MU_(-16764), MU_(-15996), MU_(-15484), MU_(-14972), MU_(-14460), 
@@ -954,7 +954,7 @@ static const mus_float_t mus_mulaw[256] = {
 };
 
 
-#define B_(a) MUS_BYTE_TO_SAMPLE(a)
+#define B_(a) mus_byte_to_sample(a)
 static const mus_float_t mus_byte[256] = {
   B_(0), B_(1), B_(2), B_(3), B_(4), B_(5), B_(6), B_(7), B_(8), B_(9), B_(10), B_(11), B_(12), B_(13), B_(14), B_(15), B_(16), 
   B_(17), B_(18), B_(19), B_(20), B_(21), B_(22), B_(23), B_(24), B_(25), B_(26), B_(27), B_(28), B_(29), B_(30), B_(31), B_(32), 
@@ -977,7 +977,7 @@ static const mus_float_t mus_byte[256] = {
 };
 
 
-#define UB_(a) MUS_BYTE_TO_SAMPLE(a)
+#define UB_(a) mus_byte_to_sample(a)
 static const mus_float_t mus_ubyte[256] = {
   UB_(-128), UB_(-127), UB_(-126), UB_(-125), UB_(-124), UB_(-123), UB_(-122), UB_(-121), UB_(-120), UB_(-119), UB_(-118), UB_(-117), 
   UB_(-116), UB_(-115), UB_(-114), UB_(-113), UB_(-112), UB_(-111), UB_(-110), UB_(-109), UB_(-108), UB_(-107), UB_(-106), UB_(-105), 
@@ -1021,7 +1021,7 @@ static void initialize_swapped_shorts(void)
     {
       signed short x;
       x = (signed short)(((i >> 8) & 0xff) | ((i & 0xff) << 8));
-      swapped_shorts[i] = MUS_SHORT_TO_SAMPLE(x);
+      swapped_shorts[i] = mus_short_to_sample(x);
     }
 }
 
@@ -1219,7 +1219,7 @@ static mus_long_t mus_read_any_1(int tfd, mus_long_t beg, int chans, mus_long_t
 		    (*bufnow++) = swapped_shorts[(*((unsigned short *)jchar))]; /* bswap16 is much slower here because of the subsequent short->double conversion */
 #else       
 		  for (; bufnow <= bufend; jchar += 2) 
-		    (*bufnow++) = MUS_SHORT_TO_SAMPLE(big_endian_short(jchar)); 
+		    (*bufnow++) = mus_short_to_sample(big_endian_short(jchar)); 
 #endif
 		  break;
 		  
@@ -1230,60 +1230,60 @@ static mus_long_t mus_read_any_1(int tfd, mus_long_t beg, int chans, mus_long_t
 #else
 		  while (bufnow <= bufend4)
 		    {
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+		      (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 		      jchar += 2;
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+		      (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 		      jchar += 2;
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+		      (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 		      jchar += 2;
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+		      (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 		      jchar += 2;
 		    }
 		  for (; bufnow <= bufend; jchar += 2) 
-		    (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+		    (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 #endif
 		  break;
 		  
 		case MUS_BINT:    
 		  while (bufnow <= bufend4)
 		    {
-		      (*bufnow++) = MUS_INT_TO_SAMPLE(big_endian_int(jchar)); 
+		      (*bufnow++) = mus_int_to_sample(big_endian_int(jchar)); 
 		      jchar += 4;
-		      (*bufnow++) = MUS_INT_TO_SAMPLE(big_endian_int(jchar)); 
+		      (*bufnow++) = mus_int_to_sample(big_endian_int(jchar)); 
 		      jchar += 4;
-		      (*bufnow++) = MUS_INT_TO_SAMPLE(big_endian_int(jchar)); 
+		      (*bufnow++) = mus_int_to_sample(big_endian_int(jchar)); 
 		      jchar += 4;
-		      (*bufnow++) = MUS_INT_TO_SAMPLE(big_endian_int(jchar)); 
+		      (*bufnow++) = mus_int_to_sample(big_endian_int(jchar)); 
 		      jchar += 4;
 		    }
 		  for (; bufnow <= bufend; jchar += 4) 
-		    (*bufnow++) = MUS_INT_TO_SAMPLE(big_endian_int(jchar)); 
+		    (*bufnow++) = mus_int_to_sample(big_endian_int(jchar)); 
 		  break;
 		  
 		case MUS_LINT: 
 		  while (bufnow <= bufend4)
 		    {
-		      (*bufnow++) = MUS_INT_TO_SAMPLE(little_endian_int(jchar)); 
+		      (*bufnow++) = mus_int_to_sample(little_endian_int(jchar)); 
 		      jchar += 4;
-		      (*bufnow++) = MUS_INT_TO_SAMPLE(little_endian_int(jchar)); 
+		      (*bufnow++) = mus_int_to_sample(little_endian_int(jchar)); 
 		      jchar += 4;
-		      (*bufnow++) = MUS_INT_TO_SAMPLE(little_endian_int(jchar)); 
+		      (*bufnow++) = mus_int_to_sample(little_endian_int(jchar)); 
 		      jchar += 4;
-		      (*bufnow++) = MUS_INT_TO_SAMPLE(little_endian_int(jchar)); 
+		      (*bufnow++) = mus_int_to_sample(little_endian_int(jchar)); 
 		      jchar += 4;
 		    }
 		  for (; bufnow <= bufend; jchar += 4) 
-		    (*bufnow++) = MUS_INT_TO_SAMPLE(little_endian_int(jchar)); 
+		    (*bufnow++) = mus_int_to_sample(little_endian_int(jchar)); 
 		  break;
 		  
 		case MUS_BINTN:              
 		  for (; bufnow <= bufend; jchar += 4) 
-		    (*bufnow++) = MUS_INT_TO_SAMPLE((big_endian_int(jchar) >> 8));
+		    (*bufnow++) = mus_int_to_sample((big_endian_int(jchar) >> 8));
 		  break;
 		  
 		case MUS_LINTN: 
 		  for (; bufnow <= bufend; jchar += 4) 
-		    (*bufnow++) = MUS_INT_TO_SAMPLE((little_endian_int(jchar) >> 8));
+		    (*bufnow++) = mus_int_to_sample((little_endian_int(jchar) >> 8));
 		  break;
 		  
 		case MUS_MULAW:  	              
@@ -1410,49 +1410,49 @@ static mus_long_t mus_read_any_1(int tfd, mus_long_t beg, int chans, mus_long_t
 		case MUS_UBSHORT:   
 		  while (bufnow <= bufend4)
 		    {
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		      (*bufnow++) = mus_short_to_sample((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		      jchar += 2;
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		      (*bufnow++) = mus_short_to_sample((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		      jchar += 2;
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		      (*bufnow++) = mus_short_to_sample((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		      jchar += 2;
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		      (*bufnow++) = mus_short_to_sample((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		      jchar += 2;
 		    }
 		  for (; bufnow <= bufend; jchar += 2) 
-		    (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		    (*bufnow++) = mus_short_to_sample((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		  break;
 		  
 		case MUS_ULSHORT:   
 		  while (bufnow <= bufend4)
 		    {
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		      (*bufnow++) = mus_short_to_sample((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		      jchar += 2;
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		      (*bufnow++) = mus_short_to_sample((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		      jchar += 2;
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		      (*bufnow++) = mus_short_to_sample((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		      jchar += 2;
-		      (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		      (*bufnow++) = mus_short_to_sample((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		      jchar += 2;
 		    }
 		  for (; bufnow <= bufend; jchar += 2) 
-		    (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
+		    (*bufnow++) = mus_short_to_sample((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
 		  break;
 		  
 		case MUS_B24INT:
 		  while (bufnow <= bufend4)
 		    {
-		      (*bufnow++) = BINT24_TO_SAMPLE(jchar);
+		      (*bufnow++) = bint24_to_sample(jchar);
 		      jchar += 3;
-		      (*bufnow++) = BINT24_TO_SAMPLE(jchar);
+		      (*bufnow++) = bint24_to_sample(jchar);
 		      jchar += 3;
-		      (*bufnow++) = BINT24_TO_SAMPLE(jchar);
+		      (*bufnow++) = bint24_to_sample(jchar);
 		      jchar += 3;
-		      (*bufnow++) = BINT24_TO_SAMPLE(jchar);
+		      (*bufnow++) = bint24_to_sample(jchar);
 		      jchar += 3;
 		    }
 		  for (; bufnow <= bufend; jchar += 3) 
-		    (*bufnow++) = BINT24_TO_SAMPLE(jchar);
+		    (*bufnow++) = bint24_to_sample(jchar);
 		  break;
 		  
 		case MUS_L24INT: 
@@ -1460,22 +1460,22 @@ static mus_long_t mus_read_any_1(int tfd, mus_long_t beg, int chans, mus_long_t
 		    int val;
 		    val = (jchar[2] << 16) + (jchar[1] << 8) + jchar[0];
 		    if (val >= (1 << 23)) val -= (1 << 24);
-		    (*bufnow++) = MUS_INT24_TO_SAMPLE(val);
+		    (*bufnow++) = mus_int24_to_sample(val);
 		    jchar += 2;
 		  }
 		  while (bufnow <= bufend4)
 		    {
-		      (*bufnow++) = INT24_TO_SAMPLE(jchar);
+		      (*bufnow++) = int24_to_sample(jchar);
 		      jchar += 3;
-		      (*bufnow++) = INT24_TO_SAMPLE(jchar);
+		      (*bufnow++) = int24_to_sample(jchar);
 		      jchar += 3;
-		      (*bufnow++) = INT24_TO_SAMPLE(jchar);
+		      (*bufnow++) = int24_to_sample(jchar);
 		      jchar += 3;
-		      (*bufnow++) = INT24_TO_SAMPLE(jchar);
+		      (*bufnow++) = int24_to_sample(jchar);
 		      jchar += 3;
 		    }
 		  for (; bufnow <= bufend; jchar += 3) 
-		    (*bufnow++) = INT24_TO_SAMPLE(jchar);
+		    (*bufnow++) = int24_to_sample(jchar);
 		  break;
 
 		default: break;
@@ -1519,7 +1519,7 @@ static mus_long_t mus_read_any_1(int tfd, mus_long_t beg, int chans, mus_long_t
 			    (*bufnow++) = swapped_shorts[(*((unsigned short *)jchar))];
 #else       
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = MUS_SHORT_TO_SAMPLE(big_endian_short(jchar)); 
+			    (*bufnow++) = mus_short_to_sample(big_endian_short(jchar)); 
 #endif
 			  break;
 			  
@@ -1530,38 +1530,38 @@ static mus_long_t mus_read_any_1(int tfd, mus_long_t beg, int chans, mus_long_t
 #else
 			  while (bufnow <= bufend4) 
 			    {
-			      (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+			      (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 			      jchar += siz_chans;
-			      (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+			      (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 			      jchar += siz_chans;
-			      (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+			      (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 			      jchar += siz_chans;
-			      (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+			      (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 			      jchar += siz_chans;
 			    }
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = MUS_SHORT_TO_SAMPLE(little_endian_short(jchar)); 
+			    (*bufnow++) = mus_short_to_sample(little_endian_short(jchar)); 
 #endif
 			  break;
 			  
 			case MUS_BINT:              
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = MUS_INT_TO_SAMPLE(big_endian_int(jchar)); 
+			    (*bufnow++) = mus_int_to_sample(big_endian_int(jchar)); 
 			  break;
 			  
 			case MUS_LINT: 
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = MUS_INT_TO_SAMPLE(little_endian_int(jchar)); 
+			    (*bufnow++) = mus_int_to_sample(little_endian_int(jchar)); 
 			  break;
 			  
 			case MUS_BINTN:              
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = MUS_INT_TO_SAMPLE((big_endian_int(jchar) >> 8));
+			    (*bufnow++) = mus_int_to_sample((big_endian_int(jchar) >> 8));
 			  break;
 			  
 			case MUS_LINTN: 
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = MUS_INT_TO_SAMPLE((little_endian_int(jchar) >> 8));
+			    (*bufnow++) = mus_int_to_sample((little_endian_int(jchar) >> 8));
 			  break;
 			  
 			case MUS_MULAW:  	              
@@ -1648,17 +1648,17 @@ static mus_long_t mus_read_any_1(int tfd, mus_long_t beg, int chans, mus_long_t
 			  
 			case MUS_UBSHORT:   
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
+			    (*bufnow++) = mus_short_to_sample((int)(big_endian_unsigned_short(jchar)) - USHORT_ZERO);
 			  break;
 			  
 			case MUS_ULSHORT:   
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = MUS_SHORT_TO_SAMPLE((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
+			    (*bufnow++) = mus_short_to_sample((int)(little_endian_unsigned_short(jchar)) - USHORT_ZERO);
 			  break;
 			  
 			case MUS_B24INT:
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = BINT24_TO_SAMPLE(jchar);
+			    (*bufnow++) = bint24_to_sample(jchar);
 			  break;
 			  
 			case MUS_L24INT:   
@@ -1667,11 +1667,11 @@ static mus_long_t mus_read_any_1(int tfd, mus_long_t beg, int chans, mus_long_t
 			    int val;
 			    val = (jchar[2] << 16) + (jchar[1] << 8) + jchar[0];
 			    if (val >= (1 << 23)) val -= (1 << 24);
-			    (*bufnow++) = MUS_INT24_TO_SAMPLE(val);
+			    (*bufnow++) = mus_int24_to_sample(val);
 			    jchar += siz_chans - 1;
 			  }
 			  for (; bufnow <= bufend; jchar += siz_chans) 
-			    (*bufnow++) = INT24_TO_SAMPLE(jchar);
+			    (*bufnow++) = int24_to_sample(jchar);
 			  break;
 
 			default: break;
@@ -1962,62 +1962,62 @@ static int mus_write_1(int tfd, mus_long_t beg, mus_long_t end, int chans, mus_f
 	    case MUS_BSHORT: 
 	      while (bufnow <= bufend4)
 		{
-		  set_big_endian_short(jchar, MUS_SAMPLE_TO_SHORT(*bufnow++));
+		  set_big_endian_short(jchar, mus_sample_to_short(*bufnow++));
 		  jchar += siz_chans;
-		  set_big_endian_short(jchar, MUS_SAMPLE_TO_SHORT(*bufnow++));
+		  set_big_endian_short(jchar, mus_sample_to_short(*bufnow++));
 		  jchar += siz_chans;
-		  set_big_endian_short(jchar, MUS_SAMPLE_TO_SHORT(*bufnow++));
+		  set_big_endian_short(jchar, mus_sample_to_short(*bufnow++));
 		  jchar += siz_chans;
-		  set_big_endian_short(jchar, MUS_SAMPLE_TO_SHORT(*bufnow++));
+		  set_big_endian_short(jchar, mus_sample_to_short(*bufnow++));
 		  jchar += siz_chans;
 		}
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		set_big_endian_short(jchar, MUS_SAMPLE_TO_SHORT(*bufnow++));
+		set_big_endian_short(jchar, mus_sample_to_short(*bufnow++));
 	      break;
 
 	    case MUS_LSHORT:   
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		set_little_endian_short(jchar, MUS_SAMPLE_TO_SHORT(*bufnow++));
+		set_little_endian_short(jchar, mus_sample_to_short(*bufnow++));
 	      break;
 
 	    case MUS_BINT:   
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		set_big_endian_int(jchar, MUS_SAMPLE_TO_INT(*bufnow++));
+		set_big_endian_int(jchar, mus_sample_to_int(*bufnow++));
 	      break;
 
 	    case MUS_LINT:   
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		set_little_endian_int(jchar, MUS_SAMPLE_TO_INT(*bufnow++));
+		set_little_endian_int(jchar, mus_sample_to_int(*bufnow++));
 	      break;
 
 	    case MUS_BINTN:   
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		set_big_endian_int(jchar, MUS_SAMPLE_TO_INT(*bufnow++) << 8);
+		set_big_endian_int(jchar, mus_sample_to_int(*bufnow++) << 8);
 	      break;
 
 	    case MUS_LINTN:   
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		set_little_endian_int(jchar, MUS_SAMPLE_TO_INT(*bufnow++) << 8);
+		set_little_endian_int(jchar, mus_sample_to_int(*bufnow++) << 8);
 	      break;
 
 	    case MUS_MULAW:     
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		(*jchar) = to_mulaw(MUS_SAMPLE_TO_SHORT(*bufnow++));
+		(*jchar) = to_mulaw(mus_sample_to_short(*bufnow++));
 	      break;
 
 	    case MUS_ALAW:      
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		(*jchar) = to_alaw(MUS_SAMPLE_TO_SHORT(*bufnow++));
+		(*jchar) = to_alaw(mus_sample_to_short(*bufnow++));
 	      break;
 
 	    case MUS_BYTE:    
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		(*((signed char *)jchar)) = MUS_SAMPLE_TO_BYTE(*bufnow++);
+		(*((signed char *)jchar)) = mus_sample_to_byte(*bufnow++);
 	      break;
 
 	    case MUS_UBYTE:  
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		(*jchar) = MUS_SAMPLE_TO_BYTE(*bufnow++) + UBYTE_ZERO;
+		(*jchar) = mus_sample_to_byte(*bufnow++) + UBYTE_ZERO;
 	      break;
 
 	    case MUS_BFLOAT:    
@@ -2084,12 +2084,12 @@ static int mus_write_1(int tfd, mus_long_t beg, mus_long_t end, int chans, mus_f
 
 	    case MUS_UBSHORT: 
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		set_big_endian_unsigned_short(jchar, (unsigned short)(MUS_SAMPLE_TO_SHORT(*bufnow++) + USHORT_ZERO));
+		set_big_endian_unsigned_short(jchar, (unsigned short)(mus_sample_to_short(*bufnow++) + USHORT_ZERO));
 	      break;
 
 	    case MUS_ULSHORT: 
 	      for (; bufnow <= bufend; jchar += siz_chans) 
-		set_little_endian_unsigned_short(jchar, (unsigned short)(MUS_SAMPLE_TO_SHORT(*bufnow++) + USHORT_ZERO));
+		set_little_endian_unsigned_short(jchar, (unsigned short)(mus_sample_to_short(*bufnow++) + USHORT_ZERO));
 	      break;
 
 	    case MUS_B24INT: 
@@ -2100,7 +2100,7 @@ static int mus_write_1(int tfd, mus_long_t beg, mus_long_t end, int chans, mus_f
 		c3 = chans * 3;
 		for (; bufnow <= bufend; bk += c3) 
 		  {
-		    val = MUS_SAMPLE_TO_INT24(*bufnow++);
+		    val = mus_sample_to_int24(*bufnow++);
 		    charbuf[bk] = (val >> 16); 
 		    charbuf[bk + 1] = (val >> 8); 
 		    charbuf[bk + 2] = (val & 0xFF); 
@@ -2116,7 +2116,7 @@ static int mus_write_1(int tfd, mus_long_t beg, mus_long_t end, int chans, mus_f
 		c3 = chans * 3;
 		for (; bufnow <= bufend; bk += c3)
 		  {
-		    val = MUS_SAMPLE_TO_INT24(*bufnow++);
+		    val = mus_sample_to_int24(*bufnow++);
 		    charbuf[bk + 2] = (val >> 16); 
 		    charbuf[bk + 1] = (val >> 8); 
 		    charbuf[bk] = (val & 0xFF); 
diff --git a/libc.scm b/libc.scm
index af0a32a..00f4dc2 100644
--- a/libc.scm
+++ b/libc.scm
@@ -5,9 +5,9 @@
 (provide 'libc.scm)
 
 ;; if loading from a different directory, pass that info to C
-(let* ((current-file (port-filename (current-input-port)))
-       (directory (and (memv (current-file 0) '(#\/ #\~))
-		       (substring current-file 0 (- (length current-file) 9)))))
+(let ((directory (let ((current-file (port-filename (current-input-port))))
+		   (and (memv (current-file 0) '(#\/ #\~))
+			(substring current-file 0 (- (length current-file) 9))))))
   (when (and directory (not (member directory *load-path*)))
     (set! *load-path* (cons directory *load-path*)))
   (with-let (rootlet)
diff --git a/lint.scm b/lint.scm
index 2005d36..61a2436 100644
--- a/lint.scm
+++ b/lint.scm
@@ -21,7 +21,7 @@
 (define *report-func-as-arg-arity-mismatch* #f)           ; as it says... (slow, and this error almost never happens)
 (define *report-constant-expressions-in-do* #f)           ; kinda dumb
 (define *report-bad-variable-names* '(l ll O))            ; bad names -- a list to check such as:
-;;;                             '(l ll data datum new item info temp tmp val vals value foo bar baz aux dummy O var res retval result count str)
+;;;             '(l ll .. data datum new item info temp tmp temporary val vals value foo bar baz aux dummy O var res retval result count str)
 (define *report-built-in-functions-used-as-variables* #f) ; string and length are the most common cases
 (define *report-forward-functions* #f)                    ; functions used before being defined
 (define *report-sloppy-assoc* #t)                         ; i.e. (cdr (assoc x y)) and the like
@@ -30,6 +30,7 @@
 (define *lint* #f)                                        ; the lint let
 ;; this gives other programs a way to extend or edit lint's tables: for example, the
 ;;   table of functions that are simple (no side effects) is (*lint* 'no-side-effect-functions)
+;;   see snd-lint.scm.
 
 
 ;;; --------------------------------------------------------------------------------
@@ -68,6 +69,47 @@
      (lint-format-1 ,str ,caller , at args)))
 |#
 
+(define-macro (let*-temporarily vars . body)
+  `(with-let (#_inlet :orig (#_curlet) 
+		      :saved (#_list ,@(map car vars)))
+     (dynamic-wind
+	 (lambda () #f)
+	 (lambda ()
+	   (with-let orig
+	     ,@(map (lambda (v)
+		      `(set! ,(car v) ,(cadr v)))
+		    vars)
+	     , at body))
+	 (lambda ()
+	   ,@(map (let ((ctr -1))
+		    (lambda (v)
+		      (if (symbol? (car v))
+			  `(set! (orig ',(car v)) (list-ref saved ,(set! ctr (+ ctr 1))))
+			  `(set! (with-let orig ,(car v)) (list-ref saved ,(set! ctr (+ ctr 1)))))))
+		  vars)))))
+
+(define-macro (let-temporarily vars . body)
+  `(with-let (#_inlet :orig (#_curlet) 
+		      :saved (#_list ,@(map car vars))
+		      :new (#_list ,@(map cadr vars)))
+     (dynamic-wind
+	 (lambda () #f)
+	 (lambda () ; this could be (with-let orig (let ,vars , at body)) but I want to handle stuff like individual vector locations
+	   ,@(map (let ((ctr -1))
+		    (lambda (v)
+		      (if (symbol? (car v))
+			  `(set! (orig ',(car v)) (list-ref new ,(set! ctr (+ ctr 1))))
+			  `(set! (with-let orig ,(car v)) (list-ref new ,(set! ctr (+ ctr 1)))))))
+		  vars)
+	   (with-let orig , at body)) 
+	 (lambda ()
+	   ,@(map (let ((ctr -1))
+		    (lambda (v)
+		      (if (symbol? (car v))
+			  `(set! (orig ',(car v)) (list-ref saved ,(set! ctr (+ ctr 1))))
+			  `(set! (with-let orig ,(car v)) (list-ref saved ,(set! ctr (+ ctr 1)))))))
+		  vars)))))
+
 
 ;;; --------------------------------------------------------------------------------
 (define lint
@@ -242,14 +284,14 @@
 		       define-macro define-macro* define-bacro define-bacro* 
 		       define-constant define-expansion))
 		    h))
-	
+
 	(outport #t)
 	(linted-files ())
-	(big-constants ())
-	(equable-closures ())
+	(big-constants (make-hash-table))
+	(equable-closures (make-hash-table))
 	(other-names-counts (make-hash-table))
 	(*e* #f)
-	(other-identifiers #f)
+	(other-identifiers (make-hash-table))
 	(quote-warnings 0)
 	(last-simplify-boolean-line-number -1)
 	(last-simplify-numeric-line-number -1)
@@ -269,48 +311,6 @@
     (set! *lint* *e*)                ; external access to (for example) the built-in-functions hash-table via (*lint* 'built-in-functions)
 
 
-    (define-macro (let*-temporarily vars . body)
-      `(with-let (#_inlet :orig (#_curlet) 
-			  :saved (#_list ,@(map car vars)))
-	 (dynamic-wind
-	     (lambda () #f)
-	     (lambda ()
-	       (with-let orig
-		 ,@(map (lambda (v)
-			  `(set! ,(car v) ,(cadr v)))
-			vars)
-		 , at body))
-	     (lambda ()
-	       ,@(map (let ((ctr -1))
-			(lambda (v)
-			  (if (symbol? (car v))
-			      `(set! (orig ',(car v)) (list-ref saved ,(set! ctr (+ ctr 1))))
-			      `(set! (with-let orig ,(car v)) (list-ref saved ,(set! ctr (+ ctr 1)))))))
-		      vars)))))
-    
-    (define-macro (let-temporarily vars . body)
-      `(with-let (#_inlet :orig (#_curlet) 
-			  :saved (#_list ,@(map car vars))
-			  :new (#_list ,@(map cadr vars)))
-	 (dynamic-wind
-	     (lambda () #f)
-	     (lambda () ; this could be (with-let orig (let ,vars , at body)) but I want to handle stuff like individual vector locations
-	       ,@(map (let ((ctr -1))
-			(lambda (v)
-			  (if (symbol? (car v))
-			      `(set! (orig ',(car v)) (list-ref new ,(set! ctr (+ ctr 1))))
-			      `(set! (with-let orig ,(car v)) (list-ref new ,(set! ctr (+ ctr 1)))))))
-		      vars)
-	       (with-let orig , at body)) 
-	     (lambda ()
-	       ,@(map (let ((ctr -1))
-			(lambda (v)
-			  (if (symbol? (car v))
-			      `(set! (orig ',(car v)) (list-ref saved ,(set! ctr (+ ctr 1))))
-			      `(set! (with-let orig ,(car v)) (list-ref saved ,(set! ctr (+ ctr 1)))))))
-		      vars)))))
-    
-    
     ;; -------- lint-format --------
     (define target-line-length 80)
 
@@ -323,7 +323,10 @@
 	    (do ((i (- target-line-length 6) (- i 1)))
 		((or (= i 40)
 		     (char-whitespace? (str i)))
-		 (string-append (substring str 0 (if (<= i 40) (- target-line-length 6) i)) "..."))))))
+		 (string-append (substring str 0 (if (<= i 40) 
+						     (- target-line-length 6)
+						     i))
+				"..."))))))
     
     (define lint-pp #f) ; avoid crosstalk with other schemes' definitions of pp and pretty-print (make-var also collides)
     (define lint-pretty-print #f)
@@ -334,37 +337,37 @@
     
     (define (lists->string f1 f2)
       ;; same but 2 strings that may need to be lined up vertically
-      (let* ((str1 (object->string f1))
-	     (len1 (length str1))
-	     (str2 (object->string f2))
-	     (len2 (length str2)))
-	(when (> len1 target-line-length)
-	  (set! str1 (truncated-list->string f1))
-	  (set! len1 (length str1)))
-	(when (> len2 target-line-length)
-	  (set! ((funclet lint-pretty-print) '*pretty-print-left-margin*) pp-left-margin)
-	  (set! ((funclet lint-pretty-print) '*pretty-print-length*) (- 114 pp-left-margin))
-	  (set! str2 (lint-pp f2))
-	  (set! len2 (length str2)))
-	(format #f (if (< (+ len1 len2) target-line-length)
-		       (values "~A -> ~A" str1 str2)
-		       (values "~%~NC~A ->~%~NC~A" pp-left-margin #\space str1 pp-left-margin #\space str2)))))
+      (let ((str1 (object->string f1))
+	    (str2 (object->string f2)))
+	(let ((len1 (length str1))
+	      (len2 (length str2)))
+	  (when (> len1 target-line-length)
+	    (set! str1 (truncated-list->string f1))
+	    (set! len1 (length str1)))
+	  (when (> len2 target-line-length)
+	    (set! ((funclet lint-pretty-print) '*pretty-print-left-margin*) pp-left-margin)
+	    (set! ((funclet lint-pretty-print) '*pretty-print-length*) (- 114 pp-left-margin))
+	    (set! str2 (lint-pp f2))
+	    (set! len2 (length str2)))
+	  (format #f (if (< (+ len1 len2) target-line-length)
+			 (values "~A -> ~A" str1 str2)
+			 (values "~%~NC~A ->~%~NC~A" pp-left-margin #\space str1 pp-left-margin #\space str2))))))
     
     (define (truncated-lists->string f1 f2)
       ;; same but 2 strings that may need to be lined up vertically and both are truncated
-      (let* ((str1 (object->string f1))
-	     (len1 (length str1))
-	     (str2 (object->string f2))
-	     (len2 (length str2)))
-	(when (> len1 target-line-length)
-	  (set! str1 (truncated-list->string f1))
-	  (set! len1 (length str1)))
-	(when (> len2 target-line-length)
-	  (set! str2 (truncated-list->string f2))
-	  (set! len2 (length str2)))
-	(format #f (if (< (+ len1 len2) target-line-length)
-		       (values "~A -> ~A" str1 str2)
-		       (values "~%~NC~A ->~%~NC~A" pp-left-margin #\space str1 pp-left-margin #\space str2)))))
+      (let ((str1 (object->string f1))
+	    (str2 (object->string f2)))
+	(let ((len1 (length str1))
+	      (len2 (length str2)))
+	  (when (> len1 target-line-length)
+	    (set! str1 (truncated-list->string f1))
+	    (set! len1 (length str1)))
+	  (when (> len2 target-line-length)
+	    (set! str2 (truncated-list->string f2))
+	    (set! len2 (length str2)))
+	  (format #f (if (< (+ len1 len2) target-line-length)
+			 (values "~A -> ~A" str1 str2)
+			 (values "~%~NC~A ->~%~NC~A" pp-left-margin #\space str1 pp-left-margin #\space str2))))))
     
     (define made-suggestion 0)
 
@@ -603,7 +606,7 @@
 			(cdr tree))
 		       #f))))))
     
-    (define (tree-memq sym tree)
+    (define (tree-memq sym tree)     ; ignore quoted lists, accept symbol outside a pair
       (or (eq? sym tree)
 	  (and (pair? tree)
 	       (not (eq? (car tree) 'quote))
@@ -686,14 +689,7 @@
     
     
     ;; -------- types --------
-    (define (any-real? lst) ; ignore 0.0 and 1.0 in this since they normally work
-      (and (pair? lst)
-	   (or (and (number? (car lst))
-		    (not (rational? (car lst)))
-		    (not (= (car lst) 0.0))
-		    (not (= (car lst) 1.0)))
-	       (any-real? (cdr lst)))))
-    
+
     (define (quoted-undotted-pair? x)
       (and (pair? x)
 	   (eq? (car x) 'quote)
@@ -1007,33 +1003,32 @@
 	     (x (- len 1)))))
     
     (define* (make-fvar name ftype arglist decl initial-value env)
-      (let* ((old (hash-table-ref other-identifiers name))
-	     (new (cons name 
-			(inlet 'signature ()
-			       'side-effect ()
-			       'allow-other-keys (and (pair? arglist)
-						      (memq ftype '(define* define-macro* define-bacro* defmacro*))
-						      (eq? (last-par arglist) :allow-other-keys))
-			       'scope ()
-			       'setters ()
-			       'env env
-			       'initial-value initial-value
-			       'values (and (pair? initial-value) (count-values (cddr initial-value)))
-			       'leaves #f
-			       'match-list #f
-			       'decl decl
-			       'arglist arglist
-			       'ftype ftype
-			       'history (if old 
-					    (begin
-					      (hash-table-set! other-identifiers name #f)
-					      (if initial-value (cons initial-value old) old))
-					    (if initial-value (list initial-value) ()))
-			       'set 0 
-			       'ref (if old (length old) 0)))))
-	
+      (let ((new (let ((old (hash-table-ref other-identifiers name)))
+		   (cons name 
+			 (inlet 'signature ()
+				'side-effect ()
+				'allow-other-keys (and (pair? arglist)
+						       (memq ftype '(define* define-macro* define-bacro* defmacro*))
+						       (eq? (last-par arglist) :allow-other-keys))
+				'scope ()
+				'setters ()
+				'env env
+				'initial-value initial-value
+				'values (and (pair? initial-value) (count-values (cddr initial-value)))
+				'leaves #f
+				'match-list #f
+				'decl decl
+				'arglist arglist
+				'ftype ftype
+				'history (if old 
+					     (begin
+					       (hash-table-set! other-identifiers name #f)
+					       (if initial-value (cons initial-value old) old))
+					     (if initial-value (list initial-value) ()))
+				'set 0 
+				'ref (if old (length old) 0))))))
 	(when (and *report-function-stuff*
-		   (not (eq? name :lambda))
+		   (not (memq name '(:lambda :dilambda)))
 		   (memq ftype '(define lambda define* lambda*))
 		   (pair? (caddr initial-value)))
 	  (hash-table-set! equable-closures (caaddr initial-value)
@@ -1046,15 +1041,30 @@
 	     (or (eq? (car sig) 'values) ; turn it into #t for now
 		 (car sig)))))           ; this might be undefined in the current context (eg oscil? outside clm)
     
-    (define (any-macro? f env)
-      (or (memq f '(call-with-values let-values define-values let*-values cond-expand require quasiquote multiple-value-bind reader-cond match while))
-	  (let ((fd (var-member f env)))
-	    (and (var? fd)
-		 (memq (var-ftype fd) '(define-macro define-macro* define-expansion define-bacro define-bacro* defmacro defmacro* define-syntax))))))
+    (define any-macro?
+      (let ((macros (let ((h (make-hash-table)))
+		      (for-each 
+		       (lambda (m)
+			 (set! (h m) #t))
+		       '(call-with-values let-values define-values let*-values cond-expand require quasiquote 
+					  multiple-value-bind reader-cond match while))
+		      h)))
+	(lambda (f env)
+	  (or (hash-table-ref macros f)
+	      (let ((fd (var-member f env)))
+		(and (var? fd)
+		     (memq (var-ftype fd) '(define-macro define-macro* define-expansion 
+					    define-bacro define-bacro* defmacro defmacro* define-syntax))))))))
+    (define (any-procedure? f env)
+      (or (hash-table-ref built-in-functions f)
+	  (let ((v (var-member f env)))
+	    (and (var? v)
+		 (memq (var-ftype v) '(define define* lambda lambda*))))))
 
     (define ->simple-type
       (let ((markers (list (cons :call/exit 'continuation?)
 			   (cons :call/cc 'continuation?)
+			   (cons :dilambda 'dilambda?)
 			   (cons :lambda 'procedure?))))
 	(lambda (c)
 	  (cond ((pair? c)         'pair?)
@@ -1118,6 +1128,7 @@
 	  (not (symbol? type2))
 	  (not (hash-table-ref booleans type1))
 	  (not (hash-table-ref booleans type2))
+	  (eq? type2 'constant?)
 	  (case type1
 	    ((number? complex?)  (memq type2 '(float? real? rational? integer? number? complex? exact? inexact? zero? negative? positive? even? odd? infinite? nan?)))
 	    ((real?)             (memq type2 '(float? rational? integer? complex? number? exact? inexact? zero? negative? positive? even? odd? infinite? nan?)))
@@ -1134,7 +1145,8 @@
 	    ((float-vector? int-vector?) (memq type2 '(vector? sequence?)))
 	    ((sequence?)         (memq type2 '(list? pair? null? proper-list? vector? float-vector? int-vector? byte-vector? 
 					       string? let? hash-table? c-object? iterator? procedure?))) ; procedure? for extended iterator
-	    ((symbol? constant?) (memq type2 '(gensym? keyword? defined? provided? constant?)))
+	    ((symbol?)           (memq type2 '(gensym? keyword? defined? provided?)))
+	    ((constant?)         #t)
 	    ((keyword? gensym? defined? provided?)  (eq? type2 'symbol?))
 	    ((list?)             (memq type2 '(null? pair? proper-list? sequence?)))
 	    ((proper-list?)      (memq type2 '(null? pair? list? sequence?)))
@@ -1178,7 +1190,7 @@
 	    ((list?)            (memq type2 '(pair? null? proper-list?)))
 	    ((proper-list?)     (eq? type2 'null?))
 	    ((vector?)          (memq type2 '(float-vector? int-vector?)))
-	    ((symbol?)          (memq type2 '(keyword? gensym? defined? provided? constant?)))
+	    ((symbol?)          (memq type2 '(keyword? gensym? defined? provided?)))
 	    ((sequence?)        (memq type2 '(list? pair? null? proper-list? vector? float-vector? int-vector? byte-vector?
 					      string? let? hash-table? c-object? directory? file-exists?)))
 	    ((char?)            (memq type2 '(char-whitespace? char-numeric? char-alphabetic? char-upper-case? char-lower-case?)))
@@ -1187,8 +1199,7 @@
     (define (never-false expr)
       (or (eq? expr #t)
 	  (let ((type (if (pair? expr)
-			  (and (hash-table-ref no-side-effect-functions (car expr))
-			       (return-type (car expr) ()))
+			  (return-type (car expr) ())
 			  (->lint-type expr))))
 	    (and (symbol? type)
 		 (not (symbol? expr))
@@ -1228,19 +1239,20 @@
 	      (else (string-append (if (memv (op-name 0) '(#\a #\e #\i #\o #\u)) "an " "a ") op-name))))))
     
     (define (side-effect-with-vars? form env vars)
+      ;; (format *stderr* "~A~%" form)
       ;; could evaluation of form have any side effects (like IO etc)
       
       (if (or (not (proper-list? form))                   ; we don't want dotted lists or () here
 	      (null? form))
 
 	  (and (symbol? form)
-	       (or (eq? form '=>)
+	       (or (eq? form '=>)                         ; (cond ((x => y))...) -- someday check y...
 		   (let ((e (var-member form env)))
 		     (if (var? e)
 			 (and (symbol? (var-ftype e))
 			      (var-side-effect e))
 			 (and (not (hash-table-ref no-side-effect-functions form))
-			      (procedure? (symbol->value form *e*)))))))
+			      (procedure? (symbol->value form *e*))))))) ; i.e. function passed as argument
 
 	  ;; can't optimize ((...)...) because the car might eval to a function
 	  (or (and (not (hash-table-ref no-side-effect-functions (car form)))
@@ -1250,7 +1262,6 @@
 		     (or (not (var? e))
 			 (not (symbol? (var-ftype e)))
 			 (var-side-effect e)))
-		   ;; it's either not known to be a local function, or it has side-effects, and...
 		   
 		   (or (not (eq? (car form) 'format))                         ; (format #f ...)
 		       (not (pair? (cdr form)))                               ; (format)!
@@ -1343,9 +1354,13 @@
 		;; ((lambda lambda*) (any? (lambda (ff) (side-effect-with-vars? ff env vars)) (cddr form))) ; this is trickier than it looks
 		
 		(else
-		 (or (any? (lambda (f) (side-effect-with-vars? f env vars)) (cdr form)) ; any subform has a side-effect
+		 ;(format *stderr* "check args: ~A~%" form)
+		 (or (any? (lambda (f)                                   ; any subform has a side-effect
+			     (and (not (null? f))
+				  (side-effect-with-vars? f env vars)))
+			   (cdr form))
 		     (let ((sig (procedure-signature (car form))))       ; sig has func arg and it is not known safe
-		       (and sig
+		       (and (pair? sig)
 			    (memq 'procedure? (cdr sig))
 			    (call-with-exit
 			     (lambda (return)
@@ -1405,7 +1420,28 @@
 			  caller
 			  (cons caller env))
 		      (var-scope v))))))
+
     
+    (define (check-for-bad-variable-name caller vname)
+      (define (bad-variable-name-numbered vname bad-names)
+	(let ((str (symbol->string vname)))
+	  (let loop ((bads bad-names))
+	    (and (pair? bads)
+		 (let* ((badstr (symbol->string (car bads)))
+			(pos (string-position badstr str)))
+		   (or (and (eqv? pos 0)
+			    (string->number (substring str (length badstr))))
+		       (loop (cdr bads))))))))
+      (if (and (symbol? vname)
+	       (pair? *report-bad-variable-names*)
+	       (or (memq vname *report-bad-variable-names*)
+		   (let ((sname (symbol->string vname)))
+		     (and (> (length sname) 8)
+			  (or (string=? "compute" (substring sname 0 7))      ; compute-* is as bad as get-*
+			      (string=? "calculate" (substring sname 0 9))))) ;   perhaps one exception: computed-goto*
+		   (bad-variable-name-numbered vname *report-bad-variable-names*)))
+	  (lint-format "surely there's a better name for this variable than ~A" caller vname)))
+
     (define (set-ref name caller form env)
       ;; if name is in env, set its "I've been referenced" flag
       (let ((data (var-member name env)))
@@ -1417,6 +1453,7 @@
 		  (set! (var-history data) (cons form (var-history data)))))
 	    (if (not (defined? name (rootlet)))
 		(let ((old (hash-table-ref other-identifiers name)))
+		  (check-for-bad-variable-name caller name)
 		  (hash-table-set! other-identifiers name (if old (cons form old) (list form)))))))
       env)
 
@@ -1451,7 +1488,6 @@
 	    ((null? p) count)
 	  (if (keyword? (car p))
 	      (set! count (+ count 1))))))
-					;(count-if keyword? lst))
     
     (define (eqv-selector clause)
       (if (not (pair? clause))
@@ -1578,12 +1614,12 @@
 		args))
     
     (define (checked-eval form)
-      (and (not (infinite? (length form)))
+      (and (proper-list? form) ;(not (infinite? (length form))) but when would a dotted list work?
 	   (catch #t
 	     (lambda ()
 	       (eval (copy form :readable)))
 	     (lambda args
-	       #t))))   ; just ignore errors in this context
+	       :checked-eval-error))))
     
     (define (return-type-ok? type ret)
       (or (eq? type ret)
@@ -1608,173 +1644,174 @@
 			    ((or (null? p)
 				 (eq? (car p) arg1))
 			     i)))
-		   (sig (and (positive? pos)                   ; procedure-signature for arg2
-			     (arg-signature (car arg2) env)))
-		   (arg-type (if (zero? pos)                   ; it's type indication for arg1's position
-				 'procedure? ; or sequence? -- how to distinguish? use 'applicable?
-				 (and (pair? sig)
-				      (< pos (length sig))
-				      (list-ref sig pos))))
-		   (ln (and (< 0 line-number 100000) line-number))
-		   (comment (if (and (eq? arg-type 'procedure?)
-				     (= pos 0)
-				     (pair? (cdr arg2)))
-				" ; or maybe sequence? " "")))
-
-	      (set! last-and-incomplete-arg2 arg2)             ; ignore unwanted repetitions due to recursive simplifications
-	      (if (symbol? arg-type)
-		  (let ((old-arg (case head
-				   ((and if cond when) arg1)
-				   ((or if2)           `(not ,arg1))))
-			(new-arg (case head
-				   ((and if cond when) `(,arg-type ,arg1))
-				   ((or if2)           `(not (,arg-type ,arg1))))))
-		    (format outport "~NCin ~A~A,~%~NCperhaps change ~S to ~S~A~%"
-			    lint-left-margin #\space 
-			    (truncated-list->string form)
-			    (if ln (format #f " (line ~D)" ln) "")
-			    (+ lint-left-margin 4) #\space 
-			    old-arg new-arg comment))))))))
-
-      (define (and-redundant? arg1 arg2)
-	(let ((type1 (car arg1))
-	      (type2 (car arg2)))
-	  (and (symbol? type1)
-	       (symbol? type2)
-	       (hash-table-ref booleans type1)
-	       (or (hash-table-ref booleans type2)     ; return #f if not (obviously) redundant, else return which of the two to keep
-		   (memq type2 '(= char=? string=? not eq?)))
-	       (if (eq? type1 type2)
-		   type1
-		   (case type1
-		     ((number? complex?) 
-		      (case type2
-			((float? real? rational? integer?) type2)
-			((number? complex?) type1)
-			((=) (let ((x ((if (number? (caddr arg2)) caddr cadr) arg2)))
-			       (and (number? x)
-				    (if (= x (floor x)) 'memv 'eqv?))))
-			(else #f)))
-
-		     ((real?)
-		      (case type2
-			((float? rational? integer?) type2)
-			((number? complex?) type1)
-			((=) (let ((x ((if (real? (caddr arg2)) caddr cadr) arg2)))
-			       (and (real? x)
-				    (if (= x (floor x)) 'memv 'eqv?))))
-			(else #f)))
-
-		     ((float?)           
-		      (and (memq type2 '(real? complex? number? inexact?)) type1))
-
-		     ((rational?)
-		      (case type2
-			((integer?) type2)
-			((real? complex? number? exact?) type1)
-			((=)
-			 (and (or (rational? (caddr arg2))
-				  (rational? (cadr arg2)))
-			      'eqv?))
-			(else #f)))
-
-		     ((integer?)
-		      (case type2
-			((real? rational? complex? number? exact?) type1)
-			((=)
-			 (and (or (integer? (caddr arg2))
-				  (integer? (cadr arg2)))
-			      'eqv?))
-			(else #f)))
-
-		     ((exact?)           
-		      (and (memq type2 '(rational? integer?)) type2))
-
-		     ((even? odd?)       
-		      (and (memq type2 '(integer? rational? real? complex? number?)) type1)) ; not zero? -> 0.0
-
-		     ((zero?)            
-		      (and (memq type2 '(complex? number? real?)) type1))
-
-		     ((negative? positive?) 
-		      (and (eq? type2 'real?) type1))
-
-		     ((inexact?)         
-		      (and (eq? type2 'float?) type2))
-
-		     ((infinite? nan?)   
-		      (and (memq type2 '(number? complex? inexact?)) type1))
-
-		     ((vector?)          
-		      (and (memq type2 '(float-vector? int-vector?)) type2))
-
-		     ((float-vector? int-vector?) 
-		      (and (eq? type2 'vector?) type1))
-
-		     ((symbol?) 
-		      (case type2
-			((keyword? gensym? constant?) type2)
-			((eq?)
-			 (and (or (quoted-symbol? (cadr arg2))
-				  (quoted-symbol? (caddr arg2)))
-			      'eq?))
-			(else #f)))
-
-		     ((keyword?)
-		      (case type2
-			((symbol? constant?) type1)
-			((eq?)
-			 (and (or (keyword? (cadr arg2))
-				  (keyword? (caddr arg2)))
-			      'eq?))
-			(else #f)))
-
-		     ((gensym? defined? provided? constant?) 
-		      (and (eq? type2 'symbol?) type1))
-
-		     ((boolean?)         
-		      (and (or (eq? type2 'not) 
-			       (and (eq? type2 'eq?)
-				    (or (boolean? (cadr arg2))
-					(boolean? (caddr arg2)))))
-					      
-			   type2))
-
-		     ((list?)            
-		      (and (memq type2 '(null? pair? proper-list?)) type2))
-
-		     ((null?)            
-		      (and (memq type2 '(list? proper-list?)) type1))
-
-		     ((pair?)            
-		      (and (eq? type2 'list?) type1))
-
-		     ((proper-list?)     
-		      (and (eq? type2 'null?) type2))
-
-		     ((string?)
-		      (case type2
-			((byte-vector?) type2)
-			((string=?)
-			 (and (or (eq? (->lint-type (cadr arg2)) 'string?)
-				  (eq? (->lint-type (caddr arg2)) 'string?))
-			      'equal?))
-			(else #f)))
-
-		     ((char?)            
-		      (and (eq? type2 'char=?)
-			   (or (eq? (->lint-type (cadr arg2)) 'char?)
-			       (eq? (->lint-type (caddr arg2)) 'char?))
-			   'eqv?))
-
-		     ((char-numeric? char-whitespace? char-alphabetic? char-upper-case? char-lower-case?) 
-		      (and (eq? type2 'char?) type1))
-
-		     ((byte-vector? directory? file-exists?) 
-		      (and (eq? type2 'string?) type1))
-
-		     (else #f))))))
-
+		   (arg-type (let ((sig (and (positive? pos)   ; procedure-signature for arg2
+					     (arg-signature (car arg2) env))))
+			       (if (zero? pos)                 ; it's type indication for arg1's position
+				   'procedure? ; or sequence? -- how to distinguish? use 'applicable?
+				   (and (pair? sig)
+					(< pos (length sig))
+					(list-ref sig pos))))))
+	      (let ((ln (and (< 0 line-number 100000) line-number))
+		    (comment (if (and (eq? arg-type 'procedure?)
+				      (= pos 0)
+				      (pair? (cdr arg2)))
+				 " ; or maybe sequence? " "")))
+		
+		(set! last-and-incomplete-arg2 arg2)             ; ignore unwanted repetitions due to recursive simplifications
+		(if (symbol? arg-type)
+		    (let ((old-arg (case head
+				     ((and if cond when) arg1)
+				     ((or if2)           `(not ,arg1))))
+			  (new-arg (case head
+				     ((and if cond when) `(,arg-type ,arg1))
+				     ((or if2)           `(not (,arg-type ,arg1))))))
+		      (format outport "~NCin ~A~A,~%~NCperhaps change ~S to ~S~A~%"
+			      lint-left-margin #\space 
+			      (truncated-list->string form)
+			      (if ln (format #f " (line ~D)" ln) "")
+			      (+ lint-left-margin 4) #\space 
+			      old-arg new-arg comment)))))))))
+
+    (define (and-redundant? arg1 arg2)
+      (let ((type1 (car arg1))
+	    (type2 (car arg2)))
+	(and (symbol? type1)
+	     (symbol? type2)
+	     (hash-table-ref booleans type1)
+	     (or (hash-table-ref booleans type2)     ; return #f if not (obviously) redundant, else return which of the two to keep
+		 (memq type2 '(= char=? string=? not eq?)))
+	     (if (eq? type1 type2)
+		 type1
+		 (case type1
+		   ((number? complex?) 
+		    (case type2
+		      ((float? real? rational? integer?) type2)
+		      ((number? complex?) type1)
+		      ((=) (let ((x ((if (number? (caddr arg2)) caddr cadr) arg2)))
+			     (and (number? x)
+				  (if (= x (floor x)) 'memv 'eqv?))))
+		      (else #f)))
+		   
+		   ((real?)
+		    (case type2
+		      ((float? rational? integer?) type2)
+		      ((number? complex?) type1)
+		      ((=) (let ((x ((if (real? (caddr arg2)) caddr cadr) arg2)))
+			     (and (real? x)
+				  (if (= x (floor x)) 'memv 'eqv?))))
+		      (else #f)))
+		   
+		   ((float?)           
+		    (and (memq type2 '(real? complex? number? inexact?)) type1))
+		   
+		   ((rational?)
+		    (case type2
+		      ((integer?) type2)
+		      ((real? complex? number? exact?) type1)
+		      ((=)
+		       (and (or (rational? (caddr arg2))
+				(rational? (cadr arg2)))
+			    'eqv?))
+		      (else #f)))
+		   
+		   ((integer?)
+		    (case type2
+		      ((real? rational? complex? number? exact?) type1)
+		      ((=)
+		       (and (or (integer? (caddr arg2))
+				(integer? (cadr arg2)))
+			    'eqv?))
+		      (else #f)))
+		   
+		   ((exact?)           
+		    (and (memq type2 '(rational? integer?)) type2))
+		   
+		   ((even? odd?)       
+		    (and (memq type2 '(integer? rational? real? complex? number?)) type1)) ; not zero? -> 0.0
+		   
+		   ((zero?)            
+		    (and (memq type2 '(complex? number? real?)) type1))
+		   
+		   ((negative? positive?) 
+		    (and (eq? type2 'real?) type1))
+		   
+		   ((inexact?)         
+		    (and (eq? type2 'float?) type2))
+		   
+		   ((infinite? nan?)   
+		    (and (memq type2 '(number? complex? inexact?)) type1))
+		   
+		   ((vector?)          
+		    (and (memq type2 '(float-vector? int-vector?)) type2))
+		   
+		   ((float-vector? int-vector?) 
+		    (and (eq? type2 'vector?) type1))
+		   
+		   ((symbol?) 
+		    (case type2
+		      ((keyword? gensym?) type2)
+		      ((eq?)
+		       (and (or (quoted-symbol? (cadr arg2))
+				(quoted-symbol? (caddr arg2)))
+			    'eq?))
+		      (else #f)))
+		   
+		   ((keyword?)
+		    (case type2
+		      ((symbol? constant?) type1)
+		      ((eq?)
+		       (and (or (keyword? (cadr arg2))
+				(keyword? (caddr arg2)))
+			    'eq?))
+		      (else #f)))
+		   
+		   ((gensym? defined? provided?) 
+		    (and (eq? type2 'symbol?) type1))
+		   
+		   ((boolean?)         
+		    (and (or (eq? type2 'not) 
+			     (and (eq? type2 'eq?)
+				  (or (boolean? (cadr arg2))
+				      (boolean? (caddr arg2)))))
+			 
+			 type2))
+		   
+		   ((list?)            
+		    (and (memq type2 '(null? pair? proper-list?)) type2))
+		   
+		   ((null?)            
+		    (and (memq type2 '(list? proper-list?)) type1))
+		   
+		   ((pair?)            
+		    (and (eq? type2 'list?) type1))
+		   
+		   ((proper-list?)     
+		    (and (eq? type2 'null?) type2))
+		   
+		   ((string?)
+		    (case type2
+		      ((byte-vector?) type2)
+		      ((string=?)
+		       (and (or (eq? (->lint-type (cadr arg2)) 'string?)
+				(eq? (->lint-type (caddr arg2)) 'string?))
+			    'equal?))
+		      (else #f)))
+		   
+		   ((char?)            
+		    (and (eq? type2 'char=?)
+			 (or (eq? (->lint-type (cadr arg2)) 'char?)
+			     (eq? (->lint-type (caddr arg2)) 'char?))
+			 'eqv?))
+		   
+		   ((char-numeric? char-whitespace? char-alphabetic? char-upper-case? char-lower-case?) 
+		    (and (eq? type2 'char?) type1))
+		   
+		   ((byte-vector? directory? file-exists?) 
+		    (and (eq? type2 'string?) type1))
+		   
+		   (else #f))))))
+    
+    
     (define (and-forgetful form head arg1 arg2 env)
       (unless (or (memq (car arg2) '(and or not list cons vector)) ; these don't tell us anything about arg1's type
 		  (eq? arg2 last-and-incomplete-arg2))
@@ -1783,15 +1820,15 @@
 			((or (null? p)
 			     (equal? (car p) (cadr arg1)))
 			 (if (null? p) -1 i))))
-	       (sig (and (positive? pos)                       ; procedure-signature for arg2
-			 (arg-signature (car arg2) env)))
-	       (arg-type (if (zero? pos)                       ; its type indication for arg1's position
-			     'procedure?                       ; or sequence? -- how to distinguish? use 'applicable?
-			     (and (pair? sig)
-				  (< pos (length sig))
-				  (list-ref sig pos)))))
+	       (arg-type (let ((sig (and (positive? pos)       ; procedure-signature for arg2
+					 (arg-signature (car arg2) env))))
+			   (if (zero? pos)                     ; its type indication for arg1's position
+			       'procedure?                     ; or sequence? -- how to distinguish? use 'applicable?
+			       (and (pair? sig)
+				    (< pos (length sig))
+				    (list-ref sig pos))))))
 	  (when (symbol? arg-type)
-	    (let ((new-type (and-redundant? arg1 (cons arg-type (cadr arg1)))))
+	    (let ((new-type (and-redundant? arg1 (cons arg-type (cdr arg1)))))
 	      (when (and new-type
 			 (not (eq? new-type (car arg1))))
 		(let ((old-arg (case head
@@ -1934,9 +1971,7 @@
 						     (return `(,op1 ,x ,c1)))
 						    
 						    ((eq? op2 (cadr (assq op1 relops)))
-						     (if (memq op2 gtes)
-							 (return `(,op1 ,x ,c1))
-							 (return `(,op2 ,x ,c1))))
+						     (return `(,(if (memq op2 gtes) op1 op2) ,x ,c1)))
 						    
 						    ((and (memq op1 gtes)
 							  (memq op2 gtes))
@@ -1948,9 +1983,9 @@
 						   (typer c2))
 					      (cond ((or (eq? op1 op2)
 							 (eq? op2 (cadr (assq op1 relops))))
-						     (if ((symbol->value op1) c1 c2)
-							 (return `(,op1 ,x ,c1))
-							 (return `(,op2 ,x ,c2))))
+						     (return (if ((symbol->value op1) c1 c2)
+								 `(,op1 ,x ,c1)
+								 `(,op2 ,x ,c2))))
 						    ((eq? op1 (caddr (assq op2 relops)))
 						     (if ((symbol->value op1) c2 c1)
 							 (return `(,op1 ,c2 ,x ,c1))
@@ -1969,9 +2004,7 @@
 						     (return `(,op1 ,x ,c1)))
 						    
 						    ((eq? op2 (cadr (assq op1 relops)))
-						     (if (memq op2 gtes)
-							 (return `(,op2 ,x ,c1))
-							 (return `(,op1 ,x ,c1))))
+						     (return `(,(if (memq op2 gtes) op2 op1) ,x ,c1)))
 						    
 						    ((and (memq op1 gts)
 							  (memq op2 gts))
@@ -2059,7 +2092,7 @@
 				  (cond ((null? (cddr a))
 					 (set! keepers (cons (cadr a) keepers)))
 
-					((null? (cdddr a)) 
+					((null? (cdddr a))
 					 (let ((res (apply and-redundant? (reverse (cdr a)))))
 					   (if res
 					       (begin
@@ -2141,13 +2174,9 @@
 			(else arg1)))
 
 		     ((symbol?) 
-		      (and (not (memq type2 '(keyword? gensym? constant?))) 
+		      (and (not (memq type2 '(keyword? gensym?))) 
 			   arg1))
 
-		     ((constant?) 
-		      (and (eq? type2 'symbol?)
-			   'contradictory))
-
 		     ((char=?)  
 		      (if (eq? type2 'char?)
 			  'contradictory
@@ -2348,12 +2377,7 @@
 				(not (eq? eqfnc 'equal?)))
 			   (list eqfnc)
 			   ()))
-	       (elements (lint-remove-duplicates (map (lambda (v) 
-							(if (pair? v) ; quoted case
-							    (cadr v)  ;   so unquote for quoted list below
-							    v)) 
-						      vals) 
-						 env)))
+	       (elements (lint-remove-duplicates (map unquoted vals) env)))
 	  (cond ((null? (cdr elements))
 		 `(,eqfnc ,sym , at elements))
 		
@@ -2453,16 +2477,17 @@
 		  (case (car form)
 		    ;; --------------------------------
 		    ((not)
+
 		     (if (not (= len 2))
 			 form
 			 (let* ((arg (cadr form))
-				(val (if (and (pair? arg)
-					      (memq (car arg) '(and or not)))
-					 (classify (simplify-boolean arg true false env))
-					 (classify arg)))
+				(val (classify (if (and (pair? arg)
+							(memq (car arg) '(and or not)))
+						   (simplify-boolean arg true false env)
+						   arg)))
 				(arg-op (and (pair? arg) 
 					     (car arg))))
-			   
+
 			   (cond ((boolean? val) 
 				  (not val))
 				 
@@ -2476,18 +2501,53 @@
 					   (not (var-member arg-op env))))
 				  #f)
 				 
-				 ((and (pair? arg)               ; (not (not ...)) -> ...
-				       (pair? (cdr arg))         ; this is usually internally generated, 
-				       (eq? arg-op 'not))        ;   so the message about (and x #t) is in special-case-functions below
-				  (cadr arg))
-
-				 ((and (pair? arg)               ; (not (or|and x (not y)...)) -> (and|or (not x) y ...)
-				       (memq arg-op '(and or))
-				       (pair? (cdr arg))
-				       (any? (lambda (p) 
-					       (and (pair? p) 
-						    (eq? (car p) 'not)))
-					     (cdr arg)))
+				 ((and (pair? val)                 ; (not (not ...)) -> ...
+				       (pair? (cdr val))           ; this is usually internally generated, 
+				       (memq (car val) '(not if cond case begin))) ;   so the message about (and x #t) is in special-case-functions below
+				  (case (car val)
+				    ((not)
+				     (cadr val))
+
+				    ((if)
+				     (let ((if-true (simplify-boolean `(not ,(caddr val)) () () env))
+					   (if-false (or (not (pair? (cdddr val)))  ; (not #<unspecified>) -> #t
+							 (simplify-boolean `(not ,(cadddr val)) () () env))))
+				       ;; ideally we'd call if-walker on this to simplify further
+				       `(if ,(cadr val) ,if-true ,if-false)))
+
+				    ((cond case)
+				     `(,(car val) 
+				       ,@(if (eq? (car val) 'cond) () (list (cadr val)))
+				       ,@(map (lambda (c)
+						(if (not (and (pair? c)
+							      (pair? (cdr c))))
+						    c
+						    (let* ((len (length (cdr c)))
+							   (new-last (let ((last (list-ref c len)))
+								       (if (and (pair? last)
+										(eq? (car last) 'error))
+									   last
+									   (simplify-boolean `(not ,last) () () env)))))
+						      `(,(car c) ,@(copy (cdr c) (make-list (- len 1))) ,new-last))))
+					      ((if (eq? (car val) 'cond) cdr cddr) val))))
+
+				    ((begin)
+				     (let* ((len (length val))
+					    (new-last (simplify-boolean `(not ,(list-ref val (- len 1))) () () env)))
+				       `(,@(copy val (make-list (- len 1))) ,new-last)))))
+
+				 ((not (equal? val arg))
+				  `(not ,val))
+
+				 ((not (pair? arg))
+				  form)
+
+				 ((and (memq arg-op '(and or))        ; (not (or|and x (not y))) -> (and|or (not x) y)
+				       (= (length arg) 3)
+				       (or (and (pair? (cadr arg))
+						(eq? (caadr arg) 'not))
+					   (and (pair? (caddr arg))
+						(eq? (caaddr arg) 'not))))
 				  (let ((rel (if (eq? arg-op 'or) 'and 'or)))
 				    `(,rel ,@(map (lambda (p)
 						    (if (and (pair? p)
@@ -2496,11 +2556,7 @@
 							(simplify-boolean `(not ,p) () () env)))
 						  (cdr arg)))))
 				 
-				 ((not (equal? val arg))
-				  `(not ,val))
-				 
-				 ((and (pair? arg)
-				       (<= (length arg) 3)) ; avoid (<= 0 i 12) and such
+				 ((<= (length arg) 3)           ; avoid (<= 0 i 12) and such
 				  (case arg-op
 				    ((< > <= >= odd? even? exact? inexact?char<? char>? char<=? char>=? string<? string>? string<=? string>=?
 					char-ci<? char-ci>? char-ci<=? char-ci>=? string-ci<? string-ci>? string-ci<=? string-ci>=?)
@@ -2529,10 +2585,9 @@
 						      (zero? (logand arg2 (- arg2 1))) ; it's a power of 2
 						      `(logbit? ,arg1 ,(floor (log arg2 2)))) ; floor for freeBSD?
 						 form)))))
-
 				    (else form)))
-				 
 				 (else form)))))
+
 		    ;; --------------------------------
 		    ((or)
 		     (case len
@@ -2556,174 +2611,184 @@
 					(not (side-effect? arg1 env)))
 				   (return arg2))
 
-			       (if (and (pair? arg2)      ; (or A (and (not A) B)) -> (or A B)
-					(eq? (car arg2) 'and)
-					(pair? (cadr arg2))
-					(eq? (caadr arg2) 'not)
-					(equal? arg1 (cadadr arg2)))
-				   (return `(or ,arg1 ,@(cddr arg2))))
-
-			       (when (and (pair? arg1)
-					  (pair? arg2))
-
-				 (when (eq? (car arg1) 'not)
-				   (if (symbol? (cadr arg1))
-				       (if (memq (cadr arg1) arg2)
-					   (begin
-					     (if (eq? (car arg2) 'boolean?)
-						 (return arg2))
-					     (and-incomplete form 'or (cadr arg1) arg2 env))
-					   (do ((p arg2 (cdr p)))
-					       ((or (not (pair? p))
-						    (and (pair? (car p))
-							 (memq (cadr arg1) (car p))))
-						(if (pair? p)
-						    (and-incomplete form 'or (cadr arg1) (car p) env)))))
-					  (if (and (pair? (cadr arg1))   ; (or (not (number? x)) (> x 2)) -> (or (not (real? x)) (> x 2))
-						   (hash-table-ref bools (caadr arg1)))
-					      (if (member (cadadr arg1) arg2)
-						  (and-forgetful form 'or (cadr arg1) arg2 env)
-						  (do ((p arg2 (cdr p)))
-						      ((or (not (pair? p))
-							   (and (pair? (car p))
-								(member (cadadr arg1) (car p))))
-						       (if (pair? p)
-							   (and-forgetful form 'or (cadr arg1) (car p) env))))))))
-				 
-				 (if (and (eq? (car arg1) 'not) ; (or (not A) (and A B)) -> (or (not A) B) -- this stuff actually happens!
-					  (eq? (car arg2) 'and)
-					  (equal? (cadr arg1) (cadr arg2)))
+			       (when (pair? arg2)
+				 (if (and (eq? (car arg2) 'and) ; (or A (and (not A) B)) -> (or A B)
+					  (pair? (cadr arg2))
+					  (eq? (caadr arg2) 'not)
+					  (equal? arg1 (cadadr arg2)))
 				     (return `(or ,arg1 ,@(cddr arg2))))
-
-				 (when (and (eq? (car arg1) 'and)
-					    (eq? (car arg2) 'and)
-					    (= 3 (length arg1) (length arg2))
-					    ;; (not (side-effect? arg1 env)) ; maybe??
-					    (or (equal? (cadr arg1) `(not ,(cadr arg2)))
-						(equal? `(not ,(cadr arg1)) (cadr arg2)))
-					    (not (equal? (caddr arg1) `(not ,(caddr arg2))))
-					    (not (equal? `(not ,(caddr arg1)) (caddr arg2))))
-				   ;; kinda dumb, but common: (or (and A B) (and (not A) C)) -> (if A B C)
-				   ;;    the other side: (and (or A B) (or (not A) C)) -> (if A C (and B #t)), but it never happens
-				   (lint-format "perhaps ~A" 'or 
-						(lists->string form
-							       (if (and (pair? (cadr arg1))
-									(eq? (caadr arg1) 'not))
-								   `(if ,(cadr arg2) ,(caddr arg2) ,(caddr arg1))
-								   `(if ,(cadr arg1) ,(caddr arg1) ,(caddr arg2))))))
-				 (let ((t1 (and (pair? (cdr arg1))
-						(pair? (cdr arg2))
-						(or (equal? (cadr arg1) (cadr arg2))
-						    (and (pair? (cddr arg2))
-							 (null? (cdddr arg2))
-							 (equal? (cadr arg1) (caddr arg2))))
-						(not (side-effect? arg1 env))
-						(and-redundant? arg1 arg2))))
-				   (if t1
-				       (return (if (eq? t1 (car arg1)) arg2 arg1))))
-
-				 ;; if all clauses are (eq-func x y) where one of x/y is a symbol|simple-expr repeated throughout
-				 ;;   and the y is a code-constant, or -> memq and friends.  
-				 ;;   This could also handle cadr|caddr reversed, but it apparently never happens.
-				 (if (and (or (and (eq? (car arg2) '=)
-						   (memq (car arg1) '(< > <= >=)))
-					      (and (eq? (car arg1) '=)
-						   (memq (car arg2) '(< > <= >=))))
-					  (= (length arg1) 3)
-					  (equal? (cdr arg1) (cdr arg2)))
-				     (return `(,(if (or (memq (car arg1) '(< <=))
-							(memq (car arg2) '(< <=)))
-						    '<= '>=)
-					       ,@(cdr arg1))))
-
-				 ;; this makes some of the code above redundant
-				 (let ((rel (relsub arg1 arg2 'or env)))
-				   (if (or (boolean? rel)
-					   (pair? rel))
-				       (return rel)))
-
-				 ;; (or (pair? x) (null? x)) -> (list? x)
-				 (if (and (memq (car arg1) '(null? pair?))
-					  (memq (car arg2) '(null? pair?))
-					  (not (eq? (car arg1) (car arg2)))
-					  (equal? (cadr arg1) (cadr arg2)))
-				     (return `(list? ,(cadr arg1))))
-
-				 (if (and (eq? (car arg1) 'zero?)  ; (or (zero? x) (positive? x)) -> (not (negative? x)) -- other cases don't happen
-					  (memq (car arg2) '(positive? negative?))
-					  (equal? (cadr arg1) (cadr arg2)))
-				     (return `(not (,(if (eq? (car arg2) 'positive?) 'negative? 'positive?) ,(cadr arg1)))))
-
-				 ;; (or (and A B) (and (not A) (not B))) -> (eq? (not A) (not B))
-				 ;; more accurately (if A B (not B)), but every case I've seen is just boolean
-				 ;; perhaps also (or (not (or A B)) (not (or (not A) (not B)))), but it never happens
-				 (let ((a1 (cadr form))
-				       (a2 (caddr form)))
-				   (when (and (pair? a1)
-					      (pair? a2)
-					      (eq? (car a1) 'and)
-					      (eq? (car a2) 'and)
-					      (= (length a1) 3)
-					      (= (length a2) 3))
-				     (let ((A ((if (and (pair? (cadr a1)) (eq? (caadr a1) 'not)) cadadr cadr) a1))
-					   (B (if (and (pair? (caddr a1)) (eq? (caaddr a1) 'not)) (cadr (caddr a1)) (caddr a1))))
-				       (if (or (equal? form `(or (and ,A ,B) (and (not ,A) (not ,B))))
-					       (equal? form `(or (and (not ,A) (not ,B)) (and ,A ,B))))
-					   (return `(eq? (not ,A) (not ,B))))
-				       (if (or (equal? form `(or (and ,A (not ,B)) (and (not ,A) ,B)))
-					       (equal? form `(or (and (not ,A) ,B) (and ,A (not ,B)))))
-					   (return `(not (eq? (not ,A) (not ,B))))))))
 				 
-				 (when (and (pair? (cdr arg1))
-					    (pair? (cdr arg2))
-					    (not (eq? (car arg1) (car arg2))))
-				   (when (subsumes? (car arg1) (car arg2))
-				     (return arg1))
-
-				   (if (eq? (car arg1) 'not)
-				       (let ((temp arg1))
-					 (set! arg1 arg2)
-					 (set! arg2 temp)))
-				   (if (and (eq? (car arg2) 'not)
-					    (pair? (cadr arg2))
-					    (pair? (cdadr arg2))
-					    (not (eq? (caadr arg2) 'let?))
-					    (or (equal? (cadr arg1) (cadadr arg2))
-						(and (pair? (cddr arg1))
-						     (equal? (caddr arg1) (cadadr arg2))))
-					    (eq? (return-type (car arg1) env) 'boolean?)
-					    (eq? (return-type (caadr arg2) env) 'boolean?))
-				       (let ((t2 (or-not-redundant arg1 arg2)))
-					 (when t2 
-					   (if (eq? t2 'fatuous)
-					       (return #t)
-					       (if (pair? t2)
-						   (return t2)))))))
-
-				 ;; (or (if a c d) (if b c d)) -> (if (or a b) c d) never happens, sad to say
-				 ;;   or + if + if does happen but not in this easily optimized form
-				 ))) ; len = 3
-			   
-			   (let ((nots 0)
-				 (revers 0))
-			     (if (every? (lambda (a)                ; (and (not (pair? x)) (not (null? x))) -> (not (list? x))
-					   (and (pair? a)
-						(if (eq? (car a) 'not)
-						    (set! nots (+ nots 1))
-						    (and (hash-table-ref notables (car a))
-							 (set! revers (+ revers 1))))))
-					 (cdr form))
-				 (if (zero? revers)
-				     (let ((sf (simplify-boolean `(and ,@(map cadr (cdr form))) true false env)))
-				       (return (simplify-boolean `(not ,sf) () () env)))
-				     (if (> nots revers)
-					 (let ((nf (simplify-boolean `(and ,@(map (lambda (p)
-										    (if (eq? (car p) 'not)
-											(cadr p)
-											`(,(hash-table-ref notables (car p)) ,@(cdr p))))
+				 (when (pair? arg1)
+				   (when (eq? (car arg1) 'not)
+				     (if (symbol? (cadr arg1))
+					 (if (memq (cadr arg1) arg2)
+					     (begin
+					       (if (eq? (car arg2) 'boolean?)
+						   (return arg2))
+					       (and-incomplete form 'or (cadr arg1) arg2 env))
+					     (do ((p arg2 (cdr p)))
+						 ((or (not (pair? p))
+						      (and (pair? (car p))
+							   (memq (cadr arg1) (car p))))
+						  (if (pair? p)
+						      (and-incomplete form 'or (cadr arg1) (car p) env)))))
+					 (if (and (pair? (cadr arg1))   ; (or (not (number? x)) (> x 2)) -> (or (not (real? x)) (> x 2))
+						  (hash-table-ref bools (caadr arg1)))
+					     (if (member (cadadr arg1) arg2)
+						 (and-forgetful form 'or (cadr arg1) arg2 env)
+						 (do ((p arg2 (cdr p)))
+						     ((or (not (pair? p))
+							  (and (pair? (car p))
+							       (member (cadadr arg1) (car p))))
+						      (if (pair? p)
+							  (and-forgetful form 'or (cadr arg1) (car p) env)))))))
+				 
+				     (if (and (eq? (car arg2) 'and) ; (or (not A) (and A B)) -> (or (not A) B) -- this stuff actually happens!
+					      (equal? (cadr arg1) (cadr arg2)))
+					 (return `(or ,arg1 ,@(cddr arg2)))))
+
+				   (when (and (eq? (car arg1) 'and)
+					      (eq? (car arg2) 'and)
+					      (= 3 (length arg1) (length arg2))
+					      ;; (not (side-effect? arg1 env)) ; maybe??
+					      (or (equal? (cadr arg1) `(not ,(cadr arg2)))
+						  (equal? `(not ,(cadr arg1)) (cadr arg2)))
+					      (not (equal? (caddr arg1) `(not ,(caddr arg2))))
+					      (not (equal? `(not ,(caddr arg1)) (caddr arg2))))
+				     ;; kinda dumb, but common: (or (and A B) (and (not A) C)) -> (if A B C)
+				     ;;    the other side: (and (or A B) (or (not A) C)) -> (if A C (and B #t)), but it never happens
+				     (lint-format "perhaps ~A" 'or 
+						  (lists->string form
+								 (if (and (pair? (cadr arg1))
+									  (eq? (caadr arg1) 'not))
+								     `(if ,(cadr arg2) ,(caddr arg2) ,(caddr arg1))
+								     `(if ,(cadr arg1) ,(caddr arg1) ,(caddr arg2))))))
+				   (let ((t1 (and (pair? (cdr arg1))
+						  (pair? (cdr arg2))
+						  (or (equal? (cadr arg1) (cadr arg2))
+						      (and (pair? (cddr arg2))
+							   (null? (cdddr arg2))
+							   (equal? (cadr arg1) (caddr arg2))))
+						  (not (side-effect? arg1 env))
+						  (and-redundant? arg1 arg2))))
+				     (if t1
+					 (return (if (eq? t1 (car arg1)) arg2 arg1))))
+
+				   ;; if all clauses are (eq-func x y) where one of x/y is a symbol|simple-expr repeated throughout
+				   ;;   and the y is a code-constant, or -> memq and friends.  
+				   ;;   This could also handle cadr|caddr reversed, but it apparently never happens.
+				   (if (and (or (and (eq? (car arg2) '=)
+						     (memq (car arg1) '(< > <= >=)))
+						(and (eq? (car arg1) '=)
+						     (memq (car arg2) '(< > <= >=))))
+					    (= (length arg1) 3)
+					    (equal? (cdr arg1) (cdr arg2)))
+				       (return `(,(if (or (memq (car arg1) '(< <=))
+							  (memq (car arg2) '(< <=)))
+						      '<= '>=)
+						 ,@(cdr arg1))))
+				   
+				   ;; this makes some of the code above redundant
+				   (let ((rel (relsub arg1 arg2 'or env)))
+				     (if (or (boolean? rel)
+					     (pair? rel))
+					 (return rel)))
+				   
+				   ;; (or (pair? x) (null? x)) -> (list? x)
+				   (when (and (pair? (cdr arg1))
+					      (pair? (cdr arg2))
+					      (equal? (cadr arg1) (cadr arg2)))
+				     (if (and (memq (car arg1) '(null? pair?))
+					      (memq (car arg2) '(null? pair?))
+					      (not (eq? (car arg1) (car arg2))))
+					 (return `(list? ,(cadr arg1))))
+				     
+				     (if (and (eq? (car arg1) 'zero?)  ; (or (zero? x) (positive? x)) -> (not (negative? x)) -- other cases don't happen
+					      (memq (car arg2) '(positive? negative?)))
+					 (return `(not (,(if (eq? (car arg2) 'positive?) 'negative? 'positive?) ,(cadr arg1))))))
+				   
+				   ;; (or (and A B) (and (not A) (not B))) -> (eq? (not A) (not B))
+				   ;; more accurately (if A B (not B)), but every case I've seen is just boolean
+				   ;; perhaps also (or (not (or A B)) (not (or (not A) (not B)))), but it never happens
+				   (let ((a1 (cadr form))
+					 (a2 (caddr form)))
+				     (when (and (pair? a1)
+						(pair? a2)
+						(eq? (car a1) 'and)
+						(eq? (car a2) 'and)
+						(= (length a1) 3)
+						(= (length a2) 3))
+				       (let ((A ((if (and (pair? (cadr a1)) (eq? (caadr a1) 'not)) cadadr cadr) a1))
+					     (B (if (and (pair? (caddr a1)) (eq? (caaddr a1) 'not)) (cadr (caddr a1)) (caddr a1))))
+					 (if (or (equal? form `(or (and ,A ,B) (and (not ,A) (not ,B))))
+						 (equal? form `(or (and (not ,A) (not ,B)) (and ,A ,B))))
+					     (return `(eq? (not ,A) (not ,B))))
+					 (if (or (equal? form `(or (and ,A (not ,B)) (and (not ,A) ,B)))
+						 (equal? form `(or (and (not ,A) ,B) (and ,A (not ,B)))))
+					     (return `(not (eq? (not ,A) (not ,B))))))))
+				   
+				   (when (and (pair? (cdr arg1))
+					      (pair? (cdr arg2))
+					      (not (eq? (car arg1) (car arg2))))
+				     (when (subsumes? (car arg1) (car arg2))
+				       (return arg1))
+				     
+				     (if (eq? (car arg1) 'not)
+					 (let ((temp arg1))
+					   (set! arg1 arg2)
+					   (set! arg2 temp)))
+				     (if (and (eq? (car arg2) 'not)
+					      (pair? (cadr arg2))
+					      (pair? (cdadr arg2))
+					      (not (eq? (caadr arg2) 'let?))
+					      (or (equal? (cadr arg1) (cadadr arg2))
+						  (and (pair? (cddr arg1))
+						       (equal? (caddr arg1) (cadadr arg2))))
+					      (eq? (return-type (car arg1) env) 'boolean?)
+					      (eq? (return-type (caadr arg2) env) 'boolean?))
+					 (let ((t2 (or-not-redundant arg1 arg2)))
+					   (when t2 
+					     (if (eq? t2 'fatuous)
+						 (return #t)
+						 (if (pair? t2)
+						     (return t2)))))))
+				   
+				   ;; (or (if a c d) (if b c d)) -> (if (or a b) c d) never happens, sad to say
+				   ;;   or + if + if does happen but not in this easily optimized form
+				   )))) ; len = 3
+
+				;; len > 3 or nothing was caught above
+				(let ((nots 0)
+				      (revers 0)
+				      (arglen (- len 1)))
+				  (do ((p (cdr form) (cdr p)))
+				      ((not (pair? p)))
+				    (let ((a (car p)))
+				      (if (pair? a)
+					  (if (eq? (car a) 'not)
+					      (set! nots (+ nots 1))
+					      (if (hash-table-ref notables (car a))
+						  (set! revers (+ revers 1)))))))
+				  (if (= nots arglen)                               ; every arg is `(not ...)
+				      (let ((nf (simplify-boolean `(and ,@(map cadr (cdr form))) () () env)))
+					(return (simplify-boolean `(not ,nf) () () env)))
+				      (if (and (> arglen 2)
+					       (or (> nots (/ (* 2 arglen) 3))
+						   (and (> arglen 2)
+							(> nots (/ arglen 2))
+							(> revers 0))))
+					  (let ((nf (simplify-boolean `(and ,@(map (lambda (p)
+										     (cond ((not (pair? p))
+											    `(not ,p))
+											   ((eq? (car p) 'not)
+											    (cadr p))
+											   ((hash-table-ref notables (car p)) => 
+											    (lambda (op)
+											      `(,op ,@(cdr p))))
+											   (else `(not ,p))))
 										  (cdr form)))
-								     true false env)))
-					   (return (simplify-boolean `(not ,nf) () () env)))))))
+								      () () env)))
+					    (return (simplify-boolean `(not ,nf) () () env))))))
 
 			   (let ((sym #f)
 				 (eqfnc #f)
@@ -2843,13 +2908,13 @@
 				     (if (not start)
 					 (set! start fp)
 					 (if (null? (cdr fp))
-					     (if (eq? start (cdr form))
-						 (return (gather-or-eqf-elements eqfnc sym vals))
-						 (return `(or ,@(copy (cdr form) (make-list (let loop ((g (cdr form)) (len 0))
-											      (if (eq? g start)
-												  len
-												  (loop (cdr g) (+ len 1))))))
-							      ,(gather-or-eqf-elements eqfnc sym vals))))))
+					    (return (if (eq? start (cdr form))
+							(gather-or-eqf-elements eqfnc sym vals)
+							`(or ,@(copy (cdr form) (make-list (let loop ((g (cdr form)) (len 0))
+											     (if (eq? g start)
+												 len
+												 (loop (cdr g) (+ len 1))))))
+							     ,(gather-or-eqf-elements eqfnc sym vals))))))
 				     (when start
 				       (if (eq? fp (cdr start))
 					   (begin
@@ -2866,10 +2931,10 @@
 									  (eq? (car nfp) 'or))
 								     cdr list)
 								 nfp)))))
-					     (if (eq? start (cdr form))
-						 (return `(or ,(gather-or-eqf-elements eqfnc sym vals)
-							      , at trailer))
-						 (return `(or ,@(copy (cdr form) (make-list (let loop ((g (cdr form)) (len 0))
+					     (return (if (eq? start (cdr form))
+							 `(or ,(gather-or-eqf-elements eqfnc sym vals)
+							      , at trailer)
+							 `(or ,@(copy (cdr form) (make-list (let loop ((g (cdr form)) (len 0))
 											      (if (eq? g start)
 												  len
 												  (loop (cdr g) (+ len 1))))))
@@ -3127,7 +3192,7 @@
 						     
 						     ((eq? t1 (car arg1)) arg1)
 						     (else arg2)))))
-				      
+
 				      (when (and (hash-table-ref reversibles (car arg1))
 						 (pair? (cddr arg1))
 						 (null? (cdddr arg1))
@@ -3137,60 +3202,71 @@
 						 (or (eq? (car arg1) (car arg2))           ; either ops are equal or
 						     (let ((rf (hash-table-ref reversibles (car arg2))))  ;    try reversed op for arg2
 						       (and (eq? (car arg1) rf)
-							    (set! arg2 (cons rf (reverse (cdr arg2)))))))
-						 (or (equal? (caddr arg1) (cadr arg2))     ; (and (op x y) (op y z))
-						     (equal? (cadr arg1) (caddr arg2))     ; (and (op x y) (op z x))
-						     (and (memq (car arg1) '(= char=? string=? char-ci=? string-ci=?))
-							  (or (equal? (cadr arg1) (cadr arg2))
-							      (equal? (caddr arg1) (caddr arg2))))))
-					(let ((op1 (car arg1))
-					      (arg1-1 (cadr arg1))
-					      (arg1-2 (caddr arg1))
-					      (arg2-1 (cadr arg2))
-					      (arg2-2 (caddr arg2)))
-					  (return
-					   (cond ((equal? arg1-2 arg2-1)       ; (and (op x y) (op y z)) -> (op x y z)
-						  (if (equal? arg1-1 arg2-2)
-						      (if (memq op1 '(= char=? string=? char-ci=? string-ci=?))
-							  arg1 
-							  (and (memq op1 '(<= >= char<=? char>=? string<=? string>=?
-									      char-ci<=? char-ci>=? string-ci<=? string-ci>=?))
-							       `(,(case op1 
-								    ((>= <=) '=)
-								    ((char<= char>=) 'char=?)
-								    ((char-ci<= char-ci>=) 'char-ci=?)
-								    ((string<= string>=) 'string=?)
-								    ((string-ci<= string-ci>=) 'string-ci=?))
-								 ,@(cdr arg1))))
-						      (and (or (not (code-constant? arg1-1))
-							       (not (code-constant? arg2-2))
-							       ((symbol->value op1) arg1-1 arg2-2))
-							   `(,op1 ,arg1-1 ,arg2-1 ,arg2-2))))
-						 
-						 ((equal? arg1-1 arg2-2)       ; (and (op x y) (op z x)) -> (op z x y)
-						  (if (equal? arg1-2 arg2-1)
-						      (and (memq op1 '(= char=? string=? char-ci=? string-ci=?))
-							   arg1)
-						      (and (or (not (code-constant? arg2-1))
-							       (not (code-constant? arg1-2))
-							       ((symbol->value op1) arg2-1 arg1-2))
-							   `(,op1 ,arg2-1 ,arg1-1 ,arg1-2))))
-						 
-						 ;; here we're restricted to equalities and we know arg1 != arg2
-						 ((equal? arg1-1 arg2-1)        ; (and (op x y) (op x z)) -> (op x y z)
-						  (if (and (code-constant? arg1-2)
-							   (code-constant? arg2-2))
-						      (and ((symbol->value op1) arg1-2 arg2-2)
-							   arg1)
-						      `(,op1 ,arg1-1 ,arg1-2 ,arg2-2)))
-						 
-						 ;; equalities again
-						 ((and (code-constant? arg1-1)
-						       (code-constant? arg2-1))
-						  (and ((symbol->value op1) arg1-1 arg2-1)
-						       arg1))
-						 
-						 (else `(,op1 ,arg1-1 ,arg1-2 ,arg2-1))))))
+							    (set! arg2 (cons rf (reverse (cdr arg2))))))))
+					(when (and (memq (car arg1) '(< <= >= >))       ; (and (op x y) (op x z)) -> (op x (min|max y z))
+						   (equal? (cadr arg1) (cadr arg2)))
+					  (if (and (rational? (caddr arg1))
+						   (rational? (caddr arg2)))
+					      (return `(,(car arg1) 
+							,(cadr arg1)
+							,((if (memq (car arg1) '(< <=)) min max) (caddr arg1) (caddr arg2)))))
+					  (return `(,(car arg1) 
+						    ,(cadr arg1)
+						    (,(if (memq (car arg1) '(< <=)) 'min 'max) ,(caddr arg1) ,(caddr arg2)))))
+
+					(when (or (equal? (caddr arg1) (cadr arg2))     ; (and (op x y) (op y z))
+						  (equal? (cadr arg1) (caddr arg2))     ; (and (op x y) (op z x))
+						  (and (memq (car arg1) '(= char=? string=? char-ci=? string-ci=?))
+						       (or (equal? (cadr arg1) (cadr arg2))
+							   (equal? (caddr arg1) (caddr arg2)))))
+					  (let ((op1 (car arg1))
+						(arg1-1 (cadr arg1))
+						(arg1-2 (caddr arg1))
+						(arg2-1 (cadr arg2))
+						(arg2-2 (caddr arg2)))
+					    (return
+					     (cond ((equal? arg1-2 arg2-1)       ; (and (op x y) (op y z)) -> (op x y z)
+						    (if (equal? arg1-1 arg2-2)
+							(if (memq op1 '(= char=? string=? char-ci=? string-ci=?))
+							    arg1 
+							    (and (memq op1 '(<= >= char<=? char>=? string<=? string>=?
+										char-ci<=? char-ci>=? string-ci<=? string-ci>=?))
+								 `(,(case op1 
+								      ((>= <=) '=)
+								      ((char<= char>=) 'char=?)
+								      ((char-ci<= char-ci>=) 'char-ci=?)
+								      ((string<= string>=) 'string=?)
+								      ((string-ci<= string-ci>=) 'string-ci=?))
+								   ,@(cdr arg1))))
+							(and (or (not (code-constant? arg1-1))
+								 (not (code-constant? arg2-2))
+								 ((symbol->value op1) arg1-1 arg2-2))
+							     `(,op1 ,arg1-1 ,arg2-1 ,arg2-2))))
+						   
+						   ((equal? arg1-1 arg2-2)       ; (and (op x y) (op z x)) -> (op z x y)
+						    (if (equal? arg1-2 arg2-1)
+							(and (memq op1 '(= char=? string=? char-ci=? string-ci=?))
+							     arg1)
+							(and (or (not (code-constant? arg2-1))
+								 (not (code-constant? arg1-2))
+								 ((symbol->value op1) arg2-1 arg1-2))
+							     `(,op1 ,arg2-1 ,arg1-1 ,arg1-2))))
+						   
+						   ;; here we're restricted to equalities and we know arg1 != arg2
+						   ((equal? arg1-1 arg2-1)        ; (and (op x y) (op x z)) -> (op x y z)
+						    (if (and (code-constant? arg1-2)
+							     (code-constant? arg2-2))
+							(and ((symbol->value op1) arg1-2 arg2-2)
+							     arg1)
+							`(,op1 ,arg1-1 ,arg1-2 ,arg2-2)))
+						   
+						   ;; equalities again
+						   ((and (code-constant? arg1-1)
+							 (code-constant? arg2-1))
+						    (and ((symbol->value op1) arg1-1 arg2-1)
+							 arg1))
+						   
+						   (else `(,op1 ,arg1-1 ,arg1-2 ,arg2-1)))))))
 				      
 				      ;; check some special cases 
 				      (when (and (or (equal? (cadr arg1) (cadr arg2))
@@ -3220,6 +3296,16 @@
 						     (eq? (cadr arg1) (cadr arg2)))
 					    (return `(< 0 ,(cadr arg1) ,(caddr arg2))))))
 
+				      (when (and (member (cadr arg1) arg2)
+						 (memq (car arg2) '(string=? char=? eq? eqv? equal?))
+						 (null? (cdddr arg2))
+						 (hash-table-ref bools (car arg1))
+						 (or (and (code-constant? (cadr arg2))
+							  (compatible? (car arg1) (->lint-type (cadr arg2))))
+						     (and (code-constant? (caddr arg2))
+							  (compatible? (car arg1) (->lint-type (caddr arg2))))))
+					(return `(,(if (eq? (car arg1) 'char?) ,eqv? 'equal?) ,@(cdr arg2))))
+
 				      (when (and (equal? (cadr arg1) (cadr arg2))
 						 (eq? (car arg1) 'inexact?)
 						 (eq? (car arg2) 'real?))
@@ -3237,20 +3323,20 @@
 					    (let ((temp arg1))
 					      (set! arg1 arg2)
 					      (set! arg2 temp)))
-					(if (and (eq? (car arg2) 'not)
-						 (pair? (cadr arg2))
-						 (pair? (cdadr arg2))
-						 (not (eq? (caadr arg2) 'let?))
-						 (or (equal? (cadr arg1) (cadadr arg2))
-						     (and (pair? (cddr arg1))
-							  (equal? (caddr arg1) (cadadr arg2))))
-						 (eq? (return-type (car arg1) env) 'boolean?)
-						 (eq? (return-type (caadr arg2) env) 'boolean?))
-					    (let ((t2 (and-not-redundant arg1 arg2)))
-					      (when t2 
-						(cond ((eq? t2 'contradictory) (return #f))
-						      ((symbol? t2)	       (return `(,t2 ,@(cdr arg1))))
-						      ((pair? t2)	       (return t2)))))))
+					(when (and (eq? (car arg2) 'not)
+						   (pair? (cadr arg2))
+						   (pair? (cdadr arg2))
+						   (not (eq? (caadr arg2) 'let?))
+						   (or (equal? (cadr arg1) (cadadr arg2))
+						       (and (pair? (cddr arg1))
+							    (equal? (caddr arg1) (cadadr arg2))))
+						   (eq? (return-type (car arg1) env) 'boolean?)
+						   (eq? (return-type (caadr arg2) env) 'boolean?))
+					  (let ((t2 (and-not-redundant arg1 arg2)))
+					    (cond ;((not t2) #f)
+						  ((eq? t2 'contradictory) (return #f))
+						  ((symbol? t2) (return `(,t2 ,@(cdr arg1))))
+						  ((pair? t2)	(return t2))))))
 				      
 				      (if (hash-table-ref bools (car arg1))
 					  (let ((p (member (cadr arg1) (cdr arg2))))
@@ -3271,50 +3357,61 @@
 								(car arg2)
 								(prettify-checker arg-type))))))))))
 
-				      (when (and (eq? (car arg1) 'equal?) ; (and (equal? (car a1) (car a2)) (equal? (cdr a1) (cdr a2))) -> (equal? a1 a2)
-						 (eq? (car arg2) 'equal?)
-						 (pair? (cadr arg1))
-						 (pair? (caddr arg1))
-						 (pair? (cadr arg2))
-						 (pair? (caddr arg2))
-						 (eq? (caadr arg1) (caaddr arg1)))
-					(cond ((assq (caadr arg1)
-						     '((car cdr #t) 
-						       (caar cdar car) (cadr cddr cdr)
-						       (caaar cdaar caar) (caadr cdadr cadr) (caddr cdddr cddr) (cadar cddar cdar)
-						       (cadddr cddddr cdddr) (caaaar cdaaar caaar) (caaadr cdaadr caadr) (caadar cdadar cadar)
-						       (caaddr cdaddr caddr) (cadaar cddaar cdaar) (cadadr cddadr cdadr) (caddar cdddar cddar)))
-					       => (lambda (x)
-						    (if (and (eq? (caadr arg2) (cadr x))
-							     (eq? (caaddr arg2) (cadr x))
-							     (equal? (cadadr arg1) (cadadr arg2))
-							     (equal? (cadr (caddr arg1)) (cadr (caddr arg2))))
-							(return (if (symbol? (caddr x))
-								    `(equal? (,(caddr x) ,(cadadr arg1)) (,(caddr x) ,(cadr (caddr arg1))))
-								    `(equal? ,(cadadr arg1) ,(cadr (caddr arg1))))))))))
+				      (cond ((not (and (eq? (car arg1) 'equal?) ; (and (equal? (car a1) (car a2)) (equal? (cdr a1) (cdr a2))) -> (equal? a1 a2)
+						       (eq? (car arg2) 'equal?)
+						       (pair? (cadr arg1))
+						       (pair? (caddr arg1))
+						       (pair? (cadr arg2))
+						       (pair? (caddr arg2))
+						       (eq? (caadr arg1) (caaddr arg1)))))
+
+					    ((assq (caadr arg1)
+						   '((car cdr #t) 
+						     (caar cdar car) (cadr cddr cdr)
+						     (caaar cdaar caar) (caadr cdadr cadr) (caddr cdddr cddr) (cadar cddar cdar)
+						     (cadddr cddddr cdddr) (caaaar cdaaar caaar) (caaadr cdaadr caadr) (caadar cdadar cadar)
+						     (caaddr cdaddr caddr) (cadaar cddaar cdaar) (cadadr cddadr cdadr) (caddar cdddar cddar)))
+					     => (lambda (x)
+						  (if (and (eq? (caadr arg2) (cadr x))
+							   (eq? (caaddr arg2) (cadr x))
+							   (equal? (cadadr arg1) (cadadr arg2))
+							   (equal? (cadr (caddr arg1)) (cadr (caddr arg2))))
+						      (return (if (symbol? (caddr x))
+								  `(equal? (,(caddr x) ,(cadadr arg1)) (,(caddr x) ,(cadr (caddr arg1))))
+								  `(equal? ,(cadadr arg1) ,(cadr (caddr arg1)))))))))
 				      )))
-				
+
 				;; len > 3 or nothing was caught above
 				(let ((nots 0)
-				      (revers 0))
-				  (if (every? (lambda (a)                ; (and (not (pair? x)) (not (null? x))) -> (not (list? x))
-						(and (pair? a)
-						     (if (eq? (car a) 'not)
-							 (set! nots (+ nots 1))
-							 (and (hash-table-ref notables (car a))
-							      (set! revers (+ revers 1))))))
-					      (cdr form))
-				      (if (zero? revers)
-					  (let ((nf (simplify-boolean `(or ,@(map cadr (cdr form))) () () env)))
-					    (return (simplify-boolean `(not ,nf) () () env)))
-					  (if (> nots revers)
-					      (let ((nf (simplify-boolean `(or ,@(map (lambda (p)
-											(if (eq? (car p) 'not)
-											    (cadr p)
-											    `(,(hash-table-ref notables (car p)) ,@(cdr p))))
-										      (cdr form)))
-									  () () env)))
-						(return (simplify-boolean `(not ,nf) () () env)))))))
+				      (revers 0)
+				      (arglen (- len 1)))
+				  (do ((p (cdr form) (cdr p)))
+				      ((not (pair? p)))
+				    (let ((a (car p)))
+				      (if (pair? a)
+					  (if (eq? (car a) 'not)
+					      (set! nots (+ nots 1))
+					      (if (hash-table-ref notables (car a))
+						  (set! revers (+ revers 1)))))))
+				  (if (= nots arglen)                               ; every arg is `(not ...)
+				      (let ((nf (simplify-boolean `(or ,@(map cadr (cdr form))) () () env)))
+					(return (simplify-boolean `(not ,nf) () () env)))
+				      (if (and (> arglen 2)
+					       (or (>= nots (/ (* 3 arglen) 4))      ; > 2/3 seems to get some ugly rewrites
+						   (and (>= nots (/ (* 2 arglen) 3)) ; was > 1/2 here
+							(> revers 0))))
+					  (let ((nf (simplify-boolean `(or ,@(map (lambda (p)
+										    (cond ((not (pair? p))
+											   `(not ,p))
+											  ((eq? (car p) 'not)
+											   (cadr p))
+											  ((hash-table-ref notables (car p)) => 
+											   (lambda (op)
+											     `(,op ,@(cdr p))))
+											  (else `(not ,p))))
+										  (cdr form)))
+								      () () env)))
+					    (return (simplify-boolean `(not ,nf) () () env))))))
 				
 				(if (every? (lambda (a)
 					      (and (pair? a)
@@ -3335,12 +3432,12 @@
 				  (do ((exprs (cdr form) (cdr exprs)))
 				      ((null? exprs) 
 				       (or (null? new-form)      ; (and) -> #t
-					   (let* ((nform (reverse new-form)) 
-						  (newer-form (map (lambda (x cdr-x)
-								     (if (and x (code-constant? x))
-									 (values)
-									 x))
-								   nform (cdr nform))))
+					   (let ((newer-form (let ((nform (reverse new-form)))
+							       (map (lambda (x cdr-x)
+								      (if (and x (code-constant? x))
+									  (values)
+									  x))
+								    nform (cdr nform)))))
 					     (return
 					      (cond ((null? newer-form)
 						     (car new-form))
@@ -3451,6 +3548,12 @@
 					    ((and (pair? e)       ; if (and ...) splice into current
 						  (eq? (car e) 'and))
 					     (set! exprs (append e (cdr exprs))))
+
+					    ((and (pair? e)       ; (and (list? p) (pair? p) ...) -> (and (pair? p) ...)
+						  (pair? (cdr exprs))
+						  (pair? (cadr exprs))
+						  (eq? (and-redundant? e (cadr exprs)) (caadr exprs))
+						  (equal? (cadr e) (cadadr exprs))))
 					    
 					    ((not (and (pair? e)                   ; (and ... (or ... 123) ...) -> splice out or
 						       (pair? (cdr exprs))
@@ -3475,7 +3578,6 @@
 					  (let ((rel (relsub (car new-form) (cadr new-form) 'and env)))
 					    ;; rel #f should halt everything as above, and it looks ugly in the output,
 					    ;;   but it never happens in real code
-					    ;(format *stderr* "~A -> rel: ~A~%" new-form rel)
 					    (if (or (pair? rel)
 						    (boolean? rel))
 						(set! new-form (cons rel (cddr new-form)))))))))))))))))))))))))
@@ -3489,6 +3591,64 @@
 		     (splice-if f (cdr lst))))
 	    (else (cons (car lst) 
 			(splice-if f (cdr lst))))))
+
+    (define (horners-rule form)
+      (and (pair? form)
+	   (call-with-exit 
+	    (lambda (return)
+	      (do ((p form (cdr p))
+		   (coeffs #f)
+		   (top 0)
+		   (sym #f))
+		  ((not (pair? p))
+		   (do ((x (- top 1) (- x 1))
+			(result (coeffs top)))
+		       ((< x 0)
+			result)
+		     (set! result 
+			   (if (zero? (coeffs x))
+			       `(* ,sym ,result)
+			       `(+ ,(coeffs x) (* ,sym ,result))))))
+		(let ((cx (car p)))
+		  (cond ((number? cx)
+			 (if (not coeffs) (set! coeffs (make-vector 4 0)))
+			 (set! (coeffs 0) (+ (coeffs 0) cx)))
+
+			((symbol? cx)
+			 (if (not sym)
+			     (set! sym cx)
+			     (if (not (eq? sym cx))
+				 (return #f)))
+			 (if (not coeffs) (set! coeffs (make-vector 4 0)))
+			 (set! top (max top 1))
+			 (set! (coeffs 1) (+ (coeffs 1) 1)))
+
+			((not (and (pair? cx)
+				   (eq? (car cx) '*)))
+			 (return #f))
+
+			(else
+			 (let ((ctr 0)
+			       (ax 1))
+			   (do ((q (cdr cx) (cdr q)))
+			       ((not (pair? q)))
+			     (let ((qx (car q)))
+			       (if (symbol? qx)
+				   (if (not sym)
+				       (begin
+					 (set! sym qx)
+					 (set! ctr 1))
+				       (if (not (eq? sym qx))
+					   (return #f)
+					   (set! ctr (+ ctr 1))))
+				   (if (number? qx)
+				       (set! ax (* ax qx))
+				       (return #f)))))
+			   (if (not coeffs) (set! coeffs (make-vector 4 0)))
+			   (if (>= ctr (length coeffs))
+			       (set! coeffs (copy coeffs (make-vector (* ctr 2) 0))))
+			   (set! top (max top ctr))
+			   (set! (coeffs ctr) (+ (coeffs ctr) ax)))))))))))
     
     (define (simplify-numerics form env)
       ;; this returns a form, possibly the original simplified
@@ -3639,7 +3799,6 @@
 					(rset (cdr arg2)))
 				    (do ((p (cdr arg1) (cdr p)))
 					((null? p)
-					 ;(format *stderr* "~%pluses: ~A, times: ~A, rset: ~A~%" pluses times rset)
 					 ;; times won't be () because we checked above for a match
 					 ;;  if pluses is (), arg1 is completely included in arg2
 					 ;;  if rset is (), arg2 is included in arg1
@@ -3661,7 +3820,10 @@
 				 
 				 (else `(+ , at val)))))
 			(else 
-			 `(+ , at val))))))))
+			 (or (horners-rule val)
+			 ;; not many cases here, oddly enough, Horner's rule gets most
+			 ;; (+ (/ (f x) 3) (/ (g x) 3) (/ (h x) 3) 15) [ignoring problems involving overflow]
+			     `(+ , at val)))))))))
 	    
 	    ((*)
 	     (case len
@@ -3697,19 +3859,19 @@
 			     ((memv -1 val)
 			      `(- ,@(remove -1 val)))              ; (* -1 x) -> (- x)
 
-			     ((and (pair? arg1)
-				   (pair? arg2))
+			     ((not (pair? arg2))
+			      `(* , at val))
+
+			     ((pair? arg1)
 			      (let ((op1 (car arg1))
 				    (op2 (car arg2)))
-				(cond ((and (eq? op1 '-)      ; (* (- x) (- y)) -> (* x y)
+				(cond ((and (eq? op1 '-)           ; (* (- x) (- y)) -> (* x y)
 					    (null? (cddr arg1))
 					    (eq? op2 '-)
 					    (null? (cddr arg2)))
 				       `(* ,(cadr arg1) ,(cadr arg2)))
 				      
-				      ((and (pair? arg1)             ; (* (/ x) (/ y)) -> (/ (* x y)) etc
-					    (pair? arg2)
-					    (eq? op1 '/)
+				      ((and (eq? op1 '/)           ; (* (/ x) (/ y)) -> (/ (* x y)) etc
 					    (eq? op2 '/))
 				       (let ((op1-arg1 (cadr arg1))
 					     (op2-arg1 (cadr arg2)))
@@ -3731,16 +3893,28 @@
 					      ((gcd) (eq? op2 'lcm))
 					      ((lcm) (eq? op2 'gcd))
 					      (else #f)))
-				       `(abs (* ,@(cdr arg1))))      ; (* (gcd a b) (lcm a b)) -> (abs (* a b)) but only if 2 args?
+				       `(abs (* ,@(cdr arg1))))    ; (* (gcd a b) (lcm a b)) -> (abs (* a b)) but only if 2 args?
 				      
-				      ((and (eq? op1 'exp)    ; (* (exp a) (exp b)) -> (exp (+ a b))
+				      ((and (eq? op1 'exp)         ; (* (exp a) (exp b)) -> (exp (+ a b))
 					    (eq? op2 'exp))
 				       `(exp (+ ,(cadr arg1) ,(cadr arg2))))
-				      
+
+				      ((and (eq? op1 'sqrt)        ; (* (sqrt x) (sqrt y)) -> (sqrt (* x y))
+					    (eq? op2 'sqrt))
+				       `(sqrt (* ,(cadr arg1) ,(cadr arg2))))
+
+				      ((not (and (eq? op1 'expt) (eq? op2 'expt)))
+				       `(* , at val))
+
+				      ((equal? (cadr arg1) (cadr arg2)) ; (* (expt x y) (expt x z)) -> (expt x (+ y z))
+				       `(expt ,(cadr arg1) (+ ,(caddr arg1) ,(caddr arg2))))
+
+				      ((equal? (caddr arg1) (caddr arg2)) ; (* (expt x y) (expt z y)) -> (expt (* x z) y)
+				       `(expt (* ,(cadr arg1) ,(cadr arg2)) ,(caddr arg1)))
+
 				      (else `(* , at val)))))
 			      
 			     ((and (number? arg1)                  ; (* 2 (random 3.0)) -> (random 6.0)
-				   (pair? arg2)
 				   (eq? (car arg2) 'random)
 				   (number? (cadr arg2))
 				   (not (rational? (cadr arg2))))
@@ -3880,7 +4054,7 @@
 					 (eq? (caar args) '-)))
 			       `(- ,@(cons first-arg nargs)))
 
-			      ((> (length (car args)) 2)
+			      ((> (length (car args)) 2)      ; (- (- x y) z w) -> (- x y z w)
 			       (simplify-numerics `(- ,@(cdar args) ,@(cdr args)) env))
 
 			      (else (simplify-numerics `(- (+ ,(cadar args) ,@(cdr args))) env)))))))))
@@ -3916,111 +4090,123 @@
 		(if (and (just-rationals? args)
 			 (not (zero? (cadr args))))
 		    (apply / args)                         ; including (/ 0 12) -> 0
-		    (let* ((arg1 (car args))
-			   (arg2 (cadr args))
-			   (op1 (and (pair? arg1) (car arg1)))
-			   (op2 (and (pair? arg2) (car arg2))))
-		      (cond ((eqv? arg1 1)                 ; (/ 1 x) -> (/ x)
-			     (simplify-numerics `(/ ,arg2) env))
-
-			    ((eqv? arg2 1)                 ; (/ x 1) -> x
-			     arg1)
-
-			    ((and (pair? arg1)             ; (/ (/ a b) c) -> (/ a b c)
-				  (eq? op1 '/)
-				  (pair? (cddr arg1))
-				  (not (and (pair? arg2)
-					    (eq? op2 '/))))
-			     `(/ ,(cadr arg1) ,@(cddr arg1) ,arg2))
-
-			    ((and (pair? arg1)             ; (/ (/ a) (/ b)) -> (/ b a)??
-				  (eq? op1 '/)
-				  (pair? arg2)
-				  (eq? '/ op2))
-			     (let ((a1 (if (null? (cddr arg1)) `(/ 1 ,(cadr arg1)) arg1))
-				   (a2 (if (null? (cddr arg2)) `(/ 1 ,(cadr arg2)) arg2)))
-			       (simplify-numerics `(/ (* ,(cadr a1) ,@(cddr a2)) (* ,@(cddr a1) ,(cadr a2))) env)))
-
-			    ((and (pair? arg2)
-				  (eq? op2 '*)
-				  (not (side-effect? arg1 env))
-				  (member arg1 (cdr arg2)))
-			     (let ((n (remove arg1 (cdr arg2))))
-			       (if (and (pair? n) (null? (cdr n)))
-				   `(/ , at n)               ; (/ x (* y x)) -> (/ y)
-				   `(/ 1 , at n))))          ; (/ x (* y x z)) -> (/ 1 y z)
-
-			    ((and (pair? arg2)            ; (/ c (/ a b)) -> (/ (* c b) a)
-				  (eq? op2 '/))
-			     (cond ((null? (cddr arg2))
-				    `(* ,arg1 ,(cadr arg2)))  ; ignoring divide by zero here (/ x (/ y)) -> (* x y)				 
-				   ((eqv? (cadr arg2) 1)
-				    `(* ,arg1 ,@(cddr arg2)))  ; (/ x (/ 1 y z)) -> (* x y z) -- these never actually happen
-				   ((not (pair? (cddr arg2)))
-				    `(/ , at args))               ; no idea...
-				   ((and (rational? arg1)
-					 (rational? (cadr arg2))
-					 (null? (cdddr arg2)))
-				    (let ((val (/ arg1 (cadr arg2))))
-				      (if (= val 1)
-					  (caddr arg2)
-					  (if (= val -1)
-					      `(- ,(caddr arg2))
-					      `(* ,val ,(caddr arg2))))))
-				   (else `(/ (* ,arg1 ,@(cddr arg2)) ,(cadr arg2)))))
-#|
-			    ;; can't decide about this -- result usually looks cruddy
-			    ((and (pair? arg2)             ; (/ x (* y z)) -> (/ x y z)
-				  (eq? op2 '*))
-			     `(/ ,arg1 ,@(cdr arg2)))
-|#
-			    ((and (pair? arg1)             ; (/ (log x) (log y)) -> (log x y)
-				  (pair? arg2)
-				  (= (length arg1) (length arg2) 2)
-				  (case op1
-				    ((log) (eq? op2 'log))
-				    ((sin)
-				     (and (eq? op2 'cos)
-					  (equal? (cadr arg1) (cadr arg2))))
-				    (else #f)))
-			     (if (eq? op1 'log)
-				 `(log ,(cadr arg1) ,(cadr arg2))
-				 `(tan ,(cadr arg1))))
-
-			    ((and (pair? arg1)             ; (/ (- x) (- y)) -> (/ x y)
-				  (pair? arg2)
-				  (eq? op1 '-)
-				  (eq? op2 '-)
-				  (= (length arg1) (length arg2) 2))
-			     `(/ ,(cadr arg1) ,(cadr arg2)))
-
-			    ((and (pair? arg1)             ; (/ (* x y) (* z y)) -> (/ x z)
-				  (pair? arg2)
-				  (eq? op1 '*)
-				  (case op2
-				    ((*)
-				     (and (= (length arg1) (length arg2) 3)
-					  (equal? (caddr arg1) (caddr arg2))))
-				    ((log)
-				     (cond ((assq 'log (cdr arg1)) 
-					    => (lambda (p)
-						 (= (length p) 2)))
-					   (else #f)))
-				    (else #f))           ; (/ (* 12 (log x)) (log 2)) -> (* 12 (log x 2))
-				  (if (eq? op2 '*)
-				      `(/ ,(cadr arg1) ,(cadr arg2))
-				      (let ((used-log (cadr arg2)))
-				      `(* ,@(map (lambda (p)
-						   (if (and used-log
-							    (pair? p)
-							    (eq? (car p) 'log))
-						       (let ((val `(log ,(cadr p) ,used-log)))
-							 (set! used-log #f)
-							 val)
-						       p))
-						 (cdr arg1)))))))
-
-			    (else `(/ , at args))))))
+		    (let ((arg1 (car args))
+			  (arg2 (cadr args)))
+		      (let ((op1 (and (pair? arg1) (car arg1)))
+			    (op2 (and (pair? arg2) (car arg2))))
+			(let ((op1-arg1 (and op1 (pair? (cdr arg1)) (cadr arg1)))
+			      (op2-arg1 (and op2 (pair? (cdr arg2)) (cadr arg2))))
+			  (cond ((eqv? arg1 1)                 ; (/ 1 x) -> (/ x)
+				 (simplify-numerics `(/ ,arg2) env))
+				
+				((eqv? arg2 1)                 ; (/ x 1) -> x
+				 arg1)
+				
+				((and (pair? arg1)             ; (/ (/ a b) c) -> (/ a b c)
+				      (eq? op1 '/)
+				      (pair? (cddr arg1))
+				      (not (and (pair? arg2)
+						(eq? op2 '/))))
+				 `(/ ,op1-arg1 ,@(cddr arg1) ,arg2))
+				
+				((and (pair? arg1)             ; (/ (/ a) (/ b)) -> (/ b a)??
+				      (eq? op1 '/)
+				      (pair? arg2)
+				      (eq? '/ op2))
+				 (let ((a1 (if (null? (cddr arg1)) `(/ 1 ,op1-arg1) arg1))
+				       (a2 (if (null? (cddr arg2)) `(/ 1 ,op2-arg1) arg2)))
+				   (simplify-numerics `(/ (* ,(cadr a1) ,@(cddr a2)) (* ,@(cddr a1) ,(cadr a2))) env)))
+				
+				((and (pair? arg2)
+				      (eq? op2 '*)
+				      (not (side-effect? arg1 env))
+				      (member arg1 (cdr arg2)))
+				 (let ((n (remove arg1 (cdr arg2))))
+				   (if (and (pair? n) (null? (cdr n)))
+				       `(/ , at n)               ; (/ x (* y x)) -> (/ y)
+				       `(/ 1 , at n))))          ; (/ x (* y x z)) -> (/ 1 y z)
+				
+				((and (pair? arg2)            ; (/ c (/ a b)) -> (/ (* c b) a)
+				      (eq? op2 '/))
+				 (cond ((null? (cddr arg2))
+					`(* ,arg1 ,op2-arg1))  ; ignoring divide by zero here (/ x (/ y)) -> (* x y)				 
+				       ((eqv? op2-arg1 1)
+					`(* ,arg1 ,@(cddr arg2)))  ; (/ x (/ 1 y z)) -> (* x y z) -- these never actually happen
+				       ((not (pair? (cddr arg2)))
+					`(/ , at args))               ; no idea...
+				       ((and (rational? arg1)
+					     (rational? op2-arg1)
+					     (null? (cdddr arg2)))
+					(let ((val (/ arg1 op2-arg1)))
+					  (if (= val 1)
+					      (caddr arg2)
+					      (if (= val -1)
+						  `(- ,(caddr arg2))
+						  `(* ,val ,(caddr arg2))))))
+				       (else `(/ (* ,arg1 ,@(cddr arg2)) ,op2-arg1))))
+#|				
+				;; can't decide about this -- result usually looks cruddy
+				((and (pair? arg2)             ; (/ x (* y z)) -> (/ x y z)
+				      (eq? op2 '*))
+				 `(/ ,arg1 ,@(cdr arg2)))
+|#				
+				((and (pair? arg1)             ; (/ (log x) (log y)) -> (log x y) -- (log number) for (log y) never happens
+				      (pair? arg2)
+				      (= (length arg1) (length arg2) 2)
+				      (case op1
+					((log) (eq? op2 'log))
+					((sin)
+					 (and (eq? op2 'cos)
+					      (equal? op1-arg1 op2-arg1)))
+					(else #f)))
+				 (if (eq? op1 'log)
+				     `(log ,op1-arg1 ,op2-arg1)
+				     `(tan ,op1-arg1)))
+				
+				((and (pair? arg1)             ; (/ (- x) (- y)) -> (/ x y)
+				      (pair? arg2)
+				      (eq? op1 '-)
+				      (eq? op2 '-)
+				      (= (length arg1) (length arg2) 2))
+				 `(/ ,op1-arg1 ,op2-arg1))
+				
+				((and (pair? arg1)             ; (/ (* x y) (* z y)) -> (/ x z)
+				      (pair? arg2)
+				      (eq? op1 '*)
+				      (case op2
+					((*)
+					 (and (= (length arg1) (length arg2) 3)
+					      (equal? (caddr arg1) (caddr arg2))))
+					((log)
+					 (cond ((assq 'log (cdr arg1)) 
+						=> (lambda (p)
+						     (= (length p) 2)))
+					       (else #f)))
+					(else #f))           ; (/ (* 12 (log x)) (log 2)) -> (* 12 (log x 2))
+				      (if (eq? op2 '*)
+					  `(/ ,op1-arg1 ,op2-arg1)
+					  (let ((used-log op2-arg1))
+					    `(* ,@(map (lambda (p)
+							 (if (and used-log
+								  (pair? p)
+								  (eq? (car p) 'log))
+							     (let ((val `(log ,(cadr p) ,used-log)))
+							       (set! used-log #f)
+							       val)
+							     p))
+						       (cdr arg1)))))))
+
+				((and (pair? arg1)            ; (/ (sqrt x) x) -> (/ (sqrt x))
+				      (eq? (car arg1) 'sqrt)
+				      (equal? (cadr arg1) arg2))
+				 `(/ ,arg1))
+				
+				((and (pair? arg2)            ; (/ x (sqrt x)) -> (sqrt x)
+				      (eq? (car arg2) 'sqrt)
+				      (equal? (cadr arg2) arg1))
+				 arg2)
+				
+				(else `(/ , at args))))))))
 
 	       (else 
 		(if (and (just-rationals? args)
@@ -4040,6 +4226,10 @@
 			      `(/ ,@(cons (car args) nargs)))))))))
 	    
 	    ((sin cos tan asin acos sinh cosh tanh asinh acosh atanh exp)
+	     ;; perhaps someday, for amusement:
+	     ;;    (sin (acos x)) == (cos (asin x)) == (sqrt (- 1 (expt x 2)))
+	     ;;    (asin (cos x)) == (acos (sin x)) == (- (* 1/2 pi) x)
+
 	     (cond ((not (= len 1))
 		    `(,(car form) , at args))
 		   ((and (pair? (car args))                 ; (sin (asin x)) -> x
@@ -4091,26 +4281,35 @@
 	    
 	    ((log)
 	     (cond ((not (pair? args)) form)
-		   ((eqv? (car args) 1) 0)    ; (log 1 ...) -> 0
-		   ((and (= len 1)            ; (log (exp x)) -> x
+		   ((eqv? (car args) 1) 0)      ; (log 1 ...) -> 0
+		   ((and (= len 1)              ; (log (exp x)) -> x
 			 (pair? (car args))
 			 (= (length (car args)) 2)
 			 (eq? (caar args) 'exp))
 		    (cadar args))
-		   ((not (and (= len 2)            ; (log x x) -> 1.0
+		   ((and (pair? (car args))     ; (log (sqrt x)) -> (* 1/2 (log x))
+			 (eq? (caar args) 'sqrt))
+		    `(* 1/2 (log ,(cadar args) ,@(cdr args))))
+		   ((and (pair? (car args))     ; (log (expt x y)) -> (* y (log x))
+			 (eq? (caar args) 'expt))
+		    `(* ,(caddar args) (log ,(cadar args) ,@(cdr args))))
+		   ((not (and (= len 2)         ; (log x x) -> 1.0
 			      (equal? (car args) (cadr args))))
 		    `(log , at args))
 		   ((integer? (car args)) 1)
 		   (else 1.0)))
 	    
 	    ((sqrt)
-	     (if (not (pair? args))
-		 form
-		 (if (and (rational? (car args))
-			  (rational? (sqrt (car args)))
-			  (= (car args) (* (sqrt (car args)) (sqrt (car args)))))
-		     (sqrt (car args)) ; don't collapse (sqrt (* a a)), a=-1 for example, or -1-i -> 1+i whereas 1-i -> 1-i etc
-		     `(sqrt , at args))))
+	     (cond ((not (pair? args))
+		    form)
+		   ((and (rational? (car args))
+			 (rational? (sqrt (car args)))
+			 (= (car args) (sqrt (* (car args) (car args)))))
+		    (sqrt (car args))) ; don't collapse (sqrt (* a a)), a=-1 for example, or -1-i -> 1+i whereas 1-i -> 1-i etc
+		   ((and (pair? (car args))
+			 (eq? (caar args) 'exp))
+		    `(exp (/ ,(cadar args) 2))) ; (sqrt (exp x)) -> (exp (/ x 2))
+		   (else `(sqrt , at args))))
 	    
 	    ((floor round ceiling truncate)
 	     (cond ((not (= len 1))
@@ -4150,22 +4349,28 @@
 	    ((abs magnitude)
 	     (cond ((not (= len 1))
 		    form)
+
 		   ((and (pair? (car args))        ; (abs (abs x)) -> (abs x)
 			 (hash-table-ref non-negative-ops (caar args)))
 		    (car args))
+
 		   ((rational? (car args))
 		    (abs (car args)))
-		   ((and (pair? (car args))        ; (abs (modulo x 2)) -> (modulo x 2)
-			 (memq (caar args) '(modulo random))
-			 (= (length (car args)) 3)
+
+		   ((not (pair? (car args)))
+		    `(,(car form) , at args))
+
+		   ((and (memq (caar args) '(modulo random))
+			 (= (length (car args)) 3) ; (abs (modulo x 2)) -> (modulo x 2)
 			 (real? (caddar args))
 			 (positive? (caddar args)))
 		    (car args))
-		   ((and (pair? (car args))        ; (abs (- x)) -> (abs x)
-			 (eq? (caar args) '-)
+
+		   ((and (eq? (caar args) '-)      ; (abs (- x)) -> (abs x)
 			 (pair? (cdar args))
 			 (null? (cddar args)))
 		    `(,(car form) ,(cadar args)))
+
 		   (else `(,(car form) , at args))))
 	
 	    ((imag-part)
@@ -4266,6 +4471,9 @@
 		    form)
 		   ((and (eqv? (car args) 0)            ; (expt 0 x) -> 0
 			 (not (eqv? (cadr args) 0)))
+		    (if (and (integer? (cadr args))
+			     (negative? (cadr args)))
+			(lint-format "attempt to divide by 0: ~A" 'expt (truncated-list->string form)))
 		    0)
 		   ((or (and (eqv? (cadr args) 0)       ; (expt x 0) -> 1
 			     (not (eqv? (car args) 0)))
@@ -4284,7 +4492,10 @@
 			      val
 			      `(expt , at args))))
 		      (lambda args
-			`(expt , at args))))
+			`(expt , at args))))               ; (expt (expt x y) z) -> (expt x (* y z))
+		   ((and (pair? (car args))
+			 (eq? (caar args) 'expt))
+		    `(expt ,(cadar args) (* ,(caddar args) ,(cadr args))))
 		   (else `(expt , at args))))
 
 	    
@@ -4329,10 +4540,10 @@
 		   ((memv (car args) '(0 0.0))
 		    0.0)
 
-		   ((or (not (pair? (car args)))
-			(eq? (caar args) 'random)
-			(not (hash-table-ref numeric-ops (caar args)))
-			(not (any? number? (cdar args))))
+		   ((not (and (pair? (car args))
+			      (not (eq? (caar args) 'random))
+			      (hash-table-ref numeric-ops (caar args))
+			      (any? number? (cdar args))))
 		    `(,(car form) , at args))
 
 		    ((any? (lambda (x)
@@ -4486,6 +4697,39 @@
 	     `(,(car form) , at args))))))
     
     
+    (define (binding-ok? caller head binding env second-pass)
+      ;; check let-style variable binding for various syntactic problems
+      (cond (second-pass
+	     (and (pair? binding)
+		  (symbol? (car binding))
+		  (not (constant? (car binding)))
+		  (pair? (cdr binding))
+		  (or (null? (cddr binding))
+		      (and (eq? head 'do)
+			   (pair? (cddr binding)) ; (do ((i 0 . 1))...)
+			   (null? (cdddr binding))))))
+	  
+	    ((not (pair? binding)) 	   (lint-format "~A binding is not a list? ~S" caller head binding) #f)
+	    ((not (symbol? (car binding))) (lint-format "~A variable is not a symbol? ~S" caller head binding) #f)
+	    ((keyword? (car binding))	   (lint-format "~A variable is a keyword? ~S" caller head binding) #f)
+	    ((constant? (car binding))	   (lint-format "can't bind a constant: ~S" caller binding) #f)
+	    ((not (pair? (cdr binding)))
+	     (lint-format (if (null? (cdr binding))
+			      "~A variable value is missing? ~S" 
+			      "~A binding is an improper list? ~S")
+			  caller head binding)
+	     #f)
+	    ((and (pair? (cddr binding))
+		  (or (not (eq? head 'do))
+		      (pair? (cdddr binding))))
+	     (lint-format "~A binding is messed up: ~A" caller head binding)
+	     #f)
+	    (else 
+	     (if (and *report-shadowed-variables*
+		      (var-member (car binding) env))
+		 (lint-format "~A variable ~A in ~S shadows an earlier declaration" caller head (car binding) binding))
+	     #t)))
+
     (define (check-char-cmp caller op form)
       (if (and (any? (lambda (x) 
 		       (and (pair? x) 
@@ -4531,14 +4775,15 @@
 		  (string arg))
 
 		 ((and (pair? arg)
-		       (eq? (car arg) 'number->string)
-		       (= (length arg) 3))
-		  (case (caddr arg)
-		    ((2) (values "~B" arg-arg))
-		    ((8) (values "~O" arg-arg))
-		    ((10) (values "~D" arg-arg))
-		    ((16) (values "~X" arg-arg))
-		    (else (values "~A" arg))))
+		       (eq? (car arg) 'number->string))
+		  (if (= (length arg) 3)
+		      (case (caddr arg)
+			((2) (values "~B" arg-arg))
+			((8) (values "~O" arg-arg))
+			((10) (values "~D" arg-arg))
+			((16) (values "~X" arg-arg))
+			(else (values "~A" arg)))
+		      (values "~A" arg-arg)))
 
 		 ((not (and (pair? arg)
 			    (eq? (car arg) 'string-append)))
@@ -4650,29 +4895,43 @@
 		 (= (length arg1) 3))
 	    (if (eq? (car arg1) '-)
 		(if (memv arg2 '(0 0.0))               ; (< (- x y) 0) -> (< x y), need both 0 and 0.0 because (eqv? 0 0.0) is #f
-		    (lint-format "perhaps ~A" caller (lists->string form `(,head ,(cadr arg1) ,(caddr arg1))))
+		    (lint-format "perhaps ~A" caller 
+				 (lists->string form 
+						`(,head ,(cadr arg1) ,(caddr arg1))))
 		    (if (and (integer? arg2)           ; (> (- x 50868) 256) -> (> x 51124)
 			     (integer? (caddr arg1)))
-			(lint-format "perhaps ~A" caller (lists->string form `(,head ,(cadr arg1) ,(+ (caddr arg1) arg2))))))
+			(lint-format "perhaps ~A" caller 
+				     (lists->string form 
+						    `(,head ,(cadr arg1) ,(+ (caddr arg1) arg2))))))
+		;; (> (- x) (- y)) (> (- x 1) (- y 1)) and so on -- do these ever happen? (no, not even if we allow +-*/)
+			
 		(if (and (eq? (car arg1) '+)           ; (< (+ x 1) 3) -> (< x 2)
 			 (integer? arg2)  
 			 (integer? (caddr arg1)))
-		    (lint-format "perhaps ~A" caller (lists->string form `(,head ,(cadr arg1) ,(- arg2 (caddr arg1)))))))
+		    (lint-format "perhaps ~A" caller 
+				 (lists->string form 
+						`(,head ,(cadr arg1) ,(- arg2 (caddr arg1)))))))
 	    (if (and (pair? arg2)
 		     (= (length arg2) 3))
 		(if (eq? (car arg2) '-)
 		    (if (memv arg1 '(0 0.0))           ; (< 0 (- x y)) -> (> x y)
-			(lint-format "perhaps ~A" caller (lists->string form `(,(hash-table-ref reversibles head) 
-									       ,(cadr arg2) ,(caddr arg2))))
+			(lint-format "perhaps ~A" caller 
+				     (lists->string form 
+						    `(,(hash-table-ref reversibles head) 
+						      ,(cadr arg2) ,(caddr arg2))))
 			(if (and (integer? arg1)
 				 (integer? (caddr arg2)))
-			    (lint-format "perhaps ~A" caller (lists->string form `(,(hash-table-ref reversibles head) 
-										   ,(cadr arg2) ,(+ arg1 (caddr arg2)))))))
+			    (lint-format "perhaps ~A" caller 
+					 (lists->string form 
+							`(,(hash-table-ref reversibles head) 
+							  ,(cadr arg2) ,(+ arg1 (caddr arg2)))))))
 		    (if (and (eq? (car arg2) '+)
 			     (integer? arg1)
 			     (integer? (caddr arg2)))
-			(lint-format "perhaps ~A" caller (lists->string form `(,(hash-table-ref reversibles head) 
-									       ,(cadr arg2) ,(- arg1 (caddr arg2)))))))))))
+			(lint-format "perhaps ~A" caller 
+				     (lists->string form 
+						    `(,(hash-table-ref reversibles head) 
+						      ,(cadr arg2) ,(- arg1 (caddr arg2)))))))))))
 			
     
     (define (check-start-and-end caller head form ff env)
@@ -4764,6 +5023,36 @@
 	  cdr list)
        x))
 
+    (define (un_{list} tree)
+      (if (not (pair? tree))
+	  tree
+	  (if (eq? (car tree) #_{list})
+	      (if (assq #_{apply_values} (cdr tree))
+		  (if (and (pair? (cadr tree))
+			   (eq? (caadr tree) #_{apply_values}))
+		      `(append ,(cadadr tree) ,(cadr (caddr tree)))
+		      `(cons ,(cadr tree) ,(cadr (caddr tree))))
+		  (cons 'list (un_{list} (cdr tree))))
+	      (cons (if (eq? (car tree) #_{append}) 
+			'append
+			(un_{list} (car tree)))
+		    (un_{list} (cdr tree))))))
+
+    (define (qq-tree? tree)
+      (and (pair? tree)
+	   (or (eq? (car tree) #_{apply_values})
+	       (if (and (eq? (car tree) #_{list})
+			(assq #_{apply_values} (cdr tree)))
+		   (or (not (= (length tree) 3))
+		       (not (and (pair? (caddr tree))
+				 (eq? (caaddr tree) #_{apply_values})))
+		       (qq-tree? (cadr (caddr tree)))
+		       (if (and (pair? (cadr tree))
+				(eq? (caadr tree) #_{apply_values}))
+			   (qq-tree? (cadadr tree))
+			   (qq-tree? (cadr tree))))
+		   (or (qq-tree? (car tree))
+		       (qq-tree? (cdr tree)))))))
 
     (define special-case-functions
       (let ((h (make-hash-table)))
@@ -4771,7 +5060,6 @@
 	;; ---------------- member and assoc ----------------
 	(let ()
 	  (define (sp-memx caller head form env)
-
 	    (define (list-one? p)
 	      (and (pair? p)
 		   (pair? (cdr p))
@@ -5065,33 +5353,63 @@
 		 (combine-cxrs form)))
 	    
 	    (when (pair? (cadr form))
-	      (when (eq? head 'car)                             
-		(if (eq? (caadr form) 'list-tail)          ; (car (list-tail x y)) -> (list-ref x y)
-		    (lint-format "perhaps ~A" caller (lists->string form `(list-ref ,(cadadr form) ,(caddr (cadr form)))))
-		    (if (and (memq (caadr form) '(memq memv member assq assv assoc))
-			     (pair? (cdadr form)))         ; (car (memq...))
-			(lint-format "~A is ~A, or an error" caller (truncated-list->string form) (cadadr form)))))
-	      
-	      (if (and (memq head '(car cdr))
-		       (eq? (caadr form) 'cons))
-		  (lint-format "(~A~A) is the same as ~A"
-			       caller head
-			       (truncated-list->string (cadr form))
-			       (if (eq? head 'car)
-				   (truncated-list->string (cadadr form))
-				   (truncated-list->string (caddr (cadr form))))))
-	      
-	      (when (memq head '(car cadr caddr cadddr))
-		(if (memq (caadr form) '(string->list vector->list))    ; (car (string->list x)) -> (string-ref x 0)
-		    (lint-format "perhaps ~A" caller (lists->string form `(,(if (eq? (caadr form) 'string->list) 'string-ref 'vector-ref)
-									   ,(cadadr form) 
-									   ,(case head ((car) 0) ((cadr) 1) ((caddr) 2) (else 3)))))
-		    (if (and (memq (caadr form) '(reverse reverse!))
-			     (symbol? (cadadr form)))
-			(lint-format "perhaps ~A" caller                  ; (car (reverse x)) -> (list-ref x (- (length x) 1))
-				     (lists->string form `(list-ref ,(cadadr form) 
-								    (- (length ,(cadadr form)) 
-								       ,(case head ((car) 1) ((cadr) 2) ((caddr) 3) (else 4)))))))))))
+	      (let ((arg (cadr form)))
+		(when (eq? head 'car)                             
+		  (case (car arg) 
+		    ((list-tail)                   ; (car (list-tail x y)) -> (list-ref x y)
+		     (lint-format "perhaps ~A" caller (lists->string form `(list-ref ,(cadr arg) ,(caddr arg)))))
+		    ((memq memv member assq assv assoc)
+		     (if (pair? (cdr arg))         ; (car (memq x ...)) is either x or (car #f) -> error
+			 (lint-format "~A is ~A, or an error" caller (truncated-list->string form) (cadr arg))))))
+		
+		(when (and (eq? (car arg) 'or) ; (cdr (or (assoc x y) (cons 1 2))) -> (cond ((assoc x y) => cdr) (else 2))
+			   (not (eq? form last-rewritten-internal-define))
+			   (= (length arg) 3))
+		  (let ((arg1 (cadr arg))
+			(arg2 (caddr arg)))
+		    (if (and (pair? arg2)
+			     (or (and (memq (car arg2) '(cons list #_{list}))
+				      (eq? head 'cdr))
+				 (memq (car arg2) '(error throw))
+				 (and (eq? (car arg2) 'quote)
+				      (pair? (cdr arg2))
+				      (pair? (cadr arg2)))))
+			(lint-format "perhaps ~A" caller
+				     (lists->string form
+						    `(cond (,arg1 => ,head)
+							   (else ,(case (car arg2)
+								    ((quote) ((symbol->value head) (cadr arg2)))
+								    ((cons) (caddr arg2))
+								    ((error throw) arg2)
+								    (else `(list ,@(cddr arg2)))))))))))
+		(if (and (memq head '(car cdr))
+			 (eq? (car arg) 'cons))
+		    (lint-format "(~A~A) is the same as ~A"
+				 caller head
+				 (truncated-list->string arg)
+				 (if (eq? head 'car)
+				     (truncated-list->string (cadr arg))
+				     (truncated-list->string (caddr arg)))))
+		
+		(when (memq head '(car cadr caddr cadddr))
+		  (if (memq (car arg) '(string->list vector->list))    ; (car (string->list x)) -> (string-ref x 0)
+		      (lint-format "perhaps ~A" caller (lists->string form 
+								      `(,(if (eq? (car arg) 'string->list) 'string-ref 'vector-ref)
+									,(cadr arg) 
+									,(case head ((car) 0) ((cadr) 1) ((caddr) 2) (else 3)))))
+		      (if (memq (car arg) '(reverse reverse!))
+			  (lint-format "perhaps ~A~A" caller           ; (car (reverse x)) -> (list-ref x (- (length x) 1))
+				       (if (eq? head 'car)
+					   "use 'last from srfi-1, or "
+					   "")
+				       (lists->string form
+						      (if (symbol? (cadr arg))
+							  `(list-ref ,(cadr arg) 
+								     (- (length ,(cadr arg)) 
+									,(case head ((car) 1) ((cadr) 2) ((caddr) 3) (else 4))))
+							  `(let ((_1_ ,(cadr arg)))  ; let is almost certainly cheaper than reverse
+							     (list-ref _1_ (- (length _1_)
+									      ,(case head ((car) 1) ((cadr) 2) ((caddr) 3) (else 4))))))))))))))
 	  (for-each (lambda (f)
 		      (hash-table-set! h f sp-crx))
 		    combinable-cxrs))
@@ -5123,22 +5441,30 @@
 								   ,(caddr form)))))))))))
 	  (hash-table-set! h 'set-car! sp-set-car!))
 
-	;; ---------------- not and or ----------------
+	;; ---------------- not ----------------
 	(let ()
-	 (define (sp-not caller head form env)
-	   (if (and (pair? (cdr form))
-		    (pair? (cadr form))
-		    (eq? (caadr form) 'not))
-	       (lint-format "if you want a boolean, (not (not ~A)) -> (and ~A #t)" 'paranoia 
-			    (truncated-list->string (cadadr form))
-			    (truncated-list->string (cadadr form))))
-	   (if (not (= line-number last-simplify-boolean-line-number))
-	       (let ((val (simplify-boolean form () () env)))
-		 (set! last-simplify-boolean-line-number line-number)
-		 (if (not (equal? form val))
-		     (lint-format "perhaps ~A" caller (lists->string form val))))))
-	 (hash-table-set! h 'not sp-not))
+	  (define (sp-not caller head form env)
+	    (if (and (pair? (cdr form))
+		     (pair? (cadr form)))
+		(if (eq? (caadr form) 'not)
+		    (let ((str (truncated-list->string (cadadr form))))
+		      (lint-format "if you want a boolean, (not (not ~A)) -> (and ~A #t)" 'paranoia str str))
+		    (let ((sig (arg-signature (caadr form) env)))
+		      (if (and (pair? sig)
+			       (if (pair? (car sig))
+				   (not (memq 'boolean? (car sig)))
+				   (not (memq (car sig) '(#t values boolean?)))))
+			  (lint-format "~A can't be true (~A never returns #f)" caller (truncated-list->string form) (caadr form))))))
+					 
+	    (if (not (= line-number last-simplify-boolean-line-number))
+		(let ((val (simplify-boolean form () () env)))
+		  (set! last-simplify-boolean-line-number line-number)
+		  (if (not (equal? form val))
+		      (lint-format "perhaps ~A" caller (lists->string form val))))))
+	  
+	  (hash-table-set! h 'not sp-not))
 	
+	;; ---------------- and/or ----------------
 	(let ()
 	  (define (sp-and caller head form env)
 	    (if (not (= line-number last-simplify-boolean-line-number))
@@ -5161,7 +5487,12 @@
 	 (define (sp-= caller head form env)
 	   (let ((len (length form)))
 	     (if (and (> len 2)
-		      (any-real? (cdr form)))
+		      (let any-real? ((lst (cdr form))) ; ignore 0.0 and 1.0 in this since they normally work
+			(and (pair? lst)
+			     (or (and (number? (car lst))
+				      (not (rational? (car lst)))
+				      (not (member (car lst) '(0.0 1.0) =)))
+				 (any-real? (cdr lst))))))
 		 (lint-format "= can be troublesome with floats: ~A" caller (truncated-list->string form)))
 	     
 	     (let ((cleared-form (cons = (remove-if (lambda (x) (not (number? x))) (cdr form)))))
@@ -5172,6 +5503,7 @@
 	     (when (= len 3)
 	       (let ((arg1 (cadr form))
 		     (arg2 (caddr form)))
+		 ;; (= (+ x 1) (+ y 1)) and various equivalents happens very rarely
 		 (let ((var (or (and (memv arg1 '(0 1))
 				     (pair? arg2)
 				     (eq? (car arg2) 'length)
@@ -5181,6 +5513,7 @@
 				     (eq? (car arg1) 'length)
 				     (cadr arg1)))))
 		   ;; we never seem to have var-member/initial-value/history here to distinguish types
+		   ;;   and a serious attempt to do so was a bust.
 		   (if var
 		       (if (or (eqv? arg1 0) 
 			       (eqv? arg2 0))
@@ -5226,79 +5559,112 @@
 				(set! last-arg (car lst))
 				(set! new-args (cons last-arg new-args)))))))))
 	    
-	    (when (= (length form) 3)
-	      (cond ((and (real? (cadr form))
-			  (or (< (cadr form) 0)
-			      (and (zero? (cadr form))
-				   (eq? head '>)))
-			  (pair? (caddr form))
-			  (hash-table-ref non-negative-ops (caaddr form)))
-		     (lint-format "~A can't be negative: ~A" caller (caaddr form) (truncated-list->string form)))
-		    
-		    ((and (real? (caddr form))
-			  (or (< (caddr form) 0)
-			      (and (zero? (caddr form))
-				   (eq? head '<)))
-			  (pair? (cadr form))
-			  (hash-table-ref non-negative-ops (caadr form)))
-		     (lint-format "~A can't be negative: ~A" caller (caadr form) (truncated-list->string form)))
-		    
-		    ((and (pair? (cadr form))
-			  (eq? (caadr form) 'length))
-		     (let ((arg (cadadr form)))
-		       (when (symbol? arg)
-			 (if (eqv? (caddr form) 0)
-			     (lint-format "perhaps~A ~A" caller
-					  (if (eq? head '<) "" (format #f " (assuming ~A is a proper list)," arg))
-					  (lists->string form
-							 (case head
-							   ((<)  `(and (pair? ,arg) (not (proper-list? ,arg))))
-							   ((<=) `(null? ,arg))
-							   ((>)  `(pair? ,arg))
-							   ((>=) `(list? ,arg)))))
-			     (if (and (eqv? (caddr form) 1)
-				      (not (eq? head '>)))
-				 (lint-format "perhaps (assuming ~A is a proper list), ~A" caller arg
-					      (lists->string form
-							     (case head
-							       ((<)  `(null? ,arg))
-							       ((<=) `(or (null? ,arg) (null? (cdr ,arg))))
-							       ((>)  `(and (pair? ,arg) (pair? (cdr ,arg))))
-							       ((>=) `(pair? ,arg))))))))))
-		    ((and (pair? (caddr form))
-			  (eq? (caaddr form) 'length))
-		     (let ((arg (cadr (caddr form))))
-		       (when (symbol? arg)
-			 (if (eqv? (cadr form) 0)
-			     (lint-format "perhaps~A ~A" caller
-					  (if (eq? head '>) "" (format #f " (assuming ~A is a proper list)," arg))
-					  (lists->string form
-							 (case head
-							   ((<)  `(pair? ,arg))
-							   ((<=) `(list? ,arg))
-							   ((>)  `(and (pair? ,arg) (not (proper-list? ,arg))))
-							   ((>=) `(null? ,arg)))))
-			     (if (and (eqv? (cadr form) 1)
-				      (not (eq? head '<)))
-				 (lint-format "perhaps (assuming ~A is a proper list), ~A" caller arg
-					      (lists->string form
-							     (case head
-							       ((<)  `(and (pair? ,arg) (pair? (cdr ,arg))))
-							       ((<=) `(pair? ,arg))
-							       ((>)  `(null? ,arg))
-							       ((>=) `(or (null? ,arg) (null? (cdr ,arg))))))))))))
-
-		    ((or (and (eqv? (cadr form) 0)    ; (> (numerator x) 0) -> (> x 0)
-			      (pair? (caddr form))
-			      (eq? (caaddr form) 'numerator))
-			 (and (eqv? (caddr form) 0)
-			      (pair? (cadr form))
-			      (eq? (caadr form) 'numerator)))
-		     (lint-format "perhaps ~A" caller
-				  (lists->string form
-						 (if (eqv? (cadr form) 0)
-						     `(,head ,(cadr form) ,(cadr (caddr form)))
-						     `(,head ,(cadadr form) ,(caddr form))))))))
+	    (cond ((not (= (length form) 3)))
+
+		  ((and (real? (cadr form))
+			(or (< (cadr form) 0)
+			    (and (zero? (cadr form))
+				 (eq? head '>)))
+			(pair? (caddr form))
+			(hash-table-ref non-negative-ops (caaddr form)))
+		   (lint-format "~A can't be negative: ~A" caller (caaddr form) (truncated-list->string form)))
+		  
+		  ((and (real? (caddr form))
+			(or (< (caddr form) 0)
+			    (and (zero? (caddr form))
+				 (eq? head '<)))
+			(pair? (cadr form))
+			(hash-table-ref non-negative-ops (caadr form)))
+		   (lint-format "~A can't be negative: ~A" caller (caadr form) (truncated-list->string form)))
+		  
+		  ((and (pair? (cadr form))
+			(eq? (caadr form) 'length))
+		   (let ((arg (cadadr form)))
+		     (when (symbol? arg)
+		       ;; see comment above about distinguishing types!  (twice I've wasted my time)
+		       (if (eqv? (caddr form) 0)
+			   (lint-format "perhaps~A ~A" caller
+					(if (eq? head '<) "" (format #f " (assuming ~A is a proper list)," arg))
+					(lists->string form
+						       (case head
+							 ((<)  `(and (pair? ,arg) (not (proper-list? ,arg))))
+							 ((<=) `(null? ,arg))
+							 ((>)  `(pair? ,arg))
+							 ((>=) `(list? ,arg)))))
+			   (if (and (eqv? (caddr form) 1)
+				    (not (eq? head '>)))
+			       (lint-format "perhaps (assuming ~A is a proper list), ~A" caller arg
+					    (lists->string form
+							   (case head
+							     ((<)  `(null? ,arg))
+							     ((<=) `(or (null? ,arg) (null? (cdr ,arg))))
+							     ((>)  `(and (pair? ,arg) (pair? (cdr ,arg))))
+							     ((>=) `(pair? ,arg))))))))))
+		  ((and (pair? (caddr form))
+			(eq? (caaddr form) 'length))
+		   (let ((arg (cadr (caddr form))))
+		     (when (symbol? arg)
+		       (if (eqv? (cadr form) 0)
+			   (lint-format "perhaps~A ~A" caller
+					(if (eq? head '>) "" (format #f " (assuming ~A is a proper list)," arg))
+					(lists->string form
+						       (case head
+							 ((<)  `(pair? ,arg))
+							 ((<=) `(list? ,arg))
+							 ((>)  `(and (pair? ,arg) (not (proper-list? ,arg))))
+							 ((>=) `(null? ,arg)))))
+			   (if (and (eqv? (cadr form) 1)
+				    (not (eq? head '<)))
+			       (lint-format "perhaps (assuming ~A is a proper list), ~A" caller arg
+					    (lists->string form
+							   (case head
+							     ((<)  `(and (pair? ,arg) (pair? (cdr ,arg))))
+							     ((<=) `(pair? ,arg))
+							     ((>)  `(null? ,arg))
+							     ((>=) `(or (null? ,arg) (null? (cdr ,arg))))))))))))
+		  ((and (eq? head '<)
+			(eqv? (caddr form) 1)
+			(pair? (cadr form))
+			(memq (caadr form) '(string-length vector-length)))
+		   (lint-format "perhaps ~A" caller (lists->string form `(,(if (eq? (caadr form) 'string-length) 'string=? 'equal?)
+									  ,(cadadr form)
+									  ,(if (eq? (caadr form) 'string-length) "" #())))))
+		  ((and (eq? head '>)
+			(eqv? (cadr form) 1)
+			(pair? (caddr form))
+			(memq (caaddr form) '(string-length vector-length)))
+		   (lint-format "perhaps ~A" caller (lists->string form `(,(if (eq? (caaddr form) 'string-length) 'string=? 'equal?)
+									  ,(cadr (caddr form))
+									  ,(if (eq? (caaddr form) 'string-length) "" #())))))
+		  ((and (memq head '(<= >=))
+			(or (and (eqv? (caddr form) 0)
+				 (pair? (cadr form))
+				 (hash-table-ref non-negative-ops (caadr form)))
+			    (and (eqv? (cadr form) 0)
+				 (pair? (caddr form))
+				 (hash-table-ref non-negative-ops (caaddr form)))))
+		   (lint-format "~A is never negative, so ~A" caller
+				((if (eqv? (caddr form) 0) caadr caaddr) form)
+				(lists->string form (or (not (eq? (eq? head '<=) 
+								  (eqv? (caddr form) 0)))
+							`(= ,@(cdr form))))))
+		  ((and (eqv? (caddr form) 256)
+			(pair? (cadr form))
+			(eq? (caadr form) 'char->integer))
+		   (lint-format "perhaps ~A" caller
+				(lists->string form (and (memq head '(< <=)) #t))))
+		  
+		  ((or (and (eqv? (cadr form) 0)    ; (> (numerator x) 0) -> (> x 0)
+			    (pair? (caddr form))
+			    (eq? (caaddr form) 'numerator))
+		       (and (eqv? (caddr form) 0)
+			    (pair? (cadr form))
+			    (eq? (caadr form) 'numerator)))
+		   (lint-format "perhaps ~A" caller
+				(lists->string form
+					       (if (eqv? (cadr form) 0)
+						   `(,head ,(cadr form) ,(cadr (caddr form)))
+						   `(,head ,(cadadr form) ,(caddr form)))))))
 	    (check-char-cmp caller head form))
 	  ;; could change (> x 0) to (positive? x) and so on, but the former is clear and ubiquitous
 	  
@@ -5309,6 +5675,7 @@
 	;; ---------------- char< char> etc ----------------
 	(let ()
 	  (define (sp-char< caller head form env)
+	    ;; only once: (char<=? #\0 c #\1)
 	    (let ((cleared-form (cons head ; keep operator
 				      (remove-if (lambda (x) 
 						   (not (char? x))) 
@@ -5324,8 +5691,26 @@
 			      (char=? (cadr form) (other-case (cadr form))))
 			 (and (char? (caddr form))
 			      (char=? (caddr form) (other-case (caddr form))))))
-		(lint-format "char-ci=? could be char=? here: ~A" caller form)))
-
+		(lint-format "char-ci=? could be char=? here: ~A" caller form)
+		
+		(when (and (eq? head 'char=?)        ; (char=? #\a (char-downcase x)) -> (char-ci=? #\a x)
+			   (let ((casef (let ((op #f))
+					  (lambda (a)
+					    (or (char? a)
+						(and (pair? a)
+						     (memq (car a) '(char-downcase char-upcase))
+						     (if op
+							 (eq? op (car a))
+							 (set! op (car a)))))))))
+			     (every? casef (cdr form))))
+		  (lint-format "perhaps ~A" caller
+			       (lists->string form
+					      `(char-ci=? ,@(map (lambda (a)
+								   (if (and (pair? a)
+									    (memq (car a) '(char-upcase char-downcase)))
+								       (cadr a)
+								       a))
+								   (cdr form))))))))
 	  (for-each (lambda (f)
 		      (hash-table-set! h f sp-char<))
 		    '(char<? char>? char<=? char>=? char=? char-ci<? char-ci>? char-ci<=? char-ci>=? char-ci=?)))
@@ -5342,8 +5727,50 @@
 		       (not (checked-eval cleared-form)))
 		  (lint-format "this comparison can't be true: ~A" caller (truncated-list->string form))))
 
-	    (when (and (eq? head 'string=?) ; (string=? (symbol->string a) (symbol->string b)) -> (eq? a b)
-		       (= (length form) 3))
+	    (if (and (> (length form) 2)
+		     (every? (let ((op #f))      ; (string=? x (string-downcase y)) -> (string-ci=? x y)
+			       (lambda (a)
+				 (and (pair? a)
+				      (memq (car a) '(string-downcase string-upcase))
+				      (if op
+					  (eq? op (car a))
+					  (set! op (car a))))))
+			     (cdr form)))
+		(lint-format "perhaps ~A" caller
+			     (lists->string form
+					    (let ((op (case head
+							((string=?) 'string-ci=?)
+							((string<=?) 'string-ci<=?)
+							((string>=?) 'string-ci>=?)
+							((string<?) 'string-ci<?)
+							((string>?) 'string-ci>?)
+							(else head))))
+					      `(,op ,@(map (lambda (a)
+							     (if (and (pair? a)
+								      (memq (car a) '(string-upcase string-downcase)))
+								 (cadr a)
+								 a))
+							   (cdr form)))))))
+
+	    (if (any? (lambda (a) ; string-copy is redundant in arg list
+			(and (pair? a)
+			     (memq (car a) '(copy string-copy))
+			     (null? (cddr a))))
+		      (cdr form))
+		(let cleaner ((args (cdr form)) (new-args ()))
+		  (if (not (pair? args))
+		      (lint-format "perhaps ~A" caller (lists->string form `(,head ,@(reverse new-args))))
+		      (let ((a (car args)))
+			(cleaner (cdr args)
+				 (cons (if (and (pair? a)
+						(memq (car a) '(copy string-copy))
+						(null? (cddr a)))
+					   (cadr a)
+					   a)
+				       new-args))))))
+
+	    (when (and (eq? head 'string=?)
+		       (= (length form) 3))                ; (string=? (symbol->string a) (symbol->string b)) -> (eq? a b)
 	      (if (and (pair? (cadr form))
 		       (eq? (caadr form) 'symbol->string)
 		       (pair? (caddr form))
@@ -5462,6 +5889,14 @@
 		    ((denominator)            ; (zero? (denominator x)) -> error
 		     (if (eq? head 'zero)
 			 (lint-format "denominator can't be zero: ~A" caller form)))
+
+		    ((string-length)
+		     (if (eq? head 'zero?)
+			 (lint-format "perhaps ~A" caller (lists->string form `(string=? ,(cadadr form) "")))))
+		    
+		    ((vector-length)
+		     (if (eq? head 'zero?)
+			 (lint-format "perhaps ~A" caller (lists->string form `(equal? ,(cadadr form) #())))))
 		    
 		    ((length)
 		     (if (eq? head 'zero?)
@@ -5513,9 +5948,20 @@
 	   (if (and (pair? (cdr form))
 		    (pair? (cadr form))
 		    (memq (caadr form) '(copy string-copy string make-string string-upcase string-downcase
-					      string-append list->string symbol->string number->string)))
+					 string-append list->string symbol->string number->string)))
 	       (lint-format "~A could be ~A" caller (truncated-list->string form) (cadr form)))))
 	
+	;; ---------------- string-down|upcase ----------------
+	(let ()
+	  (define (sp-string-upcase caller head form env)
+	    (if (and (pair? (cdr form))
+		     (string? (cadr form)))
+	       (lint-format "perhaps ~A" caller (lists->string form 
+							       ((if (eq? head 'string-upcase) string-upcase string-downcase)
+								(cadr form))))))
+	  (hash-table-set! h 'string-upcase sp-string-upcase)
+	  (hash-table-set! h 'string-downcase sp-string-upcase))
+	
 	;; ---------------- string ----------------
 	(let ()
 	 (define (sp-string caller head form env)
@@ -5541,6 +5987,7 @@
 			   (lint-format "perhaps ~A" caller
 					(lists->string form `(,(if (eq? (caadr form) 'char-upcase) 'string-upcase 'string-downcase)
 							      (string ,@(map cadr (cdr form)))))))))))
+	 ;; repeated args as in vector/list (sp-list below) got no hits
 	(hash-table-set! h 'string sp-string))
 	
 	;; ---------------- string? ----------------
@@ -5610,6 +6057,28 @@
 			    (lists->string form `(zero? (length ,(cadadr form)))))))
 	 (hash-table-set! h 'null? sp-null?))
 	
+	;; ---------------- odd? even? ----------------
+	(let ()
+	 (define (sp-odd? caller head form env)
+	   (if (and (pair? (cdr form))
+		    (pair? (cadr form))
+		    (memq (caadr form) '(+ -))
+		    (= (length (cadr form)) 3))
+	       (let* ((arg1 (cadadr form))
+		      (arg2 (caddr (cadr form)))
+		      (int-arg (or (and (integer? arg1) arg1)
+				   (and (integer? arg2) arg2))))
+		 (if int-arg
+			 (lint-format "perhaps ~A" caller 
+				      (lists->string form 
+						     (if (and (integer? arg1)
+							      (integer? arg2))
+							 (eval form)
+							 `(,(if (eq? (eq? head 'even?) (even? int-arg)) 'even? 'odd?)
+							   ,(if (integer? arg1) arg2 arg1)))))))))
+	 (hash-table-set! h 'odd? sp-odd?)
+	 (hash-table-set! h 'even? sp-odd?))
+	
 	;; ---------------- string-ref ----------------
 	(hash-table-set! 
 	 h 'string-ref 
@@ -5657,11 +6126,27 @@
 							  make-hash-table hash-table hash-table*
 							  inlet))
 			    (lint-format "this doesn't make much sense: ~A" caller form)))
-		    (if (and (eq? head 'list-ref)
-			     (eq? (car seq) 'quote)
-			     (proper-list? (cadr seq)))
-			(lint-format "perhaps use a vector: ~A" caller
-				     (lists->string form `(vector-ref ,(apply vector (cadr seq)) ,(caddr form))))))))
+		    (when (eq? head 'list-ref)
+		      (if (eq? (car seq) 'quote)
+			  (if (proper-list? (cadr seq))
+			      (lint-format "perhaps use a vector: ~A" caller
+					   (lists->string form `(vector-ref ,(apply vector (cadr seq)) ,(caddr form)))))
+			  (let ((index (caddr form)))
+			    (if (and (memq (car seq) '(cdr cddr cdddr))
+				     (or (integer? index)
+					 (and (pair? index)
+					      (eq? (car index) '-)
+					      (integer? (caddr index)))))
+				(let ((offset (cdr (assq (car seq) '((cdr . 1) (cddr . 2) (cdddr . 3))))))
+				  (lint-format "perhaps ~A" caller
+					       (lists->string form
+							      `(list-ref ,(cadr seq)
+									 ,(if (integer? index)
+									      (+ index offset)
+									      (let ((noff (- (caddr index) offset)))
+										(if (zero? noff)
+										    (cadr index)
+										    `(- ,(cadr index) ,noff)))))))))))))))
 	      (set! last-checker-line-number line-number)))
 	  (for-each (lambda (f)
 		      (hash-table-set! h f sp-vector-ref))
@@ -5682,20 +6167,28 @@
 			    (equal? index (caddr val))
 			    (memq (car val) '(vector-ref list-ref hash-table-ref string-ref let-ref float-vector-ref int-vector-ref)))
 		       (lint-format "redundant ~A: ~A" caller head (truncated-list->string form)))
+
+		      ((code-constant? target)     ; (vector-set! #(0 1 2) 1 3)??
+		       (lint-format "~A is a constant that is discarded; perhaps ~A" caller target (lists->string form val)))
+
+		      ((not (pair? target)))
 		      
-		      ((and (pair? target)              ; (vector-set! (vector-ref x 0) 1 2) -- vector within vector
-			    (not (eq? head 'string-set!))
+		      ((and (not (eq? head 'string-set!)) ; (vector-set! (vector-ref x 0) 1 2) -- vector within vector
 			    (memq (car target) '(vector-ref list-ref hash-table-ref let-ref float-vector-ref int-vector-ref)))
 		       (lint-format "perhaps ~A" caller (lists->string form `(set! (,@(cdr target) ,index) ,val))))
 		      
-		      ((and (pair? target)              ; (vector-set! (make-vector 3) 1 1) -- does this ever happen?
-			    (memq (car target) '(make-vector vector make-string string make-list list append cons vector-append copy inlet sublet)))
+		      ((memq (car target) '(make-vector vector make-string string make-list list append cons 
+					    vector-append inlet sublet copy vector-copy string-copy list-copy)) ;list-copy is from r7rs
 		       (lint-format "~A is simply discarded; perhaps ~A" caller
-				    (truncated-list->string target)
+				    (truncated-list->string target)   ; (vector-set! (make-vector 3) 1 1) -- does this ever happen?
 				    (lists->string form val)))
 		      
-		      ((code-constant? target)     ; (vector-set! #(0 1 2) 1 3)??
-		       (lint-format "~A is a constant that is discarded; perhaps ~A" caller target (lists->string form val)))))))
+		      ((and (eq? head 'list-set!)
+			    (memq (car target) '(cdr cddr cdddr cddddr))
+			    (integer? (caddr form)))                  ; (list-set! (cdr x) 0 y) -> (list-set! x 1 y)
+		       (lint-format "perhaps ~A" caller 
+				    (lists->string form 
+						   `(list-set! ,(cadr target) ,(+ (caddr form) (cdr-count (car target))) ,(cadddr form)))))))))
 	  (for-each (lambda (f)
 		      (hash-table-set! h f sp-vector-set!))
 		    '(vector-set! list-set! hash-table-set! float-vector-set! int-vector-set! string-set! let-set!)))
@@ -5710,18 +6203,15 @@
 		 (lint-format "~A could be ~A" caller (truncated-list->string form) (cadr form))
 		 (if (pair? (cddr form))
 		     (let ((arg2 (caddr form)))
-		       (if (or (and (keyword? arg2)
-				    (not (eq? arg2 :readable)))
-			       (and (code-constant? arg2)
-				    (not (boolean? arg2))))
+		       (if (and (code-constant? arg2)
+				(not (memq arg2 '(#f #t :readable))))           ; #f and #t are display|write choice, :readable = ~W
 			   (lint-format "bad second argument: ~A" caller arg2))))))))
 	
 	;; ---------------- display ----------------
 	(hash-table-set! 
 	 h 'display 
 	 (lambda (caller head form env)
-	   (if (and (pair? (cdr form))
-		    (pair? (cadr form)))
+	   (if (pair? (cdr form))
 	       (let ((arg (cadr form))
 		     (port (if (pair? (cddr form))
 			       (caddr form)
@@ -5731,13 +6221,14 @@
 				 (string-position "WARNING" arg)))
 			(lint-format  "There's no need to shout: ~A" caller (truncated-list->string form)))
 		       
+		       ((not (and (pair? arg)
+				  (pair? (cdr arg)))))
+
 		       ((and (eq? (car arg) 'format)
-			     (pair? (cdr arg))
 			     (not (cadr arg)))
 			(lint-format "perhaps ~A" caller (lists->string form `(format ,port ,@(cddr arg)))))
 		       
 		       ((and (eq? (car arg) 'apply)
-			     (pair? (cdr arg))
 			     (eq? (cadr arg) 'format)
 			     (pair? (cddr arg))
 			     (not (caddr arg)))
@@ -5802,187 +6293,245 @@
 	(let ()
 	  (define (sp-reverse caller head form env)
 	    ;; not string->number -- no point in copying a number and it's caught below
-	    
-	    (let ((inverses '((reverse . reverse) 
-			      (reverse! . reverse!) 
-			      (list->vector . vector->list)
-			      (vector->list . list->vector)
-			      (symbol->string . string->symbol)
-			      (string->symbol . symbol->string)
-			      (list->string . string->list)
-			      (string->list . list->string)
-			      (number->string . string->number))))
-	      (when (and (pair? (cdr form))
-			 (pair? (cadr form))
-			 (pair? (cdadr form)))
-		(let ((inv-op (assq head inverses))
-		      (arg (cadr form))
-		      (arg-of-arg (cadadr form))
-		      (func-of-arg (caadr form)))
-		  (if (pair? inv-op) (set! inv-op (cdr inv-op)))
-
-		  (cond ((eq? func-of-arg inv-op)               ; (vector->list (list->vector x)) -> x
-			 (if (eq? head 'string->symbol)
-			     (lint-format "perhaps ~A" caller (lists->string form arg-of-arg))
-			     (lint-format "~A could be (copy ~S)" caller form arg-of-arg)))
-			
-			((and (eq? head 'list->string)          ; (list->string (vector->list x)) -> (copy x (make-string (length x)))
-			      (eq? func-of-arg 'vector->list))
-			 (lint-format "perhaps ~A" caller (lists->string form `(copy ,arg-of-arg (make-string (length ,arg-of-arg))))))
-			
-			((and (eq? head 'list->string)          ; (list->string (make-list x y)) -> (make-string x y)
-			      (eq? func-of-arg 'make-list))
-			 (lint-format "perhaps ~A" caller (lists->string form `(make-string ,@(cdr arg)))))
-			
-			((and (eq? head 'list->vector)          ; (list->vector (make-list ...)) -> (make-vector ...)
-			      (eq? func-of-arg 'make-list))
-			 (lint-format "perhaps ~A" caller (lists->string form `(make-vector ,@(cdr arg)))))
-			
-			((and (eq? head 'list->vector)          ; (list->vector (string->list x)) -> (copy x (make-vector (length x)))
-			      (eq? func-of-arg 'string->list))
-			 (lint-format "perhaps ~A" caller (lists->string form `(copy ,arg-of-arg (make-vector (length ,arg-of-arg))))))
-			
-			((and (eq? head 'vector->list)          ; (vector->list (make-vector ...)) -> (make-list ...)
-			      (eq? func-of-arg 'make-vector))
-			 (lint-format "perhaps ~A" caller (lists->string form `(make-list ,@(cdr arg)))))
-			
-			((and (memq func-of-arg '(reverse reverse! copy))
-			      (pair? (cadr arg))                ; (list->string (reverse (string->list x))) -> (reverse x)
-			      (eq? (caadr arg) inv-op))
-			 (lint-format "perhaps ~A" caller (lists->string form `(,(if (eq? func-of-arg 'reverse!) 'reverse func-of-arg) ,(cadadr arg)))))
-
-			((and (memq head '(reverse reverse!))   ; (reverse (string->list x)) -> (string->list (reverse x)) -- often redundant
-			      (memq func-of-arg '(string->list vector->list))
-			      (null? (cddr arg)))
-			 (lint-format "perhaps less consing: ~A" caller
-				      (lists->string form `(,func-of-arg (reverse ,arg-of-arg)))))
-			
-			((and (pair? (cadr arg))
-			      (memq func-of-arg '(cdr cddr cdddr cddddr list-tail))
-			      (case head
-				((list->string) (eq? (caadr arg) 'string->list))
-				((list->vector) (eq? (caadr arg) 'vector->list))
-				(else #f)))
-			 (let ((len-diff (if (eq? func-of-arg 'list-tail)
-					     (caddr arg)
-					     (cdr-count func-of-arg))))
-			   (lint-format "perhaps ~A" caller 
-					(lists->string form (if (eq? head 'list->string)
-								`(substring ,(cadadr arg) ,len-diff)
-								`(copy ,(cadadr arg) (make-vector (- (length ,(cadadr arg)) ,len-diff))))))))
-			
-			((and (memq head '(list->vector list->string))
-			      (eq? func-of-arg 'sort!)
-			      (pair? (cadr arg))
-			      (eq? (caadr arg) (if (eq? head 'list->vector) 'vector->list 'string->list)))
-			 (lint-format "perhaps ~A" caller (lists->string form `(sort! ,(cadadr arg) ,(caddr arg)))))
-			
-			((and (memq head '(list->vector list->string))
-			      (or (memq func-of-arg '(list cons))
-				  (quoted-undotted-pair? arg)))
-			 (let ((maker (if (eq? head 'list->vector) 'vector 'string)))
-			   (cond ((eq? func-of-arg 'list)
-				  (if (var-member maker env)
-				      (lint-format "~A could be simplified, but you've shadowed '~A" caller (truncated-list->string form) maker)
-				      (lint-format "perhaps ~A" caller (lists->string form `(,maker ,@(cdr arg))))))
-				 ((eq? func-of-arg 'cons)
-				  (if (any-null? (caddr arg))
-				      (if (var-member maker env)
-					  (lint-format "~A could be simplified, but you've shadowed '~A" caller (truncated-list->string form) maker)
-					  (lint-format "perhaps ~A" caller (lists->string form `(,maker ,(cadr arg)))))))
-				 ((or (null? (cddr form))
-				      (and (integer? (caddr form))
-					   (or (null? (cdddr form))
-					       (integer? (cadddr form)))))
-				  (lint-format "perhaps ~A" caller 
-					       (lists->string form (apply (if (eq? head 'list->vector) vector string) (cadr arg))))))))
-			
-			((and (eq? head 'list->string)          ; (list->string (reverse x)) -> (reverse (apply string x))
-			      (memq func-of-arg '(reverse reverse!)))
-			 (lint-format "perhaps ~A" caller (lists->string form `(reverse (apply string ,arg-of-arg)))))
-			
-			((and (memq head '(string->list vector->list))
-			      (= (length form) 4))
-			 (check-start-and-end caller head (cddr form) form env))
-
-			((and (eq? head 'string->symbol)        ; (string->symbol (string-append...)) -> (symbol ...)
-			      (or (memq func-of-arg '(string-append append))
-				  (and (eq? func-of-arg 'apply)
-				       (memq arg-of-arg '(string-append append)))))
-			 (lint-format "perhaps ~A" caller
-				      (lists->string form 
-						     (if (eq? func-of-arg 'apply)
-							 `(apply symbol ,@(cddr arg))
-							 `(symbol ,@(cdr arg))))))
-
-			((and (eq? head 'string->symbol)
-			      (eq? func-of-arg 'if)
-			      (or (string? (caddr arg))
-				  (string? (cadddr arg)))
-			      (not (or (equal? (caddr arg) "")  ; this is actually an error -- should we complain?
-				       (equal? (cadddr arg) ""))))
-			 (lint-format "perhaps ~A" caller
-				      (lists->string form
-						     (if (string? (caddr arg))
-							 (if (string? (cadddr arg))
-							     `(if ,(cadr arg) ',(string->symbol (caddr arg)) ',(string->symbol (cadddr arg)))
-							     `(if ,(cadr arg) ',(string->symbol (caddr arg)) (string->symbol ,(cadddr arg))))
-							 `(if ,(cadr arg) (string->symbol ,(caddr arg)) ',(string->symbol (cadddr arg)))))))
-			
-			((and (eq? head 'symbol->string) ; (string->symbol "constant-string") never happens, but the reverse does?
-			      (quoted-symbol? arg))
-			 (lint-format "perhaps ~A" caller (lists->string form (symbol->string (cadadr form)))))
-
-			((case head
-			   ((reverse) (eq? func-of-arg 'reverse!))
-			   ((reverse!) (eq? func-of-arg 'reverse))
-			   (else #f))
-			 (lint-format "~A could be (copy ~S)" caller form arg-of-arg))
-
-			((and (pair? arg-of-arg)                ; (op (reverse (inv-op x))) -> (reverse x)
-			      (eq? func-of-arg 'reverse)
-			      (eq? inv-op (car arg-of-arg)))
-			 (lint-format "perhaps ~A" caller (lists->string form `(reverse ,(cadr arg-of-arg)))))))))
-	    
-	    (when (and (pair? (cdr form))
-		       (not (pair? (cadr form))))
-	      (let ((arg (cadr form)))
-		(if (and (eq? head 'string->list)
-			 (string? arg)
-			 (or (null? (cddr form))
-			     (and (integer? (caddr form))
-				  (or (null? (cdddr form))
-				      (integer? (cadddr form))))))
-		    (lint-format "perhaps ~A -> ~A" caller (truncated-list->string form) (apply string->list (cdr form))))))
-	    
-	    (when (and (memq head '(vector->list string->list))
-		       (pair? (cddr form))
-		       (pair? (cdddr form))
-		       (equal? (caddr form) (cadddr form)))
-	      (lint-format "leaving aside errors, ~A is ()" caller (truncated-list->string form)))
-	    
-	    (when (and (memq head '(reverse reverse!))
-		       (pair? (cdr form))
-		       (pair? (cadr form)))
-	      (let ((arg (cadr form)))
-		(if (and (memq (car arg) '(cdr list-tail)) ; (reverse (cdr (reverse lst))) = all but last of lst -> copy to len-1
-			 (pair? (cadr arg))
-			 (memq (caadr arg) '(reverse reverse!))
-			 (symbol? (cadadr arg)))
-		    (lint-format "perhaps ~A" caller 
-				 (lists->string form `(copy ,(cadadr arg) (make-list (- (length ,(cadadr arg)) ,(if (eq? (car arg) 'cdr) 1 (caddr arg))))))))
+	    (when (pair? (cdr form))
+
+	      (if (and (code-constant? (cadr form))
+		       (not (memq head '(list->string list->vector string->list))))
+		  (let ((seq (checked-eval form)))
+		    (if (not (eq? seq :checked-eval-error))
+			(lint-format "perhaps ~A -> ~A~A" caller
+				     (truncated-list->string form)
+				     (if (pair? seq) "'" "")
+				     (if (symbol? seq)
+					 (object->string seq :readable)
+					 (object->string seq))))))
+	      
+	      (let ((inverses '((reverse . reverse) 
+				(reverse! . reverse!) 
+				;; reverse and reverse! are not completely interchangable:
+				;;   (reverse (cons 1 2)): (2 . 1)
+				;;   (reverse! (cons 1 2)): error: reverse! argument, (1 . 2), is a pair but should be a proper list
+				(list->vector . vector->list)
+				(vector->list . list->vector)
+				(symbol->string . string->symbol)
+				(string->symbol . symbol->string)
+				(list->string . string->list)
+				(string->list . list->string)
+				(number->string . string->number))))
 		
-		(if (and (eq? (car arg) 'append) ; (reverse (append (reverse b) res)) = (append (reverse res) b)
-			 (pair? (cadr arg))
-			 (eq? (caadr arg) 'reverse)
-			 (pair? (cddr arg))
-			 (null? (cdddr arg)))
-		    (lint-format "perhaps ~A" caller (lists->string form `(append (reverse ,(caddr arg)) ,(cadadr arg)))))
+		(when (and (pair? (cadr form))
+			   (pair? (cdadr form)))
+		  (let ((inv-op (assq head inverses))
+			(arg (cadr form))
+			(arg-of-arg (cadadr form))
+			(func-of-arg (caadr form)))
+		    (if (pair? inv-op) (set! inv-op (cdr inv-op)))
+		    
+		    (cond ((eq? func-of-arg inv-op)               ; (vector->list (list->vector x)) -> x
+			   (if (eq? head 'string->symbol)
+			       (lint-format "perhaps ~A" caller (lists->string form arg-of-arg))
+			       (lint-format "~A could be (copy ~S)" caller form arg-of-arg)))
+			  
+			  ((and (eq? head 'list->string)          ; (list->string (vector->list x)) -> (copy x (make-string (length x)))
+				(eq? func-of-arg 'vector->list))
+			   (lint-format "perhaps ~A" caller (lists->string form `(copy ,arg-of-arg (make-string (length ,arg-of-arg))))))
+			  
+			  ((and (eq? head 'list->string)          ; (list->string (make-list x y)) -> (make-string x y)
+				(eq? func-of-arg 'make-list))
+			   (lint-format "perhaps ~A" caller (lists->string form `(make-string ,@(cdr arg)))))
+			  
+			  ((and (eq? head 'string->list)          ; (string->list (string x y)) -> (list x y)
+				(eq? func-of-arg 'string))
+			   (lint-format "perhaps ~A" caller (lists->string form `(list ,@(cdr arg)))))
+			  
+			  ((and (eq? head 'list->vector)          ; (list->vector (make-list ...)) -> (make-vector ...)
+				(eq? func-of-arg 'make-list))
+			   (lint-format "perhaps ~A" caller (lists->string form `(make-vector ,@(cdr arg)))))
+			  
+			  ((and (eq? head 'list->vector)          ; (list->vector (string->list x)) -> (copy x (make-vector (length x)))
+				(eq? func-of-arg 'string->list))
+			   (lint-format "perhaps ~A" caller (lists->string form `(copy ,arg-of-arg (make-vector (length ,arg-of-arg))))))
+
+			  ((and (eq? head 'list->vector)          ; (list->vector (append (vector->list v1) ...)) -> (append v1 ...)
+				(eq? func-of-arg 'append)
+				(every? (lambda (a)
+					  (and (pair? a)
+					       (eq? (car a) 'vector->list)))
+					(cdadr form)))
+			   (lint-format "perhaps ~A" caller
+					(lists->string form `(append ,@(map cadr (cdadr form))))))
+			  
+			  ((and (eq? head 'vector->list)          ; (vector->list (make-vector ...)) -> (make-list ...)
+				(eq? func-of-arg 'make-vector))
+			   (lint-format "perhaps ~A" caller (lists->string form `(make-list ,@(cdr arg)))))
+			  
+			  ((and (eq? head 'vector->list)          ; (vector->list (vector ...)) -> (list ...)
+				(eq? func-of-arg 'vector))
+			   (lint-format "perhaps ~A" caller (lists->string form `(list ,@(cdr arg)))))
+			  
+			  ((and (eq? head 'vector->list)          ; (vector->list (vector-copy ...)) -> (vector->list ...)
+				(eq? func-of-arg 'vector-copy))
+			   (lint-format "perhaps ~A" caller (lists->string form `(vector->list ,@(cdr arg)))))
+			  
+			  ((and (memq func-of-arg '(reverse reverse! copy))
+				(pair? (cadr arg))                ; (list->string (reverse (string->list x))) -> (reverse x)
+				(eq? (caadr arg) inv-op))
+			   (lint-format "perhaps ~A" caller (lists->string form `(,(if (eq? func-of-arg 'reverse!) 'reverse func-of-arg) ,(cadadr arg)))))
+			  
+			  ((and (memq head '(reverse reverse!))   ; (reverse (string->list x)) -> (string->list (reverse x)) -- often redundant
+				(memq func-of-arg '(string->list vector->list sort!)))
+			   (if (eq? func-of-arg 'sort!)           ; (reverse (sort! x <)) -> (sort x >)
+			       (if (and (pair? (cdr arg))
+					(pair? (cddr arg)))
+				   (cond ((hash-table-ref reversibles (caddr arg)) 
+					  => (lambda (op)
+					       (lint-format "possibly ~A" caller (lists->string form `(sort! ,(cadr arg) ,op)))))))
+			       (if (null? (cddr arg))
+				   (lint-format "perhaps less consing: ~A" caller
+						(lists->string form `(,func-of-arg (reverse ,arg-of-arg)))))))
+			  
+			  ((and (pair? (cadr arg))
+				(memq func-of-arg '(cdr cddr cdddr cddddr list-tail))
+				(case head
+				  ((list->string) (eq? (caadr arg) 'string->list))
+				  ((list->vector) (eq? (caadr arg) 'vector->list))
+				  (else #f)))
+			   (let ((len-diff (if (eq? func-of-arg 'list-tail)
+					       (caddr arg)
+					       (cdr-count func-of-arg))))
+			     (lint-format "perhaps ~A" caller 
+					  (lists->string form (if (eq? head 'list->string)
+								  `(substring ,(cadadr arg) ,len-diff)
+								  `(copy ,(cadadr arg) (make-vector (- (length ,(cadadr arg)) ,len-diff))))))))
+			  
+			  ((and (memq head '(list->vector list->string))
+				(eq? func-of-arg 'sort!)
+				(pair? (cadr arg))
+				(eq? (caadr arg) (if (eq? head 'list->vector) 'vector->list 'string->list)))
+			   (lint-format "perhaps ~A" caller (lists->string form `(sort! ,(cadadr arg) ,(caddr arg)))))
+			  
+			  ((and (memq head '(list->vector list->string))
+				(or (memq func-of-arg '(list cons))
+				    (quoted-undotted-pair? arg)))
+			   (let ((maker (if (eq? head 'list->vector) 'vector 'string)))
+			     (cond ((eq? func-of-arg 'list)
+				    (if (var-member maker env)
+					(lint-format "~A could be simplified, but you've shadowed '~A" caller (truncated-list->string form) maker)
+					(lint-format "perhaps ~A" caller (lists->string form `(,maker ,@(cdr arg))))))
+				   ((eq? func-of-arg 'cons)
+				    (if (any-null? (caddr arg))
+					(if (var-member maker env)
+					    (lint-format "~A could be simplified, but you've shadowed '~A" caller (truncated-list->string form) maker)
+					    (lint-format "perhaps ~A" caller (lists->string form `(,maker ,(cadr arg)))))))
+				   ((or (null? (cddr form))
+					(and (integer? (caddr form))
+					     (or (null? (cdddr form))
+						 (integer? (cadddr form)))))
+				    (lint-format "perhaps ~A" caller 
+						 (lists->string form (apply (if (eq? head 'list->vector) vector string) (cadr arg))))))))
+			  
+			  ((and (memq head '(list->string list->vector))    ; (list->string (reverse x)) -> (reverse (apply string x))
+				(memq func-of-arg '(reverse reverse!)))
+			   (lint-format "perhaps ~A" caller (lists->string form `(reverse (,head ,arg-of-arg)))))
+			  
+			  ((and (memq head '(string->list vector->list))
+				(= (length form) 4))
+			   (check-start-and-end caller head (cddr form) form env))
+			  
+			  ((and (eq? head 'string->symbol)        ; (string->symbol (string-append...)) -> (symbol ...)
+				(or (memq func-of-arg '(string-append append))
+				    (and (eq? func-of-arg 'apply)
+					 (memq arg-of-arg '(string-append append)))))
+			   (lint-format "perhaps ~A" caller
+					(lists->string form 
+						       (if (eq? func-of-arg 'apply)
+							   `(apply symbol ,@(cddr arg))
+							   `(symbol ,@(cdr arg))))))
+
+			  ((and (eq? head 'string->symbol)
+				(eq? func-of-arg 'if)
+				(or (string? (caddr arg))
+				    (string? (cadddr arg)))
+				(not (or (equal? (caddr arg) "")  ; this is actually an error -- should we complain?
+					 (equal? (cadddr arg) ""))))
+			   (lint-format "perhaps ~A" caller
+					(lists->string form
+						       (if (string? (caddr arg))
+							   (if (string? (cadddr arg))
+							       `(if ,(cadr arg) ',(string->symbol (caddr arg)) ',(string->symbol (cadddr arg)))
+							       `(if ,(cadr arg) ',(string->symbol (caddr arg)) (string->symbol ,(cadddr arg))))
+							   `(if ,(cadr arg) (string->symbol ,(caddr arg)) ',(string->symbol (cadddr arg)))))))
+			  
+			  ((case head
+			     ((reverse) (eq? func-of-arg 'reverse!))
+			     ((reverse!) (eq? func-of-arg 'reverse))
+			     (else #f))
+			   (lint-format "~A could be (copy ~S)" caller form arg-of-arg))
+			  
+			  ((and (pair? arg-of-arg)                ; (op (reverse (inv-op x))) -> (reverse x)
+				(eq? func-of-arg 'reverse)
+				(eq? inv-op (car arg-of-arg)))
+			   (lint-format "perhaps ~A" caller (lists->string form `(reverse ,(cadr arg-of-arg)))))))))
+		  
+	      (unless (pair? (cadr form))
+		(let ((arg (cadr form)))
+		  (if (and (eq? head 'string->list)
+			   (string? arg)
+			   (or (null? (cddr form))
+			       (and (integer? (caddr form))
+				    (or (null? (cdddr form))
+					(integer? (cadddr form))))))
+		      (lint-format "perhaps ~A -> ~A" caller (truncated-list->string form) (apply string->list (cdr form))))))
+	      
+	      (when (pair? (cddr form))
+		(when (and (memq head '(vector->list string->list))
+			   (pair? (cdddr form))
+			   (equal? (caddr form) (cadddr form)))
+		  (lint-format "leaving aside errors, ~A is ()" caller (truncated-list->string form)))
 		
-		(if (and (eq? (car arg) 'cons)      ; (reverse (cons x (reverse lst))) -- adds x to end -- (append lst (list x))
-			 (pair? (caddr arg))
-			 (memq (car (caddr arg)) '(reverse reverse!)))
-		    (lint-format "perhaps ~A" caller (lists->string form `(append ,(cadr (caddr arg)) (list ,(cadr arg)))))))))
+		(when (and (eq? head 'number->string)
+			   (eqv? (caddr form) 10))
+		  (lint-format "10 is the default radix for number->string: ~A" caller (truncated-list->string form))))
+	      
+	      (when (memq head '(reverse reverse!))
+		(if (and (eq? head 'reverse!)
+			 (symbol? (cadr form)))
+		    (let ((v (var-member (cadr form) env)))
+		      (if (and (var? v)
+			       (eq? (var-definer v) 'parameter))
+			  (lint-format "if ~A (a function argument) is a pair, ~A is ill-advised" caller
+				       (cadr form) 
+				       (truncated-list->string form))))
+		    (when (pair? (cadr form))
+		      (let ((arg (cadr form)))
+			(when (and (pair? (cdr arg))
+				   (pair? (cadr arg)))
+			  (if (and (memq (car arg) '(cdr list-tail)) ; (reverse (cdr (reverse lst))) = all but last of lst -> copy to len-1
+				   (memq (caadr arg) '(reverse reverse!))
+				   (symbol? (cadadr arg)))
+			      (lint-format "perhaps ~A" caller 
+					   (lists->string form `(copy ,(cadadr arg) (make-list (- (length ,(cadadr arg)) ,(if (eq? (car arg) 'cdr) 1 (caddr arg))))))))
+			  
+			  (if (and (eq? (car arg) 'append) ; (reverse (append (reverse b) res)) = (append (reverse res) b)
+				   (eq? (caadr arg) 'reverse)
+				   (pair? (cddr arg))
+				   (null? (cdddr arg)))
+			      (lint-format "perhaps ~A" caller (lists->string form `(append (reverse ,(caddr arg)) ,(cadadr arg))))))
+			
+			(when (and (= (length arg) 3)
+				   (pair? (caddr arg)))
+			  (if (and (eq? (car arg) 'map)      ; (reverse (map abs (sort! x <))) -> (map abs (sort! x >))
+				   (eq? (caaddr arg) 'sort!))
+			      (cond ((hash-table-ref reversibles (caddr (caddr arg)))
+				     => (lambda (op)
+					  (lint-format "possibly ~A" caller (lists->string form `(,(car arg) ,(cadr arg) 
+												  (sort! ,(cadr (caddr arg)) ,op))))))))
+			  ;; (reverse (apply vector (sort! x <))) doesn't happen (nor does this map case, but it's too pretty to leave out)
+			  
+			  (if (and (eq? (car arg) 'cons)      ; (reverse (cons x (reverse lst))) -- adds x to end -- (append lst (list x))
+				   (memq (car (caddr arg)) '(reverse reverse!)))
+			      (lint-format "perhaps ~A" caller (lists->string form `(append ,(cadr (caddr arg)) (list ,(cadr arg)))))))))))))
+	  
 	  (for-each (lambda (f)
 		      (hash-table-set! h f sp-reverse))
 		    '(reverse reverse! list->vector vector->list list->string string->list symbol->string string->symbol number->string)))
@@ -5997,12 +6546,12 @@
 			      (string->number . number->string))))
 	      (when (pair? (cdr form))
 		(let ((arg (cadr form)))
-		    (cond ((and (pair? arg)
-				(pair? (cdr arg))
-				(eq? (car arg) (cond ((assq head inverses) => cdr))))
-			   (lint-format "~A could be ~A" caller (truncated-list->string form) (cadr arg)))
-		    
-			  ((eq? head 'integer->char)
+		    (if (and (pair? arg)
+			     (pair? (cdr arg))
+			     (eq? (car arg) (cond ((assq head inverses) => cdr))))
+			(lint-format "~A could be ~A" caller (truncated-list->string form) (cadr arg))
+			(case head
+			  ((integer->char)
 			   (if (let walk ((tree (cdr form)))
 				 (if (pair? tree)
 				     (and (walk (car tree))
@@ -6013,10 +6562,23 @@
 				 (if (char? chr)
 				     (lint-format "perhaps ~A" caller (lists->string form chr))))))
 
-			  ((and (eq? head 'symbol->keyword)
-				(pair? (cadr form))
-				(eq? (caadr form) 'string->symbol))
-			   (lint-format "perhaps ~A" caller (lists->string form `(make-keyword ,(cadadr form))))))))))
+			  ((string->number)
+			   (if (and (pair? (cddr form))
+				    (integer? (caddr form)) ; type error is checked elsewhere
+				    (not (<= 2 (caddr form) 16)))
+			       (lint-format "string->number radix should be between 2 and 16: ~A" caller form)
+			       (if (and (pair? arg)
+					(eq? (car arg) 'string)
+					(pair? (cdr arg))
+					(null? (cddr form))
+					(null? (cddr arg)))
+				   (lint-format "perhaps ~A" caller
+						(lists->string form `(- (char->integer ,(cadr arg)) (char->integer #\0)))))))
+
+			  ((symbol->keyword)
+			   (if (and (pair? arg)
+				    (eq? (car arg) 'string->symbol))
+			       (lint-format "perhaps ~A" caller (lists->string form `(make-keyword ,(cadr arg))))))))))))
 
 	  (for-each (lambda (f)
 		      (hash-table-set! h f sp-char->integer))
@@ -6026,28 +6588,40 @@
 	(let ()
 	 (define (sp-string-append caller head form env)
 	   (unless (= line-number last-checker-line-number)
-	     (let ((args (remove-all "" (splice-if (lambda (x) (eq? x 'string-append)) (cdr form)))))
-					;(format *stderr* "args: ~A~%" args)
-	       (if (member 'string args (lambda (a b) (and (pair? b) (eq? (car b) a))))
-		   (let ((nargs ()))               ; look for (string...) (string...) in the arg list and combine
-		     (do ((p args (cdr p)))
-			 ((null? p)
-			  (set! args (reverse nargs)))
-		       (if (and (pair? (car p))
-				(eq? (caar p) 'string)
-				(pair? (cdr p))
-				(pair? (cadr p))
-				(eq? (caadr p) 'string))
-			   (begin
-			     (set! nargs (cons `(string ,@(cdar p) ,@(cdadr p)) nargs))
-			     (set! p (cdr p)))
-			   (set! nargs (cons (car p) nargs))))))
+	     (let ((args (remove-all "" (splice-if (lambda (x) (eq? x 'string-append)) (cdr form))))
+		   (combined #f))
+	       (when (or (any? string? args)
+			 (member 'string args (lambda (a b) (and (pair? b) (eq? (car b) a)))))
+		 (let ((nargs ()))               ; look for (string...) (string...) in the arg list and combine
+		   (do ((p args (cdr p)))
+		       ((null? p)
+			(set! args (reverse nargs)))
+		     (cond ((not (pair? (cdr p)))
+			    (set! nargs (cons (car p) nargs)))
+
+			   ((and (pair? (car p))
+				 (eq? (caar p) 'string)
+				 (pair? (cadr p))
+				 (eq? (caadr p) 'string))
+			    (set! nargs (cons `(string ,@(cdar p) ,@(cdadr p)) nargs))
+			    (set! combined #t)
+			    (set! p (cdr p)))
+
+			   ((and (string? (car p))
+				 (string? (cadr p)))
+			    (set! nargs (cons (string-append (car p) (cadr p)) nargs))
+			    (set! combined #t)
+			    (set! p (cdr p)))
+
+			   (else (set! nargs (cons (car p) nargs)))))))
+
 	       (cond ((null? args)                 ; (string-append) -> ""
 		      (lint-format "perhaps ~A" caller (lists->string form "")))
 		     
 		     ((null? (cdr args))           ; (string-append a) -> a
 		      (if (not (tree-memq 'values (cdr form)))
-			  (lint-format "perhaps ~A, or use copy" caller (lists->string form (car args)))))
+			  (lint-format "perhaps ~A~A" caller (lists->string form (car args))
+				       (if combined "" ", or use copy")))) ; (string-append x "") appears to be a common substitute for string-copy
 		     
 		     ((every? string? args)        ; (string-append "a" "b") -> "ab"
 		      (lint-format "perhaps ~A" caller (lists->string form (apply string-append args))))
@@ -6104,53 +6678,58 @@
 	;; ---------------- cons ----------------
 	(let ()
 	 (define (sp-cons caller head form env)
-	   (when (and (= (length form) 3)
-		      (not (= last-cons-line-number line-number)))
-	     (cond ((and (pair? (caddr form))
-			 (eq? (caaddr form) 'list))            ; (cons x (list ...)) -> (list x ...)
-		    (lint-format "perhaps ~A" caller (lists->string form `(list ,(cadr form) ,@(cdaddr form)))))
-		   
-		   ((any-null? (caddr form))                   ; (cons x '()) -> (list x)
-		    (lint-format "perhaps ~A" caller (lists->string form `(list ,(cadr form)))))
-		   
-		   ((and (pair? (cadr form))                   ; (cons (car x) (cdr x)) -> (copy x)
-			 (pair? (caddr form))
-			 (let ((x (assq (caadr form)
-					'((car cdr #t) 
-					  (caar cdar car) (cadr cddr cdr)
-					  (caaar cdaar caar) (caadr cdadr cadr) (caddr cdddr cddr) (cadar cddar cdar)
-					  (cadddr cddddr cdddr) (caaaar cdaaar caaar) (caaadr cdaadr caadr) (caadar cdadar cadar)
-					  (caaddr cdaddr caddr) (cadaar cddaar cdaar) (cadadr cddadr cdadr) (caddar cdddar cddar)))))
-			   (and x 
-				(eq? (cadr x) (caaddr form))
-				(caddr x))))
-		    => (lambda (cfunc)
-			 (if (and cfunc
-				  (equal? (cadadr form) (cadr (caddr form)))
-				  (not (side-effect? (cadadr form) env)))
-			     (lint-format "perhaps ~A" caller (lists->string form 
-									     (if (symbol? cfunc)
-										 `(copy (,cfunc ,(cadadr form)))
-										 `(copy ,(cadadr form))))))))
-		   
-		   ((and (pair? (caddr form))                  ; (cons a (cons b (cons ...))) -> (list a b ...), input ending in nil of course
-			 (eq? (caaddr form) 'cons))            ; list handled above
-		    (let loop ((args (list (cadr form))) (chain (caddr form)))
-		      (if (pair? chain)
-			  (if (eq? (car chain) 'list)
-			      (begin
-				(lint-format "perhaps ~A" caller (lists->string form `(list ,@(reverse args) ,@(cdr chain))))
-				(set! last-cons-line-number line-number))
-			      (if (and (eq? (car chain) 'cons)
-				       (pair? (cdr chain))
-				       (pair? (cddr chain)))
-				  (if (any-null? (caddr chain))
-				      (begin
-					(lint-format "perhaps ~A" caller (lists->string form `(list ,@(reverse args) ,(cadr chain))))
-					(set! last-cons-line-number line-number))
-				      (if (and (pair? (caddr chain))
-					       (memq (caaddr chain) '(cons list)))
-					  (loop (cons (cadr chain) args) (caddr chain))))))))))))
+	   (cond ((or (not (= (length form) 3))
+		      (= last-cons-line-number line-number))
+		  #f)
+		 
+		 ((and (pair? (caddr form))
+		       (or (eq? (caaddr form) 'list)         ; (cons x (list ...)) -> (list x ...)
+			   (and (eq? (caaddr form) #_{list})
+				(not (tree-member #_{apply_values} (cdaddr form))))))
+		  (lint-format "perhaps ~A" caller (lists->string form `(list ,(cadr form) ,@(un_{list} (cdaddr form))))))
+		 
+		 ((any-null? (caddr form))                   ; (cons x '()) -> (list x)
+		  (lint-format "perhaps ~A" caller (lists->string form `(list ,(cadr form)))))
+		 
+		 ((not (pair? (caddr form))))
+		 
+		 ((and (pair? (cadr form))                   ; (cons (car x) (cdr x)) -> (copy x)
+		       (let ((x (assq (caadr form)
+				      '((car cdr #t) 
+					(caar cdar car) (cadr cddr cdr)
+					(caaar cdaar caar) (caadr cdadr cadr) (caddr cdddr cddr) (cadar cddar cdar)
+					(cadddr cddddr cdddr) (caaaar cdaaar caaar) (caaadr cdaadr caadr) (caadar cdadar cadar)
+					(caaddr cdaddr caddr) (cadaar cddaar cdaar) (cadadr cddadr cdadr) (caddar cdddar cddar)))))
+			 (and x 
+			      (eq? (cadr x) (caaddr form))
+			      (caddr x))))
+		  => (lambda (cfunc)
+		       (if (and cfunc
+				(equal? (cadadr form) (cadr (caddr form)))
+				(not (side-effect? (cadadr form) env)))
+			   (lint-format "perhaps ~A" caller (lists->string form 
+									   (if (symbol? cfunc)
+									       `(copy (,cfunc ,(cadadr form)))
+									       `(copy ,(cadadr form))))))))
+		 
+		 ((eq? (caaddr form) 'cons)   ; list handled above
+					; (cons a (cons b (cons ...))) -> (list a b ...), input ending in nil of course
+		  (let loop ((args (list (cadr form))) (chain (caddr form)))
+		    (if (pair? chain)
+			(if (eq? (car chain) 'list)
+			    (begin
+			      (lint-format "perhaps ~A" caller (lists->string form `(list ,@(reverse args) ,@(cdr chain))))
+			      (set! last-cons-line-number line-number))
+			    (if (and (eq? (car chain) 'cons)
+				     (pair? (cdr chain))
+				     (pair? (cddr chain)))
+				(if (any-null? (caddr chain))
+				    (begin
+				      (lint-format "perhaps ~A" caller (lists->string form `(list ,@(reverse args) ,(cadr chain))))
+				      (set! last-cons-line-number line-number))
+				    (if (and (pair? (caddr chain))
+					     (memq (caaddr chain) '(cons list)))
+					(loop (cons (cadr chain) args) (caddr chain)))))))))))
 	 (hash-table-set! h 'cons sp-cons))
 	
 	;; ---------------- append ----------------
@@ -6170,6 +6749,11 @@
 						      (list ())
 						      (splice-append (cdr lst)))
 						  (append (splice-append (cdar lst)) (splice-append (cdr lst)))))
+					     ((and (pair? (car lst))
+						   (eq? (caar lst) 'copy)
+						   (pair? (cdr lst))
+						   (null? (cddar lst)))
+					      (cons (cadar lst) (splice-append (cdr lst))))
 					     ((or (null? (cdr lst))
 						  (not (or (any-null? (car lst))
 							   (and (pair? (car lst))
@@ -6242,6 +6826,12 @@
 				    (pair? (cddr arg1))
 				    (null? (cdddr arg1)))
 			       (lint-format "perhaps ~A" caller (lists->string form `(cons ,(cadr arg1) (cons ,(caddr arg1) ,arg2)))))
+
+			      ;; not sure about this: reports the un-qq'd form
+			      ((and (eq? (car arg1) #_{list})
+				    (not (qq-tree? arg1)))
+			       (set! last-checker-line-number -1)
+			       (sp-append caller 'append `(append ,(un_{list} arg1) ,arg2) env))
 			      
 			      ((and (eq? (car arg1) 'vector->list)
 				    (pair? arg2)
@@ -6290,7 +6880,7 @@
 			    (not (equal? (cdr form) new-args)))
 		       (lint-format "perhaps ~A" caller (lists->string form `(append , at new-args)))))))))
 	 (hash-table-set! h 'append sp-append))
-	
+
 	;; ---------------- apply ----------------
 	(let ()
 	 (define (sp-apply caller head form env)
@@ -6340,91 +6930,123 @@
 					     
 					     ((any-null? args)                   ; (apply f ()) -> (f)
 					      (lint-format "perhaps ~A" caller (lists->string form (list f))))
-					     
-					     ((not (pair? args)))
-					     
-					     ((eq? (car args) 'list)             ; (apply f (list a b)) -> (f a b)
-					      (lint-format "perhaps ~A" caller (lists->string form `(,f ,@(cdr args)))))
-					     
-					     ((and (eq? (car args) 'quote)       ; (apply eq? '(a b)) -> (eq? 'a 'b)
-						   (= suggestion made-suggestion))
-					      (lint-format "perhaps ~A" caller (lists->string form `(,f ,@(distribute-quote (cadr args))))))
-					     
-					     ((eq? (car args) 'cons)             ; (apply f (cons a b)) -> (apply f a b)
-					      (lint-format "perhaps ~A" caller 
-							   (lists->string form 
-									  (if (and (pair? (caddr args))
-										   (eq? (caaddr args) 'cons))
-									      `(apply ,f ,(cadr args) ,@(cdaddr args))
-									      `(apply ,f ,@(cdr args))))))
-					     
-					     ((and (memq f '(string vector int-vector float-vector))
-						   (memq (car args) '(reverse reverse!))) ; (apply vector (reverse x)) -> (reverse (apply vector x))
-					      (lint-format "perhaps ~A" caller (lists->string form `(reverse (apply ,f ,(cadr args))))))
-					     
-					     ((and (eq? f 'string-append)        ; (apply string-append (map ...))
-						   (eq? (car args) 'map))
-					      (if (eq? (cadr args) 'symbol->string)
-						  (lint-format "perhaps ~A" caller ; (apply string-append (map symbol->string ...))
-							       (lists->string form `(format #f "~{~A~}" ,(caddr args))))
-						  (if (simple-lambda? (cadr args))
-						      (let ((body (caddr (cadr args))))
-							(if (and (pair? body)
-								 (eq? (car body) 'string-append)
-								 (= (length body) 3)
-								 (or (and (string? (cadr body))
-									  (eq? (caddr body) (caadr (cadr args))))
-								     (and (string? (caddr body))
-									  (eq? (cadr body) (caadr (cadr args))))))
-							    (let ((str (string-append "~{" 
-										      (if (string? (cadr body)) (cadr body) "~A")
-										      (if (string? (caddr body)) (caddr body) "~A")
-										      "~}")))
-							      (lint-format "perhaps ~A" caller
-									   (lists->string form `(format #f ,str ,(caddr args))))))))))
-
-					     ((and (eq? f 'string)          ; (apply string (map char-downcase x)) -> (string-downcase (apply string x))
-						   (eq? (car args) 'map)
-						   (memq (cadr args) '(char-upcase char-downcase)))
-					      (lint-format "perhaps, assuming ~A is a list, ~A" caller (caddr args)
-							   (lists->string form `(,(if (eq? (cadr args) 'char-upcase)
-										      'string-upcase 'string-downcase)
-										 (apply string ,(caddr args))))))
-					     
-					     ((and (eq? f 'append)               ; (apply append (map vector->list args)) -> (vector->list (apply append args))
-						   (eq? (car args) 'map)
-						   (eq? (cadr args) 'vector->list))
-					      (lint-format "perhaps ~A" caller (lists->string form `(vector->list (apply append ,@(cddr args))))))
-					     ;; (apply append (map...)) is very common but changing it to
-					     ;;     (map (lambda (x) (apply values (f x))) ...) from (apply append (map f ...))
-					     ;;     is not an obvious win.  The code is more complicated, and currently apply values 
-					     ;;     copies its args (as do apply and append -- how many copies are there here?!
-					     
-					     ((and (eq? (car args) 'append)      ; (apply f (append (list ...)...)) -> (apply f ... ...)
-						   (pair? (cadr args))
-						   (eq? (caadr args) 'list))
-					      (lint-format "perhaps ~A" caller 
-							   (lists->string form `(apply ,f ,@(cdadr args)
-										       ,(if (null? (cddr args)) ()
-											    (if (null? (cdddr args)) (caddr args)
-												`(append ,@(cddr args))))))))))
+
+					     ((or (not (pair? args))
+						  (case (car args) 
+						    ((list)             ; (apply f (list a b)) -> (f a b)
+						     (lint-format "perhaps ~A" caller (lists->string form `(,f ,@(cdr args)))))
+						    
+						    ((quote)            ; (apply eq? '(a b)) -> (eq? 'a 'b)
+						     (and (= suggestion made-suggestion)
+							  (lint-format "perhaps ~A" caller (lists->string form `(,f ,@(distribute-quote (cadr args)))))))
+						    
+						    ((cons)             ; (apply f (cons a b)) -> (apply f a b)
+						     (lint-format "perhaps ~A" caller 
+								  (lists->string form 
+										 (if (and (pair? (caddr args))
+											  (eq? (caaddr args) 'cons))
+										     `(apply ,f ,(cadr args) ,@(cdaddr args))
+										     `(apply ,f ,@(cdr args))))))
+						    
+						    ((append)           ; (apply f (append (list ...)...)) -> (apply f ... ...)
+						     (and (pair? (cadr args))
+							  (eq? (caadr args) 'list)
+							  (lint-format "perhaps ~A" caller 
+								       (lists->string form `(apply ,f ,@(cdadr args)
+												   ,(if (null? (cddr args)) ()
+													(if (null? (cdddr args)) (caddr args)
+													    `(append ,@(cddr args)))))))))
+						    
+						    ((reverse reverse!)   ; (apply vector (reverse x)) -> (reverse (apply vector x))
+						     (and (memq f '(string vector int-vector float-vector))
+							  (lint-format "perhaps ~A" caller (lists->string form `(reverse (apply ,f ,(cadr args)))))))
+
+						    ((make-list)          ; (apply string (make-list x y)) -> (make-string x y)
+						     (if (memq f '(string vector))
+							 (lint-format "perhaps ~A" caller 
+								      (lists->string form
+										     `(,(if (eq? f 'string) 'make-string 'make-vector)
+										       ,@(cdr args))))))
+						    
+						    ((map)
+						     (case f 
+						       ((string-append)        ; (apply string-append (map ...))
+							(if (eq? (cadr args) 'symbol->string)
+							    (lint-format "perhaps ~A" caller ; (apply string-append (map symbol->string ...))
+									 (lists->string form `(format #f "~{~A~}" ,(caddr args))))
+							    (if (simple-lambda? (cadr args))
+								(let ((body (caddr (cadr args))))
+								  (if (and (pair? body)
+									   (eq? (car body) 'string-append)
+									   (= (length body) 3)
+									   (or (and (string? (cadr body))
+										    (eq? (caddr body) (caadr (cadr args))))
+									       (and (string? (caddr body))
+										    (eq? (cadr body) (caadr (cadr args))))))
+								      (let ((str (string-append "~{" 
+												(if (string? (cadr body)) (cadr body) "~A")
+												(if (string? (caddr body)) (caddr body) "~A")
+												"~}")))
+									(lint-format "perhaps ~A" caller
+										     (lists->string form `(format #f ,str ,(caddr args))))))))))
+						       
+						       ((string)          ; (apply string (map char-downcase x)) -> (string-downcase (apply string x))
+							(if (memq (cadr args) '(char-upcase char-downcase))
+							    (lint-format "perhaps, assuming ~A is a list, ~A" caller (caddr args)
+									 (lists->string form `(,(if (eq? (cadr args) 'char-upcase)
+												    'string-upcase 'string-downcase)
+											       (apply string ,(caddr args)))))))
+						       
+						       ((append)        ; (apply append (map vector->list args)) -> (vector->list (apply append args))
+							(and  (eq? (cadr args) 'vector->list)
+							      (lint-format "perhaps ~A" caller (lists->string form `(vector->list (apply append ,@(cddr args)))))))
+
+						       (else #f)))
+						    ;; (apply append (map...)) is very common but changing it to
+						    ;;     (map (lambda (x) (apply values (f x))) ...) from (apply append (map f ...))
+						    ;;     is not an obvious win.  The code is more complicated, and currently apply values 
+						    ;;     copies its args (as do apply and append -- how many copies are there here?!
+						    
+						    ;; need to check for only one apply values
+						    ((#_{list})          ; (apply f `(,x , at z)) -> (apply f x z)
+						     (let ((last-arg (list-ref args (- (length args) 1))))
+						       (if (and (pair? last-arg)
+								(eq? (car last-arg) #_{apply_values})
+								(= (tree-count1 #_{apply_values} args 0) 1))
+							   (lint-format "perhaps ~A" caller
+									(lists->string form
+										       `(apply ,f
+											       ,@(copy args (make-list (- (length args) 2)) 1)
+											       ,(cadr last-arg))))
+							   (if (not (tree-member #_{apply_values} (cdr args)))
+							       (lint-format "perhaps ~A" caller
+									    (lists->string form
+											   `(,f ,@(un_{list} (cdr args))))))))))))))
 				     (begin ; len > 3
 				       (when (and (pair? last-arg)
 						  (eq? (car last-arg) 'list)            ; (apply f y z (list a b)) -> (f y z a b)
 						  (not (hash-table-ref syntaces f))) ; also not any-macro I presume
 					 (lint-format "perhaps ~A" caller 
 						      (lists->string form 
-								     `(,@(copy (cdr form) (make-list (- len 2))) 
-								       ,@(cdr last-arg)))))
+								     (append (copy (cdr form) (make-list (- len 2))) 
+									     (cdr last-arg)))))
 				       
 				       ;; can't cleanly go from (apply write o p) to (write o (car p)) since p can be ()
 				       
 				       (when (and (not happy)
 						  (not (memq f '(define define* define-macro define-macro* define-bacro define-bacro* lambda lambda*)))
 						  (any-null? last-arg))                 ; (apply f ... ()) -> (f ...)
-					 (lint-format "perhaps ~A" caller (lists->string form `(,f ,@(copy (cddr form) (make-list (- len 3))))))))))))))))))
+					 (lint-format "perhaps ~A" caller (lists->string form `(,f ,@(copy (cddr form) (make-list (- len 3)))))))))))))))
+	       (if (and (= suggestion made-suggestion)
+			(symbol? (cadr form)))
+		   (let ((ary (arg-arity (cadr form) env)))
+		     (if (and (pair? ary)
+			      (= (cdr ary) (- len 2)))
+			 (lint-format "perhaps ~A" caller
+				      (lists->string form `(,@(copy (cdr form) (make-list (- len 2))) (car ,(list-ref form (- len 1))))))))))))
+
 	 (hash-table-set! h 'apply sp-apply))
-	
+
 	;; ---------------- format ----------------
 	(let ()
 	  (define (sp-format caller head form env)
@@ -6441,9 +7063,10 @@
 			      (not (string? (cadr form))))
 			 (lint-format "format with one argument takes a string: ~A" caller (truncated-list->string form)))
 
-			((and (not (cadr form))
-			      (string? (caddr form)))
-			 (lint-format "perhaps ~A" caller (lists->string form (caddr form)))))
+			((and (string? (cadr form)) ; (format "str") -> str
+			      (eq? head 'format)    ; not snd-display
+			      (not (char-position #\~ (cadr form))))
+			 (lint-format "perhaps ~A" caller (lists->string form (cadr form)))))
 		  env)
 		
 		(let ((control-string ((if (string? (cadr form)) cadr caddr) form))
@@ -6549,6 +7172,10 @@
 				       (string-position "WARNING" arg))))
 			    (cdr form))
 		      (lint-format "There's no need to shout: ~A" caller (truncated-list->string form)))
+
+		  (if (and (eq? (cadr form) 't)
+			   (not (var-member 't env)))
+		      (lint-format "'t in ~A should probably be #t" caller (truncated-list->string form)))
 		  
 		  (if (not (string? control-string))
 		      (if (not (proper-list? args))
@@ -6637,23 +7264,6 @@
 		   (lint-format "~A -> ~A" caller (truncated-list->string form) (apply format #f info))))
 	       
 	       (let ((str (cadr form)))
-		 (when (and (pair? str)
-			    (eq? (car str) 'substring)
-			    (pair? (cddr form))
-			    (null? (cdddr form))
-			    (null? (cdddr str)))
-		   (lint-format "perhaps ~A" caller 
-				(lists->string form 
-					       (if (and (integer? (caddr form))
-							(integer? (caddr str)))
-						   `(substring ,(cadr str) ,(+ (caddr str) (caddr form)))
-						   `(substring ,(cadr str) (+ ,(caddr str) ,(caddr form)))))))
-		 
-		 ;; end indices are complicated -- since this rarely happens, not worth the trouble
-		 (if (and (integer? (caddr form))
-			  (zero? (caddr form))
-			  (null? (cdddr form)))
-		     (lint-format "perhaps clearer: ~A" caller (lists->string form `(copy ,str))))
 
 		 (when (string? str)      ; (substring "++++++" 0 2) -> (make-string 2 #\+)
 		   (let ((len (length str)))
@@ -6669,113 +7279,186 @@
 									    `(- ,(cadddr form) ,(caddr form)))
 									`(- ,len ,(caddr form))))))
 						     `(make-string ,chars ,(string-ref str 0))))))))
-		 (when (pair? (cdddr form))
-		   (let ((end (cadddr form)))
-		     (if (equal? (caddr form) end)
-			 (lint-format "leaving aside errors, ~A is \"\"" caller form))
-		     
+		 (when (pair? (cddr form))
+		   (when (null? (cdddr form))
 		     (when (and (pair? str)
-				(eqv? (caddr form) 0)
-				(eq? (car str) 'string-append)
-				(= (length str) 3))
-		       (let ((in-arg2 (caddr str)))
-			 (if (and (pair? in-arg2)
-				  (eq? (car in-arg2) 'make-string)
-				  (equal? (cadddr form) (cadr in-arg2)))
-			     (lint-format "perhaps ~A" caller
-					  (lists->string form `(copy ,(cadr str) (make-string ,(cadddr form) ,(caddr in-arg2))))))))
+				(eq? (car str) 'substring)
+				(null? (cdddr str)))
+		       (lint-format "perhaps ~A" caller 
+				    (lists->string form 
+						   (if (and (integer? (caddr form))
+							    (integer? (caddr str)))
+						       `(substring ,(cadr str) ,(+ (caddr str) (caddr form)))
+						       `(substring ,(cadr str) (+ ,(caddr str) ,(caddr form)))))))
 		     
-		     (if (and (pair? end)      ; (substring x start (length|string-length x)) -> (substring s start)
-			      (memq (car end) '(string-length length))
-			      (equal? (cadr end) str))
-			 (lint-format "perhaps ~A" caller (lists->string form (copy form (make-list 3))))
-			 
-			 (when (symbol? end)
-			   (let ((v (var-member end env)))
-			     (if (and (var? v)
-				      (equal? `(string-length ,str) (var-initial-value v))
-				      (not (any? (lambda (p)
-						   (set!? p env))
-						 (var-history v))))
-				 (lint-format "perhaps, if ~A is still ~A, ~A" caller end (var-initial-value v)
-					      (lists->string form (copy form (make-list 3)))))))))))))
+		     ;; end indices are complicated -- since this rarely happens, not worth the trouble
+		     (if (eqv? (caddr form) 0)
+			 (lint-format "perhaps clearer: ~A" caller (lists->string form `(copy ,str)))))
+		   
+		   (when (pair? (cdddr form))
+		     (let ((end (cadddr form)))
+		       (if (equal? (caddr form) end)
+			   (lint-format "leaving aside errors, ~A is \"\"" caller form))
+		       
+		       (when (and (pair? str)
+				  (eqv? (caddr form) 0)
+				  (eq? (car str) 'string-append)
+				  (= (length str) 3))
+			 (let ((in-arg2 (caddr str)))
+			   (if (and (pair? in-arg2)
+				    (eq? (car in-arg2) 'make-string)
+				    (equal? (cadddr form) (cadr in-arg2)))
+			       (lint-format "perhaps ~A" caller
+					    (lists->string form `(copy ,(cadr str) (make-string ,(cadddr form) ,(caddr in-arg2))))))))
+		       
+		       (if (and (pair? end)      ; (substring x start (length|string-length x)) -> (substring s start)
+				(memq (car end) '(string-length length))
+				(equal? (cadr end) str))
+			   (lint-format "perhaps ~A" caller (lists->string form (copy form (make-list 3))))
+			   
+			   (when (symbol? end)
+			     (let ((v (var-member end env)))
+			       (if (and (var? v)
+					(equal? `(string-length ,str) (var-initial-value v))
+					(not (any? (lambda (p)
+						     (set!? p env))
+						   (var-history v))))
+				   (lint-format "perhaps, if ~A is still ~A, ~A" caller end (var-initial-value v)
+						(lists->string form (copy form (make-list 3))))))))))))))
 	 
 	 (hash-table-set! h 'substring sp-substring))
 	
+	;; ---------------- list, *vector ----------------
+	(let ((seq-maker (lambda (seq)
+			   (cdr (assq seq '((list . make-list) 
+					    (vector . make-vector)
+					    (float-vector . make-float-vector)
+					    (int-vector . make-int-vector)
+					    (byte-vector . make-byte-vector))))))
+	      (seq-default (lambda (seq)
+			     (cdr (assq seq '((list . #f) 
+					      (vector . #<unspecified>)
+					      (float-vector . 0.0)
+					      (int-vector . 0)
+					      (byte-vector . 0)))))))
+	  (define (sp-list caller head form env)
+	    (let ((len (length form))
+		  (val (and (pair? (cdr form))
+			    (cadr form))))
+	      (when (and (> len 2)
+			 (every? (lambda (a) (equal? a val)) (cddr form)))
+		(if (code-constant? val)
+		    (if (> len 4)
+			(lint-format "perhaps ~A~A" caller
+				     (lists->string form 
+						    (if (eqv? (seq-default head) val)
+							`(,(seq-maker head) ,(- len 1))
+							`(,(seq-maker head) ,(- len 1) ,val)))
+				     (if (and (sequence? val)
+					      (not (null? val)))
+					 (format #f "~%~NCor wrap (copy ~S) in a function and call that ~A times"
+						 lint-left-margin #\space
+						 val (- len 1))
+					 "")))
+		    (if (pair? val)
+			(if (or (side-effect? val env)
+				(memq (car val) makers))
+			    (if (> (tree-leaves val) 2)
+				;; I think we need to laboriously repeat the function call here:
+				;;    (let ((a 1) (b 2) (c 3)) 
+				;;      (define f (let ((ctr 0)) (lambda (x y z) (set! ctr (+ ctr 1)) (+ x y ctr (* 2 z)))))
+				;;      (list (f a b c) (f a b c) (f a b c) (f a b c))
+				;; so (apply list (make-list 4 (_1_))) or variants thereof fail
+				;;   (eval (append '(list) (make-list 4 '(_1_))))
+				;; works, but it's too ugly.
+				(lint-format "perhaps ~A" caller
+					     (lists->string form 
+							    `(let ((_1_ (lambda () ,val)))
+							       (,head ,@(make-list (- len 1) '(_1_)))))))
+			    ;; if seq copy else
+			    (lint-format "perhaps ~A" caller
+					 (lists->string  form `(,(seq-maker head) ,(- len 1) ,val)))))))))
+
+	  (for-each (lambda (f) (hash-table-set! h f sp-list)) '(list vector int-vector float-vector byte-vector)))
+
 	;; ---------------- list-tail ----------------
 	(let ()
-	 (define (sp-list-tail caller head form env)
-	   (if (= (length form) 3)
-	       (if (eqv? (caddr form) 0)
-		   (lint-format "perhaps ~A" caller (lists->string form (cadr form)))
-		   (if (and (pair? (cadr form))
-			    (eq? (caadr form) 'list-tail))
-		       (lint-format "perhaps ~A" caller 
-				    (lists->string form 
-						   (if (and (integer? (caddr form))
-							    (integer? (caddr (cadr form))))
-						       `(list-tail ,(cadadr form) ,(+ (caddr (cadr form)) (caddr form)))
-						       `(list-tail ,(cadadr form) (+ ,(caddr (cadr form)) ,(caddr form))))))))))
-	 (hash-table-set! h 'list-tail sp-list-tail))
-
+	  (define (sp-list-tail caller head form env)
+	    (if (= (length form) 3)
+		(if (eqv? (caddr form) 0)
+		    (lint-format "perhaps ~A" caller (lists->string form (cadr form)))
+		    (if (and (pair? (cadr form))
+			     (eq? (caadr form) 'list-tail))
+			(lint-format "perhaps ~A" caller 
+				     (lists->string form 
+						    (if (and (integer? (caddr form))
+							     (integer? (caddr (cadr form))))
+							`(list-tail ,(cadadr form) ,(+ (caddr (cadr form)) (caddr form)))
+							`(list-tail ,(cadadr form) (+ ,(caddr (cadr form)) ,(caddr form))))))))))
+	  (hash-table-set! h 'list-tail sp-list-tail))
+	
 	;; ---------------- eq? ----------------
 	(let ()
-	 (define (sp-eq? caller head form env)
-	   (if (< (length form) 3)
-	       (lint-format "eq? needs 2 arguments: ~A" caller (truncated-list->string form))
-	       (let* ((arg1 (cadr form))
-		      (arg2 (caddr form))
-		      (eq1 (eqf arg1 env))
-		      (eq2 (eqf arg2 env))
-		      (specific-op (and (eq? (cadr eq1) (cadr eq2))
-					(not (memq (cadr eq1) '(eqv? equal?)))
-					(cadr eq1))))
-		 
-		 (eval-constant-expression caller form)
-		 
-		 (if (or (eq? (car eq1) 'equal?)
-			 (eq? (car eq2) 'equal?))
-		     (lint-format "eq? should be equal?~A in ~S" caller (if specific-op (format #f " or ~A" specific-op) "") form)
-		     (if (or (eq? (car eq1) 'eqv?)
-			     (eq? (car eq2) 'eqv?))
-			 (lint-format "eq? should be eqv?~A in ~S" caller (if specific-op (format #f " or ~A" specific-op) "") form)))
-		 
-		 (let ((expr 'unset))
-		   (cond ((or (not arg1)                  ; (eq? #f x) -> (not x)
-			      (quoted-not? arg1))
-			  (set! expr (simplify-boolean `(not ,arg2) () () env)))
-			 
-			 ((or (not arg2)                  ; (eq? x #f) -> (not x)
-			      (quoted-not? arg2))
-			  (set! expr (simplify-boolean `(not ,arg1) () () env)))
-			 
-			 ((and (any-null? arg1)           ; (eq? () x) -> (null? x)
-			       (not (code-constant? arg2)))
-			  (set! expr (or (equal? arg2 '(list)) ; (eq? () (list)) -> #t
-					 `(null? ,arg2))))
-			 
-			 ((and (any-null? arg2)           ; (eq? x ()) -> (null? x)
-			       (not (code-constant? arg1)))
-			  (set! expr (or (equal? arg1 '(list))
-					 `(null? ,arg1))))
-			 
-			 ((and (eq? arg1 #t)              ; (eq? #t <boolean-expr>) -> boolean-expr
-			       (pair? arg2)
-			       (eq? (return-type (car arg2) env) 'boolean?))
-			  (set! expr arg2))
-			 
-			 ((and (eq? arg2 #t)              ; (eq? <boolean-expr> #t) -> boolean-expr
-			       (pair? arg1)
-			       (eq? (return-type (car arg1) env) 'boolean?))
-			  (set! expr arg1)))
-		   
-		   (if (not (eq? expr 'unset))
-		       (lint-format "perhaps ~A" caller (lists->string form expr)))))))
-	 (hash-table-set! h 'eq? sp-eq?))
+	  (define (sp-eq? caller head form env)
+	    (if (< (length form) 3)
+		(lint-format "eq? needs 2 arguments: ~A" caller (truncated-list->string form))
+		(let* ((arg1 (cadr form))
+		       (arg2 (caddr form))
+		       (eq1 (eqf arg1 env))
+		       (eq2 (eqf arg2 env))
+		       (specific-op (and (eq? (cadr eq1) (cadr eq2))
+					 (not (memq (cadr eq1) '(eqv? equal?)))
+					 (cadr eq1))))
+		  
+		  (eval-constant-expression caller form)
+		  
+		  (if (or (eq? (car eq1) 'equal?)
+			  (eq? (car eq2) 'equal?))
+		      (lint-format "eq? should be equal?~A in ~S" caller (if specific-op (format #f " or ~A" specific-op) "") form)
+		      (if (or (eq? (car eq1) 'eqv?)
+			      (eq? (car eq2) 'eqv?))
+			  (lint-format "eq? should be eqv?~A in ~S" caller (if specific-op (format #f " or ~A" specific-op) "") form)))
+		  
+		  (let ((expr 'unset))
+		    (cond ((or (not arg1)                  ; (eq? #f x) -> (not x)
+			       (quoted-not? arg1))
+			   (set! expr (simplify-boolean `(not ,arg2) () () env)))
+			  
+			  ((or (not arg2)                  ; (eq? x #f) -> (not x)
+			       (quoted-not? arg2))
+			   (set! expr (simplify-boolean `(not ,arg1) () () env)))
+			  
+			  ((and (any-null? arg1)           ; (eq? () x) -> (null? x)
+				(not (code-constant? arg2)))
+			   (set! expr (or (equal? arg2 '(list)) ; (eq? () (list)) -> #t
+					  `(null? ,arg2))))
+			  
+			  ((and (any-null? arg2)           ; (eq? x ()) -> (null? x)
+				(not (code-constant? arg1)))
+			   (set! expr (or (equal? arg1 '(list))
+					  `(null? ,arg1))))
+			  
+			  ((and (eq? arg1 #t)              ; (eq? #t <boolean-expr>) -> boolean-expr
+				(pair? arg2)
+				(eq? (return-type (car arg2) env) 'boolean?))
+			   (set! expr arg2))
+			  
+			  ((and (eq? arg2 #t)              ; (eq? <boolean-expr> #t) -> boolean-expr
+				(pair? arg1)
+				(eq? (return-type (car arg1) env) 'boolean?))
+			   (set! expr arg1)))
+		    
+		    (if (not (eq? expr 'unset))
+			(lint-format "perhaps ~A" caller (lists->string form expr)))))))
+	  (hash-table-set! h 'eq? sp-eq?))
 	
-	;; ---------------- eqv? equal? morally-equal? ----------------
+	;; ---------------- eqv? equal? ----------------
 	(let ()
 	  (define (sp-eqv? caller head form env)
+	    (define (useless-copy? a)
+	      (and (pair? a)
+		   (memq (car a) '(copy string-copy vector-copy list-copy))
+		   (null? (cddr a))))
 	    (if (< (length form) 3)
 		(lint-format "~A needs 2 arguments: ~A" caller head (truncated-list->string form))
 		(let* ((arg1 (cadr form))
@@ -6788,6 +7471,12 @@
 		  
 		  (eval-constant-expression caller form)
 
+		  (if (or (useless-copy? arg1)
+			  (useless-copy? arg2))
+		      (lint-format "perhaps ~A" caller
+				   (lists->string form
+						  `(,head ,(if (useless-copy? arg1) (cadr arg1) arg1)
+							  ,(if (useless-copy? arg2) (cadr arg2) arg2)))))
 		  (if (and (string? (cadr form))
 			   (= (length (cadr form)) 1))
 		      (let ((s2 (caddr form)))
@@ -6861,6 +7550,41 @@
 			       (truncated-list->string form))
 		  (let ((func (cadr form))
 			(ary #f))
+
+		    ;; if zero or one args, the map/for-each is either a no-op or a function call
+		    (if (any? any-null? (cddr form))
+			(lint-format "this ~A has no effect (null arg)" caller (truncated-list->string form))
+			(if (and (not (tree-memq 'values form)) ; e.g. flatten in s7.html
+				 (any? (lambda (p)
+				    (and (pair? p)
+					 (case (car p)
+					   ((quote)
+					    (and (pair? (cadr p))
+						 (null? (cdadr p))))
+					   ((list)
+					    (null? (cddr p)))
+					   ((cons)
+					    (any-null? (caddr p)))
+					   (else #f))))
+				  (cddr form)))
+			    (lint-format "perhaps ~A" caller
+					 (lists->string form
+							(let ((args (map (lambda (a)
+									   (if (pair? a)
+									       (case (car a)
+										 ((list cons)
+										  (cadr a))       ; slightly inaccurate
+										 ((quote)
+										  (caadr a))
+										 (else `(,a 0))) ; not car -- might not be a list
+									       `(,a 0)))         ;   but still not right -- arg might be a hash-table
+									 (cddr form))))
+							  (if (eq? head 'for-each)
+							      `(,(cadr form) , at args)
+							      `(list (,(cadr form) , at args))))))))
+		    ;; 2 happens a lot, but introduces evaluation order quibbles
+		    ;;   we used to check for values if list arg -- got 4 hits!
+
 		    (if (and (symbol? func)
 			     (procedure? (symbol->value func *e*)))
 			(begin
@@ -6954,34 +7678,10 @@
 			  (case (car seq)
 			    ((cons)
 			     (if (and (pair? (cdr seq))
-				      (pair? (cddr seq)))
-				 (if (any-null? (caddr seq))
-				     (lint-format "perhaps ~A" caller
-						  (lists->string form 
-								 (if (eq? head 'map)
-								     `(list (,(cadr form) ,(cadr seq)))
-								     `(,(cadr form) ,(cadr seq)))))
-				     (if (code-constant? (caddr seq))
-					 (lint-format "~A will ignore ~S in ~A" caller head (caddr seq) seq)))))
-			    ((list)
-			     (if (and (pair? (cdr seq))
-				      (null? (cddr seq)))
-				 (let* ((list-arg (cadr seq))
-					(sig (and (pair? list-arg)
-						  (arg-signature seq env))))
-				   (if (not (or (and (pair? sig)
-						     (pair? (car sig))
-						     (memq 'values (car sig)))
-						(tree-memq 'values list-arg)))
-				       (lint-format "~Aperhaps ~A" caller
-						    (if (or sig
-							    (not (pair? list-arg)))
-							""
-							(format #f "assuming ~A does not return multiple values, " list-arg))
-						    (lists->string form 
-								   (if (eq? head 'map)
-								       `(list (,(cadr form) ,list-arg))
-								       `(,(cadr form) ,list-arg))))))))
+				      (pair? (cddr seq))
+				      (code-constant? (caddr seq)))
+				 (lint-format "~A will ignore ~S in ~A" caller head (caddr seq) seq)))
+
 			    ((map)
 			     (when (= (length seq) 3)
 			       ;; a toss-up -- probably faster to combine funcs here, and easier to read?
@@ -7034,46 +7734,46 @@
 						   (lists->string form `(format () ,op ,seq)))))
 				(when (and (pair? func)
 					   (eq? (car func) 'lambda))
-				  (let* ((body (cddr func))
-					 (op (write-port (car body)))
-					 (larg (and (pair? (cadr func))
-						    (caadr func))))
-				    (when (and (symbol? larg)
-					       (null? (cdadr func)) ; just one arg (one sequence to for-each) for now
-					       (every? (lambda (x)
-							 (and (pair? x)
-							      (memq (car x) '(display write newline write-char write-string))
-							      (or (eq? (car x) 'newline)
-								  (eq? (cadr x) larg)
-								  (string? (cadr x))
-								  (eqv? (cadr x) #\space)
-								  (and (pair? (cadr x))
-								       (pair? (cdadr x))
-								       (eq? (caadr x) 'number->string)
-								       (eq? (cadadr x) larg)))
-							      (eq? (write-port x) op)))
-						       body))
-				      ;; (for-each (lambda (x) (display x) (write-char #\space)) msg)
-				      ;; (for-each (lambda (elt) (display elt)) lst)
-				      (let ((ctrl-string "")
-					    (arg-ctr 0))
-					
-					(define* (gather-format str (arg :unset))
-					  (set! ctrl-string (string-append ctrl-string str)))
-					
-					(for-each
-					 (lambda (d)
-					   (if (or (memq larg d) 
-						   (and (pair? (cdr d))
-							(pair? (cadr d))
-							(memq larg (cadr d))))
-					       (set! arg-ctr (+ arg-ctr 1)))
-					   (gather-format (display->format d)))
-					 body)
-					
-					(when (= arg-ctr 1)
-					  (lint-format "perhaps ~A" caller 
-						       (lists->string form `(format ,op ,(string-append "~{" ctrl-string "~}") ,seq))))))))
+				  (let ((body (cddr func)))
+				    (let ((op (write-port (car body)))
+					  (larg (and (pair? (cadr func))
+						     (caadr func))))
+				      (when (and (symbol? larg)
+						 (null? (cdadr func)) ; just one arg (one sequence to for-each) for now
+						 (every? (lambda (x)
+							   (and (pair? x)
+								(memq (car x) '(display write newline write-char write-string))
+								(or (eq? (car x) 'newline)
+								    (eq? (cadr x) larg)
+								    (string? (cadr x))
+								    (eqv? (cadr x) #\space)
+								    (and (pair? (cadr x))
+									 (pair? (cdadr x))
+									 (eq? (caadr x) 'number->string)
+									 (eq? (cadadr x) larg)))
+								(eq? (write-port x) op)))
+							 body))
+					;; (for-each (lambda (x) (display x) (write-char #\space)) msg)
+					;; (for-each (lambda (elt) (display elt)) lst)
+					(let ((ctrl-string "")
+					      (arg-ctr 0))
+					  
+					  (define* (gather-format str (arg :unset))
+					    (set! ctrl-string (string-append ctrl-string str)))
+					  
+					  (for-each
+					   (lambda (d)
+					     (if (or (memq larg d) 
+						     (and (pair? (cdr d))
+							  (pair? (cadr d))
+							  (memq larg (cadr d))))
+						 (set! arg-ctr (+ arg-ctr 1)))
+					     (gather-format (display->format d)))
+					   body)
+					  
+					  (when (= arg-ctr 1)
+					    (lint-format "perhaps ~A" caller 
+							 (lists->string form `(format ,op ,(string-append "~{" ctrl-string "~}") ,seq)))))))))
 				)))))))))
 	  (for-each (lambda (f)
 		      (hash-table-set! h f sp-map))
@@ -7086,7 +7786,12 @@
 	   (if (and (= (length form) 2)
 		    (memq (->lint-type (cadr form)) '(integer? rational? real?)))
 	       (lint-format "perhaps use abs here: ~A" caller form))))
-	
+
+	;; (hash-table-set! h 'modulo (lambda (caller head form env) (format *stderr* "~A~%" form)))
+	;; (modulo (- 512 (modulo offset 512)) 512)
+	;; (modulo (char->integer (string-ref seed j)) 255)
+
+
 	;; ---------------- open-input-file open-output-file ----------------
 	(let ()
 	  (define (sp-open-input-file caller head form env)
@@ -7100,15 +7805,35 @@
 		    '(open-input-file open-output-file)))
 	
 	;; ---------------- values ----------------
-	(hash-table-set! 
-	 h 'values 
-	 (lambda (caller head form env)
-	   (if (member 'values (cdr form) (lambda (a b)
-					    (and (pair? b)
-						 (eq? (car b) 'values))))
-	       (lint-format "perhaps ~A" caller (lists->string form `(values ,@(splice-if (lambda (x) (eq? x 'values)) (cdr form)))))
-	       (if (= (length form) 2)
-		   (lint-format "perhaps ~A" caller (lists->string form (cadr form)))))))
+	(let ()
+	  (define (sp-values caller head form env)
+	    (cond ((member 'values (cdr form) (lambda (a b)
+						(and (pair? b)
+						     (eq? (car b) 'values))))
+		   (lint-format "perhaps ~A" caller (lists->string form `(values ,@(splice-if (lambda (x) (eq? x 'values)) (cdr form))))))
+		  ((= (length form) 2)
+		   (lint-format "perhaps ~A" caller 
+				(lists->string form 
+					       (if (and (pair? (cadr form))
+							(eq? (caadr form) #_{list})
+							(not (qq-tree? (cadr form))))
+						   (un_{list} (cadr form))
+						   (cadr form)))))
+		  ((and (assq #_{list} (cdr form))
+			(not (any? (lambda (a)
+				     (and (pair? a)
+					  (memq (car a) '(#_{list} #_{apply_values}))
+					  (qq-tree? a)))
+				   (cdr form))))
+		   (lint-format "perhaps ~A" caller
+				(lists->string form 
+					       `(values ,@(map (lambda (a)
+								 (if (and (pair? a)
+									  (eq? (car a) #_{list}))
+								     (un_{list} a)
+								     a))
+							       (cdr form))))))))
+	  (hash-table-set! h 'values sp-values))
 	
 	;; ---------------- call-with-values ----------------
 	(let ()
@@ -7280,11 +8005,11 @@
 				      
 				      (else
 				       (let-temporarily ((target-line-length 120))
-							(truncated-lists->string form
-										 `(varlet (curlet) 
-										    ((lambda ,(cadr form) 
-										       (curlet)) 
-										     ,(caddr form)))))))))))))
+					 (truncated-lists->string form
+								  `(varlet (curlet) 
+								     ((lambda ,(cadr form) 
+									(curlet)) 
+								      ,(caddr form)))))))))))))
 	;; ---------------- eval ----------------
 	(let ()
 	 (define (sp-eval caller head form env)
@@ -7367,20 +8092,40 @@
 	       (lint-format "the third argument should be boolean (#f=default, #t=include trailing newline): ~A" caller form))))
 	
 	;; ---------------- string-length ----------------
-	(hash-table-set! 
-	 h 'string-length 
-	 (lambda (caller head form env)
-	   (if (and (= (length form) 2)
-		    (string? (cadr form)))
-	       (lint-format "perhaps ~A -> ~A" caller (truncated-list->string form) (string-length (cadr form))))))
+	(let ()
+	  (define (sp-string-length caller head form env)
+	    (when (= (length form) 2)
+	      (if (string? (cadr form))
+		  (lint-format "perhaps ~A -> ~A" caller (truncated-list->string form) (string-length (cadr form)))
+		  (if (and (pair? (cadr form))
+			   (eq? (caadr form) 'make-string))
+		      (lint-format "perhaps ~A" caller (lists->string form (cadadr form)))))))
+
+	  (hash-table-set! h 'string-length sp-string-length))
 	
 	;; ---------------- vector-length ----------------
-	(hash-table-set! 
-	 h 'vector-length 
-	 (lambda (caller head form env)
-	   (if (and (= (length form) 2)
-		    (vector? (cadr form)))
-	       (lint-format "perhaps ~A -> ~A" caller (truncated-list->string form) (vector-length (cadr form))))))
+	(let ()
+	  (define (sp-vector-length caller head form env)
+	    (when (= (length form) 2)
+	      (if (vector? (cadr form))
+		  (lint-format "perhaps ~A -> ~A" caller (truncated-list->string form) (vector-length (cadr form)))
+		  (let ((arg (cadr form)))
+		    (if (pair? arg)
+			(if (eq? (car arg) 'make-vector)
+			    (lint-format "perhaps ~A" caller (lists->string form (cadr arg)))
+			    (if (memq (car arg) '(copy vector-copy))
+				(lint-format "perhaps ~A" caller 
+					     (lists->string form
+							    (if (null? (cddr arg))
+								`(vector-length ,(cadr arg))
+								(if (eq? (car arg) 'copy)
+								    `(vector-length ,(caddr arg))
+								    (let ((start (caddr arg))
+									  (end (if (null? (cdddr arg))
+										   `(vector-length ,(cadr arg))
+										   (cadddr arg))))
+								      `(- ,end ,start)))))))))))))
+	  (hash-table-set! h 'vector-length sp-vector-length))
 	
 	;; ---------------- dynamic-wind ----------------
 	(let ()
@@ -7543,6 +8288,10 @@
 			     (bitwise-ior . logior) 
 			     (bitwise-xor . logxor) 
 			     (bitwise-not . lognot)
+			     (bit-and . logand) 
+			     (bit-or . logior) 
+			     (bit-xor . logxor) 
+			     (bit-not . lognot)
 			     (arithmetic-shift . ash)
 			     (vector-for-each . for-each)
 			     (string-for-each . for-each)
@@ -7554,6 +8303,20 @@
 			     (bytevector-u8-set! . byte-vector-set!)
 			     (bytevector-length . length)
 			     (write-bytevector . write-string)
+			     (hash-set! . hash-table-set!)     ; Guile
+			     (hash-ref . hash-table-ref)
+			     (hashq-set! . hash-table-set!)
+			     (hashq-ref . hash-table-ref)
+			     (hashv-set! . hash-table-set!)
+			     (hashv-ref . hash-table-ref)
+			     (hash-table-get . hash-table-ref) ; Gauche
+			     (hash-table-put! . hash-table-set!)
+			     (hash-table-num-entries . hash-table-entries)
+			     (hashtable? . hash-table?) ; Bigloo
+			     (hashtable-size . hash-table-entries)
+			     (hashtable-get . hash-table-ref)
+			     (hashtable-put! . hash-table-set!)
+			     (hash-for-each . for-each)
 			     (exact-integer? . integer?)
 			     (truncate-quotient . quotient)
 			     (truncate-remainder . remainder)
@@ -7571,7 +8334,7 @@
 	  (define (sp-other-names caller head form env)
 	    (if (not (var-member head env))
 		(let ((counts (hash-table-ref other-names-counts head)))
-		  (when (< (or counts 0) 3)
+		  (when (< (or counts 0) 2)
 		    (hash-table-set! other-names-counts head (+ (or counts 0) 1))
 		    (lint-format "~A is probably ~A in s7" caller head (cdr (assq head other-names)))))))
 
@@ -7585,11 +8348,14 @@
 	   (if (not (var-member '1+ env))
 	       (lint-format "perhaps ~A" caller (lists->string form `(+ ,(cadr form) 1))))))
 
-	(hash-table-set! 
-	 h '-1+ 
-	 (lambda (caller head form env)
-	   (if (not (var-member '-1+ env))
-	       (lint-format "perhaps ~A" caller (lists->string form `(- ,(cadr form) 1))))))
+	(let ()
+	  (define (sp-1- caller head form env)
+	    (if (not (var-member '-1+ env))
+		(lint-format "perhaps ~A" caller (lists->string form `(- ,(cadr form) 1)))))
+
+	  (hash-table-set! h '-1+ sp-1-)
+	  (hash-table-set! h '1- sp-1-))
+
 
 	;; ---------------- push! pop! ----------------	
 	(hash-table-set! 
@@ -7872,7 +8638,7 @@
 		  (if (and (pair? arg)
 			   (pair? (car arg)))
 		      (let ((rtn (return-type (caar arg) env)))
-			(if (memq rtn '(boolean? real? integer? rational? number? complex? float? pair? keyword? symbol? null? char?))
+			(if (memq rtn '(boolean? real? integer? rational? number? complex? float? keyword? symbol? null? char?))
 			    (lint-format* caller 
 					  (string-append (symbol->string head) "'s argument ")
 					  (string-append (truncated-list->string arg) " looks odd: ")
@@ -7902,7 +8668,8 @@
 					       (not (var-member arg env)))
 					  (symbol->value arg *e*))
 					 (else arg))))
-			  (if (not (or (symbol? val)
+			  (if (not (or (and (symbol? val)
+					    (not (keyword? val)))
 				       (any-checker? checker val)))
 			      (let ((op (->lint-type val)))
 				(unless (memq op '(#f #t values))
@@ -7910,7 +8677,10 @@
 			
 			(case (car arg) 
 			  ((quote)   ; '1 -> 1
-			   (let ((op (if (pair? (cadr arg)) 'list? (->lint-type (cadr arg)))))
+			   (let ((op (if (pair? (cadr arg)) 'list? 
+					 (if (symbol? (cadr arg))
+					     'symbol?
+					     (->lint-type (cadr arg))))))
 			     ;; arg is quoted expression
 			     (if (not (or (memq op '(#f #t values))
 					  (every-compatible? checker op)))
@@ -7944,7 +8714,7 @@
 				    (pair? (cddr arg)))
 			       (let ((end+res (caddr arg)))
 				 (check-arg (if (pair? (cdr end+res))
-						(list-ref (cdr end+res) (- (length end+res) 2))
+						(list-ref end+res (- (length end+res) 1))
 						())))))
 			  
 			  ((case)
@@ -7988,24 +8758,27 @@
 				 (for-each c-walk (cddr f))))))
 			  
 			  ((values) 
-			   (when (positive? (length arg))
-			     (cond ((null? (cdr arg)) ; #<unspecified>
-				    (if (not (any-checker? checker #<unspecified>))
-					(report-arg-trouble caller form head arg-number checker arg 'unspecified?)))
-				   ((null? (cddr arg))
-				    (check-arg (cadr arg)))
-				   (else
-				    (for-each
-				     (lambda (expr rest)
-				       (check-arg expr)
-				       (set! arg-number (+ arg-number 1))
-				       (if (> arg-number max-arity) (done))
-				       (if (list? checkers)
-					   (if (null? (cdr checkers))
-					       (done)
-					       (set! checkers (cdr checkers)))))
-				     (cdr arg) (cddr arg))
-				    (check-arg (list-ref arg (- (length arg) 1)))))))
+			   (cond ((not (positive? (length arg))))
+				 
+				 ((null? (cdr arg)) ; #<unspecified>
+				  (if (not (any-checker? checker #<unspecified>))
+				      (report-arg-trouble caller form head arg-number checker arg 'unspecified?)))
+				 
+				 ((null? (cddr arg))
+				  (check-arg (cadr arg)))
+				 
+				 (else
+				  (for-each
+				   (lambda (expr rest)
+				     (check-arg expr)
+				     (set! arg-number (+ arg-number 1))
+				     (if (> arg-number max-arity) (done))
+				     (if (list? checkers)
+					 (if (null? (cdr checkers))
+					     (done)
+					     (set! checkers (cdr checkers)))))
+				   (cdr arg) (cddr arg))
+				  (check-arg (list-ref arg (- (length arg) 1))))))
 			  
 			  (else 
 			   (let ((op (return-type (car arg) env)))
@@ -8151,10 +8924,7 @@
 
 	    (if (and (pair? (cdr form))
 		     (pair? (cddr form))
-		     (or (hash-table-ref built-in-functions head)
-			 (let ((v (var-member head env)))
-			   (and (var? v)
-				(memq (var-ftype v) '(define define* lambda lambda*))))))
+		     (any-procedure? head env))
 		(check-unordered-exprs caller form (cdr form) env))
 
 	    (if (var? data)
@@ -8242,8 +9012,7 @@
 			    (when (or (pair? (fdata 'macro-locals))
 				      (pair? (fdata 'macro-ops)))
 			      (let ((bad-locals ())
-				    (bad-quoted-locals ())
-				    (bad-ops ()))
+				    (bad-quoted-locals ()))
 				(for-each
 				 (lambda (local)
 				   (if (tree-unquoted-member local (cdr form))
@@ -8255,38 +9024,39 @@
 				     (if (tree-member local (cdr form))
 					 (set! bad-quoted-locals (cons local bad-quoted-locals))))
 				   (fdata 'macro-locals)))
-				(for-each
-				 (lambda (op)
-				   (let ((curf (var-member op env))
-					 (oldf (var-member op (fdata 'env))))
-				     (if (and (not (eq? curf oldf))
-					      (or (pair? (fdata 'env))
-						  (defined? op (rootlet))))
-					 (set! bad-ops (cons op bad-ops)))))
-				 (fdata 'macro-ops))
-				
-				(when (or (pair? bad-locals)
-					  (pair? bad-quoted-locals) 
-					  ;; (define-macro (mac8 b) `(let ((a 12)) (+ (symbol->value ,b) a)))
-					  ;; (let ((a 1)) (mac8 'a))
-					  ;; far-fetched!
-					  (pair? bad-ops))
-				  (lint-format "possible problematic macro expansion:~%  ~A ~A collide with subsequently defined ~A~A~A" 
-					       caller 
-					       (truncated-list->string form)
-					       (if (or (pair? bad-locals)
-						       (pair? bad-ops))
-						   "may"
-						   "could conceivably")
-					       (if (pair? bad-locals)
-						   (format #f "~{'~A~^, ~}" bad-locals)
-						   (if (pair? bad-quoted-locals)
-						       (format #f "~{'~A~^, ~}" bad-quoted-locals)
-						       ""))
-					       (if (and (pair? bad-locals) (pair? bad-ops)) ", " "")
-					       (if (pair? bad-ops)
-						   (format #f "~{~A~^, ~}" bad-ops)
-						   ""))))))
+				(let ((bad-ops ()))
+				  (for-each
+				   (lambda (op)
+				     (let ((curf (var-member op env))
+					   (oldf (var-member op (fdata 'env))))
+				       (if (and (not (eq? curf oldf))
+						(or (pair? (fdata 'env))
+						    (defined? op (rootlet))))
+					   (set! bad-ops (cons op bad-ops)))))
+				   (fdata 'macro-ops))
+				  
+				  (when (or (pair? bad-locals)
+					    (pair? bad-quoted-locals) 
+					    ;; (define-macro (mac8 b) `(let ((a 12)) (+ (symbol->value ,b) a)))
+					    ;; (let ((a 1)) (mac8 'a))
+					    ;; far-fetched!
+					    (pair? bad-ops))
+				    (lint-format "possible problematic macro expansion:~%  ~A ~A collide with subsequently defined ~A~A~A" 
+						 caller 
+						 (truncated-list->string form)
+						 (if (or (pair? bad-locals)
+							 (pair? bad-ops))
+						     "may"
+						     "could conceivably")
+						 (if (pair? bad-locals)
+						     (format #f "~{'~A~^, ~}" bad-locals)
+						     (if (pair? bad-quoted-locals)
+							 (format #f "~{'~A~^, ~}" bad-quoted-locals)
+							 ""))
+						 (if (and (pair? bad-locals) (pair? bad-ops)) ", " "")
+						 (if (pair? bad-ops)
+						     (format #f "~{~A~^, ~}" bad-ops)
+						     "")))))))
 			  )))))
 		;; not local var
 		(when (symbol? head)
@@ -8294,87 +9064,88 @@
 		    (when (or (procedure? head-value)
 			      (macro? head-value))
 		      ;; check arg number
-		      (let* ((args (- (length form) 1))
-			     (ary (arity head-value))
-			     (min-arity (car ary))
-			     (max-arity (cdr ary)))
-			(if (< args min-arity)
-			    (lint-format "~A needs ~A~D argument~A: ~A" 
-					 caller head 
-					 (if (= min-arity max-arity) "" "at least ")
-					 min-arity
-					 (if (> min-arity 1) "s" "") 
-					 (truncated-list->string form))
-			    (if (and (not (procedure-setter head-value))
-				     (> (- args (keywords (cdr form))) max-arity))
-				(lint-format "~A has too many arguments: ~A" caller head (truncated-list->string form))))
-
-			(when (and (procedure? head-value)
-				   (pair? (cdr form))) ; there are args (the not-enough-args case is checked above)
-			  (if (zero? max-arity)
-			      (lint-format "too many arguments: ~A" caller (truncated-list->string form))    
-			      (begin
-				
-				(for-each (lambda (arg)
-					    (if (pair? arg)
-						(if (negative? (length arg))
-						    (lint-format "missing quote? ~A in ~A" caller arg form)
-						    (if (eq? (car arg) 'unquote)
-							(lint-format "stray comma? ~A in ~A" caller arg form)))))
-					  (cdr form))
-				
-				;; if keywords, check that they are acceptable
-				;;    this only applies to lambda*'s that have been previously loaded (lint doesn't create them)
-				(let ((source (procedure-source head-value)))
-				  (if (and (pair? source)
-					   (eq? (car source) 'lambda*))
-				      (let ((decls (cadr source)))
-					(if (not (memq :allow-other-keys decls))
-					    (for-each
-					     (lambda (arg)
-					       (if (and (keyword? arg)
-							(not (eq? arg :rest))
-							(not (member arg decls 
-								     (lambda (a b) 
-								       (eq? (keyword->symbol a) (if (pair? b) (car b) b))))))
-						   (lint-format "~A keyword argument ~A (in ~A) does not match any argument in ~S" caller 
-								head arg (truncated-list->string form) decls)))
-					     (cdr form))))))
-				
-				;; we've already checked for head in the current env above
-				(if (and (or (memq head '(eq? eqv?))
-					     (and (= (length form) 3)
-						  (hash-table-ref repeated-args-table head)))
-					 (repeated-member? (cdr form) env))
-				    (lint-format "this looks odd: ~A"
-						 caller
-						 ;; sigh (= a a) could be used to check for non-finite numbers, I suppose,
-						 ;;   and (/ 0 0) might be deliberate (as in gmp)
-						 ;;   also (min (random x) (random x)) is not pointless
-						 (truncated-list->string form))
-				    (if (and (hash-table-ref repeated-args-table-2 head)
-					     (repeated-member? (cdr form) env))
-					(lint-format "it looks odd to have repeated arguments in ~A" caller (truncated-list->string form))))
-				
-				(when (memq head '(eq? eqv?))
-				  (define (repeated-member-with-not? lst env)
-				    (and (pair? lst)
-					 (or (and (not (and (pair? (car lst))
-							    (side-effect? (car lst) env)))
-						  (or (member (list 'not (car lst)) (cdr lst))
-						      (and (pair? (car lst))
-							   (eq? (caar lst) 'not)
-							   (= (length (car lst)) 2)
-							   (member (cadar lst) (cdr lst)))))
-					     (repeated-member-with-not? (cdr lst) env))))
-				  (if (repeated-member-with-not? (cdr form) env)
-				      (lint-format "this looks odd: ~A" caller (truncated-list->string form))))
-				
-				;; now try to check arg types 
-				(let ((arg-data (cond ((procedure-signature (symbol->value head *e*)) => cdr) (else #f))))
-				  (if (pair? arg-data)
-				      (check-args caller head form arg-data env max-arity))
-				  )))))))))))))
+		      (let ((ary (arity head-value)))
+			(let ((args (- (length form) 1))
+			      (min-arity (car ary))
+			      (max-arity (cdr ary)))
+			  (if (< args min-arity)
+			      (lint-format "~A needs ~A~D argument~A: ~A" 
+					   caller head 
+					   (if (= min-arity max-arity) "" "at least ")
+					   min-arity
+					   (if (> min-arity 1) "s" "") 
+					   (truncated-list->string form))
+			      (if (and (not (procedure-setter head-value))
+				       (> (- args (keywords (cdr form))) max-arity))
+				  (lint-format "~A has too many arguments: ~A" caller head (truncated-list->string form))))
+			  
+			  (when (and (procedure? head-value)
+				     (pair? (cdr form))) ; there are args (the not-enough-args case is checked above)
+			    (if (zero? max-arity)
+				(lint-format "too many arguments: ~A" caller (truncated-list->string form))    
+				(begin
+				  
+				  (for-each (lambda (arg)
+					      (if (pair? arg)
+						  (if (negative? (length arg))
+						      (lint-format "missing quote? ~A in ~A" caller arg form)
+						      (if (eq? (car arg) 'unquote)
+							  (lint-format "stray comma? ~A in ~A" caller arg form)))))
+					    (cdr form))
+				  
+				  ;; if keywords, check that they are acceptable
+				  ;;    this only applies to lambda*'s that have been previously loaded (lint doesn't create them)
+				  (let ((source (procedure-source head-value)))
+				    (if (and (pair? source)
+					     (eq? (car source) 'lambda*))
+					(let ((decls (cadr source)))
+					  (if (not (memq :allow-other-keys decls))
+					      (for-each
+					       (lambda (arg)
+						 (if (and (keyword? arg)
+							  (not (eq? arg :rest))
+							  (not (member arg decls 
+								       (lambda (a b) 
+									 (eq? (keyword->symbol a) (if (pair? b) (car b) b))))))
+						     (lint-format "~A keyword argument ~A (in ~A) does not match any argument in ~S" caller 
+								  head arg (truncated-list->string form) decls)))
+					       (cdr form))))))
+				  
+				  ;; we've already checked for head in the current env above
+				  (if (and (or (memq head '(eq? eqv?))
+					       (and (= (length form) 3)
+						    (hash-table-ref repeated-args-table head)))
+					   (repeated-member? (cdr form) env))
+				      (lint-format "this looks odd: ~A"
+						   caller
+						   ;; sigh (= a a) could be used to check for non-finite numbers, I suppose,
+						   ;;   and (/ 0 0) might be deliberate (as in gmp)
+						   ;;   also (min (random x) (random x)) is not pointless
+						   (truncated-list->string form))
+				      (if (and (hash-table-ref repeated-args-table-2 head)
+					       (repeated-member? (cdr form) env))
+					  (lint-format "it looks odd to have repeated arguments in ~A" caller (truncated-list->string form))))
+				  
+				  (when (memq head '(eq? eqv?))
+				    (define (repeated-member-with-not? lst env)
+				      (and (pair? lst)
+					   (let ((this-repeats (and (not (and (pair? (car lst))
+									      (side-effect? (car lst) env)))
+								    (or (member (list 'not (car lst)) (cdr lst))
+									(and (pair? (car lst))
+									     (eq? (caar lst) 'not)
+									     (= (length (car lst)) 2)
+									     (member (cadar lst) (cdr lst)))))))
+					     (or this-repeats
+						 (repeated-member-with-not? (cdr lst) env)))))
+				    (if (repeated-member-with-not? (cdr form) env)
+					(lint-format "this looks odd: ~A" caller (truncated-list->string form))))
+				  
+				  ;; now try to check arg types 
+				  (let ((arg-data (cond ((procedure-signature (symbol->value head *e*)) => cdr) (else #f))))
+				    (if (pair? arg-data)
+					(check-args caller head form arg-data env max-arity))
+				    ))))))))))))))
     
     (define (indirect-set? vname func arg1)
       (case func
@@ -8385,40 +9156,6 @@
 	      (eq? (car arg1) vname)))
 	(else #f)))
 
-    (define (binding-ok? caller head binding env second-pass)
-      ;; check let-style variable binding for various syntactic problems
-      (cond (second-pass
-	     (and (pair? binding)
-		  (symbol? (car binding))
-					;(not (keyword? (car binding)))
-		  (not (constant? (car binding)))
-		  (pair? (cdr binding))
-		  (or (null? (cddr binding))
-		      (and (eq? head 'do)
-			   (pair? (cddr binding)) ; (do ((i 0 . 1))...)
-			   (null? (cdddr binding))))))
-	  
-	    ((not (pair? binding)) 	   (lint-format "~A binding is not a list? ~S" caller head binding) #f)
-	    ((not (symbol? (car binding))) (lint-format "~A variable is not a symbol? ~S" caller head binding) #f)
-	    ((keyword? (car binding))	   (lint-format "~A variable is a keyword? ~S" caller head binding) #f)
-	    ((constant? (car binding))	   (lint-format "can't bind a constant: ~S" caller binding) #f)
-	    ((not (pair? (cdr binding)))
-	     (lint-format (if (null? (cdr binding))
-			      "~A variable value is missing? ~S" 
-			      "~A binding is an improper list? ~S")
-			  caller head binding)
-	     #f)
-	    ((and (pair? (cddr binding))
-		  (or (not (eq? head 'do))
-		      (pair? (cdddr binding))))
-	     (lint-format "~A binding is messed up: ~A" caller head binding)
-	     #f)
-	    (else 
-	     (if (and *report-shadowed-variables*
-		      (var-member (car binding) env))
-		 (lint-format "~A variable ~A in ~S shadows an earlier declaration" caller head (car binding) binding))
-	     #t)))
-
     (define (env-difference name e1 e2 lst)
       (if (or (null? e1)
 	      (null? e2)
@@ -8449,17 +9186,6 @@
 		       (var-history v))
 	       base-type)))
 
-      (define (bad-variable-name-numbered vname bad-names)
-	(let ((str (symbol->string vname)))
-	  (let loop ((bads bad-names))
-	    (and (pair? bads)
-		 (let* ((badstr (symbol->string (car bads)))
-			(pos (string-position badstr str)))
-		   (or (and (eqv? pos 0)
-			    (string->number (substring str (length badstr))))
-		       (loop (cdr bads))))))))
-			    
-
       (when (and (not (eq? head 'begin)) ; begin can redefine = set a variable
 		 (pair? vars)
 		 (proper-list? vars))
@@ -8467,7 +9193,7 @@
 	     (rst (cdr vars) (cdr rst)))
 	    ((null? rst))
 	  (let ((vn (var-name (car cur))))
-	    (if (not (eq? vn :lambda))
+	    (if (not (memq vn '(:lambda :dilambda)))
 		(let ((repeat (var-member vn rst)))
 		  (when repeat
 		    (let ((type (if (eq? (var-definer repeat) 'parameter) 'parameter 'variable)))
@@ -8511,7 +9237,7 @@
 			       (set! newv (string->symbol (substring vstr 0 (- len 4)))))
 			     (let ((pos (string-position "-get-" vstr)))
 			       (when pos ; this doesn't happen very often, others: Get-, -ref-, -set!- are very rare
-				 (let ((sv (string->symbol (let ((s (copy vstr))) (set! (s (+ pos 1)) #\s) s))))
+				 (let ((sv (let ((s (copy vstr))) (set! (s (+ pos 1)) #\s) (string->symbol s))))
 				   (set! setv (or (var-member sv vars)
 						  (var-member sv env)))
 				   (set! newv (symbol (substring vstr 0 pos) 
@@ -8575,13 +9301,9 @@
 				   head)
 			       otype vname))
 
-		 ((and (symbol? vname)
-		       (pair? *report-bad-variable-names*)
-		       (or (memq vname *report-bad-variable-names*)
-			   (bad-variable-name-numbered vname *report-bad-variable-names*)))
-		  (lint-format "surely there's a better name for this variable than ~A" caller vname)))
+		 (else (check-for-bad-variable-name caller vname)))
 	   
-	   (unless (eq? vname :lambda)
+	   (unless (memq vname '(:lambda :dilambda))
 	     (if (and (eq? otype 'variable)
 		      (or *report-unused-top-level-functions*
 			  (not (eq? caller top-level:))))
@@ -8622,7 +9344,6 @@
 	     ;; redundant vars are hard to find -- tons of false positives
 	     
 	     (if (zero? (var-ref local-var))
-
 		 (when (and (or (not (equal? head ""))
 				*report-unused-top-level-functions*)
 			    (or *report-unused-parameters*
@@ -8650,6 +9371,8 @@
 			   (let ((val (if (pair? (var-history local-var)) (car (var-history local-var)) (var-initial-value local-var)))
 				 (def (var-definer local-var)))
 			     (let-temporarily ((line-number (if (eq? caller top-level:) -1 line-number)))
+			       ;; eval confuses this message (eval '(+ x 1)), no other use of x [perhaps check :let initial-value = outer-form]
+			       ;;    so does let-ref syntax: (apply (*e* 'g1)...) will miss this reference to g1
 			       (if (symbol? def)
 				   (if (eq? otype 'parameter)
 				       (lint-format "~A not used" caller vname)
@@ -8666,14 +9389,15 @@
 			      (pair? (var-history local-var))
 			      (or (zero? (var-set local-var))
 				  (set! arg-type (all-types-agree local-var))))
-		     (let ((vtype (or arg-type     ; this can't be #f unless no sets so despite appearances there's no contention here
+		     (let ((vtype (or arg-type                ; this can't be #f unless no sets so despite appearances there's no contention here
+				      (eq? caller top-level:) ; might be a global var where init value is largely irrelevant
 				      (->lint-type (var-initial-value local-var))))
 			   (lit? (code-constant? (var-initial-value local-var))))
 
 		       (do ((clause (var-history local-var) (cdr clause)))
-			   ((null? (cdr clause)))  ; ignore the initial value which depends on a different env
+			   ((null? (cdr clause)))             ; ignore the initial value which depends on a different env
 			 (let ((call (car clause)))
-			   (set! line-number (if (pair? call) (pair-line-number call) 0))
+			   (if (pair? call) (set! line-number (pair-line-number call)))
 			   
 			   (when (pair? call)
 			     (let ((func (car call))
@@ -8685,156 +9409,158 @@
 				   (lint-format "~A's value, ~A, is a literal constant, so this set! is trouble: ~A" caller 
 						vname (var-initial-value local-var) (truncated-list->string call)))
 
-			       (when (and (symbol? vtype)
-					  (not (eq? caller top-level:))
-					  (not (memq vtype '(boolean? #t values)))
-					  (memq func '(if when unless)) ; look for (if x ...) where x is never #f, this happens a dozen or so times
-					  (or (eq? (cadr call) vname)
-					      (and (pair? (cadr call))
-						   (eq? (caadr call) 'not)
-						   (eq? (cadadr call) vname))))
-				 (lint-format "~A is never #f, so ~A is ~A" caller vname call
-					      (if (eq? vname (cadr call))
-						  (case func
-						    ((if) (caddr call))
-						    ((when) (if (pair? (cdddr call)) `(begin ,@(cddr call)) (caddr call)))
-						    ((unless) #<unspecified>))
-						  (case func
-						    ((if) (if (pair? (cdddr call)) (cadddr call)))
-						    ((when) #<unspecified>)
-						    ((unless) (if (pair? (cdddr call)) `(begin ,@(cddr call)) (caddr call)))))))
-
-			       ;; check for incorrect types in function calls
-			       (when (and (symbol? vtype)
-					  (not (memq vtype '(boolean? null?)))) ; null? here avoids problems with macros that call set!
-				 (let ((p (memq vname (cdr call))))                    
-				   (when (pair? p)
-				     (let ((sig (arg-signature func env))
-					   (pos (- (length call) (length p))))
-				       (when (and (pair? sig)
-						  (< pos (length sig)))
-					 (let ((desired-type (list-ref sig pos)))
-					   (if (not (compatible? vtype desired-type))
-					       (lint-format "~A is ~A, but ~A in ~A wants ~A" caller
-							    vname (prettify-checker-unq vtype)
-							    func (truncated-list->string call) 
-							    (prettify-checker desired-type))))))))
+			       (when (symbol? vtype)
+				 (when (and (not (eq? caller top-level:))
+					    (not (memq vtype '(boolean? #t values)))
+					    (memq func '(if when unless)) ; look for (if x ...) where x is never #f, this happens a dozen or so times
+					    (or (eq? (cadr call) vname)
+						(and (pair? (cadr call))
+						     (eq? (caadr call) 'not)
+						     (eq? (cadadr call) vname))))
+				   (lint-format "~A is never #f, so ~A" caller 
+						vname 
+						(lists->string 
+						 call
+						 (if (eq? vname (cadr call))
+						     (case func
+						       ((if) (caddr call))
+						       ((when) (if (pair? (cdddr call)) `(begin ,@(cddr call)) (caddr call)))
+						       ((unless) #<unspecified>))
+						     (case func
+						       ((if) (if (pair? (cdddr call)) (cadddr call)))
+						       ((when) #<unspecified>)
+						       ((unless) (if (pair? (cdddr call)) `(begin ,@(cddr call)) (caddr call))))))))
 				 
-				 (let ((suggest made-suggestion))
-				   ;; check for pointless vtype checks
-				   (when (and (hash-table-ref bools func)
-					      (not (eq? vname func)))
-				     
-				     (when (or (eq? vtype func)
-					       (and (compatible? vtype func)
-						    (not (subsumes? vtype func))))
-				       (lint-format "~A is ~A, so ~A is #t" caller vname (prettify-checker-unq vtype) call))
-				     
-				     (unless (compatible? vtype func)
-				       (lint-format "~A is ~A, so ~A is #f" caller vname (prettify-checker-unq vtype) call)))
+				 ;; check for incorrect types in function calls
+				 (unless (memq vtype '(boolean? null?)) ; null? here avoids problems with macros that call set!
+				   (let ((p (memq vname (cdr call))))                    
+				     (when (pair? p)
+				       (let ((sig (arg-signature func env))
+					     (pos (- (length call) (length p))))
+					 (when (and (pair? sig)
+						    (< pos (length sig)))
+					   (let ((desired-type (list-ref sig pos)))
+					     (if (not (compatible? vtype desired-type))
+						 (lint-format "~A is ~A, but ~A in ~A wants ~A" caller
+							      vname (prettify-checker-unq vtype)
+							      func (truncated-list->string call) 
+							      (prettify-checker desired-type))))))))
 				   
-				   (case func
-				     ;; need a way to mark exported variables so they won't be checked in this process
-				     ;; case can happen here, but it never seems to trigger a type error
-				     ((eq? eqv? equal?)
-				      ;; (and (pair? x) (eq? x #\a)) etc
-				      (when (or (and (code-constant? call-arg1)
-						     (not (compatible? vtype (->lint-type call-arg1))))
-						(and (code-constant? (caddr call))
-						     (not (compatible? vtype (->lint-type (caddr call))))))
-					(lint-format "~A is ~A, so ~A is #f" caller vname (prettify-checker-unq vtype) call)))
-
-				     ((and or)
-				      (when (let amidst? ((lst call))
-					      (and (pair? lst)
-						   (pair? (cdr lst))
-						   (or (eq? (car lst) vname)
-						       (amidst? (cdr lst)))))   ; don't clobber possible trailing vname (returned by expression)
-					(lint-format "~A is ~A, so ~A~%" caller       ; (let ((x 1)) (and x (< x 1))) -> (< x 1)
-						     vname (prettify-checker-unq vtype)
-						     (lists->string call 
-								    (simplify-boolean (remove vname call) () () vars)))))
-				     ((not)
-				      (if (eq? vname (cadr call))
-					  (lint-format "~A is ~A, so ~A" caller
+				   (let ((suggest made-suggestion))
+				     ;; check for pointless vtype checks
+				     (when (and (hash-table-ref bools func)
+						(not (eq? vname func)))
+				       
+				       (when (or (eq? vtype func)
+						 (and (compatible? vtype func)
+						      (not (subsumes? vtype func))))
+					 (lint-format "~A is ~A, so ~A is #t" caller vname (prettify-checker-unq vtype) call))
+				       
+				       (unless (compatible? vtype func)
+					 (lint-format "~A is ~A, so ~A is #f" caller vname (prettify-checker-unq vtype) call)))
+				     
+				     (case func
+				       ;; need a way to mark exported variables so they won't be checked in this process
+				       ;; case can happen here, but it never seems to trigger a type error
+				       ((eq? eqv? equal?)
+					;; (and (pair? x) (eq? x #\a)) etc
+					(when (or (and (code-constant? call-arg1)
+						       (not (compatible? vtype (->lint-type call-arg1))))
+						  (and (code-constant? (caddr call))
+						       (not (compatible? vtype (->lint-type (caddr call))))))
+					  (lint-format "~A is ~A, so ~A is #f" caller vname (prettify-checker-unq vtype) call)))
+				       
+				       ((and or)
+					(when (let amidst? ((lst call))
+						(and (pair? lst)
+						     (pair? (cdr lst))
+						     (or (eq? (car lst) vname)
+							 (amidst? (cdr lst)))))   ; don't clobber possible trailing vname (returned by expression)
+					  (lint-format "~A is ~A, so ~A~%" caller       ; (let ((x 1)) (and x (< x 1))) -> (< x 1)
 						       vname (prettify-checker-unq vtype)
-						       (lists->string call #f))))
-
-				     ((/) (if (and (number? (var-initial-value local-var))
-						   (zero? (var-initial-value local-var))
-						   (zero? (var-set local-var))
-						   (memq vname (cddr call)))
-					      (lint-format "~A is ~A, so ~A is an error" caller
-							   vname (var-initial-value local-var)
-							   call))))
-
-				   ;; the usual eqx confusion
-				   (when (and (= suggest made-suggestion)
-					      (memq vtype '(char? number? integer? real? float? rational? complex?)))
-				     (if (memq func '(eq? equal?))
-					 (lint-format "~A is ~A, so ~A ~A be eqv? in ~A" caller 
-						      vname (prettify-checker-unq vtype) func
-						      (if (eq? func 'eq?) "should" "could")
-						      call))
-				     ;; check other boolean exprs
-				     (when (and (zero? (var-set local-var))
-						(number? (var-initial-value local-var))
-						(eq? vname call-arg1)
-						(null? (cddr call))
-						(hash-table-ref booleans func))
-				       (let ((val (catch #t 
-						    (lambda ()
-						      ((symbol->value func (rootlet)) (var-initial-value local-var)))
-						    (lambda args 
-						      'error))))
-					 (if (boolean? val)
-					     (lint-format "~A is ~A, so ~A is ~A" caller vname (var-initial-value local-var) call val))))))
-				 
-				 ;; implicit index checks -- these are easily fooled by macros
-				 (when (and (memq vtype '(vector? float-vector? int-vector? string? list? byte-vector?))
-					    (pair? (cdr call)))
-				   (when (eq? func vname)
-				     (let ((init (var-initial-value local-var)))
-				       (if (not (compatible? 'integer? (->lint-type call-arg1)))
-					   (lint-format "~A is ~A, but the index ~A is ~A" caller
-							vname (prettify-checker-unq vtype)
-							call-arg1 (prettify-checker (->lint-type call-arg1))))
+						       (lists->string call 
+								      (simplify-boolean (remove vname call) () () vars)))))
+				       ((not)
+					(if (eq? vname (cadr call))
+					    (lint-format "~A is ~A, so ~A" caller
+							 vname (prettify-checker-unq vtype)
+							 (lists->string call #f))))
 				       
-				       (if (integer? call-arg1)
-					   (if (negative? call-arg1)
-					       (lint-format "~A's index ~A is negative" caller vname call-arg1)
-					       (if (zero? (var-set local-var))
-						   (let ((lim (cond ((code-constant? init)
-								     (length init))
-								    
-								    ((memq (car init) '(vector float-vector int-vector string list byte-vector))
-								     (- (length init) 1))
-								    
-								    (else
-								     (and (pair? (cdr init))
-									  (integer? (cadr init))
-									  (memq (car init) '(make-vector make-float-vector make-int-vector 
-											     make-string make-list make-byte-vector))
-									  (cadr init))))))
-						     (if (and (real? lim)
-							      (>= call-arg1 lim))
-							 (lint-format "~A has length ~A, but index is ~A" caller vname lim call-arg1))))))))
+				       ((/) (if (and (number? (var-initial-value local-var))
+						     (zero? (var-initial-value local-var))
+						     (zero? (var-set local-var))
+						     (memq vname (cddr call)))
+						(lint-format "~A is ~A, so ~A is an error" caller
+							     vname (var-initial-value local-var)
+							     call))))
+				     
+				     ;; the usual eqx confusion
+				     (when (and (= suggest made-suggestion)
+						(memq vtype '(char? number? integer? real? float? rational? complex?)))
+				       (if (memq func '(eq? equal?))
+					   (lint-format "~A is ~A, so ~A ~A be eqv? in ~A" caller 
+							vname (prettify-checker-unq vtype) func
+							(if (eq? func 'eq?) "should" "could")
+							call))
+				       ;; check other boolean exprs
+				       (when (and (zero? (var-set local-var))
+						  (number? (var-initial-value local-var))
+						  (eq? vname call-arg1)
+						  (null? (cddr call))
+						  (hash-table-ref booleans func))
+					 (let ((val (catch #t 
+						      (lambda ()
+							((symbol->value func (rootlet)) (var-initial-value local-var)))
+						      (lambda args 
+							'error))))
+					   (if (boolean? val)
+					       (lint-format "~A is ~A, so ~A is ~A" caller vname (var-initial-value local-var) call val))))))
 				   
-				   (when (eq? func 'implicit-set)
-				     ;; ref is already checked in other history entries
-				     (let ((ref-type (case vtype
-						       ((float-vector?) 'real?) ; not 'float? because ints are ok here
-						       ((int-vector? byte-vector?) 'integer)
-						       ((string?) 'char?)
-						       (else #f))))
-				       (if ref-type
-					   (let ((val-type (->lint-type (caddr call))))
-					     (if (not (compatible? val-type ref-type))
-						 (lint-format "~A wants ~A, but the value in ~A is ~A" caller
-							      vname (prettify-checker-unq ref-type)
-							      `(set! ,@(cdr call)) 
-							      (prettify-checker val-type)))))
-				       )))))
+				   ;; implicit index checks -- these are easily fooled by macros
+				   (when (and (memq vtype '(vector? float-vector? int-vector? string? list? byte-vector?))
+					      (pair? (cdr call)))
+				     (when (eq? func vname)
+				       (let ((init (var-initial-value local-var)))
+					 (if (not (compatible? 'integer? (->lint-type call-arg1)))
+					     (lint-format "~A is ~A, but the index ~A is ~A" caller
+							  vname (prettify-checker-unq vtype)
+							  call-arg1 (prettify-checker (->lint-type call-arg1))))
+					 
+					 (if (integer? call-arg1)
+					     (if (negative? call-arg1)
+						 (lint-format "~A's index ~A is negative" caller vname call-arg1)
+						 (if (zero? (var-set local-var))
+						     (let ((lim (cond ((code-constant? init)
+								       (length init))
+								      
+								      ((memq (car init) '(vector float-vector int-vector string list byte-vector))
+								       (- (length init) 1))
+								      
+								      (else
+								       (and (pair? (cdr init))
+									    (integer? (cadr init))
+									    (memq (car init) '(make-vector make-float-vector make-int-vector 
+													   make-string make-list make-byte-vector))
+									    (cadr init))))))
+						       (if (and (real? lim)
+								(>= call-arg1 lim))
+							   (lint-format "~A has length ~A, but index is ~A" caller vname lim call-arg1))))))))
+				     
+				     (when (eq? func 'implicit-set)
+				       ;; ref is already checked in other history entries
+				       (let ((ref-type (case vtype
+							 ((float-vector?) 'real?) ; not 'float? because ints are ok here
+							 ((int-vector? byte-vector?) 'integer)
+							 ((string?) 'char?)
+							 (else #f))))
+					 (if ref-type
+					     (let ((val-type (->lint-type (caddr call))))
+					       (if (not (compatible? val-type ref-type))
+						   (lint-format "~A wants ~A, but the value in ~A is ~A" caller
+								vname (prettify-checker-unq ref-type)
+								`(set! ,@(cdr call)) 
+								(prettify-checker val-type)))))
+				       ))))))
 			     ))) ; do loop through clauses
 		       
 		       ;; check for duplicated calls involving local-var
@@ -9027,19 +9753,20 @@
 				   (structures-equal? (cdr rest1) (cdr rest2)
 						      (cons (cons (car rest1) (car rest2)) matches)
 						      e1 e2))
-			      (and (eqv? (length (car rest1)) (length (car rest2))) ; (car rest2) might be a symbol, dotted lists ok here
-				   (let ((new-matches (append (map (lambda (a b)
-								     (if (or (pair? a)  ; if default, both must have the same value
-									     (pair? b))
-									 (if (not (and (pair? a)
-										       (pair? b)
-										       (equal? (cadr a) (cadr b))))
-									     (return #f)
-									     (cons (car a) (car b)))
-									 (cons a b)))
-								   (proper-list (car rest1)) (proper-list (car rest2)))
-							      matches)))
-				     (structures-equal? (cdr rest1) (cdr rest2) new-matches e1 e2)))))
+			      (and (eqv? (length (car rest1)) (length (car rest2))) ; (car rest2) might be a symbol, dotted lists ok here
+				   (let ((new-matches (map (lambda (a b)
+							     (if (or (pair? a)  ; if default, both must have the same value
+								     (pair? b))
+								 (if (not (and (pair? a)
+									       (pair? b)
+									       (equal? (cadr a) (cadr b))))
+								     (return #f)
+								     (cons (car a) (car b)))
+								 (cons a b)))
+							   (proper-list (car rest1)) (proper-list (car rest2)))))
+				     (structures-equal? (cdr rest1) (cdr rest2)
+							(append new-matches matches)
+							e1 e2)))))
 			 
 			 ((define* define-macro* define-bacro*)
 			  (if (symbol? (car rest1))
@@ -9048,18 +9775,19 @@
 				     (and (structures-equal? (cdr rest1) (cdr rest2) new-matches e1 e2)
 					  new-matches)))
 			      (and (eqv? (length (car rest1)) (length (car rest2))) ; (car rest2) might be a symbol, dotted lists ok here
-				   (let ((new-matches (append (map (lambda (a b)
-								     (if (or (pair? a)  ; if default, both must have the same value
-									     (pair? b))
-									 (if (not (and (pair? a)
-										       (pair? b)
-										       (equal? (cadr a) (cadr b))))
-									     (return #f)
-									     (cons (car a) (car b)))
-									 (cons a b)))
-								   (proper-list (car rest1)) (proper-list (car rest2)))
-							      matches)))
-				     (structures-equal? (cdr rest1) (cdr rest2) new-matches e1 e2))
+				   (let ((new-matches (map (lambda (a b)
+							     (if (or (pair? a)  ; if default, both must have the same value
+								     (pair? b))
+								 (if (not (and (pair? a)
+									       (pair? b)
+									       (equal? (cadr a) (cadr b))))
+								     (return #f)
+								     (cons (car a) (car b)))
+								 (cons a b)))
+							   (proper-list (car rest1)) (proper-list (car rest2)))))
+				     (structures-equal? (cdr rest1) (cdr rest2) 
+							(append new-matches new-matches)
+							e1 e2))
 				   (cons (cons (caar rest1) (caar rest2)) matches))))
 			 
 			 (else #f))))))))) ; can't happen I hope
@@ -9070,14 +9798,14 @@
 	       (if (eq? (car p1) 'quote)
 		   (and (eq? (car p2) 'quote)
 			(equal? (cdr p1) (cdr p2)))
-		   (and (cond ((not (and (pair? (car p1))
-					 (pair? (car p2))))
-			       (structures-equal? (car p1) (car p2) matches e1 e2))
-			      
-			      ((memq (caar p1) '(let let* letrec letrec* do lambda lambda*))
+		   (and (if (not (and (pair? (car p1))
+				      (pair? (car p2))))
+			    (structures-equal? (car p1) (car p2) matches e1 e2)
+			    (case (caar p1)
+			      ((let let* letrec letrec* do lambda lambda*)
 			       (code-equal? (car p1) (car p2) matches e1 e2))
 			      
-			      ((memq (caar p1) '(define define-constant define-macro define-bacro define-expansion define* define-macro* define-bacro*))
+			      ((define define-constant define-macro define-bacro define-expansion define* define-macro* define-bacro*)
 			       (let ((mat (code-equal? (car p1) (car p2) matches e1 e2)))
 				 (and (pair? mat)
 				      (set! matches mat))))
@@ -9099,7 +9827,7 @@
 						      (null? b)
 						      (not (structures-equal? a b matches e1 e2)))
 						  (and (null? a)
-						       (null? b))))))))
+						       (null? b)))))))))
 			(structures-equal? (cdr p1) (cdr p2) matches e1 e2))))
 	  (let ((match (assq p1 matches)))
 	    (if match
@@ -9165,7 +9893,7 @@
 		   (let ((e1 ())
 			 (cutoff (max func-min-cutoff (- leaves 12))))
 		     (lambda (v)
-		       (and (not (eq? (var-name v) :lambda))
+		       (and (not (memq (var-name v) '(:lambda :dilambda)))
 			    (memq (var-ftype v) '(define lambda define* lambda*))
 			    (not (eq? caller (var-name v)))
 			    (let ((body (cddr (var-initial-value v)))
@@ -9240,7 +9968,7 @@
 
     (define (check-returns caller f env) ; f is not the last form in the body
       (if (not (or (side-effect? f env)
-		   (eq? f '=>)))
+		   (eq? '=> f)))
 	  (lint-format "this could be omitted: ~A" caller (truncated-list->string f))
 	  (when (pair? f)
 	    (case (car f)
@@ -9269,27 +9997,53 @@
 	      ((cond case)
 	       ;; here all but last result exprs are already checked
 	       ;;   redundant begin can confuse this, but presumably we'll complain about that elsewhere
-	       (for-each (lambda (c)
-			   (if (and (pair? c)
-				    (pair? (cdr c))
-				    (not (memq '=> (cdr c))))
-			       (let ((last-expr (list-ref (cdr c) (- (length c) 2))))
-				 (if (side-effect? last-expr env)
-				     (if (pair? last-expr)
-					 (check-returns caller last-expr env))
-				     (if (eq? (car f) 'case)  ; here some sort of return is required (sigh)
-					 (if (null? (cddr c)) ; just the return value
-					     (if (not (memq last-expr '(#f #t ())))
-						 (lint-format "this could be simply #f: ~A in ~A" caller
-							      (truncated-list->string last-expr)
-							      (truncated-list->string c)))
-					     (lint-format "this could be omitted: ~A in ~A" caller
-							  (truncated-list->string last-expr)
-							  (truncated-list->string c)))
-					 (lint-format "this is pointless: ~A in ~A" caller
-						      (truncated-list->string last-expr)
-						      (truncated-list->string c)))))))
-			 ((if (eq? (car f) 'cond) cdr cddr) f)))
+	       ;;   also even in mid-body, if else clause has a side-effect, an earlier otherwise pointless clause might be avoiding that
+	       (let ((has-else (let ((last-clause (list-ref f (- (length f) 1))))
+				 (and (pair? last-clause)
+				      (memq (car last-clause) '(else #t))
+				      (any? (lambda (c)
+					      (side-effect? c env))
+					    (cdr last-clause))))))
+		 (for-each (lambda (c)
+			     (if (and (pair? c)
+				      (pair? (cdr c))
+				      (not (memq '=> (cdr c))))
+				 (let ((last-expr (list-ref c (- (length c) 1))))
+				   (cond ((side-effect? last-expr env)
+					  (if (pair? last-expr)
+					      (check-returns caller last-expr env)))
+
+					 (has-else
+					  (if (or (pair? (cddr c))
+						  (eq? (car f) 'cond))
+					      (lint-format "this ~A clause's result could be omitted" caller 
+							   (truncated-list->string c))
+					      (if (not (memq last-expr '(#f #t #<unspecified>))) ; it's not already obvious
+						  (lint-format "this ~A clause's result could be simply #f" caller
+							       (truncated-list->string c)))))
+					 ((and (eq? (car f) 'case)
+					       (or (eq? last-expr (cadr c))
+						   (not (any? (lambda (p) (side-effect? p env)) (cdr c)))))
+					  (lint-format "this case clause can be omitted: ~A" caller
+						       (truncated-list->string c)))
+
+					 (else (lint-format "this is pointless: ~A in ~A" caller
+							    (truncated-list->string last-expr)
+							    (truncated-list->string c)))))))
+			   ((if (eq? (car f) 'cond) cdr cddr) f))))
+	      
+	      ((let let*)
+	       (if (and (pair? (cdr f))
+			(not (symbol? (cadr f)))
+			(pair? (cddr f)))
+		   (let ((last-expr (list-ref f (- (length f) 1))))
+		     (if (side-effect? last-expr env)
+			 (if (pair? last-expr)
+			     (check-returns caller last-expr env))		 
+			 (lint-format "this is pointless~A: ~A in ~A" caller
+				      (local-line-number last-expr)
+				      (truncated-list->string last-expr)
+				      (truncated-list->string f))))))
 
 	      ;; perhaps use truncated-lists->string here??
 	      ((and)
@@ -9308,23 +10062,13 @@
 		   ((3) (lint-format "perhaps ~A" caller (lists->string f `(if (not ,(cadr f)) ,(caddr f)))))
 		   (else (lint-format "perhaps ~A" caller (lists->string f `(if (not ,(cadr f)) (or ,@(cddr f)))))))))
 
-	      ((let let*)
-	       (if (and (pair? (cdr f))
-			(not (symbol? (cadr f)))
-			(pair? (cddr f)))
-		   (let ((last-expr (list-ref (cddr f) (- (length f) 3))))
-		     (if (side-effect? last-expr env)
-			 (if (pair? last-expr)
-			     (check-returns caller last-expr env))		 
-			 (lint-format "this is pointless~A: ~A in ~A" caller
-				      (local-line-number last-expr)
-				      (truncated-list->string last-expr)
-				      (truncated-list->string f))))))
+	      ((not)
+	       (lint-format "this ~A is pointless" caller f))
 
 	      ((letrec letrec* with-let unless when begin with-baffle)
 	       (if (and (pair? (cdr f))
 			(pair? (cddr f)))
-		   (let ((last-expr (list-ref (cddr f) (- (length f) 3))))
+		   (let ((last-expr (list-ref f (- (length f) 1))))
 		     (if (side-effect? last-expr env)
 			 (if (pair? last-expr)
 			     (check-returns caller last-expr env))		 
@@ -9337,7 +10081,7 @@
 					(pair? (cddr f)))
 				   (let ((end+res (caddr f)))
 				     (if (pair? (cdr end+res))
-					 (list-ref (cdr end+res) (- (length end+res) 2)))))))
+					 (list-ref end+res (- (length end+res) 1)))))))
 		 (if (or (eq? returned #<unspecified>)
 			 (and (pair? returned)
 			      (side-effect? returned env)))
@@ -9394,82 +10138,91 @@
 
     (define (lint-walk-body caller head body env)
 
-      (when (and (pair? body)           ; define->named let, but this is only ok in a "closed" situation, not (begin (define...)) for example
-		 (pair? (car body))
-		 (not (eq? last-rewritten-internal-define (car body))) ; we already rewrote this
-		 (pair? (cdr body))
-		 (pair? (cadr body))
-		 (memq (caar body) '(define define*))
-		 (pair? (cdar body))
-		 (pair? (cadar body)))
-	(let ((fname (caadar body))
-	      (fargs (cdadar body))
-	      (fbody (cddar body)))
-	  (when (and (symbol? fname)
-		     (proper-list? fargs)
-		     (= (tree-count1 fname (cdr body) 0) 1)
-		     (not (any? keyword? fargs)))
-	    (let ((call (find-call fname (cdr body))))
-	      (when (pair? call)
-		(let ((new-args (if (eq? (caar body) 'define)
-				    (map list fargs (cdr call))
-				    (let loop ((pars fargs)
-					       (vals (cdr call))
-					       (args ()))
-				      (if (null? pars)
-					  (reverse args)
-					  (loop (cdr pars)
-						(if (pair? vals)
-						    (values (cdr vals) 
-							    (cons (list ((if (pair? (car pars)) caar car) pars) (car vals)) args))
-						    (values () 
-							    (cons (if (pair? (car pars)) (car pars) (list (car pars) #f)) args))))))))
-		      (new-let (if (eq? (caar body) 'define) 'let 'let*)))
-		  (if (and (pair? fbody)
-			   (pair? (cdr fbody))
-			   (string? (car fbody)))
-		      (set! fbody (cdr fbody)))
-		  (lint-format "perhaps ~A" caller
-			       (lists->string `(... , at body)
-					      (if (= (tree-count2 fname body 0) 2)
-						  (if (null? fargs)
-						      (if (null? (cdr fbody))
-							  `(... ,@(tree-subst (car fbody) call (cdr body)))
-							  `(... ,@(tree-subst `(let () , at fbody) call (cdr body))))
-						      `(... ,@(tree-subst `(let ,new-args , at fbody) call (cdr body))))
-						  `(... ,@(tree-subst `(,new-let ,fname ,new-args , at fbody) call (cdr body))))))))))))
       (when (pair? body)
-
-	;; look for defines at the start of the body and use let(*) or letrec(*) instead
-	;;   we're in a closed body here, so the define can't propagate backwards
 	(when (and (pair? (car body))
-		   (eq? (caar body) 'define)
-		   (pair? (cdar body))
-		   (symbol? (cadar body)))
-	  (let ((names ())
-		(letx 'let)
-		(vars&vals ()))
-	    (do ((p body (cdr p)))
-		((not (and (pair? p)
-			   (pair? (car p))
-			   (eq? (caar p) 'define)
-			   (symbol? (cadar p))))
-		 (lint-format "perhaps ~A" caller
-			      (lists->string `(... , at body)
-					     `(... (,letx (,@(reverse vars&vals))
-						      ...)))))
-	      ;; define acts like letrec(*), not let -- reference to name in lambda body is current name
-	      (let ((expr (car p)))
-		(set! vars&vals (cons (if (< (tree-leaves (cddr expr)) 12)
-					  (cdr expr) 
-					  (list (cadr expr) '...))
-				      vars&vals))
-		(if (tree-member (cadr expr) (cddr expr))
-		    (set! letx (case letx ((let) 'letrec) ((let*) 'letrec*) (else letx))))
-		(if (tree-set-member names (cddr expr))
-		    (set! letx (case letx ((let) 'let*) ((letrec) 'letrec*) (else letx))))
-		(set! names (cons (cadr expr) names))))))
-
+		   (pair? (cdar body)))
+	  (when (and (not (eq? last-rewritten-internal-define (car body))) ; we already rewrote this
+		     (pair? (cdr body))                ; define->named let, but this is only ok in a "closed" situation, not (begin (define...)) for example
+		     (pair? (cadr body))
+		     (memq (caar body) '(define define*))
+		     (pair? (cadar body)))
+	    (let ((fname (caadar body))
+		  (fargs (cdadar body))
+		  (fbody (cddar body)))
+	      (when (and (symbol? fname)
+			 (proper-list? fargs)
+			 (= (tree-count1 fname (cdr body) 0) 1)
+			 (not (any? keyword? fargs)))
+		(let ((call (find-call fname (cdr body))))
+		  (when (pair? call)
+		    (let ((new-args (if (eq? (caar body) 'define)
+					(map list fargs (cdr call))
+					(let loop ((pars fargs)
+						   (vals (cdr call))
+						   (args ()))
+					  (if (null? pars)
+					      (reverse args)
+					      (loop (cdr pars)
+						    (if (pair? vals)
+							(values (cdr vals) 
+								(cons (list ((if (pair? (car pars)) caar car) pars) (car vals)) args))
+							(values () 
+								(cons (if (pair? (car pars)) (car pars) (list (car pars) #f)) args))))))))
+			  (new-let (if (eq? (caar body) 'define) 'let 'let*)))
+		      (if (and (pair? fbody)
+			       (pair? (cdr fbody))
+			       (string? (car fbody)))
+			  (set! fbody (cdr fbody)))
+		      (lint-format "perhaps ~A" caller
+				   (lists->string `(... , at body)
+						  (if (= (tree-count2 fname body 0) 2)
+						      (if (null? fargs)
+							  (if (null? (cdr fbody))
+							      `(... ,@(tree-subst (car fbody) call (cdr body)))
+							      `(... ,@(tree-subst `(let () , at fbody) call (cdr body))))
+							  `(... ,@(tree-subst `(let ,new-args , at fbody) call (cdr body))))
+						      `(... ,@(tree-subst `(,new-let ,fname ,new-args , at fbody) call (cdr body))))))))))))
+	  
+	  ;; look for non-function defines at the start of the body and use let(*) instead
+	  ;;   we're in a closed body here, so the define can't propagate backwards
+
+	  (let ((first-expr (car body)))
+	    ;; another case: f(args) (let(...)set! arg < no let>)
+	    (when (and (eq? (car first-expr) 'define)
+		       (symbol? (cadr first-expr))
+		       (pair? (cddr first-expr))
+		       ;;(not (tree-car-member (cadr first-expr) (caddr first-expr)))
+		       ;;(not (tree-set-car-member '(lambda lambda*) (caddr first-expr)))
+		       (not (and (pair? (caddr first-expr))
+				 (memq (caaddr first-expr) '(lambda lambda*)))))
+	      ;; this still is not ideal -- we need to omit let+lambda as well
+	      (let ((names ())
+		    (letx 'let)
+		    (vars&vals ()))
+		(do ((p body (cdr p)))
+		    ((not (and (pair? p)
+			       (let ((expr (car p)))
+				 (and (pair? expr)
+				      (eq? (car expr) 'define)
+				      (symbol? (cadr expr))
+				      (pair? (cddr expr))
+				      ;;(not (tree-set-car-member '(lambda lambda*) (caddr expr)))))
+				      (not (and (pair? (caddr expr))
+						(memq (caaddr expr) '(lambda lambda*))))))))
+		     (lint-format "perhaps ~A" caller
+				  (lists->string `(... , at body)
+						 `(... (,letx ,(reverse vars&vals)
+							      ...)))))
+		  ;; define acts like letrec(*), not let -- reference to name in lambda body is current name
+		  (let ((expr (car p)))
+		    (set! vars&vals (cons (if (< (tree-leaves (cddr expr)) 12)
+					      (cdr expr) 
+					      (list (cadr expr) '...))
+					  vars&vals))
+		    (if (tree-set-member names (cddr expr))
+			(set! letx 'let*))
+		    (set! names (cons (cadr expr) names))))))))
+	
 	(let ((len (length body)))
 	  (when (> len 2)                           ; ... (define (x...)...) (x ...) -> (let (...) ...) or named let -- this happens a lot!
 	    (let ((n-1 (list-ref body (- len 2)))   ; or (define (x ...)...) (some expr calling x once) -> named let etc
@@ -9540,45 +10293,46 @@
 								(and (pair? (car s))
 								     (tree-memq name (car s))))
 							    (not (eq? s q)))))))
-				 (unless seen-earlier
-				   (cond ((not (eq? (car use-expr) 'define))
-					  (let-temporarily ((target-line-length 120))
-					    (lint-format "the scope of ~A could be reduced: ~A" caller name
-							 (truncated-lists->string `(... ,expr ,use-expr , at end-dots)
-										  `(... (,letx ((,name ,(caddr expr))) 
-											       ,use-expr)
-											, at end-dots)))))
-					 ((eq? (cadr use-expr) name)
-					  (lint-format "use set! to redefine ~A: ~A" caller name
-						       (lists->string `(... ,use-expr , at end-dots)
-								      `(... (set! ,name ,(caddr use-expr)) , at end-dots))))
-					 ((pair? (cadr use-expr))
-					  (if (symbol? (caadr use-expr))
-					      (let-temporarily ((target-line-length 120))
-						(lint-format "perhaps move ~A into ~A's closure: ~A" caller name (caadr use-expr)
-							     (truncated-lists->string `(... ,expr ,use-expr , at end-dots)
-										      `(... (define ,(caadr use-expr)
-											      (,letx ((,name ,(caddr expr)))
-												     (lambda ,(cdadr use-expr)
-												       ,@(cddr use-expr))))
-											    , at end-dots))))))
-					 ((and (symbol? (cadr use-expr))
-					       (pair? (cddr use-expr)))
-					  (let-temporarily ((target-line-length 120))
-					    (if (and (pair? (caddr use-expr))
-						     (eq? (caaddr use-expr) 'lambda))
-						(lint-format "perhaps move ~A into ~A's closure: ~A" caller name (cadr use-expr)
-							     (truncated-lists->string `(... ,expr ,use-expr , at end-dots)
-										      `(... (define ,(cadr use-expr)
-											      (,letx ((,name ,(caddr expr)))
-												     ,(caddr use-expr)))
-											    , at end-dots)))
-						(lint-format "the scope of ~A could be reduced: ~A" caller name
-							     (truncated-lists->string `(... ,expr ,use-expr , at end-dots)
-										      `(... (define ,(cadr use-expr)
-											      (,letx ((,name ,(caddr expr)))
-												     ,(caddr use-expr)))
-											    , at end-dots)))))))))
+				 (cond (seen-earlier)
+				       
+				       ((not (eq? (car use-expr) 'define))
+					(let-temporarily ((target-line-length 120))
+					  (lint-format "the scope of ~A could be reduced: ~A" caller name
+						       (truncated-lists->string `(... ,expr ,use-expr , at end-dots)
+										`(... (,letx ((,name ,(caddr expr))) 
+											     ,use-expr)
+										      , at end-dots)))))
+				       ((eq? (cadr use-expr) name)
+					(lint-format "use set! to redefine ~A: ~A" caller name
+						     (lists->string `(... ,use-expr , at end-dots)
+								    `(... (set! ,name ,(caddr use-expr)) , at end-dots))))
+				       ((pair? (cadr use-expr))
+					(if (symbol? (caadr use-expr))
+					    (let-temporarily ((target-line-length 120))
+					      (lint-format "perhaps move ~A into ~A's closure: ~A" caller name (caadr use-expr)
+							   (truncated-lists->string `(... ,expr ,use-expr , at end-dots)
+										    `(... (define ,(caadr use-expr)
+											    (,letx ((,name ,(caddr expr)))
+												   (lambda ,(cdadr use-expr)
+												     ,@(cddr use-expr))))
+											  , at end-dots))))))
+				       ((and (symbol? (cadr use-expr))
+					     (pair? (cddr use-expr)))
+					(let-temporarily ((target-line-length 120))
+					  (if (and (pair? (caddr use-expr))
+						   (eq? (caaddr use-expr) 'lambda))
+					      (lint-format "perhaps move ~A into ~A's closure: ~A" caller name (cadr use-expr)
+							   (truncated-lists->string `(... ,expr ,use-expr , at end-dots)
+										    `(... (define ,(cadr use-expr)
+											    (,letx ((,name ,(caddr expr)))
+												   ,(caddr use-expr)))
+											  , at end-dots)))
+					      (lint-format "the scope of ~A could be reduced: ~A" caller name
+							   (truncated-lists->string `(... ,expr ,use-expr , at end-dots)
+										    `(... (define ,(cadr use-expr)
+											    (,letx ((,name ,(caddr expr)))
+												   ,(caddr use-expr)))
+											  , at end-dots))))))))
 			       (when (and (> len 3)
 					  (< k last-ref (+ k 3))  ; larger cases happen very rarely -- 3 or 4 altogether
 					  (pair? (list-ref body (+ k 1)))
@@ -9637,105 +10391,213 @@
 	    (do ((fs body (cdr fs))
 		 (ctr 0 (+ ctr 1)))
 		((not (pair? fs)))
-	      (let ((f (car fs)))
+	      (let* ((f (car fs))
+		     (f-func (and (pair? f) (car f))))
 
 		(when (and (pair? f)
-			   (eq? (car f) 'define)
 			   (pair? (cdr f)))
-		  (let ((vname (if (symbol? (cadr f)) 
-				   (cadr f) 
-				   (and (pair? (cadr f))
-					(symbol? (caadr f))
-					(caadr f)))))
-		    ;; if already in env, check shadowing request
-		    (if (and *report-shadowed-variables*
-			     (var-member vname env))
-			(lint-format "~A variable ~A in ~S shadows an earlier declaration" caller head vname f))
-#|
-		    ;; define after executable statement in sequence -- make sure last form (which needs to exist) was not a define
-		    (if (and (pair? prev-f)
-			     (symbol? (car prev-f))
-			     (not (string-position "def" (symbol->string (car prev-f)))))
-			(format *stderr* "~A:~%    ~A in ~A~%~%" *current-file* vname (truncated-list->string body)))
-		    ;; perhaps also check that (car prev-f) was a known procedure or non-defining syntax
-		    ;;   then warn (?) about back propogation, or maybe rewrite as in lint-walk-body??
-		    ;;   need to check backwards??
-		    ;; could also check for other define-* forms here
-		    ;; and could check for shadowing -- if already defined in this env suggest set!? -- it is setting not binding, I think, so maybe warn
-|#
-		    ))
-
-
-		;; generalized cases happen about a dozen times and there are only 2 cases where car f != car prev-f
-		(when (and (pair? prev-f) ; (if A ...) (if A ...) -> (when A ...) or equivalents
-			   (pair? f)
-			   (eq? (car f) (car prev-f))
-			   (memq (car f) '(if when unless))
-			   (pair? (cdr f))
-			   (pair? (cdr prev-f)))
-
-		  (define (tree-change-member set tree)
-		    (and (pair? tree)
-			 (not (eq? (car tree) 'quote))
-			 (or (and (eq? (car tree) 'set!)
-				  (memq (cadr tree) set))
-			     (tree-change-member set (car tree))
-			     (tree-change-member set (cdr tree)))))
-
-		  (let ((test1 (cadr prev-f))
-			(test2 (cadr f)))
-		    (if (and (equal? test1 test2)
-			     (not (side-effect? test1 env))
-			     (not (tree-change-member (gather-symbols test1) (cdr prev-f))))
-			(lint-format "perhaps ~A" caller
-				     (lists->string
-				      `(... ,prev-f ,f ...)
-				      (if (eq? (car f) 'if)
-					  (if (and (null? (cdddr prev-f))
-						   (null? (cdddr f)))
-					      (if (and (pair? (cadr f))
-						       (eq? (caadr f) 'not))
-						  `(... (unless ,(cadadr f)
-							  ,@(unbegin (caddr prev-f))
-							  ,@(unbegin (caddr f))) ...)
-						  `(... (when ,(cadr f)
-							  ,@(unbegin (caddr prev-f))
-							  ,@(unbegin (caddr f))) ...))
-					      `(... (if ,(cadr f)
-							(begin
-							  ,@(unbegin (caddr prev-f))
-							  ,@(unbegin (caddr f)))
-							(begin
-							  ,@(if (pair? (cdddr prev-f)) (unbegin (cadddr prev-f)) ())
-							  ,@(if (pair? (cdddr f)) (unbegin (cadddr f)) ())))
-						    ...))
-					  `(,(car f) ,(cadr f)
-					    ,@(cddr prev-f)
-					    ,@(cddr f)))))			      
-
-			(if (and (eq? (car f) 'if)
-				 (pair? (cadr f)) ; (if A B C) (if (and D A) F) -> (if A (begin B (if D F)) C)
-				 (eq? (caadr f) 'and)
-				 (member (cadr prev-f) (cdadr f))
-				 (not (side-effect? (cadr f) env))
-				 (not (tree-change-member (gather-symbols (cadr prev-f)) (cddr prev-f))))
-			    (lint-format "perhaps ~A" caller
-					 (let ((new-test (remove (cadr prev-f) (cadr f))))
-					   (lists->string `(... ,prev-f ,f ...)
-							  `(... (if ,(cadr prev-f)
-								    (begin
-								      ,(caddr prev-f)
-								      (if ,(if (pair? (cddr new-test))
-									       new-test
-									       (cadr new-test))
-									  ,@(cddr f)))
-								    ,@(cdddr prev-f)) ...))))))))
-
+		  (if (eq? f-func 'define)
+		      (let ((vname (if (symbol? (cadr f)) 
+				       (cadr f) 
+				       (and (pair? (cadr f))
+					    (symbol? (caadr f))
+					    (caadr f)))))
+			;; if already in env, check shadowing request
+			(if (and *report-shadowed-variables*
+				 (var-member vname env))
+			    (lint-format "~A variable ~A in ~S shadows an earlier declaration" caller head vname f))))
+		  ;; mid-body defines happen by the million, so resistance is futile
+
+		  ;; -------- repeated if/when etc --------
+		  (when (and (pair? prev-f) ; (if A ...) (if A ...) -> (when A ...) or equivalents
+			     (memq (car prev-f) '(if when unless))
+			     (memq f-func '(if when unless))
+			     (pair? (cdr prev-f))
+			     (pair? (cddr f))  ; possible broken if statement
+			     (pair? (cddr prev-f)))
+		    
+		    (define (tree-change-member set tree)
+		      (and (pair? tree)
+			   (not (eq? (car tree) 'quote))
+			   (or (and (eq? (car tree) 'set!)
+				    (memq (cadr tree) set))
+			       (tree-change-member set (car tree))
+			       (tree-change-member set (cdr tree)))))
+		    
+		    (let ((test1 (cadr prev-f))
+			  (test2 (cadr f)))
+		      (let ((equal-tests  ; test1 = test2
+			     (lambda ()
+			       (lint-format "perhaps ~A" caller
+					    (lists->string
+					     `(... ,prev-f ,f ...)
+					     (if (eq? f-func 'if)
+						 (if (and (null? (cdddr prev-f))
+							  (null? (cdddr f)))
+						     ;; if (null (cdr fs)) we have to make sure the returned value is not changed by our rewrite
+						     ;;   but when/unless return their last value in s7 (or #<unspecified>), so I think this is ok
+						     (if (and (pair? test1)
+							      (eq? (car test1) 'not))
+							 `(... (unless ,(cadr test1)
+								 ,@(unbegin (caddr prev-f))
+								 ,@(unbegin (caddr f))) ...)
+							 `(... (when ,test1
+								 ,@(unbegin (caddr prev-f))
+								 ,@(unbegin (caddr f))) ...))
+						     `(... (if ,test1
+							       (begin
+								 ,@(unbegin (caddr prev-f))
+								 ,@(unbegin (caddr f)))
+							       (begin
+								 ,@(if (pair? (cdddr prev-f)) (unbegin (cadddr prev-f)) ())
+								 ,@(if (pair? (cdddr f)) (unbegin (cadddr f)) ())))
+							   ...))
+						 `(,f-func ,test1 ; f-func = when|unless
+						   ,@(cddr prev-f)
+						   ,@(cddr f)))))))
+			    (test1-in-test2 
+			     (lambda ()
+			       (if (null? (cddr test2))
+				   (set! test2 (cadr test2)))
+			       (lint-format "perhaps ~A" caller
+					    (lists->string `(... ,prev-f ,f ...)
+							   (if (or (null? (cdddr prev-f))
+								   (eq? (car prev-f) 'when)) ; so prev-f is when or 1-arm if (as is f)
+							       `(... (when ,test1
+								       ,@(cddr prev-f)
+								       (when ,test2
+									 ,@(cddr f))) 
+								     ,@(if (null? (cdr fs)) () '(...)))
+							       ;; prev-f is 2-arm if and f is when or 1-arm if (the other case is too ugly)
+							       `(... (if ,test1
+									 (begin
+									   ,(caddr prev-f)
+									   (when ,test2
+									     ,@(cddr f)))
+									 ,@(cdddr prev-f)) ...))))))
+			    
+			    (test2-in-test1 
+			     (lambda ()
+			       (if (null? (cddr test1))
+				   (set! test1 (cadr test1)))
+			       (lint-format "perhaps ~A" caller
+					    (lists->string `(... ,prev-f ,f ...)
+							   (if (or (null? (cdddr f))
+								   (eq? f-func 'when)) ; so f is when or 1-arm if (as is prev-f)
+							       `(... (when ,test2
+								       (when ,test1
+									 ,@(cddr prev-f))
+								       ,@(cddr f))
+								     ,@(if (null? (cdr fs)) () '(...)))
+							       ;; f is 2-arm if and prev-f is when or 1-arm if
+							       `(... (if ,test2
+									 (begin
+									   (when ,test1
+									     ,@(cddr prev-f))
+									   ,(caddr f))
+									 ,(cadddr f))
+								     ,@(if (null? (cdr fs)) () '(...)))))))))
+			(cond ((equal? test1 test2)
+			       (if (and (eq? f-func (car prev-f))
+					(not (side-effect? test1 env))
+					(not (tree-change-member (gather-symbols test1) (cdr prev-f))))
+				   (equal-tests)))
+			    
+			      ((or (eq? f-func 'unless)
+				   (eq? (car prev-f) 'unless))) ; too hard!
+			      
+			      ;; look for test1 as member of test2 (so we can use test1 as the outer test)
+			      ((and (pair? test2)        
+				    (eq? (car test2) 'and)
+				    (member test1 (cdr test2))
+				    (or (eq? f-func 'when)     ; f has to be when or 1-arm if
+					(null? (cdddr f)))
+				    (or (pair? (cdr fs))        ; if prev-f has false branch, we have to ignore the return value of f
+					(eq? (car prev-f) 'when)
+					(null? (cdddr prev-f)))
+				    (not (side-effect? test2 env))
+				    (not (tree-change-member (gather-symbols test1) (cddr prev-f))))
+			       (set! test2 (remove test1 test2))
+			       (test1-in-test2))
+			      
+			      ;; look for test2 as member of test1
+			      ((and (pair? test1)        
+				    (eq? (car test1) 'and)
+				    (member test2 (cdr test1))
+				    (or (eq? (car prev-f) 'when)     ; prev-f has to be when or 1-arm if
+					(null? (cdddr prev-f)))
+				    (not (side-effect? test1 env))
+				    (not (tree-change-member (gather-symbols test2) (cddr prev-f))))
+			       (set! test1 (remove test2 test1))
+			       (test2-in-test1))
+			      
+			      ;; look for some intersection of test1 and test2
+			      ((and (pair? test1)
+				    (pair? test2)
+				    (eq? (car test1) 'and)
+				    (eq? (car test2) 'and)
+				    (not (side-effect? test1 env))
+				    (not (side-effect? test2 env))
+				    (not (tree-change-member (gather-symbols test2) (cddr prev-f))))
+			       (let ((intersection ())
+				     (new-test1 ())
+				     (new-test2 ()))
+				 (for-each (lambda (tst)
+					     (if (member tst test2)
+						 (set! intersection (cons tst intersection))
+						 (set! new-test1 (cons tst new-test1))))
+					   (cdr test1))
+				 (for-each (lambda (tst)
+					     (if (not (member tst test1))
+						 (set! new-test2 (cons tst new-test2))))
+					   (cdr test2))
+				 (when (pair? intersection)
+				   (if (null? new-test1)
+				       (if (null? new-test2)
+					   (begin
+					     (set! test1 `(and ,@(reverse intersection)))
+					     (equal-tests))
+					   (when (and (or (eq? f-func 'when)
+							  (null? (cdddr f)))
+						      (or (pair? (cdr fs))
+							  (eq? (car prev-f) 'when)
+							  (null? (cdddr prev-f))))
+					     (set! test1 `(and ,@(reverse intersection)))
+					     (set! test2 `(and ,@(reverse new-test2)))
+					     (test1-in-test2)))
+				       (if (null? new-test2)
+					   (when (or (eq? (car prev-f) 'when)
+						     (null? (cdddr prev-f)))
+					     (set! test2 `(and ,@(reverse intersection)))
+					     (set! test1 `(and ,@(reverse new-test1)))
+					     (test2-in-test1))
+					   
+					   (when (and (or (eq? f-func 'when)
+							  (null? (cdddr f)))
+						      (or (eq? (car prev-f) 'when)
+							  (null? (cdddr prev-f))))
+					     (lint-format "perhaps ~A" caller
+							  (let ((outer-test (if (null? (cdr intersection))
+										(car intersection)
+										`(and ,@(reverse intersection)))))
+							    (set! new-test1 (if (null? (cdr new-test1)) 
+										(car new-test1)
+										`(and ,@(reverse new-test1))))
+							    (set! new-test2 (if (null? (cdr new-test2)) 
+										(car new-test2)
+										`(and ,@(reverse new-test2))))
+							    (lists->string `(... ,prev-f ,f ...)
+									   `(... (when ,outer-test
+										   (when ,new-test1
+										     ,@(cddr prev-f))
+										   (when ,new-test2
+										     ,@(cddr f)))
+										 ,@(if (null? (cdr fs)) () '(...)))))))))))))))))
 		;; --------
 		;; check for repeated calls, but only one arg currently can change (more args = confusing separation in code)
 		(let ((feq (and (pair? prev-f)
 				(pair? f)
-				(eq? (car f) (car  prev-f))
+				(eq? f-func (car  prev-f))
 				(or (equal? (cdr f) (cdr prev-f))
 				    (do ((fp (cdr f) (cdr fp))
 					 (pp (cdr prev-f) (cdr pp))
@@ -9818,63 +10680,84 @@
 		(if (pair? f)
 		    (begin
 		      (set! f-len (length f))
-		      (if (eq? (car f) 'begin)
+		      (if (eq? f-func 'begin)
 			  (lint-format "redundant begin: ~A" caller (truncated-list->string f))))
 		    (begin
 		      (if (symbol? f)
 			  (set-ref f caller f env))
 		      (set! f-len 0)))
 		
-		(when (and (= f-len prev-len 3)
-			   (eq? (car f) 'set!)
-			   (eq? (car prev-f) 'set!))
-		  (let ((arg1 (caddr prev-f))
-			(arg2 (caddr f)))
-		    (if (eq? (cadr f) (cadr prev-f))
-			(cond ((not (and (pair? arg2)          ; (set! x 0) (set! x 1) -> "this could be omitted: (set! x 0)"
-					 (tree-unquoted-member (cadr f) arg2)))
-			       (if (not (or (side-effect? arg1 env)
-					    (side-effect? arg2 env)))
-				   (lint-format "this could be omitted: ~A" caller prev-f)))
-			      
-			      ((and (pair? arg1)               ; (set! x (cons 1 z)) (set! x (cons 2 x)) -> (set! x (cons 2 (cons 1 z)))
-				    (pair? arg2)
-				    (eq? (car arg1) 'cons)
-				    (eq? (car arg2) 'cons)
-				    (eq? (cadr f) (caddr arg2))
-				    (not (eq? (cadr f) (cadr arg2))))
-			       (lint-format "perhaps ~A ~A -> ~A" caller
-					    prev-f f
-					    `(set! ,(cadr f) (cons ,(cadr arg2) (cons ,@(cdr arg1))))))
-			      
-			      ((and (pair? arg1)               ; (set! x (append x y)) (set! x (append x z)) -> (set! x (append x y z))
-				    (pair? arg2)
-				    (eq? (car arg1) 'append)
-				    (eq? (car arg2) 'append)
-				    (eq? (cadr f) (cadr arg1))
-				    (eq? (cadr f) (cadr arg2))
-				    (not (tree-memq (cadr f) (cddr arg1)))
-				    (not (tree-memq (cadr f) (cddr arg2))))
-			       (lint-format "perhaps ~A ~A -> ~A" caller
-					    prev-f f
-					    `(set! ,(cadr f) (append ,(cadr f) ,@(cddr arg1) ,@(cddr arg2)))))
-			      
-			      ((and (= (tree-count1 (cadr f) arg2 0) 1) ; (set! x y) (set! x (+ x 1)) -> (set! x (+ y 1))
-				    (or (not (pair? arg1))
-					(< (tree-leaves arg1) 5)))
-			       (lint-format "perhaps ~A ~A ->~%~NC~A" caller 
-					    prev-f f pp-left-margin #\space
-					    (object->string `(set! ,(cadr f) ,(tree-subst arg1 (cadr f) arg2))))))
-			
-			(if (and (symbol? (cadr prev-f)) ; (set! x (A)) (set! y (A)) -> (set! x (A)) (set! y x)
-				 (pair? arg1)            ;   maybe more trouble than it's worth
-				 (equal? arg1 arg2)
-				 (not (eq? (car arg1) 'quote))
-				 (hash-table-ref no-side-effect-functions (car arg1))
-				 (not (tree-unquoted-member (cadr prev-f) arg1))
-				 (not (side-effect? arg1 env))
-				 (not (maker? arg1)))
-			    (lint-format "perhaps ~A" caller (lists->string f `(set! ,(cadr f) ,(cadr prev-f))))))))
+		;; set-car! + set-cdr! here is usually "clever" code assuming eq?ness, so we can't rewrite it using cons
+		;;   but copy does not create a new cons... [if at end of body, the return values will differ]
+		(when (= f-len prev-len 3)
+		  (when (and (memq f-func '(set-car! set-cdr!))  ; ...(set-car! x (car y)) (set-cdr! x (cdr y))... -> (copy y x)
+			     (memq (car prev-f) '(set-car! set-cdr!))
+			     (not (eq? (car prev-f) f-func))
+			     (equal? (cadr f) (cadr prev-f)))
+		    (let ((ncar (caddr (if (eq? f-func 'set-car!) f prev-f)))
+			  (ncdr (caddr (if (eq? f-func 'set-car!) prev-f f))))
+		      (if (and (pair? ncar)
+			       (eq? (car ncar) 'car)
+			       (pair? ncdr)
+			       (eq? (car ncdr) 'cdr)
+			       (equal? (cadr ncar) (cadr ncdr)))
+			  (lint-format "perhaps ~A~A ~A~A -> ~A" caller 
+				       (if (= ctr 0) "" "...") 
+				       (truncated-list->string prev-f)
+				       (truncated-list->string f)
+				       (if (= ctr (- len 1)) "" "...")
+				       `(copy ,(cadr ncar) ,(cadr f))))))
+
+		  (when (and (eq? f-func 'set!)
+			     (eq? (car prev-f) 'set!))
+		    (let ((arg1 (caddr prev-f))
+			  (arg2 (caddr f))
+			  (settee (cadr f)))
+		      (if (eq? settee (cadr prev-f))
+			  (cond ((not (and (pair? arg2)          ; (set! x 0) (set! x 1) -> "this could be omitted: (set! x 0)"
+					   (tree-unquoted-member settee arg2)))
+				 (if (not (or (side-effect? arg1 env)
+					      (side-effect? arg2 env)))
+				     (lint-format "this could be omitted: ~A" caller prev-f)))
+				
+				((and (pair? arg1)               ; (set! x (cons 1 z)) (set! x (cons 2 x)) -> (set! x (cons 2 (cons 1 z)))
+				      (pair? arg2)
+				      (eq? (car arg1) 'cons)
+				      (eq? (car arg2) 'cons)
+				      (eq? settee (caddr arg2))
+				      (not (eq? settee (cadr arg2))))
+				 (lint-format "perhaps ~A ~A -> ~A" caller
+					      prev-f f
+					      `(set! ,settee (cons ,(cadr arg2) (cons ,@(cdr arg1))))))
+				
+				((and (pair? arg1)               ; (set! x (append x y)) (set! x (append x z)) -> (set! x (append x y z))
+				      (pair? arg2)
+				      (eq? (car arg1) 'append)
+				      (eq? (car arg2) 'append)
+				      (eq? settee (cadr arg1))
+				      (eq? settee (cadr arg2))
+				      (not (tree-memq settee (cddr arg1)))
+				      (not (tree-memq settee (cddr arg2))))
+				 (lint-format "perhaps ~A ~A -> ~A" caller
+					      prev-f f
+					      `(set! ,settee (append ,settee ,@(cddr arg1) ,@(cddr arg2)))))
+				
+				((and (= (tree-count1 settee arg2 0) 1) ; (set! x y) (set! x (+ x 1)) -> (set! x (+ y 1))
+				      (or (not (pair? arg1))
+					  (< (tree-leaves arg1) 5)))
+				 (lint-format "perhaps ~A ~A ->~%~NC~A" caller 
+					      prev-f f pp-left-margin #\space
+					      (object->string `(set! ,settee ,(tree-subst arg1 settee arg2))))))
+			  
+			  (if (and (symbol? (cadr prev-f)) ; (set! x (A)) (set! y (A)) -> (set! x (A)) (set! y x)
+				   (pair? arg1)            ;   maybe more trouble than it's worth
+				   (equal? arg1 arg2)
+				   (not (eq? (car arg1) 'quote))
+				   (hash-table-ref no-side-effect-functions (car arg1))
+				   (not (tree-unquoted-member (cadr prev-f) arg1))
+				   (not (side-effect? arg1 env))
+				   (not (maker? arg1)))
+			      (lint-format "perhaps ~A" caller (lists->string f `(set! ,settee ,(cadr prev-f)))))))))
 		
 		(if (< ctr (- len 1)) 
 		    (begin		             ; f is not the last form, so its value is ignored
@@ -9918,17 +10801,17 @@
 				  (not (code-constant? (cadr f)))
 				  (case (car prev-f)
 				    ((vector-set! float-vector-set! int-vector-set!)
-				     (memq (car f) '(vector-ref float-vector-ref int-vector-ref)))
+				     (memq f-func '(vector-ref float-vector-ref int-vector-ref)))
 				    ((list-set!)
-				     (eq? (car f) 'list-ref))
+				     (eq? f-func 'list-ref))
 				    ((string-set!)
-				     (eq? (car f) 'string-ref))
+				     (eq? f-func 'string-ref))
 				    ((set-car!)
-				     (eq? (car f) 'car))
+				     (eq? f-func 'car))
 				    ((set-cdr!)
-				     (eq? (car f) 'cdr))
+				     (eq? f-func 'cdr))
 				    (else #f))
-				  (or (memq (car f) '(car cdr)) ; no indices
+				  (or (memq f-func '(car cdr)) ; no indices
 				      (and (pair? (cddr f))     ; for the others check that indices match
 					   (equal? (caddr f) (caddr prev-f))
 					   (pair? (cdddr prev-f))
@@ -9950,40 +10833,40 @@
 			
 			((set! define define* define-macro define-constant define-macro* 
                                defmacro defmacro* define-expansion define-bacro define-bacro*)
-			 (when (and (pair? (cddr prev-f))                 ; (set! ((L 1) 2)) an error, but lint should keep going
-				    (or (and (equal? (caddr prev-f) f)    ; (begin ... (set! x (...)) (...))
-					     (not (side-effect? f env)))
-					(and (symbol? f)                  ; (begin ... (set! x ...) x)
-					     (eq? f (cadr prev-f)))       ; also (begin ... (define x ...) x)
-					(and (not (eq? (car prev-f) 'set!))
-					     (pair? (cadr prev-f))        ; (begin ... (define (x...)...) x)
-					     (eq? f (caadr prev-f)))))
-			   (cond ((not (memq (car prev-f) '(define define*)))
-				  (lint-format "~A returns the new value, so this could be omitted: ~A" caller
-					       (car prev-f) (truncated-list->string f)))
-
-				 ((symbol? (cadr prev-f))
-				  (lint-format "perhaps omit ~A and return ~A" caller
-					       (cadr prev-f)
-					       (caddr prev-f)))
-
-				 ((= (tree-count2 f body 0) 2)
-				  (lint-format "perhaps omit ~A, and change ~A" caller
-					       f
-					       (lists->string `(,(car prev-f) ,(cadr prev-f) ...)
-							      `(,(if (eq? (car prev-f) 'define) 'lambda 'lambda*)
-								,(cdadr prev-f)
-								...))))
-
-				 (else (lint-format "~A returns the new value, so this could be omitted: ~A" caller
-						    (car prev-f) f))))))))
+			 (cond ((not (and (pair? (cddr prev-f))                 ; (set! ((L 1) 2)) an error, but lint should keep going
+					  (or (and (equal? (caddr prev-f) f)    ; (begin ... (set! x (...)) (...))
+						   (not (side-effect? f env)))
+					      (and (symbol? f)                  ; (begin ... (set! x ...) x)
+						   (eq? f (cadr prev-f)))       ; also (begin ... (define x ...) x)
+					      (and (not (eq? (car prev-f) 'set!))
+						   (pair? (cadr prev-f))        ; (begin ... (define (x...)...) x)
+						   (eq? f (caadr prev-f)))))))
+			       
+			       ((not (memq (car prev-f) '(define define*)))
+				(lint-format "~A returns the new value, so this could be omitted: ~A" caller
+					     (car prev-f) (truncated-list->string f)))
+			       
+			       ((symbol? (cadr prev-f))
+				(lint-format "perhaps omit ~A and return ~A" caller
+					     (cadr prev-f)
+					     (caddr prev-f)))
+			       
+			       ((= (tree-count2 f body 0) 2)
+				(lint-format "perhaps omit ~A, and change ~A" caller
+					     f
+					     (lists->string `(,(car prev-f) ,(cadr prev-f) ...)
+							    `(,(if (eq? (car prev-f) 'define) 'lambda 'lambda*)
+							      ,(cdadr prev-f)
+							      ...))))
+			       
+			       (else (lint-format "~A returns the new value, so this could be omitted: ~A" caller
+						  (car prev-f) f)))))))
 					; possibly still not right if letrec?
-
 	      
 		;; needs f fs prev-f dpy-f dpy-start ctr len
 		;;   trap lint-format
 		(let ((dpy-case (and (pair? f)
-				     (memq (car f) '(display write newline write-char write-string))))) ; flush-output-port?
+				     (memq f-func '(display write newline write-char write-string))))) ; flush-output-port?
 		  (when (and dpy-case
 			     (not dpy-start))
 		    (set! dpy-f fs)
@@ -10038,7 +10921,7 @@
 		      (set! lint-mid-form f)
 		      (let ((e (lint-walk caller f env)))
 			(if (and (pair? e)
-				 (not (eq? (var-name (car e)) :lambda)))
+				 (not (memq (var-name (car e)) '(:lambda :dilambda))))
 			    (set! env e)))))
 		(set! lint-current-form #f)
 		(set! lint-mid-form #f)
@@ -10048,9 +10931,9 @@
 			   (pair? f)
 			   (pair? (cdr f)))
 		  (if (and (pair? (cadr f))
-			   (memq (car f) '(define define* define-macro define-constant define-macro* define-expansion define-bacro define-bacro*)))
+			   (memq f-func '(define define* define-macro define-constant define-macro* define-expansion define-bacro define-bacro*)))
 		      (set-ref (caadr f) caller #f env)
-		      (if (memq (car f) '(defmacro defmacro*))
+		      (if (memq f-func '(defmacro defmacro*))
 			  (set-ref (cadr f) caller #f env))))
 		))
 	    (set! lint-mid-form old-mid-form)
@@ -10092,7 +10975,7 @@
 		 (for-each (lambda (c)
 			     (if (and (pair? c)
 				      (pair? (cdr c)))
-				 (check-sequence-constant function-name (list-ref (cdr c) (- (length (cdr c)) 1)))))
+				 (check-sequence-constant function-name (list-ref c (- (length c) 1)))))
 			   (cdr last)))
 		
 		((case)
@@ -10101,7 +10984,7 @@
 		   (for-each (lambda (c)
 			       (if (and (pair? c)
 					(pair? (cdr c)))
-				   (check-sequence-constant function-name (list-ref (cdr c) (- (length (cdr c)) 1)))))
+				   (check-sequence-constant function-name (list-ref c (- (length c) 1)))))
 			     (cddr last))))
 		
 		((do)
@@ -10109,7 +10992,7 @@
 			  (pair? (cddr last))
 			  (pair? (caddr last))
 			  (pair? (cdaddr last)))
-		     (check-sequence-constant function-name (list-ref (cdaddr last) (- (length (cdaddr last)) 1))))))))))
+		     (check-sequence-constant function-name (list-ref (caddr last) (- (length (caddr last)) 1))))))))))
 		   
 	
     (define (lint-walk-function-body definer function-name args body env)
@@ -10129,6 +11012,17 @@
 					,@(cdr body)))))))
 	(set! body (cdr body))) ; ignore old-style doc-string
       ;; (set! arg ...) never happens as last in body
+
+      ;; but as first in body, it happens ca 100 times
+      (if (and (pair? body)
+	       (pair? (car body))
+	       (eq? (caar body) 'set!)
+	       (or (eq? (cadar body) args)
+		   (and (pair? args)
+			(memq (cadar body) args))))
+	  (lint-format "perhaps ~A" function-name
+		       (lists->string (car body) `(let ((,(cadar body) ,(caddar body))) ...))))
+      ;; as first in let of body, maybe a half-dozen
       
       (catch 'sequence-constant-done
 	(lambda ()
@@ -10147,93 +11041,106 @@
 			(cdr body)          ; strip away the (old-style) documentation string
 			body)))
 	  
-	  (when (and (pair? bval)           ; not (define (hi a) . 1)!
-		     (pair? (car bval))
-		     (null? (cdr bval))
-		     (symbol? (caar bval))) ; not (define (hi) ((if #f + abs) 0))
-	    
-	    (cond ((equal? args (cdar bval))
-		   (let* ((cval (caar bval))
-			  (p (symbol->value cval *e*))
-			  (ary (arity p)))
-		     (if (or (procedure? p)
-			     (let ((e (var-member cval env) ))
-			       (and e
-				    (var? e)
-				    (symbol? (var-ftype e))
-				    (let ((def (var-initial-value e)) 
-					  (e-args (var-arglist e)))
-				      (and 
-				       (pair? def)
-				       (memq (var-ftype e) '(define lambda))
-				       (or (and (null? args)
-						(null? e-args))
-					   (and (symbol? args)
-						(symbol? e-args))
-					   (and (pair? args)
-						(pair? e-args)
-						(= (length args) (length e-args)))))))))
-			 (lint-format "~A~A could be (define ~A ~A)" function-name 
-				      (if (and (procedure? p)
-					       (not (= (car ary) (cdr ary)))
-					       (not (= (length args) (cdr ary))))
-					  (format #f "leaving aside ~A's optional arg~P, " cval (- (cdr ary) (length args)))
-					  "")
-				      function-name function-name cval))))
-
-		  ;; (equal? args (reverse (cdar bval))) rarely happens, and never with a reversible op
-		  
-		  ((and (or (symbol? args)
-			    (and (pair? args)
-				 (negative? (length args))))
-			(eq? (caar bval) 'apply)
-			(pair? (cdar bval))
-			(symbol? (cadar bval))
-			(not (memq (cadar bval) '(and or)))
-			(pair? (cddar bval))
-			(or (and (eq? args (caddar bval))
-				 (null? (cdddar bval)))
-			    (and (pair? args)
-				 (equal? (cddar bval) (proper-list args)))))
-		   (lint-format "~A could be (define ~A ~A)" function-name function-name function-name (cadar bval)))
-		  
-		  ((and (memq (caar bval) combinable-cxrs)
-			(pair? (cadar bval)))
-		   ((lambda* (cr arg)
-		      (and cr
-			   (< (length cr) 5)
-			   (pair? args) 
-			   (null? (cdr args))
-			   (eq? (car args) arg)
-			   (let ((f (symbol "c" cr "r")))
-			     (if (eq? f function-name)
-				 (lint-format "this redefinition of ~A is pointless (use (with-let (unlet)...) or #_~A)" definer function-name function-name)
-				 (lint-format "~A could be (define ~A ~A)" function-name function-name function-name f)))))
-		    (combine-cxrs (car bval))))
-
-		  ((not (and (memq (caar bval) '(list-ref list-tail))
-			     (pair? (cdar bval))
-			     (pair? (cddar bval))
-			     (pair? args)
-			     (eq? (car args) (cadar bval))
-			     (null? (cdr args)))))
-
-		  ((eq? (caar bval) 'list-ref)
-		   (case (caddar bval)
-		     ((0) (lint-format "~A could be (define ~A car)" function-name function-name function-name))
-		     ((1) (lint-format "~A could be (define ~A cadr)" function-name function-name function-name))
-		     ((2) (lint-format "~A could be (define ~A caddr)" function-name function-name function-name))
-		     ((3) (lint-format "~A could be (define ~A cadddr)" function-name function-name function-name))))
-
-		  (else
-		   (case (caddar bval)
-		     ((1) (lint-format "~A could be (define ~A cdr)" function-name function-name function-name))
-		     ((2) (lint-format "~A could be (define ~A cddr)" function-name function-name function-name))
-		     ((3) (lint-format "~A could be (define ~A cdddr)" function-name function-name function-name))
-		     ((4) (lint-format "~A could be (define ~A cddddr)" function-name function-name function-name))))))))
+	  (cond ((not (and (pair? bval)             ; not (define (hi a) . 1)!
+			   (pair? (car bval))
+			   (null? (cdr bval))
+			   (symbol? (caar bval))))) ; not (define (hi) ((if #f + abs) 0))
+
+		((or (equal? args (cdar bval))
+		     (and (hash-table-ref reversibles (caar bval))
+			  (equal? args (reverse (cdar bval)))))
+		 (let* ((cval (caar bval))
+			(p (symbol->value cval *e*))
+			(ary (arity p)))
+		   (if (or (procedure? p)
+			   (let ((e (var-member cval env) ))
+			     (and e
+				  (var? e)
+				  (symbol? (var-ftype e))
+				  (let ((def (var-initial-value e)) 
+					(e-args (var-arglist e)))
+				    (and 
+				     (pair? def)
+				     (memq (var-ftype e) '(define lambda))
+				     (or (and (null? args)
+					      (null? e-args))
+					 (and (symbol? args)
+					      (symbol? e-args))
+					 (and (pair? args)
+					      (pair? e-args)
+					      (= (length args) (length e-args)))))))))
+		       (lint-format "~A~A could be (define ~A ~A)" function-name 
+				    (if (and (procedure? p)
+					     (not (= (car ary) (cdr ary)))
+					     (not (= (length args) (cdr ary))))
+					(format #f "leaving aside ~A's optional arg~P, " cval (- (cdr ary) (length args)))
+					"")
+				    function-name 
+				    function-name 
+				    (if (equal? args (cdar bval))
+					cval
+					(hash-table-ref reversibles (caar bval))))
+		       (if (and (null? args)            ; perhaps this can be extended to any equal args
+				(null? (cdar bval)))
+			   (lint-format "~A could probably be ~A" function-name
+					(truncated-list->string form)
+					(truncated-list->string `(define ,function-name ,cval)))))))
+		
+		((and (or (symbol? args)
+			  (and (pair? args)
+			       (negative? (length args))))
+		      (eq? (caar bval) 'apply)
+		      (pair? (cdar bval))
+		      (symbol? (cadar bval))
+		      (not (memq (cadar bval) '(and or)))
+		      (pair? (cddar bval))
+		      (or (and (eq? args (caddar bval))
+			       (null? (cdddar bval)))
+			  (and (pair? args)
+			       (equal? (cddar bval) (proper-list args)))))
+		 (lint-format "~A could be (define ~A ~A)" function-name function-name function-name (cadar bval)))
+		
+		((and (memq (caar bval) combinable-cxrs)
+		      (pair? (cadar bval)))
+		 ((lambda* (cr arg)
+		    (and cr
+			 (< (length cr) 5)
+			 (pair? args) 
+			 (null? (cdr args))
+			 (eq? (car args) arg)
+			 (let ((f (symbol "c" cr "r")))
+			   (if (eq? f function-name)
+			       (lint-format "this redefinition of ~A is pointless (use (with-let (unlet)...) or #_~A)" definer function-name function-name)
+			       (lint-format "~A could be (define ~A ~A)" function-name function-name function-name f)))))
+		  (combine-cxrs (car bval))))
+		
+		((not (and (memq (caar bval) '(list-ref list-tail))
+			   (pair? (cdar bval))
+			   (pair? (cddar bval))
+			   (pair? args)
+			   (eq? (car args) (cadar bval))
+			   (null? (cdr args)))))
+		
+		((eq? (caar bval) 'list-ref)
+		 (case (caddar bval)
+		   ((0) (lint-format "~A could be (define ~A car)" function-name function-name function-name))
+		   ((1) (lint-format "~A could be (define ~A cadr)" function-name function-name function-name))
+		   ((2) (lint-format "~A could be (define ~A caddr)" function-name function-name function-name))
+		   ((3) (lint-format "~A could be (define ~A cadddr)" function-name function-name function-name))))
+		
+		(else
+		 (case (caddar bval)
+		   ((1) (lint-format "~A could be (define ~A cdr)" function-name function-name function-name))
+		   ((2) (lint-format "~A could be (define ~A cddr)" function-name function-name function-name))
+		   ((3) (lint-format "~A could be (define ~A cdddr)" function-name function-name function-name))
+		   ((4) (lint-format "~A could be (define ~A cddddr)" function-name function-name function-name)))))))
       
       (let ((fvar (and (symbol? function-name)
-		       (make-fvar :name (if (not (memq definer '(lambda lambda*))) function-name :lambda)
+		       (make-fvar :name (if (memq definer '(lambda lambda*)) 
+					    :lambda
+					    (if (eq? definer 'dilambda) 
+						:dilambda 
+						function-name))
 				  :ftype definer
 				  :initial-value form
 				  :env env
@@ -10281,9 +11188,9 @@
 			       function-name definer
 			       (symbol (substring (symbol->string definer) 0 (- (length (symbol->string definer)) 1)))))
 	      (let ((cur-env (if fvar (cons fvar env) env)))
-		(let* ((e (lint-walk-function-body definer function-name args body cur-env))
-		       (nvars (and (not (eq? e cur-env))
-				   (env-difference function-name e cur-env ()))))
+		(let ((nvars (let ((e (lint-walk-function-body definer function-name args body cur-env)))
+			       (and (not (eq? e cur-env))
+				    (env-difference function-name e cur-env ())))))
 		  (if (pair? nvars)
 		      (report-usage function-name definer nvars cur-env)))
 		cur-env))
@@ -10317,9 +11224,9 @@
 						  :initial-value form
 						  :definer definer)
 					(append args-as-vars (if fvar (cons fvar env) env))))
-			 (e (lint-walk-function-body definer function-name args body cur-env))
-			 (nvars (and (not (eq? e cur-env))
-				     (env-difference function-name e cur-env ()))))
+			 (nvars (let ((e (lint-walk-function-body definer function-name args body cur-env)))
+				  (and (not (eq? e cur-env))
+				       (env-difference function-name e cur-env ())))))
 		    (report-usage function-name definer (append (or nvars ()) args-as-vars) cur-env))
 
 		  (when (and (var? fvar)
@@ -10518,14 +11425,14 @@
 			 (set-walk (car tree))
 			 (set-walk (cdr tree))))))
 	  ()
-	  (let* ((vs (out-vars caller vars body))
-		 (refs (remove-if (lambda (v)
-				    (or (assq v vars)        ; vars = do-loop steppers
-					(memq v (cadr vs)))) ; (cadr vs) = sets
-				  (car vs)))
-	    ;; refs are the external variables accessed in the do-loop body
-	    ;;   that are not set or shadowed or changed (vector-set! etc)
-		 (constant-exprs ()))
+	  (let ((refs (let ((vs (out-vars caller vars body)))
+			(remove-if (lambda (v)
+				     (or (assq v vars)        ; vars = do-loop steppers
+					 (memq v (cadr vs)))) ; (cadr vs) = sets
+				   (car vs))))
+		;; refs are the external variables accessed in the do-loop body
+		;;   that are not set or shadowed or changed (vector-set! etc)
+		(constant-exprs ()))
 
 	    (let expr-walk ((tree body))
 	      (when (pair? tree)
@@ -10602,35 +11509,35 @@
 	  (set! (ps i) (cadar p))
 	  (set! (qs i) (reverse (cadar p))))
 
-	(let* ((header-len (length (ps 0)))
-	       (trailer-len header-len)
-	       (result-min-len header-len))
-	  (do ((i 1 (+ i 1)))
-	      ((= i len))
-	    (set! result-min-len (min result-min-len (length (ps i))))
-	    (do ((k 1 (+ k 1))
-		 (p (cdr (ps i)) (cdr p))
-		 (f (cdr (ps 0)) (cdr f)))
-		((or (= k header-len)
-		     (not (pair? p))
-		     (not (equal? (car p) (car f))))
-		 (set! header-len k)))
-	    (do ((k 0 (+ k 1))
-		 (q (qs i) (cdr q))
-		 (f (qs 0) (cdr f)))
-		((or (= k trailer-len)
-		     (not (pair? q))
-		     (not (equal? (car q) (car f))))
-		 (set! trailer-len k))))
-	  
-	  (if (= result-min-len header-len)
-	      (begin
-		(set! header-len (- header-len 1))
-		(set! trailer-len 0)))
-	  (if (<= result-min-len (+ header-len trailer-len))
-	      (set! trailer-len (- result-min-len header-len 1)))
+	(let ((header-len (length (ps 0))))
+	  (let ((trailer-len header-len)
+		(result-min-len header-len))
+	    (do ((i 1 (+ i 1)))
+		((= i len))
+	      (set! result-min-len (min result-min-len (length (ps i))))
+	      (do ((k 1 (+ k 1))
+		   (p (cdr (ps i)) (cdr p))
+		   (f (cdr (ps 0)) (cdr f)))
+		  ((or (= k header-len)
+		       (not (pair? p))
+		       (not (equal? (car p) (car f))))
+		   (set! header-len k)))
+	      (do ((k 0 (+ k 1))
+		   (q (qs i) (cdr q))
+		   (f (qs 0) (cdr f)))
+		  ((or (= k trailer-len)
+		       (not (pair? q))
+		       (not (equal? (car q) (car f))))
+		   (set! trailer-len k))))
+	    
+	    (if (= result-min-len header-len)
+		(begin
+		  (set! header-len (- header-len 1))
+		  (set! trailer-len 0)))
+	    (if (<= result-min-len (+ header-len trailer-len))
+		(set! trailer-len (- result-min-len header-len 1)))
 
-	  (values header-len trailer-len result-min-len))))
+	    (values header-len trailer-len result-min-len)))))
 
     (define (one-call-and-dots body) ; body is unchanged here, so it's not interesting
       (if (< (tree-leaves body) 30)
@@ -10741,14 +11648,15 @@
 		 (and (var? v)
 		      (eq? (var-definer v) 'define-constant)
 		      (not (equal? (caddr form) (var-initial-value v)))))
-	       (let ((v (var-member sym env)))
-		 (lint-format "~A in ~A is already a constant, defined ~A~A" caller sym
-			      (truncated-list->string form)
-			      (if (and (pair? (var-initial-value v))
-				       (positive? (pair-line-number (var-initial-value v))))
-				  (format #f "(line ~D): " (pair-line-number (var-initial-value v)))
-				  "")
-			      (truncated-list->string (var-initial-value v))))))))
+	       => (lambda (v)
+		    (let ((line (if (and (pair? (var-initial-value v))
+					 (positive? (pair-line-number (var-initial-value v))))
+				    (format #f "(line ~D): " (pair-line-number (var-initial-value v)))
+				    "")))
+		      (lint-format "~A in ~A is already a constant, defined ~A~A" caller sym
+				   (truncated-list->string form)
+				   line
+				   (truncated-list->string (var-initial-value v)))))))))
 				   
     (define binders (let ((h (make-hash-table)))
 		      (for-each
@@ -10776,6 +11684,7 @@
 		(let ((sym (cadr form))
 		      (val (cddr form))
 		      (head (car form)))
+
 		  (if (symbol? sym)
 		      (begin
 			(check-definee caller sym form env)
@@ -10813,7 +11722,7 @@
 						      (car val) env)))
 				    (if (or (not (pair? e))
 					    (eq? e env)
-					    (not (eq? (var-name (car e)) :lambda))) ; (define x (lambda ...))
+					    (not (memq (var-name (car e)) '(:lambda :dilambda)))) ; (define x (lambda ...))
 					(cons (make-var :name sym :initial-value (car val) :definer head) env)
 					(begin
 					  (set! (var-name (car e)) sym)
@@ -10878,81 +11787,78 @@
 			  (let ((outer-args (cdr sym))
 				(outer-name (car sym)))
 			    
-			    (when *report-forward-functions*
-			      ;; need to ignore macro usages here -- this happens ca 20000 times!
-			      (cond ((hash-table-ref other-identifiers (car sym))
-				     => (lambda (p)
-					  (lint-format "~A is used before it is defined" caller (car sym))))))
+			    (cond ((not *report-forward-functions*))
+				  ;; need to ignore macro usages here -- this happens ca 20000 times!
+				  ((hash-table-ref other-identifiers (car sym))
+				   => (lambda (p)
+					(lint-format "~A is used before it is defined" caller (car sym)))))
 			    
 			    (check-definee caller (car sym) form env)
 			    
-			    (when (and (pair? (car val))
-				       (eq? (caar val) 'let)
-				       (pair? (cadar val)))
-			      (let ((inner-vars (cadar val)))
-				(do ((p outer-args (cdr p)))
-				    ((not (pair? p)))
-				  (cond ((assq (car p) inner-vars) =>
-					 (lambda (v)
-					   (if (eq? (cadr v) (car p))
-					       (lint-format "in ~A this let binding is pointless: ~A" caller
-							    (truncated-list->string form)
-							    v))))))))
-			    
-			    ;; define + redundant named-let -- sometimes rewrites to define*
-			    (when (and (pair? (car val))
-				       (eq? (caar val) 'let)
-				       (symbol? (cadar val))
-				       (null? (cdr val)))
-			      (replace-redundant-named-let caller form outer-name outer-args (car val)))
-			    
-			    ;; perhaps this block should be on a *report-* switch --
-			    ;;   it translates some internal defines into named lets
-			    ;;   (or just normal lets, etc)
-			    ;; this is not redundant given the walk-body translations because here
-			    ;;   we have the outer parameters and can check those against the inner ones
-			    ;;   leading (sometimes) to much nicer rewrites.
-			    (when (and (pair? (car val))
-				       (eq? (caar val) 'define) ; define* does not happen here
-				       (pair? (cdr val))
-				       (pair? (cadar val)))     ; inner define (name ...)
-			      (let ((inner-name (caadar val))
-				    (inner-args (cdadar val))
-				    (inner-body (cddar val))
-				    (outer-body (cdddr form)))
-				(when (and (symbol? inner-name)
-					   (proper-list? inner-args)
-					   (pair? (car outer-body))
-					   (= (tree-count1 inner-name outer-body 0) 1))
-				  (let ((call (find-call inner-name outer-body)))
-				    (when (pair? call)
-				      (set! last-rewritten-internal-define (car val))
-				      (let ((new-call (if (tree-memq inner-name inner-body)
-							  (if (and (null? inner-args)
-								   (null? outer-args))
-							      (if (null? (cdr inner-body))
-								  (car (tree-subst outer-name inner-name inner-body))
-								  `(begin ,@(tree-subst outer-name inner-name inner-body)))
-							      `(let ,inner-name
-								 ,(if (null? inner-args) () (map list inner-args (cdr call)))
-								 , at inner-body))
-							  (if (or (null? inner-args)
-								  (and (equal? inner-args outer-args)
-								       (equal? inner-args (cdr call))))
-							      (if (null? (cdr inner-body))
-								  (car (tree-subst outer-name inner-name inner-body))
-								  `(begin ,@(tree-subst outer-name inner-name inner-body)))
-							      `(let ,(map list inner-args (cdr call))
-								 , at inner-body)))))
-					(lint-format "perhaps ~A" caller
-						     (lists->string form 
-								    `(,head ,sym 
-									    ,@(let ((p (tree-subst new-call call outer-body)))
-										(if (and (pair? p)
-											 (pair? (car p))
-											 (eq? (caar p) 'begin))
-										    (cdar p)
-										    p)))))))))))
+			    (when (pair? (car val))
+			      (when (eq? (caar val) 'let)
+				(when (pair? (cadar val))
+				  (let ((inner-vars (cadar val)))
+				    (do ((p outer-args (cdr p)))
+					((not (pair? p)))
+				      (cond ((assq (car p) inner-vars) =>
+					     (lambda (v)
+					       (if (eq? (cadr v) (car p))
+						   (lint-format "in ~A this let binding is pointless: ~A" caller
+								(truncated-list->string form)
+								v))))))))
+				
+				;; define + redundant named-let -- sometimes rewrites to define*
+				(when (and (symbol? (cadar val))
+					   (null? (cdr val)))
+				  (replace-redundant-named-let caller form outer-name outer-args (car val))))
+			      
+			      ;; perhaps this block should be on a *report-* switch --
+			      ;;   it translates some internal defines into named lets
+			      ;;   (or just normal lets, etc)
+			      ;; this is not redundant given the walk-body translations because here
+			      ;;   we have the outer parameters and can check those against the inner ones
+			      ;;   leading (sometimes) to much nicer rewrites.
+			      (when (and (eq? (caar val) 'define) ; define* does not happen here
+					 (pair? (cdr val))
+					 (pair? (cadar val)))     ; inner define (name ...)
+				(let ((inner-name (caadar val))
+				      (inner-args (cdadar val))
+				      (inner-body (cddar val))
+				      (outer-body (cdddr form)))
+				  (when (and (symbol? inner-name)
+					     (proper-list? inner-args)
+					     (pair? (car outer-body))
+					     (= (tree-count1 inner-name outer-body 0) 1))
+				    (let ((call (find-call inner-name outer-body)))
+				      (when (pair? call)
+					(set! last-rewritten-internal-define (car val))
+					(let ((new-call (if (tree-memq inner-name inner-body)
+							    (if (and (null? inner-args)
+								     (null? outer-args))
+								(if (null? (cdr inner-body))
+								    (car (tree-subst outer-name inner-name inner-body))
+								    `(begin ,@(tree-subst outer-name inner-name inner-body)))
+								`(let ,inner-name
+								   ,(if (null? inner-args) () (map list inner-args (cdr call)))
+								   , at inner-body))
+							    (if (or (null? inner-args)
+								    (and (equal? inner-args outer-args)
+									 (equal? inner-args (cdr call))))
+								(if (null? (cdr inner-body))
+								    (car (tree-subst outer-name inner-name inner-body))
+								    `(begin ,@(tree-subst outer-name inner-name inner-body)))
+								`(let ,(map list inner-args (cdr call))
+								   , at inner-body)))))
+					  (lint-format "perhaps ~A" caller
+						       (lists->string form 
+								      `(,head ,sym 
+									      ,@(let ((p (tree-subst new-call call outer-body)))
+										  (if (and (pair? p)
+											   (pair? (car p))
+											   (eq? (caar p) 'begin))
+										      (cdar p)
+										      p))))))))))))
 			    (when (pair? outer-args)
 			      (if (repeated-member? (proper-list outer-args) env)
 				  (lint-format "~A parameter is repeated: ~A" caller head (truncated-list->string sym)))
@@ -11025,37 +11931,13 @@
 				    (lint-format "perhaps ~A or ~A" caller 
 						 (lists->string form `(define ,outer-name ,(unquoted (car val))))
 						 (truncated-list->string `(define (,outer-name) ,(unquoted (car val))))))
+
 				(when (pair? body)
 				  (case (car body)
 				    ((#_{list})
 
 				     (when (and (quoted-symbol? (cadr body))
 						(proper-list? outer-args))
-#|
-				       (catch #t
-					 (lambda ()
-				       (if (catch #t
-					     (lambda ()
-					       (let walk ((p body))
-					   (if (pair? p)
-					       (or (and (eq? (car p) 'quote)
-							(not (hash-table-ref syntaces (cadr p))))
-						   (and (walk (car p))
-							(walk (cdr p))))
-					       (or (and (procedure? p)
-							(not (memq p '(#_{apply_values} #_{append}))))
-						   (and (symbol? p)
-							(or (memq p outer-args)
-							    (hash-table-ref no-side-effect-functions p))
-							(not (hash-table-ref syntaces p)))
-						   (code-constant? p)))))
-					   (lambda args #f))
-					 (let* ((m (eval form))
-						(mx (apply macroexpand `((,outer-name , at outer-args)))))
-					   (format *stderr* "~A -> ~A~%" form `(define (,outer-name , at outer-args) ,mx)))))
-					 (lambda args #f))
-|#
-
 				       (if (and (equal? (cddr body) outer-args)
 						(or (not (hash-table-ref syntaces (cadadr body))) ; (define-macro (x y) `(lambda () ,y))
 						    (memq (cadadr body) '(set! define))))
@@ -11140,6 +12022,27 @@
 		      define-integrable define^)))                   ; these give more informative names in Guile and scmutils (MIT-scheme))
 
 
+	;; ---------------- dilambda ----------------
+	(let ()
+	  (define (dilambda-walker caller form env)
+	    ;(format *stderr* "~A~%" form)
+	    (let ((len (length form)))
+	      (if (not (= len 3))
+		  (begin
+		    (lint-format "dilambda takes two arguments: ~A" caller (truncated-list->string form))
+		    env)
+		  (let ((getter (cadr form))
+			(setter (caddr form)))
+		    (lint-walk caller setter env)
+		    (let ((e (lint-walk caller getter env))) ; goes to lint-walk-function -> :lambda as first in e
+		      (if (and (pair? e)
+			       (eq? (var-name (car e)) :lambda))
+			  (set! (var-name (car e)) :dilambda))
+		      e)))))
+
+	  (hash-table-set! h 'dilambda dilambda-walker))
+
+
 	;; ---------------- lambda ----------------		  
 	(let ()
 	  (define (lambda-walker caller form env)
@@ -11156,7 +12059,6 @@
 			    (if (eq? head 'lambda*)             ; (lambda* ()...) -> (lambda () ...)
 				(lint-format "lambda* could be lambda ~A" caller form))
 			    (begin ; args is a pair             ; (lambda (a a) ...)
-			      
 			      (let ((val (cddr form)))
 				(if (and (pair? (car val))
 					 (eq? (caar val) 'let)
@@ -11183,25 +12085,26 @@
 				   (= len 3)
 				   (>= arglen 0)) ; not a dotted list
 			  (let ((body (caddr form)))
-			    (when (and (pair? body)
-				       (symbol? (car body))
-				       (not (memq (car body) '(and or))))
-			      (cond ((equal? args (cdr body))
-				     (lint-format "perhaps ~A" caller (lists->string form (car body))))
-				    
-				    ((equal? (reverse args) (cdr body))
-				     (let ((rf (hash-table-ref reversibles (car body))))
-				       (if rf (lint-format "perhaps ~A" caller (lists->string form rf)))))
-				    
-				    ((and (= arglen 1)
-					  (memq (car body) combinable-cxrs))
-				     ((lambda* (cr arg) ; lambda* not lambda because combine-cxrs might return just #f
-					(and cr
-					     (< (length cr) 5) 
-					     (eq? (car args) arg)
-					     (lint-format "perhaps ~A" caller 
-							  (lists->string form (symbol "c" cr "r")))))
-				      (combine-cxrs body)))))))))
+			    (cond ((not (and (pair? body)
+					     (symbol? (car body))
+					     (not (memq (car body) '(and or))))))
+
+				  ((equal? args (cdr body))
+				   (lint-format "perhaps ~A" caller (lists->string form (car body))))
+				  
+				  ((equal? (reverse args) (cdr body))
+				   (let ((rf (hash-table-ref reversibles (car body))))
+				     (if rf (lint-format "perhaps ~A" caller (lists->string form rf)))))
+				  
+				  ((and (= arglen 1)
+					(memq (car body) combinable-cxrs))
+				   ((lambda* (cr arg) ; lambda* not lambda because combine-cxrs might return just #f
+				      (and cr
+					   (< (length cr) 5) 
+					   (eq? (car args) arg)
+					   (lint-format "perhaps ~A" caller 
+							(lists->string form (symbol "c" cr "r")))))
+				    (combine-cxrs body))))))))
 		    
 		    (if (and (or (symbol? args)                 ; (lambda args (apply f args)) -> f
 				 (and (pair? args)              ; (lambda #\a ...) !
@@ -11245,13 +12148,14 @@
 			   (let ((v (var-member settee env)))
 			     (if (and (var? v)
 				      (eq? (var-definer v) 'define-constant))
-				 (lint-format "can't set! ~A in ~A (it is a constant: ~A~A)" caller settee
-					      (truncated-list->string form)
-					      (if (and (pair? (var-initial-value v))
-						       (positive? (pair-line-number (var-initial-value v))))
-						  (format #f "(line ~D): " (pair-line-number (var-initial-value v)))
-						  "")
-					      (truncated-list->string (var-initial-value v))))))
+				 (let ((line (if (and (pair? (var-initial-value v))
+						      (positive? (pair-line-number (var-initial-value v))))
+						 (format #f "(line ~D): " (pair-line-number (var-initial-value v)))
+						 "")))
+				   (lint-format "can't set! ~A in ~A (it is a constant: ~A~A)" caller settee
+						(truncated-list->string form)
+						line
+						(truncated-list->string (var-initial-value v)))))))
 		       (if (not (pair? settee))
 			   (lint-format "can't set! ~A" caller (truncated-list->string form))
 			   (begin
@@ -11353,7 +12257,9 @@
 			   (true (caddr form))
 			   (false (if (= len 4) (cadddr form) 'no-false))
 			   (expr (simplify-boolean (cadr form) () () env))
-			   (suggestion made-suggestion))
+			   (suggestion made-suggestion)
+			   (true-op (and (pair? (caddr form)) (caaddr form)))
+			   (false-op (and (= len 4) (pair? (cadddr form)) (car (cadddr form)))))
 
 		       (if (eq? false #<unspecified>)
 			   (lint-format "this #<unspecified> is redundant: ~A" caller form))
@@ -11391,19 +12297,20 @@
 					      (if (pair? p)
 						  (and-forgetful form 'if2 (cadr test) (car p) env)))))))))
 		       
+		       ;(format *stderr* "~A~%" form)
 		       (when (and (pair? true)
 				  (pair? false)
-				  (not (memq (car true) (list 'quote {list})))
-				  (not (any-macro? (car true) env))
-				  (or (not (hash-table-ref syntaces (car true)))
-				      (memq (car true) '(set! and or begin)))
+				  (not (memq true-op (list 'quote {list})))
+				  (not (any-macro? true-op env))
+				  (or (not (hash-table-ref syntaces true-op))
+				      (memq true-op '(let let* set! and or begin)))
 				  (pair? (cdr true)))
-			 
+
 			 (define (tree-subst-eq new old tree) 
 			   ;; tree-subst above substitutes every occurence of 'old with 'new, so we check
 			   ;;   in advance that 'old only occurs once in the tree (via tree-count1).  Here
-			   ;;   'old may occur any number of times, but we only want to change it once,
-			   ;;   so we keep the actual pointer to it and use eq?.
+			   ;;   'old may occur any number of times, but we want to change it only once,
+			   ;;   so we keep the actual pointer to it and use eq?.  (This assumes no shared code?)
 			   (cond ((eq? old tree)
 				  (cons new (cdr tree)))
 				 ((not (pair? tree)) 
@@ -11413,126 +12320,147 @@
 				 (else (cons (tree-subst-eq new old (car tree))
 					     (tree-subst-eq new old (cdr tree))))))
 			 
+			 ;; maybe move the unless before this 
 			 (let ((diff (let differ-in-one ((p true)
 							 (q false))
 				       (and (pair? p)
 					    (pair? q)
 					    (if (equal? (car p) (car q))
 						(differ-in-one (cdr p) (cdr q))
-						(and (not (pair? (car p)))
-						     (not (pair? (car q)))
-						     (equal? (cdr p) (cdr q))
-						     (list p (list (car p) (car q)))))))))
+						(and (equal? (cdr p) (cdr q))
+						     (or (and (pair? (car p))
+							      (not (eq? (caar p) 'quote))
+							      (pair? (car q))
+							      (not (eq? (caar q) 'quote))
+							      (differ-in-one (car p) (car q)))
+							 (list p (list (car p) (car q))))))))))
 			   (if (pair? diff)
-			       (unless (or (and (equal? (car true) (caadr diff)) ; (if z (or x (g y)) (and (f x) y))? 
-						(or (memq (car true) '(or and))
-						    (memq (car false) '(or and))
-						    (hash-table-ref syntaces (car true))
-						    (hash-table-ref syntaces (car false)))
-						(any? pair? (cdr true)))
-					   (and (eq? (car true) 'set!)       ; (if x (set! y w) (set! z w))
+			       (unless (or (and (equal? true-op (caadr diff)) ; (if x (+ y 1) (- y 1)) -- are we trying to keep really simple stuff out?
+						(or (hash-table-ref syntaces true-op)
+						    (hash-table-ref syntaces false-op))
+						(any? pair? (cdr true)))      ; (if x (set! y (+ x 1)) (set! y 1))
+					   (and (eq? true-op 'set!)           ; (if x (set! y w) (set! z w))
 						(equal? (caar diff) (cadr true))))
-				 ;; also not any-macro? (car true|false) probably
-				 (lint-format "perhaps ~A" caller 
-					      (lists->string form
-							     (cond ((eq? (car true) (caadr diff))  ; very common!
-								    ;; (if x (f y) (g y)) -> ((if x f g) y)
-								    ;; but f and g can't be or/and unless there are no expressions
-								    ;;   I now like all of these -- originally found them odd: CL influence!
-								    (if (equal? (car true) test)
-									`((or ,test ,(car false)) ,@(cdr true))
-									`((if ,test ,(car true) ,(car false)) ,@(cdr true))))
-								   
-								   ((and (eq? (caadr diff) #t)
-									 (not (cadadr diff)))
-								    ;; (if x (set! y #t) (set! y #f)) -> (set! y x)
-								    (tree-subst-eq test (car diff) true))
-								   
-								   ((and (not (caadr diff))
-									 (eq? (cadadr diff) #t))
-								    ;; (if x (set! y #f) (set! y #t)) -> (set! y (not x))
-								    (tree-subst-eq (simplify-boolean `(not ,expr) () () env)
-										   (car diff) true))
-								   
-								   ((equal? (caadr diff) test)
-								    ;; (if x (set! y x) (set! y 21)) -> (set! y (or x 21))
-								    (tree-subst-eq (simplify-boolean `(or ,@(cadr diff)) () () env)
-										   (car diff) true))
-								   
-								   (else 
-								    ;; (if x (set! y z) (set! y w)) -> (set! y (if x z w))
-								    ;; true op moved out, if expr moved in
-								    ;;  (if A (and B C) (and B D)) -> (and B (if A C D))
-								    ;;  here differ-in-one means that preceding/trailing stuff must match exactly
-								    (tree-subst-eq `(if ,expr ,@(cadr diff)) (car diff) true))))))
-			       
-			       ;; next look for one-seq difference
-			       ;; not sure about this -- in simple cases it looks good
-			       ;;   some cases are trying to remove a test from a loop, so our suggestion will be unwelcome
-			       
-			       (let ((seqdiff (let differ-in-one-seq ((p true)
-								      (q false)
-								      (c 0))
-						(and (pair? p)
-						     (pair? q)
-						     (if (equal? (car p) (car q))
-							 (differ-in-one-seq (cdr p) (cdr q) (+ c 1))
-							 (and (> c 1)
-							      (equal? (cdr p) (cdr q))
-							      (list p (list (car p) (car q)))))))))
-				 ;; (if x (set! y 1) (set! y (+ x 1))) -> (set! y (if x 1 (+ x 1)))
-				 (if (pair? seqdiff)
-				     (lint-format "perhaps ~A" caller
-						  (lists->string form (tree-subst-eq `(if ,expr ,@(cadr seqdiff)) (car seqdiff) true)))
-				     
-				     ;; differ-in-trailers can (sometimes) take advantage of values
-				     (let ((enddiff (let differ-in-trailers ((p true)
-									     (q false)
-									     (c 0))
-						      (and (pair? p)
-							   (pair? q)
-							   (if (equal? (car p) (car q))
-							       (differ-in-trailers (cdr p) (cdr q) (+ c 1))
-							       (and (> c 1)
-								    (let ((op (if (memq (car true) '(and or + * begin max min)) (car true) 'values)))
-								      (list p 
-									    (if (null? (cdr p)) (car p) `(,op , at p))
-									    (if (null? (cdr q)) (car q) `(,op , at q))))))))))
+				 (let ((subst-loc (car diff)))
+				   ;; for let/let* if tree-subst position can't affect the test, just subst, else save test first
+				   ;;   named let diff in args gets no hits
+				   (if (memq true-op '(let let*))
+				       (if (not (or (symbol? (cadr true))         ; assume named let is moving an if outside the loop
+						    (eq? subst-loc (cdr true)))) ;   avoid confusion about the vars list
+					   (let ((vars (cadr true)))
+					     (lint-format "perhaps ~A" caller 
+							  (lists->string form
+									 (if (and (pair? vars)
+										  (case true-op
+										    ((let)  (tree-memq subst-loc vars))
+										    ((let*) (tree-memq subst-loc (car vars)))
+										    (else #f)))
+									     (tree-subst-eq `(if ,expr ,@(cadr diff)) subst-loc true)
+									     `(let ((_1_ ,expr))
+										,(tree-subst-eq `(if _1_ ,@(cadr diff)) subst-loc true)))))))
 				       
-				       ;; (if A (+ B C E) (+ B D)) -> (+ B (if A (+ C E) D))
-				       ;; if p/q null, don't change because for example
-				       ;;   (if A (or B C) (or B C D F)) can't be (or B C (if A ...))
-				       ;;   but if this were not and/or, it could be (+ B (if A C (values C D F)))
-				       (if (pair? enddiff)
-					   (lint-format "perhaps ~A" caller
-							(lists->string form (tree-subst `((if ,expr ,@(cdr enddiff))) (car enddiff) true)))
-					   
-					   ;; differ-in-headers looks for equal trailers
-					   ;;   (if A (+ B B E C) (+ D D E C)) -> (+ (if A (+ B B) (+ D D)) E C)
-					   ;;   these are not always (read: almost never) an improvement
-					   (when (and (eq? (car true) (car false))
-						      (not (eq? (car true) 'values))
-						      (or (not (eq? (car true) 'set!))
-							  (equal? (cadr true) (cadr false))))
-					     (let ((headdiff (let differ-in-headers ((p (cdr true))
-										     (q (cdr false))
-										     (c 0)
-										     (rp ())
-										     (rq ()))
-							       (and (pair? p)
-								    (pair? q)
-								    (if (equal? p q)
-									(and (> c 0) ; once case is handled elsewhere?
-									     (list p (reverse rp) (reverse rq)))
-									(differ-in-headers (cdr p) (cdr q)
-											   (+ c 1)
-											   (cons (car p) rp) (cons (car q) rq)))))))
-					       (when (pair? headdiff)
-						 (let* ((op (if (memq (car true) '(and or + * begin max min)) (car true) 'values))
-							(tp (if (null? (cdadr headdiff)) (caadr headdiff) `(,op ,@(cadr headdiff))))
-							(tq (if (null? (cdaddr headdiff)) (caaddr headdiff) `(,op ,@(caddr headdiff)))))
-						   (lint-format "perhaps ~A" caller
-								(lists->string form `(,(car true) (if ,expr ,tp ,tq) ,@(car headdiff)))))))))))))))
+				       ;; also not any-macro? (car true|false) probably
+				       (lint-format "perhaps ~A" caller 
+						    (lists->string form
+								   (cond ((eq? true-op (caadr diff))  ; very common!
+									  ;; (if x (f y) (g y)) -> ((if x f g) y)
+									  ;; but f and g can't be or/and unless there are no expressions
+									  ;;   I now like all of these -- originally found them odd: CL influence!
+									  (if (equal? true-op test)
+									      `((or ,test ,false-op) ,@(cdr true))
+									      `((if ,test ,true-op ,false-op) ,@(cdr true))))
+									 
+									 ((and (eq? (caadr diff) #t)
+									       (not (cadadr diff)))
+									  ;; (if x (set! y #t) (set! y #f)) -> (set! y x)
+									  (tree-subst-eq test subst-loc true))
+									 
+									 ((and (not (caadr diff))
+									       (eq? (cadadr diff) #t))
+									  ;; (if x (set! y #f) (set! y #t)) -> (set! y (not x))
+									  (tree-subst-eq (simplify-boolean `(not ,expr) () () env)
+											 subst-loc true))
+									 
+									 ((equal? (caadr diff) test)
+									  ;; (if x (set! y x) (set! y 21)) -> (set! y (or x 21))
+									  (tree-subst-eq (simplify-boolean `(or ,@(cadr diff)) () () env)
+											 subst-loc true))
+									 
+									 ((or (memq true-op '(set! begin and or))
+									      (let list-memq ((a subst-loc) (lst true))
+										(and (pair? lst)
+										     (or (eq? a lst)
+											 (list-memq a (cdr lst))))))
+									  ;; (if x (set! y z) (set! y w)) -> (set! y (if x z w))
+									  ;; true op moved out, if expr moved in
+									  ;;  (if A (and B C) (and B D)) -> (and B (if A C D))
+									  ;;  here differ-in-one means that preceding/trailing stuff must subst-loc exactly
+									  (tree-subst-eq `(if ,expr ,@(cadr diff)) subst-loc true))
+									 
+									 ;; paranoia... normally the extra let is actually not needed,
+									 ;;   but it's very hard to distinguish the bad cases
+									 (else 
+									  `(let ((_1_ ,expr))
+									     ,(tree-subst-eq `(if _1_ ,@(cadr diff)) subst-loc true)))))))))
+			       ;; else not pair? diff
+			       (unless (memq true-op '(let let*))
+				 ;; differ-in-trailers can (sometimes) take advantage of values
+				 (let ((enddiff (let differ-in-trailers ((p true)
+									 (q false)
+									 (c 0))
+						  (and (pair? p)
+						       (pair? q)
+						       (if (equal? (car p) (car q))
+							   (differ-in-trailers (cdr p) (cdr q) (+ c 1))
+							   (and (> c 1)
+								(let ((op (if (memq true-op '(and or + * begin max min)) true-op 'values)))
+								  (list p 
+									(if (null? (cdr p)) (car p) `(,op , at p))
+									(if (null? (cdr q)) (car q) `(,op , at q))))))))))
+				   
+				   ;; (if A (+ B C E) (+ B D)) -> (+ B (if A (+ C E) D))
+				   ;; if p/q null, don't change because for example
+				   ;;   (if A (or B C) (or B C D F)) can't be (or B C (if A ...))
+				   ;;   but if this were not and/or, it could be (+ B (if A C (values C D F)))
+				   (if (pair? enddiff)
+				       (lint-format "perhaps ~A" caller
+						    (lists->string form (tree-subst `((if ,expr ,@(cdr enddiff))) (car enddiff) true)))
+				       
+				       ;; differ-in-headers looks for equal trailers
+				       ;;   (if A (+ B B E C) (+ D D E C)) -> (+ (if A (+ B B) (+ D D)) E C)
+				       ;;   these are not always (read: almost never) an improvement
+				       (when (and (eq? true-op false-op)
+						  (not (eq? true-op 'values))
+						  (or (not (eq? true-op 'set!))
+						      (equal? (cadr true) (cadr false))))
+					 (let ((headdiff (let differ-in-headers ((p (cdr true))
+										 (q (cdr false))
+										 (c 0)
+										 (rp ())
+										 (rq ()))
+							   (and (pair? p)
+								(pair? q)
+								(if (equal? p q)
+								    (and (> c 0) ; once case is handled elsewhere?
+									 (list p (reverse rp) (reverse rq)))
+								    (differ-in-headers (cdr p) (cdr q)
+										       (+ c 1)
+										       (cons (car p) rp) (cons (car q) rq)))))))
+					   (when (pair? headdiff)
+					     (let ((op (if (memq true-op '(and or + * begin max min)) true-op 'values)))
+					       (let ((tp (if (null? (cdadr headdiff)) 
+							     (caadr headdiff)
+							     `(,op ,@(cadr headdiff))))
+						     (tq (if (null? (cdaddr headdiff)) 
+							     (caaddr headdiff) 
+							     `(,op ,@(caddr headdiff)))))
+						 (lint-format "perhaps ~A" caller
+							      (lists->string form 
+									     `(,true-op 
+									       (if ,expr ,tp ,tq)
+									       ,@(car headdiff)))))))))))))))
+		       ;;    (when (and (pair? true)...)
+		       ;; end tree-subst section
 		       
 		       (unless (= last-if-line-number line-number)
 			 (do ((iff form (cadddr iff))
@@ -11567,36 +12495,37 @@
 			   (if (and (never-true test) true) ; complain about (if #f #f) later
 			       (lint-format "if test is never true: ~A" caller (truncated-list->string form))))
 		       
-		       (unless (side-effect? test env)
-			 (cond ((or (equal? test true)               ; (if x x y) -> (or x y)
-				    (equal? expr true))
-				(lint-format "perhaps ~A" caller 
-					     (lists->string form 
-							    (simplify-boolean (if (eq? false 'no-false)
-										  `(or ,expr #<unspecified>)
-										  `(or ,expr ,false))
-									      () () env))))
-			       ((or (equal? test `(not ,true))       ; (if x (not x) y) -> (and (not x) y)
-				    (equal? `(not ,test) true))      ; (if (not x) x y) -> (and x y)
-				(lint-format "perhaps ~A" caller 
-					     (lists->string form 
-							    (simplify-boolean (if (eq? false 'no-false)
-										  `(and ,true #<unspecified>)
-										  `(and ,true ,false))
-									      () () env))))
-			       ((or (equal? test false)              ; (if x y x) -> (and x y)
-				    (equal? expr false))
-				(lint-format "perhaps ~A" caller 
-					     (lists->string form (simplify-boolean `(and ,expr ,true) () () env))))
-			       
-			       ((or (equal? `(not ,test) false)      ; (if x y (not x)) -> (or (not x) y)
-				    (equal? test `(not ,false)))     ; (if (not x) y x) -> (or x y)
-				(lint-format "perhaps ~A" caller 
-					     (lists->string form (simplify-boolean `(or ,false ,true) () () env))))))
+		       (cond ((side-effect? test env))
+
+			     ((or (equal? test true)               ; (if x x y) -> (or x y)
+				  (equal? expr true))
+			      (lint-format "perhaps ~A" caller 
+					   (lists->string form 
+							  (simplify-boolean (if (eq? false 'no-false)
+										`(or ,expr #<unspecified>)
+										`(or ,expr ,false))
+									    () () env))))
+			     ((or (equal? test `(not ,true))       ; (if x (not x) y) -> (and (not x) y)
+				  (equal? `(not ,test) true))      ; (if (not x) x y) -> (and x y)
+			      (lint-format "perhaps ~A" caller 
+					   (lists->string form 
+							  (simplify-boolean (if (eq? false 'no-false)
+										`(and ,true #<unspecified>)
+										`(and ,true ,false))
+									    () () env))))
+			     ((or (equal? test false)              ; (if x y x) -> (and x y)
+				  (equal? expr false))
+			      (lint-format "perhaps ~A" caller 
+					   (lists->string form (simplify-boolean `(and ,expr ,true) () () env))))
+			     
+			     ((or (equal? `(not ,test) false)      ; (if x y (not x)) -> (or (not x) y)
+				  (equal? test `(not ,false)))     ; (if (not x) y x) -> (or x y)
+			      (lint-format "perhaps ~A" caller 
+					   (lists->string form (simplify-boolean `(or ,false ,true) () () env)))))
 		       
 		       (when (= len 4)
 			 (when (and (pair? true)
-				    (eq? (car true) 'if))
+				    (eq? true-op 'if))
 			   (let ((true-test (cadr true))
 				 (true-true (caddr true)))
 			     (if (= (length true) 4)
@@ -11627,27 +12556,36 @@
 				   ;; (if a (if b d e) (if c d e)) -> (if (if a b c) d e)? reversed does not happen.
 				   ;; (if a (if b d) (if c d)) -> (if (if a b c) d)
 				   ;; (if a (if b d e) (if (not b) d e)) -> (if (eq? (not a) (not b)) d e)
-				   (if (and (pair? false)
-					    (eq? (car false) 'if)
-					    (= (length false) 4)
-					    (not (equal? true-test (cadr false)))
-					    (equal? (cddr true) (cddr false)))
-				       (let ((false-test (cadr false)))
-					 (lint-format "perhaps ~A" caller
-						      (lists->string form
-								     (if (and (pair? true-test)
-									      (eq? (car true-test) 'not)
-									      (equal? (cadr true-test) false-test))
-									 `(if (not (eq? (not ,expr) ,true-test))
-									      ,@(cddr true))
-									 (if (and (pair? false-test)
-										  (eq? (car false-test) 'not)
-										  (equal? true-test (cadr false-test)))
-									     `(if (eq? (not ,expr) ,false-test)
-										  ,@(cddr true))
-									     `(if (if ,expr ,true-test ,false-test) ,@(cddr true)))))))))
-				 
-				 (begin
+				   (when (and (pair? false)
+					      (eq? false-op 'if)
+					      (= (length false) 4)
+					      (not (equal? true-test (cadr false)))
+					      (equal? (cddr true) (cddr false)))
+				     (let ((false-test (cadr false)))
+				       (lint-format "perhaps ~A" caller
+						    (lists->string form
+								   (cond ((and (pair? true-test)
+									       (eq? (car true-test) 'not)
+									       (equal? (cadr true-test) false-test))
+									  `(if (not (eq? (not ,expr) ,true-test))
+									       ,@(cddr true)))
+
+									 ((and (pair? false-test)
+									       (eq? (car false-test) 'not)
+									       (equal? true-test (cadr false-test)))
+									  `(if (eq? (not ,expr) ,false-test)
+									       ,@(cddr true)))
+
+									 ((> (+ (tree-leaves expr)
+										(tree-leaves true-test)
+										(tree-leaves false-test))
+									     12)
+									  `(let ((_1_ (if ,expr ,true-test ,false-test)))
+									     (if _1_ ,@(cddr true))))
+
+									 (else
+									  `(if (if ,expr ,true-test ,false-test) ,@(cddr true)))))))))
+				 (begin ; (length true) != 4
 				   (if (equal? expr (simplify-boolean `(not ,true-test) () () env))
 				       (lint-format "perhaps ~A" caller 
 						    (lists->string form `(if (not ,expr) ,false))))
@@ -11660,7 +12598,7 @@
 						      (lists->string form `(if ,nexpr ,false)))))))))
 			 
 			 (when (pair? false)
-			   (case (car false)
+			   (case false-op
 			     ((cond)                 ; (if a A (cond...)) -> (cond (a  A) ...)
 			      (lint-format "perhaps ~A" caller (lists->string form `(cond (,expr ,true) ,@(cdr false)))))
 			     
@@ -11696,13 +12634,19 @@
 									   `(and (not (or ,expr (not ,false-test))) ,false-true)
 									   () () env))))))))
 			      (if (and (pair? true)
-				       (eq? (car true) 'if)
+				       (eq? true-op 'if)
 				       (= (length true) 3)
 				       (= (length false) 3)
 				       (equal? (cddr true) (cddr false)))
 				  (lint-format "perhaps ~A" caller
 					       (lists->string form
-							      `(if (if ,expr ,(cadr true) ,(cadr false)) ,@(cddr true))))))
+							      (if (> (+ (tree-leaves expr)
+									(tree-leaves (cadr true))
+									(tree-leaves (cadr false)))
+								     12)
+								  `(let ((_1_ (if ,expr ,(cadr true) ,(cadr false))))
+								     (if _1_ ,@(cddr true)))
+								  `(if (if ,expr ,(cadr true) ,(cadr false)) ,@(cddr true)))))))
 
 			     ((map)  ; (if (null? x) () (map abs x)) -> (map abs x)
 			      (if (and (pair? test)
@@ -11725,7 +12669,7 @@
 		       
 		       (if (pair? false)
 			   (let ((false-test (and (pair? (cdr false)) (cadr false))))
-			     (if (and (eq? (car false) 'if)   ; (if x 3 (if (not x) 4)) -> (if x 3 4)
+			     (if (and (eq? false-op 'if)   ; (if x 3 (if (not x) 4)) -> (if x 3 4)
 				      (pair? (cdr false))
 				      (not (side-effect? test env)))
 				 (if (or (equal? test false-test) 
@@ -11737,7 +12681,7 @@
 						  (equal? expr (cadr false-test))))
 					 (lint-format "perhaps ~A" caller (lists->string form `(if ,expr ,true ,(caddr false)))))))
 			     
-			     (if (and (eq? (car false) 'if)   ; (if test0 expr (if test1 expr)) -> if (or test0 test1) expr) 
+			     (if (and (eq? false-op 'if)   ; (if test0 expr (if test1 expr)) -> if (or test0 test1) expr) 
 				      (null? (cdddr false))   ; other case is dealt with above
 				      (equal? true (caddr false)))
 				 (let ((test1 (simplify-boolean `(or ,expr ,false-test) () () env)))
@@ -11745,20 +12689,42 @@
 			   
 			   (when (and (eq? false 'no-false)                         ; no false branch
 				      (pair? true))
-			     (if (pair? test)  
-				 (let ((test-op (car test))
-				       (true-op (car true)))
-				   ;; the min+max case is seldom hit, and takes about 50 lines
-				   (if (and (memq test-op '(< > <= >=))  ; (if (< x y) (set! x y) -> (set! x (max x y))
-					    (eq? true-op 'set!)
-					    (null? (cdddr test))
-					    (memq (cadr true) test)
-					    (member (caddr true) test))
-				       (let* ((target (cadr true))
-					      (f (if (eq? target ((if (memq test-op '(< <=)) cadr caddr) test))
-						     'max 'min)))
-					 (lint-format "perhaps ~A" caller
-						      (lists->string form `(set! ,target (,f ,@(cdr true)))))))))
+			     (when (pair? test)
+			       (let ((test-op (car test)))
+				 ;; the min+max case is seldom hit, and takes about 50 lines
+				 (when (and (memq test-op '(< > <= >=))
+					    (null? (cdddr test)))
+				   (let ((rel-arg1 (cadr test))
+					 (rel-arg2 (caddr test)))
+
+				     ;; (if (< x y) (set! x y) -> (set! x (max x y))
+				     (if (eq? true-op 'set!)    
+					 (let ((settee (cadr true))
+					       (setval (caddr true)))
+					   (if (and (member settee test)
+						    (member setval test)) ; that's all there's room for
+					       (let ((f (if (equal? settee (if (memq test-op '(< <=)) rel-arg1 rel-arg2)) 'max 'min)))
+						 (lint-format "perhaps ~A" caller
+							      (lists->string form `(set! ,settee (,f ,@(cdr true))))))))
+					 
+					 ;; (if (<= (list-ref ind i) 32) (list-set! ind i 32)) -> (list-set! ind i (max (list-ref ind i) 32))
+					 (if (memq true-op '(list-set! vector-set!))
+					     (let ((settee (cadr true))   
+						   (index (caddr true))
+						   (setval (cadddr true)))
+					       (let ((mx-op (if (and (equal? setval rel-arg1)
+								     (eqv? (length rel-arg2) 3)
+								     (equal? settee (cadr rel-arg2))
+								     (equal? index (caddr rel-arg2)))
+								(if (memq test-op '(< <=)) 'min 'max)
+								(and (equal? setval rel-arg2)
+								     (eqv? (length rel-arg1) 3)
+								     (equal? settee (cadr rel-arg1))
+								     (equal? index (caddr rel-arg1))
+								     (if (memq test-op '(< <=)) 'max 'min)))))
+						 (if mx-op
+						     (lint-format "perhaps ~A" caller
+								  (lists->string form `(,true-op ,settee ,index (,mx-op ,@(cdr test))))))))))))))
 			     
 			     (if (eq? (car true) 'if) ; (if test0 (if test1 expr)) -> (if (and test0 test1) expr)
 				 (cond ((null? (cdddr true))
@@ -11772,8 +12738,8 @@
 					(lint-format "perhaps ~A" caller 
 						     (lists->string form (cadddr true)))))
 				 
-				 (if (memq (car true) '(when unless))    ; (if test0 (when test1 expr...)) -> (when (and test0 test1) expr...)
-				     (let ((test1 (simplify-boolean (if (eq? (car true) 'when)
+				 (if (memq true-op '(when unless))    ; (if test0 (when test1 expr...)) -> (when (and test0 test1) expr...)
+				     (let ((test1 (simplify-boolean (if (eq? true-op 'when)
 									`(and ,expr ,(cadr true))
 									`(and ,expr (not ,(cadr true))))
 								    () () env)))
@@ -11823,14 +12789,13 @@
 									      () () env))))))
 				  (if (and (boolean? false)
 					   (= suggestion made-suggestion))
-				      (lint-format "perhaps ~A" caller 
-						   (lists->string form (simplify-boolean
-									(if false 
-									    (if (and (pair? expr) (eq? (car expr) 'not))
-										`(or ,(cadr expr) ,true) 
-										`(or (not ,expr) ,true))
-									    `(and ,expr ,true))
-									() () env))))))
+				      (lint-format "perhaps ~A" caller
+						   (let ((nexpr (if false 
+								    (if (and (pair? expr) (eq? (car expr) 'not))
+									`(or ,(cadr expr) ,true) 
+									`(or (not ,expr) ,true))
+								    `(and ,expr ,true))))
+						     (lists->string form (simplify-boolean nexpr () () env)))))))
 			     ((= len 4)
 			      (lint-format "if is not needed here: ~A" caller 
 					   (lists->string form (if (not (side-effect? test env))
@@ -11841,53 +12806,52 @@
 				  (not (equal? expr test))) ; make sure the boolean simplification gets reported
 			 (lint-format "perhaps ~A" caller (lists->string test expr)))
 		       
-		       (if (and (pair? test)
-				(pair? true)
-				(pair? (cdr true))
-				(null? (cddr true))
-				(or (equal? test (cadr true))
-				    (equal? expr (cadr true))))
-			   (lint-format "perhaps ~A" caller
-					(lists->string form 
-						       (if (eq? false 'no-false)
-							   `(cond (,expr => ,(car true)))
-							   `(cond (,expr => ,(car true)) (else ,false))))))
-		       
-		       (when (and (pair? true)   
-				  (pair? false)
-				  (eq? (car true) 'if)
-				  (eq? (car false) 'if)
-				  (= (length true) (length false) 4)
-				  (equal? (cadr true) (cadr false)))
-			 (if (and (equal? (caddr true) (cadddr false)) ; (if A (if B a b) (if B b a)) -> (if (eq? (not A) (not B)) a b) 
-				  (equal? (cadddr true) (caddr false)))
-			     (let* ((switch #f)
-				    (a (if (and (pair? expr)
-						(eq? (car expr) 'not))
-					   (begin (set! switch #t) expr)
-					   (simplify-boolean `(not ,expr) () () env)))
-				    (b (if (and (pair? (cadr true))
-						(eq? (caadr true) 'not))
-					   (begin (set! switch (not switch)) (cadr true))
-					   (simplify-boolean `(not ,(cadr true)) () () env))))
-			       (lint-format "perhaps ~A" caller
-					    (lists->string form 
-							   (if switch
-							       `(if (eq? ,a ,b) ,(caddr false) ,(caddr true))
-							       `(if (eq? ,a ,b) ,(caddr true) ,(caddr false))))))
-			     (unless (or (side-effect? expr env)
-					 (equal? (cddr true) (cddr false))) ; handled elsewhere
-			       (if (equal? (caddr true) (caddr false))  ; (if A (if B a b) (if B a c)) -> (if B a (if A b c))
-				   (lint-format "perhaps ~A" caller
-						(lists->string form
-							       `(if ,(cadr true) ,(caddr true) 
-								    (if ,expr ,(cadddr true) ,(cadddr false)))))
-				   (if (equal? (cadddr true) (cadddr false)) ; (if A (if B a b) (if B c b)) -> (if B (if A a c) b)
-				       (lint-format "perhaps ~A" caller
-						    (lists->string form
-								   `(if ,(cadr true)
-									(if ,expr ,(caddr true) ,(caddr false))
-									,(cadddr true)))))))))
+		       (when (pair? true)
+			 (if (and (pair? test)
+				  (pair? (cdr true))
+				  (null? (cddr true))
+				  (or (equal? test (cadr true))
+				      (equal? expr (cadr true))))
+			     (lint-format "perhaps ~A" caller
+					  (lists->string form 
+							 (if (eq? false 'no-false)
+							     `(cond (,expr => ,true-op))
+							     `(cond (,expr => ,true-op) (else ,false))))))
+			 
+			 (when (and (pair? false)
+				    (eq? true-op 'if)
+				    (eq? false-op 'if)
+				    (= (length true) (length false) 4)
+				    (equal? (cadr true) (cadr false)))
+			   (if (and (equal? (caddr true) (cadddr false)) ; (if A (if B a b) (if B b a)) -> (if (eq? (not A) (not B)) a b) 
+				    (equal? (cadddr true) (caddr false)))
+			       (let* ((switch #f)
+				      (a (if (and (pair? expr)
+						  (eq? (car expr) 'not))
+					     (begin (set! switch #t) expr)
+					     (simplify-boolean `(not ,expr) () () env)))
+				      (b (if (and (pair? (cadr true))
+						  (eq? (caadr true) 'not))
+					     (begin (set! switch (not switch)) (cadr true))
+					     (simplify-boolean `(not ,(cadr true)) () () env))))
+				 (lint-format "perhaps ~A" caller
+					      (lists->string form 
+							     (if switch
+								 `(if (eq? ,a ,b) ,(caddr false) ,(caddr true))
+								 `(if (eq? ,a ,b) ,(caddr true) ,(caddr false))))))
+			       (unless (or (side-effect? expr env)
+					   (equal? (cddr true) (cddr false))) ; handled elsewhere
+				 (if (equal? (caddr true) (caddr false))  ; (if A (if B a b) (if B a c)) -> (if B a (if A b c))
+				     (lint-format "perhaps ~A" caller
+						  (lists->string form
+								 `(if ,(cadr true) ,(caddr true) 
+								      (if ,expr ,(cadddr true) ,(cadddr false)))))
+				     (if (equal? (cadddr true) (cadddr false)) ; (if A (if B a b) (if B c b)) -> (if B (if A a c) b)
+					 (lint-format "perhaps ~A" caller
+						      (lists->string form
+								     `(if ,(cadr true)
+									  (if ,expr ,(caddr true) ,(caddr false))
+									  ,(cadddr true))))))))))
 		       ;; --------
 		       (when (and (= suggestion made-suggestion)
 				  (not (= line-number last-if-line-number)))
@@ -11918,36 +12882,36 @@
 			   (if (not (pair? (cdddr form)))
 			       form
 			       (let ((expr (cadr form))
-				     (true (caddr form))
-				     (false (cadddr form)))
+				     (ltrue (caddr form))
+				     (lfalse (cadddr form)))
 				 
-				 (let ((true-n (tree-leaves true))
-				       (false-n (if (not (pair? false)) 
+				 (let ((true-n (tree-leaves ltrue))
+				       (false-n (if (not (pair? lfalse)) 
 						    1
-						    (tree-leaves false))))
+						    (tree-leaves lfalse))))
 				   
 				   (if (< false-n (/ true-n 4))
 				       (let ((new-expr (simplify-boolean `(not ,expr) () () env)))
-					 (if (and (pair? true)
-						  (eq? (car true) 'if))
-					     (set! true (swap-clauses true)))
-					 (if (and (pair? true)
-						  (eq? (car true) 'cond))
-					     `(cond (,new-expr ,@(unbegin false))
-						    ,@(cdr true))
-					     `(cond (,new-expr ,@(unbegin false))
-						    (else ,@(unbegin true)))))
+					 (if (and (pair? ltrue)
+						  (eq? (car ltrue) 'if))
+					     (set! ltrue (swap-clauses ltrue)))
+					 (if (and (pair? ltrue)
+						  (eq? (car ltrue) 'cond))
+					     `(cond (,new-expr ,@(unbegin lfalse))
+						    ,@(cdr ltrue))
+					     `(cond (,new-expr ,@(unbegin lfalse))
+						    (else ,@(unbegin ltrue)))))
 				       (begin
-					 (if (and (pair? false)
-						  (eq? (car false) 'if))
-					     (set! false (swap-clauses false)))
+					 (if (and (pair? lfalse)
+						  (eq? (car lfalse) 'if))
+					     (set! lfalse (swap-clauses lfalse)))
 					 
-					 (if (and (pair? false)
-						  (eq? (car false) 'cond))
-					     `(cond (,expr ,@(unbegin true))
-						    ,@(cdr false))
-					     `(cond (,expr ,@(unbegin true))
-						    (else ,@(unbegin false))))))))))
+					 (if (and (pair? lfalse)
+						  (eq? (car lfalse) 'cond))
+					     `(cond (,expr ,@(unbegin ltrue))
+						    ,@(cdr lfalse))
+					     `(cond (,expr ,@(unbegin ltrue))
+						    (else ,@(unbegin lfalse))))))))))
 			 
 			 (let ((new-if (swap-clauses form)))
 			   (if (eq? (car new-if) 'cond)
@@ -11971,8 +12935,8 @@
 			   ;;   (if A (if B C) (if B D)) -> (if B (if A C D))
 			   (when (and (pair? true)         
 				      (pair? false)
-				      (eq? (car true) 'if)
-				      (eq? (car false) 'if)
+				      (eq? true-op 'if)
+				      (eq? false-op 'if)
 				      (equal? (cadr true) (cadr false))
 				      (null? (cdddr true))
 				      (null? (cdddr false)))
@@ -11983,23 +12947,23 @@
 								       ,(caddr (cadddr form)))))))
 			   
 			   ;; move repeated start/end statements out of the if
-			   (let ((true (if (and (pair? true) (eq? (car true) 'begin)) true (list 'begin true)))
-				 (false (if (and (pair? false) (eq? (car false) 'begin)) false (list 'begin false))))
-			     (let ((true-len (length true))
-				   (false-len (length false)))
-			       (let ((start (if (and (equal? (cadr true) (cadr false))
+			   (let ((ltrue (if (and (pair? true) (eq? true-op 'begin)) true (list 'begin true)))
+				 (lfalse (if (and (pair? false) (eq? false-op 'begin)) false (list 'begin false))))
+			     (let ((true-len (length ltrue))
+				   (false-len (length lfalse)))
+			       (let ((start (if (and (equal? (cadr ltrue) (cadr lfalse))
 						     (not (side-effect? expr env))) ; expr might affect start, so we can't pull it ahead
-						(list (cadr true))
+						(list (cadr ltrue))
 						()))
 				     (end (if (and (not (= true-len false-len 2))
-						   (equal? (list-ref true (- true-len 1))
-							   (list-ref false (- false-len 1))))
-					      (list (list-ref true (- true-len 1)))
+						   (equal? (list-ref ltrue (- true-len 1))
+							   (list-ref lfalse (- false-len 1))))
+					      (list (list-ref ltrue (- true-len 1)))
 					      ())))
 				 (when (or (pair? start)
 					   (pair? end))
-				   (let ((new-true (cdr true))
-					 (new-false (cdr false)))
+				   (let ((new-true (cdr ltrue))
+					 (new-false (cdr lfalse)))
 				     (when (pair? end)
 				       (set! new-true (copy new-true (make-list (- true-len 2)))) ; (copy lst ()) -> () 
 				       (set! new-false (copy new-false (make-list (- false-len 2)))))
@@ -12035,12 +12999,12 @@
 				      (> (tree-leaves true) (tree-leaves false)))
 			     (lint-format "perhaps ~A" caller
 					  (lists->string form `(if ,(cadr expr) ,false ,true))))
-			   
+
 			   ;; this happens occasionally -- scarcely worth this much code! (gather copied vars outside the if)
 			   (when (and (pair? true)
 				      (pair? false)
-				      (eq? (car true) 'let)
-				      (eq? (car false) 'let)
+				      (eq? true-op 'let)
+				      (eq? false-op 'let)
 				      (pair? (cadr true))
 				      (pair? (cadr false)))
 			     (let ((true-vars (map car (cadr true)))
@@ -12064,7 +13028,7 @@
 					     (cadr true))
 				   (set! ntv (if (or (pair? ntv)
 						     (pair? (cdddr true))) ; even define is safe here because outer let blocks it just as inner let used to
-						 `(let (,@(reverse ntv)) ,@(cddr true))
+						 `(let ,(reverse ntv) ,@(cddr true))
 						 (caddr true)))
 				   (for-each (lambda (v)
 					       (if (not (memq (car v) shared-vars))
@@ -12072,16 +13036,16 @@
 					     (cadr false))
 				   (set! nfv (if (or (pair? nfv)
 						     (pair? (cdddr false)))
-						 `(let (,@(reverse nfv)) ,@(cddr false))
+						 `(let ,(reverse nfv) ,@(cddr false))
 						 (caddr false)))
 				   (lint-format "perhaps ~A" caller
 						(lists->string form 
 							       (if (not (or (side-effect? expr env)
 									    (tree-set-member (map car sv) expr)))
-								   `(let (,@(reverse sv)) (if ,expr ,ntv ,nfv))
+								   `(let ,(reverse sv) (if ,expr ,ntv ,nfv))
 								   (let ((uniq (find-unique-name form)))
 								     `(let ((,uniq ,expr))
-									(let (,@(reverse sv))
+									(let ,(reverse sv)
 									  (if ,uniq ,ntv ,nfv))))))))))))) 
 
 		       (when (and *report-one-armed-if*
@@ -12121,16 +13085,16 @@
 		      (head (car form)))
 		  (if (and (pair? test)
 			   (eq? (car test) 'not))
-		      (lint-format "perhaps ~A -> ~A"
+		      (lint-format "perhaps ~A"
 				   caller 
-				   (truncated-list->string form)
-				   (truncated-list->string `(,(if (eq? head 'when) 'unless 'when)
-							     ,(cadr test)
-							     ,@(cddr form)))))
+				   (truncated-lists->string form
+							    `(,(if (eq? head 'when) 'unless 'when)
+							      ,(cadr test)
+							      ,@(cddr form)))))
 		  (if (never-false test)
-		      (lint-format "~A test is never false: ~A" caller head form)
+		      (lint-format "~A test is never false: ~A" caller head (truncated-list->string form))
 		      (if (never-true test)
-			  (lint-format "~A test is never true: ~A" caller head form)))
+			  (lint-format "~A test is never true: ~A" caller head (truncated-list->string form))))
 		  
 		  (if (symbol? test)
 		      (begin
@@ -12146,31 +13110,58 @@
 					      (memq test (car p))))
 				     (if (pair? p)
 					 (and-incomplete form head test (car p) env)))))))
-		      (if (pair? test)
-			  (lint-walk caller test env)))
-
-		  (if (and (pair? (cddr form))   ; (when t1 (if t2 A)) -> (when (and t1 t2) A)
-			   (null? (cdddr form))
-			   (pair? (caddr form)))
-		      (let ((body (caddr form)))			     
-			(if (or (memq (car body) '(when unless))
-				(and (eq? (car body) 'if)
-				     (pair? (cdr body))
-				     (pair? (cddr body))
-				     (null? (cdddr body))))
-			    (let* ((inner-test (if (eq? (car body) 'unless)
-						   `(not ,(cadr body))
-						   (cadr body)))
-				   (outer-test (if (eq? head 'unless)
-						   `(not ,test)
-						   test))
-				   (new-test (simplify-boolean `(and ,outer-test ,inner-test) () () env)))
+		      (when (pair? test)
+			(if (and (eq? (car test) 'and)
+				 (pair? (cdr test))
+				 (pair? (cddr test))
+				 (null? (cdddr test)))
+			    (let ((arg1 (cadr test))
+				  (arg2 (caddr test)))
+			      (if (or (and (pair? arg1)
+					   (eq? (car arg1) 'not))
+				      (and (pair? arg2)
+					   (eq? (car arg2) 'not)))
+				  (if (eq? head 'unless)
+				      (lint-format "perhaps ~A" caller
+						   (lists->string form `(when ,(simplify-boolean `(not ,test) () () env) ...)))
+				      (if (and (pair? arg1)
+					       (eq? (car arg1) 'not)
+					       (pair? arg2)
+					       (eq? (car arg2) 'not))
+					  (lint-format "perhaps ~A" caller
+						       (lists->string form `(unless (or ,(cadr arg1) ,(cadr arg2)) ...))))))))
+			(lint-walk caller test env)))
+
+		  (when (and (pair? (cddr form))           ; (when t1 (if t2 A)) -> (when (and t1 t2) A)
+			     (null? (cdddr form))
+			     (pair? (caddr form)))
+		    (let ((body (caddr form)))
+		      (if (eq? (car body) 'cond)           ; (when (cond ...)) -> (cond ...)
+			  (lint-format "perhaps ~A" caller
+				       (truncated-lists->string form
+								`(cond (,(if (eq? (car form) 'when)
+									     (simplify-boolean `(not ,(cadr form)) () () env)
+									     (cadr form))
+									#f)
+								       ,@(cdr body))))
+			  (when (or (memq (car body) '(when unless))
+				    (and (eq? (car body) 'if)
+					 (pair? (cdr body))
+					 (pair? (cddr body))
+					 (null? (cdddr body))))
+			    (let ((new-test (let ((inner-test (if (eq? (car body) 'unless)
+								  `(not ,(cadr body))
+								  (cadr body)))
+						  (outer-test (if (eq? head 'unless)
+								  `(not ,test)
+								  test)))
+					      (simplify-boolean `(and ,outer-test ,inner-test) () () env))))
 			      (lint-format "perhaps ~A" caller
 					   (lists->string form
 							  (if (and (pair? new-test)
 								   (eq? (car new-test) 'not))
 							      `(unless ,(cadr new-test) ,@(cddr body))
-							      `(when ,new-test ,@(cddr body)))))))))
+							      `(when ,new-test ,@(cddr body))))))))))
 		  (lint-walk-open-body caller head (cddr form) env))))
 	  (hash-table-set! h 'when when-walker)
 	  (hash-table-set! h 'unless when-walker))
@@ -12192,7 +13183,7 @@
 		       (prev-clause #f)
 		       (all-eqv #t)
 		       (eqv-select #f))
-		   
+
 		   ;; (cond (A (and B C)) (else (and B D))) et al never happens
 		   ;;    also (cond (A C) (B C)) -> (if (or A B) C) [non-pair C]
 		   ;; ----------------
@@ -12299,7 +13290,6 @@
 										    (cdr form)))
 								       ,@(cdr first-result))))))))))))
 		   ;; ----------------
-		   
 		   (let ((falses ())
 			 (trues ()))
 		     (for-each
@@ -12331,77 +13321,75 @@
 						      (truncated-list->string prev-clause)))
 				      (set! has-combinations #t)))          ; handle these later
 			      (set! prev-clause clause)
-			      
+
 			      (let ((expr (simplify-boolean (car clause) trues falses env))
 				    (test (car clause))
-				    (sequel (cdr clause)))
+				    (sequel (cdr clause))
+				    (first-sequel (and (pair? (cdr clause)) (cadr clause))))
+
 				(if (not (equal? expr test))
 				    (set! simplifications (cons (cons clause expr) simplifications)))
 
-				;; (not x) case rarely happens?
 				(if (symbol? test)
 				    (if (and (not (eq? test 'else))
-					     (pair? sequel)
-					     (pair? (car sequel)))
-					(if (memq test (car sequel))
-					    (and-incomplete form 'cond test (car sequel) env)
-					    (do ((p (car sequel) (cdr p)))   
+					     (pair? first-sequel))
+					(if (memq test first-sequel)
+					    (and-incomplete form 'cond test first-sequel env)
+					    (do ((p first-sequel (cdr p)))   
 						((or (not (pair? p))
 						     (and (pair? (car p))
 							  (memq test (car p))))
 						 (if (pair? p)
 						     (and-incomplete form 'cond test (car p) env))))))
 				    (if (and (pair? test)
-					     (hash-table-ref bools (car test))
-					     (pair? sequel)
-					     (pair? (car sequel)))
-					(if (member (cadr test) (car sequel))
-					    (and-forgetful form 'cond test (car sequel) env)
-					    (do ((p (car sequel) (cdr p)))   
+					     (pair? first-sequel)
+					     (hash-table-ref bools (car test)))
+					(if (member (cadr test) first-sequel)
+					    (and-forgetful form 'cond test first-sequel env)
+					    (do ((p first-sequel (cdr p)))   
 						((or (not (pair? p))
 						     (and (pair? (car p))
 							  (member (cadr test) (car p))))
 						 (if (pair? p)
 						     (and-forgetful form 'cond test (car p) env)))))))
+				;; code here to check every arg against its use in the sequel found no problems?!?
 
 				(cond ((memq test '(else #t))
 				       (set! has-else #t)
 				       
-				       (if (and (pair? sequel)
-						(eq? (car sequel) #<unspecified>))
-					   (lint-format "this #<unspecified> is redundant: ~A" caller clause))
+				       (when (pair? sequel)
+					 (if (eq? first-sequel #<unspecified>)
+					     (lint-format "this #<unspecified> is redundant: ~A" caller clause))
 				       
-				       (if (and (pair? sequel)        ; (cond (a A) (else (cond ...))) -> (cond (a A) ...)
-						(pair? (car sequel))  ;    similarly for if, when, and unless
-						(null? (cdr sequel)))
-					   (case (caar sequel)
-					     ((cond)
-					      (lint-format "else clause could be folded into the outer cond: ~A" caller 
-							   (lists->string form (append (copy form (make-list ctr)) 
-										       (cdar sequel)))))
-					     ((if)
-					      (let ((if-expr (car sequel)))
+					 (if (and (pair? first-sequel)   ; (cond (a A) (else (cond ...))) -> (cond (a A) ...)
+						  (null? (cdr sequel)))  ;    similarly for if, when, and unless
+					     (case (car first-sequel)
+					       ((cond)
+						(lint-format "else clause could be folded into the outer cond: ~A" caller 
+							     (lists->string form (append (copy form (make-list ctr)) 
+											 (cdr first-sequel)))))
+					       ((if)
 						(lint-format "else clause could be folded into the outer cond: ~A" caller 
 							     (lists->string form 
 									    (append (copy form (make-list ctr)) 
-										    (if (= (length if-expr) 3)
-											(list (cdr if-expr))
-											`((,(cadr if-expr) ,@(unbegin (caddr if-expr)))
-											  (else ,@(unbegin (cadddr if-expr))))))))))
-					     ((when unless)
-					      (lint-format "else clause could be folded into the outer cond: ~A" caller 
-							   (lists->string form 
-									  (append (copy form (make-list ctr))
-										  (if (eq? (caar sequel) 'when)
-										      `((,(cadar sequel) ,@(cddar sequel)))
-										      `(((not ,(cadar sequel)) ,@(cddar sequel)))))))))))
-				      ((and (equal? test ''else)
-					    (= ctr len))
+										    (if (= (length first-sequel) 3)
+											(list (cdr first-sequel))
+											`((,(cadr first-sequel) ,@(unbegin (caddr first-sequel)))
+											  (else ,@(unbegin (cadddr first-sequel)))))))))
+					       ((when unless)
+						(lint-format "else clause could be folded into the outer cond: ~A" caller 
+							     (lists->string form 
+									    (append (copy form (make-list ctr))
+										    (if (eq? (car first-sequel) 'when)
+											`((,(cadr first-sequel) ,@(cddr first-sequel)))
+											`(((not ,(cadr first-sequel)) ,@(cddr first-sequel))))))))))))
+				      ((not (= ctr len)))
+
+				      ((equal? test ''else)
 				       (lint-format "odd cond clause test: is 'else supposed to be else? ~A" caller
 						    (truncated-list->string clause)))
 				      
 				      ((and (eq? test 't)
-					    (= ctr len)
 					    (not (var-member 't env)))
 				       (lint-format "odd cond clause test: is t supposed to be #t? ~A" caller
 						    (truncated-list->string clause))))
@@ -12419,17 +13407,19 @@
 				  (if (and (not (memq test '(else #t)))
 					   (pair? sequel)
 					   (null? (cdr sequel)))
-				      (cond ((equal? test (car sequel))
+				      (cond ((equal? test first-sequel)
 					     (lint-format "no need to repeat the test: ~A" caller (lists->string clause (list test))))
 					    
-					    ((and (pair? (car sequel))
-						  (pair? (cdar sequel))
-						  (null? (cddar sequel))
-						  (equal? test (cadar sequel)))
-					     (lint-format "perhaps use => here: ~A" caller 
-							  (lists->string clause (list test '=> (caar sequel)))))
+					    ((and (pair? first-sequel)
+						  (pair? (cdr first-sequel))
+						  (null? (cddr first-sequel))
+						  (equal? test (cadr first-sequel)))
+					     (if (eq? (car first-sequel) 'not)
+						 (lint-format "perhaps replace ~A with #f" caller first-sequel)
+						 (lint-format "perhaps use => here: ~A" caller 
+							      (lists->string clause (list test '=> (car first-sequel))))))
 					    
-					    ((and (eq? (car sequel) #t)
+					    ((and (eq? first-sequel #t)
 						  (pair? test)
 						  (not (memq (car test) '(or and)))
 						  (eq? (return-type (car test) env) 'boolean?))
@@ -12462,7 +13452,7 @@
 				       (if (not (null? sequel))  ; (not (null?...)) here is correct -- we're looking for stray dots
 					   (lint-format "cond clause is messed up: ~A" caller (truncated-list->string clause))))
 				      
-				      ((not (eq? (car sequel) '=>))
+				      ((not (eq? first-sequel '=>))
 				       (lint-walk-open-body caller 'cond sequel env))
 				      
 				      ((or (not (pair? (cdr sequel)))
@@ -12503,16 +13493,15 @@
 				    (begin
 				      (if (not (member expr falses))
 					  (set! falses (cons expr falses)))
-				      (if (and (pair? expr)
-					       (eq? (car expr) 'not)
-					       (not (member (cadr expr) trues)))
-					  (set! trues (cons (cadr expr) trues)))
-				      (if (and (pair? expr)
-					       (eq? (car expr) 'or))
-					  (for-each (lambda (p) 
-						      (if (not (member p falses))
-							  (set! falses (cons p falses))))
-						    (cdr expr)))))))))
+				      (when (pair? expr)
+					(if (and (eq? (car expr) 'not)
+						 (not (member (cadr expr) trues)))
+					    (set! trues (cons (cadr expr) trues)))
+					(if (eq? (car expr) 'or)
+					    (for-each (lambda (p) 
+							(if (not (member p falses))
+							    (set! falses (cons p falses))))
+						      (cdr expr))))))))))
 		      (cdr form))) ; for-each clause
 		   
 		   (if has-else 
@@ -12523,48 +13512,63 @@
 									       `(begin , at result)))))
 		       (let* ((last-clause (and (> len 1)
 						(list-ref form len)))
-			      (clen (and (pair? last-clause)
-					 (length last-clause)))
-			      (last-res (and (integer? clen)
-					     (> clen 1) 
-					     (list-ref last-clause (- clen 1)))))
+			      (last-res (let ((clen (and (pair? last-clause)
+							 (length last-clause))))
+					  (and (integer? clen)
+					       (> clen 1) 
+					       (list-ref last-clause (- clen 1))))))
 			 (if (and (pair? last-res)
 				  (memq (car last-res) '(#t else)))
 			     (lint-format "perhaps cond else clause is misplaced: ~A in ~A" caller last-res last-clause))))
 		   
-		   (if (and (= len 2)
-			    (not (check-bool-cond caller form (cadr form) (caddr form) env))
-			    (pair? (cadr form))   ; (cond 1 2)!
-			    (pair? (caddr form))
-			    (equal? (simplify-boolean (caadr form) () () env)
-				    (simplify-boolean `(not ,(caaddr form)) () () env)))
-		       (lint-format "perhaps ~A" caller  ; (cond ((x) y) ((not (x)) z)) -> (cond ((x) y) (else z))
-				    (lists->string form `(cond ,(cadr form) (else ,@(cdaddr form))))))
-		   
+		   (when (and (= len 2)
+			      (not (check-bool-cond caller form (cadr form) (caddr form) env))
+			      (pair? (cadr form))   ; (cond 1 2)!
+			      (pair? (caddr form)))
+		     (let ((c1 (cadr form))
+			   (c2 (caddr form)))
+		       (if (equal? (simplify-boolean (car c1) () () env)
+				   (simplify-boolean `(not ,(car c2)) () () env))
+			   (lint-format "perhaps ~A" caller  ; (cond ((x) y) ((not (x)) z)) -> (cond ((x) y) (else z))
+					(lists->string form `(cond ,c1 (else ,@(cdr c2)))))
+			   (when (and (pair? (car c1))         ; (cond ((not x) y) (else z)) -> (cond (x z) (else y))
+				      (pair? (cdr c1))         ;    null case is handled elsewhere
+				      (eq? (caar c1) 'not)
+				      (memq (car c2) '(else #t)))
+			     (let ((c1-len (tree-leaves (cdr c1))) ; try to avoid the dangling short case as in if
+				   (c2-len (tree-leaves (cdr c2))))
+			       (when (and (< (+ c1-len c2-len) 100)
+					  (> (* c1-len 4) c2-len))   ; maybe 4 is too much
+				 (lint-format "perhaps ~A" caller
+					      (lists->string form 
+							     (if (or (pair? (cddr c1))
+								     (pair? (cddr c2)))
+								 `(cond (,(cadar c1) ,@(cdr c2)) (else ,@(cdr c1)))
+								 `(if ,(cadar c1) ,(cadr c2) ,(cadr c1)))))))))))
 		   (when has-combinations
 		     (let ((new-clauses ())
 			   (current-clauses ()))
 		       (do ((clauses (cdr form) (cdr clauses)))
 			   ((null? clauses)
 			    (let ((len (length new-clauses)))
-			      (if (not (and (= len 2) ; i.e. don't go to check-bool-cond
-					    (check-bool-cond caller form (cadr new-clauses) (car new-clauses) env)))
-				  (lint-format "perhaps ~A" caller 
-					       (lists->string 
-						form
-						(cond (all-eqv
-						       (cond->case eqv-select (reverse new-clauses)))
-						      ((not (and (= len 2) 
-								  (pair? (car new-clauses))
-								  (memq (caar new-clauses) '(else #t))
-								  (pair? (cadr new-clauses))
-								  (pair? (caadr new-clauses))
-								  (eq? (caaadr new-clauses) 'or)
-								  (null? (cdadr new-clauses))))
-						       `(cond ,@(reverse new-clauses)))
-						      ((null? (cddar new-clauses))  ; (cond (A) (B) (else C)) -> (or A B C)
-						       `(or ,@(cdaadr new-clauses) ,(cadar new-clauses)))
-						      (else `(or ,@(cdaadr new-clauses) (begin ,@(cdar new-clauses))))))))
+			      (unless (and (= len 2) ; i.e. don't go to check-bool-cond
+					   (check-bool-cond caller form (cadr new-clauses) (car new-clauses) env))
+				(lint-format "perhaps ~A" caller 
+					     (lists->string 
+					      form
+					      (cond (all-eqv
+						     (cond->case eqv-select (reverse new-clauses)))
+						    ((not (and (= len 2) 
+							       (pair? (car new-clauses))
+							       (memq (caar new-clauses) '(else #t))
+							       (pair? (cadr new-clauses))
+							       (pair? (caadr new-clauses))
+							       (eq? (caaadr new-clauses) 'or)
+							       (null? (cdadr new-clauses))))
+						     `(cond ,@(reverse new-clauses)))
+						    ((null? (cddar new-clauses))  ; (cond (A) (B) (else C)) -> (or A B C)
+						     `(or ,@(cdaadr new-clauses) ,(cadar new-clauses)))
+						    (else `(or ,@(cdaadr new-clauses) (begin ,@(cdar new-clauses))))))))
 			      (set! simplifications ())
 			      (set! all-eqv #f)))
 			 
@@ -12640,78 +13644,181 @@
 					     (lists->string form `(cond ,@(reverse (map (lambda (c)
 											  (if (not (car c)) (values) c))
 											nc)))))))
-			 (let* ((test (caar clauses))
-				(result (cdar clauses))
-				(ok-but-at-end #f)
-				(looks-ok (and (pair? test)
-					       (pair? (cdr test))
-					       (pair? (cddr test))
-					       (null? (cdddr test))
-					       (pair? result)
-					       (null? (cdr result))
-					       (not (symbol? (car result)))
-					       (or (not (pair? (car result))) ; quoted lists look bad in this context
-						   (and (eq? (caar result) 'quote)
-							(not (pair? (cadar result))))))))
-			   (if (not start)
-			       (if (and looks-ok
-					(not (null? (cdr clauses))))
-				   (start-search clauses test)
-				   (set! nc (cons (car-with-expr (car clauses)) nc)))
-			       
-			       (when (or (not looks-ok)
-					 (not (eq? (car test) op))
-					 (not (equal? (sym-access test) (sym-access (caar start))))
-					 (not (code-constant? ((if (eq? sym-access cadr) caddr cadr) test)))
-					 (set! ok-but-at-end (null? (cdr clauses))))
+			 (let ((test (caar clauses)))
+			   (let ((ok-but-at-end #f)
+				 (looks-ok (let ((result (cdar clauses)))
+					     (and (pair? test)
+						  (pair? (cdr test))
+						  (pair? (cddr test))
+						  (null? (cdddr test))
+						  (pair? result)
+						  (null? (cdr result))
+						  (not (symbol? (car result)))
+						  (or (not (pair? (car result))) ; quoted lists look bad in this context
+						      (and (eq? (caar result) 'quote)
+							   (not (pair? (cadar result)))))))))
+			     (if (not start)
+				 (if (and looks-ok
+					  (not (null? (cdr clauses))))
+				     (start-search clauses test)
+				     (set! nc (cons (car-with-expr (car clauses)) nc)))
 				 
-				 (if (eq? (cdr start) clauses) ; only one item in the block, or two but it's just two at the end
-				     (begin
-				       (set! nc (cons (car start) nc))
-				       (if (and looks-ok
-						(not (null? (cdr clauses))))
-					   (start-search clauses test)
-					   (begin
-					     (set! start #f)
-					     (set! nc (cons (car-with-expr (car clauses)) nc)))))
-				     
-				     ;; multiple hits -- can we combine them?
-				     (let ((alist ())
-					   (cc (if (eq? sym-access cadr) caddr cadr)))
-				       (set! changed #t)
-				       (do ((sc start (cdr sc)))
-					   ((if ok-but-at-end
-						(null? sc)
-						(eq? sc clauses))
-					    (case op
-					      ((eq?)         
-					       (set! nc (cons `((assq ,(sym-access (caar start)) ',(reverse alist)) => cdr) nc)))
-					      
-					      ((eqv? char=?) 
-					       (set! nc (cons `((assv ,(sym-access (caar start)) ',(reverse alist)) => cdr) nc)))
-					      
-					      ((equal?)      
-					       (set! nc (cons `((assoc ,(sym-access (caar start)) ',(reverse alist)) => cdr) nc)))
-					      
-					      ((string=?)
-					       ;; this is probably faster than assoc + string=?, but it creates symbols
-					       (let ((nlst (map (lambda (c)
-								  (cons (string->symbol (car c)) (cdr c)))
-								alist)))
-						 (set! nc (cons `((assq (string->symbol ,(sym-access (caar start))) ',(reverse nlst)) => cdr) nc))))
-					      
-					      (else          
-					       (set! nc (cons `((assoc ,(sym-access (caar start)) ',(reverse alist) ,op) => cdr) nc)))))
-					 
-					 (set! alist (cons (cons (unquoted (cc (caar sc))) (unquoted (cadar sc))) alist)))
+				 (unless (and looks-ok
+					      (eq? (car test) op)
+					      (equal? (sym-access test) (sym-access (caar start)))
+					      (code-constant? ((if (eq? sym-access cadr) caddr cadr) test))
+					      (not (set! ok-but-at-end (null? (cdr clauses)))))
+				   
+				   (if (eq? (cdr start) clauses) ; only one item in the block, or two but it's just two at the end
+				       (begin
+					 (set! nc (cons (car start) nc))
+					 (if (and looks-ok
+						  (not (null? (cdr clauses))))
+					     (start-search clauses test)
+					     (begin
+					       (set! start #f)
+					       (set! nc (cons (car-with-expr (car clauses)) nc)))))
 				       
-				       (if (and looks-ok
-						(not (null? (cdr clauses))))
-					   (start-search clauses test)
-					   (begin
-					     (set! start #f)
-					     (set! nc (cons (car-with-expr (car clauses)) nc))))))))))))
+				       ;; multiple hits -- can we combine them?
+				       (let ((alist ())
+					     (cc (if (eq? sym-access cadr) caddr cadr)))
+					 (set! changed #t)
+					 (do ((sc start (cdr sc)))
+					     ((if ok-but-at-end
+						  (null? sc)
+						  (eq? sc clauses))
+					      (case op
+						((eq?)         
+						 (set! nc (cons `((assq ,(sym-access (caar start)) ',(reverse alist)) => cdr) nc)))
+						
+						((eqv? char=?) 
+						 (set! nc (cons `((assv ,(sym-access (caar start)) ',(reverse alist)) => cdr) nc)))
+						
+						((equal?)      
+						 (set! nc (cons `((assoc ,(sym-access (caar start)) ',(reverse alist)) => cdr) nc)))
+						
+						((string=?)
+						 ;; this is probably faster than assoc + string=?, but it creates symbols
+						 (let ((nlst (map (lambda (c)
+								    (cons (string->symbol (car c)) (cdr c)))
+								  alist)))
+						   (set! nc (cons `((assq (string->symbol ,(sym-access (caar start))) ',(reverse nlst)) => cdr) nc))))
+						
+						(else          
+						 (set! nc (cons `((assoc ,(sym-access (caar start)) ',(reverse alist) ,op) => cdr) nc)))))
+					   
+					   (set! alist (cons (cons (unquoted (cc (caar sc))) (unquoted (cadar sc))) alist)))
+					 
+					 (if (and looks-ok
+						  (not (null? (cdr clauses))))
+					     (start-search clauses test)
+					     (begin
+					       (set! start #f)
+					       (if (not ok-but-at-end)
+						   (set! nc (cons (car-with-expr (car clauses)) nc))))))))))))))
+
+		   ;; look for case at end (case in the middle is tricky due to #f handling)
+		   (when (and (> len 3)
+			      (= suggest made-suggestion))
+		     (let ((rform (reverse form))
+			   (eqv-select #f)
+			   (elen (if has-else (- len 1) len)))
+		       (if has-else (set! rform (cdr rform)))
+		       (set! eqv-select (eqv-selector (caar rform)))
+		       (when eqv-select
+			 (do ((clauses rform (cdr clauses))
+			      (ctr 0 (+ ctr 1)))
+			     ((or (null? clauses)
+				  (let ((clause (car clauses)))
+				      (or (and (pair? (cdr clause))
+					       (eq? (cadr clause) '=>)) ; case sends selector, but cond sends test result
+					  (not (cond-eqv? (car clause) eqv-select #t)))))
+			      (when (and (pair? clauses)
+					 (> ctr 1))
+				(lint-format "possibly use case at the end: ~A" caller
+					     (lists->string form
+							    (let ((else-case (cond->case eqv-select  ; cond->case will handle the else branch
+											 (list-tail (cdr form) (- elen ctr)))))
+							      (if (= (- elen ctr) 1)
+								  (if (equal? (cdadr form) '(#f))
+								      `(and (not ,(caadr form)) ,else-case)
+								      `(if ,@(cadr form) ,else-case))
+								  `(cond ,@(copy (cdr form) (make-list (- elen ctr)))
+									 (else ,else-case))))))))))))
 		   ;; --------
+
+		   ;; repeated test exprs handled once
+		   (let ((exprs ())
+			 (reps ())
+			 (ctr 0)
+			 (pos 0)
+			 (head-len 0)
+			 (else-leaves 0)
+			 (else-result #f))
+		     (for-each (lambda (c)
+				 (set! pos (+ pos 1))
+				 (cond ((and (pair? c)
+					     (memq (car c) '(#t else)))
+					(set! else-result (cdr c))
+					(set! else-leaves (tree-leaves else-result)))
+
+				       ((not (and (pair? c)
+						  (pair? (car c))
+						  (or (eq? (caar c) 'and)
+						      (member (car c) reps))))
+					(set! exprs ())
+					(set! reps ())
+					(set! ctr 0))
+
+				       ((null? exprs)
+					(set! head-len pos)
+					(set! exprs (cdar c))
+					(set! reps exprs)
+					(set! ctr 1))
+
+				       (else
+					(set! ctr (+ ctr 1))
+					(set! reps (remove-if (lambda (rc)
+								(not (or (equal? rc (car c))
+									 (member rc (cdar c)))))
+							      reps)))))
+			       (cdr form))
+		     (when (and (pair? reps)
+				(> ctr 1)
+				(< else-leaves (* ctr (length reps) 3)))
+		       (lint-format "perhaps ~A" caller
+				    (lists->string form
+						   (let ((not-reps 
+							  (simplify-boolean (if (null? (cdr reps))
+										`(not ,(car reps))
+										`(not (and , at reps)))
+									    () () env)))
+						     `(,@(copy form (make-list head-len))
+						       (,not-reps
+							,@(or else-result '(#<unspecified>)))
+						       ,@(let mapper ((clauses (list-tail form head-len))
+								      (lst ()))
+							   (if (null? clauses)
+							       (reverse lst)
+							       (let ((new-clause
+								      (let ((c (car clauses)))
+									(if (memq (car c) '(else #t))
+									    c
+									    `(,(if (member (car c) reps)
+										   'else
+										   (remove-if (lambda (rc)
+												(member rc reps))
+											      (car c)))
+									      ,@(cdr c))))))
+								 (if (and (pair? new-clause)
+									  (pair? (car new-clause))
+									  (eq? (caar new-clause) 'and)
+									  (pair? (cdar new-clause))
+									  (null? (cddar new-clause)))
+								     (set-car! new-clause (cadar new-clause)))
+								 (if (memq (car new-clause) '(else #t))
+								     (reverse (cons new-clause lst))
+								     (mapper (cdr clauses) (cons new-clause lst))))))))))))
 		   
 		   (when (pair? (cadr form)) 
 		     (if (= len 1)
@@ -12729,36 +13836,140 @@
 									    (eq? (caar clause) 'not))
 								       `(unless ,@(cdar clause) ,@(cdr clause))						
 								       `(when ,(car clause) ,@(cdr clause)))))))))
+
 			 (when has-else ; len > 1 here
 			   (let ((last-clause (list-ref form (- len 1)))) ; not the else branch! -- just before it.
-			     
-			     (when (and (= len 3)
-					(equal? (cdadr form) (cdr (list-ref form len))) ; a = else result
-					(pair? (cdaddr form))                           ; b does exist
-					(not (eq? (cadr (caddr form)) '=>)))            ; no => in b
-			       (lint-format "perhaps ~A" caller
-					    (lists->string form
-							   (let ((A (caadr form))
-								 (a (cdadr form))
-								 (B (caaddr form))
-								 (b (cdaddr form)))
-							     (let ((nexpr (simplify-boolean `(or ,A (not ,B)) () () env)))
-							       (cond ((not (and (null? (cdr a))
-										(null? (cdr b))))
-								      `(cond (,nexpr , at a) (else , at b)))
-								     
-								     ((eq? (car a) #t)
-								      (if (not (car b))
-									  nexpr
-									  (simplify-boolean `(or ,nexpr ,(car b)) () () env)))
-								     
-								     ((car a) ; i.e a is not #f
-								      `(if ,nexpr ,(car a) ,(car b)))
-								     
-								     ((eq? (car b) #t)
-								      (simplify-boolean `(not ,nexpr) () () env))
-								     
-								     (else (simplify-boolean `(and (not ,nexpr) ,(car b)) () () env))))))))
+
+			     (when (and (= suggest made-suggestion) ; look for all results the same
+					(pair? (cadr form))
+					(pair? (cdadr form)))
+			       (let ((result (list-ref (cadr form) (- (length (cadr form)) 1)))
+				     (else-clause (list-ref form len)))
+				 (when (every? (lambda (c)
+						 (and (pair? c)
+						      (pair? (cdr c))
+						      (equal? result (list-ref c (- (length c) 1)))))
+					       (cddr form))
+				   (lint-format "perhaps ~A" caller
+						(lists->string form
+							       (if (= len 2)       ; one is else -- this case is very common
+								   (let* ((c1-len (length (cdr last-clause)))
+									  (new-c1 (case c1-len
+										    ((1) #f)
+										    ((2) (cadr last-clause))
+										    (else `(begin ,@(copy (cdr last-clause) (make-list (- c1-len 1)))))))
+									  (else-len (length (cdr else-clause)))
+									  (new-else (case else-len
+										      ((1) #f)
+										      ((2) (cadr else-clause))
+										      (else `(begin ,@(copy (cdr else-clause) (make-list (- else-len 1))))))))
+								     `(begin
+									,(if (= c1-len 1)
+									     (if new-else
+										 `(if (not ,(car last-clause)) ,new-else)
+										 (car last-clause))
+									     (if (= else-len 1)
+										 (if new-c1
+										     `(if ,(car last-clause) ,new-c1)
+										     (car last-clause))
+										 `(if ,(car last-clause) ,new-c1 ,new-else)))
+									,result))
+								   `(begin          ; this almost never happens
+								      (cond ,@(map (lambda (c)
+										     (let ((len (length c)))
+										       (if (= len 2)
+											   (if (or (memq (car c) '(else #t))
+												   (not (side-effect? (car c) env)))
+											       (values)
+											       (car c))
+											   (copy c (make-list (- len 1))))))
+										   (cdr form)))
+								      ,result)))))))
+			     ;; a few dozen hits here
+			     ;;   the 'case parallel gets 2 hits, complex selectors
+			     ;;   len = (- (length form) 1) = number of clauses
+			     (when (and (> len 2)
+					(or (null? (cdr last-clause))
+					    (and (pair? (cdr last-clause))
+						 (null? (cddr last-clause))
+						 (boolean? (cadr last-clause)))))
+			       (let ((else-clause (list-ref form len))
+				     (next-clause (list-ref form (- len 2))))
+				 (when (and (pair? (cdr else-clause))
+					    (null? (cddr else-clause))
+					    (boolean? (cadr else-clause))
+					    (not (equal? (cdr last-clause) (cdr else-clause)))
+					    (pair? (cdr next-clause))
+					    (null? (cddr next-clause))
+					    (not (boolean? (cadr next-clause))))
+				   (lint-format "perhaps ~A" caller
+						(lists->string form
+							       `(,@(copy form (make-list (- len 1)))
+								 (else ,(if (cadr else-clause)
+									    `(not ,(car last-clause))
+									    (car last-clause)))))))))
+			     ;; (cond ((= x y) 2) ((= x 2) #f) (else #t)) -> (cond ((= x y) 2) (else (not (= x 2))))
+			     ;; (cond ((= x y) 2) ((= x 2) #t) (else #f)) -> (cond ((= x y) 2) (else (= x 2)))
+
+			     (when (= len 3)
+			       (let ((first-clause (cadr form))
+				     (else-clause (list-ref form len)))
+
+				 (when (and (or (null? (cdr first-clause))
+						(and (null? (cddr first-clause))
+						     (boolean? (cadr first-clause))))
+					    (pair? last-clause)
+					    (or (null? (cdr last-clause))
+						(null? (cddr last-clause))))
+				   
+				   (if (and (pair? (cdr first-clause))
+					    (not (cadr first-clause))            ; (cond (A #f) (B #t) (else C)) -> (and (not A) (or B C))
+					    (or (null? (cdr last-clause))
+						(eq? (cadr last-clause) #t)))
+				       (lint-format "perhaps ~A" caller
+						    (lists->string form 
+								   (simplify-boolean 
+								    `(and (not ,(car first-clause))
+									  (or ,(car last-clause) 
+									      ,@(if (null? (cddr else-clause))
+										    (cdr else-clause)
+										    `(begin ,@(cdr else-clause)))))
+								    () () env)))
+				       (if (and (or (null? (cdr first-clause))   ; (cond (A #t) (B C) (else #f)) -> (or A (and B C))
+						    (eq? (cadr first-clause) #t))
+						(not (cadr else-clause))
+						(null? (cddr else-clause)))
+					   (lint-format "perhaps ~A" caller
+							(lists->string form 
+								       `(or ,(car first-clause)
+									    (and , at last-clause)))))))
+
+				 (when (and (equal? (cdr first-clause) (cdr else-clause)) ; a = else result
+					    (pair? (cdr last-clause))                     ; b does exist
+					    (not (eq? (cadr last-clause) '=>)))           ; no => in b
+				   (lint-format "perhaps ~A" caller
+						(lists->string form
+							       (let ((A (car first-clause))
+								     (a (cdr first-clause))
+								     (B (car last-clause))
+								     (b (cdr last-clause)))
+								 (let ((nexpr (simplify-boolean `(or ,A (not ,B)) () () env)))
+								   (cond ((not (and (null? (cdr a))
+										    (null? (cdr b))))
+									  `(cond (,nexpr , at a) (else , at b)))
+									 
+									 ((eq? (car a) #t)
+									  (if (not (car b))
+									      nexpr
+									      (simplify-boolean `(or ,nexpr ,(car b)) () () env)))
+									 
+									 ((car a) ; i.e a is not #f
+									  `(if ,nexpr ,(car a) ,(car b)))
+									 
+									 ((eq? (car b) #t)
+									  (simplify-boolean `(not ,nexpr) () () env))
+									 
+									 (else (simplify-boolean `(and (not ,nexpr) ,(car b)) () () env))))))))))
 			     (when (> len 3)
 			       ;; this is not ideal
 			       (let ((e (list-ref form len))      ; (cond (W X) (A B) (C D) (else B)) -> (cond (W X) ((or A (not C)) B) (else D))
@@ -12779,45 +13990,32 @@
 			     
 			     (let ((arg1 (cadr form))
 				   (arg2 (caddr form)))
-			       (if (and (pair? arg1)
-					(pair? arg2)
-					(pair? (car arg1))
-					(eq? (caar arg1) 'and)
-					(pair? (cdr arg1))
-					(null? (cddr arg1))
-					(pair? (cdr arg2))
-					(null? (cddr arg2))
-					(member (car arg2) (cdar arg1))
-					(= (length (cdar arg1)) 2))
-				   (lint-format "perhaps ~A" caller
-						(lists->string form
-							       `(cond (,(car arg2)
-								       (if ,((if (equal? (car arg2) (cadar arg1)) caddar cadar) arg1)
-									   ,(cadr arg1)
-									   ,(cadr arg2)))
-								      ,@(cdddr form)))))
-			       
-			       (if (and (= len 2)          ; (cond ((not A) B) (else C)) -> (if A C B)
-					(pair? arg1)       
-					(pair? (car arg1))
-					(eq? (caar arg1) 'not)
-					(pair? (cdr arg2))
-					(> (tree-leaves (cdr arg1)) (tree-leaves (cdr arg2))))
-				   (lint-format "perhaps ~A" caller
-						(lists->string form 
-							       (if (and (null? (cddr arg1))
-									(null? (cddr arg2)))
-								   `(if ,(cadar arg1) ,(cadr arg2) ,(cadr arg1))
-								   `(cond (,(cadar arg1) ,@(cdr arg2)) (else ,@(cdr arg1))))))))
-			     
+			       (when (and (pair? arg1)
+					  (pair? (car arg1))
+					  (pair? (cdr arg1))
+					  (pair? arg2)
+					  (eq? (caar arg1) 'and)
+					  (null? (cddr arg1))
+					  (pair? (cdr arg2))
+					  (null? (cddr arg2))
+					  (member (car arg2) (cdar arg1))
+					  (= (length (cdar arg1)) 2))
+				 (lint-format "perhaps ~A" caller
+					      (lists->string form
+							     `(cond (,(car arg2)
+								     (if ,((if (equal? (car arg2) (cadar arg1)) caddar cadar) arg1)
+									 ,(cadr arg1)
+									 ,(cadr arg2)))
+								    ,@(cdddr form))))))
+
 			     (if (and (pair? last-clause)   ; (cond ... ((or ...)) (else ...)) -> (cond ... (else (or ... ...)))
 				      (pair? (car last-clause))
 				      (null? (cdr last-clause))
 				      (eq? (caar last-clause) 'or))
-				 (let* ((e (list-ref form len))
-					(else-clause (if (null? (cddr e))
-							 (cadr e)
-							 `(begin ,@(cdr e)))))
+				 (let ((else-clause (let ((e (list-ref form len)))
+						      (if (null? (cddr e))
+							  (cadr e)
+							  `(begin ,@(cdr e))))))
 				   (lint-format "perhaps ~A" caller
 						(lists->string form
 							       `(cond ,@(copy (cdr form) (make-list (- len 2)))
@@ -12883,8 +14081,10 @@
 	  (hash-table-set! h 'cond cond-walker))
 	
 	;; ---------------- case ----------------		  
-	(let ((selector-types '(#t symbol? char? boolean? integer? rational? real? complex? number? null? eof-object?)))
-	  (define (case-walker caller form env)
+	(let ()
+	  (define case-walker 
+	    (let ((selector-types '(#t symbol? char? boolean? integer? rational? real? complex? number? null? eof-object?)))
+	      (lambda (caller form env)
 	    ;; here the keys are not evaluated, so we might have a list like (letrec define ...)
 	    ;; also unlike cond, only 'else marks a default branch (not #t)
 	    
@@ -13004,6 +14204,17 @@
 							(lists->string form `(, at header (case ,(cadr form) , at middle) , at trailer))))))))
 			       (partition-form (cddr form) (if else-error (- len 1) len)))))))))
 		  ;; ----------------
+
+		  (if (every? (lambda (c)               ; (case x ((a) a) ((b) b)) -> (symbol->value x)
+				(and (pair? c)
+				     (pair? (car c))
+				     (symbol? (caar c))
+				     (null? (cdar c))
+				     (pair? (cdr c))
+				     (null? (cddr c))
+				     (eq? (caar c) (cadr c)))) ; the quoted case happens only in test suites
+			      (cddr form))
+		      (lint-format "perhaps (ignoring the unmatched case) ~A" caller (lists->string form `(symbol->value ,(cadr form)))))
 		  
 		  (when (= suggest made-suggestion)
 		    (let ((clauses (cddr form)))            ; (case x ((a) #t) (else #f)) -> (eq? x 'a) -- this stuff actually happens!
@@ -13070,8 +14281,18 @@
 								 `(if (,op ,selector ',keylist) ,(cadar clauses) ,(cadadr clauses)))
 
 								(else 
-								 `(if (,op ,selector ,keylist) ,(cadar clauses) ,(cadadr clauses)))))))))))
-		  
+								 (let ((select-expr (if (and (eq? op 'eqv?)
+											     (boolean? keylist)
+											     (or (and (symbol? selector)
+												      (not keylist))
+												 (and (pair? selector)
+												      (symbol? (car selector))
+												      (let ((sig (arg-signature (car selector) env)))
+													(and (pair? sig)
+													     (eq? (car sig) 'boolean?))))))
+											(if keylist selector `(not ,selector))
+											`(,op ,selector ,keylist))))
+								   `(if ,select-expr ,(cadar clauses) ,(cadadr clauses))))))))))))
 		  (if (and (not (pair? selector))
 			   (constant? selector))
 		      (lint-format "case selector is a constant: ~A" caller (truncated-list->string form)))
@@ -13090,6 +14311,7 @@
 			(all-exprs ())
 			(ctr 0)
 			(result :unset)
+			;(end-result :unset)
 			(exprs-repeated #f)
 			(else-foldable #f)
 			(has-else #f)
@@ -13107,6 +14329,18 @@
 				 (set! result exprs)
 				 (if (not (equal? result exprs))
 				     (set! result :unequal)))
+#|
+			     ;; about 6 real hits
+			     (if (eq? end-result :unset)
+				 (set! end-result 
+				       (if (pair? exprs)
+					   (list-ref exprs (- (length exprs) 1))
+					   :unequal))
+				 (if (not (and (pair? exprs)
+					       (equal? end-result (list-ref exprs (- (length exprs) 1)))))
+				     (set! end-result :unequal)))
+|#
+
 			     (if (member exprs all-exprs)
 				 (set! exprs-repeated exprs)
 				 (set! all-exprs (cons exprs all-exprs)))
@@ -13116,8 +14350,12 @@
 				      (pair? (cdar exprs))
 				      (null? (cddar exprs))
 				      (equal? selector (cadar exprs)))
-				 (lint-format "perhaps use => here: ~A" caller 
-					      (lists->string clause (list keys '=> (caar exprs)))))
+				 (if (and (eq? (caar exprs) 'not)
+					  (not (memq #f keys)))
+				     (lint-format "in ~A, perhaps replace ~A with #f" caller clause (car exprs))
+				     (lint-format "perhaps use => here: ~A" caller 
+						  (lists->string clause (list keys '=> (caar exprs))))))
+
 			     (if (pair? keys)
 				 (if (not (proper-list? keys))
 				     (lint-format (if (null? keys) 
@@ -13128,9 +14366,12 @@
 				      (lambda (key)
 					(if (or (vector? key)
 						(string? key)
-						(pair? key)
-						(hash-table? key))
-					    (lint-format "case key ~S in ~S is unlikely to work (case uses eqv?)" caller key clause))
+						(pair? key))
+					    (lint-format "case key ~S in ~S is unlikely to work (case uses eqv? but it is a ~A)" caller
+							 key clause
+							 (cond ((vector? key) 'vector)
+							       ((pair? key) 'pair)
+							       (else 'string))))
 					(if (member key all-keys)
 					    (lint-format "repeated case key ~S in ~S" caller key clause)
 					    (set! all-keys (cons key all-keys)))
@@ -13169,7 +14410,7 @@
 			     
 			     (lint-walk-open-body caller (car form) exprs env))))
 		     (cddr form))
-		    
+
 		    (if (and has-else 
 			     (pair? result)
 			     (not else-foldable))
@@ -13213,7 +14454,9 @@
 								   (map (lambda (key)
 									  (if (memv key cur-keys) (values) key))
 									keys)))))
-					     (set! new-keys-and-exprs (cons (cons (copy (car clause)) (cdr clause)) new-keys-and-exprs))))))))))
+					     (set! new-keys-and-exprs (cons (cons (copy (car clause))
+										  (cdr clause))
+									    new-keys-and-exprs))))))))))
 			  
 			  (for-each merge-case-keys (cddr form))
 			  (if (pair? else-foldable)
@@ -13248,7 +14491,7 @@
 							 (reverse mergers) 
 							 (lists->string form new-form))
 						 (lists->string form new-form)))))))))))
-	    env)
+	    env)))
 	  (hash-table-set! h 'case case-walker))
 	
 	
@@ -13282,10 +14525,10 @@
 			    (lint-format "do variable list is not a proper list? ~S" caller step-vars)))
 		     (when (binding-ok? caller 'do (car bindings) env #f)
 		       (for-each (lambda (v)
-				   (if (and (not (eq? (var-initial-value v) (var-name v)))
-					    (tree-memq (var-name v) (cadar bindings))
-					    (not (hash-table-ref built-in-functions (var-name v)))
-					    (not (tree-table-member binders (cadar bindings))))
+				   (if (not (or (eq? (var-initial-value v) (var-name v))
+						(not (tree-memq (var-name v) (cadar bindings)))
+						(hash-table-ref built-in-functions (var-name v))
+						(tree-table-member binders (cadar bindings))))
 				       (if (not (var-member (var-name v) env))
 					   (lint-format "~A in ~A does not appear to be defined in the calling environment" caller
 							(var-name v) (car bindings))
@@ -13294,14 +14537,14 @@
 				 vars)
 		       
 		       (lint-walk caller (cadar bindings) env)
-		       (set! vars (cons (let ((v (make-var :name (caar bindings) 
-							   :definer 'do
-							   :initial-value (cadar bindings))))
-					  (let ((stepper (and (pair? (cddar bindings)) (caddar bindings))))
-					    (varlet (cdr v) :step stepper)
-					    (if stepper (set! (var-history v) (cons (list 'set! (caar bindings) stepper) (var-history v)))))
-					  v)
-					vars))))
+		       (let ((new-var (let ((v (make-var :name (caar bindings) 
+							 :definer 'do
+							 :initial-value (cadar bindings))))
+					(let ((stepper (and (pair? (cddar bindings)) (caddar bindings))))
+					  (varlet (cdr v) :step stepper)
+					  (if stepper (set! (var-history v) (cons (list 'set! (caar bindings) stepper) (var-history v)))))
+					v)))
+			 (set! vars (cons new-var vars)))))
 		   
 		   (set! inner-env (append vars env))
 		   
@@ -13366,27 +14609,27 @@
 							    ,@(cdddr form)
 							    , at new-sets)))
 			     (let* ((loop (find-unique-name form))
-				    (test (if (pair? (caddr form))
-					      (caaddr form)
-					      ()))
-				    (result (if (not (and (pair? (caddr form))
-							  (pair? (cdaddr form))))
-						()
-						(if (null? (cdr (cdaddr form)))
-						    (car (cdaddr form))
-						    `(begin ,@(cdaddr form)))))
-				    (let-loop `(,loop ,@(map (lambda (s)
-							       ((if (pair? (cddr s)) caddr car) s))
-							     step-vars)))
-				    (new-body (if (pair? (cdddr form))
-						  `(begin ,@(cdddr form) ,let-loop)
-						  let-loop)))
-			       (lint-format "this do loop is unreadable; perhaps ~A" caller
-					    (lists->string form
-							   `(let ,loop ,(map (lambda (s)
-									       (list (car s) (cadr s)))
-									     step-vars)
-								 (if ,test ,result ,new-body)))))))))
+				    (new-body (let ((let-loop `(,loop ,@(map (lambda (s)
+									       ((if (pair? (cddr s)) caddr car) s))
+									     step-vars))))
+						(if (pair? (cdddr form))
+						    `(begin ,@(cdddr form) ,let-loop)
+						    let-loop))))
+			       (let ((test (if (pair? (caddr form))
+					       (caaddr form)
+					       ()))
+				     (result (if (not (and (pair? (caddr form))
+							   (pair? (cdaddr form))))
+						 ()
+						 (if (null? (cdr (cdaddr form)))
+						     (car (cdaddr form))
+						     `(begin ,@(cdaddr form))))))
+				 (lint-format "this do loop is unreadable; perhaps ~A" caller
+					      (lists->string form
+							     `(let ,loop ,(map (lambda (s)
+										 (list (car s) (cadr s)))
+									       step-vars)
+								   (if ,test ,result ,new-body))))))))))
 		   
 		   ;; walk the body and end stuff (it's too tricky to find infinite do loops)
 		   (when (pair? (caddr form))
@@ -13442,9 +14685,9 @@
 			       (lint-format "strange do end-test: ~A in ~A is a procedure" caller end end+result))))))
 		   
 		   (lint-walk-body caller 'do (cdddr form) (cons (make-var :name :let
-									    :initial-value form
-									    :definer 'do)
-								  inner-env))
+									   :initial-value form
+									   :definer 'do)
+								 inner-env))
 		   
 		   ;; before report-usage, check for unused variables, and don't complain about them if
 		   ;;   they are referenced in an earlier step expr.
@@ -13567,6 +14810,7 @@
 	       (let ((named-let (and (symbol? (cadr form)) (cadr form))))
 		 (if (keyword? named-let)
 		     (lint-format "bad let name: ~A" caller named-let))
+
 		 (unless named-let
 		   
 		   (if (and (null? (cadr form)) ; this can be fooled by macros that define things
@@ -13652,7 +14896,7 @@
 					  env)
 		   
 		   (let ((suggest made-suggestion))
-		     (when (and (pair? varlist)        ; (let ((x (A))) (if x (f x) B)) -> (cond ((A) => f) (else B)
+		     (when (and (pair? varlist)          ; (let ((x (A))) (if x (f x) B)) -> (cond ((A) => f) (else B)
 				(pair? body)
 				(pair? (car body))
 				(null? (cdr body))
@@ -13667,7 +14911,7 @@
 			       (vname (caar varlist))
 			       (vvalue (cadar varlist)))
 			   
-			   (when (and (not named-let)   ; (let ((x (assq a y))) (set! z (if x (cadr x) 0))) -> (set! z (cond ((assq a y) => cadr) (else 0)))
+			   (when (and (not named-let)    ; (let ((x (assq a y))) (set! z (if x (cadr x) 0))) -> (set! z (cond ((assq a y) => cadr) (else 0)))
 				      (not (memq (car p) '(if cond))) ; handled separately below
 				      (= (tree-count2 vname p 0) 2))
 			     (do ((i 0 (+ i 1))
@@ -13730,29 +14974,31 @@
 			   (when (pair? (cddr p))
 			     (when (and (eq? (car p) 'if)
 					(pair? (cdddr p)))
-			       
-			       (when (and (eq? (cadr p) vname) ; (let ((x (g y))) (if x #t #f)) -> (g y)
-					  (boolean? (caddr p))
-					  (boolean? (cadddr p))
-					  (not (eq? (caddr p) (cadddr p))))
-				 (lint-format "perhaps ~A" caller
-					      (lists->string form (if (caddr p) vvalue `(not ,vvalue)))))
-			       
-			       (when (and (pair? (cadr p)) ; (let ((x (f y))) (if (not x) B (g x))) -> (cond ((f y) => g) (else B))
-					  (eq? (caadr p) 'not)
-					  (eq? (cadadr p) vname)
-					  (pair? (cadddr p))
-					  (pair? (cdr (cadddr p)))
-					  (null? (cddr (cadddr p)))
-					  (eq? vname (cadr (cadddr p))))
-				 (let ((else-clause (if (eq? (caddr p) vname)
-							`((else #f))
-							(if (and (pair? (caddr p))
-								 (tree-unquoted-member vname (caddr p)))
-							    :oops! ; if the let var appears in the else portion, we can't do anything with =>
-							    `((else ,(caddr p)))))))
-				   (unless (eq? else-clause :oops!)
-				     (lint-format "perhaps ~A" caller (lists->string form `(cond (,vvalue => ,(car (cadddr p))) , at else-clause)))))))
+			       (let ((if-true (caddr p))
+				     (if-false (cadddr p)))
+				 
+				 (when (and (eq? (cadr p) vname) ; (let ((x (g y))) (if x #t #f)) -> (g y)
+					    (boolean? if-true)
+					    (boolean? if-false)
+					    (not (eq? if-true if-false)))
+				   (lint-format "perhaps ~A" caller
+						(lists->string form (if if-true vvalue `(not ,vvalue)))))
+				 
+				 (when (and (pair? (cadr p)) ; (let ((x (f y))) (if (not x) B (g x))) -> (cond ((f y) => g) (else B))
+					    (eq? (caadr p) 'not)
+					    (eq? (cadadr p) vname)
+					    (pair? if-false)
+					    (pair? (cdr if-false))
+					    (null? (cddr if-false))
+					    (eq? vname (cadr if-false)))
+				   (let ((else-clause (if (eq? if-true vname)
+							  `((else #f))
+							  (if (and (pair? if-true)
+								   (tree-unquoted-member vname if-true))
+							      :oops! ; if the let var appears in the else portion, we can't do anything with =>
+							      `((else ,if-true))))))
+				     (unless (eq? else-clause :oops!)
+				       (lint-format "perhaps ~A" caller (lists->string form `(cond (,vvalue => ,(car if-false)) , at else-clause))))))))
 			     
 			     (let ((crf #f))
 			       ;; all this stuff still misses (cond ((not x)...)) and (set! y (if x (cdr x)...)) i.e. need embedding in this case
@@ -13793,18 +15039,17 @@
 					  (pair? (caddr p))
 					  (or (eq? (car p) 'if)
 					      (null? (cdddr p))))
-				 (let ((else-clause (cond ((pair? (cdddr p))
-							   (if (eq? (cadddr p) vname)
-							       `((else #f)) ; this stands in for the local var
-							       (if (and (pair? (cadddr p))
-									(tree-unquoted-member vname (cadddr p)))
-								   :oops! ; if the let var appears in the else portion, we can't do anything with =>
-								   `((else ,(cadddr p))))))
-							  ((eq? (car p) 'and)
-							   `((else #f)))
-							  ((eq? (car p) 'or)
-							   `((else #t)))
-							  (else ()))))
+				 (let ((else-clause (if (pair? (cdddr p))
+							(if (eq? (cadddr p) vname)
+							    `((else #f)) ; this stands in for the local var
+							    (if (and (pair? (cadddr p))
+								     (tree-unquoted-member vname (cadddr p)))
+								:oops! ; if the let var appears in the else portion, we can't do anything with =>
+								`((else ,(cadddr p)))))
+							(case (car p)
+							  ((and) '((else #f)))
+							  ((or)  '((else #t)))
+							  (else  ())))))
 				   (unless (eq? else-clause :oops!)
 				     (lint-format "perhaps ~A" caller 
 						  (lists->string form `(cond (,vvalue => ,(or crf (caaddr p))) , at else-clause))))))))
@@ -13883,7 +15128,7 @@
 		     (let ((nvars (and (not (eq? e cur-env))
 				       (env-difference caller e cur-env ()))))
 		       (if (pair? nvars)
-			   (if (eq? (var-name (car nvars)) :lambda)
+			   (if (memq (var-name (car nvars)) '(:lambda :dilambda))
 			       (begin
 				 (set! env (cons (car nvars) env))
 				 (set! nvars (cdr nvars)))
@@ -13897,432 +15142,522 @@
 		     
 		     (report-usage caller 'let vars cur-env)
 
-		     ;; look for let-temporarily possibilities
+		     ;; look for splittable lets and let-temporarily possibilities
 		     (when (and (pair? vars)
 				(pair? (cadr form))
 				(pair? (caadr form)))
 		       (for-each 
 			(lambda (local-var)
-			  (when (and (zero? (var-set local-var))
-				     (= (var-ref local-var) 1)
-				     (symbol? (var-initial-value local-var)))
-			    (let ((vname (var-name local-var))
-				  (saved-name (var-initial-value local-var)))
-			      (do ((p body (cdr p))
-				   (last-pos #f)
-				   (first-pos #f))
-				  ((not (pair? p))
-				   (when (and (pair? last-pos)
-					      (not (eq? first-pos last-pos))
-					      (not (tree-member saved-name (cdr last-pos))))
-				     (lint-format "perhaps use let-temporarily here (see stuff.scm): ~A" caller
-						  (lists->string form
-								 (let ((new-let `(let-temporarily 
-										     ((,saved-name ,(if (pair? first-pos) 
-													(caddar first-pos) 
-													saved-name)))
-										   ,@(map (lambda (expr)
-											    (if (or (and (pair? first-pos)
-													 (eq? expr (car first-pos)))
-												    (eq? expr (car last-pos)))
-												(values)
-												expr))
-											  body))))
-								   (if (= (length vars) 1)
-								       new-let
-								       `(let (,@(map (lambda (v)
+			  (let ((vname (var-name local-var)))
+			    
+			    ;; ideally we'd collect vars that fit into one let etc
+			    (when (> (length body) (* 5 (var-set local-var)) 0)
+			      (do ((i 0 (+ i 1))
+				   (preref #f)
+				   (p body (cdr p)))
+				  ((or (not (pair? (cdr p)))
+				       (and (pair? (car p))
+					    (eq? (caar p) 'set!)
+					    (eq? (cadar p) vname)
+					    (> i 5)
+					    (begin
+					      (if (or preref
+						      (side-effect? (var-initial-value local-var) env))
+						  (lint-format "perhaps add a new binding for ~A to replace ~A: ~A" caller
+							       vname
+							       (truncated-list->string (car p))
+							       (lists->string form
+									      `(let ...
+										 (let ((,vname ,(caddar p)))
+										   ...))))
+						  (lint-format "perhaps move the ~A binding to replace ~A: ~A" caller
+							       vname 
+							       (truncated-list->string (car p))
+							       (let ((new-value (if (tree-member vname (caddar p))
+										    (tree-subst (var-initial-value local-var) vname (copy (caddar p)))
+										    (caddar p))))
+								 (lists->string form 
+										`(let ,(let rewrite ((lst (cadr form)))
+											 (cond ((null? lst) ())
+											       ((and (pair? (car lst))
+												     (eq? (caar lst) vname))
+												(rewrite (cdr lst)))
+											       (else (cons (if (< (tree-leaves (cadar lst)) 30)
+													       (car lst)
+													       (list (caar lst) '...))
+													   (rewrite (cdr lst))))))
+										   ...
+										   (let ((,vname ,new-value))
+										     ...))))))
+					      #t))))
+				(if (tree-member vname (car p))
+				    (set! preref i))))
+			    
+			    (when (and (zero? (var-set local-var))
+				       (= (var-ref local-var) 1)
+				       (symbol? (var-initial-value local-var)))
+			      (let (;(vname (var-name local-var))
+				    (saved-name (var-initial-value local-var)))
+				(do ((p body (cdr p))
+				     (last-pos #f)
+				     (first-pos #f))
+				    ((not (pair? p))
+				     (when (and (pair? last-pos)
+						(not (eq? first-pos last-pos))
+						(not (tree-member saved-name (cdr last-pos))))
+				       (lint-format "perhaps use let-temporarily here (see stuff.scm): ~A" caller
+						    (lists->string form
+								   (let ((new-let `(let-temporarily 
+										       ((,saved-name ,(if (pair? first-pos) 
+													  (caddar first-pos) 
+													  saved-name)))
+										     ,@(map (lambda (expr)
+											      (if (or (and (pair? first-pos)
+													   (eq? expr (car first-pos)))
+												      (eq? expr (car last-pos)))
+												  (values)
+												  expr))
+											    body))))
+								     (if (null? (cdr vars)) ; we know vars is a pair, want len=1
+									 new-let
+									 `(let ,(map (lambda (v)
 										       (if (eq? (car v) vname)
 											   (values)
 											   v))
-										     (cadr form)))
-									  ,new-let)))))))
-				;; someday maybe look for additional saved vars, but this happens only in snd-test
-				;;   also the let-temp could be reduced to the set locations (so the tree-member
-				;;   check above would be unneeded).
-				(let ((expr (car p)))
-				  (when (and (pair? expr)
-					     (eq? (car expr) 'set!)
-					     (eq? (cadr expr) saved-name))
-				    (if (not first-pos)
-					(set! first-pos p))
-				    (if (eq? (caddr expr) vname)
-					(set! last-pos p))))))))
+										     (cadr form))
+									    ,new-let)))))))
+				  ;; someday maybe look for additional saved vars, but this happens only in snd-test
+				  ;;   also the let-temp could be reduced to the set locations (so the tree-member
+				  ;;   check above would be unneeded).
+				  (let ((expr (car p)))
+				    (when (and (pair? expr)
+					       (eq? (car expr) 'set!)
+					       (eq? (cadr expr) saved-name))
+				      (if (not first-pos)
+					  (set! first-pos p))
+				      (if (eq? (caddr expr) vname)
+					  (set! last-pos p)))))))))
 			vars)))
 		   
-		   (if (and (pair? body)                ; (let ((x y)) x) -> y, named let is possible here 
-			    (null? (cdr body))
-			    (pair? varlist)             ; (let ()...)
-			    (pair? (car varlist))       ; (let (x) ...)
-			    (eq? (car body) (caar varlist))
-			    (null? (cdr varlist))
-			    (pair? (cdar varlist)))     ; (let ((a))...)
-		       (lint-format "perhaps ~A" caller (lists->string form (cadar varlist))))
-		   ;; also (let ((x ...)) (let ((y x)...))) happens but it looks like automatically generated code or test suite junk
-		   
-		   ;; copied from letrec below -- happens about a dozen times
-		   (when (and (not named-let)
-			      (pair? varlist)
+		   (when (and (pair? varlist)
 			      (pair? (car varlist))
-			      (null? (cdr varlist))
-			      (pair? (cddr form))
-			      (pair? (caddr form))
-			      (null? (cdddr form)))
-		     (let ((body (caddr form))
-			   (sym (caar varlist))
-			   (lform (and (pair? (caadr form))
-				       (pair? (cdaadr form))
-				       (cadar (cadr form)))))
-		       (if (and (pair? lform)
-				(pair? (cdr lform))
-				(eq? (car lform) 'lambda)
-				(proper-list? (cadr lform)))
-			   ;; unlike in letrec, here there can't be recursion (ref to same name is ref to outer env)
-			   (if (eq? sym (car body))
-			       (if (not (tree-memq sym (cdr body)))
-				   (lint-format "perhaps ~A" caller
-						(lists->string 
-						 form `(let ,(map list (cadr lform) (cdr body))
-							 ,@(cddr lform)))))
-			       (if (= (tree-count1 sym body 0) 1)
-				   (let ((call (find-call sym body)))
-				     (when (pair? call) 
-				       (let ((new-call `(let ,(map list (cadr lform) (cdr call))
-							  ,@(cddr lform))))
-					 (lint-format "perhaps ~A" caller
-						      (lists->string form (tree-subst new-call call body)))))))))))
-		   
-		   (when (and (pair? body)
-			      (pair? (car body))
-			      (pair? (cdar body))
-			      (pair? (cddar body))      
-			      (eq? (caar body) 'set!))
-		     (let ((settee (cadar body))
-			   (setval (caddar body)))
-		       (if (and (not named-let)           ; (let ((x 0)...) (set! x 1)...) -> (let ((x 1)...)...)
-				(not (tree-memq 'curlet setval))
-				(cond ((assq settee vars)
-				       => (lambda (v)
-					    (or (and (code-constant? (var-initial-value v))
-						     (code-constant? setval))
-						(not (any? (lambda (v1)
-							     (or (tree-memq (car v1) setval)
-								 (side-effect? (cadr v1) env)))
-							   varlist)))))
-				      (else #f)))
-			   (lint-format "perhaps ~A" caller
-					(lists->string form 
-						       (if (null? (cdr body)) ; this only happens in test suites...
-							   (if (null? (cdr varlist))
-							       setval
-							       `(let ,(map (lambda (v) (if (eq? (car v) settee) (values) v)) varlist)
-								  ,setval))
-							   `(let ,(map (lambda (v)
-									 (if (eq? (car v) settee)
-									     (list (car v) setval)
-									     v))
-								       varlist)
-							      ,@(if (null? (cddr body))
-								    (cdr body)
-								    `(,(cadr body) ...))))))
-			   ;; repetition for the moment
-			   (when (and (pair? varlist)
-				      (assq settee vars)           ; settee is a local var
-				      (not (eq? settee named-let)) ; (let loop () (set! loop 3))!
-				      (or (null? (cdr body))
-					  (and (null? (cddr body))
-					       (eq? settee (cadr body))))) ; (let... (set! local val) local)
+			      (null? (cdr varlist)))
+
+		     (if (and (pair? body)                ; (let ((x y)) x) -> y, named let is possible here 
+			      (null? (cdr body))
+			      (eq? (car body) (caar varlist))
+			      (pair? (cdar varlist)))     ; (let ((a))...)
+			 (lint-format "perhaps ~A" caller (lists->string form (cadar varlist))))
+		     ;; also (let ((x ...)) (let ((y x)...))) happens but it looks like automatically generated code or test suite junk
+		     
+		     ;; copied from letrec below -- happens about a dozen times
+		     (when (and (not named-let)
+				(pair? (cddr form))
+				(pair? (caddr form))
+				(null? (cdddr form)))
+		       (let ((body (caddr form))
+			     (sym (caar varlist))
+			     (lform (and (pair? (caadr form))
+					 (pair? (cdaadr form))
+					 (cadar (cadr form)))))
+			 (if (and (pair? lform)
+				  (pair? (cdr lform))
+				  (eq? (car lform) 'lambda)
+				  (proper-list? (cadr lform)))
+			     ;; unlike in letrec, here there can't be recursion (ref to same name is ref to outer env)
+			     (if (eq? sym (car body))
+				 (if (not (tree-memq sym (cdr body)))
+				     (lint-format "perhaps ~A" caller
+						  (lists->string 
+						   form `(let ,(map list (cadr lform) (cdr body))
+							   ,@(cddr lform)))))
+				 (if (= (tree-count1 sym body 0) 1)
+				     (let ((call (find-call sym body)))
+				       (when (pair? call) 
+					 (let ((new-call `(let ,(map list (cadr lform) (cdr call))
+							    ,@(cddr lform))))
+					   (lint-format "perhaps ~A" caller
+							(lists->string form (tree-subst new-call call body))))))))))))
+		   (when (pair? body)
+		     (when (and (pair? (car body))
+				(pair? (cdar body))
+				(pair? (cddar body))      
+				(eq? (caar body) 'set!))
+		       (let ((settee (cadar body))
+			     (setval (caddar body)))
+			 (if (and (not named-let)           ; (let ((x 0)...) (set! x 1)...) -> (let ((x 1)...)...)
+				  (not (tree-memq 'curlet setval))
+				  (cond ((assq settee vars)
+					 => (lambda (v)
+					      (or (and (code-constant? (var-initial-value v))
+						       (code-constant? setval))
+						  (not (any? (lambda (v1)
+							       (or (tree-memq (car v1) setval)
+								   (side-effect? (cadr v1) env)))
+							     varlist)))))
+					(else #f)))
 			     (lint-format "perhaps ~A" caller
-					  (lists->string form
-							 (if (or (tree-memq settee setval)
-								 (side-effect? (cadr (assq settee varlist)) env))
-							     `(let ,varlist ,setval)
+					  (lists->string form 
+							 (if (null? (cdr body)) ; this only happens in test suites...
 							     (if (null? (cdr varlist))
 								 setval
-								 `(let ,(remove-if (lambda (v)
-										     (eq? (car v) settee))
-										   varlist)
-								    ,setval)))))))))
-		   (when (and (not named-let)
-			      (pair? body))
-		     
-		     ;; if var val is symbol, val not used (not set!) in body (even hidden via function call)
-		     ;;   and var not set!, and not a function parameter (we already reported those), and
-		     ;;   we're not saving some global locally for a function about-to-be exported,
-		     ;;   remove it (the var) and replace with val throughout
-		     (when (and (proper-list? (cadr form))
-				(not (tree-set-member '(lambda lambda*) body)))
-		       (let ((changes ()))
-			 (do ((vs (cadr form) (cdr vs)))
-			     ((null? vs)
-			      (if (pair? changes)
-				  (let ((new-form (copy form)))
-				    (for-each 
-				     (lambda (v)
-				       (list-set! new-form 1 (remove-if (lambda (p) (equal? p v)) (cadr new-form)))
-				       (set! new-form (tree-subst (cadr v) (car v) new-form)))
-				     changes)
-				    (lint-format "assuming we see all set!s, ~{~A~^, ~} ~A pointless: perhaps ~A" caller
-						 changes 
-						 (if (pair? (cdr changes)) "are" "is")
-						 (lists->string form new-form)))))
-			   (let ((v (car vs)))
-			     (if (and (pair? v)
-				      (pair? (cdr v))
-				      (null? (cddr v))                  ; good grief
-				      (symbol? (cadr v))
-				      (not (eq? (car v) (cadr v)))      ; this is handled elsewhere
-				      (not (set-target (cadr v) body env))
-				      (not (set-target (car v) body env))
-				      (let ((data (var-member (cadr v) env)))
-					(or (not (var? data))
-					    (and (not (eq? (var-definer data) 'parameter))
-						 (or (null? (var-setters data))
-						     (not (tree-set-member (var-setters data) body)))))))
-				 (set! changes (cons v changes)))))))
-		     
-		     
-		     ;; if last is (set! local-var...) and no complications, complain
-		     (let ((last (list-ref body (- (length body) 1))))
-		       (if (and (pair? last)
-				(eq? (car last) 'set!)
-				(pair? (cdr last))
-				(pair? (cddr last)) ; (set! a)
-				(symbol? (cadr last))
-				(assq (cadr last) varlist)
-				(not (tree-set-member '(call/cc call-with-current-continuation curlet lambda lambda*) form)))
-			   (lint-format "set! is pointless in ~A: use ~A" caller
-					last (caddr last))))
-		     
-		     ;; all let vars are ref'd only in init-vals, no cdr, so substitute
-		     (when (and (null? (cdr body))
-				(pair? (car body))
-				(eq? (caar body) 'do)
-				(pair? (cadar body)))
-		       (let ((inits (map cadr (cadar body))))
-			 (when (every? (lambda (v)
-					 (and (= (tree-count1 (car v) (car body) 0) 1)
-					      (tree-memq (car v) inits)))
-				       varlist)
-			   (let ((new-cadr (copy (cadar body))))
-			     (for-each (lambda (v)
-					 (set! new-cadr (tree-subst (cadr v) (car v) new-cadr)))
-				       varlist)
-			     (lint-format "perhaps ~A" caller
-					  (lists->string form `(do ,new-cadr ...)))))))
-		     
-		     ;; this is slower in s7 if one step var(?) -- collapse if more than one?
-		     ;;   TODO: what about shadowing?  
-		     (when (and (pair? (car body))
-				(eq? (caar body) 'do)
-				(or (null? (cadar body))
-				    (pair? (cdadar body)))
-				(< (tree-leaves (cdr body)) 24)
-				(or (null? (caddar body))
-				    (< (tree-leaves (cdr (caddar body))) 24)))
-		       (let ((inits (and (pair? (cadar body))
-					 (map cadr (cadar body)))))
-			 (unless (and (pair? inits)
-				      (any? (lambda (v)
-					      (or (tree-memq (car v) inits)
-						  (side-effect? (cadr v) env))) ; let var opens *stdin*, do stepper reads it at init
-					    varlist))
-			   (lint-format "perhaps ~A" caller
-					(lists->string form
-						       (let ((do-form (car body)))
-							 (if (null? (cdr body))
-							     `(do (, at varlist
-								   ,@(cadr do-form))
-								  ...)
-							     `(do (, at varlist
-								   ,@(cadr do-form))
-								  (,(and (pair? (caddr do-form)) (caaddr do-form))
-								   ,@(if (side-effect? (cdr (caddr do-form)) env) (cdr (caddr do-form)) ())
-								   ,@(cdr body))
-								...))))))))
-		     (when (and (pair? varlist)
-				(> (length body) 3)
-				(every? pair? varlist)
-				(not (tree-set-car-member '(define define* define-macro define-macro* 
-							     define-bacro define-bacro* define-constant define-expansion) 
-							  body)))
-		       ;; define et al are like a continuation of the let bindings, so we can't restrict them by accident
-		       ;;   (let ((x 1)) (define y x) ...)
-		       (let ((last-refs (map (lambda (v) (vector (var-name v) #f 0 v)) vars))
-			     (got-lambdas (tree-set-car-member '(lambda lambda*) body)))
-			 ;; (let ((x #f) (y #t)) (set! x (lambda () y)) (set! y 5) (x))
-			 (do ((p body (cdr p))
-			      (i 0 (+ i 1)))
-			     ((null? p)
-			      (let ((end 0))
-				(for-each (lambda (v)
-					    (set! end (max end (v 2))))
-					  last-refs)
-				(if (and (< end (/ i lint-let-reduction-factor))
-					 (eq? form lint-current-form)
-					 (< (tree-leaves (car body)) 100))
-				    (let ((old-start (let ((old-pp ((funclet 'lint-pretty-print) '*pretty-print-left-margin*)))
-						       (set! ((funclet lint-pretty-print) '*pretty-print-left-margin*) (+ lint-left-margin 4))
-						       (let ((res (lint-pp `(let ,(cadr form) 
-									      ,@(copy body (make-list (+ end 1)))))))
-							 (set! ((funclet lint-pretty-print) '*pretty-print-left-margin*) old-pp)
-							 res))))
-				      (lint-format "this let could be tightened:~%~NC~A ->~%~NC~A~%~NC~A ..." caller
-						   (+ lint-left-margin 4) #\space
-						   (truncated-list->string form)
-						   (+ lint-left-margin 4) #\space
-						   old-start
-						   (+ lint-left-margin 4) #\space
-						   (lint-pp (list-ref body (+ end 1)))))
-				    
-				    (let ((mnv ())
-					  (cur-end i))
-				      (for-each (lambda (v)
-						  (when (and (or (null? mnv)
-								 (<= (v 2) cur-end))
-							     (positive? (var-ref (v 3)))
-							     (let ((expr (var-initial-value (v 3))))
-							       (not (any? (lambda (ov) ; watch out for shadowed vars
-									    (tree-memq (car ov) expr))
-									  varlist))))
-						    (set! mnv (if (= (v 2) cur-end)
-								  (cons v mnv)
-								  (list v)))
-						    (set! cur-end (v 2))))
-						last-refs)
-				      (when (and (pair? mnv)
-						 (< cur-end (/ i lint-let-reduction-factor))
-						 (> (- i cur-end) 3))
-					;; mnv is in the right order because last-refs is reversed
-					(lint-format "the scope of ~{~A~^, ~} could be reduced: ~A" caller 
-						     (map (lambda (v) (v 0)) mnv)
-						     (lists->string form
-								    `(let ,(map (lambda (v)
-										  (if (member (car v) mnv (lambda (a b) (eq? a (b 0))))
-										      (values)
-										      v))
-										varlist)
-								       (let ,(map (lambda (v)
-										    (list (v 0) (var-initial-value (v 3))))
-										  mnv)
-									 ,@(copy body (make-list (+ cur-end 1))))
-								       ,(list-ref body (+ cur-end 1))
-								       ...))))))))
-			   (if (and (not got-lambdas)
-				    (pair? (car p))
-				    (pair? (cdr p))
-				    (eq? (caar p) 'set!)
-				    (var-member (cadar p) vars)
-				    (not (tree-memq (cadar p) (cdr p))))
-			       (if (not (side-effect? (caddar p) env))
-				   (lint-format "~A in ~A could be omitted" caller (car p) (truncated-list->string form))
-				   (lint-format "perhaps ~A" caller (lists->string (car p) (caddar p)))))
+								 `(let ,(map (lambda (v) (if (eq? (car v) settee) (values) v)) varlist)
+								    ,setval))
+							     `(let ,(map (lambda (v)
+									   (if (eq? (car v) settee)
+									       (list (car v) setval)
+									       v))
+									 varlist)
+								,@(if (null? (cddr body))
+								      (cdr body)
+								      `(,(cadr body) ...))))))
+			     ;; repetition for the moment
+			     (when (and (pair? varlist)
+					(assq settee vars)           ; settee is a local var
+					(not (eq? settee named-let)) ; (let loop () (set! loop 3))!
+					(or (null? (cdr body))
+					    (and (null? (cddr body))
+						 (eq? settee (cadr body))))) ; (let... (set! local val) local)
+			       (lint-format "perhaps ~A" caller
+					    (lists->string form
+							   (if (or (tree-memq settee setval)
+								   (side-effect? (cadr (assq settee varlist)) env))
+							       `(let ,varlist ,setval)
+							       (if (null? (cdr varlist))
+								   setval
+								   `(let ,(remove-if (lambda (v)
+										       (eq? (car v) settee))
+										     varlist)
+								      ,setval)))))))))
+		     (unless named-let
+		       
+		       ;; if var val is symbol, val not used (not set!) in body (even hidden via function call)
+		       ;;   and var not set!, and not a function parameter (we already reported those),
+		       ;;   remove it (the var) and replace with val throughout
+
+		       (when (and (proper-list? (cadr form))
+				  (not (tree-memq 'curlet (cddr form))))
+			 (let ((changes ()))
+			   (do ((vs (cadr form) (cdr vs)))
+			       ((null? vs)
+				(if (pair? changes)
+				    (let ((new-form (copy form)))
+				      (for-each 
+				       (lambda (v)
+					 (list-set! new-form 1 (remove-if (lambda (p) (equal? p v)) (cadr new-form)))
+					 (set! new-form (tree-subst (cadr v) (car v) new-form)))
+				       changes)
+				      (lint-format "assuming we see all set!s, the binding~A ~{~A~^, ~} ~A pointless: perhaps ~A" caller
+						   (if (pair? (cdr changes)) "s" "")
+						   changes 
+						   (if (pair? (cdr changes)) "are" "is")
+						   (lists->string form 
+								  (if (< (tree-leaves new-form) 200)
+								      new-form
+								      `(let ,(cadr new-form)
+									 ,@(one-call-and-dots (cddr new-form)))))))))
+			     (let ((v (car vs)))
+			       (if (and (pair? v)
+					(pair? (cdr v))
+					(null? (cddr v))                  ; good grief
+					(symbol? (cadr v))
+					(not (set-target (cadr v) body env))
+					(not (set-target (car v) body env))
+					(let ((data (var-member (cadr v) env)))
+					  (or (not (var? data))
+					      (and (not (eq? (var-definer data) 'parameter))
+						   (or (null? (var-setters data))
+						       (not (tree-set-member (var-setters data) body)))))))
+				   (set! changes (cons v changes)))))))
+		       
+		       (when (pair? varlist)
+
+			 ;; if last is (set! local-var...) and no complications, complain
+			 (let ((last (list-ref body (- (length body) 1))))
+			   (if (and (pair? last)
+				    (eq? (car last) 'set!)
+				    (pair? (cdr last))
+				    (pair? (cddr last)) ; (set! a)
+				    (symbol? (cadr last))
+				    (assq (cadr last) varlist)
+				    (not (tree-set-member '(call/cc call-with-current-continuation curlet lambda lambda*) form)))
+			       (lint-format "set! is pointless in ~A: use ~A" caller
+					    last (caddr last))))
+			 
+			 (when (and (pair? (car body))
+				    (eq? (caar body) 'do))
+			   (when (and (null? (cdr body))  ; removing this restriction gets only 3 hits
+				      (pair? (cadar body)))
+			     (let ((inits (map cadr (cadar body))))
+			       (when (every? (lambda (v)
+					       (and (= (tree-count1 (car v) (car body) 0) 1)
+						    (tree-memq (car v) inits)))
+					     varlist)
+				 (let ((new-cadr (copy (cadar body))))
+				   (for-each (lambda (v)
+					       (set! new-cadr (tree-subst (cadr v) (car v) new-cadr)))
+					     varlist)
+				   ;; (let ((a 1)) (do ((i a (+ i 1))) ((= i 3)) (display i))) -> (do ((i 1 (+ i 1))) ...)
+				   (lint-format "perhaps ~A" caller
+						(lists->string form `(do ,new-cadr ...)))))))
 			   
-			   (for-each (lambda (v)
-				       (when (tree-memq (v 0) (car p))
-					 (set! (v 2) i)
-					 (if (not (v 1)) (set! (v 1) i))))
-				     last-refs)))))
+			   ;; TODO: same for cond branch, probably case branch etc
+			   (let ((inits (if (pair? (cadar body))
+					    (map cadr (cadar body))
+					    ()))
+				 (locals (if (pair? (cadar body))
+					     (map car (cadar body))
+					     ())))
+			     (unless (or (and (pair? inits)
+					      (any? (lambda (v)
+						      (or (memq (car v) locals) ; shadowing
+							  (tree-memq (car v) inits)
+							  (side-effect? (cadr v) env))) ; let var opens *stdin*, do stepper reads it at init
+						    varlist))
+					 (> (tree-leaves (cdr body)) 40))
+			       ;; (let ((xx 0)) (do ((x 1 (+ x 1)) (y x (- y 1))) ((= x 3) xx) (display y))) ->
+			       ;;    (do ((xx 0) (x 1 (+ x 1)) (y x (- y 1))) ...)
+			       (lint-format "perhaps ~A" caller
+					    (lists->string form
+							   (let ((do-form (car body)))
+							     (if (null? (cdr body))    ; do is only expr in let
+								 `(do ,(append varlist (cadr do-form))
+								      ...)
+								 `(do ,(append varlist (cadr do-form))
+								      (,(and (pair? (caddr do-form)) (caaddr do-form))
+								       ,@(if (side-effect? (cdr (caddr do-form)) env) (cdr (caddr do-form)) ())
+								       ,@(cdr body))   ; include rest of let as do return value
+								    ...))))))))
+			 
+			 (when (and (> (length body) 3)  ; setting this to 1 did not catch anything new
+				    (every? pair? varlist)
+				    (not (tree-set-car-member '(define define* define-macro define-macro* 
+								 define-bacro define-bacro* define-constant define-expansion) 
+							      body)))
+			   ;; define et al are like a continuation of the let bindings, so we can't restrict them by accident
+			   ;;   (let ((x 1)) (define y x) ...)
+			   (let ((last-refs (map (lambda (v) 
+						   (vector (var-name v) #f 0 v))
+						 vars))
+				 (got-lambdas (tree-set-car-member '(lambda lambda*) body)))
+			     ;; (let ((x #f) (y #t)) (set! x (lambda () y)) (set! y 5) (x))
+			     (do ((p body (cdr p))
+				  (i 0 (+ i 1)))
+				 ((null? p)
+				  (let ((end 0))
+				    (for-each (lambda (v)
+						(set! end (max end (v 2))))
+					      last-refs)
+				    (if (and (< end (/ i lint-let-reduction-factor))
+					     (eq? form lint-current-form)
+					     (< (tree-leaves (car body)) 100))
+					(let ((old-start (let ((old-pp ((funclet lint-pretty-print) '*pretty-print-left-margin*)))
+							   (set! ((funclet lint-pretty-print) '*pretty-print-left-margin*) (+ lint-left-margin 4))
+							   (let ((res (lint-pp `(let ,(cadr form) 
+										  ,@(copy body (make-list (+ end 1)))))))
+							     (set! ((funclet lint-pretty-print) '*pretty-print-left-margin*) old-pp)
+							     res))))
+					  (lint-format "this let could be tightened:~%~NC~A ->~%~NC~A~%~NC~A ..." caller
+						       (+ lint-left-margin 4) #\space
+						       (truncated-list->string form)
+						       (+ lint-left-margin 4) #\space
+						       old-start
+						       (+ lint-left-margin 4) #\space
+						       (lint-pp (list-ref body (+ end 1)))))
+					(begin
+					  ;; look for bindings that can be severely localized 
+					  (let ((locals (map (lambda (v)
+							       (if (and (integer? (v 1))
+									(< (- (v 2) (v 1)) 2)
+									(code-constant? (var-initial-value (v 3))))
+								   v
+								   (values)))
+							     last-refs)))
+					    ;; should this omit cases where most the let is in the one or two lines?
+					    (when (pair? locals)
+					      (set! locals (sort! locals (lambda (a b) 
+									   (or (< (a 1) (b 1))
+									       (< (a 2) (b 2))))))
+					      (do ((lv locals (cdr lv)))
+						  ((null? lv))
+						(let* ((v (car lv))
+						       (cur-line (v 1)))
+						  (let gather ((pv lv) (cur-vars ()) (max-line (v 2)))
+						    (if (or (null? (cdr pv))
+							    (not (= cur-line ((cadr pv) 1))))
+							(begin
+							  (set! cur-vars (reverse (cons (car pv) cur-vars)))
+							  (set! max-line (max max-line ((car pv) 2)))
+							  (set! lv pv)
+							  (lint-format "~{~A~^, ~} ~A only used in expression~A (of ~A),~%~NC~A~A of~%~NC~A" caller
+								       (map (lambda (v) (v 0)) cur-vars)
+								       (if (null? (cdr cur-vars)) "is" "are")
+								       (if (= cur-line max-line)
+									   (format #f " ~D" (+ cur-line 1))
+									   (format #f "s ~D and ~D" (+ cur-line 1) (+ max-line 1)))
+								       (length body)
+								       (+ lint-left-margin 6) #\space
+								       (truncated-list->string (list-ref body cur-line))
+								       (if (= cur-line max-line)
+									   ""
+									   (format #f "~%~NC~A" 
+										   (+ lint-left-margin 6) #\space
+										   (truncated-list->string (list-ref body max-line))))
+								       (+ lint-left-margin 4) #\space
+								       (truncated-list->string form)))
+							(gather (cdr pv) 
+								(cons (car pv) cur-vars) 
+								(max max-line ((car pv) 2)))))))))
+					  (let ((mnv ())
+						(cur-end i))
+					    (for-each (lambda (v)
+							(when (and (or (null? mnv)
+								       (<= (v 2) cur-end))
+								   (positive? (var-ref (v 3)))
+								   (let ((expr (var-initial-value (v 3))))
+								     (not (any? (lambda (ov) ; watch out for shadowed vars
+										  (tree-memq (car ov) expr))
+										varlist))))
+							  (set! mnv (if (= (v 2) cur-end)
+									(cons v mnv)
+									(list v)))
+							  (set! cur-end (v 2))))
+						      last-refs)
+					    
+					    ;; look for vars used only at the start of the let
+					    (when (and (pair? mnv)
+						       (< cur-end (/ i lint-let-reduction-factor))
+						       (> (- i cur-end) 3))
+					      ;; mnv is in the right order because last-refs is reversed
+					      (lint-format "the scope of ~{~A~^, ~} could be reduced: ~A" caller 
+							   (map (lambda (v) (v 0)) mnv)
+							   (lists->string form
+									  `(let ,(map (lambda (v)
+											(if (member (car v) mnv (lambda (a b) (eq? a (b 0))))
+											    (values)
+											    v))
+										      varlist)
+									     (let ,(map (lambda (v)
+											  (list (v 0) (var-initial-value (v 3))))
+											mnv)
+									       ,@(copy body (make-list (+ cur-end 1))))
+									     ,(list-ref body (+ cur-end 1))
+									     ...)))))))))
+			       
+			       ;; body of do loop above
+			       (if (and (not got-lambdas)
+					(pair? (car p))
+					(pair? (cdr p))
+					(eq? (caar p) 'set!)
+					(var-member (cadar p) vars)
+					(not (tree-memq (cadar p) (cdr p))))
+				   (if (not (side-effect? (caddar p) env))
+				       (lint-format "~A in ~A could be omitted" caller (car p) (truncated-list->string form))
+				       (lint-format "perhaps ~A" caller (lists->string (car p) (caddar p)))))
+			       ;; 1 use in cadr and none thereafter happens a few times, but looks like set-as-documentation mostly
+			       
+			       (for-each (lambda (v)
+					   (when (tree-memq (v 0) (car p))
+					     (set! (v 2) i)
+					     (if (not (v 1)) (set! (v 1) i))))
+					 last-refs))))))
+		     ) ; (when (pair? body)...)
 		   
 		   ;; out of place and repetitive code...
 		   (when (and (pair? (cadr form))
 			      (pair? (cddr form))
 			      (null? (cdddr form))
 			      (pair? (caddr form)))
-		     (let ((inner (caddr form)))
-		       
-		       (when (and (eq? (car inner) 'let)
-				  (pair? (cdr inner))
-				  (symbol? (cadr inner)))
-			 (let ((named-body (cdddr inner))
-			       (named-args (caddr inner)))
-			   (unless (any? (lambda (v)
-					   (or (not (= (tree-count1 (car v) named-args 0) 1))
-					       (tree-memq (car v) named-body)))
-					 varlist)
-			     (let ((new-args (copy named-args)))
-			       (for-each (lambda (v)
-					   (set! new-args (tree-subst (cadr v) (car v) new-args)))
-					 varlist)
-			       (lint-format "perhaps ~A" caller
-					    (lists->string form
-							   `(let ,(cadr inner) ,new-args , at named-body)))))))
+		     (let ((inner (caddr form))  ; the inner let
+			   (outer-vars (cadr form)))
 		       
-		       ;; maybe more code than this is worth -- combine lets
-		       (when (and (memq (caaddr form) '(let let*))
-				  (pair? (cdr (caddr form)))
-				  (pair? (cadr (caddr form))))
-			 
-			 (define (letstar . lets)
-			   (let loop ((vars (list 'curlet)) (forms lets))
-			     (and (pair? forms)
-				  (or (and (pair? (car forms))
-					   (or (tree-set-member vars (car forms))
-					       (any? (lambda (a) 
-						       (or (not (pair? a))
-							   (not (pair? (cdr a))) 
-							   (side-effect? (cadr a) env)))
-						     (car forms))))
-				      (loop (append (map car (car forms)) vars) 
-					    (cdr forms))))))
-			 
-			 (cond ((and (null? (cdadr form))   ; let(1) + let* -> let*
-				     (eq? (car inner) 'let*)
-				     (not (symbol? (cadr inner)))) ; not named let*
-				(lint-format "perhaps ~A" caller
-					     (lists->string form
-							    `(let* (,@(cadr form)
-								    ,@(cadr inner))
-							       ,@(one-call-and-dots (cddr inner))))))
-			       ((and (pair? (cddr inner))
-				     (pair? (caddr inner))
-				     (null? (cdddr inner))
-				     (eq? (caaddr inner) 'let)
-				     (pair? (cdr (caddr inner)))
-				     (pair? (cadr (caddr inner))))
-				(let ((inner1 (caddr inner)))
-				  (if (and (pair? (cddr inner1))
-					   (null? (cdddr inner1))
-					   (pair? (caddr inner1))
-					   (eq? (caaddr inner1) 'let)
-					   (pair? (cdr (caddr inner1)))
-					   (pair? (cadr (caddr inner1))))
-				      (let ((inner2 (caddr inner1)))
-					(if (not (letstar (cadr form)
-							  (cadr inner)
-							  (cadr inner1)
-							  (cadr inner2)))
-					    (lint-format "perhaps ~A" caller
-							 (lists->string form
-									`(let (,@(cadr form)
-									       ,@(cadr inner)
-									       ,@(cadr inner1)
-									       ,@(cadr inner2))
-									   ,@(one-call-and-dots (cddr inner2)))))))
-				      (if (not (letstar (cadr form)
-							(cadr inner)
-							(cadr inner1)))
-					  (lint-format "perhaps ~A" caller
-						       (lists->string form
-								      `(let (,@(cadr form)
-									     ,@(cadr inner)
-									     ,@(cadr inner1))
-									 ,@(one-call-and-dots (cddr inner1)))))))))
-			       ((not (letstar (cadr form)
-					      (cadr inner)))
-				(lint-format "perhaps ~A" caller
-					     (lists->string form
-							    `(let (,@(cadr form)
-								   ,@(cadr inner))
-							       ,@(one-call-and-dots (cddr inner))))))
-			       
-			       ((and (null? (cdadr form))   ; 1 outer var
-				     (pair? (cadr inner))  
-				     (null? (cdadr inner))) ; 1 inner var, dependent on outer
-				(lint-format "perhaps ~A" caller
-					     (lists->string form
-							    `(let* (,@(cadr form)
-								    ,@(cadr inner))
-							       ,@(one-call-and-dots (cddr inner))))))))))
+		       (when (pair? (cdr inner))
+			 (let ((inner-vars (cadr inner)))
+			   (when (and (eq? (car inner) 'let)
+				      (symbol? inner-vars))
+			     (let ((named-body (cdddr inner))
+				   (named-args (caddr inner)))
+			       (unless (any? (lambda (v)
+					       (or (not (= (tree-count1 (car v) named-args 0) 1))
+						   (tree-memq (car v) named-body)))
+					     varlist)
+				 (let ((new-args (copy named-args)))
+				   (for-each (lambda (v)
+					       (set! new-args (tree-subst (cadr v) (car v) new-args)))
+					     varlist)
+				   (lint-format "perhaps ~A" caller
+						(lists->string form
+							       `(let ,inner-vars ,new-args , at named-body)))))))
+			   
+			   ;; maybe more code than this is worth -- combine lets
+			   (when (and (memq (car inner) '(let let*))
+				      (pair? inner-vars))
+			     
+			     (define (letstar . lets)
+			       (let loop ((vars (list 'curlet)) (forms lets))
+				 (and (pair? forms)
+				      (or (and (pair? (car forms))
+					       (or (tree-set-member vars (car forms))
+						   (any? (lambda (a) 
+							   (or (not (pair? a))
+							       (not (pair? (cdr a))) 
+							       (side-effect? (cadr a) env)))
+							 (car forms))))
+					  (loop (append (map car (car forms)) vars) 
+						(cdr forms))))))
+			     
+			     (cond ((and (null? (cdadr form))   ; let(1) + let* -> let*
+					 (eq? (car inner) 'let*)
+					 (not (symbol? inner-vars))) ; not named let*
+				    (lint-format "perhaps ~A" caller
+						 (lists->string form
+								`(let* ,(append outer-vars inner-vars)
+								   ,@(one-call-and-dots (cddr inner))))))
+				   ((and (pair? (cddr inner))
+					 (pair? (caddr inner))
+					 (null? (cdddr inner))
+					 (eq? (caaddr inner) 'let)
+					 (pair? (cdr (caddr inner)))
+					 (pair? (cadr (caddr inner))))
+				    (let* ((inner1 (caddr inner))
+					   (inner1-vars (cadr inner1)))
+				      (if (and (pair? (cddr inner1))
+					       (null? (cdddr inner1))
+					       (pair? (caddr inner1))
+					       (eq? (caaddr inner1) 'let)
+					       (pair? (cdr (caddr inner1)))
+					       (pair? (cadr (caddr inner1))))
+					  (let* ((inner2 (caddr inner1))
+						 (inner2-vars (cadr inner2)))
+					    (if (not (letstar outer-vars
+							      inner-vars
+							      inner1-vars
+							      inner2-vars))
+						(lint-format "perhaps ~A" caller
+							     (lists->string form
+									    `(let ,(append outer-vars inner-vars inner1-vars inner2-vars)
+									       ,@(one-call-and-dots (cddr inner2)))))))
+					  (if (not (letstar outer-vars
+							    inner-vars
+							    inner1-vars))
+					      (lint-format "perhaps ~A" caller
+							   (lists->string form
+									  `(let ,(append outer-vars inner-vars inner1-vars)
+									     ,@(one-call-and-dots (cddr inner1)))))))))
+				   ((not (letstar outer-vars
+						  inner-vars))
+				    (lint-format "perhaps ~A" caller
+						 (lists->string form
+								`(let ,(append outer-vars inner-vars)
+								   ,@(one-call-and-dots (cddr inner))))))
+				   
+				   ((and (null? (cdadr form))   ; 1 outer var
+					 (pair? inner-vars)  
+					 (null? (cdadr inner))) ; 1 inner var, dependent on outer
+				    (lint-format "perhaps ~A" caller
+						 (lists->string form
+								`(let* ,(append outer-vars inner-vars)
+								   ,@(one-call-and-dots (cddr inner))))))))))))
 		   ))) ; messed up let
 	   env)
 	 (hash-table-set! h 'let let-walker))	
@@ -14340,7 +15675,42 @@
 		       (body ((if named-let cdddr cddr) form)))
 		   (if (not (list? varlist))
 		       (lint-format "let* is messed up: ~A" caller (truncated-list->string form)))
-		   
+
+		   ;; let->do (could go further down
+		   (when (and (pair? varlist)
+			      (pair? body)
+			      (pair? (car body))
+			      (eq? (caar body) 'do)
+			      (< (tree-leaves (cdr body)) 40))
+		     (let ((inits (if (pair? (cadar body))
+				      (map cadr (cadar body))
+				      ()))
+			   (locals (if (pair? (cadar body))
+				       (map car (cadar body))
+				       ()))
+			   (lv (list-ref varlist (- (length varlist) 1))))
+		       (unless (and (pair? inits)
+				    (or (memq (car lv) locals) ; shadowing
+					(tree-memq (car lv) inits)
+					(side-effect? (cadr lv) env)))
+			 (lint-format "perhaps ~A" caller
+				      (lists->string form
+						     (let ((do-form (car body)))
+						       (let ((new-do (if (null? (cdr body))
+									 `(do ,(append (list lv) (cadr do-form))
+									      ...)
+									 `(do ,(append (list lv) (cadr do-form))
+									      (,(and (pair? (caddr do-form)) (caaddr do-form))
+									       ,@(if (side-effect? (cdr (caddr do-form)) env) (cdr (caddr do-form)) ())
+									       ,@(cdr body))   ; include rest of let as do return value
+									    ...))))
+							 (case (length varlist)
+							   ((1) new-do)
+							   ((2) `(let (,(car varlist)) ,new-do))
+							   (else `(let* ,(copy varlist (make-list (- (length varlist) 1)))
+								    ,new-do))))))))))
+
+
 		   (let ((side-effects #f))
 		     (do ((bindings varlist (cdr bindings)))
 			 ((not (pair? bindings))
@@ -14361,13 +15731,13 @@
 						      :initial-value expr
 						      :definer (if named-let 'named-let* 'let*))
 					    vars))
-			   
+
 			   ;; look for duplicate values
 			   ;; TODO: protect against any shadows if included in any expr
-			   (if (and (pair? expr)
-				    (not (code-constant? expr))
-				    (not (maker? expr))
-				    (not side))
+			   (if (not (or side 
+					(not (pair? expr))
+					(code-constant? expr)
+					(maker? expr)))
 			       (let ((name (caar bindings)))
 				 (let dup-check ((vs (cdr vars)))
 				   (if (and (pair? vs)
@@ -14379,7 +15749,7 @@
 					   (lint-format "~A's value ~A could be ~A" caller
 							name expr (caar vs))
 					   (dup-check (cdr vs))))))))))
-		     
+
 		     (if (not (or side-effects
 				  (any? (lambda (v) (positive? (var-ref v))) vars)))
 			 (lint-format "let* could be let: ~A" caller (truncated-list->string form))))
@@ -14390,6 +15760,105 @@
 		   ;;   one variable, or where subsequent values are known to be independent.
 		   ;; if each function could tell us what globals it depends on or affects,
 		   ;;   we could make this work in all cases.
+
+		   ;; if var is not used except in other var bindings, it can be moved out of this let*
+		   ;;   collect vars not in body, used in only one binding, gather these cases, and rewrite the let*
+		   ;;   repeated names are possible here
+		   ;;   also cascading depencies: (let* ((z 1) (y (+ z 2)) (x (< y 3))) (if x (f x)))
+		   ;;                             (let ((x (let ((y (let ((z 1))) (+ z 2))) (< y 3)))) ...) ??
+		   ;;                   new-vars: ((z y) (y x))
+		   (when (and (pair? vars)
+			      (pair? (cdr vars)))
+		     (let ((new-vars ())
+			   (vs-pos vars)
+			   (repeats (do ((p vars (cdr p)))
+					((or (null? p)
+					     (var-member (var-name (car p)) (cdr p)))
+					 (pair? p)))))
+		       (for-each (lambda (v)
+				   (let ((vname (var-name v))
+					 (vvalue #f))
+				     (if (not (tree-memq vname body))
+					 (let walker ((vs vars))
+					   (if (not (pair? vs))
+					       (if (and vvalue
+							(or (not (side-effect? (var-initial-value v) env))
+							    (eq? vvalue (var-name (car vs-pos)))))
+						   (set! new-vars (cons (list vvalue vname (var-initial-value v)) new-vars)))
+					       (let ((b (car vs)))
+						 (if (or (eq? (var-name b) vname)
+							 (not (tree-memq vname (var-initial-value b)))) ; tree-memq matches the bare symbol (tree-member doesn't)
+						     (walker (cdr vs))
+						     (if (not vvalue)
+							 (begin
+							   (set! vvalue (var-name b))
+							   (walker (cdr vs)))))))))
+				     (set! vs-pos (cdr vs-pos))))
+				 (cdr vars)) ; vars is reversed from code order, new-vars is in code order
+		       
+		       (when (pair? new-vars)
+			 (define (gather-dependencies var val env)
+			   (let ((deps ()))
+			     (for-each (lambda (nv)
+					 (if (and (eq? (car nv) var)
+						  (or (not repeats)
+						      (tree-memq (cadr nv) val)))
+					     (set! deps (cons (list (cadr nv) 
+								    (gather-dependencies (cadr nv) (caddr nv) env))
+							      deps))))
+				       new-vars)
+			     (if (> (tree-leaves val) 30)
+				 (set! val '...))
+			     (if (pair? deps)
+				 `(,(if (null? (cdr deps)) 'let 'let*)
+				   ,deps ,val)
+				 val)))
+
+			 (let ((new-let-binds (map (lambda (v)
+						     (if (member (var-name v) new-vars (lambda (name lst) (eq? name (cadr lst))))
+							 (values)
+							 `(,(var-name v) ,(gather-dependencies (var-name v) (var-initial-value v) env))))
+						   (reverse vars))))
+			   (lint-format "perhaps restrict ~{~A~^, ~} which ~A not used in the let* body ~A" caller
+					(map cadr new-vars)
+					(if (null? (cdr new-vars)) "is" "are")
+					(lists->string form
+						       `(,(if (null? (cdr new-let-binds))
+							      'let 'let*)
+							 ,new-let-binds
+							 ...)))))
+
+		       ;; this could be folded into the for-each above
+		       (unless repeats
+			 (let ((outer-vars ())
+			       (inner-vars ()))
+			   (do ((vs (reverse vars) (cdr vs)))
+			       ((null? vs))
+			     (let* ((v (car vs))
+				    (vname (var-name v)))
+			       
+			       (if (not (or (side-effect? (var-initial-value v) env)
+					    (any? (lambda (trailing-var)
+						    ;; vname is possible inner let var if it is not mentioned in any trailing initial value
+						    ;;   (repeated name can't happen here)
+						    (tree-memq vname (var-initial-value trailing-var)))
+						  (cdr vs))))
+				   (set! inner-vars (cons v inner-vars))
+				   (set! outer-vars (cons v outer-vars)))))
+			   (if (and (pair? outer-vars)
+				    (pair? inner-vars)
+				    (pair? (cdr inner-vars)))
+			       (lint-format "perhaps split this let*: ~A" caller
+					    (lists->string form
+							   `(,(if (pair? (cdr outer-vars)) 'let* 'let)
+							     ,(map (lambda (v)
+								     `(,(var-name v) ,(var-initial-value v)))
+								   (reverse outer-vars))
+							     (let ,(map (lambda (v)
+									  `(,(var-name v) ,(var-initial-value v)))
+									(reverse inner-vars))
+							       ...)))))))
+			 )) ; pair? vars
 		   
 		   (let* ((cur-env (cons (make-var :name :let
 						   :initial-value form
@@ -14400,7 +15869,7 @@
 		     (let ((nvars (and (not (eq? e cur-env))
 				       (env-difference caller e cur-env ()))))
 		       (if (pair? nvars)
-			   (if (eq? (var-name (car nvars)) :lambda)
+			   (if (memq (var-name (car nvars)) '(:lambda :dilambda))
 			       (begin
 				 (set! env (cons (car nvars) env))
 				 (set! nvars (cdr nvars)))
@@ -14408,7 +15877,6 @@
 		     
 		     (report-usage caller 'let* vars cur-env))
 		   
-
 		   (when (and (not named-let)
 			      (pair? body)
 			      (pair? varlist)) ; from here to end
@@ -14420,16 +15888,15 @@
 					 (or (null? (cadar body))
 					     (and (pair? (cadar body))
 						  (null? (cdadar body))))))
-				(null? (cdddr form))
+				(null? (cdr body))
 				(not (symbol? (cadar body))))
 		       (lint-format "perhaps ~A" caller
 				    (lists->string form
-						   `(let* (, at varlist
-							   ,@(cadar body))
+						   `(let* ,(append varlist (cadar body))
 						      ,@(one-call-and-dots (cddar body))))))
 		     
 		     (when (and (proper-list? (cadr form))
-				(not (tree-set-member '(lambda lambda*) body)))
+				(not (tree-memq 'curlet (cddr form))))
 		       ;; see let above
 		       (let ((changes ()))
 			 (do ((vs (cadr form) (cdr vs)))
@@ -14441,20 +15908,23 @@
 				       (list-set! new-form 1 (remove-if (lambda (p) (equal? p v)) (cadr new-form)))
 				       (set! new-form (tree-subst (cadr v) (car v) new-form)))
 				     changes)
-				    (lint-format "assuming we see all set!s, ~{~A~^, ~} ~A pointless: perhaps ~A" caller
+				    (lint-format "assuming we see all set!s, the binding~A ~{~A~^, ~} ~A pointless: perhaps ~A" caller
+						 (if (pair? (cdr changes)) "s" "")
 						 changes 
 						 (if (pair? (cdr changes)) "are" "is")
 						 (lists->string form
-								`(,(if (and (pair? (cadr new-form))
-									    (pair? (cdadr new-form)))
-								       'let* 'let)
-								  ,@(cdr new-form)))))))
+								(let ((header (if (and (pair? (cadr new-form))
+										       (pair? (cdadr new-form)))
+										  'let* 'let)))
+								(if (< (tree-leaves new-form) 200)
+								    `(,header ,@(cdr new-form))
+								    `(,header ,(cadr new-form)
+									,@(one-call-and-dots (cddr new-form))))))))))
 			   (let ((v (car vs)))
 			     (if (and (pair? v)
 				      (pair? (cdr v))
-				      (null? (cddr v))                  ; good grief
+				      (null? (cddr v))                  
 				      (symbol? (cadr v))
-				      (not (eq? (car v) (cadr v)))      ; this is handled elsewhere
 				      (not (assq (cadr v) (cadr form))) ; value is not a local var
 				      (not (set-target (car v) body env))
 				      (not (set-target (cadr v) body env)))
@@ -14576,18 +16046,17 @@
 					  (null? (cddr (caddr p)))
 					  (eq? (car last-var) (cadr (caddr p))))
 				 
-				 (let ((else-clause (cond ((pair? (cdddr p)) ; only if 'if (see above)
-							   (if (eq? (cadddr p) (car last-var))
-							       `((else #f)) ; this stands in for the local var
-							       (if (and (pair? (cadddr p))
-									(tree-unquoted-member (car last-var) (cadddr p)))
-								   :oops! ; if the let var appears in the else portion, we can't do anything with =>
-								   `((else ,(cadddr p))))))
-							  ((eq? (car p) 'and)
-							   `((else #f)))
-							  ((eq? (car p) 'or)
-							   `((else #t)))
-							  (else ()))))
+				 (let ((else-clause (if (pair? (cdddr p)) ; only if 'if (see above)
+							(if (eq? (cadddr p) (car last-var))
+							    `((else #f)) ; this stands in for the local var
+							    (if (and (pair? (cadddr p))
+								     (tree-unquoted-member (car last-var) (cadddr p)))
+								:oops! ; if the let var appears in the else portion, we can't do anything with =>
+								`((else ,(cadddr p)))))
+							(case (car p)
+							  ((and) '((else #f)))
+							  ((or)  '((else #t)))
+							  (else  ())))))
 				   (if (not (eq? else-clause :oops!))
 				       (lint-format "perhaps ~A" caller
 						    (case varlist-len
@@ -14597,7 +16066,7 @@
 									  `(let (,(car varlist))
 									     (cond (,(cadr last-var) => ,(caaddr p)) , at else-clause))))
 						      (else (lists->string form 
-									   `(let* (,@(copy varlist (make-list (- varlist-len 1))))
+									   `(let* ,(copy varlist (make-list (- varlist-len 1)))
 									      (cond (,(cadr last-var) => ,(caaddr p)) , at else-clause)))))))))))
 			   
 			   (when (and (pair? (car varlist))      ; same as let: (let* ((x y)) x) -> y -- (let* (x) ...)
@@ -14625,17 +16094,38 @@
 			   (do ((p body (cdr p))
 				(i 0 (+ i 1)))
 			       ((null? p)
-				(if (and (< (last-ref 2) (/ i lint-let-reduction-factor))
-					 (> (- i (last-ref 2)) 3))
-				    (lint-format "the scope of ~A could be reduced: ~A" caller 
-						 (last-ref 0)
-						 (lists->string form
-								`(,(if (> (length vars) 2) 'let* 'let)
-								  ,(copy varlist (make-list (- (length vars) 1)))
-								  (let (,(list (last-ref 0) (var-initial-value (last-ref 3))))
-								    ,@(copy body (make-list (+ (last-ref 2) 1))))
-								  ,(list-ref body (+ (last-ref 2) 1))
-								  ...)))))
+				(let ((cur-line (last-ref 1))
+				      (max-line (last-ref 2))
+				      (vname (last-ref 0)))
+				  (if (and (< max-line (/ i lint-let-reduction-factor))
+					   (> (- i max-line) 3))
+				      (lint-format "the scope of ~A could be reduced: ~A" caller 
+						   vname
+						   (lists->string form
+								  `(,(if (> (length vars) 2) 'let* 'let)
+								    ,(copy varlist (make-list (- (length vars) 1)))
+								    (let (,(list vname (var-initial-value (last-ref 3))))
+								      ,@(copy body (make-list (+ max-line 1))))
+								    ,(list-ref body (+ max-line 1))
+								    ...)))
+				      (if (and (integer? cur-line)
+					       (< (- max-line cur-line) 2)
+					       (code-constant? (var-initial-value (last-ref 3))))
+					  (lint-format "~A is only used in expression~A (of ~A),~%~NC~A~A of~%~NC~A" caller
+						       vname
+						       (if (= cur-line max-line)
+							   (format #f " ~D" (+ cur-line 1))
+							   (format #f "s ~D and ~D" (+ cur-line 1) (+ max-line 1)))
+						       (length body)
+						       (+ lint-left-margin 6) #\space
+						       (truncated-list->string (list-ref body cur-line))
+						       (if (= cur-line max-line)
+							   ""
+							   (format #f "~%~NC~A" 
+								   (+ lint-left-margin 6) #\space
+								   (truncated-list->string (list-ref body max-line))))
+						       (+ lint-left-margin 4) #\space
+						       (truncated-list->string form))))))
 			     (when (tree-memq (last-ref 0) (car p))
 			       (set! (last-ref 2) i)
 			       (if (not (last-ref 1)) (set! (last-ref 1) i))))))
@@ -14691,18 +16181,19 @@
 				   (cadr baddy)))
 		    
 		    (when (binding-ok? caller head (car bindings) env #f)
-		      (set! vars (cons (make-var :name (caar bindings) 
-						 :initial-value (if (and (eq? (caar bindings) (cadar bindings))
-									 (or (eq? head 'letrec)
-									     (not (var-member (caar bindings) vars))))
-								    (begin
-								      (lint-format "~A is the same as (~A #<undefined>) in ~A" caller
-										   (car bindings) (caar bindings) head)
-								      ;; in letrec* ((x 12) (x x)) is an error
-								      #<undefined>)
-								    (cadar bindings))
-						 :definer head)
-				       vars))))
+		      (let ((init (if (and (eq? (caar bindings) (cadar bindings))
+					   (or (eq? head 'letrec)
+					       (not (var-member (caar bindings) vars))))
+				      (begin
+					(lint-format "~A is the same as (~A #<undefined>) in ~A" caller
+						     (car bindings) (caar bindings) head)
+					;; in letrec* ((x 12) (x x)) is an error
+					#<undefined>)
+				      (cadar bindings))))
+			(set! vars (cons (make-var :name (caar bindings) 
+						   :initial-value init
+						   :definer head)
+					 vars)))))
 		  
 		  (when (eq? head 'letrec)
 		    (check-unordered-exprs caller form (map var-initial-value vars) env))
@@ -14716,16 +16207,17 @@
 			     (memq (cadar bindings) vs)
 			     (tree-set-member vs (cadar bindings)))
 			 (if (null? bindings)
-			     (lint-format "~A could be ~A: ~A" caller
-					  head (if (or (eq? head 'letrec)
-						       (do ((p (map cadr (cadr form)) (cdr p))
-							    (q (map car (cadr form)) (cdr q)))
-							   ((or (null? p)
-								(side-effect? (car p) env)
-								(memq (car q) (cdr q)))
-							    (null? p))))
-						   'let 'let*)
-					  (truncated-list->string form)))))
+			     (let ((letx (if (or (eq? head 'letrec)
+						 (do ((p (map cadr (cadr form)) (cdr p))
+						      (q (map car (cadr form)) (cdr q)))
+						     ((or (null? p)
+							  (side-effect? (car p) env)
+							  (memq (car q) (cdr q)))
+						      (null? p))))
+					     'let 'let*)))
+			       (lint-format "~A could be ~A: ~A" caller
+					    head letx
+					    (truncated-list->string form))))))
 		    
 		    (when (and (null? (cdr vars))
 			       (pair? (cddr form))
@@ -14777,7 +16269,7 @@
 		      (let ((nvars (and (not (eq? e cur-env))
 					(env-difference caller e cur-env ()))))
 			(if (pair? nvars)
-			    (if (eq? (var-name (car nvars)) :lambda)
+			    (if (memq (var-name (car nvars)) '(:lambda :dilambda))
 				(begin
 				  (set! env (cons (car nvars) env))
 				  (set! nvars (cdr nvars)))
@@ -14806,71 +16298,71 @@
 	
 	
 	;; ---------------- with-baffle ----------------
-	;; with-baffle introduces a new frame, so we need to handle it here
-	(hash-table-set! 
-	 h 'with-baffle
-	 (lambda (caller form env)
-	   (lint-walk-body caller 'with-baffle (cdr form) 
-			   (cons (make-var :name :let
-					   :initial-value form
-					   :definer 'with-baffle)
-				 env))
-	   env))
+	(let ()
+	  (define (with-baffle-walker caller form env)
+	    ;; with-baffle introduces a new frame, so we need to handle it here
+	    (lint-walk-body caller 'with-baffle (cdr form) 
+			    (cons (make-var :name :let
+					    :initial-value form
+					    :definer 'with-baffle)
+				  env))
+	    env)
+	  (hash-table-set! h 'with-baffle with-baffle-walker))
 	
 	
 	;; -------- with-let --------
-	(hash-table-set! 
-	 h 'with-let
-	 (lambda (caller form env)
-	   (if (< (length form) 3)
-	       (lint-format "~A is messed up: ~A" 'with-let caller (truncated-list->string form))
-	       (let ((e (cadr form)))
-		 (if (or (and (code-constant? e)
-			      (not (let? e)))
-			 (and (pair? e)
-			      (let ((op (return-type (car e) env)))
-				(and op
-				     (not (return-type-ok? 'let? op))))))
-		     (lint-format "~A: first argument should be an environment: ~A" 'with-let caller (truncated-list->string form)))
-		 
-		 (if (symbol? e)
-		     (set-ref e caller form env)
-		     (if (pair? e)
-			 (begin
-			   (if (and (null? (cdr e))
-				    (eq? (car e) 'curlet))
-			       (lint-format "~A is not needed here: ~A" 'with-let caller (truncated-list->string form)))
-			   (lint-walk caller e (cons (make-var :name :let
-							       :initial-value form
-							       :definer 'with-let)
-						     env)))))
-		 (let ((walked #f)
-		       (new-env (cons (make-var :name :with-let :initial-value form :definer 'with-let) env)))
-		   (if (or (and (symbol? e)
-				(memq e '(*gtk* *motif* *gl* *libc* *libm* *libgdbm* *libgsl*)))
-			   (and (pair? e)
-				(eq? (car e) 'sublet)
-				(pair? (cdr e))
-				(memq (cadr e) '(*gtk* *motif* *gl* *libc* *libm* *libgdbm* *libgsl*))
-				(set! e (cadr e))))
-		       (let ((lib (if (defined? e)
-				      (symbol->value e)
-				      (let ((file (*autoload* e)))
-					(and (string? file) 
-					     (load file))))))
-			 (when (let? lib)
-			   (let-temporarily ((*e* lib))
-			     (let ((e (lint-walk-open-body caller 'with-let (cddr form) new-env)))
-			       (report-usage caller 'with-let 
-					     (if (eq? e env) 
-						 () 
-						 (env-difference caller e env ())) 
-					     new-env)))
-			   (set! walked #t))))
-		   
-		   (unless walked
-		     (lint-walk-open-body caller 'with-let (cddr form) new-env)))))
-	   env))
+	(let ()
+	  (define (with-let-walker caller form env)
+	    (if (< (length form) 3)
+		(lint-format "~A is messed up: ~A" 'with-let caller (truncated-list->string form))
+		(let ((e (cadr form)))
+		  (if (or (and (code-constant? e)
+			       (not (let? e)))
+			  (and (pair? e)
+			       (let ((op (return-type (car e) env)))
+				 (and op
+				      (not (return-type-ok? 'let? op))))))
+		      (lint-format "~A: first argument should be an environment: ~A" 'with-let caller (truncated-list->string form)))
+		  
+		  (if (symbol? e)
+		      (set-ref e caller form env)
+		      (if (pair? e)
+			  (begin
+			    (if (and (null? (cdr e))
+				     (eq? (car e) 'curlet))
+				(lint-format "~A is not needed here: ~A" 'with-let caller (truncated-list->string form)))
+			    (lint-walk caller e (cons (make-var :name :let
+								:initial-value form
+								:definer 'with-let)
+						      env)))))
+		  (let ((walked #f)
+			(new-env (cons (make-var :name :with-let :initial-value form :definer 'with-let) env)))
+		    (if (or (and (symbol? e)
+				 (memq e '(*gtk* *motif* *gl* *libc* *libm* *libgdbm* *libgsl*)))
+			    (and (pair? e)
+				 (eq? (car e) 'sublet)
+				 (pair? (cdr e))
+				 (memq (cadr e) '(*gtk* *motif* *gl* *libc* *libm* *libgdbm* *libgsl*))
+				 (set! e (cadr e))))
+			(let ((lib (if (defined? e)
+				       (symbol->value e)
+				       (let ((file (*autoload* e)))
+					 (and (string? file) 
+					      (load file))))))
+			  (when (let? lib)
+			    (let-temporarily ((*e* lib))
+			      (let ((e (lint-walk-open-body caller 'with-let (cddr form) new-env)))
+				(report-usage caller 'with-let 
+					      (if (eq? e env) 
+						  () 
+						  (env-difference caller e env ())) 
+					      new-env)))
+			    (set! walked #t))))
+		    
+		    (unless walked
+		      (lint-walk-open-body caller 'with-let (cddr form) new-env)))))
+	    env)
+	  (hash-table-set! h 'with-let with-let-walker))
 	
 	
 	;; ---------------- defmacro ----------------
@@ -14900,39 +16392,43 @@
 	
 	
 	;; ---------------- load ----------------
-	(hash-table-set! 
-	 h 'load
-	 (lambda (caller form env)
-	   (lint-walk caller (cdr form) env)
-	   (if (and *report-loaded-files*
-		    (string? (cadr form)))
-	       (catch #t
-		 (lambda ()
-		   (lint-file (cadr form) env))
-		 (lambda args
-		   env))
-	       env)))
+	(let ()
+	  (define (load-walker caller form env)
+	    (lint-walk caller (cdr form) env)
+	    (if (and *report-loaded-files*
+		     (string? (cadr form)))
+		(catch #t
+		  (lambda ()
+		    (lint-file (cadr form) env))
+		  (lambda args
+		    env))
+		env))
+	  (hash-table-set! h 'load load-walker))
 	
 	
 	;; ---------------- require ----------------
-	(hash-table-set! 
-	 h 'require
-	 (lambda (caller form env)
-	   (if (not *report-loaded-files*)
-	       env
-	       (let ((vars env))
-		 (for-each 
-		  (lambda (f)
-		    (let ((file (*autoload* f)))
-		      (if (string? file)
-			  (catch #t
-			    (lambda ()
-			      (set! vars (lint-file file vars)))
-			    (lambda args
-			      #f)))))
-		  (cdr form))
-		 vars))))
-	
+	(let ()
+	  (define (require-walker caller form env)
+	    (if (not (pair? (cdr form)))
+		(lint-format "~A is pointless" caller form)
+		(if (any? string? (cdr form))
+		    (lint-format "in s7, require's arguments should be symbols: ~A" caller (truncated-list->string form))))
+	    (if (not *report-loaded-files*)
+		env
+		(let ((vars env))
+		  (for-each 
+		   (lambda (f)
+		     (let ((file (*autoload* f)))
+		       (if (string? file)
+			   (catch #t
+			     (lambda ()
+			       (set! vars (lint-file file vars)))
+			     (lambda args
+			       #f)))))
+		   (cdr form))
+		  vars)))
+	  (hash-table-set! h 'require require-walker))
+
 	
 	;; ---------------- call-with-input-file etc ----------------
 	(let ()
@@ -14945,36 +16441,36 @@
 		  (if (not (and (pair? func)
 				(eq? (car func) 'lambda)))
 		      (lint-walk caller func env)
-		      (let* ((args (cadr func))
-			     (body (cddr func))
-			     (port (and (pair? args) (car args)))
-			     (head (car form)))
-			(if (or (not port)
-				(pair? (cdr args)))
-			    (lint-format "~A argument should be a function of one argument: ~A" caller head func)
-			    (if (and (null? (cdr body))
-				     (pair? (car body))
-				     (pair? (cdar body))
-				     (eq? (cadar body) port)
-				     (null? (cddar body)))
-				(lint-format "perhaps ~A" caller 
-					     (lists->string form 
-							    (if (= len 2)
-								`(,head ,(caar body))
-								`(,head ,(cadr form) ,(caar body)))))
-				(let ((cc (make-var :name port
-						    :initial-value (list (case head 
-									   ((call-with-input-string)  'open-input-string)
-									   ((call-with-output-string) 'open-output-string)
-									   ((call-with-input-file)    'open-input-file)
-									   ((call-with-output-file)   'open-output-file)))
-						    :definer head)))
-				  (lint-walk-body caller head body (cons cc 
-									 (cons (make-var :name :let
-											 :initial-value form
-											 :definer head)
-									       env)))
-				  (report-usage caller head (list cc) env)))))))))
+		      (let ((args (cadr func)))
+			(let ((body (cddr func))
+			      (port (and (pair? args) (car args)))
+			      (head (car form)))
+			  (if (or (not port)
+				  (pair? (cdr args)))
+			      (lint-format "~A argument should be a function of one argument: ~A" caller head func)
+			      (if (and (null? (cdr body))
+				       (pair? (car body))
+				       (pair? (cdar body))
+				       (eq? (cadar body) port)
+				       (null? (cddar body)))
+				  (lint-format "perhaps ~A" caller 
+					       (lists->string form 
+							      (if (= len 2)
+								  `(,head ,(caar body))
+								  `(,head ,(cadr form) ,(caar body)))))
+				  (let ((cc (make-var :name port
+						      :initial-value (list (case head 
+									     ((call-with-input-string)  'open-input-string)
+									     ((call-with-output-string) 'open-output-string)
+									     ((call-with-input-file)    'open-input-file)
+									     ((call-with-output-file)   'open-output-file)))
+						      :definer head)))
+				    (lint-walk-body caller head body (cons cc 
+									   (cons (make-var :name :let
+											   :initial-value form
+											   :definer head)
+										 env)))
+				    (report-usage caller head (list cc) env))))))))))
 	    env)
 	  (for-each (lambda (op)
 		      (hash-table-set! h op call-with-io-walker))
@@ -15121,92 +16617,94 @@
 	
 	
 	;; ---------------- case-lambda ----------------
-	(hash-table-set! 
-	 h 'case-lambda
-	 (lambda (caller form env)
-	   (when (pair? (cdr form))
-	     (let ((lens ())
-		   (body ((if (string? (cadr form)) cddr cdr) form)) ; might have a doc string before the clauses
-		   (doc-string (and (string? (cadr form)) (cadr form))))
-	       
-	       (define (arg->defaults arg b1 b2 defaults)
-		 (and defaults
-		      (cond ((null? b1) (and (null? b2) defaults))
-			    ((null? b2) (and (null? b1) defaults))
-			    ((eq? arg b1) (cons b2 defaults))
-			    ((eq? arg b2) (cons b1 defaults))
-			    ((pair? b1)
-			     (and (pair? b2)
-				  (arg->defaults arg (car b1) (car b2) (arg->defaults arg (cdr b1) (cdr b2) defaults))))
-			    (else (and (equal? b1 b2) defaults)))))
-	       (for-each 
-		(lambda (choice)
-		  (if (pair? choice)
-		      (let ((len (length (car choice))))
-			(if (member len lens)
-			    (lint-format "repeated parameter list? ~A in ~A" caller (car choice) form))
-			(set! lens (cons len lens))
-			(lint-walk 'case-lambda (cons 'lambda choice) env))))
-		body)
-	       
-	       (case (length lens)
-		 ((1) 
-		  (lint-format "perhaps ~A" caller 
-			       (lists->string form 
-					      (if doc-string
-						  `(let ((documentation ,doc-string))
-						     (lambda ,(caar body) ,@(cdar body)))
-						  `(lambda ,(caar body) ,@(cdar body))))))
-		 ((2) 
-		  (when (let arglists-equal? ((args1 (caar body))
-					      (args2 (caadr body)))
-			  (if (null? args1)
-			      (and (pair? args2) (null? (cdr args2)))
-			      (and (pair? args1)
-				   (if (null? args2)
-				       (null? (cdr args1))
-				       (and (pair? args2)
-					    (eq? (car args1) (car args2))
-					    (arglists-equal? (cdr args1) (cdr args2)))))))
-		    (let* ((clause1 (car body))
-			   (arg1 (car clause1))
-			   (body1 (cdr clause1))
-			   (clause2 (cadr body))
-			   (arg2 (car clause2))
-			   (body2 (cdr clause2))
-			   (arglist (if (> (car lens) (cadr lens)) arg2 arg1)) ; lens is reversed
-			   (arg-name (list-ref arglist (- (length arglist) 1)))
-			   (diffs (arg->defaults arg-name body1 body2 ())))
-		      (when (and (pair? diffs)
-				 (null? (cdr diffs))
-				 (code-constant? (car diffs)))
-			(let ((new-body (if (> (car lens) (cadr lens)) body2 body1))
-			      (new-arglist (if (not (car diffs))
-					       arglist
-					       (if (null? (cdr arglist))
-						   `((,arg-name ,(car diffs)))
-						   `(,(car arglist) (,arg-name ,(car diffs)))))))
-			  (lint-format "perhaps ~A" caller
-				       (lists->string form
-						      (if doc-string
-							  `(let ((documentation ,doc-string))
-							     (lambda* ,new-arglist , at new-body))
-							  `(lambda* ,new-arglist , at new-body))))))))))))
-	   env))
+	(let ()
+	  (define (case-lambda-walker caller form env)
+	    (when (pair? (cdr form))
+	      (let ((lens ())
+		    (body ((if (string? (cadr form)) cddr cdr) form)) ; might have a doc string before the clauses
+		    (doc-string (and (string? (cadr form)) (cadr form))))
+		
+		(define (arg->defaults arg b1 b2 defaults)
+		  (and defaults
+		       (cond ((null? b1) (and (null? b2) defaults))
+			     ((null? b2) (and (null? b1) defaults))
+			     ((eq? arg b1) (cons b2 defaults))
+			     ((eq? arg b2) (cons b1 defaults))
+			     ((pair? b1)
+			      (and (pair? b2)
+				   (arg->defaults arg (car b1) (car b2) (arg->defaults arg (cdr b1) (cdr b2) defaults))))
+			     (else (and (equal? b1 b2) defaults)))))
+		(for-each 
+		 (lambda (choice)
+		   (if (pair? choice)
+		       (let ((len (length (car choice))))
+			 (if (member len lens)
+			     (lint-format "repeated parameter list? ~A in ~A" caller (car choice) form))
+			 (set! lens (cons len lens))
+			 (lint-walk 'case-lambda (cons 'lambda choice) env))))
+		 body)
+		
+		(case (length lens)
+		  ((1) 
+		   (lint-format "perhaps ~A" caller 
+				(lists->string form 
+					       (if doc-string
+						   `(let ((documentation ,doc-string))
+						      (lambda ,(caar body) ,@(cdar body)))
+						   `(lambda ,(caar body) ,@(cdar body))))))
+		  ((2) 
+		   (when (let arglists-equal? ((args1 (caar body))
+					       (args2 (caadr body)))
+			   (if (null? args1)
+			       (and (pair? args2) (null? (cdr args2)))
+			       (and (pair? args1)
+				    (if (null? args2)
+					(null? (cdr args1))
+					(and (pair? args2)
+					     (eq? (car args1) (car args2))
+					     (arglists-equal? (cdr args1) (cdr args2)))))))
+		     (let* ((clause1 (car body))
+			    (body1 (cdr clause1))
+			    (clause2 (cadr body))
+			    (body2 (cdr clause2))
+			    (arglist (let ((arg1 (car clause1))
+					   (arg2 (car clause2)))	  
+				       (if (> (car lens) (cadr lens)) arg2 arg1))) ; lens is reversed
+			    (arg-name (list-ref arglist (- (length arglist) 1)))
+			    (diffs (arg->defaults arg-name body1 body2 ())))
+		       (when (and (pair? diffs)
+				  (null? (cdr diffs))
+				  (code-constant? (car diffs)))
+			 (let ((new-body (if (> (car lens) (cadr lens)) body2 body1))
+			       (new-arglist (if (not (car diffs))
+						arglist
+						(if (null? (cdr arglist))
+						    `((,arg-name ,(car diffs)))
+						    `(,(car arglist) (,arg-name ,(car diffs)))))))
+			   (lint-format "perhaps ~A" caller
+					(lists->string form
+						       (if doc-string
+							   `(let ((documentation ,doc-string))
+							      (lambda* ,new-arglist , at new-body))
+							   `(lambda* ,new-arglist , at new-body))))))))))))
+	    env)
+	  (hash-table-set! h 'case-lambda case-lambda-walker))
 	h))
-    
+
 
     (define lint-walk-pair 
       (let ((unsafe-makers '(sublet inlet copy cons list append make-shared-vector vector hash-table hash-table* 
-			     make-hash-table make-hook #_{list} #_{append} gentemp or and not)))
+			     make-hash-table make-hook #_{list} #_{append} gentemp or and not))
+	    (qq-form #f))
 	(lambda (caller form env)
 	  (let ((head (car form)))
-	    
 	    (set! line-number (pair-line-number form))
 	    
 	    (when *report-function-stuff* 
 	      (function-match caller form env))
-	    
+
+	    ;; differ-in-one here across args gets few interesting hits
+
 	    (cond 
 	     ((hash-table-ref walker-functions head)
 	      => (lambda (f)
@@ -15228,10 +16726,65 @@
 			     (check-call caller head form env)
 			     
 			     ;; look for one huge argument leaving lonely trailing arguments somewhere off the screen
+			     ;;   (it needs to be one arg, not a call on values)
 			     (let ((branches (length form)))
-			       (when (and (> branches 2)
-					  (not (any-macro? head env))
-					  (not (memq head '(for-each map #_{list} * + - /))))
+
+			       (when (and (= branches 2)
+					  (any-procedure? head env)
+					  (not (eq? head 'unquote)))
+				 (let ((arg (cadr form)))
+				   ;; begin=(car arg) happens very rarely
+				   (when (pair? arg)
+				     (when (and (memq (car arg) '(let let*))
+						(not (or (symbol? (cadr arg))
+							 (and (pair? (cddr arg))
+							      (pair? (caddr arg))
+							      (eq? 'lambda (caaddr arg)))
+							 (assq head (cadr arg)))))
+				       ;; (string->symbol (let ((s (copy vstr))) (set! (s (+ pos 1)) #\\s) s)) ->
+				       ;;    (let ((s (copy vstr))) (set! (s (+ pos 1)) #\\s) (string->symbol s))")
+				       (lint-format "perhaps~%~NC~A ->~%~NC~A" caller
+						    (+ lint-left-margin 4) #\space
+						    (truncated-list->string form)
+						    (+ lint-left-margin 4) #\space
+						    (let* ((body (cddr arg))
+							   (len (length body))
+							   (str (object->string `(,(car arg) ,(cadr arg)
+										  ,@(copy body (make-list (- len 1)))
+										  (,head ,(list-ref body (- len 1)))))))
+						      (if (<= (length str) target-line-length)
+							  str
+							  (format #f "(~A ... (~A ~A))"
+								  (car arg) head
+								  (truncated-list->string (list-ref body (- len 1))))))))
+				     (when (eq? (car arg) 'or)
+				       (let ((else-clause (let ((last-clause (list-ref arg (- (length arg) 1))))
+							    (if (and (pair? last-clause)
+								     (memq (car last-clause) '(error throw)))
+								last-clause
+								(if (or (not (code-constant? last-clause))
+									(side-effect? `(,head ,last-clause) env))
+								    :checked-eval-error
+								    (let ((res (checked-eval `(,head ,last-clause))))
+								      (if (or (and (symbol? res)
+										   (not (eq? res :checked-eval-error)))
+									      (pair? res))
+									  (list 'quote res)
+									  res)))))))
+					 (unless (eq? else-clause :checked-eval-error)
+					   (set! last-rewritten-internal-define form)
+					   (lint-format "perhaps ~A" caller
+							(lists->string form
+								       `(cond (,(if (or (null? (cddr arg))
+											(null? (cdddr arg)))
+										    (cadr arg)
+										    (copy arg (make-list (- (length arg) 1))))
+									       => ,head)
+									      (else ,else-clause))))))))))
+
+			       (unless (or (<= branches 2)
+					   (any-macro? head env)
+					   (memq head '(for-each map #_{list} * + - /)))
 				 (let ((leaves (tree-leaves form)))
 				   (when (> leaves (max *report-bloated-arg* (* branches 3)))
 				     (do ((p (cdr form) (cdr p))
@@ -15240,23 +16793,35 @@
 					      (null? (cdr p))
 					      (and (pair? (car p))
 						   (symbol? (caar p))
-						   (not (memq (caar p) '(lambda quote call/cc list vector match-lambda)))
+						   (not (memq (caar p) '(lambda quote call/cc list vector match-lambda values)))
 						   (> (tree-leaves (car p)) (- leaves (* branches 2)))
 						   (or (not (memq head '(or and)))
 						       (= i 1))
+						   (not (tree-member 'values (car p)))
 						   (let ((header (copy form (make-list i)))
 							 (trailer (copy form (make-list (- branches i 1)) (+ i 1)))
-							 (disclaimer (if (or (hash-table-ref built-in-functions head)
-									     (hash-table-ref no-side-effect-functions head)
-									     (let ((v (var-member head env)))
-									       (and (var? v)
-										    (memq (var-ftype v) '(define define* lambda lambda*)))))
+							 (disclaimer (if (or (any-procedure? head env)
+									     (hash-table-ref no-side-effect-functions head))
 									 ""
 									 (format #f ", assuming ~A is not a macro," head))))
-						     (lint-format "perhaps~A~%    ~A ->~%    ~A" caller disclaimer
+						     ;; begin=(caar p) here is almost entirely as macro arg
+						     (lint-format "perhaps~A~%~NC~A ->~%~NC~A" caller disclaimer
+								  (+ lint-left-margin 4) #\space
 								  (lint-pp `(, at header ,(one-call-and-dots (car p)) , at trailer))
-								  (lint-pp `(let ((_1_ ,(one-call-and-dots (car p))))
-									      (, at header _1_ , at trailer))))
+								  (+ lint-left-margin 4) #\space
+								  (if (and (memq (caar p) '(let let*))
+									   (list? (cadar p))
+									   (not (assq head (cadar p)))) ; actually not intersection header+trailer (map car cadr)
+								      (let ((last (let ((body (cddar p)))
+										    (list-ref body (- (length body) 1)))))
+									(if (< (tree-leaves last) 12)
+									    (format #f "(~A ... ~A)"
+										    (caar p)
+										    (lint-pp `(, at header ,last , at trailer)))
+									    (lint-pp `(let ((_1_ ,(one-call-and-dots (car p))))
+											(, at header _1_ , at trailer)))))
+								      (lint-pp `(let ((_1_ ,(one-call-and-dots (car p))))
+										  (, at header _1_ , at trailer)))))
 						     #t)))))))))
 			     
 			     (when (pair? form)
@@ -15369,63 +16934,64 @@
 							       "")
 							   (lists->string form `(, at header ,middle , at q)))))))))))))
 			  ((pair? head)
-			   (when (and (pair? (cdr head))
-				      (memq (car head) '(lambda lambda*)))
-			     (cond ((and (identity? head)
-					 (pair? (cdr form))) ; identity needs an argument
-				    (lint-format "perhaps ~A" caller (truncated-lists->string form (cadr form))))
-				   
-				   ((and (null? (cadr head))
-					 (pair? (cddr head)))
-				    (lint-format "perhaps ~A" caller 
-						 (truncated-lists->string 
-						  form 
-						  (if (and (null? (cdddr head))
-							   (not (and (pair? (caddr head))
-								     (memq (caaddr head) '(define define* define-constant define-macro define-macro*)))))
-						      (caddr head)
-						      `(let () ,@(cddr head))))))
-				   
-				   ((and (pair? (cddr head)) ; ((lambda (...) ...) ...) -> (let ...) -- lambda here is ugly and slow
-					 (proper-list? (cddr head))
-					 (not (any? (lambda (a) (mv-range a env)) (cdr form))))
-				    (call-with-exit
-				     (lambda (quit)          ; uncountably many things can go wrong with the lambda form
-				       (let ((vars ())
-					     (vals ()))
-					 (do ((v (cadr head) (cdr v))
-					      (a (cdr form) (cdr a)))
-					     ((not (and (pair? a)
-							(pair? v)))
-					      (if (symbol? v)
-						  (begin
-						    (set! vars (cons v vars))
-						    (set! vals (cons `(list , at a) vals)))
-						  (do ((v v (cdr v)))
-						      ((not (pair? v)))
-						    (if (not (pair? v))
-							(quit))
-						    (if (pair? (car v)) 
-							(begin
-							  (if (not (pair? (cdar v)))
-							      (quit))
-							  (set! vars (cons (caar v) vars))
-							  (set! vals (cons (cadar v) vals)))
-							(begin
-							  (set! vars (cons (car v) vars))
-							  (set! vals (cons #f vals)))))))
-					   (set! vars (cons ((if (pair? (car v)) caar car) v) vars))
-					   (set! vals (cons (car a) vals)))
-					 
-					 (lint-format "perhaps ~A" caller
-						      (lists->string form
-								     `(,(if (or (eq? (car head) 'lambda)
-										(not (pair? (cadr head)))
-										(null? (cdadr head)))
-									    'let 'let*)
-								       ,(map list (reverse vars) (reverse vals))
-								       ,@(cddr head)))))))))))
-			  
+			   (cond ((not (and (pair? (cdr head))
+					    (memq (car head) '(lambda lambda*)))))
+
+				 ((and (identity? head)
+				       (pair? (cdr form))) ; identity needs an argument
+				  (lint-format "perhaps ~A" caller (truncated-lists->string form (cadr form))))
+				 
+				 ((and (null? (cadr head))
+				       (pair? (cddr head)))
+				  (lint-format "perhaps ~A" caller 
+					       (truncated-lists->string 
+						form 
+						(if (and (null? (cdddr head))
+							 (not (and (pair? (caddr head))
+								   (memq (caaddr head) '(define define* define-constant define-macro define-macro*)))))
+						    (caddr head)
+						    `(let () ,@(cddr head))))))
+				 
+				 ((and (pair? (cddr head)) ; ((lambda (...) ...) ...) -> (let ...) -- lambda here is ugly and slow
+				       (proper-list? (cddr head))
+				       (not (any? (lambda (a) (mv-range a env)) (cdr form))))
+				  (call-with-exit
+				   (lambda (quit)          ; uncountably many things can go wrong with the lambda form
+				     (let ((vars ())
+					   (vals ()))
+				       (do ((v (cadr head) (cdr v))
+					    (a (cdr form) (cdr a)))
+					   ((not (and (pair? a)
+						      (pair? v)))
+					    (if (symbol? v)
+						(begin
+						  (set! vars (cons v vars))
+						  (set! vals (cons `(list , at a) vals)))
+						(do ((v v (cdr v)))
+						    ((not (pair? v)))
+						  (if (not (pair? v))
+						      (quit))
+						  (if (pair? (car v)) 
+						      (begin
+							(if (not (pair? (cdar v)))
+							    (quit))
+							(set! vars (cons (caar v) vars))
+							(set! vals (cons (cadar v) vals)))
+						      (begin
+							(set! vars (cons (car v) vars))
+							(set! vals (cons #f vals)))))))
+					 (set! vars (cons ((if (pair? (car v)) caar car) v) vars))
+					 (set! vals (cons (car a) vals)))
+				       
+				       (lint-format "perhaps ~A" caller
+						    (lists->string form
+								   `(,(if (or (eq? (car head) 'lambda)
+									      (not (pair? (cadr head)))
+									      (null? (cdadr head)))
+									  'let 'let*)
+								     ,(map list (reverse vars) (reverse vals))
+								     ,@(cddr head))))))))))
+		    
 			  ((and (procedure? head)
 				(memq head '(#_{list} #_{apply_values} #_{append})))
 			   (for-each (lambda (p)
@@ -15439,8 +17005,47 @@
 								      (if (not (hash-table-ref other-identifiers sym))
 									  (list form)
 									  (cons form (hash-table-ref other-identifiers sym)))))))))
-				     (cdr form))))
-		    ;; here forms like `(x , at y) could be rewritten as (cons 'x y) but is that an improvement?
+				     (cdr form))
+			   
+			   (when (and (eq? head #_{list})
+				      (not (eq? lint-current-form qq-form)))
+			     (let ((len (length form)))
+			       (set! qq-form lint-current-form) ; only interested in simplest cases here
+			       (case len
+				 ((2)
+				  (if (and (pair? (cadr form))
+					   (eq? (caadr form) #_{apply_values})  ; `(, at x) -> (copy x)
+					   (not (qq-tree? (cadadr form))))
+				      (lint-format "perhaps ~A" caller
+						   (lists->string form
+								  (un_{list} (if (pair? (cadadr form))
+										 (cadadr form)
+										 `(copy ,(cadadr form))))))
+				      (if (symbol? (cadr form))                
+					  (lint-format "perhaps ~A" caller      ; `(,x) -> (list x) 
+						       (lists->string form `(list ,(cadr form)))))))
+				 ((3)
+				  (if (and (pair? (caddr form))
+					   (eq? (caaddr form) #_{apply_values})
+					   (not (qq-tree? (cadr (caddr form))))
+					   (pair? (cadr form))                  ; `(, at x , at y) -> (append x y)
+					   (eq? (caadr form) #_{apply_values})
+					   (not (qq-tree? (cadadr form))))
+				      (lint-format "perhaps ~A" caller
+						   (lists->string form 
+								  `(append ,(un_{list} (cadadr form)) 
+									   ,(un_{list} (cadr (caddr form))))))))
+				 (else 
+				  (if (every? (lambda (a)                       ; `(, at x , at y etc) -> (append x y ...)
+						(and (pair? a)
+						     (eq? (car a) #_{apply_values})
+						     (not (qq-tree? (cdr a)))))
+					      (cdr form))
+				      (lint-format "perhaps ~A" caller
+						   (lists->string form `(append ,@(map (lambda (a)
+											 (un_{list} (cadr a)))
+										       (cdr form)))))))
+				 )))))
 		    
 		    (let ((vars env))
 		      (for-each
@@ -15449,6 +17054,23 @@
 		       form))))
 	      env))))))
 	
+#|
+    (define previous-form #f)
+    (define (lint-walk caller form env)
+      (if (and previous-form 
+	       (or (not (pair? form))
+		   (not (member previous-form form))))
+	  (begin
+	    (format *stderr* "   ~A~%~%" (lint-pp previous-form))
+	    (set! previous-form #f)))
+      (let ((sug made-suggestion))
+	(let ((res (lint-walk-1 caller form env)))
+	  (if (and (= sug made-suggestion)
+                   (not (eq? (car form) 'define-syntax))
+		   (> (tree-leaves form) 12))
+	      (set! previous-form form))
+	  res)))
+|#
 
     (define (lint-walk caller form env)
       (cond ((symbol? form)
@@ -15486,6 +17108,7 @@
     
     ;; -------- lint-file --------
     (define *report-input* #t)
+    ;; lint-file is called via load etc above and it's a pain to thread this variable all the way down the call chain
     
     (define (lint-file-1 file env)
       (set! linted-files (cons file linted-files))
@@ -15499,7 +17122,7 @@
 			    (if *report-input*
 				(format outport 
 					(if (and (output-port? outport)
-						 (not (member outport (list *stderr* *stdout*))))
+						 (not (memq outport (list *stderr* *stdout*))))
 					    (values "~%~NC~%;~A~%" (+ lint-left-margin 16) #\-)
 					    ";~A~%")
 					file))
@@ -15657,6 +17280,20 @@
 		    (cons #\& (lambda (str)                      ; ancient Guile code
 				(make-keyword (substring str 1))))
 
+		    (cons #\\ (lambda (str)
+				(cond ((assoc str '(("\\x0"        . #\null)
+						    ("\\x7"        . #\alarm)
+						    ("\\x8"        . #\backspace)
+						    ("\\x9"        . #\tab)
+						    ("\\xd"        . #\return)
+						    ("\\xa"        . #\newline)
+						    ("\\1b"        . #\escape)
+						    ("\\x20"       . #\space)
+						    ("\\x7f"       . #\delete)))
+				       => (lambda (c)
+					    (format outport "~NC#\\~A is ~W~%" lint-left-margin #\space (substring str 1) (cdr c)))))
+				#f))
+
 		    (cons #\! (lambda (str)
 				(if (member str '("!optional" "!default" "!rest" "!key" "!aux" "!false" "!true" "!r6rs") string-ci=?) ; for MIT-scheme
 				    (make-keyword (substring str 1))
@@ -15683,117 +17320,122 @@
 			    (begin
 			      (format outport "~NCreader[~A]: unknown # object: #~A~%" lint-left-margin #\space line data)
 			      (set! (h 'result)
-				    (case (data 0)
-				      ((#\;) (read) (values))
-				      
-				      ((#\T) (string=? data "T"))
-				      ((#\F) (and (string=? data "F") ''#f))
-				      ((#\X) 
-				       (let ((num (string->number (substring data 1)))) ; mit-scheme, maybe others
-					 (if (number? num)
-					     (begin
-					       (format outport "~NCuse #x~A not #~A~%" lint-left-margin #\space (substring data 1) data)
-					       num)
-					     (string->symbol data))))
+				    (catch #t
+				      (lambda ()
+					(case (data 0)
+					  ((#\;) (read) (values))
+					  
+					  ((#\T) (string=? data "T"))
+					  ((#\F) (and (string=? data "F") ''#f))
 
-				      ((#\l #\z)
-				       (let ((num (string->number (substring data 1)))) ; Bigloo (also has #ex #lx #z and on and on)
-					 (if (number? num)
-					     (begin
-					       (format outport "~NCjust omit this silly #~C!~%" lint-left-margin #\space (data 0))
-					       num)
-					     (string->symbol data))))
-				      
-				      ((#\u) ; for Bigloo
-				       (if (string=? data "unspecified")
-					   (format outport "~NCuse #<unspecified>, not #unspecified~%" lint-left-margin #\space))
-				       ;; #<unspecified> seems to hit the no-values check?
-				       (string->symbol data))
-				      ;; Bigloo also seems to use #" for here-doc concatenation??
-
-				      ((#\v) ; r6rs byte-vectors?
-				       (if (string=? data "vu8")
-					   (format outport "~NCuse #u8 in s7, not #vu8~%" lint-left-margin #\space))
-				       (string->symbol data))
-				      
-				      ((#\>) ; for Chicken, apparently #>...<# encloses in-place C code
-				       (do ((last #\#)
-					    (c (read-char) (read-char))) 
-					   ((and (char=? last #\<) 
-						 (char=? c #\#)) 
-					    (values))
-					 (if (char=? c #\newline)
-					     (set! (port-line-number ()) (+ (port-line-number) 1)))
-					 (set! last c)))
-				      
-				      ((#\<) ; Chicken also, #<<EOF -> EOF
-				       (if (and (char=? (data 1) #\<)
-						(> (length data) 2))
-					   (let ((end (substring data 2)))
-					     (do ((c (read-line) (read-line)))
-						 ((string-position end c)
-						  (values))))
-					   (string->symbol data)))
-				      
-				      ((#\\) 
-				       (cond ((assoc data '(("\\newline"   . #\newline)
-							    ("\\return"    . #\return)
-							    ("\\space"     . #\space)
-							    ("\\tab"       . #\tab)
-							    ("\\null"      . #\null)
-							    ("\\nul"       . #\null)
-							    ("\\linefeed"  . #\linefeed)
-							    ("\\alarm"     . #\alarm)
-							    ("\\esc"       . #\escape)
-							    ("\\escape"    . #\escape)
-							    ("\\rubout"    . #\delete)
-							    ("\\delete"    . #\delete)
-							    ("\\backspace" . #\backspace)
-							    ("\\page"      . #\xc)
-							    ("\\altmode"   . #\escape)
-							    ("\\bel"       . #\alarm) ; #\x07
-							    ("\\sub"       . #\x1a)
-							    ("\\soh"       . #\x01)
-							    
-							    ;; rest are for Guile
-							    ("\\vt"        . #\xb)
-							    ("\\bs"        . #\backspace)
-							    ("\\cr"        . #\newline)
-							    ("\\sp"        . #\space)
-							    ("\\lf"        . #\linefeed)
-							    ("\\nl"        . #\null)
-							    ("\\ht"        . #\tab)
-							    ("\\ff"        . #\xc)
-							    ("\\np"        . #\xc))
-						     string-ci=?)
-					      => (lambda (c)
-						   (format outport "~NCperhaps use ~W instead~%" (+ lint-left-margin 4) #\space (cdr c))
-						   (cdr c)))
-					     (else 
-					      (string->symbol (substring data 1)))))
-				      (else 
-				       (string->symbol data))))))))))
+					  ((#\X #\B #\O #\D) 
+					   (let ((num (string->number (substring data 1) (case (data 0) ((#\X) 16) ((#\O) 8) ((#\B) 2) ((#\D) 10)))))
+					     (if (number? num)
+						 (begin
+						   (format outport "~NCuse #~A~A not #~A~%" 
+							   lint-left-margin #\space 
+							   (char-downcase (data 0)) (substring data 1) data)
+						   num)
+						 (string->symbol data))))
+					  
+					  ((#\l #\z)
+					   (let ((num (string->number (substring data 1)))) ; Bigloo (also has #ex #lx #z and on and on)
+					     (if (number? num)
+						 (begin
+						   (format outport "~NCjust omit this silly #~C!~%" lint-left-margin #\space (data 0))
+						   num)
+						 (string->symbol data))))
+					  
+					  ((#\u) ; for Bigloo
+					   (if (string=? data "unspecified")
+					       (format outport "~NCuse #<unspecified>, not #unspecified~%" lint-left-margin #\space))
+					   ;; #<unspecified> seems to hit the no-values check?
+					   (string->symbol data))
+					  ;; Bigloo also seems to use #" for here-doc concatenation??
+					  
+					  ((#\v) ; r6rs byte-vectors?
+					   (if (string=? data "vu8")
+					       (format outport "~NCuse #u8 in s7, not #vu8~%" lint-left-margin #\space))
+					   (string->symbol data))
+					  
+					  ((#\>) ; for Chicken, apparently #>...<# encloses in-place C code
+					   (do ((last #\#)
+						(c (read-char) (read-char))) 
+					       ((and (char=? last #\<) 
+						     (char=? c #\#)) 
+						(values))
+					     (if (char=? c #\newline)
+						 (set! (port-line-number ()) (+ (port-line-number) 1)))
+					     (set! last c)))
+					  
+					  ((#\<) ; Chicken also, #<<EOF -> EOF
+					   (if (and (char=? (data 1) #\<)
+						    (> (length data) 2))
+					       (let ((end (substring data 2)))
+						 (do ((c (read-line) (read-line)))
+						     ((string-position end c)
+						      (values))))
+					       (string->symbol data)))
+					  
+					  ((#\\) 
+					   (cond ((assoc data '(("\\newline"   . #\newline)
+								("\\return"    . #\return)
+								("\\space"     . #\space)
+								("\\tab"       . #\tab)
+								("\\null"      . #\null)
+								("\\nul"       . #\null)
+								("\\linefeed"  . #\linefeed)
+								("\\alarm"     . #\alarm)
+								("\\esc"       . #\escape)
+								("\\escape"    . #\escape)
+								("\\rubout"    . #\delete)
+								("\\delete"    . #\delete)
+								("\\backspace" . #\backspace)
+								("\\page"      . #\xc)
+								("\\altmode"   . #\escape)
+								("\\bel"       . #\alarm) ; #\x07
+								("\\sub"       . #\x1a)
+								("\\soh"       . #\x01)
+								
+								;; these are for Guile
+								("\\vt"        . #\xb)
+								("\\bs"        . #\backspace)
+								("\\cr"        . #\newline)
+								("\\sp"        . #\space)
+								("\\lf"        . #\linefeed)
+								("\\nl"        . #\null)
+								("\\ht"        . #\tab)
+								("\\ff"        . #\xc)
+								("\\np"        . #\xc))
+							 string-ci=?)
+						  => (lambda (c)
+						       (format outport "~NCperhaps use ~W instead~%" (+ lint-left-margin 4) #\space (cdr c))
+						       (cdr c)))
+						 (else 
+						  (string->symbol (substring data 1)))))
+					  (else 
+					   (string->symbol data))))
+				      (lambda args #f)))))))))
 	
 	(let ((vars (lint-file file ())))
 	  (set! lint-left-margin (max lint-left-margin 1))
 
-	  (if (and (pair? vars)
-		   *report-multiply-defined-top-level-functions*)
-	      (for-each
-	       (lambda (var)
-		 (let ((var-file (hash-table-ref *top-level-objects* (car var))))
-		   (if (not var-file)
-		       (hash-table-set! *top-level-objects* (car var) *current-file*)
-		       (if (and (string? *current-file*)
-				(not (string=? var-file *current-file*)))
-			   (format outport "~NC~S is defined at the top level in ~S and ~S~%" 
-				   lint-left-margin #\space 
-				   (car var) var-file *current-file*)))))
-	       vars))
-
-	  (if (and (string? file)
-		   (pair? vars))
-	      (report-usage top-level: "" vars vars)))
+	  (when (pair? vars)
+	    (if *report-multiply-defined-top-level-functions*
+		(for-each
+		 (lambda (var)
+		   (let ((var-file (hash-table-ref *top-level-objects* (car var))))
+		     (if (not var-file)
+			 (hash-table-set! *top-level-objects* (car var) *current-file*)
+			 (if (and (string? *current-file*)
+				  (not (string=? var-file *current-file*)))
+			     (format outport "~NC~S is defined at the top level in ~S and ~S~%" 
+				     lint-left-margin #\space 
+				     (car var) var-file *current-file*)))))
+		 vars))
+	    
+	    (if (string? file)
+		(report-usage top-level: "" vars vars))))
 
 	(for-each 
 	 (lambda (p)
@@ -15804,7 +17446,7 @@
 		       (if (pair? (car p)) "'" "")
 		       (truncated-list->string (car p)) (cdr p))))
 	 big-constants)
-	
+
 	(if (and *report-undefined-identifiers*
 		 (positive? (hash-table-entries other-identifiers)))
 	    (let ((lst (sort! (map car other-identifiers) (lambda (a b)
@@ -15892,16 +17534,17 @@
 			      (if (char=? c #\()
 				  (catch #t
 				    (lambda ()
-				      (let* ((ncode (with-input-from-string 
-							(fixup-html (remove-markups code))
-						      read))
-					     (outstr (call-with-output-string
-						      (lambda (op)
-							(call-with-input-string (format #f "~S" ncode)
-							  (lambda (ip)
-							    (let-temporarily ((*report-shadowed-variables* #t))
-							      (lint ip op #f))))))))
-					(if (> (length outstr) 1) ; possible newline at end
+				      (let ((outstr (call-with-output-string
+						     (lambda (op)
+						       (call-with-input-string 
+							   (object->string (with-input-from-string 
+									       (fixup-html (remove-markups code))
+									     read)
+									   #t) ; write, not display
+							 (lambda (ip)
+							   (let-temporarily ((*report-shadowed-variables* #t))
+							     (lint ip op #f))))))))
+					(if (> (length outstr) 1)               ; possible newline at end
 					    (format () ";~A ~D: ~A~%" file line-num outstr))))
 				    (lambda args
 				      (format () ";~A ~D, error in read: ~A ~A~%" file line-num args
@@ -15965,7 +17608,7 @@
 
 ;;; --------------------------------------------------------------------------------
 #|
-;;; external use of lint contents:
+;;; external use of lint contents (see also snd-lint.scm):
 (for-each (lambda (f) 
             (if (not (hash-table-ref (*lint* 'no-side-effect-functions) (car f)))
                 (format *stderr* "~A " (car f))))
@@ -15990,26 +17633,17 @@
 ;;; TODO:
 ;;;
 ;;; code-equal if/when/unless/cond, case: any order of clauses, let: any order of vars, etc, zero/=0
-;;; auto unit tests, *report-tests* -> list of funcs to test as in zauto, possibly fix errors
+;;;   include named-lets in this search
+;;;   these should translate when/unless first -> if?
+;;;   (abs|magnitude (- x y)) is reversible internally
 ;;; indentation is confused in pp by if expr+values?, pp handling of (list ((lambda...)..)) is bad
 ;;; there are now lots of cases where we need to check for values (/ as invert etc)
-;;; the ((lambda ...)) -> let rewriter is still tricked by values
-;;; c-side type checkers need ways to merge into lint's type compatibilty checks (mus-generator etc)
+;;;   the ((lambda ...)) -> let rewriter is still tricked by values
 ;;; for scope calc, each macro call needs to be expanded or use out-vars?
-;;;   if we know a macro's value, expand via macroexpand each time encountered and run lint on that? [see 10983 for expansion]
-;;;
-;;; argument consistency? (vector (number? x) (< x 0))
-;;;   one arg assumes type, other either assumes a different type or tests for something not subsumed in the first
-;;; define-macro cases in t347?? [10983]
-;;; eq?/=/any-sig extension of and-forgetful
-;;; if big arg is already let, perhaps use body as replacement
-;;; why was the large repeated let ignored? 
-;;; there are 473 Snd functions without signatures; how to handle unsafe functions/dilambdas?
-;;; internal (mid body) define? [9630], also in open bodies -- begin primarily?
-;;; localized var (to extent possible?) if set! always precedes use: set!->let
-;;;    var-hist: init[refs...] set![refs all in set! context...] set![refs]
-;;; var 2 values, vals themselves arbitrary (0/1) -> booleans
-;;; if combinations: check entire and exprs for intersection
-;;; the let-temp rewrite needs to be at the set points [13900]
+;;;   if we know a macro's value, expand via macroexpand each time encountered and run lint on that? [see tmp for expansion]
+;;; hg-results has a lot of changes
+;;; currently differ-by-one is only in if/cond/case-walker -- would it make sense elsewhere? [16685]
+;;;   (two branch cond/case), f+args (each can differ at the same spot) -- the simple cases here already work
+;;;   differ-in-trailers would require values I think
 ;;;
-;;; 134 23101 551064
+;;; 148 24013 659015
diff --git a/marks-menu.scm b/marks-menu.scm
index 5fee886..407f2ec 100644
--- a/marks-menu.scm
+++ b/marks-menu.scm
@@ -116,24 +116,22 @@
 		  (set! sliders
 			(add-sliders 
 			 play-between-marks-dialog
-			 (list (list "mark one" 0 play-between-marks-m1 max-mark-id
-				     (if (provided? 'snd-gtk)
-					 (lambda (w context)
-					   (set! play-between-marks-m1 ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w)))
-					   (set-syncs))
-					 (lambda (w context info)
-					   (set! play-between-marks-m1 ((*motif* '.value) info))
-					   (set-syncs)))
-				     1)
-			       (list "mark two" 0 play-between-marks-m2 max-mark-id
-				     (if (provided? 'snd-gtk)
-					 (lambda (w context)
-					   (set! play-between-marks-m2 ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w)))
-					   (set-syncs))
-					 (lambda (w context info)
-					   (set! play-between-marks-m2 ((*motif* '.value) info))
-					   (set-syncs)))
-				     1))))
+			 (list (let ((plyf1 (if (provided? 'snd-gtk)
+						(lambda (w context)
+						  (set! play-between-marks-m1 ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w)))
+						  (set-syncs))
+						(lambda (w context info)
+						  (set! play-between-marks-m1 ((*motif* '.value) info))
+						  (set-syncs)))))
+				 (list "mark one" 0 play-between-marks-m1 max-mark-id plyf1 1))
+			       (let ((plyf2 (if (provided? 'snd-gtk)
+						(lambda (w context)
+						  (set! play-between-marks-m2 ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w)))
+						  (set-syncs))
+						(lambda (w context info)
+						  (set! play-between-marks-m2 ((*motif* '.value) info))
+						  (set-syncs)))))
+				 (list "mark two" 0 play-between-marks-m2 max-mark-id plyf2 1)))))
 		  
 		  (if (provided? 'snd-motif)
 		      (with-let (sublet *motif*)
@@ -242,16 +240,16 @@
 	  (if use-combo-box-for-buffer-size
 	      ;; this block creates a "combo box" to handle the buffer size
 	      (let* ((s1 (XmStringCreateLocalized "Buffer size"))
-		     (frame (XtCreateManagedWidget "frame" xmFrameWidgetClass (XtParent (car sliders))
-						   (list XmNborderWidth 1
-							 XmNshadowType XmSHADOW_ETCHED_IN
-							 XmNpositionIndex 2)))
-		     (frm (XtCreateManagedWidget "frm" xmFormWidgetClass frame
-						 (list XmNleftAttachment      XmATTACH_FORM
-						       XmNrightAttachment     XmATTACH_FORM
-						       XmNtopAttachment       XmATTACH_FORM
-						       XmNbottomAttachment    XmATTACH_FORM
-						       XmNbackground          *basic-color*)))
+		     (frm (let ((frame (XtCreateManagedWidget "frame" xmFrameWidgetClass (XtParent (car sliders))
+							      (list XmNborderWidth 1
+								    XmNshadowType XmSHADOW_ETCHED_IN
+								    XmNpositionIndex 2))))
+			    (XtCreateManagedWidget "frm" xmFormWidgetClass frame
+						   (list XmNleftAttachment      XmATTACH_FORM
+							 XmNrightAttachment     XmATTACH_FORM
+							 XmNtopAttachment       XmATTACH_FORM
+							 XmNbottomAttachment    XmATTACH_FORM
+							 XmNbackground          *basic-color*))))
 		     (lab (XtCreateManagedWidget "Buffer size" xmLabelWidgetClass frm
 						 (list XmNleftAttachment      XmATTACH_FORM
 						       XmNrightAttachment     XmATTACH_NONE
@@ -281,16 +279,16 @@
 
 	      ;; this block creates a "radio button box"
 	      (let* ((s1 (XmStringCreateLocalized "Buffer size"))
-		     (frame (XtCreateManagedWidget "frame" xmFrameWidgetClass (XtParent (car sliders))
-						   (list XmNborderWidth 1
-							 XmNshadowType XmSHADOW_ETCHED_IN
-							 XmNpositionIndex 2)))
-		     (frm (XtCreateManagedWidget "frm" xmFormWidgetClass frame
-						 (list XmNleftAttachment      XmATTACH_FORM
-						       XmNrightAttachment     XmATTACH_FORM
-						       XmNtopAttachment       XmATTACH_FORM
-						       XmNbottomAttachment    XmATTACH_FORM
-						       XmNbackground          *basic-color*)))
+		     (frm (let ((frame (XtCreateManagedWidget "frame" xmFrameWidgetClass (XtParent (car sliders))
+							      (list XmNborderWidth 1
+								    XmNshadowType XmSHADOW_ETCHED_IN
+								    XmNpositionIndex 2))))
+			    (XtCreateManagedWidget "frm" xmFormWidgetClass frame
+						   (list XmNleftAttachment      XmATTACH_FORM
+							 XmNrightAttachment     XmATTACH_FORM
+							 XmNtopAttachment       XmATTACH_FORM
+							 XmNbottomAttachment    XmATTACH_FORM
+							 XmNbackground          *basic-color*))))
 		     (rc (XtCreateManagedWidget "rc" xmRowColumnWidgetClass frm
 						(list XmNorientation XmHORIZONTAL
 						      XmNradioBehavior #t
@@ -363,7 +361,8 @@
 	(define (trim-back-one-channel snd chn)
 	  (if (null? (marks snd chn))
 	      (status-report "trim-back needs a mark" snd)
-	      (let ((endpt (mark-sample (car (reverse (marks snd chn))))))
+	      (let ((endpt (let ((ms (marks snd chn)))
+			     (mark-sample (list-ref ms (- (length ms) 1))))))
 		(delete-samples (+ endpt 1) (- (framples snd chn) endpt)))))
 	(if (> snc 0)
 	    (apply map
@@ -388,7 +387,8 @@
 	      (as-one-edit
 	       (lambda ()
 		 (delete-samples 0 (mark-sample (car (marks snd chn))) snd chn)
-		 (let ((endpt (mark-sample (car (reverse (marks snd chn))))))
+		 (let ((endpt (let ((ms (marks snd chn)))
+				(mark-sample (list-ref ms (- (length ms) 1))))))
 		   (delete-samples (+ endpt 1) (- (framples snd chn) endpt))))
 	       "crop")))
 	(if (> snc 0)
@@ -458,16 +458,15 @@ between two marks,using the granulate generator to fix up the selection duration
 	    (set! sliders
 		  (add-sliders 
 		   fit-to-mark-dialog
-		   (list (list "mark one" 0 initial-fit-to-mark-one 20
-			       (if (provided? 'snd-gtk)
-				   (lambda (w context) (set! fit-to-mark-one ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
-				   (lambda (w context info) (set! fit-to-mark-one ((*motif* '.value) info))))
-			       1)
-			 (list "mark two" 0 initial-fit-to-mark-two 20
-			       (if (provided? 'snd-gtk)
-				   (lambda (w context) (set! fit-to-mark-two ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
-				   (lambda (w context info) (set! fit-to-mark-two (.value info))))
-			       1))))))
+		   (list (let ((fitf1 (if (provided? 'snd-gtk)
+					 (lambda (w context) (set! fit-to-mark-one ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
+					 (lambda (w context info) (set! fit-to-mark-one ((*motif* '.value) info))))))
+			   (list "mark one" 0 initial-fit-to-mark-one 20 fitf1 1))
+			 (let ((fitf2 (if (provided? 'snd-gtk)
+					  (lambda (w context) (set! fit-to-mark-two ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
+					  (lambda (w context info) (set! fit-to-mark-two (.value info))))))
+			   (list "mark two" 0 initial-fit-to-mark-two 20 fitf2 1)))))))
+
 	(activate-dialog fit-to-mark-dialog))
       
       (set! fit-to-mark-menu-label (add-to-menu marks-menu "Fit selection to marks" post-fit-to-mark-dialog))))
@@ -543,16 +542,15 @@ between two marks,using the granulate generator to fix up the selection duration
 	    (set! sliders
 		  (add-sliders 
 		   define-by-mark-dialog
-		   (list (list "mark one" 0 initial-define-by-mark-one 25
-			       (if (provided? 'snd-gtk)
-				   (lambda (w context) (set! define-by-mark-one ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
-				   (lambda (w context info) (set! define-by-mark-one ((*motif* '.value) info))))
-			       1)
-			 (list "mark two" 0 initial-define-by-mark-two 25
-			       (if (provided? 'snd-gtk)
-				   (lambda (w context) (set! define-by-mark-two ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
-				   (lambda (w context info) (set! define-by-mark-two ((*motif* '.value) info))))
-			       1))))))
+		   (list (let ((def1 (if (provided? 'snd-gtk)
+					 (lambda (w context) (set! define-by-mark-one ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
+					 (lambda (w context info) (set! define-by-mark-one ((*motif* '.value) info))))))
+			   (list "mark one" 0 initial-define-by-mark-one 25 def1 1))
+			 (let ((def2 (if (provided? 'snd-gtk)
+					 (lambda (w context) (set! define-by-mark-two ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
+					 (lambda (w context info) (set! define-by-mark-two ((*motif* '.value) info))))))
+			   (list "mark two" 0 initial-define-by-mark-two 25 def2 1)))))))
+
 	(activate-dialog define-by-mark-dialog))
       
       (set! define-by-mark-menu-label (add-to-menu marks-menu "Define selection by marks" post-define-by-mark-dialog))))
@@ -702,20 +700,22 @@ between two marks,using the granulate generator to fix up the selection duration
 					       XmNbackground          *basic-color*))))
 	    (for-each
 	     (lambda (parent top-label offset)
-	       (let* ((main-label (XtCreateManagedWidget top-label xmLabelWidgetClass parent
-							 (list XmNleftAttachment      XmATTACH_FORM
-							       XmNrightAttachment     XmATTACH_FORM
-							       XmNtopAttachment       XmATTACH_FORM
-							       XmNbottomAttachment    XmATTACH_NONE)))
-		      (main-frame (XtCreateManagedWidget "fr"  xmFrameWidgetClass parent
-							 (list XmNleftAttachment      XmATTACH_FORM
-							       XmNrightAttachment     XmATTACH_FORM
-							       XmNtopAttachment       XmATTACH_WIDGET
-							       XmNtopWidget           main-label
-							       XmNbottomAttachment    XmATTACH_FORM
-							       XmNshadowThickness     6
-							       XmNshadowType          XmSHADOW_ETCHED_OUT)))
-		      (frame-form (XtCreateManagedWidget "fform" xmFormWidgetClass main-frame ()))
+	       (let* ((frame-form 
+		       (let ((main-frame 
+			      (let ((main-label (XtCreateManagedWidget top-label xmLabelWidgetClass parent
+								       (list XmNleftAttachment      XmATTACH_FORM
+									     XmNrightAttachment     XmATTACH_FORM
+									     XmNtopAttachment       XmATTACH_FORM
+									     XmNbottomAttachment    XmATTACH_NONE))))
+				(XtCreateManagedWidget "fr"  xmFrameWidgetClass parent
+						       (list XmNleftAttachment      XmATTACH_FORM
+							     XmNrightAttachment     XmATTACH_FORM
+							     XmNtopAttachment       XmATTACH_WIDGET
+							     XmNtopWidget           main-label
+							     XmNbottomAttachment    XmATTACH_FORM
+							     XmNshadowThickness     6
+							     XmNshadowType          XmSHADOW_ETCHED_OUT)))))
+			 (XtCreateManagedWidget "fform" xmFormWidgetClass main-frame ())))
 		      (top-frame (XtCreateManagedWidget "topf" xmFrameWidgetClass frame-form
 							(list XmNleftAttachment      XmATTACH_FORM
 							      XmNrightAttachment     XmATTACH_FORM
@@ -780,28 +780,31 @@ between two marks,using the granulate generator to fix up the selection duration
 							       XmNtopAttachment       XmATTACH_NONE
 							       XmNbottomAttachment    XmATTACH_POSITION
 							       XmNbottomPosition      90)))
-		      (bottom-form (XtCreateManagedWidget "bform" xmFormWidgetClass frame-form
-							  (list XmNleftAttachment      XmATTACH_FORM
-								XmNrightAttachment     XmATTACH_FORM
-								XmNtopAttachment       XmATTACH_WIDGET
-								XmNtopWidget           top-frame
-								XmNbottomAttachment    XmATTACH_FORM)))
-		      (bottom-left (XtCreateManagedWidget "bleft" xmFormWidgetClass bottom-form
-							  (list XmNleftAttachment      XmATTACH_FORM
-								XmNrightAttachment     XmATTACH_NONE
-								XmNtopAttachment       XmATTACH_FORM
-								XmNbottomAttachment    XmATTACH_FORM)))
-		      (bottom-left-label (XtCreateManagedWidget "Loop Mode" xmLabelWidgetClass bottom-left
-								(list XmNleftAttachment      XmATTACH_FORM
-								      XmNrightAttachment     XmATTACH_FORM
-								      XmNtopAttachment       XmATTACH_FORM
-								      XmNbottomAttachment    XmATTACH_NONE)))
-		      (bottom-left-button (XtCreateManagedWidget "forwards" xmPushButtonWidgetClass bottom-left
-								 (list XmNleftAttachment      XmATTACH_FORM
-								       XmNrightAttachment     XmATTACH_FORM
-								       XmNtopAttachment       XmATTACH_WIDGET
-								       XmNtopWidget           bottom-left-label
-								       XmNbottomAttachment    XmATTACH_FORM)))
+		      (bottom-left-button 
+		       (let ((bottom-left-label 
+			      (let ((bottom-left 
+				     (let ((bottom-form (XtCreateManagedWidget "bform" xmFormWidgetClass frame-form
+									       (list XmNleftAttachment      XmATTACH_FORM
+										     XmNrightAttachment     XmATTACH_FORM
+										     XmNtopAttachment       XmATTACH_WIDGET
+										     XmNtopWidget           top-frame
+										     XmNbottomAttachment    XmATTACH_FORM))))
+				       (XtCreateManagedWidget "bleft" xmFormWidgetClass bottom-form
+							      (list XmNleftAttachment      XmATTACH_FORM
+								    XmNrightAttachment     XmATTACH_NONE
+								    XmNtopAttachment       XmATTACH_FORM
+								    XmNbottomAttachment    XmATTACH_FORM)))))
+				(XtCreateManagedWidget "Loop Mode" xmLabelWidgetClass bottom-left
+						       (list XmNleftAttachment      XmATTACH_FORM
+							     XmNrightAttachment     XmATTACH_FORM
+							     XmNtopAttachment       XmATTACH_FORM
+							     XmNbottomAttachment    XmATTACH_NONE)))))
+			 (XtCreateManagedWidget "forwards" xmPushButtonWidgetClass bottom-left
+						(list XmNleftAttachment      XmATTACH_FORM
+						      XmNrightAttachment     XmATTACH_FORM
+						      XmNtopAttachment       XmATTACH_WIDGET
+						      XmNtopWidget           bottom-left-label
+						      XmNbottomAttachment    XmATTACH_FORM))))
 		      (range-in-secs #t))
 		 (let ((mode 1))
 		   (XtAddCallback bottom-left-button
diff --git a/marks.scm b/marks.scm
index df6f2cc..34c9f47 100644
--- a/marks.scm
+++ b/marks.scm
@@ -72,15 +72,15 @@
 				   (sounds))
 				  #f))))
 	(if (pair? mark-setting)
-	    (let* ((snd (car mark-setting))
-		   (chn (cadr mark-setting))
-		   (max-edits (apply + (edits snd chn)))
-		   (descr ())
-		   (header (list id sound: snd (short-file-name snd) channel: chn)))
-	      (do ((i max-edits (- i 1)))
-		  ((< i 0))
-		(set! descr (cons (and (member id (marks snd chn i)) (mark-sample id i)) descr)))
-	      (cons header descr))
+	    (let ((snd (car mark-setting))
+		  (chn (cadr mark-setting)))
+	      (let ((max-edits (apply + (edits snd chn)))
+		    (descr ())
+		    (header (list id sound: snd (short-file-name snd) channel: chn)))
+		(do ((i max-edits (- i 1)))
+		    ((< i 0))
+		  (set! descr (cons (and (member id (marks snd chn i)) (mark-sample id i)) descr)))
+		(cons header descr)))
 	    (error 'no-such-mark (list "describe-mark" id)))))))
 
 
@@ -127,32 +127,32 @@
 	    (snd-print (format #f "~A is in ~A[~A] but ~A is in ~A[~A]?" 
 			       m1 (car m1-home) (cadr m1-home)
 			       m2 (car m2-home) (cadr m2-home)))
-	    (let* ((mark-samps (- m2-samp m1-samp))
-		   (selection-samps (selection-framples))
-		   (reg-data (let ((data (make-float-vector selection-samps))
-				   (rd (make-sampler (selection-position))))
-			       (do ((i 0 (+ 1 i)))
-				   ((= i selection-samps))
-				 (set! (data i) (rd)))
-			       data))
-		   (inctr 0))
-	      (if (= mark-samps selection-samps)
-		  (map-channel (lambda (y) 
-				 (let ((val (+ y (reg-data inctr))))
-				   (set! inctr (+ 1 inctr))
-				   val))
-			       m1-samp mark-samps (car m1-home) (cadr m1-home))
-		  (let ((gr (make-granulate :expansion (/ mark-samps selection-samps)
-					    :input (lambda (dir)
-						     (if (or (>= inctr selection-samps)
-							     (< inctr 0))
-							 0.0
-							 (let ((val (reg-data inctr)))
-							   (set! inctr (+ inctr dir))
-							   val))))))
-		    (map-channel (lambda (y)
-				   (+ y (granulate gr)))
-				 m1-samp mark-samps (car m1-home) (cadr m1-home))))))))))
+	    (let ((selection-samps (selection-framples)))
+	      (let ((mark-samps (- m2-samp m1-samp))
+		    (reg-data (let ((data (make-float-vector selection-samps))
+				    (rd (make-sampler (selection-position))))
+				(do ((i 0 (+ 1 i)))
+				    ((= i selection-samps))
+				  (set! (data i) (rd)))
+				data))
+		    (inctr 0))
+		(if (= mark-samps selection-samps)
+		    (map-channel (lambda (y) 
+				   (let ((val (+ y (reg-data inctr))))
+				     (set! inctr (+ 1 inctr))
+				     val))
+				 m1-samp mark-samps (car m1-home) (cadr m1-home))
+		    (let ((gr (make-granulate :expansion (/ mark-samps selection-samps)
+					      :input (lambda (dir)
+						       (if (or (>= inctr selection-samps)
+							       (< inctr 0))
+							   0.0
+							   (let ((val (reg-data inctr)))
+							     (set! inctr (+ inctr dir))
+							     val))))))
+		      (map-channel (lambda (y)
+				     (+ y (granulate gr)))
+				   m1-samp mark-samps (car m1-home) (cadr m1-home)))))))))))
 
 
 ;;; -------- pad-marks inserts silence before each in a list of marks
@@ -219,14 +219,14 @@
 				    (find-another-mark (cdr ms)))))))))
 	(if (and (mark? m1)
 		 (mark? m2))
-	    (let* ((pos1 (mark-sample m1))
-		   (pos2 (mark-sample m2))
-		   (beg (min pos1 pos2))
-		   (end (max pos1 pos2)))
-	      (play (car (mark-home m1)) 
-		    :channel (cadr (mark-home m1))
-		    :start beg 
-		    :end end)))))))
+	    (let ((pos1 (mark-sample m1))
+		  (pos2 (mark-sample m2)))
+	      (let ((beg (min pos1 pos2))
+		    (end (max pos1 pos2)))
+		(play (car (mark-home m1)) 
+		      :channel (cadr (mark-home m1))
+		      :start beg 
+		      :end end))))))))
 
 
 ;;; -------- report-mark-names causes mark names to be posted in the minibuffer as a sound is played
@@ -236,18 +236,18 @@
     (lambda ()
       (hook-push start-playing-hook 
 		 (lambda (snd)
-		   (let* ((marklist (marks snd 0))
-			  (report-mark-names-play-hook
-			   (let ((samplist (map mark-sample marklist))
-				 (samp 0))
-			     (lambda (hook)
-			       (set! samp (+ samp (hook 'size)))
-			       (if (and (pair? samplist)
-					(>= samp (car samplist)))
-				   (begin
-				     (status-report (mark-name (car marklist)) snd)
-				     (set! marklist (cdr marklist))
-				     (set! samplist (cdr samplist))))))))
+		   (let ((report-mark-names-play-hook
+			   (let ((marklist (marks snd 0)))
+			     (let ((samplist (map mark-sample marklist))
+				   (samp 0))
+			       (lambda (hook)
+				 (set! samp (+ samp (hook 'size)))
+				 (if (and (pair? samplist)
+					  (>= samp (car samplist)))
+				     (begin
+				       (status-report (mark-name (car marklist)) snd)
+				       (set! marklist (cdr marklist))
+				       (set! samplist (cdr samplist)))))))))
 		     (letrec ((report-mark-names-stop-playing-hook 
 			       (lambda (hook)
 				 (status-report "" (hook 'snd))
@@ -311,13 +311,13 @@
 			   (let* ((samp (mark-sample mrk))
 				  (bps (/ (beats-per-minute snd chn) 60.0))
 				  (sr (srate snd))
-				  (beat (floor (/ (* samp bps) sr)))
-				  (lower (floor (/ (* beat sr) bps)))
-				  (higher (floor (/ (* (+ 1 beat) sr) bps))))
-			     (set! (mark-sample mrk)
-				   (if (< (- samp lower) (- higher samp))
-				       lower
-				       higher)))))))))))
+				  (beat (floor (/ (* samp bps) sr))))
+			     (let ((lower (floor (/ (* beat sr) bps)))
+				   (higher (floor (/ (* (+ 1 beat) sr) bps))))
+			       (set! (mark-sample mrk)
+				     (if (< (- samp lower) (- higher samp))
+					 lower
+					 higher))))))))))))
 
 ;;; -------- mark-explode
 ;;;
diff --git a/mix.scm b/mix.scm
index 5871db5..ed34b5d 100644
--- a/mix.scm
+++ b/mix.scm
@@ -77,14 +77,14 @@
 	 (snd (car (mix-home id)))
 	 (bps (/ (beats-per-minute snd (cadr (mix-home id))) 60.0))
 	 (sr (srate snd))
-	 (beat (floor (/ (* samp bps) sr)))
-	 (lower (floor (/ (* beat sr) bps)))
-	 (higher (floor (/ (* (+ 1 beat) sr) bps))))
-    (set! (mix-position id)
-	  (if (< (- samp lower) (- higher samp))
-	      (max 0 lower)
-	      higher))
-    #t))
+	 (beat (floor (/ (* samp bps) sr))))
+    (let ((lower (floor (/ (* beat sr) bps)))
+	  (higher (floor (/ (* (+ 1 beat) sr) bps))))
+      (set! (mix-position id)
+	    (if (< (- samp lower) (- higher samp))
+		(max 0 lower)
+		higher))
+      #t)))
 
 (define snap-mix-to-beat
   (let ((documentation "(snap-mix-to-beat) forces a dragged mix to end up on a beat (see beats-per-minute).  (hook-remove mix-release-hook snap-mix-1) to cancel."))
@@ -93,16 +93,16 @@
 
 
 (define (snap-syncd-mixes-1 id samps-moved)
-  (let* ((samp (+ samps-moved (mix-position id)))
-	 (snd (car (mix-home id)))
-	 (bps (/ (beats-per-minute snd (cadr (mix-home id))) 60.0))
-	 (sr (srate snd))
-	 (beat (floor (/ (* samp bps) sr)))
-	 (lower (floor (/ (* beat sr) bps)))
-	 (higher (floor (/ (* (+ 1 beat) sr) bps)))
-	 (new-position (if (< (- samp lower) (- higher samp))
-			   (max 0 lower)
-			   higher))
+  (let* ((new-position (let* ((samp (+ samps-moved (mix-position id)))
+			      (snd (car (mix-home id)))
+			      (bps (/ (beats-per-minute snd (cadr (mix-home id))) 60.0))
+			      (sr (srate snd))
+			      (beat (floor (/ (* samp bps) sr))))
+			 (let ((lower (floor (/ (* beat sr) bps)))
+			       (higher (floor (/ (* (+ 1 beat) sr) bps))))
+			   (if (< (- samp lower) (- higher samp))
+			       (max 0 lower)
+			       higher))))
 	 (true-samps-moved (- new-position (mix-position id))))
     (if (= (sync id) 0)
 	(set! (mix-position id) new-position)
@@ -328,15 +328,15 @@ last end of the mixes in 'mix-list'"))
 	     (beg (apply min mix-begs))
 	     (end (apply max mix-ends))
 	     (first-x (car overall-amp-env))
-	     (last-x (envelope-last-x overall-amp-env))
-	     (x-scale (/ (- last-x first-x) (- (+ end 1) beg))))
+	     (x-scale (let ((last-x (envelope-last-x overall-amp-env)))
+			(/ (- last-x first-x) (- (+ end 1) beg)))))
 	(as-one-edit
 	 (lambda ()
 	   (for-each 
 	    (lambda (m)
-	      (let* ((beg-x (+ first-x (* x-scale (- (mix-position m) beg))))
-		     (end-x (+ first-x (* x-scale (- (+ (mix-position m) (framples m)) beg))))
-		     (wenv (window-envelope beg-x end-x overall-amp-env)))
+	      (let ((wenv (let ((beg-x (+ first-x (* x-scale (- (mix-position m) beg))))
+				(end-x (+ first-x (* x-scale (- (+ (mix-position m) (framples m)) beg)))))
+			    (window-envelope beg-x end-x overall-amp-env))))
 		(set! (mix-amp-env m) (if (null? (mix-amp-env m)) 
 					  wenv
 					  (multiply-envelopes (mix-amp-env m) wenv)))))
@@ -409,95 +409,94 @@ is no longer accessible.  pan-mix returns a list of the mixes performing the
 panning operation."))
     
     (lambda* (name beg pan snd auto-delete)
-      
-      (let* ((index (or snd (selected-sound) (and (sounds) (car (sounds)))))
-	     (deletion-choice (if auto-delete 3 0)) ; multichannel deletion case
-	     (end-deletion-choice (if (= deletion-choice 3) 4 0)))
-	(if (not (sound? index))
-	    (error 'no-such-sound (list "pan-mix" snd)))
-	(if (not (file-exists? name))
-	    (error 'no-such-file (list "pan-mix" name)))
-	
-	(as-one-edit
-	 (lambda ()
-	   
-	   (define (invert-envelope e)
-	     (if (null? e)
-		 ()
-		 (cons (car e) (cons (- 1.0 (cadr e)) (invert-envelope (cddr e))))))
-	   
-	   (let ((incoming-chans (channels name))
-		 (receiving-chans (channels index)))
+      (let ((deletion-choice (if auto-delete 3 0))) ; multichannel deletion case
+	(let ((index (or snd (selected-sound) (and (sounds) (car (sounds)))))
+	      (end-deletion-choice (if (= deletion-choice 3) 4 0)))
+	  (if (not (sound? index))
+	      (error 'no-such-sound (list "pan-mix" snd)))
+	  (if (not (file-exists? name))
+	      (error 'no-such-file (list "pan-mix" name)))
+	  
+	  (as-one-edit
+	   (lambda ()
+	     
+	     (define (invert-envelope e)
+	       (if (null? e)
+		   ()
+		   (cons (car e) (cons (- 1.0 (cadr e)) (invert-envelope (cddr e))))))
 	     
-	     (if (= incoming-chans 1)
-		 
-		 ;; mono input
-		 
-		 (if (= receiving-chans 1)
-		     
-		     ;; mono to mono = just scale or envelope
-		     (let ((idx (mix name beg 0 index 0 *with-mix-tags* auto-delete))) ; file start in-chan snd chn ...
-		       (and (pair? idx)
-			    (mix? (car idx))
-			    (let ((id (car idx)))
-			      (set! (mix-amp-env id) (invert-envelope pan))
-			      idx)))
-		     
-		     ;; mono to stereo
-		     (let ((idx0 (mix name beg 0 index 0 *with-mix-tags* deletion-choice))
-			   (idx1 (mix name beg 0 index 1 *with-mix-tags* end-deletion-choice)))
-		       (and (pair? idx0)
-			    (mix? (car idx0))
-			    (pair? idx1)
-			    (mix? (car idx1))
-			    (let ((id0 (car idx0))
-				  (id1 (car idx1)))
-			      (set! (mix-amp-env id0) (invert-envelope pan))
-			      (set! (mix-amp-env id1) pan)
-			      (list id0 id1)))))
-		 
-		 ;; stero input
-		 
-		 (if (= receiving-chans 1)
-		     
-		     ;; stereo -> mono => scale or envelope both input chans into the output
-		     (let ((idx0 (mix name beg 0 index 0 *with-mix-tags* deletion-choice))
-			   (idx1 (mix name beg 1 index 0 *with-mix-tags* end-deletion-choice)))
-		       (and (pair? idx0)
-			    (mix? (car idx0))
-			    (pair? idx1)
-			    (mix? (car idx1))
-			    (let ((id0 (car idx0))
-				  (id1 (car idx1)))
-			      (set! (mix-amp-env id0) (invert-envelope pan))
-			      (set! (mix-amp-env id1) (invert-envelope pan))
-			      (list id0 id1))))
-		     
-		     ;; stereo -> stereo => incoming chans are treated equally, each panned into outputs
-		     (let ((idx00 (mix name beg 0 index 0 *with-mix-tags* deletion-choice))
-			   (idx01 (mix name beg 0 index 1 *with-mix-tags* deletion-choice))
-			   (idx10 (mix name beg 1 index 0 *with-mix-tags* deletion-choice))
-			   (idx11 (mix name beg 1 index 1 *with-mix-tags* end-deletion-choice)))
+	     (let ((incoming-chans (channels name))
+		   (receiving-chans (channels index)))
+	       
+	       (if (= incoming-chans 1)
+		   
+		   ;; mono input
+		   
+		   (if (= receiving-chans 1)
 		       
-		       (and (pair? idx00)
-			    (mix? (car idx00))
-			    (pair? idx01)
-			    (mix? (car idx01))
-			    (pair? idx10)
-			    (mix? (car idx10))
-			    (pair? idx11)
-			    (mix? (car idx11))
-			    (let ((id00 (car idx00))
-				  (id01 (car idx01))
-				  (id10 (car idx10))
-				  (id11 (car idx11)))
-			      (set! (mix-amp-env id00) (invert-envelope pan))
-			      (set! (mix-amp-env id10) (invert-envelope pan))
-			      (set! (mix-amp-env id01) pan)
-			      (set! (mix-amp-env id11) pan)
-			      (list id00 id01 id10 id11)))))))))))))
-
-
+		       ;; mono to mono = just scale or envelope
+		       (let ((idx (mix name beg 0 index 0 *with-mix-tags* auto-delete))) ; file start in-chan snd chn ...
+			 (and (pair? idx)
+			      (mix? (car idx))
+			      (let ((id (car idx)))
+				(set! (mix-amp-env id) (invert-envelope pan))
+				idx)))
+		       
+		       ;; mono to stereo
+		       (let ((idx0 (mix name beg 0 index 0 *with-mix-tags* deletion-choice))
+			     (idx1 (mix name beg 0 index 1 *with-mix-tags* end-deletion-choice)))
+			 (and (pair? idx0)
+			      (mix? (car idx0))
+			      (pair? idx1)
+			      (mix? (car idx1))
+			      (let ((id0 (car idx0))
+				    (id1 (car idx1)))
+				(set! (mix-amp-env id0) (invert-envelope pan))
+				(set! (mix-amp-env id1) pan)
+				(list id0 id1)))))
+		   
+		   ;; stero input
+		   
+		   (if (= receiving-chans 1)
+		       
+		       ;; stereo -> mono => scale or envelope both input chans into the output
+		       (let ((idx0 (mix name beg 0 index 0 *with-mix-tags* deletion-choice))
+			     (idx1 (mix name beg 1 index 0 *with-mix-tags* end-deletion-choice)))
+			 (and (pair? idx0)
+			      (mix? (car idx0))
+			      (pair? idx1)
+			      (mix? (car idx1))
+			      (let ((id0 (car idx0))
+				    (id1 (car idx1)))
+				(set! (mix-amp-env id0) (invert-envelope pan))
+				(set! (mix-amp-env id1) (invert-envelope pan))
+				(list id0 id1))))
+		       
+		       ;; stereo -> stereo => incoming chans are treated equally, each panned into outputs
+		       (let ((idx00 (mix name beg 0 index 0 *with-mix-tags* deletion-choice))
+			     (idx01 (mix name beg 0 index 1 *with-mix-tags* deletion-choice))
+			     (idx10 (mix name beg 1 index 0 *with-mix-tags* deletion-choice))
+			     (idx11 (mix name beg 1 index 1 *with-mix-tags* end-deletion-choice)))
+			 
+			 (and (pair? idx00)
+			      (mix? (car idx00))
+			      (pair? idx01)
+			      (mix? (car idx01))
+			      (pair? idx10)
+			      (mix? (car idx10))
+			      (pair? idx11)
+			      (mix? (car idx11))
+			      (let ((id00 (car idx00))
+				    (id01 (car idx01))
+				    (id10 (car idx10))
+				    (id11 (car idx11)))
+				(set! (mix-amp-env id00) (invert-envelope pan))
+				(set! (mix-amp-env id10) (invert-envelope pan))
+				(set! (mix-amp-env id01) pan)
+				(set! (mix-amp-env id11) pan)
+				(list id00 id01 id10 id11))))))))))))))
+  
+  
 (define pan-mix-selection 
   (let ((documentation "(pan-mix-selection start pan-env snd) mixes the current selection  into the sound 'snd'
 starting at 'start' (in samples) using 'pan-env' to pan (0: all chan 0, 1: all chan 1)."))
diff --git a/musglyphs.scm b/musglyphs.scm
index e04bf87..aaa4620 100644
--- a/musglyphs.scm
+++ b/musglyphs.scm
@@ -35,21 +35,21 @@
 (define (make-bezier-1 x0 y0 x1 y1 x2 y2 x3 y3 n)
   ;; creates a line-segment approximation of a bezier curve: n = number of segments
   ;; this is built into Snd as make-bezier, but I wanted an all Scheme version
-  (let* ((cx (* 3 (- x1 x0)))
-	 (cy (* 3 (- y1 y0)))
-	 (bx (- (* 3 (- x2 x1)) cx))
-	 (by (- (* 3 (- y2 y1)) cy))
-	 (ax (- x3 x0 cx bx))
-	 (ay (- y3 y0 cy by))
-	 (incr (/ 1.0 n))
-	 (pts (make-vector (* 2 (+ n 1)))))
-    (set! (pts 0) x0)
-    (set! (pts 1) y0)
-    (do ((i 0 (+ 1 i))
-	 (val incr (+ val incr)))
-	((> i n) pts)
-      (set! (pts (* i 2)) (floor (+ x0 (* val (+ cx (* val (+ bx (* val ax))))))))
-      (set! (pts (+ (* i 2) 1)) (floor (+ y0 (* val (+ cy (* val (+ by (* val ay)))))))))))
+  (let ((cx (* 3 (- x1 x0)))
+	(cy (* 3 (- y1 y0))))
+    (let ((bx (- (* 3 (- x2 x1)) cx))
+	  (by (- (* 3 (- y2 y1)) cy)))
+      (let ((ax (- x3 x0 cx bx))
+	    (ay (- y3 y0 cy by))
+	    (incr (/ 1.0 n))
+	    (pts (make-vector (* 2 (+ n 1)))))
+	(set! (pts 0) x0)
+	(set! (pts 1) y0)
+	(do ((i 0 (+ 1 i))
+	     (val incr (+ val incr)))
+	    ((> i n) pts)
+	  (set! (pts (* i 2)) (floor (+ x0 (* val (+ cx (* val (+ bx (* val ax))))))))
+	  (set! (pts (+ (* i 2) 1)) (floor (+ y0 (* val (+ cy (* val (+ by (* val ay)))))))))))))
 
 ;; pass our Snd context into the graphics procedures (there's probably a cleaner way)
 (define ps-snd 0)
@@ -234,23 +234,23 @@
     (floor (* 12 (+ (log (/ freq 16.351) 2) (/ 1.0 24)))))
 
   (let* ((pitch (frequency->pitch freq))
-	 (pclass (modulo pitch 12))
-	 (octave (floor (/ pitch 12)))
-	 (cclass (case pclass
-		   ((0 1) 0) ; c-sharp
-		   ((2) 1) 
-		   ((3 4) 2) ; e-flat
-		   ((5 6) 3) ; f-sharp
-		   ((7) 4) 
-		   ((8 9) 5) ; a-flat
-		   (else 6)))) ; b-flat
-    (list pclass octave 
-	  (if (memv pclass '(1 6))
-	      :sharp
-	      (and (memv pclass '(3 8 10)) 
-		   :flat))
-	  cclass
-	  pitch)))
+	 (pclass (modulo pitch 12)))
+    (let ((octave (floor (/ pitch 12)))
+	  (cclass (case pclass
+		    ((0 1) 0) ; c-sharp
+		    ((2) 1) 
+		    ((3 4) 2) ; e-flat
+		    ((5 6) 3) ; f-sharp
+		    ((7) 4) 
+		    ((8 9) 5) ; a-flat
+		    (else 6)))) ; b-flat
+      (list pclass octave 
+	    (if (memv pclass '(1 6))
+		:sharp
+		(and (memv pclass '(3 8 10)) 
+		     :flat))
+	    cclass
+	    pitch))))
 
 (define note-data->pclass car)
 (define note-data->octave cadr)
@@ -280,94 +280,93 @@
 
 
 (define (draw-a-note freq dur x0 ty0 size with-clef treble)
-  (let* ((line-sep (* size .250))
-	 (note-data (frequency->note-octave-and-accidental freq))
+  (let* ((note-data (frequency->note-octave-and-accidental freq))
 	 (accidental (note-data->accidental note-data))
 	 (cclass (note-data->cclass note-data))
 	 (octave (note-data->octave note-data))
-	 ;(pitch (note-data->pitch note-data))
-	 (y0 (if treble treble-tag-y bass-tag-y))
-	 (width (* (+ (if with-clef (if treble 0.9 1.2) 0.75)
-		      (if accidental 0.1 0.0) 
-		      (if (< dur .8) 0.5 0.0)) 
-		   size))
-	 (line  (- (if treble 
-		       (+ (* (- 5 octave) 7) 3)
-		       (+ (* (- 3 octave) 7) 5))
-		   cclass))
-	 (notehead-x x0)
-	 (notehead-y y0))
-
-    (draw-staff x0 y0 width line-sep) 
-
-    (if with-clef
-	(begin
-	  (if treble 
-	      (draw-treble-clef x0 (+ y0 (* size .76)) size)
-	      (draw-bass-clef (+ x0 (* size .075)) (+ y0 (* size .26)) size))
-	  (set! x0 (+ x0 (* size .8))))
-	(set! x0 (+ x0 (* size (if accidental .1 .25)))))
-
-    ;; accidental
-    (if accidental
-	(begin
-	  ((if (eq? accidental :sharp) draw-sharp draw-flat) x0 (+ y0 (* .02 size) (* line-sep 0.5 line)) size)
-	  (set! x0 (+ x0 line-sep))))
-
-    ;; notehead
-    (set! notehead-y (+ y0 (* .02 size) (* line-sep 0.5 line)))
-    (set! notehead-x x0)
-    ((if (< dur 1.5)
-	 draw-quarter-note
-	 (if (< dur 3.5)
-	     draw-half-note
-	     draw-whole-note))
-     notehead-x notehead-y size)
-
-    ;; leger line(s)
-    (if (> line 9)
-	(do ((i 10 (+ i 2)))
-	    ((>= i line))
-	  (fill-rectangle-1 (floor (- x0 (* .1 size)))
-			  (floor (+ y0 (* -.02 size) (* line-sep 0.5 i)))
-			  (floor (* .5 size))
-			  (floor (* .05 size)))))
-    (if (< line 0)
-	(do ((i -2 (- i 2)))
-	    ((< i line))
-	  (fill-rectangle-1 (floor (- x0 (* .1 size)))
-			  (floor (+ y0 (* -.02 size) (* line-sep 0.5 i)))
-			  (floor (* .5 size))
-			  (floor (* .05 size)))))
-    
-    ;; stem
-    (if (< dur 3)
-	(fill-rectangle-1
-	 (if (> line 3) ; stem up
-	     (values (floor (+ x0 line-sep))
-		     (floor (+ y0 (* 0.02 size) (* size -0.8) (* line-sep 0.5 line))))
-	     (values (floor (- x0 (* size 0.02)))
-		     (floor (+ y0 (* line-sep line 0.5)))))
-	 (floor (* size 0.05))
-	 (floor (* size 0.8))))
-
-    ;; flags
-    (if (< dur .6)
-	(let ((base (+ y0 (* line-sep 0.5 line))))
-	  (if (> line 2)
-	      (draw-8th-flag-up (+ x0 line-sep) (+ base (* size -0.6)) size)
-	      (draw-8th-flag-down x0 (+ base (* .7 size)) size))
-	  (if (< dur .3)
-	      (begin
-		(if (> line 2)
-		    (draw-extend-flag-up (+ x0 line-sep) (+ base (* size -0.8)) size)
-		    (draw-extend-flag-down x0 (+ base (* .9 size)) size))
-		(if (< dur .15)
-		    (if (> line 2)
-			(draw-extend-flag-up (+ x0 line-sep) (+ base (* size -1.0)) size)
-			(draw-extend-flag-down x0 (+ base (* 1.1 size)) size)))))))
-    (list notehead-x notehead-y)))
-
+	 (y0 (if treble treble-tag-y bass-tag-y)))
+    (let ((line-sep (* size .250))
+	  (line  (- (if treble 
+			(+ (* (- 5 octave) 7) 3)
+			(+ (* (- 3 octave) 7) 5))
+		    cclass))
+	  (notehead-x x0)
+	  (notehead-y y0))
+      
+      (let ((width (* (+ (if with-clef (if treble 0.9 1.2) 0.75)
+			 (if accidental 0.1 0.0) 
+			 (if (< dur .8) 0.5 0.0)) 
+		      size)))
+	(draw-staff x0 y0 width line-sep))
+      
+      (if with-clef
+	  (begin
+	    (if treble 
+		(draw-treble-clef x0 (+ y0 (* size .76)) size)
+		(draw-bass-clef (+ x0 (* size .075)) (+ y0 (* size .26)) size))
+	    (set! x0 (+ x0 (* size .8))))
+	  (set! x0 (+ x0 (* size (if accidental .1 .25)))))
+      
+      ;; accidental
+      (if accidental
+	  (begin
+	    ((if (eq? accidental :sharp) draw-sharp draw-flat) x0 (+ y0 (* .02 size) (* line-sep 0.5 line)) size)
+	    (set! x0 (+ x0 line-sep))))
+      
+      ;; notehead
+      (set! notehead-y (+ y0 (* .02 size) (* line-sep 0.5 line)))
+      (set! notehead-x x0)
+      ((if (< dur 1.5)
+	   draw-quarter-note
+	   (if (< dur 3.5)
+	       draw-half-note
+	       draw-whole-note))
+       notehead-x notehead-y size)
+      
+      ;; leger line(s)
+      (if (> line 9)
+	  (do ((i 10 (+ i 2)))
+	      ((>= i line))
+	    (fill-rectangle-1 (floor (- x0 (* .1 size)))
+			      (floor (+ y0 (* -.02 size) (* line-sep 0.5 i)))
+			      (floor (* .5 size))
+			      (floor (* .05 size)))))
+      (if (< line 0)
+	  (do ((i -2 (- i 2)))
+	      ((< i line))
+	    (fill-rectangle-1 (floor (- x0 (* .1 size)))
+			      (floor (+ y0 (* -.02 size) (* line-sep 0.5 i)))
+			      (floor (* .5 size))
+			      (floor (* .05 size)))))
+      
+      ;; stem
+      (if (< dur 3)
+	  (fill-rectangle-1
+	   (if (> line 3) ; stem up
+	       (values (floor (+ x0 line-sep))
+		       (floor (+ y0 (* 0.02 size) (* size -0.8) (* line-sep 0.5 line))))
+	       (values (floor (- x0 (* size 0.02)))
+		       (floor (+ y0 (* line-sep line 0.5)))))
+	   (floor (* size 0.05))
+	   (floor (* size 0.8))))
+      
+      ;; flags
+      (if (< dur .6)
+	  (let ((base (+ y0 (* line-sep 0.5 line))))
+	    (if (> line 2)
+		(draw-8th-flag-up (+ x0 line-sep) (+ base (* size -0.6)) size)
+		(draw-8th-flag-down x0 (+ base (* .7 size)) size))
+	    (if (< dur .3)
+		(begin
+		  (if (> line 2)
+		      (draw-extend-flag-up (+ x0 line-sep) (+ base (* size -0.8)) size)
+		      (draw-extend-flag-down x0 (+ base (* .9 size)) size))
+		  (if (< dur .15)
+		      (if (> line 2)
+			  (draw-extend-flag-up (+ x0 line-sep) (+ base (* size -1.0)) size)
+			  (draw-extend-flag-down x0 (+ base (* 1.1 size)) size)))))))
+      (list notehead-x notehead-y))))
+  
 
 #|
 ;; this is the example in the documentation
diff --git a/nb.scm b/nb.scm
index 4a37ac1..b1df22d 100644
--- a/nb.scm
+++ b/nb.scm
@@ -102,11 +102,11 @@ It causes a description of the file to popup when the mouse crosses the filename
 	      (let ((info-widget (list-ref (dialog-widgets) 15)))
 		(if (and info-widget
 			 (not info-exists)) ; keep the help dialog from overlapping the files dialog
-		    (let* ((files-dialog (list-ref (dialog-widgets) 5))
-			   (files-position (widget-position files-dialog))
-			   (files-size (widget-size files-dialog)))
-		      (set! (widget-position info-widget) (list (+ (car files-position) (car files-size) 10)
-								(+ (cadr files-position) 10))))))))))))
+		    (let ((files-dialog (list-ref (dialog-widgets) 5)))
+		      (let ((files-position (widget-position files-dialog))
+			    (files-size (widget-size files-dialog)))
+			(set! (widget-position info-widget) (list (+ (car files-position) (car files-size) 10)
+								  (+ (cadr files-position) 10)))))))))))))
 
 
 (define (files-popdown-info)
diff --git a/new-effects.scm b/new-effects.scm
index 3b433c0..49c63b4 100644
--- a/new-effects.scm
+++ b/new-effects.scm
@@ -20,12 +20,12 @@
 	      (error 'no-such-mark (list "mark-related action requires two marks"))
 	      (if (= (length ms) 2)
 		  ms
-		  (let* ((lw (left-sample snd chn))
-			 (rw (right-sample snd chn))
-			 (cw (cursor snd chn))
-			 (favor (if (>= rw cw lw)
-				    cw
-				    (* .5 (+ lw rw)))))
+		  (let ((favor (let ((lw (left-sample snd chn))
+				     (rw (right-sample snd chn))
+				     (cw (cursor snd chn)))
+				 (if (>= rw cw lw)
+				     cw
+				     (* .5 (+ lw rw))))))
 		    ;; favor is the point we center the search on
 		    (let centered-points ((points ms))
 		      (if (= (length points) 2)
@@ -55,30 +55,30 @@
 		      (< (length (marks (selected-sound) (selected-channel))) 2)))
 	     (snd-print ";no marks"))
 	    (else
-	     (let* ((snc (sync))
-		    (ms (and (eq? target 'marks)
-			     (plausible-mark-samples)))
-		    (beg (case target
-			   ((sound) 0)
-			   ((selection) (selection-position))
-			   ((cursor) (cursor (selected-sound) (selected-channel)))
-			   (else (car ms))))
-		    (overlap (if decay (floor (* (srate) decay)) 0)))
-	       (apply for-each
-		      (lambda (snd chn)
-			(let ((end (if (memq target '(sound cursor))
-				       (- (framples snd chn) 1)
-				       (if (eq? target 'selection)
-					   (+ (selection-position) (selection-framples))
-					   (cadr ms)))))
-			  (if (= (sync snd) snc)
-			      (map-channel (func (- end beg)) beg (+ end overlap 1) snd chn
-					   #f
-					   (format #f "~A ~A ~A" (origin target (- end beg)) (if (eq? target 'sound) 0 beg)
-						   (and (not (eq? target 'sound)) (- (+ end 1) beg)))))))
-		      (if (> snc 0)
-			  (all-chans)
-			  (list (list (selected-sound)) (list (selected-channel))))))))))
+	     (let ((ms (and (eq? target 'marks)
+			    (plausible-mark-samples))))
+	       (let ((snc (sync))
+		     (beg (case target
+			    ((sound) 0)
+			    ((selection) (selection-position))
+			    ((cursor) (cursor (selected-sound) (selected-channel)))
+			    (else (car ms))))
+		     (overlap (if decay (floor (* (srate) decay)) 0)))
+		 (apply for-each
+			(lambda (snd chn)
+			  (let ((end (if (memq target '(sound cursor))
+					 (- (framples snd chn) 1)
+					 (if (eq? target 'selection)
+					     (+ (selection-position) (selection-framples))
+					     (cadr ms)))))
+			    (if (= (sync snd) snc)
+				(map-channel (func (- end beg)) beg (+ end overlap 1) snd chn
+					     #f
+					     (format #f "~A ~A ~A" (origin target (- end beg)) (if (eq? target 'sound) 0 beg)
+						     (and (not (eq? target 'sound)) (- (+ end 1) beg)))))))
+			(if (> snc 0)
+			    (all-chans)
+			    (list (list (selected-sound)) (list (selected-channel)))))))))))
   
   (define yellow-pixel
     (let ((pix #f))
@@ -157,17 +157,15 @@
 ;;; AMPLITUDE EFFECTS
   
   (define* (effects-squelch-channel amp gate-size snd chn no-silence)
-    (let ((f0 (make-moving-average gate-size))
-	  (f1 (make-moving-average gate-size :initial-element 1.0)))
-      (map-channel
-       (if no-silence
-	   (lambda (y)
-	     (let ((val (* y (moving-average f1 (ceiling (- (moving-average f0 (* y y)) amp))))))
-	       (and (not (zero? val)) val)))
-	   (lambda (y)
-	     (* y (moving-average f1 (ceiling (- (moving-average f0 (* y y)) amp))))))
-       0 #f snd chn #f
-       (format #f "effects-squelch-channel ~A ~A" amp gate-size))))
+    (let ((avgf (let ((f0 (make-moving-average gate-size))
+		      (f1 (make-moving-average gate-size :initial-element 1.0)))
+		  (if no-silence
+		      (lambda (y)
+			(let ((val (* y (moving-average f1 (ceiling (- (moving-average f0 (* y y)) amp))))))
+			  (and (not (zero? val)) val)))
+		      (lambda (y)
+			(* y (moving-average f1 (ceiling (- (moving-average f0 (* y y)) amp)))))))))
+      (map-channel avgf 0 #f snd chn #f (format #f "effects-squelch-channel ~A ~A" amp gate-size))))
   
   (let* ((amp-menu-list ())
 	 (amp-menu (XmCreatePulldownMenu (main-menu effects-menu) "Amplitude Effects"
@@ -180,240 +178,233 @@
     
 ;;; -------- Gain (gain set by gain-amount)
     
-    (let ((gain-amount 1.0))
-      
-      (define post-gain-dialog
-	(let ((gain-label "Gain")
-	      (gain-dialog #f)
-	      (gain-target 'sound)
-	      (gain-envelope #f))
-	  
-	  (define (scale-envelope e scl)
-	    (if (null? e)
-		()
-		(cons (car e) (cons (* scl (cadr e)) (scale-envelope (cddr e) scl)))))
-	  
-	  (lambda ()
-	    (if (Widget? gain-dialog)
-		(activate-dialog gain-dialog)
-		;; if gain-dialog doesn't exist, create it
-		(let ((initial-gain-amount 1.0)
-		      (sliders ())
-		      (fr #f))
-		  (set! gain-dialog
-			(make-effect-dialog 
-			 gain-label
-			 
-			 (lambda (w context info)
-			   (let ((with-env (and (not (equal? (xe-envelope gain-envelope) '(0.0 1.0 1.0 1.0)))
-						(scale-envelope (xe-envelope gain-envelope) gain-amount))))
-			     (if (eq? gain-target 'sound)
-				 (if with-env
-				     (env-sound with-env)
-				     (scale-by gain-amount))
-				 (if (eq? gain-target 'selection)
-				     (if (selection?)
-					 (if with-env
-					     (env-selection with-env)
-					     (scale-selection-by gain-amount))
-					 (snd-print ";no selection"))
-				     (let ((pts (catch 'no-such-mark 
-						  plausible-mark-samples
-						  (lambda args #f))))
-				       (if pts
-					   (if with-env
-					       (env-sound with-env (car pts) (- (cadr pts) (car pts)))
-					       (scale-by gain-amount (car pts) (- (cadr pts) (car pts))))
-					   (snd-print ";no marks")))))))
-			 
-			 (lambda (w context info)
-			   (help-dialog "Gain"
-					"Move the slider to change the gain scaling amount."))
-			 
-			 (lambda (w c i)
-			   (set! gain-amount initial-gain-amount)
-			   (set! (xe-envelope gain-envelope) (list 0.0 1.0 1.0 1.0))
-			   (XtSetValues (car sliders) (list XmNvalue (floor (* gain-amount 100)))))
-			 
-			 (lambda () 
-			   (effect-target-ok gain-target))))
-		  
-		  (set! sliders
-			(add-sliders gain-dialog
-				     (list (list "gain" 0.0 initial-gain-amount 5.0
-						 (lambda (w context info)
-						   (set! gain-amount (/ (.value info) 100.0)))
-						 100))))
-		  (set! fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
-						  (list XmNheight              200
-							XmNleftAttachment      XmATTACH_FORM
-							XmNrightAttachment     XmATTACH_FORM
-							XmNtopAttachment       XmATTACH_WIDGET
-							XmNtopWidget           (sliders (- (length sliders) 1))
-							XmNshadowThickness     4
-							XmNshadowType          XmSHADOW_ETCHED_OUT)))
-		  
-		  (let ((target-row (add-target (XtParent (XtParent (car sliders)))
-						(lambda (target) 
-						  (set! gain-target target)
-						  (XtSetSensitive (XmMessageBoxGetChild gain-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-						#f)))
+    (let* ((gain-amount 1.0)
+	   (post-gain-dialog
+	    (let ((gain-label "Gain")
+		  (gain-dialog #f)
+		  (gain-target 'sound)
+		  (gain-envelope #f))
+	      (define (scale-envelope e scl)
+		(if (null? e)
+		    ()
+		    (cons (car e) (cons (* scl (cadr e)) (scale-envelope (cddr e) scl)))))
+	      (lambda ()
+		(if (Widget? gain-dialog)
 		    (activate-dialog gain-dialog)
-		    
-		    (set! gain-envelope (xe-create-enved "gain"  fr
-							 (list XmNheight 200)
-							 '(0.0 1.0 0.0 1.0)))
-		    (set! (xe-envelope gain-envelope) (list 0.0 1.0 1.0 1.0))
-		    (XtVaSetValues fr (list XmNbottomAttachment XmATTACH_WIDGET
-					    XmNbottomWidget     target-row))))))))
+		    ;; if gain-dialog doesn't exist, create it
+		    (let ((sliders ()))
+		      (let ((initial-gain-amount 1.0))
+			(set! gain-dialog
+			      (make-effect-dialog 
+			       gain-label
+			       
+			       (lambda (w context info)
+				 (let ((with-env (and (not (equal? (xe-envelope gain-envelope) '(0.0 1.0 1.0 1.0)))
+						      (scale-envelope (xe-envelope gain-envelope) gain-amount))))
+				   (if (eq? gain-target 'sound)
+				       (if with-env
+					   (env-sound with-env)
+					   (scale-by gain-amount))
+				       (if (eq? gain-target 'selection)
+					   (if (selection?)
+					       (if with-env
+						   (env-selection with-env)
+						   (scale-selection-by gain-amount))
+					       (snd-print ";no selection"))
+					   (let ((pts (catch 'no-such-mark 
+							plausible-mark-samples
+							(lambda args #f))))
+					     (if pts
+						 (if with-env
+						     (env-sound with-env (car pts) (- (cadr pts) (car pts)))
+						     (scale-by gain-amount (car pts) (- (cadr pts) (car pts))))
+						 (snd-print ";no marks")))))))
+			       
+			       (lambda (w context info)
+				 (help-dialog "Gain"
+					      "Move the slider to change the gain scaling amount."))
+			       
+			       (lambda (w c i)
+				 (set! gain-amount initial-gain-amount)
+				 (set! (xe-envelope gain-envelope) (list 0.0 1.0 1.0 1.0))
+				 (XtSetValues (car sliders) (list XmNvalue (floor (* gain-amount 100)))))
+			       
+			       (lambda () 
+				 (effect-target-ok gain-target))))
+			
+			(set! sliders
+			      (add-sliders gain-dialog
+					   (list (list "gain" 0.0 initial-gain-amount 5.0
+						       (lambda (w context info)
+							 (set! gain-amount (/ (.value info) 100.0)))
+						       100)))))
+		      (let* ((fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
+						      (list XmNheight              200
+							    XmNleftAttachment      XmATTACH_FORM
+							    XmNrightAttachment     XmATTACH_FORM
+							    XmNtopAttachment       XmATTACH_WIDGET
+							    XmNtopWidget           (sliders (- (length sliders) 1))
+							    XmNshadowThickness     4
+							    XmNshadowType          XmSHADOW_ETCHED_OUT)))
+			     (target-row (add-target (XtParent (XtParent (car sliders)))
+						      (lambda (target) 
+							(set! gain-target target)
+							(XtSetSensitive (XmMessageBoxGetChild gain-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+						      #f)))
+			(activate-dialog gain-dialog)
+			  
+			(set! gain-envelope (xe-create-enved "gain"  fr
+							     (list XmNheight 200)
+							     '(0.0 1.0 0.0 1.0)))
+			(set! (xe-envelope gain-envelope) (list 0.0 1.0 1.0 1.0))
+			(XtVaSetValues fr (list XmNbottomAttachment XmATTACH_WIDGET
+						XmNbottomWidget     target-row))))))))
       
-      (let ((child (XtCreateManagedWidget "Gain" xmPushButtonWidgetClass amp-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-gain-dialog)))
-	(set! amp-menu-list (cons (lambda ()
-				    (change-label child (format #f "Gain (~1,2F)"  gain-amount)))
-				  amp-menu-list))))
+	   (child (XtCreateManagedWidget "Gain" xmPushButtonWidgetClass amp-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-gain-dialog)))
+      (set! amp-menu-list (cons (lambda ()
+				  (change-label child (format #f "Gain (~1,2F)"  gain-amount)))
+				amp-menu-list)))
     
     
 ;;; -------- Normalize
 ;;;
     
-    (let ((normalize-amount 1.0))
-      
-      (define post-normalize-dialog
-	(let ((normalize-label "Normalize")
-	      (normalize-dialog #f)
-	      (normalize-target 'sound))
-	  (lambda ()
-	    (unless (Widget? normalize-dialog)
-	      ;; if normalize-dialog doesn't exist, create it
-	      (let ((initial-normalize-amount 1.0)
-		    (sliders ()))
-		(set! normalize-dialog 
-		      (make-effect-dialog 
-		       normalize-label
-		       
-		       (lambda (w context info)
-			 (if (eq? normalize-target 'sound)
-			     (scale-to normalize-amount)
-			     (if (eq? normalize-target 'selection)
-				 (if (selection?)
-				     (scale-selection-to normalize-amount)
-				     (snd-print ";no selection"))
-				 (let ((pts (plausible-mark-samples)))
-				   (if pts
-				       (scale-to normalize-amount (car pts) (- (cadr pts) (car pts))))))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Normalize"
-				      "Normalize scales amplitude to the normalize amount. Move the slider to change the scaling amount."))
-		       
-		       (lambda (w c i)
-			 (set! normalize-amount initial-normalize-amount)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* normalize-amount 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok normalize-target))))
+    (let* ((normalize-amount 1.0)
+	   (post-normalize-dialog
+	    (let ((normalize-label "Normalize")
+		  (normalize-dialog #f)
+		  (normalize-target 'sound))
+	      (lambda ()
+		(unless (Widget? normalize-dialog)
+		  ;; if normalize-dialog doesn't exist, create it
+		  (let ((initial-normalize-amount 1.0)
+			(sliders ()))
+		    (set! normalize-dialog 
+			  (make-effect-dialog 
+			   normalize-label
+			   
+			   (lambda (w context info)
+			     (if (eq? normalize-target 'sound)
+				 (scale-to normalize-amount)
+				 (if (eq? normalize-target 'selection)
+				     (if (selection?)
+					 (scale-selection-to normalize-amount)
+					 (snd-print ";no selection"))
+				     (let ((pts (plausible-mark-samples)))
+				       (if pts
+					   (scale-to normalize-amount (car pts) (- (cadr pts) (car pts))))))))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Normalize"
+					  "Normalize scales amplitude to the normalize amount. Move the slider to change the scaling amount."))
+			   
+			   (lambda (w c i)
+			     (set! normalize-amount initial-normalize-amount)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* normalize-amount 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok normalize-target))))
+		    
+		    (set! sliders
+			  (add-sliders normalize-dialog
+				       (list (list "normalize" 0.0 initial-normalize-amount 1.0 
+						   (lambda (w context info)
+						     (set! normalize-amount (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! normalize-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild normalize-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders normalize-dialog
-				   (list (list "normalize" 0.0 initial-normalize-amount 1.0 
-					       (lambda (w context info)
-						 (set! normalize-amount (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! normalize-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild normalize-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	
-	(activate-dialog normalize-dialog))))
-      
-      (let ((child (XtCreateManagedWidget "Normalize" xmPushButtonWidgetClass amp-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-normalize-dialog)))
+		(activate-dialog normalize-dialog))))
+	   
+	   (child (XtCreateManagedWidget "Normalize" xmPushButtonWidgetClass amp-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-normalize-dialog)))
 	
-	(set! amp-menu-list (cons (lambda ()
-				    (change-label child (format #f "Normalize (~1,2F)"  normalize-amount)))
-				  amp-menu-list))))
+      (set! amp-menu-list (cons (lambda ()
+				  (change-label child (format #f "Normalize (~1,2F)"  normalize-amount)))
+				amp-menu-list)))
     
     
 ;;; -------- Gate (gate set by gate-amount)
 ;;;
     
-    (let ((gate-amount 0.01))
+    (let* ((gate-amount 0.01)
+	   (post-gate-dialog
+	    (let ((gate-label "Gate")
+		  (gate-dialog #f)
+		  (gate-size 128)
+		  (omit-silence #f))
+	      (lambda ()
+		(unless (Widget? gate-dialog)
+		  ;; if gate-dialog doesn't exist, create it
+		  (let ((initial-gate-amount 0.01)
+			(sliders ()))
+		    (set! gate-dialog
+			  (make-effect-dialog 
+			   gate-label
+			   
+			   (lambda (w context info)
+			     (let ((snc (sync)))
+			       (if (> snc 0)
+				   (apply map
+					  (lambda (snd chn)
+					    (if (= (sync snd) snc)
+						(effects-squelch-channel (* gate-amount gate-amount) gate-size snd chn omit-silence)))
+					  (all-chans))
+				   (effects-squelch-channel (* gate-amount gate-amount) gate-size (selected-sound) (selected-channel) omit-silence))))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Gate"
+					  "Move the slider to change the gate intensity. Higher values gate more of the sound."))
+			   
+			   (lambda (w c i)
+			     (set! gate-amount initial-gate-amount)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* gate-amount 1000)))))
+			   
+			   (lambda () 
+			     (pair? (sounds)))))
+		    
+		    (set! sliders
+			  (add-sliders gate-dialog
+				       (list (list "gate" 0.0 initial-gate-amount 0.1
+						   (lambda (w context info)
+						     (set! gate-amount (/ (.value info) 1000.0)))
+						   1000))))
+		    ;; now add a toggle button setting omit-silence 
+		    ;;  (need to use XtParent here because the containing RowColumn widget is
+		    ;;  hidden in add-sliders -- perhaps it should be returned in the slider list)
+		    
+		    (let* ((s1 (XmStringCreateLocalized "Omit silence"))
+			   (toggle
+			    (XtCreateManagedWidget "Omit silence" xmToggleButtonWidgetClass (XtParent (car sliders))
+						   (list XmNselectColor  *selection-color*
+							 XmNbackground   *basic-color*
+							 XmNvalue        (if omit-silence 1 0)
+							 XmNlabelString  s1))))
+		      (XmStringFree s1)
+		      (XtAddCallback toggle XmNvalueChangedCallback (lambda (w c i)
+								      (set! omit-silence (.set i)))))))
+		(activate-dialog gate-dialog))))
       
-      (define post-gate-dialog
-	(let ((gate-label "Gate")
-	      (gate-dialog #f)
-	      (gate-size 128)
-	      (omit-silence #f))
-	  (lambda ()
-	    (unless (Widget? gate-dialog)
-	      ;; if gate-dialog doesn't exist, create it
-	      (let ((initial-gate-amount 0.01)
-		    (sliders ()))
-		(set! gate-dialog
-		      (make-effect-dialog 
-		       gate-label
-		       
-		       (lambda (w context info)
-			 (let ((snc (sync)))
-			   (if (> snc 0)
-			       (apply map
-				      (lambda (snd chn)
-					(if (= (sync snd) snc)
-					    (effects-squelch-channel (* gate-amount gate-amount) gate-size snd chn omit-silence)))
-				      (all-chans))
-			       (effects-squelch-channel (* gate-amount gate-amount) gate-size (selected-sound) (selected-channel) omit-silence))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Gate"
-				      "Move the slider to change the gate intensity. Higher values gate more of the sound."))
-		       
-		       (lambda (w c i)
-			 (set! gate-amount initial-gate-amount)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* gate-amount 1000)))))
-		       
-		       (lambda () 
-			 (pair? (sounds)))))
-		
-		(set! sliders
-		      (add-sliders gate-dialog
-				   (list (list "gate" 0.0 initial-gate-amount 0.1
-					       (lambda (w context info)
-						 (set! gate-amount (/ (.value info) 1000.0)))
-					       1000))))
-		;; now add a toggle button setting omit-silence 
-		;;  (need to use XtParent here because the containing RowColumn widget is
-		;;  hidden in add-sliders -- perhaps it should be returned in the slider list)
-		
-		(let* ((s1 (XmStringCreateLocalized "Omit silence"))
-		       (toggle
-			(XtCreateManagedWidget "Omit silence" xmToggleButtonWidgetClass (XtParent (car sliders))
-					       (list XmNselectColor  *selection-color*
-						     XmNbackground   *basic-color*
-						     XmNvalue        (if omit-silence 1 0)
-						     XmNlabelString  s1))))
-		  (XmStringFree s1)
-		  (XtAddCallback toggle XmNvalueChangedCallback (lambda (w c i)
-								  (set! omit-silence (.set i)))))))
-	    (activate-dialog gate-dialog))))
+	   (child (XtCreateManagedWidget "Gate" xmPushButtonWidgetClass amp-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-gate-dialog)))
       
-      (let ((child (XtCreateManagedWidget "Gate" xmPushButtonWidgetClass amp-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-gate-dialog)))
-	
-	(set! amp-menu-list (cons (lambda ()
-				    (change-label child (format #f "Gate (~1,4F)"  gate-amount)))
-				  amp-menu-list))))
-    )
+      (set! amp-menu-list (cons (lambda ()
+				  (change-label child (format #f "Gate (~1,4F)"  gate-amount)))
+				amp-menu-list))))
+
   
 ;;; DELAY EFFECTS
 ;;;
@@ -451,8 +442,8 @@
 				       (fir-filter flt (* scaler (+ (tap del) inval))))))
 			   beg #f snd chn #f
 			   (format #f "effects-flecho-1 ~A ~A ~A ~A ~A" scaler secs input-samps-1 beg #f))
-	      (let* ((cutoff (- (or input-samps-1 dur (framples snd chn)) 1))
-		     (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
+	      (let ((genv (let ((cutoff (- (or input-samps-1 dur (framples snd chn)) 1)))
+			    (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100)))))
 		(map-channel (lambda (inval)
 			       (+ inval 
 				  (delay del 
@@ -463,11 +454,11 @@
   (define effects-zecho-1 
     (let ((documentation "(effects-zecho-1 scaler secs frq amp input-samps-1 beg dur snd chn) is used by the effects dialog to tie into edit-list->function"))
       (lambda* (scaler secs frq amp input-samps-1 beg dur snd chn)
-	(let* ((os (make-oscil frq))
-	       (len (round (* secs (srate snd))))
-	       (del (make-delay len :max-size (round (+ len amp 1))))
-	       (cutoff (- (or input-samps-1 dur (framples snd chn)) 1))
-	       (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
+	(let ((os (make-oscil frq))
+	      (del (let ((len (round (* secs (srate snd)))))
+		     (make-delay len :max-size (round (+ len amp 1)))))
+	      (genv (let ((cutoff (- (or input-samps-1 dur (framples snd chn)) 1)))
+		      (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100)))))
 	  (map-channel (lambda (inval)
 			 (+ inval 
 			    (delay del 
@@ -477,279 +468,277 @@
 		       (format #f "effects-zecho-1 ~A ~A ~A ~A ~A ~A ~A" scaler secs frq amp input-samps-1 beg dur))))))
   
   
-  (let* ((delay-menu-list ())
-	 (delay-menu (XmCreatePulldownMenu (main-menu effects-menu) "Delay Effects"
-					   (list XmNbackground *basic-color*)))
-	 (delay-cascade (XtCreateManagedWidget "Delay Effects" xmCascadeButtonWidgetClass (main-menu effects-menu)
-					       (list XmNsubMenuId delay-menu
-						     XmNbackground *basic-color*))))
-    (XtAddCallback delay-cascade XmNcascadingCallback (lambda (w c i) (update-label delay-menu-list)))
+  (let ((delay-menu-list ())
+	(delay-menu (XmCreatePulldownMenu (main-menu effects-menu) "Delay Effects"
+					  (list XmNbackground *basic-color*))))
+    (let ((delay-cascade (XtCreateManagedWidget "Delay Effects" xmCascadeButtonWidgetClass (main-menu effects-menu)
+						(list XmNsubMenuId delay-menu
+						      XmNbackground *basic-color*))))
+      (XtAddCallback delay-cascade XmNcascadingCallback (lambda (w c i) (update-label delay-menu-list))))
     
 ;;; -------- Echo (controlled by delay-time and echo-amount)
     
-    (let ((delay-time .5) ; i.e. delay between echoes
-	  (echo-amount .2))
-      
-      (define post-echo-dialog
-	(let ((echo-label "Echo")
-	      (echo-dialog #f)
-	      (echo-target 'sound)
-	      (echo-truncate #t))
-	  (lambda ()
-	    (unless (Widget? echo-dialog)
-	      ;; if echo-dialog doesn't exist, create it
-	      (let ((initial-delay-time 0.5)
-		    (initial-echo-amount 0.2)
-		    (sliders ()))
-		(set! echo-dialog 
-		      (make-effect-dialog 
-		       echo-label
-		       
-		       (lambda (w context info)
-			 (map-chan-over-target-with-sync
-			  (lambda (cutoff) 
-			    (let ((del (make-delay (round (* delay-time (srate)))))
-				  (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
-			      (lambda (inval)
-				(+ inval
-				   (delay del
-					  (* echo-amount (+ (tap del) (* (env genv) inval))))))))
-			  echo-target
-			  (lambda (target input-samps) 
-			    (format #f "effects-echo ~A ~A ~A" 
-				    (and (not (eq? target 'sound)) input-samps)
-				    delay-time echo-amount))
-			  (and (not echo-truncate) 
-			       (* 4 delay-time))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Echo"
-				      "The sliders change the delay time and echo amount."))
-		       
-		       (lambda (w c i)   
-			 (set! delay-time initial-delay-time)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* delay-time 100))))
-			 (set! echo-amount initial-echo-amount)
-			 (XtSetValues (cadr sliders) (list XmNvalue (floor (* echo-amount 100)))))
-		       
-		       (lambda ()
-			 (effect-target-ok echo-target))))
+    (let* ((delay-time .5) ; i.e. delay between echoes
+	   (echo-amount .2)
+	   (post-echo-dialog
+	    (let ((echo-label "Echo")
+		  (echo-dialog #f)
+		  (echo-target 'sound)
+		  (echo-truncate #t))
+	      (lambda ()
+		(unless (Widget? echo-dialog)
+		  ;; if echo-dialog doesn't exist, create it
+		  (let ((initial-delay-time 0.5)
+			(initial-echo-amount 0.2)
+			(sliders ()))
+		    (set! echo-dialog 
+			  (make-effect-dialog 
+			   echo-label
+			   
+			   (lambda (w context info)
+			     (map-chan-over-target-with-sync
+			      (lambda (cutoff) 
+				(let ((del (make-delay (round (* delay-time (srate)))))
+				      (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
+				  (lambda (inval)
+				    (+ inval
+				       (delay del
+					      (* echo-amount (+ (tap del) (* (env genv) inval))))))))
+			      echo-target
+			      (lambda (target input-samps) 
+				(format #f "effects-echo ~A ~A ~A" 
+					(and (not (eq? target 'sound)) input-samps)
+					delay-time echo-amount))
+			      (and (not echo-truncate) 
+				   (* 4 delay-time))))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Echo"
+					  "The sliders change the delay time and echo amount."))
+			   
+			   (lambda (w c i)   
+			     (set! delay-time initial-delay-time)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* delay-time 100))))
+			     (set! echo-amount initial-echo-amount)
+			     (XtSetValues (cadr sliders) (list XmNvalue (floor (* echo-amount 100)))))
+			   
+			   (lambda ()
+			     (effect-target-ok echo-target))))
+		    
+		    (set! sliders
+			  (add-sliders echo-dialog
+				       (list (list "delay time" 0.0 initial-delay-time 2.0
+						   (lambda (w context info)
+						     (set! delay-time (/ (.value info) 100.0)))
+						   100)
+					     (list "echo amount" 0.0 initial-echo-amount 1.0
+						   (lambda (w context info)
+						     (set! echo-amount (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! echo-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild echo-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				(lambda (truncate) 
+				  (set! echo-truncate truncate)))))
 		
-		(set! sliders
-		      (add-sliders echo-dialog
-				   (list (list "delay time" 0.0 initial-delay-time 2.0
-					       (lambda (w context info)
-						 (set! delay-time (/ (.value info) 100.0)))
-					       100)
-					 (list "echo amount" 0.0 initial-echo-amount 1.0
-					       (lambda (w context info)
-						 (set! echo-amount (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! echo-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild echo-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    (lambda (truncate) 
-			      (set! echo-truncate truncate)))))
-	    
-	    (activate-dialog echo-dialog))))
+		(activate-dialog echo-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Echo" xmPushButtonWidgetClass delay-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-echo-dialog)))
-	
-	(set! delay-menu-list (cons (lambda ()
-				      (change-label child (format #f "Echo (~1,2F ~1,2F)" delay-time echo-amount)))
-				    delay-menu-list))))
+	   (child (XtCreateManagedWidget "Echo" xmPushButtonWidgetClass delay-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-echo-dialog)))
+      
+      (set! delay-menu-list (cons (lambda ()
+				    (change-label child (format #f "Echo (~1,2F ~1,2F)" delay-time echo-amount)))
+				  delay-menu-list)))
     
     
 ;;; -------- Filtered echo
     
-    (let ((flecho-scaler 0.5)
-	  (flecho-delay 0.9))
+    (let* ((flecho-scaler 0.5)
+	  (flecho-delay 0.9)
+	  (post-flecho-dialog
+	   (let ((flecho-label "Filtered echo")
+		 (flecho-dialog #f)
+		 (flecho-target 'sound)
+		 (flecho-truncate #t))
+	     (lambda ()
+	       (unless (Widget? flecho-dialog)
+		 ;; if flecho-dialog doesn't exist, create it
+		 (let ((initial-flecho-scaler 0.5)
+		       (initial-flecho-delay 0.9)
+		       (sliders ()))
+		   (set! flecho-dialog 
+			 (make-effect-dialog 
+			  flecho-label
+			  
+			  (lambda (w context info)
+			    (map-chan-over-target-with-sync
+			     (lambda (input-samps) 
+			       (let ((flt (make-fir-filter :order 4 
+							   :xcoeffs (float-vector .125 .25 .25 .125)))
+				     (del (make-delay (round (* flecho-delay (srate)))))
+				     (genv (make-env (list 0.0 1.0 input-samps 1.0 (+ input-samps 1) 0.0 (+ input-samps 100) 0.0) 
+						     :length (+ input-samps 100))))
+				 (lambda (inval)
+				   (+ inval 
+				      (delay del 
+					     (fir-filter flt (* flecho-scaler 
+								(+ (tap del) 
+								   (* (env genv) inval)))))))))
+			     flecho-target 
+			     (lambda (target input-samps) 
+			       (format #f "effects-flecho-1 ~A ~A ~A"
+				       flecho-scaler flecho-delay
+				       (and (not (eq? target 'sound)) input-samps)))
+			     (and (not flecho-truncate) 
+				  (* 4 flecho-delay))))
+			  
+			  (lambda (w context info)
+			    (help-dialog "Filtered echo"
+					 "Move the sliders to set the filter scaler and the delay time in seconds."))
+			  
+			  (lambda (w c i)
+			    (set! flecho-scaler initial-flecho-scaler)
+			    (XtSetValues (sliders 0) (list XmNvalue (floor (* flecho-scaler 100))))
+			    (set! flecho-delay initial-flecho-delay)
+			    (XtSetValues (sliders 1) (list XmNvalue (floor (* flecho-delay 100)))))
+			  
+			  (lambda () 
+			    (effect-target-ok flecho-target))))
+		   
+		   (set! sliders
+			 (add-sliders flecho-dialog
+				      (list (list "filter scaler" 0.0 initial-flecho-scaler 1.0
+						  (lambda (w context info)
+						    (set! flecho-scaler (/ (.value info) 100.0)))
+						  100)
+					    (list "delay time (secs)" 0.0 initial-flecho-delay 3.0
+						  (lambda (w context info)
+						    (set! flecho-delay (/ (.value info) 100.0)))
+						  100))))
+		   (add-target (XtParent (car sliders)) 
+			       (lambda (target) 
+				 (set! flecho-target target)
+				 (XtSetSensitive (XmMessageBoxGetChild flecho-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+			       (lambda (truncate) 
+				 (set! flecho-truncate truncate)))))
+	       
+	       (activate-dialog flecho-dialog))))
       
-      (define post-flecho-dialog
-	(let ((flecho-label "Filtered echo")
-	      (flecho-dialog #f)
-	      (flecho-target 'sound)
-	      (flecho-truncate #t))
-	  (lambda ()
-	    (unless (Widget? flecho-dialog)
-	      ;; if flecho-dialog doesn't exist, create it
-	      (let ((initial-flecho-scaler 0.5)
-		    (initial-flecho-delay 0.9)
-		    (sliders ())
-		    (flecho-1 (lambda (scaler secs cutoff)
-				(let ((flt (make-fir-filter :order 4 :xcoeffs (float-vector .125 .25 .25 .125)))
-				      (del (make-delay (round (* secs (srate)))))
-				      (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
-				  (lambda (inval)
-				    (+ inval 
-				       (delay del 
-					      (fir-filter flt (* scaler (+ (tap del) (* (env genv) inval)))))))))))
-		(set! flecho-dialog 
-		      (make-effect-dialog 
-		       flecho-label
-		       
-		       (lambda (w context info)
-			 (map-chan-over-target-with-sync
-			  (lambda (input-samps) 
-			    (flecho-1 flecho-scaler flecho-delay input-samps))
-			  flecho-target 
-			  (lambda (target input-samps) 
-			    (format #f "effects-flecho-1 ~A ~A ~A"
-				    flecho-scaler flecho-delay
-				    (and (not (eq? target 'sound)) input-samps)))
-			  (and (not flecho-truncate) 
-			       (* 4 flecho-delay))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Filtered echo"
-				      "Move the sliders to set the filter scaler and the delay time in seconds."))
-		       
-		       (lambda (w c i)
-			 (set! flecho-scaler initial-flecho-scaler)
-			 (XtSetValues (sliders 0) (list XmNvalue (floor (* flecho-scaler 100))))
-			 (set! flecho-delay initial-flecho-delay)
-			 (XtSetValues (sliders 1) (list XmNvalue (floor (* flecho-delay 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok flecho-target))))
-		
-		(set! sliders
-		      (add-sliders flecho-dialog
-				   (list (list "filter scaler" 0.0 initial-flecho-scaler 1.0
-					       (lambda (w context info)
-						 (set! flecho-scaler (/ (.value info) 100.0)))
-					       100)
-					 (list "delay time (secs)" 0.0 initial-flecho-delay 3.0
-					       (lambda (w context info)
-						 (set! flecho-delay (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! flecho-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild flecho-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    (lambda (truncate) 
-			      (set! flecho-truncate truncate)))))
-	    
-	    (activate-dialog flecho-dialog))))
+	  (child (XtCreateManagedWidget "Filtered echo" xmPushButtonWidgetClass delay-menu
+					(list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-flecho-dialog)))
       
-      (let ((child (XtCreateManagedWidget "Filtered echo" xmPushButtonWidgetClass delay-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-flecho-dialog)))
-	
-	(set! delay-menu-list (cons (lambda ()
-				      (change-label child (format #f "Filtered echo (~1,2F ~1,2F)" flecho-scaler flecho-delay)))
-				    delay-menu-list))))
+      (set! delay-menu-list (cons (lambda ()
+				    (change-label child (format #f "Filtered echo (~1,2F ~1,2F)" flecho-scaler flecho-delay)))
+				  delay-menu-list)))
     
     
 ;;; -------- Modulated echo
 ;;; -------- very slick
     
-    (let ((zecho-scaler 0.5)
-	  (zecho-delay 0.75)
-	  (zecho-freq 6)
-	  (zecho-amp 10.0))
-      
-      (define post-zecho-dialog
-	(let ((zecho-label "Modulated echo")
-	      (zecho-dialog #f)
-	      (zecho-target 'sound)
-	      (zecho-truncate #t))
-	  (lambda ()
-	    (unless (Widget? zecho-dialog)
-	      ;; if zecho-dialog doesn't exist, create it
-	      (let ((initial-zecho-scaler 0.5)
-		    (initial-zecho-delay 0.75)
-		    (initial-zecho-freq 6)
-		    (initial-zecho-amp 10.0)
-		    (sliders ())
-		    (zecho-1 (lambda (scaler secs frq amp cutoff)
-			       (let* ((os (make-oscil frq))
-				      (len (round (* secs (srate))))
-				      (del (make-delay len :max-size (round (+ len amp 1))))
-				      (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
-				 (lambda (inval)
-				   (+ inval 
-				      (delay del 
-					     (* scaler (+ (tap del) (* (env genv) inval)))
-					     (* amp (oscil os)))))))))
-		(set! zecho-dialog 
-		      (make-effect-dialog 
-		       zecho-label
-		       
-		       (lambda (w context info)
-			 (map-chan-over-target-with-sync
-			  (lambda (input-samps)
-			    (zecho-1 zecho-scaler zecho-delay zecho-freq zecho-amp input-samps)) 
-			  zecho-target
-			  (lambda (target input-samps) 
-			    (format #f "effects-zecho-1 ~A ~A ~A ~A ~A"
-				    zecho-scaler zecho-delay zecho-freq zecho-amp
-				    (and (not (eq? target 'sound)) input-samps)))
-			  (and (not zecho-truncate)
-			       (* 4 zecho-delay))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Modulated echo"
-				      "Move the sliders to set the echo scaler, 
+    (let* ((zecho-scaler 0.5)
+	   (zecho-delay 0.75)
+	   (zecho-freq 6)
+	   (zecho-amp 10.0)
+	   (post-zecho-dialog
+	    (let ((zecho-label "Modulated echo")
+		  (zecho-dialog #f)
+		  (zecho-target 'sound)
+		  (zecho-truncate #t))
+	      (lambda ()
+		(unless (Widget? zecho-dialog)
+		  ;; if zecho-dialog doesn't exist, create it
+		  (let ((initial-zecho-scaler 0.5)
+			(initial-zecho-delay 0.75)
+			(initial-zecho-freq 6)
+			(initial-zecho-amp 10.0)
+			(sliders ())
+			(zecho-1 (lambda (scaler secs frq amp cutoff)
+				   (let ((os (make-oscil frq))
+					 (del (let ((len (round (* secs (srate)))))
+						(make-delay len :max-size (round (+ len amp 1)))))
+					 (genv (make-env (list 0.0 1.0 cutoff 1.0 (+ cutoff 1) 0.0 (+ cutoff 100) 0.0) :length (+ cutoff 100))))
+				     (lambda (inval)
+				       (+ inval 
+					  (delay del 
+						 (* scaler (+ (tap del) (* (env genv) inval)))
+						 (* amp (oscil os)))))))))
+		    (set! zecho-dialog 
+			  (make-effect-dialog 
+			   zecho-label
+			   
+			   (lambda (w context info)
+			     (map-chan-over-target-with-sync
+			      (lambda (input-samps)
+				(zecho-1 zecho-scaler zecho-delay zecho-freq zecho-amp input-samps)) 
+			      zecho-target
+			      (lambda (target input-samps) 
+				(format #f "effects-zecho-1 ~A ~A ~A ~A ~A"
+					zecho-scaler zecho-delay zecho-freq zecho-amp
+					(and (not (eq? target 'sound)) input-samps)))
+			      (and (not zecho-truncate)
+				   (* 4 zecho-delay))))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Modulated echo"
+					  "Move the sliders to set the echo scaler, 
 the delay time in seconds, the modulation frequency, and the echo amplitude."))
-		       
-		       (lambda (w c i)
-			 (set! zecho-scaler initial-zecho-scaler)
-			 (XtSetValues (sliders 0) (list XmNvalue (floor (* zecho-scaler 100))))
-			 (set! zecho-delay initial-zecho-delay)
-			 (XtSetValues (sliders 1) (list XmNvalue (floor (* zecho-delay 100))))
-			 (set! zecho-freq initial-zecho-freq)
-			 (XtSetValues (sliders 2) (list XmNvalue (floor (* zecho-freq 100))))
-			 (set! zecho-amp initial-zecho-amp)
-			 (XtSetValues (sliders 3) (list XmNvalue (floor (* zecho-amp 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok zecho-target))))
-		
-		(set! sliders
-		      (add-sliders zecho-dialog
-				   (list (list "echo scaler" 0.0 initial-zecho-scaler 1.0
-					       (lambda (w context info)
-						 (set! zecho-scaler (/ (.value info) 100.0)))
-					       100)
-					 (list "delay time (secs)" 0.0 initial-zecho-delay 3.0
-					       (lambda (w context info)
-						 (set! zecho-delay (/ (.value info) 100.0)))
-					       100)
-					 (list "modulation frequency" 0.0 initial-zecho-freq 100.0
-					       (lambda (w context info)
-						 (set! zecho-freq (/ (.value info) 100.0)))
-					       100)
-					 (list "modulation amplitude" 0.0 initial-zecho-amp 100.0
-					       (lambda (w context info)
-						 (set! zecho-amp (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! zecho-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild zecho-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    (lambda (truncate) 
-			      (set! zecho-truncate truncate)))))
-	    (activate-dialog zecho-dialog))))
+			   
+			   (lambda (w c i)
+			     (set! zecho-scaler initial-zecho-scaler)
+			     (XtSetValues (sliders 0) (list XmNvalue (floor (* zecho-scaler 100))))
+			     (set! zecho-delay initial-zecho-delay)
+			     (XtSetValues (sliders 1) (list XmNvalue (floor (* zecho-delay 100))))
+			     (set! zecho-freq initial-zecho-freq)
+			     (XtSetValues (sliders 2) (list XmNvalue (floor (* zecho-freq 100))))
+			     (set! zecho-amp initial-zecho-amp)
+			     (XtSetValues (sliders 3) (list XmNvalue (floor (* zecho-amp 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok zecho-target))))
+		    
+		    (set! sliders
+			  (add-sliders zecho-dialog
+				       (list (list "echo scaler" 0.0 initial-zecho-scaler 1.0
+						   (lambda (w context info)
+						     (set! zecho-scaler (/ (.value info) 100.0)))
+						   100)
+					     (list "delay time (secs)" 0.0 initial-zecho-delay 3.0
+						   (lambda (w context info)
+						     (set! zecho-delay (/ (.value info) 100.0)))
+						   100)
+					     (list "modulation frequency" 0.0 initial-zecho-freq 100.0
+						   (lambda (w context info)
+						     (set! zecho-freq (/ (.value info) 100.0)))
+						   100)
+					     (list "modulation amplitude" 0.0 initial-zecho-amp 100.0
+						   (lambda (w context info)
+						     (set! zecho-amp (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! zecho-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild zecho-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				(lambda (truncate) 
+				  (set! zecho-truncate truncate)))))
+		(activate-dialog zecho-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Modulated echo" xmPushButtonWidgetClass delay-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-zecho-dialog)))
-	
-	(set! delay-menu-list (cons (lambda ()
-				      (change-label child (format #f "Modulated echo (~1,2F ~1,2F ~1,2F ~1,2F)" 
-								  zecho-scaler zecho-delay zecho-freq zecho-amp)))
-				    delay-menu-list))))
-    )
+	   (child (XtCreateManagedWidget "Modulated echo" xmPushButtonWidgetClass delay-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-zecho-dialog)))
+      
+      (set! delay-menu-list (cons (lambda ()
+				    (change-label child (format #f "Modulated echo (~1,2F ~1,2F ~1,2F ~1,2F)" 
+								zecho-scaler zecho-delay zecho-freq zecho-amp)))
+				  delay-menu-list))))
   
 ;;; FILTERS
 ;;;
@@ -826,274 +815,270 @@ the delay time in seconds, the modulation frequency, and the echo amplitude."))
     
 ;;; -------- Butterworth band-pass filter
     
-    (let ((band-pass-freq 1000)
-	  (band-pass-bw 100))
-      
-      (define post-band-pass-dialog
-	(let ((band-pass-label "Band-pass filter")
-	      (band-pass-dialog #f)
-	      (band-pass-target 'sound))
-	  (lambda ()
-	    (unless (Widget? band-pass-dialog)
-	      ;; if band-pass-dialog doesn't exist, create it
-	      (let ((initial-band-pass-freq 1000)
-		    (initial-band-pass-bw 100)
-		    (sliders ()))
-		(set! band-pass-dialog 
-		      (make-effect-dialog 
-		       band-pass-label
-		       
-		       (lambda (w context info)
-			 (let ((flt (make-butter-band-pass band-pass-freq band-pass-bw)))
-			   (if (eq? band-pass-target 'sound)
-			       (filter-sound flt #f #f #f #f (format #f "effects-bbp ~A ~A 0 #f" band-pass-freq band-pass-bw))
-			       (if (eq? band-pass-target 'selection)
-				   (filter-selection flt)
-				   (let* ((ms (plausible-mark-samples))
-					  (bg (car ms))
-					  (nd (- (+ (cadr ms) 1) (car ms))))
-				     (clm-channel flt bg nd #f #f #f #f 
-						  (format #f "effects-bbp ~A ~A ~A ~A" band-pass-freq band-pass-bw bg nd)))))))
-		       (lambda (w context info)
-			 (help-dialog "Band-pass filter"
-				      "Butterworth band-pass filter. Move the sliders to change the center frequency and bandwidth."))
-		       
-		       (lambda (w c i)
-			 (set! band-pass-freq initial-band-pass-freq)
-			 (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 band-pass-freq 22050)))
-			 (set! band-pass-bw initial-band-pass-bw)
-			 (XtSetValues (cadr sliders) (list XmNvalue (floor band-pass-bw))))
-		       
-		       (lambda () 
-			 (effect-target-ok band-pass-target))))
+    (let* ((band-pass-freq 1000)
+	   (band-pass-bw 100)
+	   (post-band-pass-dialog
+	    (let ((band-pass-label "Band-pass filter")
+		  (band-pass-dialog #f)
+		  (band-pass-target 'sound))
+	      (lambda ()
+		(unless (Widget? band-pass-dialog)
+		  ;; if band-pass-dialog doesn't exist, create it
+		  (let ((initial-band-pass-freq 1000)
+			(initial-band-pass-bw 100)
+			(sliders ()))
+		    (set! band-pass-dialog 
+			  (make-effect-dialog 
+			   band-pass-label
+			   
+			   (lambda (w context info)
+			     (let ((flt (make-butter-band-pass band-pass-freq band-pass-bw)))
+			       (if (eq? band-pass-target 'sound)
+				   (filter-sound flt #f #f #f #f (format #f "effects-bbp ~A ~A 0 #f" band-pass-freq band-pass-bw))
+				   (if (eq? band-pass-target 'selection)
+				       (filter-selection flt)
+				       (let ((ms (plausible-mark-samples)))
+					 (let ((bg (car ms))
+					       (nd (- (+ (cadr ms) 1) (car ms))))
+					   (clm-channel flt bg nd #f #f #f #f 
+							(format #f "effects-bbp ~A ~A ~A ~A" band-pass-freq band-pass-bw bg nd))))))))
+			   (lambda (w context info)
+			     (help-dialog "Band-pass filter"
+					  "Butterworth band-pass filter. Move the sliders to change the center frequency and bandwidth."))
+			   
+			   (lambda (w c i)
+			     (set! band-pass-freq initial-band-pass-freq)
+			     (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 band-pass-freq 22050)))
+			     (set! band-pass-bw initial-band-pass-bw)
+			     (XtSetValues (cadr sliders) (list XmNvalue (floor band-pass-bw))))
+			   
+			   (lambda () 
+			     (effect-target-ok band-pass-target))))
+		    
+		    (set! sliders
+			  (add-sliders band-pass-dialog
+				       (list (list "center frequency" 20 initial-band-pass-freq 22050
+						   (lambda (w context info)
+						     (set! band-pass-freq (scale-linear->log 20 (.value info) 22050)))
+						   1 'log)
+					     (list "bandwidth" 0 initial-band-pass-bw 1000
+						   (lambda (w context info)
+						     (set! band-pass-bw (.value info)))
+						   1))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! band-pass-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild band-pass-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders band-pass-dialog
-				   (list (list "center frequency" 20 initial-band-pass-freq 22050
-					       (lambda (w context info)
-						 (set! band-pass-freq (scale-linear->log 20 (.value info) 22050)))
-					       1 'log)
-					 (list "bandwidth" 0 initial-band-pass-bw 1000
-					       (lambda (w context info)
-						 (set! band-pass-bw (.value info)))
-					       1))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! band-pass-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild band-pass-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog band-pass-dialog))))
+		(activate-dialog band-pass-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Band-pass filter" xmPushButtonWidgetClass filter-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-band-pass-dialog)))
-	
-	(set! filter-menu-list (cons (lambda ()
-				       (change-label child (format #f "Band-pass filter (~,2F ~D" band-pass-freq band-pass-bw)))
-				     filter-menu-list))))
+	   (child (XtCreateManagedWidget "Band-pass filter" xmPushButtonWidgetClass filter-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-band-pass-dialog)))
+      
+      (set! filter-menu-list (cons (lambda ()
+				     (change-label child (format #f "Band-pass filter (~,2F ~D" band-pass-freq band-pass-bw)))
+				   filter-menu-list)))
     
 ;;; -------- Butterworth band-reject (notch) filter
     
-    (let ((notch-freq 100)
-	  (notch-bw 100))
-      
-      (define post-notch-dialog
-	(let ((notch-label "Band-reject filter")
-	      (notch-dialog #f)
-	      (notch-target 'sound))
-	  (lambda ()
-	    (unless (Widget? notch-dialog)
-	      ;; if notch-dialog doesn't exist, create it
-	      (let ((initial-notch-freq 100)
-		    (initial-notch-bw 100)
-		    (sliders ()))
-		(set! notch-dialog 
-		      (make-effect-dialog 
-		       notch-label
-		       
-		       (lambda (w context info) 
-			 (let ((flt (make-butter-band-reject notch-freq notch-bw)))
-			   (if (eq? notch-target 'sound)
-			       (filter-sound flt #f #f #f #f (format #f "effects-bbr ~A ~A 0 #f" notch-freq notch-bw))
-			       (if (eq? notch-target 'selection)
-				   (filter-selection flt)
-				   (let* ((ms (plausible-mark-samples))
-					  (bg (car ms))
-					  (nd (- (+ (cadr ms) 1) (car ms))))
-				     (clm-channel flt bg nd #f #f #f #f 
-						  (format #f "effects-bbr ~A ~A ~A ~A" notch-freq notch-bw bg nd)))))))
-		       (lambda (w context info)
-			 (help-dialog "Band-reject filter"
-				      "Butterworth band-reject filter. Move the sliders to change the center frequency and bandwidth."))
-		       
-		       (lambda (w c i)
-			 (set! notch-freq initial-notch-freq)
-			 (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 notch-freq 22050)))
-			 (set! notch-bw initial-notch-bw)
-			 (XtSetValues (cadr sliders) (list XmNvalue (floor notch-bw))))
-		       
-		       (lambda () 
-			 (effect-target-ok notch-target))))
+    (let* ((notch-freq 100)
+	   (notch-bw 100)
+	   (post-notch-dialog
+	    (let ((notch-label "Band-reject filter")
+		  (notch-dialog #f)
+		  (notch-target 'sound))
+	      (lambda ()
+		(unless (Widget? notch-dialog)
+		  ;; if notch-dialog doesn't exist, create it
+		  (let ((initial-notch-freq 100)
+			(initial-notch-bw 100)
+			(sliders ()))
+		    (set! notch-dialog 
+			  (make-effect-dialog 
+			   notch-label
+			   
+			   (lambda (w context info) 
+			     (let ((flt (make-butter-band-reject notch-freq notch-bw)))
+			       (if (eq? notch-target 'sound)
+				   (filter-sound flt #f #f #f #f (format #f "effects-bbr ~A ~A 0 #f" notch-freq notch-bw))
+				   (if (eq? notch-target 'selection)
+				       (filter-selection flt)
+				       (let ((ms (plausible-mark-samples)))
+					 (let ((bg (car ms))
+					       (nd (- (+ (cadr ms) 1) (car ms))))
+					   (clm-channel flt bg nd #f #f #f #f 
+							(format #f "effects-bbr ~A ~A ~A ~A" notch-freq notch-bw bg nd))))))))
+			   (lambda (w context info)
+			     (help-dialog "Band-reject filter"
+					  "Butterworth band-reject filter. Move the sliders to change the center frequency and bandwidth."))
+			   
+			   (lambda (w c i)
+			     (set! notch-freq initial-notch-freq)
+			     (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 notch-freq 22050)))
+			     (set! notch-bw initial-notch-bw)
+			     (XtSetValues (cadr sliders) (list XmNvalue (floor notch-bw))))
+			   
+			   (lambda () 
+			     (effect-target-ok notch-target))))
+		    
+		    (set! sliders
+			  (add-sliders notch-dialog
+				       (list (list "center frequency" 20 initial-notch-freq 22050
+						   (lambda (w context info)
+						     (set! notch-freq (scale-linear->log 20 (.value info) 22050)))
+						   1 'log)
+					     (list "bandwidth" 0 initial-notch-bw 1000
+						   (lambda (w context info)
+						     (set! notch-bw (.value info)))
+						   1))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! notch-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild notch-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders notch-dialog
-				   (list (list "center frequency" 20 initial-notch-freq 22050
-					       (lambda (w context info)
-						 (set! notch-freq (scale-linear->log 20 (.value info) 22050)))
-					       1 'log)
-					 (list "bandwidth" 0 initial-notch-bw 1000
-					       (lambda (w context info)
-						 (set! notch-bw (.value info)))
-					       1))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! notch-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild notch-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog notch-dialog))))
+		(activate-dialog notch-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Band-reject filter" xmPushButtonWidgetClass filter-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-notch-dialog)))
-	
-	(set! filter-menu-list (cons (lambda ()
-				       (change-label child (format #f "Band-reject filter (~,2F ~D)" notch-freq notch-bw)))
-				     filter-menu-list))))
+	   (child (XtCreateManagedWidget "Band-reject filter" xmPushButtonWidgetClass filter-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-notch-dialog)))
+      
+      (set! filter-menu-list (cons (lambda ()
+				     (change-label child (format #f "Band-reject filter (~,2F ~D)" notch-freq notch-bw)))
+				   filter-menu-list)))
     
 ;;; -------- Butterworth high-pass filter
     
-    (let ((high-pass-freq 100))
-      
-      (define post-high-pass-dialog
-	(let ((high-pass-label "High-pass filter")
-	      (high-pass-dialog #f)
-	      (high-pass-target 'sound))
-	  (lambda ()
-	    (unless (Widget? high-pass-dialog)
-	      ;; if high-pass-dialog doesn't exist, create it
-	      (let ((initial-high-pass-freq 100)
-		    (sliders ()))
-		(set! high-pass-dialog 
-		      (make-effect-dialog 
-		       high-pass-label
-		       
-		       (lambda (w context info)
-			 (let ((flt (make-butter-high-pass high-pass-freq)))
-			   (if (eq? high-pass-target 'sound)
-			       (filter-sound flt #f #f #f #f (format #f "effects-bhp ~A 0 #f" high-pass-freq))
-			       (if (eq? high-pass-target 'selection)
-				   (filter-selection flt)
-				   (let* ((ms (plausible-mark-samples))
-					  (bg (car ms))
-					  (nd (- (+ (cadr ms) 1) (car ms))))
-				     (clm-channel flt bg nd #f #f #f #f 
-						  (format #f "effects-bhp ~A ~A ~A" high-pass-freq bg nd)))))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "High-pass filter"
-				      "Butterworth high-pass filter. Move the slider to change the high-pass cutoff frequency."))
-		       
-		       (lambda (w c i)
-			 (set! high-pass-freq initial-high-pass-freq)
-			 (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 high-pass-freq 22050))))
-		       
-		       (lambda () 
-			 (effect-target-ok high-pass-target))))
+    (let* ((high-pass-freq 100)
+	   (post-high-pass-dialog
+	    (let ((high-pass-label "High-pass filter")
+		  (high-pass-dialog #f)
+		  (high-pass-target 'sound))
+	      (lambda ()
+		(unless (Widget? high-pass-dialog)
+		  ;; if high-pass-dialog doesn't exist, create it
+		  (let ((initial-high-pass-freq 100)
+			(sliders ()))
+		    (set! high-pass-dialog 
+			  (make-effect-dialog 
+			   high-pass-label
+			   
+			   (lambda (w context info)
+			     (let ((flt (make-butter-high-pass high-pass-freq)))
+			       (if (eq? high-pass-target 'sound)
+				   (filter-sound flt #f #f #f #f (format #f "effects-bhp ~A 0 #f" high-pass-freq))
+				   (if (eq? high-pass-target 'selection)
+				       (filter-selection flt)
+				       (let ((ms (plausible-mark-samples)))
+					 (let ((bg (car ms))
+					       (nd (- (+ (cadr ms) 1) (car ms))))
+					   (clm-channel flt bg nd #f #f #f #f 
+							(format #f "effects-bhp ~A ~A ~A" high-pass-freq bg nd))))))))
+			   
+			   (lambda (w context info)
+			     (help-dialog "High-pass filter"
+					  "Butterworth high-pass filter. Move the slider to change the high-pass cutoff frequency."))
+			   
+			   (lambda (w c i)
+			     (set! high-pass-freq initial-high-pass-freq)
+			     (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 high-pass-freq 22050))))
+			   
+			   (lambda () 
+			     (effect-target-ok high-pass-target))))
+		    
+		    (set! sliders
+			  (add-sliders high-pass-dialog
+				       (list (list "high-pass cutoff frequency" 20 initial-high-pass-freq 22050
+						   (lambda (w context info)
+						     (set! high-pass-freq (scale-linear->log 20 (.value info) 22050)))
+						   1 'log))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! high-pass-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild high-pass-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders high-pass-dialog
-				   (list (list "high-pass cutoff frequency" 20 initial-high-pass-freq 22050
-					       (lambda (w context info)
-						 (set! high-pass-freq (scale-linear->log 20 (.value info) 22050)))
-					       1 'log))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! high-pass-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild high-pass-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog high-pass-dialog))))
+		(activate-dialog high-pass-dialog))))
       
-      (let ((child (XtCreateManagedWidget "High-pass filter" xmPushButtonWidgetClass filter-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-high-pass-dialog)))
-	
-	(set! filter-menu-list (cons (lambda ()
-				       (change-label child (format #f "High-pass filter (~,2F)" high-pass-freq)))
-				     filter-menu-list))))
+	   (child (XtCreateManagedWidget "High-pass filter" xmPushButtonWidgetClass filter-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-high-pass-dialog)))
+      
+      (set! filter-menu-list (cons (lambda ()
+				     (change-label child (format #f "High-pass filter (~,2F)" high-pass-freq)))
+				   filter-menu-list)))
     
     
 ;;; -------- Butterworth low-pass filter
     
-    (let ((low-pass-freq 1000))
-      
-      (define post-low-pass-dialog
-	(let ((low-pass-label "Low-pass filter")
-	      (low-pass-dialog #f)
-	      (low-pass-target 'sound))
-	  (lambda ()
-	    (unless (Widget? low-pass-dialog)
-	      ;; if low-pass-dialog doesn't exist, create it
-	      (let ((initial-low-pass-freq 1000)
-		    (sliders ()))
-		(set! low-pass-dialog 
-		      (make-effect-dialog 
-		       low-pass-label
-		       
-		       (lambda (w context info)
-			 (let ((flt (make-butter-low-pass low-pass-freq)))
-			   (if (eq? low-pass-target 'sound)
-			       (filter-sound flt #f #f #f #f (format #f "effects-blp ~A 0 #f" low-pass-freq))
-			       (if (eq? low-pass-target 'selection)
-				   (filter-selection flt)
-				   (let* ((ms (plausible-mark-samples))
-					  (bg (car ms))
-					  (nd (- (+ (cadr ms) 1) (car ms))))
-				     (clm-channel flt bg nd #f #f #f #f 
-						  (format #f "effects-blp ~A ~A ~A" low-pass-freq bg nd)))))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Low-pass filter"
-				      "Butterworth low-pass filter. Move the slider to change the low-pass cutoff frequency."))
-		       
-		       (lambda (w c i)
-			 (set! low-pass-freq initial-low-pass-freq)
-			 (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 low-pass-freq 22050))))
-		       
-		       (lambda () 
-			 (effect-target-ok low-pass-target))))
+    (let* ((low-pass-freq 1000)
+	   (post-low-pass-dialog
+	    (let ((low-pass-label "Low-pass filter")
+		  (low-pass-dialog #f)
+		  (low-pass-target 'sound))
+	      (lambda ()
+		(unless (Widget? low-pass-dialog)
+		  ;; if low-pass-dialog doesn't exist, create it
+		  (let ((initial-low-pass-freq 1000)
+			(sliders ()))
+		    (set! low-pass-dialog 
+			  (make-effect-dialog 
+			   low-pass-label
+			   
+			   (lambda (w context info)
+			     (let ((flt (make-butter-low-pass low-pass-freq)))
+			       (if (eq? low-pass-target 'sound)
+				   (filter-sound flt #f #f #f #f (format #f "effects-blp ~A 0 #f" low-pass-freq))
+				   (if (eq? low-pass-target 'selection)
+				       (filter-selection flt)
+				       (let ((ms (plausible-mark-samples)))
+					 (let ((bg (car ms))
+					       (nd (- (+ (cadr ms) 1) (car ms))))
+					   (clm-channel flt bg nd #f #f #f #f 
+							(format #f "effects-blp ~A ~A ~A" low-pass-freq bg nd))))))))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Low-pass filter"
+					  "Butterworth low-pass filter. Move the slider to change the low-pass cutoff frequency."))
+			   
+			   (lambda (w c i)
+			     (set! low-pass-freq initial-low-pass-freq)
+			     (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 low-pass-freq 22050))))
+			   
+			   (lambda () 
+			     (effect-target-ok low-pass-target))))
+		    
+		    (set! sliders
+			  (add-sliders low-pass-dialog
+				       (list (list "low-pass cutoff frequency" 20 initial-low-pass-freq 22050
+						   (lambda (w context info)
+						     (set! low-pass-freq (scale-linear->log 20 (.value info) 22050)))
+						   1 'log))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! low-pass-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild low-pass-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders low-pass-dialog
-				   (list (list "low-pass cutoff frequency" 20 initial-low-pass-freq 22050
-					       (lambda (w context info)
-						 (set! low-pass-freq (scale-linear->log 20 (.value info) 22050)))
-					       1 'log))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! low-pass-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild low-pass-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog low-pass-dialog))))
+		(activate-dialog low-pass-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Low-pass filter" xmPushButtonWidgetClass filter-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-low-pass-dialog)))
-	
-	(set! filter-menu-list (cons (lambda ()
-				       (change-label child (format #f "Low-pass filter (~,2F)" low-pass-freq)))
-				     filter-menu-list))))
+	   (child (XtCreateManagedWidget "Low-pass filter" xmPushButtonWidgetClass filter-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-low-pass-dialog)))
+      
+      (set! filter-menu-list (cons (lambda ()
+				     (change-label child (format #f "Low-pass filter (~,2F)" low-pass-freq)))
+				   filter-menu-list)))
     
 ;;; more filters
     
@@ -1101,259 +1086,256 @@ the delay time in seconds, the modulation frequency, and the echo amplitude."))
 ;;;
 ;;; (truncate)
     
-    (let ((comb-scaler 0.1)
-	  (comb-size 50))
+    (let* ((comb-scaler 0.1)
+	  (comb-size 50)
+	  (post-comb-dialog
+	   (let ((comb-label "Comb filter")
+		 (comb-dialog #f)
+		 (comb-target 'sound))
+	     (lambda ()
+	       (unless (Widget? comb-dialog)
+		 ;; if comb-dialog doesn't exist, create it
+		 (let ((initial-comb-scaler 0.1)
+		       (initial-comb-size 50)
+		       (sliders ()))
+		   (set! comb-dialog 
+			 (make-effect-dialog 
+			  comb-label
+			  
+			  (lambda (w context info) 
+			    (map-chan-over-target-with-sync
+			     (lambda (ignored) 
+			       (effects-comb-filter comb-scaler comb-size)) 
+			     comb-target 
+			     (lambda (target samps)
+			       (format #f "effects-comb-filter ~A ~A" comb-scaler comb-size))
+			     #f))
+			  
+			  (lambda (w context info)
+			    (help-dialog "Comb filter"
+					 "Move the sliders to change the comb scaler and size."))
+			  
+			  (lambda (w c i)
+			    (set! comb-scaler initial-comb-scaler)
+			    (XtSetValues (car sliders) (list XmNvalue (floor (* comb-scaler 100))))
+			    (set! comb-size initial-comb-size)
+			    (XtSetValues (cadr sliders) (list XmNvalue (floor comb-size))))
+			  
+			  (lambda () 
+			    (effect-target-ok comb-target))))
+		   
+		   (set! sliders
+			 (add-sliders comb-dialog
+				      (list (list "scaler" 0.0 initial-comb-scaler 1.0
+						  (lambda (w context info)
+						    (set! comb-scaler (/ (.value info) 100.0)))
+						  100)
+					    (list "size" 0 initial-comb-size 100
+						  (lambda (w context info)
+						    (set! comb-size (.value info)))
+						  1))))
+		   (add-target (XtParent (car sliders)) 
+			       (lambda (target) 
+				 (set! comb-target target)
+				 (XtSetSensitive (XmMessageBoxGetChild comb-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+			       #f)))
+	       
+	       (activate-dialog comb-dialog))))
+	  
+	  (child (XtCreateManagedWidget "Comb filter" xmPushButtonWidgetClass filter-menu
+					(list XmNbackground *basic-color*))))
       
-      (define post-comb-dialog
-	(let ((comb-label "Comb filter")
-	      (comb-dialog #f)
-	      (comb-target 'sound))
-	  (lambda ()
-	    (unless (Widget? comb-dialog)
-	      ;; if comb-dialog doesn't exist, create it
-	      (let ((initial-comb-scaler 0.1)
-		    (initial-comb-size 50)
-		    (sliders ()))
-		(set! comb-dialog 
-		      (make-effect-dialog 
-		       comb-label
-		       
-		       (lambda (w context info) 
-			 (map-chan-over-target-with-sync
-			  (lambda (ignored) 
-			    (effects-comb-filter comb-scaler comb-size)) 
-			  comb-target 
-			  (lambda (target samps)
-			    (format #f "effects-comb-filter ~A ~A" comb-scaler comb-size))
-			  #f))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Comb filter"
-				      "Move the sliders to change the comb scaler and size."))
-		       
-		       (lambda (w c i)
-			 (set! comb-scaler initial-comb-scaler)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* comb-scaler 100))))
-			 (set! comb-size initial-comb-size)
-			 (XtSetValues (cadr sliders) (list XmNvalue (floor comb-size))))
-		       
-		       (lambda () 
-			 (effect-target-ok comb-target))))
-		
-		(set! sliders
-		      (add-sliders comb-dialog
-				   (list (list "scaler" 0.0 initial-comb-scaler 1.0
-					       (lambda (w context info)
-						 (set! comb-scaler (/ (.value info) 100.0)))
-					       100)
-					 (list "size" 0 initial-comb-size 100
-					       (lambda (w context info)
-						 (set! comb-size (.value info)))
-					       1))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! comb-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild comb-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog comb-dialog))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-comb-dialog)))
       
-      (let ((child (XtCreateManagedWidget "Comb filter" xmPushButtonWidgetClass filter-menu
-					  (list XmNbackground *basic-color*))))
-	
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-comb-dialog)))
-	
-	(set! filter-menu-list (cons (lambda ()
-				       (change-label child (format #f "Comb filter (~1,2F ~D)" comb-scaler comb-size)))
-				     filter-menu-list))))
+      (set! filter-menu-list (cons (lambda ()
+				     (change-label child (format #f "Comb filter (~1,2F ~D)" comb-scaler comb-size)))
+				   filter-menu-list)))
     
 ;;; -------- Comb-chord filter
 ;;;
 ;;; (truncate)
     
-    (let ((new-comb-chord-scaler 0.95)
-	  (new-comb-chord-size 60)
-	  (new-comb-chord-amp 0.3)
-	  (new-comb-chord-interval-one 0.75)
-	  (new-comb-chord-interval-two 1.20))
-      
-      (define post-new-comb-chord-dialog
-	(let ((new-comb-chord-label "Comb chord filter")
-	      (new-comb-chord-dialog #f)
-	      (new-comb-chord-target 'sound))
-	  (lambda ()
-	    (unless (Widget? new-comb-chord-dialog)
-	      ;; if new-comb-chord-dialog doesn't exist, create it
-	      (let ((initial-new-comb-chord-scaler 0.95)
-		    (initial-new-comb-chord-size 60)
-		    (initial-new-comb-chord-amp 0.3)
-		    (initial-new-comb-chord-interval-one 0.75)
-		    (initial-new-comb-chord-interval-two 1.20)
-		    (sliders ())
-		    (new-comb-chord (lambda (scaler size amp interval-one interval-two)
-				      ;; Comb chord filter: create chords by using filters at harmonically related sizes.
-				      (let ((cs (make-comb-bank (vector (make-comb scaler size)
-									(make-comb scaler (floor (* size interval-one)))
-									(make-comb scaler (floor (* size interval-two)))))))
-					(lambda (x)
-					  (* amp (comb-bank cs x)))))))
-		(set! new-comb-chord-dialog
-		      (make-effect-dialog 
-		       new-comb-chord-label
-		       
-		       (lambda (w context info)
-			 (map-chan-over-target-with-sync
-			  (lambda (ignored)
-			    (new-comb-chord new-comb-chord-scaler new-comb-chord-size new-comb-chord-amp
-					    new-comb-chord-interval-one new-comb-chord-interval-two))
-			  new-comb-chord-target
-			  (lambda (target samps)
-			    (format #f "effects-comb-chord ~A ~A ~A ~A ~A" 
-				    new-comb-chord-scaler new-comb-chord-size new-comb-chord-amp
-				    new-comb-chord-interval-one new-comb-chord-interval-two))
-			  #f))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Comb chord filter"
-				      "Creates chords by using filters at harmonically related sizes. Move the sliders to set the comb chord parameters."))
-		       
-		       (lambda (w c i)
-			 (set! new-comb-chord-scaler initial-new-comb-chord-scaler)
-			 (XtSetValues (sliders 0) (list XmNvalue (floor (* new-comb-chord-scaler 100))))
-			 (set! new-comb-chord-size initial-new-comb-chord-size)
-			 (XtSetValues (sliders 1) (list XmNvalue new-comb-chord-size))
-			 (set! new-comb-chord-amp initial-new-comb-chord-amp)
-			 (XtSetValues (sliders 2) (list XmNvalue (floor (* new-comb-chord-amp 100))))
-			 (set! new-comb-chord-interval-one initial-new-comb-chord-interval-one)
-			 (XtSetValues (sliders 3) (list XmNvalue (floor (* new-comb-chord-interval-one 100))))
-			 (set! new-comb-chord-interval-two initial-new-comb-chord-interval-two)
-			 (XtSetValues (sliders 4) (list XmNvalue (floor (* new-comb-chord-interval-two 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok new-comb-chord-target))))
+    (let* ((new-comb-chord-scaler 0.95)
+	   (new-comb-chord-size 60)
+	   (new-comb-chord-amp 0.3)
+	   (new-comb-chord-interval-one 0.75)
+	   (new-comb-chord-interval-two 1.20)
+	   (post-new-comb-chord-dialog
+	    (let ((new-comb-chord-label "Comb chord filter")
+		  (new-comb-chord-dialog #f)
+		  (new-comb-chord-target 'sound))
+	      (lambda ()
+		(unless (Widget? new-comb-chord-dialog)
+		  ;; if new-comb-chord-dialog doesn't exist, create it
+		  (let ((initial-new-comb-chord-scaler 0.95)
+			(initial-new-comb-chord-size 60)
+			(initial-new-comb-chord-amp 0.3)
+			(initial-new-comb-chord-interval-one 0.75)
+			(initial-new-comb-chord-interval-two 1.20)
+			(sliders ())
+			(new-comb-chord (lambda (scaler size amp interval-one interval-two)
+					  ;; Comb chord filter: create chords by using filters at harmonically related sizes.
+					  (let ((cs (make-comb-bank (vector (make-comb scaler size)
+									    (make-comb scaler (floor (* size interval-one)))
+									    (make-comb scaler (floor (* size interval-two)))))))
+					    (lambda (x)
+					      (* amp (comb-bank cs x)))))))
+		    (set! new-comb-chord-dialog
+			  (make-effect-dialog 
+			   new-comb-chord-label
+			   
+			   (lambda (w context info)
+			     (map-chan-over-target-with-sync
+			      (lambda (ignored)
+				(new-comb-chord new-comb-chord-scaler new-comb-chord-size new-comb-chord-amp
+						new-comb-chord-interval-one new-comb-chord-interval-two))
+			      new-comb-chord-target
+			      (lambda (target samps)
+				(format #f "effects-comb-chord ~A ~A ~A ~A ~A" 
+					new-comb-chord-scaler new-comb-chord-size new-comb-chord-amp
+					new-comb-chord-interval-one new-comb-chord-interval-two))
+			      #f))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Comb chord filter"
+					  "Creates chords by using filters at harmonically related sizes. Move the sliders to set the comb chord parameters."))
+			   
+			   (lambda (w c i)
+			     (set! new-comb-chord-scaler initial-new-comb-chord-scaler)
+			     (XtSetValues (sliders 0) (list XmNvalue (floor (* new-comb-chord-scaler 100))))
+			     (set! new-comb-chord-size initial-new-comb-chord-size)
+			     (XtSetValues (sliders 1) (list XmNvalue new-comb-chord-size))
+			     (set! new-comb-chord-amp initial-new-comb-chord-amp)
+			     (XtSetValues (sliders 2) (list XmNvalue (floor (* new-comb-chord-amp 100))))
+			     (set! new-comb-chord-interval-one initial-new-comb-chord-interval-one)
+			     (XtSetValues (sliders 3) (list XmNvalue (floor (* new-comb-chord-interval-one 100))))
+			     (set! new-comb-chord-interval-two initial-new-comb-chord-interval-two)
+			     (XtSetValues (sliders 4) (list XmNvalue (floor (* new-comb-chord-interval-two 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok new-comb-chord-target))))
+		    
+		    (set! sliders
+			  (add-sliders new-comb-chord-dialog
+				       (list (list "chord scaler" 0.0 initial-new-comb-chord-scaler 1.0
+						   (lambda (w context info)
+						     (set! new-comb-chord-scaler (/ (.value info) 100.0)))
+						   100)
+					     (list "chord size" 0 initial-new-comb-chord-size 100
+						   (lambda (w context info)
+						     (set! new-comb-chord-size (.value info)))
+						   1)
+					     (list "amplitude" 0.0 initial-new-comb-chord-amp 1.0
+						   (lambda (w context info)
+						     (set! new-comb-chord-amp (/ (.value info) 100.0)))
+						   100)
+					     (list "interval one" 0.0 initial-new-comb-chord-interval-one 2.0
+						   (lambda (w context info)
+						     (set! new-comb-chord-interval-one (/ (.value info) 100.0)))
+						   100)
+					     (list "interval two" 0.0 initial-new-comb-chord-interval-two 2.0
+						   (lambda (w context info)
+						     (set! new-comb-chord-interval-two (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! new-comb-chord-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild new-comb-chord-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders new-comb-chord-dialog
-				   (list (list "chord scaler" 0.0 initial-new-comb-chord-scaler 1.0
-					       (lambda (w context info)
-						 (set! new-comb-chord-scaler (/ (.value info) 100.0)))
-					       100)
-					 (list "chord size" 0 initial-new-comb-chord-size 100
-					       (lambda (w context info)
-						 (set! new-comb-chord-size (.value info)))
-					       1)
-					 (list "amplitude" 0.0 initial-new-comb-chord-amp 1.0
-					       (lambda (w context info)
-						 (set! new-comb-chord-amp (/ (.value info) 100.0)))
-					       100)
-					 (list "interval one" 0.0 initial-new-comb-chord-interval-one 2.0
-					       (lambda (w context info)
-						 (set! new-comb-chord-interval-one (/ (.value info) 100.0)))
-					       100)
-					 (list "interval two" 0.0 initial-new-comb-chord-interval-two 2.0
-					       (lambda (w context info)
-						 (set! new-comb-chord-interval-two (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! new-comb-chord-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild new-comb-chord-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog new-comb-chord-dialog))))
+		(activate-dialog new-comb-chord-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Comb chord filter" xmPushButtonWidgetClass filter-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-new-comb-chord-dialog)))
-	
-	(set! filter-menu-list (cons (lambda ()
-				       (change-label child 
-						     (format #f "Comb chord filter (~1,2F ~D ~1,2F ~1,2F ~1,2F)"  
-							     new-comb-chord-scaler new-comb-chord-size new-comb-chord-amp 
-							     new-comb-chord-interval-one new-comb-chord-interval-two)))
-				     filter-menu-list))))
+	   (child (XtCreateManagedWidget "Comb chord filter" xmPushButtonWidgetClass filter-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-new-comb-chord-dialog)))
+      
+      (set! filter-menu-list (cons (lambda ()
+				     (change-label child 
+						   (format #f "Comb chord filter (~1,2F ~D ~1,2F ~1,2F ~1,2F)"  
+							   new-comb-chord-scaler new-comb-chord-size new-comb-chord-amp 
+							   new-comb-chord-interval-one new-comb-chord-interval-two)))
+				   filter-menu-list)))
     
 ;;; -------- Moog filter
 ;;;
     
-    (let ((moog-cutoff-frequency 10000)
-	  (moog-resonance 0.5))
-      
-      (define post-moog-dialog
-	(let ((moog-label "Moog filter")
-	      (moog-dialog #f)
-	      (moog-target 'sound))
-	  
-	  (define (moog freq Q)
-	    (let ((gen (make-moog-filter freq Q)))
-	      (lambda (inval)
-		(moog-filter gen inval))))
-	  
-	  (lambda ()
-	    (unless (Widget? moog-dialog)
-	      ;; if moog-dialog doesn't exist, create it
-	      (let ((initial-moog-cutoff-frequency 10000)
-		    (initial-moog-resonance 0.5)
-		    (sliders ()))
-		(set! moog-dialog 
-		      (make-effect-dialog 
-		       moog-label
-		       
-		       (lambda (w context info)
-			 (map-chan-over-target-with-sync
-			  (lambda (ignored) (moog moog-cutoff-frequency moog-resonance)) 
-			  moog-target 
-			  (lambda (target samps)
-			    (format #f "effects-moog-filter ~A ~A" moog-cutoff-frequency moog-resonance))
-			  #f))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Moog filter"
-				      "Moog-style 4-pole lowpass filter with 24db/oct rolloff and variable resonance.
+    (let* ((moog-cutoff-frequency 10000)
+	   (moog-resonance 0.5)
+	   (post-moog-dialog
+	    (let ((moog-label "Moog filter")
+		  (moog-dialog #f)
+		  (moog-target 'sound))
+	      
+	      (define (moog freq Q)
+		(let ((gen (make-moog-filter freq Q)))
+		  (lambda (inval)
+		    (moog-filter gen inval))))
+	      
+	      (lambda ()
+		(unless (Widget? moog-dialog)
+		  ;; if moog-dialog doesn't exist, create it
+		  (let ((initial-moog-cutoff-frequency 10000)
+			(initial-moog-resonance 0.5)
+			(sliders ()))
+		    (set! moog-dialog 
+			  (make-effect-dialog 
+			   moog-label
+			   
+			   (lambda (w context info)
+			     (map-chan-over-target-with-sync
+			      (lambda (ignored) (moog moog-cutoff-frequency moog-resonance)) 
+			      moog-target 
+			      (lambda (target samps)
+				(format #f "effects-moog-filter ~A ~A" moog-cutoff-frequency moog-resonance))
+			      #f))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Moog filter"
+					  "Moog-style 4-pole lowpass filter with 24db/oct rolloff and variable resonance.
 Move the sliders to set the filter cutoff frequency and resonance."))
-		       
-		       (lambda (w c i)
-			 (set! moog-cutoff-frequency initial-moog-cutoff-frequency)
-			 (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 moog-cutoff-frequency 22050)))
-			 (set! moog-resonance initial-moog-resonance)
-			 (XtSetValues (cadr sliders) (list XmNvalue (floor (* moog-resonance 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok moog-target))))
+			   
+			   (lambda (w c i)
+			     (set! moog-cutoff-frequency initial-moog-cutoff-frequency)
+			     (XtSetValues (car sliders) (list XmNvalue (scale-log->linear 20 moog-cutoff-frequency 22050)))
+			     (set! moog-resonance initial-moog-resonance)
+			     (XtSetValues (cadr sliders) (list XmNvalue (floor (* moog-resonance 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok moog-target))))
+		    
+		    (set! sliders
+			  (add-sliders moog-dialog
+				       (list (list "cutoff frequency" 20 initial-moog-cutoff-frequency 22050
+						   (lambda (w context info)
+						     (set! moog-cutoff-frequency (scale-linear->log 20 (.value info) 22050)))
+						   1 'log)
+					     (list "resonance" 0.0 initial-moog-resonance 1.0
+						   (lambda (w context info)
+						     (set! moog-resonance (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! moog-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild moog-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders moog-dialog
-				   (list (list "cutoff frequency" 20 initial-moog-cutoff-frequency 22050
-					       (lambda (w context info)
-						 (set! moog-cutoff-frequency (scale-linear->log 20 (.value info) 22050)))
-					       1 'log)
-					 (list "resonance" 0.0 initial-moog-resonance 1.0
-					       (lambda (w context info)
-						 (set! moog-resonance (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! moog-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild moog-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog moog-dialog))))
+		(activate-dialog moog-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Moog filter" xmPushButtonWidgetClass filter-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-moog-dialog)))
-	
-	(set! filter-menu-list (cons (lambda ()
-				       (change-label child (format #f "Moog filter (~,2F ~1,2F)" moog-cutoff-frequency moog-resonance)))
-				     filter-menu-list))))
-    )
+	   (child (XtCreateManagedWidget "Moog filter" xmPushButtonWidgetClass filter-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-moog-dialog)))
+      
+      (set! filter-menu-list (cons (lambda ()
+				     (change-label child (format #f "Moog filter (~,2F ~1,2F)" moog-cutoff-frequency moog-resonance)))
+				   filter-menu-list))))
   
+
 ;;; FREQUENCY EFFECTS
 ;;;
   
@@ -1370,265 +1352,257 @@ Move the sliders to set the filter cutoff frequency and resonance."))
 ;;; -------- Sample rate conversion (resample)
 ;;;
     
-    (let ((src-amount 0.0))
-      
-      (define post-src-dialog
-	(let ((src-label "Sample rate conversion")
-	      (src-dialog #f)
-	      (src-target 'sound))
-	  (lambda ()
-	    (unless (Widget? src-dialog)
-	      ;; if src-dialog doesn't exist, create it
-	      (let ((initial-src-amount 0.0)
-		    (sliders ()))
-		(set! src-dialog
-		      (make-effect-dialog 
-		       src-label
-		       
-		       (lambda (w context info)		     
-			 (if (eq? src-target 'sound)
-			     (src-sound src-amount)
-			     (if (eq? src-target 'selection)
-				 (if (selection?)
-				     (src-selection src-amount)
-				     (snd-print ";no selection"))
-				 (snd-print "can't apply src between marks yet"))))		   
-		       
-		       (lambda (w context info)
-			 (help-dialog "Sample rate conversion"
-				      "Move the slider to change the sample rate.
-Values greater than 1.0 speed up file play, negative values reverse it."))
-		       
-		       (lambda (w c i)
-			 (set! src-amount initial-src-amount)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* src-amount 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok src-target))))
-		
-		(set! sliders
-		      (add-sliders src-dialog
-				   (list (list "sample rate" -2.0 initial-src-amount 2.0
-					       (lambda (w context info)
-						 (set! src-amount (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! src-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild src-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    (activate-dialog src-dialog))))
+    (let* ((src-amount 0.0)
+	   (post-src-dialog
+	    (let ((src-label "Sample rate conversion")
+		  (src-dialog #f)
+		  (src-target 'sound))
+	      (lambda ()
+		(unless (Widget? src-dialog)
+		  ;; if src-dialog doesn't exist, create it
+		  (let ((initial-src-amount 0.0)
+			(sliders ()))
+		    (set! src-dialog
+			  (make-effect-dialog 
+			   src-label
+			   
+			   (lambda (w context info)		     
+			     (if (eq? src-target 'sound)
+				 (src-sound src-amount)
+				 (if (eq? src-target 'selection)
+				     (if (selection?)
+					 (src-selection src-amount)
+					 (snd-print ";no selection"))
+				     (snd-print "can't apply src between marks yet"))))		   
+			   
+			   (lambda (w context info)
+			     (help-dialog "Sample rate conversion"
+					  "Move the slider to change the sample rate. Values greater than 1.0 speed up file play, negative values reverse it."))
+			   
+			   (lambda (w c i)
+			     (set! src-amount initial-src-amount)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* src-amount 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok src-target))))
+		    
+		    (set! sliders
+			  (add-sliders src-dialog
+				       (list (list "sample rate" -2.0 initial-src-amount 2.0
+						   (lambda (w context info)
+						     (set! src-amount (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! src-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild src-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
+		(activate-dialog src-dialog))))
 	  
-      (let ((child (XtCreateManagedWidget "Sample rate scaling" xmPushButtonWidgetClass freq-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-src-dialog)))
-	
-	(set! freq-menu-list (cons (lambda ()
-				     (change-label child (format #f "Sample rate scaling (~1,2F)" src-amount)))
-				   freq-menu-list))))
+	   (child (XtCreateManagedWidget "Sample rate scaling" xmPushButtonWidgetClass freq-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-src-dialog)))
+      
+      (set! freq-menu-list (cons (lambda ()
+				   (change-label child (format #f "Sample rate scaling (~1,2F)" src-amount)))
+				 freq-menu-list)))
     
     
 ;;; -------- Time and pitch scaling by granular synthesis and sampling rate conversion
 ;;;
     
-    (let ((time-scale 1.0)
-	  (pitch-scale 1.0))
+    (let* ((time-scale 1.0)
+	  (pitch-scale 1.0)
+	  (post-expsrc-dialog
+	   (let ((expsrc-label "Time/pitch scaling")
+		 (expsrc-dialog #f)
+		 (expsrc-target 'sound)
+		 (hop-size 0.05)
+		 (segment-length 0.15)
+		 (ramp-scale 0.5))
+	     (lambda ()
+	       (unless (Widget? expsrc-dialog)
+		 (let ((initial-time-scale 1.0)
+		       (initial-hop-size 0.05)
+		       (initial-segment-length 0.15)
+		       (initial-ramp-scale 0.5)
+		       (initial-pitch-scale 1.0)
+		       (sliders ()))
+		   (set! expsrc-dialog 
+			 (make-effect-dialog 
+			  expsrc-label
+			  
+			  (lambda (w context info)
+			    (let ((snd (selected-sound)))
+			      (save-controls snd)
+			      (reset-controls snd)
+			      (set! (speed-control snd) pitch-scale)
+			      (let ((new-time (* pitch-scale time-scale)))
+				(if (not (= new-time 1.0))
+				    (begin
+				      (set! (expand-control? snd) #t)
+				      (set! (expand-control snd) new-time)
+				      (set! (expand-control-hop snd) hop-size)
+				      (set! (expand-control-length snd) segment-length)
+				      (set! (expand-control-ramp snd) ramp-scale))))
+			      (if (eq? expsrc-target 'marks)
+				  (let ((ms (plausible-mark-samples)))
+				    (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
+				  (apply-controls snd (if (eq? expsrc-target 'sound) 0 2)))
+			      (restore-controls snd)))
+			  
+			  (lambda (w context info)
+			    (help-dialog "Time/pitch scaling"
+					 "Move the sliders to change the time/pitch scaling parameters."))
+			  
+			  (lambda (w c i)
+			    (set! time-scale initial-time-scale)
+			    (XtSetValues (sliders 0) (list XmNvalue (floor (* time-scale 100))))
+			    (set! hop-size initial-hop-size)
+			    (XtSetValues (sliders 1) (list XmNvalue (floor (* hop-size 100))))
+			    (set! segment-length initial-segment-length)
+			    (XtSetValues (sliders 2) (list XmNvalue (floor (* segment-length 100))))
+			    (set! ramp-scale initial-ramp-scale)
+			    (XtSetValues (sliders 3) (list XmNvalue (floor (* ramp-scale 100))))
+			    (set! pitch-scale initial-pitch-scale)
+			    (XtSetValues (sliders 4) (list XmNvalue (floor (* pitch-scale 100)))))
+			  
+			  (lambda () 
+			    (effect-target-ok expsrc-target))))
+		   
+		   (set! sliders
+			 (add-sliders expsrc-dialog
+				      (list (list "time scale" 0.0 initial-time-scale 5.0
+						  (lambda (w context info)
+						    (set! time-scale (/ (.value info) 100.0)))
+						  100)
+					    (list "hop size" 0.0 initial-hop-size 1.0
+						  (lambda (w context info)
+						    (set! hop-size (/ (.value info) 100.0)))
+						  100)
+					    (list "segment length" 0.0 initial-segment-length 0.5
+						  (lambda (w context info)
+						    (set! segment-length (/ (.value info) 100.0)))
+						  100)
+					    (list "ramp scale" 0.0 initial-ramp-scale 0.5
+						  (lambda (w context info)
+						    (set! ramp-scale (/ (.value info) 100.0)))
+						  1000)
+					    (list "pitch scale" 0.0 initial-pitch-scale 5.0
+						  (lambda (w context info)
+						    (set! pitch-scale (/ (.value info) 100.0)))
+						  100))))
+		   (add-target (XtParent (car sliders)) 
+			       (lambda (target) 
+				 (set! expsrc-target target)
+				 (XtSetSensitive (XmMessageBoxGetChild expsrc-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+			       #f)))
+	       
+	       (activate-dialog expsrc-dialog))))
       
-      (define post-expsrc-dialog
-	(let ((expsrc-label "Time/pitch scaling")
-	      (expsrc-dialog #f)
-	      (expsrc-target 'sound)
-	      (hop-size 0.05)
-	      (segment-length 0.15)
-	      (ramp-scale 0.5))
-	  (lambda ()
-	    (unless (Widget? expsrc-dialog)
-	      (let ((initial-time-scale 1.0)
-		    (initial-hop-size 0.05)
-		    (initial-segment-length 0.15)
-		    (initial-ramp-scale 0.5)
-		    (initial-pitch-scale 1.0)
-		    (sliders ()))
-		(set! expsrc-dialog 
-		      (make-effect-dialog 
-		       expsrc-label
-		       
-		       (lambda (w context info)
-			 (let ((snd (selected-sound)))
-			   (save-controls snd)
-			   (reset-controls snd)
-			   (set! (speed-control snd) pitch-scale)
-			   (let ((new-time (* pitch-scale time-scale)))
-			     (if (not (= new-time 1.0))
-				 (begin
-				   (set! (expand-control? snd) #t)
-				   (set! (expand-control snd) new-time)
-				   (set! (expand-control-hop snd) hop-size)
-				   (set! (expand-control-length snd) segment-length)
-				   (set! (expand-control-ramp snd) ramp-scale))))
-			   (if (eq? expsrc-target 'marks)
-			       (let ((ms (plausible-mark-samples)))
-				 (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
-			       (apply-controls snd (if (eq? expsrc-target 'sound) 0 2)))
-			   (restore-controls snd)))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Time/pitch scaling"
-				      "Move the sliders to change the time/pitch scaling parameters."))
-		       
-		       (lambda (w c i)
-			 (set! time-scale initial-time-scale)
-			 (XtSetValues (sliders 0) (list XmNvalue (floor (* time-scale 100))))
-			 (set! hop-size initial-hop-size)
-			 (XtSetValues (sliders 1) (list XmNvalue (floor (* hop-size 100))))
-			 (set! segment-length initial-segment-length)
-			 (XtSetValues (sliders 2) (list XmNvalue (floor (* segment-length 100))))
-			 (set! ramp-scale initial-ramp-scale)
-			 (XtSetValues (sliders 3) (list XmNvalue (floor (* ramp-scale 100))))
-			 (set! pitch-scale initial-pitch-scale)
-			 (XtSetValues (sliders 4) (list XmNvalue (floor (* pitch-scale 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok expsrc-target))))
-		
-		(set! sliders
-		      (add-sliders expsrc-dialog
-				   (list (list "time scale" 0.0 initial-time-scale 5.0
-					       (lambda (w context info)
-						 (set! time-scale (/ (.value info) 100.0)))
-					       100)
-					 (list "hop size" 0.0 initial-hop-size 1.0
-					       (lambda (w context info)
-						 (set! hop-size (/ (.value info) 100.0)))
-					       100)
-					 (list "segment length" 0.0 initial-segment-length 0.5
-					       (lambda (w context info)
-						 (set! segment-length (/ (.value info) 100.0)))
-					       100)
-					 (list "ramp scale" 0.0 initial-ramp-scale 0.5
-					       (lambda (w context info)
-						 (set! ramp-scale (/ (.value info) 100.0)))
-					       1000)
-					 (list "pitch scale" 0.0 initial-pitch-scale 5.0
-					       (lambda (w context info)
-						 (set! pitch-scale (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! expsrc-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild expsrc-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog expsrc-dialog))))
+	  (child (XtCreateManagedWidget "Time/pitch scaling" xmPushButtonWidgetClass freq-menu
+					(list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-expsrc-dialog)))
       
-      (let ((child (XtCreateManagedWidget "Time/pitch scaling" xmPushButtonWidgetClass freq-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-expsrc-dialog)))
-	
-	(set! freq-menu-list (cons (lambda ()
-				     (change-label child (format #f "Time/pitch scaling (~1,2F ~1,2F)" time-scale pitch-scale)))
-				   freq-menu-list))))
+      (set! freq-menu-list (cons (lambda ()
+				   (change-label child (format #f "Time/pitch scaling (~1,2F ~1,2F)" time-scale pitch-scale)))
+				 freq-menu-list)))
     
     
 ;;; -------- Time-varying sample rate conversion (resample)
 ;;; (KSM)
     
-    (let ((src-timevar-scale 1.0))
-      
-      (define post-src-timevar-dialog
-	(let ((src-timevar-label "Src-Timevar")
-	      (src-timevar-dialog #f)
-	      (src-timevar-target 'sound)
-	      (src-timevar-envelope #f))
-	  (lambda ()
-	    (define (scale-envelope e scl)
-	      (if (null? e)
-		  ()
-		  (cons (car e) (cons (* scl (cadr e)) (scale-envelope (cddr e) scl)))))
-	    
-	    (if (Widget? src-timevar-dialog)
-		(activate-dialog src-timevar-dialog)
-		;; if src-timevar-dialog doesn't exist, create it
-		(let ((initial-src-timevar-scale 1.0)
-		      (sliders ())
-		      (fr #f))
-		  (set! src-timevar-dialog
-			(make-effect-dialog 
-			 src-timevar-label
-			 
-			 (lambda (w context info)
-			   (let ((env (scale-envelope (xe-envelope src-timevar-envelope)
-						      src-timevar-scale)))
-			     (if (eq? src-timevar-target 'sound)
-				 (src-sound env)
-				 (if (eq? src-timevar-target 'selection)
-				     (if (selection-member? (selected-sound))
-					 (src-selection env)
-					 (display ";no selection"))
-				     (let ((pts (plausible-mark-samples)))
-				       (if pts
-					   (let* ((beg (car pts))
-						  (len (- (cadr pts) beg)))
-					     (src-channel (make-env env :length len) beg len (selected-sound)))))))))
-			 
-			 (lambda (w context info)
-			   (help-dialog "Src-Timevar"
-					"Move the slider to change the src-timevar scaling amount."))
-			 
-			 (lambda (w c i)
-			   (set! src-timevar-scale initial-src-timevar-scale)
-			   (set! (xe-envelope src-timevar-envelope) (list 0.0 1.0 1.0 1.0))
-			   (XtSetValues (car sliders) (list XmNvalue (* src-timevar-scale 100))))
-			 
-			 (lambda () 
-			   (effect-target-ok src-timevar-target))))
-		  
-		  (set! sliders
-			(add-sliders src-timevar-dialog
-				     (list (list "Resample factor" 0.0 initial-src-timevar-scale 10.0
-						 (lambda (w context info)
-						   (set! src-timevar-scale (/ (.value info) 100.0)))
-						 100))))
-		  (set! fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
-						  (list XmNheight              200
-							XmNleftAttachment      XmATTACH_FORM
-							XmNrightAttachment     XmATTACH_FORM
-							XmNtopAttachment       XmATTACH_WIDGET
-							XmNtopWidget           (sliders (- (length sliders) 1))
-							XmNshadowThickness     4
-							XmNshadowType          XmSHADOW_ETCHED_OUT)))
-		  
-		  (let ((target-row (add-target (XtParent (XtParent (car sliders))) 
-						(lambda (target) 
-						  (set! src-timevar-target target)
-						  (XtSetSensitive (XmMessageBoxGetChild src-timevar-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-						#f)))
+    (let* ((post-src-timevar-dialog
+	    (let ((src-timevar-scale 1.0)
+		  (src-timevar-label "Src-Timevar")
+		  (src-timevar-dialog #f)
+		  (src-timevar-target 'sound)
+		  (src-timevar-envelope #f))
+	      (lambda ()
+		(define (scale-envelope e scl)
+		  (if (null? e)
+		      ()
+		      (cons (car e) (cons (* scl (cadr e)) (scale-envelope (cddr e) scl)))))
+		
+		(if (Widget? src-timevar-dialog)
 		    (activate-dialog src-timevar-dialog)
-		    
-		    (set! src-timevar-envelope (xe-create-enved "src-timevar"  fr
-								(list XmNheight 200)
-								'(0.0 1.0 0.0 1.0)))
-		    (set! (xe-envelope src-timevar-envelope) (list 0.0 1.0 1.0 1.0))
-		    (XtVaSetValues fr (list XmNbottomAttachment XmATTACH_WIDGET
-					    XmNbottomWidget     target-row))))))))
+		    ;; if src-timevar-dialog doesn't exist, create it
+		    (let ((sliders ()))
+		      (let ((initial-src-timevar-scale 1.0))
+			(set! src-timevar-dialog
+			      (make-effect-dialog 
+			       src-timevar-label
+			       
+			       (lambda (w context info)
+				 (let ((env (scale-envelope (xe-envelope src-timevar-envelope)
+							    src-timevar-scale)))
+				   (if (eq? src-timevar-target 'sound)
+				       (src-sound env)
+				       (if (eq? src-timevar-target 'selection)
+					   (if (selection-member? (selected-sound))
+					       (src-selection env)
+					       (display ";no selection"))
+					   (let ((pts (plausible-mark-samples)))
+					     (if pts
+						 (let* ((beg (car pts))
+							(len (- (cadr pts) beg)))
+						   (src-channel (make-env env :length len) beg len (selected-sound)))))))))
+			       
+			       (lambda (w context info)
+				 (help-dialog "Src-Timevar"
+					      "Move the slider to change the src-timevar scaling amount."))
+			       
+			       (lambda (w c i)
+				 (set! src-timevar-scale initial-src-timevar-scale)
+				 (set! (xe-envelope src-timevar-envelope) (list 0.0 1.0 1.0 1.0))
+				 (XtSetValues (car sliders) (list XmNvalue (* src-timevar-scale 100))))
+			       
+			       (lambda () 
+				 (effect-target-ok src-timevar-target))))
+			
+			(set! sliders
+			      (add-sliders src-timevar-dialog
+					   (list (list "Resample factor" 0.0 initial-src-timevar-scale 10.0
+						       (lambda (w context info)
+							 (set! src-timevar-scale (/ (.value info) 100.0)))
+						       100)))))
+		      (let* ((fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
+						      (list XmNheight              200
+							    XmNleftAttachment      XmATTACH_FORM
+							    XmNrightAttachment     XmATTACH_FORM
+							    XmNtopAttachment       XmATTACH_WIDGET
+							    XmNtopWidget           (sliders (- (length sliders) 1))
+							    XmNshadowThickness     4
+							    XmNshadowType          XmSHADOW_ETCHED_OUT)))
+			     (target-row (add-target (XtParent (XtParent (car sliders))) 
+						     (lambda (target) 
+						       (set! src-timevar-target target)
+						       (XtSetSensitive (XmMessageBoxGetChild src-timevar-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+						     #f)))
+			(activate-dialog src-timevar-dialog)
+			
+			(set! src-timevar-envelope (xe-create-enved "src-timevar"  fr
+								    (list XmNheight 200)
+								    '(0.0 1.0 0.0 1.0)))
+			(set! (xe-envelope src-timevar-envelope) (list 0.0 1.0 1.0 1.0))
+			(XtVaSetValues fr (list XmNbottomAttachment XmATTACH_WIDGET
+						XmNbottomWidget     target-row))))))))
       
-      (let ((child (XtCreateManagedWidget "Time-varying sample rate scaling" xmPushButtonWidgetClass freq-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-src-timevar-dialog)))
-	
-	(set! freq-menu-list (cons (lambda ()
-				     (change-label child "Time-varying sample rate scaling"))
-				   freq-menu-list))))
-    
-					;--------------------------------------------------------------------------------
-    )
+	   (child (XtCreateManagedWidget "Time-varying sample rate scaling" xmPushButtonWidgetClass freq-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-src-timevar-dialog)))
+      
+      (set! freq-menu-list (cons (lambda ()
+				   (change-label child "Time-varying sample rate scaling"))
+				 freq-menu-list))))
   
+
 ;;; MODULATION EFFECTS
 ;;;
   
@@ -1670,201 +1644,197 @@ Values greater than 1.0 speed up file play, negative values reverse it."))
 ;;; -------- Amplitude modulation
 ;;;
     
-    (let ((am-effect-amount 100.0)
-	  (am-effect-target 'sound)
-	  (am-effect-envelope #f))
-      
-      (define post-am-effect-dialog
-	(let ((am-effect-label "Amplitude modulation")
-	      (am-effect-dialog #f))
-	  (lambda ()
-	    (define am-effect
-	      (lambda (freq)
-		(let* ((os (make-oscil freq))
-		       (need-env (not (equal? (xe-envelope am-effect-envelope) '(0.0 1.0 1.0 1.0))))
-		       (e (and need-env (make-env (xe-envelope am-effect-envelope) :length (effect-framples am-effect-target)))))
-		  (if need-env
-		      (lambda (inval)
-			(amplitude-modulate 1.0 inval (* (env e) (oscil os))))
-		      (lambda (inval)
-			(amplitude-modulate 1.0 inval (oscil os)))))))
-	    
-	    (if (Widget? am-effect-dialog)
-		(activate-dialog am-effect-dialog)
-		;; if am-effect-dialog doesn't exist, create it
-		(let ((initial-am-effect-amount 100.0)
-		      (sliders ())
-		      (fr #f))
-		  (set! am-effect-dialog
-			(make-effect-dialog 
-			 am-effect-label
-			 
-			 (lambda (w context info)
-			   (map-chan-over-target-with-sync
-			    (lambda (ignored) 
-			      (am-effect am-effect-amount)) 
-			    am-effect-target 
-			    (lambda (target samps)
-			      (format #f "effects-am ~A ~A" am-effect-amount
-				      (let* ((need-env (not (equal? (xe-envelope am-effect-envelope) '(0.0 1.0 1.0 1.0))))
-					     (e (and need-env (xe-envelope am-effect-envelope))))
-					(and e (format #f "'~A" e)))))
-			    #f))
-			 
-			 (lambda (w context info)
-			   (help-dialog "Amplitude modulation"
-					"Move the slider to change the modulation amount."))
-			 
-			 (lambda (w c i)
-			   (set! am-effect-amount initial-am-effect-amount)
-			   (set! (xe-envelope am-effect-envelope) (list 0.0 1.0 1.0 1.0))
-			   (XtSetValues (car sliders) (list XmNvalue (floor am-effect-amount))))
-			 
-			 (lambda () 
-			   (effect-target-ok am-effect-target))))
-		  
-		  (set! sliders
-			(add-sliders am-effect-dialog
-				     (list (list "amplitude modulation" 0.0 initial-am-effect-amount 1000.0
-						 (lambda (w context info)
-						   (set! am-effect-amount (.value info)))
-						 1))))
-		  (set! fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
-						  (list XmNheight              200
-							XmNleftAttachment      XmATTACH_FORM
-							XmNrightAttachment     XmATTACH_FORM
-							XmNtopAttachment       XmATTACH_WIDGET
-							XmNtopWidget           (sliders (- (length sliders) 1))
-							XmNshadowThickness     4
-							XmNshadowType          XmSHADOW_ETCHED_OUT)))
-		  (let ((target-row (add-target (XtParent (XtParent (car sliders))) 
-						(lambda (target) 
-						  (set! am-effect-target target)
-						  (XtSetSensitive (XmMessageBoxGetChild am-effect-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-						#f)))
-		    
+    (let* ((am-effect-amount 100.0)
+	   (post-am-effect-dialog
+	    (let ((am-effect-label "Amplitude modulation")
+		  (am-effect-envelope #f)
+		  (am-effect-target 'sound)
+		  (am-effect-dialog #f))
+	      (lambda ()
+		(define am-effect
+		  (lambda (freq)
+		    (let ((os (make-oscil freq))
+			  (e (and (not (equal? (xe-envelope am-effect-envelope) '(0.0 1.0 1.0 1.0)))
+				  (make-env (xe-envelope am-effect-envelope) :length (effect-framples am-effect-target)))))
+		      (if (env? e)
+			  (lambda (inval)
+			    (amplitude-modulate 1.0 inval (* (env e) (oscil os))))
+			  (lambda (inval)
+			    (amplitude-modulate 1.0 inval (oscil os)))))))
+		
+		(if (Widget? am-effect-dialog)
 		    (activate-dialog am-effect-dialog)
-		    (set! am-effect-envelope (xe-create-enved "am"  fr
-							      (list XmNheight 200)
-							      '(0.0 1.0 0.0 1.0)))
-		    (set! (xe-envelope am-effect-envelope) (list 0.0 1.0 1.0 1.0))
-		    (XtVaSetValues fr (list XmNbottomAttachment XmATTACH_WIDGET
-					    XmNbottomWidget     target-row))))))))
+		    ;; if am-effect-dialog doesn't exist, create it
+		    (let ((sliders ()))
+		      (let ((initial-am-effect-amount 100.0))
+			(set! am-effect-dialog
+			      (make-effect-dialog 
+			       am-effect-label
+			       
+			       (lambda (w context info)
+				 (map-chan-over-target-with-sync
+				  (lambda (ignored) 
+				    (am-effect am-effect-amount)) 
+				  am-effect-target 
+				  (lambda (target samps)
+				    (format #f "effects-am ~A ~A" am-effect-amount
+					    (let ((e (and (not (equal? (xe-envelope am-effect-envelope) '(0.0 1.0 1.0 1.0)))
+							  (xe-envelope am-effect-envelope))))
+					      (and e (format #f "'~A" e)))))
+				  #f))
+			       
+			       (lambda (w context info)
+				 (help-dialog "Amplitude modulation"
+					      "Move the slider to change the modulation amount."))
+			       
+			       (lambda (w c i)
+				 (set! am-effect-amount initial-am-effect-amount)
+				 (set! (xe-envelope am-effect-envelope) (list 0.0 1.0 1.0 1.0))
+				 (XtSetValues (car sliders) (list XmNvalue (floor am-effect-amount))))
+			       
+			       (lambda () 
+				 (effect-target-ok am-effect-target))))
+			
+			(set! sliders
+			      (add-sliders am-effect-dialog
+					   (list (list "amplitude modulation" 0.0 initial-am-effect-amount 1000.0
+						       (lambda (w context info)
+							 (set! am-effect-amount (.value info)))
+						       1)))))
+		      (let* ((fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
+						      (list XmNheight              200
+							    XmNleftAttachment      XmATTACH_FORM
+							    XmNrightAttachment     XmATTACH_FORM
+							    XmNtopAttachment       XmATTACH_WIDGET
+							    XmNtopWidget           (sliders (- (length sliders) 1))
+							    XmNshadowThickness     4
+							    XmNshadowType          XmSHADOW_ETCHED_OUT)))
+			     (target-row (add-target (XtParent (XtParent (car sliders))) 
+						     (lambda (target) 
+						       (set! am-effect-target target)
+						       (XtSetSensitive (XmMessageBoxGetChild am-effect-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+						     #f)))
+			
+			(activate-dialog am-effect-dialog)
+			(set! am-effect-envelope (xe-create-enved "am"  fr
+								  (list XmNheight 200)
+								  '(0.0 1.0 0.0 1.0)))
+			(set! (xe-envelope am-effect-envelope) (list 0.0 1.0 1.0 1.0))
+			(XtVaSetValues fr (list XmNbottomAttachment XmATTACH_WIDGET
+						XmNbottomWidget     target-row))))))))
       
-      (let ((child (XtCreateManagedWidget "Amplitude modulation" xmPushButtonWidgetClass mod-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-am-effect-dialog)))
-	
-	(set! mod-menu-list (cons (lambda ()
-				    (change-label child (format #f "Amplitude modulation (~1,2F)"  am-effect-amount)))
-				  mod-menu-list))))
+	   (child (XtCreateManagedWidget "Amplitude modulation" xmPushButtonWidgetClass mod-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-am-effect-dialog)))
+      
+      (set! mod-menu-list (cons (lambda ()
+				  (change-label child (format #f "Amplitude modulation (~1,2F)"  am-effect-amount)))
+				mod-menu-list)))
     
 ;;; -------- Ring modulation
 ;;;
     
-    (let ((rm-frequency 100)
-	  (rm-radians 100)
-	  (rm-target 'sound)
-	  (rm-envelope #f))
-      
-      (define post-rm-dialog
-	(let ((rm-label "Ring modulation")
-	      (rm-dialog #f))
-	  (lambda ()
-	    (define rm-effect ; avoid collision with examp.scm
-	      (lambda (freq gliss-env)
-		(let* ((os (make-oscil freq))
-		       (need-env (and rm-envelope (not (equal? (xe-envelope rm-envelope) '(0.0 1.0 1.0 1.0)))))
-		       (e (and need-env (make-env (xe-envelope rm-envelope) :length (effect-framples rm-target)))))
-		  (if need-env
-		      (lambda (inval)
-			(* inval (env e) (oscil os)))
-		      (lambda (inval)
-			(* inval (oscil os)))))))
-	    
-	    (if (Widget? rm-dialog)
-		(activate-dialog rm-dialog)
-		;; if rm-dialog doesn't exist, create it
-		(let ((initial-rm-frequency 100)
-		      (initial-rm-radians 100)
-		      (sliders ())
-		      (fr #f))
-		  (set! rm-dialog
-			(make-effect-dialog 
-			 rm-label
-			 
-			 (lambda (w context info)
-			   (map-chan-over-target-with-sync
-			    (lambda (ignored) 
-			      (rm-effect rm-frequency #f)) ;(list 0 0 1 (hz->radians rm-radians)) -- gliss-env is not implemented above
-			    rm-target 
-			    (lambda (target samps)
-			      (format #f "effects-rm ~A ~A" rm-frequency
-				      (let* ((need-env (not (equal? (xe-envelope rm-envelope) '(0.0 1.0 1.0 1.0))))
-					     (e (and need-env (xe-envelope rm-envelope))))
-					(and e (format #f "'~A" e)))))
-			    #f))
-			 
-			 (lambda (w context info)
-			   (help-dialog "Ring modulation"
-					"Move the slider to change the ring modulation parameters."))
-			 
-			 (lambda (w c i)
-			   (set! rm-frequency initial-rm-frequency)
-			   (set! (xe-envelope rm-envelope) (list 0.0 1.0 1.0 1.0))
-			   (XtSetValues (car sliders) (list XmNvalue rm-frequency))
-			   (set! rm-radians initial-rm-radians)
-			   (XtSetValues (cadr sliders) (list XmNvalue rm-radians)))
-			 
-			 (lambda () 
-			   (effect-target-ok rm-target))))
-		  
-		  (set! sliders
-			(add-sliders rm-dialog
-				     (list 
-				      (list "modulation frequency" 0 initial-rm-frequency 1000
-					    (lambda (w context info)
-					      (set! rm-frequency (.value info)))
-					    1)
-				      (list "modulation radians" 0 initial-rm-radians 360
-					    (lambda (w context info)
-					      (set! rm-radians (.value info)))
-					    1))))
-		  (set! fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
-						  (list XmNheight              200
-							XmNleftAttachment      XmATTACH_FORM
-							XmNrightAttachment     XmATTACH_FORM
-							XmNtopAttachment       XmATTACH_WIDGET
-							XmNtopWidget           (sliders (- (length sliders) 1))
-							XmNshadowThickness     4
-							XmNshadowType          XmSHADOW_ETCHED_OUT)))
-		  (let ((target-row (add-target (XtParent (XtParent (car sliders))) 
-						(lambda (target) 
-						  (set! rm-target target)
-						  (XtSetSensitive (XmMessageBoxGetChild rm-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-						#f)))
-		    
+    (let* ((rm-frequency 100)
+	   (rm-radians 100)
+	   (post-rm-dialog
+	    (let ((rm-label "Ring modulation")
+		  (rm-target 'sound)
+		  (rm-envelope #f)
+		  (rm-dialog #f))
+	      (lambda ()
+		(define rm-effect ; avoid collision with examp.scm
+		  (lambda (freq gliss-env)
+		    (let ((os (make-oscil freq))
+			  (e (and (not (equal? (xe-envelope rm-envelope) '(0.0 1.0 1.0 1.0)))
+				  (make-env (xe-envelope rm-envelope) :length (effect-framples rm-target)))))
+		      (if (env? e)
+			  (lambda (inval)
+			    (* inval (env e) (oscil os)))
+			  (lambda (inval)
+			    (* inval (oscil os)))))))
+		
+		(if (Widget? rm-dialog)
 		    (activate-dialog rm-dialog)
-		    (set! rm-envelope (xe-create-enved "rm frequency"  fr
-						       (list XmNheight 200)
-						       '(0.0 1.0 0.0 1.0)))
-		    (set! (xe-envelope rm-envelope) (list 0.0 1.0 1.0 1.0))
-		    (XtVaSetValues fr (list XmNbottomAttachment XmATTACH_WIDGET
-					    XmNbottomWidget     target-row))))))))
-	  
-      (let ((child (XtCreateManagedWidget "Ring modulation" xmPushButtonWidgetClass mod-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-rm-dialog)))
-	
-	(set! mod-menu-list (cons (lambda ()
-				    (change-label child (format #f "Ring modulation (~D ~D)" rm-frequency rm-radians)))
-				  mod-menu-list))))
-    )
+		    ;; if rm-dialog doesn't exist, create it
+		    (let ((initial-rm-frequency 100)
+			  (sliders ()))
+		      (let ((initial-rm-radians 100))
+			(set! rm-dialog
+			      (make-effect-dialog 
+			       rm-label
+			       
+			       (lambda (w context info)
+				 (map-chan-over-target-with-sync
+				  (lambda (ignored) 
+				    (rm-effect rm-frequency #f)) ;(list 0 0 1 (hz->radians rm-radians)) -- gliss-env is not implemented above
+				  rm-target 
+				  (lambda (target samps)
+				    (format #f "effects-rm ~A ~A" rm-frequency
+					    (let ((e (and (not (equal? (xe-envelope rm-envelope) '(0.0 1.0 1.0 1.0)))
+							  (xe-envelope rm-envelope))))
+					      (and e (format #f "'~A" e)))))
+				  #f))
+			       
+			       (lambda (w context info)
+				 (help-dialog "Ring modulation"
+					      "Move the slider to change the ring modulation parameters."))
+			       
+			       (lambda (w c i)
+				 (set! rm-frequency initial-rm-frequency)
+				 (set! (xe-envelope rm-envelope) (list 0.0 1.0 1.0 1.0))
+				 (XtSetValues (car sliders) (list XmNvalue rm-frequency))
+				 (set! rm-radians initial-rm-radians)
+				 (XtSetValues (cadr sliders) (list XmNvalue rm-radians)))
+			       
+			       (lambda () 
+				 (effect-target-ok rm-target))))
+			
+			(set! sliders
+			      (add-sliders rm-dialog
+					   (list 
+					    (list "modulation frequency" 0 initial-rm-frequency 1000
+						  (lambda (w context info)
+						    (set! rm-frequency (.value info)))
+						  1)
+					    (list "modulation radians" 0 initial-rm-radians 360
+						  (lambda (w context info)
+						    (set! rm-radians (.value info)))
+						  1)))))
+		      (let* ((fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
+						      (list XmNheight              200
+							    XmNleftAttachment      XmATTACH_FORM
+							    XmNrightAttachment     XmATTACH_FORM
+							    XmNtopAttachment       XmATTACH_WIDGET
+							    XmNtopWidget           (sliders (- (length sliders) 1))
+							    XmNshadowThickness     4
+							    XmNshadowType          XmSHADOW_ETCHED_OUT)))
+			     (target-row (add-target (XtParent (XtParent (car sliders))) 
+						     (lambda (target) 
+						       (set! rm-target target)
+						       (XtSetSensitive (XmMessageBoxGetChild rm-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+						     #f)))
+			
+			(activate-dialog rm-dialog)
+			(set! rm-envelope (xe-create-enved "rm frequency"  fr
+							   (list XmNheight 200)
+							   '(0.0 1.0 0.0 1.0)))
+			(set! (xe-envelope rm-envelope) (list 0.0 1.0 1.0 1.0))
+			(XtVaSetValues fr (list XmNbottomAttachment XmATTACH_WIDGET
+						XmNbottomWidget     target-row))))))))
+      
+	   (child (XtCreateManagedWidget "Ring modulation" xmPushButtonWidgetClass mod-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-rm-dialog)))
+      
+      (set! mod-menu-list (cons (lambda ()
+				  (change-label child (format #f "Ring modulation (~D ~D)" rm-frequency rm-radians)))
+				mod-menu-list))))
   
+
 ;;; REVERBS
 ;;;
   
@@ -1906,18 +1876,16 @@ Values greater than 1.0 speed up file play, negative values reverse it."))
 		 (delay outdel1 (comb-bank combs (all-pass-bank allpasses (* inval (env e))))))))))))
   
   (define* (effects-jc-reverb-1 volume beg dur snd chn)
-    (map-channel (effects-jc-reverb volume (or beg 0) (or dur (framples snd chn)) snd chn)
-		 (or beg 0) dur snd chn #f
-		 (format #f "effects-jc-reverb-1 ~A ~A ~A" volume beg dur)))
+    (let ((ef (effects-jc-reverb volume (or beg 0) (or dur (framples snd chn)) snd chn)))
+      (map-channel ef (or beg 0) dur snd chn #f (format #f "effects-jc-reverb-1 ~A ~A ~A" volume beg dur))))
   
-  (let* ((reverb-menu-list ())
-	 (reverb-menu (XmCreatePulldownMenu (main-menu effects-menu) "Reverbs"
-					    (list XmNbackground *basic-color*)))
-	 (reverb-cascade (XtCreateManagedWidget "Reverbs" xmCascadeButtonWidgetClass (main-menu effects-menu)
-						(list XmNsubMenuId reverb-menu
-						      XmNbackground *basic-color*))))
-    
-    (XtAddCallback reverb-cascade XmNcascadingCallback (lambda (w c i) (update-label reverb-menu-list)))
+  (let ((reverb-menu-list ())
+	(reverb-menu (XmCreatePulldownMenu (main-menu effects-menu) "Reverbs"
+					   (list XmNbackground *basic-color*))))
+    (let ((reverb-cascade (XtCreateManagedWidget "Reverbs" xmCascadeButtonWidgetClass (main-menu effects-menu)
+						 (list XmNsubMenuId reverb-menu
+						       XmNbackground *basic-color*))))
+      (XtAddCallback reverb-cascade XmNcascadingCallback (lambda (w c i) (update-label reverb-menu-list))))
     
     
 ;;; -------- Reverb from Michael McNabb's Nrev 
@@ -1925,229 +1893,224 @@ Values greater than 1.0 speed up file play, negative values reverse it."))
 ;;;
 ;;; (truncate)
     
-    (let ((reverb-amount 0.1)
-	  (reverb-filter 0.5)
-	  (reverb-feedback 1.09))
-      
-      ;; add reverb-control-decay (with ramp?) and reverb-truncate
-      
-      (define post-reverb-dialog
-	(let ((reverb-label "McNabb reverb")
-	      (reverb-dialog #f)
-	      (reverb-target 'sound))
-	  (lambda ()
-	    (unless (Widget? reverb-dialog)
-	      ;; if reverb-dialog doesn't exist, create it
-	      (let ((initial-reverb-amount 0.1)
-		    (initial-reverb-filter 0.5)
-		    (initial-reverb-feedback 1.09)
-		    (sliders ()))
-		(set! reverb-dialog 
-		      (make-effect-dialog 
-		       reverb-label
-		       
-		       (lambda (w context info)
-			 (let ((snd (selected-sound)))
-			   (save-controls snd)
-			   (reset-controls snd)
-			   (set! (reverb-control? snd) #t)
-			   (set! (reverb-control-scale snd) reverb-amount)
-			   (set! (reverb-control-lowpass snd) reverb-filter)
-			   (set! (reverb-control-feedback snd) reverb-feedback)
-			   (if (eq? reverb-target 'marks)
-			       (let ((ms (plausible-mark-samples)))
-				 (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
-			       (apply-controls snd (if (eq? reverb-target 'sound) 0 2)))
-			   (restore-controls snd)))
-		       
-		       (lambda (w context info)
-			 (help-dialog "McNabb reverb"
-				      "Reverberator from Michael McNabb. 
+    (let* ((reverb-amount 0.1)
+	   (reverb-filter 0.5)
+	   (reverb-feedback 1.09)    ;; add reverb-control-decay (with ramp?) and reverb-truncate
+	   (post-reverb-dialog
+	    (let ((reverb-label "McNabb reverb")
+		  (reverb-dialog #f)
+		  (reverb-target 'sound))
+	      (lambda ()
+		(unless (Widget? reverb-dialog)
+		  ;; if reverb-dialog doesn't exist, create it
+		  (let ((initial-reverb-amount 0.1)
+			(initial-reverb-filter 0.5)
+			(initial-reverb-feedback 1.09)
+			(sliders ()))
+		    (set! reverb-dialog 
+			  (make-effect-dialog 
+			   reverb-label
+			   
+			   (lambda (w context info)
+			     (let ((snd (selected-sound)))
+			       (save-controls snd)
+			       (reset-controls snd)
+			       (set! (reverb-control? snd) #t)
+			       (set! (reverb-control-scale snd) reverb-amount)
+			       (set! (reverb-control-lowpass snd) reverb-filter)
+			       (set! (reverb-control-feedback snd) reverb-feedback)
+			       (if (eq? reverb-target 'marks)
+				   (let ((ms (plausible-mark-samples)))
+				     (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
+				   (apply-controls snd (if (eq? reverb-target 'sound) 0 2)))
+			       (restore-controls snd)))
+			   
+			   (lambda (w context info)
+			     (help-dialog "McNabb reverb"
+					  "Reverberator from Michael McNabb. 
 Adds reverberation scaled by reverb amount, lowpass filtering, and feedback. Move the sliders to change the reverb parameters."))
-		       
-		       (lambda (w c i)
-			 (set! reverb-amount initial-reverb-amount)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* reverb-amount 100))))
-			 (set! reverb-filter initial-reverb-filter)
-			 (XtSetValues (cadr sliders) (list XmNvalue (floor (* reverb-filter 100))))
-			 (set! reverb-feedback initial-reverb-feedback)
-			 (XtSetValues (caddr sliders) (list XmNvalue (floor (* reverb-feedback 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok reverb-target))))
+			   
+			   (lambda (w c i)
+			     (set! reverb-amount initial-reverb-amount)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* reverb-amount 100))))
+			     (set! reverb-filter initial-reverb-filter)
+			     (XtSetValues (cadr sliders) (list XmNvalue (floor (* reverb-filter 100))))
+			     (set! reverb-feedback initial-reverb-feedback)
+			     (XtSetValues (caddr sliders) (list XmNvalue (floor (* reverb-feedback 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok reverb-target))))
+		    
+		    (set! sliders
+			  (add-sliders reverb-dialog
+				       (list (list "reverb amount" 0.0 initial-reverb-amount 1.0
+						   (lambda (w context info)
+						     (set! reverb-amount (/ (.value info) 100.0)))
+						   100)
+					     (list "reverb filter" 0.0 initial-reverb-filter 1.0
+						   (lambda (w context info)
+						     (set! reverb-filter (/ (.value info) 100.0)))
+						   100)
+					     (list "reverb feedback" 0.0 initial-reverb-feedback 1.25
+						   (lambda (w context info)
+						     (set! reverb-feedback (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! reverb-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild reverb-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders reverb-dialog
-				   (list (list "reverb amount" 0.0 initial-reverb-amount 1.0
-					       (lambda (w context info)
-						 (set! reverb-amount (/ (.value info) 100.0)))
-					       100)
-					 (list "reverb filter" 0.0 initial-reverb-filter 1.0
-					       (lambda (w context info)
-						 (set! reverb-filter (/ (.value info) 100.0)))
-					       100)
-					 (list "reverb feedback" 0.0 initial-reverb-feedback 1.25
-					       (lambda (w context info)
-						 (set! reverb-feedback (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! reverb-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild reverb-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog reverb-dialog))))
+		(activate-dialog reverb-dialog))))
 	  
-      (let ((child (XtCreateManagedWidget "McNabb reverb" xmPushButtonWidgetClass reverb-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-reverb-dialog)))
-	
-	(set! reverb-menu-list (cons (lambda ()
-				       (change-label child (format #f "McNabb reverb (~1,2F ~1,2F ~1,2F)" 
-								   reverb-amount reverb-filter reverb-feedback)))
-				     reverb-menu-list))))
+	   (child (XtCreateManagedWidget "McNabb reverb" xmPushButtonWidgetClass reverb-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-reverb-dialog)))
+      
+      (set! reverb-menu-list (cons (lambda ()
+				     (change-label child (format #f "McNabb reverb (~1,2F ~1,2F ~1,2F)" 
+								 reverb-amount reverb-filter reverb-feedback)))
+				   reverb-menu-list)))
     
     
 ;;; -------- Chowning reverb
 ;;;
     
-    (let ((jc-reverb-decay 2.0)
-	  (jc-reverb-volume 0.1))
-      
-      (define post-jc-reverb-dialog
-	(let ((jc-reverb-label "Chowning reverb")
-	      (jc-reverb-dialog #f)
-	      (jc-reverb-target 'sound)
-	      (jc-reverb-truncate #f))
-	  (lambda ()
-	    (unless (Widget? jc-reverb-dialog)
-	      ;; if jc-reverb-dialog doesn't exist, create it
-	      (let ((initial-jc-reverb-decay 2.0)
-		    (initial-jc-reverb-volume 0.1)
-		    (sliders ()))
-		(set! jc-reverb-dialog
-		      (make-effect-dialog 
-		       jc-reverb-label
-		       
-		       (lambda (w context info) 
+    (let* ((jc-reverb-decay 2.0)
+	   (jc-reverb-volume 0.1)
+	   (post-jc-reverb-dialog
+	    (let ((jc-reverb-label "Chowning reverb")
+		  (jc-reverb-dialog #f)
+		  (jc-reverb-target 'sound)
+		  (jc-reverb-truncate #f))
+	      (lambda ()
+		(unless (Widget? jc-reverb-dialog)
+		  ;; if jc-reverb-dialog doesn't exist, create it
+		  (let ((initial-jc-reverb-decay 2.0)
+			(initial-jc-reverb-volume 0.1)
+			(sliders ()))
+		    (set! jc-reverb-dialog
+			  (make-effect-dialog 
+			   jc-reverb-label
+			   
+			   (lambda (w context info) 
 					;(pad-channel (- (framples) 1) (srate))
-			 (map-chan-over-target-with-sync
-			  (lambda (samps) 
-			    (effects-jc-reverb jc-reverb-volume samps (framples)))
-			  jc-reverb-target 
-			  (lambda (target samps) 
-			    (format #f "effects-jc-reverb-1 ~A" jc-reverb-volume))
-			  (and (not jc-reverb-truncate) jc-reverb-decay)))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Chowning reverb"
-				      "Nice reverb from John Chowning. Move the sliders to set the reverb parameters."))
-		       
-		       (lambda (w c i)
-			 (set! jc-reverb-decay initial-jc-reverb-decay)
-			 (XtSetValues (sliders 0) (list XmNvalue (floor (* jc-reverb-decay 100))))
-			 (set! jc-reverb-volume initial-jc-reverb-volume)
-			 (XtSetValues (sliders 1) (list XmNvalue (floor (* jc-reverb-volume 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok jc-reverb-target))))
-		
-		(set! sliders
-		      (add-sliders jc-reverb-dialog
-				   (list (list "decay duration" 0.0 initial-jc-reverb-decay 10.0
-					       (lambda (w context info)
-						 (set! jc-reverb-decay (/ (.value info) 100)))
-					       100)
-					 (list "reverb volume" 0.0 initial-jc-reverb-volume 1.0
-					       (lambda (w context info)
-						 (set! jc-reverb-volume (/ (.value info) 100)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! jc-reverb-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild jc-reverb-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    (lambda (truncate) 
-			      (set! jc-reverb-truncate truncate)))))
-	    (activate-dialog jc-reverb-dialog))))
+			     (map-chan-over-target-with-sync
+			      (lambda (samps) 
+				(effects-jc-reverb jc-reverb-volume samps (framples)))
+			      jc-reverb-target 
+			      (lambda (target samps) 
+				(format #f "effects-jc-reverb-1 ~A" jc-reverb-volume))
+			      (and (not jc-reverb-truncate) jc-reverb-decay)))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Chowning reverb"
+					  "Nice reverb from John Chowning. Move the sliders to set the reverb parameters."))
+			   
+			   (lambda (w c i)
+			     (set! jc-reverb-decay initial-jc-reverb-decay)
+			     (XtSetValues (sliders 0) (list XmNvalue (floor (* jc-reverb-decay 100))))
+			     (set! jc-reverb-volume initial-jc-reverb-volume)
+			     (XtSetValues (sliders 1) (list XmNvalue (floor (* jc-reverb-volume 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok jc-reverb-target))))
+		    
+		    (set! sliders
+			  (add-sliders jc-reverb-dialog
+				       (list (list "decay duration" 0.0 initial-jc-reverb-decay 10.0
+						   (lambda (w context info)
+						     (set! jc-reverb-decay (/ (.value info) 100)))
+						   100)
+					     (list "reverb volume" 0.0 initial-jc-reverb-volume 1.0
+						   (lambda (w context info)
+						     (set! jc-reverb-volume (/ (.value info) 100)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! jc-reverb-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild jc-reverb-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				(lambda (truncate) 
+				  (set! jc-reverb-truncate truncate)))))
+		(activate-dialog jc-reverb-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Chowning reverb" xmPushButtonWidgetClass reverb-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-jc-reverb-dialog)))
-	
-	(set! reverb-menu-list (cons (lambda ()
-				       (change-label child (format #f "Chowning reverb (~1,2F ~1,2F)" jc-reverb-decay jc-reverb-volume)))
-				     reverb-menu-list))))
+	   (child (XtCreateManagedWidget "Chowning reverb" xmPushButtonWidgetClass reverb-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-jc-reverb-dialog)))
+      
+      (set! reverb-menu-list (cons (lambda ()
+				     (change-label child (format #f "Chowning reverb (~1,2F ~1,2F)" jc-reverb-decay jc-reverb-volume)))
+				   reverb-menu-list)))
     
 ;;; -------- Convolution
 ;;;
 ;;; (progress report? truncate?)
     
-    (let ((convolve-sound-one 0)
-	  (convolve-sound-two 1)
-	  (convolve-amp 0.01))
+    (let* ((convolve-sound-one 0)
+	   (convolve-sound-two 1)
+	   (convolve-amp 0.01)
+	   (post-convolve-dialog
+	    (let ((convolve-label "Convolution")
+		  (convolve-dialog #f))
+	      (lambda ()
+		(unless (Widget? convolve-dialog)
+		  ;; if convolve-dialog doesn't exist, create it
+		  (let ((initial-convolve-sound-one 0)
+			(initial-convolve-sound-two 1)
+			(initial-convolve-amp 0.01)
+			(sliders ()))
+		    (set! convolve-dialog
+			  (make-effect-dialog 
+			   convolve-label
+			   
+			   (lambda (w context info) 
+			     (effects-cnv convolve-sound-one convolve-amp convolve-sound-two))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Convolution"
+					  "Very simple convolution. Move the sliders to set the numbers of the soundfiles to be convolved and the amount for the amplitude scaler. Output will be scaled to floating-point values, resulting in very large (but not clipped) amplitudes. Use the Normalize amplitude effect to rescale the output. The convolution data file typically defines a natural reverberation source, and the output from this effect can provide very striking reverb effects. You can find convolution data files on sites listed at http://www.bright.net/~dlphilp/linux_csound.html under Impulse Response Data."))
+			   
+			   (lambda (w c i)
+			     (set! convolve-sound-one initial-convolve-sound-one)
+			     (XtSetValues (sliders 0) (list XmNvalue convolve-sound-one))
+			     (set! convolve-sound-two initial-convolve-sound-two)
+			     (XtSetValues (sliders 1) (list XmNvalue convolve-sound-two))
+			     (set! convolve-amp initial-convolve-amp)
+			     (XtSetValues (sliders 2) (list XmNvalue (floor (* convolve-amp 100)))))
+			   
+			   (lambda () 
+			     (pair? (sounds)))))
+		    
+		    (set! sliders
+			  (add-sliders convolve-dialog
+				       (list (list "impulse response file" 0 initial-convolve-sound-one 24
+						   (lambda (w context info)
+						     (set! convolve-sound-one (.value info)))
+						   1)
+					     (list "sound file" 0 initial-convolve-sound-two 24
+						   (lambda (w context info)
+						     (set! convolve-sound-two (.value info)))
+						   1)
+					     (list "amplitude" 0.0 initial-convolve-amp 0.10
+						   (lambda (w context info)
+						     (set! convolve-amp (/ (.value info) 100.0)))
+						   1000))))))
+		(activate-dialog convolve-dialog))))
       
-      (define post-convolve-dialog
-	(let ((convolve-label "Convolution")
-	      (convolve-dialog #f))
-	  (lambda ()
-	    (unless (Widget? convolve-dialog)
-	      ;; if convolve-dialog doesn't exist, create it
-	      (let ((initial-convolve-sound-one 0)
-		    (initial-convolve-sound-two 1)
-		    (initial-convolve-amp 0.01)
-		    (sliders ()))
-		(set! convolve-dialog
-		      (make-effect-dialog 
-		       convolve-label
-		       
-		       (lambda (w context info) 
-			 (effects-cnv convolve-sound-one convolve-amp convolve-sound-two))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Convolution"
-				      "Very simple convolution. Move the sliders to set the numbers of the soundfiles to be convolved and the amount for the amplitude scaler. Output will be scaled to floating-point values, resulting in very large (but not clipped) amplitudes. Use the Normalize amplitude effect to rescale the output. The convolution data file typically defines a natural reverberation source, and the output from this effect can provide very striking reverb effects. You can find convolution data files on sites listed at http://www.bright.net/~dlphilp/linux_csound.html under Impulse Response Data."))
-		       
-		       (lambda (w c i)
-			 (set! convolve-sound-one initial-convolve-sound-one)
-			 (XtSetValues (sliders 0) (list XmNvalue convolve-sound-one))
-			 (set! convolve-sound-two initial-convolve-sound-two)
-			 (XtSetValues (sliders 1) (list XmNvalue convolve-sound-two))
-			 (set! convolve-amp initial-convolve-amp)
-			 (XtSetValues (sliders 2) (list XmNvalue (floor (* convolve-amp 100)))))
-		       
-		       (lambda () 
-			 (pair? (sounds)))))
-		
-		(set! sliders
-		      (add-sliders convolve-dialog
-				   (list (list "impulse response file" 0 initial-convolve-sound-one 24
-					       (lambda (w context info)
-						 (set! convolve-sound-one (.value info)))
-					       1)
-					 (list "sound file" 0 initial-convolve-sound-two 24
-					       (lambda (w context info)
-						 (set! convolve-sound-two (.value info)))
-					       1)
-					 (list "amplitude" 0.0 initial-convolve-amp 0.10
-					       (lambda (w context info)
-						 (set! convolve-amp (/ (.value info) 100.0)))
-					       1000))))))
-	    (activate-dialog convolve-dialog))))
+	   (child (XtCreateManagedWidget "Convolution" xmPushButtonWidgetClass reverb-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-convolve-dialog)))
       
-      (let ((child (XtCreateManagedWidget "Convolution" xmPushButtonWidgetClass reverb-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-convolve-dialog)))
-	
-	(set! reverb-menu-list (cons (lambda ()
-				       (change-label child (format #f "Convolution (~D ~D ~1,2F)" 
-								   convolve-sound-one convolve-sound-two convolve-amp)))
-				     reverb-menu-list))))
+      (set! reverb-menu-list (cons (lambda ()
+				     (change-label child (format #f "Convolution (~D ~D ~1,2F)" 
+								 convolve-sound-one convolve-sound-two convolve-amp)))
+				   reverb-menu-list)))
     )
   
 ;;; VARIOUS AND MISCELLANEOUS
@@ -2156,11 +2119,12 @@ Adds reverberation scaled by reverb amount, lowpass filtering, and feedback. Mov
   (define effects-hello-dentist 
     (let ((documentation "(hello-dentist frq amp snd chn) varies the sampling rate randomly, making a voice sound quavery: (hello-dentist 40.0 .1)"))
       (lambda* (frq amp beg dur snd chn)
-	(let* ((rn (make-rand-interp :frequency frq :amplitude amp))
-	       (len (or dur (- (framples snd chn) beg)))
-	       (sf (make-sampler beg snd chn))
-	       (rd (make-src :srate 1.0 
-			     :input (lambda (dir) (read-sample-with-direction sf dir)))))
+	(let ((rn (make-rand-interp :frequency frq :amplitude amp))
+	      (len (or dur (- (framples snd chn) beg)))
+	      (rd (make-src :srate 1.0 
+			    :input (let ((sf (make-sampler beg snd chn)))
+				     (lambda (dir) 
+				       (read-sample-with-direction sf dir))))))
 	  (map-channel
 	   (lambda (y)
 	     (src rd (rand-interp rn)))
@@ -2168,10 +2132,12 @@ Adds reverberation scaled by reverb amount, lowpass filtering, and feedback. Mov
   
   
   (define* (effects-fp sr osamp osfrq beg dur snd chn)
-    (let* ((os (make-oscil osfrq))
-	   (len (framples snd chn))
-	   (sf (make-sampler beg snd chn))
-	   (s (make-src :srate sr :input (lambda (dir) (read-sample-with-direction sf dir)))))
+    (let ((os (make-oscil osfrq))
+	  (len (framples snd chn))
+	  (s (make-src :srate sr
+		       :input (let ((sf (make-sampler beg snd chn)))
+				(lambda (dir) 
+				  (read-sample-with-direction sf dir))))))
       (map-channel
        (lambda (y)
 	 (src s (* osamp (oscil os))))
@@ -2188,23 +2154,21 @@ Adds reverberation scaled by reverb amount, lowpass filtering, and feedback. Mov
 			     (+ y (* pos (read-sample reader1))))
 			   0 len snd chn #f
 			   (format #f "effects-position-sound ~A ~A" mono-snd pos))
-	      (let ((e1 (make-env pos :length len)))
-		(map-channel
-		 (if (eqv? chn 1)
-		     (lambda (y)
-		       (+ y (* (env e1) (read-sample reader1))))
-		     (lambda (y)
-		       (+ y (* (- 1.0 (env e1)) (read-sample reader1)))))
-		 0 len snd chn #f
-		 (format #f "effects-position-sound ~A '~A" mono-snd pos))))))))
+	      (let ((ef (let ((e1 (make-env pos :length len)))
+			  (if (eqv? chn 1)
+			      (lambda (y)
+				(+ y (* (env e1) (read-sample reader1))))
+			      (lambda (y)
+				(+ y (* (- 1.0 (env e1)) (read-sample reader1))))))))
+		(map-channel ef 0 len snd chn #f (format #f "effects-position-sound ~A '~A" mono-snd pos))))))))
 
   
   (define effects-flange 
     (let ((documentation "(effects-flange amount speed time beg dur snd chn) is used by the effects dialog to tie into edit-list->function"))
       (lambda* (amount speed time beg dur snd chn)
-	(let* ((ri (make-rand-interp :frequency speed :amplitude amount))
-	       (len (round (* time (srate snd))))
-	       (del (make-delay len :max-size (round (+ len amount 1)))))
+	(let ((ri (make-rand-interp :frequency speed :amplitude amount))
+	      (del (let ((len (round (* time (srate snd)))))
+		     (make-delay len :max-size (round (+ len amount 1))))))
 	  (map-channel (lambda (inval)
 			 (* .75 (+ inval
 				   (delay del
@@ -2217,38 +2181,37 @@ Adds reverberation scaled by reverb amount, lowpass filtering, and feedback. Mov
     (let ((documentation "(effects-cross-synthesis cross-snd amp fftsize r) is used by the effects dialog to tie into edit-list->function"))
       (lambda (cross-snd amp fftsize r)
 	;; cross-snd is the index of the other sound (as opposed to the map-channel sound)
-	(let* ((freq-inc (/ fftsize 2))
-	       (fdr (make-float-vector fftsize))
-	       (fdi (make-float-vector fftsize))
-	       (spectr (make-float-vector freq-inc))
-	       (inctr 0)
-	       (ctr freq-inc)
-	       (radius (- 1.0 (/ r fftsize)))
-	       (bin (/ (srate) fftsize))
-	       (formants (make-vector freq-inc)))
-	  (do ((i 0 (+ 1 i)))
-	      ((= i freq-inc))
-	    (set! (formants i) (make-formant (* i bin) radius)))
-	  (set! formants (make-formant-bank formants spectr))
-	  (lambda (inval)
-	    (if (= ctr freq-inc)
-		(begin
-		  (set! fdr (channel->float-vector inctr fftsize cross-snd 0))
-		  (set! inctr (+ inctr freq-inc))
-		  (spectrum fdr fdi #f 2)
-		  (float-vector-subtract! fdr spectr)
-		  (float-vector-scale! fdr (/ 1.0 freq-inc))
-		  (set! ctr 0)))
-	    (set! ctr (+ ctr 1))
-	    (float-vector-add! spectr fdr)
-	    (* amp (formant-bank formants inval)))))))
+	(let ((freq-inc (/ fftsize 2)))
+	  (let ((fdr (make-float-vector fftsize))
+		(fdi (make-float-vector fftsize))
+		(spectr (make-float-vector freq-inc))
+		(inctr 0)
+		(ctr freq-inc)
+		(formants (make-vector freq-inc)))
+	    (do ((radius (- 1.0 (/ r fftsize)))
+		 (bin (/ (srate) fftsize))
+		 (i 0 (+ 1 i)))
+		((= i freq-inc))
+	      (set! (formants i) (make-formant (* i bin) radius)))
+	    (set! formants (make-formant-bank formants spectr))
+	    (lambda (inval)
+	      (if (= ctr freq-inc)
+		  (begin
+		    (set! fdr (channel->float-vector inctr fftsize cross-snd 0))
+		    (set! inctr (+ inctr freq-inc))
+		    (spectrum fdr fdi #f 2)
+		    (float-vector-subtract! fdr spectr)
+		    (float-vector-scale! fdr (/ 1.0 freq-inc))
+		    (set! ctr 0)))
+	      (set! ctr (+ ctr 1))
+	      (float-vector-add! spectr fdr)
+	      (* amp (formant-bank formants inval))))))))
   
   (define effects-cross-synthesis-1 
     (let ((documentation "(effects-cross-synthesis-1 cross-snd amp fftsize r beg dur snd chn) is used by the effects dialog to tie into edit-list->function"))
       (lambda* (cross-snd amp fftsize r beg dur snd chn)
-	(map-channel (effects-cross-synthesis (if (sound? cross-snd) cross-snd (car (sounds))) amp fftsize r)
-		     beg dur snd chn #f
-		     (format #f "effects-cross-synthesis-1 ~A ~A ~A ~A ~A ~A" cross-snd amp fftsize r beg dur)))))
+	(let ((ef (effects-cross-synthesis (if (sound? cross-snd) cross-snd (car (sounds))) amp fftsize r)))
+	  (map-channel ef beg dur snd chn #f (format #f "effects-cross-synthesis-1 ~A ~A ~A ~A ~A ~A" cross-snd amp fftsize r beg dur))))))
   
   (let* ((misc-menu-list ())
 	 (misc-menu (XmCreatePulldownMenu (main-menu effects-menu) "Various"
@@ -2263,748 +2226,739 @@ Adds reverberation scaled by reverb amount, lowpass filtering, and feedback. Mov
 ;;; -------- Place sound
 ;;;
     
-    (let ((mono-snd 0)
-	  (stereo-snd 1)
-	  (pan-pos 45))
-
-      (define post-place-sound-dialog
-	(let ((place-sound-label "Place sound")
-	      (place-sound-dialog #f)
-	      (place-sound-target 'sound)
-	      (place-sound-envelope #f))
-	  
-	  (define (place-sound mono-snd stereo-snd pan-env)
-	    ;; (place-sound mono-snd stereo-snd pan-env) mixes a mono sound into a stereo sound, splitting 
-	    ;; it into two copies whose amplitudes depend on the envelope 'pan-env'.  If 'pan-env' is 
-	    ;; a number, the sound is split such that 0 is all in channel 0 and 90 is all in channel 1.
-	    (if (number? pan-env)
-		(let ((pos (/ pan-env 90.0)))
-		  (effects-position-sound mono-snd pos stereo-snd 1)
-		  (effects-position-sound mono-snd (- 1.0 pos) stereo-snd 0))
-		(begin
-		  (effects-position-sound mono-snd pan-env stereo-snd 1)
-		  (effects-position-sound mono-snd pan-env stereo-snd 0))))
-	  
-	  (lambda ()
-	    (unless (Widget? place-sound-dialog)
-	      (let ((fr #f))
-		(let ((sliders ())
-		      (initial-mono-snd 0)
-		      (initial-stereo-snd 1)
-		      (initial-pan-pos 45))
-		  (set! place-sound-dialog 
-			(make-effect-dialog 
-			 place-sound-label
-			 
-			 (lambda (w context info) 
-			   (let ((e (xe-envelope place-sound-envelope)))
-			     (place-sound mono-snd stereo-snd (if (not (equal? e '(0.0 1.0 1.0 1.0))) e pan-pos))))
-			 
-			 (lambda (w context info)
-			   (help-dialog "Place sound"
-					"Mixes mono sound into stereo sound field."))
-			 
-			 (lambda (w c i)
-			   (set! mono-snd initial-mono-snd)
-			   (XtSetValues (sliders 0) (list XmNvalue mono-snd))
-			   (set! stereo-snd initial-stereo-snd)
-			   (XtSetValues (sliders 1) (list XmNvalue stereo-snd))
-			   (set! pan-pos initial-pan-pos)
-			   (XtSetValues (sliders 2) (list XmNvalue pan-pos)))
-			 
-			 (lambda () 
-			   (effect-target-ok place-sound-target))))
-		  
-		  (set! sliders
-			(add-sliders place-sound-dialog
-				     (list (list "mono sound" 0 initial-mono-snd 50
-						 (lambda (w context info)
-						   (set! mono-snd (.value info)))
-						 1)
-					   (list "stereo sound" 0 initial-stereo-snd 50
-						 (lambda (w context info)
-						   (set! stereo-snd (.value info)))
-						 1)
-					   (list "pan position" 0 initial-pan-pos 90
-						 (lambda (w context info)
-						   (set! pan-pos (.value info)))
-						 1))))
-		  (set! fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
-						  (list XmNheight              200
-							XmNleftAttachment      XmATTACH_FORM
-							XmNrightAttachment     XmATTACH_FORM
-							XmNtopAttachment       XmATTACH_WIDGET
-							XmNbottomAttachment    XmATTACH_FORM
-							XmNtopWidget           (sliders (- (length sliders) 1))
-							XmNshadowThickness     4
-							XmNshadowType          XmSHADOW_ETCHED_OUT))))
-		(activate-dialog place-sound-dialog)
-		(set! place-sound-envelope (xe-create-enved "panning"  fr
-							    (list XmNheight 200
-								  XmNbottomAttachment XmATTACH_FORM
-								  )
-							    '(0.0 1.0 0.0 1.0)))
-		(set! (xe-envelope place-sound-envelope) (list 0.0 1.0 1.0 1.0))))
-	    
-	    (activate-dialog place-sound-dialog))))
+    (let* ((mono-snd 0)
+	   (stereo-snd 1)
+	   (pan-pos 45)
+	   (post-place-sound-dialog
+	    (let ((place-sound-label "Place sound")
+		  (place-sound-dialog #f)
+		  (place-sound-target 'sound)
+		  (place-sound-envelope #f))
+	      
+	      (define (place-sound mono-snd stereo-snd pan-env)
+		;; (place-sound mono-snd stereo-snd pan-env) mixes a mono sound into a stereo sound, splitting 
+		;; it into two copies whose amplitudes depend on the envelope 'pan-env'.  If 'pan-env' is 
+		;; a number, the sound is split such that 0 is all in channel 0 and 90 is all in channel 1.
+		(if (number? pan-env)
+		    (let ((pos (/ pan-env 90.0)))
+		      (effects-position-sound mono-snd pos stereo-snd 1)
+		      (effects-position-sound mono-snd (- 1.0 pos) stereo-snd 0))
+		    (begin
+		      (effects-position-sound mono-snd pan-env stereo-snd 1)
+		      (effects-position-sound mono-snd pan-env stereo-snd 0))))
+	      
+	      (lambda ()
+		(unless (Widget? place-sound-dialog)
+		  (let ((fr #f))
+		    (let ((sliders ())
+			  (initial-mono-snd 0)
+			  (initial-stereo-snd 1)
+			  (initial-pan-pos 45))
+		      (set! place-sound-dialog 
+			    (make-effect-dialog 
+			     place-sound-label
+			     
+			     (lambda (w context info) 
+			       (let ((e (xe-envelope place-sound-envelope)))
+				 (place-sound mono-snd stereo-snd (if (not (equal? e '(0.0 1.0 1.0 1.0))) e pan-pos))))
+			     
+			     (lambda (w context info)
+			       (help-dialog "Place sound"
+					    "Mixes mono sound into stereo sound field."))
+			     
+			     (lambda (w c i)
+			       (set! mono-snd initial-mono-snd)
+			       (XtSetValues (sliders 0) (list XmNvalue mono-snd))
+			       (set! stereo-snd initial-stereo-snd)
+			       (XtSetValues (sliders 1) (list XmNvalue stereo-snd))
+			       (set! pan-pos initial-pan-pos)
+			       (XtSetValues (sliders 2) (list XmNvalue pan-pos)))
+			     
+			     (lambda () 
+			       (effect-target-ok place-sound-target))))
+		      
+		      (set! sliders
+			    (add-sliders place-sound-dialog
+					 (list (list "mono sound" 0 initial-mono-snd 50
+						     (lambda (w context info)
+						       (set! mono-snd (.value info)))
+						     1)
+					       (list "stereo sound" 0 initial-stereo-snd 50
+						     (lambda (w context info)
+						       (set! stereo-snd (.value info)))
+						     1)
+					       (list "pan position" 0 initial-pan-pos 90
+						     (lambda (w context info)
+						       (set! pan-pos (.value info)))
+						     1))))
+		      (set! fr (XtCreateManagedWidget "fr" xmFrameWidgetClass (XtParent (XtParent (car sliders)))
+						      (list XmNheight              200
+							    XmNleftAttachment      XmATTACH_FORM
+							    XmNrightAttachment     XmATTACH_FORM
+							    XmNtopAttachment       XmATTACH_WIDGET
+							    XmNbottomAttachment    XmATTACH_FORM
+							    XmNtopWidget           (sliders (- (length sliders) 1))
+							    XmNshadowThickness     4
+							    XmNshadowType          XmSHADOW_ETCHED_OUT))))
+		    (activate-dialog place-sound-dialog)
+		    (set! place-sound-envelope (xe-create-enved "panning"  fr
+								(list XmNheight 200
+								      XmNbottomAttachment XmATTACH_FORM
+								      )
+								'(0.0 1.0 0.0 1.0)))
+		    (set! (xe-envelope place-sound-envelope) (list 0.0 1.0 1.0 1.0))))
+		
+		(activate-dialog place-sound-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Place sound" xmPushButtonWidgetClass misc-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-place-sound-dialog)))
-	
-	(set! misc-menu-list (cons (lambda ()
-				     (change-label child (format #f "Place sound (~D ~D ~D)" mono-snd stereo-snd pan-pos)))
-				   misc-menu-list))))
+	   (child (XtCreateManagedWidget "Place sound" xmPushButtonWidgetClass misc-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-place-sound-dialog)))
+      
+      (set! misc-menu-list (cons (lambda ()
+				   (change-label child (format #f "Place sound (~D ~D ~D)" mono-snd stereo-snd pan-pos)))
+				 misc-menu-list)))
     
     
 ;;; -------- Insert silence (at cursor, silence-amount in secs)
 ;;;
     
-    (let ((silence-amount 1.0))
+    (let* ((silence-amount 1.0)
+	   (post-silence-dialog
+	    (let ((silence-label "Add silence")
+		  (silence-dialog #f))
+	      (lambda ()
+		(unless (Widget? silence-dialog)
+		  ;; if silence-dialog doesn't exist, create it
+		  (let ((initial-silence-amount 1.0)
+			(sliders ()))
+		    (set! silence-dialog
+			  (make-effect-dialog 
+			   silence-label
+			   
+			   (lambda (w context info)
+			     (insert-silence (cursor)
+					     (floor (* (srate) silence-amount))))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Add silence"
+					  "Move the slider to change the number of seconds of silence added at the cursor position."))
+			   
+			   (lambda (w c i)
+			     (set! silence-amount initial-silence-amount)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* silence-amount 100)))))
+			   
+			   (lambda ()
+			     (pair? (sounds)))))
+		    
+		    (set! sliders
+			  (add-sliders silence-dialog
+				       (list (list "silence" 0.0 initial-silence-amount 5.0
+						   (lambda (w context info)
+						     (set! silence-amount (/ (.value info) 100.0)))
+						   100))))))
+		(activate-dialog silence-dialog))))
       
-      (define post-silence-dialog
-	(let ((silence-label "Add silence")
-	      (silence-dialog #f))
-	  (lambda ()
-	    (unless (Widget? silence-dialog)
-	      ;; if silence-dialog doesn't exist, create it
-	      (let ((initial-silence-amount 1.0)
-		    (sliders ()))
-		(set! silence-dialog
-		      (make-effect-dialog 
-		       silence-label
-		       
-		       (lambda (w context info)
-			 (insert-silence (cursor)
-					 (floor (* (srate) silence-amount))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Add silence"
-				      "Move the slider to change the number of seconds of silence added at the cursor position."))
-		       
-		       (lambda (w c i)
-			 (set! silence-amount initial-silence-amount)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* silence-amount 100)))))
-		       
-		       (lambda ()
-			 (pair? (sounds)))))
-		
-		(set! sliders
-		      (add-sliders silence-dialog
-				   (list (list "silence" 0.0 initial-silence-amount 5.0
-					       (lambda (w context info)
-						 (set! silence-amount (/ (.value info) 100.0)))
-					       100))))))
-	    (activate-dialog silence-dialog))))
+	   (child (XtCreateManagedWidget "Add silence" xmPushButtonWidgetClass misc-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-silence-dialog)))
       
-      (let ((child (XtCreateManagedWidget "Add silence" xmPushButtonWidgetClass misc-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-silence-dialog)))
-	
-	(set! misc-menu-list (cons (lambda ()
-				     (change-label child (format #f "Add silence (~1,2F)" silence-amount)))
-				   misc-menu-list))))
+      (set! misc-menu-list (cons (lambda ()
+				   (change-label child (format #f "Add silence (~1,2F)" silence-amount)))
+				 misc-menu-list)))
     
     
 ;;; -------- Contrast (brightness control)
 ;;;
     
-    (let ((contrast-amount 1.0))
-      
-      (define post-contrast-dialog
-	(let ((contrast-label "Contrast enhancement")
-	      (contrast-dialog #f)
-	      (contrast-target 'sound))
-	  (lambda ()
-	    (unless (Widget? contrast-dialog)
-	      ;; if contrast-dialog doesn't exist, create it
-	      (let ((initial-contrast-amount 1.0)
-		    (sliders ()))
-		(set! contrast-dialog
-		      (make-effect-dialog 
-		       contrast-label
-		       
-		       (lambda (w context info)
-			 (let ((peak (maxamp))
-			       (snd (selected-sound)))
-			   (save-controls snd)
-			   (reset-controls snd)
-			   (set! (contrast-control? snd) #t)
-			   (set! (contrast-control snd) contrast-amount)
-			   (set! (contrast-control-amp snd) (/ 1.0 peak))
-			   (set! (amp-control snd) peak)
-			   (if (eq? contrast-target 'marks)
-			       (let ((ms (plausible-mark-samples)))
-				 (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
-			       (apply-controls snd (if (eq? contrast-target 'sound) 0 2)))
-			   (restore-controls snd)))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Contrast enhancement"
-				      "Move the slider to change the contrast intensity."))
-		       
-		       (lambda (w c i)
-			 (set! contrast-amount initial-contrast-amount)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* contrast-amount 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok contrast-target))))
+    (let* ((contrast-amount 1.0)
+	   (post-contrast-dialog
+	    (let ((contrast-label "Contrast enhancement")
+		  (contrast-dialog #f)
+		  (contrast-target 'sound))
+	      (lambda ()
+		(unless (Widget? contrast-dialog)
+		  ;; if contrast-dialog doesn't exist, create it
+		  (let ((initial-contrast-amount 1.0)
+			(sliders ()))
+		    (set! contrast-dialog
+			  (make-effect-dialog 
+			   contrast-label
+			   
+			   (lambda (w context info)
+			     (let ((peak (maxamp))
+				   (snd (selected-sound)))
+			       (save-controls snd)
+			       (reset-controls snd)
+			       (set! (contrast-control? snd) #t)
+			       (set! (contrast-control snd) contrast-amount)
+			       (set! (contrast-control-amp snd) (/ 1.0 peak))
+			       (set! (amp-control snd) peak)
+			       (if (eq? contrast-target 'marks)
+				   (let ((ms (plausible-mark-samples)))
+				     (apply-controls snd 0 (car ms) (- (+ (cadr ms) 1) (car ms))))
+				   (apply-controls snd (if (eq? contrast-target 'sound) 0 2)))
+			       (restore-controls snd)))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Contrast enhancement"
+					  "Move the slider to change the contrast intensity."))
+			   
+			   (lambda (w c i)
+			     (set! contrast-amount initial-contrast-amount)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* contrast-amount 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok contrast-target))))
+		    
+		    (set! sliders
+			  (add-sliders contrast-dialog
+				       (list (list "contrast enhancement" 0.0 initial-contrast-amount 10.0
+						   (lambda (w context info)
+						     (set! contrast-amount (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! contrast-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild contrast-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders contrast-dialog
-				   (list (list "contrast enhancement" 0.0 initial-contrast-amount 10.0
-					       (lambda (w context info)
-						 (set! contrast-amount (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! contrast-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild contrast-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog contrast-dialog))))
+		(activate-dialog contrast-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Contrast enhancement" xmPushButtonWidgetClass misc-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-contrast-dialog)))
-	
-	(set! misc-menu-list (cons (lambda ()
-				     (change-label child (format #f "Contrast enhancement (~1,2F)" contrast-amount)))
-				   misc-menu-list))))
+	   (child (XtCreateManagedWidget "Contrast enhancement" xmPushButtonWidgetClass misc-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-contrast-dialog)))
+      
+      (set! misc-menu-list (cons (lambda ()
+				   (change-label child (format #f "Contrast enhancement (~1,2F)" contrast-amount)))
+				 misc-menu-list)))
     
 ;;; -------- Cross synthesis
 ;;;
     
-    (let ((cross-synth-sound 1)
-	  (cross-synth-amp .5)
-	  (cross-synth-fft-size 128)
-	  (cross-synth-radius 6.0))
-      
-      (define post-cross-synth-dialog
-	(let ((cross-synth-label "Cross synthesis")
-	      (cross-synth-dialog #f)
-	      (cross-synth-default-fft-widget #f)
-	      (cross-synth-target 'sound))
-	  (lambda ()
-	    (unless (Widget? cross-synth-dialog)
-	      ;; if cross-synth-dialog doesn't exist, create it
-	      (let ((initial-cross-synth-sound 1)
-		    (initial-cross-synth-amp .5)
-		    (initial-cross-synth-radius 6.0)
-		    (sliders ()))
-		(let ((initial-cross-synth-fft-size 128))
-		  (set! cross-synth-dialog
-			(make-effect-dialog 
-			 cross-synth-label
-			 
-			 (lambda (w context info)
-			   (map-chan-over-target-with-sync
-			    (lambda (ignored) 
-			      (effects-cross-synthesis cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius))
-			    cross-synth-target 
-			    (lambda (target samps)
-			      (format #f "effects-cross-synthesis-1 ~A ~A ~A ~A"
-				      cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius))
-			    #f))
-			 
-			 (lambda (w context info)
-			   (help-dialog "Cross synthesis"
-					"The sliders set the number of the soundfile to be cross-synthesized, 
+    (let* ((cross-synth-sound 1)
+	   (cross-synth-amp .5)
+	   (cross-synth-fft-size 128)
+	   (cross-synth-radius 6.0)
+	   (post-cross-synth-dialog
+	    (let ((cross-synth-label "Cross synthesis")
+		  (cross-synth-dialog #f)
+		  (cross-synth-default-fft-widget #f)
+		  (cross-synth-target 'sound))
+	      (lambda ()
+		(unless (Widget? cross-synth-dialog)
+		  ;; if cross-synth-dialog doesn't exist, create it
+		  (let ((sliders ()))
+		    (let ((initial-cross-synth-sound 1)
+			  (initial-cross-synth-amp .5)
+			  (initial-cross-synth-radius 6.0))
+		      (let ((initial-cross-synth-fft-size 128))
+			(set! cross-synth-dialog
+			      (make-effect-dialog 
+			       cross-synth-label
+			       
+			       (lambda (w context info)
+				 (map-chan-over-target-with-sync
+				  (lambda (ignored) 
+				    (effects-cross-synthesis cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius))
+				  cross-synth-target 
+				  (lambda (target samps)
+				    (format #f "effects-cross-synthesis-1 ~A ~A ~A ~A"
+					    cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius))
+				  #f))
+			       
+			       (lambda (w context info)
+				 (help-dialog "Cross synthesis"
+					      "The sliders set the number of the soundfile to be cross-synthesized, 
 the synthesis amplitude, the FFT size, and the radius value."))
-			 
-			 (lambda (w c i)
-			   (set! cross-synth-sound initial-cross-synth-sound)
-			   (XtSetValues (sliders 0) (list XmNvalue cross-synth-sound))
-			   (set! cross-synth-amp initial-cross-synth-amp)
-			   (XtSetValues (sliders 1) (list XmNvalue (floor (* cross-synth-amp 100))))
-			   (set! cross-synth-fft-size initial-cross-synth-fft-size)
-			   (if use-combo-box-for-fft-size ; defined in effects-utils.scm
-			       (XtSetValues cross-synth-default-fft-widget (list XmNselectedPosition 1))
-			       (XmToggleButtonSetState cross-synth-default-fft-widget #t #t))
-			   (set! cross-synth-radius initial-cross-synth-radius)
-			   (XtSetValues (sliders 2) (list XmNvalue (floor (* cross-synth-radius 100)))))
-			 
-			 (lambda () 
-			   (effect-target-ok cross-synth-target)))))
-		
-		(set! sliders
-		      (add-sliders cross-synth-dialog
-				   (list (list "input sound" 0 initial-cross-synth-sound 20
-					       (lambda (w context info)
-						 (set! cross-synth-sound (.value info)))
-					       1)
-					 (list "amplitude" 0.0 initial-cross-synth-amp 1.0
-					       (lambda (w context info)
-						 (set! cross-synth-amp (/ (.value info) 100)))
-					       100)
-					 (list "radius" 0.0 initial-cross-synth-radius 360.0
-					       (lambda (w context info)
-						 (set! cross-synth-radius (/ (.value info) 100)))
-					       100))))
-		
-		;; now add either a radio-button box or a combo-box for the fft size
-		;;   need to use XtParent here since "mainform" isn't returned by add-sliders
-		
-		(if use-combo-box-for-fft-size
-		    ;; this block creates a "combo box" to handle the fft size
-		    (let* ((s1 (XmStringCreateLocalized "FFT size"))
-			   (frame (XtCreateManagedWidget "frame" xmFrameWidgetClass (XtParent (car sliders))
-							 (list XmNborderWidth 1
-							       XmNshadowType XmSHADOW_ETCHED_IN
-							       XmNpositionIndex 2)))
-			   (frm (XtCreateManagedWidget "frm" xmFormWidgetClass frame
-						       (list XmNleftAttachment      XmATTACH_FORM
-							     XmNrightAttachment     XmATTACH_FORM
-							     XmNtopAttachment       XmATTACH_FORM
-							     XmNbottomAttachment    XmATTACH_FORM
-							     XmNbackground          *basic-color*)))
-			   (lab (XtCreateManagedWidget "FFT size" xmLabelWidgetClass frm
-						       (list XmNleftAttachment      XmATTACH_FORM
-							     XmNrightAttachment     XmATTACH_NONE
-							     XmNtopAttachment       XmATTACH_FORM
-							     XmNbottomAttachment    XmATTACH_FORM
-							     XmNlabelString         s1
-							     XmNbackground          *basic-color*)))
-			   (fft-labels (map XmStringCreateLocalized '("64" "128" "256" "512" "1024" "4096")))
-			   (combo (XtCreateManagedWidget "fftsize" xmComboBoxWidgetClass frm
-							 (list XmNleftAttachment      XmATTACH_WIDGET
-							       XmNleftWidget          lab
-							       XmNrightAttachment     XmATTACH_FORM
-							       XmNtopAttachment       XmATTACH_FORM
-							       XmNbottomAttachment    XmATTACH_FORM
-							       XmNitems               fft-labels
-							       XmNitemCount           (length fft-labels)
-							       XmNcomboBoxType        XmDROP_DOWN_COMBO_BOX
-							       XmNbackground          *basic-color*))))
-		      (set! cross-synth-default-fft-widget combo)
-		      (for-each XmStringFree fft-labels)
-		      (XmStringFree s1)
-		      (XtSetValues combo (list XmNselectedPosition 1))
-		      (XtAddCallback combo XmNselectionCallback
-				     (lambda (w c i)
-				       (set! cross-synth-fft-size 
-					     (string->number (XmStringUnparse (.item_or_text i) #f XmCHARSET_TEXT XmCHARSET_TEXT #f 0 XmOUTPUT_ALL))))))
-		    ;; this block creates a "radio button box"
-		    (let* ((s1 (XmStringCreateLocalized "FFT size"))
-			   (frame (XtCreateManagedWidget "frame" xmFrameWidgetClass (XtParent (car sliders))
-							 (list XmNborderWidth 1
-							       XmNshadowType XmSHADOW_ETCHED_IN
-							       XmNpositionIndex 2)))
-			   (frm (XtCreateManagedWidget "frm" xmFormWidgetClass frame
-						       (list XmNleftAttachment      XmATTACH_FORM
-							     XmNrightAttachment     XmATTACH_FORM
-							     XmNtopAttachment       XmATTACH_FORM
-							     XmNbottomAttachment    XmATTACH_FORM
-							     XmNbackground          *basic-color*)))
-			   (rc (XtCreateManagedWidget "rc" xmRowColumnWidgetClass frm
-						      (list XmNorientation XmHORIZONTAL
-							    XmNradioBehavior #t
-							    XmNradioAlwaysOne #t
-							    XmNentryClass xmToggleButtonWidgetClass
-							    XmNisHomogeneous #t
-							    XmNleftAttachment      XmATTACH_FORM
-							    XmNrightAttachment     XmATTACH_FORM
-							    XmNtopAttachment       XmATTACH_FORM
-							    XmNbottomAttachment    XmATTACH_NONE
-							    XmNbackground          *basic-color*))))
-		      (XtCreateManagedWidget "FFT size" xmLabelWidgetClass frm
-					     (list XmNleftAttachment      XmATTACH_FORM
-						   XmNrightAttachment     XmATTACH_FORM
-						   XmNtopAttachment       XmATTACH_WIDGET
-						   XmNtopWidget           rc
-						   XmNbottomAttachment    XmATTACH_FORM
-						   XmNlabelString         s1
-						   XmNalignment           XmALIGNMENT_BEGINNING
-						   XmNbackground          *basic-color*))
-		      (for-each 
-		       (lambda (size)
-			 (let ((button (XtCreateManagedWidget (format #f "~D" size) xmToggleButtonWidgetClass rc
-							      (list XmNbackground           *basic-color*
-								    XmNvalueChangedCallback (list (lambda (w c i) 
-												    (if (.set i) 
-													(set! cross-synth-fft-size c))) 
-												  size)
-								    XmNset                  (= size cross-synth-fft-size)))))
-			   (if (= size cross-synth-fft-size)
-			       (set! cross-synth-default-fft-widget button))))
-		       '(64 128 256 512 1024 4096))
-		      (XmStringFree s1)))
+			       
+			       (lambda (w c i)
+				 (set! cross-synth-sound initial-cross-synth-sound)
+				 (XtSetValues (sliders 0) (list XmNvalue cross-synth-sound))
+				 (set! cross-synth-amp initial-cross-synth-amp)
+				 (XtSetValues (sliders 1) (list XmNvalue (floor (* cross-synth-amp 100))))
+				 (set! cross-synth-fft-size initial-cross-synth-fft-size)
+				 (if use-combo-box-for-fft-size ; defined in effects-utils.scm
+				     (XtSetValues cross-synth-default-fft-widget (list XmNselectedPosition 1))
+				     (XmToggleButtonSetState cross-synth-default-fft-widget #t #t))
+				 (set! cross-synth-radius initial-cross-synth-radius)
+				 (XtSetValues (sliders 2) (list XmNvalue (floor (* cross-synth-radius 100)))))
+			       
+			       (lambda () 
+				 (effect-target-ok cross-synth-target)))))
+		      
+		      (set! sliders
+			    (add-sliders cross-synth-dialog
+					 (list (list "input sound" 0 initial-cross-synth-sound 20
+						     (lambda (w context info)
+						       (set! cross-synth-sound (.value info)))
+						     1)
+					       (list "amplitude" 0.0 initial-cross-synth-amp 1.0
+						     (lambda (w context info)
+						       (set! cross-synth-amp (/ (.value info) 100)))
+						     100)
+					       (list "radius" 0.0 initial-cross-synth-radius 360.0
+						     (lambda (w context info)
+						       (set! cross-synth-radius (/ (.value info) 100)))
+						     100)))))
+		    
+		    ;; now add either a radio-button box or a combo-box for the fft size
+		    ;;   need to use XtParent here since "mainform" isn't returned by add-sliders
+		    
+		    (if use-combo-box-for-fft-size
+			;; this block creates a "combo box" to handle the fft size
+			(let* ((s1 (XmStringCreateLocalized "FFT size"))
+			       (frm (let ((frame (XtCreateManagedWidget "frame" xmFrameWidgetClass (XtParent (car sliders))
+									(list XmNborderWidth 1
+									      XmNshadowType XmSHADOW_ETCHED_IN
+									      XmNpositionIndex 2))))
+				      (XtCreateManagedWidget "frm" xmFormWidgetClass frame
+							     (list XmNleftAttachment      XmATTACH_FORM
+								   XmNrightAttachment     XmATTACH_FORM
+								   XmNtopAttachment       XmATTACH_FORM
+								   XmNbottomAttachment    XmATTACH_FORM
+								   XmNbackground          *basic-color*))))
+			       (lab (XtCreateManagedWidget "FFT size" xmLabelWidgetClass frm
+							   (list XmNleftAttachment      XmATTACH_FORM
+								 XmNrightAttachment     XmATTACH_NONE
+								 XmNtopAttachment       XmATTACH_FORM
+								 XmNbottomAttachment    XmATTACH_FORM
+								 XmNlabelString         s1
+								 XmNbackground          *basic-color*)))
+			       (fft-labels (map XmStringCreateLocalized '("64" "128" "256" "512" "1024" "4096")))
+			       (combo (XtCreateManagedWidget "fftsize" xmComboBoxWidgetClass frm
+							     (list XmNleftAttachment      XmATTACH_WIDGET
+								   XmNleftWidget          lab
+								   XmNrightAttachment     XmATTACH_FORM
+								   XmNtopAttachment       XmATTACH_FORM
+								   XmNbottomAttachment    XmATTACH_FORM
+								   XmNitems               fft-labels
+								   XmNitemCount           (length fft-labels)
+								   XmNcomboBoxType        XmDROP_DOWN_COMBO_BOX
+								   XmNbackground          *basic-color*))))
+			  (set! cross-synth-default-fft-widget combo)
+			  (for-each XmStringFree fft-labels)
+			  (XmStringFree s1)
+			  (XtSetValues combo (list XmNselectedPosition 1))
+			  (XtAddCallback combo XmNselectionCallback
+					 (lambda (w c i)
+					   (set! cross-synth-fft-size 
+						 (string->number (XmStringUnparse (.item_or_text i) #f XmCHARSET_TEXT XmCHARSET_TEXT #f 0 XmOUTPUT_ALL))))))
+			;; this block creates a "radio button box"
+			(let* ((s1 (XmStringCreateLocalized "FFT size"))
+			       (frm (let ((frame (XtCreateManagedWidget "frame" xmFrameWidgetClass (XtParent (car sliders))
+									(list XmNborderWidth 1
+									      XmNshadowType XmSHADOW_ETCHED_IN
+									      XmNpositionIndex 2))))
+				      (XtCreateManagedWidget "frm" xmFormWidgetClass frame
+							     (list XmNleftAttachment      XmATTACH_FORM
+								   XmNrightAttachment     XmATTACH_FORM
+								   XmNtopAttachment       XmATTACH_FORM
+								   XmNbottomAttachment    XmATTACH_FORM
+								   XmNbackground          *basic-color*))))
+			       (rc (XtCreateManagedWidget "rc" xmRowColumnWidgetClass frm
+							  (list XmNorientation XmHORIZONTAL
+								XmNradioBehavior #t
+								XmNradioAlwaysOne #t
+								XmNentryClass xmToggleButtonWidgetClass
+								XmNisHomogeneous #t
+								XmNleftAttachment      XmATTACH_FORM
+								XmNrightAttachment     XmATTACH_FORM
+								XmNtopAttachment       XmATTACH_FORM
+								XmNbottomAttachment    XmATTACH_NONE
+								XmNbackground          *basic-color*))))
+			  (XtCreateManagedWidget "FFT size" xmLabelWidgetClass frm
+						 (list XmNleftAttachment      XmATTACH_FORM
+						       XmNrightAttachment     XmATTACH_FORM
+						       XmNtopAttachment       XmATTACH_WIDGET
+						       XmNtopWidget           rc
+						       XmNbottomAttachment    XmATTACH_FORM
+						       XmNlabelString         s1
+						       XmNalignment           XmALIGNMENT_BEGINNING
+						       XmNbackground          *basic-color*))
+			  (for-each 
+			   (lambda (size)
+			     (let ((button (XtCreateManagedWidget (format #f "~D" size) xmToggleButtonWidgetClass rc
+								  (list XmNbackground           *basic-color*
+									XmNvalueChangedCallback (list (lambda (w c i) 
+													(if (.set i) 
+													    (set! cross-synth-fft-size c))) 
+												      size)
+									XmNset                  (= size cross-synth-fft-size)))))
+			       (if (= size cross-synth-fft-size)
+				   (set! cross-synth-default-fft-widget button))))
+			   '(64 128 256 512 1024 4096))
+			  (XmStringFree s1)))
+		    
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! cross-synth-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild cross-synth-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! cross-synth-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild cross-synth-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog cross-synth-dialog))))
+		(activate-dialog cross-synth-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Cross synthesis" xmPushButtonWidgetClass misc-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-cross-synth-dialog)))
-	
-	(set! misc-menu-list (cons (lambda ()
-				     (change-label child (format #f "Cross synthesis (~D ~1,2F ~D ~1,2F)" 
-								 cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius)))
-				   misc-menu-list))))
+	   (child (XtCreateManagedWidget "Cross synthesis" xmPushButtonWidgetClass misc-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-cross-synth-dialog)))
+      
+      (set! misc-menu-list (cons (lambda ()
+				   (change-label child (format #f "Cross synthesis (~D ~1,2F ~D ~1,2F)" 
+							       cross-synth-sound cross-synth-amp cross-synth-fft-size cross-synth-radius)))
+				 misc-menu-list)))
     
 ;;; -------- Flange and phasing
 ;;;
     
-    (let ((flange-speed 2.0)
-	  (flange-amount 5.0)
-	  (flange-time 0.001))
-      
-      (define post-flange-dialog
-	(let ((flange-label "Flange")
-	      (flange-dialog #f)
-	      (flange-target 'sound))
-	  (lambda ()
-	    (unless (Widget? flange-dialog)
-	      ;; if flange-dialog doesn't exist, create it
-	      (let ((initial-flange-speed 2.0)
-		    (initial-flange-amount 5.0)
-		    (initial-flange-time 0.001)
-		    (sliders ()))
-		(set! flange-dialog
-		      (make-effect-dialog 
-		       flange-label
-		       
-		       (lambda (w context info)
-			 (map-chan-over-target-with-sync 
-			  (lambda (ignored)
-			    (let* ((ri (make-rand-interp :frequency flange-speed :amplitude flange-amount))
-				   (len (round (* flange-time (srate))))
-				   (del (make-delay len :max-size (round (+ len flange-amount 1)))))
-			      (lambda (inval)
-				(* .75 (+ inval
-					  (delay del
-						 inval
-						 (rand-interp ri)))))))
-			  flange-target 
-			  (lambda (target samps) 
-			    (format #f "effects-flange ~A ~A ~A" flange-amount flange-speed flange-time))
-			  #f))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Flange"
-				      "Move the sliders to change the flange speed, amount, and time"))
-		       
-		       (lambda (w c i)
-			 (set! flange-speed initial-flange-speed)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* flange-speed 10))))
-			 (set! flange-amount initial-flange-amount)
-			 (XtSetValues (cadr sliders) (list XmNvalue (floor (* flange-amount 10))))
-			 (set! flange-time initial-flange-time)
-			 (XtSetValues (caddr sliders) (list XmNvalue (floor (* flange-time 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok flange-target))))
+    (let* ((flange-speed 2.0)
+	   (flange-amount 5.0)
+	   (flange-time 0.001)
+	   (post-flange-dialog
+	    (let ((flange-label "Flange")
+		  (flange-dialog #f)
+		  (flange-target 'sound))
+	      (lambda ()
+		(unless (Widget? flange-dialog)
+		  ;; if flange-dialog doesn't exist, create it
+		  (let ((initial-flange-speed 2.0)
+			(initial-flange-amount 5.0)
+			(initial-flange-time 0.001)
+			(sliders ()))
+		    (set! flange-dialog
+			  (make-effect-dialog 
+			   flange-label
+			   
+			   (lambda (w context info)
+			     (map-chan-over-target-with-sync 
+			      (lambda (ignored)
+				(let ((ri (make-rand-interp :frequency flange-speed :amplitude flange-amount))
+				      (del (let ((len (round (* flange-time (srate)))))
+					     (make-delay len :max-size (round (+ len flange-amount 1))))))
+				  (lambda (inval)
+				    (* .75 (+ inval
+					      (delay del
+						     inval
+						     (rand-interp ri)))))))
+			      flange-target 
+			      (lambda (target samps) 
+				(format #f "effects-flange ~A ~A ~A" flange-amount flange-speed flange-time))
+			      #f))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Flange"
+					  "Move the sliders to change the flange speed, amount, and time"))
+			   
+			   (lambda (w c i)
+			     (set! flange-speed initial-flange-speed)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* flange-speed 10))))
+			     (set! flange-amount initial-flange-amount)
+			     (XtSetValues (cadr sliders) (list XmNvalue (floor (* flange-amount 10))))
+			     (set! flange-time initial-flange-time)
+			     (XtSetValues (caddr sliders) (list XmNvalue (floor (* flange-time 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok flange-target))))
+		    
+		    (set! sliders
+			  (add-sliders flange-dialog
+				       (list (list "flange speed" 0.0 initial-flange-speed 100.0
+						   (lambda (w context info)
+						     (set! flange-speed (/ (.value info) 10.0)))
+						   10)
+					     (list "flange amount" 0.0 initial-flange-amount 100.0
+						   (lambda (w context info)
+						     (set! flange-amount (/ (.value info) 10.0)))
+						   10)
+					     ;; flange time ought to use a non-linear scale (similar to amp in control panel)
+					     (list "flange time" 0.0 initial-flange-time 1.0
+						   (lambda (w context info)
+						     (set! flange-time (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! flange-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild flange-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders flange-dialog
-				   (list (list "flange speed" 0.0 initial-flange-speed 100.0
-					       (lambda (w context info)
-						 (set! flange-speed (/ (.value info) 10.0)))
-					       10)
-					 (list "flange amount" 0.0 initial-flange-amount 100.0
-					       (lambda (w context info)
-						 (set! flange-amount (/ (.value info) 10.0)))
-					       10)
-					 ;; flange time ought to use a non-linear scale (similar to amp in control panel)
-					 (list "flange time" 0.0 initial-flange-time 1.0
-					       (lambda (w context info)
-						 (set! flange-time (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! flange-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild flange-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog flange-dialog))))
+		(activate-dialog flange-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Flange" xmPushButtonWidgetClass misc-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-flange-dialog)))
-	
-	(set! misc-menu-list (cons (lambda ()
-				     (change-label child (format #f "Flange (~1,2F ~1,2F ~1,3F)" flange-speed flange-amount flange-time)))
-				   misc-menu-list))))
+	   (child (XtCreateManagedWidget "Flange" xmPushButtonWidgetClass misc-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-flange-dialog)))
+      
+      (set! misc-menu-list (cons (lambda ()
+				   (change-label child (format #f "Flange (~1,2F ~1,2F ~1,3F)" flange-speed flange-amount flange-time)))
+				 misc-menu-list)))
     
     
 ;;; -------- Randomize phase
 ;;;
 ;;; (source, progress, target)
     
-    (let ((random-phase-amp-scaler 3.14))
+    (let* ((random-phase-amp-scaler 3.14)
+	   (post-random-phase-dialog
+	    (let ((random-phase-label "Randomize phase")
+		  (random-phase-dialog #f))
+	      (lambda ()
+		(unless (Widget? random-phase-dialog)
+		  ;; if random-phase-dialog doesn't exist, create it
+		  (let ((initial-random-phase-amp-scaler 3.14)
+			(sliders ()))
+		    (set! random-phase-dialog
+			  (make-effect-dialog 
+			   random-phase-label
+			   
+			   (lambda (w context info)
+			     (rotate-phase (lambda (x) (random random-phase-amp-scaler))))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Randomize phase"
+					  "Move the slider to change the randomization amplitude scaler."))
+			   
+			   (lambda (w c i)
+			     (set! random-phase-amp-scaler initial-random-phase-amp-scaler)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* random-phase-amp-scaler 100)))))
+			   
+			   (lambda ()
+			     (pair? (sounds)))))
+		    
+		    (set! sliders
+			  (add-sliders random-phase-dialog
+				       (list (list "amplitude scaler" 0.0 initial-random-phase-amp-scaler 100.0
+						   (lambda (w context info)
+						     (set! random-phase-amp-scaler (/ (.value info) 100.0)))
+						   100))))))
+		(activate-dialog random-phase-dialog))))
       
-      (define post-random-phase-dialog
-	(let ((random-phase-label "Randomize phase")
-	      (random-phase-dialog #f))
-	  (lambda ()
-	    (unless (Widget? random-phase-dialog)
-	      ;; if random-phase-dialog doesn't exist, create it
-	      (let ((initial-random-phase-amp-scaler 3.14)
-		    (sliders ()))
-		(set! random-phase-dialog
-		      (make-effect-dialog 
-		       random-phase-label
-		       
-		       (lambda (w context info)
-			 (rotate-phase (lambda (x) (random random-phase-amp-scaler))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Randomize phase"
-				      "Move the slider to change the randomization amplitude scaler."))
-		       
-		       (lambda (w c i)
-			 (set! random-phase-amp-scaler initial-random-phase-amp-scaler)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* random-phase-amp-scaler 100)))))
-		       
-		       (lambda ()
-			 (pair? (sounds)))))
-		
-		(set! sliders
-		      (add-sliders random-phase-dialog
-				   (list (list "amplitude scaler" 0.0 initial-random-phase-amp-scaler 100.0
-					       (lambda (w context info)
-						 (set! random-phase-amp-scaler (/ (.value info) 100.0)))
-					       100))))))
-	    (activate-dialog random-phase-dialog))))
+	   (child (XtCreateManagedWidget "Randomize phase" xmPushButtonWidgetClass misc-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-random-phase-dialog)))
       
-      (let ((child (XtCreateManagedWidget "Randomize phase" xmPushButtonWidgetClass misc-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-random-phase-dialog)))
-	
-	(set! misc-menu-list (cons (lambda ()
-				     (change-label child (format #f "Randomize phase (~1,2F)"  random-phase-amp-scaler)))
-				   misc-menu-list))))
+      (set! misc-menu-list (cons (lambda ()
+				   (change-label child (format #f "Randomize phase (~1,2F)"  random-phase-amp-scaler)))
+				 misc-menu-list)))
     
 ;;; -------- Robotize
 ;;;
 ;;; (progress report?)
     
-    (let ((samp-rate 1.0)
-	  (osc-amp 0.3)
-	  (osc-freq 20))
-      
-      (define post-robotize-dialog
-	(let ((robotize-label "Robotize")
-	      (robotize-dialog #f)
-	      (robotize-target 'sound))
-	  (lambda ()
-	    (unless (Widget? robotize-dialog)
-	      ;; if robotize-dialog doesn't exist, create it
-	      (let ((initial-samp-rate 1.0)
-		    (initial-osc-amp 0.3)
-		    (initial-osc-freq 20)
-		    (sliders ()))
-		(set! robotize-dialog
-		      (make-effect-dialog 
-		       robotize-label
-		       
-		       (lambda (w context info)
-			 (let ((ms (and (eq? robotize-target 'marks)
-					(plausible-mark-samples))))
-			   (effects-fp samp-rate osc-amp osc-freq
-				       (if (eq? robotize-target 'sound)
-					   (values 0 
-						   (framples))
-					   (if (eq? robotize-target 'selection)
-					       (values (selection-position)
-						       (selection-framples))
-					       (values (car ms)
-						       (- (cadr ms) (car ms))))))))
-		       (lambda (w context info)
-			 (help-dialog "Robotize"
-				      "Move the sliders to set the sample rate, oscillator amplitude, and oscillator frequency."))
-		       
-		       (lambda (w c i)
-			 (set! samp-rate initial-samp-rate)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* samp-rate 100))))
-			 (set! osc-amp initial-osc-amp)
-			 (XtSetValues (cadr sliders) (list XmNvalue (floor (* osc-amp 100))))
-			 (set! osc-freq initial-osc-freq)
-			 (XtSetValues (caddr sliders) (list XmNvalue (floor (* osc-freq 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok robotize-target))))
+    (let* ((samp-rate 1.0)
+	   (osc-amp 0.3)
+	   (osc-freq 20)
+	   (post-robotize-dialog
+	    (let ((robotize-label "Robotize")
+		  (robotize-dialog #f)
+		  (robotize-target 'sound))
+	      (lambda ()
+		(unless (Widget? robotize-dialog)
+		  ;; if robotize-dialog doesn't exist, create it
+		  (let ((initial-samp-rate 1.0)
+			(initial-osc-amp 0.3)
+			(initial-osc-freq 20)
+			(sliders ()))
+		    (set! robotize-dialog
+			  (make-effect-dialog 
+			   robotize-label
+			   
+			   (lambda (w context info)
+			     (let ((ms (and (eq? robotize-target 'marks)
+					    (plausible-mark-samples))))
+			       (effects-fp samp-rate osc-amp osc-freq
+					   (if (eq? robotize-target 'sound)
+					       (values 0 
+						       (framples))
+					       (if (eq? robotize-target 'selection)
+						   (values (selection-position)
+							   (selection-framples))
+						   (values (car ms)
+							   (- (cadr ms) (car ms))))))))
+			   (lambda (w context info)
+			     (help-dialog "Robotize"
+					  "Move the sliders to set the sample rate, oscillator amplitude, and oscillator frequency."))
+			   
+			   (lambda (w c i)
+			     (set! samp-rate initial-samp-rate)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* samp-rate 100))))
+			     (set! osc-amp initial-osc-amp)
+			     (XtSetValues (cadr sliders) (list XmNvalue (floor (* osc-amp 100))))
+			     (set! osc-freq initial-osc-freq)
+			     (XtSetValues (caddr sliders) (list XmNvalue (floor (* osc-freq 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok robotize-target))))
+		    
+		    (set! sliders
+			  (add-sliders robotize-dialog
+				       (list (list "sample rate" 0.0 initial-samp-rate 2.0
+						   (lambda (w context info)
+						     (set! samp-rate (/ (.value info) 100.0)))
+						   100)
+					     (list "oscillator amplitude" 0.0 initial-osc-amp 1.0
+						   (lambda (w context info)
+						     (set! osc-amp (/ (.value info) 100.0)))
+						   100)
+					     (list "oscillator frequency" 0.0 initial-osc-freq 60
+						   (lambda (w context info)
+						     (set! osc-freq (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! robotize-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild robotize-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders robotize-dialog
-				   (list (list "sample rate" 0.0 initial-samp-rate 2.0
-					       (lambda (w context info)
-						 (set! samp-rate (/ (.value info) 100.0)))
-					       100)
-					 (list "oscillator amplitude" 0.0 initial-osc-amp 1.0
-					       (lambda (w context info)
-						 (set! osc-amp (/ (.value info) 100.0)))
-					       100)
-					 (list "oscillator frequency" 0.0 initial-osc-freq 60
-					       (lambda (w context info)
-						 (set! osc-freq (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! robotize-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild robotize-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog robotize-dialog))))
+		(activate-dialog robotize-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Robotize" xmPushButtonWidgetClass misc-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-robotize-dialog)))
-	
-	(set! misc-menu-list (cons (lambda ()
-				     (change-label child (format #f "Robotize (~1,2F ~1,2F ~1,2F)" samp-rate osc-amp osc-freq)))
-				   misc-menu-list))))
+	   (child (XtCreateManagedWidget "Robotize" xmPushButtonWidgetClass misc-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-robotize-dialog)))
+      
+      (set! misc-menu-list (cons (lambda ()
+				   (change-label child (format #f "Robotize (~1,2F ~1,2F ~1,2F)" samp-rate osc-amp osc-freq)))
+				 misc-menu-list)))
     
 ;;; -------- Rubber sound
 ;;;
     
-    (let ((rubber-factor 1.0))
+    (let* ((rubber-factor 1.0)
+	   (post-rubber-dialog
+	    (let ((rubber-label "Rubber sound")
+		  (rubber-dialog #f)
+		  (rubber-target 'sound))
+	      (lambda ()
+		(unless (Widget? rubber-dialog)
+		  ;; if rubber-dialog doesn't exist, create it
+		  (let ((initial-rubber-factor 1.0)
+			(sliders ()))
+		    (set! rubber-dialog
+			  (make-effect-dialog 
+			   rubber-label
+			   
+			   (lambda (w context info)
+			     (rubber-sound rubber-factor))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Rubber sound"
+					  "Stretches or contracts the time of a sound. Move the slider to change the stretch factor."))
+			   
+			   (lambda (w c i)
+			     (set! rubber-factor initial-rubber-factor)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* rubber-factor 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok rubber-target))))
+		    
+		    (set! sliders
+			  (add-sliders rubber-dialog
+				       (list (list "stretch factor" 0.0 initial-rubber-factor 5.0
+						   (lambda (w context info)
+						     (set! rubber-factor (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! rubber-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild rubber-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))			
+				#f)))
+		(activate-dialog rubber-dialog))))
       
-      (define post-rubber-dialog
-	(let ((rubber-label "Rubber sound")
-	      (rubber-dialog #f)
-	      (rubber-target 'sound))
-	  (lambda ()
-	    (unless (Widget? rubber-dialog)
-	      ;; if rubber-dialog doesn't exist, create it
-	      (let ((initial-rubber-factor 1.0)
-		    (sliders ()))
-		(set! rubber-dialog
-		      (make-effect-dialog 
-		       rubber-label
-		       
-		       (lambda (w context info)
-			 (rubber-sound rubber-factor))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Rubber sound"
-				      "Stretches or contracts the time of a sound. Move the slider to change the stretch factor."))
-		       
-		       (lambda (w c i)
-			 (set! rubber-factor initial-rubber-factor)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* rubber-factor 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok rubber-target))))
-		
-		(set! sliders
-		      (add-sliders rubber-dialog
-				   (list (list "stretch factor" 0.0 initial-rubber-factor 5.0
-					       (lambda (w context info)
-						 (set! rubber-factor (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! rubber-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild rubber-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))			
-			    #f)))
-	    (activate-dialog rubber-dialog))))
+	   (child (XtCreateManagedWidget "Rubber sound" xmPushButtonWidgetClass misc-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-rubber-dialog)))
       
-      (let ((child (XtCreateManagedWidget "Rubber sound" xmPushButtonWidgetClass misc-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-rubber-dialog)))
-	
-	(set! misc-menu-list (cons (lambda ()
-				     (change-label child (format #f "Rubber sound (~1,2F)"  rubber-factor)))
-				   misc-menu-list))))
+      (set! misc-menu-list (cons (lambda ()
+				   (change-label child (format #f "Rubber sound (~1,2F)"  rubber-factor)))
+				 misc-menu-list)))
     
     
 ;;; -------- Wobble
 ;;;
 ;;; (progress report)
     
-    (let ((wobble-frequency 50)
-	  (wobble-amplitude 0.5))
-      
-      (define post-wobble-dialog
-	(let ((wobble-label "Wobble")
-	      (wobble-dialog #f)
-	      (wobble-target 'sound))
-	  (lambda ()
-	    (unless (Widget? wobble-dialog)
-	      ;; if wobble-dialog doesn't exist, create it
-	      (let ((initial-wobble-frequency 50)
-		    (initial-wobble-amplitude 0.5)
-		    (sliders ()))
-		(set! wobble-dialog
-		      (make-effect-dialog 
-		       wobble-label
-		       
-		       (lambda (w context info)
-			 (let ((ms (and (eq? wobble-target 'marks)
-					(plausible-mark-samples))))
-			   (effects-hello-dentist
-			    wobble-frequency wobble-amplitude
-			    (if (eq? wobble-target 'sound)
-				(values 0 
-					(framples))
-				(if (eq? wobble-target 'selection)
-				    (values (selection-position)
-					    (selection-framples))
-				    (values (car ms)
-					    (- (cadr ms) (car ms))))))))
-		       
-		       (lambda (w context info)
-			 (help-dialog "Wobble"
-				      "Move the sliders to set the wobble frequency and amplitude."))
-		       
-		       (lambda (w c i)
-			 (set! wobble-frequency initial-wobble-frequency)
-			 (XtSetValues (car sliders) (list XmNvalue (floor (* wobble-frequency 100))))
-			 (set! wobble-amplitude initial-wobble-amplitude)
-			 (XtSetValues (cadr sliders) (list XmNvalue (floor (* wobble-amplitude 100)))))
-		       
-		       (lambda () 
-			 (effect-target-ok wobble-target))))
+    (let* ((wobble-frequency 50)
+	   (wobble-amplitude 0.5)
+	   (post-wobble-dialog
+	    (let ((wobble-label "Wobble")
+		  (wobble-dialog #f)
+		  (wobble-target 'sound))
+	      (lambda ()
+		(unless (Widget? wobble-dialog)
+		  ;; if wobble-dialog doesn't exist, create it
+		  (let ((initial-wobble-frequency 50)
+			(initial-wobble-amplitude 0.5)
+			(sliders ()))
+		    (set! wobble-dialog
+			  (make-effect-dialog 
+			   wobble-label
+			   
+			   (lambda (w context info)
+			     (let ((ms (and (eq? wobble-target 'marks)
+					    (plausible-mark-samples))))
+			       (effects-hello-dentist
+				wobble-frequency wobble-amplitude
+				(if (eq? wobble-target 'sound)
+				    (values 0 
+					    (framples))
+				    (if (eq? wobble-target 'selection)
+					(values (selection-position)
+						(selection-framples))
+					(values (car ms)
+						(- (cadr ms) (car ms))))))))
+			   
+			   (lambda (w context info)
+			     (help-dialog "Wobble"
+					  "Move the sliders to set the wobble frequency and amplitude."))
+			   
+			   (lambda (w c i)
+			     (set! wobble-frequency initial-wobble-frequency)
+			     (XtSetValues (car sliders) (list XmNvalue (floor (* wobble-frequency 100))))
+			     (set! wobble-amplitude initial-wobble-amplitude)
+			     (XtSetValues (cadr sliders) (list XmNvalue (floor (* wobble-amplitude 100)))))
+			   
+			   (lambda () 
+			     (effect-target-ok wobble-target))))
+		    
+		    (set! sliders
+			  (add-sliders wobble-dialog
+				       (list (list "wobble frequency" 0 initial-wobble-frequency 100
+						   (lambda (w context info)
+						     (set! wobble-frequency (/ (.value info) 100.0)))
+						   100)
+					     (list "wobble amplitude" 0.0 initial-wobble-amplitude 1.0
+						   (lambda (w context info)
+						     (set! wobble-amplitude (/ (.value info) 100.0)))
+						   100))))
+		    (add-target (XtParent (car sliders)) 
+				(lambda (target) 
+				  (set! wobble-target target)
+				  (XtSetSensitive (XmMessageBoxGetChild wobble-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
+				#f)))
 		
-		(set! sliders
-		      (add-sliders wobble-dialog
-				   (list (list "wobble frequency" 0 initial-wobble-frequency 100
-					       (lambda (w context info)
-						 (set! wobble-frequency (/ (.value info) 100.0)))
-					       100)
-					 (list "wobble amplitude" 0.0 initial-wobble-amplitude 1.0
-					       (lambda (w context info)
-						 (set! wobble-amplitude (/ (.value info) 100.0)))
-					       100))))
-		(add-target (XtParent (car sliders)) 
-			    (lambda (target) 
-			      (set! wobble-target target)
-			      (XtSetSensitive (XmMessageBoxGetChild wobble-dialog XmDIALOG_OK_BUTTON) (effect-target-ok target)))
-			    #f)))
-	    
-	    (activate-dialog wobble-dialog))))
+		(activate-dialog wobble-dialog))))
       
-      (let ((child (XtCreateManagedWidget "Wobble" xmPushButtonWidgetClass misc-menu
-					  (list XmNbackground *basic-color*))))
-	(XtAddCallback child XmNactivateCallback
-		       (lambda (w c i)
-			 (post-wobble-dialog)))
-	
-	(set! misc-menu-list (cons (lambda ()
-				     (change-label child (format #f "Wobble (~1,2F ~1,2F)" wobble-frequency wobble-amplitude)))
-				   misc-menu-list)))))
+	   (child (XtCreateManagedWidget "Wobble" xmPushButtonWidgetClass misc-menu
+					 (list XmNbackground *basic-color*))))
+      (XtAddCallback child XmNactivateCallback
+		     (lambda (w c i)
+		       (post-wobble-dialog)))
+      
+      (set! misc-menu-list (cons (lambda ()
+				   (change-label child (format #f "Wobble (~1,2F ~1,2F)" wobble-frequency wobble-amplitude)))
+				 misc-menu-list))))
   
 ;;;
 ;;; END PARAMETRIZED EFFECTS
diff --git a/noise.scm b/noise.scm
index a3d5edc..d4b5d87 100644
--- a/noise.scm
+++ b/noise.scm
@@ -41,61 +41,50 @@
   ;; whistle, very broad more of a whoosh.  this is basically "simple
   ;; fm", but the modulating signal is white noise.
   
-  (let (;; fix-up troubles in attack and decay times (there are
-	;; lots of ways to handle this -- the basic problem is that
-	;; these durned instruments end up having way too many
-	;; parameters.  rick taube's common music replacement for pla
-	;; should help, but just for old time's sake, we'll do it the
-	;; way the ancients did it.  (we could also package up this
-	;; stuff in our own function, somewhat like the allvln
-	;; function in vln.clm, leaving the instrument code to apply
-	;; envelopes and other data to some patch).
+  (let ((beg (seconds->samples startime))
+	(end (seconds->samples (+ startime dur)))
+	(carrier (make-oscil freq0))
+	(modulator (make-rand :frequency rfreq0 :amplitude 1.0))
+	(loc (make-locsig :degree degree 
+			  :distance distance
+			  :reverb reverb-amount
+			  :type *locsig-type*))
 	
-	(amp-attack (attack-point dur ampat ampdc))
-	(amp-decay (- 100.0 (attack-point dur ampdc ampat)))
-	(freq-attack (attack-point dur freqat freqdc))
-	(freq-decay (- 100.0 (attack-point dur freqdc freqat)))
-	(dev-attack (attack-point dur devat devdc))
-	(dev-decay (- 100.0 (attack-point dur devdc devat)))
-	(rfreq-attack (attack-point dur rfreqat rfreqdc))
-	(rfreq-decay (- 100.0 (attack-point dur rfreqdc rfreqat))))
-    
-    (let ((beg (seconds->samples startime))
-	  (end (seconds->samples (+ startime dur)))
-	  (carrier (make-oscil freq0))
-	  (modulator (make-rand :frequency rfreq0 :amplitude 1.0))
-	  (loc (make-locsig :degree degree 
-			    :distance distance
-			    :reverb reverb-amount
-			    :type *locsig-type*))
-	  
-	  ;; now make the actual envelopes -- these all assume we are
-	  ;; thinking in terms of the "value when the envelope is 1"
-	  ;; (i.e. dev1 and friends), and the "value when the envelope
-	  ;; is 0" (i.e. dev0 and friends) -- over the years this
-	  ;; seemed to make beginners happier than various other ways
-	  ;; of describing the y-axis behaviour of the envelope.  all
-	  ;; this boiler-plate for envelopes might seem overly
-	  ;; elaborate when our basic instrument is really simple, but
-	  ;; in most cases, and this one in particular, nearly all the
-	  ;; musical interest comes from the envelopes, not the
-	  ;; somewhat dull spectrum generated by the basic patch.
-	  
-	  (dev-f (make-env (stretch-envelope devfun 25 dev-attack 75 dev-decay)
+	;; now make the actual envelopes -- these all assume we are
+	;; thinking in terms of the "value when the envelope is 1"
+	;; (i.e. dev1 and friends), and the "value when the envelope
+	;; is 0" (i.e. dev0 and friends) -- over the years this
+	;; seemed to make beginners happier than various other ways
+	;; of describing the y-axis behaviour of the envelope.  all
+	;; this boiler-plate for envelopes might seem overly
+	;; elaborate when our basic instrument is really simple, but
+	;; in most cases, and this one in particular, nearly all the
+	;; musical interest comes from the envelopes, not the
+	;; somewhat dull spectrum generated by the basic patch.
+	
+	(dev-f (let ((dev-attack (attack-point dur devat devdc))
+		     (dev-decay (- 100.0 (attack-point dur devdc devat))))
+		 (make-env (stretch-envelope devfun 25 dev-attack 75 dev-decay)
 			   :duration dur 
 			   :offset (hz->radians dev0) 
-			   :scaler (hz->radians (- dev1 dev0))))
-	  (amp-f (make-env (stretch-envelope ampfun 25 amp-attack 75 amp-decay)
-			   :duration dur :scaler amp))
-	  (freq-f (make-env (stretch-envelope glissfun 25 freq-attack 75 freq-decay)
-			    :duration dur :scaler (hz->radians (- freq1 freq0))))
-	  (rfreq-f (make-env (stretch-envelope rfreqfun 25 rfreq-attack 75 rfreq-decay)
-			     :duration dur :scaler (hz->radians (- rfreq1 rfreq0)))))
-      (do ((i beg (+ i 1)))
-	  ((= i end))
-	(locsig loc i (* (env amp-f)
-			 (oscil carrier (+ (env freq-f)
-					   (* (env dev-f) (rand modulator (env rfreq-f)))))))))))
+			   :scaler (hz->radians (- dev1 dev0)))))
+	(amp-f (let ((amp-attack (attack-point dur ampat ampdc))
+		     (amp-decay (- 100.0 (attack-point dur ampdc ampat))))
+		 (make-env (stretch-envelope ampfun 25 amp-attack 75 amp-decay)
+			   :duration dur :scaler amp)))
+	(freq-f (let ((freq-attack (attack-point dur freqat freqdc))
+		      (freq-decay (- 100.0 (attack-point dur freqdc freqat))))
+		  (make-env (stretch-envelope glissfun 25 freq-attack 75 freq-decay)
+			    :duration dur :scaler (hz->radians (- freq1 freq0)))))
+	(rfreq-f (let ((rfreq-attack (attack-point dur rfreqat rfreqdc))
+		       (rfreq-decay (- 100.0 (attack-point dur rfreqdc rfreqat))))
+		   (make-env (stretch-envelope rfreqfun 25 rfreq-attack 75 rfreq-decay)
+			     :duration dur :scaler (hz->radians (- rfreq1 rfreq0))))))
+    (do ((i beg (+ i 1)))
+	((= i end))
+      (locsig loc i (* (env amp-f)
+		       (oscil carrier (+ (env freq-f)
+					 (* (env dev-f) (rand modulator (env rfreq-f))))))))))
 
 ;;; (with-sound () (fm-noise 0 0.5 500 0.25 '(0 0 25 1 75 1 100 0) 0.1 0.1  1000 '(0 0 100 1) 0.1 0.1 10 1000 '(0 0 100 1) 0 0  100 500 '(0 0 100 1) 0 0))
 
@@ -137,22 +126,22 @@
 ;			(reverb-amount 0.005)
 			)
   (let* ((dur (/ len (floor (srate))))
-	 (amp-attack (attack-point dur ampat ampdc))
-	 (amp-decay (- 100.0 (attack-point dur ampdc ampat)))
-	 (freq-attack (attack-point dur freqat freqdc))
-	 (freq-decay (- 100.0 (attack-point dur freqdc freqat)))
-	 (dev-attack (attack-point dur devat devdc))
-	 (dev-decay (- 100.0 (attack-point dur devdc devat)))
-	 (rfreq-attack (attack-point dur rfreqat rfreqdc))
-	 (rfreq-decay (- 100.0 (attack-point dur rfreqdc rfreqat)))
-	 (dev-ff (make-env (stretch-envelope devfun 25 dev-attack 75 dev-decay)
-			   :duration dur :scaler (hz->radians (- dev1 dev0))))
-	 (amp-ff (make-env (stretch-envelope ampfun 25 amp-attack 75 amp-decay)
-			   :duration dur :scaler amp))
-	 (freq-ff (make-env (stretch-envelope glissfun 25 freq-attack 75 freq-decay)
-			    :duration dur :scaler (hz->radians (- freq1 freq))))
-	 (rfreq-ff (make-env (stretch-envelope rfreqfun 25 rfreq-attack 75 rfreq-decay)
-			     :duration dur :scaler (hz->radians (- rfreq1 rfreq0))))
+	 (dev-ff (let ((dev-attack (attack-point dur devat devdc))
+		       (dev-decay (- 100.0 (attack-point dur devdc devat))))
+		   (make-env (stretch-envelope devfun 25 dev-attack 75 dev-decay)
+			     :duration dur :scaler (hz->radians (- dev1 dev0)))))
+	 (amp-ff (let ((amp-attack (attack-point dur ampat ampdc))
+		       (amp-decay (- 100.0 (attack-point dur ampdc ampat))))
+		   (make-env (stretch-envelope ampfun 25 amp-attack 75 amp-decay)
+			     :duration dur :scaler amp)))
+	 (freq-ff (let ((freq-attack (attack-point dur freqat freqdc))
+			(freq-decay (- 100.0 (attack-point dur freqdc freqat))))
+		    (make-env (stretch-envelope glissfun 25 freq-attack 75 freq-decay)
+			      :duration dur :scaler (hz->radians (- freq1 freq)))))
+	 (rfreq-ff (let ((rfreq-attack (attack-point dur rfreqat rfreqdc))
+			 (rfreq-decay (- 100.0 (attack-point dur rfreqdc rfreqat))))
+		     (make-env (stretch-envelope rfreqfun 25 rfreq-attack 75 rfreq-decay)
+			       :duration dur :scaler (hz->radians (- rfreq1 rfreq0)))))
 	 (carrier (make-oscil freq))
 	 (modulator (make-rand :frequency rfreq0 :amplitude 1.0))
 	 (dev-0 (hz->radians dev0))
diff --git a/numerics.scm b/numerics.scm
index 7560354..a0898d3 100644
--- a/numerics.scm
+++ b/numerics.scm
@@ -156,20 +156,22 @@
   (set! alpha (max alpha -0.5))
   (cond ((= n 0)       1.0)
 	((= alpha 0.0) (* (/ 2.0 n) (cos (* n x))))           ; maxima and A&S 22.3.14 (gsl has bogus values here)
-	((= n 1)       (* 2 alpha x))                         ; G&R 8.93(2)
-	((= n 2)       (- (* 2 alpha (+ alpha 1) x x) alpha)) ; G&R 8.93(3)
 	(else
-	 (let ((fn1 (* 2 x alpha))
-	       (fn 0.0)
-	       (fn2 1.0))
-	   (if (= n 1)
-	       fn1
-	       (do ((k 2 (+ k 1))
-		    (k0 2.0 (+ k0 1.0)))
-		   ((> k n) fn)
-		 (set! fn (/ (- (* 2 x fn1 (+ k alpha -1.0)) (* fn2 (+ k (* 2 alpha) -2.0))) k0))
-		 (set! fn2 fn1)
-		 (set! fn1 fn)))))))
+	 (case n
+	   ((1)       (* 2 alpha x))                          ; G&R 8.93(2)
+	   ((2)       (- (* 2 alpha (+ alpha 1) x x) alpha))  ; G&R 8.93(3)
+	   (else
+	    (let ((fn1 (* 2 x alpha))
+		  (fn 0.0000)
+		  (fn2 1.0000))
+	      (if (= n 1)
+		  fn1
+		  (do ((k 2 (+ k 1))
+		       (k0 2.0 (+ k0 1.0)))
+		      ((> k n) fn)
+		    (set! fn (/ (- (* 2 x fn1 (+ k alpha -1.0)) (* fn2 (+ k (* 2 alpha) -2.0))) k0))
+		    (set! fn2 fn1)
+		    (set! fn1 fn)))))))))
 
 ;;; (with-sound (:scaled-to 0.5) (do ((i 0 (+ i 1)) (x 0.0 (+ x .1))) ((= i 10000)) (outa i (gegenbauer 15 (cos x) 1.0))))
 
@@ -705,49 +707,49 @@
   (define (series m id)
     ;; This routine evaluates the series  sum_k 16^(id-k)/(8*k+m) using the modular exponentiation technique.
     
-    (let ((expm (let* ((ntp 25)
-		       (tp1 0)
-		       (tp (make-vector ntp)))
-		  (lambda (p ak)
-		    ;; expm = 16^p mod ak.  This routine uses the left-to-right binary exponentiation scheme.
-		    
-		    ;; If this is the first call to expm, fill the power of two table tp.
-		    (if (= tp1 0)
-			(begin
-			  (set! tp1 1)
-			  (set! (tp 0) 1.0)
-			  (do ((i 1 (+ i 1)))
-			      ((= i ntp))
-			    (set! (tp i) (* 2.0 (tp (- i 1)))))))
-		    
-		    (if (= ak 1.0)
-			0.0
-			(let ((pl -1))
-			  ;;  Find the greatest power of two less than or equal to p.
-			  (do ((i 0 (+ i 1)))
-			      ((or (not (= pl -1)) 
-				   (= i ntp)))
-			    (if (> (tp i) p)
-				(set! pl i)))
-			  
-			  (if (= pl -1) (set! pl ntp))
-			  (let ((pt (tp (- pl 1)))
-				(p1 p)
-				(r 1.0))
-			    ;;  Perform binary exponentiation algorithm modulo ak.
+    (let ((expm (let ((ntp 25))
+		  (let ((tp1 0)
+			(tp (make-vector ntp)))
+		    (lambda (p ak)
+		      ;; expm = 16^p mod ak.  This routine uses the left-to-right binary exponentiation scheme.
+		      
+		      ;; If this is the first call to expm, fill the power of two table tp.
+		      (if (= tp1 0)
+			  (begin
+			    (set! tp1 1)
+			    (set! (tp 0) 1.0)
+			    (do ((i 1 (+ i 1)))
+				((= i ntp))
+			      (set! (tp i) (* 2.0 (tp (- i 1)))))))
+		      
+		      (if (= ak 1.0)
+			  0.0
+			  (let ((pl -1))
+			    ;;  Find the greatest power of two less than or equal to p.
+			    (do ((i 0 (+ i 1)))
+				((or (not (= pl -1)) 
+				     (= i ntp)))
+			      (if (> (tp i) p)
+				  (set! pl i)))
 			    
-			    (do ((j 1 (+ j 1)))
-				((> j pl) r)
-			      (if (>= p1 pt)
-				  (begin
-				    (set! r (* 16.0 r))
-				    (set! r (- r (* ak (floor (/ r ak)))))
-				    (set! p1 (- p1 pt))))
-			      (set! pt (* 0.5 pt))
-			      (if (>= pt 1.0)
-				  (begin
-				    (set! r (* r r))
-				    (set! r (- r (* ak (floor (/ r ak))))))))))))))
+			    (if (= pl -1) (set! pl ntp))
+			    (let ((pt (tp (- pl 1)))
+				  (p1 p)
+				  (r 1.0))
+			      ;;  Perform binary exponentiation algorithm modulo ak.
+			      
+			      (do ((j 1 (+ j 1)))
+				  ((> j pl) r)
+				(if (>= p1 pt)
+				    (begin
+				      (set! r (* 16.0 r))
+				      (set! r (- r (* ak (floor (/ r ak)))))
+				      (set! p1 (- p1 pt))))
+				(set! pt (* 0.5 pt))
+				(if (>= pt 1.0)
+				    (begin
+				      (set! r (* r r))
+				      (set! r (- r (* ak (floor (/ r ak)))))))))))))))
 	  (eps 1e-17)
 	  (s 0.0))
       (do ((k 0 (+ k 1)))
@@ -767,12 +769,12 @@
 	    (set! s (- s (floor s))))))))
   
   ;; id is the digit position.  Digits generated follow immediately after id.
-  (let* ((chx (make-string 17))
-	 (s1 (series 1 id))
-	 (s2 (series 4 id))
-	 (s3 (series 5 id))
-	 (s4 (series 6 id))
-	 (pid (- (+ (* 4.0 s1) (* -2.0 s2)) s3 s4)))
+  (let ((chx (make-string 17))
+	(pid (let ((s1 (series 1 id))
+		   (s2 (series 4 id))
+		   (s3 (series 5 id))
+		   (s4 (series 6 id)))
+	       (- (+ (* 4.0 s1) (* -2.0 s2)) s3 s4))))
     (set! pid (- (+ 1.0 pid) (floor pid)))
     (ihex pid 10 chx)
     (format #t " position = ~D~% fraction = ~,15F~% hex digits =  ~S~%" id pid chx)))
@@ -813,31 +815,31 @@
 
 (define* (sin-nx-peak n (err 1e-12))
   ;; return the min peak amp and its location for sin(x)+sin(nx+a)
-  (let* ((size (* n 100))
-	 (incr (/ (* 2 pi) size))
-	 (peak 0.0)
-	 (location 0.0)
-	 (offset (if (= (modulo n 4) 3) 0 pi)))
-    (do ((i 0 (+ i 1))
-	 (x 0.0 (+ x incr)))
-	((= i size))
-      (let ((val (abs (+ (sin x) (sin (+ offset (* n x)))))))
-	(if (> val peak)
-	    (begin
-	      (set! peak val)
-	      (set! location x)))))
-    ;; now narrow it by zigzagging around the peak
-    (let ((x location))
-      (do ((zig-size (* incr 2) (/ zig-size 2)))
-	  ((< zig-size err))
-	(let ((cur (abs (+ (sin x) (sin (+ offset (* n x))))))
-	      (left (abs (+ (sin (- x zig-size)) (sin (+ (* n (- x zig-size)) offset))))))
-	  (if (< left cur)
-	      (let ((right (abs (+ (sin (+ x zig-size)) (sin (+ (* n (+ x zig-size)) offset))))))
-		(if (> right cur)
-		    (set! x (+ x zig-size))))
-	      (set! x (- x zig-size)))))
-      (list (abs (+ (sin x) (sin (+ (* n x) offset)))) x))))
+  (let ((size (* n 100)))
+    (let ((incr (/ (* 2 pi) size))
+	  (peak 0.0)
+	  (location 0.0)
+	  (offset (if (= (modulo n 4) 3) 0 pi)))
+      (do ((i 0 (+ i 1))
+	   (x 0.0 (+ x incr)))
+	  ((= i size))
+	(let ((val (abs (+ (sin x) (sin (+ offset (* n x)))))))
+	  (if (> val peak)
+	      (begin
+		(set! peak val)
+		(set! location x)))))
+      ;; now narrow it by zigzagging around the peak
+      (let ((x location))
+	(do ((zig-size (* incr 2) (/ zig-size 2)))
+	    ((< zig-size err))
+	  (let ((cur (abs (+ (sin x) (sin (+ offset (* n x))))))
+		(left (abs (+ (sin (- x zig-size)) (sin (+ (* n (- x zig-size)) offset))))))
+	    (if (< left cur)
+		(let ((right (abs (+ (sin (+ x zig-size)) (sin (+ (* n (+ x zig-size)) offset))))))
+		  (if (> right cur)
+		      (set! x (+ x zig-size))))
+		(set! x (- x zig-size)))))
+	(list (abs (+ (sin x) (sin (+ (* n x) offset)))) x)))))
 
 ;;; --------------------------------------------------------------------------------
 
diff --git a/peak-phases.scm b/peak-phases.scm
index 10a52a2..4f386f7 100644
--- a/peak-phases.scm
+++ b/peak-phases.scm
@@ -6,21 +6,19 @@
 ;;;   in the all harmonics case, these go from 1.356 (20) to 1.406 (106) leaving aside N<8
 ;;;   the square root => sqrt(2), so 1.414 is not good. 
 
-(define fv float-vector)
-
 
 ;;; ---------------------------------------- all harmonics ----------------------------------------
 
 (define noid-min-peak-phases (vector
 
-(vector 1  1.0    (fv 0))
-(vector 2  1.76   (fv 0 0))
+(vector 1  1.0    #(0))
+(vector 2  1.76   #(0 0))
 
 ;; the 1.76 can be calculated (given here that 0 is the min)
 ;;   take derivative of sin(x) + sin(2x) = cos(x) + 2cos(2x)
 ;;   use cos(2x) = 2cos^2(x) - 1 to turn this into a quadratic polynomial in cos(x)
 ;;       4cos^2(x) + cos(x) - 2
-;;   let x be cos(x), quadratic formula gives (-1 + sqrt(33))/8, [poly-roots (float-vector -2 1 4) -> (0.59307033081725 -0.84307033081725)]
+;;   let x be cos(x), quadratic formula gives (-1 + sqrt(33))/8, [poly-roots #(-2 1 4) -> (0.59307033081725 -0.84307033081725)]
 ;;   take acos of that to get cos(x): 
 ;;      (acos (+ -1/8 (/ (sqrt (+ 1 32)) 8))) -> 0.93592945566133
 ;;   plug that into the original: 
@@ -52,25 +50,25 @@
 
 
 ;;; 3 all --------------------------------------------------------------------------------
-(vector 3  2.1949383250709 (fv 0 0 1)
+(vector 3  2.1949383250709 #(0 0 1)
 
-     1.9798054823226 (fv 0.0 5.897251124274717204443163609539624303579E-1 3.166675693251937984129540382127743214369E-1) 
-     1.9798054823222 (fv 0.0 4.102748875720859667026729766803327947855E-1 1.683332430673265878162681019603041931987E0)  
-     1.9798054823226 (fv 0.0 1.58972511242745917492413809668505564332E0 3.166675693251493894919690319511573761702E-1)
-     1.9798054823222 (fv 0.0 1.410274887572085966702672976680332794785E0 1.683332430673265878162681019603041931987E0)
+     1.9798054823226 #(0.0 5.897251124274717204443163609539624303579E-1 3.166675693251937984129540382127743214369E-1) 
+     1.9798054823222 #(0.0 4.102748875720859667026729766803327947855E-1 1.683332430673265878162681019603041931987E0)  
+     1.9798054823226 #(0.0 1.58972511242745917492413809668505564332E0 3.166675693251493894919690319511573761702E-1)
+     1.9798054823222 #(0.0 1.410274887572085966702672976680332794785E0 1.683332430673265878162681019603041931987E0)
 
-     ;; :(tstall (fv 0 62/39 19/60))
+     ;; :(tstall #(0 62/39 19/60))
      ;; (1.979860844111887127172689015942912379187E0 5.5534000000004)
-     ;; same for (fv 0 23/39 19/60), always the case (it's symmetric in the 2nd), sin(x) +/- sin(2x + a) + sin(3x + b)
-     ;; :(tstall (fv 0.0 5.897251124274717204443163609539624303579E-1 3.166675693251937984129540382127743214369E-1) 0.0000001)
+     ;; same for #(0 23/39 19/60), always the case (it's symmetric in the 2nd), sin(x) +/- sin(2x + a) + sin(3x + b)
+     ;; :(tstall #(0.0 5.897251124274717204443163609539624303579E-1 3.166675693251937984129540382127743214369E-1) 0.0000001)
      ;; (1.979806197137575924716806491964687429097E0 0.1714663000039)
 
-     1.9797181063317 (fv 0.0 0.41022177723939 1.6832780274654)
-     1.979716725384 (fv 0.0 1.5897793760084 0.31672588155614)
-     1.9797162690553 (fv 0.0 1.4102202429311 1.6832728267862)
+     1.9797181063317 #(0.0 0.41022177723939 1.6832780274654)
+     1.979716725384 #(0.0 1.5897793760084 0.31672588155614)
+     1.9797162690553 #(0.0 1.4102202429311 1.6832728267862)
 
      ;; polynomial is surprisingly good:
-     ;;  :all 3 (fv 1.9797767193773 0.066455282926612 1.7863254855475)
+     ;;  :all 3 #(1.9797767193773 0.066455282926612 1.7863254855475)
 
      ;; big fft
      1.979806 #(0.000000 0.410275 1.683332)
@@ -78,56 +76,56 @@
 
 
 ;;; 4 all --------------------------------------------------------------------------------
-(vector 4  2.2962718935302 (fv 0 1 1 1)
+(vector 4  2.2962718935302 #(0 1 1 1)
 
-     2.040  (fv 0 33/35 67/50 10/9)               ;(vector 0 1/9 17/24 71/36) -- 2.04242
-     2.04012799263 (fv 0.000 0.072 0.674 1.912)
-     2.04012799263 (fv 0.000 0.928 1.326 1.088)
-     2.04012799263 (fv 0.000 1.072 0.674 0.912)
-     2.04012799263 (fv 0.000 1.928 1.326 0.088)
+     2.040  #(0 33/35 67/50 10/9)               ;(vector 0 1/9 17/24 71/36) -- 2.04242
+     2.04012799263 #(0.000 0.072 0.674 1.912)
+     2.04012799263 #(0.000 0.928 1.326 1.088)
+     2.04012799263 #(0.000 1.072 0.674 0.912)
+     2.04012799263 #(0.000 1.928 1.326 0.088)
 
-     2.0392323180235 (fv 0.0 9.429973765023149656627765580196864902973E-1 1.340090256365081833322960846999194473028E0 1.112605206055434337031329050660133361816E0)
+     2.0392323180235 #(0.0 9.429973765023149656627765580196864902973E-1 1.340090256365081833322960846999194473028E0 1.112605206055434337031329050660133361816E0)
 
-     2.038956 (fv 0.000000 0.944585 1.341508 1.115059)
-     2.038954 (fv 0.000000 1.055406 0.658486 0.884929)
-     2.038954 (fv 0.000000 0.055405 0.658485 1.884926)
-     2.038954 (fv 0.000000 1.944593 1.341515 0.115071)
+     2.038956 #(0.000000 0.944585 1.341508 1.115059)
+     2.038954 #(0.000000 1.055406 0.658486 0.884929)
+     2.038954 #(0.000000 0.055405 0.658485 1.884926)
+     2.038954 #(0.000000 1.944593 1.341515 0.115071)
  
-     ;; :all 4 (fv 2.060278672942 -0.70579973196553 0.90455920034382)
+     ;; :all 4 #(2.060278672942 -0.70579973196553 0.90455920034382)
      ;; big fft
      2.039104 #(0.000000 0.055486 0.658542 1.885004)
      2.039103 #(0.000000 0.055488 0.658545 1.885009)
      )
 
 ;;; 5 all -------------------------------------------------------------------------------- ; 2.23
-(vector 5  2.5405211753511 (fv 0 1 0 0 0)
+(vector 5  2.5405211753511 #(0 1 0 0 0)
 
-     2.3434929847717 (fv 0.0 0.84531772136688 1.6645057201385 1.4203575849533 1.5933285951614)
-     2.3434844481891 (fv 0.0 1.8453152570243 1.6649825491504 0.42142125263938 1.5942588576594)
+     2.3434929847717 #(0.0 0.84531772136688 1.6645057201385 1.4203575849533 1.5933285951614)
+     2.3434844481891 #(0.0 1.8453152570243 1.6649825491504 0.42142125263938 1.5942588576594)
 
-     2.343549 (fv 0.000000 1.845237 1.664402 0.420189 1.593154)
-     2.343533 (fv 0.000000 1.154716 0.335535 0.579695 0.406714)
-     2.343497 (fv 0.000000 0.845320 1.664496 1.420334 1.593308)
+     2.343549 #(0.000000 1.845237 1.664402 0.420189 1.593154)
+     2.343533 #(0.000000 1.154716 0.335535 0.579695 0.406714)
+     2.343497 #(0.000000 0.845320 1.664496 1.420334 1.593308)
      
-     2.343527 (fv 0.000000 0.154667 0.335503 1.579672 0.406698)
-     2.343513 (fv 0.000000 0.154687 0.335490 1.579647 0.406677)
-     2.343508 (fv 0.000000 1.845332 1.664532 0.420369 1.593338)
+     2.343527 #(0.000000 0.154667 0.335503 1.579672 0.406698)
+     2.343513 #(0.000000 0.154687 0.335490 1.579647 0.406677)
+     2.343508 #(0.000000 1.845332 1.664532 0.420369 1.593338)
 
      ;; pp:
-     2.343485 (fv 0.000000 1.154683 0.335509 0.579687 0.406716)
+     2.343485 #(0.000000 1.154683 0.335509 0.579687 0.406716)
      )
 
 ;;; 6 all -------------------------------------------------------------------------------- ; 2.4494
-(vector 6  2.8200183503167 (fv 0 0 0 0 1 0) 
+(vector 6  2.8200183503167 #(0 0 0 0 1 0) 
 
-     2.5509102344513 (fv 0.0 0.88722838124921 0.26020415169852 1.2966409163042 1.3233535939997 1.15281977798)
-     2.5493413065822 (fv 0.0 0.88655948906463 0.26426014425456 1.3003055923199 1.3306838066896 1.1573162129407)
+     2.5509102344513 #(0.0 0.88722838124921 0.26020415169852 1.2966409163042 1.3233535939997 1.15281977798)
+     2.5493413065822 #(0.0 0.88655948906463 0.26426014425456 1.3003055923199 1.3306838066896 1.1573162129407)
 
-     2.549466 (fv 0.000000 1.113453 1.735461 0.699472 0.668803 0.842320)
-     2.549414 (fv 0.000000 0.886661 0.264519 1.300599 1.331194 1.157723)
-     2.549386 (fv 0.000000 0.113427 1.735535 1.699526 0.668940 1.842412)
-     2.549385 (fv 0.000000 1.886568 0.264458 0.300485 1.331039 0.157570)
-     2.549360 (fv 0.000000 0.886491 0.264319 1.300337 1.330828 1.157371)
+     2.549466 #(0.000000 1.113453 1.735461 0.699472 0.668803 0.842320)
+     2.549414 #(0.000000 0.886661 0.264519 1.300599 1.331194 1.157723)
+     2.549386 #(0.000000 0.113427 1.735535 1.699526 0.668940 1.842412)
+     2.549385 #(0.000000 1.886568 0.264458 0.300485 1.331039 0.157570)
+     2.549360 #(0.000000 0.886491 0.264319 1.300337 1.330828 1.157371)
      
      2.549302 #(0.000000 0.886538 0.264356 1.300390 1.330858 1.157418)
 
@@ -140,95 +138,95 @@
      )
 
 ;;; 7 all -------------------------------------------------------------------------------- ; 2.64575
-(vector 7  3.072141248417 (fv 0 0 0 1 1 0 1)
+(vector 7  3.072141248417 #(0 0 0 1 1 0 1)
 
-     2.639426 (fv 0.000000 0.904980 0.986109 1.721148 1.291116 1.621443 0.966099)
-     2.639402 (fv 0.000000 0.095202 1.014213 1.278914 0.709149 1.378847 1.034223)
-     2.639371 (fv 0.000000 1.095652 1.014884 0.279318 0.709755 0.379605 1.035166)
-     2.639364 (fv 0.000000 1.904695 0.985719 0.720925 1.290796 0.621014 0.965536)
+     2.639426 #(0.000000 0.904980 0.986109 1.721148 1.291116 1.621443 0.966099)
+     2.639402 #(0.000000 0.095202 1.014213 1.278914 0.709149 1.378847 1.034223)
+     2.639371 #(0.000000 1.095652 1.014884 0.279318 0.709755 0.379605 1.035166)
+     2.639364 #(0.000000 1.904695 0.985719 0.720925 1.290796 0.621014 0.965536)
      )
 
 ;;; 8 all -------------------------------------------------------------------------------- ; 2.8284
-(vector 8  3.4905790371793 (fv 0 1 0 0 1 1 1 0)
+(vector 8  3.4905790371793 #(0 1 0 0 1 1 1 0)
 
-     2.795099 (fv 0.000000 1.333103 1.192134 0.394213 1.162609 1.955320 1.855302 0.126169)
-     2.794748 (fv 0.000000 0.333225 1.192073 1.394414 1.162519 0.954914 1.855082 1.126189)
-     2.794737 (fv 0.000000 1.666686 0.807757 0.605305 0.837099 1.044558 0.144428 0.873255)
-     2.794719 (fv 0.000000 0.666709 0.807769 1.605408 0.837217 0.044625 0.144433 1.873342)
-     2.794585 (fv 0.000000 0.666699 0.807707 1.605285 0.837106 0.044540 0.144374 1.873180)
+     2.795099 #(0.000000 1.333103 1.192134 0.394213 1.162609 1.955320 1.855302 0.126169)
+     2.794748 #(0.000000 0.333225 1.192073 1.394414 1.162519 0.954914 1.855082 1.126189)
+     2.794737 #(0.000000 1.666686 0.807757 0.605305 0.837099 1.044558 0.144428 0.873255)
+     2.794719 #(0.000000 0.666709 0.807769 1.605408 0.837217 0.044625 0.144433 1.873342)
+     2.794585 #(0.000000 0.666699 0.807707 1.605285 0.837106 0.044540 0.144374 1.873180)
 
      ;; pp:
-     2.880745 (fv 0.000000 0.873927 1.696839 1.009332 0.354675 0.227015 0.156852 0.523641)
+     2.880745 #(0.000000 0.873927 1.696839 1.009332 0.354675 0.227015 0.156852 0.523641)
      ;; big fft
      2.794684 #(0.000000 0.333223 1.192169 1.394521 1.162690 0.955202 1.855341 1.126445)
      )
 
 ;;; 9 all --------------------------------------------------------------------------------
-(vector 9  3.5954569026984 (fv 0 1 1 0 1 0 1 1 1)
+(vector 9  3.5954569026984 #(0 1 1 0 1 0 1 1 1)
 
-     2.962087 (fv 0.000000 0.872517 1.501013 0.464057 -0.056897 1.063020 1.251698 1.436014 1.254131)
-     2.962094 (fv 0.000000 1.127564 0.498862 1.535743 0.056794 0.936657 0.748023 0.563510 0.745376)
-     2.962065 (fv 0.000000 -0.127444 1.501316 1.464492 -0.056263 0.063823 1.252240 0.437075 1.255320)
-     2.961916 (fv 0.000000 0.127632 0.498978 0.536080 0.057253 -0.062716 0.748729 1.564172 0.746161)
-     2.961829 (fv 0.000000 1.872309 1.500693 1.463585 1.942384 0.062267 1.250564 0.435026 1.252813)
-     2.961652 (fv 0.000000 1.872337 1.500914 1.463820 1.942618 0.062504 1.251193 0.435609 1.253539)
+     2.962087 #(0.000000 0.872517 1.501013 0.464057 -0.056897 1.063020 1.251698 1.436014 1.254131)
+     2.962094 #(0.000000 1.127564 0.498862 1.535743 0.056794 0.936657 0.748023 0.563510 0.745376)
+     2.962065 #(0.000000 -0.127444 1.501316 1.464492 -0.056263 0.063823 1.252240 0.437075 1.255320)
+     2.961916 #(0.000000 0.127632 0.498978 0.536080 0.057253 -0.062716 0.748729 1.564172 0.746161)
+     2.961829 #(0.000000 1.872309 1.500693 1.463585 1.942384 0.062267 1.250564 0.435026 1.252813)
+     2.961652 #(0.000000 1.872337 1.500914 1.463820 1.942618 0.062504 1.251193 0.435609 1.253539)
 
      ;; pp:
-     2.961653 (fv 0.000000 0.872337 1.500915 0.463821 1.942617 1.062504 1.251196 1.435614 1.253542)
+     2.961653 #(0.000000 0.872337 1.500915 0.463821 1.942617 1.062504 1.251196 1.435614 1.253542)
      )
 
 ;;; 10 all -------------------------------------------------------------------------------- ; 3.162
-(vector 10 3.7587492407668 (fv 0 1 1 0 1 1 1 0 0 0)
+(vector 10 3.7587492407668 #(0 1 1 0 1 1 1 0 0 0)
 
-     3.102964 (fv 0.000000 0.071632 0.396251 0.504925 0.052683 0.212597 1.057168 -0.172275 1.102043 0.501144)
-     3.102823 (fv 0.000000 1.070629 0.394872 1.503703 0.050925 1.211208 1.054650 0.825637 1.099957 1.498128)
-     3.102782 (fv 0.000000 0.927743 1.602314 0.494139 -0.054832 0.785103 0.940332 1.169212 0.894844 0.494709)
-     3.102734 (fv 0.000000 1.928606 1.603786 1.495372 -0.052790 1.786999 0.942669 0.172108 0.897837 1.498611)
-     3.102303 (fv 0.000000 -0.071891 1.603086 1.494633 -0.053985 1.786024 0.941426 0.170569 0.896122 1.496522)
+     3.102964 #(0.000000 0.071632 0.396251 0.504925 0.052683 0.212597 1.057168 -0.172275 1.102043 0.501144)
+     3.102823 #(0.000000 1.070629 0.394872 1.503703 0.050925 1.211208 1.054650 0.825637 1.099957 1.498128)
+     3.102782 #(0.000000 0.927743 1.602314 0.494139 -0.054832 0.785103 0.940332 1.169212 0.894844 0.494709)
+     3.102734 #(0.000000 1.928606 1.603786 1.495372 -0.052790 1.786999 0.942669 0.172108 0.897837 1.498611)
+     3.102303 #(0.000000 -0.071891 1.603086 1.494633 -0.053985 1.786024 0.941426 0.170569 0.896122 1.496522)
 
      ;; pp:
-     3.270687 (fv 0.000000 1.665169 -0.138115 1.364203 0.226693 -0.150959 1.661874 0.514042 1.098209 1.445028)
+     3.270687 #(0.000000 1.665169 -0.138115 1.364203 0.226693 -0.150959 1.661874 0.514042 1.098209 1.445028)
      )
 
 ;;; 11 all -------------------------------------------------------------------------------- ; 3.31662
-(vector 11 3.8018732822274 (fv 0 1 0 0 1 0 0 0 1 1 1)
+(vector 11 3.8018732822274 #(0 1 0 0 1 0 0 0 1 1 1)
 
-     3.218745  (fv 0.000000 1.518100 1.908924 1.617043 1.540909 0.660141 -0.056826 0.670660 1.165195 1.212229 0.198401)
-     3.218587 (fv 0.000000 0.518100 1.908924 0.617043 1.540909 1.660141 -0.056826 1.670660 1.165195 0.212229 0.198401)
-     3.218514 (fv 0.000000 0.481786 0.091759 0.383540 0.459429 1.340439 0.058075 1.330988 0.836240 0.789345 -0.196819)
-     3.218444 (fv 0.000000 0.482127 0.090769 0.383093 0.459045 1.339823 0.056682 1.328792 0.834826 0.787716 -0.199032)
-     3.217965 (fv 0.000000 0.482287 0.091029 0.383292 0.459507 1.340271 0.057231 1.329368 0.835616 0.788459 -0.198129)
+     3.218745  #(0.000000 1.518100 1.908924 1.617043 1.540909 0.660141 -0.056826 0.670660 1.165195 1.212229 0.198401)
+     3.218587 #(0.000000 0.518100 1.908924 0.617043 1.540909 1.660141 -0.056826 1.670660 1.165195 0.212229 0.198401)
+     3.218514 #(0.000000 0.481786 0.091759 0.383540 0.459429 1.340439 0.058075 1.330988 0.836240 0.789345 -0.196819)
+     3.218444 #(0.000000 0.482127 0.090769 0.383093 0.459045 1.339823 0.056682 1.328792 0.834826 0.787716 -0.199032)
+     3.217965 #(0.000000 0.482287 0.091029 0.383292 0.459507 1.340271 0.057231 1.329368 0.835616 0.788459 -0.198129)
      
      ;; pp:
-     3.468683 (fv 0.000000 0.627804 1.366835 0.412917 1.258123 0.658181 0.350130 1.736695 1.823585 1.864191 0.254629)
+     3.468683 #(0.000000 0.627804 1.366835 0.412917 1.258123 0.658181 0.350130 1.736695 1.823585 1.864191 0.254629)
      )
 
 ;;; 12 all -------------------------------------------------------------------------------- ; 3.464
-(vector 12 3.7616552322386 (fv 0 1 1 0 0 1 0 1 0 0 0 0)
+(vector 12 3.7616552322386 #(0 1 1 0 0 1 0 1 0 0 0 0)
 
-     3.389586 (fv 0.000000 0.076743 0.348321 0.615321 0.763893 0.188090 0.117764 1.147735 1.461927 0.591300 1.497863 0.867456)
-     3.389547 (fv 0.000000 -0.079085 1.648740 1.380212 1.228354 1.804105 1.875295 0.844196 0.527781 1.396624 0.490362 1.119947)
-     3.389430 (fv 0.000000 1.081078 0.354514 1.624157 0.776410 1.200581 0.129241 0.162495 1.480822 1.614178 1.518801 1.892528)
-     3.389128 (fv 0.000000 1.076659 0.348730 1.615059 0.764020 1.188577 0.117561 0.148053 1.462454 1.591386 1.497945 1.868055)
-     3.388654 (fv 0.000000 1.076620 0.347797 1.614462 0.764164 1.188107 0.116910 0.147164 1.461571 1.590619 1.496557 1.866148)
+     3.389586 #(0.000000 0.076743 0.348321 0.615321 0.763893 0.188090 0.117764 1.147735 1.461927 0.591300 1.497863 0.867456)
+     3.389547 #(0.000000 -0.079085 1.648740 1.380212 1.228354 1.804105 1.875295 0.844196 0.527781 1.396624 0.490362 1.119947)
+     3.389430 #(0.000000 1.081078 0.354514 1.624157 0.776410 1.200581 0.129241 0.162495 1.480822 1.614178 1.518801 1.892528)
+     3.389128 #(0.000000 1.076659 0.348730 1.615059 0.764020 1.188577 0.117561 0.148053 1.462454 1.591386 1.497945 1.868055)
+     3.388654 #(0.000000 1.076620 0.347797 1.614462 0.764164 1.188107 0.116910 0.147164 1.461571 1.590619 1.496557 1.866148)
 
      ;; pp:
-     3.546003 (fv 0.000000 0.813150 -1.878303 1.450426 -0.112095 -1.110299 -0.487466 -0.181683 0.060170 -0.004101 -0.103775 -0.960524)
+     3.546003 #(0.000000 0.813150 -1.878303 1.450426 -0.112095 -1.110299 -0.487466 -0.181683 0.060170 -0.004101 -0.103775 -0.960524)
      )
 
 ;;; 13 all -------------------------------------------------------------------------------- ; 3.6055
-(vector 13 4.1211657406183 (fv 0 0 0 0 0 0 1 1 0 0 1 0 1) 
+(vector 13 4.1211657406183 #(0 0 0 0 0 0 1 1 0 0 1 0 1) 
 
-     3.525309 (fv 0.000000 1.051846 0.170520 1.635159 0.455907 1.511384 -0.147127 1.055447 1.000548 0.097871 0.005880 0.160672 0.616896)
-     3.525164 (fv 0.000000 0.947554 1.827637 0.362791 1.540717 0.485315 0.143016 0.940517 0.994364 1.896615 -0.012058 1.833412 1.375539)
-     3.525069 (fv 0.000000 0.947187 1.827546 0.362752 1.541123 0.485247 0.142279 0.941021 0.994821 1.896143 -0.012766 1.832600 1.375866)
+     3.525309 #(0.000000 1.051846 0.170520 1.635159 0.455907 1.511384 -0.147127 1.055447 1.000548 0.097871 0.005880 0.160672 0.616896)
+     3.525164 #(0.000000 0.947554 1.827637 0.362791 1.540717 0.485315 0.143016 0.940517 0.994364 1.896615 -0.012058 1.833412 1.375539)
+     3.525069 #(0.000000 0.947187 1.827546 0.362752 1.541123 0.485247 0.142279 0.941021 0.994821 1.896143 -0.012766 1.832600 1.375866)
 
      ;; tstall (flip odds):
-     3.5254909 (fv 0.000000 0.051846 0.170520 0.635159 0.455907 0.511384 -0.147127 0.055447 1.000548 1.097871 0.005880 1.160672 0.616896)
+     3.5254909 #(0.000000 0.051846 0.170520 0.635159 0.455907 0.511384 -0.147127 0.055447 1.000548 1.097871 0.005880 1.160672 0.616896)
 
-     3.525038 (fv 0.000000 0.946517 1.827042 0.361916 1.539603 0.484426 0.141403 0.938505 0.992273 1.893878 -0.015423 1.830018 1.372777)
-     3.524879 (fv 0.000000 0.948502 1.829668 0.364984 1.544240 0.488687 0.147763 0.945396 1.000061 1.903153 -0.004551 1.840699 1.384079)
-     3.524127 (fv 0.000000 0.948325 1.829839 0.364837 1.544231 0.489035 0.147691 0.944940 1.000036 1.902764 -0.004752 1.840449 1.384160)
+     3.525038 #(0.000000 0.946517 1.827042 0.361916 1.539603 0.484426 0.141403 0.938505 0.992273 1.893878 -0.015423 1.830018 1.372777)
+     3.524879 #(0.000000 0.948502 1.829668 0.364984 1.544240 0.488687 0.147763 0.945396 1.000061 1.903153 -0.004551 1.840699 1.384079)
+     3.524127 #(0.000000 0.948325 1.829839 0.364837 1.544231 0.489035 0.147691 0.944940 1.000036 1.902764 -0.004752 1.840449 1.384160)
 
      ;; others:
      3.52549096213107 #(0.0 1.948154 1.82948 1.364841 1.544093 1.488616 0.147127 1.944553 0.999452 0.902129 1.99412 0.839328 1.383104)
@@ -236,7 +234,7 @@
      3.52549096484103 #(0.0 0.051846 0.17052 0.63516 0.455907 0.511384 -0.147127 0.055447 1.000548 1.097871 0.00588 1.160672 0.616896)
 
      ;; pp:
-     3.850623 (fv 0.000000 0.969515 0.236902 1.700081 1.532485 1.012414 0.716276 0.879825 0.831162 1.111747 1.357361 -0.014630 0.962342)
+     3.850623 #(0.000000 0.969515 0.236902 1.700081 1.532485 1.012414 0.716276 0.879825 0.831162 1.111747 1.357361 -0.014630 0.962342)
 
      ;; random runs:
      3.548466 #(0.000000 0.145104 0.529448 0.690774 0.918949 0.803743 0.300955 0.527094 1.381692 -0.078636 0.898029 0.095477 1.535845)
@@ -245,14 +243,14 @@
      )
 
 ;;; 14 all -------------------------------------------------------------------------------- ; 3.7416
-(vector 14 4.1603193984251 (fv 0 1 0 1 1 0 1 0 0 0 1 0 0 0) 
+(vector 14 4.1603193984251 #(0 1 0 1 1 0 1 0 0 0 1 0 0 0) 
 
-     3.613280 (fv 0.000000 0.028982 0.530538 0.496734 -0.474935 -0.580078 0.104750 1.488617 -0.565757 -0.157842 -1.258035 -0.057079 0.253472 -0.294346)
-     3.613121 (fv 0.000000 0.028974 0.530453 0.496128 -0.475742 -0.580534 0.104588 -0.512201 1.433649 1.841085 0.741103 -0.058374 0.252301 -0.295482)
-     3.612244 (fv 0.000000 0.028654 0.530107 0.495786 -0.476137 -0.581023 0.103729 -0.513152 1.433095 1.840437 0.739729 -0.059420 0.251093 -0.296875)
+     3.613280 #(0.000000 0.028982 0.530538 0.496734 -0.474935 -0.580078 0.104750 1.488617 -0.565757 -0.157842 -1.258035 -0.057079 0.253472 -0.294346)
+     3.613121 #(0.000000 0.028974 0.530453 0.496128 -0.475742 -0.580534 0.104588 -0.512201 1.433649 1.841085 0.741103 -0.058374 0.252301 -0.295482)
+     3.612244 #(0.000000 0.028654 0.530107 0.495786 -0.476137 -0.581023 0.103729 -0.513152 1.433095 1.840437 0.739729 -0.059420 0.251093 -0.296875)
 
      ;; pp:
-     3.738333 (fv 0.000000 0.876144 1.749283 0.255257 1.233908 0.925717 1.713300 0.790918 0.423428 0.079568 -0.060539 0.064404 0.601933 0.291808)
+     3.738333 #(0.000000 0.876144 1.749283 0.255257 1.233908 0.925717 1.713300 0.790918 0.423428 0.079568 -0.060539 0.064404 0.601933 0.291808)
 
      ;; others:
      3.612481978033266 #(0.0 0.971346 1.469893 0.504214 0.476137 1.581023 1.896271 1.513152 0.566905 1.159563 1.260271 1.05942 1.748907 1.296875)
@@ -266,65 +264,65 @@
      )
 
 ;;; 15 all -------------------------------------------------------------------------------- ; 3.8729
-(vector 15 4.4060654286219 (fv 0 1 0 1 0 1 1 1 1 1 0 1 1 0 0) ; 3.87298 (3.8729833462074)
+(vector 15 4.4060654286219 #(0 1 0 1 0 1 1 1 1 1 0 1 1 0 0) ; 3.87298 (3.8729833462074)
 
-     3.768991 (fv 0.000000 0.863434 1.069349 1.651266 0.272078 0.287377 1.735528 1.050008 0.997192 -0.020076 1.092043 1.658049 1.188297 1.641481 1.391589)
-     3.768033 (fv 0.000000 0.863152 1.069135 1.651353 0.271851 0.287255 1.735115 1.049678 0.996877 -0.020587 1.091869 1.657562 1.187769 1.641176 1.391193)
+     3.768991 #(0.000000 0.863434 1.069349 1.651266 0.272078 0.287377 1.735528 1.050008 0.997192 -0.020076 1.092043 1.658049 1.188297 1.641481 1.391589)
+     3.768033 #(0.000000 0.863152 1.069135 1.651353 0.271851 0.287255 1.735115 1.049678 0.996877 -0.020587 1.091869 1.657562 1.187769 1.641176 1.391193)
 
      ;; pp:
-     3.859726 (fv 0.000000 0.426404 1.082257 -0.378600 0.672681 0.084435 0.794375 -0.135830 -0.492292 -0.747360 0.439828 0.395595 0.865535 0.672400 -1.271921)
+     3.859726 #(0.000000 0.426404 1.082257 -0.378600 0.672681 0.084435 0.794375 -0.135830 -0.492292 -0.747360 0.439828 0.395595 0.865535 0.672400 -1.271921)
      )
 
 ;;; 16 all --------------------------------------------------------------------------------
-(vector 16 4.5445760745314 (fv 0 1 1 0 1 0 1 0 0 0 1 1 0 0 0 0)
+(vector 16 4.5445760745314 #(0 1 1 0 1 0 1 0 0 0 1 1 0 0 0 0)
 
-     3.875080 (fv 0.000000 0.730612 0.678979 1.195144 1.632126 1.276744 -0.008560 1.467028 0.525375 0.204869 -0.166129 -0.115302 1.317856 1.622654 0.244306 1.412402)
-     3.873760 (fv 0.000000 0.727564 0.672436 1.188603 1.622426 1.266314 -0.018679 1.451325 0.507181 0.185750 -0.189066 -0.140317 1.293402 1.595942 0.216437 1.382779)
+     3.875080 #(0.000000 0.730612 0.678979 1.195144 1.632126 1.276744 -0.008560 1.467028 0.525375 0.204869 -0.166129 -0.115302 1.317856 1.622654 0.244306 1.412402)
+     3.873760 #(0.000000 0.727564 0.672436 1.188603 1.622426 1.266314 -0.018679 1.451325 0.507181 0.185750 -0.189066 -0.140317 1.293402 1.595942 0.216437 1.382779)
 
      ;; pp:
-     3.898248 (fv 0.000000 0.999637 1.627971 0.563839 1.354119 0.602036 1.818873 1.125095 0.889883 0.658070 0.547416 0.178002 0.696357 0.711221 1.277932 1.486763)
+     3.898248 #(0.000000 0.999637 1.627971 0.563839 1.354119 0.602036 1.818873 1.125095 0.889883 0.658070 0.547416 0.178002 0.696357 0.711221 1.277932 1.486763)
      )
 
 ;;; 17 all -------------------------------------------------------------------------------- ; 4.1231
-(vector 17 4.7654988506492 (fv 0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 1)
+(vector 17 4.7654988506492 #(0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 1)
 
-     3.981459 (fv 0.000000 0.520484 1.429480 0.505816 -0.891395 0.114390 0.146335 0.416197 0.938893 0.898753 0.507264 0.650687 -0.081499 -0.607990 0.213218 -0.096782 -0.652476)
-     3.980210 (fv 0.000000 0.519908 1.429364 0.506455 -0.889349 0.115888 0.147799 0.418944 0.941982 0.901488 0.510707 0.653289 -0.078010 -0.603698 0.217190 -0.091931 -0.646982)
+     3.981459 #(0.000000 0.520484 1.429480 0.505816 -0.891395 0.114390 0.146335 0.416197 0.938893 0.898753 0.507264 0.650687 -0.081499 -0.607990 0.213218 -0.096782 -0.652476)
+     3.980210 #(0.000000 0.519908 1.429364 0.506455 -0.889349 0.115888 0.147799 0.418944 0.941982 0.901488 0.510707 0.653289 -0.078010 -0.603698 0.217190 -0.091931 -0.646982)
 
      ;; pp:
-     4.025451 (fv 0.000000 0.806442 1.640772 0.524823 1.518315 0.179778 1.375417 0.889535 -0.006539 1.626695 1.126057 1.328368 0.940320 1.091090 1.265244 1.868967 -0.027469)
+     4.025451 #(0.000000 0.806442 1.640772 0.524823 1.518315 0.179778 1.375417 0.889535 -0.006539 1.626695 1.126057 1.328368 0.940320 1.091090 1.265244 1.868967 -0.027469)
      )
 
 ;;; 18 all -------------------------------------------------------------------------------- ; 4.24264
-(vector 18 4.795  (fv 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0) 
+(vector 18 4.795  #(0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0) 
 
-     4.145376 (fv 0.000000 0.815970 1.442468 0.022437 0.838057 0.561089 1.647234 0.678944 1.711039 1.021597 1.327383 0.016884 -0.030470 1.937927 0.480054 1.947188 1.779952 1.482341)
+     4.145376 #(0.000000 0.815970 1.442468 0.022437 0.838057 0.561089 1.647234 0.678944 1.711039 1.021597 1.327383 0.016884 -0.030470 1.937927 0.480054 1.947188 1.779952 1.482341)
      4.139748 #(0.000000 0.841029 1.468092 0.061368 0.883567 0.618102 1.726318 0.769330 1.807136 1.123961 1.445068 0.140416 0.092314 0.077559 0.642622 0.110176 1.960387 1.676428)
      4.139675 #(0.000000 0.843694 1.471411 0.063968 0.889446 0.622071 1.732660 0.775711 1.815657 1.135238 1.453657 0.151363 0.100548 0.088867 0.654716 0.119261 -0.025900 1.692198)
      )
 
 ;;; 19 all -------------------------------------------------------------------------------- ; 4.35889
-(vector 19 4.957  (fv 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1) 
+(vector 19 4.957  #(0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1) 
 
-     4.220950 (fv 0.000000 0.963878 0.724427 1.142775 1.347933 0.681634 0.858134 1.165699 1.071759 -0.202310 0.544201 1.698473 0.575529 0.392352 1.327300 -0.513540 0.980505 1.004716 0.307249)
+     4.220950 #(0.000000 0.963878 0.724427 1.142775 1.347933 0.681634 0.858134 1.165699 1.071759 -0.202310 0.544201 1.698473 0.575529 0.392352 1.327300 -0.513540 0.980505 1.004716 0.307249)
      4.218225 #(0.000000 0.975837 0.737298 1.163191 1.372213 0.708367 0.893430 1.205301 1.114000 -0.155007 0.595375 1.754296 0.630178 0.457584 1.398341 -0.439927 1.059040 1.087418 0.391362)
 
      ;; pp:
-     4.321309 (fv 0.000000 0.745098 1.155175 -0.037958 0.532342 1.473567 0.665377 -0.049708 1.767937 0.914818 -0.119772 -0.388406 1.775638 1.206519 1.079401 1.118695 1.930701 1.737887 -0.008406)
+     4.321309 #(0.000000 0.745098 1.155175 -0.037958 0.532342 1.473567 0.665377 -0.049708 1.767937 0.914818 -0.119772 -0.388406 1.775638 1.206519 1.079401 1.118695 1.930701 1.737887 -0.008406)
 
      ;; 20 - 1
      4.368453 #(0.000000 1.547665 1.565484 -0.064501 -0.355088 0.488366 0.392690 -0.094784 0.724088 1.208934 0.016380 0.236409 -0.498288 1.627216 1.538939 0.284041 1.423487 0.812330 1.368338)
      )
 
 ;;; 20 all -------------------------------------------------------------------------------- ; 4.4721
-(vector 20 5.202707605727 (fv 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0)
+(vector 20 5.202707605727 #(0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0)
 
-     4.288981 (fv 0.000000 1.288096 1.467454 -0.169090 1.858403 0.280935 0.217741 -0.031571 0.876318 1.220549 0.027164 0.381448 1.736192 1.508757 1.292734 0.007137 1.225400 0.645757 1.237414 0.420948)
+     4.288981 #(0.000000 1.288096 1.467454 -0.169090 1.858403 0.280935 0.217741 -0.031571 0.876318 1.220549 0.027164 0.381448 1.736192 1.508757 1.292734 0.007137 1.225400 0.645757 1.237414 0.420948)
      4.288007 #(0.000000 1.310045 1.497604 -0.134812 -0.097725 0.328441 0.281976 0.032570 0.953720 1.303826 0.111501 0.480774 -0.149523 1.625674 1.415263 0.146621 1.360870 0.796858 1.390400 0.590613)
      4.287958 #(0.000000 1.307843 1.492560 -0.136998 -0.104073 0.320652 0.273544 0.026577 0.942663 1.293828 0.101160 0.467007 -0.161748 1.610386 1.399614 0.127790 1.342419 0.775594 1.372823 0.570440)
 
      ;; pp:
-     4.467948 (fv 0.000000 0.926509 1.348679 0.244038 1.242002 0.019828 1.173056 0.068338 1.504010 1.041584 0.276603 1.806452 1.767012 1.665479 1.374797 1.361818 1.827476 0.132481 0.796064 0.727142)
+     4.467948 #(0.000000 0.926509 1.348679 0.244038 1.242002 0.019828 1.173056 0.068338 1.504010 1.041584 0.276603 1.806452 1.767012 1.665479 1.374797 1.361818 1.827476 0.132481 0.796064 0.727142)
 
      ;; random runs:
      4.373082 #(0.000000 1.736543 0.590014 1.257228 0.334821 0.741756 0.000141 0.933820 1.343880 -0.194453 0.086640 0.579672 0.170191 -0.135507 0.196326 1.615939 0.150737 -0.099336 1.018007 0.681284)
@@ -332,12 +330,12 @@
      )
 
 ;;; 21 all -------------------------------------------------------------------------------- ; 4.5825
-(vector 21 5.3164971341632 (fv 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0)
+(vector 21 5.3164971341632 #(0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0)
 
-     4.482399 (fv 0.000000 1.397497 1.231727 1.288294 -0.006341 1.417563 -0.224775 1.544084 0.158820 1.058039 0.318600 1.788531 1.041209 0.988222 1.527762 0.536397 0.600751 0.298693 0.721205 1.590350 -0.083320)
+     4.482399 #(0.000000 1.397497 1.231727 1.288294 -0.006341 1.417563 -0.224775 1.544084 0.158820 1.058039 0.318600 1.788531 1.041209 0.988222 1.527762 0.536397 0.600751 0.298693 0.721205 1.590350 -0.083320)
 
      ;; pp:
-     4.574194 (fv 0.000000 0.830108 1.212818 -0.114835 0.663864 1.570276 0.585550 1.478198 0.603181 0.202958 1.649503 0.901982 0.255866 0.012434 0.019243 -0.386770 -0.332788 -0.375429 0.023280 0.553342 0.478240)
+     4.574194 #(0.000000 0.830108 1.212818 -0.114835 0.663864 1.570276 0.585550 1.478198 0.603181 0.202958 1.649503 0.901982 0.255866 0.012434 0.019243 -0.386770 -0.332788 -0.375429 0.023280 0.553342 0.478240)
 
      ;;20+1
      4.466298 #(0.000000 0.909097 0.238169 0.468983 0.883242 -0.050068 0.873199 0.299129 0.119990 0.693144 0.718516 0.626261 1.588601 1.027074 -0.097623 0.296983 1.533310 -0.381362 -0.344831 0.732964 0.856609)
@@ -346,12 +344,12 @@
      )
 
 ;;; 22 all -------------------------------------------------------------------------------- ; 4.6904
-(vector 22 5.292244006282 (fv 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0)
+(vector 22 5.292244006282 #(0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0)
 
-     4.586632 (fv 0.000000 -0.097347 1.080504 0.590888 -0.253961 1.023423 0.714156 1.899465 -0.021982 0.277218 1.158938 0.994197 1.053415 1.055197 1.429563 0.904330 0.879709 1.421582 0.356096 1.550705 0.340822 1.056446)
+     4.586632 #(0.000000 -0.097347 1.080504 0.590888 -0.253961 1.023423 0.714156 1.899465 -0.021982 0.277218 1.158938 0.994197 1.053415 1.055197 1.429563 0.904330 0.879709 1.421582 0.356096 1.550705 0.340822 1.056446)
 
      ;; pp:
-     4.652382 (fv 0.000000 0.770633 1.384088 0.317715 1.400813 0.382294 1.252492 0.280512 1.930558 1.151783 0.690579 0.045402 0.011035 1.255532 1.463333 1.386585 0.797105 0.928163 1.091040 1.178341 1.461782 1.888245)
+     4.652382 #(0.000000 0.770633 1.384088 0.317715 1.400813 0.382294 1.252492 0.280512 1.930558 1.151783 0.690579 0.045402 0.011035 1.255532 1.463333 1.386585 0.797105 0.928163 1.091040 1.178341 1.461782 1.888245)
 
      ;; 20+2
      4.571664 #(0.000000 1.311821 0.851164 0.580547 0.048402 1.274604 0.456442 1.682804 0.779139 1.627033 1.074351 1.013793 0.652224 0.595232 0.638584 1.055905 1.176957 1.287858 0.085124 0.572185 1.547525 0.045133)
@@ -359,94 +357,94 @@
      )
 
 ;;; 23 all -------------------------------------------------------------------------------- ; 4.7958
-(vector 23 5.3592889520338 (fv 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1)
+(vector 23 5.3592889520338 #(0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1)
 
-     4.605166 (fv 0.000000 0.690307 -0.223703 0.265767 1.214689 0.913389 0.192629 1.489393 1.370656 0.848931 0.362934 0.592228 0.586290 0.001276 1.085398 1.699229 1.577973 0.044583 0.292577 1.343812 0.079208 -0.074880 0.197817)
+     4.605166 #(0.000000 0.690307 -0.223703 0.265767 1.214689 0.913389 0.192629 1.489393 1.370656 0.848931 0.362934 0.592228 0.586290 0.001276 1.085398 1.699229 1.577973 0.044583 0.292577 1.343812 0.079208 -0.074880 0.197817)
      4.603716 #(0.000000 0.728519 -0.170578 0.343467 1.289714 1.021005 0.302988 1.638069 1.530207 1.013139 0.545865 0.789599 0.817820 0.223908 1.348504 -0.016545 -0.131209 0.351331 0.607617 -0.321862 0.423879 0.291671 0.585222)
 
      ;; pp:
-     4.710615 (fv 0.000000 0.902511 1.536988 0.243249 1.001545 1.634662 0.695827 1.858861 0.975507 -0.294658 1.045533 0.585569 -0.187029 1.386517 1.153500 1.032794 1.102165 0.705294 0.968823 1.234672 1.719694 1.916952 0.231307)
+     4.710615 #(0.000000 0.902511 1.536988 0.243249 1.001545 1.634662 0.695827 1.858861 0.975507 -0.294658 1.045533 0.585569 -0.187029 1.386517 1.153500 1.032794 1.102165 0.705294 0.968823 1.234672 1.719694 1.916952 0.231307)
      )
 
 ;;; 24 all -------------------------------------------------------------------------------- ; 4.89897
-(vector 24 5.6358969066981 (fv 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0)
+(vector 24 5.6358969066981 #(0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0)
 
-     4.728042 (fv 0.000000 1.858980 1.366314 1.303093 0.303565 0.363906 -0.013052 0.288365 1.150614 1.733252 0.305478 1.054343 0.956930 0.688496 0.150610 0.766590 0.723928 0.358579 1.444965 0.475911 1.678841 0.331630 0.146133 0.753447)
+     4.728042 #(0.000000 1.858980 1.366314 1.303093 0.303565 0.363906 -0.013052 0.288365 1.150614 1.733252 0.305478 1.054343 0.956930 0.688496 0.150610 0.766590 0.723928 0.358579 1.444965 0.475911 1.678841 0.331630 0.146133 0.753447)
 
      ;; pp:
-     4.889570 (fv 0.000000 0.652535 1.042108 0.029625 0.992596 0.108788 0.963358 1.727152 1.075228 0.458712 1.655013 0.983185 0.212822 0.044079 1.553136 1.514188 1.228593 0.684074 0.951192 1.149281 1.171121 1.382495 1.676492 0.457795)
+     4.889570 #(0.000000 0.652535 1.042108 0.029625 0.992596 0.108788 0.963358 1.727152 1.075228 0.458712 1.655013 0.983185 0.212822 0.044079 1.553136 1.514188 1.228593 0.684074 0.951192 1.149281 1.171121 1.382495 1.676492 0.457795)
 
      ;; 23+1
      4.797502 #(0.000000 0.815912 -0.489010 0.238747 0.464672 -0.791156 -0.258728 1.104213 0.634676 0.636859 0.115975 -0.179694 0.187452 -0.818880 0.261843 -0.587852 -0.717075 0.590119 -0.373998 0.804963 -0.982681 -0.821174 -0.611885 -0.513579)
      )
 
 ;;; 25 all -------------------------------------------------------------------------------- ; 5
-(vector 25 5.6488965032573 (fv 0 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0)
+(vector 25 5.6488965032573 #(0 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0)
 
-     4.852860 (fv 0.000000 0.230967 1.727317 0.450764 0.017370 0.018890 0.465256 0.875082 0.612377 0.658132 0.067557 0.830777 0.581695 -0.075473 -0.106051 1.748399 0.582315 0.898509 1.395989 0.676438 1.853985 1.350704 1.785330 0.662329 1.015229)
+     4.852860 #(0.000000 0.230967 1.727317 0.450764 0.017370 0.018890 0.465256 0.875082 0.612377 0.658132 0.067557 0.830777 0.581695 -0.075473 -0.106051 1.748399 0.582315 0.898509 1.395989 0.676438 1.853985 1.350704 1.785330 0.662329 1.015229)
 
      ;; pp:
-     4.921362 (fv 0.000000 0.851508 1.100092 -0.096894 0.569229 1.392351 1.000621 -0.034780 0.968948 0.124084 0.790431 -0.082333 0.100565 1.032584 0.439519 0.313536 0.111622 0.176204 1.585564 1.488261 0.160713 -0.042818 0.611461 0.760689 0.720307)
+     4.921362 #(0.000000 0.851508 1.100092 -0.096894 0.569229 1.392351 1.000621 -0.034780 0.968948 0.124084 0.790431 -0.082333 0.100565 1.032584 0.439519 0.313536 0.111622 0.176204 1.585564 1.488261 0.160713 -0.042818 0.611461 0.760689 0.720307)
 
      ;; 24+1?
      4.867199 #(0.000000 0.511988 0.599074 1.109026 -0.258266 -0.311525 -0.180815 0.514703 -0.058310 0.500087 -0.447647 -1.097227 -0.392984 -0.773229 -0.739391 1.039107 0.423028 -0.118139 1.262658 1.681945 -0.043110 1.191717 1.700807 0.042704 -0.767223)
      )
 
 ;;; 26 all -------------------------------------------------------------------------------- ; 5.0990
-(vector 26 5.7865648269653 (fv 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0)
+(vector 26 5.7865648269653 #(0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0)
 
-     5.004963 (fv 0.000000 0.356503 0.613044 0.799459 0.607543 -0.552567 0.275717 0.954617 0.539225 0.390115 0.747516 -0.287816 0.661916 1.821078 -0.045167 -0.217306 1.531723 0.896950 0.283527 0.968137 0.942126 0.004913 -0.474898 0.935500 1.374671 0.106691)
+     5.004963 #(0.000000 0.356503 0.613044 0.799459 0.607543 -0.552567 0.275717 0.954617 0.539225 0.390115 0.747516 -0.287816 0.661916 1.821078 -0.045167 -0.217306 1.531723 0.896950 0.283527 0.968137 0.942126 0.004913 -0.474898 0.935500 1.374671 0.106691)
      4.982437 #(0.000000 0.157773 0.357579 0.470573 0.208359 -1.095460 -0.324361 0.305853 -0.246382 -0.421030 -0.124942 -1.314179 -0.526336 0.680713 -1.271118 -1.537428 0.186315 -0.648152 -1.272801 -0.741946 -0.801258 -1.769664 -0.386094 -1.048075 -0.774396 -0.009812)
      4.981911 #(0.000000 0.114804 0.305276 0.394495 0.122048 -1.227102 -0.469461 0.152164 -0.415952 -0.596715 -0.349375 -1.548844 -0.778154 0.402539 -1.542539 -1.840236 -0.152677 -0.992660 -1.641041 -1.138828 -1.199533 -0.219776 -0.823305 -1.512557 -1.273176 -0.520822)
 
      ;; pp:
-     5.069005 (fv 0.000000 0.693839 1.223177 0.171124 0.655819 1.659284 0.862412 0.167152 1.036280 0.233275 1.065043 0.332100 0.088514 1.217811 0.718617 0.463929 -0.022907 0.301609 1.664942 1.593693 1.159306 1.575199 1.658356 1.791865 0.367495 0.523068)
+     5.069005 #(0.000000 0.693839 1.223177 0.171124 0.655819 1.659284 0.862412 0.167152 1.036280 0.233275 1.065043 0.332100 0.088514 1.217811 0.718617 0.463929 -0.022907 0.301609 1.664942 1.593693 1.159306 1.575199 1.658356 1.791865 0.367495 0.523068)
 
      ;; 25+1
-     5.143899 (fv 0.000000 0.339898 1.703660 0.334703 -0.033066 0.152772 0.352050 0.937913 0.431489 0.569881 0.083296 0.920798 0.392044 -0.279901 -0.309500 1.803373 0.465037 0.973772 1.156286 0.616150 1.812432 1.192020 1.791336 0.747339 0.851095 0.182401)
+     5.143899 #(0.000000 0.339898 1.703660 0.334703 -0.033066 0.152772 0.352050 0.937913 0.431489 0.569881 0.083296 0.920798 0.392044 -0.279901 -0.309500 1.803373 0.465037 0.973772 1.156286 0.616150 1.812432 1.192020 1.791336 0.747339 0.851095 0.182401)
      )
 
 ;;; 27 all -------------------------------------------------------------------------------- ; 5.1961
-(vector 27 5.8753981590271 (fv 0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0)
+(vector 27 5.8753981590271 #(0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0)
 
-     5.063979 (fv 0.000000 1.181312 1.011523 -0.037795 0.952214 0.743188 0.046346 -0.011550 1.593930 1.829003 1.926981 0.836368 0.497093 0.820784 0.581154 1.308971 0.813642 0.203348 0.448693 0.869589 1.163120 0.319576 0.498929 -0.074366 0.820574 1.666665 0.421783)
+     5.063979 #(0.000000 1.181312 1.011523 -0.037795 0.952214 0.743188 0.046346 -0.011550 1.593930 1.829003 1.926981 0.836368 0.497093 0.820784 0.581154 1.308971 0.813642 0.203348 0.448693 0.869589 1.163120 0.319576 0.498929 -0.074366 0.820574 1.666665 0.421783)
 
      ;; pp:
-     5.178190 (fv 0.000000 0.576339 1.415874 0.213916 0.629425 1.693659 0.296051 1.239867 0.501966 1.807544 0.478176 -0.072336 1.103954 0.283214 0.269354 -0.586084 0.967552 0.762560 0.644862 0.769649 0.453206 0.327359 1.119459 1.407959 1.575398 0.090804 0.240986)
+     5.178190 #(0.000000 0.576339 1.415874 0.213916 0.629425 1.693659 0.296051 1.239867 0.501966 1.807544 0.478176 -0.072336 1.103954 0.283214 0.269354 -0.586084 0.967552 0.762560 0.644862 0.769649 0.453206 0.327359 1.119459 1.407959 1.575398 0.090804 0.240986)
 
      ;; 26+1
      5.126119 #(0.000000 0.900772 1.219713 0.169043 1.065297 1.224400 0.165897 0.980264 0.050341 1.214424 0.625722 0.135385 1.464791 0.070454 0.417426 0.174034 0.437373 0.493624 0.582463 1.623009 1.820016 1.778385 0.847413 1.132593 0.293556 1.847407 0.436103)
      )
 
 ;;; 28 all -------------------------------------------------------------------------------- ; 5.2915
-(vector 28 6.0962085723877 (fv 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 1)
+(vector 28 6.0962085723877 #(0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 1)
 
-     5.157284 (fv 0.000000 0.613262 -0.034248 0.167107 1.753362 0.009121 1.168065 1.319935 0.754215 1.452315 0.403030 1.384036 -0.445049 1.700477 0.448730 1.102474 0.302577 0.114957 0.813938 -1.221580 0.733588 -0.228287 1.379195 0.775101 0.357079 0.863661 0.744441 -0.542730)
+     5.157284 #(0.000000 0.613262 -0.034248 0.167107 1.753362 0.009121 1.168065 1.319935 0.754215 1.452315 0.403030 1.384036 -0.445049 1.700477 0.448730 1.102474 0.302577 0.114957 0.813938 -1.221580 0.733588 -0.228287 1.379195 0.775101 0.357079 0.863661 0.744441 -0.542730)
      5.156726 #(0.000000 0.621583 -0.025615 0.185073 1.770611 0.035230 1.190822 1.343738 0.783921 1.481359 0.438924 1.421434 -0.401379 1.746999 0.501100 1.159948 0.364927 0.179358 0.879866 -1.146659 0.808429 -0.150109 1.458018 0.864191 0.450456 0.959743 0.840089 -0.445751)
 
      ;; pp:
-     5.257514 (fv 0.000000 0.637044 1.032618 -0.063334 0.493709 1.172496 0.265676 1.071428 0.186660 1.119263 0.450916 1.523906 0.926797 0.655305 -0.125687 1.119620 1.002091 0.595772 0.366822 0.141548 0.074245 -0.326675 0.086270 0.158575 0.648670 0.735199 1.036773 -0.335597)
+     5.257514 #(0.000000 0.637044 1.032618 -0.063334 0.493709 1.172496 0.265676 1.071428 0.186660 1.119263 0.450916 1.523906 0.926797 0.655305 -0.125687 1.119620 1.002091 0.595772 0.366822 0.141548 0.074245 -0.326675 0.086270 0.158575 0.648670 0.735199 1.036773 -0.335597)
      )
 
 ;;; 29 all -------------------------------------------------------------------------------- ; 5.38516
-(vector 29 6.168496131897 (fv 0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 0 1 0 1)
+(vector 29 6.168496131897 #(0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 0 1 0 1)
 
-     5.241325 (fv 0.000000 1.424549 1.434579 0.952506 0.877300 1.948583 1.592791 0.964559 0.950012 1.429458 0.788068 0.556113 0.404906 0.813692 1.604109 0.138120 0.925420 1.345282 1.048370 1.281239 1.347177 1.752489 1.781053 0.782127 0.063659 1.163981 0.330203 1.128951 1.871926)
+     5.241325 #(0.000000 1.424549 1.434579 0.952506 0.877300 1.948583 1.592791 0.964559 0.950012 1.429458 0.788068 0.556113 0.404906 0.813692 1.604109 0.138120 0.925420 1.345282 1.048370 1.281239 1.347177 1.752489 1.781053 0.782127 0.063659 1.163981 0.330203 1.128951 1.871926)
 
      ;; pp:
-     5.354004 (fv 0.000000 0.686564 1.165583 1.805539 0.645303 1.392789 0.389959 1.584227 0.184212 1.132208 0.594808 1.885153 0.760508 0.108139 1.597930 1.248057 0.449409 0.388311 -0.040221 -0.137762 0.035489 0.097197 1.554759 1.643774 1.707832 0.439164 0.286463 0.690398 1.001814)
+     5.354004 #(0.000000 0.686564 1.165583 1.805539 0.645303 1.392789 0.389959 1.584227 0.184212 1.132208 0.594808 1.885153 0.760508 0.108139 1.597930 1.248057 0.449409 0.388311 -0.040221 -0.137762 0.035489 0.097197 1.554759 1.643774 1.707832 0.439164 0.286463 0.690398 1.001814)
 
      ;; 28+1
      5.309949 #(0.000000 0.846874 0.241547 0.392668 0.105733 0.593095 -0.055728 1.769258 1.471201 0.259232 1.487017 0.394902 0.593301 0.594134 1.608339 0.527615 1.618053 1.488443 0.038033 0.264977 0.515061 1.719999 1.612303 0.816240 0.367893 0.553084 0.901271 1.615714 0.762730)
      )
 
 ;;; 30 all -------------------------------------------------------------------------------- ; 5.4772
-(vector 30 6.257221698761 (fv 0 1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 0 1)
+(vector 30 6.257221698761 #(0 1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 0 1)
 
-     5.361273 (fv 0.000000 1.372797 0.670580 1.057136 -0.495516 0.360919 0.095174 0.542106 0.748047 0.327246 -0.458569 -0.196062 0.499790 0.195141 -0.041091 1.640040 0.876134 1.017379 1.243023 0.157336 0.532420 -0.270945 0.222972 -0.454366 0.519190 0.206280 0.985739 0.329627 0.782987 0.753526)
+     5.361273 #(0.000000 1.372797 0.670580 1.057136 -0.495516 0.360919 0.095174 0.542106 0.748047 0.327246 -0.458569 -0.196062 0.499790 0.195141 -0.041091 1.640040 0.876134 1.017379 1.243023 0.157336 0.532420 -0.270945 0.222972 -0.454366 0.519190 0.206280 0.985739 0.329627 0.782987 0.753526)
 
      ;; pp:
-     5.457123 (fv 0.000000 0.579295 1.086489 0.271361 0.351869 1.393293 0.343724 1.326421 0.262824 0.711061 0.185497 1.430027 0.435525 0.024911 1.289605 1.541120 0.534068 0.426466 1.770822 1.448308 1.691046 1.363221 0.940381 1.411829 1.232407 1.698674 -0.061281 0.480912 0.397265 0.093509)
+     5.457123 #(0.000000 0.579295 1.086489 0.271361 0.351869 1.393293 0.343724 1.326421 0.262824 0.711061 0.185497 1.430027 0.435525 0.024911 1.289605 1.541120 0.534068 0.426466 1.770822 1.448308 1.691046 1.363221 0.940381 1.411829 1.232407 1.698674 -0.061281 0.480912 0.397265 0.093509)
      5.457522 #(0.000000 0.180374 0.737535 -0.629271 -0.119582 0.936316 1.168308 1.717509 -0.402864 -0.373354 0.211140 0.477066 1.180570 -1.170786 0.943217 0.201779 -0.611919 0.922150 1.095538 0.984255 -0.262406 0.845304 1.611083 0.846240 0.705768 -0.037782 -0.632928 0.048519 -0.449702 1.337980)
 
      ;; 29+1
@@ -454,72 +452,72 @@
      )
 
 ;;; 31 all -------------------------------------------------------------------------------- ; 5.56776
-(vector 31 6.3243918418884 (fv 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1)
+(vector 31 6.3243918418884 #(0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1)
 
-	5.479252 (fv 0.000000 1.715332 0.740879 1.282120 0.005121 1.133820 1.648029 0.843835 0.870127 0.362478 -0.012264 1.508703 0.898921 1.010311 1.653601 0.519170 0.543334 0.643526 1.650052 0.937580 0.006302 1.745072 0.413200 1.629321 0.671152 0.807947 1.140772 1.157434 0.674253 1.101147 1.176272)
+	5.479252 #(0.000000 1.715332 0.740879 1.282120 0.005121 1.133820 1.648029 0.843835 0.870127 0.362478 -0.012264 1.508703 0.898921 1.010311 1.653601 0.519170 0.543334 0.643526 1.650052 0.937580 0.006302 1.745072 0.413200 1.629321 0.671152 0.807947 1.140772 1.157434 0.674253 1.101147 1.176272)
 	5.478665 #(0.000000 1.772425 0.803174 1.328405 0.081611 1.219664 1.725421 0.969769 1.009467 0.524607 0.150580 1.691934 1.088386 1.212688 1.849460 0.777872 0.785597 0.893510 -0.072450 1.225337 0.333131 0.071155 0.764064 0.012661 1.020004 1.202423 1.541822 1.587594 1.095956 1.541832 1.635240)
 
 	5.457715 #(0.000000 0.335441 1.084827 0.018253 0.737437 1.328926 0.232615 1.324648 1.548727 1.102230 0.582938 0.356482 1.414652 1.240061 0.257198 0.650632 1.787556 1.748026 -0.020851 0.033891 1.146224 0.784975 1.568424 1.015644 1.832440 -0.392011 -0.347982 -0.739222 -0.325456 -0.578410 0.397608)
 	5.453054 #(0.000000 0.330034 1.062392 -0.018048 0.701747 1.293007 0.182311 1.269874 1.478913 1.017407 0.501409 0.269712 1.315062 1.138628 0.142159 0.526931 -0.345056 1.613950 -0.162150 -0.111306 0.991533 0.609140 1.408136 0.828750 1.658057 -0.598529 -0.552356 -0.936876 -0.551564 -0.796775 0.156224)
 
      ;; pp:
-     5.506117 (fv 0.000000 0.677676 1.291605 1.787569 0.657442 1.382372 0.087522 0.893379 -0.050356 0.800441 -0.050934 1.224977 0.724031 1.793437 1.031051 0.628566 0.200527 1.931215 1.228105 1.043046 0.856098 0.884359 0.667113 1.148772 0.506576 0.784927 0.816254 1.304861 1.786988 1.852001 0.224722)
+     5.506117 #(0.000000 0.677676 1.291605 1.787569 0.657442 1.382372 0.087522 0.893379 -0.050356 0.800441 -0.050934 1.224977 0.724031 1.793437 1.031051 0.628566 0.200527 1.931215 1.228105 1.043046 0.856098 0.884359 0.667113 1.148772 0.506576 0.784927 0.816254 1.304861 1.786988 1.852001 0.224722)
 
      ;;; 30+1
      5.550882 #(0.000000 1.425022 0.538933 1.069581 -0.597930 0.307695 0.154011 0.587861 0.779449 0.144783 -0.543105 -0.308223 0.381009 0.256948 -0.103754 1.614961 0.898101 1.043268 1.242618 0.013120 0.441700 -0.261691 0.222365 -0.327392 0.395779 0.143572 0.965764 0.164756 0.636599 0.716823 0.000189)
      )
 
 ;;; 32 all -------------------------------------------------------------------------------- ; 5.65685
-(vector 32 6.4451498985291 (fv 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0)  
+(vector 32 6.4451498985291 #(0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0)  
 
-     5.525650 (fv 0.000000 -0.351133 1.293972 -0.243467 0.375774 0.341597 0.388720 0.121948 0.157486 1.353778 0.236182 0.278745 0.140738 1.315014 1.717753 1.193420 1.734782 1.635830 0.448546 0.657631 0.934238 0.325644 1.910640 1.330301 0.498135 1.394503 1.747576 0.388629 0.706077 0.075100 0.832948 -0.013902)
+     5.525650 #(0.000000 -0.351133 1.293972 -0.243467 0.375774 0.341597 0.388720 0.121948 0.157486 1.353778 0.236182 0.278745 0.140738 1.315014 1.717753 1.193420 1.734782 1.635830 0.448546 0.657631 0.934238 0.325644 1.910640 1.330301 0.498135 1.394503 1.747576 0.388629 0.706077 0.075100 0.832948 -0.013902)
 
      ;; pp:
-     5.604748 (fv 0.000000 0.799811 1.174111 -0.060224 0.824446 1.499635 0.054636 1.116026 0.103247 0.980855 0.143722 1.410098 0.567912 -0.275862 1.109567 0.582020 0.052513 1.796805 1.346558 0.470148 0.633702 0.311062 0.341355 0.120966 0.347342 -0.087220 -0.235617 0.166536 0.617003 0.982789 1.015963 1.699479)
+     5.604748 #(0.000000 0.799811 1.174111 -0.060224 0.824446 1.499635 0.054636 1.116026 0.103247 0.980855 0.143722 1.410098 0.567912 -0.275862 1.109567 0.582020 0.052513 1.796805 1.346558 0.470148 0.633702 0.311062 0.341355 0.120966 0.347342 -0.087220 -0.235617 0.166536 0.617003 0.982789 1.015963 1.699479)
      )
 
 ;;; 33 all -------------------------------------------------------------------------------- ; 5.74456
-(vector 33 6.5579299926758 (fv 0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0)
+(vector 33 6.5579299926758 #(0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0)
 
-     5.631190 (fv 0.000000 0.097616 0.529848 0.847242 0.662939 0.833596 1.914696 0.035703 0.153599 0.327398 1.407575 -0.021932 0.932495 1.243452 0.370234 0.653095 -0.062589 1.855791 0.441043 0.248847 0.782346 0.465080 -0.161731 0.929949 0.594824 1.321736 1.693332 1.192619 0.260596 1.271517 1.690356 1.109725 0.567421)
+     5.631190 #(0.000000 0.097616 0.529848 0.847242 0.662939 0.833596 1.914696 0.035703 0.153599 0.327398 1.407575 -0.021932 0.932495 1.243452 0.370234 0.653095 -0.062589 1.855791 0.441043 0.248847 0.782346 0.465080 -0.161731 0.929949 0.594824 1.321736 1.693332 1.192619 0.260596 1.271517 1.690356 1.109725 0.567421)
      5.610410 #(0.000000 0.121938 0.577637 0.964946 0.701543 0.945275 0.057342 0.144831 0.337733 0.549414 1.625058 0.265950 1.238074 1.576246 0.724815 0.984490 0.297228 0.251221 0.699155 0.548588 1.186306 0.951889 0.285802 1.345917 1.014217 1.823546 0.088927 1.726245 0.867511 1.795939 0.286630 1.739958 1.218430)
      5.608483 #(0.000000 0.127672 0.575757 0.971725 0.693309 0.950898 0.070948 0.160557 0.341181 0.560186 1.645087 0.281844 1.260852 1.598287 0.730804 1.014936 0.316122 0.275621 0.725241 0.597914 1.221833 0.996203 0.324966 1.372541 1.062261 1.875167 0.130133 1.748519 0.894847 1.849289 0.335743 1.776799 1.261232)
 
      ;; pp:
-     5.744046 (fv 0.000000 0.648617 1.091146 -0.080415 0.482263 1.100917 0.071191 1.062577 0.109918 0.836095 -0.052549 1.287445 0.382948 1.391104 0.926942 0.308725 1.631613 0.947331 0.900375 0.124874 0.064712 1.506574 1.488794 1.444593 1.476988 1.247778 1.089616 1.639634 -0.152998 -0.001330 0.434944 0.915078 0.903432)
+     5.744046 #(0.000000 0.648617 1.091146 -0.080415 0.482263 1.100917 0.071191 1.062577 0.109918 0.836095 -0.052549 1.287445 0.382948 1.391104 0.926942 0.308725 1.631613 0.947331 0.900375 0.124874 0.064712 1.506574 1.488794 1.444593 1.476988 1.247778 1.089616 1.639634 -0.152998 -0.001330 0.434944 0.915078 0.903432)
 
      ;; 32+1
-     5.661968 (fv 0.000000 -0.352238 1.421554 -0.062497 0.287660 0.210756 0.410931 0.134572 0.285343 1.484578 0.353937 0.356204 0.097780 1.509309 1.823077 1.336946 1.794210 1.915189 0.597192 0.803204 1.197066 0.523451 0.168550 1.601444 0.858978 1.682815 0.027376 0.555153 1.077928 0.275560 1.108578 0.224908 -0.307634)
+     5.661968 #(0.000000 -0.352238 1.421554 -0.062497 0.287660 0.210756 0.410931 0.134572 0.285343 1.484578 0.353937 0.356204 0.097780 1.509309 1.823077 1.336946 1.794210 1.915189 0.597192 0.803204 1.197066 0.523451 0.168550 1.601444 0.858978 1.682815 0.027376 0.555153 1.077928 0.275560 1.108578 0.224908 -0.307634)
      )
 
 ;;; 34 all -------------------------------------------------------------------------------- ; 5.8309518
-(vector 34 6.6782836914062 (fv 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 0 0 0)
+(vector 34 6.6782836914062 #(0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 0 0 0)
 
-     5.716435 (fv 0.000000 1.537850 0.239691 0.279680 1.093753 0.273847 0.872235 1.496985 1.522928 0.760723 1.655491 0.025814 1.234543 0.204722 1.320964 0.722548 0.795411 1.810303 1.109323 1.456118 1.072015 0.656715 1.724740 1.409441 -0.521616 1.350972 1.541354 1.489386 0.627886 0.677049 0.878489 -0.127150 -0.020441 0.557443)
+     5.716435 #(0.000000 1.537850 0.239691 0.279680 1.093753 0.273847 0.872235 1.496985 1.522928 0.760723 1.655491 0.025814 1.234543 0.204722 1.320964 0.722548 0.795411 1.810303 1.109323 1.456118 1.072015 0.656715 1.724740 1.409441 -0.521616 1.350972 1.541354 1.489386 0.627886 0.677049 0.878489 -0.127150 -0.020441 0.557443)
      5.715522 #(0.000000 1.535834 0.312631 0.280224 1.148017 0.182965 0.826725 1.571414 1.581831 0.887796 1.704031 0.067574 1.286355 0.321441 1.363349 0.812149 0.980936 1.891675 1.179822 1.532746 1.177536 0.667908 1.925108 1.578399 -0.430841 1.453028 1.642459 1.613448 0.724642 0.739942 1.051391 0.000286 0.024547 0.665325)
      5.715061 #(0.000000 1.557376 0.316186 0.303275 1.175381 0.206598 0.863890 1.615342 1.613470 0.958427 1.750728 0.111536 1.351364 0.386942 1.439281 0.903963 1.075401 -0.020759 1.279610 1.643520 1.269919 0.800947 0.050818 1.687932 -0.298939 1.577236 -0.205754 -0.244682 0.852707 0.888744 1.194917 0.175251 0.202437 0.844132)
 
      ;; pp:
-     5.801677 (fv 0.000000 0.960590 1.230620 -0.161839 0.543814 1.323075 0.313096 0.853533 -0.212153 1.135960 -0.100861 0.915755 0.332189 1.257774 0.850007 0.263168 1.528284 0.501744 0.475602 -0.081405 1.503307 1.166122 1.260528 0.746339 0.481380 0.722221 0.959406 1.108477 0.637618 0.962601 1.236659 1.273002 -0.011533 0.165609)
+     5.801677 #(0.000000 0.960590 1.230620 -0.161839 0.543814 1.323075 0.313096 0.853533 -0.212153 1.135960 -0.100861 0.915755 0.332189 1.257774 0.850007 0.263168 1.528284 0.501744 0.475602 -0.081405 1.503307 1.166122 1.260528 0.746339 0.481380 0.722221 0.959406 1.108477 0.637618 0.962601 1.236659 1.273002 -0.011533 0.165609)
      )
 
 ;;; 35 all -------------------------------------------------------------------------------- ; 5.9160
-(vector 35 6.7637429237366 (fv 0 1 1 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0)
+(vector 35 6.7637429237366 #(0 1 1 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0)
 
-     5.764294 (fv 0.000000 0.100183 1.398707 0.822554 1.459800 0.154045 1.619372 1.535907 1.542373 0.876004 1.322076 1.293113 1.412723 0.146555 1.058946 0.645359 1.390817 1.072269 0.132103 0.365169 1.845456 1.487696 0.791518 1.753949 0.991873 1.205376 0.200418 -0.166259 0.161894 -0.021712 0.362318 0.686081 1.632970 0.565468 0.901578)
+     5.764294 #(0.000000 0.100183 1.398707 0.822554 1.459800 0.154045 1.619372 1.535907 1.542373 0.876004 1.322076 1.293113 1.412723 0.146555 1.058946 0.645359 1.390817 1.072269 0.132103 0.365169 1.845456 1.487696 0.791518 1.753949 0.991873 1.205376 0.200418 -0.166259 0.161894 -0.021712 0.362318 0.686081 1.632970 0.565468 0.901578)
      5.761550 #(0.000000 0.109331 1.415904 0.863973 1.504657 0.200254 1.669142 1.598436 1.595369 0.964840 1.410141 1.378302 1.505772 0.261951 1.178950 0.757734 1.524984 1.223665 0.264922 0.531725 0.000853 1.660270 0.971853 -0.071328 1.201271 1.414050 0.409445 0.053601 0.377052 0.191601 0.609357 0.945758 -0.105595 0.829816 1.179558)
      
      ;; pp:
-     5.895826 (fv 0.000000 0.643741 1.250469 1.867865 0.530176 1.122535 0.024737 1.205120 0.194580 0.988315 1.702722 0.964190 0.348453 1.456006 0.520276 -0.302930 1.556990 0.638548 -0.211365 1.748454 1.424618 0.940371 0.466444 0.212559 0.146415 0.251126 0.228984 -0.138555 0.352126 0.459061 0.664909 1.353503 1.665947 1.723726 0.002732)
+     5.895826 #(0.000000 0.643741 1.250469 1.867865 0.530176 1.122535 0.024737 1.205120 0.194580 0.988315 1.702722 0.964190 0.348453 1.456006 0.520276 -0.302930 1.556990 0.638548 -0.211365 1.748454 1.424618 0.940371 0.466444 0.212559 0.146415 0.251126 0.228984 -0.138555 0.352126 0.459061 0.664909 1.353503 1.665947 1.723726 0.002732)
      )
 
 ;;; 36 all -------------------------------------------------------------------------------- ; 6
-(vector 36 6.8008880615234 (fv 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1)
+(vector 36 6.8008880615234 #(0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1)
 
-     5.926043 (fv 0.000000 1.020111 0.677817 0.140140 0.932921 0.775557 0.190635 1.853238 0.762697 0.237889 0.277245 0.161572 1.553054 0.008070 0.283378 1.674361 -0.347149 0.590912 0.944213 0.823255 0.043034 -0.091562 0.229555 1.352871 0.981843 0.171776 0.581947 0.691871 1.000348 0.829120 1.162722 1.690975 0.634924 1.730234 0.452876 1.429867)
+     5.926043 #(0.000000 1.020111 0.677817 0.140140 0.932921 0.775557 0.190635 1.853238 0.762697 0.237889 0.277245 0.161572 1.553054 0.008070 0.283378 1.674361 -0.347149 0.590912 0.944213 0.823255 0.043034 -0.091562 0.229555 1.352871 0.981843 0.171776 0.581947 0.691871 1.000348 0.829120 1.162722 1.690975 0.634924 1.730234 0.452876 1.429867)
 
      ;; pp:
-     5.876240 (fv 0.000000 0.880722 1.509714 0.204909 0.817303 1.618536 0.560409 1.279749 0.308262 -0.524358 0.395653 -0.826907 0.386964 -0.034537 1.535549 1.090154 0.375322 1.512598 1.132860 1.558960 0.892393 0.587406 0.099621 0.325394 -0.086852 -0.097620 -0.036583 0.411674 0.423371 -0.013442 0.469946 0.536299 1.271922 -0.393606 -0.170370 0.277903)
+     5.876240 #(0.000000 0.880722 1.509714 0.204909 0.817303 1.618536 0.560409 1.279749 0.308262 -0.524358 0.395653 -0.826907 0.386964 -0.034537 1.535549 1.090154 0.375322 1.512598 1.132860 1.558960 0.892393 0.587406 0.099621 0.325394 -0.086852 -0.097620 -0.036583 0.411674 0.423371 -0.013442 0.469946 0.536299 1.271922 -0.393606 -0.170370 0.277903)
      5.872670 #(0.000000 1.008642 1.468259 0.136066 0.832884 1.675080 0.561995 1.215779 0.176163 -0.645512 0.301135 -0.915574 0.346533 -0.147416 1.414097 1.167654 0.437921 1.345264 1.026772 1.438289 0.848806 0.422687 -0.153016 0.254467 -0.256778 -0.257882 -0.180820 0.369974 0.206740 -0.196159 0.361067 0.357334 1.155902 -0.541647 -0.334470 0.076521)
      5.871695 #(0.000000 0.976078 1.428851 0.077798 0.772784 1.602082 0.472100 1.111861 0.058266 -0.754466 0.191131 -1.049850 0.189192 -0.311703 1.251680 0.977617 0.232753 1.137715 0.806190 1.201023 0.616244 0.157943 -0.415443 -0.020130 -0.548605 -0.551223 -0.509170 0.040073 -0.121612 -0.560043 -0.007571 -0.025396 0.766768 -0.951503 -0.743309 -0.341165)
 
@@ -528,54 +526,54 @@
      )
 
 ;;; 37 all -------------------------------------------------------------------------------- ; 6.0827
-(vector 37 7.0251078605652 (fv 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0)
+(vector 37 7.0251078605652 #(0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0)
 
-     5.927989 (fv 0.000000 1.362671 1.825924 0.295316 1.739841 1.835463 1.048945 1.351967 0.301179 0.388225 1.780488 1.534131 0.435239 0.318363 -0.101295 0.220840 0.998360 1.646237 1.362259 0.730890 0.388056 1.327874 0.110340 1.924981 0.324484 0.429209 1.542714 0.665030 0.018148 0.321441 1.812097 0.446891 1.633693 1.056009 1.344989 1.426723 1.818561)
+     5.927989 #(0.000000 1.362671 1.825924 0.295316 1.739841 1.835463 1.048945 1.351967 0.301179 0.388225 1.780488 1.534131 0.435239 0.318363 -0.101295 0.220840 0.998360 1.646237 1.362259 0.730890 0.388056 1.327874 0.110340 1.924981 0.324484 0.429209 1.542714 0.665030 0.018148 0.321441 1.812097 0.446891 1.633693 1.056009 1.344989 1.426723 1.818561)
      5.918646 #(0.000000 1.276868 1.775826 0.292236 1.788221 1.829337 1.043839 1.351449 0.259082 0.375705 1.700935 1.487286 0.337951 0.306327 -0.126317 0.091444 0.949870 1.546870 1.374856 0.654967 0.351723 1.285561 0.074903 1.824326 0.227704 0.400930 1.466430 0.609151 0.009920 0.222861 1.672440 0.383746 1.542055 1.018281 1.254945 1.323042 1.739217)
      5.918139 #(0.000000 1.268085 1.769551 0.285066 1.784410 1.812873 1.034440 1.342674 0.256292 0.366678 1.679577 1.477236 0.317949 0.294007 -0.148484 0.067735 0.925643 1.526359 1.349946 0.624511 0.326721 1.258438 0.049695 1.798322 0.189031 0.360477 1.435009 0.581192 -0.024865 0.191624 1.638560 0.341145 1.503234 0.980493 1.208657 1.269237 1.688696)
 
      ;; pp:
-     5.974361 (fv 0.000000 0.722538 1.156373 1.818176 0.424359 1.001884 -0.224545 0.967675 0.089627 0.943734 -0.013572 0.947114 1.914887 1.102823 0.609766 -0.045075 0.989242 0.549752 1.615428 1.344389 0.949028 0.684491 0.483044 1.586745 1.704247 1.024089 1.360720 1.162825 1.209506 1.208578 0.870877 1.201701 1.782696 0.290706 0.253842 0.466340 0.855161)
+     5.974361 #(0.000000 0.722538 1.156373 1.818176 0.424359 1.001884 -0.224545 0.967675 0.089627 0.943734 -0.013572 0.947114 1.914887 1.102823 0.609766 -0.045075 0.989242 0.549752 1.615428 1.344389 0.949028 0.684491 0.483044 1.586745 1.704247 1.024089 1.360720 1.162825 1.209506 1.208578 0.870877 1.201701 1.782696 0.290706 0.253842 0.466340 0.855161)
      )
 
 ;;; 38 all -------------------------------------------------------------------------------- ; 6.1644
-(vector 38 7.0688242912292 (fv 0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0)
+(vector 38 7.0688242912292 #(0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0)
 
-     6.106333 (fv 0.000000 0.434523 1.232452 1.590516 0.836713 0.138216 -0.095509 1.537371 0.469612 0.772082 0.748819 1.723571 1.820323 0.854103 0.903800 0.048646 1.316356 0.369282 0.213334 0.798970 0.966914 1.376827 0.274641 1.618764 1.873131 -0.092091 -0.470518 1.150403 0.773945 1.198395 0.586433 1.306012 0.434228 0.963298 1.320012 1.145313 0.975992 1.528312)
+     6.106333 #(0.000000 0.434523 1.232452 1.590516 0.836713 0.138216 -0.095509 1.537371 0.469612 0.772082 0.748819 1.723571 1.820323 0.854103 0.903800 0.048646 1.316356 0.369282 0.213334 0.798970 0.966914 1.376827 0.274641 1.618764 1.873131 -0.092091 -0.470518 1.150403 0.773945 1.198395 0.586433 1.306012 0.434228 0.963298 1.320012 1.145313 0.975992 1.528312)
 
      ;; pp:
-     6.069129 (fv 0.000000 0.353204 1.147865 -0.165608 0.617213 1.415461 0.231168 1.083939 0.117365 0.131316 1.707213 1.274701 0.816253 0.960543 -0.063212 0.270965 1.418066 0.902830 1.619238 0.591718 0.977208 0.940720 1.787513 0.746703 0.165197 1.177699 0.830675 1.652814 1.371740 1.118022 1.133381 1.232097 1.370669 1.218425 0.194971 -0.026100 0.615354 0.750336)
+     6.069129 #(0.000000 0.353204 1.147865 -0.165608 0.617213 1.415461 0.231168 1.083939 0.117365 0.131316 1.707213 1.274701 0.816253 0.960543 -0.063212 0.270965 1.418066 0.902830 1.619238 0.591718 0.977208 0.940720 1.787513 0.746703 0.165197 1.177699 0.830675 1.652814 1.371740 1.118022 1.133381 1.232097 1.370669 1.218425 0.194971 -0.026100 0.615354 0.750336)
 
      ;; 37+1
-     6.055823 (fv 0.000000 1.140317 1.804958 0.269386 1.581973 1.647143 0.908514 1.357676 0.255360 0.413319 1.759464 1.403831 0.462290 0.275768 -0.260643 0.081477 0.945988 1.674168 1.558839 0.619719 0.448569 1.181188 0.261467 0.173066 0.317765 0.523175 1.483135 0.623965 0.065573 0.279749 1.647027 0.558187 1.546480 1.177439 1.567967 1.574734 1.849511 0.049835)
+     6.055823 #(0.000000 1.140317 1.804958 0.269386 1.581973 1.647143 0.908514 1.357676 0.255360 0.413319 1.759464 1.403831 0.462290 0.275768 -0.260643 0.081477 0.945988 1.674168 1.558839 0.619719 0.448569 1.181188 0.261467 0.173066 0.317765 0.523175 1.483135 0.623965 0.065573 0.279749 1.647027 0.558187 1.546480 1.177439 1.567967 1.574734 1.849511 0.049835)
      )
 
 ;;; 39 all -------------------------------------------------------------------------------- ; 6.2449
-(vector 39 7.1506487936623 (fv 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1)
+(vector 39 7.1506487936623 #(0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1)
 
-     6.123916 (fv 0.000000 0.040215 0.172894 1.637830 1.177239 0.763654 -0.119272 0.532576 0.565933 -0.105342 -0.131500 0.223610 0.603849 1.034619 1.719874 1.942807 1.262885 -0.012239 1.521972 1.205939 0.909582 1.593149 1.660841 1.495691 0.901808 0.173365 0.594080 1.535985 0.099680 1.416781 0.772460 -0.143795 1.283054 1.611294 1.560252 0.291114 1.497861 0.152708 0.428638)
+     6.123916 #(0.000000 0.040215 0.172894 1.637830 1.177239 0.763654 -0.119272 0.532576 0.565933 -0.105342 -0.131500 0.223610 0.603849 1.034619 1.719874 1.942807 1.262885 -0.012239 1.521972 1.205939 0.909582 1.593149 1.660841 1.495691 0.901808 0.173365 0.594080 1.535985 0.099680 1.416781 0.772460 -0.143795 1.283054 1.611294 1.560252 0.291114 1.497861 0.152708 0.428638)
      6.123617 #(0.000000 0.022194 0.139382 1.578109 1.109939 0.686598 -0.209261 0.437705 0.449420 -0.232701 -0.273875 0.070822 0.433690 0.853619 1.527629 -0.258054 1.050086 -0.235174 1.275677 0.950078 0.647199 1.303772 1.358361 1.189190 0.591278 -0.165906 0.244128 1.187114 -0.273717 1.031390 0.371517 -0.540240 0.858520 1.177992 1.114387 -0.172733 1.027118 -0.340480 -0.076231)
 
      ;; pp:
-     6.206556 (fv 0.000000 0.714125 0.999676 1.714571 0.529099 1.103279 1.739177 0.796762 1.681925 0.899057 1.703669 0.970830 1.925662 0.861561 -0.048288 1.636413 0.684994 0.118298 1.376444 0.590000 0.292657 1.963808 1.418598 1.344996 0.647105 0.610362 0.012866 0.209613 -0.013687 0.186819 0.011104 -0.022072 0.158390 0.584179 1.099029 1.037543 1.650004 1.749468 0.443068)
+     6.206556 #(0.000000 0.714125 0.999676 1.714571 0.529099 1.103279 1.739177 0.796762 1.681925 0.899057 1.703669 0.970830 1.925662 0.861561 -0.048288 1.636413 0.684994 0.118298 1.376444 0.590000 0.292657 1.963808 1.418598 1.344996 0.647105 0.610362 0.012866 0.209613 -0.013687 0.186819 0.011104 -0.022072 0.158390 0.584179 1.099029 1.037543 1.650004 1.749468 0.443068)
      )
 
 ;;; 40 all -------------------------------------------------------------------------------- ; 6.3245
-(vector 40 7.3913831710815 (fv 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0)
+(vector 40 7.3913831710815 #(0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0)
 
-     6.288342 (fv 0.000000 1.454424 1.336242 0.229719 0.982419 1.371484 1.659070 1.721074 -0.039860 0.456961 0.523564 1.259764 0.318922 0.087125 -0.000634 1.738216 -0.345360 -0.093074 0.023146 0.160891 -0.147874 1.232278 0.789559 0.888228 0.482450 1.447335 0.166012 1.058063 1.516605 1.834071 1.250289 0.562291 1.417730 1.678824 0.619402 -0.109426 1.547164 0.339656 1.224949 0.726676)
+     6.288342 #(0.000000 1.454424 1.336242 0.229719 0.982419 1.371484 1.659070 1.721074 -0.039860 0.456961 0.523564 1.259764 0.318922 0.087125 -0.000634 1.738216 -0.345360 -0.093074 0.023146 0.160891 -0.147874 1.232278 0.789559 0.888228 0.482450 1.447335 0.166012 1.058063 1.516605 1.834071 1.250289 0.562291 1.417730 1.678824 0.619402 -0.109426 1.547164 0.339656 1.224949 0.726676)
 
      ;; pp.scm using (+ pi (/ pi 40)) and (- (/ pi 2)) 
-     6.236401 (fv 0.000000 0.772219 1.201231 0.091963 0.183059 1.041989 1.811758 0.387321 1.330915 0.336134 1.429758 0.457811 -0.040075 1.279315 -0.162113 0.993833 0.310259 1.390530 1.133639 0.515117 -0.283405 1.239507 1.056859 0.563309 0.888313 0.077823 -0.241421 1.625166 1.389376 1.528163 1.539643 1.801710 1.314626 1.482031 0.189224 0.088532 0.546429 0.832570 1.329921 1.394636)
+     6.236401 #(0.000000 0.772219 1.201231 0.091963 0.183059 1.041989 1.811758 0.387321 1.330915 0.336134 1.429758 0.457811 -0.040075 1.279315 -0.162113 0.993833 0.310259 1.390530 1.133639 0.515117 -0.283405 1.239507 1.056859 0.563309 0.888313 0.077823 -0.241421 1.625166 1.389376 1.528163 1.539643 1.801710 1.314626 1.482031 0.189224 0.088532 0.546429 0.832570 1.329921 1.394636)
 
      ;; 39+1
      6.223875 #(0.000000 0.017488 0.395122 1.676489 1.264189 0.771372 -0.011418 0.532062 0.348765 -0.291944 -0.034478 0.399358 0.691637 1.117218 1.716574 0.114046 1.298557 0.074462 1.617194 1.080550 1.108787 1.427161 1.645893 1.492515 0.908836 0.183198 0.586816 1.733289 0.192174 1.419647 0.686684 -0.174875 1.274049 1.555620 1.606137 0.123322 1.462205 0.157438 0.491542 -0.249961)
      )
 
 ;;; 41 all -------------------------------------------------------------------------------- ; 6.4031
-(vector 41 7.4106826782227 (fv 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1)
+(vector 41 7.4106826782227 #(0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1)
 
-	6.328763 (fv 0.000000 1.142395 1.764533 -0.297234 1.214342 1.074168 0.499096 0.455971 1.425043 1.900660 0.405160 0.299024 -1.901144 1.886599 1.644748 1.176229 0.661037 1.678309 0.464540 0.540147 1.345672 0.396385 -0.079815 0.750463 0.469580 0.512532 0.818295 0.900948 1.176821 -0.024695 0.941067 1.661160 0.722192 0.141569 0.127463 0.210921 0.877068 0.077777 1.493046 0.191845 0.414613)
+	6.328763 #(0.000000 1.142395 1.764533 -0.297234 1.214342 1.074168 0.499096 0.455971 1.425043 1.900660 0.405160 0.299024 -1.901144 1.886599 1.644748 1.176229 0.661037 1.678309 0.464540 0.540147 1.345672 0.396385 -0.079815 0.750463 0.469580 0.512532 0.818295 0.900948 1.176821 -0.024695 0.941067 1.661160 0.722192 0.141569 0.127463 0.210921 0.877068 0.077777 1.493046 0.191845 0.414613)
 	6.279752 #(0.000000 1.039440 1.670537 -0.269122 1.058663 1.073053 0.461356 0.338125 1.379608 1.686032 0.168477 0.220127 -0.046702 -0.025677 1.700045 1.127479 0.601951 1.764849 0.395397 0.778987 1.079511 0.525179 -0.400733 0.741798 0.221415 0.104621 0.721445 0.669340 0.961099 -0.201573 0.643173 1.703776 0.553797 -0.208803 -0.109492 0.033494 0.694117 0.116494 1.191608 0.020301 0.131256)
 	6.278483 #(0.000000 1.038469 1.689102 -0.246889 1.070891 1.081477 0.456681 0.352855 1.380232 1.717208 0.185595 0.242413 -0.037760 -0.028341 1.684169 1.135689 0.606635 1.756147 0.422850 0.765104 1.090059 0.552553 -0.368817 0.733599 0.247441 0.131196 0.725118 0.703272 0.972734 -0.170957 0.673987 1.704514 0.578697 -0.183550 -0.096757 0.046184 0.705164 0.130867 1.217191 0.056397 0.199710)
 
@@ -584,21 +582,21 @@
      )
 
 ;;; 42 all -------------------------------------------------------------------------------- ; 6.4807
-(vector 42 7.6252284049988 (fv 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0)
+(vector 42 7.6252284049988 #(0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0)
 
-     6.458009 (fv 0.000000 1.779914 1.358689 1.879744 1.431714 1.455314 0.050417 0.106324 1.650278 0.287736 1.685176 1.015814 0.661574 0.193645 0.754970 0.912901 1.865274 -0.192264 1.123351 1.730828 0.304030 1.844656 1.379904 1.178786 0.508869 0.433728 0.920606 1.193377 1.562403 0.705424 1.521220 0.671316 1.715032 0.818246 0.696173 0.646766 1.054986 -0.067193 0.041834 0.484025 0.025667 0.817193)
+     6.458009 #(0.000000 1.779914 1.358689 1.879744 1.431714 1.455314 0.050417 0.106324 1.650278 0.287736 1.685176 1.015814 0.661574 0.193645 0.754970 0.912901 1.865274 -0.192264 1.123351 1.730828 0.304030 1.844656 1.379904 1.178786 0.508869 0.433728 0.920606 1.193377 1.562403 0.705424 1.521220 0.671316 1.715032 0.818246 0.696173 0.646766 1.054986 -0.067193 0.041834 0.484025 0.025667 0.817193)
 
      ;; pp:
-     6.432404 (fv 0.000000 0.970539 1.075055 0.363395 0.562687 1.503003 0.305818 1.159109 -0.331893 0.844703 -0.625323 0.633095 -0.150641 1.248856 0.138597 1.484859 0.287309 -0.516557 0.004989 0.635673 0.412760 0.072104 -0.034630 0.781885 1.052252 0.670637 0.477407 0.370916 -0.497791 0.214269 0.268953 -0.018432 0.090095 0.191222 0.329896 1.234637 1.181873 1.460275 -0.201010 0.565027 0.336488 1.227322)
+     6.432404 #(0.000000 0.970539 1.075055 0.363395 0.562687 1.503003 0.305818 1.159109 -0.331893 0.844703 -0.625323 0.633095 -0.150641 1.248856 0.138597 1.484859 0.287309 -0.516557 0.004989 0.635673 0.412760 0.072104 -0.034630 0.781885 1.052252 0.670637 0.477407 0.370916 -0.497791 0.214269 0.268953 -0.018432 0.090095 0.191222 0.329896 1.234637 1.181873 1.460275 -0.201010 0.565027 0.336488 1.227322)
 
      ;; 41+1
      6.374134 #(0.000000 1.160594 -0.035009 -0.337995 1.287896 1.152937 0.370349 0.599654 1.434075 0.331903 0.337639 0.227520 0.031784 0.056373 1.754183 1.233325 0.766762 -0.105337 0.381752 0.608417 1.177813 0.853286 -0.000702 0.980553 0.580193 0.503346 0.721433 1.102554 1.338903 -0.104016 1.021288 -0.193635 0.638903 0.186655 0.282480 0.311801 1.029234 0.514030 1.400087 0.298091 0.559980 -0.413468)
      )
 
 ;;; 43 all -------------------------------------------------------------------------------- ; 6.5574
-(vector 43 7.6619415283203 (fv 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1)
+(vector 43 7.6619415283203 #(0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1)
 
-	6.474636 (fv 0.000000 1.150199 1.694193 1.156056 0.712558 0.642330 1.062359 0.333465 0.208319 1.376434 0.672147 0.421707 0.175691 0.110131 0.012554 0.457050 1.790874 1.449901 0.302494 0.007271 0.824529 0.122259 0.582806 0.097251 0.623774 0.359297 1.299289 0.938333 1.768060 0.180654 1.104716 1.340371 1.395970 0.480619 1.800871 0.228016 0.933560 0.262964 0.673103 1.298731 1.471774 -0.223423 0.770589)
+	6.474636 #(0.000000 1.150199 1.694193 1.156056 0.712558 0.642330 1.062359 0.333465 0.208319 1.376434 0.672147 0.421707 0.175691 0.110131 0.012554 0.457050 1.790874 1.449901 0.302494 0.007271 0.824529 0.122259 0.582806 0.097251 0.623774 0.359297 1.299289 0.938333 1.768060 0.180654 1.104716 1.340371 1.395970 0.480619 1.800871 0.228016 0.933560 0.262964 0.673103 1.298731 1.471774 -0.223423 0.770589)
 
 	;; 42+1
 	6.484540 #(0.000000 0.799805 0.296138 -0.181661 1.243255 0.972255 0.211011 0.157981 1.334009 0.607658 0.666111 0.172358 0.489130 0.433262 0.074913 -0.108461 0.327642 -0.177912 0.391650 0.361860 1.366441 1.197611 0.114750 0.879694 0.781347 0.470866 0.964657 1.349973 1.443504 0.050313 1.040919 -0.331503 1.092413 0.101381 0.547246 0.325671 1.577550 0.316146 1.327141 0.900920 0.939639 -0.347989 0.327657)
@@ -606,18 +604,18 @@
 
 
 ;;; 44 all -------------------------------------------------------------------------------- ; 6.6332
-(vector 44 7.9767818450928 (fv 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1)
+(vector 44 7.9767818450928 #(0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1)
 
-	6.544063 (fv 0.000000 0.521564 0.221232 0.526957 -0.268317 1.919404 -0.035203 -0.157289 0.069290 1.705251 1.788014 0.459816 0.274398 0.505529 1.163758 0.357930 -1.720040 0.469129 0.146265 1.215606 1.405712 0.742844 1.668145 1.402279 0.067840 0.255308 0.567789 0.756058 -0.027555 1.587315 0.915687 1.314433 0.227656 0.688969 1.566702 0.434208 -0.041884 1.283408 0.878206 0.471503 1.018383 0.062893 1.376612 0.157588)
+	6.544063 #(0.000000 0.521564 0.221232 0.526957 -0.268317 1.919404 -0.035203 -0.157289 0.069290 1.705251 1.788014 0.459816 0.274398 0.505529 1.163758 0.357930 -1.720040 0.469129 0.146265 1.215606 1.405712 0.742844 1.668145 1.402279 0.067840 0.255308 0.567789 0.756058 -0.027555 1.587315 0.915687 1.314433 0.227656 0.688969 1.566702 0.434208 -0.041884 1.283408 0.878206 0.471503 1.018383 0.062893 1.376612 0.157588)
 	
 	;; 43+1
 	6.617718 #(0.000000 0.929303 0.214195 -0.305607 1.575411 0.960005 0.543631 0.816651 1.159803 0.112080 0.077010 0.590695 -0.040249 -0.288217 1.448848 1.235788 0.754544 -0.407692 0.476307 0.769330 1.241658 1.259441 0.282090 0.960527 0.572071 0.268642 0.862727 -0.063301 1.181813 0.657762 0.694907 0.056205 0.912295 0.475141 0.694152 0.927496 1.094556 1.105653 1.775202 -0.143116 1.075592 -0.229850 0.469130 -0.375239)
      )
 
 ;;; 45 all -------------------------------------------------------------------------------- ; 6.7082
-(vector 45 8.1777801513672 (fv 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 1)
+(vector 45 8.1777801513672 #(0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 1)
 
-	6.629206 (fv 0.000000 0.961180 -0.043617 -0.239190 1.278111 0.166389 0.542833 0.768578 1.444629 -0.095831 1.211952 -0.026602 1.739185 0.951577 1.809231 0.253449 0.320575 0.356270 1.309005 0.639731 1.394153 0.026971 -0.051944 0.744827 0.030297 -0.420287 0.144422 1.021322 1.302658 0.297709 -0.048481 -0.152658 1.144902 1.677136 1.170155 1.132592 1.153458 -0.076024 1.369092 1.009916 0.503324 -0.247395 0.103592 1.569752 0.081999)
+	6.629206 #(0.000000 0.961180 -0.043617 -0.239190 1.278111 0.166389 0.542833 0.768578 1.444629 -0.095831 1.211952 -0.026602 1.739185 0.951577 1.809231 0.253449 0.320575 0.356270 1.309005 0.639731 1.394153 0.026971 -0.051944 0.744827 0.030297 -0.420287 0.144422 1.021322 1.302658 0.297709 -0.048481 -0.152658 1.144902 1.677136 1.170155 1.132592 1.153458 -0.076024 1.369092 1.009916 0.503324 -0.247395 0.103592 1.569752 0.081999)
 	6.624045 #(0.000000 1.027137 -0.006949 -0.241567 1.292392 0.249243 0.688163 0.937733 1.490593 0.055551 1.221039 0.178575 1.739730 1.011821 -0.089036 0.442654 0.375914 0.532475 1.410268 0.844396 1.467724 0.085993 0.105745 0.803510 0.299479 -0.089745 0.369095 1.074672 1.565553 0.558935 0.123221 0.059937 1.431538 -0.190214 1.489626 1.543857 1.489693 0.130690 1.680298 1.260465 0.724859 0.164445 0.433945 -0.212764 0.411030)
 	6.612690 #(0.000000 0.809914 0.760766 -0.199070 0.584393 1.010129 -0.444768 -0.272636 0.950655 0.770420 -0.288810 0.049214 -1.454088 0.191424 -1.076560 -0.306479 -0.326951 -1.245176 0.685415 0.506132 0.101749 0.628099 0.641810 0.560186 1.064779 -0.804404 -0.612448 0.708592 1.898500 0.642577 0.682702 -0.598959 -1.216733 -1.420060 0.084743 0.265460 1.286043 0.185429 1.160604 0.022683 -0.437513 0.122344 -0.218434 -0.653674 -1.002688)
 
@@ -626,27 +624,27 @@
      )
 
 ;;; 46 all -------------------------------------------------------------------------------- ; 6.7823
-(vector 46 8.22203540802 (fv 0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0)
+(vector 46 8.22203540802 #(0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0)
 
-     6.691037 (fv 0.000000 1.445996 1.082935 1.926602 0.599270 0.110590 0.061353 0.197460 1.126524 0.801213 0.136799 1.544533 0.424316 0.988423 1.042912 0.904549 0.394264 1.877367 1.781398 0.106378 0.814176 1.462479 1.299353 0.505357 0.691608 0.079788 0.741755 1.296349 0.923407 1.954315 1.519832 1.193777 1.868646 1.501978 -0.016089 0.928107 1.377054 1.114171 1.348483 1.466927 0.885968 1.244812 -0.112245 0.649026 0.159882 0.999017)
+     6.691037 #(0.000000 1.445996 1.082935 1.926602 0.599270 0.110590 0.061353 0.197460 1.126524 0.801213 0.136799 1.544533 0.424316 0.988423 1.042912 0.904549 0.394264 1.877367 1.781398 0.106378 0.814176 1.462479 1.299353 0.505357 0.691608 0.079788 0.741755 1.296349 0.923407 1.954315 1.519832 1.193777 1.868646 1.501978 -0.016089 0.928107 1.377054 1.114171 1.348483 1.466927 0.885968 1.244812 -0.112245 0.649026 0.159882 0.999017)
 
      ;; 45+1
      6.737496 #(0.000000 0.891082 0.437629 -0.631499 1.355029 0.088312 0.525030 0.893686 1.472031 -0.146846 0.973741 0.114371 1.794819 1.120888 1.803610 0.267646 0.313821 0.176598 1.483030 0.561548 1.444435 0.111178 -0.116383 0.572485 0.384889 -0.539242 -0.000026 1.504176 1.488659 0.718239 -0.059775 0.251172 1.363526 1.830593 1.709614 1.067908 1.076519 0.522533 1.398513 0.992929 0.954368 -0.123192 0.213695 1.865385 0.089802 -0.018905)
      )
 
 ;;; 47 all -------------------------------------------------------------------------------- ; 6.8556
-(vector 47 8.3221893310547 (fv 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0)
+(vector 47 8.3221893310547 #(0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0)
 
-     6.827640 (fv 0.000000 1.713417 0.880595 0.228916 0.656232 0.000986 0.228917 -0.027955 1.208960 0.359921 0.457263 0.229897 0.942770 1.345553 -0.054940 0.652154 0.967593 1.474188 0.749564 1.214391 0.623653 1.483712 1.914097 -0.195445 1.486123 0.775521 1.114155 1.267810 1.798008 0.660315 0.102413 1.302210 1.004781 1.037205 1.145399 0.299807 1.478644 1.078433 0.364686 1.769537 0.263449 0.339932 0.328599 1.167886 1.782492 1.089675 1.333666)
+     6.827640 #(0.000000 1.713417 0.880595 0.228916 0.656232 0.000986 0.228917 -0.027955 1.208960 0.359921 0.457263 0.229897 0.942770 1.345553 -0.054940 0.652154 0.967593 1.474188 0.749564 1.214391 0.623653 1.483712 1.914097 -0.195445 1.486123 0.775521 1.114155 1.267810 1.798008 0.660315 0.102413 1.302210 1.004781 1.037205 1.145399 0.299807 1.478644 1.078433 0.364686 1.769537 0.263449 0.339932 0.328599 1.167886 1.782492 1.089675 1.333666)
 
      ;; pp.scm
-     6.756605 (fv 0.000000 0.765562 1.030062 1.788209 0.493707 1.020553 1.799942 0.685170 1.481088 0.566613 1.302518 0.066670 1.157386 0.282906 1.328526 0.161298 1.388649 0.879050 1.843229 1.039366 0.409576 -0.055025 1.222366 0.535280 0.169247 1.679128 1.342099 0.894436 0.643082 0.345708 0.301808 -0.401334 0.022950 1.550170 1.565812 1.633017 1.764984 1.880338 1.607034 1.569498 0.111731 0.416082 0.781558 0.894597 1.438223 1.659212 0.166997)
+     6.756605 #(0.000000 0.765562 1.030062 1.788209 0.493707 1.020553 1.799942 0.685170 1.481088 0.566613 1.302518 0.066670 1.157386 0.282906 1.328526 0.161298 1.388649 0.879050 1.843229 1.039366 0.409576 -0.055025 1.222366 0.535280 0.169247 1.679128 1.342099 0.894436 0.643082 0.345708 0.301808 -0.401334 0.022950 1.550170 1.565812 1.633017 1.764984 1.880338 1.607034 1.569498 0.111731 0.416082 0.781558 0.894597 1.438223 1.659212 0.166997)
      )
 
 ;;; 48 all -------------------------------------------------------------------------------- ; 6.9282
-(vector 48 8.4671268463135 (fv 0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1)
+(vector 48 8.4671268463135 #(0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1)
 
-	6.861797 (fv 0.000000 0.598880 1.244788 1.029903 1.049082 0.596958 1.659653 1.333585 0.658254 1.786003 1.335584 0.009329 0.382880 1.914281 0.167535 0.198984 1.572176 1.516863 0.640701 0.516067 0.942009 -0.405338 1.601326 0.836539 0.796978 0.739838 0.171913 0.969497 0.363583 0.469203 1.258504 0.656687 1.162915 0.889585 1.702682 0.725369 0.456133 0.349105 0.208023 0.802519 1.129136 1.479603 0.312580 1.579555 0.353334 0.757965 1.599847 0.626811)
+	6.861797 #(0.000000 0.598880 1.244788 1.029903 1.049082 0.596958 1.659653 1.333585 0.658254 1.786003 1.335584 0.009329 0.382880 1.914281 0.167535 0.198984 1.572176 1.516863 0.640701 0.516067 0.942009 -0.405338 1.601326 0.836539 0.796978 0.739838 0.171913 0.969497 0.363583 0.469203 1.258504 0.656687 1.162915 0.889585 1.702682 0.725369 0.456133 0.349105 0.208023 0.802519 1.129136 1.479603 0.312580 1.579555 0.353334 0.757965 1.599847 0.626811)
 
 	;; 47+1
 	6.892392 #(0.000000 0.688844 1.275690 -0.029196 0.666687 1.219038 1.796126 0.686703 1.387045 0.299015 1.486000 0.217586 1.168099 0.122356 1.320410 0.506266 1.401144 0.705689 0.099274 1.001293 0.250881 -0.338513 1.011906 0.589633 -0.026149 1.658621 0.999181 0.670111 0.425438 0.181969 0.283085 -0.428382 -0.237009 1.436619 1.467751 1.345785 1.658556 -0.130875 1.611827 1.446511 -0.136029 0.162128 0.614874 0.798756 1.306679 1.726452 0.077838 -0.060906)
@@ -656,9 +654,9 @@
      )
 
 ;;; 49 all -------------------------------------------------------------------------------- ; 7
-(vector 49 8.5157623291016 (fv 0 1 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0)
+(vector 49 8.5157623291016 #(0 1 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0)
 
-	6.911687 (fv 0.000000 1.423917 -0.117078 -0.215912 1.065526 1.018507 0.645263 1.632151 0.540556 0.415851 1.870183 1.161732 0.983376 1.723916 0.372700 0.063452 0.534166 1.512588 1.454603 0.719318 0.962295 1.537720 1.562020 1.433858 0.930756 1.181983 1.504188 -0.167777 1.662278 0.680834 0.246207 0.675469 0.268474 1.089455 0.369548 -0.146942 -0.055836 1.091821 1.976652 0.486415 1.202030 0.175707 0.854435 0.506884 1.646470 0.139127 0.235704 1.857608 0.297006)
+	6.911687 #(0.000000 1.423917 -0.117078 -0.215912 1.065526 1.018507 0.645263 1.632151 0.540556 0.415851 1.870183 1.161732 0.983376 1.723916 0.372700 0.063452 0.534166 1.512588 1.454603 0.719318 0.962295 1.537720 1.562020 1.433858 0.930756 1.181983 1.504188 -0.167777 1.662278 0.680834 0.246207 0.675469 0.268474 1.089455 0.369548 -0.146942 -0.055836 1.091821 1.976652 0.486415 1.202030 0.175707 0.854435 0.506884 1.646470 0.139127 0.235704 1.857608 0.297006)
 
 	;; 50-1
 	6.874368 #(0.000000 1.204417 0.954334 -0.405108 0.059322 1.004871 -0.307909 0.766418 1.079079 0.002645 1.437193 0.338324 0.101886 -0.559571 1.466710 1.621612 0.973989 1.377429 0.337678 1.035741 0.679343 0.146983 1.275159 -0.370675 -0.331425 0.304277 -0.450477 1.075881 -0.790453 -0.423723 -0.417480 0.648387 -0.501882 -0.980950 -0.159587 0.593728 -0.757113 1.129266 0.980355 0.172786 -0.231542 -0.093435 -0.126900 0.604505 0.503262 0.476708 0.056575 0.183795 0.839623)
@@ -666,9 +664,9 @@
      )
 
 ;;; 50 all -------------------------------------------------------------------------------- ; 7.071
-(vector 50 8.7809114456177 (fv 0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 1)
+(vector 50 8.7809114456177 #(0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 1)
 
-	7.001572 (fv 0.000000 1.510483 0.569660 1.177547 -0.063746 1.651491 0.398933 1.945813 1.189455 0.886784 0.877834 1.209513 -0.281791 0.817195 0.562593 1.509576 -0.448618 -0.075249 1.004074 1.022851 1.197099 0.475529 0.725043 0.148549 0.625214 0.676229 0.641014 0.276388 1.297552 1.512294 0.880442 -0.093329 0.470630 1.205879 -0.595773 0.927383 1.198964 0.435022 1.291534 0.884451 -0.190056 1.483748 1.136079 1.665203 0.167401 0.524695 0.182147 -0.336866 0.803181 1.503900)
+	7.001572 #(0.000000 1.510483 0.569660 1.177547 -0.063746 1.651491 0.398933 1.945813 1.189455 0.886784 0.877834 1.209513 -0.281791 0.817195 0.562593 1.509576 -0.448618 -0.075249 1.004074 1.022851 1.197099 0.475529 0.725043 0.148549 0.625214 0.676229 0.641014 0.276388 1.297552 1.512294 0.880442 -0.093329 0.470630 1.205879 -0.595773 0.927383 1.198964 0.435022 1.291534 0.884451 -0.190056 1.483748 1.136079 1.665203 0.167401 0.524695 0.182147 -0.336866 0.803181 1.503900)
 
 	;; 49+1
 	7.064944 #(0.000000 1.558009 -0.108565 -0.226913 0.920197 1.180894 0.537671 1.554384 0.613756 0.458358 0.091191 1.387557 0.869986 1.858139 0.547904 0.135691 0.583740 1.710905 1.421339 0.744505 1.032127 1.414994 1.701011 1.686329 0.940524 1.064348 1.388446 -0.279583 1.723434 0.898036 0.320378 0.547937 0.335420 1.264319 0.407052 0.022184 -0.017105 0.905945 1.912730 0.523724 1.239641 0.158867 0.840449 0.693502 1.785642 0.002311 0.342012 1.897108 0.429747 0.359280)
@@ -679,17 +677,17 @@
      )
 
 ;;; 51 all -------------------------------------------------------------------------------- ; 7.141
-(vector 51 8.8213935921978 (fv 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1)
+(vector 51 8.8213935921978 #(0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1)
 
-     7.062061 (fv 0.000000 1.277482 1.272374 1.604932 -0.114681 1.091849 -0.113655 0.581995 0.517152 0.112646 1.392203 0.473053 0.525951 1.781540 1.014930 1.311666 0.597941 1.173291 0.649975 0.688396 0.657382 0.570575 1.699334 1.669408 1.662666 -0.233111 0.196711 0.718758 -0.174442 0.105462 -0.039308 0.924279 1.329687 1.401301 1.538357 0.347724 -0.110320 1.449195 1.223831 0.349599 1.470761 0.191238 1.885833 0.819453 0.145490 0.967802 0.015777 -0.014902 1.276127 1.513254 0.227467)
+     7.062061 #(0.000000 1.277482 1.272374 1.604932 -0.114681 1.091849 -0.113655 0.581995 0.517152 0.112646 1.392203 0.473053 0.525951 1.781540 1.014930 1.311666 0.597941 1.173291 0.649975 0.688396 0.657382 0.570575 1.699334 1.669408 1.662666 -0.233111 0.196711 0.718758 -0.174442 0.105462 -0.039308 0.924279 1.329687 1.401301 1.538357 0.347724 -0.110320 1.449195 1.223831 0.349599 1.470761 0.191238 1.885833 0.819453 0.145490 0.967802 0.015777 -0.014902 1.276127 1.513254 0.227467)
      6.975170 #(0.000000 1.372924 1.059217 -0.645861 1.097945 1.058807 0.153152 0.527074 0.651159 0.424719 0.459322 0.332180 0.264613 -0.372847 0.683198 1.120562 0.213922 0.685600 0.345552 0.459914 1.129925 0.756644 0.458857 -0.052979 1.594004 -0.921247 0.485511 1.115573 -0.083642 0.773245 0.508692 1.481091 0.025171 1.228864 1.684948 0.240036 0.474172 0.435815 1.326902 1.195703 -0.007047 1.017216 0.874417 1.846797 0.909867 1.892877 1.240478 -0.484663 1.778802 -0.122729 0.589405)
      6.971782 #(0.000000 1.381134 1.053573 -0.642284 1.106927 1.065731 0.156795 0.531640 0.658480 0.423307 0.458153 0.332929 0.258309 -0.378345 0.690163 1.115051 0.213852 0.690863 0.353610 0.459744 1.132735 0.758828 0.447315 -0.071617 1.577100 -0.919334 0.495653 1.111932 -0.086022 0.770249 0.516654 1.486418 0.018200 1.218929 1.677748 0.244186 0.465632 0.411266 1.326302 1.201131 -0.010901 1.028025 0.862583 1.846154 0.922121 1.887046 1.218211 -0.479984 1.767657 -0.113149 0.573554)
      )
 
 ;;; 52 all -------------------------------------------------------------------------------- ; 7.211
-(vector 52 8.9920463562012 (fv 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0)
+(vector 52 8.9920463562012 #(0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0)
 
- 	7.134954 (fv 0.000000 0.621560 1.464578 1.482376 0.135707 1.345519 0.584967 0.540885 1.784345 0.393329 1.745283 0.530433 1.414971 1.247472 1.329889 0.999552 0.933504 1.580199 0.519254 0.315472 0.473007 1.123477 -0.056053 0.241576 0.391709 1.244898 1.883529 1.120931 1.698334 -0.149261 0.218191 1.134898 0.533381 1.222211 0.249553 -0.114715 1.262472 0.846800 0.877356 0.688478 0.673983 1.103698 1.385836 1.036560 1.331275 0.414915 1.604362 0.874160 0.543444 1.406115 1.239524 0.816202)
+ 	7.134954 #(0.000000 0.621560 1.464578 1.482376 0.135707 1.345519 0.584967 0.540885 1.784345 0.393329 1.745283 0.530433 1.414971 1.247472 1.329889 0.999552 0.933504 1.580199 0.519254 0.315472 0.473007 1.123477 -0.056053 0.241576 0.391709 1.244898 1.883529 1.120931 1.698334 -0.149261 0.218191 1.134898 0.533381 1.222211 0.249553 -0.114715 1.262472 0.846800 0.877356 0.688478 0.673983 1.103698 1.385836 1.036560 1.331275 0.414915 1.604362 0.874160 0.543444 1.406115 1.239524 0.816202)
 	7.102459 #(0.000000 0.648837 1.347937 1.394205 0.228772 1.369761 0.659192 0.578381 -0.056010 0.281439 1.788400 0.481565 1.424466 1.245338 1.307438 1.071654 0.849375 1.612358 0.470180 0.053038 0.353912 1.080684 -0.161116 0.151468 0.433202 1.019193 1.757938 0.968555 1.596947 -0.203879 0.025193 0.991804 0.446937 1.059356 0.023869 -0.400100 1.079870 0.688268 0.741558 0.481001 0.496940 1.006445 1.004308 0.856157 1.144916 0.288878 1.267244 0.487227 0.316277 1.265206 1.008151 0.448535)
 	7.101828 #(0.000000 0.646351 1.348437 1.394446 0.228508 1.370485 0.660337 0.579558 -0.056026 0.283749 1.791709 0.481733 1.428712 1.245523 1.307690 1.074069 0.851835 1.612005 0.472059 0.051512 0.355641 1.080975 -0.158863 0.150463 0.435366 1.019121 1.758753 0.965820 1.596435 -0.205826 0.026983 0.989221 0.450040 1.062201 0.025319 -0.395664 1.085851 0.689762 0.740855 0.484733 0.501691 1.010487 1.006025 0.857003 1.147326 0.289999 1.266663 0.490356 0.319639 1.268445 1.014342 0.448435)
 
@@ -699,9 +697,9 @@
      )
 
 ;;; 53 all -------------------------------------------------------------------------------- ; 7.280
-(vector 53 9.0914754867554 (fv 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0 1 1 0 0)
+(vector 53 9.0914754867554 #(0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0 1 1 0 0)
 
-	7.198047 (fv 0.000000 0.609644 0.849387 1.600527 1.158365 1.715833 0.524245 -0.059778 0.291176 0.319451 0.985683 1.372433 1.089427 1.749317 1.594481 0.166060 0.927925 -0.362027 0.850015 1.635397 0.732972 1.007069 0.880865 0.290674 0.176669 0.886718 1.772633 0.908528 -0.020813 0.082874 0.257671 1.590012 0.330359 1.893554 1.401328 1.102801 0.720925 0.360594 1.357080 1.833049 0.574052 1.403405 1.851942 1.638866 1.670052 -0.125543 1.654904 0.840665 0.189500 1.798641 0.330271 0.101100 1.702877)
+	7.198047 #(0.000000 0.609644 0.849387 1.600527 1.158365 1.715833 0.524245 -0.059778 0.291176 0.319451 0.985683 1.372433 1.089427 1.749317 1.594481 0.166060 0.927925 -0.362027 0.850015 1.635397 0.732972 1.007069 0.880865 0.290674 0.176669 0.886718 1.772633 0.908528 -0.020813 0.082874 0.257671 1.590012 0.330359 1.893554 1.401328 1.102801 0.720925 0.360594 1.357080 1.833049 0.574052 1.403405 1.851942 1.638866 1.670052 -0.125543 1.654904 0.840665 0.189500 1.798641 0.330271 0.101100 1.702877)
 
 	;; 54-1
 	7.176884 #(0.000000 0.737356 0.760874 1.677578 1.139788 1.733776 0.512545 0.168962 0.294969 0.278922 1.229915 1.512859 1.087438 -0.081926 1.604920 0.197320 1.063397 -0.398250 0.879705 1.816289 0.744289 1.022891 1.064721 0.415657 0.347902 0.773736 1.527156 1.136404 0.028489 0.350665 0.276554 1.845571 0.604279 0.038246 1.467967 1.374232 0.791320 0.557650 1.482264 -0.049230 0.938062 1.746697 0.132063 1.652819 1.777078 0.039226 1.666124 1.061506 0.103648 0.026453 0.558713 0.008013 0.082476)
@@ -710,17 +708,17 @@
      )
 
 ;;; 54 all -------------------------------------------------------------------------------- ; 7.348
-(vector 54 9.1825122833252 (fv 0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1)
+(vector 54 9.1825122833252 #(0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1)
 
-	7.253898 (fv 0.000000 1.663275 -0.127344 1.382101 -0.144643 1.243444 0.071415 0.455351 1.200018 -0.228088 0.114774 0.009236 0.130605 1.041538 -0.220166 0.676007 1.432141 0.450339 0.554653 1.087402 1.040513 0.270076 0.433523 0.188787 1.457394 -0.061608 1.604147 1.071620 1.033490 -0.059301 1.622008 1.136168 0.012303 1.419176 0.768515 0.526817 1.171505 0.678139 1.461086 0.399056 0.554571 0.834287 1.199853 0.770698 1.010430 1.778823 1.630548 0.874770 0.206125 0.453526 0.079377 1.237714 0.535149 0.779971)
+	7.253898 #(0.000000 1.663275 -0.127344 1.382101 -0.144643 1.243444 0.071415 0.455351 1.200018 -0.228088 0.114774 0.009236 0.130605 1.041538 -0.220166 0.676007 1.432141 0.450339 0.554653 1.087402 1.040513 0.270076 0.433523 0.188787 1.457394 -0.061608 1.604147 1.071620 1.033490 -0.059301 1.622008 1.136168 0.012303 1.419176 0.768515 0.526817 1.171505 0.678139 1.461086 0.399056 0.554571 0.834287 1.199853 0.770698 1.010430 1.778823 1.630548 0.874770 0.206125 0.453526 0.079377 1.237714 0.535149 0.779971)
 	7.246128 #(0.000000 1.690671 -0.136333 1.336875 -0.134620 1.250743 0.054577 0.501967 1.180021 -0.191687 0.078154 -0.016563 0.154368 1.002103 -0.214317 0.587755 1.338737 0.453959 0.537717 1.091959 0.985931 0.262538 0.420710 0.232601 1.445283 -0.098407 1.587696 0.956027 0.987798 -0.092532 1.496016 1.083347 0.008893 1.420578 0.727868 0.503289 1.042996 0.653965 1.415827 0.315669 0.540912 0.741976 1.142476 0.660826 0.954089 1.754673 1.467880 0.779704 0.086156 0.370375 0.034370 1.174035 0.430349 0.715725)
 	7.245591 #(0.000000 1.686555 -0.134051 1.339159 -0.139744 1.249317 0.052837 0.496203 1.186868 -0.190398 0.085087 -0.014578 0.148546 1.002089 -0.222856 0.596406 1.341405 0.448014 0.534314 1.092500 0.986488 0.256202 0.422281 0.225300 1.439830 -0.098135 1.589744 0.958350 0.982778 -0.091329 1.504731 1.087277 -0.000312 1.417081 0.729922 0.495573 1.045881 0.653448 1.408480 0.315198 0.535103 0.741972 1.142084 0.667364 0.951873 1.748001 1.479988 0.783357 0.087811 0.364817 0.035646 1.164454 0.433389 0.712104)
      )
 
 ;;; 55 all -------------------------------------------------------------------------------- ; 7.416
-(vector 55 9.0889595835043 (fv 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1)
+(vector 55 9.0889595835043 #(0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1)
 
-	7.328036 (fv 0.000000 0.947722 0.378414 1.734925 1.134763 1.116950 -0.197611 1.060282 0.984801 1.744033 0.450580 0.852453 1.635373 0.966832 1.084419 1.003901 1.404608 1.476265 -0.291566 1.533682 1.691990 0.972863 0.920394 1.410967 0.405768 0.418479 1.362359 0.024022 1.434953 0.091943 0.952661 1.025574 1.292952 0.834214 1.423909 0.663594 1.666584 0.346034 0.453528 -0.158265 1.069551 0.339500 0.250235 -0.001369 1.635787 0.775741 0.405595 1.391152 1.825120 -0.221132 -0.233774 0.866177 1.169485 0.610484 1.501517)
+	7.328036 #(0.000000 0.947722 0.378414 1.734925 1.134763 1.116950 -0.197611 1.060282 0.984801 1.744033 0.450580 0.852453 1.635373 0.966832 1.084419 1.003901 1.404608 1.476265 -0.291566 1.533682 1.691990 0.972863 0.920394 1.410967 0.405768 0.418479 1.362359 0.024022 1.434953 0.091943 0.952661 1.025574 1.292952 0.834214 1.423909 0.663594 1.666584 0.346034 0.453528 -0.158265 1.069551 0.339500 0.250235 -0.001369 1.635787 0.775741 0.405595 1.391152 1.825120 -0.221132 -0.233774 0.866177 1.169485 0.610484 1.501517)
 	7.300139 #(0.000000 1.020956 0.293768 1.798256 1.119674 1.146994 -0.132937 1.003662 0.949888 1.796803 0.459925 0.880925 1.582417 0.875464 1.100289 0.952720 1.490815 1.407379 -0.298626 1.479744 1.580341 1.028316 0.802627 1.364981 0.250262 0.211014 1.412363 -0.072953 1.428751 0.047277 0.916222 0.964928 1.114795 0.871317 1.452807 0.648605 1.592871 0.307802 0.554241 -0.122514 1.103516 0.321014 0.250400 0.032285 1.623249 0.802559 0.366667 1.421272 1.732780 -0.264221 -0.262668 0.728446 1.186912 0.469786 1.716376)
 	7.299987 #(0.000000 1.020969 0.293796 1.798197 1.119668 1.147020 -0.132959 1.003677 0.949931 1.796829 0.459947 0.880914 1.582469 0.875424 1.100277 0.952769 1.490876 1.407382 -0.298616 1.479769 1.580356 1.028332 0.802614 1.364991 0.250327 0.211041 1.412324 -0.072992 1.428778 0.047292 0.916259 0.964910 1.114739 0.871338 1.452857 0.648648 1.592866 0.307820 0.554266 -0.122522 1.103511 0.320958 0.250360 0.032244 1.623283 0.802510 0.366699 1.421281 1.732770 -0.264247 -0.262690 0.728471 1.186845 0.469835 1.716425)
 
@@ -729,15 +727,15 @@
      )
 
 ;;; 56 all -------------------------------------------------------------------------------- ; 7.483
-(vector 56 9.1394176483154 (fv 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0)
+(vector 56 9.1394176483154 #(0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0)
 
-	7.349437 (fv 0.000000 1.546087 1.523699 -0.222814 1.563242 0.073887 1.226569 1.346857 0.292837 1.634387 -0.251778 0.060895 -0.022143 1.595396 1.558207 0.543894 0.524391 1.131307 0.107395 0.049540 1.190567 0.105407 1.309188 1.049686 1.847136 1.739252 0.730834 0.631473 0.965848 1.428286 1.258515 1.585209 1.811352 1.268900 -0.020138 0.642231 1.575017 1.141819 0.549674 0.685664 0.941820 0.311404 0.683359 0.230880 0.725054 -0.246162 1.525527 0.596605 1.235099 0.021275 1.782957 1.875900 1.027532 0.553643 1.151157 -1.905652)
+	7.349437 #(0.000000 1.546087 1.523699 -0.222814 1.563242 0.073887 1.226569 1.346857 0.292837 1.634387 -0.251778 0.060895 -0.022143 1.595396 1.558207 0.543894 0.524391 1.131307 0.107395 0.049540 1.190567 0.105407 1.309188 1.049686 1.847136 1.739252 0.730834 0.631473 0.965848 1.428286 1.258515 1.585209 1.811352 1.268900 -0.020138 0.642231 1.575017 1.141819 0.549674 0.685664 0.941820 0.311404 0.683359 0.230880 0.725054 -0.246162 1.525527 0.596605 1.235099 0.021275 1.782957 1.875900 1.027532 0.553643 1.151157 -1.905652)
      )
 
 ;;; 57 all -------------------------------------------------------------------------------- ; 7.5498
-(vector 57 9.370246887207 (fv 0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0)
+(vector 57 9.370246887207 #(0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0)
 
-	7.442633 (fv 0.000000 0.628456 1.084630 0.786609 1.548782 0.496773 0.435493 0.422694 1.803774 0.918361 0.997194 1.049098 0.185525 0.660957 1.525706 1.561906 1.871425 -0.071743 1.628047 1.493214 -0.116955 0.206404 -0.134909 1.268493 0.758821 0.611040 1.564268 1.138473 1.072129 1.438518 1.711282 0.723211 0.929199 1.378242 0.744685 0.403345 1.655964 0.451399 1.464052 1.394001 0.957137 1.897197 1.337811 0.214489 1.090057 0.644474 1.099729 1.418576 0.330091 1.432560 0.258645 0.901692 0.058744 1.707516 1.251524 1.445949 1.245045)
+	7.442633 #(0.000000 0.628456 1.084630 0.786609 1.548782 0.496773 0.435493 0.422694 1.803774 0.918361 0.997194 1.049098 0.185525 0.660957 1.525706 1.561906 1.871425 -0.071743 1.628047 1.493214 -0.116955 0.206404 -0.134909 1.268493 0.758821 0.611040 1.564268 1.138473 1.072129 1.438518 1.711282 0.723211 0.929199 1.378242 0.744685 0.403345 1.655964 0.451399 1.464052 1.394001 0.957137 1.897197 1.337811 0.214489 1.090057 0.644474 1.099729 1.418576 0.330091 1.432560 0.258645 0.901692 0.058744 1.707516 1.251524 1.445949 1.245045)
 	7.441636 #(0.000000 0.622348 1.085878 0.781116 1.543398 0.503464 0.436201 0.436360 1.804081 0.922203 0.997170 1.054550 0.182189 0.658266 1.514505 1.560476 1.876098 -0.073438 1.631568 1.494541 -0.115431 0.197586 -0.136568 1.260188 0.759194 0.602693 1.552249 1.137538 1.078917 1.441614 1.707363 0.723396 0.932457 1.367004 0.727498 0.408065 1.643814 0.447632 1.455697 1.392558 0.945330 1.895625 1.343191 0.216675 1.082075 0.643569 1.094957 1.407053 0.340178 1.425341 0.271660 0.889612 0.056066 1.700603 1.245948 1.440641 1.250791)
 	7.441467 #(0.000000 0.622317 1.086709 0.781210 1.543555 0.503242 0.435992 0.435167 1.805588 0.922076 0.997063 1.053812 0.182167 0.657560 1.514895 1.560202 1.875822 -0.073404 1.631644 1.494624 -0.115787 0.198249 -0.137542 1.260390 0.759500 0.603371 1.553048 1.137852 1.078723 1.442159 1.707807 0.723280 0.931846 1.367412 0.727839 0.407781 1.645303 0.447632 1.455182 1.393340 0.945452 1.895842 1.343341 0.216348 1.083126 0.643542 1.095796 1.407207 0.340817 1.425984 0.271019 0.890314 0.056560 1.699782 1.246486 1.440900 1.252017)
 
@@ -746,17 +744,17 @@
 	)
 
 ;;; 58 all -------------------------------------------------------------------------------- ; 7.6157
-(vector 58 9.4419231414795 (fv 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1)
+(vector 58 9.4419231414795 #(0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1)
 
-     7.593225 (fv 0.000000 0.986536 1.505069 0.859324 0.384061 0.501999 -0.052945 0.091682 1.243523 1.160936 0.166126 1.095539 1.756174 -0.122227 0.552109 1.557396 0.685859 1.585162 1.476945 1.055076 1.281043 0.783847 1.368420 0.615588 0.179246 0.641014 1.029588 -0.186574 0.302199 -0.049566 0.358796 -0.163645 1.827318 0.906618 1.173192 -0.306816 0.026558 0.176625 -0.050521 -0.001713 0.047940 0.417922 -0.025755 0.782149 0.436145 0.202813 1.499347 0.776547 1.362707 0.702487 -0.159222 1.853688 0.812543 0.355313 1.668872 1.299867 1.606542 0.186584)
+     7.593225 #(0.000000 0.986536 1.505069 0.859324 0.384061 0.501999 -0.052945 0.091682 1.243523 1.160936 0.166126 1.095539 1.756174 -0.122227 0.552109 1.557396 0.685859 1.585162 1.476945 1.055076 1.281043 0.783847 1.368420 0.615588 0.179246 0.641014 1.029588 -0.186574 0.302199 -0.049566 0.358796 -0.163645 1.827318 0.906618 1.173192 -0.306816 0.026558 0.176625 -0.050521 -0.001713 0.047940 0.417922 -0.025755 0.782149 0.436145 0.202813 1.499347 0.776547 1.362707 0.702487 -0.159222 1.853688 0.812543 0.355313 1.668872 1.299867 1.606542 0.186584)
 
      ;; pp: 
-     7.586012 (fv 0.000000 0.718317 1.202315 0.028202 0.604627 1.135917 1.727021 0.381274 1.040230 1.739246 0.978472 1.777017 0.523285 1.243580 0.029135 1.381437 0.426286 1.404192 0.617991 1.834215 0.844002 0.191054 1.403866 0.517083 0.013036 1.338892 0.991152 0.141969 1.593581 0.974013 0.805540 -0.094361 1.826176 1.316543 1.040287 0.818373 0.169416 0.148481 -0.005247 1.691109 1.757644 1.290544 1.656395 1.204579 1.394324 1.303854 1.338185 1.515030 1.707660 1.781840 0.030717 0.283137 0.603418 0.969911 1.476088 1.200110 0.180175 0.633552)
+     7.586012 #(0.000000 0.718317 1.202315 0.028202 0.604627 1.135917 1.727021 0.381274 1.040230 1.739246 0.978472 1.777017 0.523285 1.243580 0.029135 1.381437 0.426286 1.404192 0.617991 1.834215 0.844002 0.191054 1.403866 0.517083 0.013036 1.338892 0.991152 0.141969 1.593581 0.974013 0.805540 -0.094361 1.826176 1.316543 1.040287 0.818373 0.169416 0.148481 -0.005247 1.691109 1.757644 1.290544 1.656395 1.204579 1.394324 1.303854 1.338185 1.515030 1.707660 1.781840 0.030717 0.283137 0.603418 0.969911 1.476088 1.200110 0.180175 0.633552)
 
      ;; pp1:
-     7.594343 (fv 0.000000 0.749835 1.196036 0.047415 0.621780 1.104858 1.683423 0.410089 0.997331 1.769746 1.019444 1.735512 0.510619 1.182024 0.010849 1.425649 0.362140 1.372448 0.624015 1.767029 0.754918 0.170009 1.406108 0.542718 -0.053715 1.339230 0.959996 0.102424 1.529396 0.978636 0.817177 -0.083573 1.854806 1.266587 1.089732 0.774700 0.147541 0.176983 -0.055229 1.674926 1.784675 1.300584 1.684703 1.169175 1.432021 1.273282 1.317555 1.468408 1.655397 1.821619 -0.009845 0.244752 0.605771 0.971746 1.410204 1.112895 0.141141 0.622757)
+     7.594343 #(0.000000 0.749835 1.196036 0.047415 0.621780 1.104858 1.683423 0.410089 0.997331 1.769746 1.019444 1.735512 0.510619 1.182024 0.010849 1.425649 0.362140 1.372448 0.624015 1.767029 0.754918 0.170009 1.406108 0.542718 -0.053715 1.339230 0.959996 0.102424 1.529396 0.978636 0.817177 -0.083573 1.854806 1.266587 1.089732 0.774700 0.147541 0.176983 -0.055229 1.674926 1.784675 1.300584 1.684703 1.169175 1.432021 1.273282 1.317555 1.468408 1.655397 1.821619 -0.009845 0.244752 0.605771 0.971746 1.410204 1.112895 0.141141 0.622757)
 
-     7.604882 (fv 0.000000 1.003143 -0.865267 0.010219 -0.099642 -0.478021 -0.093216 0.744325 -0.039294 -0.002416 0.551785 0.316654 -0.123222 0.301399 -0.383480 -0.165893 -0.726009 0.524402 0.651077 -0.962303 0.315215 -0.603015 0.258064 -0.340148 -0.256538 -0.041913 -0.379049 -0.712938 -0.349442 0.451149 -0.446083 0.896871 -0.490206 -0.472734 0.420264 0.151583 0.131069 0.834014 0.859212 0.483964 -0.544840 -0.090156 0.432176 -0.243993 -0.843563 -0.050600 -0.631713 0.342919 0.025289 0.027400 1.444366 -0.042492 -1.145968 0.638141 -0.833781 -0.384767 -0.149344 0.896836)
+     7.604882 #(0.000000 1.003143 -0.865267 0.010219 -0.099642 -0.478021 -0.093216 0.744325 -0.039294 -0.002416 0.551785 0.316654 -0.123222 0.301399 -0.383480 -0.165893 -0.726009 0.524402 0.651077 -0.962303 0.315215 -0.603015 0.258064 -0.340148 -0.256538 -0.041913 -0.379049 -0.712938 -0.349442 0.451149 -0.446083 0.896871 -0.490206 -0.472734 0.420264 0.151583 0.131069 0.834014 0.859212 0.483964 -0.544840 -0.090156 0.432176 -0.243993 -0.843563 -0.050600 -0.631713 0.342919 0.025289 0.027400 1.444366 -0.042492 -1.145968 0.638141 -0.833781 -0.384767 -0.149344 0.896836)
 
      ;; 57+1
      7.533390 #(0.000000 0.631892 1.030548 0.996535 1.749363 0.527130 0.477024 0.368639 1.802926 1.003296 1.026792 0.861445 0.354012 0.677047 1.520092 1.568568 1.887052 -0.077599 1.681866 1.559188 -0.163779 -0.032281 -0.010624 1.336711 0.753633 0.560677 1.590572 1.250944 1.018806 1.569329 1.806513 0.820053 1.037991 1.389344 0.762236 0.480656 1.661302 0.465658 1.499904 1.500135 0.971523 1.890287 1.276369 0.072382 1.249962 0.582710 1.223535 1.436175 0.383524 1.412000 0.135455 0.769171 0.142483 1.827353 1.151930 1.547046 1.202745 -0.195258)
@@ -766,12 +764,12 @@
      )
 
 ;;; 59 all -------------------------------------------------------------------------------- ; 7.6811
-(vector 59 9.4819116592407 (fv 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0)
+(vector 59 9.4819116592407 #(0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0)
 
-	7.633759 (fv 0.000000 -0.102106 0.411390 1.377383 1.497595 0.124070 0.977823 0.515946 1.620540 0.196166 1.145526 -0.281630 -0.195296 1.404391 0.189637 1.328165 -0.070129 0.678415 0.164240 0.284857 -0.029704 0.602274 0.993542 1.271589 0.492176 0.728322 0.791637 0.338071 1.390375 1.125972 0.444347 0.171840 0.693527 1.264131 0.439002 1.477092 0.989010 0.611429 0.828210 0.480652 -1.722373 1.692898 0.138317 0.412855 0.367615 1.849818 1.092865 1.381771 0.372051 1.523953 1.713816 0.119731 0.675902 0.655871 0.560189 0.993051 1.958772 1.303462 0.504587)
+	7.633759 #(0.000000 -0.102106 0.411390 1.377383 1.497595 0.124070 0.977823 0.515946 1.620540 0.196166 1.145526 -0.281630 -0.195296 1.404391 0.189637 1.328165 -0.070129 0.678415 0.164240 0.284857 -0.029704 0.602274 0.993542 1.271589 0.492176 0.728322 0.791637 0.338071 1.390375 1.125972 0.444347 0.171840 0.693527 1.264131 0.439002 1.477092 0.989010 0.611429 0.828210 0.480652 -1.722373 1.692898 0.138317 0.412855 0.367615 1.849818 1.092865 1.381771 0.372051 1.523953 1.713816 0.119731 0.675902 0.655871 0.560189 0.993051 1.958772 1.303462 0.504587)
 
 	;; 60-1
-	7.668205 (fv 0.000000 0.260999 0.306319 0.829788 0.601433 -0.678190 0.032714 -0.031883 1.182121 0.436499 0.860411 1.529871 0.029506 -0.270659 1.490132 0.906453 0.632531 -0.000842 1.433413 0.099705 1.394290 1.492347 1.704612 0.859780 -0.064335 0.888916 0.823173 -0.092258 1.655169 1.087888 0.521033 0.694079 0.255286 0.100258 0.664742 0.255239 -0.004409 -0.020809 -0.246563 0.401722 0.426493 1.163559 0.741366 0.718411 0.770050 0.987515 -0.377733 -0.050194 0.650015 -0.412935 -0.094285 0.634376 0.230847 1.070214 0.078695 0.757129 0.097582 0.734853 -0.028246)
+	7.668205 #(0.000000 0.260999 0.306319 0.829788 0.601433 -0.678190 0.032714 -0.031883 1.182121 0.436499 0.860411 1.529871 0.029506 -0.270659 1.490132 0.906453 0.632531 -0.000842 1.433413 0.099705 1.394290 1.492347 1.704612 0.859780 -0.064335 0.888916 0.823173 -0.092258 1.655169 1.087888 0.521033 0.694079 0.255286 0.100258 0.664742 0.255239 -0.004409 -0.020809 -0.246563 0.401722 0.426493 1.163559 0.741366 0.718411 0.770050 0.987515 -0.377733 -0.050194 0.650015 -0.412935 -0.094285 0.634376 0.230847 1.070214 0.078695 0.757129 0.097582 0.734853 -0.028246)
 
 	; 58+1
 	7.567729 #(0.000000 0.753874 1.108606 0.974281 0.283985 0.662033 0.650997 0.171167 1.713034 0.855505 1.018749 0.891985 0.435917 0.540560 1.459830 1.555159 -0.222214 -0.376165 1.777521 1.607719 -0.138482 -0.185224 0.145078 1.584935 1.029502 0.327951 1.867036 1.174458 1.172033 1.652747 -0.202580 1.284972 0.919829 1.617599 1.002052 0.275343 0.183263 0.550709 1.391786 1.438151 1.764529 0.225407 1.674751 0.321832 1.364256 0.748496 1.336450 1.931791 0.857675 1.688807 0.307620 0.802036 0.148078 0.020000 1.074227 1.654778 1.010253 0.016684 -0.457710)
@@ -783,9 +781,9 @@
      )
 
 ;;; 60 all -------------------------------------------------------------------------------- ; 7.7459
-(vector 60 9.575254043103 (fv 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1)
+(vector 60 9.575254043103 #(0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1)
 
-	7.588747 (fv 0.000000 0.303100 0.261228 0.917131 0.691793 -0.677124 0.027342 -0.014801 1.166154 0.416979 0.851167 1.410955 0.139409 -0.306122 1.416862 1.054300 0.792442 0.062922 1.507148 0.118287 1.375215 1.459904 1.620963 0.828106 -0.237368 0.987982 0.753194 0.096604 1.712227 1.239483 0.673351 0.871862 0.125962 0.260000 0.626286 0.147473 0.131774 0.201212 -0.194457 0.538798 0.418147 1.292448 0.871870 0.794549 0.988888 1.131816 -0.166311 0.052304 0.543793 -0.229410 0.113585 0.733683 0.271039 1.008427 1.788452 0.654055 0.106430 0.828086 0.097436 0.376461)
+	7.588747 #(0.000000 0.303100 0.261228 0.917131 0.691793 -0.677124 0.027342 -0.014801 1.166154 0.416979 0.851167 1.410955 0.139409 -0.306122 1.416862 1.054300 0.792442 0.062922 1.507148 0.118287 1.375215 1.459904 1.620963 0.828106 -0.237368 0.987982 0.753194 0.096604 1.712227 1.239483 0.673351 0.871862 0.125962 0.260000 0.626286 0.147473 0.131774 0.201212 -0.194457 0.538798 0.418147 1.292448 0.871870 0.794549 0.988888 1.131816 -0.166311 0.052304 0.543793 -0.229410 0.113585 0.733683 0.271039 1.008427 1.788452 0.654055 0.106430 0.828086 0.097436 0.376461)
 
 	7.602978 #(0.000000 0.343421 0.247838 0.890443 0.690536 -0.636145 0.032627 -0.000378 1.156652 0.432584 0.839393 1.416383 0.127840 -0.292709 1.416467 1.036542 0.772399 0.056651 1.495999 0.127272 1.372797 1.502550 1.644134 0.832570 -0.243375 0.997261 0.769525 0.097453 1.710505 1.253870 0.665368 0.892296 0.140093 0.282802 0.651418 0.158940 0.136050 0.208538 -0.153899 0.575825 0.407418 1.313964 0.907919 0.810047 0.999387 1.167125 -0.147437 0.049028 0.552121 -0.233036 0.124726 0.749826 0.278658 1.024092 1.803794 0.682067 0.122571 0.837344 0.113035 0.386515)
 	7.590331 #(0.000000 0.311984 0.250997 0.912573 0.685307 -0.665850 0.023992 -0.010652 1.155235 0.412085 0.828254 1.410116 0.128955 -0.317825 1.409520 1.027436 0.770269 0.045987 1.490193 0.103477 1.366721 1.457750 1.601967 0.817113 -0.255006 0.965021 0.733462 0.069204 1.685229 1.226151 0.638827 0.852828 0.104728 0.233598 0.610755 0.125702 0.105148 0.180856 -0.214881 0.523640 0.392812 1.269846 0.858737 0.764879 0.959798 1.115862 -0.192768 0.019990 0.508867 -0.268592 0.089478 0.700272 0.229721 0.977531 1.747500 0.628081 0.078292 0.787525 0.066967 0.336229)
@@ -797,12 +795,12 @@
      )
 
 ;;; 61 all -------------------------------------------------------------------------------- ; 7.8102
-(vector 61 9.9175914844707 (fv 0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1)
+(vector 61 9.9175914844707 #(0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1)
 
-     7.764539 (fv 0.000000 0.501749 1.326260 -0.002830 0.440140 1.954758 -0.008202 0.999918 0.013473 0.542424 0.025115 0.566063 0.591900 -0.196853 0.709527 1.494974 0.701049 1.000710 1.261876 0.543883 0.605458 1.371875 -0.020772 0.931648 0.804346 0.926420 0.633175 0.027958 1.257581 0.427959 1.076239 -0.091270 1.537981 0.146252 0.640848 0.257921 1.798714 0.191485 0.663913 1.946117 1.528077 1.065296 -0.320137 1.459211 1.030583 1.751744 1.068882 0.287431 0.162869 0.095930 0.749409 1.433537 1.416981 -0.082974 0.219907 0.200900 1.575224 1.106230 0.733650 1.327996 1.447241)
+     7.764539 #(0.000000 0.501749 1.326260 -0.002830 0.440140 1.954758 -0.008202 0.999918 0.013473 0.542424 0.025115 0.566063 0.591900 -0.196853 0.709527 1.494974 0.701049 1.000710 1.261876 0.543883 0.605458 1.371875 -0.020772 0.931648 0.804346 0.926420 0.633175 0.027958 1.257581 0.427959 1.076239 -0.091270 1.537981 0.146252 0.640848 0.257921 1.798714 0.191485 0.663913 1.946117 1.528077 1.065296 -0.320137 1.459211 1.030583 1.751744 1.068882 0.287431 0.162869 0.095930 0.749409 1.433537 1.416981 -0.082974 0.219907 0.200900 1.575224 1.106230 0.733650 1.327996 1.447241)
 
      ;; pp:
-     7.753858 (fv 0.000000 0.319725 1.167003 1.840366 0.153760 1.056380 1.530371 0.068799 1.142107 1.630458 0.891055 1.372619 0.446834 1.091219 0.302492 1.393205 0.356103 1.143793 0.345744 1.558858 0.517245 1.731373 1.219460 0.122291 1.292388 0.849768 0.068299 1.373758 1.017991 0.385053 1.507703 1.138013 0.742591 0.285609 -0.125056 1.492440 1.058816 0.934160 0.593744 0.533680 -0.158800 0.426341 1.446080 1.766771 1.695866 1.560056 1.478090 1.737231 1.729597 0.116298 0.076540 -0.001350 0.001958 0.473570 1.021992 1.263777 1.530152 1.876463 0.039103 0.812610 1.066132)
+     7.753858 #(0.000000 0.319725 1.167003 1.840366 0.153760 1.056380 1.530371 0.068799 1.142107 1.630458 0.891055 1.372619 0.446834 1.091219 0.302492 1.393205 0.356103 1.143793 0.345744 1.558858 0.517245 1.731373 1.219460 0.122291 1.292388 0.849768 0.068299 1.373758 1.017991 0.385053 1.507703 1.138013 0.742591 0.285609 -0.125056 1.492440 1.058816 0.934160 0.593744 0.533680 -0.158800 0.426341 1.446080 1.766771 1.695866 1.560056 1.478090 1.737231 1.729597 0.116298 0.076540 -0.001350 0.001958 0.473570 1.021992 1.263777 1.530152 1.876463 0.039103 0.812610 1.066132)
 
      ;; 60+1
      7.719726 #(0.000000 0.495866 0.238287 0.955451 0.664842 -0.741345 -0.016068 0.189591 1.246084 0.190700 0.813293 1.426582 0.137309 -0.550659 1.409544 1.156142 0.580188 0.236603 1.480403 0.143969 1.355902 1.548768 1.667460 1.127939 -0.533143 1.068231 0.694662 0.416966 1.883169 1.321748 0.722703 0.140270 -0.032806 0.383094 0.464150 -0.057082 0.068615 0.492413 -0.310601 0.595711 0.295373 1.620960 0.719532 0.564630 0.996701 1.168180 -0.350959 0.028358 0.396854 -0.442188 -0.001549 0.385465 0.224100 0.834114 -0.091422 1.036164 0.264065 1.003524 -0.049053 0.311309 -0.096718)
@@ -814,18 +812,18 @@
      )
 
 ;;; 62 all -------------------------------------------------------------------------------- ; 7.8740
-(vector 62 9.9292116165161 (fv 0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0)
+(vector 62 9.9292116165161 #(0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0)
 
-	7.792971 (fv 0.000000 0.798156 1.779815 0.185967 1.670273 1.438952 1.815697 1.053871 0.087440 0.689337 0.052342 1.443903 1.423782 0.060887 1.727890 0.158639 0.952692 0.005318 0.914138 1.225205 0.683016 0.673829 0.109419 1.593849 0.225994 1.125995 0.418481 0.240605 0.743642 0.622844 0.353010 1.543180 1.534972 1.657806 0.217386 1.492286 1.132686 0.760213 1.147881 1.490201 0.001889 1.030507 1.289026 1.160822 0.387338 1.616191 1.464636 1.793960 1.874455 0.680274 1.683218 1.490668 0.689023 0.705366 0.946252 1.171040 0.109657 1.208442 0.793211 0.697986 1.263366 1.490757)
+	7.792971 #(0.000000 0.798156 1.779815 0.185967 1.670273 1.438952 1.815697 1.053871 0.087440 0.689337 0.052342 1.443903 1.423782 0.060887 1.727890 0.158639 0.952692 0.005318 0.914138 1.225205 0.683016 0.673829 0.109419 1.593849 0.225994 1.125995 0.418481 0.240605 0.743642 0.622844 0.353010 1.543180 1.534972 1.657806 0.217386 1.492286 1.132686 0.760213 1.147881 1.490201 0.001889 1.030507 1.289026 1.160822 0.387338 1.616191 1.464636 1.793960 1.874455 0.680274 1.683218 1.490668 0.689023 0.705366 0.946252 1.171040 0.109657 1.208442 0.793211 0.697986 1.263366 1.490757)
 	7.791756 #(0.000000 0.794255 1.776105 0.184372 1.667961 1.440185 1.817320 1.053449 0.082409 0.687457 0.048164 1.444125 1.423252 0.061081 1.727243 0.162932 0.953680 0.005222 0.917056 1.225176 0.682682 0.672057 0.108792 1.597133 0.224159 1.125545 0.417480 0.240811 0.741742 0.625708 0.356451 1.543976 1.537969 1.658348 0.209650 1.492266 1.130024 0.756184 1.143465 1.484763 0.002845 1.030762 1.291665 1.164813 0.385858 1.615844 1.466799 1.796934 1.874708 0.677123 1.684900 1.485354 0.688305 0.708676 0.948779 1.173098 0.106201 1.209490 0.787951 0.696086 1.257404 1.488223)
      )
 
 ;;; 63 all -------------------------------------------------------------------------------- ; 7.9372
-(vector 63 9.9555234909058 (fv 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0)
+(vector 63 9.9555234909058 #(0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0)
 
-     7.900930 (fv 0.000000 0.112702 0.086876 0.634314 1.554089 0.214604 -0.203567 1.256800 0.100458 0.246503 1.488987 0.107459 1.914177 1.161772 1.897454 0.320257 1.283205 0.869894 1.466310 1.256681 0.167147 1.720679 0.949230 1.041227 1.129363 1.077459 1.317157 1.129579 0.390441 1.000383 0.208075 1.779398 1.501532 1.375523 -0.023235 1.338796 1.635364 1.234484 1.323162 0.435451 0.903475 1.821268 1.474898 0.271740 1.558504 0.547732 0.837920 0.522756 0.001164 1.566827 1.197274 1.065607 0.155490 1.019206 1.516032 -0.064964 -0.144993 0.026714 1.048953 1.812875 0.299023 0.685547 0.728053)
+     7.900930 #(0.000000 0.112702 0.086876 0.634314 1.554089 0.214604 -0.203567 1.256800 0.100458 0.246503 1.488987 0.107459 1.914177 1.161772 1.897454 0.320257 1.283205 0.869894 1.466310 1.256681 0.167147 1.720679 0.949230 1.041227 1.129363 1.077459 1.317157 1.129579 0.390441 1.000383 0.208075 1.779398 1.501532 1.375523 -0.023235 1.338796 1.635364 1.234484 1.323162 0.435451 0.903475 1.821268 1.474898 0.271740 1.558504 0.547732 0.837920 0.522756 0.001164 1.566827 1.197274 1.065607 0.155490 1.019206 1.516032 -0.064964 -0.144993 0.026714 1.048953 1.812875 0.299023 0.685547 0.728053)
 
-     7.876881 (fv 0.000000 0.730162 1.053547 1.853555 0.252740 0.906538 1.566071 0.152709 1.015626 1.877411 0.660255 1.513063 -0.004442 1.023537 0.043516 0.973208 -0.080949 0.883081 -0.126245 1.080582 0.224101 1.423101 0.674610 1.604094 0.756913 0.381286 1.606872 1.293154 0.397443 1.644011 1.075770 0.644269 0.164589 -0.255888 1.331182 0.886941 0.357762 0.438290 1.706681 1.847928 1.153249 1.311949 1.226087 1.303371 0.783267 0.589091 0.697039 0.351577 0.554862 0.724022 0.729451 0.902218 0.841292 1.194121 1.061823 1.429706 0.001167 -0.011629 0.776088 1.037188 1.244629 1.522995 0.260285)
+     7.876881 #(0.000000 0.730162 1.053547 1.853555 0.252740 0.906538 1.566071 0.152709 1.015626 1.877411 0.660255 1.513063 -0.004442 1.023537 0.043516 0.973208 -0.080949 0.883081 -0.126245 1.080582 0.224101 1.423101 0.674610 1.604094 0.756913 0.381286 1.606872 1.293154 0.397443 1.644011 1.075770 0.644269 0.164589 -0.255888 1.331182 0.886941 0.357762 0.438290 1.706681 1.847928 1.153249 1.311949 1.226087 1.303371 0.783267 0.589091 0.697039 0.351577 0.554862 0.724022 0.729451 0.902218 0.841292 1.194121 1.061823 1.429706 0.001167 -0.011629 0.776088 1.037188 1.244629 1.522995 0.260285)
 
      ;; 62+1
      7.793784 #(0.000000 0.604834 1.810468 0.479158 1.833042 1.567985 -0.008145 1.139628 0.500517 1.068759 0.129009 1.082620 1.606832 0.022087 1.588661 -0.153130 0.676199 0.010115 0.698933 1.351365 0.913525 0.821255 0.678484 1.196033 0.336031 0.980483 0.167734 -0.166196 0.584197 0.895241 0.166400 1.887408 1.404231 1.357967 0.000767 1.273439 0.959305 0.625351 1.435222 1.581734 -0.027156 1.322760 1.634581 1.284691 0.324951 1.829465 1.346510 -0.070824 -0.074038 0.522954 1.755297 1.609271 1.147322 0.784177 0.915115 1.284187 -0.070344 1.582369 1.006518 0.377560 1.009520 1.290325 -0.295994)
@@ -833,12 +831,12 @@
      )
 
 ;;; 64 all -------------------------------------------------------------------------------- ; 8
-(vector 64 9.957244923706 (fv 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1)
+(vector 64 9.957244923706 #(0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1)
 
-    7.941887 (fv 0.000000 0.078350 0.185008 1.926703 0.321363 1.181646 1.402668 0.610982 0.623089 1.216601 1.332592 -0.291595 1.818855 1.612142 0.352450 -0.172928 1.880133 1.280898 1.910145 0.775896 0.915424 1.581714 0.463086 0.548034 1.045305 1.495776 -1.677351 1.247040 0.522690 1.227534 1.269499 0.212698 -0.052232 1.635256 1.888480 1.734142 1.150438 1.012285 0.389543 -0.097094 -0.358616 1.129328 0.215283 0.611096 0.487394 1.263156 0.637871 1.355777 0.092029 0.148467 1.060411 0.413204 1.241091 0.569303 1.457881 0.998119 0.874341 0.432403 1.077636 0.523921 0.747328 1.722616 0.867015 0.916274)
+    7.941887 #(0.000000 0.078350 0.185008 1.926703 0.321363 1.181646 1.402668 0.610982 0.623089 1.216601 1.332592 -0.291595 1.818855 1.612142 0.352450 -0.172928 1.880133 1.280898 1.910145 0.775896 0.915424 1.581714 0.463086 0.548034 1.045305 1.495776 -1.677351 1.247040 0.522690 1.227534 1.269499 0.212698 -0.052232 1.635256 1.888480 1.734142 1.150438 1.012285 0.389543 -0.097094 -0.358616 1.129328 0.215283 0.611096 0.487394 1.263156 0.637871 1.355777 0.092029 0.148467 1.060411 0.413204 1.241091 0.569303 1.457881 0.998119 0.874341 0.432403 1.077636 0.523921 0.747328 1.722616 0.867015 0.916274)
      
      ;; pp.scm:
-     7.992914 (fv 0.000000 0.651329 1.088511 1.713470 0.442276 0.963521 1.501931 0.310181 1.212960 -0.011104 0.778232 1.515305 0.316833 1.237177 0.296916 1.189311 0.026642 1.098222 -0.017818 1.134719 0.273596 1.474260 0.550810 1.706455 0.919546 0.198719 1.526951 0.883788 0.268629 1.826193 1.021575 0.329612 -0.041590 1.516394 1.042877 0.648305 0.185654 -0.069051 1.607952 1.190320 1.094592 0.588439 0.829542 0.393611 0.610572 0.171199 0.117077 0.152394 -0.147682 0.017404 0.185404 0.037181 0.373288 0.371013 0.642715 0.482850 0.968331 1.382474 1.590294 -0.024057 0.298876 0.749699 1.152958 1.682631)
+     7.992914 #(0.000000 0.651329 1.088511 1.713470 0.442276 0.963521 1.501931 0.310181 1.212960 -0.011104 0.778232 1.515305 0.316833 1.237177 0.296916 1.189311 0.026642 1.098222 -0.017818 1.134719 0.273596 1.474260 0.550810 1.706455 0.919546 0.198719 1.526951 0.883788 0.268629 1.826193 1.021575 0.329612 -0.041590 1.516394 1.042877 0.648305 0.185654 -0.069051 1.607952 1.190320 1.094592 0.588439 0.829542 0.393611 0.610572 0.171199 0.117077 0.152394 -0.147682 0.017404 0.185404 0.037181 0.373288 0.371013 0.642715 0.482850 0.968331 1.382474 1.590294 -0.024057 0.298876 0.749699 1.152958 1.682631)
 
      ;; 63+1
      7.852593 #(0.000000 0.825112 1.882318 0.451509 0.012998 1.639009 0.186070 1.361114 0.503493 1.308226 0.187566 1.154228 1.519693 0.016493 1.654055 0.133569 0.677683 0.038167 0.453693 1.326886 0.811770 1.182840 0.767976 1.306039 0.513845 0.875502 0.344585 -0.071461 0.625939 0.904824 0.020665 1.775810 1.364597 1.313323 0.157145 1.372768 1.111614 0.377004 1.340696 1.756191 -0.307041 1.279247 1.512890 1.161668 0.344904 1.870013 1.328981 0.030268 -0.036888 0.551836 1.737903 1.637471 1.164315 0.705326 1.030571 1.361467 -0.181207 1.620264 1.058937 0.469215 1.047362 1.285537 -0.195579 0.052724)
@@ -846,12 +844,12 @@
      )
 
 ;;; 65 all -------------------------------------------------------------------------------- ; 8.0622
-(vector 65 10.157649040222 (fv 0 0 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0)
+(vector 65 10.157649040222 #(0 0 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0)
 
-     8.034868 (fv 0.000000 -0.445401 1.151245 1.279345 1.476130 1.870307 1.647070 -0.199190 0.996479 1.841605 1.029874 1.628641 0.687865 0.948026 1.437242 1.472256 1.713531 0.116128 0.684445 1.801135 -0.030628 1.120947 0.852540 1.164480 1.740537 0.856297 1.486946 0.172686 0.895511 0.630282 1.378315 0.169569 1.750827 0.453225 1.137053 0.474570 0.449455 1.468205 1.690172 0.505222 -0.186497 0.479672 0.299749 1.440549 1.876899 0.243582 0.699167 0.152947 0.932331 0.165767 1.486581 1.086937 1.179952 1.305509 1.186761 0.971873 0.910187 0.131821 0.021623 1.435803 1.077493 0.071755 1.363290 0.536054 0.282812)
+     8.034868 #(0.000000 -0.445401 1.151245 1.279345 1.476130 1.870307 1.647070 -0.199190 0.996479 1.841605 1.029874 1.628641 0.687865 0.948026 1.437242 1.472256 1.713531 0.116128 0.684445 1.801135 -0.030628 1.120947 0.852540 1.164480 1.740537 0.856297 1.486946 0.172686 0.895511 0.630282 1.378315 0.169569 1.750827 0.453225 1.137053 0.474570 0.449455 1.468205 1.690172 0.505222 -0.186497 0.479672 0.299749 1.440549 1.876899 0.243582 0.699167 0.152947 0.932331 0.165767 1.486581 1.086937 1.179952 1.305509 1.186761 0.971873 0.910187 0.131821 0.021623 1.435803 1.077493 0.071755 1.363290 0.536054 0.282812)
      
      ;; pp:
-     7.973113 (fv 0.000000 0.586863 1.108547 1.809568 0.236474 0.932200 1.490976 0.236358 1.190604 -0.011282 0.981987 1.626061 0.541325 1.333541 0.166220 1.028548 0.073540 1.235912 0.201403 1.061871 0.289618 1.557561 0.463038 1.533243 0.718960 -0.031407 1.248624 0.634414 -0.029632 1.295765 0.653432 0.144947 1.300831 1.398877 0.579343 0.760977 0.024336 1.714192 1.357070 0.952728 0.458396 0.300957 -0.033236 0.181552 1.850554 1.728158 1.394294 1.294304 1.438841 1.230165 1.383584 1.610036 1.601644 1.798980 0.041945 -0.165907 -0.108364 0.492371 0.832142 1.280146 1.457449 -0.051803 0.040231 0.532391 1.056982)
+     7.973113 #(0.000000 0.586863 1.108547 1.809568 0.236474 0.932200 1.490976 0.236358 1.190604 -0.011282 0.981987 1.626061 0.541325 1.333541 0.166220 1.028548 0.073540 1.235912 0.201403 1.061871 0.289618 1.557561 0.463038 1.533243 0.718960 -0.031407 1.248624 0.634414 -0.029632 1.295765 0.653432 0.144947 1.300831 1.398877 0.579343 0.760977 0.024336 1.714192 1.357070 0.952728 0.458396 0.300957 -0.033236 0.181552 1.850554 1.728158 1.394294 1.294304 1.438841 1.230165 1.383584 1.610036 1.601644 1.798980 0.041945 -0.165907 -0.108364 0.492371 0.832142 1.280146 1.457449 -0.051803 0.040231 0.532391 1.056982)
 
      ;; 64+1??
      7.989976 #(0.000000 0.717074 1.790137 0.303763 0.122314 1.682143 0.216359 1.275289 0.381110 1.232945 0.219920 1.195050 1.544622 0.012541 1.697713 0.164535 0.808696 -0.033093 0.436931 1.424336 0.953440 1.075346 0.847229 1.377732 0.455680 0.844396 0.388170 -0.232520 0.566111 1.006265 0.239235 -0.064356 1.478182 1.310771 0.100992 1.360730 1.120501 0.518973 1.403629 1.737998 -0.215831 1.519996 1.486448 1.299685 0.264762 0.058410 1.261254 0.113761 -0.018088 0.416310 -0.086576 1.654308 1.428048 0.818894 0.929752 1.422804 -0.004686 1.681128 1.117926 0.396261 1.114085 1.263468 -0.302127 -0.143751 0.249776)
@@ -862,9 +860,9 @@
      )
 
 ;;; 66 all -------------------------------------------------------------------------------- ; 8.1240
-(vector 66 10.208241079264 (fv 0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0)
+(vector 66 10.208241079264 #(0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0)
 
-	8.056638 (fv 0.000000 1.161331 1.936583 0.473825 1.730430 1.710083 1.722704 0.938539 0.650961 -0.301116 0.711382 0.874289 0.712393 1.263523 0.315048 0.391659 1.059022 0.363325 1.881127 0.161704 0.986800 1.590034 -0.289492 0.615410 -0.014906 1.387045 1.412270 1.265945 0.128543 0.445787 0.121476 1.705959 1.084173 1.066949 0.774156 0.933891 1.279265 0.297308 0.298325 1.512363 0.271282 1.243162 1.580605 1.521644 0.312598 0.465014 1.006013 0.269153 1.083812 0.157700 1.646414 0.707835 0.598039 1.973506 0.954025 0.104991 0.944717 0.038847 0.538283 0.734911 0.143649 0.104089 0.567333 0.271330 0.665962 0.751070)
+	8.056638 #(0.000000 1.161331 1.936583 0.473825 1.730430 1.710083 1.722704 0.938539 0.650961 -0.301116 0.711382 0.874289 0.712393 1.263523 0.315048 0.391659 1.059022 0.363325 1.881127 0.161704 0.986800 1.590034 -0.289492 0.615410 -0.014906 1.387045 1.412270 1.265945 0.128543 0.445787 0.121476 1.705959 1.084173 1.066949 0.774156 0.933891 1.279265 0.297308 0.298325 1.512363 0.271282 1.243162 1.580605 1.521644 0.312598 0.465014 1.006013 0.269153 1.083812 0.157700 1.646414 0.707835 0.598039 1.973506 0.954025 0.104991 0.944717 0.038847 0.538283 0.734911 0.143649 0.104089 0.567333 0.271330 0.665962 0.751070)
 
 	;; 67-1
 	8.015795 #(0.000000 0.482185 1.174631 0.006809 0.401780 1.237554 1.609013 0.588930 1.364153 1.497911 0.479714 1.430977 0.382104 1.324174 0.126882 0.919708 -0.100361 0.979679 -0.154974 0.411044 1.431094 0.610463 0.047752 1.055827 0.418075 1.131057 0.351532 -0.093894 1.532471 1.157174 0.298591 -0.302172 1.190200 0.350212 -0.469230 1.440439 1.054072 0.838197 0.416628 0.293297 -0.104136 -0.061434 0.960707 0.489913 0.124304 0.770013 0.316144 0.728268 0.218632 -0.102007 0.074373 -0.213063 -0.207226 0.313323 0.277535 0.498637 0.514308 0.823833 0.726893 1.568923 -0.149485 0.343111 0.825139 1.056977 1.559384 -0.284248)
@@ -872,9 +870,9 @@
      )
 
 ;;; 67 all -------------------------------------------------------------------------------- ; 8.1853
-(vector 67 10.422191619873 (fv 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1)
+(vector 67 10.422191619873 #(0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1)
 
-     8.144904 (fv 0.000000 0.836848 1.681555 1.191647 0.070261 0.942251 1.797644 1.070294 0.265921 1.462866 0.142770 0.004389 0.118755 0.795004 0.861059 0.364013 1.094070 0.938540 1.352932 1.681133 0.801557 -0.166830 1.660232 1.811404 -0.089491 1.793031 0.410641 1.462829 0.992048 -0.005221 0.624981 -0.049054 -0.100216 0.046599 -0.054149 1.061978 0.471687 -0.484886 1.299787 0.103592 0.873660 1.581185 1.539111 1.747106 0.867454 1.194479 0.984380 1.039016 -0.137566 1.440640 0.758746 0.623227 0.623868 1.161467 1.535042 0.328555 1.691644 -0.115223 0.929805 1.714954 0.103897 1.241682 1.520953 1.062392 0.666399 0.064868 1.788882)
+     8.144904 #(0.000000 0.836848 1.681555 1.191647 0.070261 0.942251 1.797644 1.070294 0.265921 1.462866 0.142770 0.004389 0.118755 0.795004 0.861059 0.364013 1.094070 0.938540 1.352932 1.681133 0.801557 -0.166830 1.660232 1.811404 -0.089491 1.793031 0.410641 1.462829 0.992048 -0.005221 0.624981 -0.049054 -0.100216 0.046599 -0.054149 1.061978 0.471687 -0.484886 1.299787 0.103592 0.873660 1.581185 1.539111 1.747106 0.867454 1.194479 0.984380 1.039016 -0.137566 1.440640 0.758746 0.623227 0.623868 1.161467 1.535042 0.328555 1.691644 -0.115223 0.929805 1.714954 0.103897 1.241682 1.520953 1.062392 0.666399 0.064868 1.788882)
 
      ;; pp:
      8.047705 #(0.000000 0.723228 1.099176 -0.100694 0.795584 1.226000 1.797595 0.767514 1.189968 1.770414 0.592457 1.632373 0.568783 1.570965 0.191327 0.911400 -0.022316 0.899532 0.007665 0.667853 1.568194 0.721875 0.202951 1.285669 0.230444 1.429343 0.815993 0.012435 1.649015 1.193109 0.625662 -0.046776 1.588223 0.552563 -0.302890 1.679576 1.260813 0.930680 0.445604 0.348973 1.926722 0.133110 1.169041 0.703410 0.591692 0.750705 0.471868 0.931521 0.435714 0.165223 0.319019 0.050970 0.055362 0.598500 0.290706 1.016017 0.946745 1.221686 1.001124 1.567104 0.056814 0.422743 0.731562 1.013128 1.856895 1.850611 0.319558)
@@ -882,9 +880,9 @@
      )
 
 ;;; 68 all -------------------------------------------------------------------------------- ; 8.2462
-(vector 68 10.460547747753 (fv 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1)
+(vector 68 10.460547747753 #(0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1)
 
-	8.168157 (fv 0.000000 0.354978 1.878673 1.059221 0.759731 0.956747 0.711479 0.720163 0.372733 0.204844 0.455442 0.097446 1.506513 0.919884 0.814781 0.935488 0.786490 1.074073 1.203975 1.052443 0.726494 1.730845 0.062987 1.716136 1.412039 0.233751 0.090641 -0.003605 0.550389 0.691280 1.313887 0.137194 1.521036 1.556316 0.070039 0.198694 1.780701 0.986693 1.284403 1.408455 0.102332 1.273719 0.728671 0.008237 1.436719 1.092816 0.742660 1.480879 0.410157 1.288179 0.559234 1.425899 1.219179 0.189574 0.471285 1.159537 -0.028955 1.469388 0.210392 1.141156 -0.135055 0.687474 1.468060 -0.235268 0.553950 0.681055 0.986756 1.515599)
+	8.168157 #(0.000000 0.354978 1.878673 1.059221 0.759731 0.956747 0.711479 0.720163 0.372733 0.204844 0.455442 0.097446 1.506513 0.919884 0.814781 0.935488 0.786490 1.074073 1.203975 1.052443 0.726494 1.730845 0.062987 1.716136 1.412039 0.233751 0.090641 -0.003605 0.550389 0.691280 1.313887 0.137194 1.521036 1.556316 0.070039 0.198694 1.780701 0.986693 1.284403 1.408455 0.102332 1.273719 0.728671 0.008237 1.436719 1.092816 0.742660 1.480879 0.410157 1.288179 0.559234 1.425899 1.219179 0.189574 0.471285 1.159537 -0.028955 1.469388 0.210392 1.141156 -0.135055 0.687474 1.468060 -0.235268 0.553950 0.681055 0.986756 1.515599)
 
 	;; 69-1
 	8.131853 #(0.000000 0.784104 1.233565 0.461379 1.122608 1.104526 0.722387 1.255939 1.344588 0.136431 0.691426 1.710711 0.131100 0.566340 0.865438 1.537496 0.878693 0.133465 0.855818 -0.432042 0.379762 0.876524 1.602175 1.021625 -0.093271 -0.210101 0.454316 0.002103 0.079420 0.100395 -0.098889 1.625973 -0.047062 1.737996 0.506589 1.792992 0.939323 -0.140724 1.456990 0.171514 0.906369 -0.130797 0.877514 0.626041 0.619243 -0.783477 0.176466 0.146820 -0.143043 1.354027 1.213392 -0.157870 -0.263919 0.335949 0.779235 0.639234 0.011670 1.687112 1.239883 0.625064 0.203838 -0.430763 -0.038392 -0.419755 0.708217 0.793274 0.717371 0.706499)
@@ -892,9 +890,9 @@
      )
 
 ;;; 69 all -------------------------------------------------------------------------------- ; 8.3066
-(vector 69 10.495518383865 (fv 0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0)
+(vector 69 10.495518383865 #(0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0)
 
-	8.197146 (fv 0.000000 0.551719 0.168788 -0.171535 0.603472 1.646430 0.831219 -0.112901 1.600971 0.776706 -0.257580 1.457106 0.729936 0.539913 1.421843 0.548661 0.072361 0.728562 0.364648 -0.109430 1.359599 1.471812 0.472868 -0.088533 0.623026 0.167759 1.605110 0.053141 0.996253 1.258861 1.710199 1.079237 0.316774 0.568130 0.226861 -0.084943 1.702544 1.075688 0.298153 0.507109 1.291563 1.177929 1.707324 -0.001439 0.386332 0.512557 0.380487 0.243873 1.516865 0.101344 -0.768813 1.646072 0.275192 0.139649 1.389985 1.576705 0.346880 0.446918 1.441036 0.376743 1.075298 0.134005 0.942798 0.778785 1.014815 1.144279 1.213481 1.047075 1.249788)
+	8.197146 #(0.000000 0.551719 0.168788 -0.171535 0.603472 1.646430 0.831219 -0.112901 1.600971 0.776706 -0.257580 1.457106 0.729936 0.539913 1.421843 0.548661 0.072361 0.728562 0.364648 -0.109430 1.359599 1.471812 0.472868 -0.088533 0.623026 0.167759 1.605110 0.053141 0.996253 1.258861 1.710199 1.079237 0.316774 0.568130 0.226861 -0.084943 1.702544 1.075688 0.298153 0.507109 1.291563 1.177929 1.707324 -0.001439 0.386332 0.512557 0.380487 0.243873 1.516865 0.101344 -0.768813 1.646072 0.275192 0.139649 1.389985 1.576705 0.346880 0.446918 1.441036 0.376743 1.075298 0.134005 0.942798 0.778785 1.014815 1.144279 1.213481 1.047075 1.249788)
 
 	;; 70-1
 	8.141488 #(0.000000 0.574183 1.353612 0.374915 1.030848 1.242040 0.744144 1.258569 1.336700 0.191968 0.691270 1.721372 0.311349 0.667908 0.915341 1.702762 0.832541 0.057365 0.926883 -0.151411 0.409001 1.010518 1.740308 1.032309 0.081237 -0.217082 0.415212 -0.071661 0.155303 -0.089140 -0.060725 1.591797 -0.172680 1.694895 0.543894 1.693239 1.206424 -0.050239 1.924102 0.172957 0.976794 0.085955 0.708872 0.776705 0.648853 -0.409925 0.316385 0.431673 -0.080960 1.419047 1.273976 0.066194 -0.289390 0.572552 1.102567 0.973972 -0.045359 1.746990 1.335632 0.698963 0.200154 -0.171320 0.156816 -0.222154 0.877092 0.959484 0.814725 0.645169 0.000279)
@@ -902,15 +900,15 @@
      )
 
 ;;; 70 all -------------------------------------------------------------------------------- ; 8.3666
-(vector 70 10.532930374146 (fv 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0)
+(vector 70 10.532930374146 #(0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0)
 
-	8.176963 (fv 0.000000 0.587989 1.431825 0.221285 0.960638 1.245837 0.795275 1.178692 1.324313 0.151685 0.789663 1.805305 0.407280 0.848410 1.089893 1.582619 0.871354 1.940142 1.022672 -0.098747 0.444755 1.081717 1.884930 1.020069 0.094475 0.162127 0.516048 0.043396 0.218952 -0.075886 0.177709 1.517609 -0.008561 1.566136 0.502844 1.768539 1.199988 0.053518 1.941460 0.082194 1.231659 0.182374 0.578473 0.843872 0.777996 -0.220205 0.467426 0.426401 0.154145 1.445497 1.004198 0.090981 -0.148632 0.673583 1.270739 1.002492 -0.085118 1.727335 1.374618 0.568333 0.205667 -0.017872 0.120962 -0.075966 0.957264 1.025234 0.841047 0.662525 -0.011036 1.297608)
+	8.176963 #(0.000000 0.587989 1.431825 0.221285 0.960638 1.245837 0.795275 1.178692 1.324313 0.151685 0.789663 1.805305 0.407280 0.848410 1.089893 1.582619 0.871354 1.940142 1.022672 -0.098747 0.444755 1.081717 1.884930 1.020069 0.094475 0.162127 0.516048 0.043396 0.218952 -0.075886 0.177709 1.517609 -0.008561 1.566136 0.502844 1.768539 1.199988 0.053518 1.941460 0.082194 1.231659 0.182374 0.578473 0.843872 0.777996 -0.220205 0.467426 0.426401 0.154145 1.445497 1.004198 0.090981 -0.148632 0.673583 1.270739 1.002492 -0.085118 1.727335 1.374618 0.568333 0.205667 -0.017872 0.120962 -0.075966 0.957264 1.025234 0.841047 0.662525 -0.011036 1.297608)
      )
 
 ;;; 71 all -------------------------------------------------------------------------------- ; 8.4261
-(vector 71 10.610488331633 (fv 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0)
+(vector 71 10.610488331633 #(0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0)
 
-	8.319609 (fv 0.000000 0.140438 -0.156343 1.390907 0.216508 0.199081 1.047301 1.430567 0.016863 1.549577 0.363516 1.057536 -0.217538 0.646697 0.414461 0.993065 1.127770 0.877766 0.873392 0.440804 0.760841 0.449527 0.494946 1.105821 0.463488 1.200046 1.158237 0.977607 1.309426 0.772719 -0.483517 0.568526 0.817490 0.531524 0.272201 1.656272 -0.164981 0.659567 1.062868 -0.123485 1.015493 0.120132 0.671070 0.461022 1.766703 1.319785 0.775590 0.108288 0.757022 1.176333 1.486331 1.779348 -0.137633 1.540074 -0.041450 0.361903 1.057755 1.116867 0.573932 0.250328 1.480465 0.262890 0.893036 1.148682 1.046983 0.264942 1.618761 0.311598 1.395691 0.570219 0.159607)
+	8.319609 #(0.000000 0.140438 -0.156343 1.390907 0.216508 0.199081 1.047301 1.430567 0.016863 1.549577 0.363516 1.057536 -0.217538 0.646697 0.414461 0.993065 1.127770 0.877766 0.873392 0.440804 0.760841 0.449527 0.494946 1.105821 0.463488 1.200046 1.158237 0.977607 1.309426 0.772719 -0.483517 0.568526 0.817490 0.531524 0.272201 1.656272 -0.164981 0.659567 1.062868 -0.123485 1.015493 0.120132 0.671070 0.461022 1.766703 1.319785 0.775590 0.108288 0.757022 1.176333 1.486331 1.779348 -0.137633 1.540074 -0.041450 0.361903 1.057755 1.116867 0.573932 0.250328 1.480465 0.262890 0.893036 1.148682 1.046983 0.264942 1.618761 0.311598 1.395691 0.570219 0.159607)
 
 	;; 70+1
 	8.291682 #(0.000000 0.876360 1.340339 0.367854 0.833412 1.105639 0.584245 1.188771 0.943418 0.250187 0.630698 -0.068665 0.279948 0.860334 0.732167 1.695945 0.897917 0.078292 1.045266 -0.333182 0.322926 1.637234 0.164051 1.142522 -0.007921 0.252497 0.780763 0.003414 -0.048763 0.073861 0.171499 1.284103 -0.089733 1.440877 -0.081573 1.527112 0.082712 -0.151289 0.255666 0.094915 1.149112 0.413227 0.691320 1.014965 0.789606 -0.102840 0.792525 0.145016 0.117221 1.222312 1.251613 -0.402327 -0.063091 0.826531 0.883896 0.465081 -0.032634 -0.408593 1.616507 0.441444 0.501925 0.126666 -0.391606 0.529294 1.070538 1.229843 1.052507 0.538182 0.119222 0.991880 0.323259)
@@ -918,9 +916,9 @@
      )
 
 ;;; 72 all -------------------------------------------------------------------------------- ; 8.4853
-(vector 72 10.800657366855 (fv 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0)
+(vector 72 10.800657366855 #(0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0)
 
-     8.472893 (fv 0.000000 -0.093428 0.860520 0.651650 0.036400 1.174208 -0.214755 0.653075 0.661176 1.355137 1.759893 1.116459 1.283776 0.222435 0.388195 1.541066 0.171819 0.911538 0.292609 1.508023 0.997352 1.385529 0.022962 0.061408 -0.061153 0.241196 0.345845 0.923448 0.626801 0.283115 0.129077 0.499608 0.703807 0.614285 0.908458 0.403245 1.817077 1.458947 0.221667 1.213107 1.163972 1.117128 0.465749 0.627880 0.010093 0.512887 0.278332 0.535697 1.736410 -0.297420 0.467311 1.419905 1.531806 0.300181 0.244309 1.719696 1.200428 1.778805 1.081039 0.613164 1.654092 1.161237 1.675808 0.051072 0.709895 1.432879 0.690303 1.567340 0.453011 1.156931 0.253055 -0.113821)
+     8.472893 #(0.000000 -0.093428 0.860520 0.651650 0.036400 1.174208 -0.214755 0.653075 0.661176 1.355137 1.759893 1.116459 1.283776 0.222435 0.388195 1.541066 0.171819 0.911538 0.292609 1.508023 0.997352 1.385529 0.022962 0.061408 -0.061153 0.241196 0.345845 0.923448 0.626801 0.283115 0.129077 0.499608 0.703807 0.614285 0.908458 0.403245 1.817077 1.458947 0.221667 1.213107 1.163972 1.117128 0.465749 0.627880 0.010093 0.512887 0.278332 0.535697 1.736410 -0.297420 0.467311 1.419905 1.531806 0.300181 0.244309 1.719696 1.200428 1.778805 1.081039 0.613164 1.654092 1.161237 1.675808 0.051072 0.709895 1.432879 0.690303 1.567340 0.453011 1.156931 0.253055 -0.113821)
 
      ;; pp.scm:
      8.375884 #(0.000000 0.704287 1.002073 1.665258 0.322937 1.455570 1.095676 0.019520 1.265776 0.283182 0.917991 1.741290 0.286595 0.909432 1.680753 0.853512 1.790234 0.580849 1.462104 0.390604 1.608631 0.491512 1.302107 0.855899 0.376743 0.878628 -0.166734 1.586900 0.799671 -0.063381 1.765431 0.627081 -0.164410 -0.007173 0.940347 0.645761 -0.294937 1.130494 1.024960 0.847385 -0.017840 -0.118371 1.360715 1.113073 0.529708 0.795901 0.574578 0.399736 -0.603738 0.201753 -0.310289 1.521464 1.779789 1.691203 1.658944 1.634184 1.099516 -0.336477 -0.077931 -0.045300 -0.292630 -0.240387 0.307058 0.437574 0.891669 1.282560 1.663663 -0.191286 -0.153149 0.842573 0.846091 1.564507)
@@ -931,7 +929,7 @@
      )
 
 ;;; 73 all -------------------------------------------------------------------------------- ; 8.5440
-(vector 73 10.773231506348 (fv 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 0 0 1 1)
+(vector 73 10.773231506348 #(0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 0 0 1 1)
 
 	8.384025 #(0.000000 -1.759204 0.258773 1.490961 0.614632 1.064083 0.749896 -0.054942 1.188953 -0.082775 0.873036 -0.312376 1.062898 0.841428 1.045571 -0.065614 1.274975 -1.916910 0.276098 1.092748 1.503967 1.111596 -0.088316 1.884539 0.350921 1.500472 0.770480 1.064780 1.223070 1.884184 0.475186 0.211115 -0.005807 1.621787 0.302411 0.412290 0.527707 1.021672 0.701884 0.707746 1.214077 0.185530 0.223747 0.017949 -0.122008 -0.024415 -0.102678 1.672194 0.539296 1.640314 0.112358 -0.000335 0.417518 1.145914 1.923035 0.558680 1.387459 0.626065 0.470292 1.786608 1.415338 0.546162 0.422057 0.960620 1.843908 -0.193870 1.077382 0.539432 1.348518 0.161710 0.094632 1.427803 0.677105)
 
@@ -939,20 +937,20 @@
      )
 
 ;;; 74 all -------------------------------------------------------------------------------- ; 8.6023
-(vector 74 10.684138298035 (fv 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1)
+(vector 74 10.684138298035 #(0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1)
 
-	8.497103 (fv 0.000000 1.325782 0.182538 1.505234 0.945874 -0.041671 1.080868 0.605444 0.042184 0.866151 0.092779 0.735532 1.859565 0.020319 1.317206 0.107906 1.193633 1.487996 0.330731 0.601261 1.523499 -0.092194 -0.139866 0.997309 1.096776 -0.197191 1.061243 0.954641 0.070885 1.639404 0.509022 -0.561148 1.719565 1.632249 0.046116 -0.076359 1.376098 -0.015465 1.245129 0.220256 -0.000849 1.641349 1.603215 1.034336 0.812483 1.278349 1.510965 -0.515530 0.337854 1.060139 1.372801 0.633196 -0.113165 0.038608 0.288776 0.637200 0.027245 0.289307 1.083582 1.060936 0.972742 0.986362 -0.049682 0.384401 -0.025034 0.779020 0.227500 0.842052 1.419898 1.088862 -0.034683 -0.286302 1.416569 1.188508)
+	8.497103 #(0.000000 1.325782 0.182538 1.505234 0.945874 -0.041671 1.080868 0.605444 0.042184 0.866151 0.092779 0.735532 1.859565 0.020319 1.317206 0.107906 1.193633 1.487996 0.330731 0.601261 1.523499 -0.092194 -0.139866 0.997309 1.096776 -0.197191 1.061243 0.954641 0.070885 1.639404 0.509022 -0.561148 1.719565 1.632249 0.046116 -0.076359 1.376098 -0.015465 1.245129 0.220256 -0.000849 1.641349 1.603215 1.034336 0.812483 1.278349 1.510965 -0.515530 0.337854 1.060139 1.372801 0.633196 -0.113165 0.038608 0.288776 0.637200 0.027245 0.289307 1.083582 1.060936 0.972742 0.986362 -0.049682 0.384401 -0.025034 0.779020 0.227500 0.842052 1.419898 1.088862 -0.034683 -0.286302 1.416569 1.188508)
 
 	8.468489 #(0.000000 1.397351 0.199115 1.454114 1.031715 -0.176142 1.092851 0.462165 -0.016726 0.853430 -0.146725 0.811539 1.707371 -0.117500 1.407819 0.198961 1.078765 1.327293 0.331176 0.524536 1.478718 -0.063221 -0.112592 0.975553 1.167568 -0.244228 0.941673 1.029112 0.072643 1.555004 0.515688 -0.520416 1.848291 1.770668 -0.056909 0.037394 1.125814 -0.215204 1.309496 0.093237 -0.026125 1.523106 1.564912 1.107622 0.871096 1.093068 1.436174 -0.591776 -0.083622 0.913864 1.332465 0.538923 -0.091814 0.025942 0.246267 0.665145 0.061016 0.018831 1.154856 0.928981 0.707435 0.975317 -0.203276 0.390356 -0.015578 0.659407 0.326913 0.774677 1.281753 0.892058 0.125387 -0.275161 1.292193 1.029723)
      )
 
 ;;; 75 all -------------------------------------------------------------------------------- ; 8.6603
-(vector 75 10.935811368418 (fv 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1)
+(vector 75 10.935811368418 #(0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1)
 
-	8.611733 (fv 0.000000 1.755991 1.257704 1.380660 0.149810 0.888775 1.327127 0.155263 0.151577 1.307367 0.881185 1.244394 1.574597 0.297434 0.440838 1.532006 1.732873 0.955224 1.870085 1.039379 1.279345 1.370265 1.314175 1.228630 1.384735 1.656856 0.776266 0.604534 0.261984 1.021399 1.199829 0.578676 0.077339 1.180219 1.340992 0.303192 0.817942 1.840717 0.738716 0.586273 0.790045 1.068192 1.408743 0.034139 1.236420 0.200452 1.339574 1.564413 1.584603 1.696238 1.745531 0.073419 1.093015 0.201959 1.123150 0.434940 -0.158552 1.357895 0.030228 1.300705 0.831156 0.431680 0.205560 1.314167 1.822576 0.046350 0.064332 0.206633 1.539706 0.841946 1.061607 0.243862 0.776250 0.362661 1.442056)
+	8.611733 #(0.000000 1.755991 1.257704 1.380660 0.149810 0.888775 1.327127 0.155263 0.151577 1.307367 0.881185 1.244394 1.574597 0.297434 0.440838 1.532006 1.732873 0.955224 1.870085 1.039379 1.279345 1.370265 1.314175 1.228630 1.384735 1.656856 0.776266 0.604534 0.261984 1.021399 1.199829 0.578676 0.077339 1.180219 1.340992 0.303192 0.817942 1.840717 0.738716 0.586273 0.790045 1.068192 1.408743 0.034139 1.236420 0.200452 1.339574 1.564413 1.584603 1.696238 1.745531 0.073419 1.093015 0.201959 1.123150 0.434940 -0.158552 1.357895 0.030228 1.300705 0.831156 0.431680 0.205560 1.314167 1.822576 0.046350 0.064332 0.206633 1.539706 0.841946 1.061607 0.243862 0.776250 0.362661 1.442056)
 
 	;; pp:
-	8.821449 (fv 0.000000 0.643920 1.130972 1.690238 0.292464 0.869774 1.528895 0.096431 0.833368 1.732367 0.427956 1.133243 1.895101 0.800425 1.503313 0.355825 1.366323 0.344133 1.388010 0.331489 1.394341 0.485612 1.420333 0.688914 1.775329 0.789323 0.036609 1.415234 0.580136 1.640322 0.948602 0.310562 1.639770 0.988134 0.358709 1.824434 1.269806 0.767195 0.219365 1.612634 1.203169 0.799392 0.490094 0.057192 1.813674 1.532055 1.111172 0.983185 0.529777 0.494315 0.164905 0.200436 0.060224 0.054336 1.844838 1.742836 -0.015897 1.650654 1.808368 1.772294 1.907511 0.205329 0.331823 0.493249 0.521115 0.584376 0.981386 1.313449 1.561550 1.968782 0.480174 0.693653 1.229745 1.573452 0.052739)
+	8.821449 #(0.000000 0.643920 1.130972 1.690238 0.292464 0.869774 1.528895 0.096431 0.833368 1.732367 0.427956 1.133243 1.895101 0.800425 1.503313 0.355825 1.366323 0.344133 1.388010 0.331489 1.394341 0.485612 1.420333 0.688914 1.775329 0.789323 0.036609 1.415234 0.580136 1.640322 0.948602 0.310562 1.639770 0.988134 0.358709 1.824434 1.269806 0.767195 0.219365 1.612634 1.203169 0.799392 0.490094 0.057192 1.813674 1.532055 1.111172 0.983185 0.529777 0.494315 0.164905 0.200436 0.060224 0.054336 1.844838 1.742836 -0.015897 1.650654 1.808368 1.772294 1.907511 0.205329 0.331823 0.493249 0.521115 0.584376 0.981386 1.313449 1.561550 1.968782 0.480174 0.693653 1.229745 1.573452 0.052739)
 
 	;; 74+1
 	8.515318 #(0.000000 1.389029 0.053243 1.526646 1.085943 -0.014266 1.021845 0.785533 0.105740 1.066202 0.109541 0.721402 1.481339 -0.062236 1.471506 0.193577 1.353902 1.400242 0.278679 0.324177 1.590186 -0.227902 -0.241771 0.976773 0.943703 -0.115168 1.214668 0.867933 0.090538 1.812393 0.551644 -0.544819 1.885995 1.482864 0.072438 -0.206638 1.277003 0.005949 1.175272 0.161211 -0.337581 1.706146 1.432946 0.961103 0.665555 1.251116 1.581164 -0.454588 0.421031 1.091995 1.387656 0.588011 0.099113 -0.117947 0.106565 0.807292 -0.158839 0.438389 0.959674 0.818415 0.684353 0.940338 0.056996 0.185598 0.120952 0.730169 0.579518 0.929526 1.498906 1.051412 -0.221875 -0.584880 1.336940 1.131418 0.326487)
@@ -960,34 +958,34 @@
      )
 
 ;;; 76 all -------------------------------------------------------------------------------- ; 8.7178
-(vector 76 10.689208030701 (fv 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0)
+(vector 76 10.689208030701 #(0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0)
 
-	8.622898 (fv 0.000000 0.389242 -0.170662 1.421644 1.248164 0.164000 0.718605 1.792721 0.677210 1.518595 0.963267 -0.186472 1.263794 1.595425 0.383743 0.443182 1.535243 0.669172 1.194047 0.802827 1.746269 0.569800 1.408025 1.796723 1.258639 0.620093 0.886554 0.863256 0.711462 1.456391 -0.186271 0.639923 1.414383 -0.059653 0.858601 0.618312 0.847274 0.301714 0.319909 0.359052 0.817062 -0.212571 0.558016 0.169995 1.152558 0.886044 1.332154 0.013242 0.369659 -0.032997 1.710630 1.029547 0.363359 -0.095703 0.197840 0.264645 1.078918 0.774045 1.172991 1.082380 0.650868 1.140749 0.194089 0.747056 0.734148 0.248352 1.094670 0.793873 -0.197763 1.665030 0.915389 0.675623 1.504323 1.585265 1.586133 1.087431)
+	8.622898 #(0.000000 0.389242 -0.170662 1.421644 1.248164 0.164000 0.718605 1.792721 0.677210 1.518595 0.963267 -0.186472 1.263794 1.595425 0.383743 0.443182 1.535243 0.669172 1.194047 0.802827 1.746269 0.569800 1.408025 1.796723 1.258639 0.620093 0.886554 0.863256 0.711462 1.456391 -0.186271 0.639923 1.414383 -0.059653 0.858601 0.618312 0.847274 0.301714 0.319909 0.359052 0.817062 -0.212571 0.558016 0.169995 1.152558 0.886044 1.332154 0.013242 0.369659 -0.032997 1.710630 1.029547 0.363359 -0.095703 0.197840 0.264645 1.078918 0.774045 1.172991 1.082380 0.650868 1.140749 0.194089 0.747056 0.734148 0.248352 1.094670 0.793873 -0.197763 1.665030 0.915389 0.675623 1.504323 1.585265 1.586133 1.087431)
 
 	8.574100 #(0.000000 0.381067 -0.272442 1.488465 1.142707 0.360320 0.746704 1.847055 0.740548 1.508045 0.951781 -0.163260 1.230184 1.623769 0.378228 0.442543 1.444666 0.627164 1.121499 0.747522 1.711575 0.455052 1.521242 1.941174 1.200574 0.592945 0.847791 0.979331 0.775371 1.568106 -0.195026 0.565512 1.483676 -0.004045 0.884949 0.722398 0.759194 0.390231 0.390425 0.259838 0.870917 -0.376787 0.551015 0.111447 1.304287 0.854661 1.506961 -0.032845 0.351362 0.031608 1.942972 1.061692 0.389298 -0.107628 -0.038521 0.239436 1.098754 0.925984 1.312533 1.079671 0.638668 1.047785 0.324774 0.836243 0.863976 0.266976 1.127471 0.871925 -0.192469 1.644992 0.941790 0.676374 1.373040 1.680505 1.659912 0.999514)
 	8.566643 #(0.000000 0.381106 -0.266391 1.483482 1.132005 0.371120 0.752013 1.832292 0.729074 1.486332 1.011195 -0.165598 1.221917 1.641575 0.360666 0.433077 1.404878 0.604388 1.104926 0.729165 1.669029 0.450931 1.499767 -0.080683 1.221002 0.625260 0.828962 0.972153 0.755738 1.545260 -0.154840 0.581108 1.513378 0.013021 0.891683 0.702677 0.747453 0.397193 0.417760 0.289893 0.885881 -0.366958 0.566657 0.149934 1.332346 0.845232 1.552276 -0.056636 0.409890 0.036503 -0.043099 1.055520 0.429840 -0.126953 0.004032 0.241993 1.122772 0.921410 1.349658 1.081742 0.615932 1.026733 0.322881 0.803706 0.857043 0.333651 1.097387 0.873399 -0.168242 1.662747 0.934611 0.695385 1.391924 1.697835 1.605684 0.993676)
      )
 
 ;;; 77 all -------------------------------------------------------------------------------- ; 8.7750
-(vector 77 11.114716461811 (fv 0 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0)
+(vector 77 11.114716461811 #(0 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0)
 
-	8.693626 (fv 0.000000 0.342470 0.518102 0.602103 1.407511 1.793531 0.096346 0.250378 0.943784 0.388159 0.656038 0.296223 1.141950 0.214103 0.212479 0.828756 1.402312 1.692057 0.511954 0.158583 -0.254149 0.373835 0.095344 -0.147316 0.784069 0.081610 -0.056393 0.798330 0.705534 1.696239 0.742515 1.236436 -0.107133 1.590407 0.658892 -0.033009 -0.161883 1.612218 1.476439 0.692575 -0.060023 1.224517 0.875204 0.501273 0.494798 0.327706 1.600469 0.607079 0.567961 0.917115 0.716199 1.138396 0.731691 -0.084350 0.371809 0.181536 0.739186 1.478965 0.762792 0.759384 1.499056 1.662862 1.474568 1.752637 0.981158 1.382311 0.543578 -0.609814 1.825975 0.848970 1.045950 0.310451 0.519502 0.003348 1.354017 -0.105098 1.298274)
+	8.693626 #(0.000000 0.342470 0.518102 0.602103 1.407511 1.793531 0.096346 0.250378 0.943784 0.388159 0.656038 0.296223 1.141950 0.214103 0.212479 0.828756 1.402312 1.692057 0.511954 0.158583 -0.254149 0.373835 0.095344 -0.147316 0.784069 0.081610 -0.056393 0.798330 0.705534 1.696239 0.742515 1.236436 -0.107133 1.590407 0.658892 -0.033009 -0.161883 1.612218 1.476439 0.692575 -0.060023 1.224517 0.875204 0.501273 0.494798 0.327706 1.600469 0.607079 0.567961 0.917115 0.716199 1.138396 0.731691 -0.084350 0.371809 0.181536 0.739186 1.478965 0.762792 0.759384 1.499056 1.662862 1.474568 1.752637 0.981158 1.382311 0.543578 -0.609814 1.825975 0.848970 1.045950 0.310451 0.519502 0.003348 1.354017 -0.105098 1.298274)
 
 	8.657403 #(0.000000 0.144503 0.521174 0.518787 1.193244 1.814457 -0.020944 0.363643 0.853723 0.860530 0.580514 0.078066 1.010161 0.221441 0.183044 0.759859 1.545184 -0.010635 0.635858 0.285802 -0.330206 0.372074 0.148651 -0.307361 0.733497 -0.192823 -0.013078 0.625648 0.850253 1.811781 0.605791 1.229804 0.065972 1.468728 0.623063 -0.230764 -0.019445 1.531051 1.297899 0.768834 -0.081130 1.071894 0.927752 0.511168 0.237065 0.316832 -0.004891 0.571763 0.647286 1.228392 0.493001 1.368827 0.671571 -0.234110 0.332624 0.387950 0.822479 1.176496 1.091221 0.738538 1.432063 1.421456 1.054724 -0.269734 0.700009 1.401715 0.397450 -0.246031 -0.115146 0.640052 0.961541 0.375597 0.318506 -0.237690 1.548563 -0.512722 1.445228)
 	8.655850 #(0.000000 0.144015 0.521787 0.519011 1.193985 1.813929 -0.020721 0.363063 0.853642 0.859887 0.580896 0.078449 1.009266 0.221508 0.182992 0.759898 1.544517 -0.010376 0.635651 0.285693 -0.330723 0.371939 0.149327 -0.307594 0.733085 -0.192814 -0.013453 0.625868 0.850147 1.811263 0.605103 1.230124 0.065834 1.468308 0.622956 -0.230654 -0.019787 1.531322 1.297364 0.769617 -0.081404 1.071828 0.928156 0.511154 0.237021 0.316908 -0.004413 0.571845 0.646678 1.228590 0.492699 1.369241 0.672452 -0.233665 0.332431 0.388115 0.821896 1.176234 1.091315 0.738910 1.432114 1.421319 1.054889 -0.269641 0.700596 1.402150 0.397349 -0.245474 -0.116062 0.640946 0.961580 0.375676 0.318553 -0.237609 1.548434 -0.512459 1.445327)
      )
 
 ;;; 78 all -------------------------------------------------------------------------------- ; 8.8318
-(vector 78 11.471938943963 (fv 0 1 1 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1)
+(vector 78 11.471938943963 #(0 1 1 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1)
 
 	8.721647 #(0.000000 1.249128 1.236819 0.086271 0.084870 1.618123 0.329492 1.828009 1.561909 0.021559 1.381905 1.787354 1.267428 0.679445 0.317703 1.068186 0.771332 1.720040 0.579492 0.551164 0.773425 1.834796 0.776430 1.432091 0.890602 0.586016 1.596666 0.290630 1.219329 1.491675 0.728639 1.708194 1.560487 1.434303 1.462488 0.635070 1.113941 1.563335 1.460331 0.701917 0.605822 1.400388 -0.075938 0.671582 0.475347 1.301044 1.799871 0.995216 1.609922 0.401184 0.764542 1.290171 0.978260 1.880400 0.986160 0.147021 0.340498 0.060183 -0.194639 1.442758 -0.089614 1.632445 0.465746 0.262863 0.032668 -0.154147 0.169869 0.985285 0.862469 0.985943 1.417781 1.577680 0.168817 -0.243252 1.808701 0.241312 1.826852 1.010182)
 	8.713157 #(0.000000 1.185175 1.397998 0.029507 -0.003150 1.681558 0.352287 -0.142980 1.503432 -0.031653 1.606742 1.761627 1.241378 0.692257 0.198504 1.080125 0.928512 1.682058 0.474050 0.647248 0.825797 1.866311 0.823439 1.412665 0.855734 0.627072 1.762849 0.273347 1.224795 1.527402 0.799841 1.826401 1.613076 1.464329 1.459644 0.659045 1.125726 1.685514 1.459290 0.692583 0.629938 1.416569 -0.101579 0.653448 0.364955 1.272692 1.662367 1.045389 1.620168 0.458585 0.835933 1.249466 0.947077 -0.133359 1.014573 0.250790 0.421139 -0.005825 -0.027874 1.307059 0.066093 1.637593 0.497687 0.345017 0.115925 -0.006858 0.311739 1.192497 0.790849 1.021741 1.387921 1.598464 0.189632 -0.083007 1.800753 0.182932 -0.105722 0.993536)
      )
 
 ;;; 79 all -------------------------------------------------------------------------------- ; 8.8882
-(vector 79 11.334476470947 (fv 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0)
+(vector 79 11.334476470947 #(0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0)
 
-     8.845367 (fv 0.000000 1.238318 1.165090 1.291700 0.803595 0.614248 1.388497 1.905092 0.146964 0.775475 0.093294 -0.057178 0.069260 0.967289 0.726888 1.927694 0.404014 -0.050125 1.170622 0.795731 0.415661 0.113117 0.949983 0.547877 0.937155 0.147536 1.182414 0.680260 0.043365 0.406697 0.191985 0.520170 0.649818 0.646884 0.567272 1.384599 1.089945 0.420022 1.776381 1.388186 1.481564 0.061642 1.806781 0.638535 0.038366 1.606509 1.826388 1.366478 1.328019 0.480776 1.683074 0.476259 0.537766 1.179629 1.609320 1.234604 0.090600 0.429089 1.028733 0.835166 0.689618 1.227466 0.068475 0.130750 1.461448 1.601183 1.627224 0.857096 1.862391 0.455364 1.260302 0.135047 1.550455 0.219288 0.922341 0.004761 0.651583 1.409352 1.642849)
+     8.845367 #(0.000000 1.238318 1.165090 1.291700 0.803595 0.614248 1.388497 1.905092 0.146964 0.775475 0.093294 -0.057178 0.069260 0.967289 0.726888 1.927694 0.404014 -0.050125 1.170622 0.795731 0.415661 0.113117 0.949983 0.547877 0.937155 0.147536 1.182414 0.680260 0.043365 0.406697 0.191985 0.520170 0.649818 0.646884 0.567272 1.384599 1.089945 0.420022 1.776381 1.388186 1.481564 0.061642 1.806781 0.638535 0.038366 1.606509 1.826388 1.366478 1.328019 0.480776 1.683074 0.476259 0.537766 1.179629 1.609320 1.234604 0.090600 0.429089 1.028733 0.835166 0.689618 1.227466 0.068475 0.130750 1.461448 1.601183 1.627224 0.857096 1.862391 0.455364 1.260302 0.135047 1.550455 0.219288 0.922341 0.004761 0.651583 1.409352 1.642849)
 
      ;; pp:
      8.777582 #(0.000000 0.850012 1.278466 1.671652 0.485604 1.428681 1.798079 0.243483 0.926746 1.779185 0.395714 1.026729 -0.089658 1.070596 1.891094 0.483045 1.500429 0.189865 1.099066 0.205077 0.960527 0.060100 1.107914 0.183231 1.450310 0.468483 1.446982 0.685162 -0.081146 1.099289 0.484068 -0.117908 1.374114 0.639742 1.715595 0.816256 0.293012 1.668108 1.425294 0.747308 0.296172 1.780496 1.411915 0.770108 0.585162 0.343644 1.740454 0.115329 1.259755 1.673967 0.856085 0.577614 0.383167 0.304410 -0.049803 0.056826 -0.212368 1.721031 0.015177 1.660724 1.618929 1.612917 1.203620 1.624606 1.770412 0.046014 0.166329 0.333277 0.356575 0.671429 0.926511 1.256476 -0.022764 0.419017 0.748312 1.255568 1.486031 1.553904 0.445544)
@@ -995,9 +993,9 @@
      )
 
 ;;; 80 all -------------------------------------------------------------------------------- ; 8.9443
-(vector 80 11.30185508728 (fv 0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0)
+(vector 80 11.30185508728 #(0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0)
 
-	8.831605 (fv 0.000000 0.718457 0.752874 0.707265 1.105140 1.556866 1.675971 1.743288 1.737050 1.402684 0.726424 0.001544 0.787560 0.610707 0.221912 0.548490 1.255462 0.532840 1.735795 1.159475 0.139393 0.566082 0.477708 1.186070 0.213588 1.697938 1.877210 -0.027617 0.446036 -0.097653 1.420626 0.288659 1.413894 1.358919 0.713009 -0.285435 0.875204 0.375292 0.708148 0.907015 0.596415 1.676708 -0.002236 0.617188 -0.254880 0.679354 1.396570 0.024604 0.491384 1.191175 0.583286 0.255907 0.583959 0.646881 1.743044 0.166682 0.513542 1.079013 0.694687 0.379588 0.528146 0.707196 1.408903 1.510794 1.151055 0.672700 0.297721 -0.154036 1.059849 1.480109 0.687072 0.133333 1.264870 -0.326181 0.342810 1.875130 1.918140 1.634313 0.782341 -0.170226)
+	8.831605 #(0.000000 0.718457 0.752874 0.707265 1.105140 1.556866 1.675971 1.743288 1.737050 1.402684 0.726424 0.001544 0.787560 0.610707 0.221912 0.548490 1.255462 0.532840 1.735795 1.159475 0.139393 0.566082 0.477708 1.186070 0.213588 1.697938 1.877210 -0.027617 0.446036 -0.097653 1.420626 0.288659 1.413894 1.358919 0.713009 -0.285435 0.875204 0.375292 0.708148 0.907015 0.596415 1.676708 -0.002236 0.617188 -0.254880 0.679354 1.396570 0.024604 0.491384 1.191175 0.583286 0.255907 0.583959 0.646881 1.743044 0.166682 0.513542 1.079013 0.694687 0.379588 0.528146 0.707196 1.408903 1.510794 1.151055 0.672700 0.297721 -0.154036 1.059849 1.480109 0.687072 0.133333 1.264870 -0.326181 0.342810 1.875130 1.918140 1.634313 0.782341 -0.170226)
 
 	;; 81 - 1
 	8.853012 #(0.000000 0.713664 0.751521 0.448581 1.078712 1.434332 -0.106130 1.560883 1.450760 1.498278 0.937332 -0.045737 0.468326 0.366103 0.320014 0.581407 1.184615 0.699951 1.696540 1.157496 0.135085 0.626551 0.420080 1.134483 0.350026 1.714983 1.594968 0.442820 0.488286 -0.156674 1.134813 0.168151 1.216425 0.905956 0.520243 -0.142318 0.437369 0.180759 0.624230 0.569840 0.172595 1.321073 -0.234574 0.786368 -0.490064 0.447127 1.640821 -0.178464 0.308828 0.997718 0.822718 -0.196077 0.281017 0.757467 1.401582 0.240219 0.552190 0.865559 0.311162 0.036903 0.553601 0.299180 1.009477 1.109391 0.804156 0.557491 0.291292 -0.278325 0.995535 -0.048564 0.514170 -0.227699 1.019707 -0.548622 -0.162405 1.658786 1.315882 1.435095 0.750976 -0.261917)
@@ -1005,12 +1003,12 @@
      )
 
 ;;; 81 all -------------------------------------------------------------------------------- ; 9
-(vector 81 11.22668050284 (fv 0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1)
+(vector 81 11.22668050284 #(0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1)
 
-     8.961491 (fv 0.000000 0.634711 0.914288 0.369120 0.489315 1.342522 0.647705 1.766421 1.148272 1.455934 0.450010 0.224566 1.110702 0.040996 1.346853 1.773154 1.255402 0.752437 1.110884 0.031625 1.597766 0.103816 1.912905 -0.011027 0.863686 0.820253 1.302167 1.352505 1.039370 0.116915 0.947518 1.168519 0.272351 1.514646 1.808891 0.551022 1.359986 0.703545 0.651408 1.697573 1.001093 1.819478 -0.153070 -0.020542 0.748602 1.669047 0.373021 0.491577 0.705265 0.740848 -0.189697 0.502215 0.348836 0.005306 -0.207198 0.930183 -0.631614 1.639932 1.773044 1.357496 1.130593 0.312825 1.896666 0.201668 1.169961 0.899991 0.382267 -0.065252 0.308097 0.095309 1.059630 -0.075945 1.147344 0.303812 -0.113244 -0.220507 0.240152 1.567520 0.130729 0.128142 -0.134246)
+     8.961491 #(0.000000 0.634711 0.914288 0.369120 0.489315 1.342522 0.647705 1.766421 1.148272 1.455934 0.450010 0.224566 1.110702 0.040996 1.346853 1.773154 1.255402 0.752437 1.110884 0.031625 1.597766 0.103816 1.912905 -0.011027 0.863686 0.820253 1.302167 1.352505 1.039370 0.116915 0.947518 1.168519 0.272351 1.514646 1.808891 0.551022 1.359986 0.703545 0.651408 1.697573 1.001093 1.819478 -0.153070 -0.020542 0.748602 1.669047 0.373021 0.491577 0.705265 0.740848 -0.189697 0.502215 0.348836 0.005306 -0.207198 0.930183 -0.631614 1.639932 1.773044 1.357496 1.130593 0.312825 1.896666 0.201668 1.169961 0.899991 0.382267 -0.065252 0.308097 0.095309 1.059630 -0.075945 1.147344 0.303812 -0.113244 -0.220507 0.240152 1.567520 0.130729 0.128142 -0.134246)
 
      ;; pp:
-     8.909320 (fv 0.000000 0.637783 1.093840 1.736075 0.229438 0.855956 1.363854 0.030260 0.521624 1.242121 0.051165 0.675419 1.614595 0.476873 1.278688 0.012785 0.817110 -0.304934 0.720383 -0.202920 0.733695 0.107439 1.315558 0.129614 1.122993 0.193244 1.234642 0.403581 1.725244 0.895732 0.205820 1.636536 0.593082 1.809528 1.260391 0.470119 -0.070091 1.399098 0.818162 0.271203 1.928340 1.562814 0.865292 0.051460 1.916623 1.232135 1.265689 0.734799 0.654116 0.188660 0.092307 1.641866 1.468875 0.817027 0.972897 0.621305 0.637924 0.617240 0.962249 0.473819 0.518139 0.286173 0.438785 0.267011 0.412016 0.426579 0.834941 1.189978 1.256888 1.096694 1.389245 1.442391 -0.226908 0.347927 0.458943 0.982038 1.505430 1.850054 0.061414 0.437908 0.768823)
+     8.909320 #(0.000000 0.637783 1.093840 1.736075 0.229438 0.855956 1.363854 0.030260 0.521624 1.242121 0.051165 0.675419 1.614595 0.476873 1.278688 0.012785 0.817110 -0.304934 0.720383 -0.202920 0.733695 0.107439 1.315558 0.129614 1.122993 0.193244 1.234642 0.403581 1.725244 0.895732 0.205820 1.636536 0.593082 1.809528 1.260391 0.470119 -0.070091 1.399098 0.818162 0.271203 1.928340 1.562814 0.865292 0.051460 1.916623 1.232135 1.265689 0.734799 0.654116 0.188660 0.092307 1.641866 1.468875 0.817027 0.972897 0.621305 0.637924 0.617240 0.962249 0.473819 0.518139 0.286173 0.438785 0.267011 0.412016 0.426579 0.834941 1.189978 1.256888 1.096694 1.389245 1.442391 -0.226908 0.347927 0.458943 0.982038 1.505430 1.850054 0.061414 0.437908 0.768823)
 
      ;; also 80+1 originally:
      8.968686 #(0.000000 0.248430 0.863441 0.293416 0.756185 1.379289 -0.270431 1.263800 1.341315 1.557550 1.197384 0.213673 0.196685 0.062803 0.468673 0.734019 1.159371 0.832869 1.483006 0.904988 -0.128901 0.681963 0.619993 1.568168 0.324132 1.473951 1.629584 0.505398 0.500570 -0.070053 1.349935 -0.001861 1.159249 0.864343 0.801291 -0.786597 0.513558 0.362321 0.664120 0.282478 0.118044 1.145415 -0.296862 0.587955 -0.589352 0.600173 1.355457 -0.471847 0.396241 0.750727 1.123705 -0.583153 0.192765 0.272763 0.931980 0.776263 0.394773 0.897959 0.871419 0.420019 0.376219 -0.208891 0.894969 0.785338 0.828230 0.967371 0.361582 -0.266678 0.703981 -0.550373 0.421334 -0.253234 1.003690 -0.389957 -0.015548 -0.430183 -0.152241 1.200914 0.591632 -0.142675 -0.492441)
@@ -1021,12 +1019,12 @@
      )
 
 ;;; 82 all -------------------------------------------------------------------------------- ; 9.0554
-(vector 82 11.601468306037 (fv 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0)
+(vector 82 11.601468306037 #(0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0)
 
-     9.074372 (fv 0.000000 1.648602 0.113059 0.965847 0.614379 1.876939 0.598065 0.033495 1.128904 0.535962 0.404933 0.340847 -0.287176 1.664997 0.944124 0.484563 1.365390 -0.175780 1.135023 1.030858 0.610885 1.630994 0.348969 1.892603 0.337558 0.278067 1.048537 1.676406 0.392409 0.207975 0.887089 1.313518 1.800663 1.007393 0.181812 -0.074478 0.144619 1.511865 1.173214 0.664191 1.387698 1.632837 0.132108 0.353188 0.227412 1.024174 1.607289 0.662392 -0.023377 -0.428601 1.063517 1.407784 1.563623 0.788150 1.561202 0.023129 0.361493 1.608137 1.816713 0.962416 0.274252 0.900687 0.860331 0.458473 0.118859 0.572111 0.805640 1.846370 0.649018 0.713232 0.291663 -1.866918 0.486252 0.300849 0.355338 1.356604 0.996671 0.882787 1.511703 1.110696 1.774461 0.441695)
+     9.074372 #(0.000000 1.648602 0.113059 0.965847 0.614379 1.876939 0.598065 0.033495 1.128904 0.535962 0.404933 0.340847 -0.287176 1.664997 0.944124 0.484563 1.365390 -0.175780 1.135023 1.030858 0.610885 1.630994 0.348969 1.892603 0.337558 0.278067 1.048537 1.676406 0.392409 0.207975 0.887089 1.313518 1.800663 1.007393 0.181812 -0.074478 0.144619 1.511865 1.173214 0.664191 1.387698 1.632837 0.132108 0.353188 0.227412 1.024174 1.607289 0.662392 -0.023377 -0.428601 1.063517 1.407784 1.563623 0.788150 1.561202 0.023129 0.361493 1.608137 1.816713 0.962416 0.274252 0.900687 0.860331 0.458473 0.118859 0.572111 0.805640 1.846370 0.649018 0.713232 0.291663 -1.866918 0.486252 0.300849 0.355338 1.356604 0.996671 0.882787 1.511703 1.110696 1.774461 0.441695)
 
      ;; pp: 
-     8.942054 (fv 0.000000 0.741190 1.211121 1.767480 0.098390 0.839201 1.102556 -0.209453 0.453250 1.122839 0.064920 0.959867 1.388767 0.263801 1.292900 0.219769 1.265994 0.422114 1.103821 -0.093210 0.755477 0.000245 0.969187 1.607339 1.053959 0.313625 1.046034 0.279348 1.465040 0.751688 0.022843 1.470315 0.592990 1.853486 1.118710 0.593243 1.855200 0.862858 0.945784 0.185739 1.601158 1.076300 0.669622 0.291600 1.841348 1.175765 0.663836 0.601642 0.369909 1.837262 -0.023948 1.335189 1.343186 0.755277 0.855544 0.293163 0.518573 0.368668 0.285100 0.386831 1.688397 0.163703 0.172910 0.313842 -0.159903 -0.137818 0.212922 0.539645 0.627827 0.897666 0.865830 1.159886 1.047275 1.360198 1.762925 0.204264 1.078567 0.797293 1.200018 1.357729 0.204458 0.441846)
+     8.942054 #(0.000000 0.741190 1.211121 1.767480 0.098390 0.839201 1.102556 -0.209453 0.453250 1.122839 0.064920 0.959867 1.388767 0.263801 1.292900 0.219769 1.265994 0.422114 1.103821 -0.093210 0.755477 0.000245 0.969187 1.607339 1.053959 0.313625 1.046034 0.279348 1.465040 0.751688 0.022843 1.470315 0.592990 1.853486 1.118710 0.593243 1.855200 0.862858 0.945784 0.185739 1.601158 1.076300 0.669622 0.291600 1.841348 1.175765 0.663836 0.601642 0.369909 1.837262 -0.023948 1.335189 1.343186 0.755277 0.855544 0.293163 0.518573 0.368668 0.285100 0.386831 1.688397 0.163703 0.172910 0.313842 -0.159903 -0.137818 0.212922 0.539645 0.627827 0.897666 0.865830 1.159886 1.047275 1.360198 1.762925 0.204264 1.078567 0.797293 1.200018 1.357729 0.204458 0.441846)
 
      ;; 81+1
      8.851350 #(0.000000 0.560616 1.028384 0.602446 0.918314 1.370584 0.032799 1.596301 1.697405 1.496371 0.996676 0.029713 0.420383 0.826586 0.248203 0.575317 1.241662 0.486923 -0.146886 1.026281 0.207970 1.026508 0.554521 1.233144 0.124979 1.629837 1.740416 0.133168 0.934365 -0.707656 0.913598 0.062338 0.910383 1.041029 0.285851 -0.273453 0.668898 0.057418 0.546969 0.703739 0.642923 0.958752 -0.195671 0.682461 -0.471844 0.445399 1.669461 -0.200437 0.550525 0.885547 1.105654 -0.043073 0.307985 0.716590 1.018538 0.595943 0.488507 0.208799 0.077662 0.185943 0.759192 0.106129 0.934593 1.168071 1.038861 0.631960 0.173275 -0.022867 1.092552 -0.449400 0.726450 -0.020524 1.292546 -0.564480 -0.067237 1.491273 1.275468 1.239648 0.821121 -0.291412 -0.449925 0.390998)
@@ -1034,23 +1032,23 @@
      )
 
 ;;; 83 all -------------------------------------------------------------------------------- ; 9.1104
-(vector 83 11.429935034332 (fv 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0)
+(vector 83 11.429935034332 #(0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0)
 
-	8.938600 (fv 0.000000 0.414028 0.125789 1.159865 0.086238 0.817482 0.340516 1.199339 -0.170286 1.744945 1.587696 1.158800 1.281058 0.190384 1.473320 0.235428 1.621261 0.225261 1.644931 -0.137023 1.525995 0.691219 0.557902 1.528647 -0.234276 -0.009740 0.044217 0.592778 0.909815 0.773874 0.836299 0.726340 0.981312 0.618405 0.408288 0.150201 0.908250 0.109103 0.413166 0.847395 0.541585 1.672450 1.474939 0.635397 0.153870 -0.014899 1.455728 0.983819 0.181154 0.726107 0.638924 1.106663 0.611788 0.238433 0.670956 1.522770 1.842401 0.939513 -0.051810 1.267322 0.323759 1.831419 1.004026 -0.159128 0.287041 0.349723 0.402841 0.045990 0.570998 1.374651 1.603295 0.760887 1.460939 -0.002747 0.693326 1.517648 0.987805 0.554027 0.029827 0.036863 0.188640 0.849464 1.347102)
+	8.938600 #(0.000000 0.414028 0.125789 1.159865 0.086238 0.817482 0.340516 1.199339 -0.170286 1.744945 1.587696 1.158800 1.281058 0.190384 1.473320 0.235428 1.621261 0.225261 1.644931 -0.137023 1.525995 0.691219 0.557902 1.528647 -0.234276 -0.009740 0.044217 0.592778 0.909815 0.773874 0.836299 0.726340 0.981312 0.618405 0.408288 0.150201 0.908250 0.109103 0.413166 0.847395 0.541585 1.672450 1.474939 0.635397 0.153870 -0.014899 1.455728 0.983819 0.181154 0.726107 0.638924 1.106663 0.611788 0.238433 0.670956 1.522770 1.842401 0.939513 -0.051810 1.267322 0.323759 1.831419 1.004026 -0.159128 0.287041 0.349723 0.402841 0.045990 0.570998 1.374651 1.603295 0.760887 1.460939 -0.002747 0.693326 1.517648 0.987805 0.554027 0.029827 0.036863 0.188640 0.849464 1.347102)
 	8.936213 #(0.000000 0.408201 0.126040 1.158014 0.083410 0.822392 0.340155 1.194042 -0.172082 1.748578 1.586610 1.161056 1.277534 0.186364 1.476999 0.235823 1.627756 0.227972 1.641505 -0.140011 1.528346 0.692010 0.553694 1.528749 -0.231846 -0.009008 0.040533 0.588403 0.914079 0.778413 0.831073 0.723278 0.978128 0.624349 0.400433 0.146060 0.911725 0.111205 0.414216 0.850529 0.541662 1.663794 1.477328 0.641317 0.149613 -0.013692 1.454096 0.985241 0.185917 0.730787 0.637733 1.097840 0.604584 0.240638 0.678667 1.522252 1.845745 0.944051 -0.047786 1.256053 0.323123 1.836166 1.002122 -0.154558 0.287277 0.348279 0.400131 0.048348 0.573133 1.378950 1.603761 0.771384 1.465373 0.014397 0.693518 1.523180 0.987688 0.553385 0.023434 0.030358 0.189016 0.850384 1.349789)
 	8.934963 #(0.000000 0.388833 0.119269 1.159396 0.084041 0.831926 0.332635 1.176250 -0.176695 1.764815 1.577336 1.167712 1.277058 0.180565 1.483279 0.244455 1.639842 0.231019 1.628465 -0.143232 1.536821 0.704938 0.552153 1.530466 -0.224513 0.010496 0.034106 0.576377 0.939875 0.785468 0.829993 0.715502 0.968124 0.640032 0.396582 0.150458 0.935168 0.123648 0.408167 0.864017 0.545634 1.640474 1.473610 0.636166 0.133436 -0.003429 1.440429 0.982288 0.212836 0.743361 0.639874 1.101557 0.617385 0.271411 0.703361 1.525115 1.857795 0.954785 -0.022712 1.232732 0.327660 1.853705 1.028391 -0.134471 0.306948 0.357972 0.408006 0.063155 0.593195 1.406229 1.598252 0.790489 1.494874 0.055118 0.707198 1.527620 0.974145 0.561751 0.009624 0.051221 0.195975 0.865753 1.371065)
      )
 
 ;;; 84 all -------------------------------------------------------------------------------- ; 9.1652
-(vector 84 11.774056434631 (fv 0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1)
+(vector 84 11.774056434631 #(0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1)
 
-	9.023210 (fv 0.000000 0.159304 -0.208530 0.193874 1.193993 0.513874 0.193906 1.420202 1.601162 0.069662 0.596870 0.499106 1.879705 1.298791 1.380896 1.011752 1.567079 1.088823 0.586749 1.189212 0.187019 0.623891 0.443258 1.756821 0.221910 -0.166048 1.505325 1.956699 0.145006 0.858253 1.259810 1.292214 -0.292005 0.449812 -0.218977 -0.354252 1.219999 0.997645 1.646540 1.482430 0.239288 -0.155628 0.755326 1.705293 0.967714 0.360450 0.143064 1.152089 0.481087 0.972815 0.614833 1.330922 0.788019 0.726428 0.572863 1.454284 1.031818 0.764416 0.692179 1.019395 0.005944 0.083543 1.745841 0.713648 0.857380 1.260681 1.338561 0.608841 1.025699 1.518383 0.107569 1.492751 -0.040716 0.923284 0.288212 0.772164 -0.210851 0.728511 0.794985 1.593926 1.082153 1.208449 1.606070 0.581831)
+	9.023210 #(0.000000 0.159304 -0.208530 0.193874 1.193993 0.513874 0.193906 1.420202 1.601162 0.069662 0.596870 0.499106 1.879705 1.298791 1.380896 1.011752 1.567079 1.088823 0.586749 1.189212 0.187019 0.623891 0.443258 1.756821 0.221910 -0.166048 1.505325 1.956699 0.145006 0.858253 1.259810 1.292214 -0.292005 0.449812 -0.218977 -0.354252 1.219999 0.997645 1.646540 1.482430 0.239288 -0.155628 0.755326 1.705293 0.967714 0.360450 0.143064 1.152089 0.481087 0.972815 0.614833 1.330922 0.788019 0.726428 0.572863 1.454284 1.031818 0.764416 0.692179 1.019395 0.005944 0.083543 1.745841 0.713648 0.857380 1.260681 1.338561 0.608841 1.025699 1.518383 0.107569 1.492751 -0.040716 0.923284 0.288212 0.772164 -0.210851 0.728511 0.794985 1.593926 1.082153 1.208449 1.606070 0.581831)
      )
 
 ;;; 85 all -------------------------------------------------------------------------------- ; 9.2195
-(vector 85 11.927130699158 (fv 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0 1)
+(vector 85 11.927130699158 #(0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0 1)
 
-	9.127702 (fv 0.000000 0.377539 0.047529 1.429700 0.417181 1.140688 0.738197 -0.138709 -0.448043 0.627123 1.392127 1.819604 0.611302 1.321770 0.758910 1.628764 1.577483 0.372253 0.761090 0.479480 0.236979 1.110344 0.805106 1.644437 0.008357 0.656171 0.991297 -0.054354 1.739257 1.797129 1.125137 0.066677 1.422676 0.455091 0.389601 0.812550 0.569451 1.358336 1.535806 0.395945 0.917012 1.261389 0.975555 0.676523 1.340562 0.262979 0.348691 0.300647 1.560755 0.036844 0.912709 1.718241 0.914499 1.035722 0.712055 1.556119 1.328161 1.240892 0.216373 0.897089 0.626805 0.862584 0.585791 1.306757 0.828290 1.426360 0.918009 1.215542 0.443071 1.531104 1.274055 0.636447 0.998872 0.647434 1.352131 -0.267987 0.709420 0.317461 -0.001614 0.037126 -0.160098 1.679742 0.637515 0.582751 0.080874)
+	9.127702 #(0.000000 0.377539 0.047529 1.429700 0.417181 1.140688 0.738197 -0.138709 -0.448043 0.627123 1.392127 1.819604 0.611302 1.321770 0.758910 1.628764 1.577483 0.372253 0.761090 0.479480 0.236979 1.110344 0.805106 1.644437 0.008357 0.656171 0.991297 -0.054354 1.739257 1.797129 1.125137 0.066677 1.422676 0.455091 0.389601 0.812550 0.569451 1.358336 1.535806 0.395945 0.917012 1.261389 0.975555 0.676523 1.340562 0.262979 0.348691 0.300647 1.560755 0.036844 0.912709 1.718241 0.914499 1.035722 0.712055 1.556119 1.328161 1.240892 0.216373 0.897089 0.626805 0.862584 0.585791 1.306757 0.828290 1.426360 0.918009 1.215542 0.443071 1.531104 1.274055 0.636447 0.998872 0.647434 1.352131 -0.267987 0.709420 0.317461 -0.001614 0.037126 -0.160098 1.679742 0.637515 0.582751 0.080874)
 
 	;; 84+1
 	9.178091 #(0.000000 0.092570 -0.328688 0.101879 1.164231 0.484791 0.263025 1.451681 1.371169 0.108316 0.583377 0.421708 0.063889 1.308369 1.554699 0.834440 1.382249 1.018775 0.556330 1.227389 0.358177 0.557221 0.316807 0.026851 0.347091 -0.193100 1.503856 1.682820 0.057602 0.906412 1.391283 1.172258 -0.306686 0.435069 -0.568978 -0.558083 1.240277 0.880388 1.809028 1.648747 0.142044 -0.051135 0.843030 1.589081 1.068210 0.522719 0.218341 1.007282 0.577304 0.998448 0.637448 1.458645 0.805087 0.732402 0.662530 1.436936 1.230072 0.780536 0.678657 1.336068 0.047814 0.297831 1.418569 0.786054 0.797109 1.410904 1.430707 0.466713 0.866817 1.332398 -0.186495 1.178146 -0.048740 1.088830 0.300282 0.620896 -0.201097 0.818687 0.773330 1.535207 1.274976 1.303891 1.667213 0.674931 -0.125079)
@@ -1061,9 +1059,9 @@
      )
 
 ;;; 86 all -------------------------------------------------------------------------------- ; 9.27362
-(vector 86 11.780031204224 (fv 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0)
+(vector 86 11.780031204224 #(0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0)
 
-	9.206953 (fv 0.000000 -0.339088 0.933342 -0.128298 1.099279 0.084536 0.851599 -0.014992 1.465425 1.307317 0.418122 0.289943 1.668778 0.506500 1.696171 1.171193 0.792416 0.989400 0.972892 1.055909 1.790099 1.474165 1.862965 1.486120 1.916599 0.452792 1.686062 0.595804 0.951171 -0.158372 0.842834 1.045604 0.896962 0.721188 0.145646 1.627929 1.192540 1.524829 0.808536 1.173303 0.835497 0.870602 1.525244 1.506688 0.379810 0.397104 0.800652 0.803279 1.193873 1.751911 0.273257 0.582749 0.328287 1.542626 0.758388 0.690207 1.020504 0.688526 -0.031652 0.949811 0.197494 0.391786 1.605605 0.223632 0.906957 1.312801 1.428402 0.597149 1.497710 -0.659689 1.704635 0.962819 1.427359 1.450510 1.282944 1.167035 0.635413 0.328489 1.735204 0.771081 1.542497 0.207128 0.104268 1.136822 -0.363620 0.034704)
+	9.206953 #(0.000000 -0.339088 0.933342 -0.128298 1.099279 0.084536 0.851599 -0.014992 1.465425 1.307317 0.418122 0.289943 1.668778 0.506500 1.696171 1.171193 0.792416 0.989400 0.972892 1.055909 1.790099 1.474165 1.862965 1.486120 1.916599 0.452792 1.686062 0.595804 0.951171 -0.158372 0.842834 1.045604 0.896962 0.721188 0.145646 1.627929 1.192540 1.524829 0.808536 1.173303 0.835497 0.870602 1.525244 1.506688 0.379810 0.397104 0.800652 0.803279 1.193873 1.751911 0.273257 0.582749 0.328287 1.542626 0.758388 0.690207 1.020504 0.688526 -0.031652 0.949811 0.197494 0.391786 1.605605 0.223632 0.906957 1.312801 1.428402 0.597149 1.497710 -0.659689 1.704635 0.962819 1.427359 1.450510 1.282944 1.167035 0.635413 0.328489 1.735204 0.771081 1.542497 0.207128 0.104268 1.136822 -0.363620 0.034704)
 
 	;; 87-1
 	9.145844 #(0.000000 0.566683 1.107648 1.906025 0.221947 0.832929 1.646883 0.003598 0.594983 1.443215 0.059329 0.776514 1.650354 0.526476 1.163785 -0.073477 1.002422 -0.002389 1.070033 0.044031 0.784449 1.327277 0.487633 1.314288 0.580998 1.768047 0.897468 -0.079923 0.817793 0.129615 1.548420 0.755157 0.047436 0.933698 0.072836 1.838297 1.394453 0.409694 1.883124 1.411951 0.367286 1.559580 1.347795 0.901907 0.261118 1.614248 1.386396 1.030092 0.495139 -0.244679 1.429057 1.095949 0.954289 0.796818 0.700395 0.130060 0.311501 -0.283703 1.698927 1.200401 1.111917 0.896911 0.863583 1.501476 0.795659 1.065652 0.706914 0.954080 0.738520 1.047306 1.097502 1.582249 1.456216 1.733897 -0.138892 -0.037173 0.099865 0.586472 1.000632 1.405077 0.060430 -0.004754 0.633209 1.032431 1.436909 1.788117)
@@ -1071,9 +1069,9 @@
      )
 
 ;;; 87 all -------------------------------------------------------------------------------- ; 9.3274
-(vector 87 11.76194265333 (fv 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1)
+(vector 87 11.76194265333 #(0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1)
 
-     9.336088 (fv 0.000000 0.935303 -0.305855 0.639666 -0.205066 0.575166 1.878633 -0.031633 0.332111 0.265245 0.447761 1.471005 0.466239 1.074654 0.243517 0.903095 0.071080 0.582837 0.986978 1.432105 0.143848 1.529993 0.888064 0.154620 1.746534 1.298224 1.092204 0.252914 1.241973 -0.114644 0.118634 1.005127 -0.195946 0.639640 0.754289 -0.065632 0.714364 1.300342 0.839106 1.256746 0.582262 1.885531 1.298010 0.384388 0.185574 1.168220 1.586291 1.242180 1.296083 0.391273 0.262871 0.811036 0.806565 0.431451 1.015342 1.630813 1.685662 -0.062763 0.311437 -0.322103 1.934808 -0.217239 0.478902 -0.218460 1.046362 0.603169 1.523851 1.302931 0.360083 0.678610 0.838126 1.626723 0.408089 0.150785 0.439104 0.575446 0.524826 1.662738 0.111387 1.179455 0.712858 0.531389 0.286195 0.456407 0.251572 1.398780 1.753711)
+     9.336088 #(0.000000 0.935303 -0.305855 0.639666 -0.205066 0.575166 1.878633 -0.031633 0.332111 0.265245 0.447761 1.471005 0.466239 1.074654 0.243517 0.903095 0.071080 0.582837 0.986978 1.432105 0.143848 1.529993 0.888064 0.154620 1.746534 1.298224 1.092204 0.252914 1.241973 -0.114644 0.118634 1.005127 -0.195946 0.639640 0.754289 -0.065632 0.714364 1.300342 0.839106 1.256746 0.582262 1.885531 1.298010 0.384388 0.185574 1.168220 1.586291 1.242180 1.296083 0.391273 0.262871 0.811036 0.806565 0.431451 1.015342 1.630813 1.685662 -0.062763 0.311437 -0.322103 1.934808 -0.217239 0.478902 -0.218460 1.046362 0.603169 1.523851 1.302931 0.360083 0.678610 0.838126 1.626723 0.408089 0.150785 0.439104 0.575446 0.524826 1.662738 0.111387 1.179455 0.712858 0.531389 0.286195 0.456407 0.251572 1.398780 1.753711)
 
      ;; pp:start point was (pp.scm, make-pp.scm): pi+pi/87 and -pi/2
      9.188521 #(0.000000 0.577038 1.207261 1.628557 0.262146 0.801237 1.556050 0.056439 0.667335 1.368629 -0.005675 0.749653 1.604613 0.459413 1.321111 -0.031172 1.051217 -0.021196 1.026933 1.909174 0.730842 1.464699 0.478663 1.424779 0.531386 1.829514 1.099308 0.030309 1.091452 0.183625 1.427990 0.713707 0.072882 0.988307 0.050871 1.569876 1.182625 0.368506 1.869531 1.283013 0.367839 1.495424 1.258194 0.820412 0.120239 1.561194 1.309622 0.929536 0.337985 -0.260353 1.473059 1.175804 1.110077 0.673201 0.814863 -0.004594 0.327741 -0.246652 1.781940 1.248926 1.174864 1.075991 0.895836 1.403691 0.903960 0.895504 0.766042 1.020851 0.881318 1.007885 1.155350 1.590758 1.540581 1.812457 0.004350 -0.049652 0.077880 0.408393 0.883302 1.419937 1.752252 -0.010350 0.469666 0.737948 1.471230 1.731975 -0.094827)
@@ -1081,9 +1079,9 @@
      )
 
 ;;; 88 all -------------------------------------------------------------------------------- ; 9.3808
-(vector 88 11.638312339783 (fv 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1)
+(vector 88 11.638312339783 #(0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1)
 
-	9.316523 (fv 0.000000 0.878486 0.456733 1.616494 0.833842 1.630288 0.213084 0.318066 0.387075 1.258199 0.888074 1.626323 1.385324 1.449641 1.788877 1.459694 0.074476 0.796586 0.333918 0.652336 0.086019 1.093159 0.327760 0.026729 0.468210 0.200167 0.537074 1.539924 -0.274885 1.353211 0.267108 0.236471 1.407050 0.990605 0.724714 0.464124 0.495860 1.314621 -0.030616 0.350065 0.839694 0.794947 -0.082046 0.540462 1.600245 0.715450 0.591095 1.608103 0.808561 1.476715 1.175725 0.089220 0.447550 -0.172825 1.173712 -0.287102 0.416439 1.195370 1.285929 1.007325 0.957271 -0.013128 1.194681 1.765216 1.741310 1.202198 1.235154 1.112410 1.116838 1.017962 0.227564 0.013993 0.930616 0.757675 -0.297628 0.560900 0.173387 0.493968 1.241443 0.533916 1.114281 1.119507 0.538020 0.529723 1.672789 1.594826 0.538626 1.278733)
+	9.316523 #(0.000000 0.878486 0.456733 1.616494 0.833842 1.630288 0.213084 0.318066 0.387075 1.258199 0.888074 1.626323 1.385324 1.449641 1.788877 1.459694 0.074476 0.796586 0.333918 0.652336 0.086019 1.093159 0.327760 0.026729 0.468210 0.200167 0.537074 1.539924 -0.274885 1.353211 0.267108 0.236471 1.407050 0.990605 0.724714 0.464124 0.495860 1.314621 -0.030616 0.350065 0.839694 0.794947 -0.082046 0.540462 1.600245 0.715450 0.591095 1.608103 0.808561 1.476715 1.175725 0.089220 0.447550 -0.172825 1.173712 -0.287102 0.416439 1.195370 1.285929 1.007325 0.957271 -0.013128 1.194681 1.765216 1.741310 1.202198 1.235154 1.112410 1.116838 1.017962 0.227564 0.013993 0.930616 0.757675 -0.297628 0.560900 0.173387 0.493968 1.241443 0.533916 1.114281 1.119507 0.538020 0.529723 1.672789 1.594826 0.538626 1.278733)
 
 	;; 87 + 1 (pp)
 	9.244078 #(0.000000 0.694018 1.165822 1.676512 0.096734 0.820300 1.468057 0.088341 0.655120 1.291453 -0.067834 0.750649 1.606715 0.366794 1.199710 0.067953 1.171063 0.125791 1.077914 1.904683 0.572953 1.438964 0.387785 1.361027 0.470626 1.798354 1.025608 -0.183300 0.935453 0.193835 1.423867 0.670497 0.056060 1.040746 0.102123 1.502090 1.195959 0.413063 1.791619 1.270627 0.359281 1.413426 1.078876 0.807816 0.227637 1.617604 1.316579 0.989646 0.288255 -0.228378 1.516380 1.207792 1.225064 0.737215 0.935014 0.031773 0.170020 -0.334787 1.865610 1.331909 1.164836 0.934833 0.925908 1.288654 0.798848 1.076323 0.722509 1.032823 0.879278 0.906937 0.934088 1.637290 1.478240 1.745733 -0.031866 -0.004141 0.054848 0.181925 0.776139 1.296456 1.577696 1.832552 0.546057 0.624987 1.395395 1.680089 -0.150964 0.305296)
@@ -1091,9 +1089,9 @@
      )
 
 ;;; 89 all -------------------------------------------------------------------------------- ; 9.4340
-(vector 89 12.148494905477 (fv 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1)
+(vector 89 12.148494905477 #(0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1)
 
-	9.351480 (fv 0.000000 0.115345 0.952969 1.130622 0.084058 0.254252 0.443202 0.470071 0.932794 0.466331 0.591979 0.457396 1.528107 0.715257 1.847307 0.403253 0.673874 1.456603 0.267262 0.304798 0.064020 -0.007350 0.259234 -0.287472 0.913317 0.595047 1.491194 0.951199 1.469407 0.524123 -0.304693 -0.076445 1.827209 1.059199 1.449793 1.495662 0.754984 0.852314 0.216817 0.724819 0.597427 1.273980 0.926620 0.643916 0.066061 0.625597 1.284699 0.657854 0.605911 1.653365 1.442076 1.033587 -0.542590 1.262635 1.257414 1.117301 0.126208 0.112501 1.272548 0.912632 0.005045 0.757226 0.049364 -0.033316 1.800311 -0.300949 0.310947 1.267820 0.529700 0.817110 -0.265053 1.152779 -0.048439 0.296709 1.270792 1.398568 -1.703554 0.050635 0.940556 0.440806 1.384526 0.885947 -0.609539 0.281434 0.391260 0.168064 1.027217 1.891400 0.923378)
+	9.351480 #(0.000000 0.115345 0.952969 1.130622 0.084058 0.254252 0.443202 0.470071 0.932794 0.466331 0.591979 0.457396 1.528107 0.715257 1.847307 0.403253 0.673874 1.456603 0.267262 0.304798 0.064020 -0.007350 0.259234 -0.287472 0.913317 0.595047 1.491194 0.951199 1.469407 0.524123 -0.304693 -0.076445 1.827209 1.059199 1.449793 1.495662 0.754984 0.852314 0.216817 0.724819 0.597427 1.273980 0.926620 0.643916 0.066061 0.625597 1.284699 0.657854 0.605911 1.653365 1.442076 1.033587 -0.542590 1.262635 1.257414 1.117301 0.126208 0.112501 1.272548 0.912632 0.005045 0.757226 0.049364 -0.033316 1.800311 -0.300949 0.310947 1.267820 0.529700 0.817110 -0.265053 1.152779 -0.048439 0.296709 1.270792 1.398568 -1.703554 0.050635 0.940556 0.440806 1.384526 0.885947 -0.609539 0.281434 0.391260 0.168064 1.027217 1.891400 0.923378)
 
 	;; 90-1:
 	9.316853 #(0.000000 0.085819 0.605350 0.616151 0.515100 0.192006 1.611678 1.272280 0.904547 0.453867 0.529558 0.437126 -0.275887 1.872898 1.598164 1.418346 1.396886 1.184855 1.082655 1.009362 1.135722 1.346642 1.144862 1.310841 1.530764 1.205966 1.069809 1.617371 1.901283 0.014975 0.548240 0.352080 0.621455 0.621066 1.140982 1.438527 1.367420 1.355216 0.470090 0.621128 1.153118 1.453426 1.808321 0.722632 1.010390 1.016431 1.780248 -0.019572 0.772427 1.493792 0.482571 0.820743 1.364914 -0.136038 0.461117 1.249099 0.311482 0.865776 -0.039503 0.219768 1.361786 0.194309 1.428040 0.130391 0.884203 1.244022 0.541300 1.606196 1.062028 0.148664 0.708408 0.000808 0.975685 0.011180 0.773834 -0.174375 1.225192 0.298080 1.628234 1.104559 -0.010457 1.317133 0.763549 0.343844 1.496091 1.494316 0.445462 0.157345 1.694775)
@@ -1101,87 +1099,87 @@
      )
 
 ;;; 90 all -------------------------------------------------------------------------------- ; 9.4868
-(vector 90 12.059710502625 (fv 0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0)
+(vector 90 12.059710502625 #(0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0)
 
-	9.398614 (fv 0.000000 0.892706 1.062256 0.213835 0.203111 1.398668 1.054220 0.038528 1.142619 0.118583 0.457258 1.631677 1.573493 1.353053 0.245939 0.098142 1.245835 1.513894 0.025359 0.747716 0.843192 1.216875 0.015492 0.415459 0.312421 1.153905 1.780617 0.437612 -0.400304 -0.029367 1.378815 -0.215560 0.280582 1.233159 0.249478 0.201675 0.961263 0.048927 0.571980 0.265611 0.963409 1.336060 0.891681 1.142504 1.421083 1.162603 1.027272 0.851118 0.849549 0.034892 1.199036 0.308700 1.882141 0.734414 0.473371 1.758626 0.761172 0.952217 -0.108344 1.230664 0.088942 0.737287 0.280477 0.684695 1.865274 1.638095 0.534719 0.573717 0.414603 0.759210 0.580912 -0.293171 0.034364 1.872658 1.705405 0.725925 -0.286371 0.704217 0.268789 0.757724 0.268458 1.430890 1.325737 1.264595 0.335646 0.223092 0.572527 0.875084 0.723299 0.490792)
+	9.398614 #(0.000000 0.892706 1.062256 0.213835 0.203111 1.398668 1.054220 0.038528 1.142619 0.118583 0.457258 1.631677 1.573493 1.353053 0.245939 0.098142 1.245835 1.513894 0.025359 0.747716 0.843192 1.216875 0.015492 0.415459 0.312421 1.153905 1.780617 0.437612 -0.400304 -0.029367 1.378815 -0.215560 0.280582 1.233159 0.249478 0.201675 0.961263 0.048927 0.571980 0.265611 0.963409 1.336060 0.891681 1.142504 1.421083 1.162603 1.027272 0.851118 0.849549 0.034892 1.199036 0.308700 1.882141 0.734414 0.473371 1.758626 0.761172 0.952217 -0.108344 1.230664 0.088942 0.737287 0.280477 0.684695 1.865274 1.638095 0.534719 0.573717 0.414603 0.759210 0.580912 -0.293171 0.034364 1.872658 1.705405 0.725925 -0.286371 0.704217 0.268789 0.757724 0.268458 1.430890 1.325737 1.264595 0.335646 0.223092 0.572527 0.875084 0.723299 0.490792)
 
 	;; 91-1
 	9.369284 #(0.000000 0.030596 0.512977 0.726782 0.477829 0.081885 1.589694 1.322061 1.083902 0.559521 0.448753 0.385931 -0.189736 1.722513 1.513355 1.392162 1.333913 1.122941 1.145305 1.071310 1.267721 1.283537 1.282341 1.395603 1.460843 1.220013 1.214982 1.532704 1.680386 -0.041828 0.369697 0.425933 0.371638 0.589333 1.041407 1.225589 1.172832 1.376354 0.162279 0.498805 1.164883 1.416170 1.867958 0.505897 0.978762 1.054842 1.522372 -0.063766 0.952495 1.463756 0.521257 0.824505 1.179094 1.811681 0.447390 1.180931 0.235815 0.652944 -0.161883 -0.021774 1.283901 -0.087905 1.281512 -0.144202 0.579788 1.336977 0.409226 1.333107 0.963576 0.011530 0.529499 1.655761 0.578200 1.742908 0.613593 -0.239938 1.074047 0.302129 1.602392 0.926017 -0.218685 1.216630 0.428055 0.183727 1.506714 1.185120 0.296902 -0.071562 1.483831 0.585762)
      )
 
 ;;; 91 all -------------------------------------------------------------------------------- ; 9.5394
-(vector 91 12.130150794983 (fv 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0)
+(vector 91 12.130150794983 #(0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0)
 
-	9.460641 (fv 0.000000 0.436117 1.518395 1.686873 0.685584 1.390220 1.721023 1.218901 0.617875 0.942031 0.798753 1.787198 0.914695 1.067725 0.500698 1.164934 1.198775 0.318349 0.110243 1.683123 1.771564 0.104141 0.404057 1.512291 -0.053002 0.635555 0.485286 0.639133 1.522433 0.362468 1.841483 -0.018649 1.636664 1.891231 -0.092223 0.000560 1.591693 0.345850 0.362361 0.150153 0.525106 1.675920 1.376159 0.544954 1.155066 0.115196 0.924275 -0.119311 1.123186 0.422131 1.628623 0.610317 0.891460 1.679635 0.315850 0.345138 -0.095637 1.712298 -0.241584 0.926203 1.708802 0.312769 0.179387 0.288518 0.999840 0.990421 1.415220 1.453610 0.512219 1.890115 0.694941 1.068928 1.023842 0.497685 1.095073 1.132736 1.716879 -0.012368 0.180422 1.245447 0.380145 -0.172552 1.441547 0.152524 1.430740 1.014319 0.944154 0.113921 1.674916 -0.025585 0.846123)
+	9.460641 #(0.000000 0.436117 1.518395 1.686873 0.685584 1.390220 1.721023 1.218901 0.617875 0.942031 0.798753 1.787198 0.914695 1.067725 0.500698 1.164934 1.198775 0.318349 0.110243 1.683123 1.771564 0.104141 0.404057 1.512291 -0.053002 0.635555 0.485286 0.639133 1.522433 0.362468 1.841483 -0.018649 1.636664 1.891231 -0.092223 0.000560 1.591693 0.345850 0.362361 0.150153 0.525106 1.675920 1.376159 0.544954 1.155066 0.115196 0.924275 -0.119311 1.123186 0.422131 1.628623 0.610317 0.891460 1.679635 0.315850 0.345138 -0.095637 1.712298 -0.241584 0.926203 1.708802 0.312769 0.179387 0.288518 0.999840 0.990421 1.415220 1.453610 0.512219 1.890115 0.694941 1.068928 1.023842 0.497685 1.095073 1.132736 1.716879 -0.012368 0.180422 1.245447 0.380145 -0.172552 1.441547 0.152524 1.430740 1.014319 0.944154 0.113921 1.674916 -0.025585 0.846123)
 
 	;; 92-1
 	9.406571 #(0.000000 0.070183 0.558945 0.616954 0.488264 0.097581 1.643944 1.396224 1.158953 0.725014 0.517196 0.327654 -0.169876 1.614114 1.687774 1.412838 1.174539 1.259505 1.130798 1.052361 1.015956 1.267208 1.254231 1.379495 1.394559 1.223329 1.348807 1.448672 1.402107 -0.114780 0.204211 0.407141 0.213819 0.557195 0.878563 1.293773 1.227658 1.440547 0.218508 0.668102 0.992197 1.450344 1.592835 0.514105 0.745631 1.232389 1.450929 -0.020833 0.958476 1.514641 0.316511 0.755172 1.221264 1.755846 0.507669 1.139584 0.110724 0.749907 0.055238 0.050342 1.322976 0.038212 1.303755 -0.169105 0.463456 1.427795 0.697605 1.381025 0.968559 0.022635 0.695622 1.792840 0.529902 1.903317 0.747931 -0.193306 0.982955 0.298689 1.702098 1.077145 -0.265151 1.140052 0.371003 -0.055705 1.235675 1.006638 0.294853 1.755510 1.459678 0.647624 -0.081756)
      )
 
 ;;; 92 all -------------------------------------------------------------------------------- ; 9.5917
-(vector 92 12.009957507951 (fv 0 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1)
+(vector 92 12.009957507951 #(0 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1)
 
-	9.517966 (fv 0.000000 0.086823 0.747623 -0.085371 0.122456 -0.230268 0.119188 1.361402 1.167782 0.037384 1.047768 0.553092 0.649815 1.008382 0.794506 0.305054 1.023759 0.770450 1.886190 0.685208 0.379196 0.684576 0.589903 0.070635 1.842447 1.673609 -0.393612 0.098157 1.794112 0.846616 0.025307 0.910127 0.590170 1.608490 0.410052 1.692507 -0.369713 0.406231 1.469315 1.471065 0.951373 1.130104 0.531009 1.015991 1.488443 0.280351 0.460606 1.244663 1.053735 0.254819 0.300775 0.994290 1.059430 1.061070 1.049296 1.008564 -0.162768 1.637847 1.291833 1.037154 0.364051 0.144913 0.533100 1.075664 1.325409 -0.343880 0.931404 1.449787 0.745214 0.874779 -0.406152 1.757226 1.474675 0.453343 1.845066 0.544094 1.158828 0.100488 1.840683 0.221106 0.924537 1.893930 0.736114 1.402591 0.613840 0.057492 0.409601 -0.093628 1.271558 0.626825 0.949050 -0.217069)
+	9.517966 #(0.000000 0.086823 0.747623 -0.085371 0.122456 -0.230268 0.119188 1.361402 1.167782 0.037384 1.047768 0.553092 0.649815 1.008382 0.794506 0.305054 1.023759 0.770450 1.886190 0.685208 0.379196 0.684576 0.589903 0.070635 1.842447 1.673609 -0.393612 0.098157 1.794112 0.846616 0.025307 0.910127 0.590170 1.608490 0.410052 1.692507 -0.369713 0.406231 1.469315 1.471065 0.951373 1.130104 0.531009 1.015991 1.488443 0.280351 0.460606 1.244663 1.053735 0.254819 0.300775 0.994290 1.059430 1.061070 1.049296 1.008564 -0.162768 1.637847 1.291833 1.037154 0.364051 0.144913 0.533100 1.075664 1.325409 -0.343880 0.931404 1.449787 0.745214 0.874779 -0.406152 1.757226 1.474675 0.453343 1.845066 0.544094 1.158828 0.100488 1.840683 0.221106 0.924537 1.893930 0.736114 1.402591 0.613840 0.057492 0.409601 -0.093628 1.271558 0.626825 0.949050 -0.217069)
 
 	;; 93-1
-	9.419885 (fv 0.000000 0.069529 0.633901 0.633608 0.570434 0.157518 1.715794 1.321616 1.084449 0.794466 0.425008 0.283514 -0.131990 1.646881 1.533838 1.442714 1.177599 1.239726 1.207883 1.015321 0.976921 1.262383 1.278818 1.276322 1.338824 1.226865 1.318320 1.361295 1.375488 -0.072989 0.149612 0.367026 0.181636 0.504697 0.851522 1.286853 1.425655 1.395838 0.306909 0.627046 0.973004 1.385102 1.455309 0.477354 0.684776 1.138509 1.548279 -0.072451 0.798558 1.262715 0.056514 0.791921 1.056616 1.695546 0.434938 1.116470 0.025573 0.789168 -0.006184 0.138467 1.335319 0.002519 1.259750 -0.081984 0.549375 1.443475 0.683161 1.338585 0.966058 1.876977 0.624731 1.787187 0.503447 1.917935 0.840074 -0.187662 1.042424 0.183738 1.737882 1.038721 -0.194530 1.214452 0.488651 0.014114 1.273532 1.004556 0.303820 1.746128 1.409399 0.765865 0.191028 1.596552)
+	9.419885 #(0.000000 0.069529 0.633901 0.633608 0.570434 0.157518 1.715794 1.321616 1.084449 0.794466 0.425008 0.283514 -0.131990 1.646881 1.533838 1.442714 1.177599 1.239726 1.207883 1.015321 0.976921 1.262383 1.278818 1.276322 1.338824 1.226865 1.318320 1.361295 1.375488 -0.072989 0.149612 0.367026 0.181636 0.504697 0.851522 1.286853 1.425655 1.395838 0.306909 0.627046 0.973004 1.385102 1.455309 0.477354 0.684776 1.138509 1.548279 -0.072451 0.798558 1.262715 0.056514 0.791921 1.056616 1.695546 0.434938 1.116470 0.025573 0.789168 -0.006184 0.138467 1.335319 0.002519 1.259750 -0.081984 0.549375 1.443475 0.683161 1.338585 0.966058 1.876977 0.624731 1.787187 0.503447 1.917935 0.840074 -0.187662 1.042424 0.183738 1.737882 1.038721 -0.194530 1.214452 0.488651 0.014114 1.273532 1.004556 0.303820 1.746128 1.409399 0.765865 0.191028 1.596552)
      )
 
 ;;; 93 all -------------------------------------------------------------------------------- ; 9.6437
-(vector 93 12.125471062226 (fv 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1)
+(vector 93 12.125471062226 #(0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1)
 
-     9.668780 (fv 0.000000 1.502492 1.735960 1.811396 -0.104957 0.482636 0.500559 -0.183071 -0.047836 1.299077 0.116243 0.998697 1.692766 0.951722 0.883989 1.357273 1.702880 0.882694 1.095034 1.397512 0.329332 0.527364 0.298917 0.655212 0.187816 0.424294 1.150209 0.114579 0.252718 -0.217705 0.508106 -0.043801 0.270810 1.167969 0.982839 0.517943 0.010809 1.845815 1.098777 0.567160 0.419087 1.030585 1.503183 1.837046 1.638737 1.381290 1.657079 1.137100 1.564675 -0.040237 0.809480 0.832346 1.587671 -0.164235 1.557353 -0.318789 1.412269 1.419735 0.213834 0.923183 0.158106 0.606199 0.283874 -0.361272 1.495430 1.475886 0.334771 1.534489 0.873427 -0.175602 1.422400 0.168157 0.667278 1.332909 0.520912 0.514379 1.506377 1.240021 1.795506 1.354822 0.149370 0.097693 1.231885 1.499794 1.191816 0.402471 1.807112 1.364329 0.383172 1.438070 0.658534 1.737005 0.518886)
+     9.668780 #(0.000000 1.502492 1.735960 1.811396 -0.104957 0.482636 0.500559 -0.183071 -0.047836 1.299077 0.116243 0.998697 1.692766 0.951722 0.883989 1.357273 1.702880 0.882694 1.095034 1.397512 0.329332 0.527364 0.298917 0.655212 0.187816 0.424294 1.150209 0.114579 0.252718 -0.217705 0.508106 -0.043801 0.270810 1.167969 0.982839 0.517943 0.010809 1.845815 1.098777 0.567160 0.419087 1.030585 1.503183 1.837046 1.638737 1.381290 1.657079 1.137100 1.564675 -0.040237 0.809480 0.832346 1.587671 -0.164235 1.557353 -0.318789 1.412269 1.419735 0.213834 0.923183 0.158106 0.606199 0.283874 -0.361272 1.495430 1.475886 0.334771 1.534489 0.873427 -0.175602 1.422400 0.168157 0.667278 1.332909 0.520912 0.514379 1.506377 1.240021 1.795506 1.354822 0.149370 0.097693 1.231885 1.499794 1.191816 0.402471 1.807112 1.364329 0.383172 1.438070 0.658534 1.737005 0.518886)
 
      ;; pp:
-     9.412639 (fv 0.000000 0.102641 0.679230 0.798388 0.598526 0.445036 1.682481 1.416478 1.010866 0.838753 0.518866 0.185140 -0.260801 1.643327 1.645133 1.587871 1.510095 1.367190 1.252764 1.075109 0.997402 1.226792 1.097666 1.109286 1.266675 1.142806 1.396415 1.366757 1.323435 -0.151657 0.110933 0.254314 0.125232 0.426419 0.874355 1.227943 1.386454 1.437438 0.183960 0.673205 0.896736 1.317085 1.421345 0.557215 0.650544 0.979705 1.599286 -0.027664 0.967924 1.389243 -0.027060 0.800953 1.098758 1.686133 0.493843 1.257456 0.105617 0.800125 0.006765 0.139250 1.353019 -0.059007 1.198209 0.066444 0.431719 1.470864 0.547882 1.294688 0.757592 1.690943 0.714913 1.735237 0.542409 1.804533 0.779629 -0.296056 1.090213 0.178123 1.832019 1.000948 -0.131923 1.161644 0.360890 0.065736 1.232224 0.792139 0.176636 1.688866 1.432871 0.734257 0.042563 1.592538 0.764029)
+     9.412639 #(0.000000 0.102641 0.679230 0.798388 0.598526 0.445036 1.682481 1.416478 1.010866 0.838753 0.518866 0.185140 -0.260801 1.643327 1.645133 1.587871 1.510095 1.367190 1.252764 1.075109 0.997402 1.226792 1.097666 1.109286 1.266675 1.142806 1.396415 1.366757 1.323435 -0.151657 0.110933 0.254314 0.125232 0.426419 0.874355 1.227943 1.386454 1.437438 0.183960 0.673205 0.896736 1.317085 1.421345 0.557215 0.650544 0.979705 1.599286 -0.027664 0.967924 1.389243 -0.027060 0.800953 1.098758 1.686133 0.493843 1.257456 0.105617 0.800125 0.006765 0.139250 1.353019 -0.059007 1.198209 0.066444 0.431719 1.470864 0.547882 1.294688 0.757592 1.690943 0.714913 1.735237 0.542409 1.804533 0.779629 -0.296056 1.090213 0.178123 1.832019 1.000948 -0.131923 1.161644 0.360890 0.065736 1.232224 0.792139 0.176636 1.688866 1.432871 0.734257 0.042563 1.592538 0.764029)
      )
 
 ;;; 94 all -------------------------------------------------------------------------------- ; 9.6954
-(vector 94 12.510846178591 (fv 0 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0)
+(vector 94 12.510846178591 #(0 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0)
 
-	9.614457 (fv 0.000000 0.354827 0.986082 0.678218 0.074619 1.069713 1.084979 -0.010872 1.376391 1.050934 0.019873 0.645649 0.930266 1.023286 -0.324271 0.129791 1.399266 0.790347 1.024795 0.364675 1.268057 0.467841 0.596106 0.634764 0.920301 0.577212 1.246648 0.805833 -0.021659 -0.091918 0.865047 0.408442 1.292571 1.382486 -0.396633 1.688655 0.645075 1.689205 0.543001 -0.020503 1.556121 1.527556 1.671083 1.274725 1.683665 1.385648 1.434218 0.579921 1.533529 0.946387 1.280342 1.067943 -0.140266 0.061709 0.145137 0.716787 0.346453 1.817745 0.110851 1.072741 1.054881 1.191219 0.552352 1.218769 1.077324 -0.052815 -0.201076 1.253349 1.375788 0.845621 0.366991 0.916267 0.628985 1.420824 1.381120 0.247768 0.913794 -0.038130 1.360273 -0.162096 1.251116 1.166185 0.322598 1.024569 1.763375 0.466730 1.066807 0.067495 0.545386 1.308131 1.358919 0.937638 0.693078 0.195493)
+	9.614457 #(0.000000 0.354827 0.986082 0.678218 0.074619 1.069713 1.084979 -0.010872 1.376391 1.050934 0.019873 0.645649 0.930266 1.023286 -0.324271 0.129791 1.399266 0.790347 1.024795 0.364675 1.268057 0.467841 0.596106 0.634764 0.920301 0.577212 1.246648 0.805833 -0.021659 -0.091918 0.865047 0.408442 1.292571 1.382486 -0.396633 1.688655 0.645075 1.689205 0.543001 -0.020503 1.556121 1.527556 1.671083 1.274725 1.683665 1.385648 1.434218 0.579921 1.533529 0.946387 1.280342 1.067943 -0.140266 0.061709 0.145137 0.716787 0.346453 1.817745 0.110851 1.072741 1.054881 1.191219 0.552352 1.218769 1.077324 -0.052815 -0.201076 1.253349 1.375788 0.845621 0.366991 0.916267 0.628985 1.420824 1.381120 0.247768 0.913794 -0.038130 1.360273 -0.162096 1.251116 1.166185 0.322598 1.024569 1.763375 0.466730 1.066807 0.067495 0.545386 1.308131 1.358919 0.937638 0.693078 0.195493)
 
 	;; 93+1
 	9.543681 #(0.000000 0.070784 0.635867 0.742637 0.475019 0.302813 1.825409 1.378229 1.077426 0.877718 0.610301 0.202771 -0.182277 1.673466 1.553357 1.494058 1.368050 1.336285 1.249015 1.094284 1.026782 1.245912 1.085605 1.018283 1.167850 1.013374 1.392524 1.418879 1.281568 -0.274841 -0.022454 0.129657 0.125509 0.504384 0.935744 1.276977 1.483975 1.477426 0.196761 0.675603 0.862408 1.192185 1.459380 0.549610 0.569998 1.001464 1.695499 0.066362 0.898853 1.281654 0.050116 0.806388 1.047653 1.730201 0.520253 1.351614 0.000078 1.010541 -0.167505 0.168460 1.307105 0.008313 1.198293 0.190292 0.394166 1.604739 0.575546 1.381303 0.832277 1.821709 0.813449 1.752392 0.618919 0.026374 0.880532 -0.283635 1.155422 0.216026 1.884068 1.144874 -0.171918 1.125849 0.302834 -0.082892 1.104687 0.762677 0.111766 1.593198 1.158618 0.738387 -0.017688 1.548369 0.670450 -0.209765)
      )
 
 ;;; 95 all -------------------------------------------------------------------------------- ; 9.7468
-(vector 95 12.431831359863 (fv 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1)
+(vector 95 12.431831359863 #(0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1)
 
-	9.594917 (fv 0.000000 1.389542 1.176101 1.128189 0.857825 0.606938 0.053944 1.193702 0.869053 0.060247 1.681618 -0.018030 0.093189 1.777775 1.314304 1.617940 0.848617 -0.108633 0.918764 1.157666 0.455570 1.631612 1.168101 0.785976 0.402697 1.470789 1.252874 0.702336 1.782377 1.673658 1.631189 1.349352 1.050241 0.712255 1.786745 0.232201 0.625268 1.043139 1.455512 1.195110 0.998337 0.283110 0.709026 0.841439 0.900171 1.560899 0.398341 0.605576 1.226269 0.101415 0.662630 -0.080073 0.123777 0.243381 0.746050 1.688701 0.805710 -0.417799 1.076341 1.138430 0.020724 1.738280 0.026371 0.359523 1.207908 0.092412 0.589896 1.141872 0.833369 1.211938 0.834700 0.366724 0.985159 0.093930 1.781990 0.844009 1.324575 1.222996 -0.119995 1.044915 0.191275 1.202233 0.891410 1.663012 1.114750 1.562345 -0.205599 1.605273 0.019367 1.356810 0.858474 1.006151 -0.416772 0.195895 1.774084)
+	9.594917 #(0.000000 1.389542 1.176101 1.128189 0.857825 0.606938 0.053944 1.193702 0.869053 0.060247 1.681618 -0.018030 0.093189 1.777775 1.314304 1.617940 0.848617 -0.108633 0.918764 1.157666 0.455570 1.631612 1.168101 0.785976 0.402697 1.470789 1.252874 0.702336 1.782377 1.673658 1.631189 1.349352 1.050241 0.712255 1.786745 0.232201 0.625268 1.043139 1.455512 1.195110 0.998337 0.283110 0.709026 0.841439 0.900171 1.560899 0.398341 0.605576 1.226269 0.101415 0.662630 -0.080073 0.123777 0.243381 0.746050 1.688701 0.805710 -0.417799 1.076341 1.138430 0.020724 1.738280 0.026371 0.359523 1.207908 0.092412 0.589896 1.141872 0.833369 1.211938 0.834700 0.366724 0.985159 0.093930 1.781990 0.844009 1.324575 1.222996 -0.119995 1.044915 0.191275 1.202233 0.891410 1.663012 1.114750 1.562345 -0.205599 1.605273 0.019367 1.356810 0.858474 1.006151 -0.416772 0.195895 1.774084)
      )
 
 ;;; 96 all -------------------------------------------------------------------------------- ; 9.7980
-(vector 96 12.586637130548 (fv 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1)
+(vector 96 12.586637130548 #(0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1)
 
-	9.698754 (fv 0.000000 1.686945 0.467972 0.353719 0.039839 1.529803 1.113587 1.518769 0.069518 0.641616 0.744046 1.828910 0.013471 -0.229934 0.181085 -0.011815 0.130449 1.033538 1.435542 1.445735 1.524439 1.088117 0.632800 0.518998 -0.093855 1.447748 -0.258898 0.540666 0.708408 1.141240 0.388952 0.533151 0.107615 0.843908 1.797589 1.037747 1.105446 0.651000 0.775586 -0.512743 0.563193 0.707947 1.740714 1.753866 0.373300 1.459832 0.879332 1.133261 0.035182 1.481640 1.284446 0.744828 1.229402 -0.449568 1.081113 -0.235470 0.939023 1.698241 1.413068 -0.279150 0.681300 1.084041 -0.075079 0.087600 0.709157 -0.062761 0.870661 0.903931 0.019006 1.008038 -0.009901 1.442216 1.097881 0.558710 1.835109 1.151033 1.232982 1.137424 0.991349 -0.312466 0.156001 0.908045 0.922926 1.582365 1.057816 0.119723 1.368068 0.167350 -0.363438 0.279779 0.391520 0.751632 -0.048111 1.271729 1.046123 1.547668)
+	9.698754 #(0.000000 1.686945 0.467972 0.353719 0.039839 1.529803 1.113587 1.518769 0.069518 0.641616 0.744046 1.828910 0.013471 -0.229934 0.181085 -0.011815 0.130449 1.033538 1.435542 1.445735 1.524439 1.088117 0.632800 0.518998 -0.093855 1.447748 -0.258898 0.540666 0.708408 1.141240 0.388952 0.533151 0.107615 0.843908 1.797589 1.037747 1.105446 0.651000 0.775586 -0.512743 0.563193 0.707947 1.740714 1.753866 0.373300 1.459832 0.879332 1.133261 0.035182 1.481640 1.284446 0.744828 1.229402 -0.449568 1.081113 -0.235470 0.939023 1.698241 1.413068 -0.279150 0.681300 1.084041 -0.075079 0.087600 0.709157 -0.062761 0.870661 0.903931 0.019006 1.008038 -0.009901 1.442216 1.097881 0.558710 1.835109 1.151033 1.232982 1.137424 0.991349 -0.312466 0.156001 0.908045 0.922926 1.582365 1.057816 0.119723 1.368068 0.167350 -0.363438 0.279779 0.391520 0.751632 -0.048111 1.271729 1.046123 1.547668)
 
 	;; 95+1
 	9.726779 #(0.000000 1.272536 1.234689 1.036804 0.806804 0.685514 -0.233507 1.195648 0.974626 -0.133690 1.612184 -0.250031 0.153834 1.639158 1.448966 1.429020 0.841318 0.036800 0.809280 1.124317 0.410517 1.790247 0.947605 0.878411 0.284331 1.437808 1.242148 0.609187 1.691642 1.608067 1.542734 1.433245 1.048694 0.695483 1.770228 0.049652 0.565924 1.008807 1.378374 1.235802 0.944856 0.275648 0.688876 0.690791 0.947538 1.724048 0.507279 0.344409 1.011255 0.053102 0.655524 0.015954 -0.000803 0.135128 0.906712 1.703603 0.898426 -0.371698 1.225250 0.634585 -0.033241 1.655363 -0.118205 0.384853 1.242318 0.157876 0.169651 1.065989 0.596048 1.102812 0.663038 0.195163 0.860121 -0.157778 1.681909 0.740009 1.139644 0.978398 -0.218097 0.770242 0.520081 1.060101 0.721838 1.327594 1.028501 1.403966 -0.169752 1.470700 0.038544 1.145229 0.628698 0.803002 -0.539861 0.036303 1.343341 -0.219240)
      )
 
 ;;; 97 all -------------------------------------------------------------------------------- ; 9.8489
-(vector 97 12.585 (fv 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1)
+(vector 97 12.585 #(0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1)
      
-	9.811290 (fv 0.000000 1.599348 0.923331 0.142353 1.275817 1.382624 1.510378 0.732924 0.806532 1.015499 0.620826 1.882699 1.212790 0.807183 -0.023255 1.516389 1.732605 -0.201884 -0.277404 -0.055883 0.240940 0.731931 1.673522 0.086425 1.587574 0.602365 1.160815 1.229056 1.456929 0.833735 0.852700 0.201630 1.357627 0.458255 0.370269 1.445354 0.215612 1.445930 1.140683 1.395090 0.893305 1.761792 0.069580 1.477150 1.261329 0.799176 -0.171506 -0.046281 0.037534 0.945505 0.457403 -0.446133 -0.016772 1.686139 0.929506 1.761163 1.283945 0.714187 0.030687 1.699690 1.935312 -0.149630 1.586492 0.783961 1.445990 1.058255 1.383027 0.027818 1.949317 0.450708 0.615659 0.863171 1.311974 0.506328 0.888408 1.633309 0.234089 1.362300 1.207491 0.660429 0.454914 0.801172 1.438508 0.392994 1.045451 0.178268 0.808166 0.169353 0.379391 0.545139 1.796419 0.579129 1.221213 0.829753 -0.091400 0.706540 1.245414)
+	9.811290 #(0.000000 1.599348 0.923331 0.142353 1.275817 1.382624 1.510378 0.732924 0.806532 1.015499 0.620826 1.882699 1.212790 0.807183 -0.023255 1.516389 1.732605 -0.201884 -0.277404 -0.055883 0.240940 0.731931 1.673522 0.086425 1.587574 0.602365 1.160815 1.229056 1.456929 0.833735 0.852700 0.201630 1.357627 0.458255 0.370269 1.445354 0.215612 1.445930 1.140683 1.395090 0.893305 1.761792 0.069580 1.477150 1.261329 0.799176 -0.171506 -0.046281 0.037534 0.945505 0.457403 -0.446133 -0.016772 1.686139 0.929506 1.761163 1.283945 0.714187 0.030687 1.699690 1.935312 -0.149630 1.586492 0.783961 1.445990 1.058255 1.383027 0.027818 1.949317 0.450708 0.615659 0.863171 1.311974 0.506328 0.888408 1.633309 0.234089 1.362300 1.207491 0.660429 0.454914 0.801172 1.438508 0.392994 1.045451 0.178268 0.808166 0.169353 0.379391 0.545139 1.796419 0.579129 1.221213 0.829753 -0.091400 0.706540 1.245414)
 
      ;; pp:
-	9.860243 (fv 0.000000 0.680977 0.966253 1.634215 0.365093 0.771173 1.259550 0.007495 0.693755 1.428280 0.352398 1.032784 1.549276 0.384182 1.088250 1.711305 0.715748 1.441436 0.402491 1.285065 0.056701 0.943326 1.812606 1.043581 -0.072780 0.808810 1.940683 1.225707 -0.029466 1.139541 0.383446 1.652614 0.799608 1.845091 0.834727 0.161218 1.415263 0.601512 1.879909 1.404443 0.587018 1.806810 1.169986 0.643827 -0.082912 1.345651 0.782502 0.239840 1.583476 1.376880 0.682406 0.262024 1.847899 1.521309 1.138292 0.467250 0.281908 -0.070976 1.718683 1.523340 1.285749 0.765922 0.681731 0.268165 0.290564 0.046020 0.082000 1.791305 1.766394 1.373062 1.769852 1.419717 1.707739 1.313906 1.401690 1.527792 1.718640 1.280023 1.582817 1.850590 0.103668 0.041251 0.363022 0.586729 0.741602 0.886403 0.989519 1.522393 1.709847 0.193187 0.406948 0.736802 1.329603 1.619101 -0.034816 0.612167 1.088037)
+	9.860243 #(0.000000 0.680977 0.966253 1.634215 0.365093 0.771173 1.259550 0.007495 0.693755 1.428280 0.352398 1.032784 1.549276 0.384182 1.088250 1.711305 0.715748 1.441436 0.402491 1.285065 0.056701 0.943326 1.812606 1.043581 -0.072780 0.808810 1.940683 1.225707 -0.029466 1.139541 0.383446 1.652614 0.799608 1.845091 0.834727 0.161218 1.415263 0.601512 1.879909 1.404443 0.587018 1.806810 1.169986 0.643827 -0.082912 1.345651 0.782502 0.239840 1.583476 1.376880 0.682406 0.262024 1.847899 1.521309 1.138292 0.467250 0.281908 -0.070976 1.718683 1.523340 1.285749 0.765922 0.681731 0.268165 0.290564 0.046020 0.082000 1.791305 1.766394 1.373062 1.769852 1.419717 1.707739 1.313906 1.401690 1.527792 1.718640 1.280023 1.582817 1.850590 0.103668 0.041251 0.363022 0.586729 0.741602 0.886403 0.989519 1.522393 1.709847 0.193187 0.406948 0.736802 1.329603 1.619101 -0.034816 0.612167 1.088037)
 
      ;; 98-1
      9.733625 #(0.000000 -0.316389 0.763514 1.085136 -0.007054 1.613164 0.368355 0.497362 0.266819 0.792626 1.605095 0.379462 0.795808 0.617439 0.340832 1.408797 0.884588 0.777692 -0.061819 1.329857 1.611199 0.024913 1.778069 1.061965 1.317076 1.286538 -0.063928 0.439816 1.190286 1.720423 -0.281159 0.284236 1.261293 1.715607 1.258044 1.027201 0.992940 1.404704 0.918469 0.571955 0.670954 -0.578424 1.681045 1.759567 -0.365702 0.685884 0.480691 0.685380 0.103522 0.029224 1.512644 0.122325 0.600548 0.070986 0.493468 0.652824 -0.059890 1.290005 1.370566 0.135509 0.143591 -0.197126 0.478025 0.315521 0.839450 0.083388 0.553358 1.161959 0.770340 1.132488 0.641596 1.702281 0.277494 1.930557 0.772636 0.175945 1.352904 0.123527 1.448091 0.194310 0.330488 1.631688 1.302741 0.566332 1.521760 0.740046 0.257004 1.532435 0.681554 0.238673 0.612205 0.128510 1.851063 0.280067 1.237302 -0.034034 0.240185)
      )
 
 ;;; 98 all -------------------------------------------------------------------------------- ; 9.8995
-(vector 98 12.724907890996 (fv 0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1)
+(vector 98 12.724907890996 #(0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1)
 
-	9.767029 (fv 0.000000 -0.188323 0.675144 1.162326 -0.152620 1.669640 0.370125 0.494628 0.190555 0.715197 1.719005 0.377693 1.013961 0.545798 0.345914 1.535759 0.968261 0.937780 -0.119329 1.630311 1.635898 0.029531 1.850111 1.208612 1.298337 1.226547 0.020306 0.388794 1.210462 1.649716 -0.158605 0.268380 1.285081 1.672163 1.145021 0.908520 1.140268 1.468740 0.844848 0.440912 0.760836 -0.415872 1.889804 1.724959 -0.229249 0.766901 0.564605 0.613211 0.221081 -0.012880 1.521722 -0.044019 0.593078 0.034669 0.491432 0.559669 -0.045684 1.255880 1.344088 0.070215 0.282883 -0.229690 0.625053 0.504422 0.811212 -0.012186 0.589513 1.241057 0.831526 1.215774 0.684110 1.651422 0.305036 1.891476 0.747710 0.040696 1.539490 0.154881 1.456564 0.357589 0.123799 1.523900 1.179657 0.504889 1.418226 0.850462 0.009923 1.481216 0.600938 0.216302 0.543002 0.255145 1.787452 0.279328 1.172852 -0.085076 0.199219 1.196556)
+	9.767029 #(0.000000 -0.188323 0.675144 1.162326 -0.152620 1.669640 0.370125 0.494628 0.190555 0.715197 1.719005 0.377693 1.013961 0.545798 0.345914 1.535759 0.968261 0.937780 -0.119329 1.630311 1.635898 0.029531 1.850111 1.208612 1.298337 1.226547 0.020306 0.388794 1.210462 1.649716 -0.158605 0.268380 1.285081 1.672163 1.145021 0.908520 1.140268 1.468740 0.844848 0.440912 0.760836 -0.415872 1.889804 1.724959 -0.229249 0.766901 0.564605 0.613211 0.221081 -0.012880 1.521722 -0.044019 0.593078 0.034669 0.491432 0.559669 -0.045684 1.255880 1.344088 0.070215 0.282883 -0.229690 0.625053 0.504422 0.811212 -0.012186 0.589513 1.241057 0.831526 1.215774 0.684110 1.651422 0.305036 1.891476 0.747710 0.040696 1.539490 0.154881 1.456564 0.357589 0.123799 1.523900 1.179657 0.504889 1.418226 0.850462 0.009923 1.481216 0.600938 0.216302 0.543002 0.255145 1.787452 0.279328 1.172852 -0.085076 0.199219 1.196556)
      )
 
 ;;; 99 all -------------------------------------------------------------------------------- ; 9.9499
-(vector 99 13.002375571256 (fv 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0)
+(vector 99 13.002375571256 #(0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0)
 
-	9.856524 (fv 0.000000 0.532142 1.131528 0.051928 1.654946 0.271228 1.101349 1.560647 1.619023 1.108572 0.726033 0.727251 -0.132854 0.360041 0.670224 1.663602 -0.493942 -0.197685 1.604359 1.799803 1.040897 0.122580 0.382051 1.681979 0.430500 1.558581 0.044836 1.543992 1.439831 0.906809 1.334494 1.667502 1.130520 0.467062 1.310080 0.675817 0.797910 0.443927 1.274100 0.336343 0.146059 -0.192316 0.742563 0.471697 1.596436 -0.009686 1.651640 1.837904 0.406037 0.558091 -0.016989 1.479179 0.903735 1.116299 -0.060825 0.179513 -0.026846 1.811414 0.072416 -0.014783 0.060148 0.361427 1.207468 0.945662 0.068194 1.516887 0.004488 0.212016 0.737847 -0.343051 0.746533 0.527238 1.812564 0.462282 1.376985 0.882738 1.070840 1.718397 0.663551 0.922534 1.724192 -0.576637 1.416748 1.206588 0.385428 0.383601 1.504489 1.636715 0.253055 1.809058 0.862228 1.855156 1.029803 0.604391 1.515278 0.827373 1.237016 1.652558 1.330582)
+	9.856524 #(0.000000 0.532142 1.131528 0.051928 1.654946 0.271228 1.101349 1.560647 1.619023 1.108572 0.726033 0.727251 -0.132854 0.360041 0.670224 1.663602 -0.493942 -0.197685 1.604359 1.799803 1.040897 0.122580 0.382051 1.681979 0.430500 1.558581 0.044836 1.543992 1.439831 0.906809 1.334494 1.667502 1.130520 0.467062 1.310080 0.675817 0.797910 0.443927 1.274100 0.336343 0.146059 -0.192316 0.742563 0.471697 1.596436 -0.009686 1.651640 1.837904 0.406037 0.558091 -0.016989 1.479179 0.903735 1.116299 -0.060825 0.179513 -0.026846 1.811414 0.072416 -0.014783 0.060148 0.361427 1.207468 0.945662 0.068194 1.516887 0.004488 0.212016 0.737847 -0.343051 0.746533 0.527238 1.812564 0.462282 1.376985 0.882738 1.070840 1.718397 0.663551 0.922534 1.724192 -0.576637 1.416748 1.206588 0.385428 0.383601 1.504489 1.636715 0.253055 1.809058 0.862228 1.855156 1.029803 0.604391 1.515278 0.827373 1.237016 1.652558 1.330582)
 
 	;; 100-1
 	9.837088 #(0.000000 0.501632 0.934877 -0.406945 1.720666 0.060221 0.986624 1.296415 1.868188 0.930965 0.372307 0.709017 -0.252505 0.160880 0.812384 1.543611 -0.433820 -0.259337 1.687543 1.624404 0.816138 0.040401 0.111607 -0.236070 0.269290 1.314408 0.264913 1.524076 1.510591 0.672939 1.225301 1.486867 1.198432 0.684715 1.400436 0.809536 0.790904 0.226400 1.325157 0.378418 0.148020 -0.182631 0.691385 0.400855 1.875888 -0.034659 1.584706 0.098304 0.424031 0.680276 -0.260219 1.393931 1.457882 1.172138 0.294071 0.176446 -0.047801 -0.268365 -0.154114 0.172473 0.026218 0.381410 0.486670 0.694651 0.137283 1.339580 -0.408431 0.346779 0.297247 -0.681534 0.303276 0.742358 1.426415 0.456204 1.180942 0.678579 1.815369 1.742844 0.288364 0.833505 1.638509 -0.777919 1.367299 1.067232 -0.002137 0.375276 1.602540 1.654913 0.141825 1.294416 0.790392 1.752947 1.096531 0.330167 1.510639 0.495286 1.348117 1.506107 1.279426)
@@ -1189,9 +1187,9 @@
      )
 
 ;;; 100 all -------------------------------------------------------------------------------- ; 10
-(vector 100 12.998435541498 (fv 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0)
+(vector 100 12.998435541498 #(0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0)
 
-	9.934540 (fv 0.000000 -0.003002 1.124858 1.923310 1.313585 0.903273 0.269057 1.550768 -0.053877 1.309350 0.259003 0.111356 1.649851 -0.475532 0.829676 0.358899 1.751244 0.579333 0.816025 0.729724 0.670859 0.992375 1.547721 -0.006147 1.191599 -0.084864 -0.001041 0.113001 0.580223 -0.405864 1.746923 1.268810 1.705215 1.056469 -0.197189 1.293674 0.934396 0.701720 0.582761 1.455750 1.232104 0.066182 1.464245 1.672004 0.239530 1.711330 -0.092878 0.399845 1.787310 0.046607 0.724822 1.735381 1.288901 0.460956 0.591963 0.996187 1.917259 0.311027 0.319804 1.898631 1.336795 0.632408 0.203462 1.031863 1.346167 0.931351 0.938341 -0.021240 0.003608 0.259606 1.507194 1.470684 0.324860 1.386425 0.298636 1.353945 1.922770 1.226486 0.467967 1.127400 0.946778 1.636808 0.285401 1.555027 1.572734 1.271086 1.042408 1.022431 1.651957 1.039348 0.338431 0.852870 0.945331 1.308135 1.631151 1.286426 0.091020 0.620928 0.894381 1.712980)
+	9.934540 #(0.000000 -0.003002 1.124858 1.923310 1.313585 0.903273 0.269057 1.550768 -0.053877 1.309350 0.259003 0.111356 1.649851 -0.475532 0.829676 0.358899 1.751244 0.579333 0.816025 0.729724 0.670859 0.992375 1.547721 -0.006147 1.191599 -0.084864 -0.001041 0.113001 0.580223 -0.405864 1.746923 1.268810 1.705215 1.056469 -0.197189 1.293674 0.934396 0.701720 0.582761 1.455750 1.232104 0.066182 1.464245 1.672004 0.239530 1.711330 -0.092878 0.399845 1.787310 0.046607 0.724822 1.735381 1.288901 0.460956 0.591963 0.996187 1.917259 0.311027 0.319804 1.898631 1.336795 0.632408 0.203462 1.031863 1.346167 0.931351 0.938341 -0.021240 0.003608 0.259606 1.507194 1.470684 0.324860 1.386425 0.298636 1.353945 1.922770 1.226486 0.467967 1.127400 0.946778 1.636808 0.285401 1.555027 1.572734 1.271086 1.042408 1.022431 1.651957 1.039348 0.338431 0.852870 0.945331 1.308135 1.631151 1.286426 0.091020 0.620928 0.894381 1.712980)
 
 	;; 99+1
 	9.840430 #(0.000000 0.622605 0.940347 -0.023879 1.823374 0.046101 0.987386 1.386868 1.714786 1.047746 0.546094 0.770951 -0.265661 0.292412 0.888118 1.675189 -0.427745 -0.167443 1.762203 1.576180 0.923298 0.110300 0.331275 1.952651 0.241655 1.589880 0.276846 1.519665 1.333705 0.834984 1.249804 1.700983 1.188281 0.627881 1.352135 0.781883 0.873102 0.286686 1.236704 0.305170 0.118608 -0.061299 0.746712 0.436256 1.850021 0.025967 1.523851 0.111789 0.590538 0.644667 -0.043430 1.449342 1.285442 1.251443 0.387240 0.168668 -0.008131 -0.077897 -0.090554 0.128941 0.292252 0.590066 0.910912 0.845002 0.114157 1.267409 -0.143231 0.405284 0.467262 -0.510143 0.597548 0.663042 1.615835 0.378343 1.456219 0.634771 1.512841 1.710315 0.498665 0.804929 1.545845 -0.422582 1.525481 1.254165 0.184553 0.563406 1.423281 1.785321 0.228158 1.573508 0.775481 1.683423 1.226447 0.381675 1.467512 0.862051 1.538318 1.641940 1.350297 0.135931)
@@ -1201,10 +1199,10 @@
       )
 
 ;;; 101 all -------------------------------------------------------------------------------- ; 10.0499
-(vector 101 13.219774246216 (fv 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0)
+(vector 101 13.219774246216 #(0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0)
 
       ;; pp.scm: 
-	9.969423 (fv 0.000000 0.594013 1.021081 1.737097 -0.040619 0.752674 1.481517 0.041655 0.616216 1.273976 -0.239494 0.706555 1.350693 0.121717 0.873486 1.615554 0.502899 0.859104 0.100209 1.240389 0.001564 0.940100 -0.110501 0.399212 1.639677 0.823186 1.849867 0.970964 1.815596 0.977295 1.876945 1.029064 0.250663 1.106062 0.440754 1.692440 0.937531 0.143047 1.343876 0.363444 1.897361 0.954251 0.489534 1.687124 1.352147 0.540407 -0.261830 1.349441 0.704373 0.447495 1.734922 1.090380 0.653989 0.307022 1.449780 1.794904 0.808626 0.497093 0.423383 -0.280469 1.640122 1.217125 1.143712 0.677390 0.472908 0.243924 0.123084 -0.178887 1.588534 1.317289 1.403860 1.454850 1.459048 1.165832 1.237401 1.000847 1.421104 1.051039 1.364625 1.447050 1.541757 1.176845 1.530906 1.723380 1.795645 0.095341 0.481918 0.307978 0.454615 1.009308 0.963604 1.200422 1.757436 -0.015019 0.420112 1.020994 1.127410 1.866034 -0.291409 0.497289 1.096855)
+	9.969423 #(0.000000 0.594013 1.021081 1.737097 -0.040619 0.752674 1.481517 0.041655 0.616216 1.273976 -0.239494 0.706555 1.350693 0.121717 0.873486 1.615554 0.502899 0.859104 0.100209 1.240389 0.001564 0.940100 -0.110501 0.399212 1.639677 0.823186 1.849867 0.970964 1.815596 0.977295 1.876945 1.029064 0.250663 1.106062 0.440754 1.692440 0.937531 0.143047 1.343876 0.363444 1.897361 0.954251 0.489534 1.687124 1.352147 0.540407 -0.261830 1.349441 0.704373 0.447495 1.734922 1.090380 0.653989 0.307022 1.449780 1.794904 0.808626 0.497093 0.423383 -0.280469 1.640122 1.217125 1.143712 0.677390 0.472908 0.243924 0.123084 -0.178887 1.588534 1.317289 1.403860 1.454850 1.459048 1.165832 1.237401 1.000847 1.421104 1.051039 1.364625 1.447050 1.541757 1.176845 1.530906 1.723380 1.795645 0.095341 0.481918 0.307978 0.454615 1.009308 0.963604 1.200422 1.757436 -0.015019 0.420112 1.020994 1.127410 1.866034 -0.291409 0.497289 1.096855)
 
 	;; 100+1
 	9.928334 #(0.000000 0.665967 0.808488 -0.299452 1.814455 0.103115 0.907176 1.394075 1.630101 0.900795 0.296519 0.962833 -0.433738 0.560295 0.666980 1.835154 -0.279839 -0.031634 1.784110 1.588290 1.067637 -0.084296 0.498781 -0.141826 0.313843 1.417194 0.278161 1.651147 1.555702 0.978173 1.181141 1.302529 1.194189 0.828430 1.413184 0.866774 0.480085 0.297646 1.211562 0.387667 0.067199 -0.347159 0.722985 0.483741 1.855309 -0.030363 1.226310 0.179911 0.429117 0.527809 -0.278101 1.140370 1.021869 1.189527 0.283868 0.208805 -0.049884 -0.127424 -0.115078 0.078040 0.263018 0.600699 1.081708 0.738634 0.138893 1.341511 -0.222681 0.831975 0.385157 -0.493602 0.352038 0.759227 1.590774 0.426044 1.540029 0.849237 1.363690 1.556222 0.415629 0.866591 1.752437 -0.973681 1.445077 1.553262 -0.064956 0.403839 1.648532 -0.192842 0.191551 1.416306 0.656144 1.672848 1.613529 0.059245 1.705726 0.684303 1.153859 1.402257 1.265878 0.157130 -0.103303)
@@ -1214,12 +1212,12 @@
       )
 
 ;;; 102 all -------------------------------------------------------------------------------- ; 10.0995
-(vector 102 13.194128990173 (fv 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 0)
+(vector 102 13.194128990173 #(0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 0)
 
-      10.088316 (fv 0.000000 0.095626 0.514266 0.420449 0.749499 0.992394 -0.193393 0.039052 0.057117 1.575374 1.352773 1.322452 0.794003 0.750383 0.756593 0.273089 1.675537 0.407815 0.550801 -0.538502 0.957909 1.336960 1.614983 0.508708 1.910222 1.874209 0.940387 0.222605 0.538045 1.356000 1.741919 0.598382 1.550605 1.131133 0.773140 -0.232481 0.055269 1.822145 0.659426 -0.100655 1.261624 0.557410 0.214081 0.588453 0.458097 0.577319 1.055339 1.792023 0.525700 0.097434 0.222735 0.356704 1.885210 0.037676 0.938171 0.984298 1.949046 1.455206 0.941409 1.068679 0.637889 0.330852 0.138031 1.619860 0.674126 -0.251106 1.183963 1.959835 0.213213 0.066073 0.132459 0.329261 0.847485 0.503486 0.122913 0.684764 1.979054 0.659531 0.231782 1.341252 0.124898 0.707447 -0.419234 0.913042 1.413830 0.741236 1.664719 1.833486 -0.410776 0.347702 1.045974 -0.368342 0.123701 1.012180 1.052039 1.226053 0.364036 1.015550 1.423284 1.022491 0.770674 1.877516)
+      10.088316 #(0.000000 0.095626 0.514266 0.420449 0.749499 0.992394 -0.193393 0.039052 0.057117 1.575374 1.352773 1.322452 0.794003 0.750383 0.756593 0.273089 1.675537 0.407815 0.550801 -0.538502 0.957909 1.336960 1.614983 0.508708 1.910222 1.874209 0.940387 0.222605 0.538045 1.356000 1.741919 0.598382 1.550605 1.131133 0.773140 -0.232481 0.055269 1.822145 0.659426 -0.100655 1.261624 0.557410 0.214081 0.588453 0.458097 0.577319 1.055339 1.792023 0.525700 0.097434 0.222735 0.356704 1.885210 0.037676 0.938171 0.984298 1.949046 1.455206 0.941409 1.068679 0.637889 0.330852 0.138031 1.619860 0.674126 -0.251106 1.183963 1.959835 0.213213 0.066073 0.132459 0.329261 0.847485 0.503486 0.122913 0.684764 1.979054 0.659531 0.231782 1.341252 0.124898 0.707447 -0.419234 0.913042 1.413830 0.741236 1.664719 1.833486 -0.410776 0.347702 1.045974 -0.368342 0.123701 1.012180 1.052039 1.226053 0.364036 1.015550 1.423284 1.022491 0.770674 1.877516)
 
       ;; pp:
-      10.025038 (fv 0.000000 0.605553 0.983049 1.667341 0.280594 0.813730 1.347579 0.067151 0.773566 1.170135 -0.000437 0.776577 1.339736 0.097477 0.851330 1.565309 0.392180 1.136191 -0.027326 0.943192 1.737718 0.813011 1.699444 0.599876 1.617440 0.776150 1.855177 0.961431 1.915827 0.882986 1.666203 0.596064 -0.104064 1.326950 0.560052 1.687567 0.667080 1.807593 1.118197 0.382149 1.651756 0.780071 0.152645 1.439416 0.767927 0.282152 1.693680 1.210781 0.759553 0.009785 1.134002 0.817236 0.333315 0.071267 1.596603 1.242164 0.957402 0.421360 -0.130961 1.394848 1.288611 0.865712 0.865151 0.398958 0.298422 -0.229411 1.889300 1.384404 1.672436 1.144983 1.294122 0.887806 0.874167 0.414036 1.058747 0.759420 0.922388 0.730377 0.900207 0.658168 0.691340 0.678324 0.551776 0.884009 1.344859 1.136367 1.415423 1.606731 1.827838 -0.020510 0.115669 0.332208 0.674134 1.028023 1.276947 1.696675 0.283199 0.564387 1.040113 1.365277 -0.292333 0.240887)
+      10.025038 #(0.000000 0.605553 0.983049 1.667341 0.280594 0.813730 1.347579 0.067151 0.773566 1.170135 -0.000437 0.776577 1.339736 0.097477 0.851330 1.565309 0.392180 1.136191 -0.027326 0.943192 1.737718 0.813011 1.699444 0.599876 1.617440 0.776150 1.855177 0.961431 1.915827 0.882986 1.666203 0.596064 -0.104064 1.326950 0.560052 1.687567 0.667080 1.807593 1.118197 0.382149 1.651756 0.780071 0.152645 1.439416 0.767927 0.282152 1.693680 1.210781 0.759553 0.009785 1.134002 0.817236 0.333315 0.071267 1.596603 1.242164 0.957402 0.421360 -0.130961 1.394848 1.288611 0.865712 0.865151 0.398958 0.298422 -0.229411 1.889300 1.384404 1.672436 1.144983 1.294122 0.887806 0.874167 0.414036 1.058747 0.759420 0.922388 0.730377 0.900207 0.658168 0.691340 0.678324 0.551776 0.884009 1.344859 1.136367 1.415423 1.606731 1.827838 -0.020510 0.115669 0.332208 0.674134 1.028023 1.276947 1.696675 0.283199 0.564387 1.040113 1.365277 -0.292333 0.240887)
 
       ;; 100+2
       10.002736 #(0.000000 0.694136 0.884286 -0.019865 1.949416 0.045647 0.784966 1.485288 1.831237 1.096539 0.463002 1.083013 -0.121170 0.359435 0.652933 1.645807 -0.422716 -0.232256 1.626278 1.440555 0.958131 0.134457 0.490737 0.007571 0.357050 1.752163 0.151816 1.558855 1.454026 0.987545 1.222854 1.687668 1.100248 0.567262 1.370806 0.848200 0.795775 0.373350 1.291901 0.405117 0.336479 0.081039 0.805242 0.490027 1.710694 0.189571 1.425039 0.086172 0.763664 0.606525 0.069586 1.531524 1.275494 1.130168 0.349598 0.298878 -0.039090 -0.285912 -0.120615 0.138896 0.355171 0.409218 0.795399 0.792160 0.288768 1.170359 -0.260392 0.351573 0.565468 -0.250055 0.636086 0.568462 1.596076 0.355472 1.258735 0.969838 1.592115 1.783400 0.530721 0.636731 1.503600 -0.690920 1.599651 1.373458 0.089786 0.445422 1.295129 1.885568 0.290790 1.482001 0.849877 1.956561 1.126285 0.177909 1.515702 0.760935 1.535581 1.648591 1.330225 0.034311 0.125802 -0.263447)
@@ -1231,9 +1229,9 @@
       )
 
 ;;; 103 all -------------------------------------------------------------------------------- ; 10.1489
-(vector 103 13.435972213745 (fv 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1)
+(vector 103 13.435972213745 #(0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1)
 
-	10.072606 (fv 0.000000 0.775992 0.789071 0.551328 0.298530 -0.168268 0.810417 1.541024 0.478641 0.826848 0.407673 0.769783 0.052469 0.071330 0.252339 -0.003477 1.565238 1.042251 1.681717 0.063581 0.058867 1.442741 0.917343 1.448313 1.294486 -0.061724 0.478951 1.132882 1.128620 1.082449 0.123678 0.578486 1.003285 0.918654 0.241363 0.278868 -0.414912 1.418211 0.927244 1.134797 0.489863 -0.664481 0.529310 0.940119 1.393533 0.416277 0.044802 1.197865 0.283028 1.514978 1.590639 1.159829 1.236485 1.237279 0.109313 1.090962 1.341243 0.602478 1.179629 0.285726 1.482652 0.648833 1.308230 1.743441 1.346535 0.727031 0.061582 0.907076 -0.185896 1.479865 0.775766 1.389852 -0.161651 1.518832 0.594834 0.022777 -0.099476 0.851631 0.289254 1.413652 0.958286 -0.309988 0.125895 0.222920 0.633318 0.584266 0.503924 0.660246 1.182087 1.319466 1.213616 1.220516 0.662413 1.589230 0.875855 1.466144 0.036061 0.139801 0.986962 0.226038 0.202950 0.978447 0.999923)
+	10.072606 #(0.000000 0.775992 0.789071 0.551328 0.298530 -0.168268 0.810417 1.541024 0.478641 0.826848 0.407673 0.769783 0.052469 0.071330 0.252339 -0.003477 1.565238 1.042251 1.681717 0.063581 0.058867 1.442741 0.917343 1.448313 1.294486 -0.061724 0.478951 1.132882 1.128620 1.082449 0.123678 0.578486 1.003285 0.918654 0.241363 0.278868 -0.414912 1.418211 0.927244 1.134797 0.489863 -0.664481 0.529310 0.940119 1.393533 0.416277 0.044802 1.197865 0.283028 1.514978 1.590639 1.159829 1.236485 1.237279 0.109313 1.090962 1.341243 0.602478 1.179629 0.285726 1.482652 0.648833 1.308230 1.743441 1.346535 0.727031 0.061582 0.907076 -0.185896 1.479865 0.775766 1.389852 -0.161651 1.518832 0.594834 0.022777 -0.099476 0.851631 0.289254 1.413652 0.958286 -0.309988 0.125895 0.222920 0.633318 0.584266 0.503924 0.660246 1.182087 1.319466 1.213616 1.220516 0.662413 1.589230 0.875855 1.466144 0.036061 0.139801 0.986962 0.226038 0.202950 0.978447 0.999923)
 	9.939365 #(0.000000 0.794367 0.781191 0.495064 0.495230 -0.388009 0.971616 1.347277 0.328242 0.741267 0.530537 1.078181 -0.237622 0.107581 0.258589 0.255024 1.565355 1.278328 1.789249 -0.140007 -0.199710 1.294397 0.953960 1.338212 1.138392 0.017529 0.484971 1.300470 1.202522 0.969811 0.455432 0.750845 0.761123 0.668283 0.289374 0.280222 -0.329630 1.253548 0.930314 1.087111 0.685593 -0.730896 0.513015 0.942289 1.448130 0.624245 -0.099966 1.306897 0.278573 1.322888 1.648294 0.849613 1.245918 1.545777 -0.106941 1.147216 0.903444 0.450981 1.376132 0.256174 1.368394 0.763297 1.355029 1.779789 1.255780 0.812388 0.170237 0.940509 -0.017353 1.623185 0.693251 1.320359 -0.226935 1.435723 0.278225 0.247083 -0.427620 0.856951 0.463721 1.355469 0.897870 -0.255243 0.194551 0.144239 0.768570 0.690462 0.453432 0.766815 1.332179 1.485970 0.855947 1.311144 0.868609 1.737822 0.574654 1.449286 -0.052990 0.247284 0.755917 0.347662 0.133411 0.978837 1.128108)
 	9.938814 #(0.000000 0.794369 0.781179 0.494978 0.495207 -0.387960 0.971662 1.347297 0.328234 0.741307 0.530523 1.078218 -0.237594 0.107602 0.258606 0.255021 1.565400 1.278380 1.789238 -0.140020 -0.199735 1.294381 0.953983 1.338265 1.138336 0.017495 0.485041 1.300450 1.202504 0.969724 0.455427 0.750931 0.761094 0.668250 0.289329 0.280179 -0.329611 1.253574 0.930366 1.087063 0.685627 -0.730833 0.513027 0.942251 1.448095 0.624348 -0.100009 1.306860 0.278533 1.322852 1.648329 0.849694 1.245891 1.545774 -0.106935 1.147152 0.903447 0.451005 1.376091 0.256221 1.368425 0.763333 1.355003 1.779765 1.255779 0.812329 0.170135 0.940480 -0.017373 1.623180 0.693238 1.320324 -0.226936 1.435741 0.278227 0.247217 -0.427735 0.856978 0.463701 1.355420 0.897766 -0.255204 0.194551 0.144265 0.768579 0.690419 0.453417 0.766802 1.332201 1.485955 0.855932 1.311069 0.868635 1.737826 0.574603 1.449298 -0.053025 0.247307 0.755792 0.347674 0.133379 0.978880 1.128060)
 
@@ -1241,9 +1239,9 @@
       )
 
 ;;; 104 all -------------------------------------------------------------------------------- ; 10.1980
-(vector 104 13.330215043333 (fv 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0)
+(vector 104 13.330215043333 #(0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0)
 
-	10.124244 (fv 0.000000 1.622675 1.706946 0.969141 1.395974 1.097698 0.150298 1.207570 1.449278 0.836769 1.526696 -0.147627 1.089028 1.314193 0.833408 0.265551 0.958522 0.397626 0.447242 0.837858 1.676927 0.883730 1.604731 0.779720 0.388122 0.713835 1.704244 0.052983 0.837107 0.054588 0.549459 0.093126 1.768139 0.144405 0.937970 0.532416 -0.149569 1.622840 1.586484 0.686471 0.830291 0.095651 0.908595 0.259853 -0.301519 0.855324 -0.014912 0.748872 1.538644 -0.030037 0.020462 0.792578 0.531283 0.625746 0.346250 0.434570 0.703831 1.586850 1.489275 1.435865 0.300417 1.125540 0.355002 0.123270 0.728375 0.039493 1.718698 1.307117 0.118823 0.358408 0.405752 1.413026 1.454448 0.630369 0.900592 1.792896 1.090807 1.061221 1.814531 1.630768 0.510555 0.618481 1.214968 0.122072 0.455822 1.727623 0.073245 -0.177442 0.329678 1.542732 1.673278 -0.469931 -0.007785 0.142142 0.231493 0.623628 0.711468 0.673585 0.185009 1.333716 0.659875 0.472080 1.635059 0.745116)
+	10.124244 #(0.000000 1.622675 1.706946 0.969141 1.395974 1.097698 0.150298 1.207570 1.449278 0.836769 1.526696 -0.147627 1.089028 1.314193 0.833408 0.265551 0.958522 0.397626 0.447242 0.837858 1.676927 0.883730 1.604731 0.779720 0.388122 0.713835 1.704244 0.052983 0.837107 0.054588 0.549459 0.093126 1.768139 0.144405 0.937970 0.532416 -0.149569 1.622840 1.586484 0.686471 0.830291 0.095651 0.908595 0.259853 -0.301519 0.855324 -0.014912 0.748872 1.538644 -0.030037 0.020462 0.792578 0.531283 0.625746 0.346250 0.434570 0.703831 1.586850 1.489275 1.435865 0.300417 1.125540 0.355002 0.123270 0.728375 0.039493 1.718698 1.307117 0.118823 0.358408 0.405752 1.413026 1.454448 0.630369 0.900592 1.792896 1.090807 1.061221 1.814531 1.630768 0.510555 0.618481 1.214968 0.122072 0.455822 1.727623 0.073245 -0.177442 0.329678 1.542732 1.673278 -0.469931 -0.007785 0.142142 0.231493 0.623628 0.711468 0.673585 0.185009 1.333716 0.659875 0.472080 1.635059 0.745116)
 
 	;; 103+1
 	10.017665 #(0.000000 0.745584 0.754703 0.591172 0.316730 -0.304771 0.899483 1.291576 0.545676 0.772500 0.260173 0.994469 0.010841 -0.025249 0.470119 -0.206891 1.625251 1.051634 1.804633 -0.290226 0.044365 1.520714 1.169280 1.579603 1.507492 -0.098599 0.554837 1.115406 1.434064 1.033197 0.173666 0.501633 0.832630 0.961445 0.155427 0.671127 -0.251235 1.186810 0.870334 0.942028 0.540752 -0.482588 0.541485 1.032711 1.176554 0.575710 0.196807 1.247991 -0.309114 1.373943 1.309961 0.661994 1.095118 1.475934 -0.067967 1.122540 1.395244 0.408007 1.356964 0.251346 1.416704 0.875598 1.007338 1.720110 0.906456 0.746887 0.314809 1.255942 0.123637 1.421756 0.602684 1.336186 -0.397992 1.545369 0.942007 -0.105531 0.032651 0.903727 0.429977 1.262458 1.203957 -0.177847 0.186686 0.130438 0.458904 0.322547 0.256233 0.884282 1.238120 1.393593 1.126188 1.032025 0.626466 1.697238 0.820645 1.808108 -0.040709 0.161290 1.012239 0.476207 0.102979 0.908021 1.239960 0.369493)
@@ -1251,9 +1249,9 @@
       )
 
 ;;; 105 all -------------------------------------------------------------------------------- ; 10.2470
-(vector 105 13.595993876506 (fv 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 0)
+(vector 105 13.595993876506 #(0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 0)
 
-	10.169606 (fv 0.000000 0.591462 0.235800 1.321672 1.356594 -0.405542 0.538022 0.615762 0.326243 1.062550 -0.153260 -0.031444 1.233243 1.770308 1.085997 1.514420 0.095655 1.000755 -0.065552 -0.053493 1.481942 0.777394 0.483679 1.419470 0.159850 -0.259703 0.126983 0.478035 1.178492 1.111834 1.075738 1.268063 0.962249 1.943997 1.083333 1.538989 0.307093 1.387414 1.941208 1.284189 -0.012780 1.356158 1.317824 1.095171 0.472030 0.459214 1.096373 0.477967 0.565821 1.566421 0.590639 1.381435 1.150189 0.197776 0.315906 0.587160 0.629501 0.853485 0.797405 -0.187739 1.489470 1.296970 0.273664 0.102171 1.749652 1.601370 1.902817 1.658081 0.403983 0.138955 1.356476 1.693746 1.125750 0.916183 1.246086 0.386904 -0.248158 0.148664 0.070783 0.819794 -0.019914 0.547099 0.323707 -0.046514 1.635194 0.435105 0.156523 0.390396 -0.277746 0.665321 0.200546 1.082837 1.059380 -0.041536 0.592565 0.634526 1.116414 0.039718 0.575393 -0.178156 1.655927 0.370318 0.615340 1.693958 1.282592)
+	10.169606 #(0.000000 0.591462 0.235800 1.321672 1.356594 -0.405542 0.538022 0.615762 0.326243 1.062550 -0.153260 -0.031444 1.233243 1.770308 1.085997 1.514420 0.095655 1.000755 -0.065552 -0.053493 1.481942 0.777394 0.483679 1.419470 0.159850 -0.259703 0.126983 0.478035 1.178492 1.111834 1.075738 1.268063 0.962249 1.943997 1.083333 1.538989 0.307093 1.387414 1.941208 1.284189 -0.012780 1.356158 1.317824 1.095171 0.472030 0.459214 1.096373 0.477967 0.565821 1.566421 0.590639 1.381435 1.150189 0.197776 0.315906 0.587160 0.629501 0.853485 0.797405 -0.187739 1.489470 1.296970 0.273664 0.102171 1.749652 1.601370 1.902817 1.658081 0.403983 0.138955 1.356476 1.693746 1.125750 0.916183 1.246086 0.386904 -0.248158 0.148664 0.070783 0.819794 -0.019914 0.547099 0.323707 -0.046514 1.635194 0.435105 0.156523 0.390396 -0.277746 0.665321 0.200546 1.082837 1.059380 -0.041536 0.592565 0.634526 1.116414 0.039718 0.575393 -0.178156 1.655927 0.370318 0.615340 1.693958 1.282592)
 	
 	;; 103+2
 	10.064945 #(0.000000 0.682652 0.800210 0.421652 0.554062 -0.360055 0.792317 1.465481 -0.019712 0.697608 0.554698 0.858084 0.164354 -0.019234 0.162952 0.345627 1.621651 0.956217 1.656476 -0.303453 -0.187651 1.271041 0.778998 1.434856 1.150013 -0.072967 0.339790 1.321211 1.320212 0.949083 0.543303 0.516765 0.879307 1.039360 0.093945 0.385943 -0.388725 1.561230 1.166808 1.287025 0.753324 -1.134186 0.285245 0.840389 1.554768 0.666549 -0.096352 0.924158 0.213888 1.502858 1.582784 0.980705 1.341049 1.650316 -0.198796 1.508087 1.243789 0.381493 1.651510 0.258432 1.593643 0.607159 1.330584 1.752940 1.190114 0.752124 0.301833 0.828769 -0.217850 1.553288 0.804465 1.268535 -0.132772 1.463816 0.052920 -0.009087 -0.356015 0.855416 0.196469 1.378625 1.182028 -0.269272 0.104746 0.083642 0.567469 0.929739 0.150765 0.641904 1.229939 1.430161 0.787585 1.158738 0.883860 1.662494 0.756218 1.382603 -0.075116 0.404544 1.158715 0.557851 -0.000464 1.098986 0.925246 -0.557344 -0.464571)
@@ -1261,9 +1259,9 @@
       )
 
 ;;; 106 all -------------------------------------------------------------------------------- ; 10.2956
-(vector 106 13.200031373463 (fv 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1)
+(vector 106 13.200031373463 #(0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1)
 
-	10.233770 (fv 0.000000 0.055119 -0.050942 1.221658 1.069634 0.969833 -0.120088 0.537260 0.774846 1.097793 1.607343 1.125046 1.248849 0.110938 0.000911 -0.176700 1.224234 0.974172 0.258380 0.044520 0.328839 0.706861 1.491508 0.262253 0.850888 0.129635 0.528138 0.085967 1.206179 1.203105 -0.212392 0.552998 1.277370 0.069273 1.300991 0.395491 0.052184 1.017350 -0.139116 0.060719 1.223876 0.765705 1.643712 0.809882 1.480192 -0.160266 1.133315 0.396498 1.706614 0.389700 1.530945 1.033706 0.669577 0.953867 0.549025 0.735362 1.230749 1.732990 0.576594 1.599366 0.250495 1.206074 1.016404 1.623424 1.318513 0.223760 1.354914 1.140942 0.138240 0.414002 0.134404 1.756706 -0.015032 -0.196090 0.317193 0.119056 -0.492220 1.081019 0.025882 -0.092539 1.764132 1.357709 0.458311 1.060374 1.019483 -0.126097 0.259596 0.137076 0.020444 0.418031 0.040745 0.523959 1.133024 0.593829 1.429205 1.802013 0.365195 0.248492 1.498863 -0.344913 0.359725 1.657142 1.374238 1.289802 -0.217105 1.333949)
+	10.233770 #(0.000000 0.055119 -0.050942 1.221658 1.069634 0.969833 -0.120088 0.537260 0.774846 1.097793 1.607343 1.125046 1.248849 0.110938 0.000911 -0.176700 1.224234 0.974172 0.258380 0.044520 0.328839 0.706861 1.491508 0.262253 0.850888 0.129635 0.528138 0.085967 1.206179 1.203105 -0.212392 0.552998 1.277370 0.069273 1.300991 0.395491 0.052184 1.017350 -0.139116 0.060719 1.223876 0.765705 1.643712 0.809882 1.480192 -0.160266 1.133315 0.396498 1.706614 0.389700 1.530945 1.033706 0.669577 0.953867 0.549025 0.735362 1.230749 1.732990 0.576594 1.599366 0.250495 1.206074 1.016404 1.623424 1.318513 0.223760 1.354914 1.140942 0.138240 0.414002 0.134404 1.756706 -0.015032 -0.196090 0.317193 0.119056 -0.492220 1.081019 0.025882 -0.092539 1.764132 1.357709 0.458311 1.060374 1.019483 -0.126097 0.259596 0.137076 0.020444 0.418031 0.040745 0.523959 1.133024 0.593829 1.429205 1.802013 0.365195 0.248492 1.498863 -0.344913 0.359725 1.657142 1.374238 1.289802 -0.217105 1.333949)
 
 	;; 105+1 = 103+3
 	10.179981 #(0.000000 0.771266 0.798162 0.574106 0.509046 -0.454532 0.722646 1.382152 0.188134 0.639741 0.416137 0.934678 0.075406 0.041008 0.256970 0.360043 1.637722 1.021983 1.620165 -0.251506 -0.173651 1.345505 0.774331 1.358020 1.178455 0.048273 0.190944 1.354709 1.390135 0.925530 0.585598 0.586646 0.925457 0.930732 0.084979 0.308249 -0.510277 1.508378 1.202203 1.312776 0.712836 -1.217347 0.291576 1.028994 1.475323 0.702825 -0.072470 0.840094 0.187818 1.417625 1.468715 1.001276 1.223171 1.644290 -0.182504 1.499121 1.198948 0.364839 1.508784 0.234796 1.494133 0.521892 1.439752 1.612444 1.042789 0.871256 0.313132 0.872711 -0.384633 1.449440 0.726706 1.126102 -0.147870 1.347148 0.064771 0.128024 -0.342719 0.813697 0.226743 1.421921 1.020328 -0.362916 0.016145 0.192478 0.585608 0.784156 0.021533 0.652162 0.963185 1.437016 0.624122 1.232038 1.005325 1.412486 0.735986 1.181102 -0.186937 0.322568 1.015044 0.519059 0.114269 1.113254 0.730024 -0.587578 -0.573285 0.170710)
@@ -1271,9 +1269,9 @@
       )
 
 ;;; 107 all -------------------------------------------------------------------------------- ; 10.3441
-(vector 107 13.224366750161 (fv 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1)
+(vector 107 13.224366750161 #(0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1)
 
-      10.273899 (fv 0.000000 1.285870 0.722685 1.695642 1.789973 0.495199 0.001511 0.648393 1.565696 0.756830 0.421656 -0.184836 0.187469 1.381401 1.501800 0.551266 1.079110 0.129360 0.283265 1.059394 -0.217105 1.758613 1.156467 0.305791 0.018881 1.709795 1.386465 1.716357 0.543922 -0.077767 0.376814 1.917356 1.703183 0.375846 1.314995 1.049255 -0.015490 1.182770 0.105614 1.125738 1.580574 0.196175 0.043631 0.176951 1.523484 1.504279 0.024743 0.233174 0.051990 0.885176 0.485127 0.978870 1.366279 1.841166 1.225239 0.599047 0.937430 1.422432 0.950869 1.195765 0.360876 1.187450 1.491233 0.274262 0.123358 1.276789 1.498182 1.151090 1.495794 1.385360 0.511524 1.320969 1.040843 1.323508 0.526850 1.486006 0.358172 -0.084804 0.784722 0.263761 0.033435 1.669885 0.179635 1.097636 0.771172 0.674320 0.095788 1.426496 1.763465 0.078301 1.972016 1.520526 1.431005 0.272982 0.550020 1.118797 -0.453975 1.686563 1.286924 1.481496 1.458102 0.550556 0.115818 1.002355 0.493193 0.718245 1.621218)
+      10.273899 #(0.000000 1.285870 0.722685 1.695642 1.789973 0.495199 0.001511 0.648393 1.565696 0.756830 0.421656 -0.184836 0.187469 1.381401 1.501800 0.551266 1.079110 0.129360 0.283265 1.059394 -0.217105 1.758613 1.156467 0.305791 0.018881 1.709795 1.386465 1.716357 0.543922 -0.077767 0.376814 1.917356 1.703183 0.375846 1.314995 1.049255 -0.015490 1.182770 0.105614 1.125738 1.580574 0.196175 0.043631 0.176951 1.523484 1.504279 0.024743 0.233174 0.051990 0.885176 0.485127 0.978870 1.366279 1.841166 1.225239 0.599047 0.937430 1.422432 0.950869 1.195765 0.360876 1.187450 1.491233 0.274262 0.123358 1.276789 1.498182 1.151090 1.495794 1.385360 0.511524 1.320969 1.040843 1.323508 0.526850 1.486006 0.358172 -0.084804 0.784722 0.263761 0.033435 1.669885 0.179635 1.097636 0.771172 0.674320 0.095788 1.426496 1.763465 0.078301 1.972016 1.520526 1.431005 0.272982 0.550020 1.118797 -0.453975 1.686563 1.286924 1.481496 1.458102 0.550556 0.115818 1.002355 0.493193 0.718245 1.621218)
 
       ;; 105+2 = 103+4
       10.254504 #(0.000000 0.484824 0.645093 0.484448 0.357958 -0.306335 0.781266 1.722221 -0.020523 0.622664 0.475686 0.971485 -0.081828 -0.221731 0.023546 0.160724 1.699779 0.877022 1.571254 -0.219251 0.072417 1.464813 0.631200 1.379055 1.117758 -0.133773 0.232309 1.351525 1.269800 0.970127 0.241075 0.257607 1.000838 1.216076 0.053471 0.232020 -0.359907 1.509993 1.179694 1.054758 0.827030 -1.018435 0.149201 0.847612 1.252524 0.455297 0.005091 0.938550 0.112714 1.231427 1.569945 0.646140 1.306245 1.559100 -0.235326 1.424717 1.086220 0.226398 1.287381 0.237597 1.562146 0.408642 1.239694 1.521425 0.873908 0.443864 0.122845 0.794034 -0.670208 1.201438 0.763367 1.019610 -0.305283 0.938173 0.223614 0.151118 -0.405317 0.789769 0.185696 1.705170 1.080972 -0.394578 -0.084190 0.462333 0.451070 0.732074 -0.196625 0.882445 1.029212 1.285492 0.753537 1.256080 0.793604 1.367897 0.491589 1.208211 -0.307546 0.448608 0.892802 0.520730 -0.067668 1.081080 0.866532 -0.521852 -0.524522 -0.470753 -0.243216)
@@ -1281,9 +1279,9 @@
       )
 
 ;;; 108 all -------------------------------------------------------------------------------- ; 10.3923
-(vector 108  13.534 (fv 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1)
+(vector 108  13.534 #(0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1)
 
-	10.312988 (fv 0.000000 1.293654 0.754043 1.806542 1.109001 0.766775 1.436021 1.627340 0.528605 1.806494 1.181378 0.013554 0.353388 0.092480 0.431618 0.200495 0.904126 0.741464 0.675051 -0.110957 1.146773 1.810641 0.552983 0.275055 0.835876 1.123930 -0.182193 -0.339155 0.645146 0.163632 0.868047 1.269556 0.830686 1.219557 1.665806 1.060039 1.944315 -0.011848 0.365415 0.718256 0.624511 1.571990 0.113371 0.572031 1.797961 0.876379 0.068642 0.072119 0.553161 0.329387 0.545574 0.337595 1.647194 1.034042 0.468339 1.774314 0.240404 1.846502 1.142528 1.223731 0.832499 0.428931 0.643890 1.257704 1.085969 0.643637 0.429070 0.971966 0.109095 0.689833 0.417898 1.804672 1.346983 0.150026 0.404292 0.575881 1.441149 0.533070 -0.177095 0.298641 0.921545 1.086883 0.410704 0.849120 1.518187 1.874571 0.517824 1.242109 -0.053714 0.834159 0.276990 1.956354 1.765190 1.537622 1.530954 -0.106766 1.325278 -0.071959 1.045056 0.533410 0.699958 0.068418 0.070057 1.204618 1.620552 1.072110 1.372120 0.848823)
+	10.312988 #(0.000000 1.293654 0.754043 1.806542 1.109001 0.766775 1.436021 1.627340 0.528605 1.806494 1.181378 0.013554 0.353388 0.092480 0.431618 0.200495 0.904126 0.741464 0.675051 -0.110957 1.146773 1.810641 0.552983 0.275055 0.835876 1.123930 -0.182193 -0.339155 0.645146 0.163632 0.868047 1.269556 0.830686 1.219557 1.665806 1.060039 1.944315 -0.011848 0.365415 0.718256 0.624511 1.571990 0.113371 0.572031 1.797961 0.876379 0.068642 0.072119 0.553161 0.329387 0.545574 0.337595 1.647194 1.034042 0.468339 1.774314 0.240404 1.846502 1.142528 1.223731 0.832499 0.428931 0.643890 1.257704 1.085969 0.643637 0.429070 0.971966 0.109095 0.689833 0.417898 1.804672 1.346983 0.150026 0.404292 0.575881 1.441149 0.533070 -0.177095 0.298641 0.921545 1.086883 0.410704 0.849120 1.518187 1.874571 0.517824 1.242109 -0.053714 0.834159 0.276990 1.956354 1.765190 1.537622 1.530954 -0.106766 1.325278 -0.071959 1.045056 0.533410 0.699958 0.068418 0.070057 1.204618 1.620552 1.072110 1.372120 0.848823)
 
 	;; 103+5
 	10.360302 #(0.000000 0.551674 0.684121 0.443843 0.328287 -0.382856 0.742347 1.553271 0.100438 0.588495 0.564972 0.863601 0.125393 0.057318 -0.071985 0.287901 1.600093 0.971407 1.645285 -0.209518 -0.381267 1.448278 0.742196 1.379192 1.304893 -0.172568 0.425075 1.236069 1.368334 0.874268 0.672828 0.415281 0.726658 0.862117 0.109198 0.219337 -0.244418 1.532842 1.163405 1.346937 0.978237 -0.950485 0.281930 0.924923 1.513033 0.583840 -0.415504 1.174086 0.188477 1.112313 1.589792 0.899949 1.271439 1.538926 -0.265428 1.460427 1.161403 0.396214 1.349937 0.135151 1.479429 0.399645 1.649047 -0.124860 1.280184 0.464971 0.347605 0.600275 -0.139067 1.236147 0.852840 0.641047 -0.107564 1.211289 -0.076869 0.330831 -0.638295 0.950296 0.142049 1.425529 1.211169 -0.161554 0.129139 0.243541 0.647760 0.753493 0.224072 0.686712 1.456555 1.430413 0.867180 1.349952 0.357062 1.696651 0.627351 1.338698 0.006006 0.515509 1.152554 0.609264 -0.153967 1.271052 0.732750 -0.451261 -0.621127 -0.054294 -0.063774 0.634645)
@@ -1291,16 +1289,16 @@
       )
 
 ;;; 109 all -------------------------------------------------------------------------------- ; 10.440306508911
-(vector 109 13.496821304096 (fv 0 0 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0)
+(vector 109 13.496821304096 #(0 0 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0)
 
-	10.432370 (fv 0.000000 0.222737 0.395964 0.267704 0.984627 0.196896 1.257313 -0.049947 0.063508 1.503629 1.207170 0.259470 1.634989 1.732463 0.102120 1.779072 -0.448069 1.030982 -0.170238 0.241134 1.050790 1.545206 1.217799 1.632326 -0.260618 1.981321 1.563052 0.646224 0.963725 1.195450 1.382468 0.912278 -0.055446 -0.043084 1.544497 1.444807 0.819657 0.741044 0.122396 1.518758 -0.047192 1.432176 0.150062 1.445372 1.689041 1.538858 1.607305 0.672865 0.037321 1.002894 0.706157 0.845104 0.402627 1.438914 1.038104 1.050343 0.380185 1.252881 -0.144926 -0.130041 -0.022885 1.740880 1.268140 -0.038596 0.221618 0.937959 1.603605 0.465293 -0.010315 0.708519 1.255289 0.623840 0.892628 0.632806 0.245713 1.831669 -0.020202 0.561348 0.735902 1.121505 0.850852 0.147905 1.162108 1.085140 0.352699 1.043580 0.226572 1.785966 0.379633 0.873437 1.384309 1.785370 1.080206 1.256403 1.169325 0.672865 1.444061 0.325194 0.278183 1.165719 -0.193709 1.182201 0.138301 0.079081 1.231522 0.798589 -0.014107 0.372822 1.050722)
+	10.432370 #(0.000000 0.222737 0.395964 0.267704 0.984627 0.196896 1.257313 -0.049947 0.063508 1.503629 1.207170 0.259470 1.634989 1.732463 0.102120 1.779072 -0.448069 1.030982 -0.170238 0.241134 1.050790 1.545206 1.217799 1.632326 -0.260618 1.981321 1.563052 0.646224 0.963725 1.195450 1.382468 0.912278 -0.055446 -0.043084 1.544497 1.444807 0.819657 0.741044 0.122396 1.518758 -0.047192 1.432176 0.150062 1.445372 1.689041 1.538858 1.607305 0.672865 0.037321 1.002894 0.706157 0.845104 0.402627 1.438914 1.038104 1.050343 0.380185 1.252881 -0.144926 -0.130041 -0.022885 1.740880 1.268140 -0.038596 0.221618 0.937959 1.603605 0.465293 -0.010315 0.708519 1.255289 0.623840 0.892628 0.632806 0.245713 1.831669 -0.020202 0.561348 0.735902 1.121505 0.850852 0.147905 1.162108 1.085140 0.352699 1.043580 0.226572 1.785966 0.379633 0.873437 1.384309 1.785370 1.080206 1.256403 1.169325 0.672865 1.444061 0.325194 0.278183 1.165719 -0.193709 1.182201 0.138301 0.079081 1.231522 0.798589 -0.014107 0.372822 1.050722)
       ;; [checked]
 
       ;; pp:
-      10.450104 (fv 0.000000 0.623079 1.000690 1.676565 0.329793 0.812365 1.369654 0.033036 0.636775 1.205357 1.818620 0.518482 1.271099 -0.006177 0.798686 1.518819 0.365150 1.120280 1.863547 0.825398 1.655423 0.561458 1.434421 0.357234 1.260951 0.112744 1.108421 0.195312 1.204468 0.187317 1.151003 0.344529 1.318670 0.493356 1.634474 0.713838 1.719668 0.894392 0.187447 1.393869 0.631586 1.857642 1.152308 0.558736 1.895158 0.937863 0.284606 1.593849 1.131320 0.496395 1.862604 1.450055 1.017002 0.269052 1.590119 1.223313 0.766679 0.191870 1.793336 1.442714 0.950223 0.613488 0.158729 1.978172 1.504759 1.404948 0.934115 0.506811 0.307861 0.053560 0.056210 1.784308 1.658677 1.460879 1.312182 1.175464 0.793270 0.871641 0.543638 0.736870 0.773799 0.716297 0.645633 0.912396 0.319672 0.772867 0.727345 0.920587 0.879052 1.066787 1.359741 1.428609 1.742928 0.019718 0.299864 0.439508 0.461036 0.748673 0.838321 1.439140 1.960382 0.367463 0.781933 1.129021 1.394803 1.904930 0.281191 0.715525 1.133222)
+      10.450104 #(0.000000 0.623079 1.000690 1.676565 0.329793 0.812365 1.369654 0.033036 0.636775 1.205357 1.818620 0.518482 1.271099 -0.006177 0.798686 1.518819 0.365150 1.120280 1.863547 0.825398 1.655423 0.561458 1.434421 0.357234 1.260951 0.112744 1.108421 0.195312 1.204468 0.187317 1.151003 0.344529 1.318670 0.493356 1.634474 0.713838 1.719668 0.894392 0.187447 1.393869 0.631586 1.857642 1.152308 0.558736 1.895158 0.937863 0.284606 1.593849 1.131320 0.496395 1.862604 1.450055 1.017002 0.269052 1.590119 1.223313 0.766679 0.191870 1.793336 1.442714 0.950223 0.613488 0.158729 1.978172 1.504759 1.404948 0.934115 0.506811 0.307861 0.053560 0.056210 1.784308 1.658677 1.460879 1.312182 1.175464 0.793270 0.871641 0.543638 0.736870 0.773799 0.716297 0.645633 0.912396 0.319672 0.772867 0.727345 0.920587 0.879052 1.066787 1.359741 1.428609 1.742928 0.019718 0.299864 0.439508 0.461036 0.748673 0.838321 1.439140 1.960382 0.367463 0.781933 1.129021 1.394803 1.904930 0.281191 0.715525 1.133222)
 
       ;; ppe:
-      10.470162 (fv 0.000000 0.451543 0.456061 0.147873 0.922547 -0.015839 1.326621 0.024116 -0.214919 1.809411 1.260411 -0.041222 1.497661 1.558073 1.813230 1.792964 -0.178738 0.909655 0.169254 0.063699 1.161084 1.372145 1.379335 1.141902 -0.228933 1.774907 1.529928 0.313058 1.032527 0.848013 1.268723 1.218902 1.606823 -0.185860 1.765043 1.039756 0.745126 0.269721 0.154169 1.685147 -0.249171 1.208381 0.488385 1.400686 1.729831 1.462720 1.767018 0.760244 0.226518 1.299640 0.590535 1.231728 0.337540 1.363389 1.096692 0.848743 0.528317 1.290759 1.823255 0.006608 0.050582 1.737871 1.377769 0.292561 0.372415 1.032383 1.772564 0.594274 1.989312 0.990074 1.229632 0.208396 0.695371 0.886409 0.070239 1.725783 -0.164935 0.277786 0.838920 1.005114 0.874184 0.343822 0.665942 0.650106 0.585298 0.979509 -0.150741 1.631833 0.286195 1.077553 1.249512 1.979846 1.138840 1.144065 1.361495 0.626673 1.081435 -0.100313 0.333711 1.298242 -0.025467 1.240351 0.507433 -0.065459 1.581161 0.747520 -0.025829 0.466153 1.514665)
+      10.470162 #(0.000000 0.451543 0.456061 0.147873 0.922547 -0.015839 1.326621 0.024116 -0.214919 1.809411 1.260411 -0.041222 1.497661 1.558073 1.813230 1.792964 -0.178738 0.909655 0.169254 0.063699 1.161084 1.372145 1.379335 1.141902 -0.228933 1.774907 1.529928 0.313058 1.032527 0.848013 1.268723 1.218902 1.606823 -0.185860 1.765043 1.039756 0.745126 0.269721 0.154169 1.685147 -0.249171 1.208381 0.488385 1.400686 1.729831 1.462720 1.767018 0.760244 0.226518 1.299640 0.590535 1.231728 0.337540 1.363389 1.096692 0.848743 0.528317 1.290759 1.823255 0.006608 0.050582 1.737871 1.377769 0.292561 0.372415 1.032383 1.772564 0.594274 1.989312 0.990074 1.229632 0.208396 0.695371 0.886409 0.070239 1.725783 -0.164935 0.277786 0.838920 1.005114 0.874184 0.343822 0.665942 0.650106 0.585298 0.979509 -0.150741 1.631833 0.286195 1.077553 1.249512 1.979846 1.138840 1.144065 1.361495 0.626673 1.081435 -0.100313 0.333711 1.298242 -0.025467 1.240351 0.507433 -0.065459 1.581161 0.747520 -0.025829 0.466153 1.514665)
 
       ;; 108+1
       10.457243 #(0.000000 1.269530 0.760051 1.729694 1.122945 0.814880 1.466156 1.631086 0.616903 1.786832 1.344985 0.030797 0.418832 0.037877 0.373313 0.275814 0.977767 0.677872 0.673791 -0.065296 1.118192 1.826436 0.508528 0.285632 0.821565 1.103219 -0.267070 -0.330900 0.618539 0.170243 0.892990 1.223460 0.764058 1.162302 1.620423 0.957344 0.023461 -0.059770 0.381474 0.692706 0.660066 1.703495 0.098695 0.624314 1.751336 0.844891 0.120502 0.057294 0.621996 0.319901 0.586587 0.186646 1.685806 0.974557 0.474304 1.735548 0.234787 1.810600 1.138824 1.194376 0.872559 0.435412 0.677166 1.290849 1.011702 0.701077 0.322755 0.950082 0.024752 0.607227 0.415633 1.702576 1.323090 0.195261 0.365091 0.675664 1.408251 0.606997 -0.208324 0.308915 0.941088 1.034722 0.364193 0.967725 1.444390 1.941283 0.456248 1.293589 0.032476 0.805832 0.141117 1.965347 1.709815 1.528055 1.586120 -0.152788 1.361484 0.019126 1.044770 0.500796 0.670659 0.067435 -0.009310 1.226198 1.603811 1.046583 1.365223 0.883194 0.193296)
@@ -1311,13 +1309,13 @@
       )
 
 ;;; 110 all -------------------------------------------------------------------------------- ; 10.4881
-(vector 110 13.592092514038 (fv 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 1)
+(vector 110 13.592092514038 #(0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 1)
 
-      10.443826 (fv 0.000000 0.966857 -0.310939 0.754018 -0.215289 0.050408 1.345912 1.407669 0.917300 1.537339 0.464664 1.377382 -0.129707 1.562018 0.873176 0.378480 1.188634 1.002593 1.467403 -0.157591 0.611052 1.240086 1.200021 0.642960 0.011727 1.278266 0.757206 1.221576 1.173971 1.148607 0.352945 0.591698 0.569729 0.204560 1.805523 0.091751 0.494475 0.741755 1.173490 0.125853 1.836232 0.189233 1.047389 0.359034 0.299905 1.335669 1.331935 0.866342 1.429328 0.175988 0.321575 0.808716 0.418347 0.305766 
+      10.443826 #(0.000000 0.966857 -0.310939 0.754018 -0.215289 0.050408 1.345912 1.407669 0.917300 1.537339 0.464664 1.377382 -0.129707 1.562018 0.873176 0.378480 1.188634 1.002593 1.467403 -0.157591 0.611052 1.240086 1.200021 0.642960 0.011727 1.278266 0.757206 1.221576 1.173971 1.148607 0.352945 0.591698 0.569729 0.204560 1.805523 0.091751 0.494475 0.741755 1.173490 0.125853 1.836232 0.189233 1.047389 0.359034 0.299905 1.335669 1.331935 0.866342 1.429328 0.175988 0.321575 0.808716 0.418347 0.305766 
 0.587213 0.859103 1.233827 1.612185 0.649515 1.232962 0.438531 1.088539 1.160206 1.276056 0.991705 0.605889 1.920272 1.294151 0.591700 0.477186 -0.114311 0.103729 0.053546 1.057780 1.113226 0.935069 0.869987 0.585069 1.193799 0.314064 1.564843 1.009796 1.434593 -0.061294 0.394207 1.540076 0.463315 1.070060 1.005570 -0.247697 1.209164 0.032912 1.882456 0.617912 -0.419949 0.119714 0.033254 -0.149035 1.146172 0.301556 1.043038 0.611637 1.119274 -0.185496 1.474180 0.910726 0.869288 0.008729 1.113223 0.605574)
 
       ;; pp:
-      10.416677 (fv 0.000000 0.636826 1.168776 1.802237 0.316567 0.986572 1.395425 0.009381 0.711647 1.264223 1.932392 0.627165 1.472185 0.196446 0.915303 1.747756 0.298057 1.087093 -0.098251 0.679800 1.474105 0.503701 1.516136 0.488851 1.222583 0.157308 1.093122 0.014882 1.111898 0.174280 1.267353 0.186944 1.319383 0.570938 1.741756 0.793533 -0.092041 0.821354 -0.104426 1.044239 0.485714 1.864668 0.984585 0.108795 1.386239 0.942801 0.150487 1.312495 0.693148 -0.057522 1.440466 0.911264 0.464590 -0.106316 1.425558 0.757031 0.414982 -0.197207 1.393462 0.845365 0.655558 0.173740 1.724477 1.622714 1.133952 1.113326 0.491749 0.027662 -0.081584 1.624363 1.523158 1.483424 1.009127 1.065663 0.489911 0.865535 0.429699 0.506066 0.168610 0.091635 -0.004728 0.101995 0.057231 0.244394 0.215629 0.140294 0.025423 0.249165 0.312773 0.491767 0.509301 0.585407 1.082514 1.193775 1.427418 1.634094 0.038165 -0.066305 0.261200 0.531951 1.008338 1.495805 1.630762 0.003123 0.564786 1.124822 1.373512 0.020469 0.093862 0.692170)
+      10.416677 #(0.000000 0.636826 1.168776 1.802237 0.316567 0.986572 1.395425 0.009381 0.711647 1.264223 1.932392 0.627165 1.472185 0.196446 0.915303 1.747756 0.298057 1.087093 -0.098251 0.679800 1.474105 0.503701 1.516136 0.488851 1.222583 0.157308 1.093122 0.014882 1.111898 0.174280 1.267353 0.186944 1.319383 0.570938 1.741756 0.793533 -0.092041 0.821354 -0.104426 1.044239 0.485714 1.864668 0.984585 0.108795 1.386239 0.942801 0.150487 1.312495 0.693148 -0.057522 1.440466 0.911264 0.464590 -0.106316 1.425558 0.757031 0.414982 -0.197207 1.393462 0.845365 0.655558 0.173740 1.724477 1.622714 1.133952 1.113326 0.491749 0.027662 -0.081584 1.624363 1.523158 1.483424 1.009127 1.065663 0.489911 0.865535 0.429699 0.506066 0.168610 0.091635 -0.004728 0.101995 0.057231 0.244394 0.215629 0.140294 0.025423 0.249165 0.312773 0.491767 0.509301 0.585407 1.082514 1.193775 1.427418 1.634094 0.038165 -0.066305 0.261200 0.531951 1.008338 1.495805 1.630762 0.003123 0.564786 1.124822 1.373512 0.020469 0.093862 0.692170)
 
       ;; 109+1
       10.387950 #(0.000000 0.515686 1.264891 -0.055069 0.324088 1.179085 1.335788 0.136489 0.919154 1.188155 -0.141610 0.717958 1.358218 0.093185 0.896015 1.671807 0.471790 1.141052 0.051579 0.537490 1.459698 0.584651 1.830808 0.363032 1.369938 0.000274 0.907004 -0.093829 1.224177 0.475784 1.246547 0.352307 1.450525 0.675832 0.013928 1.051336 -0.056690 0.739815 -0.043085 0.988473 0.181872 -0.198536 1.207807 0.272700 1.535978 1.102951 0.131450 1.223792 0.690160 0.142129 1.227746 0.844209 0.420668 0.245746 1.521870 1.240517 0.759658 -0.189023 1.110249 0.975685 0.561038 0.208456 1.726728 1.762213 1.410558 1.390253 0.568141 0.009314 -0.066588 1.510186 1.490948 1.223995 0.684559 1.083791 0.423654 1.233083 0.433267 0.557294 -0.196449 -0.046355 -0.048752 0.047230 -0.047134 0.493004 0.400752 0.312416 0.075458 0.155296 0.421062 0.311827 0.162606 0.700352 0.907002 1.326783 1.485723 -0.152238 -0.031436 -0.145811 0.279371 0.397448 1.049233 1.455768 1.607980 0.104646 0.721954 1.211206 1.533891 0.073983 0.190426 0.414118)
@@ -1325,178 +1323,178 @@
       )
 
 ;;; 111 all -------------------------------------------------------------------------------- ; 10.5357
-(vector 111 13.80813938144 (fv 0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1)
+(vector 111 13.80813938144 #(0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1)
 
-	10.489680 (fv 0.000000 1.276377 0.968620 -0.218445 1.901880 0.088071 1.832261 1.338375 0.312772 1.516596 -0.040044 1.173079 0.061551 1.259985 1.326413 -0.075796 1.430603 0.457729 0.555673 0.169939 0.778858 0.499517 1.015059 1.507495 0.252622 0.024778 0.982934 -0.060048 0.808349 1.306234 -0.213685 0.893109 1.680180 0.816232 1.412440 1.447865 1.309405 0.967681 0.468074 1.167299 -0.294730 0.516281 1.115680 1.346378 1.503302 1.329509 0.069846 0.507313 -0.050602 1.169163 1.172511 1.329654 1.283831 1.273536 0.082962 0.472668 1.944396 -0.083515 1.629124 1.133239 1.648857 0.792610 0.954204 1.052081 0.877455 0.393129 1.388896 0.794997 1.052606 1.611060 1.743638 -0.167971 0.888631 0.570983 1.576402 0.843125 0.114093 0.127173 -0.133155 0.386550 0.090826 -0.017777 0.548430 0.313331 0.380367 1.607846 1.086331 0.772909 1.643444 0.182619 1.863239 1.234660 1.568659 0.555853 0.450573 1.731233 0.287714 1.462361 1.635622 0.921500 0.450553 1.230974 -0.314374 1.516211 0.633822 0.309849 1.238687 0.080817 0.340326 0.819921 0.108053)
+	10.489680 #(0.000000 1.276377 0.968620 -0.218445 1.901880 0.088071 1.832261 1.338375 0.312772 1.516596 -0.040044 1.173079 0.061551 1.259985 1.326413 -0.075796 1.430603 0.457729 0.555673 0.169939 0.778858 0.499517 1.015059 1.507495 0.252622 0.024778 0.982934 -0.060048 0.808349 1.306234 -0.213685 0.893109 1.680180 0.816232 1.412440 1.447865 1.309405 0.967681 0.468074 1.167299 -0.294730 0.516281 1.115680 1.346378 1.503302 1.329509 0.069846 0.507313 -0.050602 1.169163 1.172511 1.329654 1.283831 1.273536 0.082962 0.472668 1.944396 -0.083515 1.629124 1.133239 1.648857 0.792610 0.954204 1.052081 0.877455 0.393129 1.388896 0.794997 1.052606 1.611060 1.743638 -0.167971 0.888631 0.570983 1.576402 0.843125 0.114093 0.127173 -0.133155 0.386550 0.090826 -0.017777 0.548430 0.313331 0.380367 1.607846 1.086331 0.772909 1.643444 0.182619 1.863239 1.234660 1.568659 0.555853 0.450573 1.731233 0.287714 1.462361 1.635622 0.921500 0.450553 1.230974 -0.314374 1.516211 0.633822 0.309849 1.238687 0.080817 0.340326 0.819921 0.108053)
 
       ;; pp:
-	10.643017 (fv 0.000000 0.596037 0.998452 1.643602 0.188094 0.782119 1.390123 1.810388 0.670975 1.236188 1.928555 0.736392 1.354483 0.006575 0.718278 1.554028 0.172799 1.022616 1.853097 0.691617 1.671397 0.482108 1.396206 0.302319 1.140585 0.111154 0.983122 0.056085 1.055691 0.244450 1.330135 0.199631 1.342393 0.616747 1.511753 0.573545 1.630931 0.744657 -0.127581 1.276167 0.582439 1.726242 0.856228 0.208204 1.620801 0.767397 -0.120308 1.331917 0.688933 0.171660 1.532348 0.908708 0.322624 0.027670 1.377420 0.714808 0.162920 1.602731 1.164131 0.775892 0.384718 0.044281 1.527000 1.328705 0.880737 0.584683 0.141627 1.752084 1.448907 1.433198 0.874054 1.138685 0.574512 0.605078 0.161111 0.252563 -0.040319 -0.061275 1.677664 1.534157 1.653785 1.516730 1.618593 1.597830 1.517008 1.764779 1.586607 1.708185 1.767619 1.608773 1.820236 0.130593 0.415076 0.510025 0.490569 0.957514 1.270290 1.288854 1.456687 1.689789 0.173097 0.338870 0.690795 1.081327 1.548637 1.886234 0.458387 0.722046 1.068087 1.577951 0.177921)
+	10.643017 #(0.000000 0.596037 0.998452 1.643602 0.188094 0.782119 1.390123 1.810388 0.670975 1.236188 1.928555 0.736392 1.354483 0.006575 0.718278 1.554028 0.172799 1.022616 1.853097 0.691617 1.671397 0.482108 1.396206 0.302319 1.140585 0.111154 0.983122 0.056085 1.055691 0.244450 1.330135 0.199631 1.342393 0.616747 1.511753 0.573545 1.630931 0.744657 -0.127581 1.276167 0.582439 1.726242 0.856228 0.208204 1.620801 0.767397 -0.120308 1.331917 0.688933 0.171660 1.532348 0.908708 0.322624 0.027670 1.377420 0.714808 0.162920 1.602731 1.164131 0.775892 0.384718 0.044281 1.527000 1.328705 0.880737 0.584683 0.141627 1.752084 1.448907 1.433198 0.874054 1.138685 0.574512 0.605078 0.161111 0.252563 -0.040319 -0.061275 1.677664 1.534157 1.653785 1.516730 1.618593 1.597830 1.517008 1.764779 1.586607 1.708185 1.767619 1.608773 1.820236 0.130593 0.415076 0.510025 0.490569 0.957514 1.270290 1.288854 1.456687 1.689789 0.173097 0.338870 0.690795 1.081327 1.548637 1.886234 0.458387 0.722046 1.068087 1.577951 0.177921)
 
 	;; 112-1
 	10.443480 #(0.000000 -0.037648 1.480547 0.898464 0.849030 0.715984 0.623417 1.093452 1.045921 0.246543 -0.344784 0.997605 0.429765 1.643868 1.074256 0.709084 1.236163 1.022832 0.593800 1.797589 1.639095 0.499474 0.451589 0.525734 0.819269 1.059245 1.215835 0.300337 0.312343 0.508727 1.809376 1.802285 0.733765 0.697253 0.213017 0.226942 0.966882 -0.054080 1.879864 1.400510 1.357810 0.290115 0.291026 1.461469 1.516948 0.034933 0.486567 0.403300 0.540306 0.175821 0.605359 0.053443 -0.120390 0.105172 0.600333 0.664197 1.296750 -0.152576 0.244035 0.980125 0.718707 -0.396109 0.441995 0.857389 0.411314 0.615877 0.959296 0.472542 0.178066 1.504140 1.379940 1.172606 -0.073019 1.778815 0.168644 0.842220 -0.533009 0.218109 1.118845 -0.068508 0.820652 0.991755 -0.019081 1.121993 1.252324 1.508966 1.128293 0.270315 0.609971 -0.037115 1.065942 0.157780 1.138199 0.066912 1.242092 -0.087703 0.391351 0.761091 0.405427 0.623899 1.599600 0.333353 -0.321760 0.806575 1.571941 1.193797 1.308207 1.479299 1.022704 -0.056211 1.366886)
       )
 
 ;;; 112 all -------------------------------------------------------------------------------- ; 10.5830
-(vector 112 13.719 (fv 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0)
+(vector 112 13.719 #(0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0)
 
-	10.459590 (fv 0.000000 -0.062913 1.592216 0.942127 0.779122 0.819196 0.718354 1.051311 1.122277 0.289276 -0.312849 0.932738 0.364926 1.651917 1.193754 0.735359 1.259741 0.983056 0.504666 1.898067 1.619072 0.449638 0.460210 0.529471 0.685535 0.885439 1.297728 0.246636 0.353836 0.474674 1.786116 1.844574 0.794031 0.522576 0.168364 0.225941 0.884728 0.029172 1.770209 1.576812 1.352123 0.112130 0.389134 1.458224 1.532633 -0.027079 0.404717 0.274263 0.478667 0.228414 0.618491 0.032636 -0.068031 -0.092335 0.583363 0.722295 1.283590 -0.207344 0.372473 0.858879 0.815320 -0.324439 0.478159 0.803167 0.466456 0.633813 0.914568 0.438946 0.113725 1.518872 1.409010 1.227714 -0.134104 1.718626 0.277412 0.813327 -0.439158 0.260660 1.183284 -0.118611 0.754421 1.157336 0.232930 1.195932 1.264381 1.427453 1.112389 0.316426 0.581550 -0.107354 0.998672 0.153435 1.101697 1.916684 1.183525 -0.016743 0.301725 0.815282 0.398182 0.676231 1.536900 0.451259 -0.254624 0.791021 1.692791 1.255094 1.233704 1.361151 1.046040 0.024905 1.319507 0.390306)
+	10.459590 #(0.000000 -0.062913 1.592216 0.942127 0.779122 0.819196 0.718354 1.051311 1.122277 0.289276 -0.312849 0.932738 0.364926 1.651917 1.193754 0.735359 1.259741 0.983056 0.504666 1.898067 1.619072 0.449638 0.460210 0.529471 0.685535 0.885439 1.297728 0.246636 0.353836 0.474674 1.786116 1.844574 0.794031 0.522576 0.168364 0.225941 0.884728 0.029172 1.770209 1.576812 1.352123 0.112130 0.389134 1.458224 1.532633 -0.027079 0.404717 0.274263 0.478667 0.228414 0.618491 0.032636 -0.068031 -0.092335 0.583363 0.722295 1.283590 -0.207344 0.372473 0.858879 0.815320 -0.324439 0.478159 0.803167 0.466456 0.633813 0.914568 0.438946 0.113725 1.518872 1.409010 1.227714 -0.134104 1.718626 0.277412 0.813327 -0.439158 0.260660 1.183284 -0.118611 0.754421 1.157336 0.232930 1.195932 1.264381 1.427453 1.112389 0.316426 0.581550 -0.107354 0.998672 0.153435 1.101697 1.916684 1.183525 -0.016743 0.301725 0.815282 0.398182 0.676231 1.536900 0.451259 -0.254624 0.791021 1.692791 1.255094 1.233704 1.361151 1.046040 0.024905 1.319507 0.390306)
       )
 
 ;;; 113 all -------------------------------------------------------------------------------- ; 10.6301
-(vector 113 14.027848738379 (fv 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1)
+(vector 113 14.027848738379 #(0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1)
 
-      10.600374 (fv 0.000000 0.803646 1.150583 -0.063719 0.153874 1.101937 1.517661 1.839236 0.205434 0.503789 1.408027 1.282481 0.272193 0.581489 0.335632 0.191891 1.772311 1.188767 0.099798 1.108690 0.011443 -0.134966 0.851026 0.685097 0.180285 -0.598894 0.447561 0.453948 1.859577 0.373971 -0.017010 1.368747 0.811506 1.286383 1.607236 0.428535 0.456478 0.425986 0.560105 1.702212 1.615194 -0.029581 1.141022 0.404596 0.679875 1.483164 0.383858 0.334137 1.078889 1.358586 1.100321 0.206891 -0.260760 1.245372 1.320253 -0.104904 0.095400 0.153720 1.818561 0.632022 0.857521 -0.124243 1.123425 -0.152970 0.639127 0.101388 0.775543 0.547622 0.403455 1.168990 1.099889 1.089210 1.061140 1.095647 -0.008863 1.297497 0.125060 1.432503 0.841141 0.967915 1.177416 0.211122 0.724975 0.094432 1.035737 1.190949 0.605535 -0.311727 1.252767 0.699524 1.428815 0.329899 0.934047 0.582587 0.113129 0.668360 0.786133 0.103091 0.745732 1.809761 0.414589 0.231740 -0.023699 1.470163 1.649059 1.087085 1.691589 1.869557 0.611645 1.538351 0.985815 1.244743 0.786305)
+      10.600374 #(0.000000 0.803646 1.150583 -0.063719 0.153874 1.101937 1.517661 1.839236 0.205434 0.503789 1.408027 1.282481 0.272193 0.581489 0.335632 0.191891 1.772311 1.188767 0.099798 1.108690 0.011443 -0.134966 0.851026 0.685097 0.180285 -0.598894 0.447561 0.453948 1.859577 0.373971 -0.017010 1.368747 0.811506 1.286383 1.607236 0.428535 0.456478 0.425986 0.560105 1.702212 1.615194 -0.029581 1.141022 0.404596 0.679875 1.483164 0.383858 0.334137 1.078889 1.358586 1.100321 0.206891 -0.260760 1.245372 1.320253 -0.104904 0.095400 0.153720 1.818561 0.632022 0.857521 -0.124243 1.123425 -0.152970 0.639127 0.101388 0.775543 0.547622 0.403455 1.168990 1.099889 1.089210 1.061140 1.095647 -0.008863 1.297497 0.125060 1.432503 0.841141 0.967915 1.177416 0.211122 0.724975 0.094432 1.035737 1.190949 0.605535 -0.311727 1.252767 0.699524 1.428815 0.329899 0.934047 0.582587 0.113129 0.668360 0.786133 0.103091 0.745732 1.809761 0.414589 0.231740 -0.023699 1.470163 1.649059 1.087085 1.691589 1.869557 0.611645 1.538351 0.985815 1.244743 0.786305)
       
       ;; pp:
-      10.533209 (fv 0.000000 0.701701 1.023037 1.805117 0.325103 0.864669 1.301988 0.041817 0.605545 1.212149 1.794798 0.682259 1.361354 0.200642 1.040014 1.570001 0.413916 1.135956 1.836914 0.609510 1.482300 0.433561 1.396354 0.242061 1.189941 0.064290 0.924650 1.865499 0.844070 1.972890 1.045011 0.019512 1.010788 0.256118 1.454283 0.372006 1.414933 0.757156 1.833026 0.854510 0.058898 1.301933 0.794807 0.059810 1.092848 0.343912 1.857250 1.216439 0.367607 1.585969 1.093436 0.524265 1.847968 1.349059 0.839561 0.495981 1.801236 1.298227 0.638863 0.266374 1.658935 1.480658 0.907119 0.639357 0.037985 1.986216 1.525743 1.288722 0.717261 0.704091 0.182223 0.044649 1.629714 1.819647 1.366848 1.330078 1.172022 1.015716 0.897536 0.806098 0.193895 0.422839 0.374579 0.235069 0.423986 0.463374 0.446056 0.493571 0.177728 0.437229 0.621846 0.665477 0.619012 0.807147 1.289974 1.297164 1.517281 1.924928 0.144210 0.370826 0.244142 0.591610 0.749322 1.350513 1.818547 -0.017393 0.517731 1.113988 1.244052 1.823099 0.067707 0.517248 0.930474)
+      10.533209 #(0.000000 0.701701 1.023037 1.805117 0.325103 0.864669 1.301988 0.041817 0.605545 1.212149 1.794798 0.682259 1.361354 0.200642 1.040014 1.570001 0.413916 1.135956 1.836914 0.609510 1.482300 0.433561 1.396354 0.242061 1.189941 0.064290 0.924650 1.865499 0.844070 1.972890 1.045011 0.019512 1.010788 0.256118 1.454283 0.372006 1.414933 0.757156 1.833026 0.854510 0.058898 1.301933 0.794807 0.059810 1.092848 0.343912 1.857250 1.216439 0.367607 1.585969 1.093436 0.524265 1.847968 1.349059 0.839561 0.495981 1.801236 1.298227 0.638863 0.266374 1.658935 1.480658 0.907119 0.639357 0.037985 1.986216 1.525743 1.288722 0.717261 0.704091 0.182223 0.044649 1.629714 1.819647 1.366848 1.330078 1.172022 1.015716 0.897536 0.806098 0.193895 0.422839 0.374579 0.235069 0.423986 0.463374 0.446056 0.493571 0.177728 0.437229 0.621846 0.665477 0.619012 0.807147 1.289974 1.297164 1.517281 1.924928 0.144210 0.370826 0.244142 0.591610 0.749322 1.350513 1.818547 -0.017393 0.517731 1.113988 1.244052 1.823099 0.067707 0.517248 0.930474)
 
       ;; 112+1
       10.576527 #(0.000000 -0.099725 1.731869 1.126572 0.894565 0.787291 0.763373 1.116837 1.193937 0.158815 -0.328224 1.005844 0.228474 1.576738 1.262088 0.726943 1.268236 1.028150 0.589551 1.934756 1.609372 0.549105 0.446947 0.675880 0.714883 0.715628 1.363097 0.197217 0.353490 0.498917 1.784841 1.858473 0.777450 0.430951 0.142623 0.145377 1.039521 0.058101 1.806559 1.621009 1.395572 0.126961 0.400552 1.407730 1.420143 0.113046 0.482937 0.384809 0.357336 0.283000 0.705514 -0.045003 0.046604 -0.167904 0.589381 0.672696 1.241252 -0.116645 0.444533 0.866902 0.717018 -0.308546 0.397419 0.905566 0.584026 0.513164 0.877715 0.340382 0.028422 1.468619 1.404513 1.266203 -0.129199 1.813800 0.484278 0.806396 -0.359344 0.323726 1.188865 -0.113226 0.736080 1.212752 0.152030 1.358239 1.256305 1.492197 1.073162 0.176415 0.460366 -0.046759 0.938493 0.111495 1.045740 -0.030211 1.265442 0.071430 0.331346 0.715146 0.333258 0.829360 1.647336 0.578653 -0.323225 0.799001 1.641979 1.340856 1.121452 1.538434 1.235479 0.162729 1.417493 0.473155 0.256349)
       )
 
 ;;; 114 all -------------------------------------------------------------------------------- ; 10.6771
-(vector 114 13.847382931726 (fv 0 1 1 1 1 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1)
+(vector 114 13.847382931726 #(0 1 1 1 1 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1)
 
-      10.628224 (fv 0.000000 0.615672 0.948130 0.747004 0.833637 0.289537 1.854717 0.930205 1.803295 1.161499 -0.674663 0.075654 -0.069447 1.150337 -0.219431 0.096417 1.741068 -0.016217 1.826914 -0.308775 0.152833 0.789042 0.803929 0.462314 0.626523 1.267262 0.400780 0.962101 1.687986 0.905206 0.268457 0.651715 0.114771 1.475643 0.044755 0.228029 0.514674 0.188213 -0.185396 1.589097 0.877857 -0.230405 1.243228 1.194822 1.559225 1.498045 0.808593 -0.017518 1.442649 1.211002 1.811223 0.625459 1.384771 0.613911 0.308197 1.431371 1.357215 1.098185 0.214395 1.664025 1.740860 1.399478 0.567842 0.816563 1.298643 1.214440 0.204096 1.160510 1.171795 0.002888 0.712001 0.408799 0.129596 0.526919 1.018226 1.540087 1.326981 1.269312 0.284234 1.408491 0.614427 1.282597 0.201606 0.407636 1.049940 -0.424432 1.688488 0.609780 -0.014895 -0.443393 1.774217 1.192149 -0.353060 1.542744 1.597711 0.829765 0.335469 0.940418 1.687078 -0.157090 1.505994 0.110351 1.069331 0.286269 -0.198482 1.240708 -0.041616 1.268700 0.079424 0.525193 1.036769 0.352036 1.456021 -0.218427)
+      10.628224 #(0.000000 0.615672 0.948130 0.747004 0.833637 0.289537 1.854717 0.930205 1.803295 1.161499 -0.674663 0.075654 -0.069447 1.150337 -0.219431 0.096417 1.741068 -0.016217 1.826914 -0.308775 0.152833 0.789042 0.803929 0.462314 0.626523 1.267262 0.400780 0.962101 1.687986 0.905206 0.268457 0.651715 0.114771 1.475643 0.044755 0.228029 0.514674 0.188213 -0.185396 1.589097 0.877857 -0.230405 1.243228 1.194822 1.559225 1.498045 0.808593 -0.017518 1.442649 1.211002 1.811223 0.625459 1.384771 0.613911 0.308197 1.431371 1.357215 1.098185 0.214395 1.664025 1.740860 1.399478 0.567842 0.816563 1.298643 1.214440 0.204096 1.160510 1.171795 0.002888 0.712001 0.408799 0.129596 0.526919 1.018226 1.540087 1.326981 1.269312 0.284234 1.408491 0.614427 1.282597 0.201606 0.407636 1.049940 -0.424432 1.688488 0.609780 -0.014895 -0.443393 1.774217 1.192149 -0.353060 1.542744 1.597711 0.829765 0.335469 0.940418 1.687078 -0.157090 1.505994 0.110351 1.069331 0.286269 -0.198482 1.240708 -0.041616 1.268700 0.079424 0.525193 1.036769 0.352036 1.456021 -0.218427)
 
       ;; pp: 
-      10.517948 (fv 0.000000 0.513150 0.874296 0.883964 0.730138 0.492200 1.910349 0.914831 -0.079055 1.078332 -0.626669 0.137543 -0.184379 1.218055 -0.394114 -0.038192 1.661163 0.020764 -0.078690 -0.096176 0.170832 0.906574 0.889519 0.505117 0.670269 1.228477 0.365822 0.917034 1.728829 0.934323 0.199610 0.715554 0.056223 1.583731 0.085811 0.136885 0.354627 0.123817 -0.315376 1.492556 0.991663 -0.233639 1.201411 1.218512 1.753756 1.719460 0.679044 -0.197393 1.570682 1.193787 1.873756 0.557014 1.432466 0.588568 0.309382 1.651394 1.357542 1.190693 0.264093 1.733513 1.676510 1.179474 0.616239 0.734925 1.107757 1.048586 0.066290 1.132123 1.205852 -0.090603 0.754355 0.838256 -0.013038 0.421890 0.968163 1.389079 1.284090 1.323690 0.432981 1.323326 0.730210 1.395732 0.109710 0.246664 1.169930 -0.449126 1.545991 0.365384 0.076032 -0.458822 1.876049 1.124853 -0.255218 1.423147 1.451143 0.955505 0.281503 0.928421 1.983790 -0.130994 1.684131 0.142847 1.010533 0.452692 -0.386536 1.218551 -0.132981 1.371320 0.120371 0.410528 1.083879 0.496636 1.350228 -0.127680)
+      10.517948 #(0.000000 0.513150 0.874296 0.883964 0.730138 0.492200 1.910349 0.914831 -0.079055 1.078332 -0.626669 0.137543 -0.184379 1.218055 -0.394114 -0.038192 1.661163 0.020764 -0.078690 -0.096176 0.170832 0.906574 0.889519 0.505117 0.670269 1.228477 0.365822 0.917034 1.728829 0.934323 0.199610 0.715554 0.056223 1.583731 0.085811 0.136885 0.354627 0.123817 -0.315376 1.492556 0.991663 -0.233639 1.201411 1.218512 1.753756 1.719460 0.679044 -0.197393 1.570682 1.193787 1.873756 0.557014 1.432466 0.588568 0.309382 1.651394 1.357542 1.190693 0.264093 1.733513 1.676510 1.179474 0.616239 0.734925 1.107757 1.048586 0.066290 1.132123 1.205852 -0.090603 0.754355 0.838256 -0.013038 0.421890 0.968163 1.389079 1.284090 1.323690 0.432981 1.323326 0.730210 1.395732 0.109710 0.246664 1.169930 -0.449126 1.545991 0.365384 0.076032 -0.458822 1.876049 1.124853 -0.255218 1.423147 1.451143 0.955505 0.281503 0.928421 1.983790 -0.130994 1.684131 0.142847 1.010533 0.452692 -0.386536 1.218551 -0.132981 1.371320 0.120371 0.410528 1.083879 0.496636 1.350228 -0.127680)
       )
 
 ;;; 115 all -------------------------------------------------------------------------------- ; 10.7238
-(vector 115 14.359978160099 (fv 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0)
+(vector 115 14.359978160099 #(0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0)
 
-	10.651124 (fv 0.000000 0.205632 0.521043 1.123267 0.039976 1.837568 0.645276 0.444856 1.235953 1.614101 0.576705 -0.032817 0.913102 0.971540 0.123207 0.744147 0.392163 1.071292 -0.098894 1.183735 0.447902 1.029195 1.008083 1.241655 1.280374 0.851598 0.236819 1.816127 -0.109787 0.735910 1.359965 1.270732 -0.070459 0.794811 1.337404 0.069925 0.240715 0.381811 0.943512 0.073841 0.371201 0.917351 1.527618 1.440973 1.203354 1.349081 1.416186 1.496910 0.596478 1.312074 0.317957 1.177389 1.248077 0.233191 1.529687 -0.003737 0.662497 0.466830 0.261424 0.663736 1.797196 0.273538 -0.239584 0.345229 -0.159975 1.144743 1.462922 0.849868 0.439184 0.064973 -0.068494 1.400482 0.060773 0.986838 0.519130 0.531890 1.046288 1.063229 -0.449183 0.987082 0.473670 0.722114 1.227775 0.954889 0.100062 1.512033 0.697126 0.308149 0.914574 -0.044099 1.083776 1.037385 0.163494 1.178786 0.886753 1.659086 0.598578 0.720776 -0.009109 0.443556 -0.035564 0.124043 0.119757 0.888837 0.603645 0.075938 0.648026 1.218123 0.325603 0.011855 -0.390969 1.523387 0.517639 0.461045 0.382395)
+	10.651124 #(0.000000 0.205632 0.521043 1.123267 0.039976 1.837568 0.645276 0.444856 1.235953 1.614101 0.576705 -0.032817 0.913102 0.971540 0.123207 0.744147 0.392163 1.071292 -0.098894 1.183735 0.447902 1.029195 1.008083 1.241655 1.280374 0.851598 0.236819 1.816127 -0.109787 0.735910 1.359965 1.270732 -0.070459 0.794811 1.337404 0.069925 0.240715 0.381811 0.943512 0.073841 0.371201 0.917351 1.527618 1.440973 1.203354 1.349081 1.416186 1.496910 0.596478 1.312074 0.317957 1.177389 1.248077 0.233191 1.529687 -0.003737 0.662497 0.466830 0.261424 0.663736 1.797196 0.273538 -0.239584 0.345229 -0.159975 1.144743 1.462922 0.849868 0.439184 0.064973 -0.068494 1.400482 0.060773 0.986838 0.519130 0.531890 1.046288 1.063229 -0.449183 0.987082 0.473670 0.722114 1.227775 0.954889 0.100062 1.512033 0.697126 0.308149 0.914574 -0.044099 1.083776 1.037385 0.163494 1.178786 0.886753 1.659086 0.598578 0.720776 -0.009109 0.443556 -0.035564 0.124043 0.119757 0.888837 0.603645 0.075938 0.648026 1.218123 0.325603 0.011855 -0.390969 1.523387 0.517639 0.461045 0.382395)
 
       ;; pp:
-      10.692099 (fv 0.000000 0.682108 1.004779 1.652402 0.376256 0.931307 1.336301 -0.042653 0.588667 1.131321 1.748894 0.607835 1.177352 0.067431 0.978893 1.474587 0.304669 1.111594 1.772579 0.564007 1.383113 0.290881 1.312527 0.215649 0.998467 1.886147 0.914831 1.987244 0.837886 1.778286 0.954819 0.007952 0.956821 0.049735 1.234469 0.317950 1.546668 0.474841 1.665959 0.756708 1.898394 0.922825 0.371276 1.716491 0.889079 0.061723 1.582232 0.834088 0.114964 1.594440 0.728947 -0.028372 1.273062 0.885177 0.297790 1.790777 1.254681 1.031275 0.275613 1.607695 1.196021 0.692250 0.421770 -0.204945 1.512060 0.983139 0.944306 0.546267 0.135875 1.788546 1.584465 1.138761 1.024708 0.473784 0.573120 0.243555 0.106429 0.088753 1.821567 1.941212 1.609147 1.360828 1.169556 1.150415 1.008492 1.219522 1.057528 1.215083 1.411123 0.944912 1.124604 1.295606 1.527918 1.383902 1.570266 -0.108659 -0.107049 0.292041 0.547918 0.923643 1.165187 1.026903 1.427566 1.557678 -0.113193 0.455092 0.823626 1.321739 1.608732 1.934769 0.561130 0.698218 1.143434 1.648015 0.348542)
+      10.692099 #(0.000000 0.682108 1.004779 1.652402 0.376256 0.931307 1.336301 -0.042653 0.588667 1.131321 1.748894 0.607835 1.177352 0.067431 0.978893 1.474587 0.304669 1.111594 1.772579 0.564007 1.383113 0.290881 1.312527 0.215649 0.998467 1.886147 0.914831 1.987244 0.837886 1.778286 0.954819 0.007952 0.956821 0.049735 1.234469 0.317950 1.546668 0.474841 1.665959 0.756708 1.898394 0.922825 0.371276 1.716491 0.889079 0.061723 1.582232 0.834088 0.114964 1.594440 0.728947 -0.028372 1.273062 0.885177 0.297790 1.790777 1.254681 1.031275 0.275613 1.607695 1.196021 0.692250 0.421770 -0.204945 1.512060 0.983139 0.944306 0.546267 0.135875 1.788546 1.584465 1.138761 1.024708 0.473784 0.573120 0.243555 0.106429 0.088753 1.821567 1.941212 1.609147 1.360828 1.169556 1.150415 1.008492 1.219522 1.057528 1.215083 1.411123 0.944912 1.124604 1.295606 1.527918 1.383902 1.570266 -0.108659 -0.107049 0.292041 0.547918 0.923643 1.165187 1.026903 1.427566 1.557678 -0.113193 0.455092 0.823626 1.321739 1.608732 1.934769 0.561130 0.698218 1.143434 1.648015 0.348542)
 
       ;; 114+1
       10.621744 #(0.000000 0.519128 0.786784 0.918158 0.650178 0.457293 1.964414 0.915637 -0.037992 1.187864 -0.612331 0.073197 0.008576 1.197804 -0.364310 0.047620 1.612311 0.098163 -0.054077 -0.087970 0.039413 0.986129 0.969342 0.451170 0.648283 1.253012 0.349815 0.949459 1.680558 0.960988 0.220312 0.666892 -0.069695 1.584459 0.070346 0.154295 0.414900 0.222762 -0.268103 1.413909 0.961497 -0.210113 1.203087 1.172411 1.792543 1.742069 0.706989 -0.208070 1.562128 1.211841 0.011662 0.482644 1.455971 0.642656 0.264522 1.637721 1.461442 1.154901 0.149110 1.871307 1.810194 1.307963 0.530941 0.678563 1.057540 1.204932 0.204765 1.173394 1.102820 -0.082769 0.639150 0.715081 -0.172130 0.444439 1.033638 1.431627 1.223005 1.352911 0.473564 1.345853 0.701386 1.441324 0.065510 0.263153 1.148218 -0.395379 1.422829 0.339640 0.186555 -0.374702 1.783978 1.192276 -0.175028 1.327174 1.534754 1.031453 0.306400 0.980338 0.017668 -0.122396 1.685264 0.121507 0.952038 0.457874 -0.310268 1.350976 -0.129566 1.387678 0.182170 0.404390 1.132228 0.552993 1.477216 -0.117535 0.087972)
       )
 
 ;;; 116 all -------------------------------------------------------------------------------- ; 10.7703
-(vector 116 14.175787507646 (fv 0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 1 1 0)
+(vector 116 14.175787507646 #(0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 1 1 0)
 
-	10.666895 (fv 0.000000 0.794041 0.130396 1.155449 0.575356 1.670182 1.438030 0.802411 -0.073881 0.612189 1.011030 0.243247 1.424701 1.360754 0.519915 1.303274 0.114440 0.486440 1.248641 -0.062831 1.818237 1.003329 1.774020 0.995383 0.217514 0.236196 0.918414 0.251978 0.240543 1.203872 1.193015 1.546847 0.668684 0.276657 0.720261 0.041331 0.124685 1.052830 -0.470877 1.036338 0.454033 1.208580 1.059685 0.252464 0.910634 -0.469687 1.282886 1.260566 1.714177 0.148852 1.558794 0.117249 1.208112 1.206944 1.379709 1.280227 -0.397300 1.912745 1.609055 0.469506 1.102260 0.207876 1.456855 1.808614 1.436770 0.080959 1.197513 1.183739 1.574767 0.068412 1.162064 0.609158 0.566278 1.029997 1.123257 -0.210554 1.006729 1.012851 0.184672 1.531574 1.788773 1.233395 0.609493 0.767948 1.753741 1.423961 0.953617 0.300031 0.940377 0.324215 0.472402 0.042965 0.104811 0.217444 1.091263 1.136923 1.660947 0.519559 1.199475 -0.360436 1.523678 1.224456 -0.014998 1.278905 -0.475457 -0.462757 0.028990 0.974163 1.009397 0.422500 0.343570 0.466660 0.909671 0.746952 -0.297506 0.078048)
+	10.666895 #(0.000000 0.794041 0.130396 1.155449 0.575356 1.670182 1.438030 0.802411 -0.073881 0.612189 1.011030 0.243247 1.424701 1.360754 0.519915 1.303274 0.114440 0.486440 1.248641 -0.062831 1.818237 1.003329 1.774020 0.995383 0.217514 0.236196 0.918414 0.251978 0.240543 1.203872 1.193015 1.546847 0.668684 0.276657 0.720261 0.041331 0.124685 1.052830 -0.470877 1.036338 0.454033 1.208580 1.059685 0.252464 0.910634 -0.469687 1.282886 1.260566 1.714177 0.148852 1.558794 0.117249 1.208112 1.206944 1.379709 1.280227 -0.397300 1.912745 1.609055 0.469506 1.102260 0.207876 1.456855 1.808614 1.436770 0.080959 1.197513 1.183739 1.574767 0.068412 1.162064 0.609158 0.566278 1.029997 1.123257 -0.210554 1.006729 1.012851 0.184672 1.531574 1.788773 1.233395 0.609493 0.767948 1.753741 1.423961 0.953617 0.300031 0.940377 0.324215 0.472402 0.042965 0.104811 0.217444 1.091263 1.136923 1.660947 0.519559 1.199475 -0.360436 1.523678 1.224456 -0.014998 1.278905 -0.475457 -0.462757 0.028990 0.974163 1.009397 0.422500 0.343570 0.466660 0.909671 0.746952 -0.297506 0.078048)
       )
 
 ;;; 117 all -------------------------------------------------------------------------------- ; 10.8167
-(vector 117 14.136 (fv 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1)
+(vector 117 14.136 #(0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1)
 
-	10.740323 (fv 0.000000 1.376267 1.204802 1.617264 0.013985 1.562933 1.297010 -0.381289 0.175690 0.812406 0.271907 -0.572032 0.505210 1.569967 0.483045 1.266493 1.587294 0.516881 0.600232 0.990644 0.302416 1.037870 1.417076 1.853643 -0.147420 0.890223 1.567662 0.981809 0.815941 1.608390 -0.281550 0.201337 1.556451 1.125175 -0.236163 1.445336 0.258466 0.600771 0.570165 0.048623 0.131732 0.130088 0.167451 1.924952 -0.030799 0.148010 1.615329 0.361965 0.025922 1.817684 1.449080 1.328054 1.692177 0.082231 0.922069 0.868297 0.602630 -0.302067 1.498947 0.796296 -0.211597 1.912831 0.263824 1.087462 0.264795 1.339326 0.746964 1.555264 0.991573 0.792728 0.572734 0.831900 1.561482 0.487864 1.625032 1.584684 1.155708 1.141107 1.673417 0.421621 -0.187613 1.264593 1.627549 0.823098 0.254093 0.097500 0.358549 1.789940 1.103526 1.081236 0.794597 1.136333 1.473853 1.388624 -0.112319 0.798455 -0.090384 -0.176678 0.782426 -0.241572 0.802635 1.296656 0.310053 1.464029 0.628323 1.034158 1.019782 -0.078897 0.005414 1.234988 0.557243 0.357637 -0.491315 0.727622 1.220297 0.073271 0.925087)
+	10.740323 #(0.000000 1.376267 1.204802 1.617264 0.013985 1.562933 1.297010 -0.381289 0.175690 0.812406 0.271907 -0.572032 0.505210 1.569967 0.483045 1.266493 1.587294 0.516881 0.600232 0.990644 0.302416 1.037870 1.417076 1.853643 -0.147420 0.890223 1.567662 0.981809 0.815941 1.608390 -0.281550 0.201337 1.556451 1.125175 -0.236163 1.445336 0.258466 0.600771 0.570165 0.048623 0.131732 0.130088 0.167451 1.924952 -0.030799 0.148010 1.615329 0.361965 0.025922 1.817684 1.449080 1.328054 1.692177 0.082231 0.922069 0.868297 0.602630 -0.302067 1.498947 0.796296 -0.211597 1.912831 0.263824 1.087462 0.264795 1.339326 0.746964 1.555264 0.991573 0.792728 0.572734 0.831900 1.561482 0.487864 1.625032 1.584684 1.155708 1.141107 1.673417 0.421621 -0.187613 1.264593 1.627549 0.823098 0.254093 0.097500 0.358549 1.789940 1.103526 1.081236 0.794597 1.136333 1.473853 1.388624 -0.112319 0.798455 -0.090384 -0.176678 0.782426 -0.241572 0.802635 1.296656 0.310053 1.464029 0.628323 1.034158 1.019782 -0.078897 0.005414 1.234988 0.557243 0.357637 -0.491315 0.727622 1.220297 0.073271 0.925087)
       )
 
 ;;; 118 all -------------------------------------------------------------------------------- ; 10.8628
-(vector 118 14.207115029287 (fv 0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0)
+(vector 118 14.207115029287 #(0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0)
 
-	10.789998 (fv 0.000000 -0.175913 -0.143823 0.018273 0.027771 0.767311 -0.171214 1.636246 0.351281 1.388337 0.882351 1.707573 0.469183 0.078893 1.085758 0.618150 0.277129 0.703491 1.759709 -0.452169 1.251866 0.357896 0.724274 0.269975 1.838904 1.530293 1.426834 1.312699 0.647676 1.426356 1.595332 0.060341 0.690735 0.318521 0.226388 0.557313 0.682546 0.405400 0.629229 1.956450 1.295086 1.263226 1.531833 -0.446064 1.088083 -0.430622 1.100111 0.930366 1.309892 0.353356 1.791502 1.255481 1.229378 1.253262 1.406532 0.024314 1.063085 1.088221 0.123383 1.238746 1.005923 0.642418 1.110925 0.453476 -0.290616 1.496832 1.287503 0.244996 1.530267 0.834163 0.976178 0.556214 0.154839 1.049337 1.096181 0.549254 -0.047077 0.951697 1.030491 0.147772 0.888048 0.978379 -0.017946 1.704759 1.894288 0.751630 1.629711 1.581497 1.015790 1.546094 0.769995 1.519488 -0.226811 0.116498 -0.232287 0.274508 1.259352 1.098443 1.128583 0.216589 1.343006 0.117206 0.662844 -0.110291 1.010752 0.251673 1.029907 -0.274450 1.835049 0.199877 0.646328 1.080725 0.210236 1.055491 1.898124 0.072310 0.796446 1.191135)
+	10.789998 #(0.000000 -0.175913 -0.143823 0.018273 0.027771 0.767311 -0.171214 1.636246 0.351281 1.388337 0.882351 1.707573 0.469183 0.078893 1.085758 0.618150 0.277129 0.703491 1.759709 -0.452169 1.251866 0.357896 0.724274 0.269975 1.838904 1.530293 1.426834 1.312699 0.647676 1.426356 1.595332 0.060341 0.690735 0.318521 0.226388 0.557313 0.682546 0.405400 0.629229 1.956450 1.295086 1.263226 1.531833 -0.446064 1.088083 -0.430622 1.100111 0.930366 1.309892 0.353356 1.791502 1.255481 1.229378 1.253262 1.406532 0.024314 1.063085 1.088221 0.123383 1.238746 1.005923 0.642418 1.110925 0.453476 -0.290616 1.496832 1.287503 0.244996 1.530267 0.834163 0.976178 0.556214 0.154839 1.049337 1.096181 0.549254 -0.047077 0.951697 1.030491 0.147772 0.888048 0.978379 -0.017946 1.704759 1.894288 0.751630 1.629711 1.581497 1.015790 1.546094 0.769995 1.519488 -0.226811 0.116498 -0.232287 0.274508 1.259352 1.098443 1.128583 0.216589 1.343006 0.117206 0.662844 -0.110291 1.010752 0.251673 1.029907 -0.274450 1.835049 0.199877 0.646328 1.080725 0.210236 1.055491 1.898124 0.072310 0.796446 1.191135)
       )
 
 ;;; 119 all -------------------------------------------------------------------------------- ; 10.9087
-(vector 119 14.502624011553 (fv 0 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 0 0)
+(vector 119 14.502624011553 #(0 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 0 0)
 
-      10.894037 (fv 0.000000 0.630386 0.843125 1.285949 0.340650 -0.017357 0.327019 1.384996 1.081793 1.397782 0.680727 0.599720 0.760758 1.651799 1.943215 0.601150 0.438753 0.220032 0.283706 0.321338 1.848806 -0.818805 1.279239 0.233383 -0.265065 0.149488 0.866113 1.211455 -0.153192 1.086507 -0.117739 0.108345 0.296077 0.924788 0.407609 0.257469 1.108157 0.337516 1.501434 -0.160734 0.937661 1.194914 0.677862 1.064411 -0.083066 0.280209 0.164734 0.604351 1.488726 0.546557 -0.173942 0.258452 -0.144704 1.931749 1.121694 0.070973 1.246077 0.433607 -0.015989 1.447158 1.307009 0.290513 1.032586 0.483509 0.866614 0.896091 0.118763 0.703456 1.160811 -0.272718 1.618947 0.922379 0.186934 0.444686 0.391527 -0.170445 0.686201 0.072390 -0.083273 0.261424 1.315326 1.343146 -0.078550 0.581799 0.100158 0.342044 0.531455 0.823995 0.311378 0.398507 -0.067564 1.021721 0.099971 0.375472 1.694822 -0.129069 0.760774 0.760279 0.907128 1.373425 1.265414 0.699858 -0.214864 -0.228584 1.101084 1.533737 1.209100 1.477560 0.508584 0.989498 0.862450 0.271802 1.549833 0.881136 1.017209 0.041014 1.240632 1.019564 1.718786)
+      10.894037 #(0.000000 0.630386 0.843125 1.285949 0.340650 -0.017357 0.327019 1.384996 1.081793 1.397782 0.680727 0.599720 0.760758 1.651799 1.943215 0.601150 0.438753 0.220032 0.283706 0.321338 1.848806 -0.818805 1.279239 0.233383 -0.265065 0.149488 0.866113 1.211455 -0.153192 1.086507 -0.117739 0.108345 0.296077 0.924788 0.407609 0.257469 1.108157 0.337516 1.501434 -0.160734 0.937661 1.194914 0.677862 1.064411 -0.083066 0.280209 0.164734 0.604351 1.488726 0.546557 -0.173942 0.258452 -0.144704 1.931749 1.121694 0.070973 1.246077 0.433607 -0.015989 1.447158 1.307009 0.290513 1.032586 0.483509 0.866614 0.896091 0.118763 0.703456 1.160811 -0.272718 1.618947 0.922379 0.186934 0.444686 0.391527 -0.170445 0.686201 0.072390 -0.083273 0.261424 1.315326 1.343146 -0.078550 0.581799 0.100158 0.342044 0.531455 0.823995 0.311378 0.398507 -0.067564 1.021721 0.099971 0.375472 1.694822 -0.129069 0.760774 0.760279 0.907128 1.373425 1.265414 0.699858 -0.214864 -0.228584 1.101084 1.533737 1.209100 1.477560 0.508584 0.989498 0.862450 0.271802 1.549833 0.881136 1.017209 0.041014 1.240632 1.019564 1.718786)
 
       ;; pp:
-      10.835933 (fv 0.000000 0.654099 1.035661 1.681354 0.271205 0.793039 1.296335 0.060400 0.653112 1.232942 1.881379 0.620355 1.199841 0.014260 0.823834 1.413032 0.189484 0.947478 1.588848 0.403300 1.280378 0.215388 1.137801 1.956237 0.732861 1.657436 0.792204 1.789188 0.703767 1.598762 0.539735 1.541253 0.421443 1.469357 0.779053 -0.021286 1.026341 0.083226 1.233425 0.357509 1.441485 0.752264 1.858411 1.012419 0.073105 1.341491 0.748507 0.322726 1.533912 0.715880 0.027861 1.454725 0.694006 -0.082536 1.358750 0.823835 0.158492 1.802363 1.289166 0.871603 0.288280 1.653699 1.258131 0.754564 0.197129 -0.135159 1.406727 1.305489 0.902560 0.505625 0.165621 1.980298 1.711088 1.181402 1.035732 0.515951 0.573196 0.077979 0.369360 -0.029664 0.027976 1.710591 1.639472 1.419449 1.489927 1.072898 1.080212 0.909135 0.903629 1.096948 0.947039 1.126463 1.358955 0.953854 1.137457 1.170488 1.431020 1.393091 1.493097 1.708464 0.028863 0.359918 0.447603 0.693507 1.013920 0.980939 1.193095 1.522944 -0.124582 0.421795 0.849849 1.081289 1.559178 0.036966 0.454552 0.747770 1.437228 1.496079 0.068555)
+      10.835933 #(0.000000 0.654099 1.035661 1.681354 0.271205 0.793039 1.296335 0.060400 0.653112 1.232942 1.881379 0.620355 1.199841 0.014260 0.823834 1.413032 0.189484 0.947478 1.588848 0.403300 1.280378 0.215388 1.137801 1.956237 0.732861 1.657436 0.792204 1.789188 0.703767 1.598762 0.539735 1.541253 0.421443 1.469357 0.779053 -0.021286 1.026341 0.083226 1.233425 0.357509 1.441485 0.752264 1.858411 1.012419 0.073105 1.341491 0.748507 0.322726 1.533912 0.715880 0.027861 1.454725 0.694006 -0.082536 1.358750 0.823835 0.158492 1.802363 1.289166 0.871603 0.288280 1.653699 1.258131 0.754564 0.197129 -0.135159 1.406727 1.305489 0.902560 0.505625 0.165621 1.980298 1.711088 1.181402 1.035732 0.515951 0.573196 0.077979 0.369360 -0.029664 0.027976 1.710591 1.639472 1.419449 1.489927 1.072898 1.080212 0.909135 0.903629 1.096948 0.947039 1.126463 1.358955 0.953854 1.137457 1.170488 1.431020 1.393091 1.493097 1.708464 0.028863 0.359918 0.447603 0.693507 1.013920 0.980939 1.193095 1.522944 -0.124582 0.421795 0.849849 1.081289 1.559178 0.036966 0.454552 0.747770 1.437228 1.496079 0.068555)
       )
 
 ;;; 120 all -------------------------------------------------------------------------------- ; 10.9545
-(vector 120 14.534638752286 (fv 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0)
+(vector 120 14.534638752286 #(0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0)
 
-	10.877907 (fv 0.000000 1.760966 1.432317 0.661698 0.093764 0.677833 1.324379 0.560678 0.084000 1.893101 0.982568 0.231983 0.030976 1.869849 0.114160 0.803943 1.697252 0.187259 0.348967 1.325837 0.129934 0.628168 -0.292961 -0.172670 0.424548 1.491809 -0.230282 0.327899 -0.371234 1.709483 0.949653 0.922124 1.730156 1.323261 1.332457 0.313981 1.342414 0.100580 0.697678 0.026744 -0.054235 1.341652 -0.009876 1.698348 0.248931 -0.183551 1.470018 1.710913 1.251473 0.727247 1.872729 0.011341 0.025061 0.694946 1.531659 0.478715 1.097259 0.657341 1.219034 0.633776 0.382770 0.377028 0.092620 0.800796 0.434789 0.301288 0.942251 -0.118601 -0.116547 1.180657 1.270834 0.986907 0.237837 0.780073 1.628870 -0.280374 -0.194405 0.622013 0.090032 1.411166 0.490814 -0.298299 1.291149 1.730249 1.587675 1.193266 0.285035 0.236562 1.437795 0.582458 1.521211 0.605547 0.877830 1.441130 1.061898 0.936396 1.257893 0.016398 -0.126771 0.102714 1.392810 1.183106 1.832099 1.740994 0.232560 0.367779 0.656921 -0.130561 0.093991 0.079826 0.694300 1.076720 1.076648 -0.154506 1.074489 -0.219932 0.141670 -0.212932 0.458505 1.362796)
+	10.877907 #(0.000000 1.760966 1.432317 0.661698 0.093764 0.677833 1.324379 0.560678 0.084000 1.893101 0.982568 0.231983 0.030976 1.869849 0.114160 0.803943 1.697252 0.187259 0.348967 1.325837 0.129934 0.628168 -0.292961 -0.172670 0.424548 1.491809 -0.230282 0.327899 -0.371234 1.709483 0.949653 0.922124 1.730156 1.323261 1.332457 0.313981 1.342414 0.100580 0.697678 0.026744 -0.054235 1.341652 -0.009876 1.698348 0.248931 -0.183551 1.470018 1.710913 1.251473 0.727247 1.872729 0.011341 0.025061 0.694946 1.531659 0.478715 1.097259 0.657341 1.219034 0.633776 0.382770 0.377028 0.092620 0.800796 0.434789 0.301288 0.942251 -0.118601 -0.116547 1.180657 1.270834 0.986907 0.237837 0.780073 1.628870 -0.280374 -0.194405 0.622013 0.090032 1.411166 0.490814 -0.298299 1.291149 1.730249 1.587675 1.193266 0.285035 0.236562 1.437795 0.582458 1.521211 0.605547 0.877830 1.441130 1.061898 0.936396 1.257893 0.016398 -0.126771 0.102714 1.392810 1.183106 1.832099 1.740994 0.232560 0.367779 0.656921 -0.130561 0.093991 0.079826 0.694300 1.076720 1.076648 -0.154506 1.074489 -0.219932 0.141670 -0.212932 0.458505 1.362796)
       )
 
 ;;; 121 all -------------------------------------------------------------------------------- ; 11
-(vector 121 14.184466362 (fv 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1)
+(vector 121 14.184466362 #(0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1)
 
-	10.924906 (fv 0.000000 1.021993 1.334449 0.689448 0.491891 0.317117 0.185100 1.316740 0.942417 -0.055518 1.467945 1.216575 0.460144 1.613483 1.346938 0.351666 1.534737 1.166463 0.663385 1.751743 0.887304 0.686057 0.353407 0.640903 0.247744 0.051185 1.683771 0.607042 -0.642997 1.586265 1.428130 1.293714 0.376348 1.687396 1.342115 1.114987 0.421788 0.173805 0.664896 0.744172 1.338635 0.611663 0.948619 1.727026 0.108093 1.757613 1.759583 0.684030 0.701845 0.897975 1.291554 1.678993 -0.010218 1.672340 1.419180 0.531998 1.055064 0.071044 -0.158722 1.660752 -0.273616 1.601063 0.212433 0.488138 0.674057 0.101023 0.258204 0.323292 0.370652 0.521650 1.206457 1.206236 0.768851 0.204856 0.771378 0.971274 -0.207666 0.711434 0.295654 1.831769 0.464965 1.896472 0.968538 0.024673 1.250922 1.351355 0.486851 0.833273 1.147617 1.669210 0.770997 -0.072413 0.463363 1.323688 1.050580 1.732192 0.819244 0.777660 1.040697 0.078135 0.787038 1.358361 0.700196 0.074501 0.587042 0.515371 1.216302 0.852496 0.581485 0.849691 1.814480 1.077357 0.162962 0.766524 -0.151640 0.240975 0.296067 0.314628 1.286198 0.210485 0.583580)
+	10.924906 #(0.000000 1.021993 1.334449 0.689448 0.491891 0.317117 0.185100 1.316740 0.942417 -0.055518 1.467945 1.216575 0.460144 1.613483 1.346938 0.351666 1.534737 1.166463 0.663385 1.751743 0.887304 0.686057 0.353407 0.640903 0.247744 0.051185 1.683771 0.607042 -0.642997 1.586265 1.428130 1.293714 0.376348 1.687396 1.342115 1.114987 0.421788 0.173805 0.664896 0.744172 1.338635 0.611663 0.948619 1.727026 0.108093 1.757613 1.759583 0.684030 0.701845 0.897975 1.291554 1.678993 -0.010218 1.672340 1.419180 0.531998 1.055064 0.071044 -0.158722 1.660752 -0.273616 1.601063 0.212433 0.488138 0.674057 0.101023 0.258204 0.323292 0.370652 0.521650 1.206457 1.206236 0.768851 0.204856 0.771378 0.971274 -0.207666 0.711434 0.295654 1.831769 0.464965 1.896472 0.968538 0.024673 1.250922 1.351355 0.486851 0.833273 1.147617 1.669210 0.770997 -0.072413 0.463363 1.323688 1.050580 1.732192 0.819244 0.777660 1.040697 0.078135 0.787038 1.358361 0.700196 0.074501 0.587042 0.515371 1.216302 0.852496 0.581485 0.849691 1.814480 1.077357 0.162962 0.766524 -0.151640 0.240975 0.296067 0.314628 1.286198 0.210485 0.583580)
       )
 
 ;;; 122 all -------------------------------------------------------------------------------- ; 11.0454
-(vector 122 14.536 (fv 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0)
+(vector 122 14.536 #(0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0)
 
-	10.949841 (fv 0.000000 1.704153 0.121290 0.688837 1.244030 1.262068 -0.197896 0.413249 1.197451 1.272156 0.642587 1.292432 1.783982 0.043702 1.158291 1.164647 1.692639 1.493672 1.007369 1.436042 1.725774 0.880017 0.375925 1.616969 0.128447 1.149978 1.084930 0.463608 1.105848 1.530070 1.424718 0.719589 0.763768 0.288678 1.156946 0.691396 0.064365 0.469636 1.091974 0.426323 1.090313 0.491849 0.938048 1.656418 0.459182 0.976494 0.376276 1.451323 1.601769 -0.407170 0.538990 1.732338 0.050678 1.192103 0.536699 0.739148 1.592439 -0.026377 0.032581 0.995911 0.348311 -0.030558 1.293098 0.192261 0.610689 1.016189 0.912642 1.102218 1.291663 0.930392 1.417016 1.312774 1.826696 0.250091 0.993926 0.681381 0.628174 0.441959 1.489842 0.532045 1.179384 0.517873 0.125155 1.064841 1.980073 0.744857 1.235778 1.280286 1.634199 -0.058763 1.206383 1.265460 1.054717 0.853628 1.196638 0.872935 -0.314369 0.468836 0.081998 0.420778 1.325508 1.934649 1.587718 1.251054 -0.176641 -0.893762 0.381112 0.198904 0.283702 1.674181 1.521739 0.754893 1.659031 0.756575 0.235790 -0.129516 1.697508 -0.350053 0.868125 -0.095111 1.099831 0.951722)
+	10.949841 #(0.000000 1.704153 0.121290 0.688837 1.244030 1.262068 -0.197896 0.413249 1.197451 1.272156 0.642587 1.292432 1.783982 0.043702 1.158291 1.164647 1.692639 1.493672 1.007369 1.436042 1.725774 0.880017 0.375925 1.616969 0.128447 1.149978 1.084930 0.463608 1.105848 1.530070 1.424718 0.719589 0.763768 0.288678 1.156946 0.691396 0.064365 0.469636 1.091974 0.426323 1.090313 0.491849 0.938048 1.656418 0.459182 0.976494 0.376276 1.451323 1.601769 -0.407170 0.538990 1.732338 0.050678 1.192103 0.536699 0.739148 1.592439 -0.026377 0.032581 0.995911 0.348311 -0.030558 1.293098 0.192261 0.610689 1.016189 0.912642 1.102218 1.291663 0.930392 1.417016 1.312774 1.826696 0.250091 0.993926 0.681381 0.628174 0.441959 1.489842 0.532045 1.179384 0.517873 0.125155 1.064841 1.980073 0.744857 1.235778 1.280286 1.634199 -0.058763 1.206383 1.265460 1.054717 0.853628 1.196638 0.872935 -0.314369 0.468836 0.081998 0.420778 1.325508 1.934649 1.587718 1.251054 -0.176641 -0.893762 0.381112 0.198904 0.283702 1.674181 1.521739 0.754893 1.659031 0.756575 0.235790 -0.129516 1.697508 -0.350053 0.868125 -0.095111 1.099831 0.951722)
       )
 
 ;;; 123 all -------------------------------------------------------------------------------- ; 11.0905
-(vector 123 14.67458183944 (fv 0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1)
+(vector 123 14.67458183944 #(0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1)
 
-      11.089811 (fv 0.000000 -0.095705 0.502046 0.843201 1.262416 0.051297 -0.136069 1.229943 0.769550 -0.394544 1.202311 0.030935 0.212789 0.180234 1.202646 1.847334 1.298798 1.298567 0.826116 1.899995 0.130966 0.229988 0.849236 1.354957 0.175337 -0.090289 1.376955 0.986456 0.858952 -0.348674 -0.073167 -0.218495 1.696358 1.036669 1.130688 0.308330 0.510630 1.786938 -0.105214 0.654929 1.564764 1.314058 0.677163 -0.213165 1.538085 0.616182 0.862650 0.165337 -0.034200 1.035704 0.813627 1.106006 1.740931 0.014126 1.052235 0.657556 1.858826 0.165758 0.630519 0.409633 -0.040211 1.543795 1.391268 -0.071463 1.608090 0.360070 -0.066709 0.298864 0.437480 -0.144723 -0.061475 0.229100 1.150525 0.049068 -0.178297 1.796933 1.253507 1.460767 1.254789 1.053122 -0.014640 1.158719 1.833281 -0.100606 1.043660 0.125118 1.383020 0.234098 0.814218 -0.263454 1.710640 0.541462 0.096383 0.540963 -0.022417 0.505975 1.860187 1.286017 0.269581 0.338845 0.988364 0.065927 0.952682 1.381585 1.156408 1.384314 0.622434 1.536785 0.876899 0.457680 0.787662 1.764741 0.741434 -0.166817 0.104157 0.779344 1.374068 1.055092 1.250202 1.254085 1.185506 -0.050283 -0.314919)
+      11.089811 #(0.000000 -0.095705 0.502046 0.843201 1.262416 0.051297 -0.136069 1.229943 0.769550 -0.394544 1.202311 0.030935 0.212789 0.180234 1.202646 1.847334 1.298798 1.298567 0.826116 1.899995 0.130966 0.229988 0.849236 1.354957 0.175337 -0.090289 1.376955 0.986456 0.858952 -0.348674 -0.073167 -0.218495 1.696358 1.036669 1.130688 0.308330 0.510630 1.786938 -0.105214 0.654929 1.564764 1.314058 0.677163 -0.213165 1.538085 0.616182 0.862650 0.165337 -0.034200 1.035704 0.813627 1.106006 1.740931 0.014126 1.052235 0.657556 1.858826 0.165758 0.630519 0.409633 -0.040211 1.543795 1.391268 -0.071463 1.608090 0.360070 -0.066709 0.298864 0.437480 -0.144723 -0.061475 0.229100 1.150525 0.049068 -0.178297 1.796933 1.253507 1.460767 1.254789 1.053122 -0.014640 1.158719 1.833281 -0.100606 1.043660 0.125118 1.383020 0.234098 0.814218 -0.263454 1.710640 0.541462 0.096383 0.540963 -0.022417 0.505975 1.860187 1.286017 0.269581 0.338845 0.988364 0.065927 0.952682 1.381585 1.156408 1.384314 0.622434 1.536785 0.876899 0.457680 0.787662 1.764741 0.741434 -0.166817 0.104157 0.779344 1.374068 1.055092 1.250202 1.254085 1.185506 -0.050283 -0.314919)
 
       ;; pp:
-      11.016135 (fv 0.000000 0.647630 1.074276 1.756268 0.251422 0.804135 1.421127 0.040524 0.665959 1.111755 1.848209 0.635476 1.226811 0.078653 0.744267 1.473903 0.238865 0.830996 1.602610 0.483888 1.291535 0.032720 0.918740 1.769630 0.682055 1.658606 0.644590 1.383351 0.360438 1.331009 0.396705 1.499558 0.394585 1.332297 0.284286 1.367163 0.697156 1.873754 1.072911 0.259822 1.429562 0.401628 1.434105 0.713387 0.052744 1.073687 0.172805 1.418890 0.502359 0.008598 1.451186 0.715950 -0.032063 1.332938 0.645483 -0.170523 1.375389 0.799087 0.277881 1.623936 1.051516 0.728226 0.326139 1.759949 1.287776 0.814001 0.247394 -0.079677 1.277221 1.247278 0.815434 0.548501 0.120625 1.806890 1.668828 1.491775 0.975860 0.670802 0.343501 0.107101 -0.116370 1.739084 1.782173 1.584916 1.517015 1.084964 1.270093 0.937194 1.142225 0.603049 0.902612 0.582213 0.697513 0.723238 0.854795 0.946568 1.173389 0.894182 1.104017 0.982296 1.332899 1.077929 1.505566 1.771677 1.766832 0.125556 0.284805 0.740017 0.785432 0.946551 1.254134 1.343675 1.825955 0.281285 0.688963 0.928919 1.510642 0.002528 0.243797 0.692027 1.356775 1.422418 -0.003671)
+      11.016135 #(0.000000 0.647630 1.074276 1.756268 0.251422 0.804135 1.421127 0.040524 0.665959 1.111755 1.848209 0.635476 1.226811 0.078653 0.744267 1.473903 0.238865 0.830996 1.602610 0.483888 1.291535 0.032720 0.918740 1.769630 0.682055 1.658606 0.644590 1.383351 0.360438 1.331009 0.396705 1.499558 0.394585 1.332297 0.284286 1.367163 0.697156 1.873754 1.072911 0.259822 1.429562 0.401628 1.434105 0.713387 0.052744 1.073687 0.172805 1.418890 0.502359 0.008598 1.451186 0.715950 -0.032063 1.332938 0.645483 -0.170523 1.375389 0.799087 0.277881 1.623936 1.051516 0.728226 0.326139 1.759949 1.287776 0.814001 0.247394 -0.079677 1.277221 1.247278 0.815434 0.548501 0.120625 1.806890 1.668828 1.491775 0.975860 0.670802 0.343501 0.107101 -0.116370 1.739084 1.782173 1.584916 1.517015 1.084964 1.270093 0.937194 1.142225 0.603049 0.902612 0.582213 0.697513 0.723238 0.854795 0.946568 1.173389 0.894182 1.104017 0.982296 1.332899 1.077929 1.505566 1.771677 1.766832 0.125556 0.284805 0.740017 0.785432 0.946551 1.254134 1.343675 1.825955 0.281285 0.688963 0.928919 1.510642 0.002528 0.243797 0.692027 1.356775 1.422418 -0.003671)
       )
 
 ;;; 124 all -------------------------------------------------------------------------------- ; 11.1355
-(vector 124 14.607 (fv 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1)
+(vector 124 14.607 #(0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1)
 
-	11.060270 (fv 0.000000 0.155441 1.710148 0.675606 0.991885 0.930398 0.521431 0.244313 1.630742 0.168790 0.137270 0.000305 -0.043062 0.897696 0.964832 0.045064 0.425268 0.964217 1.290413 0.929170 0.235812 1.335949 0.057667 0.001006 1.068524 0.446791 1.393120 0.549817 1.466180 -0.642251 1.637204 0.595543 0.457077 0.355722 0.196249 1.437718 -0.302241 1.024336 1.392207 1.340742 0.398137 0.737820 0.315317 0.261053 0.730496 0.895111 0.489074 0.360451 1.441085 0.496392 1.486058 1.322042 1.007323 -0.126599 0.931744 1.784266 0.161232 0.306266 0.415406 0.681040 1.790701 0.980642 -0.005904 1.343074 0.136975 0.027551 -0.124807 1.525812 0.151673 1.852354 0.924568 1.280951 0.029602 0.736180 1.201925 0.667470 1.226105 0.326690 0.609507 -0.393588 1.467285 1.671123 1.358186 0.541731 1.122604 1.867616 -0.473631 -0.417534 0.660754 1.837680 1.546497 0.596764 1.110785 0.215660 0.434300 0.180279 1.110604 0.505631 1.274765 1.668673 0.193680 0.673308 0.543007 1.365849 -0.310522 0.237117 0.174423 1.731063 0.766964 0.281277 -0.402143 0.989963 0.637238 0.526844 0.787012 1.257855 0.717061 0.758671 0.882050 1.342356 0.626910 1.083549 0.608055 0.472324)
+	11.060270 #(0.000000 0.155441 1.710148 0.675606 0.991885 0.930398 0.521431 0.244313 1.630742 0.168790 0.137270 0.000305 -0.043062 0.897696 0.964832 0.045064 0.425268 0.964217 1.290413 0.929170 0.235812 1.335949 0.057667 0.001006 1.068524 0.446791 1.393120 0.549817 1.466180 -0.642251 1.637204 0.595543 0.457077 0.355722 0.196249 1.437718 -0.302241 1.024336 1.392207 1.340742 0.398137 0.737820 0.315317 0.261053 0.730496 0.895111 0.489074 0.360451 1.441085 0.496392 1.486058 1.322042 1.007323 -0.126599 0.931744 1.784266 0.161232 0.306266 0.415406 0.681040 1.790701 0.980642 -0.005904 1.343074 0.136975 0.027551 -0.124807 1.525812 0.151673 1.852354 0.924568 1.280951 0.029602 0.736180 1.201925 0.667470 1.226105 0.326690 0.609507 -0.393588 1.467285 1.671123 1.358186 0.541731 1.122604 1.867616 -0.473631 -0.417534 0.660754 1.837680 1.546497 0.596764 1.110785 0.215660 0.434300 0.180279 1.110604 0.505631 1.274765 1.668673 0.193680 0.673308 0.543007 1.365849 -0.310522 0.237117 0.174423 1.731063 0.766964 0.281277 -0.402143 0.989963 0.637238 0.526844 0.787012 1.257855 0.717061 0.758671 0.882050 1.342356 0.626910 1.083549 0.608055 0.472324)
       )
 
 ;;; 125 all -------------------------------------------------------------------------------- ; 11.1803
-(vector 125 14.985 (fv 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0)
+(vector 125 14.985 #(0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0)
 
       ;; 11.16794 
-      11.160786 (fv 0.000000 1.015332 1.208067 1.409127 0.622612 0.043137 0.789070 0.545823 0.370412 0.925346 1.157620 0.165772 1.424901 0.898702 1.656211 0.988303 1.801194 1.470568 1.745983 0.609307 -0.597689 0.731241 -0.142723 0.984230 0.073162 1.875752 0.335696 1.602183 0.142368 0.017160 0.448032 0.120103 0.041279 0.523055 0.073650 1.053879 -0.306921 1.513911 1.101021 1.602539 -0.121119 0.641316 -0.004631 1.595461 1.743817 0.418939 0.589672 1.179156 0.811957 1.197450 1.342788 1.287174 1.574681 1.241671 0.609625 0.929510 0.079585 0.612922 1.100363 0.431650 -0.459913 0.120058 0.264463 0.028955 1.140993 0.787792 1.007154 0.514281 1.114045 1.286846 1.241625 0.916235 0.449091 1.255016 0.869776 0.016192 1.421914 1.225032 1.302610 0.650162 0.956126 0.761196 -0.213826 0.222275 -0.426223 1.123082 0.506980 1.405113 0.081703 0.828457 1.262806 1.843366 0.399948 0.473729 -0.529905 1.215838 1.003418 1.687511 0.432881 1.055890 1.071502 1.087648 0.147867 -0.002533 0.317269 1.612891 -0.180768 1.003458 1.820527 0.761821 1.137143 0.352919 -0.090034 1.456553 0.819912 0.115658 0.246973 0.936701 1.319554 0.851128 1.479387 0.046130 1.488656 0.854373 0.867709)
+      11.160786 #(0.000000 1.015332 1.208067 1.409127 0.622612 0.043137 0.789070 0.545823 0.370412 0.925346 1.157620 0.165772 1.424901 0.898702 1.656211 0.988303 1.801194 1.470568 1.745983 0.609307 -0.597689 0.731241 -0.142723 0.984230 0.073162 1.875752 0.335696 1.602183 0.142368 0.017160 0.448032 0.120103 0.041279 0.523055 0.073650 1.053879 -0.306921 1.513911 1.101021 1.602539 -0.121119 0.641316 -0.004631 1.595461 1.743817 0.418939 0.589672 1.179156 0.811957 1.197450 1.342788 1.287174 1.574681 1.241671 0.609625 0.929510 0.079585 0.612922 1.100363 0.431650 -0.459913 0.120058 0.264463 0.028955 1.140993 0.787792 1.007154 0.514281 1.114045 1.286846 1.241625 0.916235 0.449091 1.255016 0.869776 0.016192 1.421914 1.225032 1.302610 0.650162 0.956126 0.761196 -0.213826 0.222275 -0.426223 1.123082 0.506980 1.405113 0.081703 0.828457 1.262806 1.843366 0.399948 0.473729 -0.529905 1.215838 1.003418 1.687511 0.432881 1.055890 1.071502 1.087648 0.147867 -0.002533 0.317269 1.612891 -0.180768 1.003458 1.820527 0.761821 1.137143 0.352919 -0.090034 1.456553 0.819912 0.115658 0.246973 0.936701 1.319554 0.851128 1.479387 0.046130 1.488656 0.854373 0.867709)
 
       ;; pp.scm:
-      11.105486 (fv 0.000000 0.668250 1.004851 1.665604 0.270207 0.823031 1.317389 1.895775 0.442735 1.092420 1.706335 0.316469 1.053513 1.851731 0.426377 1.214568 0.111950 0.768130 1.567897 0.318224 1.096474 0.028789 0.851033 1.730934 0.518266 1.394840 0.485490 1.534760 0.346603 1.302654 0.195595 1.075240 0.149474 1.131730 0.186045 1.296000 0.352391 1.439364 0.663850 1.837274 0.958873 0.121068 1.316333 0.242865 1.517748 0.747235 1.882566 1.040766 0.534079 1.729417 0.993163 0.496721 1.811700 1.002981 0.317419 1.678987 0.959753 0.256596 1.817235 1.299690 0.756280 0.292629 1.822282 1.254136 0.905795 0.232927 1.675869 1.252625 0.924210 0.377830 0.081344 1.650592 1.565111 1.210398 0.823930 0.495597 0.170992 -0.097351 1.629713 1.238397 1.141529 0.804262 0.860680 0.603481 0.666502 0.428034 0.395443 0.132689 1.849680 0.035737 1.395931 1.824957 1.358060 1.651982 1.606952 1.718179 1.670215 1.887548 1.688422 1.844666 -0.292284 0.050366 -0.101906 0.075572 0.305815 0.606639 0.913420 1.030088 1.512470 1.549064 1.827384 0.007726 0.106419 0.461039 0.753337 1.221334 1.792974 0.097112 0.617097 1.170484 1.176316 1.664541 0.165974 0.635539 1.022624)
+      11.105486 #(0.000000 0.668250 1.004851 1.665604 0.270207 0.823031 1.317389 1.895775 0.442735 1.092420 1.706335 0.316469 1.053513 1.851731 0.426377 1.214568 0.111950 0.768130 1.567897 0.318224 1.096474 0.028789 0.851033 1.730934 0.518266 1.394840 0.485490 1.534760 0.346603 1.302654 0.195595 1.075240 0.149474 1.131730 0.186045 1.296000 0.352391 1.439364 0.663850 1.837274 0.958873 0.121068 1.316333 0.242865 1.517748 0.747235 1.882566 1.040766 0.534079 1.729417 0.993163 0.496721 1.811700 1.002981 0.317419 1.678987 0.959753 0.256596 1.817235 1.299690 0.756280 0.292629 1.822282 1.254136 0.905795 0.232927 1.675869 1.252625 0.924210 0.377830 0.081344 1.650592 1.565111 1.210398 0.823930 0.495597 0.170992 -0.097351 1.629713 1.238397 1.141529 0.804262 0.860680 0.603481 0.666502 0.428034 0.395443 0.132689 1.849680 0.035737 1.395931 1.824957 1.358060 1.651982 1.606952 1.718179 1.670215 1.887548 1.688422 1.844666 -0.292284 0.050366 -0.101906 0.075572 0.305815 0.606639 0.913420 1.030088 1.512470 1.549064 1.827384 0.007726 0.106419 0.461039 0.753337 1.221334 1.792974 0.097112 0.617097 1.170484 1.176316 1.664541 0.165974 0.635539 1.022624)
 
       ;; pp1:
-      11.114689 (fv 0.000000 0.681978 1.028261 1.706912 0.292133 0.848775 1.343922 1.911777 0.451105 1.069054 1.693074 0.301918 1.035579 1.825832 0.435611 1.230581 0.111624 0.750696 1.574421 0.321180 1.071098 -0.013053 0.852483 1.783026 0.524168 1.371392 0.475241 1.562570 0.337915 1.270461 0.221125 1.100498 0.123076 1.107894 0.160645 1.270692 0.306224 1.479440 0.658107 1.838424 0.945824 0.091726 1.332313 0.238983 1.552958 0.749521 1.839061 1.045392 0.486297 1.712081 0.982243 0.539957 1.767541 0.934362 0.293124 1.675620 0.993763 0.206674 1.792070 1.270778 0.729123 0.284390 1.801314 1.282266 0.918468 0.252050 1.650401 1.232066 0.903570 0.313672 0.087588 1.657912 1.543341 1.232872 0.839991 0.464849 0.196039 -0.147366 1.653544 1.258396 1.123045 0.770121 0.900031 0.618800 0.692026 0.397188 0.475351 0.152075 1.894219 0.030184 1.418582 1.854056 1.299662 1.631587 1.652019 1.730754 1.687797 1.916199 1.730490 1.823361 -0.277080 0.063403 -0.121338 0.021902 0.284828 0.586626 0.860176 0.999715 1.490642 1.510249 1.792225 0.008814 0.113621 0.391836 0.733891 1.237143 1.809005 0.128227 0.638952 1.175937 1.156619 1.663599 0.187027 0.654280 1.021025)
+      11.114689 #(0.000000 0.681978 1.028261 1.706912 0.292133 0.848775 1.343922 1.911777 0.451105 1.069054 1.693074 0.301918 1.035579 1.825832 0.435611 1.230581 0.111624 0.750696 1.574421 0.321180 1.071098 -0.013053 0.852483 1.783026 0.524168 1.371392 0.475241 1.562570 0.337915 1.270461 0.221125 1.100498 0.123076 1.107894 0.160645 1.270692 0.306224 1.479440 0.658107 1.838424 0.945824 0.091726 1.332313 0.238983 1.552958 0.749521 1.839061 1.045392 0.486297 1.712081 0.982243 0.539957 1.767541 0.934362 0.293124 1.675620 0.993763 0.206674 1.792070 1.270778 0.729123 0.284390 1.801314 1.282266 0.918468 0.252050 1.650401 1.232066 0.903570 0.313672 0.087588 1.657912 1.543341 1.232872 0.839991 0.464849 0.196039 -0.147366 1.653544 1.258396 1.123045 0.770121 0.900031 0.618800 0.692026 0.397188 0.475351 0.152075 1.894219 0.030184 1.418582 1.854056 1.299662 1.631587 1.652019 1.730754 1.687797 1.916199 1.730490 1.823361 -0.277080 0.063403 -0.121338 0.021902 0.284828 0.586626 0.860176 0.999715 1.490642 1.510249 1.792225 0.008814 0.113621 0.391836 0.733891 1.237143 1.809005 0.128227 0.638952 1.175937 1.156619 1.663599 0.187027 0.654280 1.021025)
       )
 
 ;;; 126 all -------------------------------------------------------------------------------- ; 11.224972
-(vector 126 14.67419786533 (fv 0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0)
+(vector 126 14.67419786533 #(0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0)
 
-      11.145483 (fv 0.000000 0.899293 0.378495 1.289186 0.777288 0.858338 1.619831 1.737202 1.951674 0.835017 -0.087625 1.707725 0.328507 0.828194 -0.110415 0.084984 1.000160 0.933659 1.329981 0.403112 1.465299 0.867776 0.736209 0.286670 0.614444 0.936369 0.873213 0.123325 0.103437 0.033532 0.337773 1.704277 1.195946 1.204920 1.015411 0.867778 0.772767 0.521662 1.281071 0.987342 0.207100 0.684428 0.579999 1.230109 0.833339 0.874869 1.325709 1.214223 -0.039340 1.273384 0.554903 0.324879 0.897065 0.122734 0.357179 1.405113 1.382262 1.052698 1.093027 0.696151 1.256101 1.113094 1.329670 0.549960 1.774690 1.419208 1.188823 1.415491 0.266597 0.476692 0.360990 0.613975 1.834829 -0.016278 0.893804 0.177235 -0.162182 0.465943 0.846924 0.105182 0.478317 0.762411 0.169998 0.509253 1.306498 1.829812 0.517679 0.137251 1.279904 1.030500 -0.049960 1.650399 1.720514 0.164442 0.994973 1.525343 0.937775 1.609285 1.534911 -0.677300 0.133781 0.129445 0.518965 -0.144758 1.037002 1.052666 0.841376 0.157786 1.034141 0.219735 1.379782 0.222272 1.298276 0.072801 0.604052 1.220954 0.022881 1.817683 0.809301 0.789103 1.114921 0.656136 -0.111384 0.132814 1.271527 0.712891)
+      11.145483 #(0.000000 0.899293 0.378495 1.289186 0.777288 0.858338 1.619831 1.737202 1.951674 0.835017 -0.087625 1.707725 0.328507 0.828194 -0.110415 0.084984 1.000160 0.933659 1.329981 0.403112 1.465299 0.867776 0.736209 0.286670 0.614444 0.936369 0.873213 0.123325 0.103437 0.033532 0.337773 1.704277 1.195946 1.204920 1.015411 0.867778 0.772767 0.521662 1.281071 0.987342 0.207100 0.684428 0.579999 1.230109 0.833339 0.874869 1.325709 1.214223 -0.039340 1.273384 0.554903 0.324879 0.897065 0.122734 0.357179 1.405113 1.382262 1.052698 1.093027 0.696151 1.256101 1.113094 1.329670 0.549960 1.774690 1.419208 1.188823 1.415491 0.266597 0.476692 0.360990 0.613975 1.834829 -0.016278 0.893804 0.177235 -0.162182 0.465943 0.846924 0.105182 0.478317 0.762411 0.169998 0.509253 1.306498 1.829812 0.517679 0.137251 1.279904 1.030500 -0.049960 1.650399 1.720514 0.164442 0.994973 1.525343 0.937775 1.609285 1.534911 -0.677300 0.133781 0.129445 0.518965 -0.144758 1.037002 1.052666 0.841376 0.157786 1.034141 0.219735 1.379782 0.222272 1.298276 0.072801 0.604052 1.220954 0.022881 1.817683 0.809301 0.789103 1.114921 0.656136 -0.111384 0.132814 1.271527 0.712891)
       )
 
 ;;; 127 all -------------------------------------------------------------------------------- ; 11.269427
-(vector 127 14.851 (fv 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0)
+(vector 127 14.851 #(0 0 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0)
 
-	11.176112 (fv 0.000000 1.071888 1.248428 0.289874 1.246619 0.289572 1.760445 0.245569 1.154033 1.309416 0.081159 1.849794 1.710269 1.368867 1.052576 -0.398246 -0.001522 1.370275 0.292491 1.626710 1.166078 1.755696 1.227481 0.377631 0.354241 0.127104 0.305667 -0.167076 0.018149 1.234977 0.220914 0.373111 0.199191 1.136953 0.209502 1.631334 0.736118 -0.280026 0.637855 0.997502 0.069226 0.738973 1.836372 1.422035 0.641751 0.717645 0.227787 1.627490 0.896625 1.164185 1.181473 0.283052 0.793654 1.893617 0.958053 1.877395 0.211241 0.448741 0.465207 1.415492 1.261864 1.182640 0.217781 0.211053 1.936678 0.848219 1.690040 -0.183682 -0.275325 0.916325 0.426519 1.353568 0.171309 0.590049 0.503441 0.438773 0.014163 -0.062159 0.869887 -0.128424 0.144319 1.756020 1.717018 -0.046012 0.125572 0.279523 0.175456 1.083651 1.091291 1.212635 1.168385 1.392580 -0.189037 0.240170 0.866374 1.580620 1.749254 1.502399 1.243019 0.251600 -0.018231 1.414780 0.773115 0.067214 1.323483 0.617886 1.663914 0.351482 0.571589 1.123483 1.679985 0.501109 1.035832 1.346170 1.289512 1.663306 0.584848 0.500505 -0.031006 0.055228 0.131713 1.510949 0.309811 1.293736 1.414224 0.248635 1.517857)
+	11.176112 #(0.000000 1.071888 1.248428 0.289874 1.246619 0.289572 1.760445 0.245569 1.154033 1.309416 0.081159 1.849794 1.710269 1.368867 1.052576 -0.398246 -0.001522 1.370275 0.292491 1.626710 1.166078 1.755696 1.227481 0.377631 0.354241 0.127104 0.305667 -0.167076 0.018149 1.234977 0.220914 0.373111 0.199191 1.136953 0.209502 1.631334 0.736118 -0.280026 0.637855 0.997502 0.069226 0.738973 1.836372 1.422035 0.641751 0.717645 0.227787 1.627490 0.896625 1.164185 1.181473 0.283052 0.793654 1.893617 0.958053 1.877395 0.211241 0.448741 0.465207 1.415492 1.261864 1.182640 0.217781 0.211053 1.936678 0.848219 1.690040 -0.183682 -0.275325 0.916325 0.426519 1.353568 0.171309 0.590049 0.503441 0.438773 0.014163 -0.062159 0.869887 -0.128424 0.144319 1.756020 1.717018 -0.046012 0.125572 0.279523 0.175456 1.083651 1.091291 1.212635 1.168385 1.392580 -0.189037 0.240170 0.866374 1.580620 1.749254 1.502399 1.243019 0.251600 -0.018231 1.414780 0.773115 0.067214 1.323483 0.617886 1.663914 0.351482 0.571589 1.123483 1.679985 0.501109 1.035832 1.346170 1.289512 1.663306 0.584848 0.500505 -0.031006 0.055228 0.131713 1.510949 0.309811 1.293736 1.414224 0.248635 1.517857)
       )
 
 ;;; 128 all -------------------------------------------------------------------------------- ; 11.313708498985
-(vector 128 15.138 (fv 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1)
+(vector 128 15.138 #(0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1)
 
-      11.309209 (fv 0.000000 1.243323 0.073338 1.687189 1.124666 1.389841 0.847573 1.018728 0.290645 0.447958 0.152825 0.408946 1.554733 1.027824 0.742595 1.417320 1.174719 0.230635 0.137711 0.205770 -0.223930 -0.484352 0.868175 0.460794 0.073208 1.470166 -0.048840 -0.141098 1.057707 1.534980 0.337573 1.200647 1.372018 -0.041548 0.602859 1.849030 -0.103678 0.815675 0.107720 0.796671 0.027496 0.761821 1.113332 0.855622 0.650295 0.713381 0.490023 1.179238 -0.088446 0.282357 -0.437849 1.210715 1.321994 0.443637 1.300839 1.352381 -0.001933 0.442309 -0.088426 0.287664 0.126405 -0.108646 0.637631 0.580452 1.256195 1.182134 1.382836 1.180662 1.171900 0.353945 1.569554 0.076717 1.316852 1.092094 0.641656 0.578236 1.268290 1.296116 0.291194 1.287832 1.351802 0.877933 0.046043 0.135350 0.952936 1.137202 0.623256 -0.396801 0.327118 0.077316 0.800999 0.673083 1.387941 0.952139 1.436716 0.326423 0.697455 0.564179 1.047968 0.663414 0.327317 0.386236 0.415974 0.266450 1.112215 0.646830 0.208505 1.019398 -0.208967 0.964650 0.120229 1.347295 1.011374 1.053660 1.549663 0.688863 1.745386 0.772703 1.031951 0.182902 0.350269 0.873751 1.129081 1.610214 -0.035633 1.365829 0.190640 1.177284)
+      11.309209 #(0.000000 1.243323 0.073338 1.687189 1.124666 1.389841 0.847573 1.018728 0.290645 0.447958 0.152825 0.408946 1.554733 1.027824 0.742595 1.417320 1.174719 0.230635 0.137711 0.205770 -0.223930 -0.484352 0.868175 0.460794 0.073208 1.470166 -0.048840 -0.141098 1.057707 1.534980 0.337573 1.200647 1.372018 -0.041548 0.602859 1.849030 -0.103678 0.815675 0.107720 0.796671 0.027496 0.761821 1.113332 0.855622 0.650295 0.713381 0.490023 1.179238 -0.088446 0.282357 -0.437849 1.210715 1.321994 0.443637 1.300839 1.352381 -0.001933 0.442309 -0.088426 0.287664 0.126405 -0.108646 0.637631 0.580452 1.256195 1.182134 1.382836 1.180662 1.171900 0.353945 1.569554 0.076717 1.316852 1.092094 0.641656 0.578236 1.268290 1.296116 0.291194 1.287832 1.351802 0.877933 0.046043 0.135350 0.952936 1.137202 0.623256 -0.396801 0.327118 0.077316 0.800999 0.673083 1.387941 0.952139 1.436716 0.326423 0.697455 0.564179 1.047968 0.663414 0.327317 0.386236 0.415974 0.266450 1.112215 0.646830 0.208505 1.019398 -0.208967 0.964650 0.120229 1.347295 1.011374 1.053660 1.549663 0.688863 1.745386 0.772703 1.031951 0.182902 0.350269 0.873751 1.129081 1.610214 -0.035633 1.365829 0.190640 1.177284)
 
       ;; pp:
-      11.210356 (fv 0.000000 0.529477 1.092204 1.655320 0.240176 0.840083 1.290316 0.036113 0.414482 1.184815 1.733487 0.475904 1.226699 -0.054687 0.544000 1.373024 0.096261 0.605273 1.510542 0.229851 0.972933 -0.008717 0.768966 1.800241 0.536684 1.336088 0.309226 1.164728 0.254148 1.069819 0.021808 0.945032 -0.039508 0.972460 -0.067607 1.002895 0.197048 1.366967 0.351763 1.540663 0.648980 1.698360 0.730857 0.118485 1.274417 0.283223 1.327398 0.691807 0.012365 1.128647 0.533746 1.871605 1.252479 0.321809 1.476722 1.286815 0.557929 1.863054 1.365020 0.715719 -0.012609 1.699347 1.092581 0.354365 -0.098429 1.602411 1.106114 0.622866 0.186170 1.647857 1.109362 0.904818 0.566992 0.283406 1.734276 1.302248 1.135583 0.996099 0.637141 0.319233 -0.334659 -0.051454 1.363705 1.553533 1.027907 1.065457 0.795998 0.486251 0.704843 0.431262 0.496789 0.160271 0.268391 -0.277422 -0.064873 -0.149375 -0.202682 0.078495 -0.086833 -0.064332 0.234996 -0.109719 0.180200 0.196396 0.559877 0.436602 0.563596 0.942230 1.157161 1.450532 1.353287 1.969232 0.307428 0.330752 0.455679 0.656549 1.076389 1.439415 1.817226 0.185723 0.623808 1.021760 1.554273 1.872894 0.258818 0.595831 0.908779 1.816125)
+      11.210356 #(0.000000 0.529477 1.092204 1.655320 0.240176 0.840083 1.290316 0.036113 0.414482 1.184815 1.733487 0.475904 1.226699 -0.054687 0.544000 1.373024 0.096261 0.605273 1.510542 0.229851 0.972933 -0.008717 0.768966 1.800241 0.536684 1.336088 0.309226 1.164728 0.254148 1.069819 0.021808 0.945032 -0.039508 0.972460 -0.067607 1.002895 0.197048 1.366967 0.351763 1.540663 0.648980 1.698360 0.730857 0.118485 1.274417 0.283223 1.327398 0.691807 0.012365 1.128647 0.533746 1.871605 1.252479 0.321809 1.476722 1.286815 0.557929 1.863054 1.365020 0.715719 -0.012609 1.699347 1.092581 0.354365 -0.098429 1.602411 1.106114 0.622866 0.186170 1.647857 1.109362 0.904818 0.566992 0.283406 1.734276 1.302248 1.135583 0.996099 0.637141 0.319233 -0.334659 -0.051454 1.363705 1.553533 1.027907 1.065457 0.795998 0.486251 0.704843 0.431262 0.496789 0.160271 0.268391 -0.277422 -0.064873 -0.149375 -0.202682 0.078495 -0.086833 -0.064332 0.234996 -0.109719 0.180200 0.196396 0.559877 0.436602 0.563596 0.942230 1.157161 1.450532 1.353287 1.969232 0.307428 0.330752 0.455679 0.656549 1.076389 1.439415 1.817226 0.185723 0.623808 1.021760 1.554273 1.872894 0.258818 0.595831 0.908779 1.816125)
       )
 
 ;;; 256 all -------------------------------------------------------------------------------- (16)
-(vector 256 23.353 (fv 0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1)
+(vector 256 23.353 #(0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1)
 
-	16.061041 (fv 0.000000 0.925796 0.374630 -0.108513 -0.821698 -0.025087 -0.506195 0.298783 0.035173 0.012160 0.459017 0.128871 0.955347 -0.719489 0.827601 0.829509 -0.132131 0.534593 0.213472 -0.471818 -0.764121 0.240055 -0.480081 0.847706 -0.032870 -0.481128 0.761455 -0.211601 0.010004 0.568923 -0.059172 -0.017957 0.170478 -0.613989 -0.042068 -0.938552 -1.012251 0.796792 -0.038645 -0.426760 -0.192132 -0.528083 -0.017037 -0.489368 0.355556 0.515110 0.821955 -0.244212 -0.238511 -0.789603 0.734511 0.783320 0.368778 -0.600810 0.581954 0.316603 0.874508 -1.013265 0.262565 0.824972 0.323390 -0.162260 -0.116223 -0.866816 -0.634726 0.764949 -0.318122 0.145813 0.067938 0.841588 -0.127386 -0.237218 -0.267186 -0.539198 0.835759 -0.143418 0.496218 0.887615 0.191628 0.011726 -0.612239 0.722732 -0.991602 0.938142 -0.612137 -0.577649 0.191369 -0.198359 0.337475 0.755205 0.683654 -0.318641 -0.814741 -0.354751 0.276257 0.469693 0.801805 -0.420187 0.880092 -0.544351 -0.948063 -0.889987 0.198598 -0.517903 -0.352606 -0.663604 -0.191808 -0.767415 -0.712906 0.924699 -0.850674 -0.237297 -0.047403 0.885741 -0.631553 0.768862 -0.094846 0.448006 -0.666459 -0.850386 0.514580 0.225037 0.511035 0.964534 -0.769372 0.838413 0.741093 0.377443 0.167837 0.877026 -0.054752 0.586836 -0.861511 1.030824 -0.288593 -0.124961 0.009157 -0.927185 0.163383 0.645894 -0.013717 -0.492535 -0.082090 0.437620 0.389280 -0.586666 0.905444 -0.102217 0.591427 -0.168941 0.306715 0.219495 -0.472513 -0.146685 0.752590 0.629396 0.714907 -0.507356 -0.442117 0.799056 0.422576 0.662410 -0.341174 -0.732367 0.014039 -0.183894 0.905125 -0.870456 -0.053268 -0.141515 -0.799646 0.336566 -0.304144 0.389935 0.399830 0.307027 -0.871155 0.107846 0.738408 -0.473227 0.903561 -0.708458 0.732745 -0.039953 -0.750947 0.595806 0.272676 0.007716 0.005802 0.007590 0.079344 0.221588 -0.936127 -0.035027 0.033764 -0.726372 -0.868892 0.770707 -0.383408 -0.651714 0.527250 -0.719737 0.519993 0.226575 0.223677 -0.873550 0.461070 0.964642 -0.617656 -0.035337 -0.800003 -0.139782 0.456176 0.867699 -0.523192 0.078855 0.641942 -0.831683 0.649701 -0.186292 0.569982 -0.772489 -0.286347 -0.113877 -0.219001 0.574600 0.095286 0.790223 0.375659 0.208137 0.644267 -0.013565 0.348413 -0.089854 0.753366 0.482545 0.088959 0.879933 -0.175976 0.137202 0.015772 0.222959 -0.016971 -0.184196 0.277924 0.739236 -0.669637 -0.868483 0.795679 0.675602 0.826275 0.073079 0.690996 0.894373 0.004910 0.425706)
+	16.061041 #(0.000000 0.925796 0.374630 -0.108513 -0.821698 -0.025087 -0.506195 0.298783 0.035173 0.012160 0.459017 0.128871 0.955347 -0.719489 0.827601 0.829509 -0.132131 0.534593 0.213472 -0.471818 -0.764121 0.240055 -0.480081 0.847706 -0.032870 -0.481128 0.761455 -0.211601 0.010004 0.568923 -0.059172 -0.017957 0.170478 -0.613989 -0.042068 -0.938552 -1.012251 0.796792 -0.038645 -0.426760 -0.192132 -0.528083 -0.017037 -0.489368 0.355556 0.515110 0.821955 -0.244212 -0.238511 -0.789603 0.734511 0.783320 0.368778 -0.600810 0.581954 0.316603 0.874508 -1.013265 0.262565 0.824972 0.323390 -0.162260 -0.116223 -0.866816 -0.634726 0.764949 -0.318122 0.145813 0.067938 0.841588 -0.127386 -0.237218 -0.267186 -0.539198 0.835759 -0.143418 0.496218 0.887615 0.191628 0.011726 -0.612239 0.722732 -0.991602 0.938142 -0.612137 -0.577649 0.191369 -0.198359 0.337475 0.755205 0.683654 -0.318641 -0.814741 -0.354751 0.276257 0.469693 0.801805 -0.420187 0.880092 -0.544351 -0.948063 -0.889987 0.198598 -0.517903 -0.352606 -0.663604 -0.191808 -0.767415 -0.712906 0.924699 -0.850674 -0.237297 -0.047403 0.885741 -0.631553 0.768862 -0.094846 0.448006 -0.666459 -0.850386 0.514580 0.225037 0.511035 0.964534 -0.769372 0.838413 0.741093 0.377443 0.167837 0.877026 -0.054752 0.586836 -0.861511 1.030824 -0.288593 -0.124961 0.009157 -0.927185 0.163383 0.645894 -0.013717 -0.492535 -0.082090 0.437620 0.389280 -0.586666 0.905444 -0.102217 0.591427 -0.168941 0.306715 0.219495 -0.472513 -0.146685 0.752590 0.629396 0.714907 -0.507356 -0.442117 0.799056 0.422576 0.662410 -0.341174 -0.732367 0.014039 -0.183894 0.905125 -0.870456 -0.053268 -0.141515 -0.799646 0.336566 -0.304144 0.389935 0.399830 0.307027 -0.871155 0.107846 0.738408 -0.473227 0.903561 -0.708458 0.732745 -0.039953 -0.750947 0.595806 0.272676 0.007716 0.005802 0.007590 0.079344 0.221588 -0.936127 -0.035027 0.033764 -0.726372 -0.868892 0.770707 -0.383408 -0.651714 0.527250 -0.719737 0.519993 0.226575 0.223677 -0.873550 0.461070 0.964642 -0.617656 -0.035337 -0.800003 -0.139782 0.456176 0.867699 -0.523192 0.078855 0.641942 -0.831683 0.649701 -0.186292 0.569982 -0.772489 -0.286347 -0.113877 -0.219001 0.574600 0.095286 0.790223 0.375659 0.208137 0.644267 -0.013565 0.348413 -0.089854 0.753366 0.482545 0.088959 0.879933 -0.175976 0.137202 0.015772 0.222959 -0.016971 -0.184196 0.277924 0.739236 -0.669637 -0.868483 0.795679 0.675602 0.826275 0.073079 0.690996 0.894373 0.004910 0.425706)
 
       ;; pp: 
-	16.350377 (fv 0.000000 0.552796 0.999754 1.596338 0.126332 0.673759 1.143594 1.786231 0.239358 0.837076 1.376094 -0.027483 0.557207 1.197707 1.840730 0.374019 1.046415 1.758004 0.340195 0.989599 1.620624 0.260723 0.941286 1.573013 0.271552 0.902927 1.633570 0.349820 1.063867 1.825055 0.557595 1.306577 0.088807 0.790267 1.529892 0.294932 1.020408 1.744984 0.604757 1.412603 0.281886 1.100728 1.889905 0.686280 1.553865 0.453907 1.302529 0.100750 0.984465 -0.035558 0.826606 1.720865 0.586422 1.445731 0.436162 1.366180 0.314278 1.261198 0.174270 1.139476 0.076878 0.981955 0.014752 1.001254 0.023464 1.025553 0.021016 1.003733 0.047800 1.070120 0.227544 1.225662 0.275497 1.290238 0.339903 1.445648 0.643098 1.696622 0.736906 1.856892 0.946479 0.080466 1.251303 0.348155 1.578331 0.792557 1.845915 0.951067 0.268564 1.510384 0.657787 1.813775 1.031959 0.320499 1.463662 0.701523 0.024031 1.255492 0.480762 1.684919 1.051974 0.424109 1.601000 0.892871 0.243024 1.614521 1.010751 0.221241 1.491807 0.862210 0.215650 1.557126 0.968758 0.385009 1.808699 1.162553 0.511515 1.916283 1.311004 0.789593 0.295563 1.706075 1.087230 0.543068 0.069395 1.561470 0.989040 0.453388 -0.108044 1.480909 1.040634 0.572985 0.051211 1.625308 1.183041 0.686760 0.302383 1.860622 1.529645 0.987474 0.557505 0.084969 1.853756 1.336365 0.952019 0.595441 0.210294 1.971086 1.605010 1.282084 1.025620 0.569157 0.327228 1.866582 1.606594 1.434632 1.017654 0.911350 0.391676 0.232063 0.001884 1.730059 1.574735 1.286832 1.121780 0.801569 0.646973 0.508234 0.242177 0.255472 1.901657 1.795256 1.544468 1.353518 1.252299 1.049061 0.957214 0.842369 0.785364 0.631556 0.708280 0.450967 0.377024 0.408728 0.166649 0.302099 0.202780 0.096226 0.047151 -0.060241 -0.054511 -0.141528 0.011242 -0.035439 -0.105943 -0.008495 0.261657 -0.027784 0.212454 0.144202 0.244055 0.276291 0.439789 0.497793 0.528548 0.655999 0.693233 0.786857 0.888896 1.103132 1.128106 1.412355 1.557348 1.790407 1.883313 0.127747 0.354527 0.531053 0.664039 0.693143 1.026705 1.248860 1.533013 1.656903 -0.153410 0.211226 0.477106 0.861202 1.107385 1.382365 1.702920 1.856715 0.292313 0.666914 1.015054 1.228045 1.584336 1.886548 0.103276 0.465850 0.933761 1.404258 1.699106 0.163965 0.511514 0.978218 1.466876 1.813824 0.330510 0.850353 1.126689 1.666255 0.008649 0.560148 1.018515 1.617664)
+	16.350377 #(0.000000 0.552796 0.999754 1.596338 0.126332 0.673759 1.143594 1.786231 0.239358 0.837076 1.376094 -0.027483 0.557207 1.197707 1.840730 0.374019 1.046415 1.758004 0.340195 0.989599 1.620624 0.260723 0.941286 1.573013 0.271552 0.902927 1.633570 0.349820 1.063867 1.825055 0.557595 1.306577 0.088807 0.790267 1.529892 0.294932 1.020408 1.744984 0.604757 1.412603 0.281886 1.100728 1.889905 0.686280 1.553865 0.453907 1.302529 0.100750 0.984465 -0.035558 0.826606 1.720865 0.586422 1.445731 0.436162 1.366180 0.314278 1.261198 0.174270 1.139476 0.076878 0.981955 0.014752 1.001254 0.023464 1.025553 0.021016 1.003733 0.047800 1.070120 0.227544 1.225662 0.275497 1.290238 0.339903 1.445648 0.643098 1.696622 0.736906 1.856892 0.946479 0.080466 1.251303 0.348155 1.578331 0.792557 1.845915 0.951067 0.268564 1.510384 0.657787 1.813775 1.031959 0.320499 1.463662 0.701523 0.024031 1.255492 0.480762 1.684919 1.051974 0.424109 1.601000 0.892871 0.243024 1.614521 1.010751 0.221241 1.491807 0.862210 0.215650 1.557126 0.968758 0.385009 1.808699 1.162553 0.511515 1.916283 1.311004 0.789593 0.295563 1.706075 1.087230 0.543068 0.069395 1.561470 0.989040 0.453388 -0.108044 1.480909 1.040634 0.572985 0.051211 1.625308 1.183041 0.686760 0.302383 1.860622 1.529645 0.987474 0.557505 0.084969 1.853756 1.336365 0.952019 0.595441 0.210294 1.971086 1.605010 1.282084 1.025620 0.569157 0.327228 1.866582 1.606594 1.434632 1.017654 0.911350 0.391676 0.232063 0.001884 1.730059 1.574735 1.286832 1.121780 0.801569 0.646973 0.508234 0.242177 0.255472 1.901657 1.795256 1.544468 1.353518 1.252299 1.049061 0.957214 0.842369 0.785364 0.631556 0.708280 0.450967 0.377024 0.408728 0.166649 0.302099 0.202780 0.096226 0.047151 -0.060241 -0.054511 -0.141528 0.011242 -0.035439 -0.105943 -0.008495 0.261657 -0.027784 0.212454 0.144202 0.244055 0.276291 0.439789 0.497793 0.528548 0.655999 0.693233 0.786857 0.888896 1.103132 1.128106 1.412355 1.557348 1.790407 1.883313 0.127747 0.354527 0.531053 0.664039 0.693143 1.026705 1.248860 1.533013 1.656903 -0.153410 0.211226 0.477106 0.861202 1.107385 1.382365 1.702920 1.856715 0.292313 0.666914 1.015054 1.228045 1.584336 1.886548 0.103276 0.465850 0.933761 1.404258 1.699106 0.163965 0.511514 0.978218 1.466876 1.813824 0.330510 0.850353 1.126689 1.666255 0.008649 0.560148 1.018515 1.617664)
       )
 
 ;;; 512 all -------------------------------------------------------------------------------- (22.627)
-(vector 512 34.212551772691 (fv 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1)
+(vector 512 34.212551772691 #(0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1)
 
       ;; from (try-all :all 512 513 1.0491155462743 0.38189660798029) = 28.3830
-	23.664022 (fv 0.000000 0.427568 1.639326 1.360155 1.811218 1.092160 0.747868 1.186461 0.447302 0.141557 0.619324 1.833463 1.544347 0.007451 1.194940 0.942391 1.467079 0.598818 0.341862 0.856599 -0.009623 1.790305 0.303605 1.433809 1.210097 1.744422 0.850431 0.701542 1.184133 0.353157 0.158700 0.631775 1.816582 1.649038 0.151955 1.319099 1.140756 1.686037 0.836885 0.603284 1.210040 0.328240 0.128897 0.747775 1.857031 1.647146 0.229954 1.360640 1.181891 1.738203 0.916825 0.772560 1.263892 0.487557 0.357369 0.837989 0.072479 1.952904 0.462538 1.655604 1.530780 0.044826 1.188380 1.093422 1.643465 0.760457 0.671146 1.165553 0.382517 0.270309 0.819071 0.053545 1.937012 0.495125 1.742677 1.542501 0.125650 1.325748 1.210027 1.732088 0.935701 0.824564 1.323484 0.585708 0.506420 1.029721 0.338323 0.187075 0.760806 0.050676 1.850037 0.464992 1.677973 1.565113 0.144103 1.317521 1.321113 1.874238 1.016306 1.069091 1.608386 0.796518 0.769622 1.333499 0.614032 0.483343 1.064146 0.380172 0.255809 0.868411 0.110092 0.019745 0.602426 1.831203 1.791424 0.362161 1.643680 1.595486 0.149263 1.495555 1.407870 1.984422 1.287342 1.186467 1.794990 1.091502 0.997302 1.627715 0.925839 0.869778 1.436400 0.757469 0.721612 1.297170 0.565566 0.560684 1.139226 0.428000 0.421240 0.966706 0.319226 0.330813 0.889093 0.219241 0.195335 0.812296 0.094799 0.052902 0.683712 0.010896 1.971130 0.608327 1.935753 1.931121 0.569627 1.867175 1.867249 0.441783 1.801138 1.790921 0.371408 1.777986 1.738617 0.401066 1.733047 1.661490 0.354101 1.627871 1.606589 0.288724 1.577834 1.666020 0.321728 1.651393 1.656482 0.323319 1.730257 1.617220 0.293458 1.714829 1.659553 0.344931 1.670147 1.687943 0.352602 1.662557 1.707106 0.369928 1.772978 1.748463 0.482487 1.829720 1.820057 0.586300 1.834899 1.928514 0.630781 1.937126 0.006886 0.678213 0.089703 0.093158 0.772429 0.211946 0.205897 0.907314 0.295511 0.339317 1.025320 0.390289 0.436223 1.172670 0.563140 0.575421 1.326146 0.743539 0.740636 1.478962 0.859750 0.923341 1.622809 0.996123 1.103566 1.788348 1.176067 1.280213 -0.047092 1.383754 1.395483 0.152500 1.517048 1.632989 0.388897 1.741484 1.847120 0.652366 0.024054 0.131465 0.878250 0.336434 0.307596 1.072008 0.542503 0.578597 1.334996 0.751250 0.821777 1.656098 1.025574 1.190055 1.955170 1.316203 1.418474 0.154347 1.615247 1.696950 0.413353 1.897018 -0.040080 0.750302 0.194941 0.311683 1.127700 0.508014 0.639251 1.420913 0.883930 0.954476 1.736379 1.219406 1.363982 0.067216 1.594026 1.696195 0.520754 1.968937 0.073197 0.846293 0.295874 0.412637 1.264631 0.683696 0.770777 1.578119 1.049706 1.256677 0.075650 1.516235 1.661663 0.486701 1.923042 0.102476 0.897895 0.421239 0.520799 1.398872 0.764863 0.918394 1.741709 1.285842 1.432958 0.285406 1.740186 1.875561 0.693279 0.189999 0.363512 1.130608 0.742662 0.877597 1.690466 1.167157 1.260179 0.095687 1.647656 1.862836 0.750171 0.242633 0.398738 1.269810 0.693295 0.943617 1.819562 1.329456 1.523078 0.289946 1.903623 0.046720 0.919252 0.382106 0.589683 1.382685 1.026289 1.195161 0.073095 1.610391 1.738812 0.696675 0.192997 0.388398 1.259408 0.742094 1.024183 1.864212 1.458122 1.534179 0.402744 -0.061224 0.271156 1.098904 0.634032 0.812991 1.726192 1.349800 1.524054 0.405111 1.914339 0.225666 1.134052 0.737598 0.871970 1.836536 1.374934 1.616164 0.466416 0.050312 0.256071 1.130926 0.806016 0.967517 1.857501 1.430024 1.677286 0.624674 0.171527 0.493105 1.331230 0.893429 1.180472 0.103949 1.752760 1.965087 0.889376 0.401019 0.670116 1.685650 1.210490 1.475318 0.371575 0.023405 0.308232 1.175094 0.785590 1.015636 -0.029618 1.589597 1.841867 0.744953 0.423044 0.654663 1.649721 1.235327 1.552140 0.505770 0.153285 0.430626 1.295928 0.916060 1.261458 0.277022 1.879571 0.086016 1.069989 0.709985 0.993888 -0.020550 1.578106 1.903961 0.873960 0.405819 0.766821 1.720050 1.395240 1.689328 0.591580 0.237019 0.518171 1.489451 1.175876 1.436552 0.419316 0.110972 0.456395 1.431851 1.135703 1.433153 0.412157 0.047498 0.368496 1.359894 0.994487 1.371051 0.374236 -0.007165 0.356413 1.341081 0.997966 1.348371 0.388959 0.042648 0.317800 1.336452 1.006864 1.349497 0.415416 0.057830 0.422080 1.335388 1.091374 1.397964 0.381417 0.219147 0.454116 1.473546 1.128064 1.458934 0.561157 0.201897 0.582036 1.638190 1.188476 1.678318 0.658219 0.380328 0.735596 1.749438 1.526079 1.911184 0.877724 0.628235 0.991698 0.058067 1.723282 0.138422 1.198701 0.866452 1.210404 0.321220 0.058540 0.420700 1.466851 1.211297 1.555352 0.603793 0.342675 0.773740 1.815254 1.579109 1.942762 1.000717 0.737614 1.114407 0.230063 0.006013 0.382590 1.515868 1.246214 1.651494 0.773676 0.514207 0.940214 0.045277)
+	23.664022 #(0.000000 0.427568 1.639326 1.360155 1.811218 1.092160 0.747868 1.186461 0.447302 0.141557 0.619324 1.833463 1.544347 0.007451 1.194940 0.942391 1.467079 0.598818 0.341862 0.856599 -0.009623 1.790305 0.303605 1.433809 1.210097 1.744422 0.850431 0.701542 1.184133 0.353157 0.158700 0.631775 1.816582 1.649038 0.151955 1.319099 1.140756 1.686037 0.836885 0.603284 1.210040 0.328240 0.128897 0.747775 1.857031 1.647146 0.229954 1.360640 1.181891 1.738203 0.916825 0.772560 1.263892 0.487557 0.357369 0.837989 0.072479 1.952904 0.462538 1.655604 1.530780 0.044826 1.188380 1.093422 1.643465 0.760457 0.671146 1.165553 0.382517 0.270309 0.819071 0.053545 1.937012 0.495125 1.742677 1.542501 0.125650 1.325748 1.210027 1.732088 0.935701 0.824564 1.323484 0.585708 0.506420 1.029721 0.338323 0.187075 0.760806 0.050676 1.850037 0.464992 1.677973 1.565113 0.144103 1.317521 1.321113 1.874238 1.016306 1.069091 1.608386 0.796518 0.769622 1.333499 0.614032 0.483343 1.064146 0.380172 0.255809 0.868411 0.110092 0.019745 0.602426 1.831203 1.791424 0.362161 1.643680 1.595486 0.149263 1.495555 1.407870 1.984422 1.287342 1.186467 1.794990 1.091502 0.997302 1.627715 0.925839 0.869778 1.436400 0.757469 0.721612 1.297170 0.565566 0.560684 1.139226 0.428000 0.421240 0.966706 0.319226 0.330813 0.889093 0.219241 0.195335 0.812296 0.094799 0.052902 0.683712 0.010896 1.971130 0.608327 1.935753 1.931121 0.569627 1.867175 1.867249 0.441783 1.801138 1.790921 0.371408 1.777986 1.738617 0.401066 1.733047 1.661490 0.354101 1.627871 1.606589 0.288724 1.577834 1.666020 0.321728 1.651393 1.656482 0.323319 1.730257 1.617220 0.293458 1.714829 1.659553 0.344931 1.670147 1.687943 0.352602 1.662557 1.707106 0.369928 1.772978 1.748463 0.482487 1.829720 1.820057 0.586300 1.834899 1.928514 0.630781 1.937126 0.006886 0.678213 0.089703 0.093158 0.772429 0.211946 0.205897 0.907314 0.295511 0.339317 1.025320 0.390289 0.436223 1.172670 0.563140 0.575421 1.326146 0.743539 0.740636 1.478962 0.859750 0.923341 1.622809 0.996123 1.103566 1.788348 1.176067 1.280213 -0.047092 1.383754 1.395483 0.152500 1.517048 1.632989 0.388897 1.741484 1.847120 0.652366 0.024054 0.131465 0.878250 0.336434 0.307596 1.072008 0.542503 0.578597 1.334996 0.751250 0.821777 1.656098 1.025574 1.190055 1.955170 1.316203 1.418474 0.154347 1.615247 1.696950 0.413353 1.897018 -0.040080 0.750302 0.194941 0.311683 1.127700 0.508014 0.639251 1.420913 0.883930 0.954476 1.736379 1.219406 1.363982 0.067216 1.594026 1.696195 0.520754 1.968937 0.073197 0.846293 0.295874 0.412637 1.264631 0.683696 0.770777 1.578119 1.049706 1.256677 0.075650 1.516235 1.661663 0.486701 1.923042 0.102476 0.897895 0.421239 0.520799 1.398872 0.764863 0.918394 1.741709 1.285842 1.432958 0.285406 1.740186 1.875561 0.693279 0.189999 0.363512 1.130608 0.742662 0.877597 1.690466 1.167157 1.260179 0.095687 1.647656 1.862836 0.750171 0.242633 0.398738 1.269810 0.693295 0.943617 1.819562 1.329456 1.523078 0.289946 1.903623 0.046720 0.919252 0.382106 0.589683 1.382685 1.026289 1.195161 0.073095 1.610391 1.738812 0.696675 0.192997 0.388398 1.259408 0.742094 1.024183 1.864212 1.458122 1.534179 0.402744 -0.061224 0.271156 1.098904 0.634032 0.812991 1.726192 1.349800 1.524054 0.405111 1.914339 0.225666 1.134052 0.737598 0.871970 1.836536 1.374934 1.616164 0.466416 0.050312 0.256071 1.130926 0.806016 0.967517 1.857501 1.430024 1.677286 0.624674 0.171527 0.493105 1.331230 0.893429 1.180472 0.103949 1.752760 1.965087 0.889376 0.401019 0.670116 1.685650 1.210490 1.475318 0.371575 0.023405 0.308232 1.175094 0.785590 1.015636 -0.029618 1.589597 1.841867 0.744953 0.423044 0.654663 1.649721 1.235327 1.552140 0.505770 0.153285 0.430626 1.295928 0.916060 1.261458 0.277022 1.879571 0.086016 1.069989 0.709985 0.993888 -0.020550 1.578106 1.903961 0.873960 0.405819 0.766821 1.720050 1.395240 1.689328 0.591580 0.237019 0.518171 1.489451 1.175876 1.436552 0.419316 0.110972 0.456395 1.431851 1.135703 1.433153 0.412157 0.047498 0.368496 1.359894 0.994487 1.371051 0.374236 -0.007165 0.356413 1.341081 0.997966 1.348371 0.388959 0.042648 0.317800 1.336452 1.006864 1.349497 0.415416 0.057830 0.422080 1.335388 1.091374 1.397964 0.381417 0.219147 0.454116 1.473546 1.128064 1.458934 0.561157 0.201897 0.582036 1.638190 1.188476 1.678318 0.658219 0.380328 0.735596 1.749438 1.526079 1.911184 0.877724 0.628235 0.991698 0.058067 1.723282 0.138422 1.198701 0.866452 1.210404 0.321220 0.058540 0.420700 1.466851 1.211297 1.555352 0.603793 0.342675 0.773740 1.815254 1.579109 1.942762 1.000717 0.737614 1.114407 0.230063 0.006013 0.382590 1.515868 1.246214 1.651494 0.773676 0.514207 0.940214 0.045277)
       )
 
 ;;; 1024 all -------------------------------------------------------------------------------- (32)
-(vector 1024 54.490282136658 (fv 0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 0)
+(vector 1024 54.490282136658 #(0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 0)
 
        ;; from (try-all :all 1024 1025 0.0030465754082342 1.0966230312279) = 39.6408 -- starting point for next
-	33.410875 (fv 0.000000 0.258148 0.589168 0.994411 1.357701 1.683025 0.069074 0.453421 0.797628 1.185816 1.582436 1.938092 0.307108 0.753155 1.054506 1.465084 1.815186 0.241264 0.539120 0.935358 1.344730 1.757342 0.087826 0.560243 0.909870 1.313450 1.644065 0.104593 0.476633 0.874522 1.288326 1.742330 0.203193 0.590704 1.014919 1.387211 1.858546 0.251755 0.613119 1.088831 1.500246 1.956678 0.355205 0.836294 1.268025 1.705878 0.108690 0.586645 1.046489 1.430729 1.904826 0.322624 0.787698 1.277011 1.718145 0.125412 0.585092 1.047194 1.448174 1.936035 0.420374 0.902587 1.333104 1.856924 0.327896 0.858579 1.268399 1.749900 0.253263 0.677442 1.219161 1.714857 0.177166 0.633557 1.169787 1.640415 0.140512 0.621582 1.091651 1.607728 0.104564 0.583756 1.118053 1.652294 0.153513 0.714859 1.194251 1.697620 0.276971 0.782347 1.313258 1.816056 0.294830 0.852045 1.367731 1.912889 0.443181 0.976528 1.489519 0.048647 0.602555 1.171111 1.696946 0.267367 0.808494 1.328988 1.847036 0.429147 0.989539 1.554476 0.119989 0.631320 1.259112 1.823414 0.393440 0.968836 1.504033 0.126560 0.727472 1.269985 1.846490 0.405486 1.041942 1.582030 0.184859 0.803907 1.384064 0.001185 0.565238 1.185485 1.799966 0.388364 0.991281 1.615016 0.210322 0.777733 1.381829 -0.001858 0.601802 1.237656 1.865352 0.533475 1.133402 1.742192 0.420236 1.017900 1.625681 0.265207 0.907047 1.531875 0.165179 0.869961 1.486073 0.135412 0.775460 1.391805 0.032701 0.662061 1.355447 -0.029896 0.673845 1.349264 0.011611 0.729065 1.361114 0.013249 0.666596 1.353522 -0.007100 0.647754 1.363243 0.014621 0.674314 1.412588 0.079158 0.792604 1.491853 0.154571 0.839031 1.536947 0.216086 0.941461 1.657001 0.337150 1.060668 1.746479 0.482706 1.226119 1.946733 0.643851 1.336905 0.013042 0.754294 1.496162 0.232890 0.988475 1.681309 0.448137 1.146402 1.881464 0.552981 1.297819 0.098645 0.832913 1.606715 0.332666 1.035466 1.818940 0.554955 1.343968 0.085509 0.792214 1.558162 0.368596 1.106235 1.895172 0.644633 1.405521 0.165480 0.925201 1.747451 0.473692 1.324609 0.053177 0.850917 1.628773 0.424746 1.258663 0.036370 0.797966 1.564071 0.352485 1.148447 -0.002783 0.797088 1.561969 0.392501 1.189092 -0.019088 0.843646 1.634513 0.453206 1.275296 0.054828 0.916548 1.733451 0.558960 1.389762 0.203638 1.054862 1.897500 0.708809 1.574733 0.423071 1.215266 0.027342 0.899322 1.791858 0.620622 1.492274 0.320845 1.174701 0.051833 0.913009 1.796449 0.665146 1.471491 0.328743 1.193965 0.076732 0.978576 1.811604 0.666355 1.562427 0.437112 1.309285 0.223487 1.113773 0.007247 0.849622 1.753745 0.664875 1.576770 0.455394 1.360922 0.282060 1.150668 0.049047 0.927118 1.816088 0.739465 1.705374 0.642039 1.518132 0.405444 1.340122 0.312878 1.226245 0.139772 1.077510 -0.018816 0.936435 1.857875 0.823248 1.722658 0.669787 1.630579 0.550282 1.483551 0.473002 1.439850 0.374042 1.322563 0.264157 1.241756 0.176119 1.137549 0.127690 1.073354 0.045113 0.987362 -0.009728 0.938618 1.894769 0.930534 1.889094 0.819648 1.834591 0.887814 1.825305 0.751612 1.788639 0.781856 1.799187 0.761171 1.765995 0.797679 1.787953 0.747401 1.771597 0.793400 1.786941 0.805798 1.801885 0.838640 1.863755 0.878598 1.883687 0.921909 -0.012600 0.953576 0.028661 1.053164 0.071002 1.090274 0.114661 1.146587 0.180317 1.267377 0.271949 1.348847 0.373158 1.422115 0.472335 1.601819 0.584885 1.638612 0.781047 1.776789 0.821569 1.888293 0.973656 0.059587 1.102322 0.189225 1.264548 0.323677 1.429081 0.526711 1.594088 0.678108 1.711258 0.856227 1.948913 1.030332 0.171134 1.248971 0.337083 1.456252 0.496413 1.599787 0.743435 1.845411 0.979199 0.069456 1.191262 0.312034 1.362623 0.533174 1.673105 0.803847 1.903793 1.042569 0.150816 1.299359 0.434192 1.602414 0.715947 1.838326 1.018218 0.157768 1.253948 0.407857 1.573899 0.779851 1.904361 1.060636 0.223176 1.356991 0.495392 1.680203 0.833630 0.009780 1.167530 0.315957 1.492554 0.654024 1.856891 1.023069 0.220534 1.440206 0.582264 1.748500 0.970294 0.123193 1.307613 0.556564 1.730012 0.926711 0.113171 1.343735 0.556253 1.746273 0.934223 0.123997 1.384091 0.614003 1.782610 1.015379 0.224947 1.465548 0.684093 1.908440 1.124583 0.358057 1.642940 0.875505 0.064339 1.292308 0.557537 1.782713 1.008802 0.272821 1.511713 0.764842 0.030194 1.274549 0.483182 1.727237 1.016792 0.261776 1.522862 0.796446 0.042895 1.304520 0.619998 1.876690 1.148478 0.428322 1.679455 1.004325 0.300377 1.550416 0.835254 0.173352 1.448704 0.698650 -0.033801 1.272024 0.597214 1.859218 1.200705 0.517289 1.763401 1.106977 0.387334 1.700638 1.066989 0.326662 1.604820 0.962763 0.281408 1.585892 0.935892 0.271981 1.571275 0.916662 0.291788 1.570649 0.930716 0.269192 1.579444 0.969565 0.290012 1.615565 0.990795 0.311402 1.657094 0.994116 0.432873 1.757318 1.056873 0.417532 1.795268 1.185595 0.580763 1.918349 1.267276 0.656331 0.049168 1.401813 0.749992 0.176783 1.556953 0.966950 0.314017 1.682209 1.095751 0.473881 1.821750 1.291249 0.673330 0.057423 1.460592 0.890407 0.273536 1.708953 1.094797 0.541733 1.932285 1.354523 0.747235 0.170227 1.592085 1.015544 0.439882 1.847343 1.288875 0.701630 0.111506 1.621007 1.032815 0.491968 1.882621 1.348432 0.738302 0.277658 1.682524 1.144243 0.582029 0.024994 1.499949 0.920010 0.401061 1.889106 1.372403 0.804920 0.264480 1.729722 1.190624 0.695948 0.173617 1.607894 1.119209 0.625052 0.097713 1.558780 1.044363 0.564907 0.006836 1.535288 0.979484 0.498306 0.016897 1.518916 1.048287 0.505482 0.034846 1.537224 1.038826 0.583381 0.066441 1.582671 1.095360 0.652592 0.165653 1.666405 1.195978 0.749638 0.244931 1.794728 1.302261 0.855517 0.402763 1.919243 1.506054 0.990141 0.529140 0.090161 1.628924 1.232711 0.756188 0.320069 1.866574 1.434290 1.010093 0.586649 0.125842 1.632778 1.248832 0.786217 0.395146 1.983594 1.522744 1.184214 0.725738 0.283806 1.853291 1.411973 1.029503 0.623510 0.190003 1.817951 1.405723 0.998692 0.625566 0.196526 1.824631 1.367636 1.002432 0.638505 0.270362 1.867749 1.456887 1.107903 0.666557 0.365450 1.943932 1.534564 1.164468 0.812181 0.417778 0.109315 1.746468 1.348757 1.018766 0.607455 0.251719 1.902085 1.522432 1.168361 0.826689 0.501772 0.186624 1.829613 1.504989 1.149945 0.826038 0.430311 0.156773 1.805915 1.442117 1.129384 0.789359 0.448838 0.128070 1.860262 1.509251 1.221965 0.897472 0.558148 0.251257 1.927642 1.640546 1.338781 1.036792 0.710068 0.403207 0.109563 1.811625 1.572455 1.213598 0.939472 0.623448 0.409350 0.066783 1.811153 1.483733 1.240294 0.962497 0.677702 0.428980 0.151873 1.860959 1.600097 1.372939 1.073698 0.858833 0.549541 0.358709 0.048040 1.780703 1.499339 1.321408 1.026078 0.811519 0.563815 0.272950 0.101217 1.778901 1.584563 1.357171 1.096114 0.901285 0.691896 0.423414 0.187540 0.012408 1.741503 1.538220 1.375071 1.132353 0.924933 0.712966 0.501385 0.301492 0.064052 1.847152 1.740905 1.454340 1.287762 1.094301 0.900958 0.693746 0.504913 0.275695 0.137705 -0.008305 1.750189 1.585524 1.414196 1.262553 1.013251 0.925388 0.715978 0.553457 0.407454 0.213702 0.088434 1.972600 1.762556 1.622037 1.422263 1.305690 1.086572 0.965745 0.818250 0.679809 0.548833 0.434281 0.274574 0.162711 -0.016721 1.874108 1.711171 1.634760 1.470116 1.433824 1.198309 1.122645 0.994884 0.863715 0.716974 0.651737 0.505774 0.376030 0.305317 0.172395 0.043840 1.956668 1.879928 1.790226 1.657792 1.628858 1.503591 1.453387 1.399691 1.283663 1.175444 1.093586 1.015878 0.867180 0.833771 0.733456 0.751208 0.644973 0.524402 0.519350 0.448915 0.402270 0.223991 0.272710 0.178576 0.121816 0.014901 -0.008456 0.000722 1.948116 1.864026 1.799285 1.772492 1.761973 1.729645 1.648114 1.613644 1.601091 1.593669 1.506616 1.533589 1.464454 1.452519 1.424863 1.443072 1.448035 1.385776 1.402879 1.416069 1.400653 1.366739 1.389222 1.353373 1.316055 1.338545 1.366489 1.376447 1.387658 1.386874 1.383521 1.414816 1.478876 1.431144 1.443821 1.476250 1.453501 1.470783 1.513891 1.537062 1.574083 1.565440 1.667183 1.688265 1.726029 1.812251 1.818225 1.909534 1.893859 1.960853 -1.792261 0.049720 0.115471 0.168584 0.227816 0.312337 0.320765 0.432479 0.460834 0.497553 0.618812 0.667533 0.714551 0.786901 0.873018 0.948666 1.026741 1.049685 1.177075 1.308478 1.411491 1.456896 1.608694 1.673563 1.762266 1.858920 1.974208 0.033942 0.165671 0.243992 0.350794 0.473925 0.585735 0.737599 0.804002 0.963652 1.066959 1.216838 1.312134 1.446813 1.594176 1.676806 1.816313 1.965577 0.113977 0.201793 0.324796 0.449133 0.633633 0.769013 0.895692 1.061461 1.163832 1.372251 1.483231 1.640906 1.802011 -0.030958 0.155600 0.377255 0.507459 0.640650 0.847956 1.016719 1.214303 1.427027 1.567855 1.764212 1.940432 0.043642 0.292095 0.470854 0.648508 0.820657 1.060906 1.222563 1.354202 1.598601 1.737516 -0.028100 0.202713 0.374375 0.584831 0.817057 1.020703 1.253416 1.457146 1.644498 1.875195 0.140343 0.371551 0.579412 0.847798 1.090746 1.313318 1.565314 1.779179 -1.706782 0.198770 0.511497 0.711566 0.950424 1.152889 1.372135 1.700365 1.869801 0.181432 0.440942 0.691235 0.983921 1.186243 1.477055 1.750551 0.035866 0.314930 0.558441 0.801324 1.080423 1.361289 1.616783 1.906440 0.211190 0.450778 0.806041 1.119162 1.408538 1.703492 0.007343 0.317836 0.612325 0.935395 1.211907 1.545362 1.855618 0.133582 0.501303 0.746887 1.072480 1.396132 1.651845 -0.008716 0.328392 0.710493 1.027135 1.346260 1.695106 0.085660)
+	33.410875 #(0.000000 0.258148 0.589168 0.994411 1.357701 1.683025 0.069074 0.453421 0.797628 1.185816 1.582436 1.938092 0.307108 0.753155 1.054506 1.465084 1.815186 0.241264 0.539120 0.935358 1.344730 1.757342 0.087826 0.560243 0.909870 1.313450 1.644065 0.104593 0.476633 0.874522 1.288326 1.742330 0.203193 0.590704 1.014919 1.387211 1.858546 0.251755 0.613119 1.088831 1.500246 1.956678 0.355205 0.836294 1.268025 1.705878 0.108690 0.586645 1.046489 1.430729 1.904826 0.322624 0.787698 1.277011 1.718145 0.125412 0.585092 1.047194 1.448174 1.936035 0.420374 0.902587 1.333104 1.856924 0.327896 0.858579 1.268399 1.749900 0.253263 0.677442 1.219161 1.714857 0.177166 0.633557 1.169787 1.640415 0.140512 0.621582 1.091651 1.607728 0.104564 0.583756 1.118053 1.652294 0.153513 0.714859 1.194251 1.697620 0.276971 0.782347 1.313258 1.816056 0.294830 0.852045 1.367731 1.912889 0.443181 0.976528 1.489519 0.048647 0.602555 1.171111 1.696946 0.267367 0.808494 1.328988 1.847036 0.429147 0.989539 1.554476 0.119989 0.631320 1.259112 1.823414 0.393440 0.968836 1.504033 0.126560 0.727472 1.269985 1.846490 0.405486 1.041942 1.582030 0.184859 0.803907 1.384064 0.001185 0.565238 1.185485 1.799966 0.388364 0.991281 1.615016 0.210322 0.777733 1.381829 -0.001858 0.601802 1.237656 1.865352 0.533475 1.133402 1.742192 0.420236 1.017900 1.625681 0.265207 0.907047 1.531875 0.165179 0.869961 1.486073 0.135412 0.775460 1.391805 0.032701 0.662061 1.355447 -0.029896 0.673845 1.349264 0.011611 0.729065 1.361114 0.013249 0.666596 1.353522 -0.007100 0.647754 1.363243 0.014621 0.674314 1.412588 0.079158 0.792604 1.491853 0.154571 0.839031 1.536947 0.216086 0.941461 1.657001 0.337150 1.060668 1.746479 0.482706 1.226119 1.946733 0.643851 1.336905 0.013042 0.754294 1.496162 0.232890 0.988475 1.681309 0.448137 1.146402 1.881464 0.552981 1.297819 0.098645 0.832913 1.606715 0.332666 1.035466 1.818940 0.554955 1.343968 0.085509 0.792214 1.558162 0.368596 1.106235 1.895172 0.644633 1.405521 0.165480 0.925201 1.747451 0.473692 1.324609 0.053177 0.850917 1.628773 0.424746 1.258663 0.036370 0.797966 1.564071 0.352485 1.148447 -0.002783 0.797088 1.561969 0.392501 1.189092 -0.019088 0.843646 1.634513 0.453206 1.275296 0.054828 0.916548 1.733451 0.558960 1.389762 0.203638 1.054862 1.897500 0.708809 1.574733 0.423071 1.215266 0.027342 0.899322 1.791858 0.620622 1.492274 0.320845 1.174701 0.051833 0.913009 1.796449 0.665146 1.471491 0.328743 1.193965 0.076732 0.978576 1.811604 0.666355 1.562427 0.437112 1.309285 0.223487 1.113773 0.007247 0.849622 1.753745 0.664875 1.576770 0.455394 1.360922 0.282060 1.150668 0.049047 0.927118 1.816088 0.739465 1.705374 0.642039 1.518132 0.405444 1.340122 0.312878 1.226245 0.139772 1.077510 -0.018816 0.936435 1.857875 0.823248 1.722658 0.669787 1.630579 0.550282 1.483551 0.473002 1.439850 0.374042 1.322563 0.264157 1.241756 0.176119 1.137549 0.127690 1.073354 0.045113 0.987362 -0.009728 0.938618 1.894769 0.930534 1.889094 0.819648 1.834591 0.887814 1.825305 0.751612 1.788639 0.781856 1.799187 0.761171 1.765995 0.797679 1.787953 0.747401 1.771597 0.793400 1.786941 0.805798 1.801885 0.838640 1.863755 0.878598 1.883687 0.921909 -0.012600 0.953576 0.028661 1.053164 0.071002 1.090274 0.114661 1.146587 0.180317 1.267377 0.271949 1.348847 0.373158 1.422115 0.472335 1.601819 0.584885 1.638612 0.781047 1.776789 0.821569 1.888293 0.973656 0.059587 1.102322 0.189225 1.264548 0.323677 1.429081 0.526711 1.594088 0.678108 1.711258 0.856227 1.948913 1.030332 0.171134 1.248971 0.337083 1.456252 0.496413 1.599787 0.743435 1.845411 0.979199 0.069456 1.191262 0.312034 1.362623 0.533174 1.673105 0.803847 1.903793 1.042569 0.150816 1.299359 0.434192 1.602414 0.715947 1.838326 1.018218 0.157768 1.253948 0.407857 1.573899 0.779851 1.904361 1.060636 0.223176 1.356991 0.495392 1.680203 0.833630 0.009780 1.167530 0.315957 1.492554 0.654024 1.856891 1.023069 0.220534 1.440206 0.582264 1.748500 0.970294 0.123193 1.307613 0.556564 1.730012 0.926711 0.113171 1.343735 0.556253 1.746273 0.934223 0.123997 1.384091 0.614003 1.782610 1.015379 0.224947 1.465548 0.684093 1.908440 1.124583 0.358057 1.642940 0.875505 0.064339 1.292308 0.557537 1.782713 1.008802 0.272821 1.511713 0.764842 0.030194 1.274549 0.483182 1.727237 1.016792 0.261776 1.522862 0.796446 0.042895 1.304520 0.619998 1.876690 1.148478 0.428322 1.679455 1.004325 0.300377 1.550416 0.835254 0.173352 1.448704 0.698650 -0.033801 1.272024 0.597214 1.859218 1.200705 0.517289 1.763401 1.106977 0.387334 1.700638 1.066989 0.326662 1.604820 0.962763 0.281408 1.585892 0.935892 0.271981 1.571275 0.916662 0.291788 1.570649 0.930716 0.269192 1.579444 0.969565 0.290012 1.615565 0.990795 0.311402 1.657094 0.994116 0.432873 1.757318 1.056873 0.417532 1.795268 1.185595 0.580763 1.918349 1.267276 0.656331 0.049168 1.401813 0.749992 0.176783 1.556953 0.966950 0.314017 1.682209 1.095751 0.473881 1.821750 1.291249 0.673330 0.057423 1.460592 0.890407 0.273536 1.708953 1.094797 0.541733 1.932285 1.354523 0.747235 0.170227 1.592085 1.015544 0.439882 1.847343 1.288875 0.701630 0.111506 1.621007 1.032815 0.491968 1.882621 1.348432 0.738302 0.277658 1.682524 1.144243 0.582029 0.024994 1.499949 0.920010 0.401061 1.889106 1.372403 0.804920 0.264480 1.729722 1.190624 0.695948 0.173617 1.607894 1.119209 0.625052 0.097713 1.558780 1.044363 0.564907 0.006836 1.535288 0.979484 0.498306 0.016897 1.518916 1.048287 0.505482 0.034846 1.537224 1.038826 0.583381 0.066441 1.582671 1.095360 0.652592 0.165653 1.666405 1.195978 0.749638 0.244931 1.794728 1.302261 0.855517 0.402763 1.919243 1.506054 0.990141 0.529140 0.090161 1.628924 1.232711 0.756188 0.320069 1.866574 1.434290 1.010093 0.586649 0.125842 1.632778 1.248832 0.786217 0.395146 1.983594 1.522744 1.184214 0.725738 0.283806 1.853291 1.411973 1.029503 0.623510 0.190003 1.817951 1.405723 0.998692 0.625566 0.196526 1.824631 1.367636 1.002432 0.638505 0.270362 1.867749 1.456887 1.107903 0.666557 0.365450 1.943932 1.534564 1.164468 0.812181 0.417778 0.109315 1.746468 1.348757 1.018766 0.607455 0.251719 1.902085 1.522432 1.168361 0.826689 0.501772 0.186624 1.829613 1.504989 1.149945 0.826038 0.430311 0.156773 1.805915 1.442117 1.129384 0.789359 0.448838 0.128070 1.860262 1.509251 1.221965 0.897472 0.558148 0.251257 1.927642 1.640546 1.338781 1.036792 0.710068 0.403207 0.109563 1.811625 1.572455 1.213598 0.939472 0.623448 0.409350 0.066783 1.811153 1.483733 1.240294 0.962497 0.677702 0.428980 0.151873 1.860959 1.600097 1.372939 1.073698 0.858833 0.549541 0.358709 0.048040 1.780703 1.499339 1.321408 1.026078 0.811519 0.563815 0.272950 0.101217 1.778901 1.584563 1.357171 1.096114 0.901285 0.691896 0.423414 0.187540 0.012408 1.741503 1.538220 1.375071 1.132353 0.924933 0.712966 0.501385 0.301492 0.064052 1.847152 1.740905 1.454340 1.287762 1.094301 0.900958 0.693746 0.504913 0.275695 0.137705 -0.008305 1.750189 1.585524 1.414196 1.262553 1.013251 0.925388 0.715978 0.553457 0.407454 0.213702 0.088434 1.972600 1.762556 1.622037 1.422263 1.305690 1.086572 0.965745 0.818250 0.679809 0.548833 0.434281 0.274574 0.162711 -0.016721 1.874108 1.711171 1.634760 1.470116 1.433824 1.198309 1.122645 0.994884 0.863715 0.716974 0.651737 0.505774 0.376030 0.305317 0.172395 0.043840 1.956668 1.879928 1.790226 1.657792 1.628858 1.503591 1.453387 1.399691 1.283663 1.175444 1.093586 1.015878 0.867180 0.833771 0.733456 0.751208 0.644973 0.524402 0.519350 0.448915 0.402270 0.223991 0.272710 0.178576 0.121816 0.014901 -0.008456 0.000722 1.948116 1.864026 1.799285 1.772492 1.761973 1.729645 1.648114 1.613644 1.601091 1.593669 1.506616 1.533589 1.464454 1.452519 1.424863 1.443072 1.448035 1.385776 1.402879 1.416069 1.400653 1.366739 1.389222 1.353373 1.316055 1.338545 1.366489 1.376447 1.387658 1.386874 1.383521 1.414816 1.478876 1.431144 1.443821 1.476250 1.453501 1.470783 1.513891 1.537062 1.574083 1.565440 1.667183 1.688265 1.726029 1.812251 1.818225 1.909534 1.893859 1.960853 -1.792261 0.049720 0.115471 0.168584 0.227816 0.312337 0.320765 0.432479 0.460834 0.497553 0.618812 0.667533 0.714551 0.786901 0.873018 0.948666 1.026741 1.049685 1.177075 1.308478 1.411491 1.456896 1.608694 1.673563 1.762266 1.858920 1.974208 0.033942 0.165671 0.243992 0.350794 0.473925 0.585735 0.737599 0.804002 0.963652 1.066959 1.216838 1.312134 1.446813 1.594176 1.676806 1.816313 1.965577 0.113977 0.201793 0.324796 0.449133 0.633633 0.769013 0.895692 1.061461 1.163832 1.372251 1.483231 1.640906 1.802011 -0.030958 0.155600 0.377255 0.507459 0.640650 0.847956 1.016719 1.214303 1.427027 1.567855 1.764212 1.940432 0.043642 0.292095 0.470854 0.648508 0.820657 1.060906 1.222563 1.354202 1.598601 1.737516 -0.028100 0.202713 0.374375 0.584831 0.817057 1.020703 1.253416 1.457146 1.644498 1.875195 0.140343 0.371551 0.579412 0.847798 1.090746 1.313318 1.565314 1.779179 -1.706782 0.198770 0.511497 0.711566 0.950424 1.152889 1.372135 1.700365 1.869801 0.181432 0.440942 0.691235 0.983921 1.186243 1.477055 1.750551 0.035866 0.314930 0.558441 0.801324 1.080423 1.361289 1.616783 1.906440 0.211190 0.450778 0.806041 1.119162 1.408538 1.703492 0.007343 0.317836 0.612325 0.935395 1.211907 1.545362 1.855618 0.133582 0.501303 0.746887 1.072480 1.396132 1.651845 -0.008716 0.328392 0.710493 1.027135 1.346260 1.695106 0.085660)
        )
 
 ;;; 2048 all -------------------------------------------------------------------------------- (45.254)
-(vector 2048 89.570060996356 (fv 0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 1 0)
+(vector 2048 89.570060996356 #(0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 1 0)
 
        ;; from (try-all :all 2048 2049 1.0476749041086 0.34832901677121) = 55.7655 start for next
-	50.205430 (fv 0.000000 0.435841 1.590025 1.333909 1.800782 0.936896 0.640772 1.054371 0.276465 0.022204 0.420173 1.637156 1.317845 1.822696 0.936038 0.684182 1.165979 0.256451 0.034146 0.530882 1.581638 1.361041 1.855482 0.981545 0.775560 1.219427 0.308786 0.074234 0.592840 1.697019 1.456943 1.894603 1.053571 0.870395 1.260578 0.415941 0.216750 0.664998 1.768556 1.530284 0.017758 1.155044 0.880167 1.399032 0.522236 0.296590 0.788933 1.883168 1.702734 0.130840 1.241124 1.015672 1.506862 0.618786 0.413989 0.882191 0.040812 1.770208 0.266965 1.415350 1.179212 1.617452 0.837073 0.560382 1.039153 0.189709 0.008982 0.428192 1.582302 1.375969 1.775847 1.001684 0.722251 1.221935 0.371046 0.124429 0.658497 1.801753 1.557144 0.055429 1.167445 0.965998 1.463160 0.590632 0.421360 0.870506 1.979716 1.785918 0.217687 1.423155 1.229053 1.677639 0.820116 0.622279 1.118801 0.227079 0.047207 0.530002 1.646116 1.495215 1.938348 1.092314 0.858748 1.368355 0.507435 0.300967 0.831830 1.945902 1.701826 0.241789 1.346179 1.176339 1.698123 0.782522 0.593683 1.099893 0.220752 0.071121 0.492713 1.698729 1.537108 0.003593 1.112312 0.923924 1.420945 0.591862 0.368816 0.876237 0.024325 1.841665 0.349974 1.496560 1.313963 1.781383 0.909134 0.778966 1.228602 0.360482 0.169252 0.720535 1.827819 1.642014 0.151850 1.298858 1.132119 1.583582 0.775812 0.613883 1.034899 0.197663 0.038469 0.550873 1.681101 1.473296 0.002756 1.168244 0.976999 1.468806 0.641511 0.472463 0.917530 0.115543 1.932746 0.461045 1.615860 1.421110 1.916591 1.100326 0.915266 1.450442 0.570898 0.409829 0.895347 0.064350 1.886870 0.368337 1.508665 1.402167 1.875808 1.089074 0.915502 1.348721 0.569668 0.334905 0.845366 0.062665 1.931036 0.423161 1.570481 1.376249 1.892683 1.058012 0.892579 1.382946 0.530863 0.389584 0.911546 0.066065 1.944943 0.431750 1.524837 1.397825 1.916894 1.103011 0.925384 1.421598 0.609580 0.450668 0.957299 0.103861 0.017005 0.489835 1.632099 1.491083 0.040341 1.187478 1.048136 1.580660 0.750188 0.526672 1.095701 0.287178 0.103106 0.633176 1.805673 1.635672 0.181746 1.340109 1.155467 1.751104 0.863186 0.725371 1.256183 0.417821 0.247907 0.731305 1.971687 1.812887 0.362885 1.544484 1.346445 1.843347 1.064098 0.903511 1.425141 0.615217 0.470411 0.992301 0.186866 0.055090 0.515270 1.737073 1.613907 0.129315 1.316755 1.145516 1.689159 0.887610 0.688556 1.250192 0.483418 0.277491 0.831631 -0.015312 1.878418 0.427015 1.584482 1.443552 1.963597 1.131045 1.053018 1.569404 0.748022 0.602632 1.105250 0.310334 0.191836 0.693611 1.868001 1.741296 0.244951 1.472171 1.322184 1.879876 1.046328 0.929137 1.487162 0.690252 0.536393 1.028834 0.241099 0.137310 0.681359 1.872418 1.703102 0.276974 1.417116 1.322284 1.892467 1.055982 0.931972 1.453120 0.680784 0.569223 1.072473 0.292525 0.179779 0.702639 1.907779 1.763892 0.296945 1.502504 1.403596 1.895642 1.078898 1.020313 1.582828 0.728374 0.631181 1.177822 0.386973 0.229679 0.763366 -0.020603 1.884762 0.449056 1.615978 1.445670 0.076665 1.319406 1.139316 1.687368 0.868342 0.754364 1.316715 0.562902 0.373746 0.962616 0.143265 0.060537 0.597136 1.794156 1.674512 0.244828 1.423610 1.307469 1.861513 1.128650 1.011922 1.509496 0.793005 0.646450 1.183857 0.401441 0.274501 0.848007 0.152648 1.938838 0.515464 1.751327 1.585203 0.128719 1.344067 1.257980 1.813937 1.034672 0.961830 1.482792 0.710147 0.627952 1.158173 0.396545 0.308224 0.839308 0.084640 1.949979 0.467374 1.766014 1.652675 0.156038 1.404099 1.323696 1.916673 1.129204 1.007203 1.565692 0.792625 0.676519 1.246538 0.476588 0.355046 0.897504 0.154095 0.032713 0.616322 1.822050 1.713319 0.339487 1.549436 1.415806 -0.029700 1.251496 1.105739 1.706293 0.927616 0.827632 1.429701 0.652859 0.511881 1.153658 0.364245 0.227734 0.828965 0.039610 1.955264 0.489121 1.779904 1.680272 0.264792 1.492297 1.379563 1.958496 1.182126 1.073866 1.647475 0.887025 0.759908 1.352711 0.598690 0.504193 1.064292 0.364855 0.256068 0.821048 0.072182 1.978457 0.553596 1.801077 1.686861 0.245374 1.501095 1.463244 0.048757 1.270724 1.195638 1.795159 0.991907 0.929823 1.498115 0.775504 0.635637 1.221022 0.502033 0.392861 1.015769 0.238715 0.139376 0.772010 -0.001203 1.966386 0.502478 1.754699 1.653913 0.238134 1.455433 1.421962 0.005716 1.237219 1.195953 1.785244 1.034444 0.946973 1.522226 0.772000 0.724085 1.279219 0.566698 0.471639 1.081117 0.318698 0.216243 0.869842 0.093780 0.035928 0.580682 1.866189 1.774688 0.335441 1.640447 1.567092 0.150911 1.385331 1.332318 1.956070 1.197687 1.107245 1.722318 0.935373 0.939612 1.481560 0.775194 0.705562 1.294862 0.556921 0.470799 1.085453 0.374791 0.241371 0.872640 0.127624 0.032808 0.648015 1.958410 1.857207 0.450764 1.687826 1.673077 0.276455 1.524057 1.465118 0.092578 1.331259 1.262485 1.865029 1.129716 1.070468 1.691226 0.954621 0.907368 1.547298 0.800536 0.754442 1.318798 0.655491 0.523948 1.167921 0.458202 0.394916 0.974268 0.209530 0.172260 0.769859 0.045732 -0.027787 0.639418 1.895968 1.831369 0.455565 1.755348 1.702164 0.323430 1.549605 1.507505 0.099809 1.366067 1.343189 1.936579 1.213931 1.207459 1.780054 1.037769 1.005956 1.688129 0.918293 0.876995 1.491983 0.755576 0.731170 1.306379 0.613008 0.560202 1.151819 0.453386 0.401075 1.052899 0.336562 0.307092 0.918155 0.200321 0.133534 0.755336 0.041372 -0.036174 0.643495 1.904976 1.892087 0.486352 1.795593 1.721679 0.369291 1.607795 1.576284 0.213583 1.494045 1.463382 0.080370 1.381980 1.326067 1.977786 1.247994 1.213791 1.878128 1.145632 1.125599 1.744040 1.003768 0.975298 1.655044 0.946812 0.902005 1.481429 0.838355 0.806420 1.384034 0.676425 0.687951 1.289459 0.584933 0.544028 1.143652 0.530696 0.446531 1.060469 0.381371 0.383221 0.985636 0.284345 0.259040 0.894751 0.181035 0.155719 0.802236 0.121624 0.058494 0.696055 -0.033257 -0.009001 0.631717 1.933686 1.907503 0.526027 1.815256 1.827541 0.422361 1.751874 1.770954 0.332622 1.681580 1.649270 0.311710 1.607800 1.583524 0.245744 1.540534 1.499654 0.148625 1.457370 1.373290 0.075021 1.394843 1.347459 -0.005752 1.303682 1.317955 1.926281 1.233373 1.253750 1.868046 1.183593 1.200479 1.828734 1.154318 1.138091 1.739705 1.063036 1.026015 1.760005 1.052209 0.997647 1.670582 1.013683 0.946378 1.618597 0.957911 0.901792 1.567409 0.889999 0.912144 1.559979 0.891151 0.880294 1.500532 0.874896 0.781828 1.470208 0.813331 0.808539 1.418100 0.746813 0.751008 1.419231 0.717221 0.726739 1.410727 0.731944 0.676864 1.409264 0.642315 0.664365 1.364908 0.686123 0.651596 1.257741 0.652814 0.617542 1.306260 0.604389 0.592953 1.273395 0.605575 0.615524 1.252456 0.600454 0.596734 1.273260 0.596265 0.607909 1.252575 0.565927 0.570637 1.242139 0.541616 0.579959 1.248588 0.553529 0.579117 1.248565 0.574621 0.589047 1.309100 0.589822 0.602557 1.287938 0.578939 0.630286 1.280033 0.567074 0.622654 1.240139 0.594827 0.651875 1.291451 0.614140 0.689991 1.288405 0.659401 0.658369 1.319440 0.687094 0.674513 1.346708 0.688976 0.753907 1.375336 0.762674 0.739012 1.414601 0.787609 0.775338 1.420075 0.806180 0.800733 1.486208 0.845147 0.821967 1.516891 0.910404 0.867286 1.542889 0.887043 0.903213 1.634817 0.952223 0.964661 1.682581 0.979874 1.017143 1.672617 0.994877 1.107400 1.788990 1.110961 1.073654 1.789664 1.138909 1.162757 1.815050 1.225817 1.210897 1.926791 1.302244 1.265372 -0.026931 1.330408 1.387907 0.023026 1.451566 1.422994 0.130173 1.484590 1.521586 0.183712 1.551561 1.583662 0.282642 1.591114 1.655077 0.304500 1.684251 1.694195 0.429792 1.769650 1.808357 0.487540 1.818396 1.853851 0.530630 1.955039 -0.119812 0.676604 0.023437 0.063422 0.780580 0.147218 0.198738 0.872448 0.220227 0.252425 0.986952 0.295255 0.393016 1.036257 0.448018 0.427099 1.156162 0.552881 0.530707 1.267911 0.635862 0.680452 1.365591 0.735775 0.797614 1.468054 0.829271 0.858249 1.597356 0.963427 0.979328 1.664777 1.072381 1.131497 1.848461 1.213953 1.199832 1.960555 1.304633 1.318228 0.076788 1.452570 1.479484 0.164500 1.572776 1.636533 0.356533 1.684649 1.726841 0.451773 1.812513 1.874046 0.543934 1.930798 1.972699 0.744026 0.063643 0.159361 0.823095 0.219497 0.299864 0.954777 0.358746 0.414413 1.115727 0.519760 0.542990 1.311137 0.651203 0.710761 1.454950 0.772652 0.872236 1.543810 0.968311 1.006341 1.723434 1.088664 1.231621 1.884135 1.281249 1.347331 0.036078 1.419412 1.446527 0.204240 1.613579 1.679100 0.340114 1.736107 1.840278 0.571743 1.943781 0.023224 0.697394 0.138951 0.151958 0.882054 0.266019 0.342269 1.098555 0.488882 0.520277 1.270261 0.682615 0.682051 1.423350 0.809398 0.923761 1.649263 1.068684 1.091760 1.803833 1.223733 1.263221 0.017517 1.421547 1.466248 0.224731 1.593966 1.649396 0.409457 1.781845 1.845835 0.622136 -0.009609 0.077538 0.792485 0.188358 0.288489 1.013605 0.431185 0.495730 1.211960 0.604816 0.676648 1.456905 0.844139 0.905285 1.630909 1.032426 1.128266 1.853145 1.262038 1.300211 0.056675 1.467598 1.530064 0.291293 1.687552 1.755257 0.468236 1.938565 -0.011915 0.736090 0.173114 0.213450 0.994156 0.364997 0.457458 1.187825 0.639595 0.686838 1.462796 0.854330 0.903639 1.704943 1.071752 1.179798 1.898999 1.338040 1.405342 0.147449 1.639838 1.676028 0.379818 1.815921 1.886234 0.634529 0.079207 0.176862 0.921077 0.270512 0.406031 1.127890 0.593242 0.648029 1.403498 0.841450 0.919674 1.687653 1.135150 1.209027 1.975682 1.393578 1.449497 0.153208 1.639075 1.709636 0.452445 1.874711 0.022432 0.714196 0.206678 0.205405 0.997873 0.413099 0.533511 1.297878 0.703835 0.801048 1.536439 0.962427 1.059551 1.860285 1.319040 1.383017 0.135002 1.534723 1.648532 0.422108 1.844915 1.956976 0.704238 0.117947 0.249102 1.002403 0.473197 0.500625 1.262507 0.728698 0.830758 1.550450 1.042097 1.137051 1.913071 1.319323 1.401617 0.205540 1.634001 1.717675 0.487628 1.929708 0.032724 0.779967 0.225924 0.383724 1.109069 0.562827 0.649848 1.460986 0.840877 0.966680 1.747337 1.203625 1.315331 0.088823 1.496248 1.629011 0.431806 1.822514 1.942005 0.728686 0.158211 0.297041 1.029719 0.522309 0.626677 1.357536 0.800226 0.986575 1.730215 1.163174 1.231016 0.034610 1.521930 1.589379 0.414306 1.841215 1.927232 0.696438 0.186996 0.290301 1.088563 0.519977 0.648216 1.417722 0.845987 1.012127 1.780754 1.219818 1.368384 0.133468 1.552692 1.697685 0.489975 1.948146 0.025352 0.835325 0.308902 0.425789 1.189446 0.647629 0.780553 1.534982 0.953650 1.144994 1.982784 1.383491 1.490496 0.239036 1.733469 1.907366 0.658487 0.109199 0.230682 1.052834 0.517391 0.608626 1.405419 0.866368 0.974067 1.812201 1.250521 1.390848 0.148194 1.623658 1.769017 0.559808 0.019981 0.093630 0.962157 0.385643 0.557254 1.332258 0.775494 0.936936 1.712764 1.224080 1.333572 0.130012 1.553976 1.733749 0.509265 0.048320 0.120671 0.899273 0.371543 0.562577 1.333084 0.820342 0.953357 1.769820 1.220433 1.358228 0.127107 1.579894 1.763318 0.586085 0.056061 0.168973 0.987419 0.437016 0.613035 1.379444 0.892129 1.014623 1.821313 1.267297 1.418105 0.246254 1.755013 1.842641 0.624100 0.156213 0.268757 1.103436 0.559665 0.758240 1.532549 1.036259 1.153852 1.946220 1.432069 1.593807 0.418226 1.855454 0.035725 0.832622 0.314591 0.476792 1.257265 0.773297 0.905003 1.712302 1.200651 1.350735 0.149477 1.642212 1.802991 0.603766 0.109674 0.272495 1.104655 0.552848 0.662208 1.508113 0.969884 1.222187 1.957345 1.483565 1.659081 0.418223 1.951257 0.147291 0.901050 0.444550 0.555960 1.394491 0.833321 1.009746 1.850858 1.330172 1.483655 0.313675 1.811415 -0.000236 0.794841 0.301262 0.490013 1.322742 0.745660 0.925074 1.784514 1.271636 1.375387 0.219194 1.716991 1.919514 0.731082 0.283071 0.394652 1.209183 0.703971 0.883949 1.723347 1.226581 1.417977 0.169502 1.728678 1.897967 0.751809 0.206641 0.351287 1.193966 0.679687 0.833001 1.679398 1.202836 1.369136 0.221180 1.698828 1.890944 0.736466 0.259414 0.428156 1.246968 0.715069 0.887462 1.766067 1.234005 1.366933 0.267319 1.785542 1.921115 0.782951 0.288312 0.432145 1.324227 0.812529 0.987537 1.849387 1.334204 1.550652 0.384742 1.887557 0.032221 0.888154 0.427508 0.583364 1.373198 0.935366 1.078859 1.962687 1.425781 1.648177 0.492137 0.010583 0.174236 1.065860 0.556317 0.711714 1.613293 1.102246 1.261519 0.161159 1.621868 1.845116 0.621649 0.151344 0.408750 1.266111 0.733611 0.981402 1.781143 1.313677 1.478251 0.389746 1.864238 0.058118 0.877935 0.412750 0.590919 1.454967 0.995341 1.160158 0.052979 1.551988 1.735067 0.575701 0.113408 0.309369 1.203349 0.691004 0.901203 1.755113 1.285355 1.469400 0.316179 1.835734 0.063761 0.937353 0.419020 0.615917 1.461648 1.030447 1.209615 0.096211 1.589011 1.815774 0.626322 0.175182 0.402805 1.254295 0.809294 0.981937 1.881195 1.349170 1.565323 0.444505 1.905301 0.141863 1.013394 0.599160 0.768860 1.639481 1.173121 1.378015 0.207298 1.781004 -0.005481 0.841053 0.359648 0.584036 1.466213 1.014043 1.198019 0.047150 1.611088 1.803839 0.693503 0.251733 0.378659 1.292988 0.846097 1.025550 1.895967 1.457063 1.643561 0.544671 0.078331 0.286831 1.144981 0.701288 0.911563 1.800290 1.360060 1.533921 0.464563 1.970167 0.187072 1.028247 0.574824 0.822213 1.719286 1.250441 1.465682 0.304625 1.883042 0.150589 0.966248 0.508969 0.740351 1.592154 1.164985 1.396695 0.251798 1.797977 0.055983 0.893992 0.460716 0.676688 1.575389 1.096148 1.354511 0.224581 1.739098 0.014063 0.882137 0.432033 0.697360 1.575477 1.060614 1.342466 0.184638 1.767539 1.986710 0.880248 0.447116 0.686853 1.534981 1.149302 1.322036 0.217110 1.750455 -0.028293 0.927727 0.463276 0.699948 1.574079 1.122276 1.344937 0.239499 1.798792 0.041111 0.901108 0.502016 0.734564 1.619516 1.235793 1.392027 0.313428 1.875178 0.114986 0.986008 0.554567 0.774672 1.670995 1.277666 1.490688 0.422851 1.938664 0.192686 1.081363 0.636062 0.878896 1.801674 1.320125 1.610705 0.510337 0.119965 0.288198 1.229365 0.736391 0.974652 1.921844 1.522756 1.760341 0.627784 0.195364 0.424026 1.350173 0.914137 1.149417 0.055182 1.641041 1.885754 0.774177 0.341638 0.609082 1.476268 1.075234 1.336728 0.232957 1.816024 0.059891 0.977615 0.583895 0.818725 1.691585 1.233407 1.522719 0.426347 -0.011898 0.222340 1.211913 0.738174 1.037566 1.889523 1.491590 1.769255 0.654387 0.200388 0.477881 1.388587 0.995612 1.263033 0.151400 1.737244 1.994853 0.888393 0.448480 0.715631 1.639779 1.266990 1.475739 0.402022 0.001228 0.277508 1.193996 0.717293 1.022382 1.945731 1.528880 1.769925 0.676796 0.308016 0.544866 1.452245 1.056044 1.374139 0.251435 1.839100 0.082677 1.030130 0.593594 0.869317 1.751919 1.380599 1.660743 0.544875 0.134766 0.419262 1.359116 0.926374 1.200425 0.154745 1.776244 0.028854 0.907934 0.517864 0.744877 1.733023 1.291145 1.589046 0.524515 0.143068 0.380331 1.270800 0.877957 1.158416 0.095496 1.721531 1.962074 0.894065 0.487382 0.748783 1.673707 1.270037 1.572661 0.487139 0.118310 0.353424 1.330880 0.967912 1.217091 0.192030 1.746726 -0.008521 0.972139 0.569214 0.836629 1.792874 1.387645 1.624565 0.632818 0.169837 0.496488 1.391429 1.038248 1.276246 0.204951 1.839860 0.124740 1.060001 0.657481 0.979959 1.891365 1.498561 1.801028 0.717400 0.315222 0.620564 1.593479 1.178952 1.451115 0.404598 -0.005528 0.313885 1.242306 0.875831 1.127959 0.103028 1.705375 0.012699 0.926034 0.577294 0.846113 1.771401 1.375194 1.686187 0.652973 0.275173 0.528957 1.475197 1.099695 1.450803 0.394864 0.006041 0.319714 1.201074 0.888068 1.130526 0.060555 1.730127 0.003973 0.970567 0.557199 0.876983 1.840537 1.453875 1.730436 0.638584 0.293627 0.612145 1.531639 1.167803 1.518469 0.454591 0.106958 0.368985 1.332865 0.982631 1.260304 0.220211 1.799722 0.130226 1.090090 0.701451 1.045234 1.992618 1.626535 1.912666 0.832021 0.542880 0.767909 1.778263 1.387748 1.677161 0.622205 0.269109 0.574635 1.558243 1.182994 1.450696 0.491452 0.103672 0.400119 1.344518 0.981223 1.258072 0.251476 1.912489 0.232691 1.206418 0.805953 1.119358 0.155055 1.751168 0.097851 1.025890 0.706010 0.960410 1.942316 1.626433 1.884328 0.851879 0.504554 0.821261 1.761778 1.407905 1.711340 0.647584 0.347790 0.647152 1.648746 1.244924 1.563845 0.588763 0.158974 0.503437 1.536265 1.121954 1.454121 0.423763 0.114434 0.400278 1.338609 0.993706 1.358821 0.328396 1.956735 0.261393 1.267373 0.955613 1.253328 0.224608 1.856628 0.199058 1.200999 0.819656 1.137486 0.135404 1.793163 0.131100 1.078350 0.741351 1.039393 0.045261 1.699515 0.034737 0.942610 0.684756 0.956308 1.947394 1.633657 1.953278 0.904052 0.580961 0.913879 1.941411 1.519052 1.840622 0.910119 0.527420 0.861293 1.849422 1.475381 1.830601 0.799091 0.501857 0.787766 1.823294 1.467731 1.806424 0.805269 0.474582 0.781946 1.776540 1.418537 1.762883 0.746070 0.408613 0.726389 1.745127 1.428283 1.754540 0.728069 0.441878 0.746600 1.796204 1.449997 1.776429 0.722670 0.436401 0.744719 1.778994 1.480572 1.763916 0.815336 0.489032 0.764749 1.811814 1.487438 1.838366 0.811299 0.501320 0.823771 1.854833 1.502868 1.856794 0.827719 0.514633 0.852477 1.882215 1.488580 1.848649 0.877645 0.587786 0.926814 1.877153 1.575992 1.906019 0.886676 0.595984 0.881146 1.940054 1.606287 1.971408 0.988642 0.638192 0.966941 -0.034374 1.681077 0.038373 1.056408 0.657252 1.076689 0.087476 1.760605 0.121715 1.145163 0.789531 1.173448 0.151127 1.823534 0.220276 1.230586 0.960040 1.285670 0.295263 1.934113 0.314088 1.332202 1.053238 1.375323 0.392866 0.077220 0.422213 1.491168 1.127803 1.497376 0.554172 0.257811 0.586449 1.609325 1.351152 1.703027 0.627074 0.353088 0.709213 1.720064 1.442884 1.782680 0.814896 0.553387 0.852715 1.895941 1.554321 1.962098 1.013833 0.655921 0.994618 0.054934 1.764435 0.062870 1.163046 0.871528 1.257156 0.223435 1.905372 0.338569 1.306277 0.999931 1.337253 0.417104 0.138892 0.412245 1.511698 1.256056 1.543124 0.590173 0.339601 0.650455 1.683826 1.408811 1.811474 0.828456 0.526423 0.859787 1.896452 1.608591 1.948197 0.987654 0.706760 1.085696 0.133347 1.825976 0.258446 1.274079 0.944752 1.296320 0.326958 0.024339 0.456524 1.468787 1.203458 1.509480 0.615416 0.269963 0.688191 1.723537 1.390152 1.854907 0.886894 0.581734 0.936911 -0.009509 1.698888 0.060556 1.142012 0.859242 1.247280 0.274968 1.947669 0.305504 1.435482 1.121364 1.480498 0.522708 0.241328 0.603319 1.705040 1.426237 1.816412 0.844853 0.559458 0.950007 -0.864208 1.718587 0.075844 1.114880 0.838172 1.221123 0.266618 0.058618 0.363782 1.417961 1.157081 1.554190 0.607338 0.348635 0.729484 1.765027 1.524808 1.887413 0.942863 0.666378 1.035608 0.084672 1.857745 0.236807 1.282523 1.041036 1.443839 0.463754 0.200441 0.623163 1.679375 1.373487 1.771844 0.850867 0.606126 0.995693 0.033893 1.821449 0.146087 1.202112 0.961147 1.370514 0.434572 0.169771 0.556607 1.637108 1.396269 1.729452 0.842038 0.609721 0.932603 0.015326)
+	50.205430 #(0.000000 0.435841 1.590025 1.333909 1.800782 0.936896 0.640772 1.054371 0.276465 0.022204 0.420173 1.637156 1.317845 1.822696 0.936038 0.684182 1.165979 0.256451 0.034146 0.530882 1.581638 1.361041 1.855482 0.981545 0.775560 1.219427 0.308786 0.074234 0.592840 1.697019 1.456943 1.894603 1.053571 0.870395 1.260578 0.415941 0.216750 0.664998 1.768556 1.530284 0.017758 1.155044 0.880167 1.399032 0.522236 0.296590 0.788933 1.883168 1.702734 0.130840 1.241124 1.015672 1.506862 0.618786 0.413989 0.882191 0.040812 1.770208 0.266965 1.415350 1.179212 1.617452 0.837073 0.560382 1.039153 0.189709 0.008982 0.428192 1.582302 1.375969 1.775847 1.001684 0.722251 1.221935 0.371046 0.124429 0.658497 1.801753 1.557144 0.055429 1.167445 0.965998 1.463160 0.590632 0.421360 0.870506 1.979716 1.785918 0.217687 1.423155 1.229053 1.677639 0.820116 0.622279 1.118801 0.227079 0.047207 0.530002 1.646116 1.495215 1.938348 1.092314 0.858748 1.368355 0.507435 0.300967 0.831830 1.945902 1.701826 0.241789 1.346179 1.176339 1.698123 0.782522 0.593683 1.099893 0.220752 0.071121 0.492713 1.698729 1.537108 0.003593 1.112312 0.923924 1.420945 0.591862 0.368816 0.876237 0.024325 1.841665 0.349974 1.496560 1.313963 1.781383 0.909134 0.778966 1.228602 0.360482 0.169252 0.720535 1.827819 1.642014 0.151850 1.298858 1.132119 1.583582 0.775812 0.613883 1.034899 0.197663 0.038469 0.550873 1.681101 1.473296 0.002756 1.168244 0.976999 1.468806 0.641511 0.472463 0.917530 0.115543 1.932746 0.461045 1.615860 1.421110 1.916591 1.100326 0.915266 1.450442 0.570898 0.409829 0.895347 0.064350 1.886870 0.368337 1.508665 1.402167 1.875808 1.089074 0.915502 1.348721 0.569668 0.334905 0.845366 0.062665 1.931036 0.423161 1.570481 1.376249 1.892683 1.058012 0.892579 1.382946 0.530863 0.389584 0.911546 0.066065 1.944943 0.431750 1.524837 1.397825 1.916894 1.103011 0.925384 1.421598 0.609580 0.450668 0.957299 0.103861 0.017005 0.489835 1.632099 1.491083 0.040341 1.187478 1.048136 1.580660 0.750188 0.526672 1.095701 0.287178 0.103106 0.633176 1.805673 1.635672 0.181746 1.340109 1.155467 1.751104 0.863186 0.725371 1.256183 0.417821 0.247907 0.731305 1.971687 1.812887 0.362885 1.544484 1.346445 1.843347 1.064098 0.903511 1.425141 0.615217 0.470411 0.992301 0.186866 0.055090 0.515270 1.737073 1.613907 0.129315 1.316755 1.145516 1.689159 0.887610 0.688556 1.250192 0.483418 0.277491 0.831631 -0.015312 1.878418 0.427015 1.584482 1.443552 1.963597 1.131045 1.053018 1.569404 0.748022 0.602632 1.105250 0.310334 0.191836 0.693611 1.868001 1.741296 0.244951 1.472171 1.322184 1.879876 1.046328 0.929137 1.487162 0.690252 0.536393 1.028834 0.241099 0.137310 0.681359 1.872418 1.703102 0.276974 1.417116 1.322284 1.892467 1.055982 0.931972 1.453120 0.680784 0.569223 1.072473 0.292525 0.179779 0.702639 1.907779 1.763892 0.296945 1.502504 1.403596 1.895642 1.078898 1.020313 1.582828 0.728374 0.631181 1.177822 0.386973 0.229679 0.763366 -0.020603 1.884762 0.449056 1.615978 1.445670 0.076665 1.319406 1.139316 1.687368 0.868342 0.754364 1.316715 0.562902 0.373746 0.962616 0.143265 0.060537 0.597136 1.794156 1.674512 0.244828 1.423610 1.307469 1.861513 1.128650 1.011922 1.509496 0.793005 0.646450 1.183857 0.401441 0.274501 0.848007 0.152648 1.938838 0.515464 1.751327 1.585203 0.128719 1.344067 1.257980 1.813937 1.034672 0.961830 1.482792 0.710147 0.627952 1.158173 0.396545 0.308224 0.839308 0.084640 1.949979 0.467374 1.766014 1.652675 0.156038 1.404099 1.323696 1.916673 1.129204 1.007203 1.565692 0.792625 0.676519 1.246538 0.476588 0.355046 0.897504 0.154095 0.032713 0.616322 1.822050 1.713319 0.339487 1.549436 1.415806 -0.029700 1.251496 1.105739 1.706293 0.927616 0.827632 1.429701 0.652859 0.511881 1.153658 0.364245 0.227734 0.828965 0.039610 1.955264 0.489121 1.779904 1.680272 0.264792 1.492297 1.379563 1.958496 1.182126 1.073866 1.647475 0.887025 0.759908 1.352711 0.598690 0.504193 1.064292 0.364855 0.256068 0.821048 0.072182 1.978457 0.553596 1.801077 1.686861 0.245374 1.501095 1.463244 0.048757 1.270724 1.195638 1.795159 0.991907 0.929823 1.498115 0.775504 0.635637 1.221022 0.502033 0.392861 1.015769 0.238715 0.139376 0.772010 -0.001203 1.966386 0.502478 1.754699 1.653913 0.238134 1.455433 1.421962 0.005716 1.237219 1.195953 1.785244 1.034444 0.946973 1.522226 0.772000 0.724085 1.279219 0.566698 0.471639 1.081117 0.318698 0.216243 0.869842 0.093780 0.035928 0.580682 1.866189 1.774688 0.335441 1.640447 1.567092 0.150911 1.385331 1.332318 1.956070 1.197687 1.107245 1.722318 0.935373 0.939612 1.481560 0.775194 0.705562 1.294862 0.556921 0.470799 1.085453 0.374791 0.241371 0.872640 0.127624 0.032808 0.648015 1.958410 1.857207 0.450764 1.687826 1.673077 0.276455 1.524057 1.465118 0.092578 1.331259 1.262485 1.865029 1.129716 1.070468 1.691226 0.954621 0.907368 1.547298 0.800536 0.754442 1.318798 0.655491 0.523948 1.167921 0.458202 0.394916 0.974268 0.209530 0.172260 0.769859 0.045732 -0.027787 0.639418 1.895968 1.831369 0.455565 1.755348 1.702164 0.323430 1.549605 1.507505 0.099809 1.366067 1.343189 1.936579 1.213931 1.207459 1.780054 1.037769 1.005956 1.688129 0.918293 0.876995 1.491983 0.755576 0.731170 1.306379 0.613008 0.560202 1.151819 0.453386 0.401075 1.052899 0.336562 0.307092 0.918155 0.200321 0.133534 0.755336 0.041372 -0.036174 0.643495 1.904976 1.892087 0.486352 1.795593 1.721679 0.369291 1.607795 1.576284 0.213583 1.494045 1.463382 0.080370 1.381980 1.326067 1.977786 1.247994 1.213791 1.878128 1.145632 1.125599 1.744040 1.003768 0.975298 1.655044 0.946812 0.902005 1.481429 0.838355 0.806420 1.384034 0.676425 0.687951 1.289459 0.584933 0.544028 1.143652 0.530696 0.446531 1.060469 0.381371 0.383221 0.985636 0.284345 0.259040 0.894751 0.181035 0.155719 0.802236 0.121624 0.058494 0.696055 -0.033257 -0.009001 0.631717 1.933686 1.907503 0.526027 1.815256 1.827541 0.422361 1.751874 1.770954 0.332622 1.681580 1.649270 0.311710 1.607800 1.583524 0.245744 1.540534 1.499654 0.148625 1.457370 1.373290 0.075021 1.394843 1.347459 -0.005752 1.303682 1.317955 1.926281 1.233373 1.253750 1.868046 1.183593 1.200479 1.828734 1.154318 1.138091 1.739705 1.063036 1.026015 1.760005 1.052209 0.997647 1.670582 1.013683 0.946378 1.618597 0.957911 0.901792 1.567409 0.889999 0.912144 1.559979 0.891151 0.880294 1.500532 0.874896 0.781828 1.470208 0.813331 0.808539 1.418100 0.746813 0.751008 1.419231 0.717221 0.726739 1.410727 0.731944 0.676864 1.409264 0.642315 0.664365 1.364908 0.686123 0.651596 1.257741 0.652814 0.617542 1.306260 0.604389 0.592953 1.273395 0.605575 0.615524 1.252456 0.600454 0.596734 1.273260 0.596265 0.607909 1.252575 0.565927 0.570637 1.242139 0.541616 0.579959 1.248588 0.553529 0.579117 1.248565 0.574621 0.589047 1.309100 0.589822 0.602557 1.287938 0.578939 0.630286 1.280033 0.567074 0.622654 1.240139 0.594827 0.651875 1.291451 0.614140 0.689991 1.288405 0.659401 0.658369 1.319440 0.687094 0.674513 1.346708 0.688976 0.753907 1.375336 0.762674 0.739012 1.414601 0.787609 0.775338 1.420075 0.806180 0.800733 1.486208 0.845147 0.821967 1.516891 0.910404 0.867286 1.542889 0.887043 0.903213 1.634817 0.952223 0.964661 1.682581 0.979874 1.017143 1.672617 0.994877 1.107400 1.788990 1.110961 1.073654 1.789664 1.138909 1.162757 1.815050 1.225817 1.210897 1.926791 1.302244 1.265372 -0.026931 1.330408 1.387907 0.023026 1.451566 1.422994 0.130173 1.484590 1.521586 0.183712 1.551561 1.583662 0.282642 1.591114 1.655077 0.304500 1.684251 1.694195 0.429792 1.769650 1.808357 0.487540 1.818396 1.853851 0.530630 1.955039 -0.119812 0.676604 0.023437 0.063422 0.780580 0.147218 0.198738 0.872448 0.220227 0.252425 0.986952 0.295255 0.393016 1.036257 0.448018 0.427099 1.156162 0.552881 0.530707 1.267911 0.635862 0.680452 1.365591 0.735775 0.797614 1.468054 0.829271 0.858249 1.597356 0.963427 0.979328 1.664777 1.072381 1.131497 1.848461 1.213953 1.199832 1.960555 1.304633 1.318228 0.076788 1.452570 1.479484 0.164500 1.572776 1.636533 0.356533 1.684649 1.726841 0.451773 1.812513 1.874046 0.543934 1.930798 1.972699 0.744026 0.063643 0.159361 0.823095 0.219497 0.299864 0.954777 0.358746 0.414413 1.115727 0.519760 0.542990 1.311137 0.651203 0.710761 1.454950 0.772652 0.872236 1.543810 0.968311 1.006341 1.723434 1.088664 1.231621 1.884135 1.281249 1.347331 0.036078 1.419412 1.446527 0.204240 1.613579 1.679100 0.340114 1.736107 1.840278 0.571743 1.943781 0.023224 0.697394 0.138951 0.151958 0.882054 0.266019 0.342269 1.098555 0.488882 0.520277 1.270261 0.682615 0.682051 1.423350 0.809398 0.923761 1.649263 1.068684 1.091760 1.803833 1.223733 1.263221 0.017517 1.421547 1.466248 0.224731 1.593966 1.649396 0.409457 1.781845 1.845835 0.622136 -0.009609 0.077538 0.792485 0.188358 0.288489 1.013605 0.431185 0.495730 1.211960 0.604816 0.676648 1.456905 0.844139 0.905285 1.630909 1.032426 1.128266 1.853145 1.262038 1.300211 0.056675 1.467598 1.530064 0.291293 1.687552 1.755257 0.468236 1.938565 -0.011915 0.736090 0.173114 0.213450 0.994156 0.364997 0.457458 1.187825 0.639595 0.686838 1.462796 0.854330 0.903639 1.704943 1.071752 1.179798 1.898999 1.338040 1.405342 0.147449 1.639838 1.676028 0.379818 1.815921 1.886234 0.634529 0.079207 0.176862 0.921077 0.270512 0.406031 1.127890 0.593242 0.648029 1.403498 0.841450 0.919674 1.687653 1.135150 1.209027 1.975682 1.393578 1.449497 0.153208 1.639075 1.709636 0.452445 1.874711 0.022432 0.714196 0.206678 0.205405 0.997873 0.413099 0.533511 1.297878 0.703835 0.801048 1.536439 0.962427 1.059551 1.860285 1.319040 1.383017 0.135002 1.534723 1.648532 0.422108 1.844915 1.956976 0.704238 0.117947 0.249102 1.002403 0.473197 0.500625 1.262507 0.728698 0.830758 1.550450 1.042097 1.137051 1.913071 1.319323 1.401617 0.205540 1.634001 1.717675 0.487628 1.929708 0.032724 0.779967 0.225924 0.383724 1.109069 0.562827 0.649848 1.460986 0.840877 0.966680 1.747337 1.203625 1.315331 0.088823 1.496248 1.629011 0.431806 1.822514 1.942005 0.728686 0.158211 0.297041 1.029719 0.522309 0.626677 1.357536 0.800226 0.986575 1.730215 1.163174 1.231016 0.034610 1.521930 1.589379 0.414306 1.841215 1.927232 0.696438 0.186996 0.290301 1.088563 0.519977 0.648216 1.417722 0.845987 1.012127 1.780754 1.219818 1.368384 0.133468 1.552692 1.697685 0.489975 1.948146 0.025352 0.835325 0.308902 0.425789 1.189446 0.647629 0.780553 1.534982 0.953650 1.144994 1.982784 1.383491 1.490496 0.239036 1.733469 1.907366 0.658487 0.109199 0.230682 1.052834 0.517391 0.608626 1.405419 0.866368 0.974067 1.812201 1.250521 1.390848 0.148194 1.623658 1.769017 0.559808 0.019981 0.093630 0.962157 0.385643 0.557254 1.332258 0.775494 0.936936 1.712764 1.224080 1.333572 0.130012 1.553976 1.733749 0.509265 0.048320 0.120671 0.899273 0.371543 0.562577 1.333084 0.820342 0.953357 1.769820 1.220433 1.358228 0.127107 1.579894 1.763318 0.586085 0.056061 0.168973 0.987419 0.437016 0.613035 1.379444 0.892129 1.014623 1.821313 1.267297 1.418105 0.246254 1.755013 1.842641 0.624100 0.156213 0.268757 1.103436 0.559665 0.758240 1.532549 1.036259 1.153852 1.946220 1.432069 1.593807 0.418226 1.855454 0.035725 0.832622 0.314591 0.476792 1.257265 0.773297 0.905003 1.712302 1.200651 1.350735 0.149477 1.642212 1.802991 0.603766 0.109674 0.272495 1.104655 0.552848 0.662208 1.508113 0.969884 1.222187 1.957345 1.483565 1.659081 0.418223 1.951257 0.147291 0.901050 0.444550 0.555960 1.394491 0.833321 1.009746 1.850858 1.330172 1.483655 0.313675 1.811415 -0.000236 0.794841 0.301262 0.490013 1.322742 0.745660 0.925074 1.784514 1.271636 1.375387 0.219194 1.716991 1.919514 0.731082 0.283071 0.394652 1.209183 0.703971 0.883949 1.723347 1.226581 1.417977 0.169502 1.728678 1.897967 0.751809 0.206641 0.351287 1.193966 0.679687 0.833001 1.679398 1.202836 1.369136 0.221180 1.698828 1.890944 0.736466 0.259414 0.428156 1.246968 0.715069 0.887462 1.766067 1.234005 1.366933 0.267319 1.785542 1.921115 0.782951 0.288312 0.432145 1.324227 0.812529 0.987537 1.849387 1.334204 1.550652 0.384742 1.887557 0.032221 0.888154 0.427508 0.583364 1.373198 0.935366 1.078859 1.962687 1.425781 1.648177 0.492137 0.010583 0.174236 1.065860 0.556317 0.711714 1.613293 1.102246 1.261519 0.161159 1.621868 1.845116 0.621649 0.151344 0.408750 1.266111 0.733611 0.981402 1.781143 1.313677 1.478251 0.389746 1.864238 0.058118 0.877935 0.412750 0.590919 1.454967 0.995341 1.160158 0.052979 1.551988 1.735067 0.575701 0.113408 0.309369 1.203349 0.691004 0.901203 1.755113 1.285355 1.469400 0.316179 1.835734 0.063761 0.937353 0.419020 0.615917 1.461648 1.030447 1.209615 0.096211 1.589011 1.815774 0.626322 0.175182 0.402805 1.254295 0.809294 0.981937 1.881195 1.349170 1.565323 0.444505 1.905301 0.141863 1.013394 0.599160 0.768860 1.639481 1.173121 1.378015 0.207298 1.781004 -0.005481 0.841053 0.359648 0.584036 1.466213 1.014043 1.198019 0.047150 1.611088 1.803839 0.693503 0.251733 0.378659 1.292988 0.846097 1.025550 1.895967 1.457063 1.643561 0.544671 0.078331 0.286831 1.144981 0.701288 0.911563 1.800290 1.360060 1.533921 0.464563 1.970167 0.187072 1.028247 0.574824 0.822213 1.719286 1.250441 1.465682 0.304625 1.883042 0.150589 0.966248 0.508969 0.740351 1.592154 1.164985 1.396695 0.251798 1.797977 0.055983 0.893992 0.460716 0.676688 1.575389 1.096148 1.354511 0.224581 1.739098 0.014063 0.882137 0.432033 0.697360 1.575477 1.060614 1.342466 0.184638 1.767539 1.986710 0.880248 0.447116 0.686853 1.534981 1.149302 1.322036 0.217110 1.750455 -0.028293 0.927727 0.463276 0.699948 1.574079 1.122276 1.344937 0.239499 1.798792 0.041111 0.901108 0.502016 0.734564 1.619516 1.235793 1.392027 0.313428 1.875178 0.114986 0.986008 0.554567 0.774672 1.670995 1.277666 1.490688 0.422851 1.938664 0.192686 1.081363 0.636062 0.878896 1.801674 1.320125 1.610705 0.510337 0.119965 0.288198 1.229365 0.736391 0.974652 1.921844 1.522756 1.760341 0.627784 0.195364 0.424026 1.350173 0.914137 1.149417 0.055182 1.641041 1.885754 0.774177 0.341638 0.609082 1.476268 1.075234 1.336728 0.232957 1.816024 0.059891 0.977615 0.583895 0.818725 1.691585 1.233407 1.522719 0.426347 -0.011898 0.222340 1.211913 0.738174 1.037566 1.889523 1.491590 1.769255 0.654387 0.200388 0.477881 1.388587 0.995612 1.263033 0.151400 1.737244 1.994853 0.888393 0.448480 0.715631 1.639779 1.266990 1.475739 0.402022 0.001228 0.277508 1.193996 0.717293 1.022382 1.945731 1.528880 1.769925 0.676796 0.308016 0.544866 1.452245 1.056044 1.374139 0.251435 1.839100 0.082677 1.030130 0.593594 0.869317 1.751919 1.380599 1.660743 0.544875 0.134766 0.419262 1.359116 0.926374 1.200425 0.154745 1.776244 0.028854 0.907934 0.517864 0.744877 1.733023 1.291145 1.589046 0.524515 0.143068 0.380331 1.270800 0.877957 1.158416 0.095496 1.721531 1.962074 0.894065 0.487382 0.748783 1.673707 1.270037 1.572661 0.487139 0.118310 0.353424 1.330880 0.967912 1.217091 0.192030 1.746726 -0.008521 0.972139 0.569214 0.836629 1.792874 1.387645 1.624565 0.632818 0.169837 0.496488 1.391429 1.038248 1.276246 0.204951 1.839860 0.124740 1.060001 0.657481 0.979959 1.891365 1.498561 1.801028 0.717400 0.315222 0.620564 1.593479 1.178952 1.451115 0.404598 -0.005528 0.313885 1.242306 0.875831 1.127959 0.103028 1.705375 0.012699 0.926034 0.577294 0.846113 1.771401 1.375194 1.686187 0.652973 0.275173 0.528957 1.475197 1.099695 1.450803 0.394864 0.006041 0.319714 1.201074 0.888068 1.130526 0.060555 1.730127 0.003973 0.970567 0.557199 0.876983 1.840537 1.453875 1.730436 0.638584 0.293627 0.612145 1.531639 1.167803 1.518469 0.454591 0.106958 0.368985 1.332865 0.982631 1.260304 0.220211 1.799722 0.130226 1.090090 0.701451 1.045234 1.992618 1.626535 1.912666 0.832021 0.542880 0.767909 1.778263 1.387748 1.677161 0.622205 0.269109 0.574635 1.558243 1.182994 1.450696 0.491452 0.103672 0.400119 1.344518 0.981223 1.258072 0.251476 1.912489 0.232691 1.206418 0.805953 1.119358 0.155055 1.751168 0.097851 1.025890 0.706010 0.960410 1.942316 1.626433 1.884328 0.851879 0.504554 0.821261 1.761778 1.407905 1.711340 0.647584 0.347790 0.647152 1.648746 1.244924 1.563845 0.588763 0.158974 0.503437 1.536265 1.121954 1.454121 0.423763 0.114434 0.400278 1.338609 0.993706 1.358821 0.328396 1.956735 0.261393 1.267373 0.955613 1.253328 0.224608 1.856628 0.199058 1.200999 0.819656 1.137486 0.135404 1.793163 0.131100 1.078350 0.741351 1.039393 0.045261 1.699515 0.034737 0.942610 0.684756 0.956308 1.947394 1.633657 1.953278 0.904052 0.580961 0.913879 1.941411 1.519052 1.840622 0.910119 0.527420 0.861293 1.849422 1.475381 1.830601 0.799091 0.501857 0.787766 1.823294 1.467731 1.806424 0.805269 0.474582 0.781946 1.776540 1.418537 1.762883 0.746070 0.408613 0.726389 1.745127 1.428283 1.754540 0.728069 0.441878 0.746600 1.796204 1.449997 1.776429 0.722670 0.436401 0.744719 1.778994 1.480572 1.763916 0.815336 0.489032 0.764749 1.811814 1.487438 1.838366 0.811299 0.501320 0.823771 1.854833 1.502868 1.856794 0.827719 0.514633 0.852477 1.882215 1.488580 1.848649 0.877645 0.587786 0.926814 1.877153 1.575992 1.906019 0.886676 0.595984 0.881146 1.940054 1.606287 1.971408 0.988642 0.638192 0.966941 -0.034374 1.681077 0.038373 1.056408 0.657252 1.076689 0.087476 1.760605 0.121715 1.145163 0.789531 1.173448 0.151127 1.823534 0.220276 1.230586 0.960040 1.285670 0.295263 1.934113 0.314088 1.332202 1.053238 1.375323 0.392866 0.077220 0.422213 1.491168 1.127803 1.497376 0.554172 0.257811 0.586449 1.609325 1.351152 1.703027 0.627074 0.353088 0.709213 1.720064 1.442884 1.782680 0.814896 0.553387 0.852715 1.895941 1.554321 1.962098 1.013833 0.655921 0.994618 0.054934 1.764435 0.062870 1.163046 0.871528 1.257156 0.223435 1.905372 0.338569 1.306277 0.999931 1.337253 0.417104 0.138892 0.412245 1.511698 1.256056 1.543124 0.590173 0.339601 0.650455 1.683826 1.408811 1.811474 0.828456 0.526423 0.859787 1.896452 1.608591 1.948197 0.987654 0.706760 1.085696 0.133347 1.825976 0.258446 1.274079 0.944752 1.296320 0.326958 0.024339 0.456524 1.468787 1.203458 1.509480 0.615416 0.269963 0.688191 1.723537 1.390152 1.854907 0.886894 0.581734 0.936911 -0.009509 1.698888 0.060556 1.142012 0.859242 1.247280 0.274968 1.947669 0.305504 1.435482 1.121364 1.480498 0.522708 0.241328 0.603319 1.705040 1.426237 1.816412 0.844853 0.559458 0.950007 -0.864208 1.718587 0.075844 1.114880 0.838172 1.221123 0.266618 0.058618 0.363782 1.417961 1.157081 1.554190 0.607338 0.348635 0.729484 1.765027 1.524808 1.887413 0.942863 0.666378 1.035608 0.084672 1.857745 0.236807 1.282523 1.041036 1.443839 0.463754 0.200441 0.623163 1.679375 1.373487 1.771844 0.850867 0.606126 0.995693 0.033893 1.821449 0.146087 1.202112 0.961147 1.370514 0.434572 0.169771 0.556607 1.637108 1.396269 1.729452 0.842038 0.609721 0.932603 0.015326)
        )
 
 
@@ -1514,271 +1512,279 @@
 
 (define nodd-min-peak-phases (vector
 
-(vector 1  1.0   (fv 0)
+(vector 1  1.0   #(0)
      )
 
-(vector 2  1.539 (fv 0 0)
+(vector 2  1.539 #(0 0)
      )
 
 ;;; 3 odd --------------------------------------------------------------------------------
-(vector 3  1.7548747062683 (fv 0 1 1)
+(vector 3  1.7548747062683 #(0 1 1)
 
-     1.7393749801561 (fv 0.0 1.205686890924528215096600547440175432712E0 1.297035953235478072942399307976302225143E0)
-     1.7387926578522 (fv 0.0 1.2094986438751 1.3025436401367)
-     1.7387455701828 (fv 0.0 0.79018270969391 0.69699490070343)
+     1.7393749801561 #(0.0 1.205686890924528215096600547440175432712E0 1.297035953235478072942399307976302225143E0)
+     1.7387926578522 #(0.0 1.2094986438751 1.3025436401367)
+     1.7387455701828 #(0.0 0.79018270969391 0.69699490070343)
 
-     1.738745 (fv 0.000000 1.209826 1.303017)
-     1.738744 (fv 0.000000 0.790172 0.696980)
+     1.738745 #(0.000000 1.209826 1.303017)
+     1.738744 #(0.000000 0.790172 0.696980)
      )
 
 ;;; 4 odd --------------------------------------------------------------------------------
-(vector 4  2.19460272789 (fv 0 1 0 0)
+(vector 4  2.19460272789 #(0 1 0 0)
 
-     2.050 (fv 0 39/25 26/29 27/22)
-     2.048743724823 (fv 0 111/256 281/256 195/256)
-     2.0466175079346 (fv 0 223/512 563/512 49/64)
+     2.050 #(0 39/25 26/29 27/22)
+     2.048743724823 #(0 111/256 281/256 195/256)
+     2.0466175079346 #(0 223/512 563/512 49/64)
 
-     2.045218 (fv 0.000000 1.563819 0.899661 1.233860)
-     2.045217 (fv 0.000000 0.436172 1.100327 0.766122)
+     2.045218 #(0.000000 1.563819 0.899661 1.233860)
+     2.045217 #(0.000000 0.436172 1.100327 0.766122)
      )
 
 ;;; 5 odd -------------------------------------------------------------------------------- ; 2.2360679
-(vector 5  2.7317879199982 (fv 0 1 1 0 0)
+(vector 5  2.7317879199982 #(0 1 1 0 0)
 
-     2.3731805734023 (fv 0 7/16 7/4 5/8 7/16)
+     2.3731805734023 #(0 7/16 7/4 5/8 7/16)
 
-     2.307252 (fv 0.000000 0.393369 1.754476 0.596108 0.424804)
-     2.307253 (fv 0.000000 1.606636 0.245540 1.403918 1.575230)
+     2.307252 #(0.000000 0.393369 1.754476 0.596108 0.424804)
+     2.307253 #(0.000000 1.606636 0.245540 1.403918 1.575230)
      )
 
 ;;; 6 odd -------------------------------------------------------------------------------- ; 2.44948
-(vector 6  2.8638670444489 (fv 0 0 0 0 1 0)
+(vector 6  2.8638670444489 #(0 0 0 0 1 0)
 
-     2.522759 (fv 0.000000 1.360421 1.129847 1.035439 1.320248 0.102465)
-     2.522749 (fv 0.000000 0.639403 0.869779 0.964074 0.679243 -0.103102)
+     2.522759 #(0.000000 1.360421 1.129847 1.035439 1.320248 0.102465)
+     2.522749 #(0.000000 0.639403 0.869779 0.964074 0.679243 -0.103102)
      )
 
 ;;; 7 odd -------------------------------------------------------------------------------- ; 2.64575
-(vector 7  2.9204399585724 (fv 0 0 0 1 1 0 1)
+(vector 7  2.9204399585724 #(0 0 0 1 1 0 1)
 
-     2.618497 (fv 0.000000 1.527527 0.524623 0.177241 0.453108 1.577456 1.970355)
-     2.618376 (fv 0.000000 0.474123 1.477585 1.824644 1.552691 0.429533 0.035303)
-     2.618302 (fv 0.000000 0.474154 1.477730 1.824846 1.552894 0.429720 0.035636)
+     2.618497 #(0.000000 1.527527 0.524623 0.177241 0.453108 1.577456 1.970355)
+     2.618376 #(0.000000 0.474123 1.477585 1.824644 1.552691 0.429533 0.035303)
+     2.618302 #(0.000000 0.474154 1.477730 1.824846 1.552894 0.429720 0.035636)
      )
 
 ;;; 8 odd -------------------------------------------------------------------------------- ; 2.828427
-(vector 8  3.2507002353668 (fv 0 1 1 0 1 1 1 0)
+(vector 8  3.2507002353668 #(0 1 1 0 1 1 1 0)
 
-     2.8071956634521 (fv 0 109/128 7/4 1 13/16 123/64 21/128 43/128)
+     2.8071956634521 #(0 109/128 7/4 1 13/16 123/64 21/128 43/128)
 
-     2.790858 (fv 0.000000 0.802399 1.672681 0.887888 0.680265 1.767889 0.004580 0.126233)
-     2.790799 (fv 0.000000 1.197514 0.327251 1.112061 1.319778 0.232086 -0.004810 -0.126263)
-     2.790663 (fv 0.000000 1.196617 0.325818 1.109894 1.316877 0.229200 -0.008217 -0.130363)
+     2.790858 #(0.000000 0.802399 1.672681 0.887888 0.680265 1.767889 0.004580 0.126233)
+     2.790799 #(0.000000 1.197514 0.327251 1.112061 1.319778 0.232086 -0.004810 -0.126263)
+     2.790663 #(0.000000 1.196617 0.325818 1.109894 1.316877 0.229200 -0.008217 -0.130363)
      )
 
 ;;; 9 odd -------------------------------------------------------------------------------- ; 3
-(vector 9  3.4140722751617 (fv 0 0 1 1 1 1 0 1 0)
+(vector 9  3.4140722751617 #(0 0 1 1 1 1 0 1 0)
 
-     2.886575 (fv 0.000000 0.394663 0.625974 1.648922 0.070810 1.803585 1.908749 0.903752 0.378081)
-     2.886464 (fv 0.000000 1.605518 1.374012 0.351118 1.929257 0.196622 0.091381 1.096286 1.622082)
-     2.886241 (fv 0.000000 1.605727 1.374318 0.351747 1.930232 0.197770 0.092557 1.097753 1.623786)
+     2.886575 #(0.000000 0.394663 0.625974 1.648922 0.070810 1.803585 1.908749 0.903752 0.378081)
+     2.886464 #(0.000000 1.605518 1.374012 0.351118 1.929257 0.196622 0.091381 1.096286 1.622082)
+     2.886241 #(0.000000 1.605727 1.374318 0.351747 1.930232 0.197770 0.092557 1.097753 1.623786)
      )
 
 ;;; 10 odd -------------------------------------------------------------------------------- ; 3.162277
-(vector 10 3.5391488075256 (fv 0 0 1 1 0 1 0 0 0 0)
+(vector 10 3.5391488075256 #(0 0 1 1 0 1 0 0 0 0)
 
-     3.054055 (fv 0.000000 0.508058 0.119325 0.663858 1.627094 1.847660 0.043999 1.283121 0.512586 0.295891)
-     3.054035 (fv 0.000000 0.528914 0.163543 0.741593 1.737455 -0.019531 0.179460 1.441592 0.691200 0.513749)
-     3.054019 (fv 0.000000 1.467927 1.828996 1.243932 0.242207 -0.005741 1.795358 0.528965 1.275954 1.445527)
+     3.054055 #(0.000000 0.508058 0.119325 0.663858 1.627094 1.847660 0.043999 1.283121 0.512586 0.295891)
+     3.054035 #(0.000000 0.528914 0.163543 0.741593 1.737455 -0.019531 0.179460 1.441592 0.691200 0.513749)
+     3.054019 #(0.000000 1.467927 1.828996 1.243932 0.242207 -0.005741 1.795358 0.528965 1.275954 1.445527)
 
-     3.053923 (fv 0.000000 0.530606 0.167556 0.749983 1.748996 -0.005015 0.193787 1.458258 0.709754 0.536958)
-     3.053807 (fv 0.000000 0.524885 0.155185 0.727764 -0.282439 -0.043214 0.155190 1.412864 0.658810 0.474600)
-     3.053435 (fv 0.000000 0.525383 0.155614 0.727601 -0.282536 -0.043650 0.155330 1.412909 0.659050 0.474369)
+     3.053923 #(0.000000 0.530606 0.167556 0.749983 1.748996 -0.005015 0.193787 1.458258 0.709754 0.536958)
+     3.053807 #(0.000000 0.524885 0.155185 0.727764 -0.282439 -0.043214 0.155190 1.412864 0.658810 0.474600)
+     3.053435 #(0.000000 0.525383 0.155614 0.727601 -0.282536 -0.043650 0.155330 1.412909 0.659050 0.474369)
      )
 
 ;;; 11 odd -------------------------------------------------------------------------------- ; 3.31662
-(vector 11 3.6182308197021 (fv 0 0 0 1 1 1 0 1 1 0 1) ; 3.31662
+(vector 11 3.6182308197021 #(0 0 0 1 1 1 0 1 1 0 1) ; 3.31662
 
-     3.177383 (fv 0.000000 1.758655 0.386236 -0.008172 1.159122 0.785208 0.739625 0.606297 1.367332 0.311355 0.827147)
-     3.177220 (fv 0.000000 0.232935 1.599549 -0.005436 0.822576 1.185453 1.230375 1.357659 0.594255 1.644007 1.122113)
-     3.177201 (fv 0.000000 1.748294 0.370273 -0.021500 1.141958 0.751903 0.709536 0.566072 1.323348 0.262962 0.769859)
+     3.177383 #(0.000000 1.758655 0.386236 -0.008172 1.159122 0.785208 0.739625 0.606297 1.367332 0.311355 0.827147)
+     3.177220 #(0.000000 0.232935 1.599549 -0.005436 0.822576 1.185453 1.230375 1.357659 0.594255 1.644007 1.122113)
+     3.177201 #(0.000000 1.748294 0.370273 -0.021500 1.141958 0.751903 0.709536 0.566072 1.323348 0.262962 0.769859)
 
-     3.177182 (fv 0.000000 1.764972 0.396592 0.001274 1.171590 0.806702 0.760785 0.632485 1.395663 0.343598 0.864498)
-     3.177098 (fv 0.000000 1.745038 0.362715 -0.030740 1.128748 0.736155 0.690326 0.545405 1.303285 0.236832 0.743503)
-     3.176608 (fv 0.000000 1.744464 0.362417 -0.030039 1.129933 0.735652 0.691339 0.545454 1.302582 0.237082 0.742494)
+     3.177182 #(0.000000 1.764972 0.396592 0.001274 1.171590 0.806702 0.760785 0.632485 1.395663 0.343598 0.864498)
+     3.177098 #(0.000000 1.745038 0.362715 -0.030740 1.128748 0.736155 0.690326 0.545405 1.303285 0.236832 0.743503)
+     3.176608 #(0.000000 1.744464 0.362417 -0.030039 1.129933 0.735652 0.691339 0.545454 1.302582 0.237082 0.742494)
      )
 
 ;;; 12 odd -------------------------------------------------------------------------------- ; 3.464101
-(vector 12 4.0 (fv 0 0 1 1 0 0 0 0 0 1 0 1)
+(vector 12 4.0 #(0 0 1 1 0 0 0 0 0 1 0 1)
 
-     3.363698 (fv 0.000000 0.073271 0.585961 0.960666 0.978302 0.113696 1.500041 1.186734 1.772452 0.944338 1.321484 0.602060)
-     3.362737 (fv 0.000000 -0.077029 1.405769 1.027930 1.006574 1.870564 0.481680 0.791450 0.202834 1.026360 0.648485 1.363973)
-     3.361884 (fv 0.000000 -0.077168 1.405944 1.028559 1.007566 1.871331 0.482574 0.792122 0.203932 1.027727 0.649507 1.365630)
+     3.363698 #(0.000000 0.073271 0.585961 0.960666 0.978302 0.113696 1.500041 1.186734 1.772452 0.944338 1.321484 0.602060)
+     3.362737 #(0.000000 -0.077029 1.405769 1.027930 1.006574 1.870564 0.481680 0.791450 0.202834 1.026360 0.648485 1.363973)
+     3.361884 #(0.000000 -0.077168 1.405944 1.028559 1.007566 1.871331 0.482574 0.792122 0.203932 1.027727 0.649507 1.365630)
      )
 
 ;;; 13 odd -------------------------------------------------------------------------------- ; 3.60555
-(vector 13 3.8778836727142 (fv 0 0 1 1 0 0 1 0 1 0 0 0 0) 
+(vector 13 3.8778836727142 #(0 0 1 1 0 0 1 0 1 0 0 0 0) 
 
-     3.476053 (fv 0.000000 0.380793 0.961293 0.353157 0.446308 0.965358 0.539394 0.172183 -0.067910 0.976833 -0.486927 1.072643 -0.036066)
-     3.475486 (fv 0.000000 1.620375 1.040657 1.650169 1.557159 1.039441 1.466014 -0.165746 0.075570 1.032228 0.496820 0.937529 0.047188)
-     3.475452 (fv 0.000000 1.620672 1.042066 1.652912 1.561748 1.044454 1.472771 -0.159565 0.082334 1.041828 0.507070 0.948164 0.058404)
-     3.474532 (fv 0.000000 1.621213 1.042646 1.653413 1.561849 1.044891 1.473168 -0.158623 0.083544 1.042513 0.507800 0.949479 0.059341)
+     3.476053 #(0.000000 0.380793 0.961293 0.353157 0.446308 0.965358 0.539394 0.172183 -0.067910 0.976833 -0.486927 1.072643 -0.036066)
+     3.475486 #(0.000000 1.620375 1.040657 1.650169 1.557159 1.039441 1.466014 -0.165746 0.075570 1.032228 0.496820 0.937529 0.047188)
+     3.475452 #(0.000000 1.620672 1.042066 1.652912 1.561748 1.044454 1.472771 -0.159565 0.082334 1.041828 0.507070 0.948164 0.058404)
+     3.474532 #(0.000000 1.621213 1.042646 1.653413 1.561849 1.044891 1.473168 -0.158623 0.083544 1.042513 0.507800 0.949479 0.059341)
      )
 
 ;;; 14 odd -------------------------------------------------------------------------------- ; 3.741657
-(vector 14 4.2842662512094 (fv 0 1 1 0 0 1 1 1 0 1 0 0 0 0)
+(vector 14 4.2842662512094 #(0 1 1 0 0 1 1 1 0 1 0 0 0 0)
 
-     3.606512 (fv 0.000000 0.785150 1.482463 -0.077041 0.773052 0.357080 1.202237 -0.069790 1.584889 0.769902 0.652503 0.409520 0.740393 0.675317)
-     3.600425 (fv 0.000000 1.139545 0.351170 -0.114733 0.966482 1.234831 0.292454 1.539190 0.009726 0.589539 0.769919 0.798632 0.417679 0.467195)
-     3.599409 (fv 0.000000 0.851134 1.636505 0.091221 1.006010 0.744090 1.678264 0.418648 -0.048848 1.351639 1.174737 1.143087 1.519418 1.448182)
-     3.598494 (fv 0.000000 0.850577 1.637081 0.089423 1.006545 0.749551 1.681409 0.420517 -0.044040 1.351533 1.177890 1.148728 1.524043 1.447267)
+     3.606512 #(0.000000 0.785150 1.482463 -0.077041 0.773052 0.357080 1.202237 -0.069790 1.584889 0.769902 0.652503 0.409520 0.740393 0.675317)
+     3.600425 #(0.000000 1.139545 0.351170 -0.114733 0.966482 1.234831 0.292454 1.539190 0.009726 0.589539 0.769919 0.798632 0.417679 0.467195)
+     3.599409 #(0.000000 0.851134 1.636505 0.091221 1.006010 0.744090 1.678264 0.418648 -0.048848 1.351639 1.174737 1.143087 1.519418 1.448182)
+     3.598494 #(0.000000 0.850577 1.637081 0.089423 1.006545 0.749551 1.681409 0.420517 -0.044040 1.351533 1.177890 1.148728 1.524043 1.447267)
      )
 
 ;;; 15 odd -------------------------------------------------------------------------------- ; 3.872983
-(vector 15 4.4701427567987 (fv 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1)
+(vector 15 4.4701427567987 #(0 1 0 0 1 0 1 1 1 1 1 0 0 1 1)
 
-     3.739752 (fv 0.000000 1.191367 0.176518 1.591145 1.710423 1.309889 1.422724 0.785426 1.754948 1.707551 1.122738 1.744847 0.127913 0.663567 0.776627)
-     3.738430 (fv 0.000000 1.190239 0.174514 1.589466 1.706591 1.305812 1.416225 0.779885 1.746839 1.699566 1.113488 1.734421 0.117674 0.652032 0.763074)
+     3.739752 #(0.000000 1.191367 0.176518 1.591145 1.710423 1.309889 1.422724 0.785426 1.754948 1.707551 1.122738 1.744847 0.127913 0.663567 0.776627)
+     3.738430 #(0.000000 1.190239 0.174514 1.589466 1.706591 1.305812 1.416225 0.779885 1.746839 1.699566 1.113488 1.734421 0.117674 0.652032 0.763074)
      )
 
 ;;; 16 odd -------------------------------------------------------------------------------- ; 4
-(vector 16 4.5778832343715 (fv 0 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0)
+(vector 16 4.5778832343715 #(0 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0)
 
-     3.858242 (fv 0.000000 0.144652 0.676444 0.017002 0.269119 1.012194 1.772841 1.585260 1.809100 0.289620 1.399960 0.670537 0.175237 0.296937 -0.017357 1.108803)
-     3.857020 (fv 0.000000 0.144607 0.675956 0.016527 0.269112 1.012147 1.772535 1.584482 1.808783 0.289484 1.400085 0.669674 0.174650 0.295492 -0.017769 1.108482)
+     3.858242 #(0.000000 0.144652 0.676444 0.017002 0.269119 1.012194 1.772841 1.585260 1.809100 0.289620 1.399960 0.670537 0.175237 0.296937 -0.017357 1.108803)
+     3.857020 #(0.000000 0.144607 0.675956 0.016527 0.269112 1.012147 1.772535 1.584482 1.808783 0.289484 1.400085 0.669674 0.174650 0.295492 -0.017769 1.108482)
      )
 
 ;;; 17 odd -------------------------------------------------------------------------------- ; 4.12310
-(vector 17 4.5790815353394 (fv 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0)
+(vector 17 4.5790815353394 #(0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0)
 
-     3.927805 (fv 0.000000 0.618908 0.864629 1.180783 1.677629 1.929621 0.580975 1.820904 0.468136 1.289907 0.485211 0.029658 1.160895 0.856998 0.644358 0.814931 0.296558)
-     3.926355 (fv 0.000000 0.619515 0.864447 1.181990 1.677700 1.930862 0.582927 1.823955 0.470265 1.290931 0.488790 0.031736 1.163146 0.861017 0.648828 0.818286 0.301049)
+     3.927805 #(0.000000 0.618908 0.864629 1.180783 1.677629 1.929621 0.580975 1.820904 0.468136 1.289907 0.485211 0.029658 1.160895 0.856998 0.644358 0.814931 0.296558)
+     3.926355 #(0.000000 0.619515 0.864447 1.181990 1.677700 1.930862 0.582927 1.823955 0.470265 1.290931 0.488790 0.031736 1.163146 0.861017 0.648828 0.818286 0.301049)
      )
 
 ;;; 18 odd -------------------------------------------------------------------------------- ; 4.2426406
-(vector 18 4.801501750946 (fv 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0)
+(vector 18 4.801501750946 #(0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0)
 
-     4.071185 (fv 0.000000 0.956640 1.083713 0.493342 0.797185 0.138960 0.613585 0.388904 -0.007616 0.968034 0.616152 1.753096 0.351362 1.174080 1.220111 1.511627 0.186455 1.775153)
-     4.069528 (fv 0.000000 0.956814 1.082990 0.493213 0.796608 0.137780 0.611831 0.387091 -0.011186 0.965014 0.614046 1.752338 0.348807 1.169857 1.216059 1.508238 0.182073 1.770765)
+     4.071185 #(0.000000 0.956640 1.083713 0.493342 0.797185 0.138960 0.613585 0.388904 -0.007616 0.968034 0.616152 1.753096 0.351362 1.174080 1.220111 1.511627 0.186455 1.775153)
+     4.069528 #(0.000000 0.956814 1.082990 0.493213 0.796608 0.137780 0.611831 0.387091 -0.011186 0.965014 0.614046 1.752338 0.348807 1.169857 1.216059 1.508238 0.182073 1.770765)
      )
 
 ;;; 19 odd -------------------------------------------------------------------------------- ; 4.358898
-(vector 19 4.8924918279945 (fv 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1)
+(vector 19 4.8924918279945 #(0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1)
      
-     4.173923 (fv 0.000000 0.329738 1.407540 1.252167 0.448297 0.551162 1.341659 1.859617 1.357020 0.222879 0.553639 1.254187 0.641694 -0.208417 1.489583 1.646436 1.391179 1.758274 1.299312)
-     4.171858 (fv 0.000000 0.330499 1.406874 1.250304 0.450026 0.551790 1.342413 1.858827 1.359366 0.223792 0.553485 1.256415 0.641759 -0.208630 1.490602 1.646088 1.388713 1.758053 1.297635)
+     4.173923 #(0.000000 0.329738 1.407540 1.252167 0.448297 0.551162 1.341659 1.859617 1.357020 0.222879 0.553639 1.254187 0.641694 -0.208417 1.489583 1.646436 1.391179 1.758274 1.299312)
+     4.171858 #(0.000000 0.330499 1.406874 1.250304 0.450026 0.551790 1.342413 1.858827 1.359366 0.223792 0.553485 1.256415 0.641759 -0.208630 1.490602 1.646088 1.388713 1.758053 1.297635)
      )
 
 ;;; 20 odd -------------------------------------------------------------------------------- ; 4.472135
-(vector 20 5.043 (fv 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0)
+(vector 20 5.043 #(0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0)
 
-     4.357980 (fv 0.000000 0.074668 -0.007236 0.182274 -0.090904 0.683075 1.087950 1.620610 1.402047 0.349796 1.096502 -0.498958 0.949574 -0.321894 1.411823 0.831379 -0.654670 0.294879 -0.284984 1.407225)
-     4.356656 #(0.000000 0.044744 -0.047981 0.128863 -0.150103 0.595893 0.996459 1.503334 1.271777 0.210796 0.941585 -0.676423 0.753934 -0.518223 1.199582 0.603645 -0.895309 0.041564 -0.570764 1.114521)
-     4.355995 #(0.000000 0.024523 -0.077981 0.094701 -0.185914 0.535056 0.941202 1.418233 1.182050 0.122672 0.835173 -0.794144 0.620245 -0.650040 1.051946 0.447935 -1.057769 -0.131937 -0.767349 0.907729)
+     4.357980 #(0.000000 0.074668 -0.007236 0.182274 -0.090904 0.683075 1.087950 1.620610 1.402047 0.349796 1.096502 -0.498958 0.949574 -0.321894 1.411823 0.831379 -0.654670 0.294879 -0.284984 1.407225)
+     4.301350 #(0.000000 1.462657 0.315046 1.257119 0.218364 -0.229560 0.191266 0.646076 -0.074737 0.182805 -0.095884 0.518081 0.428215 -0.270813 1.227758 1.155049 -0.394507 0.393747 0.491847 -0.074127)
+     4.300696 #(0.000000 1.453960 0.305048 1.243496 0.204325 -0.251563 0.160990 0.613695 -0.108690 0.149379 -0.143222 0.469144 0.382436 -0.318799 1.156560 1.098024 -0.463350 0.326646 0.412158 -0.149696)
      )
 
 ;;; 21 odd -------------------------------------------------------------------------------- ; 4.5825756
-(vector 21 5.1372244578347 (fv 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 0 1 1 0 1)
+(vector 21 5.1372244578347 #(0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 0 1 1 0 1)
 
-     4.448460 (fv 0.000000 1.232455 0.090847 0.908719 0.292484 1.788804 -0.065161 1.337389 1.076226 0.741452 1.053336 1.212537 1.463874 0.812811 1.503269 1.665124 0.651549 0.032446 1.058206 1.235365 -0.036822)
-     4.447712 #(0.000000 1.220427 0.045293 0.858629 0.231429 1.700142 -0.160980 1.218894 0.949798 0.603291 0.899651 1.035822 1.269858 0.612061 1.290837 1.429732 0.418061 -0.221908 0.767727 0.941622 -0.345580)
+     4.448460 #(0.000000 1.232455 0.090847 0.908719 0.292484 1.788804 -0.065161 1.337389 1.076226 0.741452 1.053336 1.212537 1.463874 0.812811 1.503269 1.665124 0.651549 0.032446 1.058206 1.235365 -0.036822)
+     4.400133 #(0.000000 1.421969 0.432928 1.323306 0.852962 0.504322 0.760610 0.255553 0.174738 -0.050501 0.443901 0.710959 1.135718 0.433735 1.396810 -0.270794 0.666555 0.133068 1.539972 -0.289562 0.510759)
+     4.398753 #(0.000000 1.496452 0.530521 1.466840 1.037430 0.768041 1.062178 0.568630 0.521390 0.318401 0.839156 1.187950 1.614960 0.975948 -0.029541 0.335933 1.354945 0.841788 0.263047 0.509077 1.300143)
      )
 
 ;;; 22 odd -------------------------------------------------------------------------------- ; 4.6904157
-(vector 22 5.1805551751198 (fv 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0)
+(vector 22 5.1805551751198 #(0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0)
 
-     4.581017 (fv 0.000000 0.180996 0.414015 1.937535 0.354831 0.584078 1.521008 1.778595 1.533807 1.338106 -0.034930 1.700610 0.808153 0.348626 1.850606 -0.102689 0.038967 0.664253 1.395687 0.513457 1.627689 0.472162)
-     4.579257 #(0.000000 0.160145 0.376968 1.878139 0.284740 0.487496 1.415433 1.651566 1.394773 1.183605 -0.193956 1.531888 0.608672 0.136531 1.618492 -0.352713 -0.215925 0.386438 1.100273 0.216695 1.305644 0.124351)
-     4.578852 #(0.000000 0.154050 0.362874 1.858028 0.259714 0.456041 1.377794 1.607955 1.346684 1.127150 -0.251090 1.469023 0.539758 0.060029 1.535419 -0.438194 -0.308160 0.292150 0.997798 0.111637 1.191665 0.001305)
+     4.581017 #(0.000000 0.180996 0.414015 1.937535 0.354831 0.584078 1.521008 1.778595 1.533807 1.338106 -0.034930 1.700610 0.808153 0.348626 1.850606 -0.102689 0.038967 0.664253 1.395687 0.513457 1.627689 0.472162)
+     4.572966 #(0.000000 0.624974 -0.494704 -0.062730 0.437887 0.708437 0.329958 1.081405 -0.318053 -0.503605 0.061743 0.515507 -0.185504 0.100991 -0.057279 1.106734 -1.261148 -0.049536 0.800865 0.581274 0.648500 0.158381)
+     4.564487 #(0.000000 0.576405 -0.579542 -0.156941 0.290094 0.541216 0.112010 0.847419 -0.573063 -0.792734 -0.277370 0.148421 -0.579056 -0.322667 -0.510430 0.613557 -1.772650 -0.608491 0.219823 -0.009843 -0.000061 -0.530362)
      )
 
 ;;; 23 odd -------------------------------------------------------------------------------- ; 4.7958315
-(vector 23 5.4125407453101 (fv 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1)
+(vector 23 5.4125407453101 #(0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1)
 
-     4.661614 (fv 0.000000 0.402662 0.143299 -0.307618 -0.213995 0.796949 1.006633 1.285380 1.569840 0.564104 0.342477 0.293161 1.200899 0.723618 0.539973 0.518746 0.907665 0.184015 1.163786 0.995418 -1.860771 1.039418 -0.124574)
-     4.658390 #(0.000000 0.419962 0.178288 -0.267818 -0.157520 0.874624 1.093455 1.384101 1.676081 0.681110 0.477454 0.442373 1.355797 0.900490 0.720817 0.711944 1.110707 0.407242 1.398561 1.238977 -1.594245 1.310605 0.162743)
-     4.657663 #(0.000000 0.426179 0.187628 -0.253909 -0.133844 0.893467 1.114444 1.407608 1.699926 0.710638 0.510068 0.482278 1.406393 0.953421 0.771560 0.766163 1.164739 0.476423 1.464465 1.310299 -1.522425 1.393778 0.244012)
+     4.661614 #(0.000000 0.402662 0.143299 -0.307618 -0.213995 0.796949 1.006633 1.285380 1.569840 0.564104 0.342477 0.293161 1.200899 0.723618 0.539973 0.518746 0.907665 0.184015 1.163786 0.995418 -1.860771 1.039418 -0.124574)
+     4.636176 #(0.000000 0.519866 0.374819 -0.030447 0.192370 1.304984 1.571487 -0.066414 0.252962 1.322528 1.209237 1.264494 0.242765 1.907322 1.729898 1.793071 0.231940 1.678090 0.706948 0.606492 1.894338 0.853159 1.787580)
+     4.634825 #(0.000000 0.336809 0.806144 -0.062567 0.702047 1.353357 1.333544 1.711363 1.335973 0.156420 1.259722 0.268353 0.775391 0.709193 0.489222 -0.013866 0.215803 1.155224 0.942400 0.393893 0.015582 0.693933 0.411664)
      )
 
 ;;; 24 odd -------------------------------------------------------------------------------- ; 4.89897948
-(vector 24 5.6193280144865 (fv 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1)
+(vector 24 5.6193280144865 #(0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1)
 
-     4.786434 (fv 0.000000 0.498846 1.191572 1.399155 0.479838 1.497230 -0.058887 0.823598 0.010384 0.864577 0.051220 1.057330 0.998513 1.799328 -0.041050 0.199658 0.646825 0.272218 0.034139 0.159133 0.043804 -0.115906 1.177655 0.690674)
+     4.786434 #(0.000000 0.498846 1.191572 1.399155 0.479838 1.497230 -0.058887 0.823598 0.010384 0.864577 0.051220 1.057330 0.998513 1.799328 -0.041050 0.199658 0.646825 0.272218 0.034139 0.159133 0.043804 -0.115906 1.177655 0.690674)
+     4.783551 #(0.000000 0.718903 0.843951 1.646228 0.245318 1.348243 -0.241958 0.553724 -0.135398 0.478801 -0.417787 0.837802 1.118912 1.185206 0.001003 -0.012570 0.249549 -0.381853 -0.460156 -0.067734 -0.098370 -0.601123 0.571496 -0.014893)
+     4.783029 #(0.000000 0.726248 0.856709 1.665477 0.271147 1.375734 -0.206610 0.592121 -0.087409 0.530646 -0.360424 0.901293 1.188841 1.262301 0.080781 0.071714 0.339949 -0.286037 -0.360911 0.038946 0.015798 -0.483821 0.695754 0.114401)
      )
 
 ;;; 25 odd -------------------------------------------------------------------------------- ; 5
-(vector 25 5.7220960914079 (fv 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1)
+(vector 25 5.7220960914079 #(0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1)
 
-     4.886819 (fv 0.000000 -0.128793 0.647898 0.792536 -0.285146 0.144218 1.160103 1.183437 -0.004858 -0.239530 1.215352 0.277973 0.699697 1.110172 0.616181 1.458993 0.406636 0.121039 0.182656 -0.085662 1.058149 0.147121 0.546131 0.378165 0.309175)
-     4.886236 #(0.000000 -0.128178 0.652568 0.797088 -0.275959 0.158174 1.174061 1.197383 0.009935 -0.214485 1.240655 0.302787 0.729528 1.140096 0.651272 1.495962 0.448573 0.161613 0.223277 -0.039067 1.103972 0.193914 0.595377 0.436930 0.366454)
+     4.886819 #(0.000000 -0.128793 0.647898 0.792536 -0.285146 0.144218 1.160103 1.183437 -0.004858 -0.239530 1.215352 0.277973 0.699697 1.110172 0.616181 1.458993 0.406636 0.121039 0.182656 -0.085662 1.058149 0.147121 0.546131 0.378165 0.309175)
+     4.865690 #(0.000000 0.049083 0.518359 1.226987 -0.738416 0.540127 0.766518 1.426508 -0.434331 -0.154303 1.590262 0.480087 0.287057 -1.105890 0.346099 -0.140690 0.422510 0.142277 0.052967 -0.203330 -0.865415 -0.068820 0.420811 -0.449472 0.543736)
+     4.862034 #(0.000000 0.010883 0.500081 1.154509 -0.822082 0.447783 0.644746 1.285452 -0.548061 -0.355481 1.403627 0.281321 0.074705 -1.368546 0.081592 -0.437696 0.142447 -0.192640 -0.266326 -0.565494 -1.250657 -0.428908 -0.017603 -0.874024 0.089961)
      )
 
 ;;; 26 odd -------------------------------------------------------------------------------- ; 5.0990
-(vector 26 5.8537594936002 (fv 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1)
+(vector 26 5.8537594936002 #(0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1)
 
-     5.006443 (fv 0.000000 1.694135 1.368613 1.372881 0.625230 0.749494 1.218456 1.691757 1.088538 0.652397 -0.134215 1.088115 0.314540 0.197061 0.715518 1.230349 1.542812 -0.159343 1.427261 1.767442 0.867761 1.850745 0.671024 -0.112496 0.172562 0.147817)
-     5.006036 #(0.000000 1.696557 1.372055 1.375045 0.631786 0.755711 1.226707 1.702261 1.098629 0.662269 -0.123532 1.099469 0.328115 0.211696 0.733087 1.251115 1.560506 -0.139299 1.445624 1.791126 0.890231 1.877406 0.695750 -0.085832 0.201983 0.175784)
+     5.006443 #(0.000000 1.694135 1.368613 1.372881 0.625230 0.749494 1.218456 1.691757 1.088538 0.652397 -0.134215 1.088115 0.314540 0.197061 0.715518 1.230349 1.542812 -0.159343 1.427261 1.767442 0.867761 1.850745 0.671024 -0.112496 0.172562 0.147817)
+     4.998313 #(0.000000 1.734366 1.452800 1.481416 0.767178 0.912208 1.420592 -0.092819 1.341912 0.935356 0.173174 1.426025 0.695197 0.600881 1.161029 1.696831 0.036081 0.368394 -0.024124 0.350178 1.493610 0.485227 1.353414 0.593653 0.909305 0.920489)
+     4.997597 #(0.000000 1.738732 1.464944 1.506852 0.793026 0.939307 1.467000 -0.059120 1.386349 0.993314 0.226614 1.492120 0.767958 0.673251 1.262733 1.788242 0.135591 0.470430 0.083411 0.467468 1.606652 0.610267 1.492062 0.741835 1.051515 1.074180)
      )
 
 ;;; 27 odd -------------------------------------------------------------------------------- ; 5.196152
-(vector 27 5.8637111082051 (fv 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1)
+(vector 27 5.8637111082051 #(0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1)
 
-     5.088823 (fv 0.000000 0.108028 1.216984 1.164689 0.975005 -0.022884 0.035464 -0.148996 0.575654 1.005987 1.378471 0.117457 0.956928 1.741009 0.131397 -0.243584 0.873140 0.514628 1.810242 0.918281 0.161062 1.222969 1.595595 1.233298 1.211975 1.332117 1.297417)
-     5.087482 #(0.000000 0.116642 1.233386 1.188837 1.007458 0.013222 0.081718 -0.090927 0.635200 1.079532 1.458945 0.207268 1.054227 1.843692 0.235599 -0.128212 0.993227 0.637850 1.940984 1.056899 0.307631 1.374291 1.769589 1.398353 1.398430 1.518174 1.491390)
+     5.088823 #(0.000000 0.108028 1.216984 1.164689 0.975005 -0.022884 0.035464 -0.148996 0.575654 1.005987 1.378471 0.117457 0.956928 1.741009 0.131397 -0.243584 0.873140 0.514628 1.810242 0.918281 0.161062 1.222969 1.595595 1.233298 1.211975 1.332117 1.297417)
+     5.085863 #(0.000000 0.128925 1.251125 1.214764 1.041899 0.057706 0.132363 -0.027871 0.701338 1.157060 1.544495 0.300753 1.157743 -0.045909 0.351461 -0.002752 1.121958 0.779052 0.085933 1.218255 0.473721 1.545898 1.955446 1.591383 1.599506 1.727019 1.708190)
+     5.085571 #(0.000000 0.134554 1.259859 1.228144 1.060230 0.079084 0.158344 0.004220 0.734810 1.196702 1.588244 0.348524 1.210515 0.009117 0.409728 0.061105 1.186771 0.849208 0.158894 1.297636 0.556923 1.631224 0.049754 1.687106 1.701477 1.830544 1.814985)
      )
 
 ;;; 28 odd -------------------------------------------------------------------------------- ; 5.291502
-(vector 28 6.0276107788086 (fv 0 0 1 1 1 0 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1)
+(vector 28 6.0276107788086 #(0 0 1 1 1 0 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1)
 
-     5.088899 (fv 0.000000 1.695594 -0.042323 0.221585 0.121059 0.906440 0.747864 0.144725 -0.170880 0.198031 0.623261 -0.016920 1.187997 1.805776 0.526952 0.257290 0.181436 1.671568 1.634262 0.482276 1.385748 1.687591 0.368532 1.304502 0.925524 0.205838 0.775793 0.352193)
+     5.088899 #(0.000000 1.695594 -0.042323 0.221585 0.121059 0.906440 0.747864 0.144725 -0.170880 0.198031 0.623261 -0.016920 1.187997 1.805776 0.526952 0.257290 0.181436 1.671568 1.634262 0.482276 1.385748 1.687591 0.368532 1.304502 0.925524 0.205838 0.775793 0.352193)
      )
 
 ;;; 29 odd -------------------------------------------------------------------------------- ; 5.385164
-(vector 29 6.0348020511367 (fv 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1)
+(vector 29 6.0348020511367 #(0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1)
 
-     5.263365 (fv 0.000000 0.151064 0.558177 0.735081 1.367806 -0.011277 1.649265 0.435302 1.718318 1.203162 0.977127 1.010028 0.703023 1.591655 0.710208 0.371369 0.285721 1.400549 0.654738 0.961707 0.849244 0.833954 0.047113 1.107680 1.103136 1.834278 0.611441 1.521356 0.107658)
+     5.263365 #(0.000000 0.151064 0.558177 0.735081 1.367806 -0.011277 1.649265 0.435302 1.718318 1.203162 0.977127 1.010028 0.703023 1.591655 0.710208 0.371369 0.285721 1.400549 0.654738 0.961707 0.849244 0.833954 0.047113 1.107680 1.103136 1.834278 0.611441 1.521356 0.107658)
+     5.259288 #(0.000000 0.166681 0.583269 0.778340 1.425069 0.059765 1.739046 0.528564 1.829114 1.331524 1.122056 1.160867 0.870985 1.763529 0.904217 0.580915 0.504372 1.635384 0.897463 1.218677 1.129924 1.124231 0.338591 1.419164 1.429852 0.160125 0.961152 1.885698 0.486330)
+     5.258751 #(0.000000 0.171574 0.592319 0.792973 1.446819 0.084857 1.769829 0.564731 1.868550 1.377844 1.173689 1.214525 0.934263 1.825439 0.976268 0.658329 0.582828 1.724114 0.984894 1.311650 1.228345 1.227537 0.450506 1.533849 1.549709 0.281643 1.094059 0.018092 0.627024)
      )
 
 ;;; 30 odd -------------------------------------------------------------------------------- ; 5.4772255
-(vector 30 6.2357559204102 (fv 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1)
+(vector 30 6.2357559204102 #(0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1)
 
-     5.353062 (fv 0.000000 -0.273797 0.780589 0.428126 1.742006 0.813705 1.826779 0.243133 0.799231 0.444552 0.600071 1.280010 -0.037027 0.801371 0.587721 1.132556 0.784854 1.819749 1.361833 1.646165 1.057885 0.274456 0.188906 0.072120 0.645190 1.511097 1.900389 1.698668 1.288971 1.535352)
+     5.353062 #(0.000000 -0.273797 0.780589 0.428126 1.742006 0.813705 1.826779 0.243133 0.799231 0.444552 0.600071 1.280010 -0.037027 0.801371 0.587721 1.132556 0.784854 1.819749 1.361833 1.646165 1.057885 0.274456 0.188906 0.072120 0.645190 1.511097 1.900389 1.698668 1.288971 1.535352)
      )
 
 ;;; 31 odd -------------------------------------------------------------------------------- ; 5.56776
-(vector 31 6.1342258453369 (fv 0 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 1)
+(vector 31 6.1342258453369 #(0 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 1)
 
-     5.418933 (fv 0.000000 1.386056 -0.055103 1.470738 1.133338 0.301486 1.278842 0.118113 0.785586 0.164711 0.277129 1.264947 0.805303 0.592921 0.251470 0.348783 0.666372 0.600263 0.392807 1.237206 -0.185182 1.790868 1.684032 0.764715 0.385641 1.091814 0.146242 0.339596 0.884327 1.106807 0.158763)
+     5.418933 #(0.000000 1.386056 -0.055103 1.470738 1.133338 0.301486 1.278842 0.118113 0.785586 0.164711 0.277129 1.264947 0.805303 0.592921 0.251470 0.348783 0.666372 0.600263 0.392807 1.237206 -0.185182 1.790868 1.684032 0.764715 0.385641 1.091814 0.146242 0.339596 0.884327 1.106807 0.158763)
      )
 
 ;;; 32 odd --------------------------------------------------------------------------------  ; 5.65685
-(vector 32 6.3532226957365 (fv 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1)
+(vector 32 6.3532226957365 #(0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1)
 
-     5.563263 (fv 0.000000 0.861343 1.208721 0.520795 1.054113 1.500902 0.176395 1.932292 0.475897 1.249746 1.078677 0.960255 1.432432 1.363500 0.301492 1.951062 1.402695 1.767079 1.762968 0.052405 1.191435 0.031852 1.950934 1.508841 1.124488 1.063642 0.897258 1.672866 0.358501 1.273522 0.844792 1.935288)
+     5.563263 #(0.000000 0.861343 1.208721 0.520795 1.054113 1.500902 0.176395 1.932292 0.475897 1.249746 1.078677 0.960255 1.432432 1.363500 0.301492 1.951062 1.402695 1.767079 1.762968 0.052405 1.191435 0.031852 1.950934 1.508841 1.124488 1.063642 0.897258 1.672866 0.358501 1.273522 0.844792 1.935288)
      )
 
 ;;; 33 odd -------------------------------------------------------------------------------- ; 5.74456
-(vector 33 6.4944429397583 (fv 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 0)
+(vector 33 6.4944429397583 #(0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 0)
      
-     5.602961 (fv 0.000000 1.602314 1.153414 1.251950 1.483737 0.842898 0.331110 1.775787 1.322292 1.204304 1.308143 0.894156 0.779513 0.992393 1.543652 0.196767 0.377438 0.791269 1.809959 1.067569 0.948715 1.605054 1.761811 1.528262 1.622887 0.603858 1.560497 -0.275070 0.725193 1.894504 0.570411 -0.063928 0.717166)
+     5.602961 #(0.000000 1.602314 1.153414 1.251950 1.483737 0.842898 0.331110 1.775787 1.322292 1.204304 1.308143 0.894156 0.779513 0.992393 1.543652 0.196767 0.377438 0.791269 1.809959 1.067569 0.948715 1.605054 1.761811 1.528262 1.622887 0.603858 1.560497 -0.275070 0.725193 1.894504 0.570411 -0.063928 0.717166)
      )
 
 ;;; 34 odd --------------------------------------------------------------------------------  ; 5.8309518
-(vector 34 6.5771403312683 (fv 0 0 1 1 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0)
+(vector 34 6.5771403312683 #(0 0 1 1 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0)
 
-     5.740544 (fv 0.000000 1.128136 0.272558 -0.038354 0.299624 0.550945 0.313230 0.243494 0.297552 -0.035270 1.018110 0.345979 1.524929 0.448210 1.252682 0.941202 0.533185 0.349491 1.187324 0.383773 0.599245 -0.155984 1.372487 0.578854 1.244062 1.476419 0.215593 0.058496 0.148247 1.077304 1.406503 0.859804 1.327046 0.146527)
+     5.740544 #(0.000000 1.128136 0.272558 -0.038354 0.299624 0.550945 0.313230 0.243494 0.297552 -0.035270 1.018110 0.345979 1.524929 0.448210 1.252682 0.941202 0.533185 0.349491 1.187324 0.383773 0.599245 -0.155984 1.372487 0.578854 1.244062 1.476419 0.215593 0.058496 0.148247 1.077304 1.406503 0.859804 1.327046 0.146527)
      )
 
 ;;; 35 odd -------------------------------------------------------------------------------- ; 5.9160
-(vector 35 6.7392678260803 (fv 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0)
+(vector 35 6.7392678260803 #(0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0)
      
-     5.833275 (fv 0.000000 0.446552 1.591598 1.665970 0.393066 0.930519 1.356028 1.466278 0.225797 1.216894 0.009583 0.233020 1.866671 1.148796 1.079614 1.602870 0.201424 1.366765 -0.045388 1.214248 0.402056 0.196949 1.726073 1.538289 -0.146596 -0.105825 1.452686 0.350527 1.133547 0.212285 1.683225 0.967867 0.587559 1.049939 0.968758)
+     5.833275 #(0.000000 0.446552 1.591598 1.665970 0.393066 0.930519 1.356028 1.466278 0.225797 1.216894 0.009583 0.233020 1.866671 1.148796 1.079614 1.602870 0.201424 1.366765 -0.045388 1.214248 0.402056 0.196949 1.726073 1.538289 -0.146596 -0.105825 1.452686 0.350527 1.133547 0.212285 1.683225 0.967867 0.587559 1.049939 0.968758)
      )
 
 ;;; 36 odd -------------------------------------------------------------------------------- ; 6
-(vector 36 6.8277182579041 (fv 0 1 1 0 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 0 0)
+(vector 36 6.8277182579041 #(0 1 1 0 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 0 0)
 
-     5.977640 (fv 0.000000 -0.070466 1.538192 0.984355 0.488221 1.019554 1.547512 1.704002 1.584416 0.668394 -0.001385 0.884114 1.504028 -0.187464 0.437132 1.457048 0.752720 0.480053 1.746828 0.789836 0.816665 1.133277 1.144098 1.330854 0.114924 1.293712 1.538716 1.521496 0.841528 0.693020 1.172435 0.408530 0.666143 -0.084621 1.417045 -0.037001)
+     5.977640 #(0.000000 -0.070466 1.538192 0.984355 0.488221 1.019554 1.547512 1.704002 1.584416 0.668394 -0.001385 0.884114 1.504028 -0.187464 0.437132 1.457048 0.752720 0.480053 1.746828 0.789836 0.816665 1.133277 1.144098 1.330854 0.114924 1.293712 1.538716 1.521496 0.841528 0.693020 1.172435 0.408530 0.666143 -0.084621 1.417045 -0.037001)
 
 	;; 35+1
      6.030643 #(0.000000 1.022108 1.134386 0.040000 1.020689 1.082726 -0.154753 1.098409 0.988397 0.898657 1.161207 0.157216 -0.172638 1.251128 1.003109 0.170160 0.036385 0.822058 1.148915 -0.012280 -0.203882 0.002376 0.142366 -0.019253 0.880987 1.211008 -0.244514 0.790432 -0.315814 0.996657 -0.069816 0.913294 0.063655 0.034201 0.148650 -0.048872)
@@ -1786,15 +1792,15 @@
      )
 
 ;;; 37 odd -------------------------------------------------------------------------------- ; 6.0827
-(vector 37 7.0 (fv 0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0)
+(vector 37 7.0 #(0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0)
 
-     6.019116 (fv 0.000000 1.198867 1.849092 0.935330 1.781957 0.496846 0.026335 0.303736 1.089299 1.074310 1.006658 1.377317 0.271438 1.654659 0.071833 0.494433 1.198697 -0.081156 0.936704 0.883271 1.529398 0.425484 0.218240 1.480439 1.569267 1.446099 0.465358 0.265303 1.385278 0.810099 0.212275 0.106695 0.522036 0.380536 0.175723 0.325421 -0.016008)
+     6.019116 #(0.000000 1.198867 1.849092 0.935330 1.781957 0.496846 0.026335 0.303736 1.089299 1.074310 1.006658 1.377317 0.271438 1.654659 0.071833 0.494433 1.198697 -0.081156 0.936704 0.883271 1.529398 0.425484 0.218240 1.480439 1.569267 1.446099 0.465358 0.265303 1.385278 0.810099 0.212275 0.106695 0.522036 0.380536 0.175723 0.325421 -0.016008)
      )
 
 ;;; 38 odd -------------------------------------------------------------------------------- ; 6.1644
-(vector 38 7.027690410614 (fv 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0)
+(vector 38 7.027690410614 #(0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0)
 
-     6.144266 (fv 0.000000 0.459111 0.978423 1.181967 1.503059 1.306778 0.862780 1.146756 1.405445 1.059554 0.793798 1.421482 1.624819 0.940808 1.764974 -0.199270 0.756440 1.330911 0.861332 0.933256 0.734269 -0.017456 1.393657 0.220679 1.806219 0.259427 -0.110057 1.180170 1.136238 0.286941 1.541821 0.220515 1.089015 1.358525 1.068195 1.590398 0.413700 0.247552)
+     6.144266 #(0.000000 0.459111 0.978423 1.181967 1.503059 1.306778 0.862780 1.146756 1.405445 1.059554 0.793798 1.421482 1.624819 0.940808 1.764974 -0.199270 0.756440 1.330911 0.861332 0.933256 0.734269 -0.017456 1.393657 0.220679 1.806219 0.259427 -0.110057 1.180170 1.136238 0.286941 1.541821 0.220515 1.089015 1.358525 1.068195 1.590398 0.413700 0.247552)
 
      ;; 37+1
      6.138688 #(0.000000 1.046261 1.784835 0.956057 1.812170 0.474533 0.170721 0.206638 1.084578 1.210612 0.877325 1.304868 0.216526 1.666615 0.017582 0.377950 1.122637 -0.152317 0.759942 0.908307 1.610556 0.619180 0.252252 1.289240 1.682699 1.456452 0.437125 0.204631 1.313659 1.057657 0.251390 0.015459 0.426277 0.374256 0.211841 0.291412 0.083784 0.055093)
@@ -1803,620 +1809,620 @@
      )
 
 ;;; 39 odd -------------------------------------------------------------------------------- ; 6.2449
-(vector 39 7.2362656593323 (fv 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0)
+(vector 39 7.2362656593323 #(0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0)
 
-     6.181539 (fv 0.000000 0.390214 1.432668 1.784856 0.372658 0.651343 0.590730 1.420862 1.232876 1.274776 1.031604 0.648830 1.314325 1.550338 0.798266 0.829350 0.920173 0.286182 1.175424 0.776791 1.481341 -0.170207 1.810272 0.591377 1.604472 0.287027 1.660006 1.308050 0.895442 0.027306 0.915319 0.337380 0.586293 1.687170 1.285611 1.205943 1.760871 1.039296 0.923977)
+     6.181539 #(0.000000 0.390214 1.432668 1.784856 0.372658 0.651343 0.590730 1.420862 1.232876 1.274776 1.031604 0.648830 1.314325 1.550338 0.798266 0.829350 0.920173 0.286182 1.175424 0.776791 1.481341 -0.170207 1.810272 0.591377 1.604472 0.287027 1.660006 1.308050 0.895442 0.027306 0.915319 0.337380 0.586293 1.687170 1.285611 1.205943 1.760871 1.039296 0.923977)
      )
 
 ;;; 40 odd -------------------------------------------------------------------------------- ; 6.3245
-(vector 40 7.5038495063782 (fv 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1 1)
+(vector 40 7.5038495063782 #(0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1 1)
 
-     6.272478 (fv 0.000000 1.284197 1.055354 1.062168 0.387815 0.825054 0.121504 1.716073 1.070732 1.544312 0.376494 1.037163 0.380448 0.304545 1.428265 0.150454 0.740589 -1.906896 0.496136 -0.130727 1.453974 1.546206 0.424585 1.220704 1.332527 1.409234 0.400583 1.072058 1.397035 -0.550500 0.327899 1.771283 0.928925 0.550551 1.392166 1.184654 1.462753 1.291611 1.910777 1.578007)
+     6.272478 #(0.000000 1.284197 1.055354 1.062168 0.387815 0.825054 0.121504 1.716073 1.070732 1.544312 0.376494 1.037163 0.380448 0.304545 1.428265 0.150454 0.740589 -1.906896 0.496136 -0.130727 1.453974 1.546206 0.424585 1.220704 1.332527 1.409234 0.400583 1.072058 1.397035 -0.550500 0.327899 1.771283 0.928925 0.550551 1.392166 1.184654 1.462753 1.291611 1.910777 1.578007)
      )
 
 ;;; 41 odd -------------------------------------------------------------------------------- ; 6.4031
-(vector 41 7.7093445316966 (fv 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 1)
+(vector 41 7.7093445316966 #(0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 1)
 
-     6.321636 (fv 0.000000 0.581881 1.284007 1.435590 0.968036 0.414485 0.203921 -0.085398 1.011694 1.215509 0.697775 0.907045 0.006237 0.289299 0.751565 0.182523 1.917428 0.830815 0.908047 0.267572 -0.061197 0.319855 0.591342 1.699511 1.912692 1.683447 0.192711 0.461781 0.828435 1.122559 0.524721 1.057548 0.753199 0.901168 -0.077807 0.957092 -0.092721 1.453709 0.349112 1.539336 1.035529)
+     6.321636 #(0.000000 0.581881 1.284007 1.435590 0.968036 0.414485 0.203921 -0.085398 1.011694 1.215509 0.697775 0.907045 0.006237 0.289299 0.751565 0.182523 1.917428 0.830815 0.908047 0.267572 -0.061197 0.319855 0.591342 1.699511 1.912692 1.683447 0.192711 0.461781 0.828435 1.122559 0.524721 1.057548 0.753199 0.901168 -0.077807 0.957092 -0.092721 1.453709 0.349112 1.539336 1.035529)
      )
 
 ;;; 42 odd -------------------------------------------------------------------------------- ; 6.4807
-(vector 42 7.77445936203 (fv 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1)
+(vector 42 7.77445936203 #(0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1)
 
-     6.403222 (fv 0.000000 0.615457 1.471291 0.696790 0.198813 1.064683 0.257669 1.499443 1.009189 1.331704 -0.126692 0.668087 -0.151536 1.235993 1.351147 1.834812 1.622001 1.575606 0.387431 1.123625 1.738720 0.186291 -0.093048 -0.362694 1.268339 0.808624 0.147243 0.174237 0.939940 0.098301 1.557405 1.899768 1.063327 1.398074 1.503515 -0.309876 1.592871 1.047295 0.347548 0.500256 0.502585 1.050388)
+     6.403222 #(0.000000 0.615457 1.471291 0.696790 0.198813 1.064683 0.257669 1.499443 1.009189 1.331704 -0.126692 0.668087 -0.151536 1.235993 1.351147 1.834812 1.622001 1.575606 0.387431 1.123625 1.738720 0.186291 -0.093048 -0.362694 1.268339 0.808624 0.147243 0.174237 0.939940 0.098301 1.557405 1.899768 1.063327 1.398074 1.503515 -0.309876 1.592871 1.047295 0.347548 0.500256 0.502585 1.050388)
      )
 
 ;;; 43 odd -------------------------------------------------------------------------------- ; 6.5574
-(vector 43 7.7573688953539 (fv 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 1)
+(vector 43 7.7573688953539 #(0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 1)
 
-     6.474181 (fv 0.000000 0.163031 0.868018 0.644438 0.499955 0.314476 0.501651 0.136276 0.115801 1.311189 1.257885 1.003167 1.668510 0.653556 0.900535 0.185303 1.792109 1.097281 0.880040 0.351492 0.533331 1.402396 1.722630 -0.341451 0.699659 1.677594 1.684893 1.301554 -0.032447 0.458521 1.242927 0.587312 1.726991 0.987710 0.168427 1.112409 0.233710 0.476465 1.063291 1.023410 1.387257 1.104431 1.814614)
+     6.474181 #(0.000000 0.163031 0.868018 0.644438 0.499955 0.314476 0.501651 0.136276 0.115801 1.311189 1.257885 1.003167 1.668510 0.653556 0.900535 0.185303 1.792109 1.097281 0.880040 0.351492 0.533331 1.402396 1.722630 -0.341451 0.699659 1.677594 1.684893 1.301554 -0.032447 0.458521 1.242927 0.587312 1.726991 0.987710 0.168427 1.112409 0.233710 0.476465 1.063291 1.023410 1.387257 1.104431 1.814614)
      )
 
 ;;; 44 odd -------------------------------------------------------------------------------- ; 6.6332
-(vector 44 7.9338580613871 (fv 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0)
+(vector 44 7.9338580613871 #(0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0)
 
-     6.599250 (fv 0.000000 0.351178 1.306835 1.466283 1.319851 0.565360 0.401323 -0.237018 1.055625 0.418518 0.685726 1.681541 1.845435 1.019294 1.472175 1.617323 0.599443 0.202024 1.548869 0.896807 1.498980 -0.449736 0.958935 0.672395 0.465421 0.363298 0.745996 0.800573 1.320237 0.704768 1.103042 1.233693 0.653096 1.449790 0.411870 1.110453 0.556583 1.736823 0.345497 0.024788 0.937504 1.224464 1.559019 1.346766)
+     6.599250 #(0.000000 0.351178 1.306835 1.466283 1.319851 0.565360 0.401323 -0.237018 1.055625 0.418518 0.685726 1.681541 1.845435 1.019294 1.472175 1.617323 0.599443 0.202024 1.548869 0.896807 1.498980 -0.449736 0.958935 0.672395 0.465421 0.363298 0.745996 0.800573 1.320237 0.704768 1.103042 1.233693 0.653096 1.449790 0.411870 1.110453 0.556583 1.736823 0.345497 0.024788 0.937504 1.224464 1.559019 1.346766)
      )
 
 ;;; 45 odd -------------------------------------------------------------------------------- ; 6.7082
-(vector 45 8.1351366043091 (fv 0 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0)
+(vector 45 8.1351366043091 #(0 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0)
 
-     6.624897 (fv 0.000000 1.004365 0.475962 1.144412 0.404466 0.708852 0.590380 0.024072 1.172296 1.113281 1.630362 1.256665 1.314082 0.342438 0.579726 1.460036 0.838934 0.298273 1.354989 1.643563 1.558056 1.967600 0.749164 1.349815 0.523705 0.276619 1.145711 1.733713 1.155806 1.020242 0.468578 1.677226 1.799379 1.623813 1.799356 0.670303 1.547676 1.429802 1.095547 0.114545 0.743241 1.141259 0.963105 1.247487 0.978965)
+     6.624897 #(0.000000 1.004365 0.475962 1.144412 0.404466 0.708852 0.590380 0.024072 1.172296 1.113281 1.630362 1.256665 1.314082 0.342438 0.579726 1.460036 0.838934 0.298273 1.354989 1.643563 1.558056 1.967600 0.749164 1.349815 0.523705 0.276619 1.145711 1.733713 1.155806 1.020242 0.468578 1.677226 1.799379 1.623813 1.799356 0.670303 1.547676 1.429802 1.095547 0.114545 0.743241 1.141259 0.963105 1.247487 0.978965)
      )
 
 ;;; 46 odd -------------------------------------------------------------------------------- ; 6.7823
-(vector 46 8.1455316543579 (fv 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1)
+(vector 46 8.1455316543579 #(0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1)
 
-     6.709237 (fv 0.000000 0.588728 0.764172 0.948247 0.778447 1.268756 0.080491 -0.381973 0.448541 1.688302 0.583900 0.609230 0.913000 1.244782 0.098190 0.458033 0.787717 0.012905 0.854674 1.035325 1.255759 0.507374 1.208176 0.514489 0.741105 1.441899 0.585374 1.583344 0.643511 1.525932 1.201616 0.846916 0.319659 0.030560 0.895113 0.341984 -0.007305 1.588064 0.007988 0.334683 0.349739 -0.215667 -0.068989 1.488454 0.988215 0.867211)
+     6.709237 #(0.000000 0.588728 0.764172 0.948247 0.778447 1.268756 0.080491 -0.381973 0.448541 1.688302 0.583900 0.609230 0.913000 1.244782 0.098190 0.458033 0.787717 0.012905 0.854674 1.035325 1.255759 0.507374 1.208176 0.514489 0.741105 1.441899 0.585374 1.583344 0.643511 1.525932 1.201616 0.846916 0.319659 0.030560 0.895113 0.341984 -0.007305 1.588064 0.007988 0.334683 0.349739 -0.215667 -0.068989 1.488454 0.988215 0.867211)
      )
 
 ;;; 47 odd -------------------------------------------------------------------------------- ; 6.8556
-(vector 47 8.336971282959  (fv 0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0)
+(vector 47 8.336971282959  #(0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0)
 
-     6.785244 (fv 0.000000 0.898263 0.698671 0.821497 0.370262 0.536725 0.016930 1.555315 1.553643 1.249848 -0.203480 1.765177 0.026588 0.111231 -0.039332 0.662791 0.096267 1.286138 1.353013 0.226230 0.057438 1.648120 -0.088502 0.524016 1.306955 -0.084552 0.350695 1.753518 1.303444 0.678968 0.693452 0.498589 1.005882 1.660165 0.430707 0.068634 0.587061 1.130543 1.939600 0.152146 1.459634 0.723147 1.428638 0.763075 1.800028 1.481715 0.488673)
+     6.785244 #(0.000000 0.898263 0.698671 0.821497 0.370262 0.536725 0.016930 1.555315 1.553643 1.249848 -0.203480 1.765177 0.026588 0.111231 -0.039332 0.662791 0.096267 1.286138 1.353013 0.226230 0.057438 1.648120 -0.088502 0.524016 1.306955 -0.084552 0.350695 1.753518 1.303444 0.678968 0.693452 0.498589 1.005882 1.660165 0.430707 0.068634 0.587061 1.130543 1.939600 0.152146 1.459634 0.723147 1.428638 0.763075 1.800028 1.481715 0.488673)
      )
 
 ;;; 48 odd -------------------------------------------------------------------------------- ; 6.9282
-(vector 48 8.35563071219336 (fv 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 1 0 0 0 1)
+(vector 48 8.35563071219336 #(0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 1 0 0 0 1)
 
-     6.828028 (fv 0.000000 0.998004 1.077433 0.148071 1.527370 -0.144913 1.645316 1.723923 0.412024 1.174877 0.494923 1.411660 0.605628 1.628272 1.064698 1.228914 0.098971 0.692407 0.395792 1.297327 -0.001580 1.140646 1.342219 1.577941 0.241000 1.510351 1.184692 1.697190 1.378912 1.591005 -0.082196 0.468455 0.883072 0.625939 0.755107 0.095773 0.293743 0.637279 1.770381 1.345208 0.924216 0.393583 0.137327 1.278382 0.157871 0.442417 0.371701 -0.029442)
+     6.828028 #(0.000000 0.998004 1.077433 0.148071 1.527370 -0.144913 1.645316 1.723923 0.412024 1.174877 0.494923 1.411660 0.605628 1.628272 1.064698 1.228914 0.098971 0.692407 0.395792 1.297327 -0.001580 1.140646 1.342219 1.577941 0.241000 1.510351 1.184692 1.697190 1.378912 1.591005 -0.082196 0.468455 0.883072 0.625939 0.755107 0.095773 0.293743 0.637279 1.770381 1.345208 0.924216 0.393583 0.137327 1.278382 0.157871 0.442417 0.371701 -0.029442)
      )
 
 ;;; 49 odd -------------------------------------------------------------------------------- ; 7
-(vector 49 8.57458718352971 (fv 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0)
+(vector 49 8.57458718352971 #(0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0)
 
-	6.988750 (fv 0.000000 -0.166791 0.066489 1.162315 1.337152 0.223301 0.045811 -0.093825 1.332601 1.728915 0.870363 0.493056 0.773831 1.546388 0.179602 0.790122 1.699394 1.317163 1.725149 1.408847 1.015662 0.639057 1.163324 0.986617 1.318547 -0.170292 0.080070 1.239083 1.484292 1.779081 0.940479 0.037560 -0.006305 1.151063 0.903661 1.767180 1.162011 1.427957 0.814000 1.843040 0.477534 1.459006 0.756363 0.414970 1.321498 0.061120 0.265825 0.092137 0.202930)
+	6.988750 #(0.000000 -0.166791 0.066489 1.162315 1.337152 0.223301 0.045811 -0.093825 1.332601 1.728915 0.870363 0.493056 0.773831 1.546388 0.179602 0.790122 1.699394 1.317163 1.725149 1.408847 1.015662 0.639057 1.163324 0.986617 1.318547 -0.170292 0.080070 1.239083 1.484292 1.779081 0.940479 0.037560 -0.006305 1.151063 0.903661 1.767180 1.162011 1.427957 0.814000 1.843040 0.477534 1.459006 0.756363 0.414970 1.321498 0.061120 0.265825 0.092137 0.202930)
      )
 
 ;;; 50 odd -------------------------------------------------------------------------------- ; 7.07
-(vector 50 8.711 (fv 0 0 0 0 1 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1)
+(vector 50 8.711 #(0 0 0 0 1 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1)
 
-     6.947137 (fv 0.000000 1.361221 1.058873 0.255818 1.371652 1.848584 -0.002271 1.052656 0.139885 0.680884 0.885258 1.006144 1.663943 1.665052 1.470510 1.693036 0.091983 0.825894 1.755289 1.033123 0.055566 1.508725 0.691199 1.233170 0.641006 1.442066 1.557992 1.909688 0.175284 1.577225 1.678517 1.358807 1.558359 1.883371 1.133931 1.053187 0.137949 1.901321 0.058023 0.971798 1.378739 0.843519 0.357409 0.498187 1.235125 0.734586 0.653589 0.242791 1.085625 -0.043484)
+     6.947137 #(0.000000 1.361221 1.058873 0.255818 1.371652 1.848584 -0.002271 1.052656 0.139885 0.680884 0.885258 1.006144 1.663943 1.665052 1.470510 1.693036 0.091983 0.825894 1.755289 1.033123 0.055566 1.508725 0.691199 1.233170 0.641006 1.442066 1.557992 1.909688 0.175284 1.577225 1.678517 1.358807 1.558359 1.883371 1.133931 1.053187 0.137949 1.901321 0.058023 0.971798 1.378739 0.843519 0.357409 0.498187 1.235125 0.734586 0.653589 0.242791 1.085625 -0.043484)
      )
 
 ;;; 51 odd -------------------------------------------------------------------------------- ; 7.141
-(vector 51 8.5829010009766 (fv 0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 0)
+(vector 51 8.5829010009766 #(0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 0)
 
-     7.087726 (fv 0.000000 0.875029 0.865937 0.367918 1.900818 0.762934 0.081270 0.353365 0.070375 -0.037477 1.275772 -0.100171 1.088567 1.481918 0.798713 1.260047 0.731048 1.035501 1.384103 0.728234 0.608922 1.769831 1.228331 0.727930 1.038826 -0.062865 0.731133 1.490525 1.564219 0.530975 0.845759 -0.127106 1.209031 0.537607 1.042200 0.906452 -0.105250 0.353212 0.368083 1.395843 1.206034 1.694293 0.348968 0.222228 0.523051 0.375570 0.283017 1.406111 0.934909 0.587260 0.940073)
+     7.087726 #(0.000000 0.875029 0.865937 0.367918 1.900818 0.762934 0.081270 0.353365 0.070375 -0.037477 1.275772 -0.100171 1.088567 1.481918 0.798713 1.260047 0.731048 1.035501 1.384103 0.728234 0.608922 1.769831 1.228331 0.727930 1.038826 -0.062865 0.731133 1.490525 1.564219 0.530975 0.845759 -0.127106 1.209031 0.537607 1.042200 0.906452 -0.105250 0.353212 0.368083 1.395843 1.206034 1.694293 0.348968 0.222228 0.523051 0.375570 0.283017 1.406111 0.934909 0.587260 0.940073)
      )
 
 ;;; 52 odd -------------------------------------------------------------------------------- ; 7.211
-(vector 52 8.8599758148193 (fv 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1)
+(vector 52 8.8599758148193 #(0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1)
 
-     7.080087 (fv 0.000000 0.216994 0.815073 0.651401 0.471967 0.035007 -0.067747 0.660856 0.580235 0.052345 1.785696 0.529423 0.205578 -0.247148 1.238971 0.096672 0.952857 0.166426 0.759284 1.719458 0.161518 1.592928 0.883009 0.245604 1.208605 0.995562 0.029395 0.487673 1.152615 0.362903 0.721410 0.862934 0.090743 0.014994 0.082182 0.993529 1.056537 1.708353 0.746025 -0.333233 1.155949 0.740213 0.619117 1.020646 1.502770 1.347142 1.371490 1.480724 0.363059 1.828476 0.147552 0.424061)
+     7.080087 #(0.000000 0.216994 0.815073 0.651401 0.471967 0.035007 -0.067747 0.660856 0.580235 0.052345 1.785696 0.529423 0.205578 -0.247148 1.238971 0.096672 0.952857 0.166426 0.759284 1.719458 0.161518 1.592928 0.883009 0.245604 1.208605 0.995562 0.029395 0.487673 1.152615 0.362903 0.721410 0.862934 0.090743 0.014994 0.082182 0.993529 1.056537 1.708353 0.746025 -0.333233 1.155949 0.740213 0.619117 1.020646 1.502770 1.347142 1.371490 1.480724 0.363059 1.828476 0.147552 0.424061)
      )
 
 ;;; 53 odd -------------------------------------------------------------------------------- ; 7.280
-(vector 53 9.037 (fv 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 0)
+(vector 53 9.037 #(0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 0)
 
-     7.252601 (fv 0.000000 1.316368 0.101159 0.287376 -0.120486 -0.146148 -0.293575 0.279566 1.566833 0.692861 -0.116203 1.111486 1.592177 1.082742 0.010661 0.754630 0.400780 0.795713 1.670109 1.185717 1.226796 -0.120012 0.262637 0.206364 0.738299 0.157263 0.604374 0.683095 1.946305 -0.043066 0.580881 1.320138 -0.043078 1.307240 1.171743 0.356072 0.398418 -0.096678 0.059824 1.235855 0.057573 -0.031810 1.322088 0.600804 1.405030 -0.237620 -0.007423 -0.083489 1.021491 1.628805 -0.222749 0.516076 0.301362)
+     7.252601 #(0.000000 1.316368 0.101159 0.287376 -0.120486 -0.146148 -0.293575 0.279566 1.566833 0.692861 -0.116203 1.111486 1.592177 1.082742 0.010661 0.754630 0.400780 0.795713 1.670109 1.185717 1.226796 -0.120012 0.262637 0.206364 0.738299 0.157263 0.604374 0.683095 1.946305 -0.043066 0.580881 1.320138 -0.043078 1.307240 1.171743 0.356072 0.398418 -0.096678 0.059824 1.235855 0.057573 -0.031810 1.322088 0.600804 1.405030 -0.237620 -0.007423 -0.083489 1.021491 1.628805 -0.222749 0.516076 0.301362)
      )
 
 ;;; 54 odd -------------------------------------------------------------------------------- ; 7.348
-(vector 54 9.025 (fv 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 0)
+(vector 54 9.025 #(0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 0)
 
-     7.328138 (fv 0.000000 0.352535 1.363504 0.096670 1.597330 -0.030072 1.222144 1.243528 0.696875 0.968663 0.162138 1.056566 0.539804 0.008667 0.316670 -0.098837 1.225380 -0.112322 0.244903 0.436331 1.746403 0.122260 0.091220 1.558109 1.217585 1.412994 0.339182 0.690620 1.846588 1.658518 0.529876 1.420789 0.398352 0.612668 1.926173 0.676632 0.529358 1.076039 0.628593 -0.021834 1.281928 0.607717 0.819453 1.795488 1.260788 0.439390 0.834961 1.345636 1.190831 1.783406 -0.135996 0.097131 0.579836 0.358027)
+     7.328138 #(0.000000 0.352535 1.363504 0.096670 1.597330 -0.030072 1.222144 1.243528 0.696875 0.968663 0.162138 1.056566 0.539804 0.008667 0.316670 -0.098837 1.225380 -0.112322 0.244903 0.436331 1.746403 0.122260 0.091220 1.558109 1.217585 1.412994 0.339182 0.690620 1.846588 1.658518 0.529876 1.420789 0.398352 0.612668 1.926173 0.676632 0.529358 1.076039 0.628593 -0.021834 1.281928 0.607717 0.819453 1.795488 1.260788 0.439390 0.834961 1.345636 1.190831 1.783406 -0.135996 0.097131 0.579836 0.358027)
      )
 
 ;;; 55 odd -------------------------------------------------------------------------------- ; 7.416
-(vector 55 9.2039985656738 (fv 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1)
+(vector 55 9.2039985656738 #(0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1)
 
-     7.364233 (fv 0.000000 0.395190 -0.153867 1.307052 0.778840 1.201427 1.584425 -0.091689 1.563398 0.221226 1.485388 0.595790 -0.041635 0.380534 0.103234 0.445988 1.706774 1.178799 1.315522 1.096083 0.260274 -0.072891 0.228062 0.239593 1.575799 0.203611 0.427975 1.251992 1.620128 0.666682 0.636489 0.025180 0.388251 0.546392 1.107252 0.996609 1.708598 0.607806 -0.354744 1.114522 1.187212 0.060556 1.020751 1.136440 0.719385 1.579705 0.166783 0.736570 0.421572 0.534881 0.141987 1.649951 0.500500 0.386302 -0.074892)
+     7.364233 #(0.000000 0.395190 -0.153867 1.307052 0.778840 1.201427 1.584425 -0.091689 1.563398 0.221226 1.485388 0.595790 -0.041635 0.380534 0.103234 0.445988 1.706774 1.178799 1.315522 1.096083 0.260274 -0.072891 0.228062 0.239593 1.575799 0.203611 0.427975 1.251992 1.620128 0.666682 0.636489 0.025180 0.388251 0.546392 1.107252 0.996609 1.708598 0.607806 -0.354744 1.114522 1.187212 0.060556 1.020751 1.136440 0.719385 1.579705 0.166783 0.736570 0.421572 0.534881 0.141987 1.649951 0.500500 0.386302 -0.074892)
      )
 
 ;;; 56 odd -------------------------------------------------------------------------------- ; 7.483
-(vector 56 9.3816785812378 (fv 0 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 1 1 0)
+(vector 56 9.3816785812378 #(0 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 1 1 0)
 
-     7.419120 (fv 0.000000 0.417128 1.082491 1.276854 0.765982 1.295111 1.835030 1.786443 0.675192 1.020185 0.394420 0.359608 0.697463 1.166247 0.564899 1.087103 0.889865 0.844186 1.419287 1.562675 0.248998 1.869468 1.111986 1.294693 1.863255 0.052934 0.338636 1.626312 1.601681 -0.021561 1.462490 1.791020 0.409025 1.675990 1.011444 1.359048 1.605820 1.247285 1.024241 0.457113 0.153603 0.242127 1.175155 0.206257 1.412766 1.496703 -0.140135 1.270904 0.393803 1.315634 0.897708 1.585792 0.563930 1.722379 1.612675 1.047507)
+     7.419120 #(0.000000 0.417128 1.082491 1.276854 0.765982 1.295111 1.835030 1.786443 0.675192 1.020185 0.394420 0.359608 0.697463 1.166247 0.564899 1.087103 0.889865 0.844186 1.419287 1.562675 0.248998 1.869468 1.111986 1.294693 1.863255 0.052934 0.338636 1.626312 1.601681 -0.021561 1.462490 1.791020 0.409025 1.675990 1.011444 1.359048 1.605820 1.247285 1.024241 0.457113 0.153603 0.242127 1.175155 0.206257 1.412766 1.496703 -0.140135 1.270904 0.393803 1.315634 0.897708 1.585792 0.563930 1.722379 1.612675 1.047507)
      )
 
 ;;; 57 odd -------------------------------------------------------------------------------- ; 7.549
-(vector 57 9.3903837203979 (fv 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 1 1 0)
+(vector 57 9.3903837203979 #(0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 1 1 0)
 
-     7.488896 (fv 0.000000 -0.127939 1.380652 0.701541 0.779535 0.090662 1.662797 0.879717 1.570316 1.307786 1.211090 0.971455 0.738042 1.474139 1.501173 1.322773 -0.333947 0.651999 1.407414 0.559437 0.970911 0.613447 1.441437 0.387240 1.769723 0.695953 -0.175580 0.102181 0.180022 1.529463 0.468743 0.084931 0.062956 0.298511 0.524008 0.924744 1.286647 1.428978 0.334028 1.302926 0.807711 0.283976 0.097723 1.284073 0.038191 0.329167 1.275797 0.351298 1.518403 1.571791 0.227818 0.842734 0.707030 0.435243 0.618490 0.867851 1.852691)
+     7.488896 #(0.000000 -0.127939 1.380652 0.701541 0.779535 0.090662 1.662797 0.879717 1.570316 1.307786 1.211090 0.971455 0.738042 1.474139 1.501173 1.322773 -0.333947 0.651999 1.407414 0.559437 0.970911 0.613447 1.441437 0.387240 1.769723 0.695953 -0.175580 0.102181 0.180022 1.529463 0.468743 0.084931 0.062956 0.298511 0.524008 0.924744 1.286647 1.428978 0.334028 1.302926 0.807711 0.283976 0.097723 1.284073 0.038191 0.329167 1.275797 0.351298 1.518403 1.571791 0.227818 0.842734 0.707030 0.435243 0.618490 0.867851 1.852691)
      )
 
 ;;; 58 odd -------------------------------------------------------------------------------- ; 7.6157
-(vector 58 9.5893135070801 (fv 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 0)
+(vector 58 9.5893135070801 #(0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 0)
 
-     7.585947 (fv 0.000000 0.517595 -0.138781 1.328351 0.394157 0.908218 0.526218 1.063012 1.239066 1.277916 1.783309 1.590363 0.539572 1.425376 1.601385 0.376842 0.888852 1.358950 1.916790 1.468314 0.490842 0.036065 1.359391 1.047397 0.699655 1.225098 0.065253 0.350008 0.483077 1.188989 1.002860 0.893562 0.202836 0.208109 1.801392 1.050084 -0.102454 1.813439 1.482474 -0.166271 1.426695 0.563055 -0.225427 0.436837 1.102639 0.467507 0.283291 1.511898 0.400494 1.606371 -0.049354 1.495330 -0.267319 0.336083 0.925094 0.220186 1.902233 -0.035784)
+     7.585947 #(0.000000 0.517595 -0.138781 1.328351 0.394157 0.908218 0.526218 1.063012 1.239066 1.277916 1.783309 1.590363 0.539572 1.425376 1.601385 0.376842 0.888852 1.358950 1.916790 1.468314 0.490842 0.036065 1.359391 1.047397 0.699655 1.225098 0.065253 0.350008 0.483077 1.188989 1.002860 0.893562 0.202836 0.208109 1.801392 1.050084 -0.102454 1.813439 1.482474 -0.166271 1.426695 0.563055 -0.225427 0.436837 1.102639 0.467507 0.283291 1.511898 0.400494 1.606371 -0.049354 1.495330 -0.267319 0.336083 0.925094 0.220186 1.902233 -0.035784)
      )
 
 ;;; 59 odd -------------------------------------------------------------------------------- ; 7.681
-(vector 59 9.5173864364624 (fv 0 1 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0)
+(vector 59 9.5173864364624 #(0 1 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0)
 
-     7.617785 (fv 0.000000 1.762340 0.513621 1.350480 0.395272 0.369068 0.305583 0.831518 1.232517 0.676844 0.014044 1.888953 1.633364 1.298874 0.424500 1.402106 0.715815 1.275937 1.488547 1.873193 1.738228 0.570388 0.057875 1.975863 0.297300 1.563912 0.772704 0.090655 0.241787 1.145030 0.785784 1.432008 1.006607 1.408581 0.812224 0.224382 0.926131 0.944185 -0.064326 0.205583 1.060366 0.673429 1.237483 1.421583 0.464247 1.651757 1.984268 1.030220 1.489122 1.350599 0.646010 1.371095 0.262034 0.720620 1.557135 1.181053 0.745491 0.926931 1.443337)
+     7.617785 #(0.000000 1.762340 0.513621 1.350480 0.395272 0.369068 0.305583 0.831518 1.232517 0.676844 0.014044 1.888953 1.633364 1.298874 0.424500 1.402106 0.715815 1.275937 1.488547 1.873193 1.738228 0.570388 0.057875 1.975863 0.297300 1.563912 0.772704 0.090655 0.241787 1.145030 0.785784 1.432008 1.006607 1.408581 0.812224 0.224382 0.926131 0.944185 -0.064326 0.205583 1.060366 0.673429 1.237483 1.421583 0.464247 1.651757 1.984268 1.030220 1.489122 1.350599 0.646010 1.371095 0.262034 0.720620 1.557135 1.181053 0.745491 0.926931 1.443337)
      )
 
 ;;; 60 odd -------------------------------------------------------------------------------- ; 7.7459
-(vector 60 9.6560277938843 (fv 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0)
+(vector 60 9.6560277938843 #(0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0)
 
-     7.699628 (fv 0.000000 -0.021305 0.599580 1.675097 0.724803 0.358532 0.890770 0.765518 0.237166 0.821603 0.185949 0.996346 -0.076908 1.733595 1.718331 -0.080896 1.631867 0.229557 1.219113 -0.444442 1.509828 0.286787 0.741904 1.151478 1.816287 -0.008152 -0.169986 1.514652 0.248473 1.296089 1.211441 0.399013 0.342384 1.801962 0.377537 0.181714 1.809056 1.599925 0.494049 0.298590 0.110648 0.855221 1.804868 0.666943 1.224265 1.636192 1.425598 0.559152 0.087897 0.972335 -0.105600 1.103327 1.345409 0.428767 -0.084957 1.609410 0.060258 0.846549 0.678506 0.580784)
+     7.699628 #(0.000000 -0.021305 0.599580 1.675097 0.724803 0.358532 0.890770 0.765518 0.237166 0.821603 0.185949 0.996346 -0.076908 1.733595 1.718331 -0.080896 1.631867 0.229557 1.219113 -0.444442 1.509828 0.286787 0.741904 1.151478 1.816287 -0.008152 -0.169986 1.514652 0.248473 1.296089 1.211441 0.399013 0.342384 1.801962 0.377537 0.181714 1.809056 1.599925 0.494049 0.298590 0.110648 0.855221 1.804868 0.666943 1.224265 1.636192 1.425598 0.559152 0.087897 0.972335 -0.105600 1.103327 1.345409 0.428767 -0.084957 1.609410 0.060258 0.846549 0.678506 0.580784)
      )
 
 ;;; 61 odd -------------------------------------------------------------------------------- ; 7.8102
-(vector 61 9.6689287776524 (fv 0 0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1)
+(vector 61 9.6689287776524 #(0 0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1)
 
-     7.775467 (fv 0.000000 -0.343145 0.781525 1.809127 0.251480 0.512435 0.079273 1.157280 0.819596 0.391398 -0.518556 1.678636 0.560600 0.125318 0.035700 1.744672 1.824327 1.087291 1.692006 0.706036 0.269610 1.403225 1.233897 0.487088 1.476172 -0.284871 0.794501 1.368364 0.656660 0.974817 1.000338 0.175726 1.024682 0.865508 0.404847 0.718158 0.071740 1.457732 -0.480756 0.735357 1.217441 0.811494 1.022056 0.829877 1.509011 1.174960 1.639594 0.781475 -0.011943 1.221853 -0.208689 0.133149 0.650142 1.217107 -0.446658 0.092120 -0.062880 0.676055 0.910707 0.946198 0.780527)
+     7.775467 #(0.000000 -0.343145 0.781525 1.809127 0.251480 0.512435 0.079273 1.157280 0.819596 0.391398 -0.518556 1.678636 0.560600 0.125318 0.035700 1.744672 1.824327 1.087291 1.692006 0.706036 0.269610 1.403225 1.233897 0.487088 1.476172 -0.284871 0.794501 1.368364 0.656660 0.974817 1.000338 0.175726 1.024682 0.865508 0.404847 0.718158 0.071740 1.457732 -0.480756 0.735357 1.217441 0.811494 1.022056 0.829877 1.509011 1.174960 1.639594 0.781475 -0.011943 1.221853 -0.208689 0.133149 0.650142 1.217107 -0.446658 0.092120 -0.062880 0.676055 0.910707 0.946198 0.780527)
      )
 
 ;;; 62 odd -------------------------------------------------------------------------------- ; 7.8740
-(vector 62 9.7982149124146 (fv 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0)
+(vector 62 9.7982149124146 #(0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0)
 
-     7.816985 (fv 0.000000 0.185485 -0.254761 0.263400 0.632430 0.127767 1.483161 1.282005 1.556675 0.709224 0.293439 0.049467 -0.087443 1.425471 0.595679 0.678957 0.447779 0.382124 0.717681 0.082649 -1.563917 -0.140691 0.229960 0.339346 0.083428 0.640485 0.923623 -0.076532 1.385224 0.166806 1.518517 1.222370 1.575074 0.899045 0.324075 1.508603 -0.064272 0.115115 0.407781 0.298344 1.252368 1.084082 0.264721 0.922346 1.331199 0.689780 0.795795 1.526817 0.163429 0.888100 0.510259 1.478381 0.318687 1.341508 1.785614 0.798865 0.525568 1.053899 1.308203 0.410567 -0.026960 1.103176)
+     7.816985 #(0.000000 0.185485 -0.254761 0.263400 0.632430 0.127767 1.483161 1.282005 1.556675 0.709224 0.293439 0.049467 -0.087443 1.425471 0.595679 0.678957 0.447779 0.382124 0.717681 0.082649 -1.563917 -0.140691 0.229960 0.339346 0.083428 0.640485 0.923623 -0.076532 1.385224 0.166806 1.518517 1.222370 1.575074 0.899045 0.324075 1.508603 -0.064272 0.115115 0.407781 0.298344 1.252368 1.084082 0.264721 0.922346 1.331199 0.689780 0.795795 1.526817 0.163429 0.888100 0.510259 1.478381 0.318687 1.341508 1.785614 0.798865 0.525568 1.053899 1.308203 0.410567 -0.026960 1.103176)
      )
 
 ;;; 63 odd -------------------------------------------------------------------------------- ; 7.9372
-(vector 63 9.8550319671631 (fv 0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 0)
+(vector 63 9.8550319671631 #(0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 0)
 
-     7.904133 (fv 0.000000 1.545501 0.155683 0.898914 0.625696 0.564119 0.345790 0.703891 0.981672 1.014462 1.740323 0.008567 -0.039871 0.470077 1.202746 0.366398 0.367999 1.293490 0.310624 1.016687 1.843528 0.474437 1.864085 0.859066 0.880435 1.525047 0.949229 0.065485 0.658928 0.625456 0.890422 0.157110 0.668174 1.537633 -0.133525 1.887056 1.094821 1.580831 1.506736 1.621226 1.791740 1.492769 0.830911 0.166732 1.797834 0.044991 1.834240 1.000450 1.479368 0.610232 0.816463 1.240492 0.107919 -0.111385 1.348751 1.167090 0.907202 0.154866 1.422414 0.720983 0.430601 -0.041659 0.656229)
+     7.904133 #(0.000000 1.545501 0.155683 0.898914 0.625696 0.564119 0.345790 0.703891 0.981672 1.014462 1.740323 0.008567 -0.039871 0.470077 1.202746 0.366398 0.367999 1.293490 0.310624 1.016687 1.843528 0.474437 1.864085 0.859066 0.880435 1.525047 0.949229 0.065485 0.658928 0.625456 0.890422 0.157110 0.668174 1.537633 -0.133525 1.887056 1.094821 1.580831 1.506736 1.621226 1.791740 1.492769 0.830911 0.166732 1.797834 0.044991 1.834240 1.000450 1.479368 0.610232 0.816463 1.240492 0.107919 -0.111385 1.348751 1.167090 0.907202 0.154866 1.422414 0.720983 0.430601 -0.041659 0.656229)
      )
 
 ;;; 64 odd -------------------------------------------------------------------------------- ; 8
-(vector 64 10.0 (fv 0 1 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0)
+(vector 64 10.0 #(0 1 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0)
 
-     7.957414 (fv 0.000000 0.941670 0.218463 1.054436 0.821282 0.779097 1.084317 0.220811 0.530574 -0.001214 1.277468 1.056444 1.434429 0.244804 0.635637 0.374642 1.294283 0.051882 1.563945 0.856817 0.659797 0.848723 0.789207 0.004337 0.642492 -0.752744 0.794434 0.546992 1.340010 0.716341 1.722360 1.081100 1.009399 0.345867 1.393328 1.377443 1.264631 0.487017 1.142544 0.031648 0.469271 -0.098334 -0.019627 0.567023 1.791954 0.511740 0.421519 0.992945 1.133377 1.668348 -0.054246 0.158608 -0.042808 1.772093 0.331126 0.762153 1.499580 1.813299 1.079657 1.088576 0.368377 1.519001 0.864479 0.914946)
+     7.957414 #(0.000000 0.941670 0.218463 1.054436 0.821282 0.779097 1.084317 0.220811 0.530574 -0.001214 1.277468 1.056444 1.434429 0.244804 0.635637 0.374642 1.294283 0.051882 1.563945 0.856817 0.659797 0.848723 0.789207 0.004337 0.642492 -0.752744 0.794434 0.546992 1.340010 0.716341 1.722360 1.081100 1.009399 0.345867 1.393328 1.377443 1.264631 0.487017 1.142544 0.031648 0.469271 -0.098334 -0.019627 0.567023 1.791954 0.511740 0.421519 0.992945 1.133377 1.668348 -0.054246 0.158608 -0.042808 1.772093 0.331126 0.762153 1.499580 1.813299 1.079657 1.088576 0.368377 1.519001 0.864479 0.914946)
      )
 
 ;;; 65 odd -------------------------------------------------------------------------------- ; 8.0622
-(vector 65 10.169842720032 (fv 0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1)
+(vector 65 10.169842720032 #(0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1)
 
-     8.041843 (fv 0.000000 1.510279 1.423698 1.698060 1.501053 1.180996 -0.085543 1.272940 0.246128 1.452754 1.116882 0.406181 0.071379 0.504041 0.790673 1.684489 -0.028841 0.150831 0.258232 0.575724 1.903805 0.049803 1.632670 1.087031 1.406375 1.614155 0.540793 1.593111 0.703911 1.182639 1.722176 0.257146 -0.290703 0.360167 1.805766 1.244616 1.636667 1.267448 1.403263 0.048920 1.072378 0.033352 0.081404 0.128813 0.847252 1.224433 1.268463 0.838170 0.941587 1.720222 0.172123 0.951570 1.520723 1.306591 0.465991 -0.022358 1.791525 1.039956 0.489959 1.798920 0.197346 1.247948 0.566292 0.910361 0.850668)
+     8.041843 #(0.000000 1.510279 1.423698 1.698060 1.501053 1.180996 -0.085543 1.272940 0.246128 1.452754 1.116882 0.406181 0.071379 0.504041 0.790673 1.684489 -0.028841 0.150831 0.258232 0.575724 1.903805 0.049803 1.632670 1.087031 1.406375 1.614155 0.540793 1.593111 0.703911 1.182639 1.722176 0.257146 -0.290703 0.360167 1.805766 1.244616 1.636667 1.267448 1.403263 0.048920 1.072378 0.033352 0.081404 0.128813 0.847252 1.224433 1.268463 0.838170 0.941587 1.720222 0.172123 0.951570 1.520723 1.306591 0.465991 -0.022358 1.791525 1.039956 0.489959 1.798920 0.197346 1.247948 0.566292 0.910361 0.850668)
      )
 
 ;;; 66 odd -------------------------------------------------------------------------------- ; 8.1240
-(vector 66 10.212840820553 (fv 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0)
+(vector 66 10.212840820553 #(0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0)
 
-     8.137089 (fv 0.000000 0.867002 -0.091284 0.941017 0.985813 1.124822 -0.061065 0.794288 1.395872 1.715915 0.180754 1.493753 0.091406 -0.059796 0.775109 -0.175925 1.503403 0.926368 0.549523 0.719653 -0.225722 0.805496 0.016786 1.138759 0.185499 1.460462 1.586490 0.459741 1.668207 1.371214 0.709682 0.824263 0.306383 0.060221 1.519433 1.454263 1.678352 0.268698 0.281303 0.104475 0.990641 -0.061422 1.164978 0.345674 0.648924 1.140977 0.632657 0.963358 1.933250 0.002500 1.501010 0.074909 0.787595 1.107851 1.157288 1.691148 1.812947 1.291647 1.327838 1.731755 1.607111 1.129367 0.868934 1.256116 1.509418 0.963219)
+     8.137089 #(0.000000 0.867002 -0.091284 0.941017 0.985813 1.124822 -0.061065 0.794288 1.395872 1.715915 0.180754 1.493753 0.091406 -0.059796 0.775109 -0.175925 1.503403 0.926368 0.549523 0.719653 -0.225722 0.805496 0.016786 1.138759 0.185499 1.460462 1.586490 0.459741 1.668207 1.371214 0.709682 0.824263 0.306383 0.060221 1.519433 1.454263 1.678352 0.268698 0.281303 0.104475 0.990641 -0.061422 1.164978 0.345674 0.648924 1.140977 0.632657 0.963358 1.933250 0.002500 1.501010 0.074909 0.787595 1.107851 1.157288 1.691148 1.812947 1.291647 1.327838 1.731755 1.607111 1.129367 0.868934 1.256116 1.509418 0.963219)
 
-     8.095195 (fv 0.000000 0.946051 -0.069946 0.931149 1.114323 1.098389 -0.039332 0.877524 1.318916 1.775911 0.245290 1.539842 0.131201 -0.108794 0.748602 -0.153383 1.475925 0.851225 0.482687 0.831474 -0.195116 0.598903 -0.150418 1.241002 0.075671 1.415619 1.425349 0.401276 1.645496 1.378829 0.717955 0.820749 0.280776 0.102463 1.505118 1.466659 1.804612 0.370381 0.198640 0.039917 0.927835 0.130993 1.362388 0.264055 0.657827 1.168088 0.670275 0.998910 -0.080695 -0.000494 1.446059 0.092607 0.764024 1.120077 1.135001 1.626300 -0.038234 1.325677 1.373468 1.689492 1.591066 1.008988 0.840459 1.246657 1.459948 0.945345)
+     8.095195 #(0.000000 0.946051 -0.069946 0.931149 1.114323 1.098389 -0.039332 0.877524 1.318916 1.775911 0.245290 1.539842 0.131201 -0.108794 0.748602 -0.153383 1.475925 0.851225 0.482687 0.831474 -0.195116 0.598903 -0.150418 1.241002 0.075671 1.415619 1.425349 0.401276 1.645496 1.378829 0.717955 0.820749 0.280776 0.102463 1.505118 1.466659 1.804612 0.370381 0.198640 0.039917 0.927835 0.130993 1.362388 0.264055 0.657827 1.168088 0.670275 0.998910 -0.080695 -0.000494 1.446059 0.092607 0.764024 1.120077 1.135001 1.626300 -0.038234 1.325677 1.373468 1.689492 1.591066 1.008988 0.840459 1.246657 1.459948 0.945345)
      )
 
 ;;; 67 odd -------------------------------------------------------------------------------- ; 8.1853
-(vector 67 10.209677696228 (fv 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 1)
+(vector 67 10.209677696228 #(0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 1)
 
-     8.127999 (fv 0.000000 0.156189 0.759312 0.316632 1.612933 0.605013 0.952530 0.423099 -0.112233 1.447269 0.863131 0.200670 1.538179 0.172873 0.737196 0.916694 1.524894 1.423218 1.337268 0.799228 0.023760 0.359774 1.033535 1.252717 0.399347 1.736421 0.199827 0.358145 1.847858 -0.157369 -0.118965 -0.296280 1.764663 0.918422 0.547247 0.781682 -0.101912 1.939111 1.078792 1.928250 0.777073 0.358591 1.566766 0.658960 0.895914 1.285541 1.636763 -0.098157 1.684110 0.891684 1.386081 0.068089 0.497477 0.528377 0.140207 0.953073 0.655659 0.018618 0.774991 0.503967 1.384065 0.100041 0.959741 0.153740 0.654728 0.200720 0.384936)
+     8.127999 #(0.000000 0.156189 0.759312 0.316632 1.612933 0.605013 0.952530 0.423099 -0.112233 1.447269 0.863131 0.200670 1.538179 0.172873 0.737196 0.916694 1.524894 1.423218 1.337268 0.799228 0.023760 0.359774 1.033535 1.252717 0.399347 1.736421 0.199827 0.358145 1.847858 -0.157369 -0.118965 -0.296280 1.764663 0.918422 0.547247 0.781682 -0.101912 1.939111 1.078792 1.928250 0.777073 0.358591 1.566766 0.658960 0.895914 1.285541 1.636763 -0.098157 1.684110 0.891684 1.386081 0.068089 0.497477 0.528377 0.140207 0.953073 0.655659 0.018618 0.774991 0.503967 1.384065 0.100041 0.959741 0.153740 0.654728 0.200720 0.384936)
      )
 
 ;;; 68 odd -------------------------------------------------------------------------------- ; 8.24621
-(vector 68 10.359804316765 (fv 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0)
+(vector 68 10.359804316765 #(0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0)
 
-     8.204414 (fv 0.000000 0.279095 1.647677 0.913913 0.663406 0.323080 0.240930 0.148599 0.780719 0.015227 1.335435 0.919514 1.070941 0.877126 0.293550 1.686752 0.481693 0.755701 0.785320 0.815615 1.595420 1.293383 0.426688 0.494705 1.026142 0.549725 1.259770 -0.007824 0.278489 0.224750 0.082547 0.719555 0.355973 0.908801 0.541094 0.432336 1.241602 1.708744 0.772870 1.505613 -0.137480 0.654507 1.657469 0.849573 0.009380 1.611286 1.676352 1.046709 1.432096 0.979028 1.747525 0.522938 0.318568 1.148496 -0.245690 0.703484 0.171945 1.485079 1.659272 -0.006233 0.283657 1.852744 1.398727 0.371514 0.974831 1.325922 0.719933 0.483798)
+     8.204414 #(0.000000 0.279095 1.647677 0.913913 0.663406 0.323080 0.240930 0.148599 0.780719 0.015227 1.335435 0.919514 1.070941 0.877126 0.293550 1.686752 0.481693 0.755701 0.785320 0.815615 1.595420 1.293383 0.426688 0.494705 1.026142 0.549725 1.259770 -0.007824 0.278489 0.224750 0.082547 0.719555 0.355973 0.908801 0.541094 0.432336 1.241602 1.708744 0.772870 1.505613 -0.137480 0.654507 1.657469 0.849573 0.009380 1.611286 1.676352 1.046709 1.432096 0.979028 1.747525 0.522938 0.318568 1.148496 -0.245690 0.703484 0.171945 1.485079 1.659272 -0.006233 0.283657 1.852744 1.398727 0.371514 0.974831 1.325922 0.719933 0.483798)
      )
 
 ;;; 69 odd -------------------------------------------------------------------------------- ; 8.3066
-(vector 69 10.452348709106 (fv 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1)
+(vector 69 10.452348709106 #(0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1)
 
-     8.274908 (fv 0.000000 1.788801 1.283513 -0.242756 0.145250 0.146755 0.584479 1.353542 0.821070 0.189803 1.413669 0.749926 1.058442 1.185407 1.095039 1.015258 0.161858 0.034929 0.498704 0.198138 1.711445 0.157768 0.616185 1.421248 1.168404 0.254474 1.519482 -0.175837 0.581687 0.194579 0.931780 -0.336100 0.287461 1.495068 0.039168 1.507647 0.993152 1.382317 1.231363 0.721890 1.622206 1.080570 0.186638 0.155662 0.909604 1.203958 1.050254 1.890059 0.428940 0.701250 -0.160137 0.279994 1.502298 0.567568 0.585424 0.686015 -0.246566 0.662061 0.986133 1.103373 0.572438 0.607162 -0.159332 0.926622 1.112278 0.937694 0.624990 1.345312 0.670451)
+     8.274908 #(0.000000 1.788801 1.283513 -0.242756 0.145250 0.146755 0.584479 1.353542 0.821070 0.189803 1.413669 0.749926 1.058442 1.185407 1.095039 1.015258 0.161858 0.034929 0.498704 0.198138 1.711445 0.157768 0.616185 1.421248 1.168404 0.254474 1.519482 -0.175837 0.581687 0.194579 0.931780 -0.336100 0.287461 1.495068 0.039168 1.507647 0.993152 1.382317 1.231363 0.721890 1.622206 1.080570 0.186638 0.155662 0.909604 1.203958 1.050254 1.890059 0.428940 0.701250 -0.160137 0.279994 1.502298 0.567568 0.585424 0.686015 -0.246566 0.662061 0.986133 1.103373 0.572438 0.607162 -0.159332 0.926622 1.112278 0.937694 0.624990 1.345312 0.670451)
      )
 
 ;;; 70 odd -------------------------------------------------------------------------------- ; 8.3666
-(vector 70 10.431521047498 (fv 0 1 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1)
+(vector 70 10.431521047498 #(0 1 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1)
 
-     8.328488 (fv 0.000000 1.209391 0.655351 -0.224668 0.270551 0.912782 1.006468 0.115362 1.639506 1.394128 1.775544 -0.158964 -0.191285 0.916307 -0.148807 -0.343643 0.171981 0.447415 0.684977 -0.187759 0.122627 0.642332 0.846737 0.920787 0.824105 -0.455822 1.004331 0.650453 0.327784 -0.378239 0.335174 0.883411 0.475111 1.924029 1.429019 1.351303 -0.183533 1.395982 0.599233 0.896200 1.135652 0.575692 1.213789 1.853140 0.377792 1.790714 0.835251 1.493542 0.305236 1.538414 0.647163 0.263422 1.348466 1.037276 0.893701 1.108073 -0.492190 -0.249170 1.081128 0.973414 0.593299 0.786885 0.003725 0.855855 1.605169 1.050037 0.831705 1.193285 0.128148 0.709803)
+     8.328488 #(0.000000 1.209391 0.655351 -0.224668 0.270551 0.912782 1.006468 0.115362 1.639506 1.394128 1.775544 -0.158964 -0.191285 0.916307 -0.148807 -0.343643 0.171981 0.447415 0.684977 -0.187759 0.122627 0.642332 0.846737 0.920787 0.824105 -0.455822 1.004331 0.650453 0.327784 -0.378239 0.335174 0.883411 0.475111 1.924029 1.429019 1.351303 -0.183533 1.395982 0.599233 0.896200 1.135652 0.575692 1.213789 1.853140 0.377792 1.790714 0.835251 1.493542 0.305236 1.538414 0.647163 0.263422 1.348466 1.037276 0.893701 1.108073 -0.492190 -0.249170 1.081128 0.973414 0.593299 0.786885 0.003725 0.855855 1.605169 1.050037 0.831705 1.193285 0.128148 0.709803)
      )
 
 ;;; 71 odd -------------------------------------------------------------------------------- ; 8.4261
-(vector 71 10.642364501953 (fv 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 0)
+(vector 71 10.642364501953 #(0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 0)
 
-     8.475519 (fv 0.000000 1.238076 0.753931 1.905336 0.009769 0.107430 -0.130621 1.591198 0.182824 0.768320 1.146473 0.823523 0.829676 0.742699 -0.276539 0.324236 1.092544 0.415195 1.670265 1.207403 0.977157 1.540240 1.842707 1.816863 1.497289 1.724381 0.528087 1.371720 0.846254 0.443580 1.148328 1.771135 -0.168351 0.710309 -0.056239 1.109626 1.555511 -0.110149 0.103207 0.997197 1.006113 0.446860 1.034785 1.366376 1.616338 -0.046807 1.211677 1.130244 1.187406 1.353421 0.750549 1.080694 1.186040 0.268525 1.418417 0.401769 1.093799 -0.192487 0.855080 0.124908 -0.060822 1.069669 1.270728 0.527632 1.877202 0.240913 -0.052204 1.530974 1.498303 0.436500 1.851527)
+     8.475519 #(0.000000 1.238076 0.753931 1.905336 0.009769 0.107430 -0.130621 1.591198 0.182824 0.768320 1.146473 0.823523 0.829676 0.742699 -0.276539 0.324236 1.092544 0.415195 1.670265 1.207403 0.977157 1.540240 1.842707 1.816863 1.497289 1.724381 0.528087 1.371720 0.846254 0.443580 1.148328 1.771135 -0.168351 0.710309 -0.056239 1.109626 1.555511 -0.110149 0.103207 0.997197 1.006113 0.446860 1.034785 1.366376 1.616338 -0.046807 1.211677 1.130244 1.187406 1.353421 0.750549 1.080694 1.186040 0.268525 1.418417 0.401769 1.093799 -0.192487 0.855080 0.124908 -0.060822 1.069669 1.270728 0.527632 1.877202 0.240913 -0.052204 1.530974 1.498303 0.436500 1.851527)
 
-     ;; from this, but :odd 71 0.53864770353023 (fv 9.9351872829636 -0.2379167494546 3.1853837584999)??
-     ;; 9.9437 (fv 0.0000 1.0614 0.0950 1.1008 0.0787 1.0289 1.9512 0.8458 1.7125 0.5514 1.3626 0.1459 0.9014 1.6290 0.3289 1.0010 1.6452 0.2617 0.8503 1.4112 1.9442 0.4494 0.9268 1.3764 1.7982 0.1921 0.5583 0.8967 1.2072 1.4899 1.7449 1.9720 0.1713 0.3428 0.4865 0.6024 0.6904 0.7507 0.7831 0.7878 0.7646 0.7136 0.6349 0.5283 0.3939 0.2316 0.0416 1.8238 1.5781 1.3047 1.0034 0.6744 0.3175 1.9328 1.5203 1.0800 0.6119 0.1159 1.5922 1.0407 0.4613 1.8541 1.2192 0.5564 1.8658 1.1474 0.4012 1.6272 0.8253 1.9957 1.1382 )
+     ;; from this, but :odd 71 0.53864770353023 #(9.9351872829636 -0.2379167494546 3.1853837584999)??
+     ;; 9.9437 #(0.0000 1.0614 0.0950 1.1008 0.0787 1.0289 1.9512 0.8458 1.7125 0.5514 1.3626 0.1459 0.9014 1.6290 0.3289 1.0010 1.6452 0.2617 0.8503 1.4112 1.9442 0.4494 0.9268 1.3764 1.7982 0.1921 0.5583 0.8967 1.2072 1.4899 1.7449 1.9720 0.1713 0.3428 0.4865 0.6024 0.6904 0.7507 0.7831 0.7878 0.7646 0.7136 0.6349 0.5283 0.3939 0.2316 0.0416 1.8238 1.5781 1.3047 1.0034 0.6744 0.3175 1.9328 1.5203 1.0800 0.6119 0.1159 1.5922 1.0407 0.4613 1.8541 1.2192 0.5564 1.8658 1.1474 0.4012 1.6272 0.8253 1.9957 1.1382 )
 
-     8.471193 (fv 0.000000 1.251993 0.120909 1.147167 0.101021 0.991005 0.102768 0.840256 1.667018 0.493083 1.454975 0.236751 0.930972 1.613715 0.282901 1.264934 1.852683 0.309294 0.763244 1.396502 0.016107 0.421575 0.832061 0.905495 1.670197 0.206770 0.024145 0.415927 1.292038 1.512037 1.549693 1.890115 0.264325 -0.038970 0.344515 0.662351 0.896654 0.664956 0.697808 0.735895 0.787344 0.830776 0.256004 0.590650 0.201668 0.204354 0.381917 1.530833 1.289723 1.098254 0.882568 0.234043 0.016492 0.014075 1.543842 0.771174 0.029614 -0.188598 1.614192 0.901328 0.316437 -0.299368 1.157490 0.464174 -0.326258 1.156953 0.332845 1.674680 0.336028 -0.185110 1.185822)
+     8.471193 #(0.000000 1.251993 0.120909 1.147167 0.101021 0.991005 0.102768 0.840256 1.667018 0.493083 1.454975 0.236751 0.930972 1.613715 0.282901 1.264934 1.852683 0.309294 0.763244 1.396502 0.016107 0.421575 0.832061 0.905495 1.670197 0.206770 0.024145 0.415927 1.292038 1.512037 1.549693 1.890115 0.264325 -0.038970 0.344515 0.662351 0.896654 0.664956 0.697808 0.735895 0.787344 0.830776 0.256004 0.590650 0.201668 0.204354 0.381917 1.530833 1.289723 1.098254 0.882568 0.234043 0.016492 0.014075 1.543842 0.771174 0.029614 -0.188598 1.614192 0.901328 0.316437 -0.299368 1.157490 0.464174 -0.326258 1.156953 0.332845 1.674680 0.336028 -0.185110 1.185822)
 
-     8.406561 (fv 0.000000 1.136768 0.110422 1.080469 0.111645 0.980565 0.087135 0.892409 1.705799 0.484945 1.412134 0.209542 0.909173 1.678801 0.332063 1.134599 1.765595 0.287552 0.824497 1.474171 0.122562 0.547316 0.786695 0.921126 1.628959 0.181855 0.048990 0.491779 1.249164 1.531973 1.630614 -0.083456 0.308877 -0.134450 0.334308 0.596938 0.779083 0.610588 0.769576 0.748353 0.930715 0.765564 0.342767 0.573683 0.144254 0.219685 0.317964 1.469956 1.186980 1.051035 0.789756 0.253764 0.026652 -0.023543 1.467574 0.724088 0.114734 -0.223070 1.555542 0.968486 0.132084 -0.314737 1.118620 0.462013 -0.390063 1.067074 0.324923 1.582422 0.354510 -0.234876 1.172540)
+     8.406561 #(0.000000 1.136768 0.110422 1.080469 0.111645 0.980565 0.087135 0.892409 1.705799 0.484945 1.412134 0.209542 0.909173 1.678801 0.332063 1.134599 1.765595 0.287552 0.824497 1.474171 0.122562 0.547316 0.786695 0.921126 1.628959 0.181855 0.048990 0.491779 1.249164 1.531973 1.630614 -0.083456 0.308877 -0.134450 0.334308 0.596938 0.779083 0.610588 0.769576 0.748353 0.930715 0.765564 0.342767 0.573683 0.144254 0.219685 0.317964 1.469956 1.186980 1.051035 0.789756 0.253764 0.026652 -0.023543 1.467574 0.724088 0.114734 -0.223070 1.555542 0.968486 0.132084 -0.314737 1.118620 0.462013 -0.390063 1.067074 0.324923 1.582422 0.354510 -0.234876 1.172540)
      )
 
 ;;; 72 odd -------------------------------------------------------------------------------- ; 8.4853
-(vector 72 10.880306243896 (fv 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 1)
+(vector 72 10.880306243896 #(0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 1)
 
-     8.366430 (fv 0.000000 1.529157 0.709835 0.191619 0.777505 1.673931 1.052039 1.157229 0.197845 1.188203 0.205209 0.808312 1.907251 0.734102 1.471024 1.752009 0.976735 0.215092 1.669497 0.039070 0.308185 0.805661 0.414650 0.685942 0.933087 1.104471 0.869537 0.010581 1.431457 1.039490 0.654718 0.051163 1.637896 0.041328 0.434461 1.596916 0.630066 0.513683 1.126090 1.472280 0.029687 0.729904 0.900726 0.364456 0.829387 0.775767 0.087943 1.122617 0.054278 0.980310 0.814649 1.331669 0.404897 1.438813 0.751132 1.069103 1.033498 0.950755 0.588560 0.206118 0.697556 1.364322 0.007771 0.225318 -0.029948 1.266843 1.008881 -0.515131 0.251545 0.235634 0.009431 1.881826)
+     8.366430 #(0.000000 1.529157 0.709835 0.191619 0.777505 1.673931 1.052039 1.157229 0.197845 1.188203 0.205209 0.808312 1.907251 0.734102 1.471024 1.752009 0.976735 0.215092 1.669497 0.039070 0.308185 0.805661 0.414650 0.685942 0.933087 1.104471 0.869537 0.010581 1.431457 1.039490 0.654718 0.051163 1.637896 0.041328 0.434461 1.596916 0.630066 0.513683 1.126090 1.472280 0.029687 0.729904 0.900726 0.364456 0.829387 0.775767 0.087943 1.122617 0.054278 0.980310 0.814649 1.331669 0.404897 1.438813 0.751132 1.069103 1.033498 0.950755 0.588560 0.206118 0.697556 1.364322 0.007771 0.225318 -0.029948 1.266843 1.008881 -0.515131 0.251545 0.235634 0.009431 1.881826)
      )
 
 ;;; 73 odd -------------------------------------------------------------------------------- ; 8.5440
-(vector 73 10.907942771912 (fv 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1)
+(vector 73 10.907942771912 #(0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1)
 
-     8.514653 (fv 0.000000 1.403201 0.376583 -0.053235 1.209136 1.524715 0.146380 -0.261365 0.834173 1.272975 1.772227 0.023615 0.314599 1.515420 0.115615 0.532763 0.813612 1.148749 0.624829 1.610666 0.428301 0.533410 1.364035 0.688805 -0.345103 -0.033075 0.031988 1.294508 1.610808 0.200563 1.512417 1.458407 0.018985 0.336604 -0.051222 0.346655 1.033154 0.703796 1.103730 1.139661 0.592095 0.478459 0.370549 0.620498 -0.386452 0.468708 0.040902 1.488975 0.539537 0.999795 0.347372 0.354446 0.387241 1.176009 1.306213 0.778993 0.280166 0.010910 0.034863 0.320352 1.620759 0.391262 0.863014 -0.075789 1.338588 1.092040 0.260638 1.463660 0.169121 0.826134 0.241084 1.728130 -0.116721)
+     8.514653 #(0.000000 1.403201 0.376583 -0.053235 1.209136 1.524715 0.146380 -0.261365 0.834173 1.272975 1.772227 0.023615 0.314599 1.515420 0.115615 0.532763 0.813612 1.148749 0.624829 1.610666 0.428301 0.533410 1.364035 0.688805 -0.345103 -0.033075 0.031988 1.294508 1.610808 0.200563 1.512417 1.458407 0.018985 0.336604 -0.051222 0.346655 1.033154 0.703796 1.103730 1.139661 0.592095 0.478459 0.370549 0.620498 -0.386452 0.468708 0.040902 1.488975 0.539537 0.999795 0.347372 0.354446 0.387241 1.176009 1.306213 0.778993 0.280166 0.010910 0.034863 0.320352 1.620759 0.391262 0.863014 -0.075789 1.338588 1.092040 0.260638 1.463660 0.169121 0.826134 0.241084 1.728130 -0.116721)
      )
 
 ;;; 74 odd -------------------------------------------------------------------------------- ; 8.6023
-(vector 74 11.262331896     (fv 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0)
+(vector 74 11.262331896     #(0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0)
 
-     8.487915 (fv 0.000000 0.229202 0.328610 0.886519 0.913243 -0.092303 1.469261 1.392280 0.102684 0.875868 1.119399 -0.375546 1.138609 1.792722 0.270873 0.158504 1.300583 0.337402 0.457798 0.994721 0.720190 1.266403 1.157785 0.204200 0.832717 1.368187 -0.207911 0.551921 0.143469 0.767289 -0.041673 0.248888 0.686134 1.808117 1.719833 1.634354 -0.372228 1.923379 1.132948 1.667043 0.857041 1.387145 0.637791 -0.326159 0.280564 1.478231 0.572776 0.063470 1.115045 1.234238 1.093760 0.166042 1.189669 0.933614 0.159392 1.594960 1.079073 1.251388 1.747471 1.137640 1.343339 1.096317 0.655141 0.037576 1.286106 -0.396608 1.310863 1.072774 0.013655 0.220749 -0.215382 0.087335 1.489739 0.952386)
+     8.487915 #(0.000000 0.229202 0.328610 0.886519 0.913243 -0.092303 1.469261 1.392280 0.102684 0.875868 1.119399 -0.375546 1.138609 1.792722 0.270873 0.158504 1.300583 0.337402 0.457798 0.994721 0.720190 1.266403 1.157785 0.204200 0.832717 1.368187 -0.207911 0.551921 0.143469 0.767289 -0.041673 0.248888 0.686134 1.808117 1.719833 1.634354 -0.372228 1.923379 1.132948 1.667043 0.857041 1.387145 0.637791 -0.326159 0.280564 1.478231 0.572776 0.063470 1.115045 1.234238 1.093760 0.166042 1.189669 0.933614 0.159392 1.594960 1.079073 1.251388 1.747471 1.137640 1.343339 1.096317 0.655141 0.037576 1.286106 -0.396608 1.310863 1.072774 0.013655 0.220749 -0.215382 0.087335 1.489739 0.952386)
      )
 
 ;;; 75 odd -------------------------------------------------------------------------------- ; 8.6603
-(vector 75 10.942812919617 (fv 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1)
+(vector 75 10.942812919617 #(0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1)
 
-     8.649507 (fv 0.000000 1.109688 1.876179 -0.024908 0.874394 0.094974 0.967726 0.182001 1.798004 0.764080 1.705983 0.246581 0.919892 -0.031641 0.074543 1.466120 -0.542452 1.308866 1.354893 0.937217 0.141091 0.972731 1.649929 0.076730 0.306081 1.082330 -0.056612 -0.033267 0.417204 0.002975 0.510299 0.334065 0.921554 0.578842 0.861949 0.516829 0.507298 0.089901 1.846522 0.266232 1.636125 0.773196 1.708397 0.143239 0.982116 1.755516 1.504659 0.043743 0.095624 0.325057 0.879744 1.064185 1.252657 0.311473 1.870059 0.309527 1.581011 1.908962 0.734045 1.785988 0.038323 0.023116 0.922283 0.858183 0.320752 1.741469 1.289108 0.871189 -0.238214 1.531119 1.355752 0.609175 0.669122 0.984951 0.033177)
+     8.649507 #(0.000000 1.109688 1.876179 -0.024908 0.874394 0.094974 0.967726 0.182001 1.798004 0.764080 1.705983 0.246581 0.919892 -0.031641 0.074543 1.466120 -0.542452 1.308866 1.354893 0.937217 0.141091 0.972731 1.649929 0.076730 0.306081 1.082330 -0.056612 -0.033267 0.417204 0.002975 0.510299 0.334065 0.921554 0.578842 0.861949 0.516829 0.507298 0.089901 1.846522 0.266232 1.636125 0.773196 1.708397 0.143239 0.982116 1.755516 1.504659 0.043743 0.095624 0.325057 0.879744 1.064185 1.252657 0.311473 1.870059 0.309527 1.581011 1.908962 0.734045 1.785988 0.038323 0.023116 0.922283 0.858183 0.320752 1.741469 1.289108 0.871189 -0.238214 1.531119 1.355752 0.609175 0.669122 0.984951 0.033177)
      )
 
 ;;; 76 odd -------------------------------------------------------------------------------- ; 8.7178
-(vector 76 11.21743106842 (fv 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0)
+(vector 76 11.21743106842 #(0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0)
 
-     8.651279 (fv 0.000000 0.173353 0.839453 0.789458 1.213196 0.485342 1.020793 1.079117 1.510944 0.872759 1.658963 0.469539 1.282086 0.224500 1.187595 1.001928 0.601189 0.457802 1.523606 0.013310 0.486526 1.038767 0.887428 0.818932 0.429987 0.518887 0.949464 1.376735 0.275451 0.805159 0.132159 1.431344 0.575428 0.009721 1.711880 1.360202 0.416637 0.859810 0.491831 0.882963 0.253397 0.012929 1.530000 0.177927 1.883242 1.959160 0.357646 1.604277 0.939839 1.031583 0.502599 0.924357 -0.060587 1.148550 0.762073 0.585290 1.515308 1.022656 0.505967 0.958132 1.937796 0.289650 0.388753 1.349929 0.430727 1.688517 1.350532 0.156971 0.890960 0.708951 1.606885 1.582622 1.628222 1.565608 0.127771 0.825769)
+     8.651279 #(0.000000 0.173353 0.839453 0.789458 1.213196 0.485342 1.020793 1.079117 1.510944 0.872759 1.658963 0.469539 1.282086 0.224500 1.187595 1.001928 0.601189 0.457802 1.523606 0.013310 0.486526 1.038767 0.887428 0.818932 0.429987 0.518887 0.949464 1.376735 0.275451 0.805159 0.132159 1.431344 0.575428 0.009721 1.711880 1.360202 0.416637 0.859810 0.491831 0.882963 0.253397 0.012929 1.530000 0.177927 1.883242 1.959160 0.357646 1.604277 0.939839 1.031583 0.502599 0.924357 -0.060587 1.148550 0.762073 0.585290 1.515308 1.022656 0.505967 0.958132 1.937796 0.289650 0.388753 1.349929 0.430727 1.688517 1.350532 0.156971 0.890960 0.708951 1.606885 1.582622 1.628222 1.565608 0.127771 0.825769)
      )
 
 ;;; 77 odd -------------------------------------------------------------------------------- ; 8.7750
-(vector 77 11.192246437073 (fv 0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0)
+(vector 77 11.192246437073 #(0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0)
 
-     8.707019 (fv 0.000000 1.733898 1.602888 1.700625 0.951967 1.205480 0.494785 0.079322 1.861432 1.411332 0.615577 0.456043 0.176616 0.522662 0.530871 0.948923 1.312747 1.035434 -0.217439 1.260792 0.366350 -0.233439 0.849314 1.174459 -0.193276 1.451248 0.290403 1.453670 0.668542 0.644436 1.306523 1.198202 0.657361 0.888118 1.964614 0.824349 -1.765380 0.784141 0.143386 -0.053030 0.033585 0.726269 -0.055055 0.121221 1.064245 1.578078 0.715470 -0.211778 1.194974 -0.095151 0.313319 0.914111 -0.007802 0.154723 0.086177 1.895682 1.191957 -0.344176 -0.285803 0.072705 0.944928 0.649978 0.107843 0.251480 -0.267013 1.016287 0.107966 1.055797 1.067984 1.857635 0.230948 0.492625 0.104053 0.572353 1.732176 0.353482 0.821975)
+     8.707019 #(0.000000 1.733898 1.602888 1.700625 0.951967 1.205480 0.494785 0.079322 1.861432 1.411332 0.615577 0.456043 0.176616 0.522662 0.530871 0.948923 1.312747 1.035434 -0.217439 1.260792 0.366350 -0.233439 0.849314 1.174459 -0.193276 1.451248 0.290403 1.453670 0.668542 0.644436 1.306523 1.198202 0.657361 0.888118 1.964614 0.824349 -1.765380 0.784141 0.143386 -0.053030 0.033585 0.726269 -0.055055 0.121221 1.064245 1.578078 0.715470 -0.211778 1.194974 -0.095151 0.313319 0.914111 -0.007802 0.154723 0.086177 1.895682 1.191957 -0.344176 -0.285803 0.072705 0.944928 0.649978 0.107843 0.251480 -0.267013 1.016287 0.107966 1.055797 1.067984 1.857635 0.230948 0.492625 0.104053 0.572353 1.732176 0.353482 0.821975)
      )
 
 ;;; 78 odd -------------------------------------------------------------------------------- ; 8.8318
-(vector 78 11.455265310659 (fv 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0)
+(vector 78 11.455265310659 #(0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0)
 
-     8.715270 (fv 0.000000 1.669247 0.757594 0.165819 0.288294 0.684770 0.557521 0.680526 1.097350 0.470057 1.849497 1.090608 0.922922 1.129049 0.104794 -0.129005 0.326960 -0.051784 1.142568 0.483331 0.896117 0.813482 0.302867 0.073158 -0.168821 0.656167 0.700004 1.004810 -0.007423 -0.189996 0.560929 0.412734 0.830296 1.110767 -0.043008 0.613326 0.576197 0.610404 1.233787 0.583712 0.887457 1.853983 1.162911 1.497407 0.204463 1.117898 1.731543 1.711291 0.816677 1.207698 1.691953 0.214296 -0.046452 0.692536 0.108168 0.208702 0.459557 1.630550 -0.229002 1.446147 1.208030 -0.028606 1.708585 1.336818 1.004606 0.393864 1.182948 -0.208442 1.255124 0.056920 1.572769 0.643674 1.170025 0.291140 1.025254 0.562266 0.633856 0.124004)
+     8.715270 #(0.000000 1.669247 0.757594 0.165819 0.288294 0.684770 0.557521 0.680526 1.097350 0.470057 1.849497 1.090608 0.922922 1.129049 0.104794 -0.129005 0.326960 -0.051784 1.142568 0.483331 0.896117 0.813482 0.302867 0.073158 -0.168821 0.656167 0.700004 1.004810 -0.007423 -0.189996 0.560929 0.412734 0.830296 1.110767 -0.043008 0.613326 0.576197 0.610404 1.233787 0.583712 0.887457 1.853983 1.162911 1.497407 0.204463 1.117898 1.731543 1.711291 0.816677 1.207698 1.691953 0.214296 -0.046452 0.692536 0.108168 0.208702 0.459557 1.630550 -0.229002 1.446147 1.208030 -0.028606 1.708585 1.336818 1.004606 0.393864 1.182948 -0.208442 1.255124 0.056920 1.572769 0.643674 1.170025 0.291140 1.025254 0.562266 0.633856 0.124004)
      )
 
 ;;; 79 odd -------------------------------------------------------------------------------- ; 8.8882
-(vector 79 11.54291004024 (fv 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0)
+(vector 79 11.54291004024 #(0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0)
 
-     8.864559 (fv 0.000000 0.357256 0.036759 1.292339 -1.618603 1.176406 0.544736 0.398074 0.109043 0.617241 0.697903 1.118083 1.422870 1.215951 0.004362 1.621202 0.264308 0.010496 1.213090 1.597753 -0.054911 1.223572 0.202448 0.615339 0.757193 0.130847 1.245098 1.256256 1.117774 0.701640 1.170787 1.057213 -0.087146 1.024522 1.105914 1.493238 0.672326 0.950638 -0.158430 0.266150 1.329043 0.773121 1.527296 -0.078973 1.669452 1.490229 0.141063 1.057903 0.727028 1.146281 0.010335 0.602841 1.428986 1.325796 1.320411 -0.094534 0.491229 0.443206 1.223761 0.317919 0.333487 -0.004296 1.074159 1.511918 1.245758 0.213171 1.140531 1.245789 0.552067 1.083032 0.600490 0.777304 0.106919 1.336123 1.060329 1.059212 0.289692 1.668881 1.086200)
+     8.864559 #(0.000000 0.357256 0.036759 1.292339 -1.618603 1.176406 0.544736 0.398074 0.109043 0.617241 0.697903 1.118083 1.422870 1.215951 0.004362 1.621202 0.264308 0.010496 1.213090 1.597753 -0.054911 1.223572 0.202448 0.615339 0.757193 0.130847 1.245098 1.256256 1.117774 0.701640 1.170787 1.057213 -0.087146 1.024522 1.105914 1.493238 0.672326 0.950638 -0.158430 0.266150 1.329043 0.773121 1.527296 -0.078973 1.669452 1.490229 0.141063 1.057903 0.727028 1.146281 0.010335 0.602841 1.428986 1.325796 1.320411 -0.094534 0.491229 0.443206 1.223761 0.317919 0.333487 -0.004296 1.074159 1.511918 1.245758 0.213171 1.140531 1.245789 0.552067 1.083032 0.600490 0.777304 0.106919 1.336123 1.060329 1.059212 0.289692 1.668881 1.086200)
      )
 
 ;;; 80 odd -------------------------------------------------------------------------------- ; 8.9443
-(vector 80 11.122416496277 (fv 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1)
+(vector 80 11.122416496277 #(0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1)
 
-     8.870144 (fv 0.000000 0.655710 0.591720 1.625031 0.418269 1.346736 0.349691 1.735905 1.181438 1.185938 0.537355 1.048431 0.310338 0.725392 0.138830 -0.162626 -0.012235 1.033480 1.181949 0.616925 1.912794 0.918753 0.626238 0.223870 0.664522 -0.078088 0.256973 1.394811 0.721353 1.350998 0.870615 0.111718 1.175636 1.041732 -0.087582 0.658928 1.024480 -0.106481 0.957206 0.153547 0.343423 1.369668 0.634606 0.765343 -0.148776 0.328436 0.827668 1.133483 1.461950 0.929478 0.348570 1.212214 0.446866 0.848436 0.219387 1.773456 1.168998 0.793903 0.614230 1.089360 1.446367 1.640320 0.120507 0.926616 0.816912 0.468029 0.525200 0.868913 1.510302 1.541893 -0.030330 0.055242 0.070867 0.042035 1.687456 0.144651 -0.241563 0.096801 -0.095086 0.917714)
+     8.870144 #(0.000000 0.655710 0.591720 1.625031 0.418269 1.346736 0.349691 1.735905 1.181438 1.185938 0.537355 1.048431 0.310338 0.725392 0.138830 -0.162626 -0.012235 1.033480 1.181949 0.616925 1.912794 0.918753 0.626238 0.223870 0.664522 -0.078088 0.256973 1.394811 0.721353 1.350998 0.870615 0.111718 1.175636 1.041732 -0.087582 0.658928 1.024480 -0.106481 0.957206 0.153547 0.343423 1.369668 0.634606 0.765343 -0.148776 0.328436 0.827668 1.133483 1.461950 0.929478 0.348570 1.212214 0.446866 0.848436 0.219387 1.773456 1.168998 0.793903 0.614230 1.089360 1.446367 1.640320 0.120507 0.926616 0.816912 0.468029 0.525200 0.868913 1.510302 1.541893 -0.030330 0.055242 0.070867 0.042035 1.687456 0.144651 -0.241563 0.096801 -0.095086 0.917714)
      )
 
 ;;; 81 odd -------------------------------------------------------------------------------- ; 9
-(vector 81 11.372210502625 (fv 0 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1)
+(vector 81 11.372210502625 #(0 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1)
 
-     8.926326 (fv 0.000000 0.164735 -0.380225 0.081555 1.097918 1.524480 0.077656 0.977304 0.407700 0.831319 0.533822 0.615403 1.642513 -0.058036 0.444751 1.446330 0.995710 0.841112 0.528746 0.832226 0.248085 0.502898 1.190162 0.745146 -0.208212 0.492995 1.110378 0.980131 0.817203 1.338834 1.000001 1.336192 1.804389 0.900670 0.555661 1.748659 0.603816 0.728857 -0.167279 1.058563 1.176033 1.277029 1.122180 1.127499 -0.224172 0.316000 1.080199 0.508511 0.252234 0.338999 0.400496 1.857653 0.607017 0.245631 0.807136 -0.037588 -0.063570 1.552479 1.126540 0.180335 0.976685 0.410774 1.244176 1.541645 1.450598 0.050542 0.208414 1.102430 0.959489 0.189328 0.354550 1.724776 1.384943 0.545643 1.965929 0.479461 0.756949 1.038515 -0.004640 1.477899 0.906680)
+     8.926326 #(0.000000 0.164735 -0.380225 0.081555 1.097918 1.524480 0.077656 0.977304 0.407700 0.831319 0.533822 0.615403 1.642513 -0.058036 0.444751 1.446330 0.995710 0.841112 0.528746 0.832226 0.248085 0.502898 1.190162 0.745146 -0.208212 0.492995 1.110378 0.980131 0.817203 1.338834 1.000001 1.336192 1.804389 0.900670 0.555661 1.748659 0.603816 0.728857 -0.167279 1.058563 1.176033 1.277029 1.122180 1.127499 -0.224172 0.316000 1.080199 0.508511 0.252234 0.338999 0.400496 1.857653 0.607017 0.245631 0.807136 -0.037588 -0.063570 1.552479 1.126540 0.180335 0.976685 0.410774 1.244176 1.541645 1.450598 0.050542 0.208414 1.102430 0.959489 0.189328 0.354550 1.724776 1.384943 0.545643 1.965929 0.479461 0.756949 1.038515 -0.004640 1.477899 0.906680)
      )
 
 ;;; 82 odd -------------------------------------------------------------------------------- ; 9.0554
-(vector 82 11.662058134504 (fv 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 0)
+(vector 82 11.662058134504 #(0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 0)
 
-     8.895498 (fv 0.000000 1.650756 0.929235 0.669074 0.458613 1.575883 1.406092 1.106790 0.596730 0.021347 1.134970 0.616933 1.701827 0.504785 1.614982 1.519418 0.470952 1.289129 0.059550 0.427695 0.231422 1.559220 0.383709 0.161407 0.068209 -0.031038 1.865998 -0.109083 1.124535 0.249567 0.520329 0.463755 1.759816 0.122747 -0.063135 1.879507 0.089457 0.845717 1.061947 -0.248630 -0.240924 0.207853 1.548893 0.621489 0.599673 1.031885 -0.104736 1.726398 0.898686 0.128558 0.928155 1.723232 0.730130 1.329452 0.779285 1.207734 0.370523 1.269134 1.812531 0.562255 0.696469 1.440871 0.214062 1.838981 0.082605 1.605017 1.504365 0.122097 0.273097 0.895327 0.555120 -0.358045 0.959494 0.864915 1.049696 1.458692 1.063317 -0.105762 0.240946 0.516137 0.295184 -0.035654)
+     8.895498 #(0.000000 1.650756 0.929235 0.669074 0.458613 1.575883 1.406092 1.106790 0.596730 0.021347 1.134970 0.616933 1.701827 0.504785 1.614982 1.519418 0.470952 1.289129 0.059550 0.427695 0.231422 1.559220 0.383709 0.161407 0.068209 -0.031038 1.865998 -0.109083 1.124535 0.249567 0.520329 0.463755 1.759816 0.122747 -0.063135 1.879507 0.089457 0.845717 1.061947 -0.248630 -0.240924 0.207853 1.548893 0.621489 0.599673 1.031885 -0.104736 1.726398 0.898686 0.128558 0.928155 1.723232 0.730130 1.329452 0.779285 1.207734 0.370523 1.269134 1.812531 0.562255 0.696469 1.440871 0.214062 1.838981 0.082605 1.605017 1.504365 0.122097 0.273097 0.895327 0.555120 -0.358045 0.959494 0.864915 1.049696 1.458692 1.063317 -0.105762 0.240946 0.516137 0.295184 -0.035654)
      )
 
 ;;; 83 odd -------------------------------------------------------------------------------- ; 9.1104
-(vector 83 11.732900669843 (fv 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1)
+(vector 83 11.732900669843 #(0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1)
 
-     9.060733 (fv 0.000000 0.847614 1.074595 0.345210 0.202371 1.511917 1.112425 0.572830 1.582187 0.218687 0.979697 0.829284 0.504832 0.409321 1.581223 1.031036 0.666780 1.347208 1.680503 1.486577 0.618089 -0.256946 0.905019 0.230952 0.059969 -0.145434 0.545921 0.384376 1.384380 0.665205 1.583895 0.055621 1.669433 1.386960 1.917214 0.552314 1.477586 0.229404 -0.049820 0.210015 -0.192839 1.819422 0.656731 1.258726 0.062676 0.649682 -0.033937 1.076469 0.763030 0.654748 1.032680 0.850557 0.101236 1.303860 1.683735 0.917766 1.133625 0.788918 0.091033 0.752267 0.650807 0.661591 0.956487 -0.151184 1.699725 0.067039 0.562858 0.669739 1.945082 0.507537 0.168655 1.291963 1.367257 0.073343 1.018407 0.584241 1.284655 0.733315 0.794277 0.838058 0.819351 1.776021 0.236189)
+     9.060733 #(0.000000 0.847614 1.074595 0.345210 0.202371 1.511917 1.112425 0.572830 1.582187 0.218687 0.979697 0.829284 0.504832 0.409321 1.581223 1.031036 0.666780 1.347208 1.680503 1.486577 0.618089 -0.256946 0.905019 0.230952 0.059969 -0.145434 0.545921 0.384376 1.384380 0.665205 1.583895 0.055621 1.669433 1.386960 1.917214 0.552314 1.477586 0.229404 -0.049820 0.210015 -0.192839 1.819422 0.656731 1.258726 0.062676 0.649682 -0.033937 1.076469 0.763030 0.654748 1.032680 0.850557 0.101236 1.303860 1.683735 0.917766 1.133625 0.788918 0.091033 0.752267 0.650807 0.661591 0.956487 -0.151184 1.699725 0.067039 0.562858 0.669739 1.945082 0.507537 0.168655 1.291963 1.367257 0.073343 1.018407 0.584241 1.284655 0.733315 0.794277 0.838058 0.819351 1.776021 0.236189)
      )
 
 ;;; 84 odd -------------------------------------------------------------------------------- ; 9.1652
-(vector 84 11.626023292542 (fv 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 1)
+(vector 84 11.626023292542 #(0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 1)
 
-     9.185550 (fv 0.000000 -0.021653 -0.040601 1.163796 1.903509 0.943755 0.646624 1.866284 1.925515 0.123826 0.553199 0.965947 -0.075756 1.082744 1.817561 1.285536 1.050220 0.807240 0.605743 0.429498 0.508235 1.302559 1.611197 -0.514061 0.753992 1.700832 1.582166 0.521137 0.493019 0.834823 1.698189 0.272829 1.846496 1.874128 0.834101 0.281869 1.080560 1.438521 0.953941 1.280344 1.022208 1.661905 1.607595 1.126422 0.777808 0.689451 0.023149 0.691721 0.542242 0.838865 0.011483 1.098563 0.333470 0.611697 0.199907 -0.091248 0.912993 0.515958 1.079940 1.005613 0.731323 0.930947 0.301128 0.363360 0.978049 -0.000124 -0.516420 0.523117 0.574889 0.270432 1.275532 0.818251 1.531964 1.322842 0.207974 1.087144 1.315578 0.094014 1.345898 1.884730 0.414183 1.230212 1.440972 0.367718)
+     9.185550 #(0.000000 -0.021653 -0.040601 1.163796 1.903509 0.943755 0.646624 1.866284 1.925515 0.123826 0.553199 0.965947 -0.075756 1.082744 1.817561 1.285536 1.050220 0.807240 0.605743 0.429498 0.508235 1.302559 1.611197 -0.514061 0.753992 1.700832 1.582166 0.521137 0.493019 0.834823 1.698189 0.272829 1.846496 1.874128 0.834101 0.281869 1.080560 1.438521 0.953941 1.280344 1.022208 1.661905 1.607595 1.126422 0.777808 0.689451 0.023149 0.691721 0.542242 0.838865 0.011483 1.098563 0.333470 0.611697 0.199907 -0.091248 0.912993 0.515958 1.079940 1.005613 0.731323 0.930947 0.301128 0.363360 0.978049 -0.000124 -0.516420 0.523117 0.574889 0.270432 1.275532 0.818251 1.531964 1.322842 0.207974 1.087144 1.315578 0.094014 1.345898 1.884730 0.414183 1.230212 1.440972 0.367718)
 
-     ;; (fv 10.778808034738 -0.227659005925 3.1786048937356)
-     ;; 10.7788 (fv 0.0000 0.9393 1.9022 0.8886 1.8986 0.9322 1.9893 1.0700 0.1743 1.3021 0.4535 1.6284 0.8269 0.0490 1.2946 0.5638 1.8566 1.1729 0.5128 1.8762 1.2632 0.6738 0.1079 1.5656 1.0469 0.5517 0.0801 1.6320 1.2075 0.8066 0.4292 0.0754 1.7452 1.4385 1.1554 0.8959 0.6599 0.4474 0.2586 0.0933 1.9515 1.8334 1.7387 1.6677 1.6202 1.5963 1.5959 1.6191 1.6659 1.7362 1.8301 1.9476 0.0886 0.2531 0.4413 0.6530 0.8882 1.1471 1.4295 1.7354 0.0649 0.4180 0.7947 1.1949 1.6186 0.0660 0.5368 1.0313 1.5493 0.0909 0.6560 1.2448 1.8570 0.4929 1.1522 1.8352 0.5417 1.2718 0.0254 0.8027 1.6034 0.4278 1.2757 0.1471 )
+     ;; #(10.778808034738 -0.227659005925 3.1786048937356)
+     ;; 10.7788 #(0.0000 0.9393 1.9022 0.8886 1.8986 0.9322 1.9893 1.0700 0.1743 1.3021 0.4535 1.6284 0.8269 0.0490 1.2946 0.5638 1.8566 1.1729 0.5128 1.8762 1.2632 0.6738 0.1079 1.5656 1.0469 0.5517 0.0801 1.6320 1.2075 0.8066 0.4292 0.0754 1.7452 1.4385 1.1554 0.8959 0.6599 0.4474 0.2586 0.0933 1.9515 1.8334 1.7387 1.6677 1.6202 1.5963 1.5959 1.6191 1.6659 1.7362 1.8301 1.9476 0.0886 0.2531 0.4413 0.6530 0.8882 1.1471 1.4295 1.7354 0.0649 0.4180 0.7947 1.1949 1.6186 0.0660 0.5368 1.0313 1.5493 0.0909 0.6560 1.2448 1.8570 0.4929 1.1522 1.8352 0.5417 1.2718 0.0254 0.8027 1.6034 0.4278 1.2757 0.1471 )
 
-     9.165706 (fv 0.000000 0.934656 0.009740 0.892912 1.914788 0.817407 -0.047164 1.003969 0.164884 1.249319 0.380071 1.616476 0.954376 0.202231 1.312292 0.604557 -0.077459 1.312472 0.754364 -0.003767 1.276135 0.650523 0.170854 1.618591 1.053160 0.577476 -0.205916 1.453889 1.286143 0.889924 0.243897 -0.239706 1.833300 1.444468 1.151374 0.857183 0.586020 0.323924 0.036983 0.119493 -0.037558 1.940953 1.593882 -0.092635 1.798428 1.555339 1.399215 1.467642 1.835150 1.833867 -0.004678 -0.067916 0.264183 0.072836 0.826599 0.656778 1.089237 1.011513 1.337524 1.652586 0.118011 0.621082 0.947811 1.150679 1.538842 -0.108726 0.395215 0.886557 1.570811 -0.049501 0.809380 1.348209 1.743527 0.295071 1.055258 1.946886 0.463731 1.299054 0.188329 0.827519 0.037317 0.845744 1.341936 0.257273)
+     9.165706 #(0.000000 0.934656 0.009740 0.892912 1.914788 0.817407 -0.047164 1.003969 0.164884 1.249319 0.380071 1.616476 0.954376 0.202231 1.312292 0.604557 -0.077459 1.312472 0.754364 -0.003767 1.276135 0.650523 0.170854 1.618591 1.053160 0.577476 -0.205916 1.453889 1.286143 0.889924 0.243897 -0.239706 1.833300 1.444468 1.151374 0.857183 0.586020 0.323924 0.036983 0.119493 -0.037558 1.940953 1.593882 -0.092635 1.798428 1.555339 1.399215 1.467642 1.835150 1.833867 -0.004678 -0.067916 0.264183 0.072836 0.826599 0.656778 1.089237 1.011513 1.337524 1.652586 0.118011 0.621082 0.947811 1.150679 1.538842 -0.108726 0.395215 0.886557 1.570811 -0.049501 0.809380 1.348209 1.743527 0.295071 1.055258 1.946886 0.463731 1.299054 0.188329 0.827519 0.037317 0.845744 1.341936 0.257273)
 
-     9.138477 (fv 0.000000 1.077136 0.063003 0.974335 0.001930 0.872203 0.017246 1.080670 0.235219 1.252888 0.378851 1.612382 0.956324 0.200975 1.336006 0.666511 -0.109401 1.250621 0.645704 -0.034379 1.373066 0.621844 0.153419 1.662637 1.014313 0.564772 -0.158790 1.458303 1.312400 0.935605 0.228083 -0.303405 1.933909 1.508310 1.203183 0.851210 0.700949 0.260045 0.137593 0.186330 -0.029149 0.093187 1.669321 -0.022893 1.804433 1.569916 1.547568 1.535838 1.866608 1.883016 0.163191 -0.079249 0.336381 0.043460 0.741963 0.718443 1.177177 1.028118 1.387506 1.729902 0.144100 0.716901 1.003307 1.132902 1.504355 -0.063217 0.409728 0.962060 1.632348 0.020339 0.842809 1.386919 1.688164 0.250155 0.883600 1.992873 0.466027 1.340844 0.278519 0.955099 -0.020386 0.926876 1.398431 0.248264)
+     9.138477 #(0.000000 1.077136 0.063003 0.974335 0.001930 0.872203 0.017246 1.080670 0.235219 1.252888 0.378851 1.612382 0.956324 0.200975 1.336006 0.666511 -0.109401 1.250621 0.645704 -0.034379 1.373066 0.621844 0.153419 1.662637 1.014313 0.564772 -0.158790 1.458303 1.312400 0.935605 0.228083 -0.303405 1.933909 1.508310 1.203183 0.851210 0.700949 0.260045 0.137593 0.186330 -0.029149 0.093187 1.669321 -0.022893 1.804433 1.569916 1.547568 1.535838 1.866608 1.883016 0.163191 -0.079249 0.336381 0.043460 0.741963 0.718443 1.177177 1.028118 1.387506 1.729902 0.144100 0.716901 1.003307 1.132902 1.504355 -0.063217 0.409728 0.962060 1.632348 0.020339 0.842809 1.386919 1.688164 0.250155 0.883600 1.992873 0.466027 1.340844 0.278519 0.955099 -0.020386 0.926876 1.398431 0.248264)
 
-     9.133456 (fv 0.000000 1.059401 0.031287 0.939386 -0.017860 0.901644 0.001799 1.027990 0.230681 1.311963 0.341928 1.644077 0.966811 0.236475 1.300649 0.692497 -0.027953 1.347389 0.723063 -0.003313 1.322772 0.582050 0.159545 1.703814 1.026586 0.555590 -0.158337 1.444034 1.321735 1.003900 0.274358 -0.325622 1.927342 1.457207 1.230507 0.919830 0.720469 0.244803 0.085297 0.173845 -0.048361 0.080359 1.671325 0.039907 1.736091 1.631912 1.486133 1.471880 1.784848 1.922823 0.107240 -0.103436 0.280519 -0.025774 0.700275 0.720167 1.157653 1.036798 1.295565 1.717341 0.156191 0.724169 1.042098 1.172208 1.529978 -0.089227 0.426393 0.952547 1.692201 0.117254 0.809203 1.354853 1.694705 0.278490 0.926144 0.035100 0.434956 1.402186 0.356337 0.912787 0.017302 1.021860 1.401595 0.333844)
+     9.133456 #(0.000000 1.059401 0.031287 0.939386 -0.017860 0.901644 0.001799 1.027990 0.230681 1.311963 0.341928 1.644077 0.966811 0.236475 1.300649 0.692497 -0.027953 1.347389 0.723063 -0.003313 1.322772 0.582050 0.159545 1.703814 1.026586 0.555590 -0.158337 1.444034 1.321735 1.003900 0.274358 -0.325622 1.927342 1.457207 1.230507 0.919830 0.720469 0.244803 0.085297 0.173845 -0.048361 0.080359 1.671325 0.039907 1.736091 1.631912 1.486133 1.471880 1.784848 1.922823 0.107240 -0.103436 0.280519 -0.025774 0.700275 0.720167 1.157653 1.036798 1.295565 1.717341 0.156191 0.724169 1.042098 1.172208 1.529978 -0.089227 0.426393 0.952547 1.692201 0.117254 0.809203 1.354853 1.694705 0.278490 0.926144 0.035100 0.434956 1.402186 0.356337 0.912787 0.017302 1.021860 1.401595 0.333844)
      
      )
 
 ;;; 85 odd -------------------------------------------------------------------------------- ; 9.2195
-(vector 85 11.829360154975 (fv 0 0 0 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 1)
+(vector 85 11.829360154975 #(0 0 0 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 1)
 
-     9.172932 (fv 0.000000 1.198268 -0.046093 0.496651 0.155499 0.438914 1.717129 -0.153996 0.255959 0.942459 -0.112043 1.664994 1.597976 1.071752 0.293731 1.489898 -0.088206 1.402767 1.814932 1.099748 -0.400724 1.351064 1.265640 1.075629 0.060651 -0.371046 0.814537 0.326687 0.633977 1.654428 1.582553 0.618025 1.054016 1.391986 1.098803 0.284271 1.476963 1.042434 1.922088 0.305413 -0.626240 1.791879 1.777727 0.678099 1.505684 1.182071 0.629820 1.357783 0.665420 0.341784 0.926591 0.193623 1.006880 1.192651 -0.116178 0.080172 1.591790 1.522361 0.438822 1.766471 0.395503 1.446548 -0.046614 0.961931 0.316539 0.616763 1.087859 0.290761 0.142685 0.155135 0.508154 0.686168 1.471184 1.165229 0.372220 0.294409 0.404832 -1.767095 1.243980 0.993281 1.007462 0.784244 1.104711 1.671816 0.086342)
+     9.172932 #(0.000000 1.198268 -0.046093 0.496651 0.155499 0.438914 1.717129 -0.153996 0.255959 0.942459 -0.112043 1.664994 1.597976 1.071752 0.293731 1.489898 -0.088206 1.402767 1.814932 1.099748 -0.400724 1.351064 1.265640 1.075629 0.060651 -0.371046 0.814537 0.326687 0.633977 1.654428 1.582553 0.618025 1.054016 1.391986 1.098803 0.284271 1.476963 1.042434 1.922088 0.305413 -0.626240 1.791879 1.777727 0.678099 1.505684 1.182071 0.629820 1.357783 0.665420 0.341784 0.926591 0.193623 1.006880 1.192651 -0.116178 0.080172 1.591790 1.522361 0.438822 1.766471 0.395503 1.446548 -0.046614 0.961931 0.316539 0.616763 1.087859 0.290761 0.142685 0.155135 0.508154 0.686168 1.471184 1.165229 0.372220 0.294409 0.404832 -1.767095 1.243980 0.993281 1.007462 0.784244 1.104711 1.671816 0.086342)
      )
 
 ;;; 86 odd -------------------------------------------------------------------------------- ; 9.2736
-(vector 86 12.140432277993 (fv 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1)
+(vector 86 12.140432277993 #(0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1)
 
-     9.213343 (fv 0.000000 0.676268 0.369198 1.486263 -0.026625 0.678855 0.928889 1.200870 0.763422 0.131815 -0.064018 0.334478 0.754549 0.549209 0.781916 -0.164085 1.831169 -0.359871 0.452632 0.395640 1.217523 1.666783 1.263104 0.462675 0.487261 1.713262 0.419400 0.982422 0.818648 0.009279 0.749148 0.986045 1.410580 0.251205 1.543152 0.685375 0.249458 0.699138 0.175620 0.312944 1.884362 1.099441 1.640835 1.728596 -0.397229 1.509431 0.364317 1.073248 1.571193 0.690550 1.201949 -0.104903 0.984182 0.850373 -0.106842 1.582861 -0.052279 0.837387 1.423896 1.118738 -0.077783 0.539913 1.394923 -0.009295 1.541216 0.438460 0.217352 0.527395 0.855264 0.357004 0.424674 0.870332 0.435096 0.770273 0.096843 1.702425 0.991351 1.315154 1.133850 0.440564 0.044541 0.788769 0.138246 -0.080948 1.096067 0.575869)
+     9.213343 #(0.000000 0.676268 0.369198 1.486263 -0.026625 0.678855 0.928889 1.200870 0.763422 0.131815 -0.064018 0.334478 0.754549 0.549209 0.781916 -0.164085 1.831169 -0.359871 0.452632 0.395640 1.217523 1.666783 1.263104 0.462675 0.487261 1.713262 0.419400 0.982422 0.818648 0.009279 0.749148 0.986045 1.410580 0.251205 1.543152 0.685375 0.249458 0.699138 0.175620 0.312944 1.884362 1.099441 1.640835 1.728596 -0.397229 1.509431 0.364317 1.073248 1.571193 0.690550 1.201949 -0.104903 0.984182 0.850373 -0.106842 1.582861 -0.052279 0.837387 1.423896 1.118738 -0.077783 0.539913 1.394923 -0.009295 1.541216 0.438460 0.217352 0.527395 0.855264 0.357004 0.424674 0.870332 0.435096 0.770273 0.096843 1.702425 0.991351 1.315154 1.133850 0.440564 0.044541 0.788769 0.138246 -0.080948 1.096067 0.575869)
      )
 
 ;;; 87 odd -------------------------------------------------------------------------------- ; 9.32737905
-(vector 87 11.937030388359 (fv 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1)
+(vector 87 11.937030388359 #(0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1)
 
-	9.317037 (fv 0.000000 1.269780 0.764198 1.382169 0.560101 1.397366 0.619615 1.110127 1.074742 0.786154 0.097129 0.187903 1.280480 1.001234 0.625991 -0.253578 0.524611 0.642531 0.754319 1.395067 1.865340 0.173765 1.213561 0.413784 0.704706 0.640451 1.483492 1.299442 0.783307 0.912207 0.977809 1.588075 -0.173310 1.063721 0.534821 0.450809 0.251070 0.792950 1.489833 1.745329 1.098607 0.960633 0.682333 0.343541 0.677820 0.343804 -0.007548 0.114569 1.083276 0.044826 0.931689 1.109596 -0.582840 1.287598 0.295851 -0.261696 1.183896 0.581304 -0.088958 1.623439 0.434479 0.025514 0.230711 1.672013 0.717129 1.395826 0.682208 -0.299168 -0.096350 -0.604219 1.679467 0.411395 0.711815 1.234251 0.324421 0.995113 0.167630 0.383406 0.968742 0.310771 0.425004 0.820195 0.922682 1.343873 0.606017 -0.248788 1.112139)
+	9.317037 #(0.000000 1.269780 0.764198 1.382169 0.560101 1.397366 0.619615 1.110127 1.074742 0.786154 0.097129 0.187903 1.280480 1.001234 0.625991 -0.253578 0.524611 0.642531 0.754319 1.395067 1.865340 0.173765 1.213561 0.413784 0.704706 0.640451 1.483492 1.299442 0.783307 0.912207 0.977809 1.588075 -0.173310 1.063721 0.534821 0.450809 0.251070 0.792950 1.489833 1.745329 1.098607 0.960633 0.682333 0.343541 0.677820 0.343804 -0.007548 0.114569 1.083276 0.044826 0.931689 1.109596 -0.582840 1.287598 0.295851 -0.261696 1.183896 0.581304 -0.088958 1.623439 0.434479 0.025514 0.230711 1.672013 0.717129 1.395826 0.682208 -0.299168 -0.096350 -0.604219 1.679467 0.411395 0.711815 1.234251 0.324421 0.995113 0.167630 0.383406 0.968742 0.310771 0.425004 0.820195 0.922682 1.343873 0.606017 -0.248788 1.112139)
      )
 
 ;;; 88 odd -------------------------------------------------------------------------------- ; 9.3808
-(vector 88 12.128922775356 (fv 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1)
+(vector 88 12.128922775356 #(0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1)
 
-     9.324023 (fv 0.000000 0.720070 1.146170 1.623229 0.919914 1.475051 1.669418 0.417706 1.222880 1.077800 0.636671 0.109954 0.709268 0.401961 1.342317 0.470950 1.038199 -0.014165 -0.223115 1.401527 0.255061 -0.053613 1.038430 1.524899 0.900064 0.540757 0.958685 1.268571 0.665381 1.798791 1.658869 0.625852 0.519615 0.589311 -0.003435 1.345809 -0.056260 0.616788 0.290786 1.478184 0.854964 0.750706 1.853143 1.837616 0.068009 0.196260 1.496079 0.820255 1.744388 0.146057 0.230788 1.434358 -0.205448 1.616936 0.981163 0.921532 1.591565 1.188825 -0.476209 1.518808 0.443241 0.115647 0.334751 1.367563 0.160132 1.179927 1.012776 0.498582 1.276116 0.704338 1.396987 -0.001804 0.959954 1.167324 1.287070 1.914346 1.400505 1.413492 1.484414 -0.463663 0.122173 0.488918 -0.038072 1.041389 -0.101511 -0.067115 1.661217 1.643428)
+     9.324023 #(0.000000 0.720070 1.146170 1.623229 0.919914 1.475051 1.669418 0.417706 1.222880 1.077800 0.636671 0.109954 0.709268 0.401961 1.342317 0.470950 1.038199 -0.014165 -0.223115 1.401527 0.255061 -0.053613 1.038430 1.524899 0.900064 0.540757 0.958685 1.268571 0.665381 1.798791 1.658869 0.625852 0.519615 0.589311 -0.003435 1.345809 -0.056260 0.616788 0.290786 1.478184 0.854964 0.750706 1.853143 1.837616 0.068009 0.196260 1.496079 0.820255 1.744388 0.146057 0.230788 1.434358 -0.205448 1.616936 0.981163 0.921532 1.591565 1.188825 -0.476209 1.518808 0.443241 0.115647 0.334751 1.367563 0.160132 1.179927 1.012776 0.498582 1.276116 0.704338 1.396987 -0.001804 0.959954 1.167324 1.287070 1.914346 1.400505 1.413492 1.484414 -0.463663 0.122173 0.488918 -0.038072 1.041389 -0.101511 -0.067115 1.661217 1.643428)
      )
 
 ;;; 89 odd -------------------------------------------------------------------------------- ; 9.4340
-(vector 89 12.362 (fv 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0)
+(vector 89 12.362 #(0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0)
 
-     9.331615 (fv 0.000000 0.049094 0.763150 0.136548 0.483778 0.759076 0.333224 1.220929 0.134557 0.764345 0.615745 -0.054859 0.470862 1.549452 1.042755 0.304443 0.281140 1.178803 1.496311 1.304814 1.254180 1.214938 -0.188361 1.642263 1.456263 1.200682 1.159330 0.518402 1.259168 1.450349 0.156876 1.423052 0.526144 0.557187 0.211944 1.876505 0.927439 -0.029530 0.421763 1.206664 0.690297 1.789526 1.067082 0.003086 0.897179 1.065326 1.434687 0.576391 -0.150316 1.287422 1.126966 1.259277 1.431443 0.305104 0.343134 0.824875 1.068860 1.722713 1.668311 0.909968 1.314221 0.346498 0.614998 0.306500 1.059400 1.495807 -0.733779 1.277563 0.627585 1.184462 -0.276841 0.360604 0.535684 -0.101891 0.124422 1.197248 0.778353 1.945787 1.307086 0.922575 0.921600 0.870062 1.105219 1.606237 0.868032 -0.120196 0.316193 -0.191814 0.432808)
+     9.331615 #(0.000000 0.049094 0.763150 0.136548 0.483778 0.759076 0.333224 1.220929 0.134557 0.764345 0.615745 -0.054859 0.470862 1.549452 1.042755 0.304443 0.281140 1.178803 1.496311 1.304814 1.254180 1.214938 -0.188361 1.642263 1.456263 1.200682 1.159330 0.518402 1.259168 1.450349 0.156876 1.423052 0.526144 0.557187 0.211944 1.876505 0.927439 -0.029530 0.421763 1.206664 0.690297 1.789526 1.067082 0.003086 0.897179 1.065326 1.434687 0.576391 -0.150316 1.287422 1.126966 1.259277 1.431443 0.305104 0.343134 0.824875 1.068860 1.722713 1.668311 0.909968 1.314221 0.346498 0.614998 0.306500 1.059400 1.495807 -0.733779 1.277563 0.627585 1.184462 -0.276841 0.360604 0.535684 -0.101891 0.124422 1.197248 0.778353 1.945787 1.307086 0.922575 0.921600 0.870062 1.105219 1.606237 0.868032 -0.120196 0.316193 -0.191814 0.432808)
      )
 
 ;;; 90 odd -------------------------------------------------------------------------------- ; 9.4868
-(vector 90 12.309 (fv 0 0 0 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 1)
+(vector 90 12.309 #(0 0 0 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 1)
 
-     9.421684 (fv 0.000000 0.773463 -0.034237 0.815187 0.818292 -0.048506 -0.025177 1.145716 1.124687 -0.087471 0.982715 1.911529 0.885016 -0.169554 0.478422 0.410159 1.012688 0.169228 0.764485 0.758910 1.289872 0.618276 -0.229660 1.549110 0.758331 0.279930 1.553579 0.672439 0.162166 0.690601 0.847281 1.562839 1.023152 1.146052 1.063766 0.943600 -0.316637 0.816595 1.430319 0.223152 0.862408 0.935019 0.764642 0.942440 1.888157 1.614273 1.641359 1.139335 1.700104 1.516977 1.001915 0.698936 0.890613 1.412580 1.482707 0.374132 0.486389 0.409585 0.664613 0.728056 0.135717 1.017586 1.427256 0.114262 0.459920 0.985474 0.828118 0.029864 1.115880 0.182529 0.074455 0.121011 1.384155 1.498024 1.812648 0.488592 0.254186 1.880026 1.059948 0.152702 0.760476 0.236696 1.396118 1.492214 0.743805 1.035917 1.060796 0.484826 0.509085 -0.305704)
+     9.421684 #(0.000000 0.773463 -0.034237 0.815187 0.818292 -0.048506 -0.025177 1.145716 1.124687 -0.087471 0.982715 1.911529 0.885016 -0.169554 0.478422 0.410159 1.012688 0.169228 0.764485 0.758910 1.289872 0.618276 -0.229660 1.549110 0.758331 0.279930 1.553579 0.672439 0.162166 0.690601 0.847281 1.562839 1.023152 1.146052 1.063766 0.943600 -0.316637 0.816595 1.430319 0.223152 0.862408 0.935019 0.764642 0.942440 1.888157 1.614273 1.641359 1.139335 1.700104 1.516977 1.001915 0.698936 0.890613 1.412580 1.482707 0.374132 0.486389 0.409585 0.664613 0.728056 0.135717 1.017586 1.427256 0.114262 0.459920 0.985474 0.828118 0.029864 1.115880 0.182529 0.074455 0.121011 1.384155 1.498024 1.812648 0.488592 0.254186 1.880026 1.059948 0.152702 0.760476 0.236696 1.396118 1.492214 0.743805 1.035917 1.060796 0.484826 0.509085 -0.305704)
      )
 
 ;;; 91 odd -------------------------------------------------------------------------------- ; 9.5394
-(vector 91 12.351367950439 (fv 0 1 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 1 0)
+(vector 91 12.351367950439 #(0 1 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 1 0)
 
-     9.456608 (fv 0.000000 0.103422 0.965610 0.946880 1.775735 -0.122619 1.034051 0.168472 0.730448 0.272671 0.778481 0.021689 0.033093 0.984786 1.059637 0.145824 1.327186 1.317989 0.064861 1.738590 0.743092 0.115729 -0.009073 0.235258 1.253963 0.597261 1.473274 1.451939 1.654969 1.556762 -0.031925 0.584248 1.188923 1.752060 0.699420 0.272619 1.021928 1.546707 1.001394 0.687724 1.015815 0.834084 -0.085438 1.600278 0.991105 1.336531 1.547902 0.640465 0.462581 1.062100 1.213310 0.321259 0.291622 0.063730 0.566090 0.852786 0.847201 -0.174185 1.395263 1.222072 0.870150 0.708746 0.513822 0.978903 0.739358 1.760219 0.991895 1.423353 0.493188 0.952658 -0.084183 1.857020 1.060335 -0.192588 0.702407 1.144217 1.162221 1.656319 1.357097 0.810997 -0.196628 1.185541 1.692605 1.048778 1.191279 0.597890 1.575870 0.403387 0.283378 0.378021 0.172627)
+     9.456608 #(0.000000 0.103422 0.965610 0.946880 1.775735 -0.122619 1.034051 0.168472 0.730448 0.272671 0.778481 0.021689 0.033093 0.984786 1.059637 0.145824 1.327186 1.317989 0.064861 1.738590 0.743092 0.115729 -0.009073 0.235258 1.253963 0.597261 1.473274 1.451939 1.654969 1.556762 -0.031925 0.584248 1.188923 1.752060 0.699420 0.272619 1.021928 1.546707 1.001394 0.687724 1.015815 0.834084 -0.085438 1.600278 0.991105 1.336531 1.547902 0.640465 0.462581 1.062100 1.213310 0.321259 0.291622 0.063730 0.566090 0.852786 0.847201 -0.174185 1.395263 1.222072 0.870150 0.708746 0.513822 0.978903 0.739358 1.760219 0.991895 1.423353 0.493188 0.952658 -0.084183 1.857020 1.060335 -0.192588 0.702407 1.144217 1.162221 1.656319 1.357097 0.810997 -0.196628 1.185541 1.692605 1.048778 1.191279 0.597890 1.575870 0.403387 0.283378 0.378021 0.172627)
      )
 
 ;;; 92 odd -------------------------------------------------------------------------------- ; 9.5916630
-(vector 92 12.280749613899 (fv 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1)
+(vector 92 12.280749613899 #(0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1)
 
-     9.552661 (fv 0.000000 1.217977 1.385618 0.939614 0.500483 1.851006 0.319542 1.708679 0.556310 0.891376 0.674923 0.365733 -0.175465 0.892985 1.540146 0.973262 0.317469 1.925159 0.685389 1.371188 0.200154 1.709968 0.177693 -0.300538 0.695154 0.829261 0.826887 0.518213 1.033752 1.220316 0.472703 1.153927 1.069740 0.054639 0.285291 1.692400 0.723359 -0.010143 1.422901 0.759732 0.421539 1.178988 0.292771 1.282542 0.969261 0.723210 1.587532 1.451565 0.985309 0.576854 0.032105 1.279589 0.637040 0.836814 1.053214 1.607968 0.083343 0.618958 1.664826 -0.072056 0.366474 1.110340 1.463534 0.789016 1.455017 1.061490 0.999534 0.659448 0.541265 1.191626 1.594463 0.899514 1.279707 0.844186 0.855539 -0.116804 0.909316 1.750334 1.598414 1.853269 0.368452 0.535158 0.818452 1.438032 0.503813 0.301666 0.154109 0.506999 0.079492 -0.057406 1.894913 0.600742)
+     9.552661 #(0.000000 1.217977 1.385618 0.939614 0.500483 1.851006 0.319542 1.708679 0.556310 0.891376 0.674923 0.365733 -0.175465 0.892985 1.540146 0.973262 0.317469 1.925159 0.685389 1.371188 0.200154 1.709968 0.177693 -0.300538 0.695154 0.829261 0.826887 0.518213 1.033752 1.220316 0.472703 1.153927 1.069740 0.054639 0.285291 1.692400 0.723359 -0.010143 1.422901 0.759732 0.421539 1.178988 0.292771 1.282542 0.969261 0.723210 1.587532 1.451565 0.985309 0.576854 0.032105 1.279589 0.637040 0.836814 1.053214 1.607968 0.083343 0.618958 1.664826 -0.072056 0.366474 1.110340 1.463534 0.789016 1.455017 1.061490 0.999534 0.659448 0.541265 1.191626 1.594463 0.899514 1.279707 0.844186 0.855539 -0.116804 0.909316 1.750334 1.598414 1.853269 0.368452 0.535158 0.818452 1.438032 0.503813 0.301666 0.154109 0.506999 0.079492 -0.057406 1.894913 0.600742)
      )
 
 ;;; 93 odd -------------------------------------------------------------------------------- ; 9.6437
-(vector 93 12.403578299298 (fv 0 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1)
+(vector 93 12.403578299298 #(0 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1)
 
-     9.628761 (fv 0.000000 1.192712 1.317592 0.793671 0.099933 -0.070495 0.916675 1.443504 0.876536 1.333886 0.502339 0.879490 0.963974 1.813405 1.616449 1.406560 0.249623 1.099165 1.684130 0.971324 1.504790 0.210004 -0.334645 1.442259 0.574758 1.021850 0.284510 0.399479 0.184247 1.487488 1.612401 -0.235561 -0.129797 0.178650 -0.371978 0.920412 -0.107159 0.561074 0.178586 0.184745 -0.019738 0.790773 0.250122 1.738768 1.375989 -0.216295 -0.331946 0.885688 1.988915 0.048056 0.095104 0.757409 -0.209034 0.574534 0.777126 1.337323 -0.015675 1.471677 1.723082 0.373584 0.844517 1.228790 1.358490 1.817661 1.097143 1.261125 0.949204 1.719884 0.720744 1.257519 0.078221 -0.091904 0.999562 0.486340 0.282135 0.639284 -0.163690 1.618168 0.349231 0.088441 0.985965 0.932832 1.613134 0.712978 1.300533 1.211114 1.605834 1.719815 0.768198 -0.076989 1.468170 1.231822 0.852206)
+     9.628761 #(0.000000 1.192712 1.317592 0.793671 0.099933 -0.070495 0.916675 1.443504 0.876536 1.333886 0.502339 0.879490 0.963974 1.813405 1.616449 1.406560 0.249623 1.099165 1.684130 0.971324 1.504790 0.210004 -0.334645 1.442259 0.574758 1.021850 0.284510 0.399479 0.184247 1.487488 1.612401 -0.235561 -0.129797 0.178650 -0.371978 0.920412 -0.107159 0.561074 0.178586 0.184745 -0.019738 0.790773 0.250122 1.738768 1.375989 -0.216295 -0.331946 0.885688 1.988915 0.048056 0.095104 0.757409 -0.209034 0.574534 0.777126 1.337323 -0.015675 1.471677 1.723082 0.373584 0.844517 1.228790 1.358490 1.817661 1.097143 1.261125 0.949204 1.719884 0.720744 1.257519 0.078221 -0.091904 0.999562 0.486340 0.282135 0.639284 -0.163690 1.618168 0.349231 0.088441 0.985965 0.932832 1.613134 0.712978 1.300533 1.211114 1.605834 1.719815 0.768198 -0.076989 1.468170 1.231822 0.852206)
      )
 
 ;;; 94 odd -------------------------------------------------------------------------------- ; 9.6954
-(vector 94 12.789479876738 (fv 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 1)
+(vector 94 12.789479876738 #(0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 1)
 
-     9.653914 (fv 0.000000 1.588712 0.970594 0.765681 0.768893 0.708013 1.088997 0.348116 1.304828 0.302466 0.484457 0.598101 1.195823 1.750495 0.723696 -0.394564 1.399290 0.440079 0.957225 0.110914 1.178680 -1.746723 0.306178 1.424281 0.083938 -0.026412 0.531864 1.282735 0.186630 0.411663 1.537740 0.224065 -0.422374 0.338118 1.366092 0.348038 0.469097 0.358167 1.178154 1.072296 0.953715 0.778556 0.718707 0.831159 0.966980 0.639988 0.294231 -0.156503 1.325326 0.192979 0.424804 0.332961 0.198719 0.405180 1.172779 0.251315 0.565156 0.903572 0.754645 0.195819 1.584153 1.274227 0.370217 1.346701 0.041617 1.218979 0.515044 1.085194 0.964032 1.907141 0.492814 1.684100 -0.290159 1.467461 0.104316 0.280575 0.761449 1.432721 1.137691 0.132533 1.823280 1.230711 -0.052109 1.493267 1.265211 0.071008 1.206644 0.630379 0.639830 0.932228 -0.085525 1.738146 1.623323 0.751204)
+     9.653914 #(0.000000 1.588712 0.970594 0.765681 0.768893 0.708013 1.088997 0.348116 1.304828 0.302466 0.484457 0.598101 1.195823 1.750495 0.723696 -0.394564 1.399290 0.440079 0.957225 0.110914 1.178680 -1.746723 0.306178 1.424281 0.083938 -0.026412 0.531864 1.282735 0.186630 0.411663 1.537740 0.224065 -0.422374 0.338118 1.366092 0.348038 0.469097 0.358167 1.178154 1.072296 0.953715 0.778556 0.718707 0.831159 0.966980 0.639988 0.294231 -0.156503 1.325326 0.192979 0.424804 0.332961 0.198719 0.405180 1.172779 0.251315 0.565156 0.903572 0.754645 0.195819 1.584153 1.274227 0.370217 1.346701 0.041617 1.218979 0.515044 1.085194 0.964032 1.907141 0.492814 1.684100 -0.290159 1.467461 0.104316 0.280575 0.761449 1.432721 1.137691 0.132533 1.823280 1.230711 -0.052109 1.493267 1.265211 0.071008 1.206644 0.630379 0.639830 0.932228 -0.085525 1.738146 1.623323 0.751204)
      )
 
 ;;; 95 odd -------------------------------------------------------------------------------- ; 9.7468
-(vector 95 12.575266058635 (fv 0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0)
+(vector 95 12.575266058635 #(0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0)
 
-     9.716924 (fv 0.000000 1.295576 0.051583 -0.370221 1.659103 1.560139 0.883258 1.136184 1.446082 0.336165 0.984827 1.426922 1.840974 1.223315 0.635432 0.990680 0.332450 0.247993 0.361771 1.193162 0.200656 1.699397 1.071493 0.299430 0.743325 0.167398 0.140913 0.844624 1.382714 1.375685 0.647006 0.229451 0.386840 1.780080 0.889230 1.061105 0.116922 0.567648 1.435830 1.255231 0.833620 1.820993 1.158323 0.868650 0.833531 0.419654 1.734245 1.273400 1.062531 1.460253 0.175543 0.639252 0.712611 1.085237 0.872288 1.639660 -0.093743 0.087045 -0.323684 1.687923 1.002234 -0.168363 1.044853 -0.114093 1.195353 -0.026012 0.883764 1.512322 0.102179 0.114077 1.256119 1.084835 0.251990 0.992344 0.663746 0.903707 0.809231 1.141845 1.353235 1.559958 0.119755 1.444404 1.912417 1.220976 -0.164602 -0.295612 1.393445 0.425402 1.426929 1.201811 0.614353 -0.027563 1.025805 1.054465 0.134046)
+     9.716924 #(0.000000 1.295576 0.051583 -0.370221 1.659103 1.560139 0.883258 1.136184 1.446082 0.336165 0.984827 1.426922 1.840974 1.223315 0.635432 0.990680 0.332450 0.247993 0.361771 1.193162 0.200656 1.699397 1.071493 0.299430 0.743325 0.167398 0.140913 0.844624 1.382714 1.375685 0.647006 0.229451 0.386840 1.780080 0.889230 1.061105 0.116922 0.567648 1.435830 1.255231 0.833620 1.820993 1.158323 0.868650 0.833531 0.419654 1.734245 1.273400 1.062531 1.460253 0.175543 0.639252 0.712611 1.085237 0.872288 1.639660 -0.093743 0.087045 -0.323684 1.687923 1.002234 -0.168363 1.044853 -0.114093 1.195353 -0.026012 0.883764 1.512322 0.102179 0.114077 1.256119 1.084835 0.251990 0.992344 0.663746 0.903707 0.809231 1.141845 1.353235 1.559958 0.119755 1.444404 1.912417 1.220976 -0.164602 -0.295612 1.393445 0.425402 1.426929 1.201811 0.614353 -0.027563 1.025805 1.054465 0.134046)
      )
 
 ;;; 96 odd -------------------------------------------------------------------------------- ; 9.7980
-(vector 96 12.803173065186 (fv 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 1 0)
+(vector 96 12.803173065186 #(0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 1 0)
 
-     9.759447 (fv 0.000000 0.435576 1.538976 0.230825 0.102821 0.263319 0.997316 0.091618 0.472323 -0.103132 0.585027 1.906149 0.670612 1.002137 1.281685 0.083578 0.271396 0.433634 0.733402 0.099534 0.807149 -0.070119 0.575530 -0.103613 0.335070 1.262648 1.473382 0.330894 0.589593 0.216256 0.350636 1.350446 1.836442 1.560161 1.205882 0.649393 0.812682 0.141066 1.111869 -0.141497 1.693969 1.777393 0.080165 0.375196 0.449681 -0.067423 0.754077 0.868345 1.797143 0.793576 0.568117 0.646818 1.350309 1.187659 1.791215 0.862642 1.742949 1.213798 0.583814 0.650546 0.965237 1.015772 0.605956 0.144297 0.285298 -0.351085 1.282066 0.474001 0.642725 0.511289 1.457452 0.929763 1.241810 0.227521 0.228779 1.199150 1.811444 -0.006366 0.744946 0.179491 1.361847 -0.378016 1.423650 1.452225 1.393417 1.335482 0.037183 1.548694 0.890495 0.461455 1.744132 0.896894 0.307836 1.812808 0.221251 0.928513)
+     9.759447 #(0.000000 0.435576 1.538976 0.230825 0.102821 0.263319 0.997316 0.091618 0.472323 -0.103132 0.585027 1.906149 0.670612 1.002137 1.281685 0.083578 0.271396 0.433634 0.733402 0.099534 0.807149 -0.070119 0.575530 -0.103613 0.335070 1.262648 1.473382 0.330894 0.589593 0.216256 0.350636 1.350446 1.836442 1.560161 1.205882 0.649393 0.812682 0.141066 1.111869 -0.141497 1.693969 1.777393 0.080165 0.375196 0.449681 -0.067423 0.754077 0.868345 1.797143 0.793576 0.568117 0.646818 1.350309 1.187659 1.791215 0.862642 1.742949 1.213798 0.583814 0.650546 0.965237 1.015772 0.605956 0.144297 0.285298 -0.351085 1.282066 0.474001 0.642725 0.511289 1.457452 0.929763 1.241810 0.227521 0.228779 1.199150 1.811444 -0.006366 0.744946 0.179491 1.361847 -0.378016 1.423650 1.452225 1.393417 1.335482 0.037183 1.548694 0.890495 0.461455 1.744132 0.896894 0.307836 1.812808 0.221251 0.928513)
      )
 
 ;;; 97 odd -------------------------------------------------------------------------------- ; 9.8489
-(vector 97 12.837450993031 (fv 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 1)
+(vector 97 12.837450993031 #(0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 1)
 
-     9.832277 (fv 0.000000 0.379259 1.470054 0.135241 -0.137798 1.476571 0.223942 1.269139 1.617761 0.578479 1.659896 0.192321 0.628723 1.030748 0.068332 0.935772 0.702035 -0.308246 0.093619 0.687832 0.312122 0.952725 0.646784 0.815901 0.600402 0.700649 0.257079 0.728929 1.512814 0.133748 -0.161439 1.667289 1.756964 0.419090 1.460039 1.221568 0.216587 0.357346 0.560096 0.621329 1.423958 -0.140419 -0.285305 1.752977 0.296245 1.796763 0.502171 1.837539 -0.068388 -0.176521 1.655407 0.652714 1.571976 1.231728 0.781936 1.899698 1.696905 1.070324 0.093931 0.071079 0.376824 0.772939 1.099059 0.004831 0.221806 1.727680 0.800189 0.011067 0.690398 0.512420 0.475317 0.941280 1.720146 1.587206 0.923080 0.792083 0.180477 -0.133205 1.214230 1.814657 0.679279 0.282075 1.334889 1.751170 1.536951 0.882536 0.418450 0.834681 -0.026902 0.654794 0.680161 1.077779 1.525535 0.824205 1.102618 0.673911 -0.106249)
+     9.832277 #(0.000000 0.379259 1.470054 0.135241 -0.137798 1.476571 0.223942 1.269139 1.617761 0.578479 1.659896 0.192321 0.628723 1.030748 0.068332 0.935772 0.702035 -0.308246 0.093619 0.687832 0.312122 0.952725 0.646784 0.815901 0.600402 0.700649 0.257079 0.728929 1.512814 0.133748 -0.161439 1.667289 1.756964 0.419090 1.460039 1.221568 0.216587 0.357346 0.560096 0.621329 1.423958 -0.140419 -0.285305 1.752977 0.296245 1.796763 0.502171 1.837539 -0.068388 -0.176521 1.655407 0.652714 1.571976 1.231728 0.781936 1.899698 1.696905 1.070324 0.093931 0.071079 0.376824 0.772939 1.099059 0.004831 0.221806 1.727680 0.800189 0.011067 0.690398 0.512420 0.475317 0.941280 1.720146 1.587206 0.923080 0.792083 0.180477 -0.133205 1.214230 1.814657 0.679279 0.282075 1.334889 1.751170 1.536951 0.882536 0.418450 0.834681 -0.026902 0.654794 0.680161 1.077779 1.525535 0.824205 1.102618 0.673911 -0.106249)
      )
 
 ;;; 98 odd -------------------------------------------------------------------------------- ; 9.8995
-(vector 98 12.972 (fv 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 1 0)
+(vector 98 12.972 #(0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 1 0)
 
-     9.918320 (fv 0.000000 1.126272 0.810135 -0.157043 -0.284411 1.014546 1.656515 0.886620 0.589412 -0.165849 0.041656 1.689870 -0.133502 1.386309 0.753684 1.607028 0.455527 0.729530 1.603812 -0.176801 0.980471 1.557823 1.120428 0.608500 -0.040856 1.654422 1.694414 1.546900 1.545046 0.721205 0.133219 1.189224 1.204719 1.195353 1.299299 -0.156627 0.826681 -0.088693 0.692437 1.036020 0.358333 1.488711 1.027717 0.069063 1.141577 0.328360 0.719016 0.851669 0.356065 0.712122 1.039551 1.236061 1.577925 0.317909 -0.158255 0.050224 -0.509790 1.519264 0.203085 -0.063235 0.037529 0.962155 1.059331 0.698574 0.810336 0.743673 1.683751 0.457113 0.419520 0.759860 1.462788 1.502247 0.636526 0.416346 0.963144 1.154048 0.694553 0.104918 -0.349860 1.108892 1.631062 0.589884 1.392769 1.258082 0.568391 0.753256 1.211016 0.009043 0.817095 0.265385 1.455548 1.585953 1.547698 1.855964 1.737942 0.229735 1.055700 1.696455)
+     9.918320 #(0.000000 1.126272 0.810135 -0.157043 -0.284411 1.014546 1.656515 0.886620 0.589412 -0.165849 0.041656 1.689870 -0.133502 1.386309 0.753684 1.607028 0.455527 0.729530 1.603812 -0.176801 0.980471 1.557823 1.120428 0.608500 -0.040856 1.654422 1.694414 1.546900 1.545046 0.721205 0.133219 1.189224 1.204719 1.195353 1.299299 -0.156627 0.826681 -0.088693 0.692437 1.036020 0.358333 1.488711 1.027717 0.069063 1.141577 0.328360 0.719016 0.851669 0.356065 0.712122 1.039551 1.236061 1.577925 0.317909 -0.158255 0.050224 -0.509790 1.519264 0.203085 -0.063235 0.037529 0.962155 1.059331 0.698574 0.810336 0.743673 1.683751 0.457113 0.419520 0.759860 1.462788 1.502247 0.636526 0.416346 0.963144 1.154048 0.694553 0.104918 -0.349860 1.108892 1.631062 0.589884 1.392769 1.258082 0.568391 0.753256 1.211016 0.009043 0.817095 0.265385 1.455548 1.585953 1.547698 1.855964 1.737942 0.229735 1.055700 1.696455)
 
      ;; pp:
-     9.852643 (fv 0.000000 0.515219 1.262972 1.697020 0.335436 0.889905 1.519089 0.044736 0.650497 1.270750 -0.178917 0.674989 1.450432 0.254900 1.097572 -0.107043 0.651195 1.335130 0.272796 1.297874 0.224159 0.962708 0.053062 1.193382 0.101327 0.836439 -0.105754 1.215012 0.128574 1.109391 0.442046 1.523411 0.553345 1.725474 0.541762 -0.127793 1.417975 0.631717 1.576620 0.767281 0.059112 1.609436 1.033347 0.556109 1.727081 1.010442 0.702568 -0.141336 1.349027 0.669399 0.583528 0.147350 1.497924 0.934945 0.610721 0.101044 -0.019997 1.772284 1.165297 0.883648 0.540756 0.695909 0.051843 0.036770 1.823953 1.940217 1.253231 1.381574 1.135330 0.962885 1.084109 1.188033 1.135270 0.827723 0.748628 1.126276 1.272339 0.770370 1.246808 1.223016 1.570254 1.399310 1.628085 1.829166 -0.154940 0.353005 0.721669 0.726808 0.892330 1.197955 1.533013 0.212675 0.669097 1.140181 1.156217 1.790457 0.422623 0.510791)
+     9.852643 #(0.000000 0.515219 1.262972 1.697020 0.335436 0.889905 1.519089 0.044736 0.650497 1.270750 -0.178917 0.674989 1.450432 0.254900 1.097572 -0.107043 0.651195 1.335130 0.272796 1.297874 0.224159 0.962708 0.053062 1.193382 0.101327 0.836439 -0.105754 1.215012 0.128574 1.109391 0.442046 1.523411 0.553345 1.725474 0.541762 -0.127793 1.417975 0.631717 1.576620 0.767281 0.059112 1.609436 1.033347 0.556109 1.727081 1.010442 0.702568 -0.141336 1.349027 0.669399 0.583528 0.147350 1.497924 0.934945 0.610721 0.101044 -0.019997 1.772284 1.165297 0.883648 0.540756 0.695909 0.051843 0.036770 1.823953 1.940217 1.253231 1.381574 1.135330 0.962885 1.084109 1.188033 1.135270 0.827723 0.748628 1.126276 1.272339 0.770370 1.246808 1.223016 1.570254 1.399310 1.628085 1.829166 -0.154940 0.353005 0.721669 0.726808 0.892330 1.197955 1.533013 0.212675 0.669097 1.140181 1.156217 1.790457 0.422623 0.510791)
      )
 
 ;;; 99 odd -------------------------------------------------------------------------------- ; 9.9499
-(vector 99 13.000000000002 (fv 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0)
+(vector 99 13.000000000002 #(0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0)
 
-     9.927757 (fv 0.000000 0.612324 0.079141 1.434202 1.000660 0.891242 1.012263 -0.017562 0.996629 0.611063 1.321217 1.621637 1.504948 1.624898 0.001412 0.412734 0.326019 1.366721 1.072960 0.116515 0.715979 -0.740444 1.161301 1.297736 1.041757 0.027020 1.458453 1.107119 0.363908 1.415543 1.763457 0.255777 0.686434 -0.085735 0.651473 1.217063 -0.047283 1.151992 0.790695 -0.152103 1.647917 0.508714 0.628648 1.408143 1.292464 0.474000 1.003650 0.520847 0.629804 0.218082 0.785490 -0.232867 0.391411 1.172299 0.273141 1.313231 0.427739 0.013232 0.516032 0.610598 1.282766 1.029342 0.967918 1.073490 0.454858 0.915907 0.522595 0.274119 0.827376 0.861574 -0.158909 -0.432703 1.871750 1.122982 0.647824 -0.195710 0.262542 1.053968 0.565099 0.024117 0.401586 0.264805 1.587960 -0.370184 1.152346 1.774247 0.242656 0.316777 1.195086 1.067518 1.112347 0.688842 1.446613 0.608318 1.321142 -0.167020 0.907334 1.022140 1.062351)
+     9.927757 #(0.000000 0.612324 0.079141 1.434202 1.000660 0.891242 1.012263 -0.017562 0.996629 0.611063 1.321217 1.621637 1.504948 1.624898 0.001412 0.412734 0.326019 1.366721 1.072960 0.116515 0.715979 -0.740444 1.161301 1.297736 1.041757 0.027020 1.458453 1.107119 0.363908 1.415543 1.763457 0.255777 0.686434 -0.085735 0.651473 1.217063 -0.047283 1.151992 0.790695 -0.152103 1.647917 0.508714 0.628648 1.408143 1.292464 0.474000 1.003650 0.520847 0.629804 0.218082 0.785490 -0.232867 0.391411 1.172299 0.273141 1.313231 0.427739 0.013232 0.516032 0.610598 1.282766 1.029342 0.967918 1.073490 0.454858 0.915907 0.522595 0.274119 0.827376 0.861574 -0.158909 -0.432703 1.871750 1.122982 0.647824 -0.195710 0.262542 1.053968 0.565099 0.024117 0.401586 0.264805 1.587960 -0.370184 1.152346 1.774247 0.242656 0.316777 1.195086 1.067518 1.112347 0.688842 1.446613 0.608318 1.321142 -0.167020 0.907334 1.022140 1.062351)
      )
 
 ;;; 100 odd -------------------------------------------------------------------------------- ; 10
-(vector 100 13.117680368039 (fv 0 1 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0)
+(vector 100 13.117680368039 #(0 1 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0)
 
-      9.967820 (fv 0.000000 1.016486 1.075466 0.675161 0.574401 1.527303 0.369311 1.093743 1.758162 0.649535 1.329616 0.683289 -0.464743 0.488528 0.846167 1.093202 0.188464 -0.009742 1.328398 -0.092736 0.866724 1.306141 0.236206 -0.048398 0.065984 1.250377 0.880265 0.529903 1.908284 0.909975 0.870318 1.170730 0.401807 0.051428 1.546047 -0.084383 1.553645 1.723234 -0.192262 -0.005451 0.846559 1.396413 0.793410 1.734419 0.268618 0.782362 0.300041 0.085963 0.406528 -0.058412 0.759019 0.311738 0.688186 1.163736 0.207596 0.957152 0.518038 -0.238894 1.966069 0.254028 0.497859 0.406362 0.948142 0.108565 0.809242 0.618274 0.008503 1.224166 0.619792 -0.063172 1.170177 1.631095 0.360399 0.496092 1.173684 1.571576 1.461266 0.250954 0.485376 0.293914 0.241987 0.266855 1.299097 1.747740 -0.157940 1.025403 0.055859 0.443647 -0.030039 1.366811 0.369467 1.523632 1.262832 1.148761 0.265795 -0.397124 0.678718 0.978216 1.111928 1.121642)
+      9.967820 #(0.000000 1.016486 1.075466 0.675161 0.574401 1.527303 0.369311 1.093743 1.758162 0.649535 1.329616 0.683289 -0.464743 0.488528 0.846167 1.093202 0.188464 -0.009742 1.328398 -0.092736 0.866724 1.306141 0.236206 -0.048398 0.065984 1.250377 0.880265 0.529903 1.908284 0.909975 0.870318 1.170730 0.401807 0.051428 1.546047 -0.084383 1.553645 1.723234 -0.192262 -0.005451 0.846559 1.396413 0.793410 1.734419 0.268618 0.782362 0.300041 0.085963 0.406528 -0.058412 0.759019 0.311738 0.688186 1.163736 0.207596 0.957152 0.518038 -0.238894 1.966069 0.254028 0.497859 0.406362 0.948142 0.108565 0.809242 0.618274 0.008503 1.224166 0.619792 -0.063172 1.170177 1.631095 0.360399 0.496092 1.173684 1.571576 1.461266 0.250954 0.485376 0.293914 0.241987 0.266855 1.299097 1.747740 -0.157940 1.025403 0.055859 0.443647 -0.030039 1.366811 0.369467 1.523632 1.262832 1.148761 0.265795 -0.397124 0.678718 0.978216 1.111928 1.121642)
       )
 
 ;;; 101 odd -------------------------------------------------------------------------------- ; 10.0499
-(vector 101 13.28250751675 (fv 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1)
+(vector 101 13.28250751675 #(0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1)
 
-      9.964634 (fv 0.000000 -0.073111 1.535769 -0.102555 0.949824 0.661791 1.376397 0.389320 1.429271 1.382915 0.702074 0.190023 0.165010 0.880936 1.053717 0.381858 1.515003 1.204543 0.504035 0.920455 0.391206 0.949414 1.113429 0.554900 1.897469 1.768789 1.766679 1.550589 0.402518 0.254763 0.394916 1.625563 0.833640 0.744524 0.452145 -0.082936 0.892795 1.873582 1.781184 -0.418454 1.636196 -0.022737 0.903335 -0.412208 1.924024 0.194797 -0.087158 0.651748 1.188278 0.341571 0.583987 1.814760 1.207941 1.789448 0.551284 0.991618 0.259118 0.282624 1.011184 1.611901 1.372798 1.012968 0.839711 1.331909 1.264042 0.325794 0.343316 -0.075857 -0.460634 0.488689 1.512646 1.806638 1.012723 -0.303497 1.575625 0.027198 0.002241 1.290806 1.657896 1.438044 0.654010 1.150362 0.652919 1.476118 -0.053999 -0.024155 0.726437 0.454484 1.497660 0.765182 0.287065 1.425963 0.079052 0.750136 1.836142 1.337567 -0.185862 1.924720 -0.153672 0.400041 1.450120)
+      9.964634 #(0.000000 -0.073111 1.535769 -0.102555 0.949824 0.661791 1.376397 0.389320 1.429271 1.382915 0.702074 0.190023 0.165010 0.880936 1.053717 0.381858 1.515003 1.204543 0.504035 0.920455 0.391206 0.949414 1.113429 0.554900 1.897469 1.768789 1.766679 1.550589 0.402518 0.254763 0.394916 1.625563 0.833640 0.744524 0.452145 -0.082936 0.892795 1.873582 1.781184 -0.418454 1.636196 -0.022737 0.903335 -0.412208 1.924024 0.194797 -0.087158 0.651748 1.188278 0.341571 0.583987 1.814760 1.207941 1.789448 0.551284 0.991618 0.259118 0.282624 1.011184 1.611901 1.372798 1.012968 0.839711 1.331909 1.264042 0.325794 0.343316 -0.075857 -0.460634 0.488689 1.512646 1.806638 1.012723 -0.303497 1.575625 0.027198 0.002241 1.290806 1.657896 1.438044 0.654010 1.150362 0.652919 1.476118 -0.053999 -0.024155 0.726437 0.454484 1.497660 0.765182 0.287065 1.425963 0.079052 0.750136 1.836142 1.337567 -0.185862 1.924720 -0.153672 0.400041 1.450120)
       )
 
 ;;; 102 odd -------------------------------------------------------------------------------- ; 10.0995
-(vector 102 13.159336831147 (fv 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0)
+(vector 102 13.159336831147 #(0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0)
 
-      10.045766 (fv 0.000000 -0.279070 0.173878 0.081403 1.768938 1.607495 0.603256 0.555897 0.375867 1.098499 0.557935 1.658062 0.679353 0.435605 1.704584 0.882188 0.675710 1.226519 -0.017413 0.221732 -0.211376 1.307302 0.689909 0.655783 0.993058 0.615004 1.764502 1.131327 0.119482 0.185094 1.035751 1.439320 1.373211 1.418236 0.503946 0.310742 0.195150 1.345393 1.645648 0.392993 0.050135 0.685592 0.243679 0.754096 0.965418 1.162001 1.767714 0.912263 1.540226 0.989163 0.153496 1.180193 0.495181 0.826820 -0.194339 1.268780 1.482827 -0.154668 1.003093 0.057371 1.563631 1.606126 0.908893 1.017810 0.439667 -0.174146 0.280275 0.399111 1.342959 -0.098826 1.087834 1.050762 0.557805 0.752893 -0.400427 0.095731 0.689016 0.552247 0.778927 0.058727 0.428406 0.269116 0.480708 0.192361 0.563638 0.686642 0.128600 1.864221 -0.045520 1.018032 1.780635 -0.005046 0.881801 1.021244 0.513775 1.482476 0.956890 0.518235 1.186738 -0.018819 1.609204 0.515712)
+      10.045766 #(0.000000 -0.279070 0.173878 0.081403 1.768938 1.607495 0.603256 0.555897 0.375867 1.098499 0.557935 1.658062 0.679353 0.435605 1.704584 0.882188 0.675710 1.226519 -0.017413 0.221732 -0.211376 1.307302 0.689909 0.655783 0.993058 0.615004 1.764502 1.131327 0.119482 0.185094 1.035751 1.439320 1.373211 1.418236 0.503946 0.310742 0.195150 1.345393 1.645648 0.392993 0.050135 0.685592 0.243679 0.754096 0.965418 1.162001 1.767714 0.912263 1.540226 0.989163 0.153496 1.180193 0.495181 0.826820 -0.194339 1.268780 1.482827 -0.154668 1.003093 0.057371 1.563631 1.606126 0.908893 1.017810 0.439667 -0.174146 0.280275 0.399111 1.342959 -0.098826 1.087834 1.050762 0.557805 0.752893 -0.400427 0.095731 0.689016 0.552247 0.778927 0.058727 0.428406 0.269116 0.480708 0.192361 0.563638 0.686642 0.128600 1.864221 -0.045520 1.018032 1.780635 -0.005046 0.881801 1.021244 0.513775 1.482476 0.956890 0.518235 1.186738 -0.018819 1.609204 0.515712)
       )
 
 ;;; 103 odd -------------------------------------------------------------------------------- ; 10.1489
-(vector 103 13.142812158651 (fv 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1)
+(vector 103 13.142812158651 #(0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1)
 
-      10.102476 (fv 0.000000 1.369258 0.406430 1.487363 1.300312 1.174178 0.725871 1.118946 0.567934 1.507074 1.421940 0.060397 1.553534 0.366960 0.264364 -0.027869 1.681923 0.350717 1.364154 0.204515 -0.180262 0.842363 0.287472 1.198426 1.756374 1.259211 0.898266 0.187309 0.401610 0.535873 0.048012 0.851696 1.323060 0.925186 0.678890 0.097118 1.570744 0.545725 0.858166 1.853728 0.291531 1.096726 1.166849 -0.045402 1.179837 -0.111020 0.643454 0.486562 1.084325 0.673411 1.808268 0.331853 0.761303 0.506929 0.948787 0.125433 1.093138 1.172704 1.300823 -0.087765 1.061422 -0.231489 1.345595 1.007175 0.463207 0.567128 0.417701 0.867458 1.827132 1.618306 -0.235698 1.268358 1.413906 0.291274 -0.510359 1.287040 0.555326 0.694591 1.555786 1.225983 1.844314 0.908000 0.867329 0.232081 1.454227 0.972019 1.069240 0.133107 0.915878 0.821231 0.471133 1.434428 0.215881 0.667043 0.772841 0.944850 1.153588 0.551253 0.882554 1.134378 0.032596 -0.042233 1.758816)
+      10.102476 #(0.000000 1.369258 0.406430 1.487363 1.300312 1.174178 0.725871 1.118946 0.567934 1.507074 1.421940 0.060397 1.553534 0.366960 0.264364 -0.027869 1.681923 0.350717 1.364154 0.204515 -0.180262 0.842363 0.287472 1.198426 1.756374 1.259211 0.898266 0.187309 0.401610 0.535873 0.048012 0.851696 1.323060 0.925186 0.678890 0.097118 1.570744 0.545725 0.858166 1.853728 0.291531 1.096726 1.166849 -0.045402 1.179837 -0.111020 0.643454 0.486562 1.084325 0.673411 1.808268 0.331853 0.761303 0.506929 0.948787 0.125433 1.093138 1.172704 1.300823 -0.087765 1.061422 -0.231489 1.345595 1.007175 0.463207 0.567128 0.417701 0.867458 1.827132 1.618306 -0.235698 1.268358 1.413906 0.291274 -0.510359 1.287040 0.555326 0.694591 1.555786 1.225983 1.844314 0.908000 0.867329 0.232081 1.454227 0.972019 1.069240 0.133107 0.915878 0.821231 0.471133 1.434428 0.215881 0.667043 0.772841 0.944850 1.153588 0.551253 0.882554 1.134378 0.032596 -0.042233 1.758816)
       )
 
 ;;; 104 odd -------------------------------------------------------------------------------- ; 10.1980
-(vector 104 13.176067352295 (fv 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1 0)
+(vector 104 13.176067352295 #(0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1 0)
 
-      10.168550 (fv 0.000000 0.863337 -0.113966 0.952335 1.179324 1.344589 0.086001 1.784568 0.040939 -0.278342 0.492392 1.373041 1.589416 0.305140 1.040154 0.306852 0.639739 1.605433 -0.082316 1.171614 0.018705 0.877480 0.742834 1.013469 -0.394587 0.679538 1.685340 1.015860 0.451982 1.273683 0.656961 1.380347 0.930414 0.629931 0.875751 1.106458 0.854029 1.097615 0.942886 1.634232 -0.087153 1.214976 0.912099 1.026106 0.377766 0.938615 0.980356 0.179306 0.223817 1.145177 1.622990 0.100820 0.989970 1.826246 0.934306 0.310115 -0.012658 0.179983 -0.026220 0.755024 0.027968 0.662514 0.819461 1.633236 1.403644 1.156857 1.356308 1.542286 1.253871 1.012715 0.852908 0.924116 0.022097 0.368327 -0.090612 1.052696 -0.034185 0.655336 -0.097080 -0.157717 1.261805 0.337757 0.457703 1.158886 1.296591 0.128958 1.630443 0.809473 0.920747 1.393423 0.696288 0.328360 1.336354 1.510499 1.486152 1.947494 0.779240 0.349685 0.612445 1.433252 1.461547 0.826387 0.679858 -0.337976)
+      10.168550 #(0.000000 0.863337 -0.113966 0.952335 1.179324 1.344589 0.086001 1.784568 0.040939 -0.278342 0.492392 1.373041 1.589416 0.305140 1.040154 0.306852 0.639739 1.605433 -0.082316 1.171614 0.018705 0.877480 0.742834 1.013469 -0.394587 0.679538 1.685340 1.015860 0.451982 1.273683 0.656961 1.380347 0.930414 0.629931 0.875751 1.106458 0.854029 1.097615 0.942886 1.634232 -0.087153 1.214976 0.912099 1.026106 0.377766 0.938615 0.980356 0.179306 0.223817 1.145177 1.622990 0.100820 0.989970 1.826246 0.934306 0.310115 -0.012658 0.179983 -0.026220 0.755024 0.027968 0.662514 0.819461 1.633236 1.403644 1.156857 1.356308 1.542286 1.253871 1.012715 0.852908 0.924116 0.022097 0.368327 -0.090612 1.052696 -0.034185 0.655336 -0.097080 -0.157717 1.261805 0.337757 0.457703 1.158886 1.296591 0.128958 1.630443 0.809473 0.920747 1.393423 0.696288 0.328360 1.336354 1.510499 1.486152 1.947494 0.779240 0.349685 0.612445 1.433252 1.461547 0.826387 0.679858 -0.337976)
       )
 
 ;;; 105 odd -------------------------------------------------------------------------------- ; 10.2470
-(vector 105 13.491228801467 (fv 0 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0)
+(vector 105 13.491228801467 #(0 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0)
 
-      10.115828 (fv 0.000000 0.049019 1.344835 1.091641 0.665700 0.968893 0.648602 0.707898 1.514354 1.538919 0.526334 1.493761 1.624995 0.707437 0.593803 0.874212 1.543010 1.853745 0.426397 0.026573 1.615940 1.506593 0.465693 1.159200 -0.404908 1.664358 0.782410 1.352302 -0.234654 1.360029 1.390064 0.562127 0.900595 -0.305834 1.198378 1.369945 1.005775 0.397773 0.628843 1.626964 0.837449 1.061154 1.446306 1.380391 1.599960 0.270806 1.328543 -0.187842 -0.215850 0.275407 1.674813 1.481684 0.685411 -0.076514 1.172112 0.021028 -0.282040 0.805083 0.169438 0.519532 1.238467 0.912197 -0.108203 0.770912 1.223603 1.260598 0.243317 1.416653 -0.085803 1.793597 1.018898 0.209596 0.637018 0.680644 1.218601 -0.251927 1.342315 0.794662 0.530948 1.151958 0.965018 0.768542 0.003792 0.487969 1.528116 0.185132 1.582165 0.376426 0.269883 0.979543 1.678175 1.757906 1.492507 0.386900 1.219606 0.328787 1.292795 -0.100060 0.401454 0.164930 0.339091 0.226350 0.418706 -0.115549 1.296351)
+      10.115828 #(0.000000 0.049019 1.344835 1.091641 0.665700 0.968893 0.648602 0.707898 1.514354 1.538919 0.526334 1.493761 1.624995 0.707437 0.593803 0.874212 1.543010 1.853745 0.426397 0.026573 1.615940 1.506593 0.465693 1.159200 -0.404908 1.664358 0.782410 1.352302 -0.234654 1.360029 1.390064 0.562127 0.900595 -0.305834 1.198378 1.369945 1.005775 0.397773 0.628843 1.626964 0.837449 1.061154 1.446306 1.380391 1.599960 0.270806 1.328543 -0.187842 -0.215850 0.275407 1.674813 1.481684 0.685411 -0.076514 1.172112 0.021028 -0.282040 0.805083 0.169438 0.519532 1.238467 0.912197 -0.108203 0.770912 1.223603 1.260598 0.243317 1.416653 -0.085803 1.793597 1.018898 0.209596 0.637018 0.680644 1.218601 -0.251927 1.342315 0.794662 0.530948 1.151958 0.965018 0.768542 0.003792 0.487969 1.528116 0.185132 1.582165 0.376426 0.269883 0.979543 1.678175 1.757906 1.492507 0.386900 1.219606 0.328787 1.292795 -0.100060 0.401454 0.164930 0.339091 0.226350 0.418706 -0.115549 1.296351)
       )
 
 ;;; 106 odd -------------------------------------------------------------------------------- ; 10.2956
-(vector 106 13.091135978699 (fv 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0)
+(vector 106 13.091135978699 #(0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0)
 
-      10.198335 (fv 0.000000 0.831679 1.059524 0.595983 0.203261 1.202829 1.655547 1.163399 0.731912 1.050991 -0.085268 1.049064 0.669107 0.707558 1.587356 0.103456 0.095032 1.177165 1.677580 0.458849 0.488238 1.294418 -0.328225 1.742764 0.960376 0.232688 1.221102 1.139466 1.165521 0.274312 -0.217213 1.769983 -0.106435 0.980799 0.424668 1.120797 1.738923 1.408831 0.326124 1.349134 0.307375 0.275240 0.392410 1.221176 0.352509 0.866366 0.344959 0.656333 0.909394 0.940268 0.976614 0.141881 0.684412 0.786921 -0.062121 -0.010568 1.690036 -0.088688 1.427313 -0.052874 1.785355 0.109989 0.958795 1.179624 0.324837 1.229886 1.616903 1.768092 1.318950 1.675999 1.563712 0.225381 0.575251 0.774252 -0.022742 1.783220 1.405786 0.332796 1.613495 1.352845 1.308309 0.373980 1.918112 1.162561 0.910064 1.737277 1.152808 -0.033675 0.058425 1.406045 -0.253836 0.991335 1.479963 0.005130 1.832773 0.614974 0.073456 1.352269 1.161897 0.192184 0.857686 0.091488 0.263380 1.392944 0.202339 1.603064)
+      10.198335 #(0.000000 0.831679 1.059524 0.595983 0.203261 1.202829 1.655547 1.163399 0.731912 1.050991 -0.085268 1.049064 0.669107 0.707558 1.587356 0.103456 0.095032 1.177165 1.677580 0.458849 0.488238 1.294418 -0.328225 1.742764 0.960376 0.232688 1.221102 1.139466 1.165521 0.274312 -0.217213 1.769983 -0.106435 0.980799 0.424668 1.120797 1.738923 1.408831 0.326124 1.349134 0.307375 0.275240 0.392410 1.221176 0.352509 0.866366 0.344959 0.656333 0.909394 0.940268 0.976614 0.141881 0.684412 0.786921 -0.062121 -0.010568 1.690036 -0.088688 1.427313 -0.052874 1.785355 0.109989 0.958795 1.179624 0.324837 1.229886 1.616903 1.768092 1.318950 1.675999 1.563712 0.225381 0.575251 0.774252 -0.022742 1.783220 1.405786 0.332796 1.613495 1.352845 1.308309 0.373980 1.918112 1.162561 0.910064 1.737277 1.152808 -0.033675 0.058425 1.406045 -0.253836 0.991335 1.479963 0.005130 1.832773 0.614974 0.073456 1.352269 1.161897 0.192184 0.857686 0.091488 0.263380 1.392944 0.202339 1.603064)
       )
 
 ;;; 107 odd -------------------------------------------------------------------------------- ; 10.3441
-(vector 107 13.537808159641 (fv 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1)
+(vector 107 13.537808159641 #(0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1)
 
-      10.295953 (fv 0.000000 1.453513 1.655211 0.102988 0.785431 1.249929 -0.025066 1.750838 0.347673 1.604380 1.551092 0.115495 1.639861 1.667898 0.228709 1.701673 0.201321 1.045139 -0.312647 0.175688 0.855996 0.160415 1.472612 0.763114 0.800624 0.361142 1.295288 0.490786 -0.039842 -0.032740 0.339591 1.592008 0.669279 0.117545 -0.109117 1.018536 0.901071 0.716433 0.346971 1.020475 -0.173945 0.889314 0.077058 1.765220 1.318363 1.591641 1.626283 0.012132 1.508938 0.471426 0.670071 1.171727 0.339306 0.138717 0.336161 0.439088 1.260263 -0.187548 0.396198 0.258209 0.100455 1.039650 0.818140 1.958400 1.117502 0.697124 1.567939 -0.332396 0.783424 1.205431 0.709006 -0.344647 0.483889 0.499549 -0.063258 0.695169 0.972581 0.387305 1.779513 -0.022586 1.856190 0.369348 0.297097 0.538965 0.115827 0.894957 1.816307 1.006210 1.611567 -0.212466 -0.136556 0.733243 0.881259 0.131239 1.843996 -0.064517 1.632049 0.217595 1.203085 0.867259 0.064249 0.691138 1.782204 1.811114 1.580857 1.070340 1.558270)
+      10.295953 #(0.000000 1.453513 1.655211 0.102988 0.785431 1.249929 -0.025066 1.750838 0.347673 1.604380 1.551092 0.115495 1.639861 1.667898 0.228709 1.701673 0.201321 1.045139 -0.312647 0.175688 0.855996 0.160415 1.472612 0.763114 0.800624 0.361142 1.295288 0.490786 -0.039842 -0.032740 0.339591 1.592008 0.669279 0.117545 -0.109117 1.018536 0.901071 0.716433 0.346971 1.020475 -0.173945 0.889314 0.077058 1.765220 1.318363 1.591641 1.626283 0.012132 1.508938 0.471426 0.670071 1.171727 0.339306 0.138717 0.336161 0.439088 1.260263 -0.187548 0.396198 0.258209 0.100455 1.039650 0.818140 1.958400 1.117502 0.697124 1.567939 -0.332396 0.783424 1.205431 0.709006 -0.344647 0.483889 0.499549 -0.063258 0.695169 0.972581 0.387305 1.779513 -0.022586 1.856190 0.369348 0.297097 0.538965 0.115827 0.894957 1.816307 1.006210 1.611567 -0.212466 -0.136556 0.733243 0.881259 0.131239 1.843996 -0.064517 1.632049 0.217595 1.203085 0.867259 0.064249 0.691138 1.782204 1.811114 1.580857 1.070340 1.558270)
       )
 
 ;;; 108 odd -------------------------------------------------------------------------------- ; 10.3923
-(vector 108 13.472808406168 (fv 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0)
+(vector 108 13.472808406168 #(0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0)
 
-      10.325467 (fv 0.000000 1.823999 0.121670 1.358801 0.589768 1.029967 -0.433790 1.041582 -1.274122 0.780646 -0.169734 1.604597 1.010159 1.810789 0.632723 -0.206688 0.463178 1.073646 1.521165 -0.178712 1.523791 0.423100 0.144424 0.899019 -0.452142 0.547962 0.895764 1.662227 0.346193 1.471302 -0.164671 -1.901696 0.406602 0.262326 0.474119 -0.030228 1.801622 1.325384 1.588387 0.343116 0.445611 0.273212 0.831258 1.871029 -0.312461 1.896993 1.025139 0.721577 0.726171 0.338346 0.861017 1.378901 0.847116 0.469202 -0.383235 0.452023 -0.496006 1.102062 1.102044 1.646809 0.311243 -0.456688 0.949926 0.520943 0.921326 0.643117 0.781598 1.182150 0.966506 0.456713 0.498859 1.075971 1.927079 0.160322 0.159648 0.419881 0.925743 0.446322 0.326978 1.459788 0.903977 -0.021458 1.063237 1.175806 1.223175 0.258595 0.623246 1.572004 0.621332 1.978290 1.546402 1.672410 0.423727 1.205710 1.436589 0.182917 0.251425 0.718333 -1.375705 0.497395 0.186440 0.550196 0.272118 1.380692 1.012574 0.305814 1.433937 0.098087)
+      10.325467 #(0.000000 1.823999 0.121670 1.358801 0.589768 1.029967 -0.433790 1.041582 -1.274122 0.780646 -0.169734 1.604597 1.010159 1.810789 0.632723 -0.206688 0.463178 1.073646 1.521165 -0.178712 1.523791 0.423100 0.144424 0.899019 -0.452142 0.547962 0.895764 1.662227 0.346193 1.471302 -0.164671 -1.901696 0.406602 0.262326 0.474119 -0.030228 1.801622 1.325384 1.588387 0.343116 0.445611 0.273212 0.831258 1.871029 -0.312461 1.896993 1.025139 0.721577 0.726171 0.338346 0.861017 1.378901 0.847116 0.469202 -0.383235 0.452023 -0.496006 1.102062 1.102044 1.646809 0.311243 -0.456688 0.949926 0.520943 0.921326 0.643117 0.781598 1.182150 0.966506 0.456713 0.498859 1.075971 1.927079 0.160322 0.159648 0.419881 0.925743 0.446322 0.326978 1.459788 0.903977 -0.021458 1.063237 1.175806 1.223175 0.258595 0.623246 1.572004 0.621332 1.978290 1.546402 1.672410 0.423727 1.205710 1.436589 0.182917 0.251425 0.718333 -1.375705 0.497395 0.186440 0.550196 0.272118 1.380692 1.012574 0.305814 1.433937 0.098087)
       )
 
 ;;; 109 odd -------------------------------------------------------------------------------- ; 10.4403
-(vector 109 13.798 (fv 0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 0)
+(vector 109 13.798 #(0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 0)
 
-      10.413972 (fv 0.000000 -0.329332 1.852441 0.301192 0.479205 1.938689 1.086891 1.271023 0.729396 1.367900 1.483662 1.203078 1.940935 0.158023 0.999249 1.513297 0.973974 0.871966 0.600005 0.917499 0.064963 1.625056 1.204390 0.450307 0.459827 1.379619 0.277893 0.390957 1.292297 1.095127 0.941246 0.509853 0.476400 1.479425 1.214972 0.999425 1.144172 0.402758 1.277806 -1.541834 1.224224 0.408937 -0.140267 1.012505 1.167342 0.593542 1.500901 0.801861 0.428256 0.363108 1.278773 0.897271 1.754344 0.238279 0.787476 1.405582 1.439989 1.293816 1.237720 0.491493 1.514000 1.092355 0.055457 1.477338 0.699004 0.040279 0.957508 1.786210 0.481649 0.726028 0.215740 0.216870 1.343437 -0.395385 1.669265 -0.047054 1.724398 0.984510 0.441756 -0.012720 0.257871 1.485641 -0.121426 0.687863 0.835502 1.004805 1.663485 0.780698 1.042433 1.097029 1.089236 1.689246 1.096756 0.293532 0.899560 -0.005695 0.471699 1.241990 1.396400 -0.542444 0.294633 1.091314 0.356171 0.908370 0.648337 1.936350 -0.128643 0.053871 0.188853)
+      10.413972 #(0.000000 -0.329332 1.852441 0.301192 0.479205 1.938689 1.086891 1.271023 0.729396 1.367900 1.483662 1.203078 1.940935 0.158023 0.999249 1.513297 0.973974 0.871966 0.600005 0.917499 0.064963 1.625056 1.204390 0.450307 0.459827 1.379619 0.277893 0.390957 1.292297 1.095127 0.941246 0.509853 0.476400 1.479425 1.214972 0.999425 1.144172 0.402758 1.277806 -1.541834 1.224224 0.408937 -0.140267 1.012505 1.167342 0.593542 1.500901 0.801861 0.428256 0.363108 1.278773 0.897271 1.754344 0.238279 0.787476 1.405582 1.439989 1.293816 1.237720 0.491493 1.514000 1.092355 0.055457 1.477338 0.699004 0.040279 0.957508 1.786210 0.481649 0.726028 0.215740 0.216870 1.343437 -0.395385 1.669265 -0.047054 1.724398 0.984510 0.441756 -0.012720 0.257871 1.485641 -0.121426 0.687863 0.835502 1.004805 1.663485 0.780698 1.042433 1.097029 1.089236 1.689246 1.096756 0.293532 0.899560 -0.005695 0.471699 1.241990 1.396400 -0.542444 0.294633 1.091314 0.356171 0.908370 0.648337 1.936350 -0.128643 0.053871 0.188853)
       )
 
 ;;; 110 odd -------------------------------------------------------------------------------- ; 10.4881
-(vector 110 13.576010454591 (fv 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0)
+(vector 110 13.576010454591 #(0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0)
 
-      10.408073 (fv 0.000000 1.583299 1.129147 0.924363 0.405386 0.106463 0.654471 1.235816 1.676675 1.424024 -0.320821 -0.106137 1.651584 1.223458 1.376470 0.070578 0.035561 0.618393 1.591071 1.247092 1.420738 1.407145 1.068993 1.180774 1.368120 -0.309458 -0.227815 -0.257077 0.341569 0.189699 1.898096 1.209271 -0.362341 0.480813 1.176223 1.497789 1.567432 0.970389 -0.047452 0.764481 1.364232 1.546603 0.838685 0.519999 0.785088 1.840526 0.201375 0.694162 0.995107 0.138310 0.417265 -0.004223 1.430441 0.548174 0.456155 0.879102 0.021026 0.612402 1.448544 1.143273 1.475463 0.804075 0.821149 0.175404 1.164546 0.079156 1.149637 1.448505 1.656091 1.757415 0.521205 0.257194 1.707629 0.482292 1.377093 0.507438 0.991226 -0.612661 0.868064 0.306724 0.414844 0.138628 0.061298 1.129023 1.487975 0.706799 -0.099480 1.383589 0.290834 1.123787 -0.072238 0.982011 0.038233 1.760058 0.405531 0.016972 -0.604791 1.005236 1.670267 -0.215358 1.779967 0.879139 0.413047 1.290874 0.860692 0.804540 1.190191 0.135277 0.110128 0.732322)
+      10.408073 #(0.000000 1.583299 1.129147 0.924363 0.405386 0.106463 0.654471 1.235816 1.676675 1.424024 -0.320821 -0.106137 1.651584 1.223458 1.376470 0.070578 0.035561 0.618393 1.591071 1.247092 1.420738 1.407145 1.068993 1.180774 1.368120 -0.309458 -0.227815 -0.257077 0.341569 0.189699 1.898096 1.209271 -0.362341 0.480813 1.176223 1.497789 1.567432 0.970389 -0.047452 0.764481 1.364232 1.546603 0.838685 0.519999 0.785088 1.840526 0.201375 0.694162 0.995107 0.138310 0.417265 -0.004223 1.430441 0.548174 0.456155 0.879102 0.021026 0.612402 1.448544 1.143273 1.475463 0.804075 0.821149 0.175404 1.164546 0.079156 1.149637 1.448505 1.656091 1.757415 0.521205 0.257194 1.707629 0.482292 1.377093 0.507438 0.991226 -0.612661 0.868064 0.306724 0.414844 0.138628 0.061298 1.129023 1.487975 0.706799 -0.099480 1.383589 0.290834 1.123787 -0.072238 0.982011 0.038233 1.760058 0.405531 0.016972 -0.604791 1.005236 1.670267 -0.215358 1.779967 0.879139 0.413047 1.290874 0.860692 0.804540 1.190191 0.135277 0.110128 0.732322)
       )
 
 ;;; 111 odd -------------------------------------------------------------------------------- ; 10.5357
-(vector 111 13.709900383304 (fv 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0)
+(vector 111 13.709900383304 #(0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0)
 
-      10.588903 (fv 0.000000 0.083293 0.444830 -0.213766 0.524915 -0.005956 1.175907 0.783294 -0.343790 -0.015069 1.676924 0.021997 -0.012805 1.023472 0.864450 1.922773 1.431731 1.374839 1.561767 1.633583 0.198147 0.245727 1.910466 0.995751 0.091514 1.666123 0.750477 1.953152 1.512135 0.025831 0.969938 0.804619 0.507564 0.688555 -0.027332 1.433090 0.812479 0.893934 1.245019 0.835304 0.404414 0.839838 0.338429 -0.112731 0.636982 0.099621 1.080987 1.292673 0.177317 1.292327 1.284755 0.253860 0.748555 1.591323 1.605479 0.445460 1.332537 -0.181589 1.668331 0.627699 0.074537 0.208177 0.135644 0.846946 0.614940 0.479986 0.443281 0.299879 1.767930 1.411021 -0.391645 0.057816 1.376551 1.471560 -0.203049 0.453124 0.061036 0.704839 1.379390 1.848624 0.771131 -0.036797 0.007834 1.611881 1.733830 0.412751 1.415257 0.544650 1.539165 0.414455 1.242586 0.195280 0.522916 0.859907 1.238816 -0.090313 -0.027707 -0.025034 0.375248 1.748950 1.440534 1.222909 0.018270 -0.118073 0.275708 1.112569 0.089742 1.167857 1.617530 0.755934 0.450427)
+      10.588903 #(0.000000 0.083293 0.444830 -0.213766 0.524915 -0.005956 1.175907 0.783294 -0.343790 -0.015069 1.676924 0.021997 -0.012805 1.023472 0.864450 1.922773 1.431731 1.374839 1.561767 1.633583 0.198147 0.245727 1.910466 0.995751 0.091514 1.666123 0.750477 1.953152 1.512135 0.025831 0.969938 0.804619 0.507564 0.688555 -0.027332 1.433090 0.812479 0.893934 1.245019 0.835304 0.404414 0.839838 0.338429 -0.112731 0.636982 0.099621 1.080987 1.292673 0.177317 1.292327 1.284755 0.253860 0.748555 1.591323 1.605479 0.445460 1.332537 -0.181589 1.668331 0.627699 0.074537 0.208177 0.135644 0.846946 0.614940 0.479986 0.443281 0.299879 1.767930 1.411021 -0.391645 0.057816 1.376551 1.471560 -0.203049 0.453124 0.061036 0.704839 1.379390 1.848624 0.771131 -0.036797 0.007834 1.611881 1.733830 0.412751 1.415257 0.544650 1.539165 0.414455 1.242586 0.195280 0.522916 0.859907 1.238816 -0.090313 -0.027707 -0.025034 0.375248 1.748950 1.440534 1.222909 0.018270 -0.118073 0.275708 1.112569 0.089742 1.167857 1.617530 0.755934 0.450427)
 
       ;; pp:
-      10.417134 (fv 0.000000 0.334233 1.073081 1.649039 0.219597 0.888802 1.379829 0.088335 0.555458 1.328032 1.801862 0.615319 1.429043 0.326004 0.993452 1.804613 0.545160 1.317910 1.885616 0.678140 1.509274 0.323491 1.236504 0.282786 1.199970 0.195704 1.232493 0.160017 0.897560 -0.082586 1.086392 0.182366 1.277299 0.339072 1.485948 0.630905 1.802953 0.832621 -0.132126 1.110982 0.486291 1.681037 0.774846 -0.032051 1.638442 0.870514 -0.093334 1.333411 0.747525 0.167590 1.347374 0.845491 0.233833 1.720211 1.112373 0.655737 0.273424 1.815808 1.225426 0.609827 0.164644 -0.241753 1.556306 1.087036 0.843899 0.560878 -0.058558 1.838311 1.465620 1.239758 1.091378 0.528065 0.791149 0.332440 0.584210 0.055836 0.449981 1.753070 0.093654 1.657239 1.503059 1.399887 1.433488 1.544146 1.513188 1.637379 1.822882 1.796041 1.687813 1.720729 1.754274 -0.098151 -0.072877 0.197474 0.504171 0.827563 1.033490 1.323144 1.356797 1.748728 -0.150347 0.352269 0.632744 0.932570 1.684081 0.187586 0.495859 1.035344 1.327590 1.648341 0.358056)
+      10.417134 #(0.000000 0.334233 1.073081 1.649039 0.219597 0.888802 1.379829 0.088335 0.555458 1.328032 1.801862 0.615319 1.429043 0.326004 0.993452 1.804613 0.545160 1.317910 1.885616 0.678140 1.509274 0.323491 1.236504 0.282786 1.199970 0.195704 1.232493 0.160017 0.897560 -0.082586 1.086392 0.182366 1.277299 0.339072 1.485948 0.630905 1.802953 0.832621 -0.132126 1.110982 0.486291 1.681037 0.774846 -0.032051 1.638442 0.870514 -0.093334 1.333411 0.747525 0.167590 1.347374 0.845491 0.233833 1.720211 1.112373 0.655737 0.273424 1.815808 1.225426 0.609827 0.164644 -0.241753 1.556306 1.087036 0.843899 0.560878 -0.058558 1.838311 1.465620 1.239758 1.091378 0.528065 0.791149 0.332440 0.584210 0.055836 0.449981 1.753070 0.093654 1.657239 1.503059 1.399887 1.433488 1.544146 1.513188 1.637379 1.822882 1.796041 1.687813 1.720729 1.754274 -0.098151 -0.072877 0.197474 0.504171 0.827563 1.033490 1.323144 1.356797 1.748728 -0.150347 0.352269 0.632744 0.932570 1.684081 0.187586 0.495859 1.035344 1.327590 1.648341 0.358056)
       )
 
 ;;; 112 odd -------------------------------------------------------------------------------- ; 10.5830
-(vector 112 13.92684841156 (fv 0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1)
+(vector 112 13.92684841156 #(0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1)
 
       ;; 10.58293147
-	10.582025 (fv 0.000000 0.311823 0.137469 0.765085 0.247252 0.880370 1.452735 0.240993 1.506478 0.780197 1.183194 1.086565 0.032933 1.780577 0.281098 0.764676 0.712557 1.579682 1.277796 1.238223 1.014207 -0.140323 1.716730 1.644672 1.253593 0.578221 0.527661 0.367318 1.131386 1.012757 0.285059 0.010509 0.097401 1.699590 0.802620 1.600737 0.550167 1.026747 0.562219 0.378187 0.150437 0.522055 0.022316 1.717789 0.186746 1.186644 0.914782 0.563095 1.653911 0.869696 0.117700 1.053735 0.935756 -0.055221 0.653101 1.059195 -0.397205 1.469022 0.238158 0.393902 0.410251 0.955768 1.001018 1.337003 0.602349 0.798689 0.307413 -0.479763 0.463243 1.296128 0.608105 0.417995 0.073111 0.291455 0.483686 0.231728 0.630836 1.131231 -0.228753 0.669521 1.185569 -0.089761 1.130815 0.778132 1.502582 1.555252 1.149912 0.577946 0.284522 1.467470 0.172271 0.275044 1.633737 1.228854 0.152388 0.342365 1.574177 0.099351 0.042391 1.025180 1.146998 1.437785 0.647927 1.566576 1.091754 1.532311 1.602420 0.887895 1.387294 0.660060 1.356768 -0.056782)
+	10.582025 #(0.000000 0.311823 0.137469 0.765085 0.247252 0.880370 1.452735 0.240993 1.506478 0.780197 1.183194 1.086565 0.032933 1.780577 0.281098 0.764676 0.712557 1.579682 1.277796 1.238223 1.014207 -0.140323 1.716730 1.644672 1.253593 0.578221 0.527661 0.367318 1.131386 1.012757 0.285059 0.010509 0.097401 1.699590 0.802620 1.600737 0.550167 1.026747 0.562219 0.378187 0.150437 0.522055 0.022316 1.717789 0.186746 1.186644 0.914782 0.563095 1.653911 0.869696 0.117700 1.053735 0.935756 -0.055221 0.653101 1.059195 -0.397205 1.469022 0.238158 0.393902 0.410251 0.955768 1.001018 1.337003 0.602349 0.798689 0.307413 -0.479763 0.463243 1.296128 0.608105 0.417995 0.073111 0.291455 0.483686 0.231728 0.630836 1.131231 -0.228753 0.669521 1.185569 -0.089761 1.130815 0.778132 1.502582 1.555252 1.149912 0.577946 0.284522 1.467470 0.172271 0.275044 1.633737 1.228854 0.152388 0.342365 1.574177 0.099351 0.042391 1.025180 1.146998 1.437785 0.647927 1.566576 1.091754 1.532311 1.602420 0.887895 1.387294 0.660060 1.356768 -0.056782)
       )
 
 ;;; 113 odd -------------------------------------------------------------------------------- ; 10.6301
-(vector 113 13.825498858186 (fv 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0)
+(vector 113 13.825498858186 #(0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0)
 
-      10.586426 (fv 0.000000 0.880973 0.176609 1.175777 0.325354 1.332354 0.320489 -0.071032 0.810398 1.764286 1.047524 1.891121 1.274870 -0.462450 -0.016593 1.802245 -0.046896 0.623724 0.697636 1.104725 0.928560 1.531658 1.767776 1.410783 1.560300 0.841358 1.754992 0.695860 1.109332 0.811865 0.787805 0.897767 0.126996 1.290009 1.439543 1.231735 0.428818 0.217484 1.274411 0.676699 0.491905 0.907831 0.251383 0.502017 0.436195 1.271188 0.390987 0.252204 1.423164 1.333446 1.284283 0.685749 0.387192 1.752967 0.379905 1.873082 0.147356 1.600693 0.620101 0.533661 0.873916 1.687058 0.856213 0.905702 0.279125 1.651302 0.425155 1.158445 0.384556 1.685623 1.738609 0.620191 0.166765 0.760816 0.887704 1.876641 1.612703 0.207434 0.310898 1.383166 0.834523 0.489910 -0.069256 0.030910 0.047326 1.374933 1.678060 0.495762 1.058376 0.337747 0.859288 0.994496 0.384200 0.735993 0.843904 0.381801 0.488130 0.839325 0.731059 1.159772 1.973051 0.569688 1.423018 1.561321 1.485614 0.834971 1.215611 1.015531 -0.080496 -0.203441 0.704520 0.652007 1.385821)
+      10.586426 #(0.000000 0.880973 0.176609 1.175777 0.325354 1.332354 0.320489 -0.071032 0.810398 1.764286 1.047524 1.891121 1.274870 -0.462450 -0.016593 1.802245 -0.046896 0.623724 0.697636 1.104725 0.928560 1.531658 1.767776 1.410783 1.560300 0.841358 1.754992 0.695860 1.109332 0.811865 0.787805 0.897767 0.126996 1.290009 1.439543 1.231735 0.428818 0.217484 1.274411 0.676699 0.491905 0.907831 0.251383 0.502017 0.436195 1.271188 0.390987 0.252204 1.423164 1.333446 1.284283 0.685749 0.387192 1.752967 0.379905 1.873082 0.147356 1.600693 0.620101 0.533661 0.873916 1.687058 0.856213 0.905702 0.279125 1.651302 0.425155 1.158445 0.384556 1.685623 1.738609 0.620191 0.166765 0.760816 0.887704 1.876641 1.612703 0.207434 0.310898 1.383166 0.834523 0.489910 -0.069256 0.030910 0.047326 1.374933 1.678060 0.495762 1.058376 0.337747 0.859288 0.994496 0.384200 0.735993 0.843904 0.381801 0.488130 0.839325 0.731059 1.159772 1.973051 0.569688 1.423018 1.561321 1.485614 0.834971 1.215611 1.015531 -0.080496 -0.203441 0.704520 0.652007 1.385821)
       )
 
 ;;; 114 odd -------------------------------------------------------------------------------- ; 10.6771
-(vector 114 13.920305720092 (fv 0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0)
+(vector 114 13.920305720092 #(0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0)
 
-      10.620769 (fv 0.000000 -0.265733 0.572658 0.316585 0.923883 1.614948 0.728669 0.692865 0.985653 1.596503 0.291068 0.153708 1.761462 0.140269 1.183433 -0.379854 1.503387 1.143776 0.747711 1.619251 0.404594 1.157009 0.378840 0.537946 0.751007 0.739900 0.914353 1.624008 0.450778 0.962869 0.588872 1.869278 0.721483 1.557011 0.902276 0.776013 1.285044 0.345048 1.685952 1.091106 0.263288 1.107778 -0.009439 0.420734 1.806464 1.410193 1.769595 1.251788 0.691963 1.604897 1.666646 1.531003 0.963757 -0.680527 1.705352 1.126307 -0.203837 0.277321 0.178995 1.809866 0.763029 0.031476 0.539819 0.755127 0.685061 1.837935 0.717076 1.848829 1.364997 0.950055 -0.061791 1.853324 0.123916 -0.136693 1.146568 0.362176 0.781284 1.598429 1.120688 1.139170 0.560329 -0.015310 0.331374 1.472918 0.199430 0.303861 1.321918 1.569172 1.548780 -0.090459 1.912266 0.810039 -0.152547 1.372081 1.425080 0.264711 1.614349 0.175290 0.789472 1.260114 1.370945 1.918464 1.489942 1.397616 0.963993 0.516634 0.516943 1.244942 0.283787 1.709141 1.616073 0.810759 1.316742 1.696489)
+      10.620769 #(0.000000 -0.265733 0.572658 0.316585 0.923883 1.614948 0.728669 0.692865 0.985653 1.596503 0.291068 0.153708 1.761462 0.140269 1.183433 -0.379854 1.503387 1.143776 0.747711 1.619251 0.404594 1.157009 0.378840 0.537946 0.751007 0.739900 0.914353 1.624008 0.450778 0.962869 0.588872 1.869278 0.721483 1.557011 0.902276 0.776013 1.285044 0.345048 1.685952 1.091106 0.263288 1.107778 -0.009439 0.420734 1.806464 1.410193 1.769595 1.251788 0.691963 1.604897 1.666646 1.531003 0.963757 -0.680527 1.705352 1.126307 -0.203837 0.277321 0.178995 1.809866 0.763029 0.031476 0.539819 0.755127 0.685061 1.837935 0.717076 1.848829 1.364997 0.950055 -0.061791 1.853324 0.123916 -0.136693 1.146568 0.362176 0.781284 1.598429 1.120688 1.139170 0.560329 -0.015310 0.331374 1.472918 0.199430 0.303861 1.321918 1.569172 1.548780 -0.090459 1.912266 0.810039 -0.152547 1.372081 1.425080 0.264711 1.614349 0.175290 0.789472 1.260114 1.370945 1.918464 1.489942 1.397616 0.963993 0.516634 0.516943 1.244942 0.283787 1.709141 1.616073 0.810759 1.316742 1.696489)
       )
 
 ;;; 115 odd -------------------------------------------------------------------------------- ; 10.7238
-(vector 115 14.20306968689 (fv 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1)
+(vector 115 14.20306968689 #(0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1)
 
-      10.674304 (fv 0.000000 0.789887 -0.303859 -0.033056 0.759195 0.636525 0.248364 0.847489 1.259597 0.571635 0.950311 0.503307 0.311625 1.283873 0.845368 0.051963 1.567172 1.288876 0.243542 0.283164 1.566596 0.754789 1.490536 0.039434 0.168217 0.197813 0.961175 1.000724 0.173724 1.453836 -0.299975 0.087165 1.672267 1.098120 1.146505 0.379755 1.328375 0.651767 1.173825 0.650295 0.441141 0.865349 1.257754 -0.111945 0.068441 1.538745 0.068967 1.734610 1.208209 0.079563 -0.236732 0.216584 0.140036 0.340430 0.008574 0.036605 0.315028 0.890542 0.307266 0.065201 -0.267238 -0.016662 1.283003 0.528002 -0.402562 1.186323 0.829551 0.025932 0.882753 0.264357 1.091661 1.076730 -0.001406 0.040934 0.042083 1.567774 0.906679 0.687134 0.720339 0.063372 0.406664 1.457338 1.400253 1.359707 1.217492 0.090043 -0.918052 0.816288 1.443080 -0.046946 0.555663 0.622694 1.800570 0.513267 0.655836 0.746318 1.849833 1.129389 1.637640 0.403829 -0.005965 0.883415 0.100025 0.540813 0.541888 0.996530 1.501665 1.855318 1.257420 0.578586 0.925447 0.264080 0.596871 0.828008 0.353618)
+      10.674304 #(0.000000 0.789887 -0.303859 -0.033056 0.759195 0.636525 0.248364 0.847489 1.259597 0.571635 0.950311 0.503307 0.311625 1.283873 0.845368 0.051963 1.567172 1.288876 0.243542 0.283164 1.566596 0.754789 1.490536 0.039434 0.168217 0.197813 0.961175 1.000724 0.173724 1.453836 -0.299975 0.087165 1.672267 1.098120 1.146505 0.379755 1.328375 0.651767 1.173825 0.650295 0.441141 0.865349 1.257754 -0.111945 0.068441 1.538745 0.068967 1.734610 1.208209 0.079563 -0.236732 0.216584 0.140036 0.340430 0.008574 0.036605 0.315028 0.890542 0.307266 0.065201 -0.267238 -0.016662 1.283003 0.528002 -0.402562 1.186323 0.829551 0.025932 0.882753 0.264357 1.091661 1.076730 -0.001406 0.040934 0.042083 1.567774 0.906679 0.687134 0.720339 0.063372 0.406664 1.457338 1.400253 1.359707 1.217492 0.090043 -0.918052 0.816288 1.443080 -0.046946 0.555663 0.622694 1.800570 0.513267 0.655836 0.746318 1.849833 1.129389 1.637640 0.403829 -0.005965 0.883415 0.100025 0.540813 0.541888 0.996530 1.501665 1.855318 1.257420 0.578586 0.925447 0.264080 0.596871 0.828008 0.353618)
       )
 
 ;;; 116 odd -------------------------------------------------------------------------------- ; 10.7703
-(vector 116 13.887789451571 (fv 0 0 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0)
+(vector 116 13.887789451571 #(0 0 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0)
 
-      10.733274 (fv 0.000000 0.476000 1.878001 1.180059 0.831300 1.453614 0.786219 1.052031 1.218138 0.179523 0.743868 1.265853 0.031570 1.636184 -0.152324 0.778296 0.271634 1.469546 0.565495 1.807809 0.217280 0.159382 1.049221 0.170285 0.221763 0.774648 0.398259 0.637279 -0.107284 0.312805 1.776901 0.160502 1.717634 1.119938 1.391025 0.105351 1.023277 1.530674 1.548380 -0.251006 0.488559 1.544222 0.177807 0.661206 0.257716 1.053732 0.893027 1.445098 1.722088 0.002770 1.151812 1.061439 0.110999 0.865286 0.781438 1.277991 0.502793 0.943734 0.798521 1.333645 1.654972 1.679619 0.259243 0.886975 0.069664 1.517348 1.237826 1.551946 0.514540 1.258563 1.258071 1.027685 1.355844 1.909459 1.281504 1.171068 0.250655 1.622642 0.211675 1.522349 -0.092396 0.705855 1.861520 0.183629 0.746566 0.759808 0.250024 -0.159043 1.664858 0.237853 -0.217693 1.217376 1.459590 1.517349 1.206266 0.478670 -0.380779 0.210779 0.338305 1.433407 1.043804 0.854323 0.392836 1.702198 1.439694 -0.141576 1.283279 0.715495 0.734335 1.585749 1.775978 1.654290 -0.315773 0.174327 1.442380 0.993240)
+      10.733274 #(0.000000 0.476000 1.878001 1.180059 0.831300 1.453614 0.786219 1.052031 1.218138 0.179523 0.743868 1.265853 0.031570 1.636184 -0.152324 0.778296 0.271634 1.469546 0.565495 1.807809 0.217280 0.159382 1.049221 0.170285 0.221763 0.774648 0.398259 0.637279 -0.107284 0.312805 1.776901 0.160502 1.717634 1.119938 1.391025 0.105351 1.023277 1.530674 1.548380 -0.251006 0.488559 1.544222 0.177807 0.661206 0.257716 1.053732 0.893027 1.445098 1.722088 0.002770 1.151812 1.061439 0.110999 0.865286 0.781438 1.277991 0.502793 0.943734 0.798521 1.333645 1.654972 1.679619 0.259243 0.886975 0.069664 1.517348 1.237826 1.551946 0.514540 1.258563 1.258071 1.027685 1.355844 1.909459 1.281504 1.171068 0.250655 1.622642 0.211675 1.522349 -0.092396 0.705855 1.861520 0.183629 0.746566 0.759808 0.250024 -0.159043 1.664858 0.237853 -0.217693 1.217376 1.459590 1.517349 1.206266 0.478670 -0.380779 0.210779 0.338305 1.433407 1.043804 0.854323 0.392836 1.702198 1.439694 -0.141576 1.283279 0.715495 0.734335 1.585749 1.775978 1.654290 -0.315773 0.174327 1.442380 0.993240)
       )
 
 ;;; 117 odd -------------------------------------------------------------------------------- ; 10.8167
-(vector 117 14.427604264985 (fv 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 1 1)
+(vector 117 14.427604264985 #(0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 1 1)
 
-      10.783290 (fv 0.000000 0.108967 0.680440 -0.039849 1.073915 0.982905 0.909467 1.470260 1.730853 0.840580 1.309090 0.612716 1.548112 -0.231227 1.489945 0.841297 1.245447 0.244987 0.849971 -0.022279 0.452974 0.810744 1.489407 1.567278 1.188237 0.772892 0.113419 0.906478 1.169175 -0.156676 0.507744 1.684543 1.686412 1.219650 1.843836 0.541605 0.346082 0.043904 -0.079283 1.469849 1.567795 0.179241 -0.068928 0.912255 0.602511 1.574715 0.695060 1.133392 -0.425958 0.610886 1.496396 0.865636 0.895412 1.362633 1.653811 1.404165 0.041681 1.692317 1.094403 0.739550 1.239428 0.479228 1.439160 0.986149 0.801910 1.514113 0.963332 0.281851 0.106127 1.599308 -0.004925 1.893302 1.411671 1.244923 0.383170 0.517813 0.421067 1.058052 0.153400 0.778671 0.754438 1.880309 0.023746 1.476647 0.081600 1.798573 0.432245 0.735923 0.440628 -0.064421 1.249491 0.136405 1.735439 1.868665 1.565831 0.435031 0.537457 0.904590 1.634892 1.124196 0.408216 0.769901 0.281419 1.398400 0.260352 0.021213 0.275268 0.681889 -0.074136 0.502025 0.237163 1.241676 1.638668 0.242962 0.026823 1.133262 1.452416)
+      10.783290 #(0.000000 0.108967 0.680440 -0.039849 1.073915 0.982905 0.909467 1.470260 1.730853 0.840580 1.309090 0.612716 1.548112 -0.231227 1.489945 0.841297 1.245447 0.244987 0.849971 -0.022279 0.452974 0.810744 1.489407 1.567278 1.188237 0.772892 0.113419 0.906478 1.169175 -0.156676 0.507744 1.684543 1.686412 1.219650 1.843836 0.541605 0.346082 0.043904 -0.079283 1.469849 1.567795 0.179241 -0.068928 0.912255 0.602511 1.574715 0.695060 1.133392 -0.425958 0.610886 1.496396 0.865636 0.895412 1.362633 1.653811 1.404165 0.041681 1.692317 1.094403 0.739550 1.239428 0.479228 1.439160 0.986149 0.801910 1.514113 0.963332 0.281851 0.106127 1.599308 -0.004925 1.893302 1.411671 1.244923 0.383170 0.517813 0.421067 1.058052 0.153400 0.778671 0.754438 1.880309 0.023746 1.476647 0.081600 1.798573 0.432245 0.735923 0.440628 -0.064421 1.249491 0.136405 1.735439 1.868665 1.565831 0.435031 0.537457 0.904590 1.634892 1.124196 0.408216 0.769901 0.281419 1.398400 0.260352 0.021213 0.275268 0.681889 -0.074136 0.502025 0.237163 1.241676 1.638668 0.242962 0.026823 1.133262 1.452416)
       )
 
 ;;; 118 odd -------------------------------------------------------------------------------- ; 10.8628
-(vector 118 14.399567650824 (fv 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1)
+(vector 118 14.399567650824 #(0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1)
 
-      10.812235 (fv 0.000000 1.507972 1.809575 1.323971 0.671235 0.977919 0.397118 0.294709 0.400614 1.800046 0.492728 1.565979 -0.363038 1.100463 1.075231 0.502016 0.457037 0.406728 0.228418 0.756367 1.513939 0.347068 1.450936 0.868009 1.501709 0.352220 -0.413052 -0.148923 0.240400 1.115439 0.653043 -0.505473 -0.021974 1.853042 0.586305 0.428092 0.050201 0.752546 1.451411 1.228490 1.754283 1.881544 0.485306 1.754300 0.007006 0.163634 0.582385 0.998129 -0.090614 0.952205 1.425714 1.513296 1.570494 -0.259048 0.529336 1.498547 1.326491 -0.594238 1.538496 0.728657 0.444244 1.055319 1.385207 0.874327 0.074427 1.100816 1.734905 0.605814 1.533043 1.017063 0.482871 0.438583 1.108829 1.808956 0.029357 0.297016 -0.063569 0.780909 1.283400 0.359665 -0.032425 1.363808 0.687851 1.190450 1.438414 1.141910 1.126025 1.239471 0.136191 1.489911 1.026641 0.526687 0.890040 -0.022700 0.140687 -0.353757 1.164330 1.005641 0.099661 1.220163 1.081145 1.773078 1.376716 1.458019 0.703593 0.987305 1.493840 1.628605 0.957392 -0.054994 1.652856 0.431213 1.736293 -0.162073 0.279632 -0.110283 1.166212 1.877544)
+      10.812235 #(0.000000 1.507972 1.809575 1.323971 0.671235 0.977919 0.397118 0.294709 0.400614 1.800046 0.492728 1.565979 -0.363038 1.100463 1.075231 0.502016 0.457037 0.406728 0.228418 0.756367 1.513939 0.347068 1.450936 0.868009 1.501709 0.352220 -0.413052 -0.148923 0.240400 1.115439 0.653043 -0.505473 -0.021974 1.853042 0.586305 0.428092 0.050201 0.752546 1.451411 1.228490 1.754283 1.881544 0.485306 1.754300 0.007006 0.163634 0.582385 0.998129 -0.090614 0.952205 1.425714 1.513296 1.570494 -0.259048 0.529336 1.498547 1.326491 -0.594238 1.538496 0.728657 0.444244 1.055319 1.385207 0.874327 0.074427 1.100816 1.734905 0.605814 1.533043 1.017063 0.482871 0.438583 1.108829 1.808956 0.029357 0.297016 -0.063569 0.780909 1.283400 0.359665 -0.032425 1.363808 0.687851 1.190450 1.438414 1.141910 1.126025 1.239471 0.136191 1.489911 1.026641 0.526687 0.890040 -0.022700 0.140687 -0.353757 1.164330 1.005641 0.099661 1.220163 1.081145 1.773078 1.376716 1.458019 0.703593 0.987305 1.493840 1.628605 0.957392 -0.054994 1.652856 0.431213 1.736293 -0.162073 0.279632 -0.110283 1.166212 1.877544)
       )
 
 ;;; 119 odd -------------------------------------------------------------------------------- ; 10.9087
-(vector 119 14.464 (fv 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1)
+(vector 119 14.464 #(0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1)
 
-	10.915923 (fv 0.000000 1.468971 -0.070109 0.743471 0.865207 0.740713 1.375563 1.856253 1.493876 0.001446 1.555119 1.873527 0.486379 1.616655 0.160602 1.367247 0.912321 0.764636 0.328487 -0.313335 0.385982 0.645370 0.408989 -0.210208 1.638205 0.329206 1.585495 1.658528 -0.015737 0.563000 0.062305 -0.007952 1.615694 0.120849 0.556636 1.351804 1.028805 0.044823 -0.249641 0.450875 -0.188130 1.054822 1.658005 0.732611 1.051144 0.181032 -0.061461 0.014104 0.174656 1.497989 1.287601 1.362445 0.209461 0.902894 1.389971 0.577406 1.285084 1.677882 0.836076 1.093131 -0.061912 0.754157 0.925122 0.984483 0.745399 1.783690 0.907228 0.093044 0.001514 0.775385 1.257954 1.480444 1.312457 1.195686 1.427916 1.726017 1.291212 1.845006 1.072451 0.380596 -0.077482 -0.030557 0.660125 1.346002 0.823989 0.235481 1.377946 1.450150 0.552324 0.398627 1.336527 0.073526 0.466630 0.590308 0.928946 0.828743 -0.154986 1.149963 0.492935 1.772069 0.204388 1.490853 -0.315475 0.097407 1.157089 0.698006 1.513716 1.488764 0.923673 0.108745 1.168110 0.729608 1.392132 1.740139 1.454066 0.757828 1.227068 0.584339 1.581610)
+	10.915923 #(0.000000 1.468971 -0.070109 0.743471 0.865207 0.740713 1.375563 1.856253 1.493876 0.001446 1.555119 1.873527 0.486379 1.616655 0.160602 1.367247 0.912321 0.764636 0.328487 -0.313335 0.385982 0.645370 0.408989 -0.210208 1.638205 0.329206 1.585495 1.658528 -0.015737 0.563000 0.062305 -0.007952 1.615694 0.120849 0.556636 1.351804 1.028805 0.044823 -0.249641 0.450875 -0.188130 1.054822 1.658005 0.732611 1.051144 0.181032 -0.061461 0.014104 0.174656 1.497989 1.287601 1.362445 0.209461 0.902894 1.389971 0.577406 1.285084 1.677882 0.836076 1.093131 -0.061912 0.754157 0.925122 0.984483 0.745399 1.783690 0.907228 0.093044 0.001514 0.775385 1.257954 1.480444 1.312457 1.195686 1.427916 1.726017 1.291212 1.845006 1.072451 0.380596 -0.077482 -0.030557 0.660125 1.346002 0.823989 0.235481 1.377946 1.450150 0.552324 0.398627 1.336527 0.073526 0.466630 0.590308 0.928946 0.828743 -0.154986 1.149963 0.492935 1.772069 0.204388 1.490853 -0.315475 0.097407 1.157089 0.698006 1.513716 1.488764 0.923673 0.108745 1.168110 0.729608 1.392132 1.740139 1.454066 0.757828 1.227068 0.584339 1.581610)
 
       ;; pp:
-	11.037707 (fv 0.000000 0.330663 0.977506 1.486310 0.146671 0.619852 1.212563 1.835260 0.429131 1.137767 1.722966 0.554725 1.336956 0.080712 0.852554 1.473118 0.165981 0.811544 1.502696 0.343077 1.371306 0.205531 0.905257 1.934366 1.020467 1.933150 0.730878 1.550089 0.565733 1.543669 0.452622 1.507940 0.734165 1.641237 0.799367 0.020448 1.044223 0.039537 1.305538 0.570880 1.458969 0.622353 1.797356 0.986890 0.251789 1.442933 0.753665 0.270337 1.533653 0.647011 -0.011278 1.435253 0.493723 -0.176024 1.395851 0.880365 0.222324 1.709439 1.376910 0.824516 0.330942 1.733291 1.350769 0.852276 0.247847 -0.101792 1.361637 1.450559 0.694333 0.792939 0.273393 1.916534 1.612649 1.136729 1.027650 0.745376 0.479123 0.468161 -0.088607 0.141257 1.721063 1.745485 1.474071 1.547129 1.195469 1.231545 0.976850 0.989136 1.181833 0.899203 1.200899 1.168317 1.143250 1.360858 1.307442 1.171633 1.402153 1.656644 1.531180 1.874515 0.028657 0.416186 0.465448 0.590264 1.056005 1.152867 1.387578 1.553815 0.076236 0.350372 0.561320 1.007917 1.385094 1.972832 0.449173 0.459147 1.193699 1.594244 0.056947)
+	11.037707 #(0.000000 0.330663 0.977506 1.486310 0.146671 0.619852 1.212563 1.835260 0.429131 1.137767 1.722966 0.554725 1.336956 0.080712 0.852554 1.473118 0.165981 0.811544 1.502696 0.343077 1.371306 0.205531 0.905257 1.934366 1.020467 1.933150 0.730878 1.550089 0.565733 1.543669 0.452622 1.507940 0.734165 1.641237 0.799367 0.020448 1.044223 0.039537 1.305538 0.570880 1.458969 0.622353 1.797356 0.986890 0.251789 1.442933 0.753665 0.270337 1.533653 0.647011 -0.011278 1.435253 0.493723 -0.176024 1.395851 0.880365 0.222324 1.709439 1.376910 0.824516 0.330942 1.733291 1.350769 0.852276 0.247847 -0.101792 1.361637 1.450559 0.694333 0.792939 0.273393 1.916534 1.612649 1.136729 1.027650 0.745376 0.479123 0.468161 -0.088607 0.141257 1.721063 1.745485 1.474071 1.547129 1.195469 1.231545 0.976850 0.989136 1.181833 0.899203 1.200899 1.168317 1.143250 1.360858 1.307442 1.171633 1.402153 1.656644 1.531180 1.874515 0.028657 0.416186 0.465448 0.590264 1.056005 1.152867 1.387578 1.553815 0.076236 0.350372 0.561320 1.007917 1.385094 1.972832 0.449173 0.459147 1.193699 1.594244 0.056947)
 
 	;; 118+1
-	10.815476 (fv 0.000000 1.511627 1.860509 1.251771 0.680390 0.954029 0.497464 0.422082 0.549359 1.789096 0.627036 1.559684 -0.285316 1.102920 1.110972 0.497639 0.358913 0.339963 0.170351 0.820368 1.613321 0.311453 1.667587 0.845824 1.477518 0.323382 -0.462336 -0.121701 0.278431 1.251253 0.730313 -0.512813 0.050332 1.905719 0.581701 0.491221 0.037053 0.850077 1.454447 1.218666 1.827857 1.931466 0.444700 1.716033 0.031317 0.208955 0.719947 1.025308 -0.162952 0.941579 1.416409 1.490055 1.661028 -0.177347 0.601149 1.427738 1.318738 -0.598055 1.513344 0.818145 0.331744 0.938565 1.416971 0.755203 0.134509 1.154206 1.729909 0.622158 1.596632 1.050190 0.348364 0.402844 1.083937 1.814009 0.098380 0.333506 -0.078532 0.814360 1.186888 0.456002 0.118529 1.475204 0.706833 1.153688 1.398936 1.202344 1.140027 1.452557 0.124581 1.538313 1.096684 0.449897 0.816791 -0.073645 0.157032 -0.377184 1.176926 0.948380 0.061745 1.231800 0.991632 1.829471 1.268286 1.394920 0.669763 0.966107 1.360959 1.524586 1.033990 0.094975 1.707832 0.468762 1.695289 -0.249729 0.213611 -0.109788 1.260368 1.791243 -0.325923)
+	10.815476 #(0.000000 1.511627 1.860509 1.251771 0.680390 0.954029 0.497464 0.422082 0.549359 1.789096 0.627036 1.559684 -0.285316 1.102920 1.110972 0.497639 0.358913 0.339963 0.170351 0.820368 1.613321 0.311453 1.667587 0.845824 1.477518 0.323382 -0.462336 -0.121701 0.278431 1.251253 0.730313 -0.512813 0.050332 1.905719 0.581701 0.491221 0.037053 0.850077 1.454447 1.218666 1.827857 1.931466 0.444700 1.716033 0.031317 0.208955 0.719947 1.025308 -0.162952 0.941579 1.416409 1.490055 1.661028 -0.177347 0.601149 1.427738 1.318738 -0.598055 1.513344 0.818145 0.331744 0.938565 1.416971 0.755203 0.134509 1.154206 1.729909 0.622158 1.596632 1.050190 0.348364 0.402844 1.083937 1.814009 0.098380 0.333506 -0.078532 0.814360 1.186888 0.456002 0.118529 1.475204 0.706833 1.153688 1.398936 1.202344 1.140027 1.452557 0.124581 1.538313 1.096684 0.449897 0.816791 -0.073645 0.157032 -0.377184 1.176926 0.948380 0.061745 1.231800 0.991632 1.829471 1.268286 1.394920 0.669763 0.966107 1.360959 1.524586 1.033990 0.094975 1.707832 0.468762 1.695289 -0.249729 0.213611 -0.109788 1.260368 1.791243 -0.325923)
       )
 
 ;;; 120 odd -------------------------------------------------------------------------------- ; 10.9545
-(vector 120 14.530112637252 (fv 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0)
+(vector 120 14.530112637252 #(0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0)
 
-      10.908578 (fv 0.000000 1.631022 1.381443 1.212465 0.280876 1.393291 0.111686 0.270527 0.978937 1.227425 0.890939 1.651369 1.764648 0.695615 1.236913 0.727116 0.698874 1.130809 0.997193 1.306023 0.313921 0.604505 1.499034 1.434773 -0.031959 0.721966 0.805711 1.401787 1.847562 -0.006201 0.484669 -0.092885 0.221199 -0.183123 0.140129 0.993753 0.357992 0.281932 0.966898 0.230227 1.509169 0.180321 0.405315 1.445457 0.491155 0.993111 -0.061813 1.514617 0.638001 0.451798 1.136956 1.109239 0.762301 -0.132886 1.231861 1.405253 0.200172 0.005626 1.367415 0.727395 0.860721 1.277905 0.564602 1.311600 0.590071 0.237783 1.173320 1.731939 0.366179 -0.147635 0.520386 1.741652 0.218116 1.635795 0.602629 0.928717 0.628620 0.437182 1.782199 0.939080 1.479011 0.992710 1.705346 0.225711 0.000961 0.770434 1.683323 1.555459 0.976408 0.318440 0.438208 0.262452 1.689840 0.975712 0.209291 0.727490 0.382719 1.065032 0.672130 0.702874 0.107185 1.755713 1.841965 0.283698 0.562788 -0.058140 0.525625 0.471391 -0.086606 1.741760 0.455380 1.248256 1.359448 0.404279 1.132787 1.054875 0.443335 0.808907 0.713857 0.102341)
+      10.908578 #(0.000000 1.631022 1.381443 1.212465 0.280876 1.393291 0.111686 0.270527 0.978937 1.227425 0.890939 1.651369 1.764648 0.695615 1.236913 0.727116 0.698874 1.130809 0.997193 1.306023 0.313921 0.604505 1.499034 1.434773 -0.031959 0.721966 0.805711 1.401787 1.847562 -0.006201 0.484669 -0.092885 0.221199 -0.183123 0.140129 0.993753 0.357992 0.281932 0.966898 0.230227 1.509169 0.180321 0.405315 1.445457 0.491155 0.993111 -0.061813 1.514617 0.638001 0.451798 1.136956 1.109239 0.762301 -0.132886 1.231861 1.405253 0.200172 0.005626 1.367415 0.727395 0.860721 1.277905 0.564602 1.311600 0.590071 0.237783 1.173320 1.731939 0.366179 -0.147635 0.520386 1.741652 0.218116 1.635795 0.602629 0.928717 0.628620 0.437182 1.782199 0.939080 1.479011 0.992710 1.705346 0.225711 0.000961 0.770434 1.683323 1.555459 0.976408 0.318440 0.438208 0.262452 1.689840 0.975712 0.209291 0.727490 0.382719 1.065032 0.672130 0.702874 0.107185 1.755713 1.841965 0.283698 0.562788 -0.058140 0.525625 0.471391 -0.086606 1.741760 0.455380 1.248256 1.359448 0.404279 1.132787 1.054875 0.443335 0.808907 0.713857 0.102341)
       )
 
 ;;; 121 odd -------------------------------------------------------------------------------- ; 11
-(vector 121 14.355115628334 (fv 0 0 1 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0)
+(vector 121 14.355115628334 #(0 0 1 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0)
 
-	10.999150 (fv 0.000000 0.719860 0.938641 0.400955 1.830792 0.217487 1.930089 0.909842 0.382707 1.104036 1.362552 1.609877 0.538869 1.202159 1.228082 0.918074 0.761902 0.900279 1.079854 0.387994 0.099489 0.100875 1.443224 0.976872 1.189188 0.334621 0.186401 1.007773 1.759908 1.802561 0.304789 0.800487 0.421388 1.531470 0.342409 1.763739 0.609609 0.238091 0.387711 0.077698 1.394770 1.550045 1.073770 -0.012632 0.461456 0.365441 0.558370 -0.144510 0.377065 -0.136065 0.495723 0.024372 0.599268 0.707454 1.784582 0.849322 0.801737 -0.000698 0.370684 -0.319990 0.047344 1.411089 -0.180064 1.795978 1.184028 0.211991 0.750419 1.558447 0.936061 0.770891 0.210380 0.477885 0.773230 1.314821 1.776398 0.360518 0.353595 1.763194 0.626584 0.453820 1.817369 0.757593 0.448588 0.747723 1.349523 0.084314 0.839331 0.432101 1.175829 -0.480593 1.521898 1.472118 0.461937 -0.352155 0.231781 1.128258 1.179502 -0.264358 1.594681 1.130852 1.819287 1.407276 0.357399 0.261689 0.296975 1.241018 0.528908 0.936623 1.018062 1.507272 1.409703 0.904346 -0.089508 0.657699 0.797276 1.771059 0.906319 0.794023 0.195827 -0.015182 1.382236)
+	10.999150 #(0.000000 0.719860 0.938641 0.400955 1.830792 0.217487 1.930089 0.909842 0.382707 1.104036 1.362552 1.609877 0.538869 1.202159 1.228082 0.918074 0.761902 0.900279 1.079854 0.387994 0.099489 0.100875 1.443224 0.976872 1.189188 0.334621 0.186401 1.007773 1.759908 1.802561 0.304789 0.800487 0.421388 1.531470 0.342409 1.763739 0.609609 0.238091 0.387711 0.077698 1.394770 1.550045 1.073770 -0.012632 0.461456 0.365441 0.558370 -0.144510 0.377065 -0.136065 0.495723 0.024372 0.599268 0.707454 1.784582 0.849322 0.801737 -0.000698 0.370684 -0.319990 0.047344 1.411089 -0.180064 1.795978 1.184028 0.211991 0.750419 1.558447 0.936061 0.770891 0.210380 0.477885 0.773230 1.314821 1.776398 0.360518 0.353595 1.763194 0.626584 0.453820 1.817369 0.757593 0.448588 0.747723 1.349523 0.084314 0.839331 0.432101 1.175829 -0.480593 1.521898 1.472118 0.461937 -0.352155 0.231781 1.128258 1.179502 -0.264358 1.594681 1.130852 1.819287 1.407276 0.357399 0.261689 0.296975 1.241018 0.528908 0.936623 1.018062 1.507272 1.409703 0.904346 -0.089508 0.657699 0.797276 1.771059 0.906319 0.794023 0.195827 -0.015182 1.382236)
 
       ;; pp:
-	10.964853 (fv 0.000000 0.398403 0.789366 1.639224 0.095384 0.603386 1.413253 -0.024715 0.418890 1.292082 1.611148 0.340631 1.108765 1.695063 0.580930 1.343797 0.280670 0.901558 1.616611 0.471137 1.087682 0.133909 0.906863 1.859279 0.568482 1.631317 0.654611 1.507476 0.361682 1.510922 0.499281 1.470975 0.300411 1.347262 0.617157 1.704177 0.828780 1.880799 1.043180 0.289911 1.416774 0.542005 1.546439 0.900363 0.167177 1.249035 0.407571 1.759267 1.085148 0.584948 1.716513 0.882082 0.508912 1.827501 0.986992 0.387974 1.888925 1.337010 0.836823 0.307293 1.641585 1.441301 0.767423 0.352201 1.694822 1.489433 0.858014 0.699679 0.213088 1.881335 1.746103 0.996170 1.013175 0.481879 0.378821 0.145113 1.583267 1.647206 1.099338 0.993610 1.018212 0.718965 0.851336 0.334482 0.624100 0.047757 0.264635 -0.323610 -0.302771 0.007865 1.748671 1.715799 0.102814 0.097582 0.089500 0.089824 -0.047495 0.097783 0.230671 0.371131 0.395035 0.485871 1.031900 1.248794 1.442726 1.594017 1.850116 0.167236 0.339312 0.429488 0.766566 1.120859 1.686086 0.133797 0.674257 1.033037 1.205258 1.718874 0.166520 0.534447 1.081831)
+	10.964853 #(0.000000 0.398403 0.789366 1.639224 0.095384 0.603386 1.413253 -0.024715 0.418890 1.292082 1.611148 0.340631 1.108765 1.695063 0.580930 1.343797 0.280670 0.901558 1.616611 0.471137 1.087682 0.133909 0.906863 1.859279 0.568482 1.631317 0.654611 1.507476 0.361682 1.510922 0.499281 1.470975 0.300411 1.347262 0.617157 1.704177 0.828780 1.880799 1.043180 0.289911 1.416774 0.542005 1.546439 0.900363 0.167177 1.249035 0.407571 1.759267 1.085148 0.584948 1.716513 0.882082 0.508912 1.827501 0.986992 0.387974 1.888925 1.337010 0.836823 0.307293 1.641585 1.441301 0.767423 0.352201 1.694822 1.489433 0.858014 0.699679 0.213088 1.881335 1.746103 0.996170 1.013175 0.481879 0.378821 0.145113 1.583267 1.647206 1.099338 0.993610 1.018212 0.718965 0.851336 0.334482 0.624100 0.047757 0.264635 -0.323610 -0.302771 0.007865 1.748671 1.715799 0.102814 0.097582 0.089500 0.089824 -0.047495 0.097783 0.230671 0.371131 0.395035 0.485871 1.031900 1.248794 1.442726 1.594017 1.850116 0.167236 0.339312 0.429488 0.766566 1.120859 1.686086 0.133797 0.674257 1.033037 1.205258 1.718874 0.166520 0.534447 1.081831)
       )
 
 ;;; 122 odd -------------------------------------------------------------------------------- ; 11.0454
-(vector 122 14.266534958875 (fv 0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1)
+(vector 122 14.266534958875 #(0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1)
 
-	11.010771 (fv 0.000000 1.285362 1.109765 1.769522 1.118511 0.025809 1.380894 -0.023810 -0.040154 0.477589 1.538986 0.261754 1.175104 0.132069 1.284014 1.937597 1.377797 1.405930 1.758393 1.282889 1.486625 -0.056321 1.528467 0.214498 1.235960 0.342086 0.501436 1.266150 1.154766 0.072612 1.295064 1.657622 1.389498 0.272462 0.259989 -0.421623 0.539671 -0.109400 1.457518 0.782406 0.238503 1.568707 0.742855 0.582523 1.544996 0.568221 1.469856 -0.013151 1.702120 1.738232 0.495569 1.623452 0.280213 1.398587 0.655444 -0.357815 -0.175614 -0.641353 0.853648 0.913786 0.039735 0.805399 0.987536 1.353101 0.200447 1.531233 0.925738 1.853509 -0.339223 0.575217 0.991404 0.868567 0.980697 0.661437 0.825668 0.642114 1.923343 0.222086 1.058889 0.329972 0.424129 1.343097 -0.325621 0.616372 0.777895 1.290746 0.563995 1.114886 -0.032692 0.303925 0.022515 1.568213 1.005956 0.993523 0.945016 1.316628 1.600265 0.004312 0.404044 0.508968 1.509703 1.266589 -0.292614 0.449335 0.327309 -0.027947 0.095691 -0.305771 -0.038174 1.851423 0.567671 0.373102 0.032065 1.664572 1.263320 0.558380 0.899406 0.824927 1.437277 1.639347 0.806318 0.739271)
+	11.010771 #(0.000000 1.285362 1.109765 1.769522 1.118511 0.025809 1.380894 -0.023810 -0.040154 0.477589 1.538986 0.261754 1.175104 0.132069 1.284014 1.937597 1.377797 1.405930 1.758393 1.282889 1.486625 -0.056321 1.528467 0.214498 1.235960 0.342086 0.501436 1.266150 1.154766 0.072612 1.295064 1.657622 1.389498 0.272462 0.259989 -0.421623 0.539671 -0.109400 1.457518 0.782406 0.238503 1.568707 0.742855 0.582523 1.544996 0.568221 1.469856 -0.013151 1.702120 1.738232 0.495569 1.623452 0.280213 1.398587 0.655444 -0.357815 -0.175614 -0.641353 0.853648 0.913786 0.039735 0.805399 0.987536 1.353101 0.200447 1.531233 0.925738 1.853509 -0.339223 0.575217 0.991404 0.868567 0.980697 0.661437 0.825668 0.642114 1.923343 0.222086 1.058889 0.329972 0.424129 1.343097 -0.325621 0.616372 0.777895 1.290746 0.563995 1.114886 -0.032692 0.303925 0.022515 1.568213 1.005956 0.993523 0.945016 1.316628 1.600265 0.004312 0.404044 0.508968 1.509703 1.266589 -0.292614 0.449335 0.327309 -0.027947 0.095691 -0.305771 -0.038174 1.851423 0.567671 0.373102 0.032065 1.664572 1.263320 0.558380 0.899406 0.824927 1.437277 1.639347 0.806318 0.739271)
       )
 
 ;;; 123 odd -------------------------------------------------------------------------------- ; 11.0905
-(vector 123 14.795100232697 (fv 0 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0)
+(vector 123 14.795100232697 #(0 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0)
 
-	11.117974 (fv 0.000000 1.262698 1.743243 1.074484 0.862475 0.785191 0.510312 0.582728 0.572628 -0.088059 1.664778 1.092330 -0.084164 1.734977 0.143912 0.402913 0.514775 1.115307 1.630947 0.922571 1.361065 0.426472 0.818315 0.052105 0.105138 1.201879 0.422607 1.251988 1.202423 -0.257950 0.069201 -0.064548 0.721964 0.891435 1.163338 0.489652 0.800922 1.113478 0.729679 1.592733 0.127179 0.300890 1.709393 0.172666 1.452078 -0.215073 0.642218 0.228379 0.403691 1.149702 0.347815 1.145024 0.203450 1.473310 1.349864 0.832166 1.109084 1.584188 0.087952 0.610084 0.356770 0.605944 1.021694 0.463739 1.799512 1.527466 0.330450 0.923701 1.275830 1.440075 0.070553 0.931440 1.867718 1.401219 0.527205 0.524478 1.943022 1.358574 1.765573 0.269987 0.599212 0.397347 0.099304 -0.004043 0.750837 0.311340 0.977644 0.259270 0.829971 0.677623 1.491913 0.411691 1.356052 1.394632 0.542733 1.451416 1.005068 0.285973 0.960285 1.132877 -0.136129 0.201370 1.788028 -0.448022 -0.229434 1.007668 -0.665334 0.552776 -0.103552 1.183857 -0.521659 1.255730 0.912247 1.532970 1.479294 1.441480 1.200164 0.598200 1.369457 1.661067 0.851812 0.484837 1.318223)
+	11.117974 #(0.000000 1.262698 1.743243 1.074484 0.862475 0.785191 0.510312 0.582728 0.572628 -0.088059 1.664778 1.092330 -0.084164 1.734977 0.143912 0.402913 0.514775 1.115307 1.630947 0.922571 1.361065 0.426472 0.818315 0.052105 0.105138 1.201879 0.422607 1.251988 1.202423 -0.257950 0.069201 -0.064548 0.721964 0.891435 1.163338 0.489652 0.800922 1.113478 0.729679 1.592733 0.127179 0.300890 1.709393 0.172666 1.452078 -0.215073 0.642218 0.228379 0.403691 1.149702 0.347815 1.145024 0.203450 1.473310 1.349864 0.832166 1.109084 1.584188 0.087952 0.610084 0.356770 0.605944 1.021694 0.463739 1.799512 1.527466 0.330450 0.923701 1.275830 1.440075 0.070553 0.931440 1.867718 1.401219 0.527205 0.524478 1.943022 1.358574 1.765573 0.269987 0.599212 0.397347 0.099304 -0.004043 0.750837 0.311340 0.977644 0.259270 0.829971 0.677623 1.491913 0.411691 1.356052 1.394632 0.542733 1.451416 1.005068 0.285973 0.960285 1.132877 -0.136129 0.201370 1.788028 -0.448022 -0.229434 1.007668 -0.665334 0.552776 -0.103552 1.183857 -0.521659 1.255730 0.912247 1.532970 1.479294 1.441480 1.200164 0.598200 1.369457 1.661067 0.851812 0.484837 1.318223)
 
       ;; pp:
-	11.220425 (fv 0.000000 0.365848 1.054393 1.548722 0.083290 0.846622 1.243796 1.975082 0.530118 1.107798 1.698368 0.394906 1.261238 1.932773 0.709817 1.516065 0.289612 0.915816 1.713378 0.516514 1.369027 0.084750 0.935528 1.825369 0.700695 1.570817 0.581567 1.522187 0.450938 1.444224 0.424228 1.427039 0.366241 1.246498 0.294330 1.489859 0.444710 1.600045 0.769131 1.818819 0.882796 0.180405 1.318163 0.438713 1.518577 0.911091 0.311354 1.423178 0.560415 -0.093959 1.444287 0.598087 1.777270 1.408474 0.711081 0.112383 1.490437 0.904666 0.286560 1.771712 1.145544 0.724678 0.267468 1.796311 1.311228 0.841811 0.365537 1.880834 1.503328 1.287234 0.819314 0.526370 -0.077772 1.787440 1.491417 1.044589 1.141961 0.479419 0.379101 0.330996 -0.143470 1.807816 1.736856 1.461325 1.278241 1.506158 1.106149 1.221780 0.919096 1.122923 0.682195 0.948573 0.684101 0.822257 0.900682 0.969747 0.998896 1.031330 0.981000 1.116626 1.207464 1.514496 1.484110 1.685927 -0.131788 0.102608 0.256377 0.543811 0.846258 1.358549 1.270751 1.590115 -0.239901 0.243476 0.677754 0.899634 1.476294 1.901976 0.254194 0.661350 1.294177 1.496684 0.048409)
+	11.220425 #(0.000000 0.365848 1.054393 1.548722 0.083290 0.846622 1.243796 1.975082 0.530118 1.107798 1.698368 0.394906 1.261238 1.932773 0.709817 1.516065 0.289612 0.915816 1.713378 0.516514 1.369027 0.084750 0.935528 1.825369 0.700695 1.570817 0.581567 1.522187 0.450938 1.444224 0.424228 1.427039 0.366241 1.246498 0.294330 1.489859 0.444710 1.600045 0.769131 1.818819 0.882796 0.180405 1.318163 0.438713 1.518577 0.911091 0.311354 1.423178 0.560415 -0.093959 1.444287 0.598087 1.777270 1.408474 0.711081 0.112383 1.490437 0.904666 0.286560 1.771712 1.145544 0.724678 0.267468 1.796311 1.311228 0.841811 0.365537 1.880834 1.503328 1.287234 0.819314 0.526370 -0.077772 1.787440 1.491417 1.044589 1.141961 0.479419 0.379101 0.330996 -0.143470 1.807816 1.736856 1.461325 1.278241 1.506158 1.106149 1.221780 0.919096 1.122923 0.682195 0.948573 0.684101 0.822257 0.900682 0.969747 0.998896 1.031330 0.981000 1.116626 1.207464 1.514496 1.484110 1.685927 -0.131788 0.102608 0.256377 0.543811 0.846258 1.358549 1.270751 1.590115 -0.239901 0.243476 0.677754 0.899634 1.476294 1.901976 0.254194 0.661350 1.294177 1.496684 0.048409)
 
 	;; 122 + 1
-	11.250448 (fv 0.000000 1.302757 1.104016 1.882979 1.077650 0.053765 1.380440 0.003809 -0.046007 0.495357 1.519889 0.149797 1.197260 0.142817 1.219075 1.962202 1.461975 1.397810 1.755477 1.312034 1.459888 0.010987 1.489492 0.259453 1.259472 0.317472 0.521518 1.299213 1.226523 0.026938 1.296841 1.668722 1.337105 0.314301 0.330300 -0.438601 0.526089 -0.123698 1.469579 0.756219 0.172470 1.621261 0.778923 0.588722 1.542018 0.631414 1.527628 -0.038678 1.791364 1.687889 0.422304 1.584058 0.300597 1.413330 0.639674 -0.328087 -0.133739 -0.644241 0.881718 0.903075 -0.003259 0.764074 1.053115 1.364090 0.158374 1.544589 0.996921 1.813142 -0.279028 0.566236 1.039397 0.862143 0.979166 0.609771 0.860576 0.627137 1.959235 0.243884 1.018838 0.390319 0.475059 1.332423 -0.275526 0.611933 0.766476 1.331409 0.615945 1.094395 -0.004564 0.363420 -0.045135 1.527572 1.077299 0.997558 1.035936 1.286389 1.540261 0.059435 0.352601 0.552519 1.479640 1.199179 -0.317815 0.440438 0.336153 -0.013127 0.157566 -0.304297 -0.069647 1.901289 0.528335 0.359084 -0.007292 1.702466 1.215578 0.562997 0.913601 0.801948 1.409876 1.632172 0.750795 0.670695 -0.003034)
+	11.250448 #(0.000000 1.302757 1.104016 1.882979 1.077650 0.053765 1.380440 0.003809 -0.046007 0.495357 1.519889 0.149797 1.197260 0.142817 1.219075 1.962202 1.461975 1.397810 1.755477 1.312034 1.459888 0.010987 1.489492 0.259453 1.259472 0.317472 0.521518 1.299213 1.226523 0.026938 1.296841 1.668722 1.337105 0.314301 0.330300 -0.438601 0.526089 -0.123698 1.469579 0.756219 0.172470 1.621261 0.778923 0.588722 1.542018 0.631414 1.527628 -0.038678 1.791364 1.687889 0.422304 1.584058 0.300597 1.413330 0.639674 -0.328087 -0.133739 -0.644241 0.881718 0.903075 -0.003259 0.764074 1.053115 1.364090 0.158374 1.544589 0.996921 1.813142 -0.279028 0.566236 1.039397 0.862143 0.979166 0.609771 0.860576 0.627137 1.959235 0.243884 1.018838 0.390319 0.475059 1.332423 -0.275526 0.611933 0.766476 1.331409 0.615945 1.094395 -0.004564 0.363420 -0.045135 1.527572 1.077299 0.997558 1.035936 1.286389 1.540261 0.059435 0.352601 0.552519 1.479640 1.199179 -0.317815 0.440438 0.336153 -0.013127 0.157566 -0.304297 -0.069647 1.901289 0.528335 0.359084 -0.007292 1.702466 1.215578 0.562997 0.913601 0.801948 1.409876 1.632172 0.750795 0.670695 -0.003034)
 
 	;; 124 - 1
-	11.087851 (fv 0.000000 0.624121 0.261315 1.181018 0.329816 0.723473 -0.058557 1.121126 0.418750 -0.560184 0.201221 -0.009188 0.964547 0.675383 0.540517 1.692402 0.238659 0.271713 0.649234 1.358679 -0.523949 0.096515 1.070752 0.415974 1.194076 0.398537 0.119705 1.390687 1.865110 0.657711 0.628353 0.094042 -0.039698 0.818092 0.264925 1.627819 0.564214 1.707948 1.323380 0.532853 1.528599 0.040464 0.169356 1.020624 1.633435 0.566927 0.135046 0.139973 1.154314 0.011466 -0.490861 0.640253 0.477507 1.036610 0.601286 0.864853 1.673244 0.103614 0.490773 0.239735 1.004984 0.751604 0.598287 0.049449 -0.383209 0.952738 0.587827 1.358167 1.134886 0.996730 1.062079 1.715631 0.870675 -0.669782 1.719322 1.286177 0.181430 1.375280 1.727572 0.723568 0.180864 0.793875 1.229108 1.479462 0.352987 0.476172 0.647844 0.506675 0.826807 0.037970 0.147029 -0.376170 -0.079080 -0.448861 -0.361893 0.784673 0.253239 1.081508 0.018537 1.194702 1.598635 -0.278698 1.403864 0.071060 0.431595 1.221066 1.608714 0.689332 0.715718 0.497216 1.832187 1.548074 1.325487 -0.697479 1.412701 -0.064789 1.545460 1.865863 0.574246 1.018052 0.826593 0.850894 0.538141)
+	11.087851 #(0.000000 0.624121 0.261315 1.181018 0.329816 0.723473 -0.058557 1.121126 0.418750 -0.560184 0.201221 -0.009188 0.964547 0.675383 0.540517 1.692402 0.238659 0.271713 0.649234 1.358679 -0.523949 0.096515 1.070752 0.415974 1.194076 0.398537 0.119705 1.390687 1.865110 0.657711 0.628353 0.094042 -0.039698 0.818092 0.264925 1.627819 0.564214 1.707948 1.323380 0.532853 1.528599 0.040464 0.169356 1.020624 1.633435 0.566927 0.135046 0.139973 1.154314 0.011466 -0.490861 0.640253 0.477507 1.036610 0.601286 0.864853 1.673244 0.103614 0.490773 0.239735 1.004984 0.751604 0.598287 0.049449 -0.383209 0.952738 0.587827 1.358167 1.134886 0.996730 1.062079 1.715631 0.870675 -0.669782 1.719322 1.286177 0.181430 1.375280 1.727572 0.723568 0.180864 0.793875 1.229108 1.479462 0.352987 0.476172 0.647844 0.506675 0.826807 0.037970 0.147029 -0.376170 -0.079080 -0.448861 -0.361893 0.784673 0.253239 1.081508 0.018537 1.194702 1.598635 -0.278698 1.403864 0.071060 0.431595 1.221066 1.608714 0.689332 0.715718 0.497216 1.832187 1.548074 1.325487 -0.697479 1.412701 -0.064789 1.545460 1.865863 0.574246 1.018052 0.826593 0.850894 0.538141)
       )
 
 ;;; 124 odd -------------------------------------------------------------------------------- ; 11.1355
-(vector 124 14.82254124518 (fv 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0)
+(vector 124 14.82254124518 #(0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0)
 
-	11.133385 (fv 0.000000 0.737767 0.242894 1.222279 0.471270 0.719745 -0.111581 1.125372 0.519029 -0.602995 0.207831 -0.019375 0.977253 0.730038 0.549277 1.736357 0.178856 0.378067 0.703036 1.285405 -0.440424 0.022976 1.081105 0.394590 1.176445 0.423028 0.024758 1.348044 1.875622 0.693243 0.631295 0.154785 -0.072026 0.840426 0.310333 1.680668 0.596016 1.796624 1.329261 0.552169 1.550621 -0.029191 0.120286 1.042346 1.643782 0.557105 0.100245 0.192082 1.115887 -0.044021 -0.568040 0.660295 0.446779 0.996296 0.543383 0.887166 1.696504 0.164237 0.565638 0.240616 0.980219 0.676086 0.528834 0.128308 -0.348116 0.973101 0.673237 1.259063 1.135685 0.928208 1.088345 1.731248 0.837036 -0.669991 1.701824 1.338691 0.198045 1.382482 1.748178 0.598583 0.174133 0.840707 1.239171 1.490991 0.324491 0.560298 0.680939 0.488255 0.866976 0.067351 0.114746 -0.374109 -0.011129 -0.482864 -0.335823 0.770685 0.238886 1.104919 -0.086380 1.175827 1.697828 -0.309033 1.420456 0.050528 0.410791 1.224188 1.576124 0.696620 0.749167 0.492507 1.752832 1.565235 1.317346 -0.708509 1.533585 -0.144615 1.567818 1.921771 0.617703 1.048643 0.900156 0.810098 0.470909 -0.287077)
+	11.133385 #(0.000000 0.737767 0.242894 1.222279 0.471270 0.719745 -0.111581 1.125372 0.519029 -0.602995 0.207831 -0.019375 0.977253 0.730038 0.549277 1.736357 0.178856 0.378067 0.703036 1.285405 -0.440424 0.022976 1.081105 0.394590 1.176445 0.423028 0.024758 1.348044 1.875622 0.693243 0.631295 0.154785 -0.072026 0.840426 0.310333 1.680668 0.596016 1.796624 1.329261 0.552169 1.550621 -0.029191 0.120286 1.042346 1.643782 0.557105 0.100245 0.192082 1.115887 -0.044021 -0.568040 0.660295 0.446779 0.996296 0.543383 0.887166 1.696504 0.164237 0.565638 0.240616 0.980219 0.676086 0.528834 0.128308 -0.348116 0.973101 0.673237 1.259063 1.135685 0.928208 1.088345 1.731248 0.837036 -0.669991 1.701824 1.338691 0.198045 1.382482 1.748178 0.598583 0.174133 0.840707 1.239171 1.490991 0.324491 0.560298 0.680939 0.488255 0.866976 0.067351 0.114746 -0.374109 -0.011129 -0.482864 -0.335823 0.770685 0.238886 1.104919 -0.086380 1.175827 1.697828 -0.309033 1.420456 0.050528 0.410791 1.224188 1.576124 0.696620 0.749167 0.492507 1.752832 1.565235 1.317346 -0.708509 1.533585 -0.144615 1.567818 1.921771 0.617703 1.048643 0.900156 0.810098 0.470909 -0.287077)
 
       ;; pp:
-      11.348159 (fv 0.000000 0.420291 0.994113 1.605062 0.142556 0.741991 1.232518 1.818784 0.570117 1.112532 1.715041 0.498288 1.242193 1.903819 0.738569 1.440312 0.052035 0.859274 1.700608 0.416370 1.222707 0.007385 0.792200 1.771446 0.548685 1.661284 0.559436 1.442669 0.358986 1.258045 0.260744 1.254293 0.320180 1.305252 0.361287 1.403913 0.572629 1.603076 0.693636 1.846854 1.012682 0.188863 1.352443 0.397048 1.645973 0.881785 0.066704 1.295103 0.504646 1.870898 1.303297 0.570018 1.829957 1.080888 0.545590 1.923840 1.269013 0.679145 0.161303 1.594647 0.985227 0.464326 0.012233 1.568478 1.180634 0.730528 0.110665 1.618518 1.175834 0.879996 0.432189 0.136812 1.777876 1.490107 1.188949 0.907621 0.550479 0.242984 -0.059790 1.929821 1.371631 1.423168 1.146477 0.972409 0.858534 0.924887 0.595740 0.679411 0.488048 0.636418 0.072322 0.281040 0.204879 0.089915 0.287853 0.416670 0.453983 0.352329 0.503511 0.432486 0.571020 0.790600 0.687796 1.008010 1.155356 1.385540 1.648000 1.747132 0.045146 0.425981 0.717415 0.741128 1.002981 1.282324 1.660931 0.156386 0.411627 0.950904 1.417985 1.747974 0.260323 0.677519 1.016797 1.669557)
+      11.348159 #(0.000000 0.420291 0.994113 1.605062 0.142556 0.741991 1.232518 1.818784 0.570117 1.112532 1.715041 0.498288 1.242193 1.903819 0.738569 1.440312 0.052035 0.859274 1.700608 0.416370 1.222707 0.007385 0.792200 1.771446 0.548685 1.661284 0.559436 1.442669 0.358986 1.258045 0.260744 1.254293 0.320180 1.305252 0.361287 1.403913 0.572629 1.603076 0.693636 1.846854 1.012682 0.188863 1.352443 0.397048 1.645973 0.881785 0.066704 1.295103 0.504646 1.870898 1.303297 0.570018 1.829957 1.080888 0.545590 1.923840 1.269013 0.679145 0.161303 1.594647 0.985227 0.464326 0.012233 1.568478 1.180634 0.730528 0.110665 1.618518 1.175834 0.879996 0.432189 0.136812 1.777876 1.490107 1.188949 0.907621 0.550479 0.242984 -0.059790 1.929821 1.371631 1.423168 1.146477 0.972409 0.858534 0.924887 0.595740 0.679411 0.488048 0.636418 0.072322 0.281040 0.204879 0.089915 0.287853 0.416670 0.453983 0.352329 0.503511 0.432486 0.571020 0.790600 0.687796 1.008010 1.155356 1.385540 1.648000 1.747132 0.045146 0.425981 0.717415 0.741128 1.002981 1.282324 1.660931 0.156386 0.411627 0.950904 1.417985 1.747974 0.260323 0.677519 1.016797 1.669557)
 
       ;; 125-1
-      11.120334 (fv 0.000000 0.836933 0.196277 0.584882 0.301240 1.853484 1.324094 0.689541 0.969365 0.207127 0.815576 1.493174 1.646002 1.091372 1.338767 0.007260 0.223249 1.375996 0.396818 0.809290 0.595471 0.291935 0.828280 1.079040 -0.045835 0.055676 0.687157 1.387372 0.387604 1.113048 0.635795 -0.184152 0.086995 0.683755 -0.523880 0.957683 0.004250 0.887892 -0.247566 0.473338 0.863028 1.537875 1.279363 1.883742 -0.079415 1.606587 1.410357 1.815201 1.258365 -0.140836 0.062288 -0.117723 0.136197 0.025366 0.240444 0.337975 0.245314 1.565210 1.190385 0.061707 1.059358 1.066927 -0.243845 -0.140470 0.080704 -0.220916 0.436644 1.755266 1.123977 1.300903 1.292668 0.127266 0.478120 0.197515 0.674823 1.740766 0.286316 1.346417 -0.000673 0.759878 1.360448 0.328373 -0.116210 1.391350 1.022226 1.179474 0.838754 0.041237 0.614743 0.475843 0.203018 1.724933 1.421322 0.133569 1.485945 -0.070709 -0.071535 1.023240 0.511154 0.013014 1.379753 0.972914 1.226974 1.882336 0.135006 1.035934 -0.225880 1.034246 0.410768 0.390305 1.143196 1.223233 0.144114 1.611032 0.509896 1.218446 0.494123 -0.071045 0.511805 0.489583 0.116710 1.542243 0.745207 0.200411)
+      11.120334 #(0.000000 0.836933 0.196277 0.584882 0.301240 1.853484 1.324094 0.689541 0.969365 0.207127 0.815576 1.493174 1.646002 1.091372 1.338767 0.007260 0.223249 1.375996 0.396818 0.809290 0.595471 0.291935 0.828280 1.079040 -0.045835 0.055676 0.687157 1.387372 0.387604 1.113048 0.635795 -0.184152 0.086995 0.683755 -0.523880 0.957683 0.004250 0.887892 -0.247566 0.473338 0.863028 1.537875 1.279363 1.883742 -0.079415 1.606587 1.410357 1.815201 1.258365 -0.140836 0.062288 -0.117723 0.136197 0.025366 0.240444 0.337975 0.245314 1.565210 1.190385 0.061707 1.059358 1.066927 -0.243845 -0.140470 0.080704 -0.220916 0.436644 1.755266 1.123977 1.300903 1.292668 0.127266 0.478120 0.197515 0.674823 1.740766 0.286316 1.346417 -0.000673 0.759878 1.360448 0.328373 -0.116210 1.391350 1.022226 1.179474 0.838754 0.041237 0.614743 0.475843 0.203018 1.724933 1.421322 0.133569 1.485945 -0.070709 -0.071535 1.023240 0.511154 0.013014 1.379753 0.972914 1.226974 1.882336 0.135006 1.035934 -0.225880 1.034246 0.410768 0.390305 1.143196 1.223233 0.144114 1.611032 0.509896 1.218446 0.494123 -0.071045 0.511805 0.489583 0.116710 1.542243 0.745207 0.200411)
       )
 
 ;;; 125 odd -------------------------------------------------------------------------------- ; 11.1803
-(vector 125 14.82163143158 (fv 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0)
+(vector 125 14.82163143158 #(0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0)
 
-      11.122080 (fv 0.000000 0.847003 0.165605 0.564848 0.227076 1.866949 1.345525 0.694388 0.959809 0.220564 0.772501 1.602410 1.604719 1.034958 1.311625 0.093909 0.283228 1.337145 0.377730 0.845137 0.466461 0.350583 0.723543 1.140286 -0.106738 0.112805 0.654453 1.405583 0.488341 1.115481 0.791692 -0.180702 0.024701 0.675117 -0.401907 0.966930 1.823188 0.970009 -0.163692 0.487827 0.774136 1.664048 1.147399 1.934923 -0.055579 1.590906 1.404741 1.937024 1.297324 -0.074406 0.012276 -0.101828 0.157087 0.049344 0.227099 0.402796 0.390545 1.452083 1.063131 0.134397 1.038993 1.058234 -0.172834 -0.157850 -0.051398 -0.166122 0.368524 1.765197 1.164117 1.233067 1.255917 0.100656 0.389203 0.162934 0.701475 1.871318 0.234658 1.379710 -0.022077 0.663615 1.352469 0.392445 -0.083922 1.307168 0.973714 1.219169 0.823481 0.152576 0.585169 0.393119 0.296805 1.754607 1.427512 0.110549 1.353534 -0.062637 0.005406 0.988733 0.551978 -0.032302 1.396422 1.051496 1.232496 1.873765 0.104448 1.090614 -0.186610 1.107217 0.405013 0.371843 1.166939 1.223105 0.199359 1.547104 0.541567 1.118832 0.462118 -0.111041 0.497800 0.551619 0.175381 1.513543 0.771791 0.282381 0.491699)
+      11.122080 #(0.000000 0.847003 0.165605 0.564848 0.227076 1.866949 1.345525 0.694388 0.959809 0.220564 0.772501 1.602410 1.604719 1.034958 1.311625 0.093909 0.283228 1.337145 0.377730 0.845137 0.466461 0.350583 0.723543 1.140286 -0.106738 0.112805 0.654453 1.405583 0.488341 1.115481 0.791692 -0.180702 0.024701 0.675117 -0.401907 0.966930 1.823188 0.970009 -0.163692 0.487827 0.774136 1.664048 1.147399 1.934923 -0.055579 1.590906 1.404741 1.937024 1.297324 -0.074406 0.012276 -0.101828 0.157087 0.049344 0.227099 0.402796 0.390545 1.452083 1.063131 0.134397 1.038993 1.058234 -0.172834 -0.157850 -0.051398 -0.166122 0.368524 1.765197 1.164117 1.233067 1.255917 0.100656 0.389203 0.162934 0.701475 1.871318 0.234658 1.379710 -0.022077 0.663615 1.352469 0.392445 -0.083922 1.307168 0.973714 1.219169 0.823481 0.152576 0.585169 0.393119 0.296805 1.754607 1.427512 0.110549 1.353534 -0.062637 0.005406 0.988733 0.551978 -0.032302 1.396422 1.051496 1.232496 1.873765 0.104448 1.090614 -0.186610 1.107217 0.405013 0.371843 1.166939 1.223105 0.199359 1.547104 0.541567 1.118832 0.462118 -0.111041 0.497800 0.551619 0.175381 1.513543 0.771791 0.282381 0.491699)
       )
 
 ;;; 126 odd -------------------------------------------------------------------------------- ; 11.2250
-(vector 126 14.961482935205 (fv 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1)
+(vector 126 14.961482935205 #(0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1)
 
-	11.217157 (fv 0.000000 1.333463 1.865492 -0.356718 0.933752 -0.563391 0.868454 1.227379 1.262853 1.734302 0.789925 0.887286 1.032388 0.794621 1.230657 -0.133505 -0.396357 0.347068 1.645124 0.776662 -0.030992 0.148253 0.191160 1.597265 0.105283 0.900423 1.230893 1.571345 0.370052 -0.251197 0.174670 0.404122 -0.082381 0.889967 -0.215160 -0.008260 -0.099660 1.159763 0.889422 1.423884 0.871705 1.850409 0.087109 1.706676 0.622672 0.936165 1.688780 1.528677 0.346829 0.012071 -0.088550 -0.030577 -0.043782 -0.058951 0.933603 1.070465 1.475594 1.531127 0.991234 0.010808 0.356054 0.157103 0.451907 -0.030459 -0.024818 0.523063 -0.129422 0.815521 1.075724 0.055269 0.750932 1.244054 1.306512 0.899391 -0.257291 1.664054 0.588171 1.065503 1.219153 1.371075 1.522174 0.737588 1.228742 1.773501 0.629941 0.387629 0.029457 1.398967 0.393091 1.680074 1.275817 0.905734 0.977246 -0.221887 1.339886 1.268897 1.260526 0.645165 1.510347 1.465708 0.394415 0.283387 1.630537 1.623821 0.888008 0.433073 0.790823 0.410278 1.398034 -0.237262 0.505122 -0.149516 0.721213 -0.202493 0.454561 1.014466 0.552452 1.112325 -1.848818 1.758603 1.154778 1.507049 0.724439 0.691362 -0.014103 1.227764)
+	11.217157 #(0.000000 1.333463 1.865492 -0.356718 0.933752 -0.563391 0.868454 1.227379 1.262853 1.734302 0.789925 0.887286 1.032388 0.794621 1.230657 -0.133505 -0.396357 0.347068 1.645124 0.776662 -0.030992 0.148253 0.191160 1.597265 0.105283 0.900423 1.230893 1.571345 0.370052 -0.251197 0.174670 0.404122 -0.082381 0.889967 -0.215160 -0.008260 -0.099660 1.159763 0.889422 1.423884 0.871705 1.850409 0.087109 1.706676 0.622672 0.936165 1.688780 1.528677 0.346829 0.012071 -0.088550 -0.030577 -0.043782 -0.058951 0.933603 1.070465 1.475594 1.531127 0.991234 0.010808 0.356054 0.157103 0.451907 -0.030459 -0.024818 0.523063 -0.129422 0.815521 1.075724 0.055269 0.750932 1.244054 1.306512 0.899391 -0.257291 1.664054 0.588171 1.065503 1.219153 1.371075 1.522174 0.737588 1.228742 1.773501 0.629941 0.387629 0.029457 1.398967 0.393091 1.680074 1.275817 0.905734 0.977246 -0.221887 1.339886 1.268897 1.260526 0.645165 1.510347 1.465708 0.394415 0.283387 1.630537 1.623821 0.888008 0.433073 0.790823 0.410278 1.398034 -0.237262 0.505122 -0.149516 0.721213 -0.202493 0.454561 1.014466 0.552452 1.112325 -1.848818 1.758603 1.154778 1.507049 0.724439 0.691362 -0.014103 1.227764)
       )
 
 ;;; 127 odd -------------------------------------------------------------------------------- ; 11.2694
-(vector 127 14.695912364919 (fv 0 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0)
+(vector 127 14.695912364919 #(0 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0)
 
-	11.267676 (fv 0.000000 0.469645 0.796786 0.361018 -0.201613 1.310280 0.989111 0.525386 1.353693 0.378912 -0.241786 1.383164 1.533963 0.433890 0.325960 -0.352400 0.296358 0.481541 1.224829 0.787501 0.393768 1.211089 1.363561 0.247670 0.870376 1.154368 0.308126 1.041640 0.835212 1.804302 0.606799 0.022246 1.619342 1.154695 0.087857 0.758989 -0.028398 1.810844 1.763099 -0.171773 1.163226 0.592499 1.004685 0.695738 1.351120 0.977805 1.234286 1.609466 1.168845 1.598062 -0.321012 0.375057 0.817093 1.176853 0.878725 0.404937 0.672879 0.953648 1.504900 1.779440 0.534644 1.065489 -0.364994 1.703967 1.257601 -0.285618 0.908588 1.590737 1.087624 0.949190 1.204116 1.100315 0.879186 1.728483 1.796612 1.248626 1.298091 0.553842 1.379947 1.414383 0.591234 -0.228889 0.158060 -0.027394 0.157851 1.486700 0.372769 1.034786 0.707926 1.165159 0.328389 0.640197 0.421469 0.024384 1.129354 0.412245 0.531741 0.551732 0.008170 1.397227 1.653335 0.820170 0.216962 1.538735 0.975199 1.704359 0.157705 -0.426269 0.813101 0.999429 0.880927 1.743457 1.627725 0.094175 0.211869 0.002839 0.900464 1.204980 1.320644 1.281147 0.386967 0.783858 1.096686 0.213553 1.120859 -0.145308 0.996884)
+	11.267676 #(0.000000 0.469645 0.796786 0.361018 -0.201613 1.310280 0.989111 0.525386 1.353693 0.378912 -0.241786 1.383164 1.533963 0.433890 0.325960 -0.352400 0.296358 0.481541 1.224829 0.787501 0.393768 1.211089 1.363561 0.247670 0.870376 1.154368 0.308126 1.041640 0.835212 1.804302 0.606799 0.022246 1.619342 1.154695 0.087857 0.758989 -0.028398 1.810844 1.763099 -0.171773 1.163226 0.592499 1.004685 0.695738 1.351120 0.977805 1.234286 1.609466 1.168845 1.598062 -0.321012 0.375057 0.817093 1.176853 0.878725 0.404937 0.672879 0.953648 1.504900 1.779440 0.534644 1.065489 -0.364994 1.703967 1.257601 -0.285618 0.908588 1.590737 1.087624 0.949190 1.204116 1.100315 0.879186 1.728483 1.796612 1.248626 1.298091 0.553842 1.379947 1.414383 0.591234 -0.228889 0.158060 -0.027394 0.157851 1.486700 0.372769 1.034786 0.707926 1.165159 0.328389 0.640197 0.421469 0.024384 1.129354 0.412245 0.531741 0.551732 0.008170 1.397227 1.653335 0.820170 0.216962 1.538735 0.975199 1.704359 0.157705 -0.426269 0.813101 0.999429 0.880927 1.743457 1.627725 0.094175 0.211869 0.002839 0.900464 1.204980 1.320644 1.281147 0.386967 0.783858 1.096686 0.213553 1.120859 -0.145308 0.996884)
       )
 
 ;;; 128 odd -------------------------------------------------------------------------------- ; 11.3137
-(vector 128 14.876242756695 (fv 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1)
+(vector 128 14.876242756695 #(0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1)
 
-      11.261196 (fv 0.000000 0.166552 0.658187 0.892812 0.275075 0.681304 0.935134 0.976324 1.751013 1.223679 0.531374 0.670158 0.738172 0.131342 0.784571 -0.001918 0.261947 -0.271711 1.074675 0.180917 0.495904 1.378525 0.720362 0.537440 1.116473 -0.311806 0.462073 0.021129 0.764859 1.361657 1.645691 -0.164691 0.135735 1.576068 0.824450 0.335134 1.099359 0.719625 0.791638 0.999013 0.348593 0.103014 1.062792 0.739933 1.675943 0.488371 0.860700 0.759566 1.276788 -0.135237 0.780818 -0.165115 1.024663 -0.327864 0.608127 1.454969 0.958609 0.555060 1.331156 0.762777 0.625297 1.411237 1.470303 1.190821 0.207444 0.108639 1.023133 1.165243 1.464221 1.564262 0.616076 0.019451 0.729986 0.402652 0.078552 0.454134 0.152695 0.263463 0.361958 1.475980 0.276689 1.365673 0.254488 -0.143709 1.946127 0.309551 1.760348 1.294342 0.981564 0.863637 1.477654 -0.019128 0.751338 0.878849 0.050601 0.063334 1.353561 1.669390 1.451518 0.535767 0.012898 0.428045 -0.011136 0.975409 -0.201088 0.677802 0.866124 0.188482 0.625213 1.342113 1.315837 0.879874 0.445664 1.081775 0.978490 1.662778 0.529736 1.946523 1.542905 0.571344 1.054205 0.430980 0.402697 -0.095096 1.487261 1.198691 1.754313 1.700742)
+      11.261196 #(0.000000 0.166552 0.658187 0.892812 0.275075 0.681304 0.935134 0.976324 1.751013 1.223679 0.531374 0.670158 0.738172 0.131342 0.784571 -0.001918 0.261947 -0.271711 1.074675 0.180917 0.495904 1.378525 0.720362 0.537440 1.116473 -0.311806 0.462073 0.021129 0.764859 1.361657 1.645691 -0.164691 0.135735 1.576068 0.824450 0.335134 1.099359 0.719625 0.791638 0.999013 0.348593 0.103014 1.062792 0.739933 1.675943 0.488371 0.860700 0.759566 1.276788 -0.135237 0.780818 -0.165115 1.024663 -0.327864 0.608127 1.454969 0.958609 0.555060 1.331156 0.762777 0.625297 1.411237 1.470303 1.190821 0.207444 0.108639 1.023133 1.165243 1.464221 1.564262 0.616076 0.019451 0.729986 0.402652 0.078552 0.454134 0.152695 0.263463 0.361958 1.475980 0.276689 1.365673 0.254488 -0.143709 1.946127 0.309551 1.760348 1.294342 0.981564 0.863637 1.477654 -0.019128 0.751338 0.878849 0.050601 0.063334 1.353561 1.669390 1.451518 0.535767 0.012898 0.428045 -0.011136 0.975409 -0.201088 0.677802 0.866124 0.188482 0.625213 1.342113 1.315837 0.879874 0.445664 1.081775 0.978490 1.662778 0.529736 1.946523 1.542905 0.571344 1.054205 0.430980 0.402697 -0.095096 1.487261 1.198691 1.754313 1.700742)
       )
 
 ;;; 256 odd --------------------------------------------------------------------------------
-(vector 256 22.546259712247 (fv 0 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1)
+(vector 256 22.546259712247 #(0 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1)
       
-	16.932554 (fv 0.000000 0.299828 1.705033 -0.245282 1.517634 -0.512250 1.852696 -0.212031 1.625444 0.510314 1.972741 0.173230 1.725475 1.547901 0.804668 1.394746 0.173496 0.531764 0.731522 -0.060988 0.953386 0.234883 1.327931 1.710749 0.682372 1.593381 0.151697 0.696761 0.537335 1.969147 0.015426 0.808226 1.907797 1.558581 1.628528 1.165756 1.125630 1.795673 0.141122 0.016332 1.288127 0.941042 0.739123 0.972611 0.864761 0.875493 1.065737 0.205053 1.185762 0.863116 -0.053729 1.247127 1.771030 0.213109 0.203770 1.794944 0.080805 1.593027 0.197375 0.662307 -0.007433 1.307614 1.700096 0.641288 -0.016776 0.227057 0.210364 1.170957 1.587764 0.027010 1.239534 0.423010 0.803348 -0.009082 0.446764 0.636465 0.493264 -0.127025 0.112814 0.882192 1.818458 -0.107988 0.396084 1.293132 0.043609 1.657883 0.579794 0.180007 1.771600 1.131077 0.309105 0.137609 1.680511 0.060225 1.648041 -0.009446 0.270642 0.473937 1.608416 -0.014724 1.203911 1.240003 1.624613 1.562696 0.423323 0.330495 1.342929 0.063255 0.191341 0.910443 0.987286 0.949497 1.223867 1.261957 1.880192 0.302246 1.712139 1.779224 1.265963 1.777754 0.696982 1.379173 0.849932 1.580925 0.603387 1.028575 0.637130 0.740605 0.190997 1.448533 1.601710 1.704646 0.662313 0.835536 0.132357 0.868721 1.868738 1.555439 0.857103 1.813342 0.384273 0.308585 0.123611 1.182477 1.477561 1.678828 1.369057 1.213135 0.205042 0.425013 1.472803 1.396888 1.212323 1.858077 1.187399 0.010710 1.114100 1.840176 0.270787 0.093299 1.447701 0.449012 1.201616 1.113975 0.530506 1.655828 1.255713 -0.011414 0.956758 0.101851 1.223128 0.632983 0.423115 0.389217 1.423871 0.446874 1.820967 -0.029749 -0.443778 1.464394 0.868892 0.727400 0.578567 1.659072 1.017705 1.973528 -0.008925 0.757464 0.297947 -0.349297 0.883303 0.128256 1.200088 1.880227 0.584973 0.246525 0.618040 0.702249 1.255753 -0.329844 0.271022 0.297799 1.233191 1.390939 1.235027 0.303733 0.154150 0.491021 1.847433 1.056124 1.120988 1.805844 0.419548 1.016328 0.066448 0.893486 1.505832 0.702704 1.551981 1.267138 0.736198 0.947423 0.706820 -0.380019 0.873753 1.478444 0.561669 0.158253 0.016654 0.113131 1.644053 0.533397 0.826036 1.694860 0.852972 1.098260 0.229336 0.855766 1.051022 1.369585 0.520607 1.599761 1.473656 0.002020 0.572466 1.209260 1.275104 1.740654 1.738870 1.725547 1.490686 0.651000 0.118628 -0.196423 0.917329 0.845710)
+	16.932554 #(0.000000 0.299828 1.705033 -0.245282 1.517634 -0.512250 1.852696 -0.212031 1.625444 0.510314 1.972741 0.173230 1.725475 1.547901 0.804668 1.394746 0.173496 0.531764 0.731522 -0.060988 0.953386 0.234883 1.327931 1.710749 0.682372 1.593381 0.151697 0.696761 0.537335 1.969147 0.015426 0.808226 1.907797 1.558581 1.628528 1.165756 1.125630 1.795673 0.141122 0.016332 1.288127 0.941042 0.739123 0.972611 0.864761 0.875493 1.065737 0.205053 1.185762 0.863116 -0.053729 1.247127 1.771030 0.213109 0.203770 1.794944 0.080805 1.593027 0.197375 0.662307 -0.007433 1.307614 1.700096 0.641288 -0.016776 0.227057 0.210364 1.170957 1.587764 0.027010 1.239534 0.423010 0.803348 -0.009082 0.446764 0.636465 0.493264 -0.127025 0.112814 0.882192 1.818458 -0.107988 0.396084 1.293132 0.043609 1.657883 0.579794 0.180007 1.771600 1.131077 0.309105 0.137609 1.680511 0.060225 1.648041 -0.009446 0.270642 0.473937 1.608416 -0.014724 1.203911 1.240003 1.624613 1.562696 0.423323 0.330495 1.342929 0.063255 0.191341 0.910443 0.987286 0.949497 1.223867 1.261957 1.880192 0.302246 1.712139 1.779224 1.265963 1.777754 0.696982 1.379173 0.849932 1.580925 0.603387 1.028575 0.637130 0.740605 0.190997 1.448533 1.601710 1.704646 0.662313 0.835536 0.132357 0.868721 1.868738 1.555439 0.857103 1.813342 0.384273 0.308585 0.123611 1.182477 1.477561 1.678828 1.369057 1.213135 0.205042 0.425013 1.472803 1.396888 1.212323 1.858077 1.187399 0.010710 1.114100 1.840176 0.270787 0.093299 1.447701 0.449012 1.201616 1.113975 0.530506 1.655828 1.255713 -0.011414 0.956758 0.101851 1.223128 0.632983 0.423115 0.389217 1.423871 0.446874 1.820967 -0.029749 -0.443778 1.464394 0.868892 0.727400 0.578567 1.659072 1.017705 1.973528 -0.008925 0.757464 0.297947 -0.349297 0.883303 0.128256 1.200088 1.880227 0.584973 0.246525 0.618040 0.702249 1.255753 -0.329844 0.271022 0.297799 1.233191 1.390939 1.235027 0.303733 0.154150 0.491021 1.847433 1.056124 1.120988 1.805844 0.419548 1.016328 0.066448 0.893486 1.505832 0.702704 1.551981 1.267138 0.736198 0.947423 0.706820 -0.380019 0.873753 1.478444 0.561669 0.158253 0.016654 0.113131 1.644053 0.533397 0.826036 1.694860 0.852972 1.098260 0.229336 0.855766 1.051022 1.369585 0.520607 1.599761 1.473656 0.002020 0.572466 1.209260 1.275104 1.740654 1.738870 1.725547 1.490686 0.651000 0.118628 -0.196423 0.917329 0.845710)
       )
 
 ;;; 512 odd --------------------------------------------------------------------------------
-(vector 512 35.541 (fv 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0)
+(vector 512 35.541 #(0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0)
 
       ;; from (try-all :odd 512 513 0.0057812032540294  1.0142361702487) = 28.7291 start for next
-	23.716849 (fv 0.000000 1.386177 0.713008 0.003452 1.325461 0.665248 0.008142 1.314724 0.691474 0.066339 1.435981 0.804093 0.172765 1.522234 0.893751 0.277258 1.610102 1.005246 0.376177 1.775441 1.206877 0.615802 0.010188 1.376708 0.765127 0.173375 1.635776 1.029586 0.489561 1.940906 1.346730 0.810290 0.190213 1.646200 1.058365 0.502081 -0.085212 1.398947 0.892744 0.400807 1.903960 1.353268 0.833725 0.289010 1.806848 1.257743 0.707460 0.242200 1.750575 1.251783 0.742940 0.232633 1.756296 1.281177 0.783502 0.304115 1.846750 1.350399 0.916463 0.494039 0.029209 1.596080 1.095129 0.687317 0.229205 1.736704 1.290854 0.857342 0.417897 0.006810 1.604785 1.207241 0.745888 0.368498 1.939438 1.557313 1.176888 0.751323 0.345064 1.946256 1.587416 1.205053 0.847721 0.500526 0.105201 1.713914 1.348245 0.999166 0.643810 0.294307 -0.009291 1.648246 1.318017 0.946007 0.571567 0.250113 1.948602 1.641225 1.351970 1.040145 0.722431 0.402249 0.068667 1.761778 1.483321 1.168792 0.902292 0.622562 0.393716 0.071396 1.793757 1.520668 1.253207 0.968382 0.706598 0.478102 0.212208 1.966285 1.706429 1.495684 1.219831 0.986339 0.727326 0.553916 0.347750 0.133150 1.913130 1.701236 1.512062 1.283083 1.044773 0.859493 0.685612 0.480978 0.318075 0.155658 1.970256 1.731367 1.604854 1.456327 1.268574 1.110936 0.962304 0.806527 0.641956 0.496465 0.404452 0.274399 0.124501 -0.069746 1.814128 1.693756 1.567361 1.452982 1.402427 1.267889 1.106117 1.025358 0.944270 0.854118 0.753166 0.662874 0.577504 0.540814 0.454691 0.364705 0.334774 0.260515 0.174172 0.114008 0.059753 0.021108 1.967795 1.940561 1.926108 1.817829 1.816578 1.829230 1.763717 1.746146 1.768340 1.735638 1.694243 1.717300 1.700307 1.673492 1.703276 1.765354 1.728149 1.721871 1.792759 1.836518 1.790659 1.869572 1.931889 1.911416 -0.049508 0.040552 0.076661 0.124548 0.190446 0.213683 0.290047 0.374351 0.444676 0.515097 0.588488 0.695903 0.781037 0.806660 0.921756 1.050977 1.179273 1.276197 1.323471 1.440301 1.570781 1.698955 1.827110 1.973403 0.095016 0.228855 0.385876 0.488292 0.634453 0.804119 0.947283 1.092378 1.233063 1.412122 1.598977 1.789895 1.950360 0.140199 0.270111 0.484542 0.676076 0.875520 1.062416 1.258627 1.458192 1.707297 1.921954 0.119209 0.298949 0.581405 0.769515 1.026853 1.223167 1.513273 1.727029 -0.017306 0.209900 0.500939 0.701672 0.977279 1.216826 1.499384 1.779833 0.099435 0.337187 0.641811 0.927329 1.208595 1.453552 1.744657 0.045196 0.356852 0.724238 1.011858 1.349837 1.617935 1.987915 0.263154 0.637781 0.962300 1.293802 1.623598 1.910194 0.353508 0.625937 1.050232 1.343506 1.742985 0.092929 0.488000 0.864319 1.233651 1.609043 0.033469 0.414020 0.804580 1.109133 1.582193 1.963439 0.408246 0.805244 1.229890 1.616430 -0.005644 0.499002 0.871222 1.383619 1.742006 0.241871 0.636412 1.111292 1.523864 0.013426 0.430112 0.957489 1.390576 1.854792 0.298131 0.775965 1.336493 1.765508 0.284032 0.739560 1.225735 1.770015 0.245509 0.759950 1.283127 1.750994 0.271698 0.822357 1.329050 1.911458 0.424517 0.913054 1.452733 0.010207 0.507166 1.142838 1.653176 0.267116 0.766064 1.355041 1.954872 0.526119 1.075422 1.710371 0.220956 0.795713 1.455244 0.009017 0.572263 1.233742 1.805199 0.351214 1.029595 1.670810 0.244898 0.937764 1.599384 0.123281 0.827498 1.421956 0.071912 0.728628 1.352525 0.045071 0.629616 1.340343 -0.005599 0.656031 1.375774 0.006637 0.704005 1.346778 0.026276 0.793500 1.469628 0.149189 0.900114 1.563003 0.245092 0.942737 1.649937 0.383461 1.127594 1.833496 0.630173 1.303349 0.131274 0.795917 1.555017 0.354577 1.010369 1.836168 0.566636 1.392645 0.086446 0.905432 1.674552 0.357250 1.244274 1.933313 0.772802 1.613083 0.347109 1.198474 -0.009249 0.816204 1.581830 0.444697 1.252833 0.100839 0.820624 1.756368 0.556323 1.425952 0.202073 1.114604 1.862430 0.795077 1.577287 0.478129 1.375476 0.190400 1.049976 -0.001037 0.879181 1.750477 0.621432 1.466044 0.413933 1.258876 0.154463 1.083320 0.023406 0.861084 1.792442 0.739423 1.747839 0.555786 1.545715 0.467356 1.398174 0.305932 1.268574 0.245015 1.132661 0.145880 1.048422 0.017779 0.982729 1.923364 0.991511 1.957307 0.987170 1.902716 0.862590 1.910349 0.888567 1.920187 0.891111 1.886256 0.901663 1.918496 0.888352 1.914645 0.897685 -0.010739 0.984051 0.045577 1.089818 0.179909 1.199148 0.242854 1.360751 0.407503 1.407270 0.484554 1.541970 0.605558 1.705736 0.805033 1.904246 0.915747 0.018600 1.130323 0.275353 1.311301 0.394011 1.535459 0.601518 1.753472 0.894346 0.028620 1.161824 0.267287 1.447242 0.509507 1.658579 0.805465 0.032994 1.137888 0.321598 1.466044 0.648028 1.757642 1.015016 0.177874 1.323344 0.563863 1.750425 0.967203 0.229423 1.447094 0.698358)
+	23.716849 #(0.000000 1.386177 0.713008 0.003452 1.325461 0.665248 0.008142 1.314724 0.691474 0.066339 1.435981 0.804093 0.172765 1.522234 0.893751 0.277258 1.610102 1.005246 0.376177 1.775441 1.206877 0.615802 0.010188 1.376708 0.765127 0.173375 1.635776 1.029586 0.489561 1.940906 1.346730 0.810290 0.190213 1.646200 1.058365 0.502081 -0.085212 1.398947 0.892744 0.400807 1.903960 1.353268 0.833725 0.289010 1.806848 1.257743 0.707460 0.242200 1.750575 1.251783 0.742940 0.232633 1.756296 1.281177 0.783502 0.304115 1.846750 1.350399 0.916463 0.494039 0.029209 1.596080 1.095129 0.687317 0.229205 1.736704 1.290854 0.857342 0.417897 0.006810 1.604785 1.207241 0.745888 0.368498 1.939438 1.557313 1.176888 0.751323 0.345064 1.946256 1.587416 1.205053 0.847721 0.500526 0.105201 1.713914 1.348245 0.999166 0.643810 0.294307 -0.009291 1.648246 1.318017 0.946007 0.571567 0.250113 1.948602 1.641225 1.351970 1.040145 0.722431 0.402249 0.068667 1.761778 1.483321 1.168792 0.902292 0.622562 0.393716 0.071396 1.793757 1.520668 1.253207 0.968382 0.706598 0.478102 0.212208 1.966285 1.706429 1.495684 1.219831 0.986339 0.727326 0.553916 0.347750 0.133150 1.913130 1.701236 1.512062 1.283083 1.044773 0.859493 0.685612 0.480978 0.318075 0.155658 1.970256 1.731367 1.604854 1.456327 1.268574 1.110936 0.962304 0.806527 0.641956 0.496465 0.404452 0.274399 0.124501 -0.069746 1.814128 1.693756 1.567361 1.452982 1.402427 1.267889 1.106117 1.025358 0.944270 0.854118 0.753166 0.662874 0.577504 0.540814 0.454691 0.364705 0.334774 0.260515 0.174172 0.114008 0.059753 0.021108 1.967795 1.940561 1.926108 1.817829 1.816578 1.829230 1.763717 1.746146 1.768340 1.735638 1.694243 1.717300 1.700307 1.673492 1.703276 1.765354 1.728149 1.721871 1.792759 1.836518 1.790659 1.869572 1.931889 1.911416 -0.049508 0.040552 0.076661 0.124548 0.190446 0.213683 0.290047 0.374351 0.444676 0.515097 0.588488 0.695903 0.781037 0.806660 0.921756 1.050977 1.179273 1.276197 1.323471 1.440301 1.570781 1.698955 1.827110 1.973403 0.095016 0.228855 0.385876 0.488292 0.634453 0.804119 0.947283 1.092378 1.233063 1.412122 1.598977 1.789895 1.950360 0.140199 0.270111 0.484542 0.676076 0.875520 1.062416 1.258627 1.458192 1.707297 1.921954 0.119209 0.298949 0.581405 0.769515 1.026853 1.223167 1.513273 1.727029 -0.017306 0.209900 0.500939 0.701672 0.977279 1.216826 1.499384 1.779833 0.099435 0.337187 0.641811 0.927329 1.208595 1.453552 1.744657 0.045196 0.356852 0.724238 1.011858 1.349837 1.617935 1.987915 0.263154 0.637781 0.962300 1.293802 1.623598 1.910194 0.353508 0.625937 1.050232 1.343506 1.742985 0.092929 0.488000 0.864319 1.233651 1.609043 0.033469 0.414020 0.804580 1.109133 1.582193 1.963439 0.408246 0.805244 1.229890 1.616430 -0.005644 0.499002 0.871222 1.383619 1.742006 0.241871 0.636412 1.111292 1.523864 0.013426 0.430112 0.957489 1.390576 1.854792 0.298131 0.775965 1.336493 1.765508 0.284032 0.739560 1.225735 1.770015 0.245509 0.759950 1.283127 1.750994 0.271698 0.822357 1.329050 1.911458 0.424517 0.913054 1.452733 0.010207 0.507166 1.142838 1.653176 0.267116 0.766064 1.355041 1.954872 0.526119 1.075422 1.710371 0.220956 0.795713 1.455244 0.009017 0.572263 1.233742 1.805199 0.351214 1.029595 1.670810 0.244898 0.937764 1.599384 0.123281 0.827498 1.421956 0.071912 0.728628 1.352525 0.045071 0.629616 1.340343 -0.005599 0.656031 1.375774 0.006637 0.704005 1.346778 0.026276 0.793500 1.469628 0.149189 0.900114 1.563003 0.245092 0.942737 1.649937 0.383461 1.127594 1.833496 0.630173 1.303349 0.131274 0.795917 1.555017 0.354577 1.010369 1.836168 0.566636 1.392645 0.086446 0.905432 1.674552 0.357250 1.244274 1.933313 0.772802 1.613083 0.347109 1.198474 -0.009249 0.816204 1.581830 0.444697 1.252833 0.100839 0.820624 1.756368 0.556323 1.425952 0.202073 1.114604 1.862430 0.795077 1.577287 0.478129 1.375476 0.190400 1.049976 -0.001037 0.879181 1.750477 0.621432 1.466044 0.413933 1.258876 0.154463 1.083320 0.023406 0.861084 1.792442 0.739423 1.747839 0.555786 1.545715 0.467356 1.398174 0.305932 1.268574 0.245015 1.132661 0.145880 1.048422 0.017779 0.982729 1.923364 0.991511 1.957307 0.987170 1.902716 0.862590 1.910349 0.888567 1.920187 0.891111 1.886256 0.901663 1.918496 0.888352 1.914645 0.897685 -0.010739 0.984051 0.045577 1.089818 0.179909 1.199148 0.242854 1.360751 0.407503 1.407270 0.484554 1.541970 0.605558 1.705736 0.805033 1.904246 0.915747 0.018600 1.130323 0.275353 1.311301 0.394011 1.535459 0.601518 1.753472 0.894346 0.028620 1.161824 0.267287 1.447242 0.509507 1.658579 0.805465 0.032994 1.137888 0.321598 1.466044 0.648028 1.757642 1.015016 0.177874 1.323344 0.563863 1.750425 0.967203 0.229423 1.447094 0.698358)
       )
 
 ;;; 1024 odd --------------------------------------------------------------------------------
-(vector 1024 52.508 (fv 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0)
+(vector 1024 52.508 #(0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0)
 
        ;; pp:
-	34.392721 (fv 0.000000 1.317015 0.674779 1.982962 1.240298 0.528350 1.833009 1.184236 0.493774 1.806145 1.182946 0.448825 1.821424 1.151757 0.480986 1.763416 1.095092 0.480961 1.791102 1.089742 0.425064 1.810482 1.139747 0.479199 1.851874 1.159831 0.593521 1.908566 1.257454 0.624639 1.923688 1.356173 0.730179 0.065917 1.453464 0.796504 0.143823 1.498311 0.930898 0.268139 1.670589 1.071439 0.437215 1.830479 1.211388 0.579275 1.944545 1.352798 0.782323 0.163213 1.546183 0.998593 0.372903 1.740779 1.173402 0.607928 1.957457 1.421061 0.794849 0.200913 1.627038 1.034849 0.443314 1.872228 1.278283 0.705912 0.120047 1.589838 1.008630 0.435503 1.873305 1.305243 0.750876 0.182690 1.613160 1.076228 0.522005 1.956954 1.342360 0.862346 0.285706 1.760264 1.217014 0.657381 0.105715 1.596004 1.072881 0.509956 1.989648 1.482549 0.909572 0.382452 1.811853 1.285963 0.790319 0.256573 1.787382 1.233231 0.764390 0.267593 1.710421 1.204241 0.717040 0.198483 1.666956 1.176156 0.629456 0.175734 1.712604 1.178350 0.682452 0.188929 1.683627 1.202732 0.719895 0.262572 1.790292 1.295239 0.795972 0.278798 1.833102 1.391719 0.903871 0.449916 1.974967 1.508707 1.037936 0.583107 0.141605 1.703044 1.238440 0.740044 0.299258 1.855225 1.429576 0.989596 0.514764 0.062488 1.647875 1.166263 0.761797 0.338506 1.886563 1.481742 1.044532 0.567257 0.147738 1.716688 1.294451 0.881968 0.450214 0.034958 1.623040 1.198786 0.793126 0.363888 1.989592 1.572534 1.171188 0.776534 0.389043 1.952235 1.569973 1.168583 0.777864 0.378289 -0.001325 1.586748 1.247726 0.850390 0.447022 0.074915 1.698680 1.326882 0.923704 0.565421 0.237083 1.853803 1.462394 1.056831 0.725010 0.363991 0.012216 1.652820 1.277504 0.885858 0.571701 0.222046 1.859385 1.459785 1.149298 0.900479 0.511390 0.159291 1.820323 1.458104 1.134095 0.799510 0.484897 0.157474 1.805324 1.476907 1.156786 0.816645 0.506771 0.217712 1.883199 1.597354 1.267437 0.968501 0.643403 0.348141 0.020835 1.704752 1.434890 1.117956 0.830415 0.530503 0.257242 1.947331 1.636892 1.333893 1.094111 0.807494 0.497231 0.208241 1.915803 1.637253 1.344506 1.123056 0.818815 0.558438 0.305779 0.033645 1.746424 1.518158 1.254602 0.968482 0.703273 0.446681 0.191633 1.923009 1.675267 1.476497 1.243700 0.963799 0.702657 0.470865 0.216712 1.947604 1.723443 1.524612 1.317633 1.059361 0.803260 0.606501 0.385543 0.151108 1.924868 1.695521 1.503299 1.281531 1.057219 0.859940 0.639048 0.449655 0.223761 0.026912 1.843647 1.609629 1.457584 1.243217 1.015301 0.856152 0.640867 0.449759 0.305372 0.109063 1.942683 1.700967 1.531585 1.369794 1.168417 1.002048 0.845104 0.663340 0.497202 0.326517 0.140599 1.976113 1.831407 1.680660 1.549301 1.318125 1.191866 1.065805 0.880646 0.703951 0.550638 0.452796 0.318542 0.141930 -0.012601 1.907136 1.768430 1.584977 1.494785 1.346262 1.172515 1.087240 0.966198 0.858840 0.703924 0.583577 0.474879 0.356476 0.197334 0.117696 0.015827 1.890727 1.784295 1.703630 1.595638 1.506189 1.428853 1.274571 1.233343 1.102367 1.018735 0.924053 0.785452 0.761105 0.689124 0.597680 0.499179 0.407270 0.343269 0.277076 0.175925 0.088491 0.032717 1.967765 1.919505 1.879027 1.804127 1.733139 1.641796 1.606538 1.554956 1.479897 1.436117 1.392760 1.340159 1.307310 1.256130 1.185964 1.154240 1.120113 1.056364 1.031418 1.011146 1.002760 0.949072 0.908672 0.908037 0.883988 0.852980 0.834564 0.819259 0.795425 0.760734 0.784982 0.783111 0.748706 0.732608 0.767981 0.770232 0.734127 0.724984 0.741588 0.719772 0.746177 0.752984 0.689077 0.730980 0.788291 0.778438 0.770103 0.834963 0.846761 0.844355 0.877284 0.886824 0.967748 0.943247 0.953145 0.998516 1.074936 1.134627 1.111633 1.183518 1.239447 1.257881 1.304163 1.349165 1.420127 1.460314 1.496520 1.556878 1.614974 1.710803 1.681591 1.773792 1.838949 1.957629 0.007509 0.060966 0.115693 0.179937 0.241468 0.370584 0.498441 0.512979 0.546150 0.672229 0.777236 0.837830 0.920719 1.012615 1.155268 1.230312 1.320616 1.421802 1.501826 1.610987 1.679360 1.836841 1.934427 0.048217 0.190841 0.256986 0.405599 0.477014 0.615469 0.744693 0.842741 1.035072 1.099483 1.194667 1.378972 1.515049 1.643373 1.758812 1.911300 0.069797 0.206668 0.341125 0.455780 0.613455 0.755668 0.907850 1.081007 1.195602 1.383308 1.535129 1.721055 1.878218 0.041536 0.189026 0.353901 0.557274 0.704028 0.848737 1.054909 1.205891 1.405592 1.560938 1.774026 1.957109 0.091600 0.275670 0.473243 0.686721 0.885668 1.094370 1.301170 1.471171 1.681947 1.843932 0.083106 0.309503 0.504329 0.657776 0.958045 1.134304 1.324317 1.567796 1.766909 -0.010677 0.204548 0.402525 0.672227 0.872133 1.100672 1.351290 1.618868 1.843408 0.075626 0.310891 0.533995 0.758681 1.049764 1.305644 1.509216 1.751579 -0.013073 0.274157 0.516916 0.787195 1.008768 1.270118 1.566936 1.844511 0.111113 0.352928 0.603624 0.891444 1.163881 1.458453 1.733841 0.023761 0.272991 0.561395 0.839977 1.118462 1.400784 1.742015 0.003935 0.343587 0.574049 0.863833 1.186411 1.499354 1.787869 0.097742 0.435769 0.722422 1.020105 1.302404 1.633505 1.971294 0.287332 0.601601 0.938262 1.263087 1.592727 1.925082 0.218290 0.545858 0.867906 1.215434 1.551258 1.932054 0.206490 0.558053 0.870542 1.249383 1.578868 1.965694 0.297948 0.669516 1.033694 1.365067 1.747836 0.132641 0.442218 0.763117 1.198426 1.557543 1.923389 0.271522 0.661990 1.014563 1.444192 1.797008 0.161991 0.524112 0.888782 1.298446 1.718909 0.076039 0.484430 0.839832 1.306121 1.668787 0.083313 0.435491 0.879913 1.257582 1.690719 0.080308 0.506436 0.891141 1.311805 1.764926 0.152722 0.559148 0.971038 1.448176 1.861615 0.252724 0.712441 1.076577 1.539614 1.971176 0.471842 0.835551 1.309070 1.717329 0.180700 0.636594 1.064174 1.544102 -0.007762 0.416278 0.869839 1.382020 1.815476 0.242696 0.711954 1.170869 1.650991 0.114702 0.570777 1.081829 1.495277 0.019284 0.487771 0.924782 1.480485 1.900085 0.404735 0.867120 1.327489 1.826631 0.358328 0.808934 1.333994 1.818046 0.333979 0.806858 1.380168 1.806454 0.359466 0.853343 1.382938 1.862803 0.340011 0.872790 1.396435 1.899417 0.442767 0.947972 1.493994 1.980445 0.529919 1.068138 1.589158 0.137689 0.663574 1.181143 1.752788 0.322938 0.820947 1.373072 1.889133 0.445963 0.992038 1.528221 0.095252 0.632298 1.198655 1.748035 0.297075 0.936319 1.444019 0.047595 0.589072 1.154608 1.695982 0.330959 0.852209 1.389811 0.077042 0.588685 1.198301 1.795185 0.391299 0.937105 1.523925 0.144908 0.714581 1.301387 1.939659 0.493164 1.107096 1.703099 0.316955 0.870409 1.501496 0.129186 0.711707 1.317045 1.978135 0.584637 1.224551 1.868953 0.442970 1.080315 1.707774 0.357018 0.974517 1.620426 0.235492 0.841352 1.521747 0.123410 0.790984 1.421592 0.064670 0.723003 1.351207 0.045603 0.693853 1.324941 1.912908 0.655177 1.230998 1.943702 0.623916 1.262813 1.966107 0.647728 1.291260 -0.014812 0.660846 1.298115 1.981874 0.677526 1.342226 0.031840 0.703622 1.442866 0.109986 0.793203 1.504134 0.206491 0.825844 1.597562 0.229750 0.978345 1.663467 0.352650 1.124308 1.766717 0.525984 1.219293 1.922574 0.634505 1.397287 0.124002 0.815463 1.541148 0.270810 0.971099 1.707596 0.437736 1.212172 1.890534 0.685239 1.396549 0.142117 0.918957 1.612171 0.353680 1.097854 1.856615 0.625689 1.360735 0.144106 0.868556 1.645077 0.371361 1.159444 1.934695 0.709026 1.444089 0.261765 0.979371 1.759253 0.586016 1.331408 0.040944 0.869861 1.656050 0.398966 1.230315 -0.011049 0.832509 1.590410 0.444043 1.224804 1.942115 0.805768 1.569036 0.391426 1.193271 0.004924 0.842160 1.602154 0.437188 1.258662 0.040043 0.863713 1.717625 0.507115 1.354811 0.156612 1.008626 1.821294 0.688919 1.479431 0.297482 1.146867 -1.810005 0.794603 1.643039 0.507902 1.394627 0.290315 1.060141 1.927240 0.768749 1.644777 0.486261 1.317365 0.218780 1.036302 1.922905 0.779349 1.630284 0.563756 1.406014 0.271501 1.141687 0.041164 0.874901 1.775827 0.668920 1.546772 0.364463 1.296432 0.170145 1.097114 1.973808 0.882000 1.792309 0.693487 1.612279 0.474678 1.407303 0.261600 1.229905 0.148970 1.031540 1.947561 0.833597 1.730941 0.706036 1.602109 0.526360 1.446317 0.373717 1.307908 0.239206 1.185883 0.110452 1.032954 1.964211 0.907562 1.815735 0.787542 1.710692 0.656401 1.632264 0.576380 1.564089 0.528884 1.469549 0.431489 1.360957 0.347473 1.293543 0.222180 1.220673 0.162142 1.148842 0.133424 1.094691 0.066720 1.019692 -0.006786 1.047790 0.011236 0.965321 -0.001627 0.937877 1.944261 0.948457 1.895707 0.938491 1.920374 0.874935 1.899449 0.872969 1.896569 0.903922 1.912216 0.936328 1.952448 0.974497 -0.020866 1.017959 0.034307 1.070969 0.074184 1.113113 0.135779 1.148879 0.214381 1.271662 0.291028 1.343329 0.357341 1.403370 0.477523 1.529396 0.455395 1.531182 0.601378 1.631083 0.711227 1.779155 0.803158 1.876551 0.904319 -0.035936 1.056817 0.081070 1.174378 0.241814 1.361054 0.443021 1.490091 0.588025 1.673301 0.764365 1.818515 0.913749 -1.572594 1.052243 0.145347 1.264925 0.396952 1.483333 0.517869 1.682100 0.797822 1.866022 0.903075 0.059188 1.174828 0.259185 1.333418 0.505568 1.549370 0.702792 1.812741 0.956324 0.074522 1.232362 0.362743 1.384904 0.593454 1.680361 0.825559 -0.014856 1.137655 0.232493 1.374902 0.524195 1.748587 0.847680 -0.019007 1.123158 0.242002 1.489181 0.571161 1.741577 0.879445 0.077203 1.250223 0.427139 1.517047 0.773877 1.934390 1.107301 0.293756 1.489154 0.668130 1.818952 0.975240 0.242147 1.451579)
+	34.392721 #(0.000000 1.317015 0.674779 1.982962 1.240298 0.528350 1.833009 1.184236 0.493774 1.806145 1.182946 0.448825 1.821424 1.151757 0.480986 1.763416 1.095092 0.480961 1.791102 1.089742 0.425064 1.810482 1.139747 0.479199 1.851874 1.159831 0.593521 1.908566 1.257454 0.624639 1.923688 1.356173 0.730179 0.065917 1.453464 0.796504 0.143823 1.498311 0.930898 0.268139 1.670589 1.071439 0.437215 1.830479 1.211388 0.579275 1.944545 1.352798 0.782323 0.163213 1.546183 0.998593 0.372903 1.740779 1.173402 0.607928 1.957457 1.421061 0.794849 0.200913 1.627038 1.034849 0.443314 1.872228 1.278283 0.705912 0.120047 1.589838 1.008630 0.435503 1.873305 1.305243 0.750876 0.182690 1.613160 1.076228 0.522005 1.956954 1.342360 0.862346 0.285706 1.760264 1.217014 0.657381 0.105715 1.596004 1.072881 0.509956 1.989648 1.482549 0.909572 0.382452 1.811853 1.285963 0.790319 0.256573 1.787382 1.233231 0.764390 0.267593 1.710421 1.204241 0.717040 0.198483 1.666956 1.176156 0.629456 0.175734 1.712604 1.178350 0.682452 0.188929 1.683627 1.202732 0.719895 0.262572 1.790292 1.295239 0.795972 0.278798 1.833102 1.391719 0.903871 0.449916 1.974967 1.508707 1.037936 0.583107 0.141605 1.703044 1.238440 0.740044 0.299258 1.855225 1.429576 0.989596 0.514764 0.062488 1.647875 1.166263 0.761797 0.338506 1.886563 1.481742 1.044532 0.567257 0.147738 1.716688 1.294451 0.881968 0.450214 0.034958 1.623040 1.198786 0.793126 0.363888 1.989592 1.572534 1.171188 0.776534 0.389043 1.952235 1.569973 1.168583 0.777864 0.378289 -0.001325 1.586748 1.247726 0.850390 0.447022 0.074915 1.698680 1.326882 0.923704 0.565421 0.237083 1.853803 1.462394 1.056831 0.725010 0.363991 0.012216 1.652820 1.277504 0.885858 0.571701 0.222046 1.859385 1.459785 1.149298 0.900479 0.511390 0.159291 1.820323 1.458104 1.134095 0.799510 0.484897 0.157474 1.805324 1.476907 1.156786 0.816645 0.506771 0.217712 1.883199 1.597354 1.267437 0.968501 0.643403 0.348141 0.020835 1.704752 1.434890 1.117956 0.830415 0.530503 0.257242 1.947331 1.636892 1.333893 1.094111 0.807494 0.497231 0.208241 1.915803 1.637253 1.344506 1.123056 0.818815 0.558438 0.305779 0.033645 1.746424 1.518158 1.254602 0.968482 0.703273 0.446681 0.191633 1.923009 1.675267 1.476497 1.243700 0.963799 0.702657 0.470865 0.216712 1.947604 1.723443 1.524612 1.317633 1.059361 0.803260 0.606501 0.385543 0.151108 1.924868 1.695521 1.503299 1.281531 1.057219 0.859940 0.639048 0.449655 0.223761 0.026912 1.843647 1.609629 1.457584 1.243217 1.015301 0.856152 0.640867 0.449759 0.305372 0.109063 1.942683 1.700967 1.531585 1.369794 1.168417 1.002048 0.845104 0.663340 0.497202 0.326517 0.140599 1.976113 1.831407 1.680660 1.549301 1.318125 1.191866 1.065805 0.880646 0.703951 0.550638 0.452796 0.318542 0.141930 -0.012601 1.907136 1.768430 1.584977 1.494785 1.346262 1.172515 1.087240 0.966198 0.858840 0.703924 0.583577 0.474879 0.356476 0.197334 0.117696 0.015827 1.890727 1.784295 1.703630 1.595638 1.506189 1.428853 1.274571 1.233343 1.102367 1.018735 0.924053 0.785452 0.761105 0.689124 0.597680 0.499179 0.407270 0.343269 0.277076 0.175925 0.088491 0.032717 1.967765 1.919505 1.879027 1.804127 1.733139 1.641796 1.606538 1.554956 1.479897 1.436117 1.392760 1.340159 1.307310 1.256130 1.185964 1.154240 1.120113 1.056364 1.031418 1.011146 1.002760 0.949072 0.908672 0.908037 0.883988 0.852980 0.834564 0.819259 0.795425 0.760734 0.784982 0.783111 0.748706 0.732608 0.767981 0.770232 0.734127 0.724984 0.741588 0.719772 0.746177 0.752984 0.689077 0.730980 0.788291 0.778438 0.770103 0.834963 0.846761 0.844355 0.877284 0.886824 0.967748 0.943247 0.953145 0.998516 1.074936 1.134627 1.111633 1.183518 1.239447 1.257881 1.304163 1.349165 1.420127 1.460314 1.496520 1.556878 1.614974 1.710803 1.681591 1.773792 1.838949 1.957629 0.007509 0.060966 0.115693 0.179937 0.241468 0.370584 0.498441 0.512979 0.546150 0.672229 0.777236 0.837830 0.920719 1.012615 1.155268 1.230312 1.320616 1.421802 1.501826 1.610987 1.679360 1.836841 1.934427 0.048217 0.190841 0.256986 0.405599 0.477014 0.615469 0.744693 0.842741 1.035072 1.099483 1.194667 1.378972 1.515049 1.643373 1.758812 1.911300 0.069797 0.206668 0.341125 0.455780 0.613455 0.755668 0.907850 1.081007 1.195602 1.383308 1.535129 1.721055 1.878218 0.041536 0.189026 0.353901 0.557274 0.704028 0.848737 1.054909 1.205891 1.405592 1.560938 1.774026 1.957109 0.091600 0.275670 0.473243 0.686721 0.885668 1.094370 1.301170 1.471171 1.681947 1.843932 0.083106 0.309503 0.504329 0.657776 0.958045 1.134304 1.324317 1.567796 1.766909 -0.010677 0.204548 0.402525 0.672227 0.872133 1.100672 1.351290 1.618868 1.843408 0.075626 0.310891 0.533995 0.758681 1.049764 1.305644 1.509216 1.751579 -0.013073 0.274157 0.516916 0.787195 1.008768 1.270118 1.566936 1.844511 0.111113 0.352928 0.603624 0.891444 1.163881 1.458453 1.733841 0.023761 0.272991 0.561395 0.839977 1.118462 1.400784 1.742015 0.003935 0.343587 0.574049 0.863833 1.186411 1.499354 1.787869 0.097742 0.435769 0.722422 1.020105 1.302404 1.633505 1.971294 0.287332 0.601601 0.938262 1.263087 1.592727 1.925082 0.218290 0.545858 0.867906 1.215434 1.551258 1.932054 0.206490 0.558053 0.870542 1.249383 1.578868 1.965694 0.297948 0.669516 1.033694 1.365067 1.747836 0.132641 0.442218 0.763117 1.198426 1.557543 1.923389 0.271522 0.661990 1.014563 1.444192 1.797008 0.161991 0.524112 0.888782 1.298446 1.718909 0.076039 0.484430 0.839832 1.306121 1.668787 0.083313 0.435491 0.879913 1.257582 1.690719 0.080308 0.506436 0.891141 1.311805 1.764926 0.152722 0.559148 0.971038 1.448176 1.861615 0.252724 0.712441 1.076577 1.539614 1.971176 0.471842 0.835551 1.309070 1.717329 0.180700 0.636594 1.064174 1.544102 -0.007762 0.416278 0.869839 1.382020 1.815476 0.242696 0.711954 1.170869 1.650991 0.114702 0.570777 1.081829 1.495277 0.019284 0.487771 0.924782 1.480485 1.900085 0.404735 0.867120 1.327489 1.826631 0.358328 0.808934 1.333994 1.818046 0.333979 0.806858 1.380168 1.806454 0.359466 0.853343 1.382938 1.862803 0.340011 0.872790 1.396435 1.899417 0.442767 0.947972 1.493994 1.980445 0.529919 1.068138 1.589158 0.137689 0.663574 1.181143 1.752788 0.322938 0.820947 1.373072 1.889133 0.445963 0.992038 1.528221 0.095252 0.632298 1.198655 1.748035 0.297075 0.936319 1.444019 0.047595 0.589072 1.154608 1.695982 0.330959 0.852209 1.389811 0.077042 0.588685 1.198301 1.795185 0.391299 0.937105 1.523925 0.144908 0.714581 1.301387 1.939659 0.493164 1.107096 1.703099 0.316955 0.870409 1.501496 0.129186 0.711707 1.317045 1.978135 0.584637 1.224551 1.868953 0.442970 1.080315 1.707774 0.357018 0.974517 1.620426 0.235492 0.841352 1.521747 0.123410 0.790984 1.421592 0.064670 0.723003 1.351207 0.045603 0.693853 1.324941 1.912908 0.655177 1.230998 1.943702 0.623916 1.262813 1.966107 0.647728 1.291260 -0.014812 0.660846 1.298115 1.981874 0.677526 1.342226 0.031840 0.703622 1.442866 0.109986 0.793203 1.504134 0.206491 0.825844 1.597562 0.229750 0.978345 1.663467 0.352650 1.124308 1.766717 0.525984 1.219293 1.922574 0.634505 1.397287 0.124002 0.815463 1.541148 0.270810 0.971099 1.707596 0.437736 1.212172 1.890534 0.685239 1.396549 0.142117 0.918957 1.612171 0.353680 1.097854 1.856615 0.625689 1.360735 0.144106 0.868556 1.645077 0.371361 1.159444 1.934695 0.709026 1.444089 0.261765 0.979371 1.759253 0.586016 1.331408 0.040944 0.869861 1.656050 0.398966 1.230315 -0.011049 0.832509 1.590410 0.444043 1.224804 1.942115 0.805768 1.569036 0.391426 1.193271 0.004924 0.842160 1.602154 0.437188 1.258662 0.040043 0.863713 1.717625 0.507115 1.354811 0.156612 1.008626 1.821294 0.688919 1.479431 0.297482 1.146867 -1.810005 0.794603 1.643039 0.507902 1.394627 0.290315 1.060141 1.927240 0.768749 1.644777 0.486261 1.317365 0.218780 1.036302 1.922905 0.779349 1.630284 0.563756 1.406014 0.271501 1.141687 0.041164 0.874901 1.775827 0.668920 1.546772 0.364463 1.296432 0.170145 1.097114 1.973808 0.882000 1.792309 0.693487 1.612279 0.474678 1.407303 0.261600 1.229905 0.148970 1.031540 1.947561 0.833597 1.730941 0.706036 1.602109 0.526360 1.446317 0.373717 1.307908 0.239206 1.185883 0.110452 1.032954 1.964211 0.907562 1.815735 0.787542 1.710692 0.656401 1.632264 0.576380 1.564089 0.528884 1.469549 0.431489 1.360957 0.347473 1.293543 0.222180 1.220673 0.162142 1.148842 0.133424 1.094691 0.066720 1.019692 -0.006786 1.047790 0.011236 0.965321 -0.001627 0.937877 1.944261 0.948457 1.895707 0.938491 1.920374 0.874935 1.899449 0.872969 1.896569 0.903922 1.912216 0.936328 1.952448 0.974497 -0.020866 1.017959 0.034307 1.070969 0.074184 1.113113 0.135779 1.148879 0.214381 1.271662 0.291028 1.343329 0.357341 1.403370 0.477523 1.529396 0.455395 1.531182 0.601378 1.631083 0.711227 1.779155 0.803158 1.876551 0.904319 -0.035936 1.056817 0.081070 1.174378 0.241814 1.361054 0.443021 1.490091 0.588025 1.673301 0.764365 1.818515 0.913749 -1.572594 1.052243 0.145347 1.264925 0.396952 1.483333 0.517869 1.682100 0.797822 1.866022 0.903075 0.059188 1.174828 0.259185 1.333418 0.505568 1.549370 0.702792 1.812741 0.956324 0.074522 1.232362 0.362743 1.384904 0.593454 1.680361 0.825559 -0.014856 1.137655 0.232493 1.374902 0.524195 1.748587 0.847680 -0.019007 1.123158 0.242002 1.489181 0.571161 1.741577 0.879445 0.077203 1.250223 0.427139 1.517047 0.773877 1.934390 1.107301 0.293756 1.489154 0.668130 1.818952 0.975240 0.242147 1.451579)
        ) 
 
 ;;; 2048 odd --------------------------------------------------------------------------------
-(vector 2048 83.108 (fv 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0)
+(vector 2048 83.108 #(0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0)
 
        ;; pp:
-	49.287435 (fv 0.000000 1.163050 0.277646 1.373554 0.532725 1.655947 0.820565 1.927219 1.072745 0.213781 1.356870 0.485766 1.631061 0.742006 1.904473 1.072791 0.168162 1.327500 0.482508 1.618303 0.771705 1.904773 1.075185 0.215222 1.331659 0.505811 1.654486 0.806874 1.967453 1.148945 0.298519 1.468811 0.620677 1.776228 0.916764 0.084037 1.276979 0.394330 1.564305 0.749970 1.921810 1.121962 0.283495 1.432158 0.569765 1.736470 0.945747 0.080800 1.281360 0.443507 1.625343 0.807138 1.931288 1.158701 0.321739 1.530411 0.700718 1.890240 1.080826 0.244264 1.426463 0.600267 1.774421 0.956059 0.179462 1.370744 0.545050 1.731587 0.953856 0.145408 1.309295 0.511421 1.720420 0.940468 0.138677 1.323833 0.526937 1.717512 0.960485 0.118979 1.328593 0.512297 1.743197 0.943001 0.142257 1.379625 0.549098 1.794241 0.979771 0.180869 1.419130 0.639674 1.850039 1.057471 0.290050 1.461420 0.718417 1.916269 1.159248 0.376289 1.563835 0.838106 0.037452 1.264868 0.508203 1.717190 0.935903 0.151060 1.445292 0.635249 1.867259 1.091222 0.317894 1.534564 0.808426 0.018427 1.266394 0.501751 1.761251 0.969688 0.237229 1.447668 0.716233 1.967410 1.198658 0.437002 1.692103 0.935631 0.200934 1.451676 0.665324 1.935418 1.194689 0.438772 1.699157 0.941183 0.203098 1.450490 0.729357 1.974455 1.213355 0.514075 1.770795 1.016076 0.295868 1.541971 0.834628 0.084952 1.374773 0.619458 1.894143 1.155880 0.407649 1.664716 0.945886 0.261286 1.509195 0.790733 0.047158 1.339941 0.639173 1.891712 1.178155 0.440268 1.738740 1.006239 0.332871 1.560537 0.905839 0.183339 1.475973 0.742124 0.065572 1.351730 0.625747 1.922985 1.191379 0.495991 1.756410 1.042066 0.381601 1.688479 0.992449 0.276849 1.595880 0.892119 0.200958 1.480411 0.818652 0.063966 1.413208 0.715156 0.060494 1.306176 0.640302 1.933579 1.251340 0.581804 1.880299 1.222695 0.508151 1.829141 1.161265 0.457492 1.752607 1.117371 0.435825 1.739733 1.091313 0.385593 1.723501 1.053105 0.375468 1.675086 1.049746 0.382492 1.691106 1.002188 0.342988 1.668975 1.033939 0.350582 1.709840 1.039364 0.383857 1.699746 1.051825 0.373545 1.743567 1.077799 0.434091 1.756970 1.053381 0.443137 1.778145 1.141987 0.502378 1.868431 1.182592 0.530883 1.877105 1.221950 0.588162 -0.002020 1.300304 0.652550 0.036320 1.381929 0.759328 0.108443 1.476502 0.816837 0.213269 1.571344 0.932844 0.309569 1.662539 1.059667 0.419312 1.755499 1.147048 0.543079 1.922420 1.264945 0.657934 0.013132 1.401680 0.801987 0.158358 1.552678 0.920579 0.315474 1.699024 1.059115 0.446156 1.851458 1.209975 0.614230 1.975779 1.374097 0.796121 0.175298 1.591247 0.945333 0.354628 1.747078 1.154595 0.559485 1.967019 1.333396 0.720565 0.122103 1.526595 0.940456 0.327202 1.755683 1.117391 0.561694 1.958381 1.361193 0.803458 0.184110 1.616629 1.006925 0.442089 1.829688 1.261188 0.655027 0.090202 1.509923 0.945564 0.313543 1.753214 1.130948 0.568508 0.031964 1.450068 0.852461 0.283077 1.729985 1.127584 0.580935 -0.001861 1.435678 0.878175 0.293173 1.719785 1.184765 0.606034 0.040632 1.478744 0.942562 0.348499 1.801185 1.227587 0.696736 0.112509 1.564761 0.997649 0.448218 1.895579 1.324465 0.786873 0.273294 1.679282 1.152398 0.603084 0.027394 1.495848 0.964252 0.380193 1.852378 1.306385 0.788058 0.249156 1.687499 1.121997 0.611298 0.090174 1.559009 0.973272 0.464823 1.921940 1.378762 0.867253 0.345833 1.810423 1.301030 0.744928 0.252599 1.735986 1.205901 0.677471 0.145109 1.614381 1.080917 0.586366 0.083099 1.542748 1.001440 0.520731 0.003110 1.438773 0.930269 0.427623 1.972229 1.416238 0.940471 0.422555 1.905093 1.411628 0.878267 0.378282 1.870882 1.386240 0.872844 0.369185 1.888119 1.372843 0.868051 0.364903 1.849288 1.377695 0.870674 0.392638 1.894252 1.393508 0.953494 0.447692 1.964212 1.461256 0.958900 0.491909 0.001252 1.522315 1.032375 0.545182 0.047665 1.604571 1.102550 0.587351 0.146687 1.653910 1.193132 0.725831 0.238418 1.753114 1.296242 0.838033 0.349570 1.877468 1.384694 0.938419 0.481820 0.045217 1.557648 1.099375 0.609911 0.138825 1.670480 1.217161 0.761162 0.340569 1.849982 1.398484 0.929634 0.476983 0.033188 1.587225 1.150229 0.660516 0.218545 1.773455 1.321194 0.875537 0.412455 1.975569 1.556914 1.085507 0.655478 0.222974 1.781550 1.346518 0.898635 0.461489 0.030688 1.577108 1.128616 0.706201 0.284734 1.848941 1.423074 1.012127 0.550319 0.127044 1.684664 1.271718 0.847352 0.414193 1.990134 1.521095 1.136567 0.750291 0.337126 1.862249 1.460431 1.049297 0.669842 0.216907 1.819953 1.412426 0.984992 0.572590 0.137306 1.767447 1.330047 0.905950 0.512494 0.103808 1.706053 1.292143 0.937524 0.519078 0.097820 1.712597 1.292745 0.903437 0.500926 0.107737 1.719337 1.308083 0.905177 0.496968 0.133013 1.759477 1.355972 0.957870 0.560591 0.197890 1.801611 1.398075 1.020267 0.618113 0.240199 1.874548 1.486894 1.113092 0.726528 0.377432 1.957833 1.606621 1.229674 0.862702 0.506555 0.105441 1.735997 1.326469 0.994534 0.620808 0.244606 1.879074 1.511642 1.143326 0.775799 0.401368 0.075791 1.702891 1.377919 1.004500 0.619170 0.276148 1.905577 1.568310 1.206071 0.869241 0.512412 0.122276 1.822305 1.441374 1.069500 0.718082 0.389240 0.063602 1.687756 1.378724 0.999805 0.650714 0.332978 1.980285 1.636670 1.301261 0.946200 0.636798 0.314748 1.971775 1.637355 1.287360 0.964448 0.629994 0.298934 1.960682 1.641690 1.343792 1.003153 0.675512 0.317256 0.019972 1.693194 1.366188 1.021532 0.736417 0.404438 0.047067 1.755472 1.430810 1.127679 0.827156 0.504993 0.204999 1.869602 1.559982 1.266750 0.972466 0.612460 0.337579 0.023582 1.728936 1.434699 1.106015 0.784009 0.538390 0.203285 1.928266 1.597064 1.317846 1.015077 0.718614 0.443946 0.127570 1.807078 1.525053 1.247182 0.954079 0.675954 0.383769 0.077633 1.801620 1.532606 1.255462 0.983867 0.644793 0.353207 0.086592 1.828378 1.554513 1.293246 0.994370 0.712475 0.454107 0.144932 1.895728 1.591466 1.368095 1.085410 0.814684 0.542596 0.266934 0.005277 1.745816 1.477185 1.204917 0.948437 0.678999 0.410227 0.182102 1.882179 1.612229 1.401104 1.147230 0.888055 0.606492 0.343709 0.087358 1.853764 1.632545 1.312124 1.126022 0.888426 0.609422 0.346571 0.088432 1.864069 1.624618 1.413636 1.129791 0.907899 0.664305 0.453125 0.192741 1.939732 1.724665 1.446730 1.208735 1.009088 0.791036 0.553547 0.269865 0.050008 1.869993 1.607891 1.398702 1.178112 0.955620 0.721846 0.505763 0.260159 0.071405 1.830854 1.568352 1.366891 1.174316 0.942949 0.745228 0.526140 0.332456 0.118352 1.885916 1.701433 1.472261 1.239299 1.044248 0.831700 0.625882 0.454237 0.215857 0.017252 1.819254 1.615407 1.449492 1.196228 0.982253 0.820818 0.604584 0.442977 0.216483 0.024304 1.829511 1.646493 1.443177 1.275320 1.091080 0.881819 0.729119 0.498708 0.327643 0.166437 1.958363 1.799653 1.588527 1.414994 1.260561 1.019025 0.883661 0.702271 0.505868 0.333038 0.161804 1.992906 1.833629 1.635304 1.475105 1.312466 1.145459 0.986121 0.827858 0.611131 0.477466 0.312332 0.162403 1.993033 1.816815 1.647505 1.499793 1.348955 1.165690 1.035882 0.893667 0.723295 0.585232 0.422874 0.271934 0.113531 1.952972 1.802172 1.650708 1.483461 1.343486 1.218552 1.084842 0.927073 0.776245 0.635502 0.458305 0.373982 0.258566 0.082490 1.916515 1.785127 1.662029 1.542014 1.401296 1.288328 1.126154 1.007559 0.889400 0.744625 0.632843 0.508419 0.378037 0.200669 0.085018 0.008202 1.848031 1.734169 1.614621 1.493930 1.370837 1.302166 1.164868 1.024290 0.930883 0.834625 0.701624 0.606512 0.466962 0.388720 0.279406 0.140918 0.032687 1.927348 1.811775 1.710266 1.620460 1.492805 1.381998 1.317908 1.197423 1.122147 0.998133 0.894736 0.822100 0.734668 0.601331 0.525309 0.427892 0.326892 0.282159 0.156951 0.069505 1.983007 1.895744 1.832368 1.741307 1.671465 1.579508 1.479397 1.407456 1.341307 1.292493 1.172022 1.054844 1.025425 0.938514 0.866058 0.788578 0.719667 0.627909 0.568933 0.499665 0.417215 0.362650 0.295768 0.225056 0.146637 0.113130 0.045846 1.971304 1.915101 1.840250 1.815002 1.742119 1.655607 1.609235 1.549662 1.484722 1.419617 1.408714 1.318908 1.280672 1.236078 1.178979 1.119651 1.066519 1.044417 1.008080 0.950081 0.924323 0.862134 0.835117 0.809024 0.773528 0.699906 0.685111 0.616527 0.592797 0.532897 0.500140 0.456585 0.437938 0.409107 0.390095 0.358332 0.312446 0.308676 0.240543 0.209907 0.216831 0.210411 0.161769 0.125653 0.125949 0.116670 0.080163 0.075626 0.045297 0.004806 -0.000881 0.026299 1.965793 1.933605 1.942786 1.944348 1.952614 1.952589 1.927103 1.902751 1.909232 1.908039 1.900517 1.879669 1.891581 1.879298 1.891872 1.877416 1.870643 1.886309 1.944953 1.916353 1.939154 1.880988 1.904419 1.908941 1.910254 1.932089 1.969282 1.952058 1.945000 1.980171 0.011419 0.039090 0.041500 0.047816 0.085029 0.081559 0.110170 0.137541 0.124670 0.182784 0.191545 0.201628 0.268114 0.278620 0.284381 0.311542 0.326223 0.361901 0.375616 0.463339 0.474532 0.486778 0.532068 0.571238 0.610468 0.633708 0.681958 0.718256 0.773051 0.824140 0.873293 0.876610 0.910965 0.966901 1.003523 1.070562 1.122780 1.175620 1.208791 1.265780 1.302068 1.370182 1.451044 1.483311 1.520585 1.580432 1.644102 1.730843 1.770789 1.797830 1.879017 1.937891 0.019856 0.060042 0.124553 0.170564 0.216811 0.336571 0.366439 0.419283 0.547803 0.615076 0.686756 0.743054 0.808192 0.868812 0.967965 1.030425 1.105495 1.195851 1.276820 1.343432 1.439087 1.529664 1.600300 1.698173 1.760479 1.837558 1.924128 0.038094 0.120241 0.214007 0.317951 0.407855 0.504676 0.570855 0.654240 0.764928 0.855805 0.954502 1.051709 1.155105 1.262197 1.344793 1.435407 1.543123 1.670772 1.770468 1.865799 1.988288 0.099499 0.209570 0.297997 0.416558 0.512994 0.646099 0.763826 0.829292 0.972586 1.100975 1.192463 1.318284 1.435661 1.552010 1.667446 1.796953 1.895828 0.041405 0.168834 0.302036 0.399196 0.525607 0.643567 0.817912 0.935908 1.049011 1.178889 1.349363 1.470533 1.565826 1.734269 1.896736 0.005501 0.133187 0.267100 0.426661 0.580310 0.701157 0.855104 0.989792 1.134964 1.281741 1.433081 1.557022 1.743754 1.844434 0.034007 0.156833 0.323091 0.480395 0.650146 0.794963 0.940476 1.107393 1.252731 1.423226 1.591762 1.737804 1.887833 0.066146 0.199816 0.395900 0.573298 0.691305 0.879701 1.072741 1.236826 1.402627 1.563880 1.718916 1.915062 0.045140 0.237581 0.438738 0.580798 0.784617 0.966030 1.127512 1.284041 1.500016 1.652029 1.856424 0.063337 0.220388 0.388642 0.607545 0.805909 0.974538 1.152853 1.362173 1.532955 1.747946 1.927504 0.137055 0.324156 0.511474 0.727234 0.929245 1.096943 1.311277 1.529510 1.717204 1.929354 0.136096 0.316537 0.493748 0.725549 0.936978 1.151687 1.364715 1.550641 1.788754 1.967369 0.214151 0.411319 0.596806 0.843522 1.075423 1.273303 1.508848 1.709102 1.926626 0.164669 0.367063 0.581444 0.843645 1.064477 1.297447 1.488808 1.750805 1.965800 0.201438 0.416395 0.646546 0.890452 1.084015 1.348861 1.594443 1.818075 0.050802 0.296115 0.523258 0.792692 1.017642 1.273538 1.482331 1.728422 1.963843 0.219496 0.485923 0.690905 0.954474 1.220165 1.432291 1.730053 1.984033 0.222784 0.506499 0.721622 1.020753 1.264124 1.484071 1.737442 0.008877 0.293763 0.536176 0.800572 1.062039 1.344801 1.603165 1.888281 0.130074 0.414558 0.656092 0.938783 1.204182 1.472600 1.715585 0.025355 0.292603 0.583538 0.845516 1.127921 1.372150 1.695546 1.966468 0.221543 0.530377 0.793558 1.098411 1.356632 1.654543 1.955535 0.215710 0.523709 0.795967 1.100511 1.400246 1.690427 1.972022 0.266207 0.566998 0.873330 1.145759 1.473687 1.732502 0.041309 0.361298 0.681781 0.985976 1.233662 1.568222 1.842062 0.150190 0.511624 0.781348 1.087933 1.430677 1.711532 0.035866 0.350229 0.682226 0.921244 1.280371 1.577240 1.931037 0.233182 0.556380 0.877749 1.201053 1.529754 1.819573 0.176157 0.513656 0.816790 1.153452 1.451900 1.807514 0.113756 0.472986 0.806765 1.112493 1.445282 1.798965 0.093781 0.440000 0.772831 1.149981 1.498818 1.820883 0.161426 0.511652 0.813634 1.170367 1.539558 1.880179 0.197605 0.545597 0.908196 1.248869 1.624027 1.993151 0.291418 0.679658 1.035077 1.372909 1.711740 0.072351 0.454139 0.769060 1.133182 1.524037 1.903171 0.230092 0.617044 0.952001 1.338296 1.713107 0.075994 0.443935 0.779891 1.161968 1.532485 1.934216 0.232916 0.643695 1.033693 1.388978 1.763418 0.158282 0.531564 0.923030 1.280607 1.680049 0.033058 0.432091 0.830342 1.225022 1.574525 1.980673 0.372020 0.765894 1.154297 1.543700 1.929241 0.336874 0.704501 1.078420 1.502864 1.874394 0.278411 0.673779 1.082558 1.485362 1.892655 0.272103 0.679143 1.126508 1.483018 1.858194 0.311886 0.706336 1.119689 1.515117 1.930234 0.352607 0.728958 1.180615 1.582674 -0.011458 0.382422 0.817149 1.225669 1.663555 0.072122 0.522136 0.931979 1.334156 1.759365 0.194206 0.619361 1.047129 1.473102 1.908252 0.351516 0.772083 1.179926 1.644483 0.044574 0.475749 0.917446 1.334503 1.758597 0.228962 0.656066 1.131261 1.531736 1.952420 0.415411 0.858312 1.294649 1.758848 0.189426 0.612886 1.083380 1.497505 1.985693 0.443336 0.886511 1.331150 1.813863 0.233070 0.676790 1.130099 1.603581 0.055302 0.540261 0.998997 1.449019 1.920455 0.358725 0.844856 1.264985 1.778111 0.235398 0.686816 1.158649 1.610447 0.090461 0.550418 1.066038 1.507364 1.994625 0.420151 0.944881 1.409278 1.887639 0.359391 0.848416 1.314772 1.770668 0.248792 0.760921 1.244402 1.756852 0.252652 0.703484 1.163404 1.654408 0.164679 0.655036 1.142941 1.625021 0.133904 0.622543 1.126263 1.630291 0.123546 0.625620 1.093073 1.619368 0.102469 0.606535 1.087101 1.587765 0.099897 0.628994 1.136702 1.620371 0.161959 0.636159 1.142893 1.681191 0.151857 0.677434 1.211596 1.703772 0.227926 0.771686 1.266146 1.802804 0.317100 0.816843 1.330334 1.861595 0.386103 0.907612 1.408022 1.955543 0.472098 0.989797 1.544380 0.060134 0.607569 1.120958 1.622179 0.202636 0.754702 1.259644 1.800413 0.355305 0.852467 1.427250 1.936931 0.476054 1.030783 1.560498 0.106947 0.646657 1.237864 1.760957 0.297533 0.839061 1.392090 1.981467 0.509204 1.041723 1.622010 0.107363 0.685230 1.282738 1.821548 0.392932 0.943170 1.514801 0.035058 0.608491 1.175191 1.746330 0.299139 0.879938 1.445070 -0.001787 0.554868 1.132782 1.683410 0.273212 0.846311 1.408423 0.003830 0.577097 1.115510 1.694824 0.296676 0.868917 1.443750 0.022513 0.593863 1.183583 1.773899 0.348573 0.938190 1.535508 0.069825 0.715089 1.266797 1.883415 0.452363 1.042844 1.630007 0.194710 0.822770 1.421686 0.006472 0.621176 1.225177 1.804178 0.408934 1.002193 1.614950 0.209691 0.797600 1.413215 0.043022 0.605270 1.230426 1.842139 0.430016 1.071181 1.656314 0.292321 0.899593 1.524578 0.123367 0.722937 1.338216 1.965637 0.591781 1.216201 1.814694 0.429343 1.061910 1.690552 0.337918 0.935448 1.583594 0.173086 0.798338 1.428447 0.077432 0.684896 1.325474 1.963397 0.593516 1.253180 1.853700 0.531347 1.151683 1.746520 0.425377 1.027823 1.699093 0.333177 0.972850 1.609902 0.254362 0.906653 1.526954 0.225847 0.835769 1.466855 0.149601 0.794755 1.472543 0.118131 0.734656 1.404030 0.060242 0.727045 1.340500 0.029564 0.718625 1.343988 -0.004346 0.685714 1.342591 1.966238 0.667503 1.349852 -0.002971 0.703210 1.357155 0.009465 0.670856 1.356398 0.013330 0.698167 1.342918 0.045357 0.716155 1.383634 0.066321 0.749850 1.425646 0.130825 0.789828 1.468799 0.124200 0.833100 1.513466 0.184968 0.911501 1.594174 0.253162 0.976866 1.658160 0.318972 1.008058 1.691692 0.429447 1.114864 1.830218 0.507740 1.192600 1.907363 0.627089 1.308050 -0.023869 0.692513 1.415262 0.119283 0.836039 1.521751 0.244980 0.952758 1.642834 0.365258 1.090581 1.783116 0.502517 1.253315 1.907048 0.640444 1.381762 0.084253 0.818390 1.500682 0.258511 0.959052 1.666093 0.436675 1.168622 1.860895 0.574076 1.283511 0.009657 0.798719 1.538205 0.214051 0.952450 1.698753 0.447784 1.186388 1.858247 0.626974 1.347987 0.102119 0.855522 1.567443 0.343708 1.048347 1.808415 0.563378 1.317260 0.037027 0.798248 1.543255 0.284540 1.038822 1.782415 0.536310 1.274786 0.033989 0.801778 1.518276 0.287239 1.093224 1.832048 0.574059 1.361341 0.088951 0.857131 1.626231 0.399419 1.160410 1.908691 0.691937 1.400996 0.198198 1.010876 1.783108 0.552378 1.321187 0.069810 0.822885 1.649640 0.398546 1.161881 1.992740 0.718709 1.494106 0.274327 1.069239 1.874949 0.654740 1.412139 0.213263 1.030112 1.748596 0.568168 1.374868 0.155842 0.909714 1.739498 0.532008 1.295260 0.100142 0.892104 1.684374 0.494276 1.299126 0.082168 0.868839 1.674733 0.523178 1.308308 0.060301 0.901403 1.723633 0.527144 1.315281 0.095071 0.928769 1.769688 0.546110 1.365559 0.165197 0.991664 1.800022 0.649448 1.439023 0.280113 1.099551 1.892902 0.728472 1.558461 0.355122 1.155267 0.036651 0.803555 1.642245 0.486101 1.329471 0.153373 0.982109 1.814973 0.657477 1.472081 0.306013 1.138804 1.982639 0.806632 1.637032 0.492622 1.340692 0.166678 0.988021 1.860739 0.705110 1.541783 0.378007 1.213916 0.031456 0.923334 1.732364 0.624150 1.479737 0.314949 1.150499 0.017070 0.859860 1.709562 0.576208 1.451144 0.288172 1.156845 0.018462 0.888828 1.738856 0.600882 1.451392 0.305358 1.162471 0.071454 0.893471 1.790525 0.655173 1.527197 0.387534 1.299810 0.149548 1.016876 1.901076 0.773925 1.669962 0.533885 1.422131 0.264889 1.162826 0.053904 0.925273 1.783822 0.699297 1.593338 0.446127 1.329094 0.254005 1.148241 0.039106 0.936392 1.775754 0.686922 1.585294 0.459409 1.358560 0.246673 1.169932 0.062721 0.983726 1.860184 0.765327 1.652246 0.576169 1.499099 0.384989 1.260554 0.200648 1.126723 -0.014215 0.905397 1.801886 0.753345 1.641865 0.558767 1.467752 0.368838 1.294027 0.198410 1.090981 0.052952 0.991699 1.874409 0.806543 1.749760 0.655559 1.568484 0.520862 1.412201 0.366118 1.291778 0.238178 1.186893 0.061166 0.989290 1.973099 0.910404 1.832384 0.729437 1.723776 0.611997 1.559408 0.503451 1.415081 0.384261 1.301727 0.266130 1.222404 0.110539 1.064083 0.035684 0.943491 1.931964 0.862767 1.795698 0.762421 1.744397 0.666272 1.629091 0.597084 1.552001 0.500765 1.485981 0.446479 1.384691 0.357775 1.317093 0.302197 1.238922 0.194762 1.180556 0.151639 1.104156 0.074275 1.063876 0.008701 0.973523 1.931938 0.929619 1.899785 0.841696 1.876181 0.845013 1.791292 0.775116 1.753572 0.692830 1.726733 0.701663 1.665288 0.631802 1.649201 0.617241 1.594365 0.594942 1.588591 0.590950 1.543461 0.545092 1.544258 0.510400 1.542625 0.487864 1.489414 0.513606 1.491923 0.493471 1.497027 0.496715 1.533646 0.485406 1.488094 0.496820 1.543844 0.524720 1.515833 0.565220 1.558524 0.600489 1.612307 0.598486 1.630142 0.583528 1.626331 0.601297 1.642574 0.701670 1.674391 0.711291 1.729818 0.761143 1.763746 0.824000 1.826874 0.860664 1.866172 0.942874 1.940443 0.980274 -0.790948 1.041163 0.048939 1.113624 0.095128 1.190982 0.189672 1.265115 0.274570 1.325492 0.374151 1.447798)
+	49.287435 #(0.000000 1.163050 0.277646 1.373554 0.532725 1.655947 0.820565 1.927219 1.072745 0.213781 1.356870 0.485766 1.631061 0.742006 1.904473 1.072791 0.168162 1.327500 0.482508 1.618303 0.771705 1.904773 1.075185 0.215222 1.331659 0.505811 1.654486 0.806874 1.967453 1.148945 0.298519 1.468811 0.620677 1.776228 0.916764 0.084037 1.276979 0.394330 1.564305 0.749970 1.921810 1.121962 0.283495 1.432158 0.569765 1.736470 0.945747 0.080800 1.281360 0.443507 1.625343 0.807138 1.931288 1.158701 0.321739 1.530411 0.700718 1.890240 1.080826 0.244264 1.426463 0.600267 1.774421 0.956059 0.179462 1.370744 0.545050 1.731587 0.953856 0.145408 1.309295 0.511421 1.720420 0.940468 0.138677 1.323833 0.526937 1.717512 0.960485 0.118979 1.328593 0.512297 1.743197 0.943001 0.142257 1.379625 0.549098 1.794241 0.979771 0.180869 1.419130 0.639674 1.850039 1.057471 0.290050 1.461420 0.718417 1.916269 1.159248 0.376289 1.563835 0.838106 0.037452 1.264868 0.508203 1.717190 0.935903 0.151060 1.445292 0.635249 1.867259 1.091222 0.317894 1.534564 0.808426 0.018427 1.266394 0.501751 1.761251 0.969688 0.237229 1.447668 0.716233 1.967410 1.198658 0.437002 1.692103 0.935631 0.200934 1.451676 0.665324 1.935418 1.194689 0.438772 1.699157 0.941183 0.203098 1.450490 0.729357 1.974455 1.213355 0.514075 1.770795 1.016076 0.295868 1.541971 0.834628 0.084952 1.374773 0.619458 1.894143 1.155880 0.407649 1.664716 0.945886 0.261286 1.509195 0.790733 0.047158 1.339941 0.639173 1.891712 1.178155 0.440268 1.738740 1.006239 0.332871 1.560537 0.905839 0.183339 1.475973 0.742124 0.065572 1.351730 0.625747 1.922985 1.191379 0.495991 1.756410 1.042066 0.381601 1.688479 0.992449 0.276849 1.595880 0.892119 0.200958 1.480411 0.818652 0.063966 1.413208 0.715156 0.060494 1.306176 0.640302 1.933579 1.251340 0.581804 1.880299 1.222695 0.508151 1.829141 1.161265 0.457492 1.752607 1.117371 0.435825 1.739733 1.091313 0.385593 1.723501 1.053105 0.375468 1.675086 1.049746 0.382492 1.691106 1.002188 0.342988 1.668975 1.033939 0.350582 1.709840 1.039364 0.383857 1.699746 1.051825 0.373545 1.743567 1.077799 0.434091 1.756970 1.053381 0.443137 1.778145 1.141987 0.502378 1.868431 1.182592 0.530883 1.877105 1.221950 0.588162 -0.002020 1.300304 0.652550 0.036320 1.381929 0.759328 0.108443 1.476502 0.816837 0.213269 1.571344 0.932844 0.309569 1.662539 1.059667 0.419312 1.755499 1.147048 0.543079 1.922420 1.264945 0.657934 0.013132 1.401680 0.801987 0.158358 1.552678 0.920579 0.315474 1.699024 1.059115 0.446156 1.851458 1.209975 0.614230 1.975779 1.374097 0.796121 0.175298 1.591247 0.945333 0.354628 1.747078 1.154595 0.559485 1.967019 1.333396 0.720565 0.122103 1.526595 0.940456 0.327202 1.755683 1.117391 0.561694 1.958381 1.361193 0.803458 0.184110 1.616629 1.006925 0.442089 1.829688 1.261188 0.655027 0.090202 1.509923 0.945564 0.313543 1.753214 1.130948 0.568508 0.031964 1.450068 0.852461 0.283077 1.729985 1.127584 0.580935 -0.001861 1.435678 0.878175 0.293173 1.719785 1.184765 0.606034 0.040632 1.478744 0.942562 0.348499 1.801185 1.227587 0.696736 0.112509 1.564761 0.997649 0.448218 1.895579 1.324465 0.786873 0.273294 1.679282 1.152398 0.603084 0.027394 1.495848 0.964252 0.380193 1.852378 1.306385 0.788058 0.249156 1.687499 1.121997 0.611298 0.090174 1.559009 0.973272 0.464823 1.921940 1.378762 0.867253 0.345833 1.810423 1.301030 0.744928 0.252599 1.735986 1.205901 0.677471 0.145109 1.614381 1.080917 0.586366 0.083099 1.542748 1.001440 0.520731 0.003110 1.438773 0.930269 0.427623 1.972229 1.416238 0.940471 0.422555 1.905093 1.411628 0.878267 0.378282 1.870882 1.386240 0.872844 0.369185 1.888119 1.372843 0.868051 0.364903 1.849288 1.377695 0.870674 0.392638 1.894252 1.393508 0.953494 0.447692 1.964212 1.461256 0.958900 0.491909 0.001252 1.522315 1.032375 0.545182 0.047665 1.604571 1.102550 0.587351 0.146687 1.653910 1.193132 0.725831 0.238418 1.753114 1.296242 0.838033 0.349570 1.877468 1.384694 0.938419 0.481820 0.045217 1.557648 1.099375 0.609911 0.138825 1.670480 1.217161 0.761162 0.340569 1.849982 1.398484 0.929634 0.476983 0.033188 1.587225 1.150229 0.660516 0.218545 1.773455 1.321194 0.875537 0.412455 1.975569 1.556914 1.085507 0.655478 0.222974 1.781550 1.346518 0.898635 0.461489 0.030688 1.577108 1.128616 0.706201 0.284734 1.848941 1.423074 1.012127 0.550319 0.127044 1.684664 1.271718 0.847352 0.414193 1.990134 1.521095 1.136567 0.750291 0.337126 1.862249 1.460431 1.049297 0.669842 0.216907 1.819953 1.412426 0.984992 0.572590 0.137306 1.767447 1.330047 0.905950 0.512494 0.103808 1.706053 1.292143 0.937524 0.519078 0.097820 1.712597 1.292745 0.903437 0.500926 0.107737 1.719337 1.308083 0.905177 0.496968 0.133013 1.759477 1.355972 0.957870 0.560591 0.197890 1.801611 1.398075 1.020267 0.618113 0.240199 1.874548 1.486894 1.113092 0.726528 0.377432 1.957833 1.606621 1.229674 0.862702 0.506555 0.105441 1.735997 1.326469 0.994534 0.620808 0.244606 1.879074 1.511642 1.143326 0.775799 0.401368 0.075791 1.702891 1.377919 1.004500 0.619170 0.276148 1.905577 1.568310 1.206071 0.869241 0.512412 0.122276 1.822305 1.441374 1.069500 0.718082 0.389240 0.063602 1.687756 1.378724 0.999805 0.650714 0.332978 1.980285 1.636670 1.301261 0.946200 0.636798 0.314748 1.971775 1.637355 1.287360 0.964448 0.629994 0.298934 1.960682 1.641690 1.343792 1.003153 0.675512 0.317256 0.019972 1.693194 1.366188 1.021532 0.736417 0.404438 0.047067 1.755472 1.430810 1.127679 0.827156 0.504993 0.204999 1.869602 1.559982 1.266750 0.972466 0.612460 0.337579 0.023582 1.728936 1.434699 1.106015 0.784009 0.538390 0.203285 1.928266 1.597064 1.317846 1.015077 0.718614 0.443946 0.127570 1.807078 1.525053 1.247182 0.954079 0.675954 0.383769 0.077633 1.801620 1.532606 1.255462 0.983867 0.644793 0.353207 0.086592 1.828378 1.554513 1.293246 0.994370 0.712475 0.454107 0.144932 1.895728 1.591466 1.368095 1.085410 0.814684 0.542596 0.266934 0.005277 1.745816 1.477185 1.204917 0.948437 0.678999 0.410227 0.182102 1.882179 1.612229 1.401104 1.147230 0.888055 0.606492 0.343709 0.087358 1.853764 1.632545 1.312124 1.126022 0.888426 0.609422 0.346571 0.088432 1.864069 1.624618 1.413636 1.129791 0.907899 0.664305 0.453125 0.192741 1.939732 1.724665 1.446730 1.208735 1.009088 0.791036 0.553547 0.269865 0.050008 1.869993 1.607891 1.398702 1.178112 0.955620 0.721846 0.505763 0.260159 0.071405 1.830854 1.568352 1.366891 1.174316 0.942949 0.745228 0.526140 0.332456 0.118352 1.885916 1.701433 1.472261 1.239299 1.044248 0.831700 0.625882 0.454237 0.215857 0.017252 1.819254 1.615407 1.449492 1.196228 0.982253 0.820818 0.604584 0.442977 0.216483 0.024304 1.829511 1.646493 1.443177 1.275320 1.091080 0.881819 0.729119 0.498708 0.327643 0.166437 1.958363 1.799653 1.588527 1.414994 1.260561 1.019025 0.883661 0.702271 0.505868 0.333038 0.161804 1.992906 1.833629 1.635304 1.475105 1.312466 1.145459 0.986121 0.827858 0.611131 0.477466 0.312332 0.162403 1.993033 1.816815 1.647505 1.499793 1.348955 1.165690 1.035882 0.893667 0.723295 0.585232 0.422874 0.271934 0.113531 1.952972 1.802172 1.650708 1.483461 1.343486 1.218552 1.084842 0.927073 0.776245 0.635502 0.458305 0.373982 0.258566 0.082490 1.916515 1.785127 1.662029 1.542014 1.401296 1.288328 1.126154 1.007559 0.889400 0.744625 0.632843 0.508419 0.378037 0.200669 0.085018 0.008202 1.848031 1.734169 1.614621 1.493930 1.370837 1.302166 1.164868 1.024290 0.930883 0.834625 0.701624 0.606512 0.466962 0.388720 0.279406 0.140918 0.032687 1.927348 1.811775 1.710266 1.620460 1.492805 1.381998 1.317908 1.197423 1.122147 0.998133 0.894736 0.822100 0.734668 0.601331 0.525309 0.427892 0.326892 0.282159 0.156951 0.069505 1.983007 1.895744 1.832368 1.741307 1.671465 1.579508 1.479397 1.407456 1.341307 1.292493 1.172022 1.054844 1.025425 0.938514 0.866058 0.788578 0.719667 0.627909 0.568933 0.499665 0.417215 0.362650 0.295768 0.225056 0.146637 0.113130 0.045846 1.971304 1.915101 1.840250 1.815002 1.742119 1.655607 1.609235 1.549662 1.484722 1.419617 1.408714 1.318908 1.280672 1.236078 1.178979 1.119651 1.066519 1.044417 1.008080 0.950081 0.924323 0.862134 0.835117 0.809024 0.773528 0.699906 0.685111 0.616527 0.592797 0.532897 0.500140 0.456585 0.437938 0.409107 0.390095 0.358332 0.312446 0.308676 0.240543 0.209907 0.216831 0.210411 0.161769 0.125653 0.125949 0.116670 0.080163 0.075626 0.045297 0.004806 -0.000881 0.026299 1.965793 1.933605 1.942786 1.944348 1.952614 1.952589 1.927103 1.902751 1.909232 1.908039 1.900517 1.879669 1.891581 1.879298 1.891872 1.877416 1.870643 1.886309 1.944953 1.916353 1.939154 1.880988 1.904419 1.908941 1.910254 1.932089 1.969282 1.952058 1.945000 1.980171 0.011419 0.039090 0.041500 0.047816 0.085029 0.081559 0.110170 0.137541 0.124670 0.182784 0.191545 0.201628 0.268114 0.278620 0.284381 0.311542 0.326223 0.361901 0.375616 0.463339 0.474532 0.486778 0.532068 0.571238 0.610468 0.633708 0.681958 0.718256 0.773051 0.824140 0.873293 0.876610 0.910965 0.966901 1.003523 1.070562 1.122780 1.175620 1.208791 1.265780 1.302068 1.370182 1.451044 1.483311 1.520585 1.580432 1.644102 1.730843 1.770789 1.797830 1.879017 1.937891 0.019856 0.060042 0.124553 0.170564 0.216811 0.336571 0.366439 0.419283 0.547803 0.615076 0.686756 0.743054 0.808192 0.868812 0.967965 1.030425 1.105495 1.195851 1.276820 1.343432 1.439087 1.529664 1.600300 1.698173 1.760479 1.837558 1.924128 0.038094 0.120241 0.214007 0.317951 0.407855 0.504676 0.570855 0.654240 0.764928 0.855805 0.954502 1.051709 1.155105 1.262197 1.344793 1.435407 1.543123 1.670772 1.770468 1.865799 1.988288 0.099499 0.209570 0.297997 0.416558 0.512994 0.646099 0.763826 0.829292 0.972586 1.100975 1.192463 1.318284 1.435661 1.552010 1.667446 1.796953 1.895828 0.041405 0.168834 0.302036 0.399196 0.525607 0.643567 0.817912 0.935908 1.049011 1.178889 1.349363 1.470533 1.565826 1.734269 1.896736 0.005501 0.133187 0.267100 0.426661 0.580310 0.701157 0.855104 0.989792 1.134964 1.281741 1.433081 1.557022 1.743754 1.844434 0.034007 0.156833 0.323091 0.480395 0.650146 0.794963 0.940476 1.107393 1.252731 1.423226 1.591762 1.737804 1.887833 0.066146 0.199816 0.395900 0.573298 0.691305 0.879701 1.072741 1.236826 1.402627 1.563880 1.718916 1.915062 0.045140 0.237581 0.438738 0.580798 0.784617 0.966030 1.127512 1.284041 1.500016 1.652029 1.856424 0.063337 0.220388 0.388642 0.607545 0.805909 0.974538 1.152853 1.362173 1.532955 1.747946 1.927504 0.137055 0.324156 0.511474 0.727234 0.929245 1.096943 1.311277 1.529510 1.717204 1.929354 0.136096 0.316537 0.493748 0.725549 0.936978 1.151687 1.364715 1.550641 1.788754 1.967369 0.214151 0.411319 0.596806 0.843522 1.075423 1.273303 1.508848 1.709102 1.926626 0.164669 0.367063 0.581444 0.843645 1.064477 1.297447 1.488808 1.750805 1.965800 0.201438 0.416395 0.646546 0.890452 1.084015 1.348861 1.594443 1.818075 0.050802 0.296115 0.523258 0.792692 1.017642 1.273538 1.482331 1.728422 1.963843 0.219496 0.485923 0.690905 0.954474 1.220165 1.432291 1.730053 1.984033 0.222784 0.506499 0.721622 1.020753 1.264124 1.484071 1.737442 0.008877 0.293763 0.536176 0.800572 1.062039 1.344801 1.603165 1.888281 0.130074 0.414558 0.656092 0.938783 1.204182 1.472600 1.715585 0.025355 0.292603 0.583538 0.845516 1.127921 1.372150 1.695546 1.966468 0.221543 0.530377 0.793558 1.098411 1.356632 1.654543 1.955535 0.215710 0.523709 0.795967 1.100511 1.400246 1.690427 1.972022 0.266207 0.566998 0.873330 1.145759 1.473687 1.732502 0.041309 0.361298 0.681781 0.985976 1.233662 1.568222 1.842062 0.150190 0.511624 0.781348 1.087933 1.430677 1.711532 0.035866 0.350229 0.682226 0.921244 1.280371 1.577240 1.931037 0.233182 0.556380 0.877749 1.201053 1.529754 1.819573 0.176157 0.513656 0.816790 1.153452 1.451900 1.807514 0.113756 0.472986 0.806765 1.112493 1.445282 1.798965 0.093781 0.440000 0.772831 1.149981 1.498818 1.820883 0.161426 0.511652 0.813634 1.170367 1.539558 1.880179 0.197605 0.545597 0.908196 1.248869 1.624027 1.993151 0.291418 0.679658 1.035077 1.372909 1.711740 0.072351 0.454139 0.769060 1.133182 1.524037 1.903171 0.230092 0.617044 0.952001 1.338296 1.713107 0.075994 0.443935 0.779891 1.161968 1.532485 1.934216 0.232916 0.643695 1.033693 1.388978 1.763418 0.158282 0.531564 0.923030 1.280607 1.680049 0.033058 0.432091 0.830342 1.225022 1.574525 1.980673 0.372020 0.765894 1.154297 1.543700 1.929241 0.336874 0.704501 1.078420 1.502864 1.874394 0.278411 0.673779 1.082558 1.485362 1.892655 0.272103 0.679143 1.126508 1.483018 1.858194 0.311886 0.706336 1.119689 1.515117 1.930234 0.352607 0.728958 1.180615 1.582674 -0.011458 0.382422 0.817149 1.225669 1.663555 0.072122 0.522136 0.931979 1.334156 1.759365 0.194206 0.619361 1.047129 1.473102 1.908252 0.351516 0.772083 1.179926 1.644483 0.044574 0.475749 0.917446 1.334503 1.758597 0.228962 0.656066 1.131261 1.531736 1.952420 0.415411 0.858312 1.294649 1.758848 0.189426 0.612886 1.083380 1.497505 1.985693 0.443336 0.886511 1.331150 1.813863 0.233070 0.676790 1.130099 1.603581 0.055302 0.540261 0.998997 1.449019 1.920455 0.358725 0.844856 1.264985 1.778111 0.235398 0.686816 1.158649 1.610447 0.090461 0.550418 1.066038 1.507364 1.994625 0.420151 0.944881 1.409278 1.887639 0.359391 0.848416 1.314772 1.770668 0.248792 0.760921 1.244402 1.756852 0.252652 0.703484 1.163404 1.654408 0.164679 0.655036 1.142941 1.625021 0.133904 0.622543 1.126263 1.630291 0.123546 0.625620 1.093073 1.619368 0.102469 0.606535 1.087101 1.587765 0.099897 0.628994 1.136702 1.620371 0.161959 0.636159 1.142893 1.681191 0.151857 0.677434 1.211596 1.703772 0.227926 0.771686 1.266146 1.802804 0.317100 0.816843 1.330334 1.861595 0.386103 0.907612 1.408022 1.955543 0.472098 0.989797 1.544380 0.060134 0.607569 1.120958 1.622179 0.202636 0.754702 1.259644 1.800413 0.355305 0.852467 1.427250 1.936931 0.476054 1.030783 1.560498 0.106947 0.646657 1.237864 1.760957 0.297533 0.839061 1.392090 1.981467 0.509204 1.041723 1.622010 0.107363 0.685230 1.282738 1.821548 0.392932 0.943170 1.514801 0.035058 0.608491 1.175191 1.746330 0.299139 0.879938 1.445070 -0.001787 0.554868 1.132782 1.683410 0.273212 0.846311 1.408423 0.003830 0.577097 1.115510 1.694824 0.296676 0.868917 1.443750 0.022513 0.593863 1.183583 1.773899 0.348573 0.938190 1.535508 0.069825 0.715089 1.266797 1.883415 0.452363 1.042844 1.630007 0.194710 0.822770 1.421686 0.006472 0.621176 1.225177 1.804178 0.408934 1.002193 1.614950 0.209691 0.797600 1.413215 0.043022 0.605270 1.230426 1.842139 0.430016 1.071181 1.656314 0.292321 0.899593 1.524578 0.123367 0.722937 1.338216 1.965637 0.591781 1.216201 1.814694 0.429343 1.061910 1.690552 0.337918 0.935448 1.583594 0.173086 0.798338 1.428447 0.077432 0.684896 1.325474 1.963397 0.593516 1.253180 1.853700 0.531347 1.151683 1.746520 0.425377 1.027823 1.699093 0.333177 0.972850 1.609902 0.254362 0.906653 1.526954 0.225847 0.835769 1.466855 0.149601 0.794755 1.472543 0.118131 0.734656 1.404030 0.060242 0.727045 1.340500 0.029564 0.718625 1.343988 -0.004346 0.685714 1.342591 1.966238 0.667503 1.349852 -0.002971 0.703210 1.357155 0.009465 0.670856 1.356398 0.013330 0.698167 1.342918 0.045357 0.716155 1.383634 0.066321 0.749850 1.425646 0.130825 0.789828 1.468799 0.124200 0.833100 1.513466 0.184968 0.911501 1.594174 0.253162 0.976866 1.658160 0.318972 1.008058 1.691692 0.429447 1.114864 1.830218 0.507740 1.192600 1.907363 0.627089 1.308050 -0.023869 0.692513 1.415262 0.119283 0.836039 1.521751 0.244980 0.952758 1.642834 0.365258 1.090581 1.783116 0.502517 1.253315 1.907048 0.640444 1.381762 0.084253 0.818390 1.500682 0.258511 0.959052 1.666093 0.436675 1.168622 1.860895 0.574076 1.283511 0.009657 0.798719 1.538205 0.214051 0.952450 1.698753 0.447784 1.186388 1.858247 0.626974 1.347987 0.102119 0.855522 1.567443 0.343708 1.048347 1.808415 0.563378 1.317260 0.037027 0.798248 1.543255 0.284540 1.038822 1.782415 0.536310 1.274786 0.033989 0.801778 1.518276 0.287239 1.093224 1.832048 0.574059 1.361341 0.088951 0.857131 1.626231 0.399419 1.160410 1.908691 0.691937 1.400996 0.198198 1.010876 1.783108 0.552378 1.321187 0.069810 0.822885 1.649640 0.398546 1.161881 1.992740 0.718709 1.494106 0.274327 1.069239 1.874949 0.654740 1.412139 0.213263 1.030112 1.748596 0.568168 1.374868 0.155842 0.909714 1.739498 0.532008 1.295260 0.100142 0.892104 1.684374 0.494276 1.299126 0.082168 0.868839 1.674733 0.523178 1.308308 0.060301 0.901403 1.723633 0.527144 1.315281 0.095071 0.928769 1.769688 0.546110 1.365559 0.165197 0.991664 1.800022 0.649448 1.439023 0.280113 1.099551 1.892902 0.728472 1.558461 0.355122 1.155267 0.036651 0.803555 1.642245 0.486101 1.329471 0.153373 0.982109 1.814973 0.657477 1.472081 0.306013 1.138804 1.982639 0.806632 1.637032 0.492622 1.340692 0.166678 0.988021 1.860739 0.705110 1.541783 0.378007 1.213916 0.031456 0.923334 1.732364 0.624150 1.479737 0.314949 1.150499 0.017070 0.859860 1.709562 0.576208 1.451144 0.288172 1.156845 0.018462 0.888828 1.738856 0.600882 1.451392 0.305358 1.162471 0.071454 0.893471 1.790525 0.655173 1.527197 0.387534 1.299810 0.149548 1.016876 1.901076 0.773925 1.669962 0.533885 1.422131 0.264889 1.162826 0.053904 0.925273 1.783822 0.699297 1.593338 0.446127 1.329094 0.254005 1.148241 0.039106 0.936392 1.775754 0.686922 1.585294 0.459409 1.358560 0.246673 1.169932 0.062721 0.983726 1.860184 0.765327 1.652246 0.576169 1.499099 0.384989 1.260554 0.200648 1.126723 -0.014215 0.905397 1.801886 0.753345 1.641865 0.558767 1.467752 0.368838 1.294027 0.198410 1.090981 0.052952 0.991699 1.874409 0.806543 1.749760 0.655559 1.568484 0.520862 1.412201 0.366118 1.291778 0.238178 1.186893 0.061166 0.989290 1.973099 0.910404 1.832384 0.729437 1.723776 0.611997 1.559408 0.503451 1.415081 0.384261 1.301727 0.266130 1.222404 0.110539 1.064083 0.035684 0.943491 1.931964 0.862767 1.795698 0.762421 1.744397 0.666272 1.629091 0.597084 1.552001 0.500765 1.485981 0.446479 1.384691 0.357775 1.317093 0.302197 1.238922 0.194762 1.180556 0.151639 1.104156 0.074275 1.063876 0.008701 0.973523 1.931938 0.929619 1.899785 0.841696 1.876181 0.845013 1.791292 0.775116 1.753572 0.692830 1.726733 0.701663 1.665288 0.631802 1.649201 0.617241 1.594365 0.594942 1.588591 0.590950 1.543461 0.545092 1.544258 0.510400 1.542625 0.487864 1.489414 0.513606 1.491923 0.493471 1.497027 0.496715 1.533646 0.485406 1.488094 0.496820 1.543844 0.524720 1.515833 0.565220 1.558524 0.600489 1.612307 0.598486 1.630142 0.583528 1.626331 0.601297 1.642574 0.701670 1.674391 0.711291 1.729818 0.761143 1.763746 0.824000 1.826874 0.860664 1.866172 0.942874 1.940443 0.980274 -0.790948 1.041163 0.048939 1.113624 0.095128 1.190982 0.189672 1.265115 0.274570 1.325492 0.374151 1.447798)
        )
 ))
 
@@ -2429,1046 +2435,1046 @@
 
 (define primoid-min-peak-phases (vector
 
-(vector 1  1.0   (fv 0)
+(vector 1  1.0   #(0)
      )
 
-(vector 2  1.76  (fv 0 1)
+(vector 2  1.76  #(0 1)
      )
 
 ;;; 3 prime --------------------------------------------------------------------------------
-(vector 3  2.1949384212494 (fv 0 0 1)
-     1.980 (fv 0 62/39 13/41) ; 1 2 3 -- same as :all in this case
-     1.9798574987316 (fv 0.0 1.5896952797511 0.31654707828801)
-     1.9798030853271 (fv 0.0 1.5897271633148 0.31667485833168)
+(vector 3  2.1949384212494 #(0 0 1)
+     1.980 #(0 62/39 13/41) ; 1 2 3 -- same as :all in this case
+     1.9798574987316 #(0.0 1.5896952797511 0.31654707828801)
+     1.9798030853271 #(0.0 1.5897271633148 0.31667485833168)
      )
 
 ;;; 4 prime --------------------------------------------------------------------------------
-(vector 4  2.5978584289551 (fv 0 0 1 1)
+(vector 4  2.5978584289551 #(0 0 1 1)
      
-     ;2.2039985204158 (fv 0 0 12 4) / 20
-     2.1930510997772 (fv 0.000 0.996 0.596 0.217)
-     2.1930510997772 (fv 0.000 1.996 0.596 0.217)
-     2.1930510997772 (fv 0.000 0.004 1.404 1.783)
+     ;2.2039985204158 #(0 0 12 4) / 20
+     2.1930510997772 #(0.000 0.996 0.596 0.217)
+     2.1930510997772 #(0.000 1.996 0.596 0.217)
+     2.1930510997772 #(0.000 0.004 1.404 1.783)
 
-     2.1927945613861 (fv 0.0 1.0065363103693 1.4072853370949 1.7873527125308)
-     2.1921416218407 (fv 0.0 1.0052774357064 1.4058145325161 1.7854903085184)
-     2.1921210289001 (fv 0.0 1.0052587985992 1.4057868719101 1.7854607105255)
+     2.1927945613861 #(0.0 1.0065363103693 1.4072853370949 1.7873527125308)
+     2.1921416218407 #(0.0 1.0052774357064 1.4058145325161 1.7854903085184)
+     2.1921210289001 #(0.0 1.0052587985992 1.4057868719101 1.7854607105255)
      )
 
 ;;; 5 prime --------------------------------------------------------------------------------
-(vector 5  2.7172040939331 (fv 0 0 1 0 0)
+(vector 5  2.7172040939331 #(0 0 1 0 0)
 
-     2.476848 (fv 0.000000 1.577434 0.385232 1.294742 1.022952)
-     2.476837 (fv 0.000000 0.422530 1.614642 0.705077 0.976763)
+     2.476848 #(0.000000 1.577434 0.385232 1.294742 1.022952)
+     2.476837 #(0.000000 0.422530 1.614642 0.705077 0.976763)
      )
 
 ;;; 6 prime --------------------------------------------------------------------------------
-(vector 6  3.1241359710693 (fv 0 0 0 1 0 0)
+(vector 6  3.1241359710693 #(0 0 0 1 0 0)
 
-     2.805574 (fv 0.000000 1.568945 0.034019 1.082417 0.900415 0.797509)
-     2.805492 (fv 0.000000 0.431060 -0.033992 0.917551 1.099550 1.202470)
-     2.805413 (fv 0.000000 0.431110 -0.033974 0.917615 1.099635 1.202594)
+     2.805574 #(0.000000 1.568945 0.034019 1.082417 0.900415 0.797509)
+     2.805492 #(0.000000 0.431060 -0.033992 0.917551 1.099550 1.202470)
+     2.805413 #(0.000000 0.431110 -0.033974 0.917615 1.099635 1.202594)
      )
 
 ;;; 7 prime --------------------------------------------------------------------------------
-(vector 7  3.4886319637299 (fv 0 1 1 0 0 0 0)
+(vector 7  3.4886319637299 #(0 1 1 0 0 0 0)
 
-     3.061861 (fv 0.000000 0.715739 0.261422 0.169339 0.062479 1.180650 0.330190)
-     3.061763 (fv 0.000000 0.715523 0.261251 0.168577 0.061828 1.179155 0.328665)
+     3.061861 #(0.000000 0.715739 0.261422 0.169339 0.062479 1.180650 0.330190)
+     3.061763 #(0.000000 0.715523 0.261251 0.168577 0.061828 1.179155 0.328665)
      )
 
 ;;; 8 prime --------------------------------------------------------------------------------
-(vector 8  3.7088720798492 (fv 0 0 0 0 0 0 1 0)
+(vector 8  3.7088720798492 #(0 0 0 0 0 0 1 0)
 
-     3.263115 (fv 0.000000 0.207652 0.035023 1.752163 0.064249 0.346105 1.403170 0.065734)
-     3.262977 (fv 0.000000 0.792550 1.965637 0.248661 1.936840 1.655647 0.598935 1.936915)
-     3.262789 (fv 0.000000 0.792261 1.965087 0.247823 1.935907 1.654053 0.597010 1.934463)
+     3.263115 #(0.000000 0.207652 0.035023 1.752163 0.064249 0.346105 1.403170 0.065734)
+     3.262977 #(0.000000 0.792550 1.965637 0.248661 1.936840 1.655647 0.598935 1.936915)
+     3.262789 #(0.000000 0.792261 1.965087 0.247823 1.935907 1.654053 0.597010 1.934463)
      )
 
 ;;; 9 prime --------------------------------------------------------------------------------
-(vector 9  3.9154822826385 (fv 0 0 0 1 1 1 0 0 0)
+(vector 9  3.9154822826385 #(0 0 0 1 1 1 0 0 0)
 
-     3.382645 (fv 0.000000 0.562589 0.520940 1.521127 1.682374 0.721497 0.805534 1.254209 0.726847)
-     3.382399 (fv 0.000000 1.437745 1.479554 0.480268 0.319088 1.280870 1.197460 0.749784 1.277141)
-     3.382150 (fv 0.000000 1.437471 1.479039 0.479171 0.317977 1.279012 1.195104 0.746644 1.274032)
+     3.382645 #(0.000000 0.562589 0.520940 1.521127 1.682374 0.721497 0.805534 1.254209 0.726847)
+     3.382399 #(0.000000 1.437745 1.479554 0.480268 0.319088 1.280870 1.197460 0.749784 1.277141)
+     3.382150 #(0.000000 1.437471 1.479039 0.479171 0.317977 1.279012 1.195104 0.746644 1.274032)
      )
 
 ;;; 10 prime --------------------------------------------------------------------------------
-(vector 10 4.1209712028503 (fv 0 0 1 0 0 0 1 0 0 0)
+(vector 10 4.1209712028503 #(0 0 1 0 0 0 1 0 0 0)
 
-     3.602602 (fv 0.000000 1.405079 0.694565 0.388252 0.756491 1.849937 0.076683 1.023761 0.374165 1.226329)
-     3.602329 (fv 0.000000 0.594431 1.305346 1.611464 1.243212 0.149889 1.922392 0.975619 1.625276 0.772405)
-     3.601897 (fv 0.000000 0.594605 1.305309 1.611462 1.242927 0.149405 1.922318 0.974872 1.624292 0.771826)
+     3.602602 #(0.000000 1.405079 0.694565 0.388252 0.756491 1.849937 0.076683 1.023761 0.374165 1.226329)
+     3.602329 #(0.000000 0.594431 1.305346 1.611464 1.243212 0.149889 1.922392 0.975619 1.625276 0.772405)
+     3.601897 #(0.000000 0.594605 1.305309 1.611462 1.242927 0.149405 1.922318 0.974872 1.624292 0.771826)
      )
 
 ;;; 11 prime --------------------------------------------------------------------------------
-(vector 11 4.4176635742188 (fv 0 0 1 0 0 0 0 0 0 1 0)
+(vector 11 4.4176635742188 #(0 0 1 0 0 0 0 0 0 1 0)
 
-     3.779046 (fv 0.000000 0.211414 1.453486 1.827574 1.811694 1.949216 1.313595 0.823256 1.334141 0.127849 0.824659)
-     3.778444 (fv 0.000000 0.211392 1.453207 1.827566 1.811268 1.948666 1.312975 0.822389 1.333108 0.126706 0.823083)
+     3.779046 #(0.000000 0.211414 1.453486 1.827574 1.811694 1.949216 1.313595 0.823256 1.334141 0.127849 0.824659)
+     3.778444 #(0.000000 0.211392 1.453207 1.827566 1.811268 1.948666 1.312975 0.822389 1.333108 0.126706 0.823083)
      )
 
 ;;; 12 prime --------------------------------------------------------------------------------
-(vector 12 4.3595271110535 (fv 0 0 0 0 0 0 1 0 1 1 0 1)
+(vector 12 4.3595271110535 #(0 0 0 0 0 0 1 0 1 1 0 1)
 
-     3.936657 (fv 0.000000 0.367346 0.997085 1.763425 1.295636 0.140826 0.757652 1.565853 1.284651 0.304758 0.331248 0.325474)
-     3.936584 (fv 0.000000 0.366730 0.995852 1.762390 1.293763 0.137304 0.753397 1.560313 1.278944 0.297723 0.322472 0.315856)
-     3.935928 (fv 0.000000 0.367095 0.996695 1.763345 1.295131 0.139476 0.755820 1.563961 1.282494 0.302360 0.327995 0.321982)
+     3.936657 #(0.000000 0.367346 0.997085 1.763425 1.295636 0.140826 0.757652 1.565853 1.284651 0.304758 0.331248 0.325474)
+     3.936584 #(0.000000 0.366730 0.995852 1.762390 1.293763 0.137304 0.753397 1.560313 1.278944 0.297723 0.322472 0.315856)
+     3.935928 #(0.000000 0.367095 0.996695 1.763345 1.295131 0.139476 0.755820 1.563961 1.282494 0.302360 0.327995 0.321982)
      )
 
 ;;; 13 prime --------------------------------------------------------------------------------
-(vector 13 4.8980793952942 (fv 0 0 0 1 0 0 1 1 1 1 1 1 0)
+(vector 13 4.8980793952942 #(0 0 0 1 0 0 1 1 1 1 1 1 0)
 
-     4.155503 (fv 0.000000 1.115751 0.463368 0.110540 0.613302 1.581997 1.394002 -0.005270 1.724217 0.023531 1.743892 0.616897 0.124222)
-     4.155104 (fv 0.000000 0.888606 1.516761 -0.128988 1.376524 0.383262 0.572385 -0.041726 0.228441 1.918487 0.187862 1.304384 1.779710)
-     4.154486 (fv 0.000000 0.888925 1.516611 -0.128449 1.377349 0.383874 0.573640 -0.040502 0.230047 1.920090 0.190320 1.307111 1.782269)
+     4.155503 #(0.000000 1.115751 0.463368 0.110540 0.613302 1.581997 1.394002 -0.005270 1.724217 0.023531 1.743892 0.616897 0.124222)
+     4.155104 #(0.000000 0.888606 1.516761 -0.128988 1.376524 0.383262 0.572385 -0.041726 0.228441 1.918487 0.187862 1.304384 1.779710)
+     4.154486 #(0.000000 0.888925 1.516611 -0.128449 1.377349 0.383874 0.573640 -0.040502 0.230047 1.920090 0.190320 1.307111 1.782269)
      )
 
 ;;; 14 prime --------------------------------------------------------------------------------
-(vector 14 4.827317237854 (fv 0 0 0 0 1 0 0 0 0 1 1 0 0 0)
+(vector 14 4.827317237854 #(0 0 0 0 1 0 0 0 0 1 1 0 0 0)
 
-     4.325356 (fv 0.000000 0.359558 1.885647 0.244632 1.221244 1.839379 1.316045 0.525308 0.483244 1.183590 1.084986 0.271051 0.780356 0.855105)
-     4.324364 (fv 0.000000 0.359123 1.885242 0.244967 1.221612 1.840358 1.317076 0.526663 0.485486 1.185929 1.087828 0.273652 0.783599 0.859686)
+     4.325356 #(0.000000 0.359558 1.885647 0.244632 1.221244 1.839379 1.316045 0.525308 0.483244 1.183590 1.084986 0.271051 0.780356 0.855105)
+     4.324364 #(0.000000 0.359123 1.885242 0.244967 1.221612 1.840358 1.317076 0.526663 0.485486 1.185929 1.087828 0.273652 0.783599 0.859686)
      )
 
 ;;; 15 prime --------------------------------------------------------------------------------
-(vector 15 5.116711139679 (fv 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1)
+(vector 15 5.116711139679 #(0 0 0 0 1 1 0 0 1 0 0 0 1 1 1)
 
-     4.467959 (fv 0.000000 1.165302 0.822381 1.719844 1.177673 0.000074 -0.047034 0.249259 0.174863 0.272306 -0.034377 1.204925 0.800910 1.798882 0.085175)
+     4.467959 #(0.000000 1.165302 0.822381 1.719844 1.177673 0.000074 -0.047034 0.249259 0.174863 0.272306 -0.034377 1.204925 0.800910 1.798882 0.085175)
      4.465870 #(0.000000 1.195783 0.875671 1.808021 1.309702 0.184662 0.170474 0.531131 0.521153 0.683109 0.474077 -0.194026 1.432983 0.523484 0.889349)
      )
 
 ;;; 16 prime --------------------------------------------------------------------------------
-(vector 16 5.2015118598938 (fv 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1)
+(vector 16 5.2015118598938 #(0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1)
 
-     4.602505 (fv 0.000000 0.065822 0.364277 0.133567 0.202441 1.541212 1.225002 0.832999 1.687176 1.503245 1.015565 1.715739 1.103351 1.602678 1.102870 1.723542)
+     4.602505 #(0.000000 0.065822 0.364277 0.133567 0.202441 1.541212 1.225002 0.832999 1.687176 1.503245 1.015565 1.715739 1.103351 1.602678 1.102870 1.723542)
      4.600306 #(0.000000 0.087862 0.378855 0.177701 0.258884 1.624830 1.330220 0.960734 1.836164 1.680878 1.236729 1.958382 1.391766 1.922763 1.425076 0.083217)
      )
 
 ;;; 17 prime --------------------------------------------------------------------------------
-(vector 17 5.5318970680237 (fv 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1)
+(vector 17 5.5318970680237 #(0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1)
 
-     4.719141 (fv 0.000000 0.742295 1.745265 1.857635 0.393094 0.085265 0.379253 1.692020 1.022244 0.008090 1.067230 1.241546 0.650781 0.027258 1.334059 1.354939 0.974983)
+     4.719141 #(0.000000 0.742295 1.745265 1.857635 0.393094 0.085265 0.379253 1.692020 1.022244 0.008090 1.067230 1.241546 0.650781 0.027258 1.334059 1.354939 0.974983)
      4.718649 #(0.000000 0.751159 1.770960 1.891296 0.451714 0.167219 0.486669 1.820262 1.171314 0.188288 1.302438 1.491326 0.945450 0.342701 1.668608 1.730493 1.394926)
      )
 
 ;;; 18 prime --------------------------------------------------------------------------------
-(vector 18 5.518 (fv 0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0)
+(vector 18 5.518 #(0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0)
 
-     4.855354 (fv 0.000000 0.761212 1.399765 1.386893 -0.022155 1.259519 0.806762 0.461717 0.840663 0.867450 0.860949 1.743030 1.407070 0.651538 1.045391 1.279111 0.110257 1.307989)
+     4.855354 #(0.000000 0.761212 1.399765 1.386893 -0.022155 1.259519 0.806762 0.461717 0.840663 0.867450 0.860949 1.743030 1.407070 0.651538 1.045391 1.279111 0.110257 1.307989)
      4.855108 #(0.000000 0.750207 1.384561 1.357598 -0.059069 1.202337 0.735689 0.367843 0.732570 0.743255 0.704408 1.570924 1.212329 0.426050 0.813634 1.013534 -0.181098 0.979190)
      )
 
 ;;; 19 prime --------------------------------------------------------------------------------
-(vector 19 5.7069295560724 (fv 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1)
+(vector 19 5.7069295560724 #(0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1)
 
-     5.015020 (fv 0.000000 1.616061 1.626145 1.313686 1.626275 1.187207 1.456980 0.377509 -0.071549 0.474989 0.997350 1.285450 0.372950 1.499943 0.593785 0.033723 1.161466 0.319734 1.064282)
+     5.015020 #(0.000000 1.616061 1.626145 1.313686 1.626275 1.187207 1.456980 0.377509 -0.071549 0.474989 0.997350 1.285450 0.372950 1.499943 0.593785 0.033723 1.161466 0.319734 1.064282)
      4.998754 #(0.000000 1.645363 1.697584 1.402853 1.761967 1.410480 1.731078 0.730841 0.373575 0.971264 1.632848 -0.032567 1.185342 0.399132 1.548900 1.042245 0.314528 1.610838 0.400814)
      )
 
 ;;; 20 prime --------------------------------------------------------------------------------
-(vector 20 5.8879864574703 (fv 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1)
+(vector 20 5.8879864574703 #(0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1)
 
-     5.188618 (fv 0.000000 1.304708 0.831211 0.731788 0.021326 1.272273 1.777479 0.002778 1.612017 0.397413 0.057603 1.250739 0.234023 0.556087 0.011742 0.753589 1.624826 0.625035 1.017719 0.079500)
+     5.188618 #(0.000000 1.304708 0.831211 0.731788 0.021326 1.272273 1.777479 0.002778 1.612017 0.397413 0.057603 1.250739 0.234023 0.556087 0.011742 0.753589 1.624826 0.625035 1.017719 0.079500)
      5.182566 #(0.000000 1.263246 0.762194 0.608532 -0.162633 0.980718 1.431801 -0.440489 1.122128 -0.196813 -0.666076 0.455149 -0.710850 -0.505486 -1.097448 -0.446751 0.276095 -0.871587 -0.537639 -1.622748)
      )
 
 ;;; 21 prime --------------------------------------------------------------------------------
-(vector 21 6.1138607493652 (fv 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0)
+(vector 21 6.1138607493652 #(0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0)
 
-     5.324980 (fv 0.000000 0.284388 0.190620 0.601870 1.760108 0.865412 0.509624 0.391482 -0.117180 0.413220 1.669494 1.501699 0.066514 0.632948 0.866546 1.073191 0.975355 1.318609 0.054208 1.081180 1.759607)
+     5.324980 #(0.000000 0.284388 0.190620 0.601870 1.760108 0.865412 0.509624 0.391482 -0.117180 0.413220 1.669494 1.501699 0.066514 0.632948 0.866546 1.073191 0.975355 1.318609 0.054208 1.081180 1.759607)
      5.323612 #(0.000000 0.280854 0.184723 0.594540 1.747745 0.845155 0.483640 0.360116 -0.153262 0.371609 1.613941 1.441516 -0.006745 0.553330 0.784905 0.983522 0.871481 1.204293 -0.066217 0.952578 1.624372)
      )
 
 ;;; 22 prime --------------------------------------------------------------------------------
-(vector 22 6.3374844973589 (fv 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0)
+(vector 22 6.3374844973589 #(0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0)
 
-     5.444390 (fv 0.000000 1.499825 1.282805 1.145752 0.718322 0.527629 0.660515 1.924701 0.466877 0.510672 0.652853 0.187109 1.099971 0.084112 0.857217 -0.068874 1.056229 1.751779 1.460546 0.258516 0.957206 1.594508)
+     5.444390 #(0.000000 1.499825 1.282805 1.145752 0.718322 0.527629 0.660515 1.924701 0.466877 0.510672 0.652853 0.187109 1.099971 0.084112 0.857217 -0.068874 1.056229 1.751779 1.460546 0.258516 0.957206 1.594508)
      5.433554 #(0.000000 1.486514 1.390599 1.149545 0.921462 0.702749 0.884951 0.283286 0.900936 0.913025 1.182081 0.780309 1.832213 0.822636 1.714820 0.783014 0.057705 0.842269 0.698584 1.561603 0.224265 0.995298)
      )
 
 ;;; 23 prime --------------------------------------------------------------------------------
-(vector 23 6.5309901747782 (fv 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1)
+(vector 23 6.5309901747782 #(0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1)
 
-     5.563562 (fv 0.000000 0.281094 0.583074 0.221311 1.169287 1.340406 0.217839 0.992042 0.637288 1.632696 0.471670 0.404966 0.171954 0.469626 0.291125 0.731904 1.276906 1.527897 0.612764 0.143351 1.082353 1.486999 1.452340)
+     5.563562 #(0.000000 0.281094 0.583074 0.221311 1.169287 1.340406 0.217839 0.992042 0.637288 1.632696 0.471670 0.404966 0.171954 0.469626 0.291125 0.731904 1.276906 1.527897 0.612764 0.143351 1.082353 1.486999 1.452340)
      5.562290 #(0.000000 0.285874 0.595224 0.235000 1.193968 1.380397 0.263651 1.051885 0.699527 1.708311 0.571007 0.512971 0.292952 0.607887 0.434888 0.887469 1.457277 1.731817 0.825388 0.371687 1.321790 1.739434 1.728651)
      )
 
 ;;; 24 prime --------------------------------------------------------------------------------
-(vector 24 6.5623834870329 (fv 0 0 1 1 0 0 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 0)
+(vector 24 6.5623834870329 #(0 0 1 1 0 0 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 0)
 
-     5.645656 (fv 0.000000 0.825211 1.870903 1.169702 1.224751 0.476917 -0.084281 -0.215343 1.779853 1.403261 0.289331 1.689966 -0.267939 1.131483 1.839470 1.455399 1.365050 0.422908 0.906355 0.161003 0.266551 0.763039 1.248766 1.436520)
+     5.645656 #(0.000000 0.825211 1.870903 1.169702 1.224751 0.476917 -0.084281 -0.215343 1.779853 1.403261 0.289331 1.689966 -0.267939 1.131483 1.839470 1.455399 1.365050 0.422908 0.906355 0.161003 0.266551 0.763039 1.248766 1.436520)
      5.642196 #(0.000000 0.890373 -0.094314 1.286595 1.344700 0.673123 0.114259 0.064347 0.093887 1.778664 0.785400 0.193244 0.317478 1.782787 0.521724 0.200559 0.236076 1.409678 1.913185 1.269474 1.450265 -0.052106 0.501351 0.830713)
      )
 
 ;;; 25 prime --------------------------------------------------------------------------------
-(vector 25 6.635721206665 (fv 0 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1)
+(vector 25 6.635721206665 #(0 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1)
 
-     5.810785 (fv 0.000000 0.563705 1.200194 1.330185 1.448503 0.304746 -0.097873 1.178970 1.307797 0.187993 1.570595 0.364607 -0.021932 1.552639 -0.223928 1.041142 1.388107 1.015775 1.883861 0.551891 1.621094 0.871585 1.482986 0.450455 0.538066)
+     5.810785 #(0.000000 0.563705 1.200194 1.330185 1.448503 0.304746 -0.097873 1.178970 1.307797 0.187993 1.570595 0.364607 -0.021932 1.552639 -0.223928 1.041142 1.388107 1.015775 1.883861 0.551891 1.621094 0.871585 1.482986 0.450455 0.538066)
      )
 
 ;;; 26 prime --------------------------------------------------------------------------------
-(vector 26 6.8401503562927 (fv 0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1)
+(vector 26 6.8401503562927 #(0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1)
 
-     6.060342 (fv 0.000000 -0.041165 -0.003731 0.423811 0.999953 0.846414 -0.006772 1.678875 0.280560 0.164498 1.427575 0.432370 0.295956 0.293617 -0.083444 1.838911 -0.050243 0.444002 1.425675 0.812741 0.728420 0.505166 0.737245 1.256666 1.911599 0.384822)
+     6.060342 #(0.000000 -0.041165 -0.003731 0.423811 0.999953 0.846414 -0.006772 1.678875 0.280560 0.164498 1.427575 0.432370 0.295956 0.293617 -0.083444 1.838911 -0.050243 0.444002 1.425675 0.812741 0.728420 0.505166 0.737245 1.256666 1.911599 0.384822)
      6.058136 #(0.000000 -0.021770 0.018901 0.439476 1.003477 0.859441 0.019351 1.721839 0.345805 0.234535 1.519443 0.503441 0.356442 0.416885 0.030839 -0.020167 0.056498 0.603049 1.590340 0.966971 0.922202 0.689424 0.952624 1.488151 0.129980 0.653028)
      6.056645 #(0.000000 -0.016558 0.026579 0.448353 1.015651 0.876809 0.043994 1.754158 0.381360 0.275434 1.572444 0.558006 0.419413 0.493841 0.110178 0.066677 0.147843 0.710739 1.703199 1.084656 1.051087 0.819777 1.096976 1.639534 0.286953 0.830565)
 
      ;; 25+1
-     6.122073 (fv 0.000000 0.460498 1.557923 1.378525 1.718931 0.447198 0.063372 0.871474 1.497987 0.124645 1.393742 0.468348 -0.079259 1.274284 -0.437034 1.081613 1.726707 1.093435 1.712067 0.466467 1.547007 0.967081 1.258363 0.304978 0.430183 0.007813)
+     6.122073 #(0.000000 0.460498 1.557923 1.378525 1.718931 0.447198 0.063372 0.871474 1.497987 0.124645 1.393742 0.468348 -0.079259 1.274284 -0.437034 1.081613 1.726707 1.093435 1.712067 0.466467 1.547007 0.967081 1.258363 0.304978 0.430183 0.007813)
 
      ;; 27-1
-     6.163135 (fv 0.000000 0.728435 -0.162948 -0.044439 -0.171766 1.094395 0.029113 0.072422 1.082217 0.879605 -0.111434 1.156162 1.018106 0.872058 0.997367 0.178509 -0.068227 -0.141285 1.119460 -0.213041 0.834585 -0.226205 0.775314 -0.211931 0.098174 0.839934)
+     6.163135 #(0.000000 0.728435 -0.162948 -0.044439 -0.171766 1.094395 0.029113 0.072422 1.082217 0.879605 -0.111434 1.156162 1.018106 0.872058 0.997367 0.178509 -0.068227 -0.141285 1.119460 -0.213041 0.834585 -0.226205 0.775314 -0.211931 0.098174 0.839934)
 
      ;; 24+2
-     6.157978 (fv 0.000000 0.747592 -0.138036 -0.096812 -0.252632 1.140904 0.038566 0.088301 1.237633 1.010838 0.001393 0.982309 1.045743 0.842207 0.970725 0.281016 0.130720 0.128208 1.180011 0.026054 0.957275 -0.052702 1.071527 -0.026637 0.338920 1.156596)
+     6.157978 #(0.000000 0.747592 -0.138036 -0.096812 -0.252632 1.140904 0.038566 0.088301 1.237633 1.010838 0.001393 0.982309 1.045743 0.842207 0.970725 0.281016 0.130720 0.128208 1.180011 0.026054 0.957275 -0.052702 1.071527 -0.026637 0.338920 1.156596)
      )
 
 ;;; 27 prime --------------------------------------------------------------------------------
-(vector 27 6.9491486549377 (fv 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1)
+(vector 27 6.9491486549377 #(0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1)
 
-     6.133994 (fv 0.000000 1.619323 0.268498 0.605329 0.261788 1.741906 1.690385 1.044397 0.095253 1.526766 0.682732 1.844188 1.227922 -0.046848 0.854154 -0.053734 1.525611 0.460071 0.230079 1.191101 1.252287 1.704028 -0.029667 1.798141 1.802482 1.571525 0.379519)
+     6.133994 #(0.000000 1.619323 0.268498 0.605329 0.261788 1.741906 1.690385 1.044397 0.095253 1.526766 0.682732 1.844188 1.227922 -0.046848 0.854154 -0.053734 1.525611 0.460071 0.230079 1.191101 1.252287 1.704028 -0.029667 1.798141 1.802482 1.571525 0.379519)
      )
 
 ;;; 28 prime --------------------------------------------------------------------------------
-(vector 28 7.1576952934265 (fv 0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 1 0 0)
+(vector 28 7.1576952934265 #(0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 1 0 0)
 
-     6.190947 (fv 0.000000 0.460822 1.000235 0.802902 1.169351 0.023696 1.059034 0.557253 0.339303 -0.037893 0.757652 1.745281 0.808299 1.572816 1.228654 0.154747 0.925847 0.957314 0.565556 0.484885 0.864794 1.110639 0.659146 1.596331 1.587743 0.524304 1.470688 0.086831)
+     6.190947 #(0.000000 0.460822 1.000235 0.802902 1.169351 0.023696 1.059034 0.557253 0.339303 -0.037893 0.757652 1.745281 0.808299 1.572816 1.228654 0.154747 0.925847 0.957314 0.565556 0.484885 0.864794 1.110639 0.659146 1.596331 1.587743 0.524304 1.470688 0.086831)
      )
 
 ;;; 29 prime --------------------------------------------------------------------------------
-(vector 29 7.2415904369233 (fv 0 0 1 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0)
+(vector 29 7.2415904369233 #(0 0 1 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0)
 
-     6.364996 (fv 0.000000 0.899299 0.027883 1.660781 0.583908 0.594226 1.394105 1.009420 -0.076432 0.063436 1.779221 1.537249 1.002516 1.590894 -0.057219 1.023692 1.515341 1.279493 0.140022 -0.035094 0.723643 0.484040 0.612756 1.373872 1.209603 1.304864 0.985337 0.845953 0.581252)
+     6.364996 #(0.000000 0.899299 0.027883 1.660781 0.583908 0.594226 1.394105 1.009420 -0.076432 0.063436 1.779221 1.537249 1.002516 1.590894 -0.057219 1.023692 1.515341 1.279493 0.140022 -0.035094 0.723643 0.484040 0.612756 1.373872 1.209603 1.304864 0.985337 0.845953 0.581252)
      )
 
 ;;; 30 prime --------------------------------------------------------------------------------
-(vector 30 7.1189651489258 (fv 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0)
+(vector 30 7.1189651489258 #(0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0)
 
-     6.451812 (fv 0.000000 1.683608 0.803658 0.933316 0.850814 1.701341 1.277986 1.473972 1.214431 1.898492 0.954836 1.784293 1.951482 1.381903 0.107238 0.105553 1.260609 1.566570 0.409971 0.385253 1.590967 0.968660 0.054889 0.914665 1.664915 1.656054 1.094096 1.343614 0.650979 0.864222)
+     6.451812 #(0.000000 1.683608 0.803658 0.933316 0.850814 1.701341 1.277986 1.473972 1.214431 1.898492 0.954836 1.784293 1.951482 1.381903 0.107238 0.105553 1.260609 1.566570 0.409971 0.385253 1.590967 0.968660 0.054889 0.914665 1.664915 1.656054 1.094096 1.343614 0.650979 0.864222)
      )
 
 ;;; 31 prime --------------------------------------------------------------------------------
-(vector 31 7.4906754493713 (fv 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1)
+(vector 31 7.4906754493713 #(0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1)
 
-     6.701515 (fv 0.000000 0.707031 0.658082 0.778665 1.395076 0.565253 0.395956 1.065744 1.710897 0.801620 1.512714 1.121124 1.688469 1.338401 0.622466 1.725968 1.295045 0.892738 0.244280 0.958065 0.828867 0.800413 0.064995 1.349330 1.878947 0.861664 0.695097 1.073201 0.907698 1.910585 0.416756)
+     6.701515 #(0.000000 0.707031 0.658082 0.778665 1.395076 0.565253 0.395956 1.065744 1.710897 0.801620 1.512714 1.121124 1.688469 1.338401 0.622466 1.725968 1.295045 0.892738 0.244280 0.958065 0.828867 0.800413 0.064995 1.349330 1.878947 0.861664 0.695097 1.073201 0.907698 1.910585 0.416756)
 
      ;; 30+1
-     6.615976 (fv 0.000000 1.619082 0.923169 1.083084 0.781957 1.611725 1.231796 1.488577 1.226090 0.083999 1.020558 1.699217 -0.014673 1.346295 -0.063182 -0.022308 1.145334 1.655017 0.305814 0.373230 1.594198 0.992544 0.008700 0.844473 1.661053 1.801356 0.850925 1.501091 0.639723 0.929876 0.176165)
+     6.615976 #(0.000000 1.619082 0.923169 1.083084 0.781957 1.611725 1.231796 1.488577 1.226090 0.083999 1.020558 1.699217 -0.014673 1.346295 -0.063182 -0.022308 1.145334 1.655017 0.305814 0.373230 1.594198 0.992544 0.008700 0.844473 1.661053 1.801356 0.850925 1.501091 0.639723 0.929876 0.176165)
      )
 
 ;;; 32 prime --------------------------------------------------------------------------------
-(vector 32 7.6309351921082 (fv 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0)
+(vector 32 7.6309351921082 #(0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0)
 
-     6.829554 (fv 0.000000 0.353769 0.512450 0.072420 0.585526 0.147200 0.899992 1.177093 0.978539 1.319655 0.744178 0.765351 0.245581 0.971119 0.793076 1.664663 0.073560 1.968693 0.219541 -0.142255 1.387234 0.796908 0.143099 1.544481 1.359170 -0.183896 0.300411 0.910906 1.770472 1.091214 0.308566 1.575721)
+     6.829554 #(0.000000 0.353769 0.512450 0.072420 0.585526 0.147200 0.899992 1.177093 0.978539 1.319655 0.744178 0.765351 0.245581 0.971119 0.793076 1.664663 0.073560 1.968693 0.219541 -0.142255 1.387234 0.796908 0.143099 1.544481 1.359170 -0.183896 0.300411 0.910906 1.770472 1.091214 0.308566 1.575721)
 
      ;; 31+1
-     6.864557 (fv 0.000000 1.684531 0.907871 0.937049 0.576460 1.576459 1.338803 1.563265 1.353157 -0.035626 1.089066 1.735003 -0.147935 1.441252 -0.039130 -0.134227 1.098931 1.555167 0.496142 0.453987 1.332697 1.055734 0.066385 0.757972 1.840407 1.616574 0.776929 1.400044 0.751413 0.894663 0.088525 0.248633)
+     6.864557 #(0.000000 1.684531 0.907871 0.937049 0.576460 1.576459 1.338803 1.563265 1.353157 -0.035626 1.089066 1.735003 -0.147935 1.441252 -0.039130 -0.134227 1.098931 1.555167 0.496142 0.453987 1.332697 1.055734 0.066385 0.757972 1.840407 1.616574 0.776929 1.400044 0.751413 0.894663 0.088525 0.248633)
 
      ;; 33-1
-     6.772281 (fv 0.000000 -0.104424 1.369006 0.833384 0.832316 0.684545 1.080484 0.996539 1.125140 0.264781 0.104162 1.034076 1.132845 0.966270 -0.147521 -0.070104 -0.108305 0.137329 0.336575 0.120508 -0.030229 1.160998 -0.149314 0.018366 1.122475 -0.088339 0.190809 0.749038 -0.017283 -0.181633 0.895249 0.011511)
+     6.772281 #(0.000000 -0.104424 1.369006 0.833384 0.832316 0.684545 1.080484 0.996539 1.125140 0.264781 0.104162 1.034076 1.132845 0.966270 -0.147521 -0.070104 -0.108305 0.137329 0.336575 0.120508 -0.030229 1.160998 -0.149314 0.018366 1.122475 -0.088339 0.190809 0.749038 -0.017283 -0.181633 0.895249 0.011511)
      )
 
 ;;; 33 prime --------------------------------------------------------------------------------
-(vector 33 7.7389698028564 (fv 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 0)
+(vector 33 7.7389698028564 #(0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 0)
 
-     6.846444 (fv 0.000000 1.540730 1.269040 0.749184 0.961715 0.756150 0.876752 0.416027 1.022774 0.964239 1.083376 0.550495 1.494046 0.196678 0.925862 0.362000 0.602774 1.401166 0.181115 1.142230 0.264880 0.003237 0.994773 0.034504 0.433160 0.985315 1.781928 0.301442 1.605371 1.626266 0.719713 0.024414 0.683173)
+     6.846444 #(0.000000 1.540730 1.269040 0.749184 0.961715 0.756150 0.876752 0.416027 1.022774 0.964239 1.083376 0.550495 1.494046 0.196678 0.925862 0.362000 0.602774 1.401166 0.181115 1.142230 0.264880 0.003237 0.994773 0.034504 0.433160 0.985315 1.781928 0.301442 1.605371 1.626266 0.719713 0.024414 0.683173)
      )
 
 ;;; 34 prime --------------------------------------------------------------------------------
-(vector 34 7.9624452590942 (fv 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 0 0 0)
+(vector 34 7.9624452590942 #(0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 0 0 0)
 
-     6.991192 (fv 0.000000 1.753519 0.200582 1.709673 0.364080 0.826783 0.339745 0.629017 1.916751 1.209744 1.171294 -1.878381 1.379347 0.682133 1.526150 -0.403398 1.590798 1.225400 1.046260 0.612397 0.683970 1.216405 0.626313 0.038228 1.289324 1.063867 0.495350 0.036835 0.806562 1.424403 1.251942 0.446062 1.562643 0.395827)
+     6.991192 #(0.000000 1.753519 0.200582 1.709673 0.364080 0.826783 0.339745 0.629017 1.916751 1.209744 1.171294 -1.878381 1.379347 0.682133 1.526150 -0.403398 1.590798 1.225400 1.046260 0.612397 0.683970 1.216405 0.626313 0.038228 1.289324 1.063867 0.495350 0.036835 0.806562 1.424403 1.251942 0.446062 1.562643 0.395827)
      )
 
 ;;; 35 prime --------------------------------------------------------------------------------
-(vector 35 8.0019035339355 (fv 0 0 1 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0)
+(vector 35 8.0019035339355 #(0 0 1 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0)
 
-     7.163607 (fv 0.000000 1.266503 0.439150 0.502027 -0.033212 1.025554 1.236433 1.852606 1.521580 0.894650 0.982935 1.338812 0.175216 1.929333 1.483026 0.812681 0.144350 1.543173 0.347773 0.191753 0.996456 1.584603 0.595312 0.526825 0.409349 0.179419 0.765371 0.331481 0.734526 0.534073 1.395010 0.148584 0.213643 0.199292 1.071967)
+     7.163607 #(0.000000 1.266503 0.439150 0.502027 -0.033212 1.025554 1.236433 1.852606 1.521580 0.894650 0.982935 1.338812 0.175216 1.929333 1.483026 0.812681 0.144350 1.543173 0.347773 0.191753 0.996456 1.584603 0.595312 0.526825 0.409349 0.179419 0.765371 0.331481 0.734526 0.534073 1.395010 0.148584 0.213643 0.199292 1.071967)
 
      ;; 34+1
-     7.250722 (fv 0.000000 1.833406 0.276500 1.676183 0.284824 0.952861 0.274961 0.549393 1.855724 1.259088 1.170735 -1.972280 1.233657 0.707290 1.353858 -0.502547 1.522469 1.324648 0.749540 0.580274 0.753018 1.178005 0.466257 0.194427 1.292227 0.949230 0.518969 0.114495 0.772899 1.429905 1.258425 0.333692 1.615077 0.323568 0.024260)
+     7.250722 #(0.000000 1.833406 0.276500 1.676183 0.284824 0.952861 0.274961 0.549393 1.855724 1.259088 1.170735 -1.972280 1.233657 0.707290 1.353858 -0.502547 1.522469 1.324648 0.749540 0.580274 0.753018 1.178005 0.466257 0.194427 1.292227 0.949230 0.518969 0.114495 0.772899 1.429905 1.258425 0.333692 1.615077 0.323568 0.024260)
 
      ;; 36-1
-     7.226635 (fv 0.000000 0.015639 1.313898 1.067017 0.012678 0.205933 -0.220601 0.741706 1.132622 1.273222 0.064153 -0.061062 0.016379 -0.109368 1.266070 0.708642 0.100132 0.506303 0.326245 0.009869 0.128374 0.656500 0.103915 0.211137 -0.048847 0.134642 0.911060 -0.081204 1.078761 0.959214 1.298439 0.058469 -0.265528 -0.047843 0.487719)
+     7.226635 #(0.000000 0.015639 1.313898 1.067017 0.012678 0.205933 -0.220601 0.741706 1.132622 1.273222 0.064153 -0.061062 0.016379 -0.109368 1.266070 0.708642 0.100132 0.506303 0.326245 0.009869 0.128374 0.656500 0.103915 0.211137 -0.048847 0.134642 0.911060 -0.081204 1.078761 0.959214 1.298439 0.058469 -0.265528 -0.047843 0.487719)
 
      ;; 37-2
-     7.337307 (fv 0.000000 1.255715 1.209445 1.285464 0.609971 1.084010 0.746511 0.131735 0.992588 -0.165317 1.349080 0.347697 1.563547 0.269558 1.052909 1.187133 0.630960 0.126283 1.974444 0.920793 0.149276 0.235777 0.684763 0.805570 1.167945 0.309490 0.732548 0.639985 1.194191 -0.082787 0.442732 0.130132 1.297597 1.522523 -0.004298)
+     7.337307 #(0.000000 1.255715 1.209445 1.285464 0.609971 1.084010 0.746511 0.131735 0.992588 -0.165317 1.349080 0.347697 1.563547 0.269558 1.052909 1.187133 0.630960 0.126283 1.974444 0.920793 0.149276 0.235777 0.684763 0.805570 1.167945 0.309490 0.732548 0.639985 1.194191 -0.082787 0.442732 0.130132 1.297597 1.522523 -0.004298)
 
      ;; 36-1 again
-     7.270607 (fv 0.000000 1.224685 0.688298 0.933888 0.799409 1.040304 0.882804 1.691450 1.134732 0.118453 1.557180 0.586802 1.344681 0.201498 1.086994 1.546739 0.883322 0.653756 0.179650 1.296869 -0.225456 -0.099064 0.999391 0.575486 1.210161 0.192596 0.624682 0.585705 1.229555 0.174654 0.165564 0.036132 1.525777 1.424254 0.061875)
+     7.270607 #(0.000000 1.224685 0.688298 0.933888 0.799409 1.040304 0.882804 1.691450 1.134732 0.118453 1.557180 0.586802 1.344681 0.201498 1.086994 1.546739 0.883322 0.653756 0.179650 1.296869 -0.225456 -0.099064 0.999391 0.575486 1.210161 0.192596 0.624682 0.585705 1.229555 0.174654 0.165564 0.036132 1.525777 1.424254 0.061875)
      )
 
 ;;; 36 prime --------------------------------------------------------------------------------
-(vector 36 8.3031883239746 (fv 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0)
+(vector 36 8.3031883239746 #(0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0)
 
-     7.274340 (fv 0.000000 0.295214 1.648256 0.584870 0.666257 0.185867 0.791897 0.205307 0.094941 1.078003 0.393529 1.106172 0.869922 0.874970 0.914168 -0.075429 0.352173 -0.206951 1.433194 0.016874 1.804925 1.769354 0.780563 1.415336 1.733698 0.569376 0.514365 1.527457 0.738716 1.585860 0.004452 0.303849 0.468887 1.200500 1.687045 -0.272506)
+     7.274340 #(0.000000 0.295214 1.648256 0.584870 0.666257 0.185867 0.791897 0.205307 0.094941 1.078003 0.393529 1.106172 0.869922 0.874970 0.914168 -0.075429 0.352173 -0.206951 1.433194 0.016874 1.804925 1.769354 0.780563 1.415336 1.733698 0.569376 0.514365 1.527457 0.738716 1.585860 0.004452 0.303849 0.468887 1.200500 1.687045 -0.272506)
 
      ;; 34+2
-     7.326328 (fv 0.000000 0.224320 -0.145696 0.800619 0.068109 0.664686 1.202282 -0.026091 0.124729 1.390134 0.094406 0.787084 -0.284049 0.196932 0.011705 -0.061258 1.288162 0.209106 0.650222 0.837106 1.144479 -0.004444 -0.079317 -0.252873 1.282751 1.105461 -0.151235 -0.220044 0.048391 0.784914 0.800542 0.208916 -0.135577 0.180326 -0.083829 0.058422)
+     7.326328 #(0.000000 0.224320 -0.145696 0.800619 0.068109 0.664686 1.202282 -0.026091 0.124729 1.390134 0.094406 0.787084 -0.284049 0.196932 0.011705 -0.061258 1.288162 0.209106 0.650222 0.837106 1.144479 -0.004444 -0.079317 -0.252873 1.282751 1.105461 -0.151235 -0.220044 0.048391 0.784914 0.800542 0.208916 -0.135577 0.180326 -0.083829 0.058422)
 
      ;; 37-1
-     7.188203 (fv 0.000000 1.311785 0.710177 0.919863 0.806114 1.220385 0.913244 1.649138 1.158903 -0.117650 1.420543 0.532433 1.420824 0.031354 1.130470 1.529113 0.851075 0.566610 -0.022612 1.109803 -0.179865 -0.219467 1.014788 0.671450 1.268941 0.095596 0.593655 0.518696 1.410763 0.018554 0.158212 0.022548 1.368086 1.347905 1.919434 1.204584)
+     7.188203 #(0.000000 1.311785 0.710177 0.919863 0.806114 1.220385 0.913244 1.649138 1.158903 -0.117650 1.420543 0.532433 1.420824 0.031354 1.130470 1.529113 0.851075 0.566610 -0.022612 1.109803 -0.179865 -0.219467 1.014788 0.671450 1.268941 0.095596 0.593655 0.518696 1.410763 0.018554 0.158212 0.022548 1.368086 1.347905 1.919434 1.204584)
      )
 
 ;;; 37 prime --------------------------------------------------------------------------------
-(vector 37 8.4775905609131 (fv 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1)
+(vector 37 8.4775905609131 #(0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1)
 
-     7.291595 (fv 0.000000 1.385574 1.094219 1.256844 0.579410 1.074351 0.652085 1.737017 1.132509 0.023783 1.497034 0.201580 1.618763 0.156207 1.295800 1.067404 0.684624 0.145230 1.829069 1.057901 0.013674 0.026959 0.892842 0.719241 1.431201 0.175608 0.784924 0.608541 1.031616 0.099402 0.526982 -0.079447 1.301608 1.399791 1.919478 1.303159 1.654914)
+     7.291595 #(0.000000 1.385574 1.094219 1.256844 0.579410 1.074351 0.652085 1.737017 1.132509 0.023783 1.497034 0.201580 1.618763 0.156207 1.295800 1.067404 0.684624 0.145230 1.829069 1.057901 0.013674 0.026959 0.892842 0.719241 1.431201 0.175608 0.784924 0.608541 1.031616 0.099402 0.526982 -0.079447 1.301608 1.399791 1.919478 1.303159 1.654914)
      )
 
 ;;; 38 prime --------------------------------------------------------------------------------
-(vector 38 8.5527725219727 (fv 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0)
+(vector 38 8.5527725219727 #(0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0)
 
-	7.395907 (fv 0.000000 0.229361 1.165787 -0.110257 0.360118 0.958030 0.069946 0.724227 0.169462 0.629891 1.545997 1.736970 0.340776 1.117984 1.362890 -0.333746 0.304546 0.284267 1.101870 -0.220411 1.748591 0.492644 0.009938 0.667006 1.844837 0.974373 0.297199 0.452149 0.892727 0.659717 0.488303 1.523287 0.213584 0.164389 -0.141331 1.392379 0.641595 0.183921)
+	7.395907 #(0.000000 0.229361 1.165787 -0.110257 0.360118 0.958030 0.069946 0.724227 0.169462 0.629891 1.545997 1.736970 0.340776 1.117984 1.362890 -0.333746 0.304546 0.284267 1.101870 -0.220411 1.748591 0.492644 0.009938 0.667006 1.844837 0.974373 0.297199 0.452149 0.892727 0.659717 0.488303 1.523287 0.213584 0.164389 -0.141331 1.392379 0.641595 0.183921)
      )
 
 ;;; 39 prime --------------------------------------------------------------------------------
-(vector 39 8.8173857964668 (fv 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0)
+(vector 39 8.8173857964668 #(0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0)
 
-     7.452083 (fv 0.000000 -0.003327 0.916189 -0.059920 1.642633 1.388547 0.951086 0.403885 -0.174730 0.969870 0.918579 1.463076 0.392796 0.310790 1.322505 1.568519 -0.013721 1.080957 1.546749 1.334291 1.196748 1.241477 0.666226 0.658367 0.483066 0.709740 0.970447 1.021587 1.015221 1.154977 1.464323 0.177481 1.236124 1.797764 1.373028 0.022625 0.381731 1.433474 1.548372)
+     7.452083 #(0.000000 -0.003327 0.916189 -0.059920 1.642633 1.388547 0.951086 0.403885 -0.174730 0.969870 0.918579 1.463076 0.392796 0.310790 1.322505 1.568519 -0.013721 1.080957 1.546749 1.334291 1.196748 1.241477 0.666226 0.658367 0.483066 0.709740 0.970447 1.021587 1.015221 1.154977 1.464323 0.177481 1.236124 1.797764 1.373028 0.022625 0.381731 1.433474 1.548372)
      )
 
 ;;; 40 prime --------------------------------------------------------------------------------
-(vector 40 8.9134502410889 (fv 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 0 1)
+(vector 40 8.9134502410889 #(0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 0 1)
 
-     7.703588 (fv 0.000000 1.735488 1.656851 1.224286 0.044381 0.581732 0.870499 0.678243 0.396963 1.559949 1.753552 0.343685 1.182244 0.436049 0.704051 1.315848 0.612950 0.283482 1.616300 0.417655 1.870367 0.045128 0.404846 0.027986 1.838093 1.350622 0.788217 0.264993 1.270928 0.453126 0.746731 1.438328 0.714772 1.669939 -0.004462 0.932368 1.451203 0.182154 1.479009 1.559243)
+     7.703588 #(0.000000 1.735488 1.656851 1.224286 0.044381 0.581732 0.870499 0.678243 0.396963 1.559949 1.753552 0.343685 1.182244 0.436049 0.704051 1.315848 0.612950 0.283482 1.616300 0.417655 1.870367 0.045128 0.404846 0.027986 1.838093 1.350622 0.788217 0.264993 1.270928 0.453126 0.746731 1.438328 0.714772 1.669939 -0.004462 0.932368 1.451203 0.182154 1.479009 1.559243)
 
      ;; 39+1
-     7.542973 (fv 0.000000 -0.041200 1.048990 -0.088096 1.469596 1.426659 0.704430 0.532863 -0.271666 1.021284 0.854349 1.691302 0.165173 0.234052 1.293759 1.553143 -0.290199 1.111317 1.388897 1.428535 1.198923 1.295686 0.607124 0.554003 0.553080 0.829915 1.372981 1.113790 0.892248 1.036179 1.715559 0.155629 1.485519 1.734906 1.416427 0.111242 0.390867 1.435517 1.580034 0.394829)
+     7.542973 #(0.000000 -0.041200 1.048990 -0.088096 1.469596 1.426659 0.704430 0.532863 -0.271666 1.021284 0.854349 1.691302 0.165173 0.234052 1.293759 1.553143 -0.290199 1.111317 1.388897 1.428535 1.198923 1.295686 0.607124 0.554003 0.553080 0.829915 1.372981 1.113790 0.892248 1.036179 1.715559 0.155629 1.485519 1.734906 1.416427 0.111242 0.390867 1.435517 1.580034 0.394829)
      )
 
 ;;; 41 prime --------------------------------------------------------------------------------
-(vector 41 9.1567583084106 (fv 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0)
+(vector 41 9.1567583084106 #(0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0)
 
-	7.865855 (fv 0.000000 0.608338 -0.060098 1.260166 0.343974 0.016950 -0.247861 -0.127427 0.108013 -0.084777 1.510985 0.480995 1.445979 -0.013184 1.345726 0.790782 0.040458 1.554753 1.065658 0.404394 0.487625 0.747477 1.296516 0.562390 1.713973 0.682704 0.619563 0.946390 0.938148 0.771516 1.743852 1.318578 0.561202 0.223419 0.656108 1.580261 0.293473 0.865769 0.313306 1.414219 0.732206)
+	7.865855 #(0.000000 0.608338 -0.060098 1.260166 0.343974 0.016950 -0.247861 -0.127427 0.108013 -0.084777 1.510985 0.480995 1.445979 -0.013184 1.345726 0.790782 0.040458 1.554753 1.065658 0.404394 0.487625 0.747477 1.296516 0.562390 1.713973 0.682704 0.619563 0.946390 0.938148 0.771516 1.743852 1.318578 0.561202 0.223419 0.656108 1.580261 0.293473 0.865769 0.313306 1.414219 0.732206)
 
 	;; 40 + 1
-	7.720320 (fv 0.000000 -0.115191 1.182807 0.023805 1.562688 1.390669 0.693038 0.384401 -0.432021 0.902901 0.808566 1.764939 0.071559 0.180956 1.306988 1.386263 -0.325917 1.184850 1.379486 1.267820 1.088531 1.531591 0.443244 0.383528 0.465953 0.767254 1.394223 1.223657 0.755343 1.085342 1.737843 0.118005 1.556067 1.593289 1.235706 0.152645 0.264917 1.446707 1.588810 0.262147 0.136941)
+	7.720320 #(0.000000 -0.115191 1.182807 0.023805 1.562688 1.390669 0.693038 0.384401 -0.432021 0.902901 0.808566 1.764939 0.071559 0.180956 1.306988 1.386263 -0.325917 1.184850 1.379486 1.267820 1.088531 1.531591 0.443244 0.383528 0.465953 0.767254 1.394223 1.223657 0.755343 1.085342 1.737843 0.118005 1.556067 1.593289 1.235706 0.152645 0.264917 1.446707 1.588810 0.262147 0.136941)
      )
 
 ;;; 42 prime --------------------------------------------------------------------------------
-(vector 42 9.2193641662598 (fv 0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0)
+(vector 42 9.2193641662598 #(0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0)
 
-	7.967849 (fv 0.000000 -0.295563 -0.099748 1.645998 0.994997 1.211069 1.302259 1.702033 0.311003 1.380194 1.021127 1.240710 0.343052 -0.024723 0.792276 0.383501 1.598556 0.301882 1.243030 0.805694 1.869672 1.515585 0.818223 0.277882 0.151155 1.792151 0.439910 1.043803 1.106182 0.814125 1.169477 0.353168 0.087800 0.390591 1.058086 1.167577 0.254783 0.202834 1.385207 0.802821 0.860337 0.585161)
+	7.967849 #(0.000000 -0.295563 -0.099748 1.645998 0.994997 1.211069 1.302259 1.702033 0.311003 1.380194 1.021127 1.240710 0.343052 -0.024723 0.792276 0.383501 1.598556 0.301882 1.243030 0.805694 1.869672 1.515585 0.818223 0.277882 0.151155 1.792151 0.439910 1.043803 1.106182 0.814125 1.169477 0.353168 0.087800 0.390591 1.058086 1.167577 0.254783 0.202834 1.385207 0.802821 0.860337 0.585161)
 
 	;; 41+1
-	7.869767 (fv 0.000000 -0.061943 1.138293 -0.062352 1.677941 1.387789 0.696129 0.354209 -0.606277 0.820682 0.889412 1.749845 0.156626 0.153950 1.241240 1.226387 -0.243954 1.180563 1.446765 1.133383 1.088516 1.534516 0.379614 0.441871 0.531294 0.625705 1.211996 1.249505 0.811274 1.137271 1.690807 0.091208 1.719416 1.589298 1.288167 0.231299 0.255350 1.544776 1.691946 0.324682 0.145604 -0.146627)
+	7.869767 #(0.000000 -0.061943 1.138293 -0.062352 1.677941 1.387789 0.696129 0.354209 -0.606277 0.820682 0.889412 1.749845 0.156626 0.153950 1.241240 1.226387 -0.243954 1.180563 1.446765 1.133383 1.088516 1.534516 0.379614 0.441871 0.531294 0.625705 1.211996 1.249505 0.811274 1.137271 1.690807 0.091208 1.719416 1.589298 1.288167 0.231299 0.255350 1.544776 1.691946 0.324682 0.145604 -0.146627)
      )
 
 ;;; 43 prime --------------------------------------------------------------------------------
-(vector 43 9.4329051971436 (fv 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 1)
+(vector 43 9.4329051971436 #(0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 1)
 
-     8.045098 (fv 0.000000 1.817726 0.258426 -0.110242 1.213496 0.116841 0.189488 1.576716 0.807175 0.814618 0.974723 1.682997 0.507481 0.400625 1.207987 1.609632 0.042496 -0.018345 0.188609 1.537320 1.421611 1.487985 0.125474 1.195313 1.777900 0.097292 1.089983 0.284602 -0.035452 0.114851 -0.014176 0.684966 0.713816 1.698239 1.505014 0.277355 1.721721 1.307506 0.790560 -0.024590 1.696281 0.234403 1.469880)
+     8.045098 #(0.000000 1.817726 0.258426 -0.110242 1.213496 0.116841 0.189488 1.576716 0.807175 0.814618 0.974723 1.682997 0.507481 0.400625 1.207987 1.609632 0.042496 -0.018345 0.188609 1.537320 1.421611 1.487985 0.125474 1.195313 1.777900 0.097292 1.089983 0.284602 -0.035452 0.114851 -0.014176 0.684966 0.713816 1.698239 1.505014 0.277355 1.721721 1.307506 0.790560 -0.024590 1.696281 0.234403 1.469880)
 
      ;; 44-1
-     7.936372 (fv 0.000000 0.547620 0.739031 1.442428 0.549512 0.577585 0.459986 1.527195 1.215306 0.359566 1.254454 1.014209 0.650822 0.596119 0.113760 0.896295 1.336762 1.511746 1.057661 0.208519 1.475881 1.168554 0.473943 0.693948 1.550424 1.853884 0.945372 1.595949 0.778275 1.634785 0.682180 0.046625 1.212650 1.360060 1.301003 1.439535 -0.124409 0.942540 0.731761 1.333209 0.714942 0.471897 0.650290)
+     7.936372 #(0.000000 0.547620 0.739031 1.442428 0.549512 0.577585 0.459986 1.527195 1.215306 0.359566 1.254454 1.014209 0.650822 0.596119 0.113760 0.896295 1.336762 1.511746 1.057661 0.208519 1.475881 1.168554 0.473943 0.693948 1.550424 1.853884 0.945372 1.595949 0.778275 1.634785 0.682180 0.046625 1.212650 1.360060 1.301003 1.439535 -0.124409 0.942540 0.731761 1.333209 0.714942 0.471897 0.650290)
      )
 
 ;;; 44 prime --------------------------------------------------------------------------------
-(vector 44 9.6263332366943 (fv 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1)
+(vector 44 9.6263332366943 #(0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1)
 
-	8.176709 (fv 0.000000 1.257550 0.185092 0.796030 0.965692 0.874957 0.509986 0.767942 0.341523 0.782136 0.038164 0.864386 1.769646 0.079272 0.204040 1.740714 1.803726 0.921433 1.521099 0.318212 0.489644 0.199834 1.292293 1.253087 0.592822 0.223282 1.099161 1.260064 0.604685 -0.025938 0.319010 0.021098 0.567021 1.052022 1.286473 1.481285 1.059939 -0.262037 0.222072 1.063305 0.811574 1.525604 0.928719 1.796860)
+	8.176709 #(0.000000 1.257550 0.185092 0.796030 0.965692 0.874957 0.509986 0.767942 0.341523 0.782136 0.038164 0.864386 1.769646 0.079272 0.204040 1.740714 1.803726 0.921433 1.521099 0.318212 0.489644 0.199834 1.292293 1.253087 0.592822 0.223282 1.099161 1.260064 0.604685 -0.025938 0.319010 0.021098 0.567021 1.052022 1.286473 1.481285 1.059939 -0.262037 0.222072 1.063305 0.811574 1.525604 0.928719 1.796860)
 
 	;; 45-1
-	8.096356 (fv 0.000000 0.562197 0.780059 1.445061 0.297993 0.361779 0.450977 1.579753 1.251177 0.406295 1.140037 1.270462 0.688429 0.742666 0.310753 0.814792 1.242058 1.590925 1.239292 0.244955 1.563091 1.453652 0.466187 0.926031 1.420624 1.869915 0.975705 1.750035 0.662252 1.713066 0.628893 0.005473 1.403763 1.231668 1.313745 1.548647 0.181657 1.165934 0.757198 1.479137 0.584746 0.478571 0.777834 -0.217890)
+	8.096356 #(0.000000 0.562197 0.780059 1.445061 0.297993 0.361779 0.450977 1.579753 1.251177 0.406295 1.140037 1.270462 0.688429 0.742666 0.310753 0.814792 1.242058 1.590925 1.239292 0.244955 1.563091 1.453652 0.466187 0.926031 1.420624 1.869915 0.975705 1.750035 0.662252 1.713066 0.628893 0.005473 1.403763 1.231668 1.313745 1.548647 0.181657 1.165934 0.757198 1.479137 0.584746 0.478571 0.777834 -0.217890)
      )
 
 ;;; 45 prime --------------------------------------------------------------------------------
-(vector 45 9.7923860549927 (fv 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1)
+(vector 45 9.7923860549927 #(0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1)
 
-     8.156599 (fv 0.000000 0.504922 0.822887 1.454973 0.213937 0.312131 0.458345 1.480849 1.269108 0.365243 1.136961 1.370780 0.828694 0.744612 0.260671 0.781252 1.246491 1.660559 1.261864 0.159271 1.560422 1.570906 0.366422 0.845904 1.468563 1.922211 0.928352 1.793476 0.526909 1.787205 0.580505 0.086715 1.290991 1.241712 1.319383 1.542592 0.148589 1.164537 0.833531 1.339389 0.578898 0.484755 0.736594 -0.242427 0.801799)
+     8.156599 #(0.000000 0.504922 0.822887 1.454973 0.213937 0.312131 0.458345 1.480849 1.269108 0.365243 1.136961 1.370780 0.828694 0.744612 0.260671 0.781252 1.246491 1.660559 1.261864 0.159271 1.560422 1.570906 0.366422 0.845904 1.468563 1.922211 0.928352 1.793476 0.526909 1.787205 0.580505 0.086715 1.290991 1.241712 1.319383 1.542592 0.148589 1.164537 0.833531 1.339389 0.578898 0.484755 0.736594 -0.242427 0.801799)
      )
 
 ;;; 46 prime --------------------------------------------------------------------------------
-(vector 46 9.7220277786255 (fv 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 0)
+(vector 46 9.7220277786255 #(0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 0)
 
-     8.261457 (fv 0.000000 0.441366 0.083292 1.447582 1.080353 0.774431 1.031820 0.396571 -0.029186 1.855247 0.017145 1.352007 1.097546 -0.117433 1.240120 0.492762 0.418188 1.012485 1.839598 0.629307 1.143304 0.248686 0.786166 1.148481 0.944111 0.160389 0.887598 1.383912 1.951363 0.089194 -0.493379 0.490615 1.318218 0.811054 1.210433 0.709880 -0.035076 1.496491 0.871523 0.967276 1.296575 1.252407 1.309942 0.517653 0.515382 1.088417)
+     8.261457 #(0.000000 0.441366 0.083292 1.447582 1.080353 0.774431 1.031820 0.396571 -0.029186 1.855247 0.017145 1.352007 1.097546 -0.117433 1.240120 0.492762 0.418188 1.012485 1.839598 0.629307 1.143304 0.248686 0.786166 1.148481 0.944111 0.160389 0.887598 1.383912 1.951363 0.089194 -0.493379 0.490615 1.318218 0.811054 1.210433 0.709880 -0.035076 1.496491 0.871523 0.967276 1.296575 1.252407 1.309942 0.517653 0.515382 1.088417)
      )
 
 ;;; 47 prime --------------------------------------------------------------------------------
-(vector 47 10.0            (fv 0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0)
+(vector 47 10.0            #(0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0)
 
-     8.421570 (fv 0.000000 1.199171 0.222010 0.019659 0.963763 0.124932 1.211729 1.737991 1.094580 1.129734 1.190285 0.683207 -0.164112 0.760349 0.581192 1.729176 1.903941 0.164043 1.172610 0.400191 0.298724 1.638863 1.039149 1.877811 1.604178 1.896976 0.373311 1.442981 1.057507 1.304308 1.366346 0.989245 1.435551 1.273331 -0.037405 1.342363 0.026228 1.277440 1.325955 1.225688 -0.091448 1.243683 1.490056 0.134719 0.038689 0.617889 0.397223)
+     8.421570 #(0.000000 1.199171 0.222010 0.019659 0.963763 0.124932 1.211729 1.737991 1.094580 1.129734 1.190285 0.683207 -0.164112 0.760349 0.581192 1.729176 1.903941 0.164043 1.172610 0.400191 0.298724 1.638863 1.039149 1.877811 1.604178 1.896976 0.373311 1.442981 1.057507 1.304308 1.366346 0.989245 1.435551 1.273331 -0.037405 1.342363 0.026228 1.277440 1.325955 1.225688 -0.091448 1.243683 1.490056 0.134719 0.038689 0.617889 0.397223)
 
      ;; 46+1
-     8.268289 (fv 0.000000 0.357443 0.232912 1.380147 1.115226 0.794363 1.003118 0.354162 -0.098010 1.882974 0.011731 1.431470 1.060533 -0.173886 1.243389 0.433576 0.427301 0.932883 1.964789 0.661151 1.135623 0.224910 0.703565 1.198466 0.988252 0.007869 0.877345 1.478313 1.822166 0.223930 -0.274799 0.527743 1.328214 0.957522 1.199220 0.836897 0.009700 1.499725 0.828964 0.836474 1.158394 1.390117 1.252214 0.607531 0.602372 1.108309 -0.308979)
+     8.268289 #(0.000000 0.357443 0.232912 1.380147 1.115226 0.794363 1.003118 0.354162 -0.098010 1.882974 0.011731 1.431470 1.060533 -0.173886 1.243389 0.433576 0.427301 0.932883 1.964789 0.661151 1.135623 0.224910 0.703565 1.198466 0.988252 0.007869 0.877345 1.478313 1.822166 0.223930 -0.274799 0.527743 1.328214 0.957522 1.199220 0.836897 0.009700 1.499725 0.828964 0.836474 1.158394 1.390117 1.252214 0.607531 0.602372 1.108309 -0.308979)
      )
 
 ;;; 48 prime --------------------------------------------------------------------------------
-(vector 48 10.073040962219 (fv 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1)
+(vector 48 10.073040962219 #(0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1)
 
-     8.468727 (fv 0.000000 0.332125 1.567930 1.667264 0.442332 0.427404 0.736248 1.688653 -0.012194 0.001963 0.946717 0.783117 0.528363 1.021452 0.764794 0.424311 0.975629 0.318718 -0.017782 0.452256 -0.011646 0.634442 1.620045 1.251183 1.855810 -0.212250 0.823868 1.371356 1.272442 0.687371 1.532020 1.114788 -0.144494 0.601199 1.707870 0.646890 1.378450 0.845449 0.429827 0.928104 1.365712 1.152987 1.849756 1.181620 0.737310 0.960075 0.285625 -0.264250)
+     8.468727 #(0.000000 0.332125 1.567930 1.667264 0.442332 0.427404 0.736248 1.688653 -0.012194 0.001963 0.946717 0.783117 0.528363 1.021452 0.764794 0.424311 0.975629 0.318718 -0.017782 0.452256 -0.011646 0.634442 1.620045 1.251183 1.855810 -0.212250 0.823868 1.371356 1.272442 0.687371 1.532020 1.114788 -0.144494 0.601199 1.707870 0.646890 1.378450 0.845449 0.429827 0.928104 1.365712 1.152987 1.849756 1.181620 0.737310 0.960075 0.285625 -0.264250)
      )
 
 ;;; 49 prime --------------------------------------------------------------------------------
-(vector 49 10.209 (fv 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 0 0 0 0)
+(vector 49 10.209 #(0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 0 0 0 0)
 
-     8.635701 (fv 0.000000 1.497567 0.290121 0.986848 0.952275 0.318809 -0.087393 0.815566 0.755417 1.644345 1.093196 1.596845 1.195048 1.825278 0.352544 1.500396 0.111683 1.721871 0.368622 0.016610 1.166008 0.992742 0.548001 1.794858 -0.049088 0.145023 0.031735 0.501144 1.167443 1.072488 1.771198 1.965444 1.813832 0.055643 1.178365 0.731304 -0.108216 1.823862 1.684500 1.505474 0.962838 1.663276 0.896417 -0.047513 0.341741 0.867962 0.622940 1.858325 1.225407)
+     8.635701 #(0.000000 1.497567 0.290121 0.986848 0.952275 0.318809 -0.087393 0.815566 0.755417 1.644345 1.093196 1.596845 1.195048 1.825278 0.352544 1.500396 0.111683 1.721871 0.368622 0.016610 1.166008 0.992742 0.548001 1.794858 -0.049088 0.145023 0.031735 0.501144 1.167443 1.072488 1.771198 1.965444 1.813832 0.055643 1.178365 0.731304 -0.108216 1.823862 1.684500 1.505474 0.962838 1.663276 0.896417 -0.047513 0.341741 0.867962 0.622940 1.858325 1.225407)
 
      ;; 48+1
-     8.663039 (fv 0.000000 0.233282 1.589447 1.671036 0.438087 0.414167 0.679012 1.728850 0.023692 0.137515 1.015881 0.702030 0.655508 0.905046 0.682763 0.579979 1.082390 0.228729 -0.103033 0.415057 0.029242 0.738968 1.600166 1.205869 1.975508 -0.109422 0.921796 1.220834 1.561720 0.608646 1.497185 1.060920 -0.116318 0.565733 1.743370 0.776166 1.333349 0.886037 0.536440 0.806648 1.332765 1.166311 1.868868 1.215596 0.738421 0.985296 0.279827 -0.366830 0.092455)
+     8.663039 #(0.000000 0.233282 1.589447 1.671036 0.438087 0.414167 0.679012 1.728850 0.023692 0.137515 1.015881 0.702030 0.655508 0.905046 0.682763 0.579979 1.082390 0.228729 -0.103033 0.415057 0.029242 0.738968 1.600166 1.205869 1.975508 -0.109422 0.921796 1.220834 1.561720 0.608646 1.497185 1.060920 -0.116318 0.565733 1.743370 0.776166 1.333349 0.886037 0.536440 0.806648 1.332765 1.166311 1.868868 1.215596 0.738421 0.985296 0.279827 -0.366830 0.092455)
 
      ;; 51-2
-     8.582839 (fv 0.000000 1.015072 1.263701 0.053109 -0.198567 -0.119876 -0.074305 0.688310 -0.022609 -0.056918 -0.335561 1.264545 0.175435 0.115160 0.045329 0.044221 0.357377 1.286502 1.011774 0.136492 0.790313 1.216480 1.412877 1.287840 -0.457032 1.185491 0.632250 1.022556 0.092623 0.762340 0.282587 1.173246 0.884457 -0.232556 1.275664 0.026771 1.001804 1.127230 -0.112893 0.390785 1.060560 -0.011579 0.935318 0.798092 1.155912 -0.045270 0.311662 -0.007451 -0.291556)
+     8.582839 #(0.000000 1.015072 1.263701 0.053109 -0.198567 -0.119876 -0.074305 0.688310 -0.022609 -0.056918 -0.335561 1.264545 0.175435 0.115160 0.045329 0.044221 0.357377 1.286502 1.011774 0.136492 0.790313 1.216480 1.412877 1.287840 -0.457032 1.185491 0.632250 1.022556 0.092623 0.762340 0.282587 1.173246 0.884457 -0.232556 1.275664 0.026771 1.001804 1.127230 -0.112893 0.390785 1.060560 -0.011579 0.935318 0.798092 1.155912 -0.045270 0.311662 -0.007451 -0.291556)
      )
 
 ;;; 50 prime --------------------------------------------------------------------------------
-(vector 50 10.402973175049 (fv 0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1)
+(vector 50 10.402973175049 #(0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1)
 
-     8.676090 (fv 0.000000 1.487746 1.059441 1.025372 1.327289 1.088034 0.562677 1.658212 1.275003 1.216651 1.253782 1.464671 0.843363 1.799547 0.053937 0.685289 -0.108899 0.042484 1.103905 1.939714 1.165290 1.002239 0.949057 0.182130 0.764686 0.473808 0.974801 0.114296 0.831687 0.096978 1.328258 1.232106 1.944542 0.907302 0.451517 -0.196659 0.834303 1.063413 0.149435 1.600622 0.877347 1.358710 0.921698 1.475066 0.048402 1.601242 0.635073 1.286124 0.058142 1.221762)
+     8.676090 #(0.000000 1.487746 1.059441 1.025372 1.327289 1.088034 0.562677 1.658212 1.275003 1.216651 1.253782 1.464671 0.843363 1.799547 0.053937 0.685289 -0.108899 0.042484 1.103905 1.939714 1.165290 1.002239 0.949057 0.182130 0.764686 0.473808 0.974801 0.114296 0.831687 0.096978 1.328258 1.232106 1.944542 0.907302 0.451517 -0.196659 0.834303 1.063413 0.149435 1.600622 0.877347 1.358710 0.921698 1.475066 0.048402 1.601242 0.635073 1.286124 0.058142 1.221762)
      )
 
 ;;; 51 prime --------------------------------------------------------------------------------
-(vector 51 10.5841327092253 (fv 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1)
+(vector 51 10.5841327092253 #(0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1)
 
-     8.652946 (fv 0.000000 0.552138 1.581370 0.856634 0.465868 0.045489 1.205822 1.403218 0.756158 -0.011738 -0.321071 1.578958 0.777145 -0.086815 1.971735 0.371739 1.194751 0.827647 1.040995 0.971514 -0.103101 0.019110 0.372121 0.808088 0.569420 0.781614 0.253334 1.524564 0.516258 0.490039 0.356392 1.792991 0.344408 0.177045 1.267803 0.433404 0.355268 0.458783 0.927023 0.366207 1.155001 1.183690 0.095395 1.563819 1.892864 1.168287 1.234142 0.740278 0.190550 0.004346 0.616333)
+     8.652946 #(0.000000 0.552138 1.581370 0.856634 0.465868 0.045489 1.205822 1.403218 0.756158 -0.011738 -0.321071 1.578958 0.777145 -0.086815 1.971735 0.371739 1.194751 0.827647 1.040995 0.971514 -0.103101 0.019110 0.372121 0.808088 0.569420 0.781614 0.253334 1.524564 0.516258 0.490039 0.356392 1.792991 0.344408 0.177045 1.267803 0.433404 0.355268 0.458783 0.927023 0.366207 1.155001 1.183690 0.095395 1.563819 1.892864 1.168287 1.234142 0.740278 0.190550 0.004346 0.616333)
      )
 
 ;;; 52 prime --------------------------------------------------------------------------------
-(vector 52 10.64324760437 (fv 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0)
+(vector 52 10.64324760437 #(0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0)
 
-     8.817479 (fv 0.000000 0.192798 -0.100823 0.105700 1.730433 1.638226 1.781516 0.446103 1.408775 0.715209 0.415865 -0.245030 1.066219 1.674348 0.092550 0.243790 1.271420 0.492458 1.433072 -0.090924 1.409056 0.418163 -0.043783 1.528262 0.043370 1.470310 -0.026080 0.499433 0.961527 0.302716 0.768317 0.686930 1.132134 1.628592 0.701543 1.788137 -0.034028 1.911798 1.160323 1.534119 1.837005 0.994515 0.926867 1.263245 0.147467 1.441753 0.596623 1.430563 0.749640 0.874777 1.097276 0.882051)
+     8.817479 #(0.000000 0.192798 -0.100823 0.105700 1.730433 1.638226 1.781516 0.446103 1.408775 0.715209 0.415865 -0.245030 1.066219 1.674348 0.092550 0.243790 1.271420 0.492458 1.433072 -0.090924 1.409056 0.418163 -0.043783 1.528262 0.043370 1.470310 -0.026080 0.499433 0.961527 0.302716 0.768317 0.686930 1.132134 1.628592 0.701543 1.788137 -0.034028 1.911798 1.160323 1.534119 1.837005 0.994515 0.926867 1.263245 0.147467 1.441753 0.596623 1.430563 0.749640 0.874777 1.097276 0.882051)
      )
 
 ;;; 53 prime --------------------------------------------------------------------------------
-(vector 53 10.678050692694 (fv 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0)
+(vector 53 10.678050692694 #(0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0)
 
-     8.953081 (fv 0.000000 0.788009 1.225451 0.347894 0.336100 0.208645 0.898104 1.918038 1.003547 1.827170 1.665391 0.306753 1.689654 -0.198226 0.387896 0.060438 0.532055 0.677523 0.983575 1.778621 1.222864 0.337168 0.648048 -0.059018 1.548622 0.344050 1.142170 1.624821 1.518580 1.046929 0.925606 0.370284 1.876402 0.554168 0.470781 0.776401 0.841340 0.579159 -0.039732 0.259208 1.047217 1.262845 0.826737 1.840523 0.361249 1.360958 0.974324 0.708988 1.467968 0.681409 0.951917 1.111614 0.104759)
+     8.953081 #(0.000000 0.788009 1.225451 0.347894 0.336100 0.208645 0.898104 1.918038 1.003547 1.827170 1.665391 0.306753 1.689654 -0.198226 0.387896 0.060438 0.532055 0.677523 0.983575 1.778621 1.222864 0.337168 0.648048 -0.059018 1.548622 0.344050 1.142170 1.624821 1.518580 1.046929 0.925606 0.370284 1.876402 0.554168 0.470781 0.776401 0.841340 0.579159 -0.039732 0.259208 1.047217 1.262845 0.826737 1.840523 0.361249 1.360958 0.974324 0.708988 1.467968 0.681409 0.951917 1.111614 0.104759)
      )
 
 ;;; 54 prime --------------------------------------------------------------------------------
-(vector 54 10.582709312439 (fv 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1)
+(vector 54 10.582709312439 #(0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1)
 
-     9.112388 (fv 0.000000 1.372093 1.646727 1.761844 1.071783 1.166972 0.499625 1.353759 1.094968 1.557358 1.723230 0.305306 1.364143 0.672762 0.599554 1.674554 1.196343 0.689593 0.333493 0.212755 0.120333 -0.065165 1.426986 0.808156 0.885002 1.618233 0.075135 0.412240 1.106276 -0.040331 -0.211790 1.351271 1.357179 1.301081 0.221358 0.762445 1.564667 0.202710 0.573995 1.689552 -0.051477 0.301020 1.046697 1.701827 0.907077 1.277114 0.971869 1.525859 1.752503 0.167031 0.961443 1.737745 0.154432 0.302453)
+     9.112388 #(0.000000 1.372093 1.646727 1.761844 1.071783 1.166972 0.499625 1.353759 1.094968 1.557358 1.723230 0.305306 1.364143 0.672762 0.599554 1.674554 1.196343 0.689593 0.333493 0.212755 0.120333 -0.065165 1.426986 0.808156 0.885002 1.618233 0.075135 0.412240 1.106276 -0.040331 -0.211790 1.351271 1.357179 1.301081 0.221358 0.762445 1.564667 0.202710 0.573995 1.689552 -0.051477 0.301020 1.046697 1.701827 0.907077 1.277114 0.971869 1.525859 1.752503 0.167031 0.961443 1.737745 0.154432 0.302453)
 
      ;; 53+1:
-     8.998093 (fv 0.000000 0.833931 1.255875 0.472195 0.500550 0.340958 0.889757 0.121823 0.999320 0.070168 1.822021 0.295115 1.599399 -0.278061 0.379867 0.053981 0.523149 0.552145 1.083746 1.542483 1.125023 0.280437 0.929583 0.145648 1.540352 0.570681 1.206535 1.391546 1.500834 1.280825 0.880416 0.297287 1.694488 0.607699 0.578077 0.733733 1.017737 0.538903 -0.079031 0.194742 1.159273 1.400820 0.893900 1.836755 0.359898 1.011475 0.991536 0.601097 1.637805 0.711833 1.160027 0.904915 0.240256 -0.100113)
+     8.998093 #(0.000000 0.833931 1.255875 0.472195 0.500550 0.340958 0.889757 0.121823 0.999320 0.070168 1.822021 0.295115 1.599399 -0.278061 0.379867 0.053981 0.523149 0.552145 1.083746 1.542483 1.125023 0.280437 0.929583 0.145648 1.540352 0.570681 1.206535 1.391546 1.500834 1.280825 0.880416 0.297287 1.694488 0.607699 0.578077 0.733733 1.017737 0.538903 -0.079031 0.194742 1.159273 1.400820 0.893900 1.836755 0.359898 1.011475 0.991536 0.601097 1.637805 0.711833 1.160027 0.904915 0.240256 -0.100113)
      )
 
 ;;; 55 prime --------------------------------------------------------------------------------
-(vector 55 10.806410031758 (fv 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0)
+(vector 55 10.806410031758 #(0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0)
 
-     9.146479 (fv 0.000000 0.967563 0.927691 -0.360864 0.609958 0.765470 0.915027 1.392793 0.614248 0.953214 1.344500 -0.018857 0.737576 1.736931 1.631618 1.349440 1.307993 0.206073 1.281714 1.103145 0.628925 0.887703 0.370354 -0.354414 1.471798 1.220261 -1.840190 0.459998 0.319058 1.569823 -0.402409 1.289240 1.207248 1.401276 1.334659 0.647076 0.124770 0.659947 1.220235 0.570854 1.506684 0.326123 0.300730 0.226766 1.668245 0.069090 1.091084 1.792555 0.448614 1.706735 1.552724 -0.117313 1.845004 0.249242 0.002966)
+     9.146479 #(0.000000 0.967563 0.927691 -0.360864 0.609958 0.765470 0.915027 1.392793 0.614248 0.953214 1.344500 -0.018857 0.737576 1.736931 1.631618 1.349440 1.307993 0.206073 1.281714 1.103145 0.628925 0.887703 0.370354 -0.354414 1.471798 1.220261 -1.840190 0.459998 0.319058 1.569823 -0.402409 1.289240 1.207248 1.401276 1.334659 0.647076 0.124770 0.659947 1.220235 0.570854 1.506684 0.326123 0.300730 0.226766 1.668245 0.069090 1.091084 1.792555 0.448614 1.706735 1.552724 -0.117313 1.845004 0.249242 0.002966)
      )
 
 ;;; 56 prime --------------------------------------------------------------------------------
-(vector 56 10.976176261902 (fv 0 0 1 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1)
+(vector 56 10.976176261902 #(0 0 1 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1)
 
-	9.398396 (fv 0.000000 0.094656 0.695846 1.603834 1.096947 0.190376 1.605668 0.402610 1.589743 -0.046719 0.479899 1.053090 1.455624 1.475630 1.560612 1.146935 -0.097134 1.379647 0.063965 0.026372 0.001091 0.417420 0.372665 0.295880 0.375803 1.735862 -0.241158 0.226369 0.344276 0.614802 1.609054 1.733862 -0.048343 1.607193 0.295369 0.796984 0.953479 0.777849 -0.315058 -0.215768 1.445593 0.800481 -0.018312 0.085983 1.492275 1.800390 0.955850 0.344132 0.748720 -0.182377 -0.021909 0.550436 1.590599 1.124545 1.577258 1.243187)
+	9.398396 #(0.000000 0.094656 0.695846 1.603834 1.096947 0.190376 1.605668 0.402610 1.589743 -0.046719 0.479899 1.053090 1.455624 1.475630 1.560612 1.146935 -0.097134 1.379647 0.063965 0.026372 0.001091 0.417420 0.372665 0.295880 0.375803 1.735862 -0.241158 0.226369 0.344276 0.614802 1.609054 1.733862 -0.048343 1.607193 0.295369 0.796984 0.953479 0.777849 -0.315058 -0.215768 1.445593 0.800481 -0.018312 0.085983 1.492275 1.800390 0.955850 0.344132 0.748720 -0.182377 -0.021909 0.550436 1.590599 1.124545 1.577258 1.243187)
 
 	; 55+1
-	9.213442 (fv 0.000000 0.950801 0.904714 -0.508703 0.661009 0.831586 0.884308 1.497773 0.634206 0.800998 1.332469 0.044201 0.725326 1.681333 1.804312 1.427989 1.278065 0.225748 1.222051 1.044010 0.570030 1.029930 0.330187 -0.354523 1.385937 1.248658 -1.994529 0.420806 0.301325 1.707662 -0.449043 1.164884 1.219283 1.466837 1.371490 0.636485 0.172055 0.643834 1.272809 0.563267 1.543526 0.353044 0.368529 0.213972 1.758208 0.147525 1.155503 1.739729 0.512727 1.742754 1.612106 -0.186498 1.717200 0.213592 0.028127 -0.105694)
+	9.213442 #(0.000000 0.950801 0.904714 -0.508703 0.661009 0.831586 0.884308 1.497773 0.634206 0.800998 1.332469 0.044201 0.725326 1.681333 1.804312 1.427989 1.278065 0.225748 1.222051 1.044010 0.570030 1.029930 0.330187 -0.354523 1.385937 1.248658 -1.994529 0.420806 0.301325 1.707662 -0.449043 1.164884 1.219283 1.466837 1.371490 0.636485 0.172055 0.643834 1.272809 0.563267 1.543526 0.353044 0.368529 0.213972 1.758208 0.147525 1.155503 1.739729 0.512727 1.742754 1.612106 -0.186498 1.717200 0.213592 0.028127 -0.105694)
      )
 
 ;;; 57 prime --------------------------------------------------------------------------------
-(vector 57 11.247724533081 (fv 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1)
+(vector 57 11.247724533081 #(0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1)
 
-	9.567937 (fv 0.000000 -0.074489 1.764667 1.562855 -0.045942 1.688785 0.424094 0.788093 1.318249 1.699500 1.597710 0.759778 0.347915 -0.095100 0.967999 1.558373 1.224410 -0.005793 1.163013 1.817831 1.260212 1.123377 0.674940 0.664211 1.043062 -0.159530 1.686511 0.775041 1.335210 0.664604 0.251332 0.046341 0.133324 0.094858 -0.073202 1.314310 1.874591 1.317512 0.082927 1.516375 0.524906 0.812252 0.819331 0.420977 1.188424 0.646402 1.644694 0.551897 0.757891 1.055306 1.295231 1.095924 0.627116 1.401110 0.235317 1.483585 0.936274)
+	9.567937 #(0.000000 -0.074489 1.764667 1.562855 -0.045942 1.688785 0.424094 0.788093 1.318249 1.699500 1.597710 0.759778 0.347915 -0.095100 0.967999 1.558373 1.224410 -0.005793 1.163013 1.817831 1.260212 1.123377 0.674940 0.664211 1.043062 -0.159530 1.686511 0.775041 1.335210 0.664604 0.251332 0.046341 0.133324 0.094858 -0.073202 1.314310 1.874591 1.317512 0.082927 1.516375 0.524906 0.812252 0.819331 0.420977 1.188424 0.646402 1.644694 0.551897 0.757891 1.055306 1.295231 1.095924 0.627116 1.401110 0.235317 1.483585 0.936274)
 
 	;; old 56+1
-	9.529594 (fv 0.000000 0.147122 0.761626 1.581775 0.991521 0.303398 1.538303 0.250231 1.516156 -0.033991 0.496296 1.098128 1.450885 1.473689 1.672255 1.122803 -0.210233 1.300861 0.064078 0.004743 0.013527 0.414701 0.325782 0.261492 0.363241 1.708852 -0.205248 0.171322 0.269253 0.615657 1.654144 1.808189 -0.053761 1.665701 0.276750 0.872232 1.105105 0.764170 -0.448707 -0.286149 1.484838 0.786694 -0.015133 0.173812 1.436796 1.864880 0.980591 0.327079 0.799812 -0.230067 -0.066056 0.534676 1.508154 1.155564 1.645708 1.183535 0.088307)
+	9.529594 #(0.000000 0.147122 0.761626 1.581775 0.991521 0.303398 1.538303 0.250231 1.516156 -0.033991 0.496296 1.098128 1.450885 1.473689 1.672255 1.122803 -0.210233 1.300861 0.064078 0.004743 0.013527 0.414701 0.325782 0.261492 0.363241 1.708852 -0.205248 0.171322 0.269253 0.615657 1.654144 1.808189 -0.053761 1.665701 0.276750 0.872232 1.105105 0.764170 -0.448707 -0.286149 1.484838 0.786694 -0.015133 0.173812 1.436796 1.864880 0.980591 0.327079 0.799812 -0.230067 -0.066056 0.534676 1.508154 1.155564 1.645708 1.183535 0.088307)
 
 	;; 56+1
-	9.246042 (fv 0.000000 1.068254 0.912344 -0.579409 0.699964 0.833848 0.899690 1.280880 0.729555 0.772814 1.165620 0.113563 0.958418 1.776654 1.746943 1.402708 1.254651 0.244552 1.303164 0.938450 0.572896 0.902407 0.419733 -0.424031 1.525432 1.318732 -1.856680 0.294120 0.271355 1.825185 -0.454382 1.066744 1.206377 1.513453 1.348624 0.487546 0.090590 0.574392 1.204512 0.396962 1.588976 0.339722 0.399778 0.196224 1.725471 0.086935 1.086444 1.835851 0.439978 1.611137 1.567240 -0.063335 1.719558 0.447194 0.045334 -0.250234 0.164616)
+	9.246042 #(0.000000 1.068254 0.912344 -0.579409 0.699964 0.833848 0.899690 1.280880 0.729555 0.772814 1.165620 0.113563 0.958418 1.776654 1.746943 1.402708 1.254651 0.244552 1.303164 0.938450 0.572896 0.902407 0.419733 -0.424031 1.525432 1.318732 -1.856680 0.294120 0.271355 1.825185 -0.454382 1.066744 1.206377 1.513453 1.348624 0.487546 0.090590 0.574392 1.204512 0.396962 1.588976 0.339722 0.399778 0.196224 1.725471 0.086935 1.086444 1.835851 0.439978 1.611137 1.567240 -0.063335 1.719558 0.447194 0.045334 -0.250234 0.164616)
      )
 
 ;;; 58 prime --------------------------------------------------------------------------------
-(vector 58 11.261419321863 (fv 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1)
+(vector 58 11.261419321863 #(0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1)
 
-	9.496347 (fv 0.000000 0.059743 0.548997 0.530263 0.226709 0.929160 -0.003047 0.125973 0.533773 1.548469 1.087643 1.570490 0.714949 0.863084 1.167817 1.094596 0.710052 1.511445 0.483704 1.291778 1.179203 1.180959 0.109073 0.094424 -0.384843 0.103787 0.722897 0.948977 1.484212 0.671726 0.961877 1.358209 1.232685 1.456297 0.651862 0.171910 0.370224 1.284842 1.052862 0.918644 1.853795 0.756435 1.065168 1.308648 0.977275 0.827028 1.655929 0.742384 0.217339 0.808896 0.296638 1.208667 1.265590 0.019271 0.389600 0.183945 0.533565 1.638734)
+	9.496347 #(0.000000 0.059743 0.548997 0.530263 0.226709 0.929160 -0.003047 0.125973 0.533773 1.548469 1.087643 1.570490 0.714949 0.863084 1.167817 1.094596 0.710052 1.511445 0.483704 1.291778 1.179203 1.180959 0.109073 0.094424 -0.384843 0.103787 0.722897 0.948977 1.484212 0.671726 0.961877 1.358209 1.232685 1.456297 0.651862 0.171910 0.370224 1.284842 1.052862 0.918644 1.853795 0.756435 1.065168 1.308648 0.977275 0.827028 1.655929 0.742384 0.217339 0.808896 0.296638 1.208667 1.265590 0.019271 0.389600 0.183945 0.533565 1.638734)
 
      ;; 57+1
-	9.428825 (fv 0.000000 1.018908 0.901444 -0.615819 0.860485 0.681403 0.932140 1.367257 0.748226 0.856986 1.087905 -0.048047 0.777707 1.778584 1.735112 1.472731 1.253932 0.300987 1.373471 0.844264 0.566375 0.847406 0.280264 -0.528105 1.424599 1.371262 -0.084608 0.304532 0.358385 1.652997 -0.476953 1.150522 1.226908 1.441019 1.199333 0.513348 0.039957 0.545771 1.150857 0.473094 1.508935 0.466022 0.322870 0.315957 1.725788 0.047786 1.078150 1.717254 0.429354 1.592876 1.500586 -0.142982 1.851065 0.442979 -0.034671 -0.282154 0.042441 0.094078)
+	9.428825 #(0.000000 1.018908 0.901444 -0.615819 0.860485 0.681403 0.932140 1.367257 0.748226 0.856986 1.087905 -0.048047 0.777707 1.778584 1.735112 1.472731 1.253932 0.300987 1.373471 0.844264 0.566375 0.847406 0.280264 -0.528105 1.424599 1.371262 -0.084608 0.304532 0.358385 1.652997 -0.476953 1.150522 1.226908 1.441019 1.199333 0.513348 0.039957 0.545771 1.150857 0.473094 1.508935 0.466022 0.322870 0.315957 1.725788 0.047786 1.078150 1.717254 0.429354 1.592876 1.500586 -0.142982 1.851065 0.442979 -0.034671 -0.282154 0.042441 0.094078)
      )
 
 ;;; 59 prime --------------------------------------------------------------------------------
-(vector 59 11.34253692627 (fv 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1)
+(vector 59 11.34253692627 #(0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1)
 
-     9.424456 (fv 0.000000 0.987831 1.263819 0.296674 0.942023 0.441708 0.159032 1.836629 0.018568 -0.056141 1.409550 -0.045051 1.184001 1.106575 0.859402 0.865929 1.344330 -0.022715 1.852739 1.494636 -0.146236 1.538496 0.317717 1.985293 0.734507 0.982797 0.398619 1.595615 1.945403 0.701589 1.197367 1.012887 0.543978 1.174908 1.430788 -0.128888 0.147545 0.984537 1.324816 1.549298 0.656696 -0.006636 1.201874 1.148588 0.795564 1.108773 1.687645 0.571018 0.266043 1.954157 1.006840 0.084613 0.524554 1.761460 0.208641 0.094850 0.141845 0.437731 0.909728)
+     9.424456 #(0.000000 0.987831 1.263819 0.296674 0.942023 0.441708 0.159032 1.836629 0.018568 -0.056141 1.409550 -0.045051 1.184001 1.106575 0.859402 0.865929 1.344330 -0.022715 1.852739 1.494636 -0.146236 1.538496 0.317717 1.985293 0.734507 0.982797 0.398619 1.595615 1.945403 0.701589 1.197367 1.012887 0.543978 1.174908 1.430788 -0.128888 0.147545 0.984537 1.324816 1.549298 0.656696 -0.006636 1.201874 1.148588 0.795564 1.108773 1.687645 0.571018 0.266043 1.954157 1.006840 0.084613 0.524554 1.761460 0.208641 0.094850 0.141845 0.437731 0.909728)
      )
 
 ;;; 60 prime --------------------------------------------------------------------------------
-(vector 60 11.512454032898 (fv 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0)
+(vector 60 11.512454032898 #(0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0)
 
-     9.657740 (fv 0.000000 1.547780 1.677673 1.073672 -0.181562 1.466665 0.178185 1.296168 1.180984 0.799114 0.182696 1.568868 1.363180 0.494840 -0.056028 1.003607 1.541063 0.417763 1.700695 0.183440 0.905951 0.331420 0.794062 0.890276 1.122192 1.798420 0.731798 0.770804 1.703299 0.813575 0.660992 1.187791 1.645314 1.481351 1.240486 1.798220 0.254797 0.358769 1.758554 0.791594 0.131877 0.642084 0.956267 -0.226021 -0.095209 1.368914 1.922174 1.414955 -0.029158 0.411776 1.206976 1.720135 0.221233 0.679698 1.694654 0.956928 0.036757 1.792835 0.004408 0.786308)
+     9.657740 #(0.000000 1.547780 1.677673 1.073672 -0.181562 1.466665 0.178185 1.296168 1.180984 0.799114 0.182696 1.568868 1.363180 0.494840 -0.056028 1.003607 1.541063 0.417763 1.700695 0.183440 0.905951 0.331420 0.794062 0.890276 1.122192 1.798420 0.731798 0.770804 1.703299 0.813575 0.660992 1.187791 1.645314 1.481351 1.240486 1.798220 0.254797 0.358769 1.758554 0.791594 0.131877 0.642084 0.956267 -0.226021 -0.095209 1.368914 1.922174 1.414955 -0.029158 0.411776 1.206976 1.720135 0.221233 0.679698 1.694654 0.956928 0.036757 1.792835 0.004408 0.786308)
 
      ;; 59+1
-     9.567932 (fv 0.000000 0.987181 1.155730 0.332214 0.959672 0.422609 0.139164 1.858170 1.971933 -0.085625 1.367690 0.092445 1.162248 1.070252 0.880093 0.923540 1.286688 -0.075166 1.802993 1.583654 -0.058064 1.544851 0.459865 -0.017801 0.622918 1.081434 0.420245 1.717169 1.954432 0.771937 1.209324 0.923890 0.475411 1.176878 1.472899 -0.165713 0.114758 1.012016 1.333064 1.459949 0.672973 0.014198 1.279333 1.152000 0.797283 1.103957 1.630723 0.491103 0.146670 1.964833 1.081703 0.052456 0.483259 1.761154 0.245675 0.138222 0.019396 0.460673 0.907223 -0.053470)
+     9.567932 #(0.000000 0.987181 1.155730 0.332214 0.959672 0.422609 0.139164 1.858170 1.971933 -0.085625 1.367690 0.092445 1.162248 1.070252 0.880093 0.923540 1.286688 -0.075166 1.802993 1.583654 -0.058064 1.544851 0.459865 -0.017801 0.622918 1.081434 0.420245 1.717169 1.954432 0.771937 1.209324 0.923890 0.475411 1.176878 1.472899 -0.165713 0.114758 1.012016 1.333064 1.459949 0.672973 0.014198 1.279333 1.152000 0.797283 1.103957 1.630723 0.491103 0.146670 1.964833 1.081703 0.052456 0.483259 1.761154 0.245675 0.138222 0.019396 0.460673 0.907223 -0.053470)
      )
 
 ;;; 61 prime --------------------------------------------------------------------------------
-(vector 61 11.850807189941 (fv 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1)
+(vector 61 11.850807189941 #(0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1)
 
-     9.848207 (fv 0.000000 0.465768 1.502052 1.208112 1.687111 1.098823 0.136558 1.242624 0.803898 1.305434 0.569022 0.707134 0.107360 0.681230 1.626786 1.180372 0.428544 0.064966 0.220601 0.606687 1.112200 0.761343 0.147814 1.074432 0.974575 0.150330 0.295078 1.965080 0.596171 1.395202 1.511902 0.719123 0.058806 0.162986 1.356055 1.017221 1.069746 0.022458 1.119273 0.473964 1.602481 0.117785 0.745272 0.467208 1.699348 0.892580 0.864605 0.883970 -0.281719 1.309124 0.657105 1.259919 1.224601 1.818239 1.863265 0.645463 0.762464 -0.184384 0.778659 1.743798 0.403645)
+     9.848207 #(0.000000 0.465768 1.502052 1.208112 1.687111 1.098823 0.136558 1.242624 0.803898 1.305434 0.569022 0.707134 0.107360 0.681230 1.626786 1.180372 0.428544 0.064966 0.220601 0.606687 1.112200 0.761343 0.147814 1.074432 0.974575 0.150330 0.295078 1.965080 0.596171 1.395202 1.511902 0.719123 0.058806 0.162986 1.356055 1.017221 1.069746 0.022458 1.119273 0.473964 1.602481 0.117785 0.745272 0.467208 1.699348 0.892580 0.864605 0.883970 -0.281719 1.309124 0.657105 1.259919 1.224601 1.818239 1.863265 0.645463 0.762464 -0.184384 0.778659 1.743798 0.403645)
 
      ;; 60+1
-     9.674304 (fv 0.000000 0.942988 1.185184 0.401228 0.922656 0.384439 0.124613 1.797598 1.871679 -0.085568 1.287716 0.127521 1.211990 1.110404 1.018269 0.906936 1.241998 -0.006224 1.802916 1.625042 -0.136580 1.655334 0.507522 0.019978 0.578715 1.045428 0.440588 1.674467 1.983824 0.788229 1.261730 0.967897 0.387538 1.232060 1.526658 -0.187478 0.170755 1.104323 1.383734 1.532583 0.668063 0.082609 1.255511 1.174792 0.795177 1.135630 1.640793 0.324749 0.311806 1.930005 1.005470 -0.027359 0.440238 1.824355 0.182093 -0.005304 0.026835 0.470199 0.945827 0.102044 -0.110982)
+     9.674304 #(0.000000 0.942988 1.185184 0.401228 0.922656 0.384439 0.124613 1.797598 1.871679 -0.085568 1.287716 0.127521 1.211990 1.110404 1.018269 0.906936 1.241998 -0.006224 1.802916 1.625042 -0.136580 1.655334 0.507522 0.019978 0.578715 1.045428 0.440588 1.674467 1.983824 0.788229 1.261730 0.967897 0.387538 1.232060 1.526658 -0.187478 0.170755 1.104323 1.383734 1.532583 0.668063 0.082609 1.255511 1.174792 0.795177 1.135630 1.640793 0.324749 0.311806 1.930005 1.005470 -0.027359 0.440238 1.824355 0.182093 -0.005304 0.026835 0.470199 0.945827 0.102044 -0.110982)
      )
 
 ;;; 62 prime --------------------------------------------------------------------------------
-(vector 62 11.709966659546 (fv 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0)
+(vector 62 11.709966659546 #(0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0)
 
-	9.787654 (fv 0.000000 0.164735 0.495571 0.194524 1.700130 -0.039330 1.112293 0.631854 1.622240 0.234398 0.057253 0.622061 1.299807 1.150659 1.089362 1.262936 0.326220 0.146372 0.440190 0.705699 0.320098 1.480138 -0.723459 0.298112 1.483411 -0.413300 0.234477 1.688059 0.592934 1.563752 1.095288 0.196837 0.912297 -0.114061 -0.100816 0.101717 1.569678 0.725974 1.210511 1.268915 0.220895 1.789986 0.880755 0.550271 0.862882 1.562267 1.201540 0.696671 0.139442 0.617496 0.156201 0.378889 1.874933 0.550733 0.693398 0.120666 0.641553 1.379939 0.633855 1.283976 1.797799 0.211762)
+	9.787654 #(0.000000 0.164735 0.495571 0.194524 1.700130 -0.039330 1.112293 0.631854 1.622240 0.234398 0.057253 0.622061 1.299807 1.150659 1.089362 1.262936 0.326220 0.146372 0.440190 0.705699 0.320098 1.480138 -0.723459 0.298112 1.483411 -0.413300 0.234477 1.688059 0.592934 1.563752 1.095288 0.196837 0.912297 -0.114061 -0.100816 0.101717 1.569678 0.725974 1.210511 1.268915 0.220895 1.789986 0.880755 0.550271 0.862882 1.562267 1.201540 0.696671 0.139442 0.617496 0.156201 0.378889 1.874933 0.550733 0.693398 0.120666 0.641553 1.379939 0.633855 1.283976 1.797799 0.211762)
 
      ;; 63-1
-	9.733736 (fv 0.000000 -0.139952 0.119957 0.369616 1.566294 0.358962 1.150575 0.658899 1.145823 0.565498 0.818035 -0.078756 0.339361 0.036853 -0.081445 1.284492 0.104736 1.510521 0.937147 0.788271 1.526814 1.396514 1.280490 1.469510 1.789649 0.285213 0.650226 0.881585 0.728974 1.810762 -0.044930 1.659215 0.713447 0.623929 1.496774 0.951425 0.357075 1.369241 1.674041 0.637986 0.902200 0.722908 0.299878 -0.044061 0.733643 0.407073 1.473577 0.408899 -0.199740 0.425185 0.345580 1.674452 0.584665 1.350356 0.031128 1.247150 0.256688 0.635884 0.503839 0.135030 0.263417 1.006656)
+	9.733736 #(0.000000 -0.139952 0.119957 0.369616 1.566294 0.358962 1.150575 0.658899 1.145823 0.565498 0.818035 -0.078756 0.339361 0.036853 -0.081445 1.284492 0.104736 1.510521 0.937147 0.788271 1.526814 1.396514 1.280490 1.469510 1.789649 0.285213 0.650226 0.881585 0.728974 1.810762 -0.044930 1.659215 0.713447 0.623929 1.496774 0.951425 0.357075 1.369241 1.674041 0.637986 0.902200 0.722908 0.299878 -0.044061 0.733643 0.407073 1.473577 0.408899 -0.199740 0.425185 0.345580 1.674452 0.584665 1.350356 0.031128 1.247150 0.256688 0.635884 0.503839 0.135030 0.263417 1.006656)
      )
 
 ;;; 63 prime --------------------------------------------------------------------------------
-(vector 63 11.975765228271 (fv 0 0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0)
+(vector 63 11.975765228271 #(0 0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0)
 
-     9.712956 (fv 0.000000 -0.211512 0.128156 0.205336 1.631792 0.223993 1.120077 0.677974 1.189520 0.635587 0.786994 -0.140042 0.270508 0.031528 -0.026718 1.271754 0.161836 1.519308 0.919403 0.725190 1.656604 1.430895 1.216006 1.507263 1.740613 0.380045 0.740422 0.860394 0.644699 1.785241 -0.063336 1.757196 0.670969 0.631113 1.432730 0.929994 0.449373 1.355893 1.665671 0.697673 0.900343 0.706516 0.261640 0.022846 0.779166 0.410962 1.451999 0.372853 -0.213671 0.428231 0.418722 1.770544 0.502738 1.423557 0.029160 1.322724 0.247556 0.608992 0.392989 0.101597 0.240746 1.015503 0.321046)
+     9.712956 #(0.000000 -0.211512 0.128156 0.205336 1.631792 0.223993 1.120077 0.677974 1.189520 0.635587 0.786994 -0.140042 0.270508 0.031528 -0.026718 1.271754 0.161836 1.519308 0.919403 0.725190 1.656604 1.430895 1.216006 1.507263 1.740613 0.380045 0.740422 0.860394 0.644699 1.785241 -0.063336 1.757196 0.670969 0.631113 1.432730 0.929994 0.449373 1.355893 1.665671 0.697673 0.900343 0.706516 0.261640 0.022846 0.779166 0.410962 1.451999 0.372853 -0.213671 0.428231 0.418722 1.770544 0.502738 1.423557 0.029160 1.322724 0.247556 0.608992 0.392989 0.101597 0.240746 1.015503 0.321046)
      )
 
 ;;; 64 prime --------------------------------------------------------------------------------
-(vector 64 11.932915769505 (fv 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1)
+(vector 64 11.932915769505 #(0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1)
 
-     9.911897 (fv 0.000000 -0.176519 0.277243 1.457679 0.409823 0.492128 1.258703 0.953828 0.451970 -0.035755 1.413815 0.576790 1.007663 1.557197 0.406393 0.901721 0.935399 0.344434 0.058666 -0.004874 0.033568 0.266354 0.964058 1.260921 0.110946 0.586184 1.551133 0.560107 1.655832 1.431146 0.094791 0.726936 0.404173 1.258539 0.363860 0.287498 0.704556 1.358694 0.848351 1.352219 1.358382 1.634548 0.646434 0.536511 1.151363 1.507902 0.370229 -0.111562 0.018845 1.351430 0.613337 0.524145 0.030867 1.602701 0.958191 0.774983 0.900142 1.319974 1.665985 0.954409 0.571244 0.683517 0.257283 0.560359)
+     9.911897 #(0.000000 -0.176519 0.277243 1.457679 0.409823 0.492128 1.258703 0.953828 0.451970 -0.035755 1.413815 0.576790 1.007663 1.557197 0.406393 0.901721 0.935399 0.344434 0.058666 -0.004874 0.033568 0.266354 0.964058 1.260921 0.110946 0.586184 1.551133 0.560107 1.655832 1.431146 0.094791 0.726936 0.404173 1.258539 0.363860 0.287498 0.704556 1.358694 0.848351 1.352219 1.358382 1.634548 0.646434 0.536511 1.151363 1.507902 0.370229 -0.111562 0.018845 1.351430 0.613337 0.524145 0.030867 1.602701 0.958191 0.774983 0.900142 1.319974 1.665985 0.954409 0.571244 0.683517 0.257283 0.560359)
      )
 
 ;;; 65 prime --------------------------------------------------------------------------------
-(vector 65 12.264873504639 (fv 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0)
+(vector 65 12.264873504639 #(0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0)
 
-	10.245810 (fv 0.000000 1.314885 -0.128565 -0.061767 0.245423 0.308150 0.666161 1.799635 0.121779 1.318087 1.095106 1.813764 1.363803 0.687883 0.082989 1.252556 0.674431 0.081538 1.120705 -0.053380 0.222404 0.418326 1.266348 1.095265 1.090145 0.914385 0.672015 0.091667 0.221386 0.230885 1.047444 0.950558 0.582123 1.829143 1.939330 0.054401 0.665085 0.669868 1.410783 0.893429 1.398299 1.087907 0.120341 1.456277 0.134554 1.548051 0.155644 0.252207 0.317819 0.803060 0.255268 0.011364 1.407071 1.292331 1.862089 -0.144291 1.528219 0.241256 -0.215537 1.071975 0.180828 1.509027 1.608200 1.880646 0.432459)
+	10.245810 #(0.000000 1.314885 -0.128565 -0.061767 0.245423 0.308150 0.666161 1.799635 0.121779 1.318087 1.095106 1.813764 1.363803 0.687883 0.082989 1.252556 0.674431 0.081538 1.120705 -0.053380 0.222404 0.418326 1.266348 1.095265 1.090145 0.914385 0.672015 0.091667 0.221386 0.230885 1.047444 0.950558 0.582123 1.829143 1.939330 0.054401 0.665085 0.669868 1.410783 0.893429 1.398299 1.087907 0.120341 1.456277 0.134554 1.548051 0.155644 0.252207 0.317819 0.803060 0.255268 0.011364 1.407071 1.292331 1.862089 -0.144291 1.528219 0.241256 -0.215537 1.071975 0.180828 1.509027 1.608200 1.880646 0.432459)
 
 	;; 64+1
-	10.041913 (fv 0.000000 -0.231597 0.347996 1.329229 0.210946 0.358775 1.318136 0.940959 0.423445 -0.059602 1.487652 0.528102 0.959962 1.627507 0.242008 0.890416 1.013953 0.381481 0.048421 0.000955 0.073351 0.222260 0.956448 1.250606 0.032874 0.581396 1.552144 0.533024 1.803356 1.588620 0.155988 0.709145 0.416103 1.098822 0.371144 0.488313 0.641224 1.409761 0.769076 1.378012 1.338517 1.672969 0.693576 0.622573 1.111879 1.498797 0.384021 -0.285902 0.098531 1.294593 0.540682 0.514444 0.031708 1.544980 0.882941 0.833995 0.886145 1.471130 1.590019 0.959450 0.407950 0.787696 0.104075 0.545846 0.096608)
+	10.041913 #(0.000000 -0.231597 0.347996 1.329229 0.210946 0.358775 1.318136 0.940959 0.423445 -0.059602 1.487652 0.528102 0.959962 1.627507 0.242008 0.890416 1.013953 0.381481 0.048421 0.000955 0.073351 0.222260 0.956448 1.250606 0.032874 0.581396 1.552144 0.533024 1.803356 1.588620 0.155988 0.709145 0.416103 1.098822 0.371144 0.488313 0.641224 1.409761 0.769076 1.378012 1.338517 1.672969 0.693576 0.622573 1.111879 1.498797 0.384021 -0.285902 0.098531 1.294593 0.540682 0.514444 0.031708 1.544980 0.882941 0.833995 0.886145 1.471130 1.590019 0.959450 0.407950 0.787696 0.104075 0.545846 0.096608)
      )
 
 ;;; 66 prime --------------------------------------------------------------------------------
-(vector 66 12.090668678284 (fv 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0)
+(vector 66 12.090668678284 #(0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0)
 
-     10.065843 (fv 0.000000 -0.332278 0.420111 1.296912 0.003400 0.570050 1.383101 1.228319 0.329402 0.002928 0.332461 0.786693 1.331535 0.237292 1.020996 0.126259 1.613105 1.241426 -0.367526 0.057745 0.063068 1.144890 0.058649 0.546763 0.792290 0.527577 1.597907 0.336733 0.558202 0.349266 0.412838 -0.066236 0.132007 1.032081 0.645360 0.084627 0.218015 0.961024 1.464682 1.216442 1.186753 0.039444 1.139907 1.145545 1.026317 1.617341 0.492061 1.804706 -0.218027 0.872723 0.567401 1.745335 1.259266 0.682677 1.100993 1.200392 1.089304 0.237539 0.552581 0.047166 0.743492 0.228597 1.363708 0.915715 -0.032741 0.312099)
+     10.065843 #(0.000000 -0.332278 0.420111 1.296912 0.003400 0.570050 1.383101 1.228319 0.329402 0.002928 0.332461 0.786693 1.331535 0.237292 1.020996 0.126259 1.613105 1.241426 -0.367526 0.057745 0.063068 1.144890 0.058649 0.546763 0.792290 0.527577 1.597907 0.336733 0.558202 0.349266 0.412838 -0.066236 0.132007 1.032081 0.645360 0.084627 0.218015 0.961024 1.464682 1.216442 1.186753 0.039444 1.139907 1.145545 1.026317 1.617341 0.492061 1.804706 -0.218027 0.872723 0.567401 1.745335 1.259266 0.682677 1.100993 1.200392 1.089304 0.237539 0.552581 0.047166 0.743492 0.228597 1.363708 0.915715 -0.032741 0.312099)
      )
 
 ;;; 67 prime --------------------------------------------------------------------------------
-(vector 67 12.20425496356 (fv 0 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1)
+(vector 67 12.20425496356 #(0 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1)
 
-	10.320633 (fv 0.000000 -0.066702 1.242059 1.936441 0.363520 0.137300 1.303419 1.038801 0.086937 0.040742 0.388452 0.616008 0.087295 0.258798 0.692201 0.072909 1.551804 1.636838 1.398740 0.687317 1.022745 0.988646 1.580618 0.947110 0.593084 0.854099 0.599585 1.071060 0.286673 0.719337 0.932505 1.632806 1.461969 0.862483 1.295247 0.807609 -0.156076 1.297879 1.679745 0.135687 1.421850 1.188268 0.748752 1.493420 1.296035 0.019305 0.979542 0.607739 1.082240 1.014220 1.355630 1.025509 1.427015 0.501576 0.029659 1.501116 0.667518 0.375063 0.738972 1.634670 1.190958 0.695412 0.198543 0.008987 0.953545 0.492193 0.512363)
+	10.320633 #(0.000000 -0.066702 1.242059 1.936441 0.363520 0.137300 1.303419 1.038801 0.086937 0.040742 0.388452 0.616008 0.087295 0.258798 0.692201 0.072909 1.551804 1.636838 1.398740 0.687317 1.022745 0.988646 1.580618 0.947110 0.593084 0.854099 0.599585 1.071060 0.286673 0.719337 0.932505 1.632806 1.461969 0.862483 1.295247 0.807609 -0.156076 1.297879 1.679745 0.135687 1.421850 1.188268 0.748752 1.493420 1.296035 0.019305 0.979542 0.607739 1.082240 1.014220 1.355630 1.025509 1.427015 0.501576 0.029659 1.501116 0.667518 0.375063 0.738972 1.634670 1.190958 0.695412 0.198543 0.008987 0.953545 0.492193 0.512363)
 
 	;; 66+1
-	10.270103 (fv 0.000000 -0.339086 0.529826 1.196633 0.017211 0.503338 1.254976 1.117868 0.397424 -0.207937 0.422035 0.795324 1.396533 0.167749 1.073809 0.015795 1.618310 1.175144 -0.342555 0.080333 0.003741 1.084430 -0.010093 0.560025 0.867130 0.369945 1.456200 0.444129 0.652644 0.167650 0.320656 -0.145242 0.307342 1.062944 0.883767 0.299612 0.277397 1.030332 1.417097 1.462867 1.323580 0.189769 1.089141 0.993348 0.915509 1.413244 0.654039 1.674522 -0.169566 0.974872 0.769627 1.866694 1.124536 0.783559 1.039716 1.307670 1.055658 0.169272 0.711344 0.060085 0.731555 0.347823 1.529167 0.605251 0.021941 0.493045 -0.306702)
+	10.270103 #(0.000000 -0.339086 0.529826 1.196633 0.017211 0.503338 1.254976 1.117868 0.397424 -0.207937 0.422035 0.795324 1.396533 0.167749 1.073809 0.015795 1.618310 1.175144 -0.342555 0.080333 0.003741 1.084430 -0.010093 0.560025 0.867130 0.369945 1.456200 0.444129 0.652644 0.167650 0.320656 -0.145242 0.307342 1.062944 0.883767 0.299612 0.277397 1.030332 1.417097 1.462867 1.323580 0.189769 1.089141 0.993348 0.915509 1.413244 0.654039 1.674522 -0.169566 0.974872 0.769627 1.866694 1.124536 0.783559 1.039716 1.307670 1.055658 0.169272 0.711344 0.060085 0.731555 0.347823 1.529167 0.605251 0.021941 0.493045 -0.306702)
 
 	;; 63+4
-	10.427697 (fv 0.000000 0.966407 0.007580 1.117030 0.884875 -0.175736 1.107926 1.097831 1.037576 0.927078 0.966085 0.319675 1.083926 1.106087 -0.189435 0.791093 0.993213 0.299434 1.143696 -0.196739 -0.029109 0.887111 0.277418 0.908738 0.949002 0.901486 1.105128 -0.045569 -0.301510 0.181857 -0.008960 0.833755 0.782101 0.955244 1.472884 0.046447 1.032739 0.722326 0.974274 -0.002839 -0.169106 0.164428 1.138848 0.015499 -0.200081 0.988166 0.843017 1.122563 0.966722 1.090406 0.167301 -0.055129 1.042886 1.189957 0.335648 0.995142 0.029028 1.138068 1.075538 0.633942 0.180537 0.051411 0.928317 0.861628 0.910920 0.920218 1.020151)
+	10.427697 #(0.000000 0.966407 0.007580 1.117030 0.884875 -0.175736 1.107926 1.097831 1.037576 0.927078 0.966085 0.319675 1.083926 1.106087 -0.189435 0.791093 0.993213 0.299434 1.143696 -0.196739 -0.029109 0.887111 0.277418 0.908738 0.949002 0.901486 1.105128 -0.045569 -0.301510 0.181857 -0.008960 0.833755 0.782101 0.955244 1.472884 0.046447 1.032739 0.722326 0.974274 -0.002839 -0.169106 0.164428 1.138848 0.015499 -0.200081 0.988166 0.843017 1.122563 0.966722 1.090406 0.167301 -0.055129 1.042886 1.189957 0.335648 0.995142 0.029028 1.138068 1.075538 0.633942 0.180537 0.051411 0.928317 0.861628 0.910920 0.920218 1.020151)
      )
 
 ;;; 68 prime --------------------------------------------------------------------------------
-(vector 68 12.466281890869 (fv 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1)
+(vector 68 12.466281890869 #(0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1)
 
-	10.396366 (fv 0.000000 0.186038 1.693540 -0.027216 1.013938 1.733700 0.097268 1.072327 -0.058595 1.297512 -0.223714 1.812708 1.571967 1.911449 0.105375 0.724913 0.167937 1.379937 1.003328 0.296337 -0.012219 0.740941 0.185685 1.450530 0.967328 0.422187 -0.221136 1.128630 1.299506 1.950429 -0.063323 -0.049468 0.618925 -0.250368 1.155850 1.363266 1.946601 1.896273 0.663379 0.530614 -0.343257 1.261470 -0.040006 0.308974 1.407553 1.782235 1.820125 1.703055 0.892390 0.956493 1.267334 1.223362 0.886365 0.857699 0.303604 1.740946 1.505785 1.372752 0.598965 0.555179 0.138411 0.702673 0.141261 1.356921 1.480871 1.810731 0.336170 1.491601)
+	10.396366 #(0.000000 0.186038 1.693540 -0.027216 1.013938 1.733700 0.097268 1.072327 -0.058595 1.297512 -0.223714 1.812708 1.571967 1.911449 0.105375 0.724913 0.167937 1.379937 1.003328 0.296337 -0.012219 0.740941 0.185685 1.450530 0.967328 0.422187 -0.221136 1.128630 1.299506 1.950429 -0.063323 -0.049468 0.618925 -0.250368 1.155850 1.363266 1.946601 1.896273 0.663379 0.530614 -0.343257 1.261470 -0.040006 0.308974 1.407553 1.782235 1.820125 1.703055 0.892390 0.956493 1.267334 1.223362 0.886365 0.857699 0.303604 1.740946 1.505785 1.372752 0.598965 0.555179 0.138411 0.702673 0.141261 1.356921 1.480871 1.810731 0.336170 1.491601)
 
      ;; 69-1:
-	10.294332 (fv 0.000000 1.774482 1.200978 1.227268 1.382220 0.282793 1.553903 1.732456 0.753211 0.760153 1.851640 1.366776 1.204200 0.843725 0.253043 0.277483 0.103836 -0.065448 1.410455 0.651921 1.994318 0.062621 0.954681 0.275021 0.597686 1.119852 0.016268 -0.163905 1.984242 1.567894 0.922417 -0.007109 1.063508 1.828059 0.334844 1.052665 1.253633 1.262611 1.579598 0.998618 1.505098 1.876188 0.866523 -0.096826 0.810066 0.678537 0.661302 -0.487197 0.199269 0.661440 1.362169 1.024823 0.238200 0.872311 1.253153 1.455210 0.266625 1.222868 1.015892 1.101616 1.115849 0.596998 1.881890 -0.207678 1.082090 0.165311 1.300155 1.153433)
+	10.294332 #(0.000000 1.774482 1.200978 1.227268 1.382220 0.282793 1.553903 1.732456 0.753211 0.760153 1.851640 1.366776 1.204200 0.843725 0.253043 0.277483 0.103836 -0.065448 1.410455 0.651921 1.994318 0.062621 0.954681 0.275021 0.597686 1.119852 0.016268 -0.163905 1.984242 1.567894 0.922417 -0.007109 1.063508 1.828059 0.334844 1.052665 1.253633 1.262611 1.579598 0.998618 1.505098 1.876188 0.866523 -0.096826 0.810066 0.678537 0.661302 -0.487197 0.199269 0.661440 1.362169 1.024823 0.238200 0.872311 1.253153 1.455210 0.266625 1.222868 1.015892 1.101616 1.115849 0.596998 1.881890 -0.207678 1.082090 0.165311 1.300155 1.153433)
      )
 
 ;;; 69 prime --------------------------------------------------------------------------------
-(vector 69 12.29846572876 (fv 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0)
+(vector 69 12.29846572876 #(0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0)
 
-     10.373386 (fv 0.000000 1.755739 1.344798 1.270777 1.245975 0.212147 1.637341 1.674637 0.780881 0.678256 0.020823 1.453992 1.251154 0.906274 0.263210 0.219658 0.201277 -0.006107 1.482279 0.690309 1.943780 0.107940 0.891912 0.210217 0.501788 1.062586 1.748465 -0.256216 1.793890 1.653062 0.760504 1.930618 1.125386 1.733012 0.392253 1.017032 1.329369 1.438951 1.614342 0.946373 1.511397 1.735151 0.924137 -0.243047 0.908372 0.619579 0.722525 -0.263766 0.070586 0.505534 1.390127 1.112173 0.360123 0.888486 1.115007 1.574719 0.192671 1.168644 1.072297 1.024494 1.027776 0.495929 1.728234 0.030466 1.010825 0.303774 1.356890 1.301979 0.677665)
+     10.373386 #(0.000000 1.755739 1.344798 1.270777 1.245975 0.212147 1.637341 1.674637 0.780881 0.678256 0.020823 1.453992 1.251154 0.906274 0.263210 0.219658 0.201277 -0.006107 1.482279 0.690309 1.943780 0.107940 0.891912 0.210217 0.501788 1.062586 1.748465 -0.256216 1.793890 1.653062 0.760504 1.930618 1.125386 1.733012 0.392253 1.017032 1.329369 1.438951 1.614342 0.946373 1.511397 1.735151 0.924137 -0.243047 0.908372 0.619579 0.722525 -0.263766 0.070586 0.505534 1.390127 1.112173 0.360123 0.888486 1.115007 1.574719 0.192671 1.168644 1.072297 1.024494 1.027776 0.495929 1.728234 0.030466 1.010825 0.303774 1.356890 1.301979 0.677665)
      )
 
 ;;; 70 prime --------------------------------------------------------------------------------
-(vector 70 12.665026664734 (fv 0 1 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0)
+(vector 70 12.665026664734 #(0 1 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0)
 
-     10.403198 (fv 0.000000 0.659269 0.149246 -0.229331 0.464031 1.037303 0.297808 1.605092 1.041553 1.638786 0.968456 1.081487 0.986031 0.766531 0.645236 0.176746 0.062926 0.650627 0.887571 0.432390 0.968052 1.660369 1.053082 0.034606 1.910731 1.746043 1.683430 0.821251 1.040772 1.932221 1.382437 0.501614 -0.111054 0.532350 0.190557 0.045053 1.319570 -0.066664 0.486188 1.777508 1.395223 0.491473 0.176001 0.623855 1.347864 1.207736 1.451417 1.558733 1.414717 1.920228 0.418857 1.530616 0.099510 0.214659 0.967449 -0.145006 1.519241 0.691963 1.366826 0.718889 0.337519 0.685633 1.635424 0.816319 0.060380 1.097292 0.149441 0.900329 0.876399 0.145344)
+     10.403198 #(0.000000 0.659269 0.149246 -0.229331 0.464031 1.037303 0.297808 1.605092 1.041553 1.638786 0.968456 1.081487 0.986031 0.766531 0.645236 0.176746 0.062926 0.650627 0.887571 0.432390 0.968052 1.660369 1.053082 0.034606 1.910731 1.746043 1.683430 0.821251 1.040772 1.932221 1.382437 0.501614 -0.111054 0.532350 0.190557 0.045053 1.319570 -0.066664 0.486188 1.777508 1.395223 0.491473 0.176001 0.623855 1.347864 1.207736 1.451417 1.558733 1.414717 1.920228 0.418857 1.530616 0.099510 0.214659 0.967449 -0.145006 1.519241 0.691963 1.366826 0.718889 0.337519 0.685633 1.635424 0.816319 0.060380 1.097292 0.149441 0.900329 0.876399 0.145344)
      )
 
 ;;; 71 prime --------------------------------------------------------------------------------
-(vector 71 12.609085083008 (fv 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0)
+(vector 71 12.609085083008 #(0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0)
 
-     10.523064 (fv 0.000000 0.688011 0.968837 0.940634 1.605222 0.888784 0.799658 0.986589 0.551066 0.615309 0.653186 0.893971 1.635005 0.515944 0.737309 0.499869 0.965484 1.166543 1.233403 1.277963 0.357632 0.184373 0.829321 0.533549 0.654127 1.345320 0.132782 0.366320 0.049851 1.315507 0.714178 1.332359 1.090257 0.069099 0.561445 1.760121 1.667327 0.986854 0.112329 0.614048 1.104774 0.212197 1.392955 0.553988 0.863015 1.668891 1.231650 0.232935 1.786061 0.865166 0.966113 0.257005 0.993747 -0.000704 1.235807 0.060112 1.258818 1.073792 0.276968 0.278092 1.838200 0.920318 1.799026 1.603861 0.357301 0.246709 0.264914 0.955910 0.731514 1.325161 1.347000)
+     10.523064 #(0.000000 0.688011 0.968837 0.940634 1.605222 0.888784 0.799658 0.986589 0.551066 0.615309 0.653186 0.893971 1.635005 0.515944 0.737309 0.499869 0.965484 1.166543 1.233403 1.277963 0.357632 0.184373 0.829321 0.533549 0.654127 1.345320 0.132782 0.366320 0.049851 1.315507 0.714178 1.332359 1.090257 0.069099 0.561445 1.760121 1.667327 0.986854 0.112329 0.614048 1.104774 0.212197 1.392955 0.553988 0.863015 1.668891 1.231650 0.232935 1.786061 0.865166 0.966113 0.257005 0.993747 -0.000704 1.235807 0.060112 1.258818 1.073792 0.276968 0.278092 1.838200 0.920318 1.799026 1.603861 0.357301 0.246709 0.264914 0.955910 0.731514 1.325161 1.347000)
      )
 
 ;;; 72 prime --------------------------------------------------------------------------------
-(vector 72 12.708446502686 (fv 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1)
+(vector 72 12.708446502686 #(0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1)
 
-     10.579571 (fv 0.000000 1.526666 1.114036 -0.188699 1.569783 1.061483 1.461941 0.746029 1.509803 1.264040 0.039120 0.005480 1.670375 0.087176 1.602839 1.411297 1.630968 0.248800 0.070549 1.021733 -0.228089 1.869979 1.152734 0.098898 0.604652 0.265485 1.435929 0.170559 0.737250 0.104974 0.731428 1.774793 1.550528 -0.147974 1.870001 1.248377 1.256893 0.177185 1.205217 1.218210 1.654506 -0.048160 1.262662 0.659765 1.099483 0.193101 1.327235 0.693549 1.139270 0.170053 0.767850 1.284172 -0.044820 1.663616 1.015434 0.890883 1.694823 0.554893 0.622406 0.662793 0.328828 0.995738 1.236624 0.150517 1.587539 1.302619 0.103369 0.398303 0.131685 0.921928 1.168883 0.112924)
+     10.579571 #(0.000000 1.526666 1.114036 -0.188699 1.569783 1.061483 1.461941 0.746029 1.509803 1.264040 0.039120 0.005480 1.670375 0.087176 1.602839 1.411297 1.630968 0.248800 0.070549 1.021733 -0.228089 1.869979 1.152734 0.098898 0.604652 0.265485 1.435929 0.170559 0.737250 0.104974 0.731428 1.774793 1.550528 -0.147974 1.870001 1.248377 1.256893 0.177185 1.205217 1.218210 1.654506 -0.048160 1.262662 0.659765 1.099483 0.193101 1.327235 0.693549 1.139270 0.170053 0.767850 1.284172 -0.044820 1.663616 1.015434 0.890883 1.694823 0.554893 0.622406 0.662793 0.328828 0.995738 1.236624 0.150517 1.587539 1.302619 0.103369 0.398303 0.131685 0.921928 1.168883 0.112924)
      )
 
 ;;; 73 prime --------------------------------------------------------------------------------
-(vector 73 12.877750118249 (fv 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0)
+(vector 73 12.877750118249 #(0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0)
 
-     10.737656 (fv 0.000000 0.602102 0.352641 0.632006 1.552371 0.296077 1.082110 0.013914 1.761810 0.456416 0.737747 0.295270 1.253093 0.753406 0.547256 0.051955 1.746228 0.377469 0.418110 0.901371 0.231886 1.499847 1.247926 1.681473 1.281726 0.414399 -0.025093 0.354821 1.545561 1.180195 1.073840 1.640054 1.311359 1.388818 1.571352 1.435069 -0.082478 0.162069 0.705649 -0.084633 0.587089 0.167800 -0.063043 0.159333 0.913473 1.004072 1.669680 0.741708 1.378872 1.360081 0.270841 1.349751 1.013148 0.450718 0.226120 0.098676 0.779207 1.870363 0.442457 1.048600 1.409639 0.334422 1.713108 0.607567 1.451973 0.551597 1.404406 0.821452 1.414792 0.265647 0.470100 0.101296 1.610504)
+     10.737656 #(0.000000 0.602102 0.352641 0.632006 1.552371 0.296077 1.082110 0.013914 1.761810 0.456416 0.737747 0.295270 1.253093 0.753406 0.547256 0.051955 1.746228 0.377469 0.418110 0.901371 0.231886 1.499847 1.247926 1.681473 1.281726 0.414399 -0.025093 0.354821 1.545561 1.180195 1.073840 1.640054 1.311359 1.388818 1.571352 1.435069 -0.082478 0.162069 0.705649 -0.084633 0.587089 0.167800 -0.063043 0.159333 0.913473 1.004072 1.669680 0.741708 1.378872 1.360081 0.270841 1.349751 1.013148 0.450718 0.226120 0.098676 0.779207 1.870363 0.442457 1.048600 1.409639 0.334422 1.713108 0.607567 1.451973 0.551597 1.404406 0.821452 1.414792 0.265647 0.470100 0.101296 1.610504)
 
      ;; 72+1
-     10.689130 (fv 0.000000 1.525750 1.157802 -0.130495 1.566135 1.068083 1.436324 0.699061 1.496431 1.345845 -0.045471 -0.032146 1.656974 0.163846 1.519166 1.394757 1.503557 0.183007 0.248242 1.068642 -0.134987 1.855031 1.116717 -0.022218 0.511499 0.347386 1.347662 0.149072 0.778251 0.082394 0.706357 1.835299 1.598933 -0.137332 1.800937 1.334976 1.258225 0.107942 1.165982 1.097698 1.720927 -0.060245 1.266550 0.522159 1.151393 0.179388 1.306382 0.759803 1.190783 0.160999 0.709993 1.280967 -0.169862 1.562918 1.019413 0.839429 1.731380 0.566096 0.647229 0.704371 0.329975 1.072857 1.320759 0.275029 1.479112 1.297543 0.103782 0.366305 0.194503 1.011614 1.086013 0.243622 -0.036669)
+     10.689130 #(0.000000 1.525750 1.157802 -0.130495 1.566135 1.068083 1.436324 0.699061 1.496431 1.345845 -0.045471 -0.032146 1.656974 0.163846 1.519166 1.394757 1.503557 0.183007 0.248242 1.068642 -0.134987 1.855031 1.116717 -0.022218 0.511499 0.347386 1.347662 0.149072 0.778251 0.082394 0.706357 1.835299 1.598933 -0.137332 1.800937 1.334976 1.258225 0.107942 1.165982 1.097698 1.720927 -0.060245 1.266550 0.522159 1.151393 0.179388 1.306382 0.759803 1.190783 0.160999 0.709993 1.280967 -0.169862 1.562918 1.019413 0.839429 1.731380 0.566096 0.647229 0.704371 0.329975 1.072857 1.320759 0.275029 1.479112 1.297543 0.103782 0.366305 0.194503 1.011614 1.086013 0.243622 -0.036669)
      )
 
 ;;; 74 prime --------------------------------------------------------------------------------
-(vector 74 13.115156173706 (fv 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 1)
+(vector 74 13.115156173706 #(0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 1)
 
-     10.649887 (fv 0.000000 0.311188 1.290942 0.614169 0.538966 0.384100 0.109850 0.021551 0.798332 1.375278 0.593955 1.270048 0.158912 1.156782 1.030374 0.821590 0.254106 0.736652 -0.160646 1.527962 0.008622 1.070061 1.131441 1.654723 1.927687 1.286729 -0.139272 1.540344 0.234722 1.262327 0.958913 0.415825 0.099669 0.142462 -0.047631 -0.219606 0.497897 0.164613 1.298918 -0.030959 0.077929 0.023069 -0.048674 1.490524 1.421741 1.027040 1.916604 1.756080 0.253777 0.507377 0.665062 0.691819 1.450238 1.738862 1.010067 1.810972 1.515691 0.044783 0.082536 1.267984 0.419709 0.481882 1.832483 1.839130 0.674123 0.733681 1.236692 0.099256 1.206529 1.152388 -0.150515 0.755739 -0.177039 0.279539)
+     10.649887 #(0.000000 0.311188 1.290942 0.614169 0.538966 0.384100 0.109850 0.021551 0.798332 1.375278 0.593955 1.270048 0.158912 1.156782 1.030374 0.821590 0.254106 0.736652 -0.160646 1.527962 0.008622 1.070061 1.131441 1.654723 1.927687 1.286729 -0.139272 1.540344 0.234722 1.262327 0.958913 0.415825 0.099669 0.142462 -0.047631 -0.219606 0.497897 0.164613 1.298918 -0.030959 0.077929 0.023069 -0.048674 1.490524 1.421741 1.027040 1.916604 1.756080 0.253777 0.507377 0.665062 0.691819 1.450238 1.738862 1.010067 1.810972 1.515691 0.044783 0.082536 1.267984 0.419709 0.481882 1.832483 1.839130 0.674123 0.733681 1.236692 0.099256 1.206529 1.152388 -0.150515 0.755739 -0.177039 0.279539)
      )
 
 ;;; 75 prime --------------------------------------------------------------------------------
-(vector 75 13.254356384277 (fv 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 1 1)
+(vector 75 13.254356384277 #(0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 1 1)
 
-     11.022299 (fv 0.000000 0.351470 1.008124 1.291533 1.352523 1.219130 1.555492 -0.093523 0.793123 1.710126 0.845582 1.377487 0.007190 1.144398 0.030789 1.388046 0.801302 1.006307 1.228947 1.174967 0.712656 1.235684 0.437185 1.685920 1.628311 0.432535 1.406407 0.211487 1.631733 1.309990 0.088839 1.823347 0.645147 0.984102 0.938592 0.791055 1.200055 1.653923 1.369127 1.660169 1.684809 1.277014 1.423374 1.618705 1.761213 0.185242 0.737016 0.819843 1.700256 1.790111 1.582839 0.397943 0.430644 0.413691 1.861593 0.597392 0.781277 0.169222 1.035252 0.907321 0.225899 -0.109171 1.673244 0.994007 0.840763 0.321135 1.684359 1.522767 0.808080 0.918598 -0.016940 0.115899 0.890010 0.043957 1.335248)
+     11.022299 #(0.000000 0.351470 1.008124 1.291533 1.352523 1.219130 1.555492 -0.093523 0.793123 1.710126 0.845582 1.377487 0.007190 1.144398 0.030789 1.388046 0.801302 1.006307 1.228947 1.174967 0.712656 1.235684 0.437185 1.685920 1.628311 0.432535 1.406407 0.211487 1.631733 1.309990 0.088839 1.823347 0.645147 0.984102 0.938592 0.791055 1.200055 1.653923 1.369127 1.660169 1.684809 1.277014 1.423374 1.618705 1.761213 0.185242 0.737016 0.819843 1.700256 1.790111 1.582839 0.397943 0.430644 0.413691 1.861593 0.597392 0.781277 0.169222 1.035252 0.907321 0.225899 -0.109171 1.673244 0.994007 0.840763 0.321135 1.684359 1.522767 0.808080 0.918598 -0.016940 0.115899 0.890010 0.043957 1.335248)
 
      ;; 74+1
-     10.845278 (fv 0.000000 0.303549 1.218741 0.552551 0.569127 0.472240 0.245073 0.036162 0.777257 1.317108 0.637687 1.223165 0.113140 1.175025 0.935816 0.812633 0.204261 0.775370 -0.063348 1.606612 -0.062866 1.039670 1.212702 1.714844 1.899468 1.335566 -0.020119 1.590425 0.290190 1.193213 1.001576 0.516379 0.026311 0.170930 -0.096650 -0.315084 0.554428 0.144183 1.271300 0.005031 0.147859 0.041442 -0.048782 1.533805 1.480719 1.134329 1.851707 1.704199 0.286268 0.581546 0.690124 0.731502 1.497188 1.734408 1.013517 -0.010349 1.506433 0.024492 0.040181 1.200857 0.486442 0.422051 1.858040 1.837071 0.586958 0.629092 1.226159 0.139529 1.240473 1.272372 -0.245955 0.719958 -0.223615 0.281302 0.252047)
+     10.845278 #(0.000000 0.303549 1.218741 0.552551 0.569127 0.472240 0.245073 0.036162 0.777257 1.317108 0.637687 1.223165 0.113140 1.175025 0.935816 0.812633 0.204261 0.775370 -0.063348 1.606612 -0.062866 1.039670 1.212702 1.714844 1.899468 1.335566 -0.020119 1.590425 0.290190 1.193213 1.001576 0.516379 0.026311 0.170930 -0.096650 -0.315084 0.554428 0.144183 1.271300 0.005031 0.147859 0.041442 -0.048782 1.533805 1.480719 1.134329 1.851707 1.704199 0.286268 0.581546 0.690124 0.731502 1.497188 1.734408 1.013517 -0.010349 1.506433 0.024492 0.040181 1.200857 0.486442 0.422051 1.858040 1.837071 0.586958 0.629092 1.226159 0.139529 1.240473 1.272372 -0.245955 0.719958 -0.223615 0.281302 0.252047)
      )
 
 ;;; 76 prime --------------------------------------------------------------------------------
-(vector 76 13.288178191792 (fv 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1)
+(vector 76 13.288178191792 #(0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1)
 
-     11.052689 (fv 0.000000 1.173531 0.914653 0.927606 1.833325 0.572990 1.228121 1.340974 0.777818 0.101179 0.922381 0.727758 0.848668 1.622591 0.600587 1.207357 0.483679 -0.135739 0.789693 0.557916 0.529588 0.315324 1.810649 0.126643 0.909249 1.640326 1.342327 -0.052236 0.755820 1.799623 0.462177 -0.288032 0.651075 1.169254 1.824988 0.704237 0.880995 1.859829 0.036089 0.149448 0.542052 0.160045 1.646079 0.860838 1.752249 1.025660 0.604221 0.046575 0.711402 1.553525 1.214111 0.036075 0.479955 0.029596 1.070090 1.208893 1.207610 0.470868 0.758081 1.507527 0.678107 0.675805 1.580182 1.324295 0.061587 0.955350 1.218409 1.880195 0.596793 0.165057 0.646006 0.454851 -0.080576 1.833376 0.764382 0.602862)
+     11.052689 #(0.000000 1.173531 0.914653 0.927606 1.833325 0.572990 1.228121 1.340974 0.777818 0.101179 0.922381 0.727758 0.848668 1.622591 0.600587 1.207357 0.483679 -0.135739 0.789693 0.557916 0.529588 0.315324 1.810649 0.126643 0.909249 1.640326 1.342327 -0.052236 0.755820 1.799623 0.462177 -0.288032 0.651075 1.169254 1.824988 0.704237 0.880995 1.859829 0.036089 0.149448 0.542052 0.160045 1.646079 0.860838 1.752249 1.025660 0.604221 0.046575 0.711402 1.553525 1.214111 0.036075 0.479955 0.029596 1.070090 1.208893 1.207610 0.470868 0.758081 1.507527 0.678107 0.675805 1.580182 1.324295 0.061587 0.955350 1.218409 1.880195 0.596793 0.165057 0.646006 0.454851 -0.080576 1.833376 0.764382 0.602862)
 
      ;; 75+1
-     10.919127 (fv 0.000000 0.249051 1.283752 0.578538 0.465889 0.328282 0.397520 0.048700 0.732044 1.506763 0.870470 1.024466 0.125905 1.199969 1.200490 0.828996 0.327349 0.743916 -0.083081 1.581866 -0.022026 1.010771 1.314126 1.641110 1.977207 1.418126 -0.002727 1.553515 0.292061 1.103162 1.068475 0.567360 0.089633 0.183619 -0.243814 -0.246117 0.459882 0.118225 1.182209 0.017390 0.042772 0.114593 -0.081235 1.493721 1.405420 1.147867 1.909741 1.653034 0.237976 0.515913 0.601555 0.768092 1.451311 1.697940 1.055226 -0.095470 1.438708 0.052821 -0.122724 1.275935 0.441115 0.338376 1.822506 1.852761 0.555244 0.752898 1.362553 0.167682 1.066534 1.298923 -0.414288 0.895495 -0.078589 0.121695 0.415788 -0.032714)
+     10.919127 #(0.000000 0.249051 1.283752 0.578538 0.465889 0.328282 0.397520 0.048700 0.732044 1.506763 0.870470 1.024466 0.125905 1.199969 1.200490 0.828996 0.327349 0.743916 -0.083081 1.581866 -0.022026 1.010771 1.314126 1.641110 1.977207 1.418126 -0.002727 1.553515 0.292061 1.103162 1.068475 0.567360 0.089633 0.183619 -0.243814 -0.246117 0.459882 0.118225 1.182209 0.017390 0.042772 0.114593 -0.081235 1.493721 1.405420 1.147867 1.909741 1.653034 0.237976 0.515913 0.601555 0.768092 1.451311 1.697940 1.055226 -0.095470 1.438708 0.052821 -0.122724 1.275935 0.441115 0.338376 1.822506 1.852761 0.555244 0.752898 1.362553 0.167682 1.066534 1.298923 -0.414288 0.895495 -0.078589 0.121695 0.415788 -0.032714)
      )
 
 ;;; 77 prime --------------------------------------------------------------------------------
-(vector 77 13.158900260925 (fv 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1)
+(vector 77 13.158900260925 #(0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1)
 
-     10.802937 (fv 0.000000 1.170348 0.872365 1.938370 0.176318 1.425001 1.816351 0.600885 0.838206 0.617008 0.862854 1.459906 1.685266 -0.294339 0.340282 0.188975 1.272363 0.222263 0.754500 0.303643 1.420294 0.520239 1.223316 1.153660 0.209190 1.335123 1.331714 0.719154 0.909245 -0.009852 0.827474 -0.139034 0.531790 0.623898 0.587466 0.935238 0.452213 -0.149439 0.923750 0.885640 -0.429219 0.037445 0.354080 0.150061 0.302072 1.423031 0.130250 -0.009435 0.571653 0.410660 0.194501 1.802956 0.455392 0.509514 1.619972 1.373513 1.082720 1.024058 0.798330 0.005055 0.529388 0.193199 0.652877 0.658529 1.505933 1.232728 0.171053 1.366924 1.004855 0.355582 1.506276 0.574068 1.502183 1.005869 -0.239104 1.730993 -0.006156)
+     10.802937 #(0.000000 1.170348 0.872365 1.938370 0.176318 1.425001 1.816351 0.600885 0.838206 0.617008 0.862854 1.459906 1.685266 -0.294339 0.340282 0.188975 1.272363 0.222263 0.754500 0.303643 1.420294 0.520239 1.223316 1.153660 0.209190 1.335123 1.331714 0.719154 0.909245 -0.009852 0.827474 -0.139034 0.531790 0.623898 0.587466 0.935238 0.452213 -0.149439 0.923750 0.885640 -0.429219 0.037445 0.354080 0.150061 0.302072 1.423031 0.130250 -0.009435 0.571653 0.410660 0.194501 1.802956 0.455392 0.509514 1.619972 1.373513 1.082720 1.024058 0.798330 0.005055 0.529388 0.193199 0.652877 0.658529 1.505933 1.232728 0.171053 1.366924 1.004855 0.355582 1.506276 0.574068 1.502183 1.005869 -0.239104 1.730993 -0.006156)
      )
 
 ;;; 78 prime --------------------------------------------------------------------------------
-(vector 78 13.498236182018 (fv 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1)
+(vector 78 13.498236182018 #(0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1)
 
-     11.128810 (fv 0.000000 1.556151 1.350766 1.079560 1.627456 1.824396 0.970239 1.719188 0.076491 0.356551 0.956437 1.450393 1.649467 1.028644 0.913293 0.244507 0.114759 1.070289 1.644113 1.454817 0.980418 0.918084 0.619510 1.767585 1.807117 0.656270 1.762010 0.672983 0.042023 -0.071247 0.983492 -0.081135 0.135693 0.114828 1.357805 -0.252941 1.850579 1.671928 0.257832 0.920719 0.631282 0.706947 1.321680 1.346893 -0.182371 -0.272451 0.054087 1.657623 0.055118 0.350677 1.314600 0.063294 0.902678 0.105522 1.670846 0.405032 -0.075578 -0.012369 -0.068016 1.298918 0.818077 -0.266776 0.759067 0.508057 -0.040066 1.459059 0.532881 1.133191 1.019843 -0.486096 1.086169 0.894532 1.300427 1.601490 0.616399 1.768752 1.000095 1.636458)
+     11.128810 #(0.000000 1.556151 1.350766 1.079560 1.627456 1.824396 0.970239 1.719188 0.076491 0.356551 0.956437 1.450393 1.649467 1.028644 0.913293 0.244507 0.114759 1.070289 1.644113 1.454817 0.980418 0.918084 0.619510 1.767585 1.807117 0.656270 1.762010 0.672983 0.042023 -0.071247 0.983492 -0.081135 0.135693 0.114828 1.357805 -0.252941 1.850579 1.671928 0.257832 0.920719 0.631282 0.706947 1.321680 1.346893 -0.182371 -0.272451 0.054087 1.657623 0.055118 0.350677 1.314600 0.063294 0.902678 0.105522 1.670846 0.405032 -0.075578 -0.012369 -0.068016 1.298918 0.818077 -0.266776 0.759067 0.508057 -0.040066 1.459059 0.532881 1.133191 1.019843 -0.486096 1.086169 0.894532 1.300427 1.601490 0.616399 1.768752 1.000095 1.636458)
 
      ;; 77+1
-     11.104393 (fv 0.000000 1.124037 0.854979 1.945811 0.208140 1.468398 1.815990 0.611918 0.912844 0.730140 0.961369 1.376309 1.803559 -0.243021 0.398976 0.193476 1.338837 0.340346 0.793855 0.341671 1.410779 0.565778 1.176931 1.048390 0.277106 1.445162 1.185150 0.642492 0.933385 0.019030 0.859542 -0.113411 0.532157 0.598476 0.550518 0.931780 0.311264 -0.108835 0.867767 0.932278 -0.351004 0.021213 0.390636 0.076987 0.338139 1.457487 0.082705 1.889708 0.513158 0.413795 0.138548 1.809057 0.494899 0.552125 1.690745 1.358244 1.250637 0.989495 0.775385 1.847135 0.528873 0.242941 0.558866 0.669472 1.484739 1.334473 0.249966 1.409992 1.022049 0.346238 1.534652 0.641930 1.394789 0.932978 -0.210333 1.769933 -0.083609 -0.106856)
+     11.104393 #(0.000000 1.124037 0.854979 1.945811 0.208140 1.468398 1.815990 0.611918 0.912844 0.730140 0.961369 1.376309 1.803559 -0.243021 0.398976 0.193476 1.338837 0.340346 0.793855 0.341671 1.410779 0.565778 1.176931 1.048390 0.277106 1.445162 1.185150 0.642492 0.933385 0.019030 0.859542 -0.113411 0.532157 0.598476 0.550518 0.931780 0.311264 -0.108835 0.867767 0.932278 -0.351004 0.021213 0.390636 0.076987 0.338139 1.457487 0.082705 1.889708 0.513158 0.413795 0.138548 1.809057 0.494899 0.552125 1.690745 1.358244 1.250637 0.989495 0.775385 1.847135 0.528873 0.242941 0.558866 0.669472 1.484739 1.334473 0.249966 1.409992 1.022049 0.346238 1.534652 0.641930 1.394789 0.932978 -0.210333 1.769933 -0.083609 -0.106856)
      )
 
 ;;; 79 prime --------------------------------------------------------------------------------
-(vector 79 13.178678233398 (fv 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1)
+(vector 79 13.178678233398 #(0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1)
 
-     11.177833 (fv 0.000000 1.310798 1.470398 1.323367 0.553981 1.135824 0.783258 1.090444 0.524280 1.788975 1.639185 0.764585 0.676397 1.561727 -0.046007 0.428923 1.763449 0.011640 0.636361 1.341212 0.004579 1.608860 0.575061 0.243266 0.907181 0.977184 1.726699 0.431482 0.140827 0.464141 1.057140 1.400168 0.289408 0.838151 1.631807 1.530460 1.501458 0.566438 1.487014 0.015110 1.680036 1.296993 1.364424 0.039821 1.528230 0.589464 0.715462 0.552663 -0.017058 1.149326 1.516482 -0.030051 0.582733 -0.149911 0.234725 0.517539 1.013720 0.964483 -0.295150 -0.068887 -0.069035 1.472439 0.368231 1.600803 0.316013 0.723864 0.014324 0.524613 1.419685 1.673198 -0.043005 -0.029455 1.487321 1.686189 1.173017 1.833259 1.763911 1.426155 0.892867)
+     11.177833 #(0.000000 1.310798 1.470398 1.323367 0.553981 1.135824 0.783258 1.090444 0.524280 1.788975 1.639185 0.764585 0.676397 1.561727 -0.046007 0.428923 1.763449 0.011640 0.636361 1.341212 0.004579 1.608860 0.575061 0.243266 0.907181 0.977184 1.726699 0.431482 0.140827 0.464141 1.057140 1.400168 0.289408 0.838151 1.631807 1.530460 1.501458 0.566438 1.487014 0.015110 1.680036 1.296993 1.364424 0.039821 1.528230 0.589464 0.715462 0.552663 -0.017058 1.149326 1.516482 -0.030051 0.582733 -0.149911 0.234725 0.517539 1.013720 0.964483 -0.295150 -0.068887 -0.069035 1.472439 0.368231 1.600803 0.316013 0.723864 0.014324 0.524613 1.419685 1.673198 -0.043005 -0.029455 1.487321 1.686189 1.173017 1.833259 1.763911 1.426155 0.892867)
      )
 
 ;;; 80 prime --------------------------------------------------------------------------------
-(vector 80 13.547472953796 (fv 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 0 1 0 1)
+(vector 80 13.547472953796 #(0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 0 1 0 1)
 
-     11.451369 (fv 0.000000 -0.011188 0.391305 0.222144 0.025668 0.977359 0.513223 0.531901 0.360643 0.616841 1.341911 0.888846 1.600347 1.373974 0.123418 0.279769 -0.016126 0.463887 1.222914 1.957299 0.569052 1.699668 0.580517 1.202146 1.407428 1.172831 0.507495 0.800333 0.267556 -0.108002 1.745992 0.435164 1.044228 1.843822 0.030677 1.871048 0.542929 1.649600 0.514183 1.864352 0.330625 0.131744 0.409433 0.986423 1.602974 0.780283 0.138004 1.178452 0.747173 1.116954 0.917346 0.796903 0.356061 1.164738 0.640385 1.216938 0.366648 0.258624 0.900284 0.041536 1.817962 1.403113 1.192348 0.700576 1.370480 0.286847 0.603480 0.172807 1.255252 0.148259 1.272121 0.592895 1.744785 0.951797 1.489669 1.384870 1.365248 1.727217 1.576364 1.630892)
+     11.451369 #(0.000000 -0.011188 0.391305 0.222144 0.025668 0.977359 0.513223 0.531901 0.360643 0.616841 1.341911 0.888846 1.600347 1.373974 0.123418 0.279769 -0.016126 0.463887 1.222914 1.957299 0.569052 1.699668 0.580517 1.202146 1.407428 1.172831 0.507495 0.800333 0.267556 -0.108002 1.745992 0.435164 1.044228 1.843822 0.030677 1.871048 0.542929 1.649600 0.514183 1.864352 0.330625 0.131744 0.409433 0.986423 1.602974 0.780283 0.138004 1.178452 0.747173 1.116954 0.917346 0.796903 0.356061 1.164738 0.640385 1.216938 0.366648 0.258624 0.900284 0.041536 1.817962 1.403113 1.192348 0.700576 1.370480 0.286847 0.603480 0.172807 1.255252 0.148259 1.272121 0.592895 1.744785 0.951797 1.489669 1.384870 1.365248 1.727217 1.576364 1.630892)
 
      ;; 79+1
-     11.248369 (fv 0.000000 1.320660 1.562587 1.230907 0.791500 1.111831 0.776332 1.212269 0.471199 1.929248 1.797736 0.814341 0.620835 1.395121 -0.166860 0.291055 1.737100 0.070444 0.531137 1.293083 0.075352 1.711864 0.539841 0.274514 0.922582 0.992421 1.608388 0.391268 0.216699 0.537576 0.886521 1.411196 0.301396 0.827503 1.619143 1.601542 1.558307 0.639158 1.445488 -0.167072 1.736837 1.279584 1.414784 0.077225 1.537483 0.689000 0.730293 0.519349 -0.104713 1.140696 1.722734 -0.057361 0.493518 -0.183111 0.352303 0.572659 0.917617 1.016232 -0.317574 -0.040058 -0.065357 1.491653 0.416263 1.654521 0.241001 0.536870 0.065165 0.568896 1.612372 1.840754 0.054958 0.057425 1.377368 1.668931 1.097005 1.763836 1.887359 1.244817 0.894926 -0.107373)
+     11.248369 #(0.000000 1.320660 1.562587 1.230907 0.791500 1.111831 0.776332 1.212269 0.471199 1.929248 1.797736 0.814341 0.620835 1.395121 -0.166860 0.291055 1.737100 0.070444 0.531137 1.293083 0.075352 1.711864 0.539841 0.274514 0.922582 0.992421 1.608388 0.391268 0.216699 0.537576 0.886521 1.411196 0.301396 0.827503 1.619143 1.601542 1.558307 0.639158 1.445488 -0.167072 1.736837 1.279584 1.414784 0.077225 1.537483 0.689000 0.730293 0.519349 -0.104713 1.140696 1.722734 -0.057361 0.493518 -0.183111 0.352303 0.572659 0.917617 1.016232 -0.317574 -0.040058 -0.065357 1.491653 0.416263 1.654521 0.241001 0.536870 0.065165 0.568896 1.612372 1.840754 0.054958 0.057425 1.377368 1.668931 1.097005 1.763836 1.887359 1.244817 0.894926 -0.107373)
      )
 
 ;;; 81 prime --------------------------------------------------------------------------------
-(vector 81 13.652944564819 (fv 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 1)
+(vector 81 13.652944564819 #(0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 1)
 
-     11.500874 (fv 0.000000 0.060156 1.198187 0.010810 -0.059627 1.336892 0.174682 0.177182 0.303039 0.507728 0.174616 0.162104 0.767672 0.283268 0.740356 1.244073 0.411651 0.771082 0.597722 1.646364 0.130092 1.399674 1.196320 1.542256 1.814795 0.969378 1.368552 0.008802 1.647015 1.538679 0.957584 0.562757 0.185463 0.612441 1.264483 1.129777 -0.291833 0.231345 1.808426 -0.095607 1.827790 0.807634 0.929515 0.025793 1.640598 1.271614 1.470525 0.036943 0.657753 0.872430 1.519719 0.128077 0.109048 0.492656 -0.089269 0.591629 -0.109776 0.882829 0.675418 0.557752 1.879709 0.050861 1.363712 1.313213 0.120759 0.673965 0.894225 1.390640 -0.198915 1.435867 0.650146 0.682721 0.919339 1.509191 0.176654 0.428794 0.550059 1.279511 0.067206 1.270072 0.509792)
+     11.500874 #(0.000000 0.060156 1.198187 0.010810 -0.059627 1.336892 0.174682 0.177182 0.303039 0.507728 0.174616 0.162104 0.767672 0.283268 0.740356 1.244073 0.411651 0.771082 0.597722 1.646364 0.130092 1.399674 1.196320 1.542256 1.814795 0.969378 1.368552 0.008802 1.647015 1.538679 0.957584 0.562757 0.185463 0.612441 1.264483 1.129777 -0.291833 0.231345 1.808426 -0.095607 1.827790 0.807634 0.929515 0.025793 1.640598 1.271614 1.470525 0.036943 0.657753 0.872430 1.519719 0.128077 0.109048 0.492656 -0.089269 0.591629 -0.109776 0.882829 0.675418 0.557752 1.879709 0.050861 1.363712 1.313213 0.120759 0.673965 0.894225 1.390640 -0.198915 1.435867 0.650146 0.682721 0.919339 1.509191 0.176654 0.428794 0.550059 1.279511 0.067206 1.270072 0.509792)
 
      ;; 80+1
-     11.318789 (fv 0.000000 1.312875 1.595991 1.250300 0.860994 1.125394 0.798611 1.212371 0.450471 1.878426 1.854513 0.914795 0.516574 1.401974 -0.113348 0.191503 1.535380 0.090102 0.579969 1.358286 0.094046 1.749820 0.409421 0.342346 0.891748 1.034938 1.701846 0.411592 0.161183 0.550475 0.945261 1.433769 0.390250 0.782945 1.725670 1.526810 1.626189 0.651868 1.370885 -0.153655 1.876481 1.236862 1.409437 0.102929 1.494796 0.718278 0.752798 0.534726 -0.125235 1.053652 1.624242 -0.009527 0.513674 -0.193412 0.274147 0.590252 0.888478 1.001277 -0.294725 -0.017970 0.022617 1.502755 0.474472 1.669991 0.292823 0.423633 -0.068585 0.472411 1.717891 1.789153 0.120369 -0.013158 1.253256 1.671744 1.049132 1.799303 1.831390 1.289936 0.966946 -0.056458 0.096803)
+     11.318789 #(0.000000 1.312875 1.595991 1.250300 0.860994 1.125394 0.798611 1.212371 0.450471 1.878426 1.854513 0.914795 0.516574 1.401974 -0.113348 0.191503 1.535380 0.090102 0.579969 1.358286 0.094046 1.749820 0.409421 0.342346 0.891748 1.034938 1.701846 0.411592 0.161183 0.550475 0.945261 1.433769 0.390250 0.782945 1.725670 1.526810 1.626189 0.651868 1.370885 -0.153655 1.876481 1.236862 1.409437 0.102929 1.494796 0.718278 0.752798 0.534726 -0.125235 1.053652 1.624242 -0.009527 0.513674 -0.193412 0.274147 0.590252 0.888478 1.001277 -0.294725 -0.017970 0.022617 1.502755 0.474472 1.669991 0.292823 0.423633 -0.068585 0.472411 1.717891 1.789153 0.120369 -0.013158 1.253256 1.671744 1.049132 1.799303 1.831390 1.289936 0.966946 -0.056458 0.096803)
      )
 
 ;;; 82 prime --------------------------------------------------------------------------------
-(vector 82 14.126787045134 (fv 0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0)
+(vector 82 14.126787045134 #(0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0)
 
-     11.462533 (fv 0.000000 1.174537 -0.036810 1.449073 0.002634 1.412064 0.527823 1.690777 0.901678 -0.091711 1.027422 0.397477 1.526657 0.088004 0.143741 1.426347 1.215238 1.051627 0.132305 0.242096 1.932884 0.204037 1.515523 0.068047 0.117753 1.158626 0.459284 1.081363 0.079849 0.326802 0.035989 0.012387 0.861938 0.605551 1.407324 0.411725 0.979703 0.090881 0.271335 0.152506 0.410872 1.149930 0.566324 1.611304 1.416641 0.010695 1.743925 0.323768 0.693725 0.691039 0.186118 0.191067 0.629603 -0.034867 0.109309 0.522152 1.478755 1.337464 1.245454 -0.020762 0.796712 1.449381 1.763960 0.000713 0.577015 1.247460 1.754051 1.376869 0.724941 0.407841 1.068454 1.226119 0.726352 1.657000 0.543820 1.177669 0.881363 0.120220 0.019239 0.418519 0.727327 0.208388)
+     11.462533 #(0.000000 1.174537 -0.036810 1.449073 0.002634 1.412064 0.527823 1.690777 0.901678 -0.091711 1.027422 0.397477 1.526657 0.088004 0.143741 1.426347 1.215238 1.051627 0.132305 0.242096 1.932884 0.204037 1.515523 0.068047 0.117753 1.158626 0.459284 1.081363 0.079849 0.326802 0.035989 0.012387 0.861938 0.605551 1.407324 0.411725 0.979703 0.090881 0.271335 0.152506 0.410872 1.149930 0.566324 1.611304 1.416641 0.010695 1.743925 0.323768 0.693725 0.691039 0.186118 0.191067 0.629603 -0.034867 0.109309 0.522152 1.478755 1.337464 1.245454 -0.020762 0.796712 1.449381 1.763960 0.000713 0.577015 1.247460 1.754051 1.376869 0.724941 0.407841 1.068454 1.226119 0.726352 1.657000 0.543820 1.177669 0.881363 0.120220 0.019239 0.418519 0.727327 0.208388)
 
      ;; 81+1
-     11.476728 (fv 0.000000 1.354025 1.769404 1.190492 0.845403 1.129164 0.681502 1.298591 0.526568 1.843796 1.839481 0.929391 0.545970 1.407502 -0.189236 0.155330 1.457831 0.110325 0.689064 1.222186 0.140271 1.863572 0.397423 0.425505 0.924253 1.034491 1.746896 0.221413 0.062871 0.570198 0.961166 1.514028 0.333971 0.850400 1.784003 1.484569 1.642647 0.680600 1.387654 -0.169385 1.868168 1.192895 1.317483 0.057642 1.550333 0.713537 0.826588 0.568782 -0.116091 1.031193 1.647713 0.076692 0.476679 -0.258739 0.325137 0.519423 0.928625 1.015174 -0.230419 -0.032172 0.037533 1.492936 0.495027 1.663321 0.378454 0.435791 -0.107582 0.529403 1.716992 1.827784 0.057964 -0.044990 1.256674 1.627386 1.007381 1.757651 1.738780 1.265746 1.051412 0.004277 0.076991 0.034105)
+     11.476728 #(0.000000 1.354025 1.769404 1.190492 0.845403 1.129164 0.681502 1.298591 0.526568 1.843796 1.839481 0.929391 0.545970 1.407502 -0.189236 0.155330 1.457831 0.110325 0.689064 1.222186 0.140271 1.863572 0.397423 0.425505 0.924253 1.034491 1.746896 0.221413 0.062871 0.570198 0.961166 1.514028 0.333971 0.850400 1.784003 1.484569 1.642647 0.680600 1.387654 -0.169385 1.868168 1.192895 1.317483 0.057642 1.550333 0.713537 0.826588 0.568782 -0.116091 1.031193 1.647713 0.076692 0.476679 -0.258739 0.325137 0.519423 0.928625 1.015174 -0.230419 -0.032172 0.037533 1.492936 0.495027 1.663321 0.378454 0.435791 -0.107582 0.529403 1.716992 1.827784 0.057964 -0.044990 1.256674 1.627386 1.007381 1.757651 1.738780 1.265746 1.051412 0.004277 0.076991 0.034105)
 
      ;; 83-1
-     11.480416 (fv 0.000000 0.454164 1.374754 0.722227 0.986349 1.377355 1.172894 0.123589 1.410636 1.726879 1.302862 1.602018 1.474058 1.472070 0.412168 1.770446 1.982011 1.625710 0.940561 0.534669 0.102735 0.053883 0.631657 1.350304 0.393669 0.521507 -0.049446 0.629634 1.041110 1.379158 -0.156331 1.690517 0.010013 1.800842 0.947691 1.681261 1.009361 1.763476 0.941228 1.218725 1.847726 0.614247 1.223796 0.150627 0.820237 0.298534 1.321472 0.537094 1.742045 0.701084 0.211813 0.587227 0.340134 0.598492 1.566318 1.525148 0.920822 1.421639 1.608617 0.590851 0.062396 0.476310 0.647458 0.340763 1.923701 0.385843 0.256835 1.446458 1.741785 0.470072 1.939455 0.907485 0.836540 0.652790 1.796743 1.327810 0.106788 1.646107 1.364400 0.210392 0.634295 1.443213)
+     11.480416 #(0.000000 0.454164 1.374754 0.722227 0.986349 1.377355 1.172894 0.123589 1.410636 1.726879 1.302862 1.602018 1.474058 1.472070 0.412168 1.770446 1.982011 1.625710 0.940561 0.534669 0.102735 0.053883 0.631657 1.350304 0.393669 0.521507 -0.049446 0.629634 1.041110 1.379158 -0.156331 1.690517 0.010013 1.800842 0.947691 1.681261 1.009361 1.763476 0.941228 1.218725 1.847726 0.614247 1.223796 0.150627 0.820237 0.298534 1.321472 0.537094 1.742045 0.701084 0.211813 0.587227 0.340134 0.598492 1.566318 1.525148 0.920822 1.421639 1.608617 0.590851 0.062396 0.476310 0.647458 0.340763 1.923701 0.385843 0.256835 1.446458 1.741785 0.470072 1.939455 0.907485 0.836540 0.652790 1.796743 1.327810 0.106788 1.646107 1.364400 0.210392 0.634295 1.443213)
      )
 
 ;;; 83 prime --------------------------------------------------------------------------------
-(vector 83 14.019070339131 (fv 0 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1)
+(vector 83 14.019070339131 #(0 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1)
 
-     11.495305 (fv 0.000000 0.489724 1.459665 0.744876 0.880930 1.487259 1.179525 0.143969 1.398705 1.711637 1.229644 1.599300 1.480153 1.405136 0.390934 1.640936 1.928348 1.588509 0.860260 0.449815 0.093357 1.993956 0.692831 1.455573 0.371844 0.551569 -0.014841 0.652289 1.000821 1.372208 -0.157122 1.697110 0.020676 1.736939 1.000046 1.712927 0.862704 1.740081 0.913067 1.344458 1.894797 0.629049 1.175321 0.159464 0.992773 0.367516 1.362985 0.576721 1.753109 0.776625 0.227603 0.452205 0.315264 0.636900 1.541376 1.554828 0.983967 1.431020 1.527430 0.561443 -0.018728 0.579720 0.634527 0.252657 1.931947 0.472631 0.403447 1.506115 1.700022 0.443875 1.857223 0.863365 0.830784 0.658374 1.791596 1.216322 0.200510 1.645886 1.544611 0.129139 0.651447 1.366065 0.329410)
+     11.495305 #(0.000000 0.489724 1.459665 0.744876 0.880930 1.487259 1.179525 0.143969 1.398705 1.711637 1.229644 1.599300 1.480153 1.405136 0.390934 1.640936 1.928348 1.588509 0.860260 0.449815 0.093357 1.993956 0.692831 1.455573 0.371844 0.551569 -0.014841 0.652289 1.000821 1.372208 -0.157122 1.697110 0.020676 1.736939 1.000046 1.712927 0.862704 1.740081 0.913067 1.344458 1.894797 0.629049 1.175321 0.159464 0.992773 0.367516 1.362985 0.576721 1.753109 0.776625 0.227603 0.452205 0.315264 0.636900 1.541376 1.554828 0.983967 1.431020 1.527430 0.561443 -0.018728 0.579720 0.634527 0.252657 1.931947 0.472631 0.403447 1.506115 1.700022 0.443875 1.857223 0.863365 0.830784 0.658374 1.791596 1.216322 0.200510 1.645886 1.544611 0.129139 0.651447 1.366065 0.329410)
      )
 
 ;;; 84 prime --------------------------------------------------------------------------------
-(vector 84 14.024940956301 (fv 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0)
+(vector 84 14.024940956301 #(0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0)
 
-     11.536851 (fv 0.000000 1.288171 1.222912 1.421316 0.994256 1.309106 0.862461 -0.365885 -0.460542 0.530989 0.804830 1.140139 0.788715 0.769440 0.941320 -0.061500 1.897753 1.285116 0.647118 0.948482 1.478812 1.645309 -0.360540 1.475165 0.480180 0.398442 1.131834 0.453887 0.828958 0.223971 1.033478 0.103677 1.715711 0.595485 0.422094 0.246530 1.081093 0.706350 0.534924 0.737096 0.520740 1.348231 0.027898 1.430351 0.071366 0.456025 1.024992 0.563780 1.148663 1.244878 0.023430 1.078768 -0.035007 1.108834 0.481954 -0.628990 0.715248 0.675907 1.709977 0.563135 1.037605 0.888801 0.556599 0.958729 0.571715 1.126122 -0.072129 1.378438 0.187340 0.783805 0.989989 0.112073 -0.183972 1.388719 1.544777 0.651714 0.568338 1.234814 0.056527 0.901152 1.674263 0.800528 0.192396 0.655541)
+     11.536851 #(0.000000 1.288171 1.222912 1.421316 0.994256 1.309106 0.862461 -0.365885 -0.460542 0.530989 0.804830 1.140139 0.788715 0.769440 0.941320 -0.061500 1.897753 1.285116 0.647118 0.948482 1.478812 1.645309 -0.360540 1.475165 0.480180 0.398442 1.131834 0.453887 0.828958 0.223971 1.033478 0.103677 1.715711 0.595485 0.422094 0.246530 1.081093 0.706350 0.534924 0.737096 0.520740 1.348231 0.027898 1.430351 0.071366 0.456025 1.024992 0.563780 1.148663 1.244878 0.023430 1.078768 -0.035007 1.108834 0.481954 -0.628990 0.715248 0.675907 1.709977 0.563135 1.037605 0.888801 0.556599 0.958729 0.571715 1.126122 -0.072129 1.378438 0.187340 0.783805 0.989989 0.112073 -0.183972 1.388719 1.544777 0.651714 0.568338 1.234814 0.056527 0.901152 1.674263 0.800528 0.192396 0.655541)
      )
 
 ;;; 85 prime --------------------------------------------------------------------------------
-(vector 85 14.253310943921 (fv 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1)
+(vector 85 14.253310943921 #(0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1)
 
-     11.588928 (fv 0.000000 0.051144 0.232251 1.722677 0.580164 1.682133 1.175152 1.551429 1.040385 1.746433 0.629958 1.774843 0.701195 0.931344 1.300787 -0.092863 1.300643 1.259885 1.530011 1.258206 1.393028 0.930782 0.485840 1.244517 -0.032618 0.062247 0.154622 1.065009 0.904299 1.262092 0.852812 0.408235 0.633914 1.770716 1.085864 1.265219 1.003699 1.255985 1.195701 1.382932 0.704891 0.246143 0.639193 1.457010 0.146909 1.982729 0.165366 1.294717 0.624758 1.669440 0.868773 0.953753 0.230896 0.915079 -0.212743 0.773612 0.218470 1.122339 1.601419 1.730078 1.474786 -0.488722 1.796889 1.514239 1.703114 -0.437786 0.743917 1.859124 1.287147 1.160254 0.159597 0.817545 1.148746 -0.204270 1.716652 0.382598 -0.057580 0.598631 0.343212 0.230053 1.103741 1.603024 0.720362 -0.247891 -0.077598)
+     11.588928 #(0.000000 0.051144 0.232251 1.722677 0.580164 1.682133 1.175152 1.551429 1.040385 1.746433 0.629958 1.774843 0.701195 0.931344 1.300787 -0.092863 1.300643 1.259885 1.530011 1.258206 1.393028 0.930782 0.485840 1.244517 -0.032618 0.062247 0.154622 1.065009 0.904299 1.262092 0.852812 0.408235 0.633914 1.770716 1.085864 1.265219 1.003699 1.255985 1.195701 1.382932 0.704891 0.246143 0.639193 1.457010 0.146909 1.982729 0.165366 1.294717 0.624758 1.669440 0.868773 0.953753 0.230896 0.915079 -0.212743 0.773612 0.218470 1.122339 1.601419 1.730078 1.474786 -0.488722 1.796889 1.514239 1.703114 -0.437786 0.743917 1.859124 1.287147 1.160254 0.159597 0.817545 1.148746 -0.204270 1.716652 0.382598 -0.057580 0.598631 0.343212 0.230053 1.103741 1.603024 0.720362 -0.247891 -0.077598)
      )
 
 ;;; 86 prime --------------------------------------------------------------------------------
-(vector 86 14.017106967247 (fv 0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 1)
+(vector 86 14.017106967247 #(0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 1)
 
-	11.517897 (fv 0.000000 1.259153 0.753054 1.764686 1.049517 1.125067 1.190973 0.991011 1.742456 0.708907 0.178161 0.559310 1.128716 0.240782 0.729992 0.303371 0.569838 1.273658 0.861674 0.290602 0.694623 0.362989 0.243116 1.696103 0.326714 1.481176 0.105867 1.763155 0.389638 1.096089 1.860461 0.384795 1.595111 0.327309 0.224303 1.457357 0.863276 1.221159 0.474861 0.148710 1.484645 1.778010 1.802629 1.714822 1.122256 0.709074 0.540633 -0.317254 0.997156 1.115917 0.123376 1.869025 1.339712 0.876345 1.682733 0.893530 0.998209 1.642978 1.224902 0.836368 1.948885 0.464451 1.058190 1.080864 1.538683 1.521142 0.009248 0.654339 -0.126350 0.282369 0.636445 1.771914 0.323435 1.302976 0.483884 1.466774 1.898584 0.571020 1.479654 0.824385 0.735539 0.638514 1.340179 1.302713 1.869702 1.497079)
+	11.517897 #(0.000000 1.259153 0.753054 1.764686 1.049517 1.125067 1.190973 0.991011 1.742456 0.708907 0.178161 0.559310 1.128716 0.240782 0.729992 0.303371 0.569838 1.273658 0.861674 0.290602 0.694623 0.362989 0.243116 1.696103 0.326714 1.481176 0.105867 1.763155 0.389638 1.096089 1.860461 0.384795 1.595111 0.327309 0.224303 1.457357 0.863276 1.221159 0.474861 0.148710 1.484645 1.778010 1.802629 1.714822 1.122256 0.709074 0.540633 -0.317254 0.997156 1.115917 0.123376 1.869025 1.339712 0.876345 1.682733 0.893530 0.998209 1.642978 1.224902 0.836368 1.948885 0.464451 1.058190 1.080864 1.538683 1.521142 0.009248 0.654339 -0.126350 0.282369 0.636445 1.771914 0.323435 1.302976 0.483884 1.466774 1.898584 0.571020 1.479654 0.824385 0.735539 0.638514 1.340179 1.302713 1.869702 1.497079)
      )
 
 ;;; 87 prime --------------------------------------------------------------------------------
-(vector 87 13.98394199918 (fv 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0)
+(vector 87 13.98394199918 #(0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0)
 
-	11.888688 (fv 0.000000 0.482398 1.227138 1.272721 0.078687 1.831113 1.162310 1.536977 1.689231 0.888900 -0.147273 1.167875 0.136674 0.075484 0.629027 1.034119 0.307327 0.024754 1.634526 1.779718 -0.119653 0.312698 0.930420 1.385321 1.107173 1.761414 0.822994 0.223996 0.948219 0.050573 1.181566 -0.076310 1.414999 0.950580 1.442020 0.563152 0.962072 1.833788 0.503591 1.266688 1.037104 0.455604 0.146748 1.270845 0.375842 1.270415 0.973599 0.773789 1.316233 0.694384 1.909797 0.637408 1.683609 1.640242 0.084358 0.069276 0.823261 1.794579 0.489470 1.507812 0.467715 1.270885 1.378929 1.892053 0.446100 1.349825 1.591977 0.875580 1.281794 0.089884 0.566164 1.762552 1.251149 0.938610 1.580460 1.542270 0.684665 0.182715 1.926062 0.347598 0.716836 1.752700 1.597850 1.520331 1.622999 0.031320 1.757914)
+	11.888688 #(0.000000 0.482398 1.227138 1.272721 0.078687 1.831113 1.162310 1.536977 1.689231 0.888900 -0.147273 1.167875 0.136674 0.075484 0.629027 1.034119 0.307327 0.024754 1.634526 1.779718 -0.119653 0.312698 0.930420 1.385321 1.107173 1.761414 0.822994 0.223996 0.948219 0.050573 1.181566 -0.076310 1.414999 0.950580 1.442020 0.563152 0.962072 1.833788 0.503591 1.266688 1.037104 0.455604 0.146748 1.270845 0.375842 1.270415 0.973599 0.773789 1.316233 0.694384 1.909797 0.637408 1.683609 1.640242 0.084358 0.069276 0.823261 1.794579 0.489470 1.507812 0.467715 1.270885 1.378929 1.892053 0.446100 1.349825 1.591977 0.875580 1.281794 0.089884 0.566164 1.762552 1.251149 0.938610 1.580460 1.542270 0.684665 0.182715 1.926062 0.347598 0.716836 1.752700 1.597850 1.520331 1.622999 0.031320 1.757914)
 
 	;; 86 + 1
-	11.612976 (fv 0.000000 1.296504 0.726706 1.718822 1.046681 1.126904 1.153426 0.940241 1.708793 0.818644 0.107576 0.530980 1.122499 0.334577 0.735679 0.325192 0.616360 1.132997 0.845995 0.287311 0.640223 0.397260 0.270000 1.691583 0.368381 1.503691 0.176791 1.719860 0.415279 1.070108 1.956631 0.329587 1.654694 0.271910 0.194847 1.468802 0.897532 1.267673 0.483007 0.130123 1.446495 1.802533 1.802082 1.708319 1.123221 0.822012 0.552025 -0.324423 0.903301 1.074684 0.198879 1.961955 1.280447 0.787297 1.695626 0.996555 1.020892 1.595011 1.302967 0.813723 1.889725 0.419999 1.093466 1.051442 1.549928 1.587010 -0.012516 0.597662 -0.094834 0.261495 0.632231 1.919100 0.281141 1.272306 0.493568 1.244869 1.877721 0.661378 1.459138 0.814695 0.650143 0.614249 1.318253 1.365141 1.852338 1.532615 -0.014292)
+	11.612976 #(0.000000 1.296504 0.726706 1.718822 1.046681 1.126904 1.153426 0.940241 1.708793 0.818644 0.107576 0.530980 1.122499 0.334577 0.735679 0.325192 0.616360 1.132997 0.845995 0.287311 0.640223 0.397260 0.270000 1.691583 0.368381 1.503691 0.176791 1.719860 0.415279 1.070108 1.956631 0.329587 1.654694 0.271910 0.194847 1.468802 0.897532 1.267673 0.483007 0.130123 1.446495 1.802533 1.802082 1.708319 1.123221 0.822012 0.552025 -0.324423 0.903301 1.074684 0.198879 1.961955 1.280447 0.787297 1.695626 0.996555 1.020892 1.595011 1.302967 0.813723 1.889725 0.419999 1.093466 1.051442 1.549928 1.587010 -0.012516 0.597662 -0.094834 0.261495 0.632231 1.919100 0.281141 1.272306 0.493568 1.244869 1.877721 0.661378 1.459138 0.814695 0.650143 0.614249 1.318253 1.365141 1.852338 1.532615 -0.014292)
      )
 
 ;;; 88 prime --------------------------------------------------------------------------------
-(vector 88 14.825139803345 (fv 0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0)
+(vector 88 14.825139803345 #(0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0)
 
-     11.988941 (fv 0.000000 0.784577 0.582655 -0.034103 0.163974 0.329543 0.693568 0.791635 0.508446 0.396915 1.248395 0.826252 1.437835 1.346260 1.098554 0.836111 0.285181 0.833650 0.396981 0.462954 0.362450 1.183096 1.004262 0.908804 0.301743 1.532670 0.011752 -0.072123 0.996811 1.778401 0.688894 0.044599 0.465473 0.579840 0.996613 0.177680 1.437542 0.677747 1.616279 0.045690 0.566144 1.136899 0.636783 0.355278 1.821475 1.658271 1.588631 1.539506 1.624123 1.239000 1.605890 0.921379 1.791768 0.223451 1.057625 1.753981 0.669208 1.245749 0.682902 0.319986 0.831757 1.041603 0.551747 0.279645 1.731984 0.406762 1.759751 -0.021178 1.248606 0.309853 0.756421 0.658187 1.127576 -0.365423 1.909061 0.823437 1.017441 0.941761 1.686220 0.570407 1.741961 1.705746 1.303576 0.477079 0.894393 0.214957 1.446786 0.714971)
+     11.988941 #(0.000000 0.784577 0.582655 -0.034103 0.163974 0.329543 0.693568 0.791635 0.508446 0.396915 1.248395 0.826252 1.437835 1.346260 1.098554 0.836111 0.285181 0.833650 0.396981 0.462954 0.362450 1.183096 1.004262 0.908804 0.301743 1.532670 0.011752 -0.072123 0.996811 1.778401 0.688894 0.044599 0.465473 0.579840 0.996613 0.177680 1.437542 0.677747 1.616279 0.045690 0.566144 1.136899 0.636783 0.355278 1.821475 1.658271 1.588631 1.539506 1.624123 1.239000 1.605890 0.921379 1.791768 0.223451 1.057625 1.753981 0.669208 1.245749 0.682902 0.319986 0.831757 1.041603 0.551747 0.279645 1.731984 0.406762 1.759751 -0.021178 1.248606 0.309853 0.756421 0.658187 1.127576 -0.365423 1.909061 0.823437 1.017441 0.941761 1.686220 0.570407 1.741961 1.705746 1.303576 0.477079 0.894393 0.214957 1.446786 0.714971)
 
      ;; 87+1
-     11.814735 (fv 0.000000 1.368148 0.691154 1.687498 1.039684 1.203556 1.189736 1.006697 1.714307 0.763256 0.064985 0.571039 1.207048 0.283865 0.790295 0.371929 0.626841 1.136922 0.897180 0.250579 0.703180 0.367153 0.285039 1.638464 0.403793 1.574680 0.178418 1.768394 0.361495 1.131365 1.971622 0.329290 1.677397 0.231014 0.189969 1.483487 0.936641 1.267305 0.514462 0.133317 1.438805 1.804423 1.766680 1.772823 1.080035 0.819063 0.520465 -0.385910 0.897901 1.088041 0.197160 0.026953 1.297496 0.779688 1.684839 1.075719 1.000862 1.653028 1.332924 0.886650 1.939949 0.418280 1.124021 1.085155 1.563576 1.537898 -0.095926 0.685710 -0.089908 0.297752 0.611005 1.863915 0.336806 1.344864 0.522590 1.267887 1.872098 0.632836 1.388439 0.783559 0.644197 0.609366 1.338438 1.322505 1.876261 1.537568 -0.063978 -0.021791)
+     11.814735 #(0.000000 1.368148 0.691154 1.687498 1.039684 1.203556 1.189736 1.006697 1.714307 0.763256 0.064985 0.571039 1.207048 0.283865 0.790295 0.371929 0.626841 1.136922 0.897180 0.250579 0.703180 0.367153 0.285039 1.638464 0.403793 1.574680 0.178418 1.768394 0.361495 1.131365 1.971622 0.329290 1.677397 0.231014 0.189969 1.483487 0.936641 1.267305 0.514462 0.133317 1.438805 1.804423 1.766680 1.772823 1.080035 0.819063 0.520465 -0.385910 0.897901 1.088041 0.197160 0.026953 1.297496 0.779688 1.684839 1.075719 1.000862 1.653028 1.332924 0.886650 1.939949 0.418280 1.124021 1.085155 1.563576 1.537898 -0.095926 0.685710 -0.089908 0.297752 0.611005 1.863915 0.336806 1.344864 0.522590 1.267887 1.872098 0.632836 1.388439 0.783559 0.644197 0.609366 1.338438 1.322505 1.876261 1.537568 -0.063978 -0.021791)
      )
 
 ;;; 89 prime --------------------------------------------------------------------------------
-(vector 89 14.69031483888 (fv 0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1)
+(vector 89 14.69031483888 #(0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1)
 
-	12.145572 (fv 0.000000 0.358269 1.288170 -0.001864 0.867779 1.364244 1.109375 1.164634 -0.016236 -0.166115 0.449176 1.706240 1.833933 -0.037127 1.772608 0.464339 0.514549 -0.440413 0.091904 1.161505 1.250171 0.825773 0.104691 1.330145 0.165858 0.782047 0.989298 1.471958 -1.844798 0.511831 1.629263 1.091421 0.075823 0.883705 0.737372 1.834115 1.253424 0.188184 -0.236434 0.698883 0.462924 1.137084 1.094253 1.071593 1.735305 1.138289 1.560372 0.992360 1.412813 1.873908 0.448635 -0.005058 0.329007 1.672360 0.604898 1.727995 0.648160 0.750281 0.125793 1.632855 1.581670 1.571564 1.278678 0.191912 0.145586 1.306040 0.445369 -0.231408 -0.001410 1.354497 1.551515 1.659096 -0.403896 0.821589 1.439452 1.005908 1.563170 1.260522 0.450255 1.234179 0.926658 0.279960 0.002426 1.200149 1.285451 0.986678 0.303114 1.568249 0.304851)
+	12.145572 #(0.000000 0.358269 1.288170 -0.001864 0.867779 1.364244 1.109375 1.164634 -0.016236 -0.166115 0.449176 1.706240 1.833933 -0.037127 1.772608 0.464339 0.514549 -0.440413 0.091904 1.161505 1.250171 0.825773 0.104691 1.330145 0.165858 0.782047 0.989298 1.471958 -1.844798 0.511831 1.629263 1.091421 0.075823 0.883705 0.737372 1.834115 1.253424 0.188184 -0.236434 0.698883 0.462924 1.137084 1.094253 1.071593 1.735305 1.138289 1.560372 0.992360 1.412813 1.873908 0.448635 -0.005058 0.329007 1.672360 0.604898 1.727995 0.648160 0.750281 0.125793 1.632855 1.581670 1.571564 1.278678 0.191912 0.145586 1.306040 0.445369 -0.231408 -0.001410 1.354497 1.551515 1.659096 -0.403896 0.821589 1.439452 1.005908 1.563170 1.260522 0.450255 1.234179 0.926658 0.279960 0.002426 1.200149 1.285451 0.986678 0.303114 1.568249 0.304851)
 
 	;; 88+1
-	11.787567 (fv 0.000000 1.314164 0.689513 1.628993 1.144940 1.224705 1.150205 1.016059 1.723195 0.713105 0.005841 0.484975 1.239550 0.341275 0.773786 0.398433 0.655094 1.170929 1.038464 0.301899 0.723090 0.410530 0.287119 1.633201 0.260609 1.623354 0.115980 1.879009 0.455545 1.070015 0.017172 0.270422 1.692490 0.233092 0.152980 1.556192 0.883089 1.261531 0.502559 0.146173 1.438907 1.785157 1.804773 1.715166 1.064977 0.807912 0.565628 -0.439659 0.842957 1.290534 0.179519 -0.023924 1.443203 0.792272 1.565433 1.032012 0.991867 1.644953 1.337404 0.854036 0.023578 0.413260 1.087165 1.065012 1.583652 1.496116 -0.065654 0.692422 -0.146363 0.297624 0.616209 1.798178 0.385485 1.334745 0.400370 1.168196 1.828136 0.707167 1.548668 0.793572 0.670466 0.690206 1.451727 1.295947 1.819151 1.442501 -0.262177 -0.013858 0.006952)
+	11.787567 #(0.000000 1.314164 0.689513 1.628993 1.144940 1.224705 1.150205 1.016059 1.723195 0.713105 0.005841 0.484975 1.239550 0.341275 0.773786 0.398433 0.655094 1.170929 1.038464 0.301899 0.723090 0.410530 0.287119 1.633201 0.260609 1.623354 0.115980 1.879009 0.455545 1.070015 0.017172 0.270422 1.692490 0.233092 0.152980 1.556192 0.883089 1.261531 0.502559 0.146173 1.438907 1.785157 1.804773 1.715166 1.064977 0.807912 0.565628 -0.439659 0.842957 1.290534 0.179519 -0.023924 1.443203 0.792272 1.565433 1.032012 0.991867 1.644953 1.337404 0.854036 0.023578 0.413260 1.087165 1.065012 1.583652 1.496116 -0.065654 0.692422 -0.146363 0.297624 0.616209 1.798178 0.385485 1.334745 0.400370 1.168196 1.828136 0.707167 1.548668 0.793572 0.670466 0.690206 1.451727 1.295947 1.819151 1.442501 -0.262177 -0.013858 0.006952)
      )
 
 ;;; 90 prime --------------------------------------------------------------------------------
-(vector 90 14.831111851861 (fv 0 1 1 0 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0 1 1 1)
+(vector 90 14.831111851861 #(0 1 1 0 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0 1 1 1)
 
-     12.022848 (fv 0.000000 0.304537 1.829033 1.070382 1.207038 0.596236 0.255424 0.517237 0.518037 0.555724 0.263998 -0.092809 0.086181 1.031798 1.764620 1.155127 1.629595 1.381762 0.374989 1.817825 0.178145 1.717460 -0.421617 0.620765 1.435692 1.136975 0.618586 -0.142602 0.257261 0.632270 1.492625 0.098530 0.089288 1.438957 0.096419 -0.388671 1.239417 1.591519 1.418382 0.224847 0.327382 1.847389 0.645292 1.057386 0.245292 0.974759 0.113802 0.520412 0.536708 1.166960 -0.123664 0.466667 1.597708 0.387840 1.876598 1.035063 1.402503 0.035393 0.945965 1.170137 1.338358 1.449697 1.072439 0.060883 1.296995 1.652836 0.462073 1.502645 1.166005 1.209720 0.739421 0.202107 1.382598 0.210680 0.451167 1.145693 0.222332 1.637533 0.245553 0.987799 0.980876 1.068255 -0.276826 -0.417000 1.573560 0.382232 0.604329 -0.155944 1.170763 0.979682)
+     12.022848 #(0.000000 0.304537 1.829033 1.070382 1.207038 0.596236 0.255424 0.517237 0.518037 0.555724 0.263998 -0.092809 0.086181 1.031798 1.764620 1.155127 1.629595 1.381762 0.374989 1.817825 0.178145 1.717460 -0.421617 0.620765 1.435692 1.136975 0.618586 -0.142602 0.257261 0.632270 1.492625 0.098530 0.089288 1.438957 0.096419 -0.388671 1.239417 1.591519 1.418382 0.224847 0.327382 1.847389 0.645292 1.057386 0.245292 0.974759 0.113802 0.520412 0.536708 1.166960 -0.123664 0.466667 1.597708 0.387840 1.876598 1.035063 1.402503 0.035393 0.945965 1.170137 1.338358 1.449697 1.072439 0.060883 1.296995 1.652836 0.462073 1.502645 1.166005 1.209720 0.739421 0.202107 1.382598 0.210680 0.451167 1.145693 0.222332 1.637533 0.245553 0.987799 0.980876 1.068255 -0.276826 -0.417000 1.573560 0.382232 0.604329 -0.155944 1.170763 0.979682)
      )
 
 ;;; 91 prime --------------------------------------------------------------------------------
-(vector 91 14.702056847646 (fv 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0)
+(vector 91 14.702056847646 #(0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0)
 
-     12.084424 (fv 0.000000 1.661963 0.526933 0.737897 1.547408 1.147810 -0.075617 1.067829 0.852458 1.831985 1.111705 1.210703 0.536594 1.562730 1.564495 0.931257 1.183443 1.206159 1.917460 -0.142965 1.673803 1.211553 1.446589 0.613092 0.971147 0.710033 1.752892 1.683084 1.418254 1.337958 1.028503 0.530465 0.358051 0.607198 0.374767 1.422247 1.801820 -0.023693 0.571429 0.547868 -0.171993 -0.069230 0.452658 0.503964 0.822577 0.139237 1.564879 1.109027 0.054201 0.693725 1.047747 0.930670 0.524559 -1.746051 0.764531 1.459015 0.440040 0.505370 1.433135 1.753190 0.597210 0.403986 1.752023 0.224587 -0.006227 1.424459 1.006632 1.837329 0.717913 1.423544 0.374217 1.561701 0.508321 0.662754 0.466739 0.959175 1.632864 0.950048 1.612332 0.591280 -0.303047 1.088472 1.746777 0.350796 0.275475 0.538357 0.642430 0.726819 1.423969 -0.019252 0.614624)
+     12.084424 #(0.000000 1.661963 0.526933 0.737897 1.547408 1.147810 -0.075617 1.067829 0.852458 1.831985 1.111705 1.210703 0.536594 1.562730 1.564495 0.931257 1.183443 1.206159 1.917460 -0.142965 1.673803 1.211553 1.446589 0.613092 0.971147 0.710033 1.752892 1.683084 1.418254 1.337958 1.028503 0.530465 0.358051 0.607198 0.374767 1.422247 1.801820 -0.023693 0.571429 0.547868 -0.171993 -0.069230 0.452658 0.503964 0.822577 0.139237 1.564879 1.109027 0.054201 0.693725 1.047747 0.930670 0.524559 -1.746051 0.764531 1.459015 0.440040 0.505370 1.433135 1.753190 0.597210 0.403986 1.752023 0.224587 -0.006227 1.424459 1.006632 1.837329 0.717913 1.423544 0.374217 1.561701 0.508321 0.662754 0.466739 0.959175 1.632864 0.950048 1.612332 0.591280 -0.303047 1.088472 1.746777 0.350796 0.275475 0.538357 0.642430 0.726819 1.423969 -0.019252 0.614624)
      )
 
 ;;; 92 prime --------------------------------------------------------------------------------
-(vector 92 14.556435035882 (fv 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0)
+(vector 92 14.556435035882 #(0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0)
 
-     12.111629 (fv 0.000000 1.123677 1.203180 1.174948 1.560019 1.384341 0.367155 0.099459 1.212291 0.682305 1.716557 0.261123 0.730999 0.903465 1.369526 0.155486 0.590372 -0.569988 0.244209 0.083007 1.764474 0.389454 0.365639 1.245993 1.816418 0.730704 -0.475666 0.929928 1.528963 0.279291 0.611191 0.845099 1.029972 1.753120 1.126371 1.838017 0.163977 1.146545 0.659479 1.341785 0.566953 0.273863 0.527929 0.012905 1.508411 1.113794 0.790470 1.810888 0.619444 1.306005 1.764955 0.757522 1.532832 1.638004 1.292139 -0.220293 1.326791 0.207925 0.021426 0.636407 0.595067 0.920176 1.364542 1.317600 0.792553 1.523336 0.199497 1.310295 1.126679 1.660906 0.580494 1.441629 1.307014 -0.149187 1.422606 1.228427 0.874268 1.519111 1.056591 1.949465 -0.426058 1.208008 1.301151 1.521711 0.452094 0.671757 0.665097 0.498102 0.181724 0.953835 0.725167 1.124133)
+     12.111629 #(0.000000 1.123677 1.203180 1.174948 1.560019 1.384341 0.367155 0.099459 1.212291 0.682305 1.716557 0.261123 0.730999 0.903465 1.369526 0.155486 0.590372 -0.569988 0.244209 0.083007 1.764474 0.389454 0.365639 1.245993 1.816418 0.730704 -0.475666 0.929928 1.528963 0.279291 0.611191 0.845099 1.029972 1.753120 1.126371 1.838017 0.163977 1.146545 0.659479 1.341785 0.566953 0.273863 0.527929 0.012905 1.508411 1.113794 0.790470 1.810888 0.619444 1.306005 1.764955 0.757522 1.532832 1.638004 1.292139 -0.220293 1.326791 0.207925 0.021426 0.636407 0.595067 0.920176 1.364542 1.317600 0.792553 1.523336 0.199497 1.310295 1.126679 1.660906 0.580494 1.441629 1.307014 -0.149187 1.422606 1.228427 0.874268 1.519111 1.056591 1.949465 -0.426058 1.208008 1.301151 1.521711 0.452094 0.671757 0.665097 0.498102 0.181724 0.953835 0.725167 1.124133)
      )
 
 ;;; 93 prime --------------------------------------------------------------------------------
-(vector 93 14.994668960571 (fv 0 1 0 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 1)
+(vector 93 14.994668960571 #(0 1 0 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 1)
 
-     12.323397 (fv 0.000000 0.199963 1.180724 -0.024343 1.226375 -0.402136 0.168523 1.313836 1.060714 1.370552 -0.471865 0.051393 1.826180 -0.226097 1.794079 0.176177 0.029279 1.765656 -0.022993 0.924413 1.319281 1.348871 0.657083 1.021102 0.556079 1.679658 0.119278 0.154784 0.786857 0.314106 1.909349 1.379970 0.486239 0.159940 1.547391 1.177792 0.671257 -0.176460 1.805002 1.892101 1.067471 1.153719 0.249337 0.426943 1.568658 0.284044 0.861446 -0.338286 0.531428 1.450755 0.605670 0.121121 1.131478 1.187561 1.041801 1.153378 1.486202 0.325760 0.201023 0.376157 0.907130 0.389618 0.779509 0.246617 0.355275 0.698575 1.371835 1.170196 1.188933 0.531048 0.008203 1.693556 0.426031 -0.330917 0.226068 0.478929 -0.022448 0.820583 0.181321 1.394112 0.214726 0.952096 1.780527 0.477402 0.370644 0.018381 1.506735 0.676340 -0.005190 1.098917 1.472044 0.136836 1.154585)
+     12.323397 #(0.000000 0.199963 1.180724 -0.024343 1.226375 -0.402136 0.168523 1.313836 1.060714 1.370552 -0.471865 0.051393 1.826180 -0.226097 1.794079 0.176177 0.029279 1.765656 -0.022993 0.924413 1.319281 1.348871 0.657083 1.021102 0.556079 1.679658 0.119278 0.154784 0.786857 0.314106 1.909349 1.379970 0.486239 0.159940 1.547391 1.177792 0.671257 -0.176460 1.805002 1.892101 1.067471 1.153719 0.249337 0.426943 1.568658 0.284044 0.861446 -0.338286 0.531428 1.450755 0.605670 0.121121 1.131478 1.187561 1.041801 1.153378 1.486202 0.325760 0.201023 0.376157 0.907130 0.389618 0.779509 0.246617 0.355275 0.698575 1.371835 1.170196 1.188933 0.531048 0.008203 1.693556 0.426031 -0.330917 0.226068 0.478929 -0.022448 0.820583 0.181321 1.394112 0.214726 0.952096 1.780527 0.477402 0.370644 0.018381 1.506735 0.676340 -0.005190 1.098917 1.472044 0.136836 1.154585)
 
      ;; 92+1
-     11.941773 (fv 0.000000 1.137688 1.089778 1.068356 1.532544 1.432457 0.360804 -0.026160 1.251592 0.723161 1.753475 0.321792 0.652597 0.831785 1.248203 0.098788 0.605754 -0.620144 0.303325 -0.047105 1.719165 0.369582 0.426774 1.169373 1.859324 0.741230 -0.571365 0.881904 1.545056 0.328084 0.606744 0.850606 0.996606 1.766597 1.046556 1.767688 0.237622 1.228793 0.632423 1.337245 0.542894 0.162245 0.534219 0.069759 1.516061 1.102446 0.948393 1.619738 0.549855 1.379503 1.785272 0.859611 1.503940 1.656139 1.246212 -0.223489 1.412206 0.325338 0.101699 0.705391 0.747074 0.979316 1.385520 1.241306 0.625921 1.535144 0.140376 1.223617 1.154594 1.635856 0.580110 1.431599 1.354268 -0.085341 1.513604 1.083083 0.960280 1.481804 1.049034 1.936911 -0.305123 1.144650 1.328494 1.401780 0.463677 0.612788 0.648525 0.589928 0.274669 0.913704 0.769534 1.048236 -0.031107)
+     11.941773 #(0.000000 1.137688 1.089778 1.068356 1.532544 1.432457 0.360804 -0.026160 1.251592 0.723161 1.753475 0.321792 0.652597 0.831785 1.248203 0.098788 0.605754 -0.620144 0.303325 -0.047105 1.719165 0.369582 0.426774 1.169373 1.859324 0.741230 -0.571365 0.881904 1.545056 0.328084 0.606744 0.850606 0.996606 1.766597 1.046556 1.767688 0.237622 1.228793 0.632423 1.337245 0.542894 0.162245 0.534219 0.069759 1.516061 1.102446 0.948393 1.619738 0.549855 1.379503 1.785272 0.859611 1.503940 1.656139 1.246212 -0.223489 1.412206 0.325338 0.101699 0.705391 0.747074 0.979316 1.385520 1.241306 0.625921 1.535144 0.140376 1.223617 1.154594 1.635856 0.580110 1.431599 1.354268 -0.085341 1.513604 1.083083 0.960280 1.481804 1.049034 1.936911 -0.305123 1.144650 1.328494 1.401780 0.463677 0.612788 0.648525 0.589928 0.274669 0.913704 0.769534 1.048236 -0.031107)
      )
 
 ;;; 94 prime --------------------------------------------------------------------------------
-(vector 94 14.811392756555 (fv 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0)
+(vector 94 14.811392756555 #(0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0)
 
-     12.372284 (fv 0.000000 0.443961 0.975468 0.665627 0.603420 0.053131 0.306985 1.398862 1.315822 1.027281 0.141353 0.068859 0.515109 1.551710 0.559483 1.154898 1.062171 1.088212 0.844250 0.492324 -0.085203 0.372997 1.377703 1.412362 1.590941 0.015253 -0.053671 1.084827 1.672259 1.823973 0.424632 1.792989 0.693404 1.273404 0.373397 1.282394 -0.222604 0.823730 1.821435 0.830056 0.905326 1.119027 0.338679 0.323132 1.572257 1.693368 1.617589 1.262068 1.377617 -0.071238 1.120960 0.924011 0.108375 0.409469 0.705856 1.358638 1.649735 1.159074 1.592832 0.679108 1.663652 1.223795 0.200633 -0.160917 1.201748 0.776569 0.821633 0.259058 0.902729 0.178012 1.711364 0.349704 0.758303 0.750335 0.936872 0.168192 0.485748 0.828259 1.367780 0.601135 0.970970 1.052074 1.846930 -0.031412 0.332694 1.027172 1.579686 0.520946 0.479472 0.979137 -0.124751 1.022187 0.809346 1.384445)
+     12.372284 #(0.000000 0.443961 0.975468 0.665627 0.603420 0.053131 0.306985 1.398862 1.315822 1.027281 0.141353 0.068859 0.515109 1.551710 0.559483 1.154898 1.062171 1.088212 0.844250 0.492324 -0.085203 0.372997 1.377703 1.412362 1.590941 0.015253 -0.053671 1.084827 1.672259 1.823973 0.424632 1.792989 0.693404 1.273404 0.373397 1.282394 -0.222604 0.823730 1.821435 0.830056 0.905326 1.119027 0.338679 0.323132 1.572257 1.693368 1.617589 1.262068 1.377617 -0.071238 1.120960 0.924011 0.108375 0.409469 0.705856 1.358638 1.649735 1.159074 1.592832 0.679108 1.663652 1.223795 0.200633 -0.160917 1.201748 0.776569 0.821633 0.259058 0.902729 0.178012 1.711364 0.349704 0.758303 0.750335 0.936872 0.168192 0.485748 0.828259 1.367780 0.601135 0.970970 1.052074 1.846930 -0.031412 0.332694 1.027172 1.579686 0.520946 0.479472 0.979137 -0.124751 1.022187 0.809346 1.384445)
 
      ;; 93+1
-     12.114932 (fv 0.000000 1.123175 1.150884 1.058343 1.465121 1.413282 0.350764 0.114071 1.226428 0.791079 1.790932 0.440109 0.565381 0.734544 1.327723 -0.001005 0.566798 -0.729477 0.316829 -0.017120 1.801895 0.389351 0.381914 1.198959 1.820572 0.721571 -0.570163 0.955754 1.536499 0.370558 0.593528 0.885066 1.037479 1.768525 1.105455 1.756351 0.226836 1.186245 0.651550 1.384674 0.494435 0.218370 0.473389 0.034709 1.487137 1.083964 0.911945 1.641974 0.559886 1.326260 1.842092 0.870886 1.399307 1.629693 1.284916 -0.226560 1.347506 0.289919 0.059989 0.740638 0.739763 0.950849 1.395859 1.190558 0.656884 1.519451 0.124394 1.191107 1.225318 1.686413 0.517977 1.395642 1.256343 -0.098747 1.532037 1.044403 0.978522 1.573287 0.994934 1.946711 -0.367453 1.259056 1.292220 1.531327 0.451283 0.592779 0.641359 0.711046 0.198007 0.990565 0.746192 1.039960 -0.062670 0.073205)
+     12.114932 #(0.000000 1.123175 1.150884 1.058343 1.465121 1.413282 0.350764 0.114071 1.226428 0.791079 1.790932 0.440109 0.565381 0.734544 1.327723 -0.001005 0.566798 -0.729477 0.316829 -0.017120 1.801895 0.389351 0.381914 1.198959 1.820572 0.721571 -0.570163 0.955754 1.536499 0.370558 0.593528 0.885066 1.037479 1.768525 1.105455 1.756351 0.226836 1.186245 0.651550 1.384674 0.494435 0.218370 0.473389 0.034709 1.487137 1.083964 0.911945 1.641974 0.559886 1.326260 1.842092 0.870886 1.399307 1.629693 1.284916 -0.226560 1.347506 0.289919 0.059989 0.740638 0.739763 0.950849 1.395859 1.190558 0.656884 1.519451 0.124394 1.191107 1.225318 1.686413 0.517977 1.395642 1.256343 -0.098747 1.532037 1.044403 0.978522 1.573287 0.994934 1.946711 -0.367453 1.259056 1.292220 1.531327 0.451283 0.592779 0.641359 0.711046 0.198007 0.990565 0.746192 1.039960 -0.062670 0.073205)
      )
 
 ;;; 95 prime --------------------------------------------------------------------------------
-(vector 95 15.240 (fv 0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1)
+(vector 95 15.240 #(0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1)
      
-     12.459772 (fv 0.000000 0.308397 0.934622 0.587781 1.397996 1.615701 1.668964 1.492915 1.308563 0.159020 1.213403 -0.279408 1.096006 1.085558 0.623876 0.907176 0.667480 1.557434 1.743106 1.498468 1.233171 0.109361 0.947947 -0.262447 0.459131 0.819588 -0.021230 0.492364 0.906782 0.461816 0.056526 0.050587 0.383393 0.910532 0.762726 0.098762 0.955132 1.150421 0.604248 0.259751 1.309549 1.704622 1.855016 0.399458 0.217387 0.513436 1.433314 0.218651 0.133592 1.857292 0.423016 0.136928 0.083580 1.034506 1.391713 0.293770 0.897050 0.785540 0.765384 1.736279 0.958030 0.524446 0.709466 0.374572 1.361583 0.387916 0.039566 1.900932 -0.119192 0.460590 -0.150181 0.605728 1.448737 1.077599 1.714282 1.351134 0.667262 0.278426 0.183437 0.118876 0.258415 0.843668 0.748044 1.868376 0.252888 1.363041 0.638212 1.171836 0.388947 0.935784 0.020120 0.828215 -0.177354 1.862097 0.788220)
+     12.459772 #(0.000000 0.308397 0.934622 0.587781 1.397996 1.615701 1.668964 1.492915 1.308563 0.159020 1.213403 -0.279408 1.096006 1.085558 0.623876 0.907176 0.667480 1.557434 1.743106 1.498468 1.233171 0.109361 0.947947 -0.262447 0.459131 0.819588 -0.021230 0.492364 0.906782 0.461816 0.056526 0.050587 0.383393 0.910532 0.762726 0.098762 0.955132 1.150421 0.604248 0.259751 1.309549 1.704622 1.855016 0.399458 0.217387 0.513436 1.433314 0.218651 0.133592 1.857292 0.423016 0.136928 0.083580 1.034506 1.391713 0.293770 0.897050 0.785540 0.765384 1.736279 0.958030 0.524446 0.709466 0.374572 1.361583 0.387916 0.039566 1.900932 -0.119192 0.460590 -0.150181 0.605728 1.448737 1.077599 1.714282 1.351134 0.667262 0.278426 0.183437 0.118876 0.258415 0.843668 0.748044 1.868376 0.252888 1.363041 0.638212 1.171836 0.388947 0.935784 0.020120 0.828215 -0.177354 1.862097 0.788220)
 
      ;; 94+1
-     12.114676 (fv 0.000000 1.049345 1.220803 1.147373 1.381621 1.355515 0.454825 -0.009436 1.057569 0.663900 1.874811 0.433507 0.556807 0.623352 1.242792 0.067786 0.465225 -0.661340 0.331985 0.032227 1.933091 0.432343 0.547379 1.107124 1.846431 0.517946 -0.547570 0.897607 1.611921 0.403112 0.647511 0.899598 0.890804 1.716130 0.996200 1.713540 0.243854 1.180551 0.688999 1.559934 0.583466 0.197293 0.600073 0.000101 1.458490 0.994760 0.956495 1.648139 0.660393 1.228976 1.774516 0.893844 1.390831 1.720570 1.135089 -0.091470 1.277862 0.255881 0.036343 0.799886 0.761090 0.891306 1.295964 1.096543 0.475861 1.537136 0.091181 1.218377 1.140426 1.690539 0.527790 1.400945 1.266740 -0.072678 1.541904 1.035302 1.038433 1.493972 1.075712 0.036991 -0.268077 1.190854 1.324282 1.468048 0.376266 0.545926 0.611626 0.692246 0.190910 0.902204 0.677044 1.063647 0.021187 0.238133 0.189775)
+     12.114676 #(0.000000 1.049345 1.220803 1.147373 1.381621 1.355515 0.454825 -0.009436 1.057569 0.663900 1.874811 0.433507 0.556807 0.623352 1.242792 0.067786 0.465225 -0.661340 0.331985 0.032227 1.933091 0.432343 0.547379 1.107124 1.846431 0.517946 -0.547570 0.897607 1.611921 0.403112 0.647511 0.899598 0.890804 1.716130 0.996200 1.713540 0.243854 1.180551 0.688999 1.559934 0.583466 0.197293 0.600073 0.000101 1.458490 0.994760 0.956495 1.648139 0.660393 1.228976 1.774516 0.893844 1.390831 1.720570 1.135089 -0.091470 1.277862 0.255881 0.036343 0.799886 0.761090 0.891306 1.295964 1.096543 0.475861 1.537136 0.091181 1.218377 1.140426 1.690539 0.527790 1.400945 1.266740 -0.072678 1.541904 1.035302 1.038433 1.493972 1.075712 0.036991 -0.268077 1.190854 1.324282 1.468048 0.376266 0.545926 0.611626 0.692246 0.190910 0.902204 0.677044 1.063647 0.021187 0.238133 0.189775)
      )
 
 ;;; 96 prime --------------------------------------------------------------------------------
-(vector 96 15.135 (fv 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 0 0 1 0)
+(vector 96 15.135 #(0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 0 0 1 0)
 
-	12.492843 (fv 0.000000 0.873070 1.523025 1.689063 1.621286 0.209607 1.316613 0.108148 0.756280 0.640008 0.419483 0.710721 0.117557 0.928853 0.153806 1.300975 1.239985 1.289571 0.156284 0.662086 0.349173 1.208328 1.779199 0.633972 1.299682 1.009543 0.022986 0.835814 1.094725 0.331638 0.023179 0.982537 0.733828 1.430422 0.013874 0.572853 1.429326 1.360223 0.715744 1.266448 0.151948 -0.250137 0.209445 1.031335 1.611402 0.877878 0.362241 0.304460 0.144893 0.651630 1.742329 -0.323477 0.366805 -0.060410 1.858308 0.038329 0.825659 1.544770 1.420995 1.255395 1.068254 0.786905 1.057541 1.015027 0.909813 1.295370 1.205379 0.957770 1.601794 1.221780 -0.114116 0.749254 1.369402 1.509613 0.642078 1.929687 1.163562 0.908511 0.510199 1.519292 0.122002 1.225494 0.717297 1.501496 1.345341 1.759811 1.056238 0.842883 0.086174 -0.090366 1.445692 1.226504 0.003120 1.148302 0.440021 0.622101)
+	12.492843 #(0.000000 0.873070 1.523025 1.689063 1.621286 0.209607 1.316613 0.108148 0.756280 0.640008 0.419483 0.710721 0.117557 0.928853 0.153806 1.300975 1.239985 1.289571 0.156284 0.662086 0.349173 1.208328 1.779199 0.633972 1.299682 1.009543 0.022986 0.835814 1.094725 0.331638 0.023179 0.982537 0.733828 1.430422 0.013874 0.572853 1.429326 1.360223 0.715744 1.266448 0.151948 -0.250137 0.209445 1.031335 1.611402 0.877878 0.362241 0.304460 0.144893 0.651630 1.742329 -0.323477 0.366805 -0.060410 1.858308 0.038329 0.825659 1.544770 1.420995 1.255395 1.068254 0.786905 1.057541 1.015027 0.909813 1.295370 1.205379 0.957770 1.601794 1.221780 -0.114116 0.749254 1.369402 1.509613 0.642078 1.929687 1.163562 0.908511 0.510199 1.519292 0.122002 1.225494 0.717297 1.501496 1.345341 1.759811 1.056238 0.842883 0.086174 -0.090366 1.445692 1.226504 0.003120 1.148302 0.440021 0.622101)
 
 	;; 95+1:
-	12.292710 (fv 0.000000 0.988646 1.162429 1.171314 1.353255 1.405759 0.327802 0.036207 1.152154 0.760541 1.790856 0.433527 0.499858 0.656756 1.296573 0.100791 0.476489 -0.653216 0.158372 -0.037710 1.892726 0.409386 0.436140 1.049351 1.766476 0.708019 -0.505881 0.843836 1.661627 0.229932 0.569810 0.855526 0.889991 1.754840 1.079009 1.690629 0.282542 1.176826 0.695771 1.456983 0.462708 0.168189 0.469857 -0.027597 1.521311 1.099282 0.982686 1.576751 0.669770 1.287335 1.818933 0.859497 1.442403 1.798895 1.290873 -0.254434 1.216440 0.266504 0.064071 0.816920 0.860902 0.922870 1.417663 1.159681 0.595958 1.424400 0.223626 1.172296 1.139585 1.606147 0.520047 1.392856 1.257846 -0.113917 1.518583 1.050121 0.979442 1.573289 0.984941 0.063610 -0.290095 1.277068 1.272139 1.596596 0.361931 0.600022 0.601776 0.740696 0.153344 0.997841 0.670149 1.019583 -0.020870 0.222109 0.072606 -0.120463)
+	12.292710 #(0.000000 0.988646 1.162429 1.171314 1.353255 1.405759 0.327802 0.036207 1.152154 0.760541 1.790856 0.433527 0.499858 0.656756 1.296573 0.100791 0.476489 -0.653216 0.158372 -0.037710 1.892726 0.409386 0.436140 1.049351 1.766476 0.708019 -0.505881 0.843836 1.661627 0.229932 0.569810 0.855526 0.889991 1.754840 1.079009 1.690629 0.282542 1.176826 0.695771 1.456983 0.462708 0.168189 0.469857 -0.027597 1.521311 1.099282 0.982686 1.576751 0.669770 1.287335 1.818933 0.859497 1.442403 1.798895 1.290873 -0.254434 1.216440 0.266504 0.064071 0.816920 0.860902 0.922870 1.417663 1.159681 0.595958 1.424400 0.223626 1.172296 1.139585 1.606147 0.520047 1.392856 1.257846 -0.113917 1.518583 1.050121 0.979442 1.573289 0.984941 0.063610 -0.290095 1.277068 1.272139 1.596596 0.361931 0.600022 0.601776 0.740696 0.153344 0.997841 0.670149 1.019583 -0.020870 0.222109 0.072606 -0.120463)
      )
 
 ;;; 97 prime --------------------------------------------------------------------------------
-(vector 97 15.404807595571 (fv 0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1)     
+(vector 97 15.404807595571 #(0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1)     
 
-	12.614880 (fv 0.000000 1.284279 0.149066 0.562607 0.268625 0.641221 0.361525 0.485960 -0.169882 0.664945 1.289316 0.500133 0.276653 0.768466 1.755836 1.046199 1.488691 0.489610 1.701223 1.395902 0.323258 1.026098 0.187307 0.308257 0.739745 0.789576 0.492878 1.589801 0.464866 1.368873 1.280528 0.783754 1.321490 0.013196 1.554947 1.672951 1.438390 1.698792 0.240337 1.015821 1.431743 -0.194791 0.030419 0.391715 0.797023 1.035054 1.666367 1.927621 0.564941 0.590092 0.408995 0.415222 1.147686 0.588418 0.024767 -0.204650 -0.157255 1.351342 1.609704 0.733349 1.898358 0.761937 1.674424 1.298247 0.616295 1.801868 0.366757 0.227606 0.881755 0.435048 0.566914 -0.068726 1.464351 0.867461 0.114711 1.507714 0.831540 0.049432 0.189086 0.282295 1.125245 -0.244779 0.442202 1.591355 -0.090711 1.248227 1.649885 0.616280 1.727109 0.815894 0.698498 -0.049477 0.179382 1.436511 0.773196 0.738555 0.962998)
+	12.614880 #(0.000000 1.284279 0.149066 0.562607 0.268625 0.641221 0.361525 0.485960 -0.169882 0.664945 1.289316 0.500133 0.276653 0.768466 1.755836 1.046199 1.488691 0.489610 1.701223 1.395902 0.323258 1.026098 0.187307 0.308257 0.739745 0.789576 0.492878 1.589801 0.464866 1.368873 1.280528 0.783754 1.321490 0.013196 1.554947 1.672951 1.438390 1.698792 0.240337 1.015821 1.431743 -0.194791 0.030419 0.391715 0.797023 1.035054 1.666367 1.927621 0.564941 0.590092 0.408995 0.415222 1.147686 0.588418 0.024767 -0.204650 -0.157255 1.351342 1.609704 0.733349 1.898358 0.761937 1.674424 1.298247 0.616295 1.801868 0.366757 0.227606 0.881755 0.435048 0.566914 -0.068726 1.464351 0.867461 0.114711 1.507714 0.831540 0.049432 0.189086 0.282295 1.125245 -0.244779 0.442202 1.591355 -0.090711 1.248227 1.649885 0.616280 1.727109 0.815894 0.698498 -0.049477 0.179382 1.436511 0.773196 0.738555 0.962998)
 
 	;; 96+1
-	12.398175 (fv 0.000000 0.974270 1.133417 1.101751 1.279979 1.359434 0.467927 0.007144 1.127487 0.748820 1.781756 0.396487 0.493733 0.688975 1.203401 0.019970 0.359263 -0.697201 0.166440 -0.073865 1.841340 0.479438 0.471569 1.120468 1.818011 0.722611 -0.578854 0.797365 1.619794 0.192675 0.470320 0.880530 0.894647 1.773867 1.129911 1.684306 0.298114 1.192448 0.753562 1.463120 0.415850 0.230519 0.523840 -0.047429 1.497367 1.045637 0.968082 1.645436 0.623475 1.314407 1.792633 0.841218 1.383624 1.923347 1.362714 -0.210443 1.197651 0.311815 0.117464 0.802332 0.840490 0.962756 1.351153 1.154240 0.658169 1.483444 0.257624 1.139948 1.196778 1.594898 0.489729 1.391360 1.298495 -0.114146 1.474319 1.038981 0.962592 1.548377 0.947581 0.030073 -0.290725 1.335845 1.310097 1.567936 0.325931 0.520450 0.493969 0.704044 0.140441 0.974535 0.754580 0.981153 0.043144 0.213245 0.187923 -0.104791 0.154449)
+	12.398175 #(0.000000 0.974270 1.133417 1.101751 1.279979 1.359434 0.467927 0.007144 1.127487 0.748820 1.781756 0.396487 0.493733 0.688975 1.203401 0.019970 0.359263 -0.697201 0.166440 -0.073865 1.841340 0.479438 0.471569 1.120468 1.818011 0.722611 -0.578854 0.797365 1.619794 0.192675 0.470320 0.880530 0.894647 1.773867 1.129911 1.684306 0.298114 1.192448 0.753562 1.463120 0.415850 0.230519 0.523840 -0.047429 1.497367 1.045637 0.968082 1.645436 0.623475 1.314407 1.792633 0.841218 1.383624 1.923347 1.362714 -0.210443 1.197651 0.311815 0.117464 0.802332 0.840490 0.962756 1.351153 1.154240 0.658169 1.483444 0.257624 1.139948 1.196778 1.594898 0.489729 1.391360 1.298495 -0.114146 1.474319 1.038981 0.962592 1.548377 0.947581 0.030073 -0.290725 1.335845 1.310097 1.567936 0.325931 0.520450 0.493969 0.704044 0.140441 0.974535 0.754580 0.981153 0.043144 0.213245 0.187923 -0.104791 0.154449)
      )
 
 ;;; 98 prime --------------------------------------------------------------------------------
-(vector 98 15.435913738557 (fv 0 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0)
+(vector 98 15.435913738557 #(0 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0)
 
-	12.753270 (fv 0.000000 0.786132 0.095307 1.867898 0.883791 1.021595 1.308123 1.131908 0.540702 0.504302 1.434468 1.493630 0.417411 0.284692 1.504062 1.429716 1.676581 -0.039254 0.683934 0.973509 0.648393 1.434613 -0.061544 1.814076 0.647769 0.683085 1.793781 0.237679 0.776690 1.663998 0.170625 1.433546 1.041819 1.122171 1.897558 1.320541 0.723949 1.237497 0.689348 1.846291 1.246028 1.446201 0.606616 1.671663 1.464134 0.585342 0.644021 0.435796 0.213425 1.357738 1.586232 1.545703 0.819890 1.367545 0.012567 0.450279 0.655234 0.788890 0.591992 0.545966 1.254900 0.392933 1.583204 0.076358 1.856160 0.823271 1.021281 1.623051 1.585893 1.245898 0.683755 0.476818 1.035792 1.047834 -0.069790 -0.004312 -0.361114 1.398618 1.383822 0.421997 1.705664 0.029556 -0.066198 0.051203 1.722364 1.322079 1.292928 1.662147 -0.016256 1.310728 1.707597 1.375469 1.546348 1.943030 -0.036451 0.558144 -0.266574 0.833410)
+	12.753270 #(0.000000 0.786132 0.095307 1.867898 0.883791 1.021595 1.308123 1.131908 0.540702 0.504302 1.434468 1.493630 0.417411 0.284692 1.504062 1.429716 1.676581 -0.039254 0.683934 0.973509 0.648393 1.434613 -0.061544 1.814076 0.647769 0.683085 1.793781 0.237679 0.776690 1.663998 0.170625 1.433546 1.041819 1.122171 1.897558 1.320541 0.723949 1.237497 0.689348 1.846291 1.246028 1.446201 0.606616 1.671663 1.464134 0.585342 0.644021 0.435796 0.213425 1.357738 1.586232 1.545703 0.819890 1.367545 0.012567 0.450279 0.655234 0.788890 0.591992 0.545966 1.254900 0.392933 1.583204 0.076358 1.856160 0.823271 1.021281 1.623051 1.585893 1.245898 0.683755 0.476818 1.035792 1.047834 -0.069790 -0.004312 -0.361114 1.398618 1.383822 0.421997 1.705664 0.029556 -0.066198 0.051203 1.722364 1.322079 1.292928 1.662147 -0.016256 1.310728 1.707597 1.375469 1.546348 1.943030 -0.036451 0.558144 -0.266574 0.833410)
 
 	;; 99-1
-	12.622612 (fv 0.000000 1.601197 0.675735 0.824937 1.585712 1.856247 0.097348 -0.128093 1.025651 0.480455 0.954279 0.347491 0.626587 0.694458 0.898162 1.272532 0.684634 1.137767 1.643934 1.521275 1.047103 0.680901 1.232138 0.886175 0.603433 0.065324 -0.003442 1.143022 1.262279 1.001078 1.502240 1.539684 0.387527 -0.240796 0.914257 1.021072 0.830135 0.895349 0.823768 1.454208 -0.127486 1.570891 0.443883 0.892431 1.170381 1.366309 0.941425 0.702939 0.571855 0.280140 1.656638 0.472320 0.260055 1.153301 0.949715 0.148316 1.066487 0.427830 0.818544 -0.167385 0.411934 0.330689 0.887299 0.734213 1.728731 0.063612 0.466751 0.013162 -0.447231 0.444351 1.131814 0.061263 1.074639 0.944421 1.055502 -0.026068 1.648026 1.034453 1.399998 0.887501 0.104617 0.511260 1.435502 0.677269 0.344898 0.942483 -0.009809 0.923335 0.650809 -0.003419 1.067454 1.910756 0.250458 1.576481 0.901923 1.611933 1.145031 0.515175)
+	12.622612 #(0.000000 1.601197 0.675735 0.824937 1.585712 1.856247 0.097348 -0.128093 1.025651 0.480455 0.954279 0.347491 0.626587 0.694458 0.898162 1.272532 0.684634 1.137767 1.643934 1.521275 1.047103 0.680901 1.232138 0.886175 0.603433 0.065324 -0.003442 1.143022 1.262279 1.001078 1.502240 1.539684 0.387527 -0.240796 0.914257 1.021072 0.830135 0.895349 0.823768 1.454208 -0.127486 1.570891 0.443883 0.892431 1.170381 1.366309 0.941425 0.702939 0.571855 0.280140 1.656638 0.472320 0.260055 1.153301 0.949715 0.148316 1.066487 0.427830 0.818544 -0.167385 0.411934 0.330689 0.887299 0.734213 1.728731 0.063612 0.466751 0.013162 -0.447231 0.444351 1.131814 0.061263 1.074639 0.944421 1.055502 -0.026068 1.648026 1.034453 1.399998 0.887501 0.104617 0.511260 1.435502 0.677269 0.344898 0.942483 -0.009809 0.923335 0.650809 -0.003419 1.067454 1.910756 0.250458 1.576481 0.901923 1.611933 1.145031 0.515175)
 
 	;; 97+1
-	12.554819 (fv 0.000000 0.994754 1.201978 1.095875 1.228090 1.349063 0.520404 -0.005278 1.113744 0.684830 1.821835 0.418458 0.556811 0.671609 1.340860 -0.027127 0.490888 -0.669559 0.196112 -0.069433 1.791636 0.479800 0.480819 1.161113 1.931188 0.706820 -0.575437 0.825517 1.635684 0.154310 0.437054 0.834616 0.805687 1.760916 1.041481 1.654400 0.268843 1.252679 0.716018 1.507696 0.427453 0.212559 0.610822 -0.045110 1.474585 1.069280 0.938458 1.658424 0.606033 1.274272 1.871557 0.851412 1.378375 1.849718 1.305539 -0.196977 1.250436 0.271972 0.159635 0.861188 0.835566 1.009947 1.382413 1.136755 0.601730 1.508016 0.177040 1.096731 1.112114 1.556213 0.514409 1.424495 1.306796 -0.096547 1.551938 0.983953 0.982538 1.547826 0.947292 0.070780 -0.301979 1.274952 1.268078 1.506608 0.343339 0.539960 0.515360 0.716545 0.138903 1.075775 0.830359 1.045994 0.028008 0.165284 0.183640 -0.064893 0.128193 -0.025514)
+	12.554819 #(0.000000 0.994754 1.201978 1.095875 1.228090 1.349063 0.520404 -0.005278 1.113744 0.684830 1.821835 0.418458 0.556811 0.671609 1.340860 -0.027127 0.490888 -0.669559 0.196112 -0.069433 1.791636 0.479800 0.480819 1.161113 1.931188 0.706820 -0.575437 0.825517 1.635684 0.154310 0.437054 0.834616 0.805687 1.760916 1.041481 1.654400 0.268843 1.252679 0.716018 1.507696 0.427453 0.212559 0.610822 -0.045110 1.474585 1.069280 0.938458 1.658424 0.606033 1.274272 1.871557 0.851412 1.378375 1.849718 1.305539 -0.196977 1.250436 0.271972 0.159635 0.861188 0.835566 1.009947 1.382413 1.136755 0.601730 1.508016 0.177040 1.096731 1.112114 1.556213 0.514409 1.424495 1.306796 -0.096547 1.551938 0.983953 0.982538 1.547826 0.947292 0.070780 -0.301979 1.274952 1.268078 1.506608 0.343339 0.539960 0.515360 0.716545 0.138903 1.075775 0.830359 1.045994 0.028008 0.165284 0.183640 -0.064893 0.128193 -0.025514)
      )
 
 ;;; 99 prime --------------------------------------------------------------------------------
-(vector 99 15.391923904419 (fv 0 0 1 0 1 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0)
+(vector 99 15.391923904419 #(0 0 1 0 1 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0)
 
 	;; started at 13.08
-	12.671121 (fv 0.000000 1.578825 0.666211 0.726552 1.538384 1.791570 0.099320 -0.160491 0.989473 0.596822 1.035192 0.247178 0.628445 0.721303 0.845175 1.341449 0.627742 1.157974 1.573300 1.577559 1.146243 0.642518 1.253235 0.873141 0.677674 1.983841 -0.058813 1.145842 1.258749 1.002052 1.540728 1.596826 0.319265 -0.110992 0.873225 1.001714 0.958663 0.883044 0.804615 1.392171 -0.105346 1.566142 0.586138 0.950489 1.209868 1.332589 1.087730 0.608633 0.545623 0.189852 1.681493 0.487350 0.405093 1.121113 0.988264 0.089589 1.002114 0.406924 0.857351 -0.106561 0.434389 0.315978 0.874454 0.677274 1.738995 0.126523 0.418419 -0.034288 -0.514474 0.544729 1.186629 0.091214 1.023974 0.889868 1.105258 -0.014030 1.568529 1.019817 1.384214 0.868550 0.027819 0.525808 1.447056 0.636493 0.394992 1.091277 -0.079518 0.886075 0.569418 -0.004838 1.104104 1.810908 0.227707 1.565455 0.923044 1.560572 1.031354 0.513130 1.131259)
+	12.671121 #(0.000000 1.578825 0.666211 0.726552 1.538384 1.791570 0.099320 -0.160491 0.989473 0.596822 1.035192 0.247178 0.628445 0.721303 0.845175 1.341449 0.627742 1.157974 1.573300 1.577559 1.146243 0.642518 1.253235 0.873141 0.677674 1.983841 -0.058813 1.145842 1.258749 1.002052 1.540728 1.596826 0.319265 -0.110992 0.873225 1.001714 0.958663 0.883044 0.804615 1.392171 -0.105346 1.566142 0.586138 0.950489 1.209868 1.332589 1.087730 0.608633 0.545623 0.189852 1.681493 0.487350 0.405093 1.121113 0.988264 0.089589 1.002114 0.406924 0.857351 -0.106561 0.434389 0.315978 0.874454 0.677274 1.738995 0.126523 0.418419 -0.034288 -0.514474 0.544729 1.186629 0.091214 1.023974 0.889868 1.105258 -0.014030 1.568529 1.019817 1.384214 0.868550 0.027819 0.525808 1.447056 0.636493 0.394992 1.091277 -0.079518 0.886075 0.569418 -0.004838 1.104104 1.810908 0.227707 1.565455 0.923044 1.560572 1.031354 0.513130 1.131259)
      )
 
 ;;; 100 prime --------------------------------------------------------------------------------
-(vector 100 15.637986183167 (fv 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 1)
+(vector 100 15.637986183167 #(0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 1)
 
-	12.957637 (fv 0.000000 1.386453 1.370643 1.628038 1.538390 0.424621 1.485227 0.897618 0.907971 0.449160 0.163275 1.571834 1.093156 0.838120 0.247905 1.436852 0.372882 -0.220773 1.118451 0.054878 1.267282 0.565411 0.289581 0.731340 0.458703 -0.367224 -0.030109 0.334428 1.397987 0.598724 0.901920 1.214518 -0.004754 1.438150 1.307411 0.016366 1.337284 1.304934 1.171963 0.021267 0.117441 0.560545 0.340812 1.151463 1.666509 1.019303 -0.015114 0.880146 1.373879 0.049199 1.503584 1.604549 0.862952 0.189305 0.529694 1.029077 0.778339 1.706291 1.914727 1.273598 1.699313 -0.031345 -0.253493 1.258299 1.649412 1.077808 1.672514 1.251013 0.462905 1.384023 0.091088 1.738772 0.445974 1.424109 1.582876 1.988433 0.984011 1.200230 -0.169021 0.062775 1.511082 0.660711 1.089055 0.545793 1.273058 1.509833 0.626971 0.715771 1.564417 1.945654 0.972744 0.969507 1.754542 1.683747 0.602245 0.329311 0.710216 0.150434 1.629408 1.227167)
+	12.957637 #(0.000000 1.386453 1.370643 1.628038 1.538390 0.424621 1.485227 0.897618 0.907971 0.449160 0.163275 1.571834 1.093156 0.838120 0.247905 1.436852 0.372882 -0.220773 1.118451 0.054878 1.267282 0.565411 0.289581 0.731340 0.458703 -0.367224 -0.030109 0.334428 1.397987 0.598724 0.901920 1.214518 -0.004754 1.438150 1.307411 0.016366 1.337284 1.304934 1.171963 0.021267 0.117441 0.560545 0.340812 1.151463 1.666509 1.019303 -0.015114 0.880146 1.373879 0.049199 1.503584 1.604549 0.862952 0.189305 0.529694 1.029077 0.778339 1.706291 1.914727 1.273598 1.699313 -0.031345 -0.253493 1.258299 1.649412 1.077808 1.672514 1.251013 0.462905 1.384023 0.091088 1.738772 0.445974 1.424109 1.582876 1.988433 0.984011 1.200230 -0.169021 0.062775 1.511082 0.660711 1.089055 0.545793 1.273058 1.509833 0.626971 0.715771 1.564417 1.945654 0.972744 0.969507 1.754542 1.683747 0.602245 0.329311 0.710216 0.150434 1.629408 1.227167)
 	
 	;; 99+1
-	12.716986 (fv 0.000000 1.614268 0.794652 0.719356 1.522693 1.839206 0.053187 -0.216045 1.077547 0.626072 0.992447 0.258424 0.613665 0.666154 0.797791 1.297151 0.666442 1.138663 1.568655 1.598721 1.081507 0.701607 1.189990 0.875992 0.670799 0.120588 0.002798 1.147193 1.214233 0.961367 1.487074 1.498267 0.315736 -0.163747 0.892348 0.853335 0.781180 0.904959 0.815695 1.365580 -0.161311 1.770543 0.467808 0.858870 1.202500 1.263259 1.179260 0.605694 0.567979 0.170780 1.783259 0.557899 0.419137 1.246376 1.015382 0.060732 1.143789 0.421313 0.784488 -0.191174 0.582308 0.326318 0.868037 0.700245 1.775099 0.084259 0.487674 0.052341 -0.505041 0.601192 1.234546 0.060079 0.970347 0.831571 1.221404 0.028687 1.689191 1.030841 1.384017 0.852184 0.054733 0.492124 1.493372 0.743678 0.351949 0.983070 -0.060785 0.924421 0.622513 0.041911 1.106639 1.715696 0.158455 1.595681 0.922989 1.564481 1.036395 0.544443 1.152503 -0.027178)
+	12.716986 #(0.000000 1.614268 0.794652 0.719356 1.522693 1.839206 0.053187 -0.216045 1.077547 0.626072 0.992447 0.258424 0.613665 0.666154 0.797791 1.297151 0.666442 1.138663 1.568655 1.598721 1.081507 0.701607 1.189990 0.875992 0.670799 0.120588 0.002798 1.147193 1.214233 0.961367 1.487074 1.498267 0.315736 -0.163747 0.892348 0.853335 0.781180 0.904959 0.815695 1.365580 -0.161311 1.770543 0.467808 0.858870 1.202500 1.263259 1.179260 0.605694 0.567979 0.170780 1.783259 0.557899 0.419137 1.246376 1.015382 0.060732 1.143789 0.421313 0.784488 -0.191174 0.582308 0.326318 0.868037 0.700245 1.775099 0.084259 0.487674 0.052341 -0.505041 0.601192 1.234546 0.060079 0.970347 0.831571 1.221404 0.028687 1.689191 1.030841 1.384017 0.852184 0.054733 0.492124 1.493372 0.743678 0.351949 0.983070 -0.060785 0.924421 0.622513 0.041911 1.106639 1.715696 0.158455 1.595681 0.922989 1.564481 1.036395 0.544443 1.152503 -0.027178)
       )
 
 ;;; 101 prime --------------------------------------------------------------------------------
-(vector 101 15.735968313601 (fv 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1)
+(vector 101 15.735968313601 #(0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1)
 
-	12.909758 (fv 0.000000 0.720714 -0.182655 1.565457 0.753622 0.130143 0.334294 1.650697 0.417832 0.048827 0.344422 1.486401 0.292931 1.799521 1.111655 1.558792 -0.221559 1.531040 0.348578 0.973695 0.761485 1.268033 0.273978 1.313895 1.704221 0.068165 0.481602 0.743938 -0.351235 -0.099468 0.085867 1.467502 0.670175 1.060411 0.557784 1.309992 0.991970 0.107757 0.556296 0.077508 1.974081 0.189947 1.303789 1.238050 0.718111 0.534076 0.252095 1.598289 1.547761 1.182866 0.464613 1.755609 0.089102 1.246032 0.080260 1.036577 0.473927 0.107892 0.368036 0.986840 0.765140 -0.036059 1.290823 0.227451 0.726294 -0.006595 0.616819 -0.359117 0.861664 1.267742 1.139832 0.077396 1.257827 0.004277 1.664182 0.904514 1.106007 1.213475 0.580481 1.709443 0.640563 0.036194 0.492519 1.274675 0.574901 0.832654 0.371185 0.344722 0.998543 0.576680 0.369414 0.177252 0.865880 0.137875 0.239059 0.486022 1.121460 0.939339 0.230403 0.470154 0.464729)
+	12.909758 #(0.000000 0.720714 -0.182655 1.565457 0.753622 0.130143 0.334294 1.650697 0.417832 0.048827 0.344422 1.486401 0.292931 1.799521 1.111655 1.558792 -0.221559 1.531040 0.348578 0.973695 0.761485 1.268033 0.273978 1.313895 1.704221 0.068165 0.481602 0.743938 -0.351235 -0.099468 0.085867 1.467502 0.670175 1.060411 0.557784 1.309992 0.991970 0.107757 0.556296 0.077508 1.974081 0.189947 1.303789 1.238050 0.718111 0.534076 0.252095 1.598289 1.547761 1.182866 0.464613 1.755609 0.089102 1.246032 0.080260 1.036577 0.473927 0.107892 0.368036 0.986840 0.765140 -0.036059 1.290823 0.227451 0.726294 -0.006595 0.616819 -0.359117 0.861664 1.267742 1.139832 0.077396 1.257827 0.004277 1.664182 0.904514 1.106007 1.213475 0.580481 1.709443 0.640563 0.036194 0.492519 1.274675 0.574901 0.832654 0.371185 0.344722 0.998543 0.576680 0.369414 0.177252 0.865880 0.137875 0.239059 0.486022 1.121460 0.939339 0.230403 0.470154 0.464729)
 
 	;; 102-1
-	12.654378 (fv 0.000000 0.039802 1.217841 -0.018794 -0.264350 1.648606 -0.106572 1.436093 1.744759 1.197340 1.116039 0.322269 -0.319802 1.429760 1.337731 1.367755 1.294986 0.934427 1.178285 0.242928 0.397639 0.030160 0.470705 0.489509 0.721431 0.877160 0.586365 1.300090 0.056753 0.396042 0.694396 -0.123538 0.601882 1.828235 1.061453 1.208202 1.515734 1.300848 0.385739 1.295236 0.466727 1.125610 1.584167 0.360500 0.430768 1.515128 1.002486 1.429469 1.701067 0.146032 1.922601 1.668726 1.734188 0.898236 1.467655 0.751985 1.587598 0.572766 0.063367 1.242347 -0.141898 0.518327 1.188113 1.385035 1.498198 -0.400261 -0.058961 1.288706 1.366806 0.035365 1.606021 -0.052356 0.617357 0.512726 0.520602 1.405519 1.969640 -0.459289 0.438819 1.509996 1.047832 0.536024 0.230428 0.540739 1.290987 1.664498 0.615778 1.436029 1.298481 1.467348 0.158627 0.119363 1.098827 0.065055 0.380410 0.835569 0.455358 0.512707 1.391092 0.922515 1.335905)
+	12.654378 #(0.000000 0.039802 1.217841 -0.018794 -0.264350 1.648606 -0.106572 1.436093 1.744759 1.197340 1.116039 0.322269 -0.319802 1.429760 1.337731 1.367755 1.294986 0.934427 1.178285 0.242928 0.397639 0.030160 0.470705 0.489509 0.721431 0.877160 0.586365 1.300090 0.056753 0.396042 0.694396 -0.123538 0.601882 1.828235 1.061453 1.208202 1.515734 1.300848 0.385739 1.295236 0.466727 1.125610 1.584167 0.360500 0.430768 1.515128 1.002486 1.429469 1.701067 0.146032 1.922601 1.668726 1.734188 0.898236 1.467655 0.751985 1.587598 0.572766 0.063367 1.242347 -0.141898 0.518327 1.188113 1.385035 1.498198 -0.400261 -0.058961 1.288706 1.366806 0.035365 1.606021 -0.052356 0.617357 0.512726 0.520602 1.405519 1.969640 -0.459289 0.438819 1.509996 1.047832 0.536024 0.230428 0.540739 1.290987 1.664498 0.615778 1.436029 1.298481 1.467348 0.158627 0.119363 1.098827 0.065055 0.380410 0.835569 0.455358 0.512707 1.391092 0.922515 1.335905)
       )
 
 ;;; 102 prime --------------------------------------------------------------------------------
-(vector 102 15.374809992584 (fv 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1)
+(vector 102 15.374809992584 #(0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1)
 
-	13.125163 (fv 0.000000 0.284570 1.185932 0.254020 0.458026 1.777924 0.273972 0.352012 0.871247 1.673334 1.496604 0.270045 1.591827 -0.188397 0.589501 1.091682 1.741121 0.196787 0.525310 1.321393 1.205053 -0.057392 1.556520 -1.961535 1.179860 1.122770 0.814829 1.500056 -0.069946 0.070497 1.237530 1.280644 0.820936 1.402645 0.152660 1.210341 0.842206 0.369359 0.105608 0.811471 0.529059 0.041857 1.655756 0.893298 1.337926 1.496211 1.428234 0.556092 0.432069 0.925348 1.205854 1.544664 1.704644 1.229630 0.303212 1.758935 1.188278 1.467436 1.586279 1.260300 1.300112 1.011729 1.695629 1.060370 1.604385 0.957028 1.624378 0.311506 0.745336 0.578867 0.572336 1.655636 0.424967 1.250130 0.974803 1.251963 1.312562 0.463398 -0.038700 1.540879 0.156800 0.564982 0.689178 0.544052 1.778377 0.813450 0.561441 0.695184 0.270384 1.438063 0.744019 1.224468 0.148794 1.411742 1.416148 0.158444 1.282043 0.332184 1.434585 0.991269 -0.118131 -0.014118)
+	13.125163 #(0.000000 0.284570 1.185932 0.254020 0.458026 1.777924 0.273972 0.352012 0.871247 1.673334 1.496604 0.270045 1.591827 -0.188397 0.589501 1.091682 1.741121 0.196787 0.525310 1.321393 1.205053 -0.057392 1.556520 -1.961535 1.179860 1.122770 0.814829 1.500056 -0.069946 0.070497 1.237530 1.280644 0.820936 1.402645 0.152660 1.210341 0.842206 0.369359 0.105608 0.811471 0.529059 0.041857 1.655756 0.893298 1.337926 1.496211 1.428234 0.556092 0.432069 0.925348 1.205854 1.544664 1.704644 1.229630 0.303212 1.758935 1.188278 1.467436 1.586279 1.260300 1.300112 1.011729 1.695629 1.060370 1.604385 0.957028 1.624378 0.311506 0.745336 0.578867 0.572336 1.655636 0.424967 1.250130 0.974803 1.251963 1.312562 0.463398 -0.038700 1.540879 0.156800 0.564982 0.689178 0.544052 1.778377 0.813450 0.561441 0.695184 0.270384 1.438063 0.744019 1.224468 0.148794 1.411742 1.416148 0.158444 1.282043 0.332184 1.434585 0.991269 -0.118131 -0.014118)
 
 	;; 103-1
-	12.631141 (fv 0.000000 0.074843 1.219158 -0.027199 -0.254073 1.624605 -0.135701 1.453877 1.755897 1.198675 1.090421 0.272002 -0.249474 1.447439 1.360955 1.341148 1.290153 0.969167 1.135329 0.243792 0.418984 1.946250 0.601544 0.456951 0.765282 0.872982 0.576621 1.365615 0.094262 0.399525 0.677984 -0.086420 0.567433 1.780255 1.046981 1.205389 1.534885 1.234066 0.439028 1.336514 0.490354 1.104410 1.622676 0.382214 0.417306 1.496561 0.975909 1.398390 1.624475 0.141661 1.921427 1.688187 1.741843 0.901238 1.419496 0.813192 1.607447 0.585967 -0.020824 1.251511 -0.203691 0.513177 1.192285 1.326136 1.473869 -0.455142 -0.016589 1.259703 1.293519 0.048863 1.685391 -0.099881 0.662916 0.500247 0.557103 1.438861 1.941547 -0.474933 0.373608 1.542760 1.006189 0.593009 0.247793 0.539650 1.340923 1.675659 0.620550 1.469642 1.328665 1.442498 0.149610 0.049207 1.111223 0.085126 0.353623 0.826677 0.461777 0.518667 1.404379 0.899861 1.337308 0.525132)
+	12.631141 #(0.000000 0.074843 1.219158 -0.027199 -0.254073 1.624605 -0.135701 1.453877 1.755897 1.198675 1.090421 0.272002 -0.249474 1.447439 1.360955 1.341148 1.290153 0.969167 1.135329 0.243792 0.418984 1.946250 0.601544 0.456951 0.765282 0.872982 0.576621 1.365615 0.094262 0.399525 0.677984 -0.086420 0.567433 1.780255 1.046981 1.205389 1.534885 1.234066 0.439028 1.336514 0.490354 1.104410 1.622676 0.382214 0.417306 1.496561 0.975909 1.398390 1.624475 0.141661 1.921427 1.688187 1.741843 0.901238 1.419496 0.813192 1.607447 0.585967 -0.020824 1.251511 -0.203691 0.513177 1.192285 1.326136 1.473869 -0.455142 -0.016589 1.259703 1.293519 0.048863 1.685391 -0.099881 0.662916 0.500247 0.557103 1.438861 1.941547 -0.474933 0.373608 1.542760 1.006189 0.593009 0.247793 0.539650 1.340923 1.675659 0.620550 1.469642 1.328665 1.442498 0.149610 0.049207 1.111223 0.085126 0.353623 0.826677 0.461777 0.518667 1.404379 0.899861 1.337308 0.525132)
       )
 
 ;;; 103 prime --------------------------------------------------------------------------------
-(vector 103 16.296298498866 (fv 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1)
+(vector 103 16.296298498866 #(0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1)
 
-	13.256855 (fv 0.000000 0.253687 0.364122 0.283681 0.599056 0.452778 1.412525 1.578158 0.723002 1.502688 0.469327 0.823618 0.138223 0.170924 -0.041881 1.730522 0.763213 0.124296 1.756004 0.298966 0.867744 1.163387 -0.026926 0.637630 1.135341 0.124472 0.638511 0.161082 1.417534 1.311969 1.355755 0.769867 -0.015620 1.263904 0.253925 1.195956 0.435477 0.207251 1.875570 0.589212 -0.141939 1.489218 1.811390 0.546189 -0.100127 1.137591 0.512565 0.982503 0.208205 0.661546 0.459680 0.647870 0.862493 1.703684 1.626808 1.293610 1.244032 1.833651 0.313984 0.098233 0.713078 -0.030639 0.471225 0.283054 1.436428 1.697146 0.363648 0.928407 1.232119 0.232840 0.986487 -0.076225 0.058237 1.691889 0.445904 1.400974 1.534686 0.353656 1.081845 0.844988 1.752497 1.490478 0.820514 0.624503 1.244095 0.481359 1.092852 1.038822 0.122193 0.306870 1.545599 1.882053 0.840143 1.618524 0.664876 1.172112 0.425428 1.063389 1.459465 1.132826 0.707914 0.476065 0.729618)
+	13.256855 #(0.000000 0.253687 0.364122 0.283681 0.599056 0.452778 1.412525 1.578158 0.723002 1.502688 0.469327 0.823618 0.138223 0.170924 -0.041881 1.730522 0.763213 0.124296 1.756004 0.298966 0.867744 1.163387 -0.026926 0.637630 1.135341 0.124472 0.638511 0.161082 1.417534 1.311969 1.355755 0.769867 -0.015620 1.263904 0.253925 1.195956 0.435477 0.207251 1.875570 0.589212 -0.141939 1.489218 1.811390 0.546189 -0.100127 1.137591 0.512565 0.982503 0.208205 0.661546 0.459680 0.647870 0.862493 1.703684 1.626808 1.293610 1.244032 1.833651 0.313984 0.098233 0.713078 -0.030639 0.471225 0.283054 1.436428 1.697146 0.363648 0.928407 1.232119 0.232840 0.986487 -0.076225 0.058237 1.691889 0.445904 1.400974 1.534686 0.353656 1.081845 0.844988 1.752497 1.490478 0.820514 0.624503 1.244095 0.481359 1.092852 1.038822 0.122193 0.306870 1.545599 1.882053 0.840143 1.618524 0.664876 1.172112 0.425428 1.063389 1.459465 1.132826 0.707914 0.476065 0.729618)
 
 	;; 104-1
-	12.891616 (fv 0.000000 0.020230 1.100455 -0.027655 -0.341498 1.573639 -0.166459 1.336909 1.614334 1.265242 1.070753 0.200336 -0.139945 1.315758 1.256048 1.330780 1.163466 0.897749 1.119686 0.362299 0.301310 1.883571 0.506864 0.431140 0.779158 0.861103 0.563763 1.317182 0.358448 0.581384 0.662511 -0.059228 0.585764 1.735705 1.134223 1.253804 1.488711 1.296145 0.401006 1.318547 0.409838 1.063168 1.784758 0.605346 0.454705 1.514331 1.036227 1.443746 1.590100 0.152638 1.937048 1.659118 1.596372 0.834928 1.202317 0.791629 1.638040 0.394481 0.036287 1.308852 -0.027851 0.483382 1.137070 1.471797 1.436021 -0.339247 1.959465 1.416371 1.274782 -0.056416 1.618621 0.073487 0.645516 0.465048 0.562814 1.499952 1.962975 -0.425202 0.177209 1.576794 1.092923 0.684292 0.216536 0.469811 1.278388 1.697283 0.494244 1.421192 1.305461 1.352595 0.145716 0.152674 1.146529 0.138563 0.239706 0.891463 0.397696 0.605319 1.317917 0.759776 1.395135 0.600443 1.308594)
+	12.891616 #(0.000000 0.020230 1.100455 -0.027655 -0.341498 1.573639 -0.166459 1.336909 1.614334 1.265242 1.070753 0.200336 -0.139945 1.315758 1.256048 1.330780 1.163466 0.897749 1.119686 0.362299 0.301310 1.883571 0.506864 0.431140 0.779158 0.861103 0.563763 1.317182 0.358448 0.581384 0.662511 -0.059228 0.585764 1.735705 1.134223 1.253804 1.488711 1.296145 0.401006 1.318547 0.409838 1.063168 1.784758 0.605346 0.454705 1.514331 1.036227 1.443746 1.590100 0.152638 1.937048 1.659118 1.596372 0.834928 1.202317 0.791629 1.638040 0.394481 0.036287 1.308852 -0.027851 0.483382 1.137070 1.471797 1.436021 -0.339247 1.959465 1.416371 1.274782 -0.056416 1.618621 0.073487 0.645516 0.465048 0.562814 1.499952 1.962975 -0.425202 0.177209 1.576794 1.092923 0.684292 0.216536 0.469811 1.278388 1.697283 0.494244 1.421192 1.305461 1.352595 0.145716 0.152674 1.146529 0.138563 0.239706 0.891463 0.397696 0.605319 1.317917 0.759776 1.395135 0.600443 1.308594)
       )
 
 ;;; 104 prime --------------------------------------------------------------------------------
-(vector 104 15.919013023376 (fv 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 0 1)
+(vector 104 15.919013023376 #(0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 0 1)
 
-	12.987392 (fv 0.000000 0.019656 1.020820 -0.122857 -0.383416 1.743762 -0.077551 1.285344 1.556500 1.347778 1.007108 0.271391 -0.017599 1.323289 1.224441 1.254961 1.192419 0.950226 1.083964 0.356128 0.296702 1.898956 0.423819 0.431784 0.740632 0.838009 0.555934 1.287966 0.437690 0.641910 0.602950 -0.082685 0.609730 1.650999 1.107220 1.287768 1.459073 1.340092 0.368618 1.276887 0.523746 1.035407 1.951274 0.598910 0.440828 1.523180 1.064599 1.442876 1.610632 0.084831 1.933213 1.678415 1.492367 0.869607 1.168981 0.759731 1.683066 0.461763 1.964877 1.344876 -0.085783 0.568560 1.208659 1.424190 1.445388 -0.303350 1.915514 1.421848 1.165687 -0.066096 1.641117 0.068094 0.584541 0.457188 0.559162 1.501643 1.956646 -0.560037 0.043217 1.538096 1.142301 0.678432 0.239030 0.380298 1.373491 1.617773 0.449327 1.348144 1.243227 1.328890 0.139617 0.253213 1.094223 0.214901 0.235818 0.939054 0.321415 0.563100 1.348449 0.703267 1.435425 0.687968 1.242454 -0.344280)
+	12.987392 #(0.000000 0.019656 1.020820 -0.122857 -0.383416 1.743762 -0.077551 1.285344 1.556500 1.347778 1.007108 0.271391 -0.017599 1.323289 1.224441 1.254961 1.192419 0.950226 1.083964 0.356128 0.296702 1.898956 0.423819 0.431784 0.740632 0.838009 0.555934 1.287966 0.437690 0.641910 0.602950 -0.082685 0.609730 1.650999 1.107220 1.287768 1.459073 1.340092 0.368618 1.276887 0.523746 1.035407 1.951274 0.598910 0.440828 1.523180 1.064599 1.442876 1.610632 0.084831 1.933213 1.678415 1.492367 0.869607 1.168981 0.759731 1.683066 0.461763 1.964877 1.344876 -0.085783 0.568560 1.208659 1.424190 1.445388 -0.303350 1.915514 1.421848 1.165687 -0.066096 1.641117 0.068094 0.584541 0.457188 0.559162 1.501643 1.956646 -0.560037 0.043217 1.538096 1.142301 0.678432 0.239030 0.380298 1.373491 1.617773 0.449327 1.348144 1.243227 1.328890 0.139617 0.253213 1.094223 0.214901 0.235818 0.939054 0.321415 0.563100 1.348449 0.703267 1.435425 0.687968 1.242454 -0.344280)
       )
 
 ;;; 105 prime --------------------------------------------------------------------------------
-(vector 105 16.038356734428 (fv 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0)
+(vector 105 16.038356734428 #(0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0)
 
-	13.058436 (fv 0.000000 0.018841 0.195855 0.206420 0.065633 1.458550 0.564954 0.584050 0.255393 0.821477 0.473289 1.497087 0.488701 0.595510 1.763919 1.795152 1.020709 0.148507 1.419452 -0.190874 1.252819 -0.115417 1.572364 1.086172 1.203320 0.123978 1.519196 1.337538 1.222474 1.661628 1.792441 1.530814 0.073522 0.146382 0.880812 1.383907 1.455106 1.313842 0.612949 1.097744 0.661951 0.056058 0.292577 0.309700 1.553938 1.839317 1.798626 0.412574 -0.220475 0.391331 1.230536 1.329793 -0.061036 0.863566 1.369439 -0.108592 1.446517 1.870258 0.562986 0.909666 0.015512 0.313473 0.325423 1.421234 1.107012 0.906081 -0.185513 0.052032 0.945263 0.140137 1.151954 1.558716 1.433167 -0.154754 1.358982 -0.108152 1.794830 0.776903 1.411273 0.506284 0.746113 0.870064 0.655404 0.430773 1.492137 1.947814 1.106281 1.476409 1.624757 1.670125 1.262143 0.090556 0.017948 1.208649 1.518613 0.097884 0.893396 1.883764 0.459504 1.072858 0.258050 0.025247 0.792929 1.431035 1.911968)
+	13.058436 #(0.000000 0.018841 0.195855 0.206420 0.065633 1.458550 0.564954 0.584050 0.255393 0.821477 0.473289 1.497087 0.488701 0.595510 1.763919 1.795152 1.020709 0.148507 1.419452 -0.190874 1.252819 -0.115417 1.572364 1.086172 1.203320 0.123978 1.519196 1.337538 1.222474 1.661628 1.792441 1.530814 0.073522 0.146382 0.880812 1.383907 1.455106 1.313842 0.612949 1.097744 0.661951 0.056058 0.292577 0.309700 1.553938 1.839317 1.798626 0.412574 -0.220475 0.391331 1.230536 1.329793 -0.061036 0.863566 1.369439 -0.108592 1.446517 1.870258 0.562986 0.909666 0.015512 0.313473 0.325423 1.421234 1.107012 0.906081 -0.185513 0.052032 0.945263 0.140137 1.151954 1.558716 1.433167 -0.154754 1.358982 -0.108152 1.794830 0.776903 1.411273 0.506284 0.746113 0.870064 0.655404 0.430773 1.492137 1.947814 1.106281 1.476409 1.624757 1.670125 1.262143 0.090556 0.017948 1.208649 1.518613 0.097884 0.893396 1.883764 0.459504 1.072858 0.258050 0.025247 0.792929 1.431035 1.911968)
       )
 
 ;;; 106 prime --------------------------------------------------------------------------------
-(vector 106 15.730461834714 (fv 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1)
+(vector 106 15.730461834714 #(0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1)
 
-	13.079950 (fv 0.000000 0.991683 1.667079 0.952198 -0.158134 0.908256 -0.128985 1.883696 0.540349 0.614398 0.596989 0.783975 1.428368 1.597136 0.736884 1.252068 1.305873 0.231319 1.020117 1.388373 0.377031 1.796792 1.091025 -0.916486 1.247592 1.449627 1.096507 0.594132 -0.088485 1.169711 1.329459 0.003695 0.368539 -0.180221 0.842521 1.314435 1.291992 1.272149 0.292625 1.025337 1.197144 0.687141 1.597409 1.201509 1.264866 0.210655 0.462014 0.072105 1.054043 0.490923 0.945944 1.071461 0.064888 0.965001 1.073253 1.205548 1.546442 0.256599 0.512902 -0.205146 0.188856 1.063444 0.616804 1.743279 0.914154 0.807038 1.016753 1.132350 0.990751 0.400337 1.345943 0.880688 0.534474 0.323663 1.462334 0.913980 0.240611 1.904272 0.651788 0.182999 -0.180558 -0.266742 1.405697 0.476547 1.309300 1.415664 1.075072 1.577006 1.108476 0.911007 -0.337178 0.168855 1.245061 1.768086 1.542431 1.828360 0.829179 1.275739 -0.086776 0.463079 -0.336090 0.362914 1.505253 0.753982 0.654367 1.043320)
+	13.079950 #(0.000000 0.991683 1.667079 0.952198 -0.158134 0.908256 -0.128985 1.883696 0.540349 0.614398 0.596989 0.783975 1.428368 1.597136 0.736884 1.252068 1.305873 0.231319 1.020117 1.388373 0.377031 1.796792 1.091025 -0.916486 1.247592 1.449627 1.096507 0.594132 -0.088485 1.169711 1.329459 0.003695 0.368539 -0.180221 0.842521 1.314435 1.291992 1.272149 0.292625 1.025337 1.197144 0.687141 1.597409 1.201509 1.264866 0.210655 0.462014 0.072105 1.054043 0.490923 0.945944 1.071461 0.064888 0.965001 1.073253 1.205548 1.546442 0.256599 0.512902 -0.205146 0.188856 1.063444 0.616804 1.743279 0.914154 0.807038 1.016753 1.132350 0.990751 0.400337 1.345943 0.880688 0.534474 0.323663 1.462334 0.913980 0.240611 1.904272 0.651788 0.182999 -0.180558 -0.266742 1.405697 0.476547 1.309300 1.415664 1.075072 1.577006 1.108476 0.911007 -0.337178 0.168855 1.245061 1.768086 1.542431 1.828360 0.829179 1.275739 -0.086776 0.463079 -0.336090 0.362914 1.505253 0.753982 0.654367 1.043320)
       )
 
 ;;; 107 prime --------------------------------------------------------------------------------
-(vector 107 16.2013 (fv 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 1)
+(vector 107 16.2013 #(0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 1)
 
-	13.454325 (fv 0.000000 0.389504 0.200622 1.043121 0.761894 1.811391 1.013338 -0.029178 1.657156 0.071414 1.541808 1.697328 1.530731 0.828486 0.142611 0.827276 0.363623 0.731067 0.344946 0.056374 1.429426 0.761263 0.713573 1.043714 1.789986 0.913538 0.284688 1.632024 0.219315 1.596281 0.482719 0.716103 0.082813 0.889064 1.454911 -0.018694 1.031913 0.769500 1.225826 1.094301 0.011285 1.403439 1.540236 1.228421 1.198312 0.763787 1.489126 0.037842 1.393526 1.595697 1.484515 1.699381 0.910044 0.346999 1.483481 0.762896 0.323372 1.323234 0.494595 1.056252 0.710041 0.505300 0.227945 0.637730 1.459638 1.234710 0.493803 1.016315 0.230683 0.093113 0.713556 0.351744 1.777886 0.983943 0.185348 0.658457 0.665347 0.215532 0.767846 1.194595 0.781272 1.709017 0.088709 0.815194 0.381579 0.627948 1.674861 0.568794 1.433122 0.535438 1.473475 1.534920 1.207161 0.582128 0.284193 0.977855 0.959238 0.627080 0.292937 0.193644 0.627895 1.586822 1.256893 1.318535 0.663707 0.022219 1.167626)
+	13.454325 #(0.000000 0.389504 0.200622 1.043121 0.761894 1.811391 1.013338 -0.029178 1.657156 0.071414 1.541808 1.697328 1.530731 0.828486 0.142611 0.827276 0.363623 0.731067 0.344946 0.056374 1.429426 0.761263 0.713573 1.043714 1.789986 0.913538 0.284688 1.632024 0.219315 1.596281 0.482719 0.716103 0.082813 0.889064 1.454911 -0.018694 1.031913 0.769500 1.225826 1.094301 0.011285 1.403439 1.540236 1.228421 1.198312 0.763787 1.489126 0.037842 1.393526 1.595697 1.484515 1.699381 0.910044 0.346999 1.483481 0.762896 0.323372 1.323234 0.494595 1.056252 0.710041 0.505300 0.227945 0.637730 1.459638 1.234710 0.493803 1.016315 0.230683 0.093113 0.713556 0.351744 1.777886 0.983943 0.185348 0.658457 0.665347 0.215532 0.767846 1.194595 0.781272 1.709017 0.088709 0.815194 0.381579 0.627948 1.674861 0.568794 1.433122 0.535438 1.473475 1.534920 1.207161 0.582128 0.284193 0.977855 0.959238 0.627080 0.292937 0.193644 0.627895 1.586822 1.256893 1.318535 0.663707 0.022219 1.167626)
 
 	;; 106+1
-	13.202367 (fv 0.000000 1.000613 1.684756 1.030591 -0.144674 0.930087 -0.073206 1.869216 0.492462 0.667691 0.532693 0.721976 1.419258 1.577138 0.740297 1.322068 1.346534 0.154223 1.065715 1.368889 0.410182 1.822841 1.125450 -0.885511 1.290555 1.433074 1.046721 0.707499 -0.124656 1.201693 1.347393 0.018662 0.502177 -0.078873 0.756433 1.230311 1.259142 1.367069 0.315216 1.023759 1.259356 0.661168 1.411343 1.215010 1.266771 0.189892 0.505302 -0.011494 1.187732 0.519532 0.949942 1.050962 -0.019894 1.078182 0.992807 1.143414 1.633065 0.324324 0.492441 -0.218768 0.188780 0.963413 0.578702 1.692089 1.002935 0.841457 1.096611 1.231089 0.982778 0.479408 1.297577 0.816566 0.491832 0.381540 1.447787 0.924630 0.221301 1.796849 0.662118 0.111778 -0.098285 -0.205921 1.443651 0.375879 1.302820 1.419045 1.157539 1.514324 1.141534 0.934891 -0.258550 0.136149 1.293417 1.740995 1.504775 1.852338 0.849037 1.301984 -0.143638 0.497510 -0.382560 0.320355 1.490322 0.666001 0.663075 0.925267 0.075096)
+	13.202367 #(0.000000 1.000613 1.684756 1.030591 -0.144674 0.930087 -0.073206 1.869216 0.492462 0.667691 0.532693 0.721976 1.419258 1.577138 0.740297 1.322068 1.346534 0.154223 1.065715 1.368889 0.410182 1.822841 1.125450 -0.885511 1.290555 1.433074 1.046721 0.707499 -0.124656 1.201693 1.347393 0.018662 0.502177 -0.078873 0.756433 1.230311 1.259142 1.367069 0.315216 1.023759 1.259356 0.661168 1.411343 1.215010 1.266771 0.189892 0.505302 -0.011494 1.187732 0.519532 0.949942 1.050962 -0.019894 1.078182 0.992807 1.143414 1.633065 0.324324 0.492441 -0.218768 0.188780 0.963413 0.578702 1.692089 1.002935 0.841457 1.096611 1.231089 0.982778 0.479408 1.297577 0.816566 0.491832 0.381540 1.447787 0.924630 0.221301 1.796849 0.662118 0.111778 -0.098285 -0.205921 1.443651 0.375879 1.302820 1.419045 1.157539 1.514324 1.141534 0.934891 -0.258550 0.136149 1.293417 1.740995 1.504775 1.852338 0.849037 1.301984 -0.143638 0.497510 -0.382560 0.320355 1.490322 0.666001 0.663075 0.925267 0.075096)
       )
 
 ;;; 108 prime --------------------------------------------------------------------------------
-(vector 108 16.517358779907 (fv 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1)
+(vector 108 16.517358779907 #(0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1)
 
-	13.566156 (fv 0.000000 0.728699 0.665336 1.259359 0.312955 1.409197 -0.227152 1.537467 1.153791 1.627076 -0.109225 0.091841 1.196044 0.651957 1.667279 0.297872 1.708304 1.600040 1.279774 0.976975 0.859888 1.094622 0.659631 0.928550 0.001741 -0.027962 0.214582 0.238151 1.673247 1.887884 0.736064 0.892280 0.140937 0.557264 1.253347 0.704162 0.470712 1.242786 0.158371 0.301659 0.524953 1.272263 1.156799 -0.239176 0.540826 0.229025 0.331628 1.768533 0.578592 1.809543 0.717505 1.699923 1.628036 -0.006910 1.357544 -0.139327 0.574888 1.440391 0.790214 1.511908 0.799982 0.339724 0.692982 0.670833 0.340679 0.340555 1.796897 1.303289 0.258157 0.027036 0.818761 0.552085 1.636862 0.719532 0.280874 1.446822 1.675335 0.170540 0.167079 0.487215 1.068313 1.129396 0.130584 -0.078228 1.601308 0.067975 0.896148 0.221651 0.232515 0.805049 1.470867 0.339643 0.563679 1.554585 0.968287 0.574484 1.097469 1.601363 0.583017 1.789341 1.359201 1.858560 0.117486 0.025512 1.678463 -0.072670 -0.213093 1.615471)
+	13.566156 #(0.000000 0.728699 0.665336 1.259359 0.312955 1.409197 -0.227152 1.537467 1.153791 1.627076 -0.109225 0.091841 1.196044 0.651957 1.667279 0.297872 1.708304 1.600040 1.279774 0.976975 0.859888 1.094622 0.659631 0.928550 0.001741 -0.027962 0.214582 0.238151 1.673247 1.887884 0.736064 0.892280 0.140937 0.557264 1.253347 0.704162 0.470712 1.242786 0.158371 0.301659 0.524953 1.272263 1.156799 -0.239176 0.540826 0.229025 0.331628 1.768533 0.578592 1.809543 0.717505 1.699923 1.628036 -0.006910 1.357544 -0.139327 0.574888 1.440391 0.790214 1.511908 0.799982 0.339724 0.692982 0.670833 0.340679 0.340555 1.796897 1.303289 0.258157 0.027036 0.818761 0.552085 1.636862 0.719532 0.280874 1.446822 1.675335 0.170540 0.167079 0.487215 1.068313 1.129396 0.130584 -0.078228 1.601308 0.067975 0.896148 0.221651 0.232515 0.805049 1.470867 0.339643 0.563679 1.554585 0.968287 0.574484 1.097469 1.601363 0.583017 1.789341 1.359201 1.858560 0.117486 0.025512 1.678463 -0.072670 -0.213093 1.615471)
 	
 	;; 107+1
-	13.161718 (fv 0.000000 0.987739 1.733133 1.054188 -0.119939 0.910849 0.010896 1.915591 0.510331 0.662472 0.507733 0.711187 1.421434 1.531951 0.698359 1.366502 1.433114 0.162830 1.031829 1.385260 0.380744 1.872146 1.120453 -0.900242 1.311562 1.361998 1.093182 0.717990 -0.097277 1.161510 1.367817 0.082904 0.485601 -0.064734 0.731587 1.181418 1.308157 1.250173 0.316423 1.011227 1.301355 0.644463 1.445963 1.205118 1.208647 0.244654 0.589262 -0.059634 1.176596 0.571146 1.043371 1.083159 0.006076 1.077933 0.991663 1.165270 1.605164 0.390047 0.441435 -0.106544 0.175661 1.010931 0.543321 1.751721 0.965777 0.870079 1.024670 1.181296 0.990067 0.440808 1.351390 0.806214 0.421993 0.407648 1.468845 0.828507 0.187943 1.771172 0.634836 0.107090 -0.067569 -0.177001 1.469562 0.463678 1.334677 1.387523 1.126011 1.572881 1.170585 1.010919 -0.335535 0.129689 1.331430 1.676924 1.536965 1.783188 0.838550 1.260495 -0.084649 0.463288 -0.384118 0.341860 1.494266 0.699617 0.647486 0.913118 0.121686 0.025406)
+	13.161718 #(0.000000 0.987739 1.733133 1.054188 -0.119939 0.910849 0.010896 1.915591 0.510331 0.662472 0.507733 0.711187 1.421434 1.531951 0.698359 1.366502 1.433114 0.162830 1.031829 1.385260 0.380744 1.872146 1.120453 -0.900242 1.311562 1.361998 1.093182 0.717990 -0.097277 1.161510 1.367817 0.082904 0.485601 -0.064734 0.731587 1.181418 1.308157 1.250173 0.316423 1.011227 1.301355 0.644463 1.445963 1.205118 1.208647 0.244654 0.589262 -0.059634 1.176596 0.571146 1.043371 1.083159 0.006076 1.077933 0.991663 1.165270 1.605164 0.390047 0.441435 -0.106544 0.175661 1.010931 0.543321 1.751721 0.965777 0.870079 1.024670 1.181296 0.990067 0.440808 1.351390 0.806214 0.421993 0.407648 1.468845 0.828507 0.187943 1.771172 0.634836 0.107090 -0.067569 -0.177001 1.469562 0.463678 1.334677 1.387523 1.126011 1.572881 1.170585 1.010919 -0.335535 0.129689 1.331430 1.676924 1.536965 1.783188 0.838550 1.260495 -0.084649 0.463288 -0.384118 0.341860 1.494266 0.699617 0.647486 0.913118 0.121686 0.025406)
       )
 
 ;;; 109 prime --------------------------------------------------------------------------------
-(vector 109 16.726722717285 (fv 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1)
+(vector 109 16.726722717285 #(0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1)
 
-	13.649150 (fv 0.000000 1.372685 -0.023096 0.764121 0.652451 1.161206 0.008161 0.316013 0.797732 0.714473 0.487368 1.050633 1.595865 0.070630 1.790292 1.172057 1.415647 1.153468 1.827169 0.230707 0.215213 0.858764 0.278893 1.454000 0.649000 1.487731 -0.093971 1.467452 0.578832 1.089439 0.854711 1.680527 0.623468 0.213876 1.468708 0.944679 1.289165 0.802006 0.813501 1.223343 1.569276 1.613534 0.610297 0.672562 1.232493 0.103141 1.459267 0.251097 0.877797 0.013403 1.560238 0.500350 1.399744 0.774367 0.659639 0.252122 0.824594 0.812839 0.861276 1.156805 0.833828 1.345402 0.790424 1.718416 0.402535 0.733335 1.522110 0.842132 1.600144 1.051832 -0.203657 0.911191 0.314178 0.284195 1.331343 0.434428 0.490954 1.410099 0.311769 1.658687 1.103289 1.173009 0.197955 0.613754 0.369986 0.003017 -0.302157 0.765490 1.656484 0.479210 0.563523 0.438269 0.714490 -0.012143 1.495468 -0.063161 0.479473 0.509000 1.902431 1.448189 0.587148 0.187985 1.316513 1.133117 1.008029 0.693260 0.907818 1.116038 0.394946)
+	13.649150 #(0.000000 1.372685 -0.023096 0.764121 0.652451 1.161206 0.008161 0.316013 0.797732 0.714473 0.487368 1.050633 1.595865 0.070630 1.790292 1.172057 1.415647 1.153468 1.827169 0.230707 0.215213 0.858764 0.278893 1.454000 0.649000 1.487731 -0.093971 1.467452 0.578832 1.089439 0.854711 1.680527 0.623468 0.213876 1.468708 0.944679 1.289165 0.802006 0.813501 1.223343 1.569276 1.613534 0.610297 0.672562 1.232493 0.103141 1.459267 0.251097 0.877797 0.013403 1.560238 0.500350 1.399744 0.774367 0.659639 0.252122 0.824594 0.812839 0.861276 1.156805 0.833828 1.345402 0.790424 1.718416 0.402535 0.733335 1.522110 0.842132 1.600144 1.051832 -0.203657 0.911191 0.314178 0.284195 1.331343 0.434428 0.490954 1.410099 0.311769 1.658687 1.103289 1.173009 0.197955 0.613754 0.369986 0.003017 -0.302157 0.765490 1.656484 0.479210 0.563523 0.438269 0.714490 -0.012143 1.495468 -0.063161 0.479473 0.509000 1.902431 1.448189 0.587148 0.187985 1.316513 1.133117 1.008029 0.693260 0.907818 1.116038 0.394946)
 
 	;; 108+1
-	13.143741 (fv 0.000000 0.981295 1.812666 1.117956 -0.185500 0.887133 -0.042123 1.869958 0.605292 0.660698 0.487240 0.624166 1.449694 1.534689 0.782613 1.451064 1.414295 0.227989 1.073340 1.379009 0.377980 1.849622 1.090582 -0.935851 1.300468 1.325519 1.018826 0.640677 -0.151618 1.157148 1.372788 0.030561 0.535214 0.003928 0.716545 1.230702 1.288510 1.214069 0.401399 1.044897 1.420969 0.699802 1.461844 1.182797 1.140031 0.222134 0.599399 -0.075721 1.205878 0.475321 1.079680 1.212881 -0.096955 1.107746 1.109769 1.169670 1.644352 0.462528 0.400247 -0.075889 0.244499 0.883273 0.555132 1.799341 1.047944 0.815280 0.989170 1.236643 1.002684 0.340197 1.339964 0.830022 0.342213 0.420385 1.313509 0.797027 0.138670 1.741420 0.612419 0.142853 -0.104009 -0.165428 1.519255 0.376528 1.265335 1.374075 1.080427 1.589793 1.292179 1.057071 -0.356737 0.109826 1.273643 1.715122 1.539078 1.804591 0.847821 1.225593 -0.104087 0.410682 -0.411370 0.366927 1.453570 0.665830 0.721383 0.960549 0.197868 0.027654 -0.001988)
+	13.143741 #(0.000000 0.981295 1.812666 1.117956 -0.185500 0.887133 -0.042123 1.869958 0.605292 0.660698 0.487240 0.624166 1.449694 1.534689 0.782613 1.451064 1.414295 0.227989 1.073340 1.379009 0.377980 1.849622 1.090582 -0.935851 1.300468 1.325519 1.018826 0.640677 -0.151618 1.157148 1.372788 0.030561 0.535214 0.003928 0.716545 1.230702 1.288510 1.214069 0.401399 1.044897 1.420969 0.699802 1.461844 1.182797 1.140031 0.222134 0.599399 -0.075721 1.205878 0.475321 1.079680 1.212881 -0.096955 1.107746 1.109769 1.169670 1.644352 0.462528 0.400247 -0.075889 0.244499 0.883273 0.555132 1.799341 1.047944 0.815280 0.989170 1.236643 1.002684 0.340197 1.339964 0.830022 0.342213 0.420385 1.313509 0.797027 0.138670 1.741420 0.612419 0.142853 -0.104009 -0.165428 1.519255 0.376528 1.265335 1.374075 1.080427 1.589793 1.292179 1.057071 -0.356737 0.109826 1.273643 1.715122 1.539078 1.804591 0.847821 1.225593 -0.104087 0.410682 -0.411370 0.366927 1.453570 0.665830 0.721383 0.960549 0.197868 0.027654 -0.001988)
       )
 
 ;;; 110 prime --------------------------------------------------------------------------------
-(vector 110 16.455888332339 (fv 0 1 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1)
+(vector 110 16.455888332339 #(0 1 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1)
 
-      13.753511 (fv 0.000000 0.848399 0.494893 1.537753 0.056503 1.192968 1.014976 1.000380 0.176221 0.063643 0.945853 -0.068422 1.888547 0.530097 1.932585 0.363227 0.205713 0.801411 0.700920 0.687774 0.323313 0.855436 1.706412 1.023431 1.539017 1.189953 0.005598 1.402697 1.398321 0.097413 0.650843 0.983076 -0.039672 1.076216 1.303860 0.579074 0.077434 1.403649 0.444054 1.850591 1.616413 0.004099 1.016957 0.276287 0.460935 1.424558 0.455559 1.774494 1.736742 0.257321 1.711197 0.589769 0.080807 0.068711 1.794312 0.030231 1.983460 1.792079 0.697501 1.563642 0.912299 1.306605 0.631662 1.306070 -0.020912 0.369231 0.339819 1.307905 -0.099842 0.333029 0.056818 -0.061161 0.558252 1.627518 -0.126860 1.759233 1.646547 0.826803 -0.148545 1.670003 1.989516 1.496557 0.799184 0.829408 0.352552 1.567755 1.722037 1.366413 1.337959 0.542553 0.828268 -0.090626 1.570252 0.921528 0.763668 1.791188 0.313328 1.353716 0.012540 0.577255 1.197100 -0.067959 0.264526 0.484251 0.882328 0.325360 0.489410 0.497137 1.466498 0.363086)
+      13.753511 #(0.000000 0.848399 0.494893 1.537753 0.056503 1.192968 1.014976 1.000380 0.176221 0.063643 0.945853 -0.068422 1.888547 0.530097 1.932585 0.363227 0.205713 0.801411 0.700920 0.687774 0.323313 0.855436 1.706412 1.023431 1.539017 1.189953 0.005598 1.402697 1.398321 0.097413 0.650843 0.983076 -0.039672 1.076216 1.303860 0.579074 0.077434 1.403649 0.444054 1.850591 1.616413 0.004099 1.016957 0.276287 0.460935 1.424558 0.455559 1.774494 1.736742 0.257321 1.711197 0.589769 0.080807 0.068711 1.794312 0.030231 1.983460 1.792079 0.697501 1.563642 0.912299 1.306605 0.631662 1.306070 -0.020912 0.369231 0.339819 1.307905 -0.099842 0.333029 0.056818 -0.061161 0.558252 1.627518 -0.126860 1.759233 1.646547 0.826803 -0.148545 1.670003 1.989516 1.496557 0.799184 0.829408 0.352552 1.567755 1.722037 1.366413 1.337959 0.542553 0.828268 -0.090626 1.570252 0.921528 0.763668 1.791188 0.313328 1.353716 0.012540 0.577255 1.197100 -0.067959 0.264526 0.484251 0.882328 0.325360 0.489410 0.497137 1.466498 0.363086)
 
       ;; 109+1
-      13.385857 (fv 0.000000 1.005423 1.782283 1.037310 -0.213053 0.879928 -0.046517 1.873303 0.602952 0.747924 0.548631 0.551919 1.533520 1.564233 0.767686 1.439845 1.429058 0.210745 1.048360 1.272572 0.420497 1.907528 1.007798 -0.875985 1.280681 1.283565 1.002224 0.663448 -0.175829 1.191021 1.396519 0.008645 0.463633 -0.035145 0.773513 1.183723 1.280027 1.209216 0.370736 1.024088 1.346178 0.572424 1.493165 1.210957 1.190749 0.243885 0.627363 -0.093472 1.163170 0.538660 1.062757 1.203025 -0.076830 1.020755 1.065456 1.180141 1.616909 0.426164 0.442881 -0.033300 0.224949 0.880028 0.544694 1.835856 0.965989 0.842443 0.993190 1.292542 0.995849 0.354562 1.374934 0.864622 0.357717 0.414238 1.429257 0.844435 0.199497 1.704803 0.599091 0.164856 -0.041591 -0.188982 1.576927 0.379552 1.197978 1.412448 1.100509 1.573418 1.244031 1.006949 -0.394739 0.102675 1.270463 1.672535 1.525836 1.772058 0.832852 1.187053 -0.004100 0.474378 -0.431920 0.321063 1.410302 0.680526 0.673358 0.951529 0.162772 0.079611 0.022569 0.116743)
+      13.385857 #(0.000000 1.005423 1.782283 1.037310 -0.213053 0.879928 -0.046517 1.873303 0.602952 0.747924 0.548631 0.551919 1.533520 1.564233 0.767686 1.439845 1.429058 0.210745 1.048360 1.272572 0.420497 1.907528 1.007798 -0.875985 1.280681 1.283565 1.002224 0.663448 -0.175829 1.191021 1.396519 0.008645 0.463633 -0.035145 0.773513 1.183723 1.280027 1.209216 0.370736 1.024088 1.346178 0.572424 1.493165 1.210957 1.190749 0.243885 0.627363 -0.093472 1.163170 0.538660 1.062757 1.203025 -0.076830 1.020755 1.065456 1.180141 1.616909 0.426164 0.442881 -0.033300 0.224949 0.880028 0.544694 1.835856 0.965989 0.842443 0.993190 1.292542 0.995849 0.354562 1.374934 0.864622 0.357717 0.414238 1.429257 0.844435 0.199497 1.704803 0.599091 0.164856 -0.041591 -0.188982 1.576927 0.379552 1.197978 1.412448 1.100509 1.573418 1.244031 1.006949 -0.394739 0.102675 1.270463 1.672535 1.525836 1.772058 0.832852 1.187053 -0.004100 0.474378 -0.431920 0.321063 1.410302 0.680526 0.673358 0.951529 0.162772 0.079611 0.022569 0.116743)
       )
 
 ;;; 111 prime --------------------------------------------------------------------------------
-(vector 111 16.6662 (fv 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 1 0 0)
+(vector 111 16.6662 #(0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 1 0 0)
 
-	13.722535 (fv 0.000000 0.609754 0.477824 0.498205 -0.160828 1.311478 1.827872 1.163524 0.877088 0.528558 0.012460 0.425841 0.347225 1.111527 1.506620 1.410636 0.996952 -0.131493 1.544916 1.238729 0.920166 1.777555 1.246912 0.483008 1.025725 -0.124782 0.923160 0.448660 1.543112 1.342373 1.038202 0.935130 1.601650 0.963178 1.878258 0.588174 1.312098 0.758893 0.091784 1.903351 1.707234 0.845481 0.771218 1.534277 0.275800 0.904288 0.700394 1.584631 1.096911 0.048546 1.076681 -0.004790 1.712699 1.002701 0.028040 0.631055 0.000599 0.321247 1.728365 1.696152 0.050007 0.370978 0.617539 1.556864 1.281962 1.845086 1.923574 1.593500 1.577659 0.887043 0.956244 1.403764 1.038378 1.157002 1.529481 1.305687 0.017547 0.326930 0.654165 -0.007752 -0.267214 1.694215 0.852596 1.259529 0.832944 0.035647 0.361584 1.075053 1.075715 1.409307 1.062617 -0.201186 0.434486 -0.180399 1.188883 -0.221873 1.452975 -0.020938 0.072031 0.208492 1.474047 1.409906 0.615391 1.726165 0.685592 0.292682 1.428870 0.069915 -0.271563 0.353890 1.174756)
+	13.722535 #(0.000000 0.609754 0.477824 0.498205 -0.160828 1.311478 1.827872 1.163524 0.877088 0.528558 0.012460 0.425841 0.347225 1.111527 1.506620 1.410636 0.996952 -0.131493 1.544916 1.238729 0.920166 1.777555 1.246912 0.483008 1.025725 -0.124782 0.923160 0.448660 1.543112 1.342373 1.038202 0.935130 1.601650 0.963178 1.878258 0.588174 1.312098 0.758893 0.091784 1.903351 1.707234 0.845481 0.771218 1.534277 0.275800 0.904288 0.700394 1.584631 1.096911 0.048546 1.076681 -0.004790 1.712699 1.002701 0.028040 0.631055 0.000599 0.321247 1.728365 1.696152 0.050007 0.370978 0.617539 1.556864 1.281962 1.845086 1.923574 1.593500 1.577659 0.887043 0.956244 1.403764 1.038378 1.157002 1.529481 1.305687 0.017547 0.326930 0.654165 -0.007752 -0.267214 1.694215 0.852596 1.259529 0.832944 0.035647 0.361584 1.075053 1.075715 1.409307 1.062617 -0.201186 0.434486 -0.180399 1.188883 -0.221873 1.452975 -0.020938 0.072031 0.208492 1.474047 1.409906 0.615391 1.726165 0.685592 0.292682 1.428870 0.069915 -0.271563 0.353890 1.174756)
 
 	;; 110+1
-	13.484289 (fv 0.000000 0.995043 1.654854 0.951488 -0.186960 0.850693 -0.104052 1.791806 0.632389 0.741244 0.372539 0.536429 1.585222 1.564873 0.754743 1.533715 1.436886 0.265913 1.082971 1.345237 0.422609 1.896766 1.047262 -0.941259 1.315104 1.247825 1.012008 0.626763 -0.163895 1.147771 1.361070 0.089508 0.489357 -0.001980 0.747126 1.129161 1.312043 1.244841 0.335129 1.099634 1.435470 0.558588 1.594865 1.187385 1.215330 0.231616 0.653215 -0.079848 1.147198 0.522561 1.074244 1.189158 0.024016 1.002127 1.145705 1.183921 1.636771 0.398476 0.358443 -0.058263 0.246181 0.942683 0.482681 1.823368 1.038771 0.798364 0.979012 1.260203 1.008839 0.331481 1.329527 0.889282 0.388705 0.378727 1.394091 0.860317 0.191774 1.792101 0.682065 0.246000 -0.121897 -0.155296 1.603714 0.392748 1.177859 1.362462 1.085317 1.557823 1.337471 1.045764 -0.299177 0.095852 1.207771 1.749557 1.574722 1.798042 0.795838 1.277804 -0.046897 0.399079 -0.477065 0.322241 1.436449 0.774690 0.635047 0.952898 0.197693 0.020089 0.072586 0.105711 -0.061722)
+	13.484289 #(0.000000 0.995043 1.654854 0.951488 -0.186960 0.850693 -0.104052 1.791806 0.632389 0.741244 0.372539 0.536429 1.585222 1.564873 0.754743 1.533715 1.436886 0.265913 1.082971 1.345237 0.422609 1.896766 1.047262 -0.941259 1.315104 1.247825 1.012008 0.626763 -0.163895 1.147771 1.361070 0.089508 0.489357 -0.001980 0.747126 1.129161 1.312043 1.244841 0.335129 1.099634 1.435470 0.558588 1.594865 1.187385 1.215330 0.231616 0.653215 -0.079848 1.147198 0.522561 1.074244 1.189158 0.024016 1.002127 1.145705 1.183921 1.636771 0.398476 0.358443 -0.058263 0.246181 0.942683 0.482681 1.823368 1.038771 0.798364 0.979012 1.260203 1.008839 0.331481 1.329527 0.889282 0.388705 0.378727 1.394091 0.860317 0.191774 1.792101 0.682065 0.246000 -0.121897 -0.155296 1.603714 0.392748 1.177859 1.362462 1.085317 1.557823 1.337471 1.045764 -0.299177 0.095852 1.207771 1.749557 1.574722 1.798042 0.795838 1.277804 -0.046897 0.399079 -0.477065 0.322241 1.436449 0.774690 0.635047 0.952898 0.197693 0.020089 0.072586 0.105711 -0.061722)
       )
 
 ;;; 112 prime --------------------------------------------------------------------------------
-(vector 112 16.697049415765 (fv 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 1 1 1)
+(vector 112 16.697049415765 #(0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 1 1 1)
 
-	13.804835 (fv 0.000000 0.660626 0.012013 1.067055 1.731382 0.878320 0.900685 1.333334 0.681047 1.863220 1.352916 0.703854 1.515374 0.461716 0.898953 1.919840 0.286167 0.735654 -0.086197 0.617448 0.511110 1.353376 1.062165 1.636012 0.515505 1.399695 1.421287 -0.379478 0.731516 0.180102 1.567557 1.923199 -0.007316 1.368320 1.294564 0.578724 1.657029 0.985867 0.321763 1.643211 0.183594 -0.095598 1.792723 0.880687 0.335377 0.402596 1.614065 0.786600 0.590837 0.174605 0.357314 0.363837 -0.136455 0.186803 1.076928 1.936757 0.633832 1.217976 0.067642 0.078632 0.866945 1.729624 0.916168 1.228002 1.090442 0.162856 0.012895 1.357444 0.829157 1.905883 0.224325 1.392049 1.223672 1.768609 0.413025 0.871017 1.661030 1.831359 0.223665 1.475164 0.272068 0.564210 0.622152 1.113002 0.676345 -0.006078 1.737306 1.187465 0.535707 1.077110 1.810506 1.386823 0.000557 1.452387 1.030585 0.842150 -0.158625 1.174437 0.579578 -0.079023 1.196883 0.846201 0.482764 0.945473 0.701184 0.898505 0.170202 0.481114 0.605193 0.955521 -0.054086 0.358715)
+	13.804835 #(0.000000 0.660626 0.012013 1.067055 1.731382 0.878320 0.900685 1.333334 0.681047 1.863220 1.352916 0.703854 1.515374 0.461716 0.898953 1.919840 0.286167 0.735654 -0.086197 0.617448 0.511110 1.353376 1.062165 1.636012 0.515505 1.399695 1.421287 -0.379478 0.731516 0.180102 1.567557 1.923199 -0.007316 1.368320 1.294564 0.578724 1.657029 0.985867 0.321763 1.643211 0.183594 -0.095598 1.792723 0.880687 0.335377 0.402596 1.614065 0.786600 0.590837 0.174605 0.357314 0.363837 -0.136455 0.186803 1.076928 1.936757 0.633832 1.217976 0.067642 0.078632 0.866945 1.729624 0.916168 1.228002 1.090442 0.162856 0.012895 1.357444 0.829157 1.905883 0.224325 1.392049 1.223672 1.768609 0.413025 0.871017 1.661030 1.831359 0.223665 1.475164 0.272068 0.564210 0.622152 1.113002 0.676345 -0.006078 1.737306 1.187465 0.535707 1.077110 1.810506 1.386823 0.000557 1.452387 1.030585 0.842150 -0.158625 1.174437 0.579578 -0.079023 1.196883 0.846201 0.482764 0.945473 0.701184 0.898505 0.170202 0.481114 0.605193 0.955521 -0.054086 0.358715)
 
 	;; 111+1
-	13.560854 (fv 0.000000 0.996200 1.682628 0.999634 -0.183169 0.941340 -0.063380 1.872352 0.588785 0.718316 0.404204 0.564721 1.640073 1.488214 0.688322 1.540833 1.402097 0.325664 1.088557 1.271965 0.430614 -0.023931 1.082172 -0.819505 1.289052 1.272358 1.016703 0.615500 -0.063492 1.173776 1.419856 0.160057 0.471424 0.025687 0.794626 1.093604 1.347648 1.313640 0.365769 1.198433 1.539259 0.590650 1.625522 1.236869 1.255735 0.261849 0.614310 -0.133810 1.106507 0.525198 1.040282 1.242100 -0.009151 0.940124 1.120632 1.244098 1.583333 0.484225 0.270298 -0.091909 0.275038 0.915341 0.498191 1.846447 1.147765 0.805686 0.960525 1.293095 0.980148 0.249336 1.277364 0.859717 0.447170 0.347316 1.500244 0.749545 0.120155 1.639932 0.628998 0.242589 -0.052482 -0.149374 1.587211 0.461604 1.136482 1.323997 1.019660 1.587802 1.220439 1.097627 -0.381422 0.113408 1.209314 1.808025 1.585895 1.749582 0.823561 1.289475 0.074159 0.350519 -0.613785 0.308515 1.554187 0.783853 0.541355 0.955629 0.179584 0.128995 -0.001165 0.025208 -0.107472 -0.097625)
+	13.560854 #(0.000000 0.996200 1.682628 0.999634 -0.183169 0.941340 -0.063380 1.872352 0.588785 0.718316 0.404204 0.564721 1.640073 1.488214 0.688322 1.540833 1.402097 0.325664 1.088557 1.271965 0.430614 -0.023931 1.082172 -0.819505 1.289052 1.272358 1.016703 0.615500 -0.063492 1.173776 1.419856 0.160057 0.471424 0.025687 0.794626 1.093604 1.347648 1.313640 0.365769 1.198433 1.539259 0.590650 1.625522 1.236869 1.255735 0.261849 0.614310 -0.133810 1.106507 0.525198 1.040282 1.242100 -0.009151 0.940124 1.120632 1.244098 1.583333 0.484225 0.270298 -0.091909 0.275038 0.915341 0.498191 1.846447 1.147765 0.805686 0.960525 1.293095 0.980148 0.249336 1.277364 0.859717 0.447170 0.347316 1.500244 0.749545 0.120155 1.639932 0.628998 0.242589 -0.052482 -0.149374 1.587211 0.461604 1.136482 1.323997 1.019660 1.587802 1.220439 1.097627 -0.381422 0.113408 1.209314 1.808025 1.585895 1.749582 0.823561 1.289475 0.074159 0.350519 -0.613785 0.308515 1.554187 0.783853 0.541355 0.955629 0.179584 0.128995 -0.001165 0.025208 -0.107472 -0.097625)
       )
 
 ;;; 113 prime --------------------------------------------------------------------------------
-(vector 113 16.203890830538 (fv 0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1)
+(vector 113 16.203890830538 #(0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1)
 
-	13.613456 (fv 0.000000 0.554013 -0.189590 1.040342 1.895741 0.972257 1.983763 0.925350 1.413107 1.187039 0.890581 -0.092527 0.648924 0.275297 1.034974 0.578278 1.412961 1.217860 0.290211 0.146756 1.277989 1.797973 1.243546 0.309623 0.588952 0.766281 1.732300 0.158146 0.970241 1.057713 0.155581 0.740347 -0.278224 0.813051 0.090610 1.633987 0.141253 1.362430 1.811341 0.106172 0.560908 0.975141 0.414465 1.325189 1.317848 1.670918 1.310037 0.138103 1.544695 0.427642 0.688876 1.115251 0.104011 1.249484 1.283379 -0.217415 1.248803 -0.055143 1.377781 1.794050 -0.051929 -0.190679 -0.001958 1.872135 1.015649 0.017838 -0.117121 0.829495 -0.198380 0.905735 0.272607 0.619166 1.647347 0.816228 0.007369 0.650952 0.045714 0.308454 0.434057 0.201848 1.245915 0.933121 1.619736 1.351637 0.362509 1.868147 1.070766 1.188359 0.400988 0.049686 0.087230 0.628970 0.077489 1.262876 0.220162 0.869503 1.130712 0.267514 1.396227 1.721653 1.550102 1.446927 1.155950 0.841581 0.384623 1.977430 1.631746 0.006140 0.715062 1.236385 1.051311 0.995413 0.371400)
+	13.613456 #(0.000000 0.554013 -0.189590 1.040342 1.895741 0.972257 1.983763 0.925350 1.413107 1.187039 0.890581 -0.092527 0.648924 0.275297 1.034974 0.578278 1.412961 1.217860 0.290211 0.146756 1.277989 1.797973 1.243546 0.309623 0.588952 0.766281 1.732300 0.158146 0.970241 1.057713 0.155581 0.740347 -0.278224 0.813051 0.090610 1.633987 0.141253 1.362430 1.811341 0.106172 0.560908 0.975141 0.414465 1.325189 1.317848 1.670918 1.310037 0.138103 1.544695 0.427642 0.688876 1.115251 0.104011 1.249484 1.283379 -0.217415 1.248803 -0.055143 1.377781 1.794050 -0.051929 -0.190679 -0.001958 1.872135 1.015649 0.017838 -0.117121 0.829495 -0.198380 0.905735 0.272607 0.619166 1.647347 0.816228 0.007369 0.650952 0.045714 0.308454 0.434057 0.201848 1.245915 0.933121 1.619736 1.351637 0.362509 1.868147 1.070766 1.188359 0.400988 0.049686 0.087230 0.628970 0.077489 1.262876 0.220162 0.869503 1.130712 0.267514 1.396227 1.721653 1.550102 1.446927 1.155950 0.841581 0.384623 1.977430 1.631746 0.006140 0.715062 1.236385 1.051311 0.995413 0.371400)
       )
 
 ;;; 114 prime --------------------------------------------------------------------------------
-(vector 114 16.442732865586 (fv 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1)
+(vector 114 16.442732865586 #(0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1)
 
-	14.166020 (fv 0.000000 1.038356 0.826275 1.128674 -0.125090 1.829063 1.262013 1.160559 1.519516 1.502014 1.857796 1.525394 0.946893 1.361851 0.493317 1.621550 0.040839 0.825455 1.881008 1.165270 1.273827 0.159303 1.756090 1.393155 1.413051 0.957215 0.252091 1.226129 -0.094317 0.742943 1.002043 1.336572 1.592258 -0.082802 1.594640 0.366562 0.390860 1.427038 1.739079 0.663205 0.933325 1.484965 0.194283 0.375410 0.493300 0.605961 1.748551 0.279636 1.804517 0.357640 0.998348 0.681772 0.367098 0.467866 1.810315 1.933552 1.894370 1.189828 1.415118 1.834729 1.938426 1.415450 0.009074 1.747634 1.249287 0.770928 -0.115261 1.409451 1.246513 0.675514 1.266338 1.477875 -0.114148 0.185420 0.629532 1.098645 0.874254 0.446592 0.243371 0.516051 1.248852 0.028651 -0.007127 1.709807 1.312205 0.257361 1.279674 0.901557 0.855388 1.469222 1.328726 1.208217 1.433035 1.922664 0.274941 0.148828 0.367238 -0.254062 1.751340 0.773665 1.053171 0.567664 1.773987 1.113690 1.183578 1.066952 0.102607 0.071815 1.625657 1.255723 1.028659 0.085305 0.356288 0.418655)
+	14.166020 #(0.000000 1.038356 0.826275 1.128674 -0.125090 1.829063 1.262013 1.160559 1.519516 1.502014 1.857796 1.525394 0.946893 1.361851 0.493317 1.621550 0.040839 0.825455 1.881008 1.165270 1.273827 0.159303 1.756090 1.393155 1.413051 0.957215 0.252091 1.226129 -0.094317 0.742943 1.002043 1.336572 1.592258 -0.082802 1.594640 0.366562 0.390860 1.427038 1.739079 0.663205 0.933325 1.484965 0.194283 0.375410 0.493300 0.605961 1.748551 0.279636 1.804517 0.357640 0.998348 0.681772 0.367098 0.467866 1.810315 1.933552 1.894370 1.189828 1.415118 1.834729 1.938426 1.415450 0.009074 1.747634 1.249287 0.770928 -0.115261 1.409451 1.246513 0.675514 1.266338 1.477875 -0.114148 0.185420 0.629532 1.098645 0.874254 0.446592 0.243371 0.516051 1.248852 0.028651 -0.007127 1.709807 1.312205 0.257361 1.279674 0.901557 0.855388 1.469222 1.328726 1.208217 1.433035 1.922664 0.274941 0.148828 0.367238 -0.254062 1.751340 0.773665 1.053171 0.567664 1.773987 1.113690 1.183578 1.066952 0.102607 0.071815 1.625657 1.255723 1.028659 0.085305 0.356288 0.418655)
 
 	;; 113+1
-	13.529505 (fv 0.000000 0.609603 -0.150717 1.144620 1.885952 1.029695 -0.017328 1.023651 1.375935 1.049542 0.876959 -0.157071 0.712430 0.086142 1.092731 0.678537 1.443976 1.204147 0.360088 0.209607 1.268934 1.814390 1.230253 0.384833 0.625288 0.787682 1.706820 0.104070 0.975842 1.091508 0.162798 0.719194 -0.185681 0.851344 0.004406 1.551988 0.158850 1.400167 1.727125 0.074860 0.565161 0.958867 0.364724 1.349213 1.351889 1.679509 1.314199 0.132307 1.403589 0.369532 0.648564 1.160585 -0.009001 1.392847 1.218123 -0.146011 1.322032 -0.127699 1.286444 1.741589 -0.086769 -0.151954 0.062929 1.896116 1.063027 0.005563 -0.069693 0.819283 -0.185224 0.958608 0.217640 0.593867 1.814658 0.753485 -0.046094 0.586286 0.067659 0.127457 0.558174 0.155027 1.389478 0.905687 1.516935 1.472391 0.370204 1.903438 1.085058 1.201428 0.394426 0.093638 0.098055 0.586236 0.108735 1.290199 0.287019 0.975146 1.134274 0.275315 1.391551 1.689333 1.493530 1.402264 1.275785 0.772955 0.474442 0.009426 1.766587 0.112461 0.593436 1.228805 0.896377 1.061049 0.277890 -0.013199)
+	13.529505 #(0.000000 0.609603 -0.150717 1.144620 1.885952 1.029695 -0.017328 1.023651 1.375935 1.049542 0.876959 -0.157071 0.712430 0.086142 1.092731 0.678537 1.443976 1.204147 0.360088 0.209607 1.268934 1.814390 1.230253 0.384833 0.625288 0.787682 1.706820 0.104070 0.975842 1.091508 0.162798 0.719194 -0.185681 0.851344 0.004406 1.551988 0.158850 1.400167 1.727125 0.074860 0.565161 0.958867 0.364724 1.349213 1.351889 1.679509 1.314199 0.132307 1.403589 0.369532 0.648564 1.160585 -0.009001 1.392847 1.218123 -0.146011 1.322032 -0.127699 1.286444 1.741589 -0.086769 -0.151954 0.062929 1.896116 1.063027 0.005563 -0.069693 0.819283 -0.185224 0.958608 0.217640 0.593867 1.814658 0.753485 -0.046094 0.586286 0.067659 0.127457 0.558174 0.155027 1.389478 0.905687 1.516935 1.472391 0.370204 1.903438 1.085058 1.201428 0.394426 0.093638 0.098055 0.586236 0.108735 1.290199 0.287019 0.975146 1.134274 0.275315 1.391551 1.689333 1.493530 1.402264 1.275785 0.772955 0.474442 0.009426 1.766587 0.112461 0.593436 1.228805 0.896377 1.061049 0.277890 -0.013199)
       )
 
 ;;; 115 prime --------------------------------------------------------------------------------
-(vector 115 16.774665887963 (fv 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 0 1 0)
+(vector 115 16.774665887963 #(0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 0 1 0)
 
-	14.106616 (fv 0.000000 1.570092 0.362453 1.337474 0.264875 0.921400 0.355874 1.476538 0.382397 0.690102 0.627233 1.283297 1.585161 0.461353 0.250428 0.070613 -0.478768 0.954888 0.726879 1.251951 0.417891 0.945598 0.563852 0.084589 0.533104 0.472131 1.084144 1.608792 0.044337 1.518184 0.783171 0.484129 1.900804 -0.149622 0.399475 1.517825 0.218983 1.531509 -0.230530 0.567148 1.520162 -0.082961 1.681948 0.292123 0.756368 0.448131 1.473802 1.014666 -0.012646 1.572834 1.242744 0.425093 -0.031699 0.769537 1.112143 1.298398 0.333581 1.945824 -0.101577 1.894990 1.397266 1.272345 1.210062 1.810802 0.715502 0.534600 1.359024 1.288083 -0.103335 0.078475 0.156596 1.496646 1.076856 0.312782 0.361663 1.568537 1.496774 0.979145 1.697729 0.843520 0.130906 1.341892 0.946201 1.950539 0.684184 1.344931 0.821452 1.479748 1.308019 0.296269 1.793184 0.500147 0.839533 0.057599 0.886809 0.752434 1.587024 1.203157 1.022448 0.212093 1.492893 0.209714 0.165780 1.402030 -0.307350 0.474032 1.513784 1.517441 1.459089 1.632203 1.421380 1.032369 0.154966 0.002531 0.304007)
+	14.106616 #(0.000000 1.570092 0.362453 1.337474 0.264875 0.921400 0.355874 1.476538 0.382397 0.690102 0.627233 1.283297 1.585161 0.461353 0.250428 0.070613 -0.478768 0.954888 0.726879 1.251951 0.417891 0.945598 0.563852 0.084589 0.533104 0.472131 1.084144 1.608792 0.044337 1.518184 0.783171 0.484129 1.900804 -0.149622 0.399475 1.517825 0.218983 1.531509 -0.230530 0.567148 1.520162 -0.082961 1.681948 0.292123 0.756368 0.448131 1.473802 1.014666 -0.012646 1.572834 1.242744 0.425093 -0.031699 0.769537 1.112143 1.298398 0.333581 1.945824 -0.101577 1.894990 1.397266 1.272345 1.210062 1.810802 0.715502 0.534600 1.359024 1.288083 -0.103335 0.078475 0.156596 1.496646 1.076856 0.312782 0.361663 1.568537 1.496774 0.979145 1.697729 0.843520 0.130906 1.341892 0.946201 1.950539 0.684184 1.344931 0.821452 1.479748 1.308019 0.296269 1.793184 0.500147 0.839533 0.057599 0.886809 0.752434 1.587024 1.203157 1.022448 0.212093 1.492893 0.209714 0.165780 1.402030 -0.307350 0.474032 1.513784 1.517441 1.459089 1.632203 1.421380 1.032369 0.154966 0.002531 0.304007)
 
 	;; 114+1
-	13.732359 (fv 0.000000 0.572178 -0.139025 0.983887 1.920434 1.123578 1.978353 0.968214 1.349051 1.117228 0.839675 -0.190533 0.694004 0.125250 1.107764 0.641260 1.405169 1.199788 0.276763 0.250348 1.204416 1.682914 1.257883 0.312057 0.695310 0.801198 1.682635 0.125698 0.950119 1.070718 0.245730 0.776193 -0.167540 0.949181 -0.042356 1.548062 0.106820 1.334788 1.742804 0.109905 0.567469 0.997715 0.375385 1.298162 1.314791 1.688434 1.235156 0.141282 1.427214 0.400188 0.631107 1.144708 -0.003109 1.362927 1.143332 -0.234998 1.276203 -0.143654 1.307422 1.689156 -0.014380 -0.262664 0.075462 1.880295 1.062640 0.101776 -0.026648 0.801460 -0.217311 0.971985 0.270988 0.672521 1.816202 0.778522 0.051104 0.549038 0.052885 0.201837 0.612616 0.180579 1.355932 0.900040 1.595492 1.482393 0.476525 1.886230 0.983641 1.114556 0.404677 0.048952 0.080076 0.569993 0.080539 1.262764 0.266797 0.946313 1.101489 0.203645 1.377876 1.725578 1.491484 1.434839 1.127583 0.826060 0.448266 0.008333 1.780636 0.098825 0.586600 1.122038 0.995066 1.017216 0.354291 0.057246 0.069092)
+	13.732359 #(0.000000 0.572178 -0.139025 0.983887 1.920434 1.123578 1.978353 0.968214 1.349051 1.117228 0.839675 -0.190533 0.694004 0.125250 1.107764 0.641260 1.405169 1.199788 0.276763 0.250348 1.204416 1.682914 1.257883 0.312057 0.695310 0.801198 1.682635 0.125698 0.950119 1.070718 0.245730 0.776193 -0.167540 0.949181 -0.042356 1.548062 0.106820 1.334788 1.742804 0.109905 0.567469 0.997715 0.375385 1.298162 1.314791 1.688434 1.235156 0.141282 1.427214 0.400188 0.631107 1.144708 -0.003109 1.362927 1.143332 -0.234998 1.276203 -0.143654 1.307422 1.689156 -0.014380 -0.262664 0.075462 1.880295 1.062640 0.101776 -0.026648 0.801460 -0.217311 0.971985 0.270988 0.672521 1.816202 0.778522 0.051104 0.549038 0.052885 0.201837 0.612616 0.180579 1.355932 0.900040 1.595492 1.482393 0.476525 1.886230 0.983641 1.114556 0.404677 0.048952 0.080076 0.569993 0.080539 1.262764 0.266797 0.946313 1.101489 0.203645 1.377876 1.725578 1.491484 1.434839 1.127583 0.826060 0.448266 0.008333 1.780636 0.098825 0.586600 1.122038 0.995066 1.017216 0.354291 0.057246 0.069092)
       )
 
 ;;; 116 prime --------------------------------------------------------------------------------
-(vector 116 16.812931137234 (fv 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 0)
+(vector 116 16.812931137234 #(0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 0)
 
-	14.328742 (fv 0.000000 0.856207 0.986788 0.751460 1.884184 1.255896 0.144210 1.208511 0.255866 1.782286 0.019244 0.566742 0.407768 -0.089210 1.344767 1.018853 -0.034882 0.530119 1.597864 0.501326 -0.230774 -0.097023 -0.000389 0.665472 1.635375 1.228232 1.206358 0.850292 0.888987 0.993112 0.654339 0.818974 0.003413 1.565831 0.042608 0.878547 0.321526 0.088958 0.292372 -0.331777 0.700821 0.894714 0.005944 -0.346944 0.114845 1.049758 0.798720 0.790858 0.117448 1.021841 0.389934 0.399103 0.195343 1.878118 1.577823 0.477002 0.256545 1.229924 -0.002011 0.133077 0.537008 0.396216 0.701816 0.985840 1.738910 0.328555 0.541523 0.876819 0.876185 0.445666 0.685165 1.594949 0.620581 -0.127456 0.921400 0.311110 1.793307 0.275641 1.366815 0.824915 0.239454 0.832837 1.417323 1.769240 0.980992 1.239944 1.591029 -0.051475 1.486421 1.525417 -0.025657 0.653170 1.313243 1.650610 1.580897 1.618532 0.633267 0.393928 1.496919 -0.276408 0.878277 0.281939 0.351152 0.468289 1.618075 1.571369 0.984717 1.909405 0.851519 1.720488 0.929949 1.296555 1.289941 0.911398 0.225491 0.695200)
+	14.328742 #(0.000000 0.856207 0.986788 0.751460 1.884184 1.255896 0.144210 1.208511 0.255866 1.782286 0.019244 0.566742 0.407768 -0.089210 1.344767 1.018853 -0.034882 0.530119 1.597864 0.501326 -0.230774 -0.097023 -0.000389 0.665472 1.635375 1.228232 1.206358 0.850292 0.888987 0.993112 0.654339 0.818974 0.003413 1.565831 0.042608 0.878547 0.321526 0.088958 0.292372 -0.331777 0.700821 0.894714 0.005944 -0.346944 0.114845 1.049758 0.798720 0.790858 0.117448 1.021841 0.389934 0.399103 0.195343 1.878118 1.577823 0.477002 0.256545 1.229924 -0.002011 0.133077 0.537008 0.396216 0.701816 0.985840 1.738910 0.328555 0.541523 0.876819 0.876185 0.445666 0.685165 1.594949 0.620581 -0.127456 0.921400 0.311110 1.793307 0.275641 1.366815 0.824915 0.239454 0.832837 1.417323 1.769240 0.980992 1.239944 1.591029 -0.051475 1.486421 1.525417 -0.025657 0.653170 1.313243 1.650610 1.580897 1.618532 0.633267 0.393928 1.496919 -0.276408 0.878277 0.281939 0.351152 0.468289 1.618075 1.571369 0.984717 1.909405 0.851519 1.720488 0.929949 1.296555 1.289941 0.911398 0.225491 0.695200)
 
 	;; 115+1
-	13.782751 (fv 0.000000 1.670105 0.303378 1.514771 0.060477 0.906403 0.370378 1.628880 0.301098 0.717479 0.564448 1.198544 1.701046 0.489974 0.092684 0.106689 -0.600359 0.960290 0.727113 1.181333 0.468036 0.933578 0.612714 0.102105 0.439119 0.536613 0.989488 1.668598 -0.080124 1.683573 0.654250 0.599004 1.870044 -0.069895 0.298556 1.555710 0.285805 1.565873 -0.205135 0.563645 1.519179 -0.152285 1.687696 0.402404 0.955645 0.241673 1.401865 1.046960 -0.019116 1.640885 1.197901 0.505391 0.095168 0.718441 1.181463 1.406618 0.309258 1.952979 -0.107329 1.969648 1.502137 1.090118 1.043918 1.702710 0.780485 0.583772 1.473922 1.490931 -0.163373 0.133574 0.135840 1.533071 1.015158 0.398692 0.320450 1.364722 1.538313 0.970480 1.636937 0.963390 0.136800 1.340905 1.204598 0.054477 0.486418 1.417827 0.808183 1.530254 1.191144 0.320075 1.853919 0.467453 0.809752 0.120164 0.781600 0.697424 1.379599 1.216021 0.948183 0.099657 1.566373 0.116729 -0.093843 1.319423 -0.420543 0.691568 1.660724 1.496943 1.401099 1.619305 1.446415 0.867038 0.105822 0.158044 0.282349 -0.011943)
+	13.782751 #(0.000000 1.670105 0.303378 1.514771 0.060477 0.906403 0.370378 1.628880 0.301098 0.717479 0.564448 1.198544 1.701046 0.489974 0.092684 0.106689 -0.600359 0.960290 0.727113 1.181333 0.468036 0.933578 0.612714 0.102105 0.439119 0.536613 0.989488 1.668598 -0.080124 1.683573 0.654250 0.599004 1.870044 -0.069895 0.298556 1.555710 0.285805 1.565873 -0.205135 0.563645 1.519179 -0.152285 1.687696 0.402404 0.955645 0.241673 1.401865 1.046960 -0.019116 1.640885 1.197901 0.505391 0.095168 0.718441 1.181463 1.406618 0.309258 1.952979 -0.107329 1.969648 1.502137 1.090118 1.043918 1.702710 0.780485 0.583772 1.473922 1.490931 -0.163373 0.133574 0.135840 1.533071 1.015158 0.398692 0.320450 1.364722 1.538313 0.970480 1.636937 0.963390 0.136800 1.340905 1.204598 0.054477 0.486418 1.417827 0.808183 1.530254 1.191144 0.320075 1.853919 0.467453 0.809752 0.120164 0.781600 0.697424 1.379599 1.216021 0.948183 0.099657 1.566373 0.116729 -0.093843 1.319423 -0.420543 0.691568 1.660724 1.496943 1.401099 1.619305 1.446415 0.867038 0.105822 0.158044 0.282349 -0.011943)
       )
 
 ;;; 117 prime --------------------------------------------------------------------------------
-(vector 117 17.5997 (fv 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 0 1)
+(vector 117 17.5997 #(0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 0 1)
 
-	14.497812 (fv 0.000000 0.224426 0.992019 0.138711 1.176503 1.236445 0.315077 1.906428 0.448900 0.678218 -0.088951 0.205668 0.157937 1.760779 0.121986 1.314615 1.230068 1.510274 1.468208 1.579772 0.156575 1.223695 1.547174 0.976223 0.294979 0.682844 1.254567 0.255930 0.581609 0.421918 0.606116 0.691338 0.828316 1.627063 1.800785 0.001165 -0.086581 0.763116 0.639955 0.291470 1.735899 0.422553 0.362144 1.186351 1.590842 0.426463 0.245182 0.967296 0.891425 0.519158 0.866605 1.346855 0.815662 0.075921 1.039570 1.274467 1.634408 1.602113 1.536366 0.552713 0.810604 0.673899 0.744845 0.479678 1.304967 1.905715 1.460213 0.317282 1.748084 -0.013722 -1.881692 0.174856 -0.080552 1.785033 0.698053 0.094949 0.417990 0.698446 0.985481 1.584075 1.403772 0.388703 0.009472 1.646671 1.128281 1.234472 1.443078 1.392782 1.271405 0.499301 0.604344 -0.127230 1.264738 1.785688 0.416206 1.113044 0.215095 1.469439 0.236533 0.117496 0.271632 1.034059 1.537681 0.722701 1.631698 0.103905 0.435634 0.027785 0.196356 1.018099 1.623844 0.142536 1.403226 -0.013797 0.598011 1.913682 0.626571)
+	14.497812 #(0.000000 0.224426 0.992019 0.138711 1.176503 1.236445 0.315077 1.906428 0.448900 0.678218 -0.088951 0.205668 0.157937 1.760779 0.121986 1.314615 1.230068 1.510274 1.468208 1.579772 0.156575 1.223695 1.547174 0.976223 0.294979 0.682844 1.254567 0.255930 0.581609 0.421918 0.606116 0.691338 0.828316 1.627063 1.800785 0.001165 -0.086581 0.763116 0.639955 0.291470 1.735899 0.422553 0.362144 1.186351 1.590842 0.426463 0.245182 0.967296 0.891425 0.519158 0.866605 1.346855 0.815662 0.075921 1.039570 1.274467 1.634408 1.602113 1.536366 0.552713 0.810604 0.673899 0.744845 0.479678 1.304967 1.905715 1.460213 0.317282 1.748084 -0.013722 -1.881692 0.174856 -0.080552 1.785033 0.698053 0.094949 0.417990 0.698446 0.985481 1.584075 1.403772 0.388703 0.009472 1.646671 1.128281 1.234472 1.443078 1.392782 1.271405 0.499301 0.604344 -0.127230 1.264738 1.785688 0.416206 1.113044 0.215095 1.469439 0.236533 0.117496 0.271632 1.034059 1.537681 0.722701 1.631698 0.103905 0.435634 0.027785 0.196356 1.018099 1.623844 0.142536 1.403226 -0.013797 0.598011 1.913682 0.626571)
 
 	;; 116 + 1
-	13.889211 (fv 0.000000 1.679442 0.299199 1.367111 0.052770 0.927297 0.328215 1.615881 0.302404 0.707696 0.516039 1.151316 1.673258 0.534217 0.190986 0.074151 -0.598397 0.913919 0.765928 1.260413 0.423264 1.023745 0.609735 0.153506 0.453539 0.468256 1.018228 1.788765 -0.068307 1.692855 0.624116 0.609141 1.910624 -0.022395 0.256365 1.514074 0.233219 1.516754 -0.154609 0.590788 1.514050 -0.043651 1.742187 0.341087 0.951970 0.371363 1.447587 1.079612 0.057107 1.623815 1.214707 0.567773 0.057804 0.791128 1.221209 1.383201 0.340554 -0.013292 -0.005609 1.947264 1.370803 1.062963 1.024336 1.739421 0.767066 0.671699 1.426918 1.511148 -0.149781 0.104225 0.061945 1.535119 0.940075 0.392689 0.259023 1.411809 1.598917 0.941897 1.683270 0.884953 0.108874 1.319701 1.100749 -0.050961 0.639728 1.429813 0.861586 1.511163 1.232212 0.240917 1.860927 0.406637 0.844627 0.125914 0.873615 0.651653 1.385473 1.135755 0.994702 0.030143 1.590457 0.161005 0.055154 1.334956 -0.459106 0.663912 1.678280 1.514956 1.365867 1.519273 1.441132 0.891112 0.176832 0.115181 0.351957 -0.175561 0.176948)
+	13.889211 #(0.000000 1.679442 0.299199 1.367111 0.052770 0.927297 0.328215 1.615881 0.302404 0.707696 0.516039 1.151316 1.673258 0.534217 0.190986 0.074151 -0.598397 0.913919 0.765928 1.260413 0.423264 1.023745 0.609735 0.153506 0.453539 0.468256 1.018228 1.788765 -0.068307 1.692855 0.624116 0.609141 1.910624 -0.022395 0.256365 1.514074 0.233219 1.516754 -0.154609 0.590788 1.514050 -0.043651 1.742187 0.341087 0.951970 0.371363 1.447587 1.079612 0.057107 1.623815 1.214707 0.567773 0.057804 0.791128 1.221209 1.383201 0.340554 -0.013292 -0.005609 1.947264 1.370803 1.062963 1.024336 1.739421 0.767066 0.671699 1.426918 1.511148 -0.149781 0.104225 0.061945 1.535119 0.940075 0.392689 0.259023 1.411809 1.598917 0.941897 1.683270 0.884953 0.108874 1.319701 1.100749 -0.050961 0.639728 1.429813 0.861586 1.511163 1.232212 0.240917 1.860927 0.406637 0.844627 0.125914 0.873615 0.651653 1.385473 1.135755 0.994702 0.030143 1.590457 0.161005 0.055154 1.334956 -0.459106 0.663912 1.678280 1.514956 1.365867 1.519273 1.441132 0.891112 0.176832 0.115181 0.351957 -0.175561 0.176948)
       )
 
 ;;; 118 prime --------------------------------------------------------------------------------
-(vector 118 17.181785583496 (fv 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0)
+(vector 118 17.181785583496 #(0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0)
 
-	14.497443 (fv 0.000000 1.591354 0.741888 1.722967 -0.237709 0.685421 0.503550 1.254854 0.808656 0.911251 0.050157 0.861734 0.314280 1.341176 0.379991 0.875641 1.466708 0.300573 0.954767 1.385324 0.125132 0.348374 0.577011 1.655837 0.564307 0.582376 1.167510 0.907420 0.444532 0.218679 1.737312 0.252903 0.411946 1.083113 -0.185163 0.978023 -0.109963 1.511202 0.503851 1.662809 0.033875 0.523452 0.521481 0.883976 -0.357599 0.187161 0.880047 1.490736 0.844255 0.801313 0.683070 1.279258 1.624126 0.834042 1.570571 1.331665 0.812207 0.082063 -0.178779 0.727851 0.635760 0.472598 0.529740 1.710166 0.757477 0.262267 0.672628 0.403198 0.034164 -0.022037 0.130101 1.350219 1.105735 1.695932 0.323683 1.252068 0.744970 1.161905 1.322245 0.994864 0.697837 1.637816 0.396302 1.702348 -0.270747 -0.077800 0.225947 1.713037 1.228521 1.665048 1.679022 1.393803 0.704244 0.296414 -0.016270 0.947613 1.856633 1.384283 0.527416 0.984409 1.396798 0.351021 0.292270 0.549569 1.663499 0.778229 0.016680 1.156232 0.122381 0.159439 0.648535 0.193057 0.084166 -0.213455 0.477204 0.673154 0.992874 0.783540)
+	14.497443 #(0.000000 1.591354 0.741888 1.722967 -0.237709 0.685421 0.503550 1.254854 0.808656 0.911251 0.050157 0.861734 0.314280 1.341176 0.379991 0.875641 1.466708 0.300573 0.954767 1.385324 0.125132 0.348374 0.577011 1.655837 0.564307 0.582376 1.167510 0.907420 0.444532 0.218679 1.737312 0.252903 0.411946 1.083113 -0.185163 0.978023 -0.109963 1.511202 0.503851 1.662809 0.033875 0.523452 0.521481 0.883976 -0.357599 0.187161 0.880047 1.490736 0.844255 0.801313 0.683070 1.279258 1.624126 0.834042 1.570571 1.331665 0.812207 0.082063 -0.178779 0.727851 0.635760 0.472598 0.529740 1.710166 0.757477 0.262267 0.672628 0.403198 0.034164 -0.022037 0.130101 1.350219 1.105735 1.695932 0.323683 1.252068 0.744970 1.161905 1.322245 0.994864 0.697837 1.637816 0.396302 1.702348 -0.270747 -0.077800 0.225947 1.713037 1.228521 1.665048 1.679022 1.393803 0.704244 0.296414 -0.016270 0.947613 1.856633 1.384283 0.527416 0.984409 1.396798 0.351021 0.292270 0.549569 1.663499 0.778229 0.016680 1.156232 0.122381 0.159439 0.648535 0.193057 0.084166 -0.213455 0.477204 0.673154 0.992874 0.783540)
 
 	;; 117+1
-	13.955663 (fv 0.000000 1.656893 0.312860 1.406022 0.045609 0.940726 0.323204 1.558622 0.313593 0.699110 0.536076 1.119751 1.657613 0.469730 0.215020 0.137907 -0.614064 0.902352 0.821797 1.171991 0.441310 1.059221 0.661850 0.277594 0.394536 0.546400 0.968850 1.793240 -0.073575 1.622506 0.677941 0.641837 1.952355 -0.044282 0.215122 1.490798 0.302768 1.506837 -0.235108 0.508030 1.520891 -0.097109 1.755394 0.256002 1.007243 0.327520 1.464098 1.079175 0.017892 1.590910 1.290254 0.601225 -0.032662 0.654468 1.229419 1.312262 0.353655 -0.032649 0.034883 1.896617 1.433210 1.047605 1.126390 1.674282 0.764405 0.618210 1.508232 1.671380 -0.173491 0.106521 0.149565 1.507742 0.949278 0.443666 0.317362 1.314645 1.634673 0.873102 1.588608 0.915021 0.172843 1.351037 1.151673 -0.042685 0.619993 1.550214 0.823729 1.429222 1.211772 0.248747 1.864022 0.374155 0.849134 0.123908 0.792603 0.736151 1.435290 1.198233 1.078587 0.058874 1.626102 0.122469 0.017624 1.330950 -0.499655 0.706598 1.629594 1.438050 1.370171 1.549897 1.430173 0.915025 0.119087 0.070759 0.413439 -0.125417 0.236481 -0.031842)
+	13.955663 #(0.000000 1.656893 0.312860 1.406022 0.045609 0.940726 0.323204 1.558622 0.313593 0.699110 0.536076 1.119751 1.657613 0.469730 0.215020 0.137907 -0.614064 0.902352 0.821797 1.171991 0.441310 1.059221 0.661850 0.277594 0.394536 0.546400 0.968850 1.793240 -0.073575 1.622506 0.677941 0.641837 1.952355 -0.044282 0.215122 1.490798 0.302768 1.506837 -0.235108 0.508030 1.520891 -0.097109 1.755394 0.256002 1.007243 0.327520 1.464098 1.079175 0.017892 1.590910 1.290254 0.601225 -0.032662 0.654468 1.229419 1.312262 0.353655 -0.032649 0.034883 1.896617 1.433210 1.047605 1.126390 1.674282 0.764405 0.618210 1.508232 1.671380 -0.173491 0.106521 0.149565 1.507742 0.949278 0.443666 0.317362 1.314645 1.634673 0.873102 1.588608 0.915021 0.172843 1.351037 1.151673 -0.042685 0.619993 1.550214 0.823729 1.429222 1.211772 0.248747 1.864022 0.374155 0.849134 0.123908 0.792603 0.736151 1.435290 1.198233 1.078587 0.058874 1.626102 0.122469 0.017624 1.330950 -0.499655 0.706598 1.629594 1.438050 1.370171 1.549897 1.430173 0.915025 0.119087 0.070759 0.413439 -0.125417 0.236481 -0.031842)
       )
 
 ;;; 119 prime --------------------------------------------------------------------------------
-(vector 119 17.167841346875 (fv 0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1)
+(vector 119 17.167841346875 #(0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1)
 
-      14.390682 (fv 0.000000 1.375664 1.071878 1.242281 0.449872 0.997239 0.326902 1.844870 0.041292 1.299611 1.550408 0.729190 0.953350 0.209856 0.257680 0.853205 0.858641 1.807278 0.814295 0.490323 1.317949 0.220101 1.124178 0.689692 0.845713 1.610142 0.807190 0.053107 0.167263 1.261235 1.535767 1.158168 0.246566 1.099513 1.210170 1.481156 0.887639 1.096230 0.144442 0.446125 0.627726 -0.213400 0.869947 0.988021 1.647446 0.493250 1.672678 1.658411 -0.130924 1.196700 0.900590 0.905506 1.144054 1.144682 1.583644 1.532418 1.405419 1.861571 1.337158 1.938890 1.060547 0.949400 1.139259 1.324089 1.811791 1.700889 0.580433 -0.043873 0.685223 0.393731 1.345217 0.593893 0.307423 0.675865 1.845148 0.894101 0.377727 1.240396 0.150868 0.234381 0.772691 0.408668 1.155960 1.889975 0.784676 1.158424 1.614216 1.924591 0.178912 0.577105 0.980476 1.603643 0.495073 -0.104468 1.507041 0.927685 1.105445 1.078554 0.022413 0.000361 0.338859 1.519222 0.863311 0.615320 0.570559 1.762687 0.669024 0.026456 1.421100 1.955221 0.629611 -0.125129 1.900181 -0.021163 -0.020189 1.567842 0.924421 1.826999 0.630355)
+      14.390682 #(0.000000 1.375664 1.071878 1.242281 0.449872 0.997239 0.326902 1.844870 0.041292 1.299611 1.550408 0.729190 0.953350 0.209856 0.257680 0.853205 0.858641 1.807278 0.814295 0.490323 1.317949 0.220101 1.124178 0.689692 0.845713 1.610142 0.807190 0.053107 0.167263 1.261235 1.535767 1.158168 0.246566 1.099513 1.210170 1.481156 0.887639 1.096230 0.144442 0.446125 0.627726 -0.213400 0.869947 0.988021 1.647446 0.493250 1.672678 1.658411 -0.130924 1.196700 0.900590 0.905506 1.144054 1.144682 1.583644 1.532418 1.405419 1.861571 1.337158 1.938890 1.060547 0.949400 1.139259 1.324089 1.811791 1.700889 0.580433 -0.043873 0.685223 0.393731 1.345217 0.593893 0.307423 0.675865 1.845148 0.894101 0.377727 1.240396 0.150868 0.234381 0.772691 0.408668 1.155960 1.889975 0.784676 1.158424 1.614216 1.924591 0.178912 0.577105 0.980476 1.603643 0.495073 -0.104468 1.507041 0.927685 1.105445 1.078554 0.022413 0.000361 0.338859 1.519222 0.863311 0.615320 0.570559 1.762687 0.669024 0.026456 1.421100 1.955221 0.629611 -0.125129 1.900181 -0.021163 -0.020189 1.567842 0.924421 1.826999 0.630355)
 
       ;; 118+1
-      14.018618 (fv 0.000000 1.667367 0.322872 1.356274 0.058995 0.960979 0.391067 1.596203 0.294396 0.668831 0.482386 1.201983 1.684789 0.511518 0.202150 0.119421 -0.566103 0.969879 0.710276 1.185777 0.439002 1.081943 0.730732 0.236637 0.526675 0.480731 1.028367 1.739731 -0.138846 1.593254 0.713861 0.553938 1.957692 0.049573 0.238503 1.491899 0.251089 1.428730 -0.126673 0.452175 1.482756 -0.053077 1.780248 0.323594 0.960159 0.318559 1.403830 1.045323 0.072970 1.671965 1.340192 0.627012 0.093313 0.726626 1.260031 1.369364 0.271099 0.039064 -0.011301 1.960494 1.463622 1.056374 1.121811 1.627859 0.817517 0.663209 1.409881 1.612732 -0.152806 0.038886 0.274896 1.521348 0.915556 0.404329 0.221685 1.199737 1.694611 0.915335 1.572323 0.961485 0.112089 1.311173 1.127868 -0.177640 0.609597 1.415894 0.807680 1.506084 1.239635 0.162405 1.866700 0.317949 0.857946 0.112683 0.879435 0.694750 1.339170 1.270491 1.111213 0.092592 1.497893 0.151420 0.069449 1.319832 -0.496262 0.680555 1.680836 1.536147 1.322680 1.555058 1.410956 0.888418 0.228998 0.018175 0.403145 -0.128572 0.219741 -0.075154 -0.155224)
+      14.018618 #(0.000000 1.667367 0.322872 1.356274 0.058995 0.960979 0.391067 1.596203 0.294396 0.668831 0.482386 1.201983 1.684789 0.511518 0.202150 0.119421 -0.566103 0.969879 0.710276 1.185777 0.439002 1.081943 0.730732 0.236637 0.526675 0.480731 1.028367 1.739731 -0.138846 1.593254 0.713861 0.553938 1.957692 0.049573 0.238503 1.491899 0.251089 1.428730 -0.126673 0.452175 1.482756 -0.053077 1.780248 0.323594 0.960159 0.318559 1.403830 1.045323 0.072970 1.671965 1.340192 0.627012 0.093313 0.726626 1.260031 1.369364 0.271099 0.039064 -0.011301 1.960494 1.463622 1.056374 1.121811 1.627859 0.817517 0.663209 1.409881 1.612732 -0.152806 0.038886 0.274896 1.521348 0.915556 0.404329 0.221685 1.199737 1.694611 0.915335 1.572323 0.961485 0.112089 1.311173 1.127868 -0.177640 0.609597 1.415894 0.807680 1.506084 1.239635 0.162405 1.866700 0.317949 0.857946 0.112683 0.879435 0.694750 1.339170 1.270491 1.111213 0.092592 1.497893 0.151420 0.069449 1.319832 -0.496262 0.680555 1.680836 1.536147 1.322680 1.555058 1.410956 0.888418 0.228998 0.018175 0.403145 -0.128572 0.219741 -0.075154 -0.155224)
       )
 
 ;;; 120 prime --------------------------------------------------------------------------------
-(vector 120 17.067 (fv 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0)
+(vector 120 17.067 #(0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0)
 
-	14.458666 (fv 0.000000 1.293108 0.698019 1.317447 0.029496 0.078825 1.245576 0.933427 0.917420 1.172126 0.357395 1.156156 0.879865 0.129592 1.181392 0.882110 0.690853 1.687107 0.025873 0.234607 1.243328 0.528035 0.272217 0.646247 0.920540 -0.212257 1.217024 1.877596 1.938817 0.737497 0.901785 1.059044 1.128268 0.954000 0.339889 0.097863 -0.055556 1.539115 0.342970 1.531145 0.894486 1.025619 0.519579 0.900743 0.956748 -0.133937 0.256714 0.139176 0.495069 1.185608 1.684763 0.822374 0.580038 0.873037 1.366028 1.356196 1.900731 0.458911 0.428437 1.433784 -0.025135 1.471236 0.210352 1.314750 0.475084 0.493167 0.205827 0.317580 1.227052 1.530659 1.302191 0.347571 0.409940 0.502737 1.688087 1.230409 1.337757 1.342952 1.903513 0.955786 -0.215055 0.487009 1.948923 1.411678 0.225274 0.421106 0.203875 0.568136 0.977570 1.560054 1.164692 1.211841 0.037236 1.165323 0.284280 0.274360 0.776762 0.207157 -0.008462 -0.022949 0.633618 1.519303 0.349119 1.348337 0.561608 1.136896 0.486384 1.690665 0.939858 1.037942 0.628883 1.115783 0.551269 0.261357 0.835768 0.754522 0.995311 0.736018 1.536035 -0.082119)
+	14.458666 #(0.000000 1.293108 0.698019 1.317447 0.029496 0.078825 1.245576 0.933427 0.917420 1.172126 0.357395 1.156156 0.879865 0.129592 1.181392 0.882110 0.690853 1.687107 0.025873 0.234607 1.243328 0.528035 0.272217 0.646247 0.920540 -0.212257 1.217024 1.877596 1.938817 0.737497 0.901785 1.059044 1.128268 0.954000 0.339889 0.097863 -0.055556 1.539115 0.342970 1.531145 0.894486 1.025619 0.519579 0.900743 0.956748 -0.133937 0.256714 0.139176 0.495069 1.185608 1.684763 0.822374 0.580038 0.873037 1.366028 1.356196 1.900731 0.458911 0.428437 1.433784 -0.025135 1.471236 0.210352 1.314750 0.475084 0.493167 0.205827 0.317580 1.227052 1.530659 1.302191 0.347571 0.409940 0.502737 1.688087 1.230409 1.337757 1.342952 1.903513 0.955786 -0.215055 0.487009 1.948923 1.411678 0.225274 0.421106 0.203875 0.568136 0.977570 1.560054 1.164692 1.211841 0.037236 1.165323 0.284280 0.274360 0.776762 0.207157 -0.008462 -0.022949 0.633618 1.519303 0.349119 1.348337 0.561608 1.136896 0.486384 1.690665 0.939858 1.037942 0.628883 1.115783 0.551269 0.261357 0.835768 0.754522 0.995311 0.736018 1.536035 -0.082119)
 	
 	;; 119+1
-	14.042466 (fv 0.000000 1.695702 0.296711 1.338908 -0.078265 1.044647 0.445401 1.570773 0.356080 0.726875 0.562835 1.121698 1.696368 0.511401 0.207025 0.089500 -0.565140 0.942644 0.652808 1.167682 0.412919 0.987661 0.705879 0.198820 0.440865 0.512441 1.083421 1.751114 -0.069762 1.661970 0.763824 0.509555 1.981466 0.038582 0.269865 1.492095 0.267412 1.351405 -0.147933 0.429115 1.485596 -0.131353 1.737203 0.373649 0.934842 0.295981 1.401570 1.025505 0.159868 1.751013 1.267064 0.606930 0.033477 0.655345 1.307003 1.298431 0.292781 -0.055933 0.016301 1.947579 1.426247 1.012103 1.014686 1.610683 0.794183 0.636102 1.398468 1.630487 -0.106933 0.019245 0.234173 1.454561 0.871538 0.489427 0.182807 1.191314 1.653186 0.812730 1.596587 0.968349 0.144419 1.254337 1.168160 -0.201543 0.642098 1.430541 0.891933 1.544951 1.231299 0.070309 1.961946 0.325740 0.895972 0.097452 0.983847 0.726652 1.390398 1.237569 1.108864 0.162933 1.463000 0.108857 0.104118 1.340850 -0.457424 0.750886 1.757915 1.530952 1.370214 1.508778 1.434766 0.846018 0.114800 0.004043 0.307829 -0.143116 0.279204 -0.090078 -0.107619 0.067028)
+	14.042466 #(0.000000 1.695702 0.296711 1.338908 -0.078265 1.044647 0.445401 1.570773 0.356080 0.726875 0.562835 1.121698 1.696368 0.511401 0.207025 0.089500 -0.565140 0.942644 0.652808 1.167682 0.412919 0.987661 0.705879 0.198820 0.440865 0.512441 1.083421 1.751114 -0.069762 1.661970 0.763824 0.509555 1.981466 0.038582 0.269865 1.492095 0.267412 1.351405 -0.147933 0.429115 1.485596 -0.131353 1.737203 0.373649 0.934842 0.295981 1.401570 1.025505 0.159868 1.751013 1.267064 0.606930 0.033477 0.655345 1.307003 1.298431 0.292781 -0.055933 0.016301 1.947579 1.426247 1.012103 1.014686 1.610683 0.794183 0.636102 1.398468 1.630487 -0.106933 0.019245 0.234173 1.454561 0.871538 0.489427 0.182807 1.191314 1.653186 0.812730 1.596587 0.968349 0.144419 1.254337 1.168160 -0.201543 0.642098 1.430541 0.891933 1.544951 1.231299 0.070309 1.961946 0.325740 0.895972 0.097452 0.983847 0.726652 1.390398 1.237569 1.108864 0.162933 1.463000 0.108857 0.104118 1.340850 -0.457424 0.750886 1.757915 1.530952 1.370214 1.508778 1.434766 0.846018 0.114800 0.004043 0.307829 -0.143116 0.279204 -0.090078 -0.107619 0.067028)
       )
 
 ;;; 121 prime --------------------------------------------------------------------------------
-(vector 121 17.782977183017 (fv 0 0 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0)
+(vector 121 17.782977183017 #(0 0 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0)
 
-      14.145310 (fv 0.000000 -0.025891 1.793636 0.033424 0.540007 1.698366 1.937124 -0.609559 0.386368 0.372251 1.167122 0.009884 1.449702 0.151646 0.129257 0.221923 0.286263 0.194141 1.256596 -0.022208 0.587239 1.364223 1.036771 0.840539 0.300738 0.487086 1.849878 -0.356013 -0.244608 -0.042719 1.244769 1.401449 0.301842 1.027056 1.091793 0.623370 1.184562 0.517907 0.649838 0.331082 0.619154 1.467356 0.525086 0.836576 0.132708 0.186394 1.646954 1.207107 -0.124102 1.434383 0.438192 1.403615 1.086842 1.456374 0.098749 0.654033 1.469902 -0.092397 0.999549 0.914715 1.334656 0.842194 0.762721 1.400578 1.518574 1.628966 0.557815 0.576931 -0.575198 0.632751 1.009717 1.185394 -0.060402 1.274789 1.032399 -0.216393 1.814193 1.597562 0.558478 0.044897 1.319287 0.285577 -0.020660 1.082584 0.821657 1.849151 0.241943 0.297525 1.569624 1.593287 0.604518 1.347238 0.159734 0.361474 0.136103 1.298636 0.140131 1.192829 1.398339 0.674275 0.995843 0.943454 0.693721 0.589259 1.642401 1.051611 -0.266130 0.115428 0.439245 0.514540 1.691776 1.063362 0.306592 0.883309 1.563638 -0.186910 0.971866 0.448146 0.177042 1.080065 0.466207)
+      14.145310 #(0.000000 -0.025891 1.793636 0.033424 0.540007 1.698366 1.937124 -0.609559 0.386368 0.372251 1.167122 0.009884 1.449702 0.151646 0.129257 0.221923 0.286263 0.194141 1.256596 -0.022208 0.587239 1.364223 1.036771 0.840539 0.300738 0.487086 1.849878 -0.356013 -0.244608 -0.042719 1.244769 1.401449 0.301842 1.027056 1.091793 0.623370 1.184562 0.517907 0.649838 0.331082 0.619154 1.467356 0.525086 0.836576 0.132708 0.186394 1.646954 1.207107 -0.124102 1.434383 0.438192 1.403615 1.086842 1.456374 0.098749 0.654033 1.469902 -0.092397 0.999549 0.914715 1.334656 0.842194 0.762721 1.400578 1.518574 1.628966 0.557815 0.576931 -0.575198 0.632751 1.009717 1.185394 -0.060402 1.274789 1.032399 -0.216393 1.814193 1.597562 0.558478 0.044897 1.319287 0.285577 -0.020660 1.082584 0.821657 1.849151 0.241943 0.297525 1.569624 1.593287 0.604518 1.347238 0.159734 0.361474 0.136103 1.298636 0.140131 1.192829 1.398339 0.674275 0.995843 0.943454 0.693721 0.589259 1.642401 1.051611 -0.266130 0.115428 0.439245 0.514540 1.691776 1.063362 0.306592 0.883309 1.563638 -0.186910 0.971866 0.448146 0.177042 1.080065 0.466207)
       )
 
 ;;; 122 prime --------------------------------------------------------------------------------
-(vector 122 17.876078447724 (fv 0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1)
+(vector 122 17.876078447724 #(0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1)
 
-	14.809716 (fv 0.000000 0.670494 1.886159 1.577487 1.777777 0.820522 0.567040 1.808673 1.691383 1.749354 0.999669 0.365962 -0.283305 1.315547 1.858625 0.083801 0.099076 1.593409 0.962399 0.938500 1.204685 1.174037 0.436114 0.616669 1.449802 0.424694 -0.043743 0.290754 0.536765 1.858591 1.302286 0.144562 1.898540 1.713336 0.304273 0.606056 -0.343580 1.320384 1.725243 1.070484 1.043894 1.041218 1.783423 1.623935 -0.119894 0.812509 0.330462 0.830339 1.651746 1.473863 0.826929 0.035844 0.962490 1.154392 0.108692 0.207697 -0.125372 0.785657 0.181654 0.507958 -0.099870 0.817795 0.576379 1.616959 1.203159 1.408060 0.803943 1.042280 0.347552 1.737313 1.151753 0.038129 1.376834 1.472899 0.308707 -0.055847 1.688664 1.527458 1.503192 0.428260 1.398802 0.697613 0.797253 1.257898 1.721624 0.405578 1.003490 0.227680 1.041522 0.134919 1.342074 1.464937 0.605066 -0.038087 1.389658 0.040933 0.121007 0.729584 0.212582 0.373515 1.668140 -0.235335 0.732650 0.289389 1.049347 -0.077662 0.429686 0.147005 1.585407 1.353860 1.815248 1.314972 0.285783 1.787337 1.040122 0.959573 1.461408 0.006176 1.591906 -0.004243 1.203878 1.856838)
+	14.809716 #(0.000000 0.670494 1.886159 1.577487 1.777777 0.820522 0.567040 1.808673 1.691383 1.749354 0.999669 0.365962 -0.283305 1.315547 1.858625 0.083801 0.099076 1.593409 0.962399 0.938500 1.204685 1.174037 0.436114 0.616669 1.449802 0.424694 -0.043743 0.290754 0.536765 1.858591 1.302286 0.144562 1.898540 1.713336 0.304273 0.606056 -0.343580 1.320384 1.725243 1.070484 1.043894 1.041218 1.783423 1.623935 -0.119894 0.812509 0.330462 0.830339 1.651746 1.473863 0.826929 0.035844 0.962490 1.154392 0.108692 0.207697 -0.125372 0.785657 0.181654 0.507958 -0.099870 0.817795 0.576379 1.616959 1.203159 1.408060 0.803943 1.042280 0.347552 1.737313 1.151753 0.038129 1.376834 1.472899 0.308707 -0.055847 1.688664 1.527458 1.503192 0.428260 1.398802 0.697613 0.797253 1.257898 1.721624 0.405578 1.003490 0.227680 1.041522 0.134919 1.342074 1.464937 0.605066 -0.038087 1.389658 0.040933 0.121007 0.729584 0.212582 0.373515 1.668140 -0.235335 0.732650 0.289389 1.049347 -0.077662 0.429686 0.147005 1.585407 1.353860 1.815248 1.314972 0.285783 1.787337 1.040122 0.959573 1.461408 0.006176 1.591906 -0.004243 1.203878 1.856838)
 
 	;; from 121+1
-	14.077769 (fv 0.000000 -0.102882 1.749236 -0.004117 0.483853 1.765874 1.938255 -0.600392 0.405831 0.339694 1.084448 1.949979 1.449950 0.179825 0.196465 0.250508 0.230057 0.267538 1.186702 -0.013547 0.609348 1.275263 1.002412 0.929479 0.351264 0.550827 1.866085 -0.207369 -0.221459 -0.043981 1.181650 1.372732 0.322165 0.950666 1.016902 0.608561 1.206924 0.503654 0.566235 0.334378 0.545128 1.400875 0.599963 0.865496 0.228459 0.195440 1.563459 1.162224 -0.092823 1.463200 0.340144 1.432985 0.949791 1.498279 0.068471 0.623276 1.392543 -0.178909 0.913012 0.880422 1.353490 0.813253 0.747974 1.430440 1.480413 1.631261 0.640181 0.621156 -0.581884 0.645199 1.046241 1.177765 0.048757 1.254481 1.019786 -0.266200 1.761071 1.575419 0.546658 -0.000712 1.213661 0.352510 -0.036380 1.089333 0.735910 1.940744 0.321816 0.327061 1.683870 1.638125 0.601090 1.278317 0.270163 0.360522 0.023473 1.250704 0.243204 1.199993 1.329172 0.588810 0.966119 0.939463 0.761317 0.553614 1.599868 1.062777 -0.228048 0.241966 0.388550 0.647592 1.729999 1.118550 0.325131 0.887699 1.516026 -0.170170 1.006043 0.421332 0.259983 1.062250 0.497913 0.166635)
+	14.077769 #(0.000000 -0.102882 1.749236 -0.004117 0.483853 1.765874 1.938255 -0.600392 0.405831 0.339694 1.084448 1.949979 1.449950 0.179825 0.196465 0.250508 0.230057 0.267538 1.186702 -0.013547 0.609348 1.275263 1.002412 0.929479 0.351264 0.550827 1.866085 -0.207369 -0.221459 -0.043981 1.181650 1.372732 0.322165 0.950666 1.016902 0.608561 1.206924 0.503654 0.566235 0.334378 0.545128 1.400875 0.599963 0.865496 0.228459 0.195440 1.563459 1.162224 -0.092823 1.463200 0.340144 1.432985 0.949791 1.498279 0.068471 0.623276 1.392543 -0.178909 0.913012 0.880422 1.353490 0.813253 0.747974 1.430440 1.480413 1.631261 0.640181 0.621156 -0.581884 0.645199 1.046241 1.177765 0.048757 1.254481 1.019786 -0.266200 1.761071 1.575419 0.546658 -0.000712 1.213661 0.352510 -0.036380 1.089333 0.735910 1.940744 0.321816 0.327061 1.683870 1.638125 0.601090 1.278317 0.270163 0.360522 0.023473 1.250704 0.243204 1.199993 1.329172 0.588810 0.966119 0.939463 0.761317 0.553614 1.599868 1.062777 -0.228048 0.241966 0.388550 0.647592 1.729999 1.118550 0.325131 0.887699 1.516026 -0.170170 1.006043 0.421332 0.259983 1.062250 0.497913 0.166635)
       )
 
 ;;; 123 prime --------------------------------------------------------------------------------
-(vector 123 17.273 (fv 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0)
+(vector 123 17.273 #(0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0)
 
-      14.606318 (fv 0.000000 0.018375 0.589471 0.983384 0.991984 0.372395 -0.040275 0.299423 1.756771 0.367581 1.925315 0.431987 -0.091930 1.365768 0.790238 1.730935 1.453895 0.945086 0.541022 0.665855 -0.133333 1.898784 1.614955 0.125913 -0.075642 1.042483 1.409785 1.598074 0.355453 1.697472 1.704234 0.447761 0.702787 1.037349 1.268895 1.641450 0.389018 0.691038 0.964549 0.799007 -0.028923 0.682141 1.218121 0.346438 0.248506 0.187480 1.166792 0.799601 1.529262 1.053370 1.663430 1.815223 1.438810 1.297963 0.281072 0.228128 0.996820 1.126305 0.635366 1.152238 1.612305 0.687034 0.492102 0.223406 1.290673 0.404319 0.673144 1.585101 1.003033 0.671106 0.630415 0.262596 -0.092794 0.970586 -0.143151 1.120737 0.513895 1.346570 0.209142 0.468700 0.483816 0.465304 -0.188333 0.812984 1.400518 1.773921 1.423889 0.414054 -0.317948 0.988906 0.349734 -0.120165 0.609604 -0.196752 0.649574 0.752742 0.402866 1.001890 0.667657 -0.097642 -0.022329 0.780061 0.422052 0.637506 0.933615 0.491032 1.329969 0.891484 0.826863 0.432342 1.071482 1.483913 0.545228 0.886707 1.473772 1.459843 1.911936 0.601733 -0.070730 1.820410 1.529051 0.044995 0.589246)
+      14.606318 #(0.000000 0.018375 0.589471 0.983384 0.991984 0.372395 -0.040275 0.299423 1.756771 0.367581 1.925315 0.431987 -0.091930 1.365768 0.790238 1.730935 1.453895 0.945086 0.541022 0.665855 -0.133333 1.898784 1.614955 0.125913 -0.075642 1.042483 1.409785 1.598074 0.355453 1.697472 1.704234 0.447761 0.702787 1.037349 1.268895 1.641450 0.389018 0.691038 0.964549 0.799007 -0.028923 0.682141 1.218121 0.346438 0.248506 0.187480 1.166792 0.799601 1.529262 1.053370 1.663430 1.815223 1.438810 1.297963 0.281072 0.228128 0.996820 1.126305 0.635366 1.152238 1.612305 0.687034 0.492102 0.223406 1.290673 0.404319 0.673144 1.585101 1.003033 0.671106 0.630415 0.262596 -0.092794 0.970586 -0.143151 1.120737 0.513895 1.346570 0.209142 0.468700 0.483816 0.465304 -0.188333 0.812984 1.400518 1.773921 1.423889 0.414054 -0.317948 0.988906 0.349734 -0.120165 0.609604 -0.196752 0.649574 0.752742 0.402866 1.001890 0.667657 -0.097642 -0.022329 0.780061 0.422052 0.637506 0.933615 0.491032 1.329969 0.891484 0.826863 0.432342 1.071482 1.483913 0.545228 0.886707 1.473772 1.459843 1.911936 0.601733 -0.070730 1.820410 1.529051 0.044995 0.589246)
 
       ;; 122+1
-      14.218431 (fv 0.000000 -0.071277 1.809148 -0.020616 0.407111 1.755823 1.904945 -0.715971 0.341233 0.449964 1.085208 0.031030 1.532200 0.268807 0.148267 0.268084 0.272209 0.202242 1.223891 -0.064002 0.629461 1.331632 1.050525 0.887285 0.370000 0.565442 1.910419 -0.226719 -0.262129 -0.049320 1.111879 1.377442 0.321129 0.921437 0.982936 0.703155 1.229920 0.446816 0.492798 0.314076 0.541522 1.414758 0.522185 0.801174 0.218712 0.168371 1.631951 1.208384 -0.085808 1.408101 0.423643 1.324899 0.982011 1.466628 0.095538 0.635570 1.314596 -0.072617 1.020892 0.911989 1.330565 0.770391 0.725410 1.510974 1.479974 1.759621 0.639552 0.614948 -0.510015 0.641435 0.965296 1.113277 0.074254 1.206499 1.003706 -0.366482 1.772703 1.570225 0.592942 0.091270 1.226107 0.311704 0.007633 0.964361 0.718780 1.974845 0.242071 0.343141 1.709800 1.693786 0.483738 1.265900 0.338851 0.340533 0.047929 1.263159 0.240281 1.186223 1.427920 0.613439 0.969107 0.960914 0.712662 0.596951 1.686986 1.021249 -0.262802 0.214377 0.402786 0.561682 1.740484 1.058116 0.341115 0.933358 1.469760 -0.231395 1.023135 0.404403 0.200269 1.060708 0.484072 0.072981 0.045518)
+      14.218431 #(0.000000 -0.071277 1.809148 -0.020616 0.407111 1.755823 1.904945 -0.715971 0.341233 0.449964 1.085208 0.031030 1.532200 0.268807 0.148267 0.268084 0.272209 0.202242 1.223891 -0.064002 0.629461 1.331632 1.050525 0.887285 0.370000 0.565442 1.910419 -0.226719 -0.262129 -0.049320 1.111879 1.377442 0.321129 0.921437 0.982936 0.703155 1.229920 0.446816 0.492798 0.314076 0.541522 1.414758 0.522185 0.801174 0.218712 0.168371 1.631951 1.208384 -0.085808 1.408101 0.423643 1.324899 0.982011 1.466628 0.095538 0.635570 1.314596 -0.072617 1.020892 0.911989 1.330565 0.770391 0.725410 1.510974 1.479974 1.759621 0.639552 0.614948 -0.510015 0.641435 0.965296 1.113277 0.074254 1.206499 1.003706 -0.366482 1.772703 1.570225 0.592942 0.091270 1.226107 0.311704 0.007633 0.964361 0.718780 1.974845 0.242071 0.343141 1.709800 1.693786 0.483738 1.265900 0.338851 0.340533 0.047929 1.263159 0.240281 1.186223 1.427920 0.613439 0.969107 0.960914 0.712662 0.596951 1.686986 1.021249 -0.262802 0.214377 0.402786 0.561682 1.740484 1.058116 0.341115 0.933358 1.469760 -0.231395 1.023135 0.404403 0.200269 1.060708 0.484072 0.072981 0.045518)
       )
 
 ;;; 124 prime --------------------------------------------------------------------------------
-(vector 124 17.868420183527 (fv 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 1 1 0 0 1)
+(vector 124 17.868420183527 #(0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 1 1 0 0 1)
 
-	14.790618 (fv 0.000000 1.222162 0.999539 1.142487 1.505674 0.123191 1.078191 1.428308 0.398665 0.193203 0.342797 1.160548 0.272137 0.744922 1.397108 1.629980 0.516700 0.161533 1.540757 0.951466 1.306414 1.131481 0.340080 0.022600 1.902411 0.678905 -0.266096 0.618248 -0.195173 1.348860 1.656222 0.843246 1.086674 0.610041 0.732222 1.576567 -0.001222 1.325305 -0.206092 0.061466 0.937472 0.938375 0.951723 1.351728 0.822770 1.101763 0.749753 0.602996 1.016336 0.240295 1.282512 0.877283 1.675716 1.308583 0.020424 0.112525 1.125186 0.567562 1.325344 0.286941 1.392684 1.457107 1.070715 1.116929 0.019425 1.553921 0.611895 0.374394 1.517480 0.357614 0.351325 1.265831 1.671035 0.028656 0.694185 0.608779 0.968580 0.705917 0.557377 -0.050792 0.760543 1.517363 0.410154 1.478833 1.629314 1.203011 0.602580 1.412252 0.251943 1.776030 1.689098 1.335837 1.695826 1.914988 1.139727 1.661355 -0.008029 1.815582 0.952555 0.813836 0.589787 1.222025 1.184138 0.133013 1.235368 -0.243658 1.554911 0.580687 0.939871 0.323060 0.942785 1.574937 1.605974 1.858030 0.079942 -0.197497 0.010513 0.448075 -0.013192 0.950902 1.198378 1.685266 1.111201 1.137042)
+	14.790618 #(0.000000 1.222162 0.999539 1.142487 1.505674 0.123191 1.078191 1.428308 0.398665 0.193203 0.342797 1.160548 0.272137 0.744922 1.397108 1.629980 0.516700 0.161533 1.540757 0.951466 1.306414 1.131481 0.340080 0.022600 1.902411 0.678905 -0.266096 0.618248 -0.195173 1.348860 1.656222 0.843246 1.086674 0.610041 0.732222 1.576567 -0.001222 1.325305 -0.206092 0.061466 0.937472 0.938375 0.951723 1.351728 0.822770 1.101763 0.749753 0.602996 1.016336 0.240295 1.282512 0.877283 1.675716 1.308583 0.020424 0.112525 1.125186 0.567562 1.325344 0.286941 1.392684 1.457107 1.070715 1.116929 0.019425 1.553921 0.611895 0.374394 1.517480 0.357614 0.351325 1.265831 1.671035 0.028656 0.694185 0.608779 0.968580 0.705917 0.557377 -0.050792 0.760543 1.517363 0.410154 1.478833 1.629314 1.203011 0.602580 1.412252 0.251943 1.776030 1.689098 1.335837 1.695826 1.914988 1.139727 1.661355 -0.008029 1.815582 0.952555 0.813836 0.589787 1.222025 1.184138 0.133013 1.235368 -0.243658 1.554911 0.580687 0.939871 0.323060 0.942785 1.574937 1.605974 1.858030 0.079942 -0.197497 0.010513 0.448075 -0.013192 0.950902 1.198378 1.685266 1.111201 1.137042)
 	
 	;; 123+1
-	14.279834 (fv 0.000000 -0.081380 1.782165 -0.062634 0.363611 1.777729 1.870086 -0.748456 0.397000 0.457689 1.108119 0.004930 1.540452 0.247288 0.180358 0.333199 0.182296 0.178249 1.230554 -0.108533 0.646062 1.305622 0.825072 0.858877 0.381906 0.623442 1.836712 -0.249134 -0.191182 -0.125952 1.112553 1.374523 0.342721 0.833331 0.944734 0.720943 1.282090 0.390216 0.453997 0.358637 0.493600 1.372859 0.624272 0.735874 0.299299 0.184937 1.617155 1.281616 -0.070863 1.469387 0.307926 1.334541 0.930607 1.487203 0.131059 0.597353 1.290211 -0.242352 1.036453 0.942866 1.246650 0.636276 0.826032 1.531105 1.485955 1.813085 0.625741 0.627771 -0.579465 0.642188 0.969289 1.138476 0.074565 1.189823 0.939892 -0.416570 1.739435 1.565378 0.588268 0.099664 1.234765 0.379725 -0.063217 0.934469 0.845969 1.930710 0.181988 0.295750 1.696778 1.677311 0.505493 1.249700 0.433102 0.439581 0.020795 1.231023 0.285770 1.217649 1.421529 0.551828 0.924619 0.972048 0.789871 0.556108 1.717849 1.016229 -0.325643 0.376556 0.293594 0.487260 1.648794 1.072609 0.281420 0.961161 1.519437 -0.241812 1.031705 0.425825 0.197195 1.096632 0.361878 0.106170 -0.074233 0.005979)
+	14.279834 #(0.000000 -0.081380 1.782165 -0.062634 0.363611 1.777729 1.870086 -0.748456 0.397000 0.457689 1.108119 0.004930 1.540452 0.247288 0.180358 0.333199 0.182296 0.178249 1.230554 -0.108533 0.646062 1.305622 0.825072 0.858877 0.381906 0.623442 1.836712 -0.249134 -0.191182 -0.125952 1.112553 1.374523 0.342721 0.833331 0.944734 0.720943 1.282090 0.390216 0.453997 0.358637 0.493600 1.372859 0.624272 0.735874 0.299299 0.184937 1.617155 1.281616 -0.070863 1.469387 0.307926 1.334541 0.930607 1.487203 0.131059 0.597353 1.290211 -0.242352 1.036453 0.942866 1.246650 0.636276 0.826032 1.531105 1.485955 1.813085 0.625741 0.627771 -0.579465 0.642188 0.969289 1.138476 0.074565 1.189823 0.939892 -0.416570 1.739435 1.565378 0.588268 0.099664 1.234765 0.379725 -0.063217 0.934469 0.845969 1.930710 0.181988 0.295750 1.696778 1.677311 0.505493 1.249700 0.433102 0.439581 0.020795 1.231023 0.285770 1.217649 1.421529 0.551828 0.924619 0.972048 0.789871 0.556108 1.717849 1.016229 -0.325643 0.376556 0.293594 0.487260 1.648794 1.072609 0.281420 0.961161 1.519437 -0.241812 1.031705 0.425825 0.197195 1.096632 0.361878 0.106170 -0.074233 0.005979)
       )
 
 ;;; 125 prime --------------------------------------------------------------------------------
-(vector 125 17.637776156888 (fv 0 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1)
+(vector 125 17.637776156888 #(0 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1)
 
-      14.772411 (fv 0.000000 1.488367 0.539453 0.636319 1.701536 0.864646 0.653079 -0.015234 -0.146959 -0.016393 1.159310 0.253720 0.483376 0.791134 0.148523 1.139178 0.651015 0.419622 1.011424 1.343222 0.375202 1.487445 1.136349 1.264222 1.195821 1.118452 0.058438 0.180283 -0.364874 1.141390 0.108460 0.432578 1.082489 -0.344327 0.561149 -0.050777 0.153514 0.046289 0.013379 0.201861 0.723817 0.636257 0.099730 -0.252366 1.579710 1.247947 0.727318 0.604484 0.768675 1.814508 0.866882 0.945446 1.203952 0.553202 1.570818 0.438899 1.210503 0.074303 1.805294 1.142851 0.477720 0.743449 -0.030259 0.761798 0.442190 0.180723 0.743309 -0.143585 1.116545 1.404371 0.204979 0.238499 1.331119 1.234638 1.176686 1.242725 0.433339 0.737611 -0.052694 0.108421 1.540317 0.211091 1.637087 0.618282 0.999958 1.643481 0.805826 1.863967 0.824505 0.797379 0.836059 -0.009548 1.065334 1.608230 -0.042496 0.454917 0.581669 0.915626 0.146732 0.685151 0.520442 1.115897 0.367688 0.129909 1.145807 0.921815 0.252576 -0.010734 0.180757 1.854774 0.546533 1.532747 1.382619 0.143523 0.214257 0.954384 0.657013 1.826584 1.432640 0.172761 -0.181378 1.290872 1.519863 0.506886 0.104986)
+      14.772411 #(0.000000 1.488367 0.539453 0.636319 1.701536 0.864646 0.653079 -0.015234 -0.146959 -0.016393 1.159310 0.253720 0.483376 0.791134 0.148523 1.139178 0.651015 0.419622 1.011424 1.343222 0.375202 1.487445 1.136349 1.264222 1.195821 1.118452 0.058438 0.180283 -0.364874 1.141390 0.108460 0.432578 1.082489 -0.344327 0.561149 -0.050777 0.153514 0.046289 0.013379 0.201861 0.723817 0.636257 0.099730 -0.252366 1.579710 1.247947 0.727318 0.604484 0.768675 1.814508 0.866882 0.945446 1.203952 0.553202 1.570818 0.438899 1.210503 0.074303 1.805294 1.142851 0.477720 0.743449 -0.030259 0.761798 0.442190 0.180723 0.743309 -0.143585 1.116545 1.404371 0.204979 0.238499 1.331119 1.234638 1.176686 1.242725 0.433339 0.737611 -0.052694 0.108421 1.540317 0.211091 1.637087 0.618282 0.999958 1.643481 0.805826 1.863967 0.824505 0.797379 0.836059 -0.009548 1.065334 1.608230 -0.042496 0.454917 0.581669 0.915626 0.146732 0.685151 0.520442 1.115897 0.367688 0.129909 1.145807 0.921815 0.252576 -0.010734 0.180757 1.854774 0.546533 1.532747 1.382619 0.143523 0.214257 0.954384 0.657013 1.826584 1.432640 0.172761 -0.181378 1.290872 1.519863 0.506886 0.104986)
 
       ;; 124+1
-      14.335616 (fv 0.000000 -0.073704 1.756721 -0.027521 0.555274 1.787030 1.851198 -0.739687 0.444117 0.371512 1.030097 0.041170 1.545538 0.189519 0.163161 0.279241 0.173564 0.127795 1.239047 -0.127708 0.674274 1.329026 0.927305 0.921971 0.291034 0.575583 1.919448 -0.265928 -0.189299 -0.242314 1.071327 1.320148 0.401414 0.885029 1.046562 0.775451 1.215839 0.374013 0.421290 0.242139 0.417910 1.413086 0.643233 0.744664 0.179383 0.219870 1.572661 1.345306 -0.060756 1.371806 0.318705 1.344767 0.903717 1.446972 0.029587 0.642047 1.254548 -0.199918 1.025990 0.987502 1.268140 0.763438 0.716412 1.540475 1.448750 1.854247 0.619685 0.691226 -0.557884 0.607847 0.974173 1.151524 -0.000158 1.208581 0.923167 -0.344361 1.808080 1.613014 0.625897 0.097908 1.229154 0.352252 -0.000924 0.978476 0.892610 1.915124 0.237884 0.295218 1.727938 1.672743 0.433468 1.238004 0.487776 0.417610 0.023342 1.153124 0.251246 1.196960 1.459291 0.552975 0.974914 0.953186 0.742186 0.557329 1.742338 1.006012 -0.331621 0.294231 0.321006 0.465332 1.742325 1.134043 0.251983 0.900167 1.477710 -0.206427 1.075443 0.425293 0.211597 1.112385 0.321994 0.162492 -0.098661 0.047474 0.072546)
+      14.335616 #(0.000000 -0.073704 1.756721 -0.027521 0.555274 1.787030 1.851198 -0.739687 0.444117 0.371512 1.030097 0.041170 1.545538 0.189519 0.163161 0.279241 0.173564 0.127795 1.239047 -0.127708 0.674274 1.329026 0.927305 0.921971 0.291034 0.575583 1.919448 -0.265928 -0.189299 -0.242314 1.071327 1.320148 0.401414 0.885029 1.046562 0.775451 1.215839 0.374013 0.421290 0.242139 0.417910 1.413086 0.643233 0.744664 0.179383 0.219870 1.572661 1.345306 -0.060756 1.371806 0.318705 1.344767 0.903717 1.446972 0.029587 0.642047 1.254548 -0.199918 1.025990 0.987502 1.268140 0.763438 0.716412 1.540475 1.448750 1.854247 0.619685 0.691226 -0.557884 0.607847 0.974173 1.151524 -0.000158 1.208581 0.923167 -0.344361 1.808080 1.613014 0.625897 0.097908 1.229154 0.352252 -0.000924 0.978476 0.892610 1.915124 0.237884 0.295218 1.727938 1.672743 0.433468 1.238004 0.487776 0.417610 0.023342 1.153124 0.251246 1.196960 1.459291 0.552975 0.974914 0.953186 0.742186 0.557329 1.742338 1.006012 -0.331621 0.294231 0.321006 0.465332 1.742325 1.134043 0.251983 0.900167 1.477710 -0.206427 1.075443 0.425293 0.211597 1.112385 0.321994 0.162492 -0.098661 0.047474 0.072546)
       )
 
 ;;; 126 prime --------------------------------------------------------------------------------
-(vector 126 18.284595039843 (fv 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1)
+(vector 126 18.284595039843 #(0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1)
 
-      14.919977 (fv 0.000000 1.469803 0.590807 0.764079 1.791170 0.333377 0.787711 1.497688 1.425800 1.198769 -0.142602 1.315353 -0.073058 1.238142 -0.046252 1.358363 0.881227 0.034517 0.376307 0.332870 0.693500 1.217503 0.199404 -0.446423 0.007791 1.544042 1.693684 1.705920 0.539256 1.329303 -0.184478 1.516336 1.012314 1.494800 1.597619 0.336783 1.080235 0.583130 1.276101 1.725256 0.652789 1.276830 1.460138 1.593259 0.514539 1.170620 1.278633 0.619783 1.325249 1.591358 0.207365 1.060129 0.815013 0.040269 1.468914 0.227402 0.515366 0.731820 0.621073 0.837063 1.275146 0.259307 0.585385 0.909317 0.921047 0.261764 0.230595 1.268807 1.340737 0.628738 0.406147 1.678580 0.814730 0.487283 1.140440 0.869819 1.474812 0.775855 -0.116531 0.130586 0.641169 1.517310 1.370799 1.423659 0.321563 0.178649 1.411675 1.146911 0.966764 1.521079 1.121859 -0.427787 0.506332 1.644605 1.138614 1.523684 0.664505 0.648038 0.075277 0.416802 0.443365 1.235830 1.173282 1.107298 0.136026 -0.032457 1.449977 -0.023926 1.087880 -0.136228 1.342249 1.136201 1.846662 0.865407 0.833970 1.810099 1.018847 -0.107251 0.065627 1.367299 0.507024 0.142912 1.416639 0.609252 0.711456 0.417251)
+      14.919977 #(0.000000 1.469803 0.590807 0.764079 1.791170 0.333377 0.787711 1.497688 1.425800 1.198769 -0.142602 1.315353 -0.073058 1.238142 -0.046252 1.358363 0.881227 0.034517 0.376307 0.332870 0.693500 1.217503 0.199404 -0.446423 0.007791 1.544042 1.693684 1.705920 0.539256 1.329303 -0.184478 1.516336 1.012314 1.494800 1.597619 0.336783 1.080235 0.583130 1.276101 1.725256 0.652789 1.276830 1.460138 1.593259 0.514539 1.170620 1.278633 0.619783 1.325249 1.591358 0.207365 1.060129 0.815013 0.040269 1.468914 0.227402 0.515366 0.731820 0.621073 0.837063 1.275146 0.259307 0.585385 0.909317 0.921047 0.261764 0.230595 1.268807 1.340737 0.628738 0.406147 1.678580 0.814730 0.487283 1.140440 0.869819 1.474812 0.775855 -0.116531 0.130586 0.641169 1.517310 1.370799 1.423659 0.321563 0.178649 1.411675 1.146911 0.966764 1.521079 1.121859 -0.427787 0.506332 1.644605 1.138614 1.523684 0.664505 0.648038 0.075277 0.416802 0.443365 1.235830 1.173282 1.107298 0.136026 -0.032457 1.449977 -0.023926 1.087880 -0.136228 1.342249 1.136201 1.846662 0.865407 0.833970 1.810099 1.018847 -0.107251 0.065627 1.367299 0.507024 0.142912 1.416639 0.609252 0.711456 0.417251)
 
       ;; 127 - 1
-      14.478183 (fv 0.000000 0.930861 1.435103 1.015217 0.133148 0.287358 1.954448 0.877191 -0.313979 0.188033 1.404924 0.797822 1.641089 -0.072460 0.883498 1.253629 0.955039 1.649989 1.112182 0.909200 1.887346 0.566087 0.831325 1.595619 1.015259 1.132981 1.214225 1.758075 1.475152 1.620993 0.072446 -0.059078 -0.182289 -0.039338 0.155445 0.529297 0.046388 1.441668 0.535178 0.222607 0.659275 1.874433 0.311495 1.718719 0.434358 1.778879 1.619012 0.517997 0.354459 -0.261087 0.248995 1.922764 0.605114 1.052457 -0.265751 1.118974 0.375392 1.608325 1.902594 0.729575 1.283255 1.305350 0.868120 1.355763 1.680987 0.242830 0.477218 1.016250 0.628871 -0.030446 0.679211 1.826138 1.874720 1.129680 1.690954 1.195384 0.889438 1.205646 1.461460 -0.453690 0.712708 1.258870 1.879622 1.875344 1.343716 1.283838 0.647289 0.933542 0.025722 -0.304513 0.859639 0.850257 0.333502 1.942927 1.798084 1.335700 0.932797 0.281618 -0.061736 1.117606 1.074494 0.424155 0.429073 1.579564 1.707609 0.889204 0.016152 1.499631 0.327239 1.110073 0.816898 0.676932 0.517090 0.873228 0.943685 1.557236 1.328668 0.393069 1.595818 0.801812 0.427544 0.632088 1.930520 1.052145 0.001869 0.373834)
+      14.478183 #(0.000000 0.930861 1.435103 1.015217 0.133148 0.287358 1.954448 0.877191 -0.313979 0.188033 1.404924 0.797822 1.641089 -0.072460 0.883498 1.253629 0.955039 1.649989 1.112182 0.909200 1.887346 0.566087 0.831325 1.595619 1.015259 1.132981 1.214225 1.758075 1.475152 1.620993 0.072446 -0.059078 -0.182289 -0.039338 0.155445 0.529297 0.046388 1.441668 0.535178 0.222607 0.659275 1.874433 0.311495 1.718719 0.434358 1.778879 1.619012 0.517997 0.354459 -0.261087 0.248995 1.922764 0.605114 1.052457 -0.265751 1.118974 0.375392 1.608325 1.902594 0.729575 1.283255 1.305350 0.868120 1.355763 1.680987 0.242830 0.477218 1.016250 0.628871 -0.030446 0.679211 1.826138 1.874720 1.129680 1.690954 1.195384 0.889438 1.205646 1.461460 -0.453690 0.712708 1.258870 1.879622 1.875344 1.343716 1.283838 0.647289 0.933542 0.025722 -0.304513 0.859639 0.850257 0.333502 1.942927 1.798084 1.335700 0.932797 0.281618 -0.061736 1.117606 1.074494 0.424155 0.429073 1.579564 1.707609 0.889204 0.016152 1.499631 0.327239 1.110073 0.816898 0.676932 0.517090 0.873228 0.943685 1.557236 1.328668 0.393069 1.595818 0.801812 0.427544 0.632088 1.930520 1.052145 0.001869 0.373834)
       )
 
 ;;; 127 prime --------------------------------------------------------------------------------
-(vector 127 18.198689419357 (fv 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1)
+(vector 127 18.198689419357 #(0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1)
 
-	14.912432 (fv 0.000000 -0.112564 0.330831 0.563931 0.720452 1.659462 1.770279 1.222445 1.859857 0.126001 0.651461 1.215294 -0.233033 0.427403 0.814844 0.606037 1.919973 0.930971 0.148326 0.698675 1.110446 0.338577 1.107127 0.863142 1.130521 0.352666 0.715295 1.098761 0.639947 1.470989 0.137887 1.186298 0.901174 1.895291 0.359770 0.973168 1.699946 0.771080 1.375904 -0.248826 1.181644 1.789978 0.712701 0.277767 1.875124 0.813518 1.712932 0.451921 0.276945 1.323596 1.302350 1.483287 1.090079 0.743389 1.264854 1.950370 0.782969 0.914279 0.320477 0.990740 0.622004 0.030993 0.934242 0.961767 0.268688 1.789126 0.206081 0.101936 -0.529878 1.903369 0.539774 1.823204 -0.147241 0.928082 0.776302 1.167127 1.638509 1.576221 0.666141 0.750484 0.892326 0.100670 1.158426 0.166814 1.186903 1.306719 1.235546 0.635532 0.425679 1.719459 0.863874 0.092801 1.266262 1.369621 1.347298 0.966081 0.206817 0.754899 1.254971 0.922627 0.087389 0.135770 0.821247 0.230310 1.412479 0.655130 0.149628 1.814319 1.923709 1.016259 0.975859 0.575686 1.520455 1.205512 0.978744 1.845650 0.833521 0.220528 0.380346 0.141961 -0.028883 0.515081 0.897680 0.876651 0.794347 1.289685 0.792317)
+	14.912432 #(0.000000 -0.112564 0.330831 0.563931 0.720452 1.659462 1.770279 1.222445 1.859857 0.126001 0.651461 1.215294 -0.233033 0.427403 0.814844 0.606037 1.919973 0.930971 0.148326 0.698675 1.110446 0.338577 1.107127 0.863142 1.130521 0.352666 0.715295 1.098761 0.639947 1.470989 0.137887 1.186298 0.901174 1.895291 0.359770 0.973168 1.699946 0.771080 1.375904 -0.248826 1.181644 1.789978 0.712701 0.277767 1.875124 0.813518 1.712932 0.451921 0.276945 1.323596 1.302350 1.483287 1.090079 0.743389 1.264854 1.950370 0.782969 0.914279 0.320477 0.990740 0.622004 0.030993 0.934242 0.961767 0.268688 1.789126 0.206081 0.101936 -0.529878 1.903369 0.539774 1.823204 -0.147241 0.928082 0.776302 1.167127 1.638509 1.576221 0.666141 0.750484 0.892326 0.100670 1.158426 0.166814 1.186903 1.306719 1.235546 0.635532 0.425679 1.719459 0.863874 0.092801 1.266262 1.369621 1.347298 0.966081 0.206817 0.754899 1.254971 0.922627 0.087389 0.135770 0.821247 0.230310 1.412479 0.655130 0.149628 1.814319 1.923709 1.016259 0.975859 0.575686 1.520455 1.205512 0.978744 1.845650 0.833521 0.220528 0.380346 0.141961 -0.028883 0.515081 0.897680 0.876651 0.794347 1.289685 0.792317)
 
 	;; 128-1
-	14.536393 (fv 0.000000 0.910972 1.475131 1.009861 0.062727 0.222323 1.938743 0.836711 -0.379271 0.255108 1.367947 0.841274 1.648864 0.015930 0.884691 1.125991 0.989606 1.607929 1.107388 0.857011 1.831346 0.433218 0.833149 1.592445 1.050762 1.008151 1.363530 1.700977 1.491038 1.682961 0.086100 -0.103806 -0.179348 0.003896 0.165438 0.493687 0.089620 1.387284 0.581547 0.176309 0.705269 1.811651 0.301490 1.707605 0.333845 1.832817 1.652148 0.600871 0.309714 -0.231587 0.303261 1.879368 0.673797 1.138199 -0.287759 1.071255 0.390644 1.597999 1.895638 0.729896 1.280128 1.313792 0.920129 1.387655 1.675038 0.226144 0.498585 1.104083 0.607578 0.005976 0.644124 1.859066 1.816208 1.159654 1.721231 1.377183 0.892151 1.087634 1.544878 -0.427006 0.761009 1.308993 1.890672 1.804683 1.325584 1.333615 0.649826 0.878906 0.043600 -0.222822 0.983855 0.725901 0.429955 1.892651 1.820617 1.395993 0.939478 0.246907 -0.065788 1.167118 1.004041 0.432075 0.450312 1.618752 1.686873 0.868341 1.893872 1.401676 0.376204 1.113598 0.748962 0.732995 0.557016 0.919800 0.871855 1.529811 1.275389 0.387399 1.586418 0.758929 0.456983 0.576267 1.810711 1.106484 0.012213 0.311973 1.081248)
+	14.536393 #(0.000000 0.910972 1.475131 1.009861 0.062727 0.222323 1.938743 0.836711 -0.379271 0.255108 1.367947 0.841274 1.648864 0.015930 0.884691 1.125991 0.989606 1.607929 1.107388 0.857011 1.831346 0.433218 0.833149 1.592445 1.050762 1.008151 1.363530 1.700977 1.491038 1.682961 0.086100 -0.103806 -0.179348 0.003896 0.165438 0.493687 0.089620 1.387284 0.581547 0.176309 0.705269 1.811651 0.301490 1.707605 0.333845 1.832817 1.652148 0.600871 0.309714 -0.231587 0.303261 1.879368 0.673797 1.138199 -0.287759 1.071255 0.390644 1.597999 1.895638 0.729896 1.280128 1.313792 0.920129 1.387655 1.675038 0.226144 0.498585 1.104083 0.607578 0.005976 0.644124 1.859066 1.816208 1.159654 1.721231 1.377183 0.892151 1.087634 1.544878 -0.427006 0.761009 1.308993 1.890672 1.804683 1.325584 1.333615 0.649826 0.878906 0.043600 -0.222822 0.983855 0.725901 0.429955 1.892651 1.820617 1.395993 0.939478 0.246907 -0.065788 1.167118 1.004041 0.432075 0.450312 1.618752 1.686873 0.868341 1.893872 1.401676 0.376204 1.113598 0.748962 0.732995 0.557016 0.919800 0.871855 1.529811 1.275389 0.387399 1.586418 0.758929 0.456983 0.576267 1.810711 1.106484 0.012213 0.311973 1.081248)
       )
 
 ;;; 128 prime --------------------------------------------------------------------------------
-(vector 128 18.276384353638 (fv 0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1)
+(vector 128 18.276384353638 #(0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1)
 
-      14.551285 (fv 0.000000 0.924459 1.485422 0.985256 0.056811 0.219930 1.908499 0.913743 -0.403193 0.259904 1.334649 0.827148 1.624714 -0.021872 0.937257 1.122813 0.961899 1.532146 1.148701 0.868319 1.827482 0.356035 0.897995 1.553711 0.943178 0.960525 1.352917 1.720117 1.523327 1.617955 0.013172 -0.149597 -0.137644 -0.034035 0.111097 0.498787 0.121406 1.399436 0.620595 0.082527 0.702328 1.824635 0.362315 1.752651 0.335052 1.794344 1.642190 0.610334 0.262361 -0.222978 0.248243 1.869656 0.644580 1.192948 -0.312319 1.070271 0.368940 1.593867 1.836900 0.676177 1.276819 1.276408 0.936758 1.361721 1.692175 0.215294 0.511916 1.079847 0.588820 0.055407 0.579633 1.891289 1.810098 1.133091 1.733591 1.452365 0.980479 1.078929 1.556717 -0.427469 0.779143 1.336023 1.912299 1.782248 1.339461 1.329616 0.616924 0.917615 0.006788 -0.195359 0.981816 0.758001 0.419952 1.868089 1.758394 1.479010 0.921655 0.244745 -0.038674 1.158515 0.987245 0.469852 0.442126 1.652528 1.699770 0.900506 1.793377 1.368738 0.405805 1.083967 0.706228 0.759055 0.550546 0.985536 0.835398 1.537041 1.252754 0.414912 1.587016 0.741668 0.441787 0.537126 1.829954 1.207186 -0.038603 0.324826 1.093300 0.845470)
+      14.551285 #(0.000000 0.924459 1.485422 0.985256 0.056811 0.219930 1.908499 0.913743 -0.403193 0.259904 1.334649 0.827148 1.624714 -0.021872 0.937257 1.122813 0.961899 1.532146 1.148701 0.868319 1.827482 0.356035 0.897995 1.553711 0.943178 0.960525 1.352917 1.720117 1.523327 1.617955 0.013172 -0.149597 -0.137644 -0.034035 0.111097 0.498787 0.121406 1.399436 0.620595 0.082527 0.702328 1.824635 0.362315 1.752651 0.335052 1.794344 1.642190 0.610334 0.262361 -0.222978 0.248243 1.869656 0.644580 1.192948 -0.312319 1.070271 0.368940 1.593867 1.836900 0.676177 1.276819 1.276408 0.936758 1.361721 1.692175 0.215294 0.511916 1.079847 0.588820 0.055407 0.579633 1.891289 1.810098 1.133091 1.733591 1.452365 0.980479 1.078929 1.556717 -0.427469 0.779143 1.336023 1.912299 1.782248 1.339461 1.329616 0.616924 0.917615 0.006788 -0.195359 0.981816 0.758001 0.419952 1.868089 1.758394 1.479010 0.921655 0.244745 -0.038674 1.158515 0.987245 0.469852 0.442126 1.652528 1.699770 0.900506 1.793377 1.368738 0.405805 1.083967 0.706228 0.759055 0.550546 0.985536 0.835398 1.537041 1.252754 0.414912 1.587016 0.741668 0.441787 0.537126 1.829954 1.207186 -0.038603 0.324826 1.093300 0.845470)
       )
 
 ;;; 256 prime --------------------------------------------------------------------------------
-(vector 256 27.740 (fv 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1)
+(vector 256 27.740 #(0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1)
 
-      23.954812 (fv 0.000000 1.204657 1.078759 1.682184 0.289433 1.857298 -0.103078 0.812130 1.708916 1.896961 1.156555 1.703874 1.227021 0.182267 1.041071 0.489158 1.008682 0.135723 0.046495 1.634992 0.566031 1.311776 1.337489 0.673226 1.836763 0.159154 0.202747 0.341271 0.471573 0.119586 1.124289 1.100574 1.091468 1.313210 0.642853 0.117292 -0.058379 0.647409 0.710309 0.207284 0.060417 0.146614 1.530493 1.426852 1.584556 0.403196 0.281684 1.359791 1.211733 1.335753 1.885602 1.477601 0.688497 0.894421 1.600991 1.328569 0.005997 0.453096 0.992624 0.185444 0.508566 0.835246 0.264281 0.242464 0.561992 0.572786 1.360366 0.402158 1.414686 0.275179 0.381572 -0.113917 0.093761 0.181937 1.876554 0.763184 0.742398 0.316668 0.919942 0.466632 1.953058 0.269310 1.678357 0.562522 0.033550 0.978955 0.884214 0.441468 1.069549 1.818992 0.418629 1.336178 1.464108 0.008854 1.818306 0.399905 1.080809 0.763485 0.787603 1.378379 0.936433 0.806686 0.536881 1.819028 1.671276 0.786432 1.275261 1.884577 0.933469 1.355576 1.479258 0.462174 0.332804 0.282457 0.550215 0.317652 0.454496 0.923565 0.787078 1.464952 0.107434 1.071904 1.315331 0.744343 0.731492 0.092424 1.422672 1.730219 1.887932 1.793030 0.347585 0.560825 1.039175 1.321464 0.820946 1.971856 1.662872 1.726858 0.163305 0.618347 1.843241 1.984311 0.060498 0.046747 0.257781 0.365656 1.677750 -0.207494 0.053362 0.938280 1.295484 0.245637 0.522272 1.268074 1.776463 1.391102 0.235187 1.356696 0.411477 0.726380 0.608354 1.031435 0.374485 1.212534 0.683978 1.636985 -0.020727 1.002990 0.490099 1.193211 1.072433 1.116935 0.177132 1.577198 1.488833 1.426992 0.196808 1.359200 0.812178 0.923445 1.498869 0.535636 1.325569 0.453085 0.957271 0.999087 0.721363 0.748530 0.296873 0.424017 1.951248 0.179282 0.622927 -0.057442 0.420195 1.292402 0.421561 0.376166 1.549061 0.996315 0.165646 0.418099 0.201640 0.421702 0.831456 0.106402 1.463327 0.005503 1.240637 0.776492 0.181978 0.800991 0.047810 1.685961 1.102672 1.488982 0.855213 0.435527 1.756187 1.183435 0.997613 0.162344 0.965285 0.203761 1.756880 0.117280 1.723671 0.647873 1.760056 1.248565 0.397491 1.167098 0.048428 0.194870 -0.145837 0.946144 1.336821 0.037491 0.496156 0.411789 1.814729 0.171113 0.774274 1.046076 0.369134 1.865905 1.353847 0.811560 1.792633 0.305766 0.578868 1.799589 0.584644 1.768023 1.140595 0.983334)
+      23.954812 #(0.000000 1.204657 1.078759 1.682184 0.289433 1.857298 -0.103078 0.812130 1.708916 1.896961 1.156555 1.703874 1.227021 0.182267 1.041071 0.489158 1.008682 0.135723 0.046495 1.634992 0.566031 1.311776 1.337489 0.673226 1.836763 0.159154 0.202747 0.341271 0.471573 0.119586 1.124289 1.100574 1.091468 1.313210 0.642853 0.117292 -0.058379 0.647409 0.710309 0.207284 0.060417 0.146614 1.530493 1.426852 1.584556 0.403196 0.281684 1.359791 1.211733 1.335753 1.885602 1.477601 0.688497 0.894421 1.600991 1.328569 0.005997 0.453096 0.992624 0.185444 0.508566 0.835246 0.264281 0.242464 0.561992 0.572786 1.360366 0.402158 1.414686 0.275179 0.381572 -0.113917 0.093761 0.181937 1.876554 0.763184 0.742398 0.316668 0.919942 0.466632 1.953058 0.269310 1.678357 0.562522 0.033550 0.978955 0.884214 0.441468 1.069549 1.818992 0.418629 1.336178 1.464108 0.008854 1.818306 0.399905 1.080809 0.763485 0.787603 1.378379 0.936433 0.806686 0.536881 1.819028 1.671276 0.786432 1.275261 1.884577 0.933469 1.355576 1.479258 0.462174 0.332804 0.282457 0.550215 0.317652 0.454496 0.923565 0.787078 1.464952 0.107434 1.071904 1.315331 0.744343 0.731492 0.092424 1.422672 1.730219 1.887932 1.793030 0.347585 0.560825 1.039175 1.321464 0.820946 1.971856 1.662872 1.726858 0.163305 0.618347 1.843241 1.984311 0.060498 0.046747 0.257781 0.365656 1.677750 -0.207494 0.053362 0.938280 1.295484 0.245637 0.522272 1.268074 1.776463 1.391102 0.235187 1.356696 0.411477 0.726380 0.608354 1.031435 0.374485 1.212534 0.683978 1.636985 -0.020727 1.002990 0.490099 1.193211 1.072433 1.116935 0.177132 1.577198 1.488833 1.426992 0.196808 1.359200 0.812178 0.923445 1.498869 0.535636 1.325569 0.453085 0.957271 0.999087 0.721363 0.748530 0.296873 0.424017 1.951248 0.179282 0.622927 -0.057442 0.420195 1.292402 0.421561 0.376166 1.549061 0.996315 0.165646 0.418099 0.201640 0.421702 0.831456 0.106402 1.463327 0.005503 1.240637 0.776492 0.181978 0.800991 0.047810 1.685961 1.102672 1.488982 0.855213 0.435527 1.756187 1.183435 0.997613 0.162344 0.965285 0.203761 1.756880 0.117280 1.723671 0.647873 1.760056 1.248565 0.397491 1.167098 0.048428 0.194870 -0.145837 0.946144 1.336821 0.037491 0.496156 0.411789 1.814729 0.171113 0.774274 1.046076 0.369134 1.865905 1.353847 0.811560 1.792633 0.305766 0.578868 1.799589 0.584644 1.768023 1.140595 0.983334)
       )
 
 ;;; 512 prime --------------------------------------------------------------------------------
-(vector 512 43.486 (fv 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1)
+(vector 512 43.486 #(0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1)
 
-      38.602884 (fv 0.000000 1.082143 1.690042 0.893575 0.756109 0.365343 0.807438 0.940757 0.585435 0.342350 0.594341 1.140652 1.817226 1.102492 0.331462 1.612595 0.512173 -1.909591 0.094152 0.360726 0.151765 0.706858 0.749498 1.906233 1.235313 0.796232 0.500830 0.064536 1.490244 0.959772 0.522500 0.779779 0.400580 1.439171 1.288511 1.693600 1.634346 1.612029 0.250323 0.286364 -0.273948 -0.057072 0.444920 0.673291 1.660718 0.950511 -0.044480 1.277714 0.922828 1.742498 0.067040 1.123761 0.731844 1.393404 1.039320 1.324896 1.831174 0.387406 1.709067 0.274769 1.267431 0.959919 0.715608 1.693570 0.000362 1.870214 0.699669 0.668933 0.997821 -0.008050 1.092934 0.993144 0.278118 0.973866 0.508203 1.715050 0.139916 0.132362 1.047327 -0.053979 0.185439 0.405403 1.344059 0.788131 1.083324 0.893261 1.764451 1.883814 1.299760 0.554300 0.979273 1.155257 1.533722 0.768283 0.256481 0.366299 0.921394 1.649597 0.976718 0.165847 0.006944 0.856772 0.899715 1.074092 0.112821 1.082075 0.258835 0.138175 -0.004825 0.001351 1.429175 0.630347 0.684026 0.531342 0.847633 0.762458 0.815632 0.219787 0.092949 0.202477 0.797900 -0.145417 -0.117708 1.761218 0.769741 1.161104 1.342323 0.523211 0.405201 0.497008 0.787122 1.231664 1.866867 0.811507 1.822296 0.236359 -0.004728 0.793757 0.887814 1.429788 1.804982 1.942786 0.923502 0.603222 0.794618 0.368216 1.088308 0.796327 0.542686 1.544013 1.716025 0.878200 1.782174 0.062214 0.364255 0.646601 0.833457 0.599270 0.751311 0.607033 1.116295 0.605117 1.252490 0.144452 0.065646 0.340371 1.042827 1.788314 1.880686 0.569623 0.189168 0.776287 1.195192 0.727742 0.491941 0.571446 0.260116 1.294844 -0.224851 1.513707 1.029946 1.744464 -0.045793 1.705297 0.170929 0.776558 1.159210 1.100586 0.974908 0.889723 0.131669 1.514065 0.483669 0.374957 1.765248 0.173880 1.574655 0.579673 1.075226 1.695626 0.618344 0.910042 1.785601 1.685191 1.340397 -0.031592 1.930247 1.607968 0.311691 1.234826 1.008031 0.136574 0.693831 1.350593 1.790691 1.248723 0.321392 0.332409 0.211515 0.677389 0.675342 0.748083 1.542146 0.537541 0.945052 0.644544 1.587504 -0.198604 0.497285 1.589685 1.631769 -0.102021 1.434262 0.504366 1.007294 -0.071908 0.889783 0.106723 1.597262 1.184125 1.385914 1.784083 1.814813 1.444514 0.168106 0.275712 -0.230240 1.482952 1.749244 0.624319 0.820132 0.038543 0.453451 1.192705 1.551536 0.933988 1.412615 0.290421 0.996887 0.879431 1.841715 0.672561 0.642185 1.873294 1.346219 1.516340 0.034439 -0.025203 0.114641 1.027748 0.436673 1.695049 0.946949 0.531849 0.288148 0.279537 1.094778 0.375490 0.307554 0.627782 0.418409 0.832934 0.666935 0.114950 -0.053285 1.218299 1.879745 0.386673 0.915368 -0.165173 1.124058 0.466149 1.878428 1.629128 1.512993 0.806896 0.046040 1.932554 1.129093 0.063911 0.559840 1.823056 0.947920 0.467855 1.479381 1.855655 0.408469 1.725599 1.305170 0.270211 0.911615 0.523954 1.318986 1.354400 1.104393 0.792536 0.687738 1.816953 0.079500 1.734615 0.148004 0.393542 1.491324 1.809997 0.036899 1.917219 0.036016 1.292915 1.439271 0.992174 0.734749 0.043086 0.632449 1.678465 1.214089 0.407041 1.157576 0.467194 1.849834 1.465874 1.299867 0.452820 0.577350 1.178402 0.504471 1.704246 1.529399 0.119449 1.587272 1.187154 1.736018 1.251019 0.054071 0.448967 1.151610 -0.041983 -0.058564 1.189234 1.429143 1.489017 0.205182 1.257753 0.994036 0.781546 0.390902 0.744400 1.772431 0.919261 0.499894 0.419934 0.281518 0.736860 0.910447 1.681100 1.722013 1.141474 0.827377 0.320102 0.007503 0.593080 1.581219 0.475353 0.227567 1.630156 0.895436 0.162740 0.389713 0.427078 0.505436 0.990570 0.227561 1.922194 1.293488 0.525156 0.798692 0.804781 1.222760 -0.002373 0.214414 1.011966 1.489753 0.749041 1.209362 1.542616 0.129806 1.948618 0.096126 0.340987 1.210097 1.746925 0.607998 0.771692 0.843752 0.870293 0.931325 1.216995 -0.219011 0.558727 0.605157 0.764943 0.813267 0.109796 0.025290 0.418750 0.976910 0.611063 1.425653 1.312703 1.416454 1.541723 0.279510 0.000239 1.660016 0.196937 1.482933 0.237398 1.048222 1.226372 0.074770 0.565242 0.782888 1.814840 1.669287 0.878760 1.658003 1.628831 0.063412 1.934276 0.152397 1.633067 1.697411 0.919379 1.358819 1.021028 1.568829 0.560019 1.191100 1.722100 0.879855 0.967865 1.958702 0.180163 1.190964 1.472899 0.387723 1.635329 -0.004167 1.194302 0.101361 0.922515 1.847355 1.174116 0.380497 0.721821 1.201075 1.612741 1.020268 -0.168817 0.406276 1.455790 1.666789 0.232089 1.791143 1.515844 0.427944 0.351285 1.732308 0.954418 0.569378 1.065546 1.527300 1.587063 1.317922 0.415597 0.001422 1.240139 0.099248 1.639437 1.663543 0.562245 1.762090 1.669121 1.738347 1.503729 0.665114 0.450457 0.358214 1.358391 1.040768 0.320330 -0.191120 1.844458)
+      38.602884 #(0.000000 1.082143 1.690042 0.893575 0.756109 0.365343 0.807438 0.940757 0.585435 0.342350 0.594341 1.140652 1.817226 1.102492 0.331462 1.612595 0.512173 -1.909591 0.094152 0.360726 0.151765 0.706858 0.749498 1.906233 1.235313 0.796232 0.500830 0.064536 1.490244 0.959772 0.522500 0.779779 0.400580 1.439171 1.288511 1.693600 1.634346 1.612029 0.250323 0.286364 -0.273948 -0.057072 0.444920 0.673291 1.660718 0.950511 -0.044480 1.277714 0.922828 1.742498 0.067040 1.123761 0.731844 1.393404 1.039320 1.324896 1.831174 0.387406 1.709067 0.274769 1.267431 0.959919 0.715608 1.693570 0.000362 1.870214 0.699669 0.668933 0.997821 -0.008050 1.092934 0.993144 0.278118 0.973866 0.508203 1.715050 0.139916 0.132362 1.047327 -0.053979 0.185439 0.405403 1.344059 0.788131 1.083324 0.893261 1.764451 1.883814 1.299760 0.554300 0.979273 1.155257 1.533722 0.768283 0.256481 0.366299 0.921394 1.649597 0.976718 0.165847 0.006944 0.856772 0.899715 1.074092 0.112821 1.082075 0.258835 0.138175 -0.004825 0.001351 1.429175 0.630347 0.684026 0.531342 0.847633 0.762458 0.815632 0.219787 0.092949 0.202477 0.797900 -0.145417 -0.117708 1.761218 0.769741 1.161104 1.342323 0.523211 0.405201 0.497008 0.787122 1.231664 1.866867 0.811507 1.822296 0.236359 -0.004728 0.793757 0.887814 1.429788 1.804982 1.942786 0.923502 0.603222 0.794618 0.368216 1.088308 0.796327 0.542686 1.544013 1.716025 0.878200 1.782174 0.062214 0.364255 0.646601 0.833457 0.599270 0.751311 0.607033 1.116295 0.605117 1.252490 0.144452 0.065646 0.340371 1.042827 1.788314 1.880686 0.569623 0.189168 0.776287 1.195192 0.727742 0.491941 0.571446 0.260116 1.294844 -0.224851 1.513707 1.029946 1.744464 -0.045793 1.705297 0.170929 0.776558 1.159210 1.100586 0.974908 0.889723 0.131669 1.514065 0.483669 0.374957 1.765248 0.173880 1.574655 0.579673 1.075226 1.695626 0.618344 0.910042 1.785601 1.685191 1.340397 -0.031592 1.930247 1.607968 0.311691 1.234826 1.008031 0.136574 0.693831 1.350593 1.790691 1.248723 0.321392 0.332409 0.211515 0.677389 0.675342 0.748083 1.542146 0.537541 0.945052 0.644544 1.587504 -0.198604 0.497285 1.589685 1.631769 -0.102021 1.434262 0.504366 1.007294 -0.071908 0.889783 0.106723 1.597262 1.184125 1.385914 1.784083 1.814813 1.444514 0.168106 0.275712 -0.230240 1.482952 1.749244 0.624319 0.820132 0.038543 0.453451 1.192705 1.551536 0.933988 1.412615 0.290421 0.996887 0.879431 1.841715 0.672561 0.642185 1.873294 1.346219 1.516340 0.034439 -0.025203 0.114641 1.027748 0.436673 1.695049 0.946949 0.531849 0.288148 0.279537 1.094778 0.375490 0.307554 0.627782 0.418409 0.832934 0.666935 0.114950 -0.053285 1.218299 1.879745 0.386673 0.915368 -0.165173 1.124058 0.466149 1.878428 1.629128 1.512993 0.806896 0.046040 1.932554 1.129093 0.063911 0.559840 1.823056 0.947920 0.467855 1.479381 1.855655 0.408469 1.725599 1.305170 0.270211 0.911615 0.523954 1.318986 1.354400 1.104393 0.792536 0.687738 1.816953 0.079500 1.734615 0.148004 0.393542 1.491324 1.809997 0.036899 1.917219 0.036016 1.292915 1.439271 0.992174 0.734749 0.043086 0.632449 1.678465 1.214089 0.407041 1.157576 0.467194 1.849834 1.465874 1.299867 0.452820 0.577350 1.178402 0.504471 1.704246 1.529399 0.119449 1.587272 1.187154 1.736018 1.251019 0.054071 0.448967 1.151610 -0.041983 -0.058564 1.189234 1.429143 1.489017 0.205182 1.257753 0.994036 0.781546 0.390902 0.744400 1.772431 0.919261 0.499894 0.419934 0.281518 0.736860 0.910447 1.681100 1.722013 1.141474 0.827377 0.320102 0.007503 0.593080 1.581219 0.475353 0.227567 1.630156 0.895436 0.162740 0.389713 0.427078 0.505436 0.990570 0.227561 1.922194 1.293488 0.525156 0.798692 0.804781 1.222760 -0.002373 0.214414 1.011966 1.489753 0.749041 1.209362 1.542616 0.129806 1.948618 0.096126 0.340987 1.210097 1.746925 0.607998 0.771692 0.843752 0.870293 0.931325 1.216995 -0.219011 0.558727 0.605157 0.764943 0.813267 0.109796 0.025290 0.418750 0.976910 0.611063 1.425653 1.312703 1.416454 1.541723 0.279510 0.000239 1.660016 0.196937 1.482933 0.237398 1.048222 1.226372 0.074770 0.565242 0.782888 1.814840 1.669287 0.878760 1.658003 1.628831 0.063412 1.934276 0.152397 1.633067 1.697411 0.919379 1.358819 1.021028 1.568829 0.560019 1.191100 1.722100 0.879855 0.967865 1.958702 0.180163 1.190964 1.472899 0.387723 1.635329 -0.004167 1.194302 0.101361 0.922515 1.847355 1.174116 0.380497 0.721821 1.201075 1.612741 1.020268 -0.168817 0.406276 1.455790 1.666789 0.232089 1.791143 1.515844 0.427944 0.351285 1.732308 0.954418 0.569378 1.065546 1.527300 1.587063 1.317922 0.415597 0.001422 1.240139 0.099248 1.639437 1.663543 0.562245 1.762090 1.669121 1.738347 1.503729 0.665114 0.450457 0.358214 1.358391 1.040768 0.320330 -0.191120 1.844458)
       )
 
 ;;; 1024 prime --------------------------------------------------------------------------------
-(vector 1024 70.140 (fv 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1)
+(vector 1024 70.140 #(0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1)
 
-       65.349256 (fv 0.000000 -0.129848 0.969209 0.836351 0.061754 1.032484 0.051397 -0.047672 0.218624 0.018916 -0.064346 -0.087720 0.896115 1.194836 0.077672 -0.093665 -0.097710 -0.086592 0.949666 1.122929 -0.067767 0.950039 1.122745 0.018018 0.930855 -0.245701 0.859196 -0.118393 -0.017421 0.154025 -0.211100 -0.109137 0.940842 -0.140564 0.967517 -0.167684 0.023269 0.025376 -0.045911 0.903419 -0.200515 -0.239733 0.820269 1.087952 1.103155 -0.067139 0.794572 -0.000447 0.796383 -0.050127 -0.097253 1.071546 0.028226 0.109239 0.999458 0.870447 0.946254 -0.081085 1.245293 0.861076 0.913395 -0.009593 0.921868 1.075746 0.111204 0.213778 0.007799 0.861516 0.879520 1.119282 1.112758 0.023180 0.087708 -0.039342 0.017034 -0.142251 -0.066926 0.123437 -0.087868 0.910913 0.108597 -0.196132 1.069560 1.014239 0.192506 0.075011 0.674937 -0.174632 1.062546 0.982886 -0.071153 -0.102231 1.008769 -0.021251 -0.043692 0.910660 1.203363 0.930076 1.192149 1.079643 1.139869 -0.102933 0.892075 1.081967 1.117296 1.069641 0.961155 0.889926 0.104236 -0.012679 1.018557 0.083425 0.102764 1.041332 1.049506 1.057530 0.927572 -0.192969 -0.132492 0.997314 1.171628 1.067315 1.038820 1.033745 1.322831 -0.007981 0.994085 0.965156 0.070645 1.143780 -0.097751 -0.035141 1.081372 0.841845 0.110341 -0.016561 1.124066 1.050833 0.937074 0.926741 -0.150226 0.056436 0.964946 1.014226 0.961483 0.200116 -0.027025 -0.042596 0.873435 1.128675 -0.074217 0.034750 0.002625 0.037174 1.052187 -0.007505 1.057468 -0.020629 0.954765 1.162873 0.836305 0.919671 0.176115 0.867824 0.159416 0.913293 0.972493 -0.057629 0.902111 0.973589 -0.086627 -0.008031 -0.139087 0.943821 1.137966 0.070214 -0.004563 0.871135 -0.028372 0.970905 -0.036782 0.845326 0.108872 0.880706 -0.063917 0.888627 0.925543 1.066596 0.853571 -0.093806 0.904332 -0.112339 0.945758 0.871634 -0.096140 1.001890 1.129246 0.963672 0.170539 1.085873 0.061910 1.045363 -0.043655 0.071480 -0.112838 1.140479 -0.203871 0.018032 0.967477 -0.109462 0.786798 0.159117 0.091987 1.000511 0.121439 0.998700 0.114766 0.043124 -0.051500 1.039391 -0.116269 0.884009 0.038584 0.870599 -0.009894 -0.177026 1.208055 1.281757 0.041090 1.074146 -0.185247 -0.160109 -0.084894 -0.013678 1.116236 0.043626 0.914436 1.186335 0.008002 -0.013450 -0.068550 0.867764 -0.069795 0.028624 1.053037 1.105179 1.148503 -0.078114 -0.107345 0.808140 0.888280 -0.101397 0.863680 -0.177989 0.805880 0.985054 0.997369 0.970739 0.045371 0.041317 -0.112380 1.007911 0.837435 0.969586 0.893134 1.011096 0.079245 0.911597 -0.043743 1.012740 1.031412 0.069924 0.910651 0.066980 0.855519 1.128309 1.046886 -0.009687 -0.147082 0.900969 1.137525 0.881305 1.084781 -0.031000 1.031283 0.123503 -0.135598 0.951868 0.887466 -0.122854 -0.039498 1.017664 -0.102471 1.018993 1.022945 0.093609 0.101814 1.044330 -0.102747 0.051954 0.001832 1.002061 1.025387 0.930853 0.958319 0.146189 0.932064 0.106399 1.032653 0.014707 0.032026 0.879101 -0.027770 0.031687 0.111934 0.802921 -0.076047 0.059286 0.065123 0.128711 0.974155 1.040636 -0.158251 -0.044445 -0.146345 1.152523 0.901758 -0.061750 0.921515 0.108254 -0.128639 1.088615 0.119335 1.107712 0.012965 0.831934 0.917791 0.827352 0.931376 0.029208 0.968659 1.110903 1.139422 0.103217 0.804597 0.104877 1.024813 1.110962 1.158506 1.074313 0.918885 1.091629 1.052239 1.155470 0.969547 0.176177 1.193274 1.000806 0.167489 -0.087811 1.272916 0.090580 0.837388 0.853777 0.021673 0.795498 0.153088 -0.039163 0.886259 0.953876 0.846456 0.902225 0.108103 -0.023242 1.091272 0.796242 1.011212 0.961046 1.021211 0.039001 -0.032781 1.042170 1.131254 1.092307 0.999148 0.071362 0.869992 0.079822 1.110594 1.044065 1.166722 0.955017 0.117000 0.059709 1.113545 0.131377 1.023012 -0.114272 0.975103 0.983023 -0.046717 0.032378 0.224959 -0.069345 0.040516 1.089631 0.899237 0.136151 0.832552 1.215356 0.881670 0.944211 0.848668 0.152316 -0.124640 0.919395 0.853571 0.038901 0.049308 1.049839 -0.129701 1.004425 -0.052754 0.002949 -0.037696 0.133904 -0.020847 0.967100 0.902003 0.019567 -0.130260 -0.157473 -0.071944 0.135523 0.944472 -0.199005 -0.011428 -0.057531 1.218722 0.021172 0.873547 0.871952 0.950595 -0.066828 0.911583 0.960085 0.059484 1.216384 -0.015251 0.921576 1.107399 1.190526 1.009427 1.067453 1.067973 0.105850 -0.001821 0.968722 0.047666 0.095350 1.060487 0.951973 0.082517 1.139249 1.053557 0.799986 0.981175 0.927100 1.108483 -0.113217 0.056334 0.923079 -0.168060 1.160952 1.109659 0.931859 0.005663 0.016298 0.221144 -0.021547 1.134376 1.041640 -0.085720 1.009292 1.001582 0.885811 0.011233 0.110421 0.907129 0.093259 0.973361 0.842954 0.055170 1.054987 1.014198 -0.048044 0.812989 -0.144503 0.010466 1.029196 0.774851 0.843001 0.004633 1.225056 0.948512 -0.001831 -0.091454 -0.110441 0.000770 0.042991 0.840050 0.957463 0.073186 1.131453 -0.127608 1.100834 0.028867 0.991329 -0.079297 0.226099 1.081074 1.094744 -0.196334 -0.315150 -0.099639 0.860961 1.022403 0.767717 0.956186 1.242205 -0.055123 0.982544 1.115183 0.186049 0.867447 -0.036624 0.161043 -0.021433 0.029621 0.825744 0.027361 -0.010122 1.051195 0.027158 0.125747 -0.012676 1.018144 0.217569 -0.139580 1.065948 0.653885 0.017558 0.122910 1.005607 -0.024503 1.016854 0.118126 0.117812 0.209380 0.129761 0.103368 0.851695 0.818381 -0.060532 0.047740 1.092005 0.126179 -0.128900 1.046458 1.172438 0.945933 0.969409 0.186286 0.067827 0.866733 1.045200 1.053391 0.154799 -0.076177 1.034977 -0.251459 0.843987 1.036970 0.109710 1.081980 -0.054976 -0.104881 0.977835 0.917720 1.151081 1.224827 0.036178 1.178894 0.852252 1.170082 1.170461 0.979772 0.962385 0.904510 0.000036 -0.069878 0.919872 0.173255 1.075581 -0.013411 1.144951 -0.113696 0.013363 1.098609 1.014644 -0.003549 -0.244091 0.859325 1.071514 0.043866 1.123524 0.973631 0.994259 0.294619 0.940489 0.920230 0.796504 -0.004450 1.029035 -0.000831 0.920995 1.002150 0.986683 1.009523 1.089643 0.007497 1.152282 0.045887 1.088386 0.885838 -0.027924 0.051985 -0.076538 -0.224663 0.028256 -0.124194 0.724391 1.154873 0.792085 0.945537 1.154353 0.115964 0.986499 0.966811 1.012457 1.019910 -0.144866 0.815479 0.985586 0.913383 -0.150963 0.023412 -0.040408 -0.003953 0.004799 0.998876 0.002820 -0.098213 1.057293 -0.129926 0.137392 1.102538 1.079292 1.089070 1.130675 1.020925 1.154058 1.123118 0.858700 0.978386 0.138491 0.154692 1.041549 1.046975 1.030488 -0.158543 0.870238 0.064134 0.875614 -0.094478 0.900905 0.880022 1.134267 0.779059 0.063545 1.070040 -0.086015 1.008573 0.109322 -0.247240 0.015151 1.151193 -0.102164 0.087261 0.007995 0.854703 1.140979 -0.090975 0.812937 1.001838 0.168940 0.981369 -0.006072 -0.134631 1.058021 1.081911 0.004162 1.014677 0.995130 1.055979 -0.015306 0.058775 1.111668 0.059318 1.008648 0.996646 0.848989 -0.109175 1.102945 0.116474 0.906494 -0.120660 0.877452 0.886871 0.085411 0.884701 1.181621 1.062561 0.189097 0.973371 1.214908 0.001252 1.030678 0.152018 -0.037592 1.176813 0.948804 0.061120 1.019977 1.028438 -0.000808 0.087217 0.826864 0.893273 -0.207696 -0.074786 -0.108728 0.152240 -0.121688 0.980366 -0.049309 0.988905 0.044844 1.037851 0.979360 0.997856 1.209193 0.179051 1.004545 0.962175 1.139200 1.064077 0.021192 0.871727 0.976645 -0.060807 -0.016180 1.233966 0.984256 -0.044995 0.845917 0.182605 0.998382 0.007096 -0.023173 -0.024155 0.146239 1.013539 0.995536 0.048524 1.174691 1.141919 1.101145 -0.104732 0.114083 1.102748 0.983142 1.123097 -0.131915 1.072939 -0.138725 0.845004 -0.163152 -0.079593 1.018944 1.012216 0.030165 1.054447 0.994960 0.152361 -0.060656 1.093567 0.946563 0.106698 0.153793 -0.034551 1.295949 0.943407 -0.163119 0.067866 1.194305 0.979105 1.022403 1.106721 0.934941 -0.016105 1.092573 -0.050474 0.132465 0.025768 0.046448 0.920971 0.032186 0.827060 -0.132549 0.143363 0.083704 0.912578 -0.030293 0.096970 -0.039315 -0.023765 1.016646 0.854818 -0.052889 1.056921 0.089890 1.018924 0.081699 -0.114805 0.930082 -0.021013 0.109704 0.995297 -0.078029 1.125314 0.178931 0.020308 -0.221485 1.187702 0.047629 0.040061 1.015073 0.069320 0.060090 -0.115159 1.088644 -0.081572 0.068986 0.955768 0.084087 0.114901 1.013399 0.080815 -0.114939 1.007244 -0.059946 1.062447 1.043256 0.100314 1.021597 1.004933 -0.021577 -0.187720 -0.061395 -0.075323 -0.009496 0.985795 0.872323 -0.046461 0.888848 -0.053261 -0.110021 1.099191 0.979002 1.060305 1.062463 1.171427 0.691334 1.098940 0.054888 -0.017909 -0.010409 -0.111589 0.082490 0.948398 1.144871 0.127743 0.031811 1.026180 1.046146 -0.030210 -0.103802 0.989801 -0.310437 1.153393 1.012685 0.952894 1.001378 0.015652 1.054587 1.328504 -0.151531 1.037238 1.151575 0.030623 1.108802 -0.028053 0.044671 0.901073 0.934031 0.058498 0.039050 1.065155 0.024139 -0.131291 -0.082086 0.854526 1.154246 -0.049980 -0.184925 1.049877 -0.115467 -0.018300 1.001119 0.057983 1.189518 -0.114544 1.258100 1.123841 0.961039 1.070424 -0.124628 0.209509 0.034004 0.948762 1.100182 0.083224 0.948264 1.081482 0.076927 -0.000455 0.950737 0.098354 1.005742 1.019785 0.974317 0.230726 -0.067827 1.165865 0.048218 -0.058027 0.937849 0.079916 -0.012394 0.069161 0.050349 0.906284 0.832283 0.101171 0.790746 0.156878 0.740395 1.017554 0.191391 0.080956 1.000597 0.844203 0.944456 -0.111179 0.982617 1.037761 0.099785 0.851180 0.116591 0.142708 -0.015906 0.096645 0.965791 0.020953 0.925519 1.197465 -0.055737 1.095928 -0.064679 0.010255 0.936661 1.178645 0.190866 1.141107 0.130145 0.023056 0.121484 0.185090 -0.056773 0.100045 0.069574 1.039529 0.996635 1.085726 0.949189 -0.165723 -0.039203 1.116369 -0.064244 0.940174 -0.154655 1.121041 0.902088)
+       65.349256 #(0.000000 -0.129848 0.969209 0.836351 0.061754 1.032484 0.051397 -0.047672 0.218624 0.018916 -0.064346 -0.087720 0.896115 1.194836 0.077672 -0.093665 -0.097710 -0.086592 0.949666 1.122929 -0.067767 0.950039 1.122745 0.018018 0.930855 -0.245701 0.859196 -0.118393 -0.017421 0.154025 -0.211100 -0.109137 0.940842 -0.140564 0.967517 -0.167684 0.023269 0.025376 -0.045911 0.903419 -0.200515 -0.239733 0.820269 1.087952 1.103155 -0.067139 0.794572 -0.000447 0.796383 -0.050127 -0.097253 1.071546 0.028226 0.109239 0.999458 0.870447 0.946254 -0.081085 1.245293 0.861076 0.913395 -0.009593 0.921868 1.075746 0.111204 0.213778 0.007799 0.861516 0.879520 1.119282 1.112758 0.023180 0.087708 -0.039342 0.017034 -0.142251 -0.066926 0.123437 -0.087868 0.910913 0.108597 -0.196132 1.069560 1.014239 0.192506 0.075011 0.674937 -0.174632 1.062546 0.982886 -0.071153 -0.102231 1.008769 -0.021251 -0.043692 0.910660 1.203363 0.930076 1.192149 1.079643 1.139869 -0.102933 0.892075 1.081967 1.117296 1.069641 0.961155 0.889926 0.104236 -0.012679 1.018557 0.083425 0.102764 1.041332 1.049506 1.057530 0.927572 -0.192969 -0.132492 0.997314 1.171628 1.067315 1.038820 1.033745 1.322831 -0.007981 0.994085 0.965156 0.070645 1.143780 -0.097751 -0.035141 1.081372 0.841845 0.110341 -0.016561 1.124066 1.050833 0.937074 0.926741 -0.150226 0.056436 0.964946 1.014226 0.961483 0.200116 -0.027025 -0.042596 0.873435 1.128675 -0.074217 0.034750 0.002625 0.037174 1.052187 -0.007505 1.057468 -0.020629 0.954765 1.162873 0.836305 0.919671 0.176115 0.867824 0.159416 0.913293 0.972493 -0.057629 0.902111 0.973589 -0.086627 -0.008031 -0.139087 0.943821 1.137966 0.070214 -0.004563 0.871135 -0.028372 0.970905 -0.036782 0.845326 0.108872 0.880706 -0.063917 0.888627 0.925543 1.066596 0.853571 -0.093806 0.904332 -0.112339 0.945758 0.871634 -0.096140 1.001890 1.129246 0.963672 0.170539 1.085873 0.061910 1.045363 -0.043655 0.071480 -0.112838 1.140479 -0.203871 0.018032 0.967477 -0.109462 0.786798 0.159117 0.091987 1.000511 0.121439 0.998700 0.114766 0.043124 -0.051500 1.039391 -0.116269 0.884009 0.038584 0.870599 -0.009894 -0.177026 1.208055 1.281757 0.041090 1.074146 -0.185247 -0.160109 -0.084894 -0.013678 1.116236 0.043626 0.914436 1.186335 0.008002 -0.013450 -0.068550 0.867764 -0.069795 0.028624 1.053037 1.105179 1.148503 -0.078114 -0.107345 0.808140 0.888280 -0.101397 0.863680 -0.177989 0.805880 0.985054 0.997369 0.970739 0.045371 0.041317 -0.112380 1.007911 0.837435 0.969586 0.893134 1.011096 0.079245 0.911597 -0.043743 1.012740 1.031412 0.069924 0.910651 0.066980 0.855519 1.128309 1.046886 -0.009687 -0.147082 0.900969 1.137525 0.881305 1.084781 -0.031000 1.031283 0.123503 -0.135598 0.951868 0.887466 -0.122854 -0.039498 1.017664 -0.102471 1.018993 1.022945 0.093609 0.101814 1.044330 -0.102747 0.051954 0.001832 1.002061 1.025387 0.930853 0.958319 0.146189 0.932064 0.106399 1.032653 0.014707 0.032026 0.879101 -0.027770 0.031687 0.111934 0.802921 -0.076047 0.059286 0.065123 0.128711 0.974155 1.040636 -0.158251 -0.044445 -0.146345 1.152523 0.901758 -0.061750 0.921515 0.108254 -0.128639 1.088615 0.119335 1.107712 0.012965 0.831934 0.917791 0.827352 0.931376 0.029208 0.968659 1.110903 1.139422 0.103217 0.804597 0.104877 1.024813 1.110962 1.158506 1.074313 0.918885 1.091629 1.052239 1.155470 0.969547 0.176177 1.193274 1.000806 0.167489 -0.087811 1.272916 0.090580 0.837388 0.853777 0.021673 0.795498 0.153088 -0.039163 0.886259 0.953876 0.846456 0.902225 0.108103 -0.023242 1.091272 0.796242 1.011212 0.961046 1.021211 0.039001 -0.032781 1.042170 1.131254 1.092307 0.999148 0.071362 0.869992 0.079822 1.110594 1.044065 1.166722 0.955017 0.117000 0.059709 1.113545 0.131377 1.023012 -0.114272 0.975103 0.983023 -0.046717 0.032378 0.224959 -0.069345 0.040516 1.089631 0.899237 0.136151 0.832552 1.215356 0.881670 0.944211 0.848668 0.152316 -0.124640 0.919395 0.853571 0.038901 0.049308 1.049839 -0.129701 1.004425 -0.052754 0.002949 -0.037696 0.133904 -0.020847 0.967100 0.902003 0.019567 -0.130260 -0.157473 -0.071944 0.135523 0.944472 -0.199005 -0.011428 -0.057531 1.218722 0.021172 0.873547 0.871952 0.950595 -0.066828 0.911583 0.960085 0.059484 1.216384 -0.015251 0.921576 1.107399 1.190526 1.009427 1.067453 1.067973 0.105850 -0.001821 0.968722 0.047666 0.095350 1.060487 0.951973 0.082517 1.139249 1.053557 0.799986 0.981175 0.927100 1.108483 -0.113217 0.056334 0.923079 -0.168060 1.160952 1.109659 0.931859 0.005663 0.016298 0.221144 -0.021547 1.134376 1.041640 -0.085720 1.009292 1.001582 0.885811 0.011233 0.110421 0.907129 0.093259 0.973361 0.842954 0.055170 1.054987 1.014198 -0.048044 0.812989 -0.144503 0.010466 1.029196 0.774851 0.843001 0.004633 1.225056 0.948512 -0.001831 -0.091454 -0.110441 0.000770 0.042991 0.840050 0.957463 0.073186 1.131453 -0.127608 1.100834 0.028867 0.991329 -0.079297 0.226099 1.081074 1.094744 -0.196334 -0.315150 -0.099639 0.860961 1.022403 0.767717 0.956186 1.242205 -0.055123 0.982544 1.115183 0.186049 0.867447 -0.036624 0.161043 -0.021433 0.029621 0.825744 0.027361 -0.010122 1.051195 0.027158 0.125747 -0.012676 1.018144 0.217569 -0.139580 1.065948 0.653885 0.017558 0.122910 1.005607 -0.024503 1.016854 0.118126 0.117812 0.209380 0.129761 0.103368 0.851695 0.818381 -0.060532 0.047740 1.092005 0.126179 -0.128900 1.046458 1.172438 0.945933 0.969409 0.186286 0.067827 0.866733 1.045200 1.053391 0.154799 -0.076177 1.034977 -0.251459 0.843987 1.036970 0.109710 1.081980 -0.054976 -0.104881 0.977835 0.917720 1.151081 1.224827 0.036178 1.178894 0.852252 1.170082 1.170461 0.979772 0.962385 0.904510 0.000036 -0.069878 0.919872 0.173255 1.075581 -0.013411 1.144951 -0.113696 0.013363 1.098609 1.014644 -0.003549 -0.244091 0.859325 1.071514 0.043866 1.123524 0.973631 0.994259 0.294619 0.940489 0.920230 0.796504 -0.004450 1.029035 -0.000831 0.920995 1.002150 0.986683 1.009523 1.089643 0.007497 1.152282 0.045887 1.088386 0.885838 -0.027924 0.051985 -0.076538 -0.224663 0.028256 -0.124194 0.724391 1.154873 0.792085 0.945537 1.154353 0.115964 0.986499 0.966811 1.012457 1.019910 -0.144866 0.815479 0.985586 0.913383 -0.150963 0.023412 -0.040408 -0.003953 0.004799 0.998876 0.002820 -0.098213 1.057293 -0.129926 0.137392 1.102538 1.079292 1.089070 1.130675 1.020925 1.154058 1.123118 0.858700 0.978386 0.138491 0.154692 1.041549 1.046975 1.030488 -0.158543 0.870238 0.064134 0.875614 -0.094478 0.900905 0.880022 1.134267 0.779059 0.063545 1.070040 -0.086015 1.008573 0.109322 -0.247240 0.015151 1.151193 -0.102164 0.087261 0.007995 0.854703 1.140979 -0.090975 0.812937 1.001838 0.168940 0.981369 -0.006072 -0.134631 1.058021 1.081911 0.004162 1.014677 0.995130 1.055979 -0.015306 0.058775 1.111668 0.059318 1.008648 0.996646 0.848989 -0.109175 1.102945 0.116474 0.906494 -0.120660 0.877452 0.886871 0.085411 0.884701 1.181621 1.062561 0.189097 0.973371 1.214908 0.001252 1.030678 0.152018 -0.037592 1.176813 0.948804 0.061120 1.019977 1.028438 -0.000808 0.087217 0.826864 0.893273 -0.207696 -0.074786 -0.108728 0.152240 -0.121688 0.980366 -0.049309 0.988905 0.044844 1.037851 0.979360 0.997856 1.209193 0.179051 1.004545 0.962175 1.139200 1.064077 0.021192 0.871727 0.976645 -0.060807 -0.016180 1.233966 0.984256 -0.044995 0.845917 0.182605 0.998382 0.007096 -0.023173 -0.024155 0.146239 1.013539 0.995536 0.048524 1.174691 1.141919 1.101145 -0.104732 0.114083 1.102748 0.983142 1.123097 -0.131915 1.072939 -0.138725 0.845004 -0.163152 -0.079593 1.018944 1.012216 0.030165 1.054447 0.994960 0.152361 -0.060656 1.093567 0.946563 0.106698 0.153793 -0.034551 1.295949 0.943407 -0.163119 0.067866 1.194305 0.979105 1.022403 1.106721 0.934941 -0.016105 1.092573 -0.050474 0.132465 0.025768 0.046448 0.920971 0.032186 0.827060 -0.132549 0.143363 0.083704 0.912578 -0.030293 0.096970 -0.039315 -0.023765 1.016646 0.854818 -0.052889 1.056921 0.089890 1.018924 0.081699 -0.114805 0.930082 -0.021013 0.109704 0.995297 -0.078029 1.125314 0.178931 0.020308 -0.221485 1.187702 0.047629 0.040061 1.015073 0.069320 0.060090 -0.115159 1.088644 -0.081572 0.068986 0.955768 0.084087 0.114901 1.013399 0.080815 -0.114939 1.007244 -0.059946 1.062447 1.043256 0.100314 1.021597 1.004933 -0.021577 -0.187720 -0.061395 -0.075323 -0.009496 0.985795 0.872323 -0.046461 0.888848 -0.053261 -0.110021 1.099191 0.979002 1.060305 1.062463 1.171427 0.691334 1.098940 0.054888 -0.017909 -0.010409 -0.111589 0.082490 0.948398 1.144871 0.127743 0.031811 1.026180 1.046146 -0.030210 -0.103802 0.989801 -0.310437 1.153393 1.012685 0.952894 1.001378 0.015652 1.054587 1.328504 -0.151531 1.037238 1.151575 0.030623 1.108802 -0.028053 0.044671 0.901073 0.934031 0.058498 0.039050 1.065155 0.024139 -0.131291 -0.082086 0.854526 1.154246 -0.049980 -0.184925 1.049877 -0.115467 -0.018300 1.001119 0.057983 1.189518 -0.114544 1.258100 1.123841 0.961039 1.070424 -0.124628 0.209509 0.034004 0.948762 1.100182 0.083224 0.948264 1.081482 0.076927 -0.000455 0.950737 0.098354 1.005742 1.019785 0.974317 0.230726 -0.067827 1.165865 0.048218 -0.058027 0.937849 0.079916 -0.012394 0.069161 0.050349 0.906284 0.832283 0.101171 0.790746 0.156878 0.740395 1.017554 0.191391 0.080956 1.000597 0.844203 0.944456 -0.111179 0.982617 1.037761 0.099785 0.851180 0.116591 0.142708 -0.015906 0.096645 0.965791 0.020953 0.925519 1.197465 -0.055737 1.095928 -0.064679 0.010255 0.936661 1.178645 0.190866 1.141107 0.130145 0.023056 0.121484 0.185090 -0.056773 0.100045 0.069574 1.039529 0.996635 1.085726 0.949189 -0.165723 -0.039203 1.116369 -0.064244 0.940174 -0.154655 1.121041 0.902088)
        )
 
 ;;; 2048 prime --------------------------------------------------------------------------------
-(vector 2048 102.619 (fv 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1)
+(vector 2048 102.619 #(0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1)
 
-       95.904258 (fv 0.000000 -0.184827 -0.106502 -0.094974 0.803466 0.945074 0.963289 0.946874 -0.103266 0.049155 1.087214 0.886218 0.016107 0.059052 1.086003 0.896052 0.832875 0.168267 0.929954 0.104821 0.801629 0.032075 0.032796 0.227531 0.906532 1.124909 1.032850 0.878053 0.813900 -0.267885 0.885447 1.090714 0.853533 -0.000373 1.207049 0.922018 0.048308 0.893672 0.856221 0.975035 0.868154 0.098949 0.791588 1.196055 0.919249 -0.152557 0.991948 1.006717 1.133320 1.186246 0.920884 -0.060763 0.895777 0.020781 0.811521 0.941459 0.931533 0.044866 -0.116604 0.896466 0.029517 1.096540 0.918555 0.948344 0.929326 1.133930 0.012583 0.960301 1.199033 0.051836 1.012281 -0.182278 -0.104579 0.982487 0.083391 -0.235240 0.238134 0.851365 1.147123 -0.183897 0.931617 0.014719 0.969454 0.114930 -0.007528 0.927332 0.038357 0.920680 -0.081674 -0.182395 -0.011442 1.061361 0.921566 -0.084353 1.041705 0.161045 -0.067878 1.074036 0.941106 0.966219 0.919599 1.168159 1.032081 0.945189 0.044320 0.039817 -0.089720 1.130429 -0.069569 -0.278003 0.838588 0.754892 0.905296 0.076030 0.931578 0.143938 -0.063198 0.009752 0.994216 -0.018389 1.061023 0.998466 -0.064949 0.889855 -0.094736 -0.151667 1.224271 -0.191231 0.981083 0.017183 -0.228680 -0.064528 -0.051088 0.940309 1.101261 -0.034752 0.950794 -0.088223 1.190759 0.000979 1.058816 1.106846 0.070946 0.194156 1.093892 0.886993 1.017953 -0.051739 -0.284107 0.024602 0.969253 1.247816 0.935610 -0.089803 0.006657 0.841177 1.059923 1.023429 0.866137 0.046390 -0.124782 -0.252595 0.166144 1.083896 1.139053 0.949050 1.094868 1.174455 -0.189695 1.188365 1.031424 1.009889 1.067591 0.935164 0.237409 0.909064 0.009677 -0.177665 0.046406 1.016694 1.057379 -0.055836 0.052713 -0.065039 0.120813 0.836055 1.178838 0.902715 0.920359 0.806116 -0.117471 1.158887 0.994531 -0.009494 -0.163337 1.040739 1.131213 0.025531 -0.009616 0.139395 0.950856 -0.014744 0.115132 1.125894 -0.190579 0.101124 -0.125308 0.963704 0.026526 1.118700 0.022614 0.807945 0.913877 0.030742 0.927436 0.988232 -0.140750 0.124385 0.986885 0.991816 1.146772 -0.062919 0.074766 -0.034226 1.128490 0.957963 1.096308 1.046278 -0.048364 0.116505 1.136521 1.090002 -0.014238 -0.112155 1.033034 1.160610 -0.094599 0.068313 1.266010 1.098976 0.044651 0.131033 -0.116651 -0.075950 1.046348 0.030055 0.793219 -0.117150 1.124225 -0.160989 1.100541 1.045178 0.962828 -0.073358 -0.019227 1.173791 1.059709 0.937667 0.966884 0.928018 1.041334 -0.201315 0.174562 1.021851 -0.049449 0.907458 -0.107815 1.126703 0.073928 0.982065 0.825831 -0.033241 0.067472 0.917284 0.902681 1.015596 0.904075 -0.075353 -0.108265 0.963265 -0.090615 0.920339 0.977780 0.090733 0.904078 0.000883 1.347356 1.014221 0.985375 -0.100963 0.008783 0.942615 1.002685 1.149002 0.158462 0.917602 -0.099583 -0.025442 1.103430 0.071006 -0.151207 0.055689 -0.038941 0.098832 0.911418 1.062737 0.996744 0.760254 0.996130 0.014262 0.032851 0.956371 0.019061 0.996091 0.200667 1.164966 0.045741 0.060264 1.166834 -0.025387 0.966912 1.043716 0.969667 1.084931 -0.065039 0.974364 0.980017 0.844958 0.179207 0.723395 1.083973 -0.074447 0.912360 1.089065 1.005958 -0.119354 1.049441 0.937401 0.912303 0.937357 0.078173 0.927334 -0.094425 0.851189 0.132753 0.133028 1.043045 0.054936 -0.083812 0.903122 1.042637 1.178266 -0.107401 1.047050 -0.128737 0.160133 0.840861 0.896100 1.126802 0.903407 0.262267 0.053879 0.947798 -0.144016 -0.003985 0.146029 0.074915 0.771488 1.227288 0.890268 0.933106 1.075829 0.057968 0.066132 0.249704 -0.017827 0.090465 -0.047385 -0.060718 0.123360 0.988529 0.904277 -0.005465 -0.084169 -0.247831 0.999998 0.910292 1.144645 0.071091 0.088886 1.023713 -0.025414 0.984571 -0.240585 0.967555 -0.138539 0.196983 1.010405 -0.049670 -0.081707 0.064139 0.997860 0.836573 1.161272 -0.021657 0.041743 -0.127308 0.045553 0.018541 -0.044739 0.088082 0.142342 0.114457 1.055260 1.064567 -0.119380 -0.070251 -0.004341 0.963091 -0.120638 0.258819 1.053558 0.878500 1.069022 -0.123646 -0.014321 1.121295 1.085748 -0.044674 0.870738 0.685253 -0.051358 1.001113 -0.231350 0.033853 0.961438 0.037712 -0.113045 0.108555 1.037350 1.011749 1.028331 -0.080798 0.196328 0.059651 0.046311 0.977929 0.955683 -0.011917 0.990010 0.826271 0.043303 1.009806 1.189345 0.021063 0.072917 0.057585 0.061242 0.879010 0.849055 1.018528 0.955494 -0.055041 1.189587 -0.028346 -0.082984 0.099423 -0.024146 0.146930 -0.067314 0.849801 0.213148 0.924340 0.080454 0.905046 -0.129837 0.863551 -0.015056 1.161555 -0.111647 0.827215 0.819815 1.100249 1.048851 0.084224 1.096872 0.064524 1.027164 0.125925 0.828778 -0.032148 1.059894 1.017072 0.834004 -0.032573 -0.063582 1.159025 1.022326 0.063607 1.022556 1.099517 0.097842 0.150138 1.115534 0.951150 0.988949 0.155650 -0.134289 -0.115258 1.037176 1.021182 0.975772 1.072700 1.222345 0.924272 0.973662 0.930252 0.059705 0.077967 -0.109443 -0.103486 0.972696 -0.144205 0.802195 0.975677 0.802607 -0.042079 1.071307 1.022073 0.907916 1.035902 -0.048853 0.907965 0.883285 0.084385 -0.108649 0.944568 0.005988 0.933534 1.065312 -0.070265 -0.076879 -0.017044 -0.098932 1.208925 0.930986 -0.119229 -0.037509 1.090406 0.992176 -0.000651 0.937690 0.916741 -0.066544 1.095679 -0.058814 1.036581 -0.051849 -0.017058 -0.030283 0.051491 0.954183 0.950362 -0.021757 -0.062612 1.017252 0.855360 0.008584 0.998471 0.053177 -0.102277 -0.071410 -0.113602 0.020219 0.047660 0.112990 0.815120 1.152303 1.067537 1.052888 0.004076 0.157730 0.930208 0.885789 0.948613 1.018989 0.998994 -0.098675 0.134960 0.084711 0.092822 0.103312 -0.196457 1.024530 1.108457 0.891294 1.054699 1.016928 -0.022703 0.811591 1.004965 -0.017036 0.232325 0.973190 1.052258 1.071581 1.167101 -0.078778 1.126544 0.054092 0.108866 0.166665 1.087490 0.998143 -0.013409 0.871172 0.885040 1.019108 1.127064 1.196444 0.957927 0.852239 -0.008268 -0.145143 1.063054 -0.026011 1.007974 0.983277 -0.031336 1.126868 0.969557 0.015995 0.940510 0.206836 -0.166196 0.069999 0.106477 0.969534 0.962793 1.057184 0.039570 1.013939 0.966957 -0.186086 1.043328 0.103727 0.826020 0.082145 0.142187 0.193131 0.806568 -0.194497 0.073921 0.929470 0.014750 1.003891 1.130669 0.912871 -0.166896 -0.010434 0.224001 0.019969 0.882091 1.015999 0.050540 0.927299 -0.028913 0.088865 -0.038210 0.838785 0.179969 -0.063760 0.909551 0.970913 0.864195 -0.147216 1.017549 0.931612 1.076838 0.174334 -0.004854 1.146351 -0.071188 0.005023 0.983870 0.987921 -0.073293 1.144937 -0.008273 1.069178 0.160218 0.940671 -0.099513 -0.160986 -0.053460 -0.000349 -0.066930 0.258818 0.037651 0.899944 1.011860 -0.024019 0.049159 -0.114396 0.997122 0.988277 -0.086170 1.100402 0.827506 -0.071549 1.014472 0.830365 -0.029296 1.033932 -0.095907 -0.073030 0.967696 1.060165 0.920338 1.199129 -0.072200 0.053416 -0.126898 1.108390 0.903008 1.109424 0.964135 -0.083890 0.099047 -0.111937 1.079528 1.230021 1.124700 0.946124 1.081677 -0.089364 1.123287 0.082817 -0.048549 0.013111 -0.005217 1.016286 0.025359 -0.151572 1.137235 1.013948 1.006359 -0.020039 -0.117293 1.111762 0.892597 1.058754 0.795600 0.996014 0.931963 1.115786 -0.029889 0.877043 -0.234877 1.149674 1.027911 1.261517 0.048880 0.113954 -0.024127 0.075365 -0.048636 0.036252 0.831941 0.943628 0.982317 0.918776 1.086510 0.931126 -0.077364 0.039915 1.020953 -0.068839 0.962253 0.910823 0.025853 0.065365 0.021206 -0.021296 0.872652 0.026536 -0.052762 0.003250 0.029539 0.991921 1.021217 -0.042456 0.777756 0.980840 0.078981 -0.130613 0.133311 -0.065841 -0.085861 1.178451 0.115564 1.082062 1.015392 0.928586 0.967073 1.156891 -0.010223 0.936469 -0.154645 0.995277 1.073333 -0.010159 -0.073318 1.117785 0.123446 0.035440 0.914424 0.055982 1.255170 0.975126 0.021080 -0.037628 1.048938 0.871136 1.107293 0.955878 -0.056277 1.017033 0.090456 0.993267 0.757034 1.002409 0.941223 0.920711 1.181339 0.032023 -0.085516 0.974206 -0.026907 0.142086 -0.002800 0.952901 1.119119 1.039547 0.762175 1.056838 -0.114595 0.884738 0.718220 0.960728 -0.156479 1.189199 -0.165202 0.904637 -0.041429 -0.050488 -0.179745 1.054673 -0.082418 0.030881 1.160170 0.821960 -0.086297 0.010350 0.932553 0.035420 -0.009593 0.011040 0.051718 0.904123 0.028769 0.100605 1.033920 -0.169584 1.086360 1.131494 0.107596 -0.114123 0.021393 0.010364 -0.152848 0.035197 0.012279 -0.133590 -0.062321 1.204840 0.937029 -0.068386 1.145671 0.973614 1.135843 0.883055 0.070061 0.997608 1.003482 0.989245 1.204030 1.197676 0.838535 0.029369 -0.215349 1.060468 0.880276 0.931456 0.125650 1.132780 -0.117697 0.200533 0.075686 1.191015 1.016195 0.037000 1.110074 0.982317 0.982573 0.824837 -0.229925 1.006482 -0.062451 -0.057872 0.979641 -0.230341 -0.020939 1.006077 0.857917 1.098933 -0.267219 0.043265 0.935436 0.964162 -0.007168 0.164970 0.165342 1.068220 0.945315 0.948634 1.023862 -0.029831 0.992343 0.020292 0.067126 0.932456 0.808919 0.096733 0.000609 0.083113 1.019237 0.858419 1.013183 0.098990 0.930352 -0.062223 1.082324 -0.042610 1.104376 0.999943 -0.136202 0.964477 -0.092847 1.096219 1.036690 1.110447 0.987439 0.893158 0.111588 -0.094486 0.748732 0.981962 1.023640 1.021660 0.931300 1.325728 0.988586 0.832724 0.042650 -0.080219 -0.124412 0.083378 -0.047165 0.013229 0.179035 1.036229 0.106634 -0.154080 0.015828 -0.138512 0.228898 0.970943 1.152854 0.994299 1.087348 1.079495 -0.014073 0.985630 1.046303 0.921605 -0.148486 -0.082307 1.049524 0.140156 1.012720 0.976567 0.874688 -0.045198 1.031276 0.883380 0.011846 -0.003498 1.009216 0.885002 0.172619 0.843282 0.029227 -0.097679 -0.125796 0.933874 0.978897 0.725114 0.844720 1.075252 0.947844 0.926610 0.182857 0.841432 1.040159 0.998281 0.169201 0.136041 1.216461 0.161331 -0.074244 1.061895 0.862101 0.118827 1.150273 1.131402 0.028905 0.802992 -0.116645 0.004795 -0.035171 -0.225349 -0.011793 1.004637 1.052814 0.132105 0.965384 1.075721 0.233900 0.952135 0.901143 1.131006 0.032321 1.011176 0.873840 0.182329 -0.079077 0.896822 0.005166 0.903099 1.092780 -0.025076 -0.019178 0.015239 0.984311 1.216486 0.992874 0.054129 0.144836 0.099554 0.103521 0.100432 -0.026631 0.042079 0.163741 1.041917 0.792159 0.979852 0.977128 0.103524 1.113377 -0.157199 1.027202 0.929073 1.074076 -0.112317 0.199279 0.760239 0.001430 1.277148 0.009244 0.986963 0.109581 1.086070 -0.134094 0.327295 0.686709 -0.296672 0.932890 0.968488 0.216488 0.165531 0.285075 -0.094601 -0.165028 0.950486 0.963591 0.864035 -0.065266 1.013992 0.911092 -0.094152 -0.152792 1.070739 -0.039448 1.166353 -0.004048 0.032871 0.996625 1.100064 1.255396 0.839630 -0.081969 0.162263 0.140738 1.003998 0.779814 0.961648 1.146742 0.167212 0.925641 1.185256 0.824157 -0.033666 -0.007601 0.908697 0.230017 0.822888 0.740994 0.033372 1.160544 1.098836 -0.044005 1.021078 0.126042 0.049334 0.898357 1.032574 0.865757 0.947486 0.886121 0.055309 0.044278 -0.037421 1.134951 0.864539 -0.011595 -0.007199 0.067683 1.090102 1.092557 0.046997 0.027613 0.949146 0.875265 0.136983 -0.135656 0.985803 -0.132003 0.135341 0.013222 1.091309 1.098115 0.015599 0.119349 0.014805 1.069340 1.102334 1.032680 -0.031084 0.906554 -0.088863 0.069579 1.064396 0.128172 1.022790 1.107156 -0.057182 0.995012 1.054566 1.042520 -0.160709 1.125070 -0.094154 0.046403 -0.069345 0.119373 -0.184893 0.070830 1.044722 1.098693 1.111409 1.135049 0.985119 0.066473 0.058424 1.004842 -0.094015 1.117752 0.799547 1.268968 0.039520 0.996895 -0.102408 -0.030667 0.930842 1.078283 1.102597 0.055578 0.110127 0.923904 1.005813 0.918634 1.079133 -0.099263 0.905943 1.047321 0.848243 -0.009403 -0.068258 1.012623 -0.037975 1.142196 0.851851 0.109046 1.141382 0.890904 0.996832 -0.088058 1.288646 1.097971 -0.100491 0.918525 0.015332 1.145115 0.117738 1.014796 -0.205627 -0.177297 -0.006318 0.055035 1.183699 0.900390 1.055439 1.182836 0.107470 0.210820 -0.154634 1.100666 0.004257 0.125613 0.849489 1.120995 -0.046236 -0.066772 0.011079 -0.102932 0.932197 0.023264 0.246085 0.163405 0.869069 0.102531 1.077511 0.954854 0.038602 0.079792 0.927047 0.983181 1.030696 0.962590 -0.055603 -0.107934 1.126555 0.946728 1.063664 0.137033 -0.128875 0.885196 0.091522 0.893839 1.007955 0.978475 0.978266 0.067848 1.038168 1.090875 -0.061309 1.116028 1.016019 0.011872 -0.108054 0.108874 0.083760 0.113696 1.116111 0.014309 0.005128 1.099189 -0.004973 1.325065 1.221479 0.028469 1.235019 -0.212490 0.962518 1.027151 -0.044149 0.142639 0.155400 0.936540 -0.039180 0.937115 -0.085578 1.019973 1.270603 0.140594 0.061038 1.087655 0.063712 1.177018 -0.029958 0.758319 0.051019 -0.094233 0.962416 -0.006348 -0.003660 0.019678 1.112579 1.058837 -0.108754 0.005081 0.979604 0.909652 -0.162160 0.189741 1.115396 -0.046934 0.809487 0.174222 -0.004756 1.140939 0.812895 0.050537 0.171915 -0.128895 0.969610 0.953147 1.047572 0.122563 0.889198 -0.104048 0.001916 -0.008785 1.172703 -0.213570 -0.114233 -0.152007 -0.161789 -0.132968 1.055565 0.784424 0.202349 -0.012066 0.004158 -0.039121 1.114936 0.962613 0.954226 1.105200 0.985756 1.026320 -0.117780 0.866616 1.000189 -0.163224 0.999105 1.165142 0.001717 1.023313 -0.052468 -0.233246 -0.078417 -0.014831 0.008989 0.105092 1.100102 -0.114187 0.962275 0.827359 -0.135499 1.155899 0.983914 -0.197096 0.920622 0.925756 0.074101 1.105182 0.068112 0.889324 0.995794 -0.181975 1.079197 -0.174077 -0.086147 1.108775 0.836038 0.920177 0.069115 1.056833 1.065288 1.011220 0.037095 -0.051383 0.059023 0.966919 0.975420 0.992209 -0.050411 1.034776 0.060947 0.024827 0.189251 1.128565 -0.026102 0.882647 1.113292 0.059688 -0.055524 1.097931 -0.076831 0.148308 0.009684 0.993343 0.181407 0.980680 -0.253676 1.203786 0.837538 -0.111906 -0.046920 0.992998 1.138650 0.102810 0.732933 0.974495 1.134363 0.841220 -0.244832 0.191984 1.089926 -0.014286 1.033093 0.795315 0.027888 1.086315 0.921910 0.023081 1.023830 0.070684 1.183612 -0.197469 -0.072227 1.175515 1.132615 0.147372 1.165071 0.693358 0.086944 0.167356 1.154251 0.067038 1.011388 0.195281 0.162053 0.058855 0.118483 1.091391 1.199083 0.861074 0.152693 -0.184650 -0.275426 0.016699 1.041744 1.082925 0.896020 -0.212005 -0.028325 0.837564 1.192865 0.964038 1.140280 0.832699 0.060523 1.017736 0.007067 1.222558 0.776881 1.025602 0.136510 1.065558 0.031534 1.120667 -0.017440 -0.095844 0.986588 0.811881 1.008160 1.083596 -0.057608 1.030774 -0.185755 1.016553 -0.060277 0.044570 0.071469 1.026382 -0.218238 -0.134819 0.125155 1.052665 0.219534 1.053074 0.975626 0.942097 0.042773 0.914988 0.904458 1.068383 0.122945 -0.160737 0.195111 -0.112309 0.079404 0.873713 0.743694 -0.042029 0.017013 1.026689 -0.033216 0.846494 1.151063 -0.096712 0.933521 -0.150138 0.998351 0.097766 1.014397 1.003826 0.249110 -0.089820 -0.095115 -0.041617 1.005328 -0.026956 0.282608 -0.227117 0.900497 0.151081 1.074944 0.999410 0.070956 0.989252 1.046830 0.036838 0.060586 0.119680 1.033878 1.147593 1.072223 1.038019 -0.063806 -0.066418 -0.094579 0.121532 0.058665 0.065637 0.015630 1.033625 -0.167401 -0.044227 0.109799 1.069494 0.978455 0.951966 0.848373 1.183717 0.052564 -0.139052 0.109210 1.056692 1.084067 0.913136 0.026099 0.888367 1.004145 -0.006357 -0.186626 1.147417 0.008987 1.033956 0.198511 1.087879 0.153898 -0.007073 -0.053729 0.960733 -0.079153 -0.112602 0.118601 1.127696 0.124208 -0.118455 1.113389 -0.141400 0.095581 0.831887 0.079625 1.065606 1.064953 -0.043117 0.883460 -0.117838 0.984417 1.073930 -0.020071 -0.020565 -0.110661 -0.029427 0.000735 0.129840 -0.059144 0.853604 0.029159 1.153760 -0.035371 0.120975 0.829886 0.902305 0.004019 1.024841 -0.008315 -0.040841 0.081011 0.034157 0.925135 0.026143 -0.146226 0.818801 0.997553 -0.057337 0.039344 0.045043 -0.058730 0.061450 0.034397 0.032312 1.021479 0.069734 0.032385 -0.034352 1.143739 0.128130 0.837756 0.143447 1.191780 1.005715 -0.145746 0.060156 -0.089751 0.993522 1.117964 1.113924 -0.051214 0.989301 1.131346 0.978070 1.120586 -0.104089 0.755209 0.911168 0.043338 0.799533 -0.065789 1.035956 1.103884 1.108033 -0.011160 0.018199 1.076458 1.033226 1.049461 0.927281 0.875446 -0.132488 -0.016539 1.040494 -0.085837 0.845351 0.082137 0.957295 0.975488 -0.233161 1.046308 0.968283 1.119329 0.799388 0.835437 1.198178 1.006967 -0.080996 1.022071 0.222670 1.054955 1.028112 0.145964 0.775125 0.053077 -0.139928 0.982870 0.012204 1.181785 -0.055209 0.064440 0.028436 -0.055658 0.988257 0.885626 0.925751 1.041503 -0.102556 0.199169 0.817618 1.118232 -0.154162 1.103379 0.161217 0.043204 0.038827 0.297793 0.101115 1.084585 0.911258 -0.017387 1.093864 1.174369 -0.052884 1.010587 1.084918 1.042023 0.988052 1.008470 1.079842 0.911711 -0.105412 1.049916 0.966051 -0.030853 0.634323 0.027996 0.065373 0.165603 -0.198745 0.121133 0.904870 0.798116 0.109313 -0.023197 -0.012270 -0.099679 -0.007982 0.957938 0.064886 1.066324 0.891833 0.030809 0.008848 -0.058683 1.151904 -0.064909 0.005548 0.092447 0.994226 0.980543 0.036553 0.977629 0.908112 1.053035 1.015332 1.120582 1.029707 0.935519 0.767415 -0.107332 1.106993 0.051063 -0.090849 -0.152447 1.074408 0.930237 -0.134191 -0.041339 1.154220 0.912402 0.915882 -0.155688 0.004278 1.005960 -0.029173 0.929692 0.891253 0.904414 -0.022210 0.912185 0.032760 -0.175809 1.064184 0.004444 1.023131 0.014814 0.025559 0.065555 0.781532 -0.029379 -0.197955 0.897852 -0.013217 1.093294 0.004968 -0.102189 1.031592 0.748643 0.996666 0.053363 -0.174095 0.022123 1.073767 0.026629 0.817199 0.923850 0.016734 1.000997 0.181206 0.011231 0.956073 0.190711 0.864217 -0.176983 1.016978 1.028389 0.023092 0.841323 1.197465 -0.032185 -0.023935 -0.154948 0.938794 0.022079 0.018001 0.863273 0.095137 -0.103529 1.048691 1.044424 1.076913 -0.091685 1.016448 0.235867 -0.191122 1.021688 0.903834 1.103008 1.062811 0.974671 0.808982 0.919788 0.797299 0.003866 0.924240 1.138022 1.138392 -0.086041 -0.072381 1.089510 0.997304 -0.196238 -0.081117 0.998652 -0.136927 1.094476 1.025478 1.128812 -0.043799 -0.160622 1.202644 -0.097115 1.028359 1.128248 1.149200 0.046912 1.215106 0.095300 0.230991 -0.177631 1.060265 0.025009 -0.087069 -0.045585 0.107297 0.905981 1.067101 1.105134 0.200901 0.832244 -0.158358 0.063741 -0.002433 0.178939 1.150184 -0.013758 0.739082 0.970621 1.116445 -0.077580 0.874011 -0.000811 0.757786 1.027494 0.948749 0.128206 1.197540 -0.121973 -0.035650 0.227456 1.012591 0.093402 0.788900 0.046330 1.127347 0.937960 0.147998 0.295156 0.047168 -0.449697 1.185666 1.027567 1.056837 0.896828 0.093411 0.188188 1.051113 0.196550 0.986178 0.963111 1.064836 0.986799 0.068409 0.940694 0.044600 0.930849 0.776664 1.119660 0.877476 -0.187121 0.889222 0.896426 1.114193 0.109176 0.974296 0.017034 0.058848 0.003626 -0.056434 -0.053055 -0.327863 1.110462 1.191687 0.833810 -0.093180 1.062518 0.877602 0.130458 1.046517 0.945395 -0.042202 0.884421 0.076614 0.998365 0.963405 -0.042360 1.233324 1.032498 0.850640 0.878991 1.172081 -0.131938 0.138522 1.031223 -0.060356 1.045766 1.146384 1.014251 1.035122 1.033944 0.910994 0.140291 0.017496 0.074785 0.017803 1.051564 0.940908 1.102397 0.914000 -0.151381 -0.037398 0.841172 0.980431 0.926522 1.010521 0.906633 0.898542 -0.046207 1.056040 -0.119697 -0.388635 1.042092 1.062407 -0.114191 0.973897 0.038767 0.170771 0.104476 0.108748 0.973779 0.829369 0.903094)
+       95.904258 #(0.000000 -0.184827 -0.106502 -0.094974 0.803466 0.945074 0.963289 0.946874 -0.103266 0.049155 1.087214 0.886218 0.016107 0.059052 1.086003 0.896052 0.832875 0.168267 0.929954 0.104821 0.801629 0.032075 0.032796 0.227531 0.906532 1.124909 1.032850 0.878053 0.813900 -0.267885 0.885447 1.090714 0.853533 -0.000373 1.207049 0.922018 0.048308 0.893672 0.856221 0.975035 0.868154 0.098949 0.791588 1.196055 0.919249 -0.152557 0.991948 1.006717 1.133320 1.186246 0.920884 -0.060763 0.895777 0.020781 0.811521 0.941459 0.931533 0.044866 -0.116604 0.896466 0.029517 1.096540 0.918555 0.948344 0.929326 1.133930 0.012583 0.960301 1.199033 0.051836 1.012281 -0.182278 -0.104579 0.982487 0.083391 -0.235240 0.238134 0.851365 1.147123 -0.183897 0.931617 0.014719 0.969454 0.114930 -0.007528 0.927332 0.038357 0.920680 -0.081674 -0.182395 -0.011442 1.061361 0.921566 -0.084353 1.041705 0.161045 -0.067878 1.074036 0.941106 0.966219 0.919599 1.168159 1.032081 0.945189 0.044320 0.039817 -0.089720 1.130429 -0.069569 -0.278003 0.838588 0.754892 0.905296 0.076030 0.931578 0.143938 -0.063198 0.009752 0.994216 -0.018389 1.061023 0.998466 -0.064949 0.889855 -0.094736 -0.151667 1.224271 -0.191231 0.981083 0.017183 -0.228680 -0.064528 -0.051088 0.940309 1.101261 -0.034752 0.950794 -0.088223 1.190759 0.000979 1.058816 1.106846 0.070946 0.194156 1.093892 0.886993 1.017953 -0.051739 -0.284107 0.024602 0.969253 1.247816 0.935610 -0.089803 0.006657 0.841177 1.059923 1.023429 0.866137 0.046390 -0.124782 -0.252595 0.166144 1.083896 1.139053 0.949050 1.094868 1.174455 -0.189695 1.188365 1.031424 1.009889 1.067591 0.935164 0.237409 0.909064 0.009677 -0.177665 0.046406 1.016694 1.057379 -0.055836 0.052713 -0.065039 0.120813 0.836055 1.178838 0.902715 0.920359 0.806116 -0.117471 1.158887 0.994531 -0.009494 -0.163337 1.040739 1.131213 0.025531 -0.009616 0.139395 0.950856 -0.014744 0.115132 1.125894 -0.190579 0.101124 -0.125308 0.963704 0.026526 1.118700 0.022614 0.807945 0.913877 0.030742 0.927436 0.988232 -0.140750 0.124385 0.986885 0.991816 1.146772 -0.062919 0.074766 -0.034226 1.128490 0.957963 1.096308 1.046278 -0.048364 0.116505 1.136521 1.090002 -0.014238 -0.112155 1.033034 1.160610 -0.094599 0.068313 1.266010 1.098976 0.044651 0.131033 -0.116651 -0.075950 1.046348 0.030055 0.793219 -0.117150 1.124225 -0.160989 1.100541 1.045178 0.962828 -0.073358 -0.019227 1.173791 1.059709 0.937667 0.966884 0.928018 1.041334 -0.201315 0.174562 1.021851 -0.049449 0.907458 -0.107815 1.126703 0.073928 0.982065 0.825831 -0.033241 0.067472 0.917284 0.902681 1.015596 0.904075 -0.075353 -0.108265 0.963265 -0.090615 0.920339 0.977780 0.090733 0.904078 0.000883 1.347356 1.014221 0.985375 -0.100963 0.008783 0.942615 1.002685 1.149002 0.158462 0.917602 -0.099583 -0.025442 1.103430 0.071006 -0.151207 0.055689 -0.038941 0.098832 0.911418 1.062737 0.996744 0.760254 0.996130 0.014262 0.032851 0.956371 0.019061 0.996091 0.200667 1.164966 0.045741 0.060264 1.166834 -0.025387 0.966912 1.043716 0.969667 1.084931 -0.065039 0.974364 0.980017 0.844958 0.179207 0.723395 1.083973 -0.074447 0.912360 1.089065 1.005958 -0.119354 1.049441 0.937401 0.912303 0.937357 0.078173 0.927334 -0.094425 0.851189 0.132753 0.133028 1.043045 0.054936 -0.083812 0.903122 1.042637 1.178266 -0.107401 1.047050 -0.128737 0.160133 0.840861 0.896100 1.126802 0.903407 0.262267 0.053879 0.947798 -0.144016 -0.003985 0.146029 0.074915 0.771488 1.227288 0.890268 0.933106 1.075829 0.057968 0.066132 0.249704 -0.017827 0.090465 -0.047385 -0.060718 0.123360 0.988529 0.904277 -0.005465 -0.084169 -0.247831 0.999998 0.910292 1.144645 0.071091 0.088886 1.023713 -0.025414 0.984571 -0.240585 0.967555 -0.138539 0.196983 1.010405 -0.049670 -0.081707 0.064139 0.997860 0.836573 1.161272 -0.021657 0.041743 -0.127308 0.045553 0.018541 -0.044739 0.088082 0.142342 0.114457 1.055260 1.064567 -0.119380 -0.070251 -0.004341 0.963091 -0.120638 0.258819 1.053558 0.878500 1.069022 -0.123646 -0.014321 1.121295 1.085748 -0.044674 0.870738 0.685253 -0.051358 1.001113 -0.231350 0.033853 0.961438 0.037712 -0.113045 0.108555 1.037350 1.011749 1.028331 -0.080798 0.196328 0.059651 0.046311 0.977929 0.955683 -0.011917 0.990010 0.826271 0.043303 1.009806 1.189345 0.021063 0.072917 0.057585 0.061242 0.879010 0.849055 1.018528 0.955494 -0.055041 1.189587 -0.028346 -0.082984 0.099423 -0.024146 0.146930 -0.067314 0.849801 0.213148 0.924340 0.080454 0.905046 -0.129837 0.863551 -0.015056 1.161555 -0.111647 0.827215 0.819815 1.100249 1.048851 0.084224 1.096872 0.064524 1.027164 0.125925 0.828778 -0.032148 1.059894 1.017072 0.834004 -0.032573 -0.063582 1.159025 1.022326 0.063607 1.022556 1.099517 0.097842 0.150138 1.115534 0.951150 0.988949 0.155650 -0.134289 -0.115258 1.037176 1.021182 0.975772 1.072700 1.222345 0.924272 0.973662 0.930252 0.059705 0.077967 -0.109443 -0.103486 0.972696 -0.144205 0.802195 0.975677 0.802607 -0.042079 1.071307 1.022073 0.907916 1.035902 -0.048853 0.907965 0.883285 0.084385 -0.108649 0.944568 0.005988 0.933534 1.065312 -0.070265 -0.076879 -0.017044 -0.098932 1.208925 0.930986 -0.119229 -0.037509 1.090406 0.992176 -0.000651 0.937690 0.916741 -0.066544 1.095679 -0.058814 1.036581 -0.051849 -0.017058 -0.030283 0.051491 0.954183 0.950362 -0.021757 -0.062612 1.017252 0.855360 0.008584 0.998471 0.053177 -0.102277 -0.071410 -0.113602 0.020219 0.047660 0.112990 0.815120 1.152303 1.067537 1.052888 0.004076 0.157730 0.930208 0.885789 0.948613 1.018989 0.998994 -0.098675 0.134960 0.084711 0.092822 0.103312 -0.196457 1.024530 1.108457 0.891294 1.054699 1.016928 -0.022703 0.811591 1.004965 -0.017036 0.232325 0.973190 1.052258 1.071581 1.167101 -0.078778 1.126544 0.054092 0.108866 0.166665 1.087490 0.998143 -0.013409 0.871172 0.885040 1.019108 1.127064 1.196444 0.957927 0.852239 -0.008268 -0.145143 1.063054 -0.026011 1.007974 0.983277 -0.031336 1.126868 0.969557 0.015995 0.940510 0.206836 -0.166196 0.069999 0.106477 0.969534 0.962793 1.057184 0.039570 1.013939 0.966957 -0.186086 1.043328 0.103727 0.826020 0.082145 0.142187 0.193131 0.806568 -0.194497 0.073921 0.929470 0.014750 1.003891 1.130669 0.912871 -0.166896 -0.010434 0.224001 0.019969 0.882091 1.015999 0.050540 0.927299 -0.028913 0.088865 -0.038210 0.838785 0.179969 -0.063760 0.909551 0.970913 0.864195 -0.147216 1.017549 0.931612 1.076838 0.174334 -0.004854 1.146351 -0.071188 0.005023 0.983870 0.987921 -0.073293 1.144937 -0.008273 1.069178 0.160218 0.940671 -0.099513 -0.160986 -0.053460 -0.000349 -0.066930 0.258818 0.037651 0.899944 1.011860 -0.024019 0.049159 -0.114396 0.997122 0.988277 -0.086170 1.100402 0.827506 -0.071549 1.014472 0.830365 -0.029296 1.033932 -0.095907 -0.073030 0.967696 1.060165 0.920338 1.199129 -0.072200 0.053416 -0.126898 1.108390 0.903008 1.109424 0.964135 -0.083890 0.099047 -0.111937 1.079528 1.230021 1.124700 0.946124 1.081677 -0.089364 1.123287 0.082817 -0.048549 0.013111 -0.005217 1.016286 0.025359 -0.151572 1.137235 1.013948 1.006359 -0.020039 -0.117293 1.111762 0.892597 1.058754 0.795600 0.996014 0.931963 1.115786 -0.029889 0.877043 -0.234877 1.149674 1.027911 1.261517 0.048880 0.113954 -0.024127 0.075365 -0.048636 0.036252 0.831941 0.943628 0.982317 0.918776 1.086510 0.931126 -0.077364 0.039915 1.020953 -0.068839 0.962253 0.910823 0.025853 0.065365 0.021206 -0.021296 0.872652 0.026536 -0.052762 0.003250 0.029539 0.991921 1.021217 -0.042456 0.777756 0.980840 0.078981 -0.130613 0.133311 -0.065841 -0.085861 1.178451 0.115564 1.082062 1.015392 0.928586 0.967073 1.156891 -0.010223 0.936469 -0.154645 0.995277 1.073333 -0.010159 -0.073318 1.117785 0.123446 0.035440 0.914424 0.055982 1.255170 0.975126 0.021080 -0.037628 1.048938 0.871136 1.107293 0.955878 -0.056277 1.017033 0.090456 0.993267 0.757034 1.002409 0.941223 0.920711 1.181339 0.032023 -0.085516 0.974206 -0.026907 0.142086 -0.002800 0.952901 1.119119 1.039547 0.762175 1.056838 -0.114595 0.884738 0.718220 0.960728 -0.156479 1.189199 -0.165202 0.904637 -0.041429 -0.050488 -0.179745 1.054673 -0.082418 0.030881 1.160170 0.821960 -0.086297 0.010350 0.932553 0.035420 -0.009593 0.011040 0.051718 0.904123 0.028769 0.100605 1.033920 -0.169584 1.086360 1.131494 0.107596 -0.114123 0.021393 0.010364 -0.152848 0.035197 0.012279 -0.133590 -0.062321 1.204840 0.937029 -0.068386 1.145671 0.973614 1.135843 0.883055 0.070061 0.997608 1.003482 0.989245 1.204030 1.197676 0.838535 0.029369 -0.215349 1.060468 0.880276 0.931456 0.125650 1.132780 -0.117697 0.200533 0.075686 1.191015 1.016195 0.037000 1.110074 0.982317 0.982573 0.824837 -0.229925 1.006482 -0.062451 -0.057872 0.979641 -0.230341 -0.020939 1.006077 0.857917 1.098933 -0.267219 0.043265 0.935436 0.964162 -0.007168 0.164970 0.165342 1.068220 0.945315 0.948634 1.023862 -0.029831 0.992343 0.020292 0.067126 0.932456 0.808919 0.096733 0.000609 0.083113 1.019237 0.858419 1.013183 0.098990 0.930352 -0.062223 1.082324 -0.042610 1.104376 0.999943 -0.136202 0.964477 -0.092847 1.096219 1.036690 1.110447 0.987439 0.893158 0.111588 -0.094486 0.748732 0.981962 1.023640 1.021660 0.931300 1.325728 0.988586 0.832724 0.042650 -0.080219 -0.124412 0.083378 -0.047165 0.013229 0.179035 1.036229 0.106634 -0.154080 0.015828 -0.138512 0.228898 0.970943 1.152854 0.994299 1.087348 1.079495 -0.014073 0.985630 1.046303 0.921605 -0.148486 -0.082307 1.049524 0.140156 1.012720 0.976567 0.874688 -0.045198 1.031276 0.883380 0.011846 -0.003498 1.009216 0.885002 0.172619 0.843282 0.029227 -0.097679 -0.125796 0.933874 0.978897 0.725114 0.844720 1.075252 0.947844 0.926610 0.182857 0.841432 1.040159 0.998281 0.169201 0.136041 1.216461 0.161331 -0.074244 1.061895 0.862101 0.118827 1.150273 1.131402 0.028905 0.802992 -0.116645 0.004795 -0.035171 -0.225349 -0.011793 1.004637 1.052814 0.132105 0.965384 1.075721 0.233900 0.952135 0.901143 1.131006 0.032321 1.011176 0.873840 0.182329 -0.079077 0.896822 0.005166 0.903099 1.092780 -0.025076 -0.019178 0.015239 0.984311 1.216486 0.992874 0.054129 0.144836 0.099554 0.103521 0.100432 -0.026631 0.042079 0.163741 1.041917 0.792159 0.979852 0.977128 0.103524 1.113377 -0.157199 1.027202 0.929073 1.074076 -0.112317 0.199279 0.760239 0.001430 1.277148 0.009244 0.986963 0.109581 1.086070 -0.134094 0.327295 0.686709 -0.296672 0.932890 0.968488 0.216488 0.165531 0.285075 -0.094601 -0.165028 0.950486 0.963591 0.864035 -0.065266 1.013992 0.911092 -0.094152 -0.152792 1.070739 -0.039448 1.166353 -0.004048 0.032871 0.996625 1.100064 1.255396 0.839630 -0.081969 0.162263 0.140738 1.003998 0.779814 0.961648 1.146742 0.167212 0.925641 1.185256 0.824157 -0.033666 -0.007601 0.908697 0.230017 0.822888 0.740994 0.033372 1.160544 1.098836 -0.044005 1.021078 0.126042 0.049334 0.898357 1.032574 0.865757 0.947486 0.886121 0.055309 0.044278 -0.037421 1.134951 0.864539 -0.011595 -0.007199 0.067683 1.090102 1.092557 0.046997 0.027613 0.949146 0.875265 0.136983 -0.135656 0.985803 -0.132003 0.135341 0.013222 1.091309 1.098115 0.015599 0.119349 0.014805 1.069340 1.102334 1.032680 -0.031084 0.906554 -0.088863 0.069579 1.064396 0.128172 1.022790 1.107156 -0.057182 0.995012 1.054566 1.042520 -0.160709 1.125070 -0.094154 0.046403 -0.069345 0.119373 -0.184893 0.070830 1.044722 1.098693 1.111409 1.135049 0.985119 0.066473 0.058424 1.004842 -0.094015 1.117752 0.799547 1.268968 0.039520 0.996895 -0.102408 -0.030667 0.930842 1.078283 1.102597 0.055578 0.110127 0.923904 1.005813 0.918634 1.079133 -0.099263 0.905943 1.047321 0.848243 -0.009403 -0.068258 1.012623 -0.037975 1.142196 0.851851 0.109046 1.141382 0.890904 0.996832 -0.088058 1.288646 1.097971 -0.100491 0.918525 0.015332 1.145115 0.117738 1.014796 -0.205627 -0.177297 -0.006318 0.055035 1.183699 0.900390 1.055439 1.182836 0.107470 0.210820 -0.154634 1.100666 0.004257 0.125613 0.849489 1.120995 -0.046236 -0.066772 0.011079 -0.102932 0.932197 0.023264 0.246085 0.163405 0.869069 0.102531 1.077511 0.954854 0.038602 0.079792 0.927047 0.983181 1.030696 0.962590 -0.055603 -0.107934 1.126555 0.946728 1.063664 0.137033 -0.128875 0.885196 0.091522 0.893839 1.007955 0.978475 0.978266 0.067848 1.038168 1.090875 -0.061309 1.116028 1.016019 0.011872 -0.108054 0.108874 0.083760 0.113696 1.116111 0.014309 0.005128 1.099189 -0.004973 1.325065 1.221479 0.028469 1.235019 -0.212490 0.962518 1.027151 -0.044149 0.142639 0.155400 0.936540 -0.039180 0.937115 -0.085578 1.019973 1.270603 0.140594 0.061038 1.087655 0.063712 1.177018 -0.029958 0.758319 0.051019 -0.094233 0.962416 -0.006348 -0.003660 0.019678 1.112579 1.058837 -0.108754 0.005081 0.979604 0.909652 -0.162160 0.189741 1.115396 -0.046934 0.809487 0.174222 -0.004756 1.140939 0.812895 0.050537 0.171915 -0.128895 0.969610 0.953147 1.047572 0.122563 0.889198 -0.104048 0.001916 -0.008785 1.172703 -0.213570 -0.114233 -0.152007 -0.161789 -0.132968 1.055565 0.784424 0.202349 -0.012066 0.004158 -0.039121 1.114936 0.962613 0.954226 1.105200 0.985756 1.026320 -0.117780 0.866616 1.000189 -0.163224 0.999105 1.165142 0.001717 1.023313 -0.052468 -0.233246 -0.078417 -0.014831 0.008989 0.105092 1.100102 -0.114187 0.962275 0.827359 -0.135499 1.155899 0.983914 -0.197096 0.920622 0.925756 0.074101 1.105182 0.068112 0.889324 0.995794 -0.181975 1.079197 -0.174077 -0.086147 1.108775 0.836038 0.920177 0.069115 1.056833 1.065288 1.011220 0.037095 -0.051383 0.059023 0.966919 0.975420 0.992209 -0.050411 1.034776 0.060947 0.024827 0.189251 1.128565 -0.026102 0.882647 1.113292 0.059688 -0.055524 1.097931 -0.076831 0.148308 0.009684 0.993343 0.181407 0.980680 -0.253676 1.203786 0.837538 -0.111906 -0.046920 0.992998 1.138650 0.102810 0.732933 0.974495 1.134363 0.841220 -0.244832 0.191984 1.089926 -0.014286 1.033093 0.795315 0.027888 1.086315 0.921910 0.023081 1.023830 0.070684 1.183612 -0.197469 -0.072227 1.175515 1.132615 0.147372 1.165071 0.693358 0.086944 0.167356 1.154251 0.067038 1.011388 0.195281 0.162053 0.058855 0.118483 1.091391 1.199083 0.861074 0.152693 -0.184650 -0.275426 0.016699 1.041744 1.082925 0.896020 -0.212005 -0.028325 0.837564 1.192865 0.964038 1.140280 0.832699 0.060523 1.017736 0.007067 1.222558 0.776881 1.025602 0.136510 1.065558 0.031534 1.120667 -0.017440 -0.095844 0.986588 0.811881 1.008160 1.083596 -0.057608 1.030774 -0.185755 1.016553 -0.060277 0.044570 0.071469 1.026382 -0.218238 -0.134819 0.125155 1.052665 0.219534 1.053074 0.975626 0.942097 0.042773 0.914988 0.904458 1.068383 0.122945 -0.160737 0.195111 -0.112309 0.079404 0.873713 0.743694 -0.042029 0.017013 1.026689 -0.033216 0.846494 1.151063 -0.096712 0.933521 -0.150138 0.998351 0.097766 1.014397 1.003826 0.249110 -0.089820 -0.095115 -0.041617 1.005328 -0.026956 0.282608 -0.227117 0.900497 0.151081 1.074944 0.999410 0.070956 0.989252 1.046830 0.036838 0.060586 0.119680 1.033878 1.147593 1.072223 1.038019 -0.063806 -0.066418 -0.094579 0.121532 0.058665 0.065637 0.015630 1.033625 -0.167401 -0.044227 0.109799 1.069494 0.978455 0.951966 0.848373 1.183717 0.052564 -0.139052 0.109210 1.056692 1.084067 0.913136 0.026099 0.888367 1.004145 -0.006357 -0.186626 1.147417 0.008987 1.033956 0.198511 1.087879 0.153898 -0.007073 -0.053729 0.960733 -0.079153 -0.112602 0.118601 1.127696 0.124208 -0.118455 1.113389 -0.141400 0.095581 0.831887 0.079625 1.065606 1.064953 -0.043117 0.883460 -0.117838 0.984417 1.073930 -0.020071 -0.020565 -0.110661 -0.029427 0.000735 0.129840 -0.059144 0.853604 0.029159 1.153760 -0.035371 0.120975 0.829886 0.902305 0.004019 1.024841 -0.008315 -0.040841 0.081011 0.034157 0.925135 0.026143 -0.146226 0.818801 0.997553 -0.057337 0.039344 0.045043 -0.058730 0.061450 0.034397 0.032312 1.021479 0.069734 0.032385 -0.034352 1.143739 0.128130 0.837756 0.143447 1.191780 1.005715 -0.145746 0.060156 -0.089751 0.993522 1.117964 1.113924 -0.051214 0.989301 1.131346 0.978070 1.120586 -0.104089 0.755209 0.911168 0.043338 0.799533 -0.065789 1.035956 1.103884 1.108033 -0.011160 0.018199 1.076458 1.033226 1.049461 0.927281 0.875446 -0.132488 -0.016539 1.040494 -0.085837 0.845351 0.082137 0.957295 0.975488 -0.233161 1.046308 0.968283 1.119329 0.799388 0.835437 1.198178 1.006967 -0.080996 1.022071 0.222670 1.054955 1.028112 0.145964 0.775125 0.053077 -0.139928 0.982870 0.012204 1.181785 -0.055209 0.064440 0.028436 -0.055658 0.988257 0.885626 0.925751 1.041503 -0.102556 0.199169 0.817618 1.118232 -0.154162 1.103379 0.161217 0.043204 0.038827 0.297793 0.101115 1.084585 0.911258 -0.017387 1.093864 1.174369 -0.052884 1.010587 1.084918 1.042023 0.988052 1.008470 1.079842 0.911711 -0.105412 1.049916 0.966051 -0.030853 0.634323 0.027996 0.065373 0.165603 -0.198745 0.121133 0.904870 0.798116 0.109313 -0.023197 -0.012270 -0.099679 -0.007982 0.957938 0.064886 1.066324 0.891833 0.030809 0.008848 -0.058683 1.151904 -0.064909 0.005548 0.092447 0.994226 0.980543 0.036553 0.977629 0.908112 1.053035 1.015332 1.120582 1.029707 0.935519 0.767415 -0.107332 1.106993 0.051063 -0.090849 -0.152447 1.074408 0.930237 -0.134191 -0.041339 1.154220 0.912402 0.915882 -0.155688 0.004278 1.005960 -0.029173 0.929692 0.891253 0.904414 -0.022210 0.912185 0.032760 -0.175809 1.064184 0.004444 1.023131 0.014814 0.025559 0.065555 0.781532 -0.029379 -0.197955 0.897852 -0.013217 1.093294 0.004968 -0.102189 1.031592 0.748643 0.996666 0.053363 -0.174095 0.022123 1.073767 0.026629 0.817199 0.923850 0.016734 1.000997 0.181206 0.011231 0.956073 0.190711 0.864217 -0.176983 1.016978 1.028389 0.023092 0.841323 1.197465 -0.032185 -0.023935 -0.154948 0.938794 0.022079 0.018001 0.863273 0.095137 -0.103529 1.048691 1.044424 1.076913 -0.091685 1.016448 0.235867 -0.191122 1.021688 0.903834 1.103008 1.062811 0.974671 0.808982 0.919788 0.797299 0.003866 0.924240 1.138022 1.138392 -0.086041 -0.072381 1.089510 0.997304 -0.196238 -0.081117 0.998652 -0.136927 1.094476 1.025478 1.128812 -0.043799 -0.160622 1.202644 -0.097115 1.028359 1.128248 1.149200 0.046912 1.215106 0.095300 0.230991 -0.177631 1.060265 0.025009 -0.087069 -0.045585 0.107297 0.905981 1.067101 1.105134 0.200901 0.832244 -0.158358 0.063741 -0.002433 0.178939 1.150184 -0.013758 0.739082 0.970621 1.116445 -0.077580 0.874011 -0.000811 0.757786 1.027494 0.948749 0.128206 1.197540 -0.121973 -0.035650 0.227456 1.012591 0.093402 0.788900 0.046330 1.127347 0.937960 0.147998 0.295156 0.047168 -0.449697 1.185666 1.027567 1.056837 0.896828 0.093411 0.188188 1.051113 0.196550 0.986178 0.963111 1.064836 0.986799 0.068409 0.940694 0.044600 0.930849 0.776664 1.119660 0.877476 -0.187121 0.889222 0.896426 1.114193 0.109176 0.974296 0.017034 0.058848 0.003626 -0.056434 -0.053055 -0.327863 1.110462 1.191687 0.833810 -0.093180 1.062518 0.877602 0.130458 1.046517 0.945395 -0.042202 0.884421 0.076614 0.998365 0.963405 -0.042360 1.233324 1.032498 0.850640 0.878991 1.172081 -0.131938 0.138522 1.031223 -0.060356 1.045766 1.146384 1.014251 1.035122 1.033944 0.910994 0.140291 0.017496 0.074785 0.017803 1.051564 0.940908 1.102397 0.914000 -0.151381 -0.037398 0.841172 0.980431 0.926522 1.010521 0.906633 0.898542 -0.046207 1.056040 -0.119697 -0.388635 1.042092 1.062407 -0.114191 0.973897 0.038767 0.170771 0.104476 0.108748 0.973779 0.829369 0.903094)
        )
      )
   )
@@ -3478,951 +3484,951 @@
 
 (define neven-min-peak-phases (vector 
 
-(vector 1 1.0 (fv 0)
+(vector 1 1.0 #(0)
     )
 
-(vector 2 1.7601724863052 (fv 0 0)
+(vector 2 1.7601724863052 #(0 0)
     )
 
 ;;; 3 even --------------------------------------------------------------------------------
-(vector 3 2.2325525283813 (fv 0 0 0)
-    2.0235652605711 (fv 0 33/64 63/128)
+(vector 3 2.2325525283813 #(0 0 0)
+    2.0235652605711 #(0 33/64 63/128)
 
-    2.0214650630951 (fv 0.0 0.52414411306381 0.48787820339203)
-    2.021465 (fv 0.000000 0.475854 0.512123)
-    2.021465 (fv 0.000000 0.524145 0.487877)
-    2.021465 (fv 0.000000 1.475854 1.512123) ; etc
+    2.0214650630951 #(0.0 0.52414411306381 0.48787820339203)
+    2.021465 #(0.000000 0.475854 0.512123)
+    2.021465 #(0.000000 0.524145 0.487877)
+    2.021465 #(0.000000 1.475854 1.512123) ; etc
     )
 
 ;;; 4 even --------------------------------------------------------------------------------
-(vector 4 2.8359191417694 (fv 0 0 0 0)
-    2.450505601523 (fv 0 3/16 21/32 15/32)
+(vector 4 2.8359191417694 #(0 0 0 0)
+    2.450505601523 #(0 3/16 21/32 15/32)
 
-    ;2.434727537119 (fv 0 37 52 46) / 31
+    ;2.434727537119 #(0 37 52 46) / 31
 
-    2.4311048984528 (fv 0.000 0.191 0.672 0.479)
-    2.4311048984528 (fv 0.000 0.809 0.328 0.521)
+    2.4311048984528 #(0.000 0.191 0.672 0.479)
+    2.4311048984528 #(0.000 0.809 0.328 0.521)
 
-    ;; (optit :even 4 1/4 (expt 2 -100) 2.8359191417694 (fv 0 0 0 0))
-    2.4308773660653 (fv 0.0 -1.907463741733863571425899863243103027344E-1 -6.709215487223971763341978657990694046021E-1 -4.783757035623090736464746441924944519997E-1)
+    ;; (optit :even 4 1/4 (expt 2 -100) 2.8359191417694 #(0 0 0 0))
+    2.4308773660653 #(0.0 -1.907463741733863571425899863243103027344E-1 -6.709215487223971763341978657990694046021E-1 -4.783757035623090736464746441924944519997E-1)
 
-    ;; (optit :even 4 1/4 (expt 2 -100) 2.450505601523 (fv 0 3/16 21/32 15/32))
-    2.430877366065 (fv 0.0 1.907463741737958073940717440564185380936E-1 6.709215487230322239042834553401917219162E-1 4.783757035631506226991405128501355648041E-1)
-    2.4305741786957 (fv 0.0 0.19146482345276 0.67236139177392 0.47990912646831)
+    ;; (optit :even 4 1/4 (expt 2 -100) 2.450505601523 #(0 3/16 21/32 15/32))
+    2.430877366065 #(0.0 1.907463741737958073940717440564185380936E-1 6.709215487230322239042834553401917219162E-1 4.783757035631506226991405128501355648041E-1)
+    2.4305741786957 #(0.0 0.19146482345276 0.67236139177392 0.47990912646831)
     )
 
 ;;; 5 even --------------------------------------------------------------------------------
-(vector 5 2.816308259964 (fv 0 1 0 0 0)
+(vector 5 2.816308259964 #(0 1 0 0 0)
 
-    2.6048328876495 (fv 0.0 1.7889379262924 0.49464252591133 0.018512051552534 0.013387856073678)
+    2.6048328876495 #(0.0 1.7889379262924 0.49464252591133 0.018512051552534 0.013387856073678)
 
-    2.604848 (fv 0.000000 0.211049 1.505353 1.981536 -0.013355)
+    2.604848 #(0.000000 0.211049 1.505353 1.981536 -0.013355)
     )
 
 ;;; 6 even --------------------------------------------------------------------------------
-(vector 6 2.9795869831363 (fv 0 0 1 0 0 0)
+(vector 6 2.9795869831363 #(0 0 1 0 0 0)
 
-    2.8369779013614 (fv 0.0 0.17925976781335 1.4035822186281 0.79344665247706 0.91203230191116 1.0958477007498)
+    2.8369779013614 #(0.0 0.17925976781335 1.4035822186281 0.79344665247706 0.91203230191116 1.0958477007498)
 
-    2.836991 (fv 0.000000 0.178390 1.402472 0.792230 0.912414 1.093877)
-    2.836980 (fv 0.000000 1.821818 0.597785 1.208038 1.087532 0.906567)
-    2.836978 (fv 0.000000 1.178373 0.402442 1.792189 1.912334 0.093818)
-    2.836972 (fv 0.000000 1.178483 0.402570 -0.207680 -0.087726 0.094035)
-    2.836966 (fv 0.000000 0.821717 1.597697 0.207985 0.087685 -0.093549)
-    2.836953 (fv 0.000000 0.821609 1.597559 0.207843 0.087745 -0.093780)
+    2.836991 #(0.000000 0.178390 1.402472 0.792230 0.912414 1.093877)
+    2.836980 #(0.000000 1.821818 0.597785 1.208038 1.087532 0.906567)
+    2.836978 #(0.000000 1.178373 0.402442 1.792189 1.912334 0.093818)
+    2.836972 #(0.000000 1.178483 0.402570 -0.207680 -0.087726 0.094035)
+    2.836966 #(0.000000 0.821717 1.597697 0.207985 0.087685 -0.093549)
+    2.836953 #(0.000000 0.821609 1.597559 0.207843 0.087745 -0.093780)
     )
 
 ;;; 7 even --------------------------------------------------------------------------------
-(vector 7 3.3825581073761 (fv 0 0 0 0 0 1 0)
+(vector 7 3.3825581073761 #(0 0 0 0 0 1 0)
 
-    3.0470769405365 (fv 0.0 0.503662109375 0.87483215332031 1.0009307861328 1.2656555175781 0.71012878417969 0.30850219726562)
-    3.0469672679901 (fv 0.0 0.50373814372209 0.87540721456314 1.0012873875657 1.2663739438299 0.71078327011007 0.30959991380794)
-    3.046965 (fv 0.000000 0.503616 0.874674 1.000689 1.265332 0.709676 0.308046)
+    3.0470769405365 #(0.0 0.503662109375 0.87483215332031 1.0009307861328 1.2656555175781 0.71012878417969 0.30850219726562)
+    3.0469672679901 #(0.0 0.50373814372209 0.87540721456314 1.0012873875657 1.2663739438299 0.71078327011007 0.30959991380794)
+    3.046965 #(0.000000 0.503616 0.874674 1.000689 1.265332 0.709676 0.308046)
     )
 
 ;;; 8 even --------------------------------------------------------------------------------
-(vector 8 3.611234664917 (fv 0 0 0 0 0 1 0 0)
+(vector 8 3.611234664917 #(0 0 0 0 0 1 0 0)
 
-    3.197691 (fv 0.000000 1.463442 0.984712 1.413077 0.862890 0.889575 1.684691 1.613214)
-    3.197689 (fv 0.000000 0.536983 1.016250 0.588185 1.138902 1.112562 0.318083 0.389844)
-    3.197673 (fv 0.000000 0.463394 -0.015494 0.412641 1.862274 -0.111008 0.683799 0.612199)
-    3.197643 (fv 0.000000 1.536907 0.016088 1.587997 0.138641 0.112256 1.317694 1.389405)
-    3.197539 (fv 0.000000 1.536753 0.015811 1.587753 0.138248 0.111716 1.317048 1.388715)
+    3.197691 #(0.000000 1.463442 0.984712 1.413077 0.862890 0.889575 1.684691 1.613214)
+    3.197689 #(0.000000 0.536983 1.016250 0.588185 1.138902 1.112562 0.318083 0.389844)
+    3.197673 #(0.000000 0.463394 -0.015494 0.412641 1.862274 -0.111008 0.683799 0.612199)
+    3.197643 #(0.000000 1.536907 0.016088 1.587997 0.138641 0.112256 1.317694 1.389405)
+    3.197539 #(0.000000 1.536753 0.015811 1.587753 0.138248 0.111716 1.317048 1.388715)
     )
 
 ;;; 9 even --------------------------------------------------------------------------------
-(vector 9 4.0601739883423 (fv 0 0 0 0 0 0 1 1 0)
+(vector 9 4.0601739883423 #(0 0 0 0 0 0 1 1 0)
 
-    3.454235 (fv 0.000000 1.380130 1.542684 1.103203 1.094600 0.755189 1.642794 1.504783 0.092364)
-    3.454343 (fv 0.000000 0.380149 0.542653 0.103243 0.094157 1.755278 0.642603 0.504207 1.092117)
-    3.454167 (fv 0.000000 1.619814 1.457133 1.896576 1.905245 0.244460 1.356830 1.494866 0.907164)
-    3.454104 (fv 0.000000 1.619789 1.457225 1.896592 1.905347 0.244468 1.356940 1.495046 0.907280)
-    3.453978 (fv 0.000000 1.619848 1.457320 1.896841 1.905503 0.244896 1.357384 1.495389 0.907798)
+    3.454235 #(0.000000 1.380130 1.542684 1.103203 1.094600 0.755189 1.642794 1.504783 0.092364)
+    3.454343 #(0.000000 0.380149 0.542653 0.103243 0.094157 1.755278 0.642603 0.504207 1.092117)
+    3.454167 #(0.000000 1.619814 1.457133 1.896576 1.905245 0.244460 1.356830 1.494866 0.907164)
+    3.454104 #(0.000000 1.619789 1.457225 1.896592 1.905347 0.244468 1.356940 1.495046 0.907280)
+    3.453978 #(0.000000 1.619848 1.457320 1.896841 1.905503 0.244896 1.357384 1.495389 0.907798)
     )
 
 ;;; 10 even --------------------------------------------------------------------------------
-(vector 10 4.0054845809937 (fv 0 1 1 0 0 0 0 0 1 0)
+(vector 10 4.0054845809937 #(0 1 1 0 0 0 0 0 1 0)
 
-     3.559069 (fv 0.000000 0.728493 1.283356 1.458356 0.068046 1.297046 -0.008724 1.763762 1.458102 1.082546)
-     3.559031 (fv 0.000000 1.271816 0.716134 0.541742 -0.068143 0.702758 0.008941 0.237259 0.543599 0.918279)
-     3.558934 (fv 0.000000 0.270311 1.713387 1.540231 0.930533 1.700561 1.006089 1.239216 1.544459 1.919820)
-     3.558711 (fv 0.000000 0.271020 1.715408 1.541006 0.931409 1.702058 1.007613 1.237445 1.543048 1.918285)
+     3.559069 #(0.000000 0.728493 1.283356 1.458356 0.068046 1.297046 -0.008724 1.763762 1.458102 1.082546)
+     3.559031 #(0.000000 1.271816 0.716134 0.541742 -0.068143 0.702758 0.008941 0.237259 0.543599 0.918279)
+     3.558934 #(0.000000 0.270311 1.713387 1.540231 0.930533 1.700561 1.006089 1.239216 1.544459 1.919820)
+     3.558711 #(0.000000 0.271020 1.715408 1.541006 0.931409 1.702058 1.007613 1.237445 1.543048 1.918285)
      )
 
 ;;; 11 even --------------------------------------------------------------------------------
-(vector 11 4.2368197441101 (fv 0 0 1 1 0 1 1 1 0 0 0)
+(vector 11 4.2368197441101 #(0 0 1 1 0 1 1 1 0 0 0)
 
-     3.656997 (fv 0.000000 0.364553 0.246524 0.545081 1.820586 -0.010486 0.065265 0.895857 0.689390 0.398119 1.238723)
-     3.656853 (fv 0.000000 0.636042 0.753996 0.455733 1.180490 1.011649 0.936897 0.106845 0.312362 0.605377 1.764604)
-     3.656814 (fv 0.000000 1.363823 1.245209 1.543687 0.818338 0.986715 1.061848 1.892251 1.683956 1.393470 0.233084)
-     3.656676 (fv 0.000000 1.635670 1.752596 1.453762 0.177717 0.008296 -0.065661 1.103599 1.306278 1.601279 0.759437)
-     3.656141 (fv 0.000000 1.635206 1.752773 1.453484 0.177816 0.008586 -0.066147 1.102294 1.308244 1.599463 0.758738)
+     3.656997 #(0.000000 0.364553 0.246524 0.545081 1.820586 -0.010486 0.065265 0.895857 0.689390 0.398119 1.238723)
+     3.656853 #(0.000000 0.636042 0.753996 0.455733 1.180490 1.011649 0.936897 0.106845 0.312362 0.605377 1.764604)
+     3.656814 #(0.000000 1.363823 1.245209 1.543687 0.818338 0.986715 1.061848 1.892251 1.683956 1.393470 0.233084)
+     3.656676 #(0.000000 1.635670 1.752596 1.453762 0.177717 0.008296 -0.065661 1.103599 1.306278 1.601279 0.759437)
+     3.656141 #(0.000000 1.635206 1.752773 1.453484 0.177816 0.008586 -0.066147 1.102294 1.308244 1.599463 0.758738)
      )
 
 ;;; 12 even --------------------------------------------------------------------------------
-(vector 12 4.4100483425078 (fv 0 0 0 1 1 0 1 0 0 0 0 0)
+(vector 12 4.4100483425078 #(0 0 0 1 1 0 1 0 0 0 0 0)
 
-     3.787770 (fv 0.000000 1.448638 0.653979 0.460567 1.750296 1.187409 1.823828 0.621465 0.835166 0.896814 0.649295 0.954712)
-     3.787607 (fv 0.000000 1.552098 0.349619 0.543969 1.255255 1.818801 1.184427 0.387699 0.175349 0.115468 0.364328 0.059990)
-     3.787594 (fv 0.000000 0.551763 1.347551 1.541126 0.252553 0.815620 0.180247 1.383525 1.170726 1.109400 1.357991 1.052935)
-     3.786929 (fv 0.000000 0.551301 1.345490 1.538545 0.249324 0.811835 0.175379 1.377915 1.164645 1.102028 1.349918 1.044104)
+     3.787770 #(0.000000 1.448638 0.653979 0.460567 1.750296 1.187409 1.823828 0.621465 0.835166 0.896814 0.649295 0.954712)
+     3.787607 #(0.000000 1.552098 0.349619 0.543969 1.255255 1.818801 1.184427 0.387699 0.175349 0.115468 0.364328 0.059990)
+     3.787594 #(0.000000 0.551763 1.347551 1.541126 0.252553 0.815620 0.180247 1.383525 1.170726 1.109400 1.357991 1.052935)
+     3.786929 #(0.000000 0.551301 1.345490 1.538545 0.249324 0.811835 0.175379 1.377915 1.164645 1.102028 1.349918 1.044104)
      )
 
 ;;; 13 even --------------------------------------------------------------------------------
-(vector 13 4.4076361656189 (fv 0 0 1 0 1 1 0 0 1 1 1 1 1)
+(vector 13 4.4076361656189 #(0 0 1 0 1 1 0 0 1 1 1 1 1)
 
-     3.973518 (fv 0.000000 1.227848 0.569459 0.032525 1.602849 0.995992 1.561449 0.851502 1.005100 0.700156 1.033637 1.225072 1.740227)
-     3.973285 (fv 0.000000 0.221343 1.559694 1.013474 0.580564 -0.035047 0.522724 -0.190833 -0.044249 1.645456 -0.025041 0.160741 0.667019)
-     3.973148 (fv 0.000000 0.225623 1.564256 1.022022 0.590378 -0.019884 0.539658 -0.171656 -0.022033 1.670109 0.001495 0.190555 0.699291)
-     3.973041 (fv 0.000000 0.226214 1.565751 1.024299 0.592784 -0.015292 0.545848 -0.164098 -0.014254 1.677783 0.010954 0.201582 0.710821)
-     3.972554 (fv 0.000000 0.227025 1.566229 1.025033 0.594027 -0.014872 0.545046 -0.165560 -0.014836 1.678196 0.010096 0.200561 0.709954)
+     3.973518 #(0.000000 1.227848 0.569459 0.032525 1.602849 0.995992 1.561449 0.851502 1.005100 0.700156 1.033637 1.225072 1.740227)
+     3.973285 #(0.000000 0.221343 1.559694 1.013474 0.580564 -0.035047 0.522724 -0.190833 -0.044249 1.645456 -0.025041 0.160741 0.667019)
+     3.973148 #(0.000000 0.225623 1.564256 1.022022 0.590378 -0.019884 0.539658 -0.171656 -0.022033 1.670109 0.001495 0.190555 0.699291)
+     3.973041 #(0.000000 0.226214 1.565751 1.024299 0.592784 -0.015292 0.545848 -0.164098 -0.014254 1.677783 0.010954 0.201582 0.710821)
+     3.972554 #(0.000000 0.227025 1.566229 1.025033 0.594027 -0.014872 0.545046 -0.165560 -0.014836 1.678196 0.010096 0.200561 0.709954)
      )
 
 ;;; 14 even --------------------------------------------------------------------------------
-(vector 14 4.5770673751831 (fv 0 1 1 0 0 1 1 1 1 1 1 0 1 0)
+(vector 14 4.5770673751831 #(0 1 1 0 0 1 1 1 1 1 1 0 1 0)
 
-     4.097747 (fv 0.000000 0.927497 0.986240 1.222647 1.417439 1.485272 1.245695 0.840056 0.775783 1.393795 0.027626 0.815063 1.945062 1.449403)
-     4.096703 (fv 0.000000 0.927014 0.985352 1.221418 1.415761 1.483290 1.243140 0.836933 0.772657 1.390170 0.023348 0.810693 1.940171 1.444293)
+     4.097747 #(0.000000 0.927497 0.986240 1.222647 1.417439 1.485272 1.245695 0.840056 0.775783 1.393795 0.027626 0.815063 1.945062 1.449403)
+     4.096703 #(0.000000 0.927014 0.985352 1.221418 1.415761 1.483290 1.243140 0.836933 0.772657 1.390170 0.023348 0.810693 1.940171 1.444293)
      )
 
 ;;; 15 even --------------------------------------------------------------------------------
-(vector 15 4.7838921546936 (fv 0 0 0 0 0 1 1 1 1 0 1 1 1 0 1)
+(vector 15 4.7838921546936 #(0 0 0 0 0 1 1 1 1 0 1 1 1 0 1)
 
-     4.193545 (fv 0.000000 1.673990 1.704095 0.184742 0.312157 1.759699 0.661838 0.338558 1.336129 0.060082 0.592895 0.470075 0.323799 1.690560 1.851587)
-     4.193539 (fv 0.000000 1.674972 1.705674 0.187574 0.315997 1.764079 0.667192 0.344813 1.343115 0.068186 0.601740 0.479341 0.334140 1.702389 1.863580)
-     4.192089 (fv 0.000000 1.673474 1.702683 0.182852 0.310553 1.756894 0.658556 0.335052 1.332116 0.055950 0.587971 0.464438 0.317829 1.684035 1.844319)
+     4.193545 #(0.000000 1.673990 1.704095 0.184742 0.312157 1.759699 0.661838 0.338558 1.336129 0.060082 0.592895 0.470075 0.323799 1.690560 1.851587)
+     4.193539 #(0.000000 1.674972 1.705674 0.187574 0.315997 1.764079 0.667192 0.344813 1.343115 0.068186 0.601740 0.479341 0.334140 1.702389 1.863580)
+     4.192089 #(0.000000 1.673474 1.702683 0.182852 0.310553 1.756894 0.658556 0.335052 1.332116 0.055950 0.587971 0.464438 0.317829 1.684035 1.844319)
      )
 
 ;;; 16 even --------------------------------------------------------------------------------
-(vector 16 5.0737318992615 (fv 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0)
+(vector 16 5.0737318992615 #(0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0)
 
-     4.326467 (fv 0.000000 0.954646 0.857741 0.564427 0.380619 -0.030405 0.027220 0.443651 0.347240 0.290827 1.057423 1.274647 0.193509 1.337335 0.715554 1.355809)
-     4.326323 (fv 0.000000 0.953094 0.856111 0.562335 0.378555 -0.035716 0.021343 0.437774 0.341052 0.283988 1.049334 1.266917 0.184364 1.326298 0.704383 1.343207)
-     4.325044 (fv 0.000000 0.953571 0.856165 0.561119 0.376819 -0.035768 0.021241 0.436352 0.339200 0.281830 1.047126 1.263828 0.181703 1.324018 0.701028 1.340302)
+     4.326467 #(0.000000 0.954646 0.857741 0.564427 0.380619 -0.030405 0.027220 0.443651 0.347240 0.290827 1.057423 1.274647 0.193509 1.337335 0.715554 1.355809)
+     4.326323 #(0.000000 0.953094 0.856111 0.562335 0.378555 -0.035716 0.021343 0.437774 0.341052 0.283988 1.049334 1.266917 0.184364 1.326298 0.704383 1.343207)
+     4.325044 #(0.000000 0.953571 0.856165 0.561119 0.376819 -0.035768 0.021241 0.436352 0.339200 0.281830 1.047126 1.263828 0.181703 1.324018 0.701028 1.340302)
      )
 
 ;;; 17 even --------------------------------------------------------------------------------
-(vector 17 5.2332563400269 (fv 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0)
+(vector 17 5.2332563400269 #(0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0)
 
-     4.464096 (fv 0.000000 1.478399 1.021179 1.293532 1.222041 1.188322 1.479616 1.284032 0.091138 1.349289 0.401522 0.364537 -0.044880 1.268488 1.386805 0.039323 0.607489)
-     4.463016 (fv 0.000000 1.478182 1.023133 1.293051 1.222719 1.187462 1.479990 1.285327 0.088371 1.348357 0.403976 0.365587 -0.044469 1.267681 1.387786 0.039745 0.610112)
+     4.464096 #(0.000000 1.478399 1.021179 1.293532 1.222041 1.188322 1.479616 1.284032 0.091138 1.349289 0.401522 0.364537 -0.044880 1.268488 1.386805 0.039323 0.607489)
+     4.463016 #(0.000000 1.478182 1.023133 1.293051 1.222719 1.187462 1.479990 1.285327 0.088371 1.348357 0.403976 0.365587 -0.044469 1.267681 1.387786 0.039745 0.610112)
      )
 
 ;;; 18 even --------------------------------------------------------------------------------
-(vector 18 5.3310880661011 (fv 0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 0 0 0)
+(vector 18 5.3310880661011 #(0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 0 0 0)
 
-     4.569421 (fv 0.000000 1.011793 0.580064 1.185332 1.624771 0.036509 -0.103084 0.721775 1.089226 0.493658 0.073953 1.074825 1.595710 1.108207 1.196849 1.497424 1.163445 0.995437)
+     4.569421 #(0.000000 1.011793 0.580064 1.185332 1.624771 0.036509 -0.103084 0.721775 1.089226 0.493658 0.073953 1.074825 1.595710 1.108207 1.196849 1.497424 1.163445 0.995437)
      )
 
 ;;; 19 even --------------------------------------------------------------------------------
-(vector 19 5.4619059562683 (fv 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0)
+(vector 19 5.4619059562683 #(0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0)
 
-     4.741489 (fv 0.000000 1.217162 0.660633 0.437661 1.320878 1.235636 0.094939 -0.184508 -0.090396 0.415156 1.119340 1.141612 0.652398 0.817014 0.525642 1.150459 0.295913 0.906911 0.831168)
+     4.741489 #(0.000000 1.217162 0.660633 0.437661 1.320878 1.235636 0.094939 -0.184508 -0.090396 0.415156 1.119340 1.141612 0.652398 0.817014 0.525642 1.150459 0.295913 0.906911 0.831168)
      )
 
 ;;; 20 even --------------------------------------------------------------------------------
-(vector 20 5.5266017913818 (fv 0 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0)
+(vector 20 5.5266017913818 #(0 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0)
 
-     4.839482 (fv 0.000000 0.882739 0.097549 0.018330 1.302731 0.272028 1.407538 1.702479 0.580972 1.045015 0.992304 1.669564 0.673981 0.282219 0.289947 0.363499 1.033218 0.803741 0.771035 0.508087)
+     4.839482 #(0.000000 0.882739 0.097549 0.018330 1.302731 0.272028 1.407538 1.702479 0.580972 1.045015 0.992304 1.669564 0.673981 0.282219 0.289947 0.363499 1.033218 0.803741 0.771035 0.508087)
      )
 
 ;;; 21 even --------------------------------------------------------------------------------
-(vector 21 5.6849967470046 (fv 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0)
+(vector 21 5.6849967470046 #(0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0)
 
-     4.919735 (fv 0.000000 -0.021966 1.377831 1.499470 -0.139205 1.937761 0.320320 0.217546 0.069290 0.938854 1.308616 0.123782 0.469963 1.818882 1.581666 1.414927 0.056553 1.301602 0.788305 1.336052 0.607478)
+     4.919735 #(0.000000 -0.021966 1.377831 1.499470 -0.139205 1.937761 0.320320 0.217546 0.069290 0.938854 1.308616 0.123782 0.469963 1.818882 1.581666 1.414927 0.056553 1.301602 0.788305 1.336052 0.607478)
      )
 
 ;;; 22 even --------------------------------------------------------------------------------
-(vector 22 5.8572781078687 (fv 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0)
+(vector 22 5.8572781078687 #(0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0)
      
-     5.055233 (fv 0.000000 -1.550778 1.843415 0.900724 0.955590 0.677531 1.390686 0.133831 1.229871 1.016503 1.245622 1.546957 -1.869615 1.414871 -0.060378 -0.077148 1.210164 1.132173 0.909114 1.325478 1.285781 0.509617)
+     5.055233 #(0.000000 -1.550778 1.843415 0.900724 0.955590 0.677531 1.390686 0.133831 1.229871 1.016503 1.245622 1.546957 -1.869615 1.414871 -0.060378 -0.077148 1.210164 1.132173 0.909114 1.325478 1.285781 0.509617)
      )
 
 ;;; 23 even --------------------------------------------------------------------------------
-(vector 23 5.9208135892745 (fv 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0)
+(vector 23 5.9208135892745 #(0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0)
 
-     5.147900 (fv 0.000000 0.493561 0.617878 0.386087 -0.215675 1.136922 0.632292 0.891205 1.398746 0.878537 0.676611 0.945565 0.610792 -0.182076 0.354229 1.383426 1.649635 0.414770 0.152656 0.561509 0.267633 1.102796 1.466348)
+     5.147900 #(0.000000 0.493561 0.617878 0.386087 -0.215675 1.136922 0.632292 0.891205 1.398746 0.878537 0.676611 0.945565 0.610792 -0.182076 0.354229 1.383426 1.649635 0.414770 0.152656 0.561509 0.267633 1.102796 1.466348)
      )
 
 ;;; 24 even --------------------------------------------------------------------------------
-(vector 24 6.0318420391191 (fv 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0)
+(vector 24 6.0318420391191 #(0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0)
 
-     5.253162 (fv 0.000000 0.045084 0.641921 -0.205904 0.266767 1.228115 0.912709 0.214922 1.487762 1.357882 0.864877 0.404420 0.601935 0.594931 0.069420 1.052347 1.659787 1.624121 0.035857 0.245103 1.406872 0.042697 -0.053953 0.167577)
+     5.253162 #(0.000000 0.045084 0.641921 -0.205904 0.266767 1.228115 0.912709 0.214922 1.487762 1.357882 0.864877 0.404420 0.601935 0.594931 0.069420 1.052347 1.659787 1.624121 0.035857 0.245103 1.406872 0.042697 -0.053953 0.167577)
 
      ;; nce:
-     5.253153 (fv 0.000000 0.045202 0.642246 -0.205352 0.266926 1.228585 0.913398 0.215740 1.488650 1.358650 0.865965 0.405240 0.603061 0.596132 0.070695 1.053498 1.661316 1.625634 0.037488 0.246663 1.408918 0.044558 -0.052337 0.169870)
+     5.253153 #(0.000000 0.045202 0.642246 -0.205352 0.266926 1.228585 0.913398 0.215740 1.488650 1.358650 0.865965 0.405240 0.603061 0.596132 0.070695 1.053498 1.661316 1.625634 0.037488 0.246663 1.408918 0.044558 -0.052337 0.169870)
      )
 
 ;;; 25 even --------------------------------------------------------------------------------
-(vector 25 6.1513186981755 (fv 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1)
+(vector 25 6.1513186981755 #(0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1)
 
-     5.403228 (fv 0.000000 0.045060 1.794212 1.406802 1.249045 0.257853 0.430644 -0.020674 0.209605 1.159346 1.742584 0.244624 1.006989 0.948352 0.613996 0.229169 0.745474 0.773295 0.271006 1.529917 0.384835 1.822065 0.327936 0.153008 0.689262)
+     5.403228 #(0.000000 0.045060 1.794212 1.406802 1.249045 0.257853 0.430644 -0.020674 0.209605 1.159346 1.742584 0.244624 1.006989 0.948352 0.613996 0.229169 0.745474 0.773295 0.271006 1.529917 0.384835 1.822065 0.327936 0.153008 0.689262)
 
      ;; nce:
-     5.408253 (fv 0.000000 -0.043635 1.870808 1.373617 1.322838 0.337670 0.345509 0.039602 0.231587 1.174477 1.746219 0.272425 1.051956 0.894710 0.701095 0.201178 0.713607 0.745859 0.396015 1.495521 0.465720 1.748739 0.254514 0.207309 0.670746)
+     5.408253 #(0.000000 -0.043635 1.870808 1.373617 1.322838 0.337670 0.345509 0.039602 0.231587 1.174477 1.746219 0.272425 1.051956 0.894710 0.701095 0.201178 0.713607 0.745859 0.396015 1.495521 0.465720 1.748739 0.254514 0.207309 0.670746)
      )
 
 ;;; 26 even --------------------------------------------------------------------------------
-(vector 26 6.2921685546205 (fv 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 0)
+(vector 26 6.2921685546205 #(0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 0)
 
-     5.452331 (fv 0.000000 0.051327 0.204117 1.807782 0.408597 -0.021081 0.115796 0.407761 0.824888 0.626144 0.637118 0.067354 0.844059 0.574978 -0.127497 -0.091341 1.702516 0.546084 0.986055 1.260143 0.631019 1.781357 1.305578 1.812413 0.666374 0.989339)
+     5.452331 #(0.000000 0.051327 0.204117 1.807782 0.408597 -0.021081 0.115796 0.407761 0.824888 0.626144 0.637118 0.067354 0.844059 0.574978 -0.127497 -0.091341 1.702516 0.546084 0.986055 1.260143 0.631019 1.781357 1.305578 1.812413 0.666374 0.989339)
      )
 
 ;;; 27 even --------------------------------------------------------------------------------
-(vector 27 6.2436904245852 (fv 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 1)
+(vector 27 6.2436904245852 #(0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 1)
 
-     5.620374 (fv 0.000000 -0.021456 0.516604 0.372410 0.864531 1.336703 -0.209149 1.689313 0.033950 1.772624 0.571345 1.616802 0.355488 1.092886 1.391271 1.240098 1.111612 0.854249 0.888716 0.157123 -0.311986 1.252460 1.082038 -0.272435 1.564985 0.964546 1.600742)
+     5.620374 #(0.000000 -0.021456 0.516604 0.372410 0.864531 1.336703 -0.209149 1.689313 0.033950 1.772624 0.571345 1.616802 0.355488 1.092886 1.391271 1.240098 1.111612 0.854249 0.888716 0.157123 -0.311986 1.252460 1.082038 -0.272435 1.564985 0.964546 1.600742)
      )
 
 ;;; 28 even --------------------------------------------------------------------------------
-(vector 28 6.5361909866333 (fv 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1)
+(vector 28 6.5361909866333 #(0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1)
 
-     5.731679 (fv 0.000000 1.447589 1.395977 0.797533 1.295906 1.462640 1.534875 1.774902 1.013697 0.705377 0.626264 1.242696 1.362454 0.181714 0.805604 1.271981 0.570662 1.779635 -0.124462 1.352040 -0.225912 1.764222 0.153642 1.298969 0.773437 0.201599 0.803480 0.102660)
+     5.731679 #(0.000000 1.447589 1.395977 0.797533 1.295906 1.462640 1.534875 1.774902 1.013697 0.705377 0.626264 1.242696 1.362454 0.181714 0.805604 1.271981 0.570662 1.779635 -0.124462 1.352040 -0.225912 1.764222 0.153642 1.298969 0.773437 0.201599 0.803480 0.102660)
 
      ;; nce:
-     5.757769 (fv 0.000000 -0.064452 1.194800 0.947245 0.026529 0.920008 0.673833 0.051447 -0.007043 1.637680 1.814843 1.945096 0.720067 0.530198 0.753640 0.603773 1.296939 0.860024 0.197512 0.571117 0.903138 1.152266 0.326717 0.457781 -0.069831 0.864587 1.677694 0.471749)
+     5.757769 #(0.000000 -0.064452 1.194800 0.947245 0.026529 0.920008 0.673833 0.051447 -0.007043 1.637680 1.814843 1.945096 0.720067 0.530198 0.753640 0.603773 1.296939 0.860024 0.197512 0.571117 0.903138 1.152266 0.326717 0.457781 -0.069831 0.864587 1.677694 0.471749)
      )
 
 ;;; 29 even --------------------------------------------------------------------------------
-(vector 29 6.6767044067383 (fv 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1)
+(vector 29 6.6767044067383 #(0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1)
 
-     5.766338 (fv 0.000000 1.750571 1.825931 1.106253 0.681108 0.654013 0.530242 0.078216 0.174544 1.354195 1.454712 1.045782 1.722411 1.607453 0.347380 0.849326 0.377709 1.136286 1.004911 0.970793 0.410809 0.919085 1.010160 0.193230 0.966878 0.662369 1.289507 1.533180 0.429508)
+     5.766338 #(0.000000 1.750571 1.825931 1.106253 0.681108 0.654013 0.530242 0.078216 0.174544 1.354195 1.454712 1.045782 1.722411 1.607453 0.347380 0.849326 0.377709 1.136286 1.004911 0.970793 0.410809 0.919085 1.010160 0.193230 0.966878 0.662369 1.289507 1.533180 0.429508)
      )
 
 ;;; 30 even --------------------------------------------------------------------------------
-(vector 30 6.6998701095581 (fv 0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0)
+(vector 30 6.6998701095581 #(0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0)
 
-     5.906955 (fv 0.000000 0.906624 1.374273 1.276597 -0.178673 0.094922 0.333601 0.129339 0.400307 0.946356 1.401096 0.557587 0.654474 1.274947 0.061009 -0.048005 1.903626 1.753056 1.439902 1.944968 1.607217 1.115332 0.419220 1.617499 1.734563 1.091117 0.095163 0.781775 -0.001559 1.852411)
+     5.906955 #(0.000000 0.906624 1.374273 1.276597 -0.178673 0.094922 0.333601 0.129339 0.400307 0.946356 1.401096 0.557587 0.654474 1.274947 0.061009 -0.048005 1.903626 1.753056 1.439902 1.944968 1.607217 1.115332 0.419220 1.617499 1.734563 1.091117 0.095163 0.781775 -0.001559 1.852411)
 
      ;; nce:
-     5.930402 (fv 0.000000 -0.023546 1.489564 1.475097 0.916826 0.864026 1.899229 1.607559 0.910332 0.924096 1.371927 0.795577 0.542873 0.396054 0.844978 1.658639 0.174074 0.939529 1.326938 1.039010 1.301858 1.417763 1.619561 1.723680 0.850267 0.018519 1.089727 0.405902 1.206335 1.833260)
+     5.930402 #(0.000000 -0.023546 1.489564 1.475097 0.916826 0.864026 1.899229 1.607559 0.910332 0.924096 1.371927 0.795577 0.542873 0.396054 0.844978 1.658639 0.174074 0.939529 1.326938 1.039010 1.301858 1.417763 1.619561 1.723680 0.850267 0.018519 1.089727 0.405902 1.206335 1.833260)
      )
 
 ;;; 31 even --------------------------------------------------------------------------------
-(vector 31 6.8660564422607 (fv 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0)
+(vector 31 6.8660564422607 #(0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0)
 
-     5.987789 (fv 0.000000 1.294084 1.380328 1.151198 1.131917 1.032100 1.467500 1.317593 1.561230 1.149337 1.426512 0.310391 0.093956 -0.092069 1.618651 0.385482 1.276093 0.768907 0.092705 1.372235 0.935730 0.030657 0.353616 1.817773 0.372502 0.700675 1.341184 1.537494 1.331726 0.302069 0.818207)
+     5.987789 #(0.000000 1.294084 1.380328 1.151198 1.131917 1.032100 1.467500 1.317593 1.561230 1.149337 1.426512 0.310391 0.093956 -0.092069 1.618651 0.385482 1.276093 0.768907 0.092705 1.372235 0.935730 0.030657 0.353616 1.817773 0.372502 0.700675 1.341184 1.537494 1.331726 0.302069 0.818207)
      )
 
 ;;; 32 even --------------------------------------------------------------------------------
-(vector 32 6.9974670410156 (fv 0 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0)
+(vector 32 6.9974670410156 #(0 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0)
 
-     6.061091 (fv 0.000000 0.284769 1.824838 0.360868 1.114185 0.962149 1.153553 1.836957 0.183317 1.504519 0.431670 1.106470 0.465083 1.359049 1.532974 1.672623 0.833072 1.851412 -0.259099 1.829526 0.240313 0.782734 0.067562 1.704922 0.670838 0.000337 1.835105 1.184487 1.464400 1.660678 0.971147 1.137597)
+     6.061091 #(0.000000 0.284769 1.824838 0.360868 1.114185 0.962149 1.153553 1.836957 0.183317 1.504519 0.431670 1.106470 0.465083 1.359049 1.532974 1.672623 0.833072 1.851412 -0.259099 1.829526 0.240313 0.782734 0.067562 1.704922 0.670838 0.000337 1.835105 1.184487 1.464400 1.660678 0.971147 1.137597)
      )
 
 ;;; 33 even --------------------------------------------------------------------------------
-(vector 33 6.978609085083  (fv 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0)
+(vector 33 6.978609085083  #(0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0)
 
-     6.162617 (fv 0.000000 -0.095863 -0.402980 1.394421 -0.306134 0.366840 0.337119 0.377845 0.129322 0.155850 1.349812 0.235845 0.252319 0.242909 1.431344 1.664418 1.236043 1.670315 1.653641 0.461681 0.695631 0.916345 0.353418 1.885954 1.309177 0.582371 1.382992 1.788982 0.399357 0.760664 0.154447 0.882692 0.073082)
+     6.162617 #(0.000000 -0.095863 -0.402980 1.394421 -0.306134 0.366840 0.337119 0.377845 0.129322 0.155850 1.349812 0.235845 0.252319 0.242909 1.431344 1.664418 1.236043 1.670315 1.653641 0.461681 0.695631 0.916345 0.353418 1.885954 1.309177 0.582371 1.382992 1.788982 0.399357 0.760664 0.154447 0.882692 0.073082)
      )
 
 ;;; 34 even --------------------------------------------------------------------------------
-(vector 34 7.2615523338318 (fv 0 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0)
+(vector 34 7.2615523338318 #(0 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0)
 
-     6.222816 (fv 0.000000 -0.031974 0.094234 0.502100 0.850042 0.574691 0.752336 1.914959 -0.024174 0.146232 0.295078 1.383128 -0.007584 0.943763 1.235227 0.413741 0.587141 -0.053979 1.839683 0.252526 0.156123 0.682869 0.409598 -0.127649 0.823619 0.505563 1.228553 1.452425 1.154757 0.224780 1.122198 1.589227 1.075252 0.529430)
+     6.222816 #(0.000000 -0.031974 0.094234 0.502100 0.850042 0.574691 0.752336 1.914959 -0.024174 0.146232 0.295078 1.383128 -0.007584 0.943763 1.235227 0.413741 0.587141 -0.053979 1.839683 0.252526 0.156123 0.682869 0.409598 -0.127649 0.823619 0.505563 1.228553 1.452425 1.154757 0.224780 1.122198 1.589227 1.075252 0.529430)
      )
 
 ;;; 35 even --------------------------------------------------------------------------------
-(vector 35 7.2921919822693 (fv 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0)
+(vector 35 7.2921919822693 #(0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0)
 
-     6.362258 (fv 0.000000 -0.109595 1.553671 0.219728 0.238496 1.170971 0.131935 0.808676 1.471325 1.403853 0.916637 1.560710 -0.099827 1.196395 0.221158 1.202313 0.775632 0.876517 1.782554 1.124579 1.420710 0.952275 0.641256 1.819844 1.425015 -0.516862 1.352551 1.568353 1.482981 0.524776 0.577204 0.865347 -0.128894 -0.102429 0.426519)
+     6.362258 #(0.000000 -0.109595 1.553671 0.219728 0.238496 1.170971 0.131935 0.808676 1.471325 1.403853 0.916637 1.560710 -0.099827 1.196395 0.221158 1.202313 0.775632 0.876517 1.782554 1.124579 1.420710 0.952275 0.641256 1.819844 1.425015 -0.516862 1.352551 1.568353 1.482981 0.524776 0.577204 0.865347 -0.128894 -0.102429 0.426519)
      )
 
 ;;; 36 even --------------------------------------------------------------------------------
-(vector 36 7.3326554298401 (fv 0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0)
+(vector 36 7.3326554298401 #(0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0)
 
-     6.432117 (fv 0.000000 0.004340 0.086403 1.388728 0.898065 1.458617 0.131985 1.657435 1.521273 1.472417 0.951218 1.324245 1.241442 1.395549 0.150266 1.064974 0.650640 1.427046 1.086279 0.098701 0.328772 1.795832 1.461165 0.857821 1.693245 1.032679 1.245848 0.174782 -0.135078 0.155045 -0.013817 0.388292 0.719587 1.603641 0.575715 0.836424)
+     6.432117 #(0.000000 0.004340 0.086403 1.388728 0.898065 1.458617 0.131985 1.657435 1.521273 1.472417 0.951218 1.324245 1.241442 1.395549 0.150266 1.064974 0.650640 1.427046 1.086279 0.098701 0.328772 1.795832 1.461165 0.857821 1.693245 1.032679 1.245848 0.174782 -0.135078 0.155045 -0.013817 0.388292 0.719587 1.603641 0.575715 0.836424)
 
      ;; nce:
-     6.433446 (fv 0.000000 -0.039571 0.060618 1.408936 0.882042 1.447670 0.143068 1.639607 1.518329 1.469129 0.942793 1.305387 1.226395 1.375800 0.162353 1.047466 0.675921 1.406954 1.102981 0.111251 0.337382 1.829176 1.494772 0.804464 1.712328 1.039053 1.250692 0.166362 -0.143216 0.133112 -0.012403 0.370517 0.701621 1.606484 0.581751 0.854317)
+     6.433446 #(0.000000 -0.039571 0.060618 1.408936 0.882042 1.447670 0.143068 1.639607 1.518329 1.469129 0.942793 1.305387 1.226395 1.375800 0.162353 1.047466 0.675921 1.406954 1.102981 0.111251 0.337382 1.829176 1.494772 0.804464 1.712328 1.039053 1.250692 0.166362 -0.143216 0.133112 -0.012403 0.370517 0.701621 1.606484 0.581751 0.854317)
      )
 
 ;;; 37 even --------------------------------------------------------------------------------
-(vector 37 7.4919209480286 (fv 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0)
+(vector 37 7.4919209480286 #(0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0)
 
      ;; ce:
-	6.533287 (fv 0.000000 0.011564 0.880733 1.522736 0.250376 0.789024 1.673119 0.570623 1.276735 0.341425 -0.532081 0.348007 -0.836598 0.457646 -0.009210 1.409326 1.013302 0.369886 1.439731 1.104224 1.371479 0.882940 0.611993 0.167228 0.213651 -0.123007 -0.145430 -0.035562 0.326284 0.342544 0.027533 0.469211 0.589131 1.242729 -0.350729 -0.122043 0.359222)
+	6.533287 #(0.000000 0.011564 0.880733 1.522736 0.250376 0.789024 1.673119 0.570623 1.276735 0.341425 -0.532081 0.348007 -0.836598 0.457646 -0.009210 1.409326 1.013302 0.369886 1.439731 1.104224 1.371479 0.882940 0.611993 0.167228 0.213651 -0.123007 -0.145430 -0.035562 0.326284 0.342544 0.027533 0.469211 0.589131 1.242729 -0.350729 -0.122043 0.359222)
      )
 
 ;;; 38 even --------------------------------------------------------------------------------
-(vector 38 7.669114112854 (fv 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0)
+(vector 38 7.669114112854 #(0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0)
 
-     6.536590 (fv 0.000000 -0.020563 1.377251 1.769036 0.243537 1.765876 1.779834 1.045673 1.286350 0.293614 0.321305 1.723518 1.560003 0.401205 0.333918 -0.059485 0.232219 0.960903 1.594163 1.401434 0.649608 0.412099 1.329747 0.099455 1.939824 0.267997 0.403580 1.515217 0.579512 0.002234 0.262847 1.800156 0.419089 1.615975 1.110793 1.305676 1.421012 1.714827)
+     6.536590 #(0.000000 -0.020563 1.377251 1.769036 0.243537 1.765876 1.779834 1.045673 1.286350 0.293614 0.321305 1.723518 1.560003 0.401205 0.333918 -0.059485 0.232219 0.960903 1.594163 1.401434 0.649608 0.412099 1.329747 0.099455 1.939824 0.267997 0.403580 1.515217 0.579512 0.002234 0.262847 1.800156 0.419089 1.615975 1.110793 1.305676 1.421012 1.714827)
      )
 
 ;;; 39 even --------------------------------------------------------------------------------
-(vector 39 8.0062685830938 (fv 0 0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0)
+(vector 39 8.0062685830938 #(0 0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0)
 
-     6.683157 (fv 0.000000 1.091390 0.284404 0.240879 1.660743 1.656550 0.223587 1.552502 0.232972 0.325977 1.767287 0.511127 0.573904 0.685387 0.354731 1.006014 0.648089 0.445081 1.696394 0.327980 -0.210151 0.338005 -0.052572 -0.119111 0.551717 1.087945 0.035621 1.385382 0.802270 1.342811 0.005749 0.410111 0.489512 1.361009 1.309724 1.490142 1.368577 0.636471 0.518214)
+     6.683157 #(0.000000 1.091390 0.284404 0.240879 1.660743 1.656550 0.223587 1.552502 0.232972 0.325977 1.767287 0.511127 0.573904 0.685387 0.354731 1.006014 0.648089 0.445081 1.696394 0.327980 -0.210151 0.338005 -0.052572 -0.119111 0.551717 1.087945 0.035621 1.385382 0.802270 1.342811 0.005749 0.410111 0.489512 1.361009 1.309724 1.490142 1.368577 0.636471 0.518214)
      )
 
 ;;; 40 even --------------------------------------------------------------------------------
-(vector 40 8.0304555793911 (fv 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1)
+(vector 40 8.0304555793911 #(0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1)
 
-     6.748142 (fv 0.000000 0.029455 0.022065 0.136105 1.638522 1.203180 0.744941 -0.148784 0.506171 0.560051 -0.084723 -0.078289 0.149301 0.575133 1.046850 1.733499 1.932780 1.304846 -0.055855 1.484587 1.130478 0.869457 1.564935 1.665772 1.478237 0.851162 0.123617 0.568797 1.544770 0.060395 1.377474 0.739849 -0.238843 1.303906 1.521850 1.552033 0.224167 1.493979 0.103832 0.387098)
+     6.748142 #(0.000000 0.029455 0.022065 0.136105 1.638522 1.203180 0.744941 -0.148784 0.506171 0.560051 -0.084723 -0.078289 0.149301 0.575133 1.046850 1.733499 1.932780 1.304846 -0.055855 1.484587 1.130478 0.869457 1.564935 1.665772 1.478237 0.851162 0.123617 0.568797 1.544770 0.060395 1.377474 0.739849 -0.238843 1.303906 1.521850 1.552033 0.224167 1.493979 0.103832 0.387098)
      )
 
 ;;; 41 even --------------------------------------------------------------------------------
-(vector 41 8.2169809341431 (fv 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0)
+(vector 41 8.2169809341431 #(0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0)
 
-     6.881035 (fv 0.000000 0.133290 0.436430 -0.019956 0.597994 -0.299445 0.298044 -0.291816 -0.125561 1.379945 1.227240 1.012471 0.995085 0.165521 0.059156 -0.315277 -0.410140 1.321719 -0.217071 0.006502 1.718169 0.636248 0.520158 0.977079 1.417462 -0.764436 1.377242 0.286309 1.475385 1.360726 0.551504 -0.329940 1.190956 0.377718 1.221012 1.703028 0.053941 0.664915 1.563928 1.320457 0.168607)
+     6.881035 #(0.000000 0.133290 0.436430 -0.019956 0.597994 -0.299445 0.298044 -0.291816 -0.125561 1.379945 1.227240 1.012471 0.995085 0.165521 0.059156 -0.315277 -0.410140 1.321719 -0.217071 0.006502 1.718169 0.636248 0.520158 0.977079 1.417462 -0.764436 1.377242 0.286309 1.475385 1.360726 0.551504 -0.329940 1.190956 0.377718 1.221012 1.703028 0.053941 0.664915 1.563928 1.320457 0.168607)
      )
 
 ;;; 42 even --------------------------------------------------------------------------------
-(vector 42 8.3605623245239 (fv 0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1)
+(vector 42 8.3605623245239 #(0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1)
      
-     6.941481 (fv 0.000000 -0.007293 1.286795 1.752349 -0.276621 1.210682 0.997503 0.480778 0.607692 1.419140 -0.000887 0.317063 0.225619 -1.792990 -0.085405 1.621718 1.141369 0.612500 1.711137 0.371822 0.494518 1.158070 0.720118 -0.061260 0.895705 0.558493 0.565336 0.673764 0.965927 1.131140 0.011389 1.067604 1.758075 0.687249 0.164819 0.032158 0.192333 0.816334 0.404498 1.292703 0.160108 0.486834)
+     6.941481 #(0.000000 -0.007293 1.286795 1.752349 -0.276621 1.210682 0.997503 0.480778 0.607692 1.419140 -0.000887 0.317063 0.225619 -1.792990 -0.085405 1.621718 1.141369 0.612500 1.711137 0.371822 0.494518 1.158070 0.720118 -0.061260 0.895705 0.558493 0.565336 0.673764 0.965927 1.131140 0.011389 1.067604 1.758075 0.687249 0.164819 0.032158 0.192333 0.816334 0.404498 1.292703 0.160108 0.486834)
      )
 
 ;;; 43 even --------------------------------------------------------------------------------
-(vector 43 8.3471550144283 (fv 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0)
+(vector 43 8.3471550144283 #(0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0)
 
-     7.055197 (fv 0.000000 0.047763 1.657931 1.619393 1.901312 1.535197 1.519084 0.139389 -0.012074 1.734976 0.124057 1.726677 0.967925 0.859090 0.315172 0.782383 0.749080 1.794616 -0.192964 1.214822 1.594002 0.299675 1.830679 1.396713 1.089896 0.461626 0.318824 0.888695 1.307168 1.600142 0.874003 1.625797 0.872538 1.803252 0.868969 0.618677 0.932144 0.968270 1.700058 0.258149 0.614848 0.031586 0.805044)
+     7.055197 #(0.000000 0.047763 1.657931 1.619393 1.901312 1.535197 1.519084 0.139389 -0.012074 1.734976 0.124057 1.726677 0.967925 0.859090 0.315172 0.782383 0.749080 1.794616 -0.192964 1.214822 1.594002 0.299675 1.830679 1.396713 1.089896 0.461626 0.318824 0.888695 1.307168 1.600142 0.874003 1.625797 0.872538 1.803252 0.868969 0.618677 0.932144 0.968270 1.700058 0.258149 0.614848 0.031586 0.805044)
      )
 
 ;;; 44 even --------------------------------------------------------------------------------
-(vector 44 8.4271850585938 (fv 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1)
+(vector 44 8.4271850585938 #(0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1)
 
-     7.048255 (fv 0.000000 -0.024272 1.042039 1.706381 0.915231 0.667566 0.791468 1.060500 0.486474 0.357952 1.448848 0.555099 0.559674 0.047957 0.101663 0.263196 0.561105 1.754886 1.445748 0.607834 0.094941 0.549126 0.219045 0.643754 0.108792 0.622710 0.657739 1.176141 0.892775 1.899443 0.047927 1.097541 1.395320 1.432930 0.524754 1.590031 -0.111160 0.804186 0.328664 0.621384 1.470620 1.417525 -0.298999 1.020701)
+     7.048255 #(0.000000 -0.024272 1.042039 1.706381 0.915231 0.667566 0.791468 1.060500 0.486474 0.357952 1.448848 0.555099 0.559674 0.047957 0.101663 0.263196 0.561105 1.754886 1.445748 0.607834 0.094941 0.549126 0.219045 0.643754 0.108792 0.622710 0.657739 1.176141 0.892775 1.899443 0.047927 1.097541 1.395320 1.432930 0.524754 1.590031 -0.111160 0.804186 0.328664 0.621384 1.470620 1.417525 -0.298999 1.020701)
      )
 
 ;;; 45 even --------------------------------------------------------------------------------
-(vector 45 8.6353975051189 (fv 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1)
+(vector 45 8.6353975051189 #(0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1)
 
-     7.165216 (fv 0.000000 0.100769 0.427512 0.242955 0.443088 -0.380155 1.940929 -0.101098 -0.133968 -0.026473 1.678192 1.774836 0.508005 0.350465 0.553068 1.094302 0.286670 -1.617200 0.541014 0.212204 1.154970 1.344936 0.804485 1.614258 1.391670 0.188798 0.475817 0.610176 0.585642 -0.044233 1.516307 0.921356 1.091747 0.246161 0.592046 1.532410 0.320765 0.050475 1.141805 0.866052 0.300507 0.986581 -0.103223 1.338567 0.196051)
+     7.165216 #(0.000000 0.100769 0.427512 0.242955 0.443088 -0.380155 1.940929 -0.101098 -0.133968 -0.026473 1.678192 1.774836 0.508005 0.350465 0.553068 1.094302 0.286670 -1.617200 0.541014 0.212204 1.154970 1.344936 0.804485 1.614258 1.391670 0.188798 0.475817 0.610176 0.585642 -0.044233 1.516307 0.921356 1.091747 0.246161 0.592046 1.532410 0.320765 0.050475 1.141805 0.866052 0.300507 0.986581 -0.103223 1.338567 0.196051)
      )
 
 ;;; 46 even --------------------------------------------------------------------------------
-(vector 46 8.7939519711145 (fv 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0)
+(vector 46 8.7939519711145 #(0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0)
 
-     7.276006 (fv 0.000000 -0.054506 1.032755 -0.130142 -0.261502 1.224902 0.252129 0.556107 0.758621 1.480820 -0.142360 1.184737 0.014000 1.776705 0.882036 1.883695 0.222183 0.298085 0.448405 1.172485 0.678362 1.341204 0.081280 -0.085381 0.763100 -0.029414 -0.367000 0.048240 1.040410 1.413704 0.227444 -0.058776 -0.204130 1.202166 1.632528 1.205475 1.219937 1.182203 -0.061521 1.269256 0.937830 0.491219 -0.180909 0.028085 1.489097 0.059386)
+     7.276006 #(0.000000 -0.054506 1.032755 -0.130142 -0.261502 1.224902 0.252129 0.556107 0.758621 1.480820 -0.142360 1.184737 0.014000 1.776705 0.882036 1.883695 0.222183 0.298085 0.448405 1.172485 0.678362 1.341204 0.081280 -0.085381 0.763100 -0.029414 -0.367000 0.048240 1.040410 1.413704 0.227444 -0.058776 -0.204130 1.202166 1.632528 1.205475 1.219937 1.182203 -0.061521 1.269256 0.937830 0.491219 -0.180909 0.028085 1.489097 0.059386)
      )
 
 ;;; 47 even --------------------------------------------------------------------------------
-(vector 47 8.7835607528687 (fv 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 1 1 1 1 1)
+(vector 47 8.7835607528687 #(0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 1 1 1 1 1)
 
-     7.292551 (fv 0.000000 -0.062265 1.442422 1.057676 1.927078 0.605872 0.092606 0.058532 0.177290 1.141099 0.824596 0.143569 1.542821 0.439342 0.943358 1.070588 0.909454 0.332472 1.825929 1.744493 0.079522 0.781524 1.378798 1.290207 0.477850 0.651309 0.041772 0.753335 1.194909 0.871931 1.816269 1.466251 1.199198 1.733301 1.531356 -0.102896 0.905701 1.309802 1.098908 1.238880 1.394185 0.875551 1.145434 -0.145313 0.593458 0.073230 0.938656)
+     7.292551 #(0.000000 -0.062265 1.442422 1.057676 1.927078 0.605872 0.092606 0.058532 0.177290 1.141099 0.824596 0.143569 1.542821 0.439342 0.943358 1.070588 0.909454 0.332472 1.825929 1.744493 0.079522 0.781524 1.378798 1.290207 0.477850 0.651309 0.041772 0.753335 1.194909 0.871931 1.816269 1.466251 1.199198 1.733301 1.531356 -0.102896 0.905701 1.309802 1.098908 1.238880 1.394185 0.875551 1.145434 -0.145313 0.593458 0.073230 0.938656)
      )
 
 ;;; 48 even --------------------------------------------------------------------------------
-(vector 48 8.9965600967407 (fv 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1)
+(vector 48 8.9965600967407 #(0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1)
 
      ;; ce:
-	7.406994 (fv 0.000000 0.047945 0.826536 0.973372 1.740017 0.529769 1.008330 1.827057 0.727986 1.449120 0.514522 1.295511 0.015768 1.206235 0.269772 1.336523 0.110706 1.398598 0.887898 1.776715 1.044804 0.419039 -0.057090 1.238424 0.514960 0.147966 1.655287 1.338551 0.870612 0.661410 0.361317 0.267510 -0.382725 -0.031215 1.567563 1.583622 1.671939 1.775367 1.875910 1.638385 1.546190 0.129055 0.397477 0.763475 0.970476 1.468225 1.622446 0.158949)
+	7.406994 #(0.000000 0.047945 0.826536 0.973372 1.740017 0.529769 1.008330 1.827057 0.727986 1.449120 0.514522 1.295511 0.015768 1.206235 0.269772 1.336523 0.110706 1.398598 0.887898 1.776715 1.044804 0.419039 -0.057090 1.238424 0.514960 0.147966 1.655287 1.338551 0.870612 0.661410 0.361317 0.267510 -0.382725 -0.031215 1.567563 1.583622 1.671939 1.775367 1.875910 1.638385 1.546190 0.129055 0.397477 0.763475 0.970476 1.468225 1.622446 0.158949)
      )
 
 ;;; 49 even --------------------------------------------------------------------------------
-(vector 49 9.1650037765503 (fv 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0)
+(vector 49 9.1650037765503 #(0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0)
 
      ;; ce:
-	7.532053 (fv 0.000000 0.041305 0.532327 1.215473 1.024214 1.052795 0.585923 1.613470 1.301563 0.656356 1.815283 1.368492 -0.020005 0.356482 1.940348 0.124177 0.127083 1.593092 1.501593 0.678778 0.554128 0.952456 -0.422395 1.575963 0.870840 0.819687 0.743668 0.245617 0.895216 0.369895 0.471783 1.223006 0.679195 1.170671 0.931311 1.629049 0.745807 0.483912 0.397101 0.224181 0.816909 1.126241 1.477811 0.320980 1.574780 0.412692 0.741112 1.583749 0.654625)
+	7.532053 #(0.000000 0.041305 0.532327 1.215473 1.024214 1.052795 0.585923 1.613470 1.301563 0.656356 1.815283 1.368492 -0.020005 0.356482 1.940348 0.124177 0.127083 1.593092 1.501593 0.678778 0.554128 0.952456 -0.422395 1.575963 0.870840 0.819687 0.743668 0.245617 0.895216 0.369895 0.471783 1.223006 0.679195 1.170671 0.931311 1.629049 0.745807 0.483912 0.397101 0.224181 0.816909 1.126241 1.477811 0.320980 1.574780 0.412692 0.741112 1.583749 0.654625)
      )
 
 ;;; 50 even --------------------------------------------------------------------------------
-(vector 50 9.1582123370176 (fv 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1)
+(vector 50 9.1582123370176 #(0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1)
 
      ;; ce:
-	7.553949 (fv 0.000000 0.001153 1.444901 -0.126735 -0.207597 1.037485 0.982912 0.657278 1.609015 0.548946 0.388265 1.860455 1.146064 0.991559 1.714083 0.419464 0.114879 0.538313 1.517340 1.406138 0.768916 1.006070 1.575014 1.565071 1.458974 0.980173 1.203265 1.481696 -0.150280 1.613515 0.690225 0.227360 0.618441 0.290246 1.012000 0.302852 -0.136236 -0.046604 1.075996 0.025371 0.550031 1.195469 0.193455 0.810822 0.527380 1.640757 0.113795 0.191137 1.871211 0.281051)
+	7.553949 #(0.000000 0.001153 1.444901 -0.126735 -0.207597 1.037485 0.982912 0.657278 1.609015 0.548946 0.388265 1.860455 1.146064 0.991559 1.714083 0.419464 0.114879 0.538313 1.517340 1.406138 0.768916 1.006070 1.575014 1.565071 1.458974 0.980173 1.203265 1.481696 -0.150280 1.613515 0.690225 0.227360 0.618441 0.290246 1.012000 0.302852 -0.136236 -0.046604 1.075996 0.025371 0.550031 1.195469 0.193455 0.810822 0.527380 1.640757 0.113795 0.191137 1.871211 0.281051)
      )
 
 ;;; 51 even --------------------------------------------------------------------------------
-(vector 51 9.3615226745605 (fv 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 1 0)
+(vector 51 9.3615226745605 #(0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 1 0)
 
      ;; nce: 
-	7.601889 (fv 0.000000 -0.097299 1.522524 0.604656 1.190459 -0.046061 1.637924 0.391838 1.914014 1.191379 0.937217 0.903859 1.190560 -0.310642 0.795112 0.607488 1.496318 -0.432640 -0.101925 0.993972 1.031274 1.167246 0.466609 0.643027 0.235799 0.569210 0.641350 0.632197 0.268712 1.299950 1.493958 0.876871 -0.115765 0.447597 1.299543 -0.601543 0.991250 1.221680 0.433618 1.269835 0.891674 -0.222937 1.508906 1.194487 1.696510 0.136336 0.547118 0.154250 -0.399784 0.814800 1.474647)
+	7.601889 #(0.000000 -0.097299 1.522524 0.604656 1.190459 -0.046061 1.637924 0.391838 1.914014 1.191379 0.937217 0.903859 1.190560 -0.310642 0.795112 0.607488 1.496318 -0.432640 -0.101925 0.993972 1.031274 1.167246 0.466609 0.643027 0.235799 0.569210 0.641350 0.632197 0.268712 1.299950 1.493958 0.876871 -0.115765 0.447597 1.299543 -0.601543 0.991250 1.221680 0.433618 1.269835 0.891674 -0.222937 1.508906 1.194487 1.696510 0.136336 0.547118 0.154250 -0.399784 0.814800 1.474647)
      )
 
 ;;; 52 even --------------------------------------------------------------------------------
-(vector 52 9.449512348335 (fv 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1)
+(vector 52 9.449512348335 #(0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1)
 
      ;; ce:
-	7.715514 (fv 0.000000 -0.034843 1.299671 1.297722 1.635310 -0.140716 1.100950 -0.118100 0.547763 0.498559 0.115301 1.387617 0.497862 0.517177 1.775867 1.036003 1.303001 0.627699 1.126538 0.667873 0.716185 0.672233 0.573373 1.713393 1.674703 1.675881 -0.219625 0.205462 0.688511 -0.167042 0.095308 -0.056923 0.925655 1.318413 1.379568 1.567357 0.318805 -0.064577 1.458169 1.228224 0.320505 1.504325 0.170852 1.908593 0.774335 0.156462 0.959528 -0.009590 -0.029886 1.318052 1.521653 0.208620)
+	7.715514 #(0.000000 -0.034843 1.299671 1.297722 1.635310 -0.140716 1.100950 -0.118100 0.547763 0.498559 0.115301 1.387617 0.497862 0.517177 1.775867 1.036003 1.303001 0.627699 1.126538 0.667873 0.716185 0.672233 0.573373 1.713393 1.674703 1.675881 -0.219625 0.205462 0.688511 -0.167042 0.095308 -0.056923 0.925655 1.318413 1.379568 1.567357 0.318805 -0.064577 1.458169 1.228224 0.320505 1.504325 0.170852 1.908593 0.774335 0.156462 0.959528 -0.009590 -0.029886 1.318052 1.521653 0.208620)
      )
 
 ;;; 53 even --------------------------------------------------------------------------------
-(vector 53 9.6159172058105 (fv 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 0)
+(vector 53 9.6159172058105 #(0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 0)
 
-     7.750487 (fv 0.000000 0.036779 0.620619 1.389030 1.448590 0.206060 1.401187 0.716369 0.552235 0.039103 0.347305 1.846613 0.552018 1.491421 1.339207 1.372862 1.129023 1.023345 1.671571 0.563034 0.162746 0.439370 1.163228 -0.070535 0.315773 0.561792 1.174490 1.839925 1.161557 1.788132 0.000155 0.215127 1.156326 0.635275 1.204301 0.236777 -0.137602 1.267159 0.914139 0.933059 0.732878 0.757869 1.209147 1.287260 1.087065 1.355017 0.578394 1.465757 0.725442 0.562270 1.513798 1.240390 0.721272)
+     7.750487 #(0.000000 0.036779 0.620619 1.389030 1.448590 0.206060 1.401187 0.716369 0.552235 0.039103 0.347305 1.846613 0.552018 1.491421 1.339207 1.372862 1.129023 1.023345 1.671571 0.563034 0.162746 0.439370 1.163228 -0.070535 0.315773 0.561792 1.174490 1.839925 1.161557 1.788132 0.000155 0.215127 1.156326 0.635275 1.204301 0.236777 -0.137602 1.267159 0.914139 0.933059 0.732878 0.757869 1.209147 1.287260 1.087065 1.355017 0.578394 1.465757 0.725442 0.562270 1.513798 1.240390 0.721272)
      )
 
 ;;; 54 even --------------------------------------------------------------------------------
-(vector 54 9.5190944671631 (fv 0 1 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1)
+(vector 54 9.5190944671631 #(0 1 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1)
 
-     7.845083 (fv 0.000000 0.061451 0.633202 0.842273 1.609750 1.150617 1.710229 0.507090 -0.042557 0.310551 0.314728 0.987790 1.351858 1.063896 1.713078 1.603814 0.132592 0.924440 -0.380633 0.855851 1.637781 0.813597 1.013698 0.861640 0.327742 0.192164 0.896540 1.734094 0.874167 -0.001625 0.106463 0.214754 1.657275 0.272925 1.907315 1.437104 1.086576 0.701261 0.411048 1.402011 1.872416 0.559924 1.401281 1.776842 1.632661 1.672063 -0.088862 1.645896 0.861803 0.137030 1.828399 0.307366 0.083970 1.711361)
+     7.845083 #(0.000000 0.061451 0.633202 0.842273 1.609750 1.150617 1.710229 0.507090 -0.042557 0.310551 0.314728 0.987790 1.351858 1.063896 1.713078 1.603814 0.132592 0.924440 -0.380633 0.855851 1.637781 0.813597 1.013698 0.861640 0.327742 0.192164 0.896540 1.734094 0.874167 -0.001625 0.106463 0.214754 1.657275 0.272925 1.907315 1.437104 1.086576 0.701261 0.411048 1.402011 1.872416 0.559924 1.401281 1.776842 1.632661 1.672063 -0.088862 1.645896 0.861803 0.137030 1.828399 0.307366 0.083970 1.711361)
      )
 
 ;;; 55 even --------------------------------------------------------------------------------
-(vector 55 9.6719217300415 (fv 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1)
+(vector 55 9.6719217300415 #(0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1)
 
      ;; ce:
-	7.908224 (fv 0.000000 -0.006122 1.706850 -0.138031 1.409264 -0.179924 1.291393 0.095673 0.477101 1.213765 -0.191085 0.117017 0.016865 0.128090 1.052814 -0.223928 0.648751 1.402762 0.456990 0.553356 1.095940 1.027495 0.299767 0.447120 0.205834 1.452671 -0.085699 1.609363 1.101039 1.058600 -0.087300 1.595987 1.179897 0.004643 1.423903 0.778740 0.553053 1.139184 0.724189 1.453952 0.381783 0.586983 0.831862 1.181073 0.788144 1.024391 1.771531 1.598505 0.863121 0.198894 0.450345 0.085968 1.228457 0.544951 0.771388)
+	7.908224 #(0.000000 -0.006122 1.706850 -0.138031 1.409264 -0.179924 1.291393 0.095673 0.477101 1.213765 -0.191085 0.117017 0.016865 0.128090 1.052814 -0.223928 0.648751 1.402762 0.456990 0.553356 1.095940 1.027495 0.299767 0.447120 0.205834 1.452671 -0.085699 1.609363 1.101039 1.058600 -0.087300 1.595987 1.179897 0.004643 1.423903 0.778740 0.553053 1.139184 0.724189 1.453952 0.381783 0.586983 0.831862 1.181073 0.788144 1.024391 1.771531 1.598505 0.863121 0.198894 0.450345 0.085968 1.228457 0.544951 0.771388)
      )
 
 ;;; 56 even --------------------------------------------------------------------------------
-(vector 56 9.6809562784664 (fv 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1)
+(vector 56 9.6809562784664 #(0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1)
 
      ;; ce:
-	8.011195 (fv 0.000000 0.008210 0.905992 0.396571 1.720897 1.158304 1.138541 -0.149073 1.014952 1.018591 1.745765 0.438732 0.854592 1.654860 1.011019 1.080405 0.999544 1.358343 1.494524 -0.322084 1.515909 1.690243 0.974840 0.937768 1.405811 0.436415 0.424543 1.360935 -0.014499 1.482939 0.090605 0.959441 1.032814 1.287153 0.868562 1.424617 0.689023 1.690605 0.303801 0.396076 -0.120753 1.039594 0.342297 0.231504 -0.042441 1.626406 0.755064 0.442808 1.366653 1.769637 -0.205340 -0.239797 0.934356 1.176593 0.655901 1.488666)
+	8.011195 #(0.000000 0.008210 0.905992 0.396571 1.720897 1.158304 1.138541 -0.149073 1.014952 1.018591 1.745765 0.438732 0.854592 1.654860 1.011019 1.080405 0.999544 1.358343 1.494524 -0.322084 1.515909 1.690243 0.974840 0.937768 1.405811 0.436415 0.424543 1.360935 -0.014499 1.482939 0.090605 0.959441 1.032814 1.287153 0.868562 1.424617 0.689023 1.690605 0.303801 0.396076 -0.120753 1.039594 0.342297 0.231504 -0.042441 1.626406 0.755064 0.442808 1.366653 1.769637 -0.205340 -0.239797 0.934356 1.176593 0.655901 1.488666)
      )
 
 ;;; 57 even --------------------------------------------------------------------------------
-(vector 57 9.8992366790771 (fv 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 1 0 0 1)
+(vector 57 9.8992366790771 #(0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 1 0 0 1)
 
      ;; ce:
-	7.998443 (fv 0.000000 -0.014666 1.566831 1.522473 -0.249684 1.548885 0.061859 1.226467 1.343794 0.283370 1.644204 -0.263860 0.040445 -0.006696 1.612019 1.549636 0.536480 0.507272 1.129223 0.096416 0.070654 1.146329 0.116347 1.310955 1.044576 1.855920 1.741244 0.737054 0.646099 0.980172 1.413425 1.269711 1.581860 1.800144 1.281998 -0.058342 0.653062 1.547228 1.144145 0.578917 0.690679 0.861263 0.345954 0.676296 0.259007 0.725329 -0.285685 1.547409 0.602010 1.240793 0.038406 1.789143 1.881017 1.026132 0.600098 1.097228 -1.919911)
+	7.998443 #(0.000000 -0.014666 1.566831 1.522473 -0.249684 1.548885 0.061859 1.226467 1.343794 0.283370 1.644204 -0.263860 0.040445 -0.006696 1.612019 1.549636 0.536480 0.507272 1.129223 0.096416 0.070654 1.146329 0.116347 1.310955 1.044576 1.855920 1.741244 0.737054 0.646099 0.980172 1.413425 1.269711 1.581860 1.800144 1.281998 -0.058342 0.653062 1.547228 1.144145 0.578917 0.690679 0.861263 0.345954 0.676296 0.259007 0.725329 -0.285685 1.547409 0.602010 1.240793 0.038406 1.789143 1.881017 1.026132 0.600098 1.097228 -1.919911)
      )
 
 ;;; 58 even --------------------------------------------------------------------------------
-(vector 58 9.8761510848999 (fv 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1)
+(vector 58 9.8761510848999 #(0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1)
 
-     8.102746 (fv 0.000000 0.021804 0.347449 0.712574 0.904596 1.645925 0.230015 0.473992 0.104969 1.934740 1.209012 1.104800 1.062683 0.358409 0.785934 1.465266 1.235573 1.772411 0.072477 1.559281 1.754795 0.147077 0.219637 0.050078 1.441852 0.333339 0.672730 1.789640 1.230725 1.303568 1.622831 1.659814 0.995447 1.205094 1.295826 0.837873 0.521849 1.476121 0.531055 1.439237 1.534776 0.923559 1.866584 1.504388 0.402718 1.262304 0.589470 1.403389 1.379169 0.218840 1.535374 0.130494 0.618342 0.285582 1.711521 1.399310 1.463120 1.577451)
+     8.102746 #(0.000000 0.021804 0.347449 0.712574 0.904596 1.645925 0.230015 0.473992 0.104969 1.934740 1.209012 1.104800 1.062683 0.358409 0.785934 1.465266 1.235573 1.772411 0.072477 1.559281 1.754795 0.147077 0.219637 0.050078 1.441852 0.333339 0.672730 1.789640 1.230725 1.303568 1.622831 1.659814 0.995447 1.205094 1.295826 0.837873 0.521849 1.476121 0.531055 1.439237 1.534776 0.923559 1.866584 1.504388 0.402718 1.262304 0.589470 1.403389 1.379169 0.218840 1.535374 0.130494 0.618342 0.285582 1.711521 1.399310 1.463120 1.577451)
 
      ;; nce:
-     8.160514 (fv 0.000000 0.018101 0.649039 1.105139 0.805799 1.552840 0.507143 0.455093 0.410985 1.820561 0.914505 0.984750 1.066413 0.191884 0.653627 1.510871 1.561405 1.875189 -0.078120 1.639973 1.489309 -0.122302 0.187579 -0.137707 1.247718 0.796984 0.621022 1.565078 1.132796 1.098952 1.427880 1.663078 0.762131 0.965307 1.352999 0.722067 0.412348 1.684775 0.457834 1.443318 1.385930 0.962906 1.869715 1.351690 0.195092 1.084773 0.690763 1.132481 1.402235 0.306205 1.443881 0.266933 0.858427 0.045513 1.705481 1.280871 1.423605 1.246177)
+     8.160514 #(0.000000 0.018101 0.649039 1.105139 0.805799 1.552840 0.507143 0.455093 0.410985 1.820561 0.914505 0.984750 1.066413 0.191884 0.653627 1.510871 1.561405 1.875189 -0.078120 1.639973 1.489309 -0.122302 0.187579 -0.137707 1.247718 0.796984 0.621022 1.565078 1.132796 1.098952 1.427880 1.663078 0.762131 0.965307 1.352999 0.722067 0.412348 1.684775 0.457834 1.443318 1.385930 0.962906 1.869715 1.351690 0.195092 1.084773 0.690763 1.132481 1.402235 0.306205 1.443881 0.266933 0.858427 0.045513 1.705481 1.280871 1.423605 1.246177)
      )
 
 ;;; 59 even --------------------------------------------------------------------------------
-(vector 59 10.094394683838 (fv 0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1)
+(vector 59 10.094394683838 #(0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1)
 
-     8.194538 (fv 0.000000 0.192440 1.064997 1.405447 0.666893 0.441718 0.460123 -0.029893 0.102290 1.233991 1.287456 0.262828 0.891341 1.622477 -0.078945 0.794492 1.676056 0.757298 1.625170 1.288224 1.021602 1.270621 0.622162 1.173256 0.639594 0.085293 0.804874 1.211161 -0.067577 0.210901 0.178378 0.446246 -0.092053 1.813463 1.120832 1.269392 -0.271084 1.861664 0.195222 0.087459 0.045547 0.257753 0.386709 0.151559 1.002452 0.352762 0.090741 1.494023 0.840240 1.424148 0.778422 -0.109268 1.896909 0.853535 0.284500 1.503148 1.606229 1.606587 0.287318)
+     8.194538 #(0.000000 0.192440 1.064997 1.405447 0.666893 0.441718 0.460123 -0.029893 0.102290 1.233991 1.287456 0.262828 0.891341 1.622477 -0.078945 0.794492 1.676056 0.757298 1.625170 1.288224 1.021602 1.270621 0.622162 1.173256 0.639594 0.085293 0.804874 1.211161 -0.067577 0.210901 0.178378 0.446246 -0.092053 1.813463 1.120832 1.269392 -0.271084 1.861664 0.195222 0.087459 0.045547 0.257753 0.386709 0.151559 1.002452 0.352762 0.090741 1.494023 0.840240 1.424148 0.778422 -0.109268 1.896909 0.853535 0.284500 1.503148 1.606229 1.606587 0.287318)
      )
 
 ;;; 60 even --------------------------------------------------------------------------------
-(vector 60 10.333255371943 (fv 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0)
+(vector 60 10.333255371943 #(0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0)
 
-     8.312421 (fv 0.000000 0.016764 0.099999 0.395290 1.344482 1.502674 0.248570 0.971438 0.736859 1.561216 0.263938 1.242184 -0.428796 -0.122031 1.528486 0.190921 1.269506 0.099840 0.618839 0.286668 0.310580 0.121766 0.645000 0.953645 1.140529 0.456214 0.631806 0.922426 0.396932 1.354468 1.176819 0.515695 0.171198 0.662750 1.320434 0.506395 1.565445 0.874857 0.531897 0.782628 0.471079 -1.819575 1.656923 0.206815 0.413621 0.205859 1.749126 1.236787 1.333671 0.085487 1.468799 1.666444 0.266215 0.649751 0.639546 0.431656 1.171882 1.863798 1.376382 0.482890)
+     8.312421 #(0.000000 0.016764 0.099999 0.395290 1.344482 1.502674 0.248570 0.971438 0.736859 1.561216 0.263938 1.242184 -0.428796 -0.122031 1.528486 0.190921 1.269506 0.099840 0.618839 0.286668 0.310580 0.121766 0.645000 0.953645 1.140529 0.456214 0.631806 0.922426 0.396932 1.354468 1.176819 0.515695 0.171198 0.662750 1.320434 0.506395 1.565445 0.874857 0.531897 0.782628 0.471079 -1.819575 1.656923 0.206815 0.413621 0.205859 1.749126 1.236787 1.333671 0.085487 1.468799 1.666444 0.266215 0.649751 0.639546 0.431656 1.171882 1.863798 1.376382 0.482890)
 
      ;; ce:
-     8.297419 (fv 0.000000 -0.050827 -0.093113 0.415337 1.376502 1.483467 0.139153 0.992518 0.529850 1.653904 0.191931 1.095275 -0.256090 -0.161285 1.405742 0.150354 1.336151 -0.049296 0.676639 0.179468 0.223738 -0.026447 0.633754 1.009834 1.247179 0.478290 0.662079 0.748655 0.357085 1.374703 1.160927 0.429236 0.231499 0.680606 1.275377 0.482417 1.486029 0.955636 0.656194 0.784771 0.415616 -1.691681 1.767041 0.147548 0.371057 0.291191 1.824186 1.135403 1.361375 0.394251 1.554796 1.735953 0.147583 0.633615 0.589877 0.598198 0.971637 1.904531 1.249959 0.504018)
+     8.297419 #(0.000000 -0.050827 -0.093113 0.415337 1.376502 1.483467 0.139153 0.992518 0.529850 1.653904 0.191931 1.095275 -0.256090 -0.161285 1.405742 0.150354 1.336151 -0.049296 0.676639 0.179468 0.223738 -0.026447 0.633754 1.009834 1.247179 0.478290 0.662079 0.748655 0.357085 1.374703 1.160927 0.429236 0.231499 0.680606 1.275377 0.482417 1.486029 0.955636 0.656194 0.784771 0.415616 -1.691681 1.767041 0.147548 0.371057 0.291191 1.824186 1.135403 1.361375 0.394251 1.554796 1.735953 0.147583 0.633615 0.589877 0.598198 0.971637 1.904531 1.249959 0.504018)
      )
 
 ;;; 61 even --------------------------------------------------------------------------------
-(vector 61 10.120587847566 (fv 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1)
+(vector 61 10.120587847566 #(0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1)
 
      ;; ce:
-	8.246633 (fv 0.000000 0.014137 0.312612 0.249295 0.935740 0.710600 -0.670222 0.029791 0.000981 1.147441 0.399682 0.888394 1.440126 0.108877 -0.294608 1.403751 1.053458 0.779516 0.066815 1.543587 0.107940 1.359190 1.494404 1.618478 0.815280 -0.244135 0.981345 0.739684 0.088784 1.710138 1.218977 0.672306 0.896304 0.148600 0.266242 0.612315 0.136648 0.136688 0.184375 -0.198309 0.518044 0.411032 1.286324 0.855547 0.828794 0.991646 1.167294 -0.167119 0.070397 0.487614 -0.198225 0.121902 0.696143 0.291992 0.984667 1.799531 0.623251 0.161592 0.779281 0.099176 0.369046)
+	8.246633 #(0.000000 0.014137 0.312612 0.249295 0.935740 0.710600 -0.670222 0.029791 0.000981 1.147441 0.399682 0.888394 1.440126 0.108877 -0.294608 1.403751 1.053458 0.779516 0.066815 1.543587 0.107940 1.359190 1.494404 1.618478 0.815280 -0.244135 0.981345 0.739684 0.088784 1.710138 1.218977 0.672306 0.896304 0.148600 0.266242 0.612315 0.136648 0.136688 0.184375 -0.198309 0.518044 0.411032 1.286324 0.855547 0.828794 0.991646 1.167294 -0.167119 0.070397 0.487614 -0.198225 0.121902 0.696143 0.291992 0.984667 1.799531 0.623251 0.161592 0.779281 0.099176 0.369046)
      )
 
 ;;; 62 even --------------------------------------------------------------------------------
-(vector 62 10.318392753601 (fv 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1)
+(vector 62 10.318392753601 #(0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1)
 
-     8.390962 (fv 0.000000 0.864131 -0.039302 0.501838 0.179590 0.198870 0.408743 -0.099436 -0.035241 1.399095 1.555420 1.066003 1.126029 -0.412606 0.371657 1.690168 1.511157 0.827619 0.057876 1.184261 0.354886 0.869166 0.825315 1.069197 0.055544 0.926747 0.994446 -0.406535 1.243161 1.409918 0.623323 1.296612 0.600545 1.814707 1.913723 0.665613 1.150575 0.642943 -0.000728 0.108004 1.148509 1.338004 0.731747 0.682804 1.190657 0.379742 0.514953 0.586813 0.784946 1.269079 1.453729 1.496418 0.332671 -0.412333 0.644169 0.803815 1.053593 1.563066 0.967726 0.733563 -0.027726 1.710240)
+     8.390962 #(0.000000 0.864131 -0.039302 0.501838 0.179590 0.198870 0.408743 -0.099436 -0.035241 1.399095 1.555420 1.066003 1.126029 -0.412606 0.371657 1.690168 1.511157 0.827619 0.057876 1.184261 0.354886 0.869166 0.825315 1.069197 0.055544 0.926747 0.994446 -0.406535 1.243161 1.409918 0.623323 1.296612 0.600545 1.814707 1.913723 0.665613 1.150575 0.642943 -0.000728 0.108004 1.148509 1.338004 0.731747 0.682804 1.190657 0.379742 0.514953 0.586813 0.784946 1.269079 1.453729 1.496418 0.332671 -0.412333 0.644169 0.803815 1.053593 1.563066 0.967726 0.733563 -0.027726 1.710240)
      )
 
 ;;; 63 even --------------------------------------------------------------------------------
-(vector 63 10.45694065094 (fv 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0)
+(vector 63 10.45694065094 #(0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0)
 
-     8.413888 (fv 0.000000 0.010634 0.820887 1.791906 0.180821 1.699733 1.457775 1.781040 1.049055 0.063682 0.656198 -0.016519 1.426220 1.490473 0.018505 1.749295 0.166920 0.934178 0.018879 0.949939 1.163838 0.694420 0.665805 0.087679 1.619302 0.169784 1.099805 0.390614 0.230991 0.703447 0.620497 0.345622 1.520041 1.514348 1.626503 0.238228 1.445149 1.071455 0.772257 1.186699 1.488207 -0.090097 0.947955 1.288711 1.143854 0.328539 1.581009 1.516219 1.752145 1.825272 0.656629 1.607807 1.482688 0.741468 0.684282 0.938749 1.078766 0.076298 1.127102 0.768415 0.654765 1.253057 1.466721)
+     8.413888 #(0.000000 0.010634 0.820887 1.791906 0.180821 1.699733 1.457775 1.781040 1.049055 0.063682 0.656198 -0.016519 1.426220 1.490473 0.018505 1.749295 0.166920 0.934178 0.018879 0.949939 1.163838 0.694420 0.665805 0.087679 1.619302 0.169784 1.099805 0.390614 0.230991 0.703447 0.620497 0.345622 1.520041 1.514348 1.626503 0.238228 1.445149 1.071455 0.772257 1.186699 1.488207 -0.090097 0.947955 1.288711 1.143854 0.328539 1.581009 1.516219 1.752145 1.825272 0.656629 1.607807 1.482688 0.741468 0.684282 0.938749 1.078766 0.076298 1.127102 0.768415 0.654765 1.253057 1.466721)
      )
 
 ;;; 64 even --------------------------------------------------------------------------------
-(vector 64 10.487 (fv 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1)
+(vector 64 10.487 #(0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1)
 
-     8.500897 (fv 0.000000 -0.110230 0.253682 0.149208 0.517156 1.680690 0.261962 -0.311932 1.499119 0.134139 0.193946 1.528316 0.126448 1.680960 0.957330 -0.015272 0.163098 1.233151 0.955877 1.516677 1.271750 0.225924 1.801609 0.924065 0.996478 1.135973 0.892170 1.311436 1.257336 0.314351 0.968388 0.136861 1.841069 1.348391 1.398845 -0.195293 1.345125 1.529238 1.112945 1.363188 0.328366 0.804723 1.816185 1.478898 0.163962 1.500837 0.226838 0.805475 0.515967 0.095385 1.528024 1.274946 0.915048 0.129649 1.022985 1.362093 -0.189345 -0.123957 -0.176055 0.992212 1.710004 0.183155 0.509794 0.492211)
+     8.500897 #(0.000000 -0.110230 0.253682 0.149208 0.517156 1.680690 0.261962 -0.311932 1.499119 0.134139 0.193946 1.528316 0.126448 1.680960 0.957330 -0.015272 0.163098 1.233151 0.955877 1.516677 1.271750 0.225924 1.801609 0.924065 0.996478 1.135973 0.892170 1.311436 1.257336 0.314351 0.968388 0.136861 1.841069 1.348391 1.398845 -0.195293 1.345125 1.529238 1.112945 1.363188 0.328366 0.804723 1.816185 1.478898 0.163962 1.500837 0.226838 0.805475 0.515967 0.095385 1.528024 1.274946 0.915048 0.129649 1.022985 1.362093 -0.189345 -0.123957 -0.176055 0.992212 1.710004 0.183155 0.509794 0.492211)
      )
 
 ;;; 65 even --------------------------------------------------------------------------------
-(vector 65 10.593795776367 (fv 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0)
+(vector 65 10.593795776367 #(0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0)
 
      ;; ce:
-	8.609777 (fv 0.000000 0.010286 0.073308 0.156025 1.953119 0.326605 1.156187 1.359503 0.615092 0.625095 1.209776 1.377583 -0.310622 1.815585 1.618945 0.328652 -0.127781 1.904210 1.297763 1.916187 0.801813 0.929154 1.581967 0.478151 0.556340 1.031862 1.480609 -1.661291 1.218834 0.549647 1.223081 1.263443 0.189207 -0.057436 1.688891 1.890453 1.705454 1.164550 1.023002 0.394890 -0.072758 -0.362543 1.102983 0.220165 0.570828 0.506586 1.236790 0.668284 1.330270 0.072079 0.187084 1.026028 0.423887 1.229321 0.594086 1.447463 0.979393 0.850808 0.463831 1.022159 0.562154 0.740405 1.709952 0.862548 0.909149)
+	8.609777 #(0.000000 0.010286 0.073308 0.156025 1.953119 0.326605 1.156187 1.359503 0.615092 0.625095 1.209776 1.377583 -0.310622 1.815585 1.618945 0.328652 -0.127781 1.904210 1.297763 1.916187 0.801813 0.929154 1.581967 0.478151 0.556340 1.031862 1.480609 -1.661291 1.218834 0.549647 1.223081 1.263443 0.189207 -0.057436 1.688891 1.890453 1.705454 1.164550 1.023002 0.394890 -0.072758 -0.362543 1.102983 0.220165 0.570828 0.506586 1.236790 0.668284 1.330270 0.072079 0.187084 1.026028 0.423887 1.229321 0.594086 1.447463 0.979393 0.850808 0.463831 1.022159 0.562154 0.740405 1.709952 0.862548 0.909149)
      )
 
 ;;; 66 even --------------------------------------------------------------------------------
-(vector 66 10.77367179842 (fv 0 0 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 0)
+(vector 66 10.77367179842 #(0 0 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 0)
 
      ;; ce:
-	8.678699 (fv 0.000000 0.454997 1.496948 0.519770 1.672039 0.567223 1.755017 0.736664 1.985212 1.381007 0.655920 0.131168 1.193358 0.617219 1.831999 1.143743 0.488405 0.001490 1.636224 1.056726 0.387222 0.101202 1.826852 1.187505 0.710721 0.377670 0.096617 1.812536 1.688958 1.476343 1.264972 1.142558 1.049579 0.690750 1.195534 0.929938 1.522099 1.266451 1.390797 1.538518 1.605610 1.574083 1.889598 0.006801 0.695550 0.832932 1.160944 1.293180 1.683176 0.244325 0.530816 1.180483 1.812767 0.268820 0.993683 1.695534 1.919653 0.449948 1.560150 0.338318 1.266700 1.853107 0.910590 1.381060 0.420174 1.311948)
+	8.678699 #(0.000000 0.454997 1.496948 0.519770 1.672039 0.567223 1.755017 0.736664 1.985212 1.381007 0.655920 0.131168 1.193358 0.617219 1.831999 1.143743 0.488405 0.001490 1.636224 1.056726 0.387222 0.101202 1.826852 1.187505 0.710721 0.377670 0.096617 1.812536 1.688958 1.476343 1.264972 1.142558 1.049579 0.690750 1.195534 0.929938 1.522099 1.266451 1.390797 1.538518 1.605610 1.574083 1.889598 0.006801 0.695550 0.832932 1.160944 1.293180 1.683176 0.244325 0.530816 1.180483 1.812767 0.268820 0.993683 1.695534 1.919653 0.449948 1.560150 0.338318 1.266700 1.853107 0.910590 1.381060 0.420174 1.311948)
      )
 
 ;;; 67 even --------------------------------------------------------------------------------
-(vector 67 10.668939590454 (fv 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0)
+(vector 67 10.668939590454 #(0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0)
 
      ;; ce:
-	8.715278 (fv 0.000000 -0.048714 1.201233 1.932201 0.432152 1.784378 1.706119 1.715110 0.918127 0.634326 -0.280426 0.736091 0.881233 0.715749 1.255373 0.306961 0.430124 1.043814 0.355900 1.887422 0.161687 0.974683 1.590380 -0.300251 0.580494 -0.035950 1.388432 1.396578 1.262995 0.125471 0.427569 0.132635 1.747845 1.090690 1.059664 0.781885 0.922127 1.269399 0.290961 0.283370 1.543322 0.245179 1.267332 1.559397 1.540498 0.278811 0.442330 0.979302 0.305622 1.057402 0.123531 1.659773 0.687811 0.574242 1.988850 0.928855 0.118304 0.916897 0.064414 0.547707 0.733829 0.168859 0.108897 0.552498 0.271579 0.641458 0.722670)
+	8.715278 #(0.000000 -0.048714 1.201233 1.932201 0.432152 1.784378 1.706119 1.715110 0.918127 0.634326 -0.280426 0.736091 0.881233 0.715749 1.255373 0.306961 0.430124 1.043814 0.355900 1.887422 0.161687 0.974683 1.590380 -0.300251 0.580494 -0.035950 1.388432 1.396578 1.262995 0.125471 0.427569 0.132635 1.747845 1.090690 1.059664 0.781885 0.922127 1.269399 0.290961 0.283370 1.543322 0.245179 1.267332 1.559397 1.540498 0.278811 0.442330 0.979302 0.305622 1.057402 0.123531 1.659773 0.687811 0.574242 1.988850 0.928855 0.118304 0.916897 0.064414 0.547707 0.733829 0.168859 0.108897 0.552498 0.271579 0.641458 0.722670)
      )
 
 ;;; 68 even --------------------------------------------------------------------------------
-(vector 68 10.834321813096 (fv 0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0)
+(vector 68 10.834321813096 #(0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0)
 
      ;; ce:
-	8.754943 (fv 0.000000 0.006701 0.662467 1.132456 -0.029127 0.614111 1.150467 1.706479 0.619454 1.199242 1.758840 0.562498 1.597544 0.407921 1.558651 0.097672 0.926756 -0.032275 0.853950 0.002762 0.680777 1.599641 0.725147 0.147702 1.201496 0.263849 1.380478 0.615269 0.086221 1.573333 1.233822 0.463104 -0.134996 1.463347 0.467790 -0.201328 1.692933 1.307865 0.941345 0.423601 0.364303 1.897445 -0.044200 1.168331 0.738828 0.662829 0.834882 0.503840 0.773952 0.485349 0.168198 0.227087 0.122039 0.075266 0.590053 0.402757 0.920519 0.805378 1.169878 1.002493 1.566599 1.933905 0.435730 0.760806 1.023096 1.785992 1.801946 0.257114)
+	8.754943 #(0.000000 0.006701 0.662467 1.132456 -0.029127 0.614111 1.150467 1.706479 0.619454 1.199242 1.758840 0.562498 1.597544 0.407921 1.558651 0.097672 0.926756 -0.032275 0.853950 0.002762 0.680777 1.599641 0.725147 0.147702 1.201496 0.263849 1.380478 0.615269 0.086221 1.573333 1.233822 0.463104 -0.134996 1.463347 0.467790 -0.201328 1.692933 1.307865 0.941345 0.423601 0.364303 1.897445 -0.044200 1.168331 0.738828 0.662829 0.834882 0.503840 0.773952 0.485349 0.168198 0.227087 0.122039 0.075266 0.590053 0.402757 0.920519 0.805378 1.169878 1.002493 1.566599 1.933905 0.435730 0.760806 1.023096 1.785992 1.801946 0.257114)
      )
 
 ;;; 69 even --------------------------------------------------------------------------------
-(vector 69 11.164121627808 (fv 0 0 0 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0)
+(vector 69 11.164121627808 #(0 0 0 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0)
 
-     8.870351 (fv 0.000000 -0.002928 0.090043 1.728264 1.193144 0.838010 0.865027 0.720973 0.639322 0.246096 0.057627 0.302959 -0.048089 1.638389 0.900762 0.946630 1.090094 0.801115 1.083281 1.325801 0.953024 0.800047 1.660883 0.042716 1.927302 1.582152 0.107129 0.057190 -0.097633 0.434745 0.530943 1.556013 -0.117080 1.617479 1.566580 -0.082197 0.137002 1.745306 1.025473 1.476477 1.524388 0.192617 1.281951 0.528156 0.227376 1.631586 1.077576 0.616842 1.479500 0.199402 1.336867 0.525138 1.593133 1.323175 0.217188 0.498012 1.287694 0.007842 1.310482 0.013236 0.970642 -0.011247 0.684481 1.560396 -0.131105 0.613388 0.586300 0.981366 1.715362)
+     8.870351 #(0.000000 -0.002928 0.090043 1.728264 1.193144 0.838010 0.865027 0.720973 0.639322 0.246096 0.057627 0.302959 -0.048089 1.638389 0.900762 0.946630 1.090094 0.801115 1.083281 1.325801 0.953024 0.800047 1.660883 0.042716 1.927302 1.582152 0.107129 0.057190 -0.097633 0.434745 0.530943 1.556013 -0.117080 1.617479 1.566580 -0.082197 0.137002 1.745306 1.025473 1.476477 1.524388 0.192617 1.281951 0.528156 0.227376 1.631586 1.077576 0.616842 1.479500 0.199402 1.336867 0.525138 1.593133 1.323175 0.217188 0.498012 1.287694 0.007842 1.310482 0.013236 0.970642 -0.011247 0.684481 1.560396 -0.131105 0.613388 0.586300 0.981366 1.715362)
 
      ;; ce:
-     8.871460 (fv 0.000000 0.024677 0.348753 1.853212 1.026433 0.764498 0.988619 0.726212 0.717099 0.354110 0.211391 0.453497 0.101716 1.483433 0.914508 0.822283 0.913048 0.815074 1.083064 1.158865 1.024685 0.695931 1.752852 0.025183 1.742985 1.441890 0.242171 0.072208 0.012411 0.538299 0.676243 1.315025 0.155925 1.560315 1.592984 0.078875 0.242794 1.804492 0.950070 1.285093 1.411716 0.049957 1.246246 0.728985 0.030862 1.434432 1.085297 0.759494 1.436818 0.422412 1.268623 0.590795 1.364269 1.235546 0.170900 0.477972 1.127120 -0.054549 1.479098 0.172668 1.199653 -0.107230 0.674735 1.486658 -0.230242 0.542693 0.703829 0.966900 1.458811)
+     8.871460 #(0.000000 0.024677 0.348753 1.853212 1.026433 0.764498 0.988619 0.726212 0.717099 0.354110 0.211391 0.453497 0.101716 1.483433 0.914508 0.822283 0.913048 0.815074 1.083064 1.158865 1.024685 0.695931 1.752852 0.025183 1.742985 1.441890 0.242171 0.072208 0.012411 0.538299 0.676243 1.315025 0.155925 1.560315 1.592984 0.078875 0.242794 1.804492 0.950070 1.285093 1.411716 0.049957 1.246246 0.728985 0.030862 1.434432 1.085297 0.759494 1.436818 0.422412 1.268623 0.590795 1.364269 1.235546 0.170900 0.477972 1.127120 -0.054549 1.479098 0.172668 1.199653 -0.107230 0.674735 1.486658 -0.230242 0.542693 0.703829 0.966900 1.458811)
      )
 
 ;;; 70 even --------------------------------------------------------------------------------
-(vector 70 11.188811302185 (fv 0 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1)
+(vector 70 11.188811302185 #(0 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1)
 
      ;; ce:
-	8.848811 (fv 0.000000 0.246703 1.002261 0.886061 0.801873 1.809738 1.108544 0.562043 1.825392 1.804522 1.262385 0.421389 0.361557 1.923401 1.951742 1.062427 0.438003 0.228289 1.097160 1.013865 0.764041 0.470243 0.831289 0.101425 1.763202 0.709481 0.498799 0.216191 0.861166 0.122620 0.547738 1.235046 0.857238 0.383439 0.822746 0.754977 0.703208 0.715041 0.359010 1.832044 0.247507 1.317151 1.405217 0.206638 0.707472 1.340219 1.707159 1.823029 1.938700 1.479437 0.258261 1.667534 0.316971 1.157956 1.277369 0.826722 1.196822 0.248386 0.546752 1.821030 1.066474 1.952221 1.238401 0.305398 0.369743 0.877722 1.232005 1.532682 1.629962 0.062770)
+	8.848811 #(0.000000 0.246703 1.002261 0.886061 0.801873 1.809738 1.108544 0.562043 1.825392 1.804522 1.262385 0.421389 0.361557 1.923401 1.951742 1.062427 0.438003 0.228289 1.097160 1.013865 0.764041 0.470243 0.831289 0.101425 1.763202 0.709481 0.498799 0.216191 0.861166 0.122620 0.547738 1.235046 0.857238 0.383439 0.822746 0.754977 0.703208 0.715041 0.359010 1.832044 0.247507 1.317151 1.405217 0.206638 0.707472 1.340219 1.707159 1.823029 1.938700 1.479437 0.258261 1.667534 0.316971 1.157956 1.277369 0.826722 1.196822 0.248386 0.546752 1.821030 1.066474 1.952221 1.238401 0.305398 0.369743 0.877722 1.232005 1.532682 1.629962 0.062770)
      )
 
 ;;; 71 even --------------------------------------------------------------------------------
-(vector 71 11.146488189697 (fv 0 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0)
+(vector 71 11.146488189697 #(0 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0)
 
      ;; ce:
-	8.877033 (fv 0.000000 0.494925 1.537244 0.892084 0.150008 1.375283 0.111396 0.180070 1.039621 1.603551 0.974071 0.067462 1.566530 0.645476 1.559374 0.286202 1.250076 1.040362 0.597158 0.170031 1.495084 0.538551 1.605790 0.911462 0.561795 0.131327 0.669920 1.494711 1.488338 0.162432 0.349959 1.071758 0.876821 1.835299 1.877472 1.338427 1.055237 0.961547 0.343936 0.685277 1.268629 0.932565 0.412531 1.233930 1.960684 0.356135 1.869394 1.068031 1.470058 1.669216 1.450884 1.495861 1.103585 1.290131 0.589390 1.675751 1.864756 1.328404 1.588855 1.689588 1.394915 1.481997 1.790524 0.376533 0.659979 0.194369 0.714680 1.009374 1.293563 1.133522 0.906132)
+	8.877033 #(0.000000 0.494925 1.537244 0.892084 0.150008 1.375283 0.111396 0.180070 1.039621 1.603551 0.974071 0.067462 1.566530 0.645476 1.559374 0.286202 1.250076 1.040362 0.597158 0.170031 1.495084 0.538551 1.605790 0.911462 0.561795 0.131327 0.669920 1.494711 1.488338 0.162432 0.349959 1.071758 0.876821 1.835299 1.877472 1.338427 1.055237 0.961547 0.343936 0.685277 1.268629 0.932565 0.412531 1.233930 1.960684 0.356135 1.869394 1.068031 1.470058 1.669216 1.450884 1.495861 1.103585 1.290131 0.589390 1.675751 1.864756 1.328404 1.588855 1.689588 1.394915 1.481997 1.790524 0.376533 0.659979 0.194369 0.714680 1.009374 1.293563 1.133522 0.906132)
      )
 
 ;;; 72 even --------------------------------------------------------------------------------
-(vector 72 11.323646371629 (fv 0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0)
+(vector 72 11.323646371629 #(0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0)
 
-     8.985526 (fv 0.000000 -0.132001 0.251840 -0.152367 1.238134 0.223104 0.102612 0.998567 1.283059 0.195894 1.573363 0.407537 1.033361 -0.202081 0.593147 0.635495 1.000647 1.220151 0.876169 0.891935 0.590452 0.848621 0.474219 0.520369 1.077034 0.562333 1.205154 1.187120 1.031050 1.268084 0.666333 -0.432529 0.483326 0.764356 0.428610 0.084679 1.685196 -0.154809 0.749260 1.099715 -0.153921 1.175926 0.117589 0.701530 0.528397 1.669792 1.315998 0.695987 0.047259 0.736352 1.073555 1.525504 1.860608 -0.168018 1.587814 -0.029717 0.367471 1.076978 0.934753 0.510954 0.369425 1.530708 0.338598 0.869566 1.012951 0.841118 0.372289 1.598627 0.202786 1.450618 0.578685 0.231358)
+     8.985526 #(0.000000 -0.132001 0.251840 -0.152367 1.238134 0.223104 0.102612 0.998567 1.283059 0.195894 1.573363 0.407537 1.033361 -0.202081 0.593147 0.635495 1.000647 1.220151 0.876169 0.891935 0.590452 0.848621 0.474219 0.520369 1.077034 0.562333 1.205154 1.187120 1.031050 1.268084 0.666333 -0.432529 0.483326 0.764356 0.428610 0.084679 1.685196 -0.154809 0.749260 1.099715 -0.153921 1.175926 0.117589 0.701530 0.528397 1.669792 1.315998 0.695987 0.047259 0.736352 1.073555 1.525504 1.860608 -0.168018 1.587814 -0.029717 0.367471 1.076978 0.934753 0.510954 0.369425 1.530708 0.338598 0.869566 1.012951 0.841118 0.372289 1.598627 0.202786 1.450618 0.578685 0.231358)
 
      ;; nce:
-     8.996610 (fv 0.000000 0.020435 0.148826 -0.173981 1.377729 0.211130 0.166992 1.053622 1.458337 0.005572 1.576161 0.391690 1.074146 -0.213327 0.588223 0.422230 0.994634 1.149413 0.858889 0.855458 0.451324 0.722371 0.451607 0.485779 1.099748 0.481778 1.183724 1.119200 0.986503 1.262651 0.778215 -0.493824 0.577630 0.838272 0.526378 0.254738 1.698601 -0.156321 0.698602 1.048110 -0.140804 0.991469 0.138073 0.652727 0.457506 1.770023 1.311357 0.782250 0.170414 0.740584 1.195615 1.519642 1.761376 -0.154135 1.542454 -0.027224 0.389381 1.045008 1.107881 0.609081 0.244277 1.495852 0.294775 0.922470 1.153689 1.027914 0.296649 1.621186 0.277016 1.409256 0.557607 0.152023)
+     8.996610 #(0.000000 0.020435 0.148826 -0.173981 1.377729 0.211130 0.166992 1.053622 1.458337 0.005572 1.576161 0.391690 1.074146 -0.213327 0.588223 0.422230 0.994634 1.149413 0.858889 0.855458 0.451324 0.722371 0.451607 0.485779 1.099748 0.481778 1.183724 1.119200 0.986503 1.262651 0.778215 -0.493824 0.577630 0.838272 0.526378 0.254738 1.698601 -0.156321 0.698602 1.048110 -0.140804 0.991469 0.138073 0.652727 0.457506 1.770023 1.311357 0.782250 0.170414 0.740584 1.195615 1.519642 1.761376 -0.154135 1.542454 -0.027224 0.389381 1.045008 1.107881 0.609081 0.244277 1.495852 0.294775 0.922470 1.153689 1.027914 0.296649 1.621186 0.277016 1.409256 0.557607 0.152023)
      )
 
 ;;; 73 even --------------------------------------------------------------------------------
-(vector 73 11.416394233704 (fv 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0)
+(vector 73 11.416394233704 #(0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0)
 
      ;; ce:
-	9.061347 (fv 0.000000 -0.013492 0.700057 0.971458 1.656489 0.226217 1.266397 1.217251 0.034107 1.132703 0.209805 0.859555 1.676063 0.359664 0.948491 1.631395 0.566735 1.564253 0.503600 1.614448 0.423074 1.551405 0.311534 1.292368 0.836304 0.277624 0.872873 0.108697 1.546043 0.974228 -0.054286 1.516659 0.873622 0.075543 -0.025545 1.027508 0.575666 -0.130582 1.023997 1.136740 0.704834 -0.015132 -0.346526 1.509690 1.112218 0.655940 0.431045 0.092523 0.384582 -0.406961 0.058570 -0.216957 1.536312 1.587308 1.645182 1.277358 1.546578 1.141387 -0.381783 1.707248 -0.163708 -0.313272 -0.263055 0.347717 0.363093 0.778459 1.216671 1.669453 -0.038813 0.148398 0.866038 0.847643 1.513063)
+	9.061347 #(0.000000 -0.013492 0.700057 0.971458 1.656489 0.226217 1.266397 1.217251 0.034107 1.132703 0.209805 0.859555 1.676063 0.359664 0.948491 1.631395 0.566735 1.564253 0.503600 1.614448 0.423074 1.551405 0.311534 1.292368 0.836304 0.277624 0.872873 0.108697 1.546043 0.974228 -0.054286 1.516659 0.873622 0.075543 -0.025545 1.027508 0.575666 -0.130582 1.023997 1.136740 0.704834 -0.015132 -0.346526 1.509690 1.112218 0.655940 0.431045 0.092523 0.384582 -0.406961 0.058570 -0.216957 1.536312 1.587308 1.645182 1.277358 1.546578 1.141387 -0.381783 1.707248 -0.163708 -0.313272 -0.263055 0.347717 0.363093 0.778459 1.216671 1.669453 -0.038813 0.148398 0.866038 0.847643 1.513063)
      )
 
 ;;; 74 even --------------------------------------------------------------------------------
-(vector 74 11.47264289856 (fv 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1)
+(vector 74 11.47264289856 #(0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1)
 
      ;; ce:
-	9.134480 (fv 0.000000 0.102279 0.371397 0.523001 1.843248 1.152941 1.651341 1.411384 0.791794 0.097952 1.057024 0.161099 0.857363 0.427397 0.372120 0.661194 1.523876 0.922082 -0.041073 -0.033604 0.996743 1.697191 1.295880 0.242720 0.296660 0.925120 0.229105 1.701968 1.808512 0.155026 0.755549 1.603330 1.534401 1.305218 1.056671 1.959110 0.012243 0.095634 0.866653 0.499791 0.642664 1.366362 0.320578 0.556112 0.471836 0.546071 0.453257 0.620145 0.487633 1.413108 0.647644 1.248023 1.294495 1.814325 0.514274 1.440895 0.132821 0.969503 0.559010 0.339598 1.732485 1.513938 0.682886 0.936970 1.342790 0.397470 0.364797 1.929409 1.198862 0.270546 1.048858 1.252852 0.860205 0.013479)
+	9.134480 #(0.000000 0.102279 0.371397 0.523001 1.843248 1.152941 1.651341 1.411384 0.791794 0.097952 1.057024 0.161099 0.857363 0.427397 0.372120 0.661194 1.523876 0.922082 -0.041073 -0.033604 0.996743 1.697191 1.295880 0.242720 0.296660 0.925120 0.229105 1.701968 1.808512 0.155026 0.755549 1.603330 1.534401 1.305218 1.056671 1.959110 0.012243 0.095634 0.866653 0.499791 0.642664 1.366362 0.320578 0.556112 0.471836 0.546071 0.453257 0.620145 0.487633 1.413108 0.647644 1.248023 1.294495 1.814325 0.514274 1.440895 0.132821 0.969503 0.559010 0.339598 1.732485 1.513938 0.682886 0.936970 1.342790 0.397470 0.364797 1.929409 1.198862 0.270546 1.048858 1.252852 0.860205 0.013479)
      )
 
 ;;; 75 even --------------------------------------------------------------------------------
-(vector 75 11.479255355845 (fv 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1)
+(vector 75 11.479255355845 #(0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1)
 
      ;; ce:
-	9.136718 (fv 0.000000 0.002886 1.335455 0.159358 1.480181 0.946385 -0.044639 1.084031 0.633473 0.070872 0.846110 0.073920 0.712875 1.849807 0.002049 1.333644 0.084510 1.217578 1.455838 0.351015 0.583697 1.521673 -0.105875 -0.161704 1.008277 1.067855 -0.227255 1.066234 0.968179 0.069816 1.652420 0.515209 -0.583628 1.701274 1.644474 0.045597 -0.072256 1.396842 -0.036343 1.242335 0.205214 -0.046339 1.655176 1.585631 1.056865 0.812824 1.251896 1.501857 -0.501015 0.327372 1.079894 1.360106 0.639144 -0.102077 0.025865 0.258537 0.650404 0.029251 0.316419 1.073801 1.065871 0.953311 0.976263 -0.016818 0.369518 -0.028524 0.754304 0.267168 0.876021 1.386930 1.128217 -0.044803 -0.305853 1.417010 1.210349)
+	9.136718 #(0.000000 0.002886 1.335455 0.159358 1.480181 0.946385 -0.044639 1.084031 0.633473 0.070872 0.846110 0.073920 0.712875 1.849807 0.002049 1.333644 0.084510 1.217578 1.455838 0.351015 0.583697 1.521673 -0.105875 -0.161704 1.008277 1.067855 -0.227255 1.066234 0.968179 0.069816 1.652420 0.515209 -0.583628 1.701274 1.644474 0.045597 -0.072256 1.396842 -0.036343 1.242335 0.205214 -0.046339 1.655176 1.585631 1.056865 0.812824 1.251896 1.501857 -0.501015 0.327372 1.079894 1.360106 0.639144 -0.102077 0.025865 0.258537 0.650404 0.029251 0.316419 1.073801 1.065871 0.953311 0.976263 -0.016818 0.369518 -0.028524 0.754304 0.267168 0.876021 1.386930 1.128217 -0.044803 -0.305853 1.417010 1.210349)
      )
 
 ;;; 76 even --------------------------------------------------------------------------------
-(vector 76 11.477294510597 (fv 0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1)
+(vector 76 11.477294510597 #(0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1)
 
      ;; ce:
-	9.274323 (fv 0.000000 -0.012165 1.750183 1.230595 1.387108 0.131448 0.902665 1.325819 0.139220 0.132421 1.315838 0.916320 1.247629 1.543004 0.326242 0.479315 1.525889 1.714627 0.992625 1.849378 1.028201 1.309429 1.365818 1.322280 1.222257 1.381076 1.644593 0.773733 0.614835 0.306624 1.009114 1.162734 0.610055 0.099066 1.125761 1.356329 0.324777 0.800340 1.850117 0.710340 0.610191 0.810114 1.107918 1.417728 -0.023776 1.259738 0.196765 1.355631 1.575090 1.576385 1.741085 1.748236 0.050375 1.081011 0.178534 1.097122 0.438057 -0.170346 1.371443 0.019537 1.307599 0.833238 0.430491 0.202986 1.382655 1.791419 0.002565 0.061873 0.176928 1.554826 0.852820 1.065814 0.297645 0.742549 0.387652 1.429885)
+	9.274323 #(0.000000 -0.012165 1.750183 1.230595 1.387108 0.131448 0.902665 1.325819 0.139220 0.132421 1.315838 0.916320 1.247629 1.543004 0.326242 0.479315 1.525889 1.714627 0.992625 1.849378 1.028201 1.309429 1.365818 1.322280 1.222257 1.381076 1.644593 0.773733 0.614835 0.306624 1.009114 1.162734 0.610055 0.099066 1.125761 1.356329 0.324777 0.800340 1.850117 0.710340 0.610191 0.810114 1.107918 1.417728 -0.023776 1.259738 0.196765 1.355631 1.575090 1.576385 1.741085 1.748236 0.050375 1.081011 0.178534 1.097122 0.438057 -0.170346 1.371443 0.019537 1.307599 0.833238 0.430491 0.202986 1.382655 1.791419 0.002565 0.061873 0.176928 1.554826 0.852820 1.065814 0.297645 0.742549 0.387652 1.429885)
      )
 
 ;;; 77 even --------------------------------------------------------------------------------
-(vector 77 11.594018936157 (fv 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1)
+(vector 77 11.594018936157 #(0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1)
 
      ;; ce:
-	9.277681 (fv 0.000000 -0.007935 0.356695 -0.167840 1.436050 1.267495 0.166108 0.719740 1.788089 0.701383 1.502062 0.971109 -0.201146 1.261312 1.596232 0.380082 0.436900 1.530759 0.673592 1.168750 0.815135 1.757429 0.573966 1.406748 1.792933 1.256151 0.643583 0.884960 0.868508 0.759790 1.464002 -0.196244 0.635729 1.419530 -0.026848 0.857441 0.646295 0.815860 0.331225 0.324537 0.379771 0.793029 -0.189194 0.533286 0.175986 1.162021 0.894997 1.330799 0.028604 0.329088 -0.042751 1.722552 1.010170 0.365295 -0.089972 0.186813 0.250172 1.045796 0.805669 1.150679 1.074682 0.666765 1.119179 0.223717 0.745979 0.727191 0.250299 1.103832 0.833082 -0.215344 1.645081 0.897326 0.690160 1.501085 1.581868 1.570534 1.086810)
+	9.277681 #(0.000000 -0.007935 0.356695 -0.167840 1.436050 1.267495 0.166108 0.719740 1.788089 0.701383 1.502062 0.971109 -0.201146 1.261312 1.596232 0.380082 0.436900 1.530759 0.673592 1.168750 0.815135 1.757429 0.573966 1.406748 1.792933 1.256151 0.643583 0.884960 0.868508 0.759790 1.464002 -0.196244 0.635729 1.419530 -0.026848 0.857441 0.646295 0.815860 0.331225 0.324537 0.379771 0.793029 -0.189194 0.533286 0.175986 1.162021 0.894997 1.330799 0.028604 0.329088 -0.042751 1.722552 1.010170 0.365295 -0.089972 0.186813 0.250172 1.045796 0.805669 1.150679 1.074682 0.666765 1.119179 0.223717 0.745979 0.727191 0.250299 1.103832 0.833082 -0.215344 1.645081 0.897326 0.690160 1.501085 1.581868 1.570534 1.086810)
      )
 
 ;;; 78 even --------------------------------------------------------------------------------
-(vector 78 11.940728787203 (fv 0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0)
+(vector 78 11.940728787203 #(0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0)
 
-     9.335941 (fv 0.000000 1.404748 1.136727 0.627680 0.129528 0.271686 0.002711 1.737837 1.295987 1.387168 0.097658 1.822832 0.846464 1.039100 1.481322 0.895294 0.827592 0.841157 0.429643 0.718521 1.651578 0.732848 0.670593 1.833752 0.966314 1.266799 1.852734 1.169793 1.403542 0.722295 1.054728 1.444480 1.323054 1.351419 0.414445 0.928183 1.497407 0.895056 0.003473 1.202042 1.804296 0.448756 1.139768 0.075452 1.121542 0.477216 1.723231 0.402648 0.668323 0.045598 1.846940 0.961710 0.765295 1.814929 0.327072 0.120487 1.324670 1.238079 1.405578 -0.005216 1.466365 1.535268 1.050547 0.249219 1.956711 0.420435 0.291291 0.855796 1.032224 0.874733 1.340034 0.852331 1.473861 1.078790 -0.021411 0.624891 0.620475 1.381664)
+     9.335941 #(0.000000 1.404748 1.136727 0.627680 0.129528 0.271686 0.002711 1.737837 1.295987 1.387168 0.097658 1.822832 0.846464 1.039100 1.481322 0.895294 0.827592 0.841157 0.429643 0.718521 1.651578 0.732848 0.670593 1.833752 0.966314 1.266799 1.852734 1.169793 1.403542 0.722295 1.054728 1.444480 1.323054 1.351419 0.414445 0.928183 1.497407 0.895056 0.003473 1.202042 1.804296 0.448756 1.139768 0.075452 1.121542 0.477216 1.723231 0.402648 0.668323 0.045598 1.846940 0.961710 0.765295 1.814929 0.327072 0.120487 1.324670 1.238079 1.405578 -0.005216 1.466365 1.535268 1.050547 0.249219 1.956711 0.420435 0.291291 0.855796 1.032224 0.874733 1.340034 0.852331 1.473861 1.078790 -0.021411 0.624891 0.620475 1.381664)
      )
 
 ;;; 79 even --------------------------------------------------------------------------------
-(vector 79 11.878196632448 (fv 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1)
+(vector 79 11.878196632448 #(0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1)
 
      ;; ce:
-	9.380733 (fv 0.000000 0.510780 0.252633 0.712748 0.045825 0.533290 0.570911 1.782693 1.778269 1.965545 0.949265 0.812889 1.687090 1.664308 1.581407 1.710616 0.952117 1.113251 0.535130 1.949191 0.392710 1.113892 0.673455 0.088774 1.234594 1.234700 1.363303 0.874218 0.053582 1.508928 0.207664 0.009853 1.481504 1.794166 0.192648 0.693227 0.386323 1.341036 0.276027 0.630139 0.405686 0.785949 0.090167 1.080676 0.339556 0.634603 1.972094 0.909674 0.642872 1.742555 1.044458 1.900464 0.893867 1.044986 0.466092 0.081355 1.748407 0.417739 0.609777 0.867444 0.996078 1.921822 0.146017 1.547350 1.786775 0.079134 0.379049 1.145195 0.491146 0.827840 1.444544 0.381774 1.018247 0.133450 0.186735 0.732527 1.660451 1.720421 1.438682)
+	9.380733 #(0.000000 0.510780 0.252633 0.712748 0.045825 0.533290 0.570911 1.782693 1.778269 1.965545 0.949265 0.812889 1.687090 1.664308 1.581407 1.710616 0.952117 1.113251 0.535130 1.949191 0.392710 1.113892 0.673455 0.088774 1.234594 1.234700 1.363303 0.874218 0.053582 1.508928 0.207664 0.009853 1.481504 1.794166 0.192648 0.693227 0.386323 1.341036 0.276027 0.630139 0.405686 0.785949 0.090167 1.080676 0.339556 0.634603 1.972094 0.909674 0.642872 1.742555 1.044458 1.900464 0.893867 1.044986 0.466092 0.081355 1.748407 0.417739 0.609777 0.867444 0.996078 1.921822 0.146017 1.547350 1.786775 0.079134 0.379049 1.145195 0.491146 0.827840 1.444544 0.381774 1.018247 0.133450 0.186735 0.732527 1.660451 1.720421 1.438682)
      )
 
 ;;; 80 even --------------------------------------------------------------------------------
-(vector 80 11.989325523376 (fv 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0)
+(vector 80 11.989325523376 #(0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0)
 
      ;; ce:
-	9.493437 (fv 0.000000 -0.003056 0.871305 1.349319 1.858308 0.466908 1.244422 1.764043 0.291426 1.076281 1.682758 0.386304 1.182056 -0.041504 1.018049 1.794160 0.591085 1.410404 0.075268 1.154361 0.262047 1.215494 0.086813 1.119384 0.112085 1.492482 0.546321 1.626715 0.687674 1.840924 1.113879 0.412411 1.693842 1.217772 0.566191 1.613902 0.702693 0.386708 1.626693 1.362021 0.738932 0.368846 1.672871 1.299617 0.788427 0.551598 0.187991 1.803477 1.774821 1.164009 1.487614 0.770019 0.742630 0.390398 -0.088422 1.923288 -0.109062 1.842146 1.690251 0.008381 1.550824 1.531659 1.497616 1.396079 1.603050 1.793260 0.154336 0.252178 0.425516 0.421130 0.697112 0.901699 1.252555 0.016759 0.375241 0.855613 1.211546 1.433945 1.792863 0.351953)
+	9.493437 #(0.000000 -0.003056 0.871305 1.349319 1.858308 0.466908 1.244422 1.764043 0.291426 1.076281 1.682758 0.386304 1.182056 -0.041504 1.018049 1.794160 0.591085 1.410404 0.075268 1.154361 0.262047 1.215494 0.086813 1.119384 0.112085 1.492482 0.546321 1.626715 0.687674 1.840924 1.113879 0.412411 1.693842 1.217772 0.566191 1.613902 0.702693 0.386708 1.626693 1.362021 0.738932 0.368846 1.672871 1.299617 0.788427 0.551598 0.187991 1.803477 1.774821 1.164009 1.487614 0.770019 0.742630 0.390398 -0.088422 1.923288 -0.109062 1.842146 1.690251 0.008381 1.550824 1.531659 1.497616 1.396079 1.603050 1.793260 0.154336 0.252178 0.425516 0.421130 0.697112 0.901699 1.252555 0.016759 0.375241 0.855613 1.211546 1.433945 1.792863 0.351953)
      )
 
 ;;; 81 even --------------------------------------------------------------------------------
-(vector 81 11.979215621948 (fv 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0)
+(vector 81 11.979215621948 #(0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0)
 
      ;; ce:
-	9.529325 (fv 0.000000 -0.003984 0.725186 0.743737 0.729531 1.119765 1.541925 1.678935 1.738481 1.721543 1.393185 0.731045 0.019478 0.771584 0.581855 0.216656 0.563399 1.242114 0.560651 1.738359 1.170491 0.159270 0.566126 0.483569 1.182790 0.181604 1.706151 1.854339 -0.002194 0.437844 -0.070207 1.440872 0.286463 1.398996 1.367061 0.708028 -0.290957 0.883528 0.399205 0.712176 0.881360 0.586332 1.691690 -0.045439 0.598789 -0.244443 0.663603 1.393152 0.011936 0.502973 1.160110 0.596199 0.257846 0.544341 0.629333 1.752684 0.177491 0.528429 1.038556 0.728481 0.384225 0.529890 0.711236 1.400194 1.498453 1.156244 0.653763 0.305758 -0.155269 1.073363 1.458379 0.702870 0.141716 1.302726 -0.329814 0.298639 1.892688 1.900138 1.655169 0.812034 -0.182220)
+	9.529325 #(0.000000 -0.003984 0.725186 0.743737 0.729531 1.119765 1.541925 1.678935 1.738481 1.721543 1.393185 0.731045 0.019478 0.771584 0.581855 0.216656 0.563399 1.242114 0.560651 1.738359 1.170491 0.159270 0.566126 0.483569 1.182790 0.181604 1.706151 1.854339 -0.002194 0.437844 -0.070207 1.440872 0.286463 1.398996 1.367061 0.708028 -0.290957 0.883528 0.399205 0.712176 0.881360 0.586332 1.691690 -0.045439 0.598789 -0.244443 0.663603 1.393152 0.011936 0.502973 1.160110 0.596199 0.257846 0.544341 0.629333 1.752684 0.177491 0.528429 1.038556 0.728481 0.384225 0.529890 0.711236 1.400194 1.498453 1.156244 0.653763 0.305758 -0.155269 1.073363 1.458379 0.702870 0.141716 1.302726 -0.329814 0.298639 1.892688 1.900138 1.655169 0.812034 -0.182220)
      )
 
 ;;; 82 even --------------------------------------------------------------------------------
-(vector 82 11.74796962738 (fv 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0)
+(vector 82 11.74796962738 #(0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0)
 
      ;; ce:
-	9.530985 (fv 0.000000 0.002581 0.665465 1.069477 1.708629 0.244744 0.815275 1.389506 0.072967 0.518149 1.258636 0.104869 0.672550 1.578904 0.486254 1.275378 -0.016236 0.797153 -0.276393 0.747043 -0.159462 0.727529 0.109229 1.313965 0.107559 1.101244 0.135391 1.229652 0.386704 1.699152 0.875100 0.220480 1.674529 0.566929 1.803565 1.281089 0.420527 -0.095373 1.451514 0.833105 0.334393 1.926106 1.521915 0.797742 0.037620 1.890450 1.238469 1.288596 0.773237 0.606049 0.213821 0.049140 1.607755 1.437666 0.833194 0.946550 0.684670 0.626164 0.630512 0.902897 0.480081 0.471365 0.308602 0.413372 0.258949 0.442607 0.453613 0.854111 1.173261 1.257079 1.135118 1.379336 1.476222 -0.234240 0.311478 0.480664 1.015136 1.521091 1.852304 0.056526 0.425563 0.785949)
+	9.530985 #(0.000000 0.002581 0.665465 1.069477 1.708629 0.244744 0.815275 1.389506 0.072967 0.518149 1.258636 0.104869 0.672550 1.578904 0.486254 1.275378 -0.016236 0.797153 -0.276393 0.747043 -0.159462 0.727529 0.109229 1.313965 0.107559 1.101244 0.135391 1.229652 0.386704 1.699152 0.875100 0.220480 1.674529 0.566929 1.803565 1.281089 0.420527 -0.095373 1.451514 0.833105 0.334393 1.926106 1.521915 0.797742 0.037620 1.890450 1.238469 1.288596 0.773237 0.606049 0.213821 0.049140 1.607755 1.437666 0.833194 0.946550 0.684670 0.626164 0.630512 0.902897 0.480081 0.471365 0.308602 0.413372 0.258949 0.442607 0.453613 0.854111 1.173261 1.257079 1.135118 1.379336 1.476222 -0.234240 0.311478 0.480664 1.015136 1.521091 1.852304 0.056526 0.425563 0.785949)
      )
 
 ;;; 83 even --------------------------------------------------------------------------------
-(vector 83 11.931811297539 (fv 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1)
+(vector 83 11.931811297539 #(0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1)
 
      ;; ce:
-	9.549360 (fv 0.000000 0.032288 0.834116 1.401416 0.035368 0.406563 1.177626 1.509613 0.291626 0.972552 1.726763 0.692721 1.687201 0.129594 1.085873 0.204017 1.139515 0.273445 1.482102 0.192295 1.080179 1.979882 1.285941 0.340403 0.985304 0.533609 1.865099 0.628799 1.889210 1.180384 0.539244 1.842377 1.350512 0.512399 1.815213 1.164340 0.726996 -0.012813 1.099275 1.226281 0.551613 0.011231 1.538277 1.191883 0.928674 0.507861 1.826344 1.417654 1.468918 1.265287 0.819366 0.969679 0.428274 0.455249 1.949916 0.041645 1.591382 1.883937 1.784338 1.762163 1.899526 1.307740 1.800619 1.929764 0.063585 1.701620 1.807254 0.159705 0.531560 0.710036 1.009902 1.081386 1.423742 1.377653 1.714397 0.170534 0.667428 1.526663 1.444085 1.827303 0.046079 0.991518 1.278845)
+	9.549360 #(0.000000 0.032288 0.834116 1.401416 0.035368 0.406563 1.177626 1.509613 0.291626 0.972552 1.726763 0.692721 1.687201 0.129594 1.085873 0.204017 1.139515 0.273445 1.482102 0.192295 1.080179 1.979882 1.285941 0.340403 0.985304 0.533609 1.865099 0.628799 1.889210 1.180384 0.539244 1.842377 1.350512 0.512399 1.815213 1.164340 0.726996 -0.012813 1.099275 1.226281 0.551613 0.011231 1.538277 1.191883 0.928674 0.507861 1.826344 1.417654 1.468918 1.265287 0.819366 0.969679 0.428274 0.455249 1.949916 0.041645 1.591382 1.883937 1.784338 1.762163 1.899526 1.307740 1.800619 1.929764 0.063585 1.701620 1.807254 0.159705 0.531560 0.710036 1.009902 1.081386 1.423742 1.377653 1.714397 0.170534 0.667428 1.526663 1.444085 1.827303 0.046079 0.991518 1.278845)
      )
 
 ;;; 84 even --------------------------------------------------------------------------------
-(vector 84 12.426499838032 (fv 0 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0)
+(vector 84 12.426499838032 #(0 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0)
 
      ;; ce:
-	9.633962 (fv 0.000000 0.374922 1.183581 1.290870 0.705975 0.037122 1.139367 1.048350 0.334310 1.326801 1.647856 1.857607 1.812109 0.301068 1.658406 1.344389 0.416349 0.219667 1.233884 1.040486 1.625160 1.657982 1.232289 1.436356 0.879314 1.500837 0.083989 0.524445 1.496583 0.195492 0.415250 0.867702 1.173743 1.828747 1.840334 -0.001715 0.114874 1.289221 0.907468 1.568406 0.412257 0.461669 1.993995 0.175480 1.741500 1.629849 1.860704 1.739722 1.644034 1.223183 0.177672 0.444348 1.320675 1.200379 1.245918 0.030713 1.304971 1.969297 1.489901 0.864880 0.577011 0.034043 1.934323 1.447131 0.730445 1.571480 0.003554 0.387041 0.486597 1.351900 0.594794 1.157107 0.726867 1.857734 0.748709 1.799335 1.043537 0.919611 0.874828 0.732255 1.153375 1.608544 0.740331 1.571952)
+	9.633962 #(0.000000 0.374922 1.183581 1.290870 0.705975 0.037122 1.139367 1.048350 0.334310 1.326801 1.647856 1.857607 1.812109 0.301068 1.658406 1.344389 0.416349 0.219667 1.233884 1.040486 1.625160 1.657982 1.232289 1.436356 0.879314 1.500837 0.083989 0.524445 1.496583 0.195492 0.415250 0.867702 1.173743 1.828747 1.840334 -0.001715 0.114874 1.289221 0.907468 1.568406 0.412257 0.461669 1.993995 0.175480 1.741500 1.629849 1.860704 1.739722 1.644034 1.223183 0.177672 0.444348 1.320675 1.200379 1.245918 0.030713 1.304971 1.969297 1.489901 0.864880 0.577011 0.034043 1.934323 1.447131 0.730445 1.571480 0.003554 0.387041 0.486597 1.351900 0.594794 1.157107 0.726867 1.857734 0.748709 1.799335 1.043537 0.919611 0.874828 0.732255 1.153375 1.608544 0.740331 1.571952)
      )
 
 ;;; 85 even --------------------------------------------------------------------------------
-(vector 85 12.270205061432 (fv 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1)
+(vector 85 12.270205061432 #(0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1)
 
-     9.693668 (fv 0.000000 0.195989 0.490949 0.331600 0.887562 0.028445 1.546017 1.385311 0.812190 1.115113 1.801497 0.487288 0.525794 0.074082 1.723182 1.944316 1.781964 0.421600 0.177518 1.829367 0.571078 1.783004 0.344177 0.329133 1.891108 0.440324 0.259558 0.143603 0.779362 1.104207 1.976902 0.561742 0.767039 1.340228 0.253563 1.774888 1.741378 1.554241 1.474673 0.298807 0.272176 1.211675 1.002346 0.130871 1.176937 0.697418 0.199450 0.178715 1.330092 0.855241 1.512332 1.331159 0.219055 1.811575 1.934102 1.939888 1.043996 0.748687 0.643521 0.780509 1.267694 0.441215 0.667193 0.454905 1.688291 1.972173 0.503377 0.756581 0.239100 0.784029 1.470486 0.189182 1.795940 0.379978 1.569889 1.093199 1.711138 0.905143 0.045022 0.285289 1.219061 0.953496 1.196694 1.742789 0.902060)
+     9.693668 #(0.000000 0.195989 0.490949 0.331600 0.887562 0.028445 1.546017 1.385311 0.812190 1.115113 1.801497 0.487288 0.525794 0.074082 1.723182 1.944316 1.781964 0.421600 0.177518 1.829367 0.571078 1.783004 0.344177 0.329133 1.891108 0.440324 0.259558 0.143603 0.779362 1.104207 1.976902 0.561742 0.767039 1.340228 0.253563 1.774888 1.741378 1.554241 1.474673 0.298807 0.272176 1.211675 1.002346 0.130871 1.176937 0.697418 0.199450 0.178715 1.330092 0.855241 1.512332 1.331159 0.219055 1.811575 1.934102 1.939888 1.043996 0.748687 0.643521 0.780509 1.267694 0.441215 0.667193 0.454905 1.688291 1.972173 0.503377 0.756581 0.239100 0.784029 1.470486 0.189182 1.795940 0.379978 1.569889 1.093199 1.711138 0.905143 0.045022 0.285289 1.219061 0.953496 1.196694 1.742789 0.902060)
 
      ;; nce:
-     9.690941 (fv 0.000000 -0.005460 0.145938 -0.187800 0.177698 1.176520 0.517469 0.210175 1.436686 1.607383 0.066090 0.593136 0.482635 1.868920 1.291310 1.386910 1.029893 1.540100 1.084274 0.614905 1.153312 0.206651 0.588776 0.424148 1.780700 0.201677 -0.148794 1.539105 1.959298 0.153524 0.855868 1.263643 1.287920 -0.293735 0.438019 -0.206018 -0.356273 1.231052 1.001435 1.635849 1.476715 0.216231 -0.158631 0.753539 1.686606 0.980832 0.355756 0.168014 1.126044 0.500388 0.943877 0.638970 1.307633 0.790226 0.733504 0.595806 1.464991 1.037472 0.754676 0.719213 1.040414 0.002877 0.074104 1.737856 0.729741 0.862345 1.242108 1.321487 0.621750 1.011073 1.510125 0.085724 1.514690 -0.060524 0.938871 0.309540 0.743320 -0.211769 0.753436 0.803987 1.556267 1.083936 1.193072 1.598509 0.578392)
+     9.690941 #(0.000000 -0.005460 0.145938 -0.187800 0.177698 1.176520 0.517469 0.210175 1.436686 1.607383 0.066090 0.593136 0.482635 1.868920 1.291310 1.386910 1.029893 1.540100 1.084274 0.614905 1.153312 0.206651 0.588776 0.424148 1.780700 0.201677 -0.148794 1.539105 1.959298 0.153524 0.855868 1.263643 1.287920 -0.293735 0.438019 -0.206018 -0.356273 1.231052 1.001435 1.635849 1.476715 0.216231 -0.158631 0.753539 1.686606 0.980832 0.355756 0.168014 1.126044 0.500388 0.943877 0.638970 1.307633 0.790226 0.733504 0.595806 1.464991 1.037472 0.754676 0.719213 1.040414 0.002877 0.074104 1.737856 0.729741 0.862345 1.242108 1.321487 0.621750 1.011073 1.510125 0.085724 1.514690 -0.060524 0.938871 0.309540 0.743320 -0.211769 0.753436 0.803987 1.556267 1.083936 1.193072 1.598509 0.578392)
      )
 
 ;;; 86 even --------------------------------------------------------------------------------
-(vector 86 12.791990425787 (fv 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0)
+(vector 86 12.791990425787 #(0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0)
 
-     9.804520 (fv 0.000000 0.137494 0.326172 0.010382 1.487613 0.505001 1.228062 0.954717 -0.127893 -0.290666 0.636565 1.325872 1.732483 0.567284 1.353499 0.704440 1.806655 1.469223 0.382393 0.706107 0.545460 0.307640 1.039546 0.875080 1.787391 0.105900 0.639604 0.989302 -0.045857 1.717167 1.835064 1.163334 0.033557 1.525348 0.510815 0.463389 0.777198 0.612036 1.665125 1.493136 0.475659 1.095674 1.296538 1.117478 0.603294 1.233039 0.344624 0.414746 0.337889 1.713708 0.141791 0.820548 1.699043 0.899800 0.803706 0.771637 1.413475 1.319088 1.268258 0.265658 0.770528 0.659195 0.900807 0.683986 1.290180 0.800356 1.418815 1.036184 1.201710 0.337696 1.582663 1.435772 0.606855 1.068190 0.540979 1.320205 -0.195129 0.714820 0.387530 0.040243 0.270436 -0.038662 1.702501 0.563408 0.676006 0.165316)
+     9.804520 #(0.000000 0.137494 0.326172 0.010382 1.487613 0.505001 1.228062 0.954717 -0.127893 -0.290666 0.636565 1.325872 1.732483 0.567284 1.353499 0.704440 1.806655 1.469223 0.382393 0.706107 0.545460 0.307640 1.039546 0.875080 1.787391 0.105900 0.639604 0.989302 -0.045857 1.717167 1.835064 1.163334 0.033557 1.525348 0.510815 0.463389 0.777198 0.612036 1.665125 1.493136 0.475659 1.095674 1.296538 1.117478 0.603294 1.233039 0.344624 0.414746 0.337889 1.713708 0.141791 0.820548 1.699043 0.899800 0.803706 0.771637 1.413475 1.319088 1.268258 0.265658 0.770528 0.659195 0.900807 0.683986 1.290180 0.800356 1.418815 1.036184 1.201710 0.337696 1.582663 1.435772 0.606855 1.068190 0.540979 1.320205 -0.195129 0.714820 0.387530 0.040243 0.270436 -0.038662 1.702501 0.563408 0.676006 0.165316)
 
      ;; nce:
-     9.779022 (fv 0.000000 0.012842 0.387371 0.019737 1.439011 0.434664 1.128389 0.730743 -0.150815 -0.440514 0.639771 1.390058 1.794981 0.621810 1.311431 0.767684 1.625416 1.570273 0.387894 0.736564 0.474233 0.261823 1.118332 0.820501 1.669010 0.015560 0.675733 0.978312 -0.064261 1.739844 1.817488 1.131007 0.062688 1.453390 0.448140 0.394070 0.831458 0.606366 1.363181 1.537589 0.426586 0.909340 1.240040 0.972834 0.683746 1.305881 0.259400 0.331948 0.295699 1.578329 0.042939 0.918607 1.689154 0.940724 1.007722 0.753380 1.536736 1.334795 1.258278 0.206096 0.883227 0.623082 0.840214 0.596829 1.277982 0.836896 1.407813 0.924493 1.193604 0.465208 1.513477 1.273116 0.679902 0.975579 0.664944 1.360910 -0.287799 0.710949 0.308010 -0.006577 0.020520 -0.156639 1.682660 0.621205 0.561199 0.080346)
+     9.779022 #(0.000000 0.012842 0.387371 0.019737 1.439011 0.434664 1.128389 0.730743 -0.150815 -0.440514 0.639771 1.390058 1.794981 0.621810 1.311431 0.767684 1.625416 1.570273 0.387894 0.736564 0.474233 0.261823 1.118332 0.820501 1.669010 0.015560 0.675733 0.978312 -0.064261 1.739844 1.817488 1.131007 0.062688 1.453390 0.448140 0.394070 0.831458 0.606366 1.363181 1.537589 0.426586 0.909340 1.240040 0.972834 0.683746 1.305881 0.259400 0.331948 0.295699 1.578329 0.042939 0.918607 1.689154 0.940724 1.007722 0.753380 1.536736 1.334795 1.258278 0.206096 0.883227 0.623082 0.840214 0.596829 1.277982 0.836896 1.407813 0.924493 1.193604 0.465208 1.513477 1.273116 0.679902 0.975579 0.664944 1.360910 -0.287799 0.710949 0.308010 -0.006577 0.020520 -0.156639 1.682660 0.621205 0.561199 0.080346)
      )
 
 ;;; 87 even --------------------------------------------------------------------------------
-(vector 87 12.625063286678 (fv 0 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0)
+(vector 87 12.625063286678 #(0 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0)
 
-     9.874660 (fv 0.000000 0.366900 0.585885 0.360276 1.741378 1.383744 0.806085 0.218985 1.748601 1.513484 1.913086 1.499231 1.804617 1.560415 0.976184 0.564077 0.614555 0.706893 1.155782 1.743949 0.256106 1.587276 1.479629 0.499900 0.621596 1.318438 0.505053 -0.000351 1.493931 0.351932 1.677582 1.117619 1.631442 0.001969 0.286212 0.372264 0.187053 0.296894 0.961309 0.849648 1.557109 1.714474 -0.039206 1.347988 1.896634 1.217858 1.504538 0.380552 0.871895 1.911392 0.768943 1.752782 0.535064 0.764217 0.468880 0.181130 0.490835 1.212121 1.451975 1.107304 0.551132 0.225217 0.930971 0.652946 1.821236 0.839189 1.745456 0.283826 1.910401 1.397382 1.626785 0.236815 0.165723 1.103589 1.501862 1.903299 0.205800 0.189795 0.285228 0.129502 1.654212 0.651262 -0.043737 0.438462 1.813853 0.852642 1.712123)
+     9.874660 #(0.000000 0.366900 0.585885 0.360276 1.741378 1.383744 0.806085 0.218985 1.748601 1.513484 1.913086 1.499231 1.804617 1.560415 0.976184 0.564077 0.614555 0.706893 1.155782 1.743949 0.256106 1.587276 1.479629 0.499900 0.621596 1.318438 0.505053 -0.000351 1.493931 0.351932 1.677582 1.117619 1.631442 0.001969 0.286212 0.372264 0.187053 0.296894 0.961309 0.849648 1.557109 1.714474 -0.039206 1.347988 1.896634 1.217858 1.504538 0.380552 0.871895 1.911392 0.768943 1.752782 0.535064 0.764217 0.468880 0.181130 0.490835 1.212121 1.451975 1.107304 0.551132 0.225217 0.930971 0.652946 1.821236 0.839189 1.745456 0.283826 1.910401 1.397382 1.626785 0.236815 0.165723 1.103589 1.501862 1.903299 0.205800 0.189795 0.285228 0.129502 1.654212 0.651262 -0.043737 0.438462 1.813853 0.852642 1.712123)
 
      ;; nce:
-     9.877641 (fv 0.000000 -0.021457 -0.332767 0.963844 -0.139669 1.122611 0.073163 0.865822 -0.025982 1.478876 1.300682 0.423658 0.322274 1.661211 0.500543 1.705512 1.176402 0.809437 0.981075 0.972708 1.087640 1.788381 1.486099 1.855937 1.496729 1.909818 0.429000 1.696291 0.561926 0.965567 -0.162109 0.839848 1.033495 0.899864 0.728978 0.135257 1.630992 1.197929 1.514698 0.814714 1.165293 0.851600 0.892043 1.519176 1.529996 0.381556 0.396698 0.783215 0.824621 1.214567 1.738938 0.263930 0.560204 0.335777 1.558427 0.771167 0.709316 1.002333 0.687389 -0.031156 0.967435 0.220860 0.392729 1.627417 0.223702 0.908693 1.299159 1.409401 0.619154 1.469733 -0.654637 1.678656 0.999708 1.410546 1.423816 1.288829 1.153651 0.643357 0.343990 1.755018 0.782145 1.521746 0.184384 0.116670 1.179413 -0.365261 0.035182)
+     9.877641 #(0.000000 -0.021457 -0.332767 0.963844 -0.139669 1.122611 0.073163 0.865822 -0.025982 1.478876 1.300682 0.423658 0.322274 1.661211 0.500543 1.705512 1.176402 0.809437 0.981075 0.972708 1.087640 1.788381 1.486099 1.855937 1.496729 1.909818 0.429000 1.696291 0.561926 0.965567 -0.162109 0.839848 1.033495 0.899864 0.728978 0.135257 1.630992 1.197929 1.514698 0.814714 1.165293 0.851600 0.892043 1.519176 1.529996 0.381556 0.396698 0.783215 0.824621 1.214567 1.738938 0.263930 0.560204 0.335777 1.558427 0.771167 0.709316 1.002333 0.687389 -0.031156 0.967435 0.220860 0.392729 1.627417 0.223702 0.908693 1.299159 1.409401 0.619154 1.469733 -0.654637 1.678656 0.999708 1.410546 1.423816 1.288829 1.153651 0.643357 0.343990 1.755018 0.782145 1.521746 0.184384 0.116670 1.179413 -0.365261 0.035182)
      )
 
 ;;; 88 even --------------------------------------------------------------------------------
-(vector 88 12.661032846106 (fv 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1)
+(vector 88 12.661032846106 #(0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1)
 
      ;; ce:
-	9.812216 (fv 0.000000 0.055268 0.583779 1.234211 1.628798 0.277023 0.822779 1.625146 0.035507 0.649602 1.426919 0.034524 0.760555 1.584090 0.426236 1.297108 -0.064648 1.003285 1.954848 1.040940 1.931089 0.684474 1.457006 0.442932 1.400956 0.522371 1.821243 1.045778 -0.071524 1.059165 0.175444 1.376515 0.683418 0.093932 0.976929 0.065328 1.602577 1.185163 0.398809 1.873751 1.266959 0.334189 1.528861 1.254369 0.874420 0.121432 1.565807 1.331351 0.966676 0.377764 -0.254628 1.470234 1.160191 1.088192 0.680440 0.787715 0.046065 0.265716 -0.241611 1.809516 1.268665 1.177712 1.068293 0.934673 1.317512 0.907560 0.977837 0.781524 0.997530 0.958638 1.010309 1.152240 1.559668 1.510870 1.793541 0.022384 -0.034413 0.066685 0.419014 0.865510 1.381137 1.729658 1.950350 0.466719 0.747652 1.418392 1.765101 -0.161755)
+	9.812216 #(0.000000 0.055268 0.583779 1.234211 1.628798 0.277023 0.822779 1.625146 0.035507 0.649602 1.426919 0.034524 0.760555 1.584090 0.426236 1.297108 -0.064648 1.003285 1.954848 1.040940 1.931089 0.684474 1.457006 0.442932 1.400956 0.522371 1.821243 1.045778 -0.071524 1.059165 0.175444 1.376515 0.683418 0.093932 0.976929 0.065328 1.602577 1.185163 0.398809 1.873751 1.266959 0.334189 1.528861 1.254369 0.874420 0.121432 1.565807 1.331351 0.966676 0.377764 -0.254628 1.470234 1.160191 1.088192 0.680440 0.787715 0.046065 0.265716 -0.241611 1.809516 1.268665 1.177712 1.068293 0.934673 1.317512 0.907560 0.977837 0.781524 0.997530 0.958638 1.010309 1.152240 1.559668 1.510870 1.793541 0.022384 -0.034413 0.066685 0.419014 0.865510 1.381137 1.729658 1.950350 0.466719 0.747652 1.418392 1.765101 -0.161755)
      )
 
 ;;; 89 even --------------------------------------------------------------------------------
-(vector 89 12.335865540187 (fv 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1)
+(vector 89 12.335865540187 #(0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1)
 
      ;; ce:
-	9.997916 (fv 0.000000 0.020244 0.870163 0.459782 1.610176 0.844000 1.631839 0.198513 0.309236 0.389591 1.266554 0.907717 1.601376 1.371297 1.457522 1.745042 1.476212 0.073975 0.814060 0.353740 0.627872 0.101452 1.077167 0.352892 0.063779 0.448255 0.216020 0.534427 1.535778 -0.255643 1.360537 0.276814 0.262932 1.399548 0.980210 0.702925 0.453704 0.501694 1.341730 0.007203 0.345436 0.837214 0.770776 -0.073243 0.532634 1.583256 0.698601 0.593928 1.599304 0.808070 1.440125 1.148274 0.114072 0.434799 -0.164129 1.193330 -0.269745 0.418138 1.192504 1.289901 0.986576 0.905136 0.005956 1.233570 1.751871 1.723660 1.197839 1.205999 1.118756 1.106261 1.003380 0.216161 0.037880 0.928786 0.755785 -0.278629 0.531970 0.188018 0.465858 1.197436 0.572455 1.090538 1.091674 0.532343 0.511453 1.688563 1.590718 0.571898 1.255870)
+	9.997916 #(0.000000 0.020244 0.870163 0.459782 1.610176 0.844000 1.631839 0.198513 0.309236 0.389591 1.266554 0.907717 1.601376 1.371297 1.457522 1.745042 1.476212 0.073975 0.814060 0.353740 0.627872 0.101452 1.077167 0.352892 0.063779 0.448255 0.216020 0.534427 1.535778 -0.255643 1.360537 0.276814 0.262932 1.399548 0.980210 0.702925 0.453704 0.501694 1.341730 0.007203 0.345436 0.837214 0.770776 -0.073243 0.532634 1.583256 0.698601 0.593928 1.599304 0.808070 1.440125 1.148274 0.114072 0.434799 -0.164129 1.193330 -0.269745 0.418138 1.192504 1.289901 0.986576 0.905136 0.005956 1.233570 1.751871 1.723660 1.197839 1.205999 1.118756 1.106261 1.003380 0.216161 0.037880 0.928786 0.755785 -0.278629 0.531970 0.188018 0.465858 1.197436 0.572455 1.090538 1.091674 0.532343 0.511453 1.688563 1.590718 0.571898 1.255870)
      )
 
 ;;; 90 even --------------------------------------------------------------------------------
-(vector 90 12.716424196959 (fv 0 1 1 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0)
+(vector 90 12.716424196959 #(0 1 1 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0)
 
      ;; ce:
-	10.013305 (fv 0.000000 0.276249 0.662327 1.808806 0.247081 1.503786 1.940324 0.419803 0.731998 1.474410 1.308170 1.676869 1.811609 1.215798 0.664610 0.066241 0.912393 1.461826 0.512334 1.631743 1.956766 1.975237 0.185753 0.741305 0.480828 1.966454 1.916940 1.119423 0.845500 1.620533 0.975449 0.450183 0.934883 1.109333 0.667354 1.305384 1.605133 1.189882 1.538095 1.240075 1.975310 0.162522 1.100171 1.036777 1.043788 0.744032 1.593875 0.517982 0.225081 0.407155 1.741456 1.796412 1.700950 0.367751 0.443832 0.733427 0.886793 0.217138 0.457578 1.931221 1.821137 1.223426 0.206884 1.785700 -0.026139 0.112791 0.288549 1.184345 0.406919 0.005051 0.510070 1.732554 1.458011 0.524459 1.130913 0.434368 0.819466 0.015795 0.021375 1.211968 0.985111 0.213416 0.003383 0.752814 1.988526 0.349626 0.383655 1.548554 0.699363 -0.001079)
+	10.013305 #(0.000000 0.276249 0.662327 1.808806 0.247081 1.503786 1.940324 0.419803 0.731998 1.474410 1.308170 1.676869 1.811609 1.215798 0.664610 0.066241 0.912393 1.461826 0.512334 1.631743 1.956766 1.975237 0.185753 0.741305 0.480828 1.966454 1.916940 1.119423 0.845500 1.620533 0.975449 0.450183 0.934883 1.109333 0.667354 1.305384 1.605133 1.189882 1.538095 1.240075 1.975310 0.162522 1.100171 1.036777 1.043788 0.744032 1.593875 0.517982 0.225081 0.407155 1.741456 1.796412 1.700950 0.367751 0.443832 0.733427 0.886793 0.217138 0.457578 1.931221 1.821137 1.223426 0.206884 1.785700 -0.026139 0.112791 0.288549 1.184345 0.406919 0.005051 0.510070 1.732554 1.458011 0.524459 1.130913 0.434368 0.819466 0.015795 0.021375 1.211968 0.985111 0.213416 0.003383 0.752814 1.988526 0.349626 0.383655 1.548554 0.699363 -0.001079)
      )
 
 ;;; 91 even --------------------------------------------------------------------------------
-(vector 91 12.853587071592 (fv 0 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0)
+(vector 91 12.853587071592 #(0 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0)
 
      ;; ce:
-	10.062777 (fv 0.000000 -0.044026 0.916183 1.049904 0.191738 0.191234 1.416236 1.067714 0.063138 1.147303 0.129837 0.429350 1.643604 1.587481 1.357034 0.252125 0.130779 1.268840 1.505767 0.040246 0.758000 0.845409 1.205711 0.041467 0.397400 0.371419 1.129085 1.761538 0.418123 -0.386013 -0.020991 1.418674 -0.227521 0.262381 1.257327 0.247702 0.200474 1.000030 0.059835 0.524653 0.278663 0.930707 1.291316 0.903105 1.153153 1.399218 1.175091 1.040190 0.853009 0.848960 0.050279 1.156146 0.310675 1.870226 0.711775 0.475029 1.761660 0.754317 0.936989 -0.122427 1.219572 0.099878 0.730317 0.306957 0.685890 1.871434 1.660611 0.509309 0.546923 0.432379 0.751420 0.579102 -0.249566 -0.007122 1.880100 1.723260 0.707224 -0.253994 0.741449 0.308553 0.722662 0.266964 1.454100 1.331867 1.250657 0.301803 0.242062 0.553976 0.852613 0.695715 0.487374)
+	10.062777 #(0.000000 -0.044026 0.916183 1.049904 0.191738 0.191234 1.416236 1.067714 0.063138 1.147303 0.129837 0.429350 1.643604 1.587481 1.357034 0.252125 0.130779 1.268840 1.505767 0.040246 0.758000 0.845409 1.205711 0.041467 0.397400 0.371419 1.129085 1.761538 0.418123 -0.386013 -0.020991 1.418674 -0.227521 0.262381 1.257327 0.247702 0.200474 1.000030 0.059835 0.524653 0.278663 0.930707 1.291316 0.903105 1.153153 1.399218 1.175091 1.040190 0.853009 0.848960 0.050279 1.156146 0.310675 1.870226 0.711775 0.475029 1.761660 0.754317 0.936989 -0.122427 1.219572 0.099878 0.730317 0.306957 0.685890 1.871434 1.660611 0.509309 0.546923 0.432379 0.751420 0.579102 -0.249566 -0.007122 1.880100 1.723260 0.707224 -0.253994 0.741449 0.308553 0.722662 0.266964 1.454100 1.331867 1.250657 0.301803 0.242062 0.553976 0.852613 0.695715 0.487374)
      )
 
 ;;; 92 even --------------------------------------------------------------------------------
-(vector 92 12.754180011349 (fv 0 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0)
+(vector 92 12.754180011349 #(0 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0)
 
      ;; ce:
-	10.123598 (fv 0.000000 0.031164 0.420530 1.499100 1.680395 0.704037 1.385766 1.730884 1.246618 0.630183 0.903224 0.818406 1.762884 0.926615 1.036829 0.514947 1.139487 1.191198 0.306323 0.126221 1.698783 1.815556 0.082954 0.421957 1.558085 -0.046639 0.629395 0.492462 0.620351 1.539766 0.337850 1.829874 -0.029044 1.650869 1.891900 -0.107840 0.000042 1.651572 0.308113 0.328220 0.164791 0.503391 1.668351 1.327181 0.552781 1.134137 0.130061 0.912409 -0.106533 1.117087 0.419486 1.645903 0.619628 0.903437 1.717082 0.277879 0.300313 -0.111169 1.701263 -0.282651 0.916960 1.725278 0.299760 0.206730 0.258427 0.976768 1.006419 1.405478 1.458477 0.511219 1.976132 0.649673 1.067569 1.036236 0.561892 1.032699 1.113462 1.760313 -0.031912 0.151642 1.253446 0.366329 -0.207662 1.411375 0.168281 1.402361 1.015831 0.966440 0.109303 1.719898 -0.033652 0.850348)
+	10.123598 #(0.000000 0.031164 0.420530 1.499100 1.680395 0.704037 1.385766 1.730884 1.246618 0.630183 0.903224 0.818406 1.762884 0.926615 1.036829 0.514947 1.139487 1.191198 0.306323 0.126221 1.698783 1.815556 0.082954 0.421957 1.558085 -0.046639 0.629395 0.492462 0.620351 1.539766 0.337850 1.829874 -0.029044 1.650869 1.891900 -0.107840 0.000042 1.651572 0.308113 0.328220 0.164791 0.503391 1.668351 1.327181 0.552781 1.134137 0.130061 0.912409 -0.106533 1.117087 0.419486 1.645903 0.619628 0.903437 1.717082 0.277879 0.300313 -0.111169 1.701263 -0.282651 0.916960 1.725278 0.299760 0.206730 0.258427 0.976768 1.006419 1.405478 1.458477 0.511219 1.976132 0.649673 1.067569 1.036236 0.561892 1.032699 1.113462 1.760313 -0.031912 0.151642 1.253446 0.366329 -0.207662 1.411375 0.168281 1.402361 1.015831 0.966440 0.109303 1.719898 -0.033652 0.850348)
      )
 
 ;;; 93 even --------------------------------------------------------------------------------
-(vector 93 12.876626968384 (fv 0 0 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0)
+(vector 93 12.876626968384 #(0 0 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0)
 
-     10.120779 (fv 0.000000 -0.035376 0.073991 0.427701 -0.282243 -0.018747 0.215658 -0.153445 1.426646 1.066559 1.939228 0.906624 0.410081 0.611941 0.984019 1.022397 0.624511 1.012954 0.533644 1.662254 0.644321 0.184706 0.621632 0.642800 -0.008009 1.949179 1.710653 -0.084032 0.277398 1.824022 0.699251 0.129968 1.020811 0.661971 1.702058 0.534563 1.888605 -0.287827 0.144583 1.379920 1.385073 1.054451 1.007433 0.338841 0.857467 1.489234 0.309837 0.300057 1.146999 0.772495 0.275152 0.667315 1.064213 0.727453 1.142263 1.118538 0.931092 1.595399 1.937578 1.220927 0.920538 0.541725 0.173459 0.580373 1.100745 1.191038 -0.340664 1.515332 1.223959 0.649170 0.846642 -0.414943 0.030223 1.461947 0.288064 0.141033 0.634411 1.011893 0.138288 1.584616 0.333385 0.901662 0.043826 0.951055 1.409243 0.569338 0.143517 0.644810 -0.103707 1.742249 0.748991 1.014192 0.003204)
+     10.120779 #(0.000000 -0.035376 0.073991 0.427701 -0.282243 -0.018747 0.215658 -0.153445 1.426646 1.066559 1.939228 0.906624 0.410081 0.611941 0.984019 1.022397 0.624511 1.012954 0.533644 1.662254 0.644321 0.184706 0.621632 0.642800 -0.008009 1.949179 1.710653 -0.084032 0.277398 1.824022 0.699251 0.129968 1.020811 0.661971 1.702058 0.534563 1.888605 -0.287827 0.144583 1.379920 1.385073 1.054451 1.007433 0.338841 0.857467 1.489234 0.309837 0.300057 1.146999 0.772495 0.275152 0.667315 1.064213 0.727453 1.142263 1.118538 0.931092 1.595399 1.937578 1.220927 0.920538 0.541725 0.173459 0.580373 1.100745 1.191038 -0.340664 1.515332 1.223959 0.649170 0.846642 -0.414943 0.030223 1.461947 0.288064 0.141033 0.634411 1.011893 0.138288 1.584616 0.333385 0.901662 0.043826 0.951055 1.409243 0.569338 0.143517 0.644810 -0.103707 1.742249 0.748991 1.014192 0.003204)
      )
 
 ;;; 94 even --------------------------------------------------------------------------------
-(vector 94 12.991560374803 (fv 0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1)
+(vector 94 12.991560374803 #(0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1)
 
      ;; ce:
-     10.168153 (fv 0.000000 0.158749 0.428472 1.119399 1.397485 1.337099 1.326309 0.765212 0.646549 0.366853 0.358406 0.186940 -0.004160 1.693556 1.760221 1.908281 -0.019516 0.044061 0.077064 0.115948 0.108699 0.200075 0.580690 0.574214 0.728439 1.050221 1.095053 1.499686 1.600782 1.705303 0.371346 0.785397 1.061620 1.118378 1.565155 0.180785 0.671073 0.956955 1.179900 0.062702 0.732776 1.104782 1.678100 1.936449 1.211526 1.440956 1.926880 0.701684 1.206989 0.357893 0.937759 1.642399 0.674496 1.095199 1.838835 0.811161 1.664081 0.728543 1.536793 0.935285 1.167394 0.592984 1.298896 0.711769 1.719531 0.207782 1.415604 0.678365 1.539785 1.187347 0.265338 1.410498 0.621725 1.553961 0.975230 0.124475 1.147511 0.723691 1.974302 1.764820 1.095390 0.083191 1.554760 0.873910 0.746004 0.060230 1.781492 1.338588 0.986007 0.875321 0.329252 1.786619 1.490792 0.801318)
+     10.168153 #(0.000000 0.158749 0.428472 1.119399 1.397485 1.337099 1.326309 0.765212 0.646549 0.366853 0.358406 0.186940 -0.004160 1.693556 1.760221 1.908281 -0.019516 0.044061 0.077064 0.115948 0.108699 0.200075 0.580690 0.574214 0.728439 1.050221 1.095053 1.499686 1.600782 1.705303 0.371346 0.785397 1.061620 1.118378 1.565155 0.180785 0.671073 0.956955 1.179900 0.062702 0.732776 1.104782 1.678100 1.936449 1.211526 1.440956 1.926880 0.701684 1.206989 0.357893 0.937759 1.642399 0.674496 1.095199 1.838835 0.811161 1.664081 0.728543 1.536793 0.935285 1.167394 0.592984 1.298896 0.711769 1.719531 0.207782 1.415604 0.678365 1.539785 1.187347 0.265338 1.410498 0.621725 1.553961 0.975230 0.124475 1.147511 0.723691 1.974302 1.764820 1.095390 0.083191 1.554760 0.873910 0.746004 0.060230 1.781492 1.338588 0.986007 0.875321 0.329252 1.786619 1.490792 0.801318)
      )
 
 ;;; 95 even --------------------------------------------------------------------------------
-(vector 95 12.939489078295 (fv 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0)
+(vector 95 12.939489078295 #(0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0)
 
      ;; ce:
-	10.274816 (fv 0.000000 0.191955 0.747873 1.620627 1.444931 1.117449 0.280309 0.480520 1.626406 1.210786 1.123735 0.279148 1.110058 1.602457 1.869386 0.773421 1.408758 0.850581 0.528012 0.913946 0.482409 1.573182 0.994233 1.305292 1.545980 0.033608 1.905037 0.750852 0.522232 1.918658 0.047508 1.217238 0.972743 0.083444 0.371581 0.796063 1.083361 0.261908 1.433959 0.521900 0.192999 1.966737 0.129605 0.500888 0.331274 0.913857 0.815429 1.023459 0.478085 1.566987 1.222813 1.708572 1.719376 0.723585 1.103104 1.428438 0.152348 0.040494 1.696898 0.190236 1.378447 1.550950 1.870103 1.503205 0.324210 0.355888 1.476257 1.524550 1.168199 1.485278 1.191081 0.963527 1.662530 1.621072 0.604273 0.737525 1.817225 0.670588 1.938761 1.575766 0.221849 1.885601 1.971423 1.331586 0.219292 1.195712 0.125970 0.883030 0.146163 0.807704 1.769915 -0.019375 1.792299 1.733519 1.458753)
+	10.274816 #(0.000000 0.191955 0.747873 1.620627 1.444931 1.117449 0.280309 0.480520 1.626406 1.210786 1.123735 0.279148 1.110058 1.602457 1.869386 0.773421 1.408758 0.850581 0.528012 0.913946 0.482409 1.573182 0.994233 1.305292 1.545980 0.033608 1.905037 0.750852 0.522232 1.918658 0.047508 1.217238 0.972743 0.083444 0.371581 0.796063 1.083361 0.261908 1.433959 0.521900 0.192999 1.966737 0.129605 0.500888 0.331274 0.913857 0.815429 1.023459 0.478085 1.566987 1.222813 1.708572 1.719376 0.723585 1.103104 1.428438 0.152348 0.040494 1.696898 0.190236 1.378447 1.550950 1.870103 1.503205 0.324210 0.355888 1.476257 1.524550 1.168199 1.485278 1.191081 0.963527 1.662530 1.621072 0.604273 0.737525 1.817225 0.670588 1.938761 1.575766 0.221849 1.885601 1.971423 1.331586 0.219292 1.195712 0.125970 0.883030 0.146163 0.807704 1.769915 -0.019375 1.792299 1.733519 1.458753)
      )
 
 ;;; 96 even --------------------------------------------------------------------------------
-(vector 96 13.077001047978 (fv 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1)
+(vector 96 13.077001047978 #(0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1)
 
      ;; ce:
-	10.249441 (fv 0.000000 0.009923 1.397522 1.166061 1.129381 0.862136 0.621841 0.072414 1.181071 0.867293 0.079004 1.693135 -0.014893 0.108345 1.780717 1.327197 1.625536 0.881623 1.921096 0.933503 1.182023 0.476766 1.614305 1.196403 0.811564 0.443720 1.497667 1.275176 0.722032 1.799828 1.704575 1.646983 1.348940 1.072546 0.729932 1.823713 0.260241 0.680766 1.080411 1.441731 1.246268 1.050406 0.336794 0.747049 0.875357 0.924454 1.579785 0.440504 0.667236 1.229671 0.158392 0.708858 1.967741 0.138461 0.274346 0.799091 1.692696 0.840214 1.597165 1.145148 1.181538 0.078566 1.784249 0.079340 0.404851 1.249515 0.162426 0.631488 1.171930 0.883287 1.256995 0.882531 0.425580 1.043774 0.166379 1.858551 0.915286 1.404785 1.287221 1.948447 1.096165 0.270960 1.267765 0.984855 1.705672 1.206954 1.635747 1.831700 1.675862 0.020775 1.394335 0.961664 1.111073 1.653261 0.221394 1.853173)
+	10.249441 #(0.000000 0.009923 1.397522 1.166061 1.129381 0.862136 0.621841 0.072414 1.181071 0.867293 0.079004 1.693135 -0.014893 0.108345 1.780717 1.327197 1.625536 0.881623 1.921096 0.933503 1.182023 0.476766 1.614305 1.196403 0.811564 0.443720 1.497667 1.275176 0.722032 1.799828 1.704575 1.646983 1.348940 1.072546 0.729932 1.823713 0.260241 0.680766 1.080411 1.441731 1.246268 1.050406 0.336794 0.747049 0.875357 0.924454 1.579785 0.440504 0.667236 1.229671 0.158392 0.708858 1.967741 0.138461 0.274346 0.799091 1.692696 0.840214 1.597165 1.145148 1.181538 0.078566 1.784249 0.079340 0.404851 1.249515 0.162426 0.631488 1.171930 0.883287 1.256995 0.882531 0.425580 1.043774 0.166379 1.858551 0.915286 1.404785 1.287221 1.948447 1.096165 0.270960 1.267765 0.984855 1.705672 1.206954 1.635747 1.831700 1.675862 0.020775 1.394335 0.961664 1.111073 1.653261 0.221394 1.853173)
      )
 
 ;;; 97 even --------------------------------------------------------------------------------
-(vector 97 12.969611395004 (fv 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0)
+(vector 97 12.969611395004 #(0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0)
 
      ;; ce:
-	10.353915 (fv 0.000000 0.014320 1.699930 0.475338 0.327588 0.038537 1.537175 1.151125 1.532968 0.067981 0.615972 0.753995 1.850077 0.031584 -0.245176 0.175732 0.019153 0.133227 1.047045 1.449249 1.470511 1.537141 1.108379 0.638023 0.512045 -0.123137 1.442397 -0.285045 0.550401 0.725732 1.137347 0.384697 0.518421 0.107675 0.832943 1.779119 1.053524 1.101550 0.692043 0.797241 -0.542271 0.567053 0.702166 1.746525 1.756713 0.337727 1.446061 0.906449 1.109794 0.007168 1.480499 1.290329 0.754314 1.222669 -0.462191 1.087068 -0.251963 0.941593 1.663909 1.425711 -0.319978 0.693993 1.098604 -0.057825 0.103974 0.674596 -0.040855 0.861405 0.891647 0.007811 0.988956 -0.007355 1.453777 1.088127 0.560798 1.836913 1.159295 1.225761 1.137877 0.994253 -0.314791 0.194425 0.944400 0.940972 1.573317 1.084581 0.080135 1.392169 0.150957 -0.334184 0.271188 0.375796 0.741022 -0.072930 1.298672 1.087468 1.547582)
+	10.353915 #(0.000000 0.014320 1.699930 0.475338 0.327588 0.038537 1.537175 1.151125 1.532968 0.067981 0.615972 0.753995 1.850077 0.031584 -0.245176 0.175732 0.019153 0.133227 1.047045 1.449249 1.470511 1.537141 1.108379 0.638023 0.512045 -0.123137 1.442397 -0.285045 0.550401 0.725732 1.137347 0.384697 0.518421 0.107675 0.832943 1.779119 1.053524 1.101550 0.692043 0.797241 -0.542271 0.567053 0.702166 1.746525 1.756713 0.337727 1.446061 0.906449 1.109794 0.007168 1.480499 1.290329 0.754314 1.222669 -0.462191 1.087068 -0.251963 0.941593 1.663909 1.425711 -0.319978 0.693993 1.098604 -0.057825 0.103974 0.674596 -0.040855 0.861405 0.891647 0.007811 0.988956 -0.007355 1.453777 1.088127 0.560798 1.836913 1.159295 1.225761 1.137877 0.994253 -0.314791 0.194425 0.944400 0.940972 1.573317 1.084581 0.080135 1.392169 0.150957 -0.334184 0.271188 0.375796 0.741022 -0.072930 1.298672 1.087468 1.547582)
      )
 
 ;;; 98 even --------------------------------------------------------------------------------
-(vector 98 13.468658765207 (fv 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1)
+(vector 98 13.468658765207 #(0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1)
 
      ;; ce:
-	10.480580 (fv 0.000000 0.029942 1.595740 0.929637 0.140250 1.273956 1.370085 1.486506 0.768736 0.810999 0.987699 0.622931 1.874848 1.232431 0.796670 -0.004456 1.530075 1.744503 -0.182347 -0.272539 -0.039867 0.251416 0.711006 1.684207 0.083442 1.563617 0.619745 1.154797 1.221621 1.412817 0.843588 0.857496 0.194384 1.348416 0.436247 0.378473 1.472625 0.199665 1.452604 1.135822 1.388047 0.919731 1.753351 0.083481 1.454770 1.242435 0.826611 -0.194897 -0.034005 0.041385 0.915233 0.468973 -0.449881 -0.034037 1.686105 0.937405 1.775189 1.272187 0.656772 0.051128 1.735808 1.941754 -0.153834 1.560953 0.798180 1.420628 1.100906 1.382273 0.014181 1.975964 0.450586 0.615591 0.885414 1.287826 0.533661 0.896633 1.605571 0.202012 1.330045 1.186911 0.653866 0.460432 0.799268 1.432588 0.419263 1.021867 0.188412 0.775135 0.208746 0.411264 0.553114 1.806129 0.584153 1.223473 0.816232 -0.069138 0.707217 1.215423)
+	10.480580 #(0.000000 0.029942 1.595740 0.929637 0.140250 1.273956 1.370085 1.486506 0.768736 0.810999 0.987699 0.622931 1.874848 1.232431 0.796670 -0.004456 1.530075 1.744503 -0.182347 -0.272539 -0.039867 0.251416 0.711006 1.684207 0.083442 1.563617 0.619745 1.154797 1.221621 1.412817 0.843588 0.857496 0.194384 1.348416 0.436247 0.378473 1.472625 0.199665 1.452604 1.135822 1.388047 0.919731 1.753351 0.083481 1.454770 1.242435 0.826611 -0.194897 -0.034005 0.041385 0.915233 0.468973 -0.449881 -0.034037 1.686105 0.937405 1.775189 1.272187 0.656772 0.051128 1.735808 1.941754 -0.153834 1.560953 0.798180 1.420628 1.100906 1.382273 0.014181 1.975964 0.450586 0.615591 0.885414 1.287826 0.533661 0.896633 1.605571 0.202012 1.330045 1.186911 0.653866 0.460432 0.799268 1.432588 0.419263 1.021867 0.188412 0.775135 0.208746 0.411264 0.553114 1.806129 0.584153 1.223473 0.816232 -0.069138 0.707217 1.215423)
      )
 
 ;;; 99 even --------------------------------------------------------------------------------
-(vector 99 13.341398779709 (fv 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1)
+(vector 99 13.341398779709 #(0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1)
 
-	10.395229 (fv 0.000000 0.706072 1.286640 0.926913 0.137440 1.547226 0.117224 1.604362 0.484929 0.893678 0.211396 1.934935 1.381569 0.741431 1.002510 1.548591 1.501995 1.642732 0.386486 0.063170 0.535977 1.363015 0.485356 1.002502 1.149707 1.971779 0.610054 0.176963 1.296429 0.848185 0.077879 0.989380 0.162448 1.939484 1.081728 1.291006 1.781243 0.747318 1.861605 -0.003717 0.355879 1.413789 0.958311 0.004291 0.617108 1.378378 1.118347 1.632856 0.492813 0.823307 1.406872 1.588630 0.799940 0.218833 0.397527 1.627895 0.349077 0.557886 0.566534 1.362311 0.876480 1.822463 0.047284 1.726490 0.281473 1.360892 1.302327 0.630439 0.026319 0.398853 1.499306 1.696667 1.409746 0.843535 1.156093 0.782651 0.844572 0.996729 0.505075 0.454056 0.125470 0.633842 0.812248 1.139044 1.201855 0.936107 1.075661 1.055341 1.239337 1.081381 1.450660 0.544145 0.960193 1.261524 0.471575 0.159670 1.647942 0.617964 0.426032)
+	10.395229 #(0.000000 0.706072 1.286640 0.926913 0.137440 1.547226 0.117224 1.604362 0.484929 0.893678 0.211396 1.934935 1.381569 0.741431 1.002510 1.548591 1.501995 1.642732 0.386486 0.063170 0.535977 1.363015 0.485356 1.002502 1.149707 1.971779 0.610054 0.176963 1.296429 0.848185 0.077879 0.989380 0.162448 1.939484 1.081728 1.291006 1.781243 0.747318 1.861605 -0.003717 0.355879 1.413789 0.958311 0.004291 0.617108 1.378378 1.118347 1.632856 0.492813 0.823307 1.406872 1.588630 0.799940 0.218833 0.397527 1.627895 0.349077 0.557886 0.566534 1.362311 0.876480 1.822463 0.047284 1.726490 0.281473 1.360892 1.302327 0.630439 0.026319 0.398853 1.499306 1.696667 1.409746 0.843535 1.156093 0.782651 0.844572 0.996729 0.505075 0.454056 0.125470 0.633842 0.812248 1.139044 1.201855 0.936107 1.075661 1.055341 1.239337 1.081381 1.450660 0.544145 0.960193 1.261524 0.471575 0.159670 1.647942 0.617964 0.426032)
      )
 
 ;;; 100 even --------------------------------------------------------------------------------
-(vector 100 13.512077331543 (fv 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0)
+(vector 100 13.512077331543 #(0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0)
 
-      10.472141 (fv 0.000000 -0.079327 0.575962 1.216890 -0.014744 1.794579 0.223351 1.035736 1.450027 1.621511 1.146130 0.664482 0.663607 -0.266960 0.246822 0.754872 1.746592 -0.423496 -0.112090 1.668859 1.661047 0.950742 0.085504 0.302466 1.790192 0.512158 1.549763 -0.087872 1.606339 1.457814 0.979132 1.246348 1.572286 1.270907 0.557192 1.282392 0.773062 0.627296 0.449140 1.192929 0.105994 0.224683 -0.182519 0.743965 0.463017 1.607410 -0.217575 1.706348 1.917272 0.364576 0.425823 0.089107 1.477241 0.882347 1.143269 0.061661 0.026397 0.093540 1.833116 0.100956 -0.001875 0.084325 0.282798 1.183349 0.971365 0.306714 1.553029 0.062053 0.155585 0.754942 -0.336663 0.692895 0.554870 1.705080 0.442045 1.319460 0.995119 1.023180 1.734006 0.775241 1.099502 1.819778 -0.446034 1.513278 1.247469 0.530165 0.247921 1.473754 1.799924 0.292965 1.840516 0.908343 1.781887 1.143210 0.571911 1.546526 0.744154 1.261450 1.702101 1.407355)
+      10.472141 #(0.000000 -0.079327 0.575962 1.216890 -0.014744 1.794579 0.223351 1.035736 1.450027 1.621511 1.146130 0.664482 0.663607 -0.266960 0.246822 0.754872 1.746592 -0.423496 -0.112090 1.668859 1.661047 0.950742 0.085504 0.302466 1.790192 0.512158 1.549763 -0.087872 1.606339 1.457814 0.979132 1.246348 1.572286 1.270907 0.557192 1.282392 0.773062 0.627296 0.449140 1.192929 0.105994 0.224683 -0.182519 0.743965 0.463017 1.607410 -0.217575 1.706348 1.917272 0.364576 0.425823 0.089107 1.477241 0.882347 1.143269 0.061661 0.026397 0.093540 1.833116 0.100956 -0.001875 0.084325 0.282798 1.183349 0.971365 0.306714 1.553029 0.062053 0.155585 0.754942 -0.336663 0.692895 0.554870 1.705080 0.442045 1.319460 0.995119 1.023180 1.734006 0.775241 1.099502 1.819778 -0.446034 1.513278 1.247469 0.530165 0.247921 1.473754 1.799924 0.292965 1.840516 0.908343 1.781887 1.143210 0.571911 1.546526 0.744154 1.261450 1.702101 1.407355)
       )
 
 ;;; 101 even --------------------------------------------------------------------------------
-(vector 101 13.916260357992 (fv 0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1)
+(vector 101 13.916260357992 #(0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1)
 
       ;; ce:
-	10.577830 (fv 0.000000 0.230088 0.489949 1.896308 0.933068 0.593501 0.422308 0.060228 1.624707 0.198599 1.858938 1.074760 1.176893 0.981397 1.101455 0.671865 0.424692 0.090154 1.204682 1.678470 1.838266 0.024568 0.595975 1.448081 0.084971 1.587793 0.520717 0.874796 1.272960 1.935410 1.267081 1.651444 1.443667 0.106075 1.743028 0.700933 0.469120 0.378892 0.399951 0.519935 1.685545 1.698426 0.785883 0.473603 0.884326 1.731208 1.464294 1.924822 0.636901 0.305356 0.801079 1.744433 1.003951 0.836001 0.264502 0.624042 1.251558 0.465073 1.095465 1.359393 1.201558 0.893610 0.464655 0.265401 1.373759 1.898225 1.761890 -0.002084 1.345698 1.606225 0.081343 1.615987 1.843685 0.952555 0.240683 1.457724 0.753500 1.550264 1.132929 0.635603 1.553592 1.597112 0.562720 1.442901 1.005554 1.242061 1.201605 1.261095 1.477713 0.348336 0.005918 1.590197 0.313622 0.668027 1.281558 1.857136 1.788055 0.849243 1.615883 0.119440 1.251097)
+	10.577830 #(0.000000 0.230088 0.489949 1.896308 0.933068 0.593501 0.422308 0.060228 1.624707 0.198599 1.858938 1.074760 1.176893 0.981397 1.101455 0.671865 0.424692 0.090154 1.204682 1.678470 1.838266 0.024568 0.595975 1.448081 0.084971 1.587793 0.520717 0.874796 1.272960 1.935410 1.267081 1.651444 1.443667 0.106075 1.743028 0.700933 0.469120 0.378892 0.399951 0.519935 1.685545 1.698426 0.785883 0.473603 0.884326 1.731208 1.464294 1.924822 0.636901 0.305356 0.801079 1.744433 1.003951 0.836001 0.264502 0.624042 1.251558 0.465073 1.095465 1.359393 1.201558 0.893610 0.464655 0.265401 1.373759 1.898225 1.761890 -0.002084 1.345698 1.606225 0.081343 1.615987 1.843685 0.952555 0.240683 1.457724 0.753500 1.550264 1.132929 0.635603 1.553592 1.597112 0.562720 1.442901 1.005554 1.242061 1.201605 1.261095 1.477713 0.348336 0.005918 1.590197 0.313622 0.668027 1.281558 1.857136 1.788055 0.849243 1.615883 0.119440 1.251097)
       )
 
 ;;; 102 even --------------------------------------------------------------------------------
-(vector 102 13.554303556646 (fv 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0)
+(vector 102 13.554303556646 #(0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0)
 
       ;; ce:
-	10.573986 (fv 0.000000 0.455448 1.592339 0.516746 1.755302 0.430730 1.719525 0.951344 -0.011584 1.094962 0.249269 1.210204 0.681046 1.814999 1.100181 0.342805 1.598301 0.973279 1.813912 1.543187 1.213360 0.476019 1.876128 1.338406 0.323141 0.086213 1.782029 1.276211 0.922086 0.263981 1.923412 1.289879 0.951410 0.707896 0.012549 1.851646 1.630674 1.384243 1.051926 0.762336 0.305766 0.298705 1.874016 1.899771 1.620966 1.734952 1.429925 1.177184 1.271518 1.112585 1.351310 1.169594 1.017169 1.072042 1.161752 0.892462 1.662674 1.237843 1.407508 1.778309 1.632181 -0.005924 0.137286 0.529299 0.602002 0.855550 1.115330 1.528193 1.708150 1.986964 0.217781 0.770088 1.353099 1.819055 0.042966 0.583719 0.854932 1.780394 1.890656 0.692898 1.277125 1.902467 0.022802 0.892858 1.554169 0.132068 0.918216 1.832708 0.149377 0.742587 1.856221 0.273349 1.013342 0.114623 0.855957 1.713909 0.875532 1.432041 0.715192 1.022773 0.307135 1.424286)
+	10.573986 #(0.000000 0.455448 1.592339 0.516746 1.755302 0.430730 1.719525 0.951344 -0.011584 1.094962 0.249269 1.210204 0.681046 1.814999 1.100181 0.342805 1.598301 0.973279 1.813912 1.543187 1.213360 0.476019 1.876128 1.338406 0.323141 0.086213 1.782029 1.276211 0.922086 0.263981 1.923412 1.289879 0.951410 0.707896 0.012549 1.851646 1.630674 1.384243 1.051926 0.762336 0.305766 0.298705 1.874016 1.899771 1.620966 1.734952 1.429925 1.177184 1.271518 1.112585 1.351310 1.169594 1.017169 1.072042 1.161752 0.892462 1.662674 1.237843 1.407508 1.778309 1.632181 -0.005924 0.137286 0.529299 0.602002 0.855550 1.115330 1.528193 1.708150 1.986964 0.217781 0.770088 1.353099 1.819055 0.042966 0.583719 0.854932 1.780394 1.890656 0.692898 1.277125 1.902467 0.022802 0.892858 1.554169 0.132068 0.918216 1.832708 0.149377 0.742587 1.856221 0.273349 1.013342 0.114623 0.855957 1.713909 0.875532 1.432041 0.715192 1.022773 0.307135 1.424286)
       )
 
 ;;; 103 even --------------------------------------------------------------------------------
-(vector 103 13.923377530893 (fv 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0)
+(vector 103 13.923377530893 #(0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0)
 
       ;; ce:
-	10.655070 (fv 0.000000 0.098203 0.840876 1.375107 0.153742 0.905827 1.598049 0.226902 1.106387 1.951313 0.409173 1.416206 0.300008 0.991894 1.877024 0.769923 1.633937 0.581083 1.464525 0.440302 1.508923 0.447643 1.643543 0.650572 1.662974 0.812624 0.114340 1.320550 0.512587 1.607339 0.712150 1.624256 0.673697 0.132515 1.684625 1.034157 0.294350 1.413417 0.670789 0.070085 1.514860 0.928557 0.150294 1.635889 1.040664 0.560013 0.195302 1.710399 1.367615 1.043173 0.402177 1.662716 1.456941 1.147051 0.985707 0.632104 0.408799 0.275068 1.862616 1.424547 1.082981 1.090416 0.822477 0.915783 0.592819 0.610365 0.257982 0.450718 0.126885 0.491389 0.133294 0.376246 0.118720 0.195423 1.887844 0.645109 0.531798 0.762689 0.732490 0.998025 0.912568 1.060467 1.162384 1.198622 1.637406 0.207879 0.126974 0.580167 0.848976 1.222343 1.532632 1.780660 0.095903 0.581413 1.052384 1.441822 1.990917 0.734482 1.101269 1.710370 0.157742 0.650375 1.262955)
+	10.655070 #(0.000000 0.098203 0.840876 1.375107 0.153742 0.905827 1.598049 0.226902 1.106387 1.951313 0.409173 1.416206 0.300008 0.991894 1.877024 0.769923 1.633937 0.581083 1.464525 0.440302 1.508923 0.447643 1.643543 0.650572 1.662974 0.812624 0.114340 1.320550 0.512587 1.607339 0.712150 1.624256 0.673697 0.132515 1.684625 1.034157 0.294350 1.413417 0.670789 0.070085 1.514860 0.928557 0.150294 1.635889 1.040664 0.560013 0.195302 1.710399 1.367615 1.043173 0.402177 1.662716 1.456941 1.147051 0.985707 0.632104 0.408799 0.275068 1.862616 1.424547 1.082981 1.090416 0.822477 0.915783 0.592819 0.610365 0.257982 0.450718 0.126885 0.491389 0.133294 0.376246 0.118720 0.195423 1.887844 0.645109 0.531798 0.762689 0.732490 0.998025 0.912568 1.060467 1.162384 1.198622 1.637406 0.207879 0.126974 0.580167 0.848976 1.222343 1.532632 1.780660 0.095903 0.581413 1.052384 1.441822 1.990917 0.734482 1.101269 1.710370 0.157742 0.650375 1.262955)
       )
 
 ;;; 104 even --------------------------------------------------------------------------------
-(vector 104 14.080453047533 (fv 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1)
+(vector 104 14.080453047533 #(0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1)
 
       ;; ce:
-	10.681525 (fv 0.000000 -0.024256 0.783678 0.790357 0.543059 0.305361 -0.134503 0.818664 1.525254 0.494738 0.824462 0.413278 0.768548 0.076204 0.116598 0.283930 0.002578 1.585676 1.025319 1.696095 0.040592 0.097252 1.464874 0.943760 1.446445 1.337085 -0.054264 0.475515 1.125978 1.147471 1.094995 0.186610 0.588805 0.970144 0.882957 0.245963 0.284357 -0.394290 1.437271 0.927960 1.125343 0.492129 -0.680606 0.536491 0.927855 1.405256 0.384789 0.057902 1.208331 0.288662 1.508156 1.581082 1.167052 1.243667 1.226450 0.112600 1.111908 1.348016 0.638821 1.169461 0.306222 1.466381 0.659007 1.306085 1.700156 1.339421 0.711646 0.085484 0.909896 -0.178331 1.447928 0.767489 1.399367 -0.197416 1.574394 0.605814 -0.011981 -0.082006 0.824364 0.264841 1.418643 0.988277 -0.314078 0.146715 0.221811 0.630751 0.576546 0.496630 0.654974 1.143866 1.326186 1.202136 1.173988 0.681397 1.563605 0.912110 1.479070 0.009348 0.151736 0.948455 0.251873 0.215256 0.959463 1.013975)
+	10.681525 #(0.000000 -0.024256 0.783678 0.790357 0.543059 0.305361 -0.134503 0.818664 1.525254 0.494738 0.824462 0.413278 0.768548 0.076204 0.116598 0.283930 0.002578 1.585676 1.025319 1.696095 0.040592 0.097252 1.464874 0.943760 1.446445 1.337085 -0.054264 0.475515 1.125978 1.147471 1.094995 0.186610 0.588805 0.970144 0.882957 0.245963 0.284357 -0.394290 1.437271 0.927960 1.125343 0.492129 -0.680606 0.536491 0.927855 1.405256 0.384789 0.057902 1.208331 0.288662 1.508156 1.581082 1.167052 1.243667 1.226450 0.112600 1.111908 1.348016 0.638821 1.169461 0.306222 1.466381 0.659007 1.306085 1.700156 1.339421 0.711646 0.085484 0.909896 -0.178331 1.447928 0.767489 1.399367 -0.197416 1.574394 0.605814 -0.011981 -0.082006 0.824364 0.264841 1.418643 0.988277 -0.314078 0.146715 0.221811 0.630751 0.576546 0.496630 0.654974 1.143866 1.326186 1.202136 1.173988 0.681397 1.563605 0.912110 1.479070 0.009348 0.151736 0.948455 0.251873 0.215256 0.959463 1.013975)
       )
 
 ;;; 105 even --------------------------------------------------------------------------------
-(vector 105 14.023490699521 (fv 0 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 1 1 0 0)
+(vector 105 14.023490699521 #(0 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 1 1 0 0)
 
       ;; ce:
-	10.762178 (fv 0.000000 0.397875 0.415370 0.882172 0.546824 1.353988 1.428323 0.899356 0.371635 0.978504 0.763060 1.852147 0.544169 0.212342 0.787152 0.707632 0.540670 1.634630 1.456913 1.887455 0.659515 1.903305 1.487136 0.606049 0.181640 0.198532 0.870626 0.299967 1.007267 0.225649 1.806738 0.672311 0.647212 0.706876 1.445160 0.654294 0.635429 0.365790 0.507155 0.852393 0.362305 0.862000 0.544259 1.758526 1.506465 1.313083 0.892464 0.407338 1.550831 0.757533 1.555137 -0.026848 1.155141 1.305207 1.788542 1.889285 0.358766 1.027604 0.314507 0.587817 0.916345 0.200487 1.411080 1.048840 1.178903 0.194143 1.901728 1.960301 1.945844 1.173118 1.765984 0.206171 1.625946 0.040059 1.626954 0.263952 1.564387 1.266244 1.622196 0.755369 0.949828 0.255858 0.753659 1.729344 1.050369 1.743664 1.440420 0.145640 0.301718 1.174665 0.822890 1.317300 1.570892 0.407998 0.956005 1.432600 0.239369 0.699233 1.040355 0.955730 0.525379 0.245609 0.402988 1.983561 1.494957)
+	10.762178 #(0.000000 0.397875 0.415370 0.882172 0.546824 1.353988 1.428323 0.899356 0.371635 0.978504 0.763060 1.852147 0.544169 0.212342 0.787152 0.707632 0.540670 1.634630 1.456913 1.887455 0.659515 1.903305 1.487136 0.606049 0.181640 0.198532 0.870626 0.299967 1.007267 0.225649 1.806738 0.672311 0.647212 0.706876 1.445160 0.654294 0.635429 0.365790 0.507155 0.852393 0.362305 0.862000 0.544259 1.758526 1.506465 1.313083 0.892464 0.407338 1.550831 0.757533 1.555137 -0.026848 1.155141 1.305207 1.788542 1.889285 0.358766 1.027604 0.314507 0.587817 0.916345 0.200487 1.411080 1.048840 1.178903 0.194143 1.901728 1.960301 1.945844 1.173118 1.765984 0.206171 1.625946 0.040059 1.626954 0.263952 1.564387 1.266244 1.622196 0.755369 0.949828 0.255858 0.753659 1.729344 1.050369 1.743664 1.440420 0.145640 0.301718 1.174665 0.822890 1.317300 1.570892 0.407998 0.956005 1.432600 0.239369 0.699233 1.040355 0.955730 0.525379 0.245609 0.402988 1.983561 1.494957)
       )
 
 ;;; 106 even --------------------------------------------------------------------------------
-(vector 106 14.077123010357 (fv 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1)
+(vector 106 14.077123010357 #(0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1)
 
       ;; ce:
-	10.830737 (fv 0.000000 -0.005846 0.570672 0.234799 1.335287 1.359588 -0.419716 0.539638 0.608529 0.339921 1.061903 -0.158242 -0.044398 1.229716 1.763841 1.099423 1.509512 0.089726 1.005316 -0.075124 -0.066461 1.466196 0.771111 0.468552 1.415804 0.138963 -0.245805 0.138836 0.477088 1.188902 1.132158 1.069838 1.264025 0.968611 1.914288 1.097597 1.541915 0.300326 1.372837 1.925102 1.312271 -0.023238 1.373743 1.323233 1.094484 0.489712 0.482163 1.087861 0.500643 0.570320 1.558451 0.587192 1.367163 1.157295 0.201827 0.338548 0.589886 0.627255 0.836138 0.810466 -0.203530 1.496837 1.317835 0.258851 0.104005 1.762383 1.590637 1.892947 1.673713 0.391886 0.132951 1.390857 1.679677 1.113406 0.925816 1.243522 0.395898 -0.235350 0.125786 0.071751 0.796497 -0.006564 0.517719 0.324240 -0.029479 1.648460 0.422894 0.173347 0.366226 -0.269652 0.667311 0.224137 1.099578 1.062306 -0.039311 0.586541 0.652636 1.087861 0.037847 0.544588 -0.167470 1.665629 0.356235 0.598705 1.690854 1.284152)
+	10.830737 #(0.000000 -0.005846 0.570672 0.234799 1.335287 1.359588 -0.419716 0.539638 0.608529 0.339921 1.061903 -0.158242 -0.044398 1.229716 1.763841 1.099423 1.509512 0.089726 1.005316 -0.075124 -0.066461 1.466196 0.771111 0.468552 1.415804 0.138963 -0.245805 0.138836 0.477088 1.188902 1.132158 1.069838 1.264025 0.968611 1.914288 1.097597 1.541915 0.300326 1.372837 1.925102 1.312271 -0.023238 1.373743 1.323233 1.094484 0.489712 0.482163 1.087861 0.500643 0.570320 1.558451 0.587192 1.367163 1.157295 0.201827 0.338548 0.589886 0.627255 0.836138 0.810466 -0.203530 1.496837 1.317835 0.258851 0.104005 1.762383 1.590637 1.892947 1.673713 0.391886 0.132951 1.390857 1.679677 1.113406 0.925816 1.243522 0.395898 -0.235350 0.125786 0.071751 0.796497 -0.006564 0.517719 0.324240 -0.029479 1.648460 0.422894 0.173347 0.366226 -0.269652 0.667311 0.224137 1.099578 1.062306 -0.039311 0.586541 0.652636 1.087861 0.037847 0.544588 -0.167470 1.665629 0.356235 0.598705 1.690854 1.284152)
       )
 
 ;;; 107 even --------------------------------------------------------------------------------
-(vector 107 13.979104817741 (fv 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1)
+(vector 107 13.979104817741 #(0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1)
 
       ;; ce:
-	10.937211 (fv 0.000000 -0.004224 0.060024 -0.045111 1.214471 1.071129 0.959468 -0.117229 0.526421 0.777989 1.101830 1.594870 1.129631 1.240597 0.114410 -0.015477 -0.160025 1.227190 0.975588 0.257050 0.062807 0.334972 0.704097 1.491576 0.263834 0.840227 0.134041 0.515784 0.095610 1.204429 1.214110 -0.209995 0.542934 1.280779 0.060334 1.305652 0.399609 0.055093 1.015156 -0.124325 0.060155 1.228735 0.771913 1.621598 0.808853 1.471209 -0.169978 1.121641 0.399914 1.719441 0.379423 1.503274 1.042517 0.685780 0.947470 0.570388 0.750717 1.227614 1.713741 0.574606 1.613832 0.259018 1.237457 1.030851 1.608948 1.331324 0.222275 1.365789 1.141241 0.137043 0.400610 0.136266 1.777801 -0.008027 -0.188345 0.319469 0.129091 -0.503698 1.075061 0.022495 -0.104170 1.746336 1.362807 0.487726 1.046216 1.025881 -0.113705 0.257262 0.139668 0.033537 0.410121 0.067540 0.536883 1.096402 0.595602 1.418336 1.800057 0.344577 0.240890 1.498996 -0.357281 0.342654 1.655013 1.372406 1.308709 -0.240755 1.334030)
+	10.937211 #(0.000000 -0.004224 0.060024 -0.045111 1.214471 1.071129 0.959468 -0.117229 0.526421 0.777989 1.101830 1.594870 1.129631 1.240597 0.114410 -0.015477 -0.160025 1.227190 0.975588 0.257050 0.062807 0.334972 0.704097 1.491576 0.263834 0.840227 0.134041 0.515784 0.095610 1.204429 1.214110 -0.209995 0.542934 1.280779 0.060334 1.305652 0.399609 0.055093 1.015156 -0.124325 0.060155 1.228735 0.771913 1.621598 0.808853 1.471209 -0.169978 1.121641 0.399914 1.719441 0.379423 1.503274 1.042517 0.685780 0.947470 0.570388 0.750717 1.227614 1.713741 0.574606 1.613832 0.259018 1.237457 1.030851 1.608948 1.331324 0.222275 1.365789 1.141241 0.137043 0.400610 0.136266 1.777801 -0.008027 -0.188345 0.319469 0.129091 -0.503698 1.075061 0.022495 -0.104170 1.746336 1.362807 0.487726 1.046216 1.025881 -0.113705 0.257262 0.139668 0.033537 0.410121 0.067540 0.536883 1.096402 0.595602 1.418336 1.800057 0.344577 0.240890 1.498996 -0.357281 0.342654 1.655013 1.372406 1.308709 -0.240755 1.334030)
       )
 
 ;;; 108 even --------------------------------------------------------------------------------
-(vector 108 14.201394892821 (fv 0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1)
+(vector 108 14.201394892821 #(0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1)
 
       ;; ce:
-	10.928835 (fv 0.000000 0.001349 1.292491 0.733848 1.693309 1.799399 0.481169 -0.003953 0.631395 1.556718 0.747743 0.394608 -0.163614 0.178289 1.389719 1.500511 0.566775 1.069628 0.140033 0.292869 1.057556 -0.232775 1.757479 1.152928 0.313785 -0.002063 1.713110 1.409517 1.701701 0.540017 -0.081333 0.363976 1.907649 1.714406 0.366131 1.312522 1.061649 -0.016307 1.204902 0.111229 1.131127 1.599963 0.195405 0.048689 0.148454 1.536192 1.518659 0.029237 0.220432 0.060747 0.889494 0.493752 0.976299 1.363602 1.809211 1.216107 0.616567 0.927578 1.398521 0.961300 1.194676 0.366929 1.180567 1.477072 0.270916 0.119650 1.287137 1.475762 1.163703 1.481070 1.371759 0.541244 1.311014 1.044588 1.313660 0.533979 1.490951 0.356285 -0.069909 0.767914 0.271739 0.014710 1.682385 0.162634 1.095329 0.775810 0.661086 0.068467 1.450209 1.785189 0.063589 1.966358 1.523081 1.437414 0.274911 0.580082 1.089239 -0.463689 1.664646 1.305111 1.466902 1.475663 0.556905 0.115271 0.981770 0.504641 0.709948 1.631495)
+	10.928835 #(0.000000 0.001349 1.292491 0.733848 1.693309 1.799399 0.481169 -0.003953 0.631395 1.556718 0.747743 0.394608 -0.163614 0.178289 1.389719 1.500511 0.566775 1.069628 0.140033 0.292869 1.057556 -0.232775 1.757479 1.152928 0.313785 -0.002063 1.713110 1.409517 1.701701 0.540017 -0.081333 0.363976 1.907649 1.714406 0.366131 1.312522 1.061649 -0.016307 1.204902 0.111229 1.131127 1.599963 0.195405 0.048689 0.148454 1.536192 1.518659 0.029237 0.220432 0.060747 0.889494 0.493752 0.976299 1.363602 1.809211 1.216107 0.616567 0.927578 1.398521 0.961300 1.194676 0.366929 1.180567 1.477072 0.270916 0.119650 1.287137 1.475762 1.163703 1.481070 1.371759 0.541244 1.311014 1.044588 1.313660 0.533979 1.490951 0.356285 -0.069909 0.767914 0.271739 0.014710 1.682385 0.162634 1.095329 0.775810 0.661086 0.068467 1.450209 1.785189 0.063589 1.966358 1.523081 1.437414 0.274911 0.580082 1.089239 -0.463689 1.664646 1.305111 1.466902 1.475663 0.556905 0.115271 0.981770 0.504641 0.709948 1.631495)
       )
 
 ;;; 109 even --------------------------------------------------------------------------------
-(vector 109 14.476561866583 (fv 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1)
+(vector 109 14.476561866583 #(0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1)
 
       ;; ce:
-	10.962218 (fv 0.000000 -0.020139 1.296818 0.759398 1.805908 1.100728 0.800122 1.439412 1.622620 0.514993 1.795449 1.209391 0.020235 0.358160 0.092111 0.419753 0.215041 0.890857 0.739133 0.655070 -0.097603 1.149145 1.795049 0.529356 0.278854 0.849651 1.115508 -0.203443 -0.316571 0.636461 0.169404 0.863285 1.244658 0.826671 1.217995 1.641136 1.077104 1.940135 -0.019991 0.361800 0.684590 0.618864 1.574258 0.100541 0.539464 1.815288 0.854878 0.087950 0.096927 0.551713 0.357857 0.524099 0.322958 1.655523 1.025258 0.447127 1.801347 0.241837 1.863980 1.144261 1.218309 0.839437 0.457453 0.658738 1.245153 1.083988 0.663284 0.430502 0.960078 0.132118 0.667264 0.423888 1.801298 1.342075 0.136707 0.381362 0.568108 1.442671 0.522741 -0.163023 0.297994 0.902549 1.034272 0.408426 0.838530 1.491663 1.889043 0.510513 1.243885 -0.037162 0.829406 0.263055 1.957688 1.777764 1.532407 1.532356 -0.098135 1.343701 -0.090007 1.030266 0.540482 0.697946 0.058406 0.051557 1.224797 1.605931 1.084281 1.340523 0.856409)
+	10.962218 #(0.000000 -0.020139 1.296818 0.759398 1.805908 1.100728 0.800122 1.439412 1.622620 0.514993 1.795449 1.209391 0.020235 0.358160 0.092111 0.419753 0.215041 0.890857 0.739133 0.655070 -0.097603 1.149145 1.795049 0.529356 0.278854 0.849651 1.115508 -0.203443 -0.316571 0.636461 0.169404 0.863285 1.244658 0.826671 1.217995 1.641136 1.077104 1.940135 -0.019991 0.361800 0.684590 0.618864 1.574258 0.100541 0.539464 1.815288 0.854878 0.087950 0.096927 0.551713 0.357857 0.524099 0.322958 1.655523 1.025258 0.447127 1.801347 0.241837 1.863980 1.144261 1.218309 0.839437 0.457453 0.658738 1.245153 1.083988 0.663284 0.430502 0.960078 0.132118 0.667264 0.423888 1.801298 1.342075 0.136707 0.381362 0.568108 1.442671 0.522741 -0.163023 0.297994 0.902549 1.034272 0.408426 0.838530 1.491663 1.889043 0.510513 1.243885 -0.037162 0.829406 0.263055 1.957688 1.777764 1.532407 1.532356 -0.098135 1.343701 -0.090007 1.030266 0.540482 0.697946 0.058406 0.051557 1.224797 1.605931 1.084281 1.340523 0.856409)
       )
 
 ;;; 110 even --------------------------------------------------------------------------------
-(vector 110 14.141825477743 (fv 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0)
+(vector 110 14.141825477743 #(0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0)
 
       ;; ce:
-	11.083621 (fv 0.000000 0.102224 0.391557 0.595597 0.594876 1.372717 0.692712 1.820557 0.592991 0.744933 0.284097 0.094534 1.236489 0.656692 0.836105 1.286301 1.045083 0.906213 0.452242 1.303365 1.815972 0.742162 1.260200 1.034689 1.519277 1.714910 0.030360 1.701396 0.878133 1.252260 1.563515 1.824493 1.440884 0.550691 0.625323 0.322441 0.255155 1.747348 1.715563 1.206982 0.695445 1.179481 0.756077 1.528329 0.919865 1.229029 1.159425 1.320573 0.445003 1.914934 0.957065 0.751755 0.916124 0.636546 1.677594 1.368208 1.478534 0.887675 1.827907 0.505854 0.598384 0.760342 0.616916 0.235984 0.997501 1.394766 0.145444 0.892122 1.825648 1.436307 0.231097 0.844561 0.320584 0.655075 0.450233 0.147790 1.886750 0.073198 0.684099 0.980548 1.422263 1.230129 0.607855 1.708107 1.670067 1.087055 1.809960 1.108445 0.779703 1.445375 0.004959 0.570411 1.025881 0.429647 0.658700 0.663819 0.227169 1.057047 0.056802 0.087954 1.060399 1.762629 1.235596 0.276822 0.266842 1.518690 1.130656 0.442538 0.924181 1.667970)
+	11.083621 #(0.000000 0.102224 0.391557 0.595597 0.594876 1.372717 0.692712 1.820557 0.592991 0.744933 0.284097 0.094534 1.236489 0.656692 0.836105 1.286301 1.045083 0.906213 0.452242 1.303365 1.815972 0.742162 1.260200 1.034689 1.519277 1.714910 0.030360 1.701396 0.878133 1.252260 1.563515 1.824493 1.440884 0.550691 0.625323 0.322441 0.255155 1.747348 1.715563 1.206982 0.695445 1.179481 0.756077 1.528329 0.919865 1.229029 1.159425 1.320573 0.445003 1.914934 0.957065 0.751755 0.916124 0.636546 1.677594 1.368208 1.478534 0.887675 1.827907 0.505854 0.598384 0.760342 0.616916 0.235984 0.997501 1.394766 0.145444 0.892122 1.825648 1.436307 0.231097 0.844561 0.320584 0.655075 0.450233 0.147790 1.886750 0.073198 0.684099 0.980548 1.422263 1.230129 0.607855 1.708107 1.670067 1.087055 1.809960 1.108445 0.779703 1.445375 0.004959 0.570411 1.025881 0.429647 0.658700 0.663819 0.227169 1.057047 0.056802 0.087954 1.060399 1.762629 1.235596 0.276822 0.266842 1.518690 1.130656 0.442538 0.924181 1.667970)
       )
 
 ;;; 111 even --------------------------------------------------------------------------------
-(vector 111 14.043108609984 (fv 0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 1)
+(vector 111 14.043108609984 #(0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 1)
 
       ;; ce:
-	11.044285 (fv 0.000000 0.158015 0.933037 1.614942 0.438728 1.109662 1.925788 0.472812 1.243741 0.106020 0.791740 1.640176 0.492268 1.485008 0.348988 1.215620 0.210371 0.907594 1.877045 0.815828 1.746879 0.708997 1.883211 1.043991 0.199639 1.074067 0.180622 1.253869 0.348260 1.556554 0.806309 0.044157 1.125294 0.382590 1.810361 1.146217 0.335649 1.611965 0.680338 1.937389 1.233789 0.766403 0.308709 1.641326 0.874950 0.294876 0.039653 1.398544 0.690400 0.241248 1.690671 1.329862 0.933824 0.621841 0.215994 1.901023 1.430062 1.233607 0.739730 0.472666 0.123106 0.067252 1.738994 1.459373 1.478846 1.201845 1.291598 0.805256 0.526423 0.555011 0.429805 0.468900 0.550665 0.287845 0.418385 0.091842 0.561234 0.306326 0.551107 0.349285 0.443927 0.497444 0.741730 0.889477 1.210808 1.343091 1.439025 1.479999 1.836181 0.047632 0.373687 0.550415 0.777036 1.388872 1.698564 0.091159 0.463192 0.987707 1.050209 1.564941 1.953806 0.531885 1.227608 1.522869 0.053791 0.776531 1.501133 1.889970 0.686171 0.911252 1.640718)
+	11.044285 #(0.000000 0.158015 0.933037 1.614942 0.438728 1.109662 1.925788 0.472812 1.243741 0.106020 0.791740 1.640176 0.492268 1.485008 0.348988 1.215620 0.210371 0.907594 1.877045 0.815828 1.746879 0.708997 1.883211 1.043991 0.199639 1.074067 0.180622 1.253869 0.348260 1.556554 0.806309 0.044157 1.125294 0.382590 1.810361 1.146217 0.335649 1.611965 0.680338 1.937389 1.233789 0.766403 0.308709 1.641326 0.874950 0.294876 0.039653 1.398544 0.690400 0.241248 1.690671 1.329862 0.933824 0.621841 0.215994 1.901023 1.430062 1.233607 0.739730 0.472666 0.123106 0.067252 1.738994 1.459373 1.478846 1.201845 1.291598 0.805256 0.526423 0.555011 0.429805 0.468900 0.550665 0.287845 0.418385 0.091842 0.561234 0.306326 0.551107 0.349285 0.443927 0.497444 0.741730 0.889477 1.210808 1.343091 1.439025 1.479999 1.836181 0.047632 0.373687 0.550415 0.777036 1.388872 1.698564 0.091159 0.463192 0.987707 1.050209 1.564941 1.953806 0.531885 1.227608 1.522869 0.053791 0.776531 1.501133 1.889970 0.686171 0.911252 1.640718)
       )
 
 ;;; 112 even --------------------------------------------------------------------------------
-(vector 112 14.53456401825 (fv 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1)
+(vector 112 14.53456401825 #(0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1)
 
       ;; ce:
-	11.132899 (fv 0.000000 -0.004199 1.283910 0.989370 -0.208623 1.916334 0.074521 1.835438 1.334006 0.305929 1.500009 -0.074494 1.168847 0.049877 1.276892 1.333761 -0.092116 1.454810 0.477624 0.576171 0.178508 0.764025 0.524952 1.017918 1.503303 0.222438 0.024354 0.989207 -0.051649 0.790422 1.303684 -0.215343 0.911639 1.672316 0.816315 1.393173 1.438934 1.325167 0.960271 0.472591 1.161764 -0.301446 0.550621 1.114416 1.344136 1.489640 1.336572 0.050968 0.500820 -0.057732 1.192684 1.166393 1.318354 1.292569 1.273498 0.099165 0.438587 1.952651 -0.094274 1.629010 1.153422 1.621198 0.812392 0.958180 1.035359 0.874583 0.398809 1.397735 0.813120 1.083168 1.586479 1.738041 -0.184237 0.887045 0.555348 1.573618 0.841883 0.094362 0.127164 -0.091421 0.370018 0.132149 0.004963 0.522483 0.330656 0.374322 1.610332 1.059431 0.769509 1.653723 0.151945 1.881470 1.251612 1.570585 0.545409 0.439130 1.754244 0.242385 1.453705 1.649898 0.928413 0.488588 1.234024 -0.316648 1.499904 0.614604 0.329349 1.231718 0.063978 0.324984 0.806167 0.116728)
+	11.132899 #(0.000000 -0.004199 1.283910 0.989370 -0.208623 1.916334 0.074521 1.835438 1.334006 0.305929 1.500009 -0.074494 1.168847 0.049877 1.276892 1.333761 -0.092116 1.454810 0.477624 0.576171 0.178508 0.764025 0.524952 1.017918 1.503303 0.222438 0.024354 0.989207 -0.051649 0.790422 1.303684 -0.215343 0.911639 1.672316 0.816315 1.393173 1.438934 1.325167 0.960271 0.472591 1.161764 -0.301446 0.550621 1.114416 1.344136 1.489640 1.336572 0.050968 0.500820 -0.057732 1.192684 1.166393 1.318354 1.292569 1.273498 0.099165 0.438587 1.952651 -0.094274 1.629010 1.153422 1.621198 0.812392 0.958180 1.035359 0.874583 0.398809 1.397735 0.813120 1.083168 1.586479 1.738041 -0.184237 0.887045 0.555348 1.573618 0.841883 0.094362 0.127164 -0.091421 0.370018 0.132149 0.004963 0.522483 0.330656 0.374322 1.610332 1.059431 0.769509 1.653723 0.151945 1.881470 1.251612 1.570585 0.545409 0.439130 1.754244 0.242385 1.453705 1.649898 0.928413 0.488588 1.234024 -0.316648 1.499904 0.614604 0.329349 1.231718 0.063978 0.324984 0.806167 0.116728)
       )
 
 ;;; 113 even --------------------------------------------------------------------------------
-(vector 113 14.699631659332 (fv 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0)
+(vector 113 14.699631659332 #(0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0)
 
       ;; ce:
-	11.086230 (fv 0.000000 -0.000389 -0.085077 1.561730 0.939636 0.783800 0.822356 0.753902 1.063386 1.064106 0.248945 -0.331235 0.891273 0.384236 1.666476 1.209055 0.747827 1.261264 0.977109 0.473018 1.869842 1.640635 0.426272 0.493282 0.533612 0.678013 0.886344 1.278452 0.240683 0.355081 0.485535 1.773399 1.825457 0.749792 0.520365 0.198490 0.250957 0.893317 0.038147 1.767495 1.585752 1.382949 0.153130 0.345263 1.470526 1.544311 -0.012268 0.353892 0.265833 0.472828 0.199271 0.570776 0.068734 -0.052674 -0.058660 0.544786 0.747249 1.268098 -0.214510 0.394163 0.864637 0.802715 -0.354031 0.495687 0.772508 0.500088 0.648134 0.893273 0.437351 0.101751 1.505344 1.430317 1.237725 -0.133160 1.737117 0.276904 0.819294 -0.436692 0.255417 1.171282 -0.127128 0.741289 1.135948 0.224854 1.189320 1.263745 1.436981 1.094323 0.315920 0.551659 -0.076936 0.988425 0.147044 1.117725 1.898145 1.201889 0.000719 0.311682 0.796660 0.441683 0.674490 1.525693 0.432480 -0.261252 0.793197 1.692433 1.264116 1.229766 1.345051 1.012949 0.026436 1.326999 0.385241)
+	11.086230 #(0.000000 -0.000389 -0.085077 1.561730 0.939636 0.783800 0.822356 0.753902 1.063386 1.064106 0.248945 -0.331235 0.891273 0.384236 1.666476 1.209055 0.747827 1.261264 0.977109 0.473018 1.869842 1.640635 0.426272 0.493282 0.533612 0.678013 0.886344 1.278452 0.240683 0.355081 0.485535 1.773399 1.825457 0.749792 0.520365 0.198490 0.250957 0.893317 0.038147 1.767495 1.585752 1.382949 0.153130 0.345263 1.470526 1.544311 -0.012268 0.353892 0.265833 0.472828 0.199271 0.570776 0.068734 -0.052674 -0.058660 0.544786 0.747249 1.268098 -0.214510 0.394163 0.864637 0.802715 -0.354031 0.495687 0.772508 0.500088 0.648134 0.893273 0.437351 0.101751 1.505344 1.430317 1.237725 -0.133160 1.737117 0.276904 0.819294 -0.436692 0.255417 1.171282 -0.127128 0.741289 1.135948 0.224854 1.189320 1.263745 1.436981 1.094323 0.315920 0.551659 -0.076936 0.988425 0.147044 1.117725 1.898145 1.201889 0.000719 0.311682 0.796660 0.441683 0.674490 1.525693 0.432480 -0.261252 0.793197 1.692433 1.264116 1.229766 1.345051 1.012949 0.026436 1.326999 0.385241)
       )
 
 ;;; 114 even --------------------------------------------------------------------------------
-(vector 114 14.492 (fv 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1)
+(vector 114 14.492 #(0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1)
 
       ;; ce:
-	11.157135 (fv 0.000000 -0.039464 0.696620 1.049808 1.784392 0.325544 0.858380 1.305402 0.025713 0.621307 1.231983 1.810377 0.686152 1.384942 0.194646 1.038532 1.591698 0.399402 1.138014 1.856685 0.607032 1.487902 0.438056 1.390980 0.254957 1.178058 0.067020 0.938265 1.875276 0.851076 0.004242 1.047055 0.045055 1.007007 0.277254 1.473760 0.430329 1.411705 0.732780 1.815871 0.875020 0.057294 1.303464 0.776395 0.029104 1.052938 0.330119 1.901182 1.233681 0.357134 1.566517 1.090726 0.497634 1.859625 1.337968 0.810851 0.475823 1.810735 1.275081 0.613201 0.249187 1.680606 1.475238 0.917317 0.615081 0.035115 1.985536 1.555790 1.295493 0.711316 0.674571 0.194958 0.031526 1.689053 1.752486 1.376552 1.332463 1.199628 1.038471 0.887824 0.776195 0.244582 0.396901 0.380408 0.272363 0.437965 0.462200 0.460243 0.479976 0.174041 0.442325 0.587458 0.662414 0.624435 0.793505 1.270764 1.312001 1.527872 1.906728 0.154209 0.367925 0.274540 0.568448 0.741643 1.347518 1.802398 -0.015484 0.528377 1.078486 1.236948 1.800583 0.083771 0.530926 0.938750)
+	11.157135 #(0.000000 -0.039464 0.696620 1.049808 1.784392 0.325544 0.858380 1.305402 0.025713 0.621307 1.231983 1.810377 0.686152 1.384942 0.194646 1.038532 1.591698 0.399402 1.138014 1.856685 0.607032 1.487902 0.438056 1.390980 0.254957 1.178058 0.067020 0.938265 1.875276 0.851076 0.004242 1.047055 0.045055 1.007007 0.277254 1.473760 0.430329 1.411705 0.732780 1.815871 0.875020 0.057294 1.303464 0.776395 0.029104 1.052938 0.330119 1.901182 1.233681 0.357134 1.566517 1.090726 0.497634 1.859625 1.337968 0.810851 0.475823 1.810735 1.275081 0.613201 0.249187 1.680606 1.475238 0.917317 0.615081 0.035115 1.985536 1.555790 1.295493 0.711316 0.674571 0.194958 0.031526 1.689053 1.752486 1.376552 1.332463 1.199628 1.038471 0.887824 0.776195 0.244582 0.396901 0.380408 0.272363 0.437965 0.462200 0.460243 0.479976 0.174041 0.442325 0.587458 0.662414 0.624435 0.793505 1.270764 1.312001 1.527872 1.906728 0.154209 0.367925 0.274540 0.568448 0.741643 1.347518 1.802398 -0.015484 0.528377 1.078486 1.236948 1.800583 0.083771 0.530926 0.938750)
       )
 
 ;;; 115 even --------------------------------------------------------------------------------
-(vector 115 14.568 (fv 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1)
+(vector 115 14.568 #(0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1)
 
       ;; ce:	
-	11.164043 (fv 0.000000 -0.007735 0.519521 0.853408 0.869518 0.698179 0.507264 1.931615 0.907177 -0.081980 1.081445 -0.614824 0.113202 -0.200689 1.235563 -0.410618 -0.044424 1.664294 0.004420 -0.047758 -0.084756 0.183149 0.916469 0.869368 0.512976 0.672797 1.215314 0.375058 0.915864 1.704866 0.936574 0.218869 0.698296 0.045271 1.628914 0.078964 0.149407 0.338531 0.117882 -0.320994 1.491596 1.006019 -0.240429 1.202447 1.241878 1.751514 1.720285 0.676992 -0.221839 1.582392 1.209034 1.838537 0.581983 1.407446 0.568243 0.270174 1.675976 1.382944 1.186838 0.261842 1.726931 1.658063 1.186047 0.622126 0.744214 1.106115 1.040724 0.077608 1.153074 1.203757 -0.097198 0.746254 0.828552 0.000738 0.431630 0.964545 1.375943 1.286789 1.299809 0.427471 1.340955 0.754972 1.408156 0.094923 0.222079 1.183606 -0.446708 1.549043 0.356824 0.090057 -0.448761 1.856851 1.141144 -0.262172 1.428502 1.426364 0.962275 0.289782 0.928089 1.983331 -0.130528 1.708026 0.141800 0.998440 0.458314 -0.400945 1.256766 -0.158747 1.393865 0.122714 0.409705 1.066166 0.512662 1.368814 -0.157203)
+	11.164043 #(0.000000 -0.007735 0.519521 0.853408 0.869518 0.698179 0.507264 1.931615 0.907177 -0.081980 1.081445 -0.614824 0.113202 -0.200689 1.235563 -0.410618 -0.044424 1.664294 0.004420 -0.047758 -0.084756 0.183149 0.916469 0.869368 0.512976 0.672797 1.215314 0.375058 0.915864 1.704866 0.936574 0.218869 0.698296 0.045271 1.628914 0.078964 0.149407 0.338531 0.117882 -0.320994 1.491596 1.006019 -0.240429 1.202447 1.241878 1.751514 1.720285 0.676992 -0.221839 1.582392 1.209034 1.838537 0.581983 1.407446 0.568243 0.270174 1.675976 1.382944 1.186838 0.261842 1.726931 1.658063 1.186047 0.622126 0.744214 1.106115 1.040724 0.077608 1.153074 1.203757 -0.097198 0.746254 0.828552 0.000738 0.431630 0.964545 1.375943 1.286789 1.299809 0.427471 1.340955 0.754972 1.408156 0.094923 0.222079 1.183606 -0.446708 1.549043 0.356824 0.090057 -0.448761 1.856851 1.141144 -0.262172 1.428502 1.426364 0.962275 0.289782 0.928089 1.983331 -0.130528 1.708026 0.141800 0.998440 0.458314 -0.400945 1.256766 -0.158747 1.393865 0.122714 0.409705 1.066166 0.512662 1.368814 -0.157203)
       )
 
 ;;; 116 even --------------------------------------------------------------------------------
-(vector 116 15.016979484255 (fv 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1)
+(vector 116 15.016979484255 #(0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1)
 
       ;; ce:
-	11.308873 (fv 0.000000 0.106229 0.367548 0.759703 1.450113 0.465588 0.341776 1.222993 1.113540 1.977777 0.446611 1.479153 0.955230 1.992164 0.113898 1.375014 0.059260 1.796441 0.549529 1.451646 0.822821 0.184153 0.830995 0.917449 1.204323 1.332702 0.993172 0.476637 0.152682 0.285363 1.211807 1.922965 1.934074 0.639385 1.616893 0.230624 1.048187 1.300335 1.518811 0.179696 1.385435 1.756315 0.391503 1.071522 1.058267 0.918446 1.149703 1.296773 1.452377 0.657106 1.424678 0.536336 1.485981 1.611780 0.685035 0.081570 0.627797 1.372075 1.222404 1.169964 1.598122 0.868152 1.372826 0.969303 1.586861 1.193094 0.604224 0.998617 0.464449 0.148345 1.841878 1.782198 1.348866 0.090916 1.094752 0.710300 0.820593 1.392694 1.514436 0.049760 1.558012 1.165815 1.487314 0.076812 1.896177 1.104849 0.595775 1.855654 1.593410 0.247419 1.353710 0.594589 0.610661 1.819899 0.938600 0.733465 1.567730 0.600698 0.773170 0.184194 0.659368 0.319562 0.537696 0.610429 1.447619 1.265473 0.841708 1.485819 0.127545 1.328769 1.079928 0.763531 0.772097 1.829006 1.877480 1.871926)
+	11.308873 #(0.000000 0.106229 0.367548 0.759703 1.450113 0.465588 0.341776 1.222993 1.113540 1.977777 0.446611 1.479153 0.955230 1.992164 0.113898 1.375014 0.059260 1.796441 0.549529 1.451646 0.822821 0.184153 0.830995 0.917449 1.204323 1.332702 0.993172 0.476637 0.152682 0.285363 1.211807 1.922965 1.934074 0.639385 1.616893 0.230624 1.048187 1.300335 1.518811 0.179696 1.385435 1.756315 0.391503 1.071522 1.058267 0.918446 1.149703 1.296773 1.452377 0.657106 1.424678 0.536336 1.485981 1.611780 0.685035 0.081570 0.627797 1.372075 1.222404 1.169964 1.598122 0.868152 1.372826 0.969303 1.586861 1.193094 0.604224 0.998617 0.464449 0.148345 1.841878 1.782198 1.348866 0.090916 1.094752 0.710300 0.820593 1.392694 1.514436 0.049760 1.558012 1.165815 1.487314 0.076812 1.896177 1.104849 0.595775 1.855654 1.593410 0.247419 1.353710 0.594589 0.610661 1.819899 0.938600 0.733465 1.567730 0.600698 0.773170 0.184194 0.659368 0.319562 0.537696 0.610429 1.447619 1.265473 0.841708 1.485819 0.127545 1.328769 1.079928 0.763531 0.772097 1.829006 1.877480 1.871926)
       )
 
 ;;; 117 even --------------------------------------------------------------------------------
-(vector 117 14.875072951405 (fv 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0)
+(vector 117 14.875072951405 #(0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0)
 
       ;; ce: 
-	11.316924 (fv 0.000000 0.002007 0.781183 0.142859 1.136983 0.564897 1.668822 1.434278 0.786253 -0.066154 0.611443 0.995393 0.251112 1.435273 1.364551 0.525535 1.314966 0.129127 0.479417 1.253995 -0.066213 1.791978 1.010496 1.762957 1.001915 0.214345 0.247689 0.903489 0.260750 0.253476 1.207167 1.205379 1.535712 0.678624 0.281388 0.707771 0.067718 0.139190 1.072777 -0.486251 1.036395 0.468802 1.185352 1.038535 0.280173 0.909530 -0.484113 1.287468 1.260568 1.711487 0.150804 1.583879 0.090810 1.204628 1.205628 1.363904 1.302202 -0.374153 1.893817 1.633143 0.456452 1.096868 0.228741 1.451713 1.797254 1.457252 0.043295 1.213733 1.209057 1.602790 0.068325 1.156775 0.622551 0.595184 1.038306 1.138842 -0.234118 1.017885 1.021316 0.185827 1.543882 1.771287 1.232077 0.638733 0.782279 1.727494 1.416897 0.927851 0.310771 0.940398 0.359593 0.479087 0.049395 0.127472 0.206640 1.096147 1.150359 1.659289 0.531691 1.180395 -0.391853 1.508862 1.232699 -0.058238 1.293947 -0.476640 -0.441677 -0.000097 0.976133 1.008107 0.426436 0.349033 0.468049 0.890361 0.742074 -0.282223 0.097574)
+	11.316924 #(0.000000 0.002007 0.781183 0.142859 1.136983 0.564897 1.668822 1.434278 0.786253 -0.066154 0.611443 0.995393 0.251112 1.435273 1.364551 0.525535 1.314966 0.129127 0.479417 1.253995 -0.066213 1.791978 1.010496 1.762957 1.001915 0.214345 0.247689 0.903489 0.260750 0.253476 1.207167 1.205379 1.535712 0.678624 0.281388 0.707771 0.067718 0.139190 1.072777 -0.486251 1.036395 0.468802 1.185352 1.038535 0.280173 0.909530 -0.484113 1.287468 1.260568 1.711487 0.150804 1.583879 0.090810 1.204628 1.205628 1.363904 1.302202 -0.374153 1.893817 1.633143 0.456452 1.096868 0.228741 1.451713 1.797254 1.457252 0.043295 1.213733 1.209057 1.602790 0.068325 1.156775 0.622551 0.595184 1.038306 1.138842 -0.234118 1.017885 1.021316 0.185827 1.543882 1.771287 1.232077 0.638733 0.782279 1.727494 1.416897 0.927851 0.310771 0.940398 0.359593 0.479087 0.049395 0.127472 0.206640 1.096147 1.150359 1.659289 0.531691 1.180395 -0.391853 1.508862 1.232699 -0.058238 1.293947 -0.476640 -0.441677 -0.000097 0.976133 1.008107 0.426436 0.349033 0.468049 0.890361 0.742074 -0.282223 0.097574)
       )
 
 ;;; 118 even --------------------------------------------------------------------------------
-(vector 118 14.774983755641 (fv 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1)
+(vector 118 14.774983755641 #(0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1)
 
       ;; ce:
-	11.484440 (fv 0.000000 0.001991 1.371443 1.203612 1.612576 0.004093 1.549674 1.288096 -0.387029 0.195003 0.810853 0.270601 -0.577973 0.504742 1.563436 0.486759 1.262262 1.570710 0.506761 0.593681 0.979316 0.335707 1.012168 1.408672 1.854537 -0.158648 0.922395 1.542523 0.986042 0.834203 1.587297 -0.259646 0.182780 1.551059 1.155567 -0.257572 1.455112 0.260440 0.601953 0.584384 0.049890 0.147201 0.144045 0.167346 1.932438 -0.017361 0.127366 1.610439 0.342924 0.013626 1.817380 1.463720 1.349166 1.704788 0.073700 0.915288 0.862503 0.591911 -0.314143 1.485517 0.827715 -0.237036 1.912130 0.274385 1.072007 0.283372 1.321692 0.776602 1.550269 0.993130 0.787661 0.571393 0.826289 1.556852 0.493665 1.623055 1.585319 1.166393 1.153368 1.675993 0.390711 -0.188185 1.283768 1.613360 0.827291 0.287448 0.106800 0.359659 1.804631 1.116403 1.085383 0.798175 1.148482 1.482094 1.397430 -0.132223 0.799212 -0.083458 -0.185498 0.780581 -0.264041 0.816859 1.276724 0.301164 1.464050 0.647926 1.027415 1.036757 -0.070219 0.009504 1.202438 0.566235 0.360100 -0.509218 0.735525 1.198215 0.064044 0.933335)
+	11.484440 #(0.000000 0.001991 1.371443 1.203612 1.612576 0.004093 1.549674 1.288096 -0.387029 0.195003 0.810853 0.270601 -0.577973 0.504742 1.563436 0.486759 1.262262 1.570710 0.506761 0.593681 0.979316 0.335707 1.012168 1.408672 1.854537 -0.158648 0.922395 1.542523 0.986042 0.834203 1.587297 -0.259646 0.182780 1.551059 1.155567 -0.257572 1.455112 0.260440 0.601953 0.584384 0.049890 0.147201 0.144045 0.167346 1.932438 -0.017361 0.127366 1.610439 0.342924 0.013626 1.817380 1.463720 1.349166 1.704788 0.073700 0.915288 0.862503 0.591911 -0.314143 1.485517 0.827715 -0.237036 1.912130 0.274385 1.072007 0.283372 1.321692 0.776602 1.550269 0.993130 0.787661 0.571393 0.826289 1.556852 0.493665 1.623055 1.585319 1.166393 1.153368 1.675993 0.390711 -0.188185 1.283768 1.613360 0.827291 0.287448 0.106800 0.359659 1.804631 1.116403 1.085383 0.798175 1.148482 1.482094 1.397430 -0.132223 0.799212 -0.083458 -0.185498 0.780581 -0.264041 0.816859 1.276724 0.301164 1.464050 0.647926 1.027415 1.036757 -0.070219 0.009504 1.202438 0.566235 0.360100 -0.509218 0.735525 1.198215 0.064044 0.933335)
       )
 
 ;;; 119 even --------------------------------------------------------------------------------
-(vector 119 14.971 (fv 0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1)
+(vector 119 14.971 #(0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1)
 
       ;; ce:
-	11.482774 (fv 0.000000 0.022508 -0.154621 -0.133560 0.019055 0.044006 0.744199 -0.189660 1.646970 0.323873 1.389900 0.872285 1.714451 0.465026 0.101347 1.045318 0.619662 0.299667 0.695492 1.761299 -0.465991 1.247091 0.360217 0.709249 0.270723 1.861018 1.538710 1.394055 1.300550 0.683046 1.420419 1.591103 0.068117 0.694826 0.315654 0.206747 0.551524 0.669546 0.407597 0.609362 1.957764 1.313475 1.269191 1.535059 -0.453483 1.127112 -0.438414 1.098010 0.925063 1.295295 0.349547 1.800021 1.265884 1.210725 1.261945 1.409059 0.031987 1.064471 1.087820 0.131065 1.230087 1.008698 0.646880 1.108562 0.465537 -0.286867 1.491020 1.274669 0.240579 1.517428 0.852795 0.970665 0.563004 0.179967 1.049271 1.080429 0.558118 -0.026181 0.946833 1.033681 0.158731 0.889882 0.983418 -0.020663 1.724961 1.892566 0.743055 1.647217 1.582049 1.007387 1.541602 0.779919 1.494250 -0.227797 0.081916 -0.223533 0.250776 1.270562 1.106978 1.124428 0.217158 1.341937 0.121564 0.628868 -0.092377 1.005391 0.266805 1.036087 -0.286050 1.835950 0.190028 0.634731 1.031073 0.250385 1.062823 1.900473 0.065255 0.789889 1.186094)
+	11.482774 #(0.000000 0.022508 -0.154621 -0.133560 0.019055 0.044006 0.744199 -0.189660 1.646970 0.323873 1.389900 0.872285 1.714451 0.465026 0.101347 1.045318 0.619662 0.299667 0.695492 1.761299 -0.465991 1.247091 0.360217 0.709249 0.270723 1.861018 1.538710 1.394055 1.300550 0.683046 1.420419 1.591103 0.068117 0.694826 0.315654 0.206747 0.551524 0.669546 0.407597 0.609362 1.957764 1.313475 1.269191 1.535059 -0.453483 1.127112 -0.438414 1.098010 0.925063 1.295295 0.349547 1.800021 1.265884 1.210725 1.261945 1.409059 0.031987 1.064471 1.087820 0.131065 1.230087 1.008698 0.646880 1.108562 0.465537 -0.286867 1.491020 1.274669 0.240579 1.517428 0.852795 0.970665 0.563004 0.179967 1.049271 1.080429 0.558118 -0.026181 0.946833 1.033681 0.158731 0.889882 0.983418 -0.020663 1.724961 1.892566 0.743055 1.647217 1.582049 1.007387 1.541602 0.779919 1.494250 -0.227797 0.081916 -0.223533 0.250776 1.270562 1.106978 1.124428 0.217158 1.341937 0.121564 0.628868 -0.092377 1.005391 0.266805 1.036087 -0.286050 1.835950 0.190028 0.634731 1.031073 0.250385 1.062823 1.900473 0.065255 0.789889 1.186094)
       )
 
 ;;; 120 even --------------------------------------------------------------------------------
-(vector 120 15.153992567168 (fv 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 0)
+(vector 120 15.153992567168 #(0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 0)
 
       ;; ce:
-	11.467293 (fv 0.000000 0.182387 0.991318 1.555550 0.388952 1.165472 1.861486 0.514097 1.467680 0.222754 0.972121 1.805786 0.710465 1.475951 0.467146 1.464916 0.222083 1.170792 0.137691 0.926627 1.940353 0.964985 0.072695 1.174272 0.187090 1.145640 0.255557 1.524936 0.697660 1.793860 0.870660 1.991349 1.164698 0.214289 1.427601 0.920631 0.315825 1.506380 0.771158 0.081551 1.397459 0.660219 0.101946 1.376912 0.742252 1.975042 1.384246 0.994395 0.741688 0.116508 1.476904 0.995545 0.574556 -0.050092 1.395747 1.037641 0.654167 0.178367 0.000799 1.661003 1.401198 1.027447 0.549822 0.319024 -0.009775 1.643655 1.451741 1.190761 1.247596 1.019397 0.814792 0.637301 0.619820 0.528955 0.206546 0.210086 1.907606 0.080551 1.852358 0.220977 0.039775 0.240556 0.118697 0.201230 0.183490 0.410415 0.195004 0.346621 0.384871 0.552316 0.919228 0.966578 1.294194 1.669482 1.481782 1.816544 0.045277 0.459121 0.610971 0.884884 1.313099 1.767978 0.251484 0.557317 0.967847 1.457578 1.608185 1.982656 0.491182 1.030233 1.763557 0.343009 0.756305 1.429088 0.071947 0.646318 1.100378 0.016785 0.234469 0.966926)
+	11.467293 #(0.000000 0.182387 0.991318 1.555550 0.388952 1.165472 1.861486 0.514097 1.467680 0.222754 0.972121 1.805786 0.710465 1.475951 0.467146 1.464916 0.222083 1.170792 0.137691 0.926627 1.940353 0.964985 0.072695 1.174272 0.187090 1.145640 0.255557 1.524936 0.697660 1.793860 0.870660 1.991349 1.164698 0.214289 1.427601 0.920631 0.315825 1.506380 0.771158 0.081551 1.397459 0.660219 0.101946 1.376912 0.742252 1.975042 1.384246 0.994395 0.741688 0.116508 1.476904 0.995545 0.574556 -0.050092 1.395747 1.037641 0.654167 0.178367 0.000799 1.661003 1.401198 1.027447 0.549822 0.319024 -0.009775 1.643655 1.451741 1.190761 1.247596 1.019397 0.814792 0.637301 0.619820 0.528955 0.206546 0.210086 1.907606 0.080551 1.852358 0.220977 0.039775 0.240556 0.118697 0.201230 0.183490 0.410415 0.195004 0.346621 0.384871 0.552316 0.919228 0.966578 1.294194 1.669482 1.481782 1.816544 0.045277 0.459121 0.610971 0.884884 1.313099 1.767978 0.251484 0.557317 0.967847 1.457578 1.608185 1.982656 0.491182 1.030233 1.763557 0.343009 0.756305 1.429088 0.071947 0.646318 1.100378 0.016785 0.234469 0.966926)
       )
 
 ;;; 121 even --------------------------------------------------------------------------------
-(vector 121 14.652157793709 (fv 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1)
+(vector 121 14.652157793709 #(0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1)
 
       ;; ce:
-	11.519858 (fv 0.000000 0.011378 1.753896 1.437136 0.631135 0.114781 0.660482 1.334498 0.581894 0.089402 1.905979 0.990187 0.248688 0.037998 1.898481 0.142274 0.776484 1.706556 0.191753 0.338054 1.318431 0.126497 0.601712 -0.255350 -0.163162 0.402669 1.476694 -0.235785 0.342102 -0.362582 1.698550 0.968284 0.940716 1.711626 1.326298 1.313163 0.329811 1.359487 0.105165 0.702440 0.022566 -0.069577 1.342187 0.008210 1.716840 0.240520 -0.171785 1.502743 1.676402 1.248370 0.723049 1.865376 0.001307 0.034537 0.684465 1.516715 0.492834 1.116078 0.672438 1.182471 0.641149 0.373795 0.379475 0.145636 0.762178 0.433641 0.347370 0.948832 -0.132296 -0.133379 1.190338 1.266604 1.009701 0.238209 0.752479 1.596905 -0.296398 -0.192578 0.605136 0.075081 1.420344 0.466284 -0.288768 1.297330 1.689017 1.567153 1.185252 0.260951 0.236638 1.431783 0.599599 1.509650 0.653104 0.899471 1.457027 1.068607 0.961380 1.256645 0.033616 -0.139517 0.092125 1.417841 1.213189 1.821992 1.761054 0.238734 0.417918 0.642844 -0.104823 0.081427 0.065359 0.670607 1.054994 1.082441 -0.176585 1.119180 -0.224101 0.108660 -0.203752 0.470242 1.351870)
+	11.519858 #(0.000000 0.011378 1.753896 1.437136 0.631135 0.114781 0.660482 1.334498 0.581894 0.089402 1.905979 0.990187 0.248688 0.037998 1.898481 0.142274 0.776484 1.706556 0.191753 0.338054 1.318431 0.126497 0.601712 -0.255350 -0.163162 0.402669 1.476694 -0.235785 0.342102 -0.362582 1.698550 0.968284 0.940716 1.711626 1.326298 1.313163 0.329811 1.359487 0.105165 0.702440 0.022566 -0.069577 1.342187 0.008210 1.716840 0.240520 -0.171785 1.502743 1.676402 1.248370 0.723049 1.865376 0.001307 0.034537 0.684465 1.516715 0.492834 1.116078 0.672438 1.182471 0.641149 0.373795 0.379475 0.145636 0.762178 0.433641 0.347370 0.948832 -0.132296 -0.133379 1.190338 1.266604 1.009701 0.238209 0.752479 1.596905 -0.296398 -0.192578 0.605136 0.075081 1.420344 0.466284 -0.288768 1.297330 1.689017 1.567153 1.185252 0.260951 0.236638 1.431783 0.599599 1.509650 0.653104 0.899471 1.457027 1.068607 0.961380 1.256645 0.033616 -0.139517 0.092125 1.417841 1.213189 1.821992 1.761054 0.238734 0.417918 0.642844 -0.104823 0.081427 0.065359 0.670607 1.054994 1.082441 -0.176585 1.119180 -0.224101 0.108660 -0.203752 0.470242 1.351870)
       )
 
 ;;; 122 even --------------------------------------------------------------------------------
-(vector 122 15.057187309653 (fv 0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1)
+(vector 122 15.057187309653 #(0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1)
 
       ;; ce:
-	11.608575 (fv 0.000000 0.491043 0.007498 0.791398 0.660542 0.960014 1.233279 1.608131 1.227878 1.325414 0.833262 0.826707 1.074054 0.805872 0.453534 0.680408 0.163876 1.857437 1.971814 1.942244 1.528127 1.170281 1.451447 1.612886 0.379280 0.469353 0.748640 0.861019 0.289879 1.554726 0.245277 0.578277 0.944303 0.525039 0.312641 0.462849 0.710444 0.524042 0.736659 1.743905 0.289146 1.405383 1.146345 1.959424 1.266837 0.105168 0.264372 0.716079 0.180416 0.676462 1.349909 0.242201 1.112324 1.903652 0.096097 0.298665 1.938506 0.907637 0.445138 0.676772 1.018566 1.538692 1.890411 1.037889 1.754475 0.454828 0.375080 1.028535 1.584256 0.107387 0.732227 1.941438 0.410085 0.465514 0.392267 1.461968 0.104792 1.428078 0.866762 0.928264 0.963879 0.060101 0.001979 1.538408 1.110694 0.832374 1.363340 1.030944 1.856655 0.680542 1.663245 1.268139 0.925891 1.913766 1.292282 1.484272 0.663172 0.251878 0.695143 1.443461 0.967688 0.177908 1.246199 1.066133 0.923551 1.951433 0.308206 1.532986 1.662559 1.880618 0.612432 0.084712 1.836918 1.410469 0.509104 0.078690 0.955183 1.487132 0.007102 1.473132 0.898543 1.722166)
+	11.608575 #(0.000000 0.491043 0.007498 0.791398 0.660542 0.960014 1.233279 1.608131 1.227878 1.325414 0.833262 0.826707 1.074054 0.805872 0.453534 0.680408 0.163876 1.857437 1.971814 1.942244 1.528127 1.170281 1.451447 1.612886 0.379280 0.469353 0.748640 0.861019 0.289879 1.554726 0.245277 0.578277 0.944303 0.525039 0.312641 0.462849 0.710444 0.524042 0.736659 1.743905 0.289146 1.405383 1.146345 1.959424 1.266837 0.105168 0.264372 0.716079 0.180416 0.676462 1.349909 0.242201 1.112324 1.903652 0.096097 0.298665 1.938506 0.907637 0.445138 0.676772 1.018566 1.538692 1.890411 1.037889 1.754475 0.454828 0.375080 1.028535 1.584256 0.107387 0.732227 1.941438 0.410085 0.465514 0.392267 1.461968 0.104792 1.428078 0.866762 0.928264 0.963879 0.060101 0.001979 1.538408 1.110694 0.832374 1.363340 1.030944 1.856655 0.680542 1.663245 1.268139 0.925891 1.913766 1.292282 1.484272 0.663172 0.251878 0.695143 1.443461 0.967688 0.177908 1.246199 1.066133 0.923551 1.951433 0.308206 1.532986 1.662559 1.880618 0.612432 0.084712 1.836918 1.410469 0.509104 0.078690 0.955183 1.487132 0.007102 1.473132 0.898543 1.722166)
       )
 
 ;;; 123 even --------------------------------------------------------------------------------
-(vector 123 15.156582832336 (fv 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0)
+(vector 123 15.156582832336 #(0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0)
 
       ;; ce:
-	11.636238 (fv 0.000000 -0.006745 1.718129 0.124324 0.694087 1.248162 1.264742 -0.205335 0.401180 1.175941 1.275199 0.664232 1.306473 1.775017 0.032088 1.172990 1.182530 1.684652 1.496052 1.018965 1.419875 1.724105 0.881080 0.365436 1.623371 0.118184 1.144470 1.090686 0.455215 1.110091 1.537843 1.409976 0.722528 0.766713 0.291253 1.154526 0.688621 0.079128 0.455767 1.072502 0.449509 1.072583 0.529271 0.933123 1.665962 0.456257 0.965966 0.378656 1.446789 1.599052 -0.405591 0.510787 1.741784 0.047873 1.179439 0.534603 0.738060 1.583394 -0.036662 0.033912 0.990276 0.359185 -0.041714 1.309428 0.206155 0.615264 1.013822 0.916642 1.092385 1.276567 0.943657 1.397941 1.325784 1.841099 0.255550 0.983848 0.698027 0.630229 0.444618 1.485280 0.538087 1.172707 0.510703 0.139282 1.060931 1.974722 0.748366 1.241445 1.282543 1.643915 -0.055670 1.226488 1.259535 1.054944 0.867004 1.180445 0.871590 -0.304557 0.449098 0.105044 0.415180 1.325658 1.915647 1.593801 1.274805 -0.206650 -0.888906 0.385364 0.203928 0.267603 1.679470 1.529346 0.775016 1.650475 0.752800 0.231942 -0.128889 1.695246 -0.352686 0.872132 -0.113288 1.107634 0.969190)
+	11.636238 #(0.000000 -0.006745 1.718129 0.124324 0.694087 1.248162 1.264742 -0.205335 0.401180 1.175941 1.275199 0.664232 1.306473 1.775017 0.032088 1.172990 1.182530 1.684652 1.496052 1.018965 1.419875 1.724105 0.881080 0.365436 1.623371 0.118184 1.144470 1.090686 0.455215 1.110091 1.537843 1.409976 0.722528 0.766713 0.291253 1.154526 0.688621 0.079128 0.455767 1.072502 0.449509 1.072583 0.529271 0.933123 1.665962 0.456257 0.965966 0.378656 1.446789 1.599052 -0.405591 0.510787 1.741784 0.047873 1.179439 0.534603 0.738060 1.583394 -0.036662 0.033912 0.990276 0.359185 -0.041714 1.309428 0.206155 0.615264 1.013822 0.916642 1.092385 1.276567 0.943657 1.397941 1.325784 1.841099 0.255550 0.983848 0.698027 0.630229 0.444618 1.485280 0.538087 1.172707 0.510703 0.139282 1.060931 1.974722 0.748366 1.241445 1.282543 1.643915 -0.055670 1.226488 1.259535 1.054944 0.867004 1.180445 0.871590 -0.304557 0.449098 0.105044 0.415180 1.325658 1.915647 1.593801 1.274805 -0.206650 -0.888906 0.385364 0.203928 0.267603 1.679470 1.529346 0.775016 1.650475 0.752800 0.231942 -0.128889 1.695246 -0.352686 0.872132 -0.113288 1.107634 0.969190)
       )
 
 ;;; 124 even --------------------------------------------------------------------------------
-(vector 124 15.192802705519 (fv 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 0 1 0)
+(vector 124 15.192802705519 #(0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 0 1 0)
 
       ;; ce:
-	11.657070 (fv 0.000000 -0.014444 0.618588 1.072923 1.770483 0.269156 0.799491 1.415133 0.042486 0.667402 1.107625 1.860582 0.629761 1.228415 0.069647 0.757140 1.477152 0.235584 0.874179 1.620964 0.498598 1.283127 0.032336 0.931298 1.753048 0.690202 1.655180 0.637473 1.388106 0.380043 1.352876 0.417570 1.513619 0.398780 1.331736 0.297986 1.356056 0.723808 1.880303 1.075552 0.270324 1.454538 0.409485 1.419750 0.727467 0.088163 1.085380 0.180158 1.411841 0.476674 0.009315 1.487690 0.712294 -0.024891 1.362496 0.659010 -0.191074 1.370827 0.842745 0.281346 1.600375 1.056928 0.756127 0.303601 1.748097 1.271638 0.793604 0.293922 -0.112046 1.276835 1.265355 0.825565 0.530280 0.127474 1.794406 1.661127 1.499821 1.002415 0.662420 0.351459 0.106647 -0.108853 1.731304 1.778120 1.591760 1.488839 1.111393 1.249609 0.941574 1.119732 0.633391 0.859266 0.602796 0.706230 0.723444 0.862387 0.960018 1.160855 0.914474 1.092081 1.010153 1.292261 1.124565 1.486704 1.752791 1.765950 0.121592 0.301316 0.732598 0.775797 0.931505 1.227451 1.354358 1.806530 0.301686 0.668653 0.912777 1.521847 -0.005389 0.243631 0.695894 1.356048 1.421601 -0.009388)
+	11.657070 #(0.000000 -0.014444 0.618588 1.072923 1.770483 0.269156 0.799491 1.415133 0.042486 0.667402 1.107625 1.860582 0.629761 1.228415 0.069647 0.757140 1.477152 0.235584 0.874179 1.620964 0.498598 1.283127 0.032336 0.931298 1.753048 0.690202 1.655180 0.637473 1.388106 0.380043 1.352876 0.417570 1.513619 0.398780 1.331736 0.297986 1.356056 0.723808 1.880303 1.075552 0.270324 1.454538 0.409485 1.419750 0.727467 0.088163 1.085380 0.180158 1.411841 0.476674 0.009315 1.487690 0.712294 -0.024891 1.362496 0.659010 -0.191074 1.370827 0.842745 0.281346 1.600375 1.056928 0.756127 0.303601 1.748097 1.271638 0.793604 0.293922 -0.112046 1.276835 1.265355 0.825565 0.530280 0.127474 1.794406 1.661127 1.499821 1.002415 0.662420 0.351459 0.106647 -0.108853 1.731304 1.778120 1.591760 1.488839 1.111393 1.249609 0.941574 1.119732 0.633391 0.859266 0.602796 0.706230 0.723444 0.862387 0.960018 1.160855 0.914474 1.092081 1.010153 1.292261 1.124565 1.486704 1.752791 1.765950 0.121592 0.301316 0.732598 0.775797 0.931505 1.227451 1.354358 1.806530 0.301686 0.668653 0.912777 1.521847 -0.005389 0.243631 0.695894 1.356048 1.421601 -0.009388)
       )
 
 ;;; 125 even --------------------------------------------------------------------------------
-(vector 125 15.340427254326 (fv 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0)
+(vector 125 15.340427254326 #(0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0)
 
       ;; ce:
-	11.726117 (fv 0.000000 -0.030799 0.144449 1.728737 0.676919 0.980768 0.920869 0.523856 0.255848 1.651421 0.139364 0.110259 -0.007857 -0.065476 0.898902 0.948218 0.041888 0.431499 0.955394 1.279597 0.899810 0.236632 1.338434 0.051979 0.022413 1.076247 0.455727 1.395710 0.537276 1.454562 -0.640673 1.646766 0.563227 0.468669 0.349014 0.207631 1.436456 -0.313434 1.039871 1.394849 1.334026 0.410015 0.714625 0.314535 0.295044 0.730112 0.878789 0.469330 0.349941 1.427732 0.501996 1.482747 1.311352 1.023386 -0.133711 0.934640 1.777275 0.139714 0.307620 0.411617 0.680605 1.805628 0.987833 -0.006267 1.325295 0.129226 0.029571 -0.131946 1.571497 0.134896 1.855074 0.957063 1.276873 0.033353 0.738862 1.196621 0.702473 1.212401 0.334974 0.594964 -0.391144 1.491428 1.659733 1.324319 0.593336 1.121378 1.836235 -0.494188 -0.410122 0.669230 1.852484 1.550441 0.612411 1.088978 0.233243 0.429977 0.213254 1.111633 0.529727 1.280152 1.687453 0.208804 0.661537 0.543046 1.373269 -0.302027 0.236049 0.167939 1.751438 0.754446 0.306753 -0.393681 0.981979 0.613716 0.543141 0.783701 1.211717 0.696576 0.743400 0.902651 1.308022 0.648265 1.051117 0.596115 0.465417)
+	11.726117 #(0.000000 -0.030799 0.144449 1.728737 0.676919 0.980768 0.920869 0.523856 0.255848 1.651421 0.139364 0.110259 -0.007857 -0.065476 0.898902 0.948218 0.041888 0.431499 0.955394 1.279597 0.899810 0.236632 1.338434 0.051979 0.022413 1.076247 0.455727 1.395710 0.537276 1.454562 -0.640673 1.646766 0.563227 0.468669 0.349014 0.207631 1.436456 -0.313434 1.039871 1.394849 1.334026 0.410015 0.714625 0.314535 0.295044 0.730112 0.878789 0.469330 0.349941 1.427732 0.501996 1.482747 1.311352 1.023386 -0.133711 0.934640 1.777275 0.139714 0.307620 0.411617 0.680605 1.805628 0.987833 -0.006267 1.325295 0.129226 0.029571 -0.131946 1.571497 0.134896 1.855074 0.957063 1.276873 0.033353 0.738862 1.196621 0.702473 1.212401 0.334974 0.594964 -0.391144 1.491428 1.659733 1.324319 0.593336 1.121378 1.836235 -0.494188 -0.410122 0.669230 1.852484 1.550441 0.612411 1.088978 0.233243 0.429977 0.213254 1.111633 0.529727 1.280152 1.687453 0.208804 0.661537 0.543046 1.373269 -0.302027 0.236049 0.167939 1.751438 0.754446 0.306753 -0.393681 0.981979 0.613716 0.543141 0.783701 1.211717 0.696576 0.743400 0.902651 1.308022 0.648265 1.051117 0.596115 0.465417)
       )
 
 ;;; 126 even --------------------------------------------------------------------------------
-(vector 126 15.28212621738 (fv 0 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 1 1)
+(vector 126 15.28212621738 #(0 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 1 1)
 
       ;; ce:
-	11.728732 (fv 0.000000 0.080423 0.859652 1.251285 0.001006 0.708480 1.329479 1.910986 0.575680 1.212005 1.941153 0.634379 1.324750 0.149467 1.036506 1.708281 0.612012 1.577838 0.338405 1.197595 0.029554 0.897812 1.895059 0.811840 1.778431 0.660286 1.607791 0.800800 1.947497 0.840295 1.874911 0.873100 1.809637 0.999296 0.039834 1.184996 0.352552 1.522062 0.693733 0.018959 1.247028 0.457540 1.699479 1.003229 -0.011631 1.387625 0.675778 1.873479 1.137263 0.739657 0.006673 1.350424 0.946270 0.348539 1.590673 1.018988 0.508851 1.844396 1.236918 0.897127 0.426111 1.973108 1.634669 1.217265 0.734120 0.464551 1.899258 1.421045 1.113676 0.840738 0.386615 0.153879 1.864697 1.811230 1.560296 1.258544 1.008246 0.775514 0.569961 0.379626 0.120794 0.073632 1.824999 1.979635 1.804273 1.934045 1.809824 1.823348 1.667350 1.525160 1.703620 1.223510 1.668539 1.353060 1.680931 1.768624 1.959157 0.014225 0.272244 0.168722 0.385113 0.365860 0.784448 0.739738 0.967615 1.309874 1.705334 0.092760 0.302680 0.844130 0.978941 1.342601 1.583162 1.784704 0.228093 0.608194 1.171628 1.840667 0.207453 0.811900 1.464070 1.557525 0.111382 0.715963 1.219826 1.691486)
+	11.728732 #(0.000000 0.080423 0.859652 1.251285 0.001006 0.708480 1.329479 1.910986 0.575680 1.212005 1.941153 0.634379 1.324750 0.149467 1.036506 1.708281 0.612012 1.577838 0.338405 1.197595 0.029554 0.897812 1.895059 0.811840 1.778431 0.660286 1.607791 0.800800 1.947497 0.840295 1.874911 0.873100 1.809637 0.999296 0.039834 1.184996 0.352552 1.522062 0.693733 0.018959 1.247028 0.457540 1.699479 1.003229 -0.011631 1.387625 0.675778 1.873479 1.137263 0.739657 0.006673 1.350424 0.946270 0.348539 1.590673 1.018988 0.508851 1.844396 1.236918 0.897127 0.426111 1.973108 1.634669 1.217265 0.734120 0.464551 1.899258 1.421045 1.113676 0.840738 0.386615 0.153879 1.864697 1.811230 1.560296 1.258544 1.008246 0.775514 0.569961 0.379626 0.120794 0.073632 1.824999 1.979635 1.804273 1.934045 1.809824 1.823348 1.667350 1.525160 1.703620 1.223510 1.668539 1.353060 1.680931 1.768624 1.959157 0.014225 0.272244 0.168722 0.385113 0.365860 0.784448 0.739738 0.967615 1.309874 1.705334 0.092760 0.302680 0.844130 0.978941 1.342601 1.583162 1.784704 0.228093 0.608194 1.171628 1.840667 0.207453 0.811900 1.464070 1.557525 0.111382 0.715963 1.219826 1.691486)
       )
 
 ;;; 127 even --------------------------------------------------------------------------------
-(vector 127 15.237931718393 (fv 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0)
+(vector 127 15.237931718393 #(0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0)
 
       ;; ce:
-	11.791982 (fv 0.000000 -0.006501 0.895946 0.390502 1.267039 0.777220 0.845244 1.619366 1.738905 1.963883 0.834239 -0.095420 1.729892 0.328487 0.839467 -0.107042 0.077371 1.006289 0.934388 1.316468 0.399445 1.446071 0.867321 0.749721 0.310809 0.608045 0.928981 0.860186 0.132975 0.107680 0.035103 0.310673 1.698683 1.209244 1.219344 1.008158 0.868768 0.774429 0.524607 1.259150 0.968654 0.225551 0.670254 0.584349 1.206486 0.849939 0.881353 1.316256 1.223028 -0.051550 1.266841 0.533270 0.307133 0.871408 0.135067 0.350791 1.392175 1.398704 1.054665 1.094835 0.720758 1.235433 1.111126 1.315441 0.540735 1.759697 1.421149 1.220945 1.416174 0.271820 0.476065 0.346906 0.599580 1.865670 -0.010232 0.873428 0.191144 -0.138143 0.473276 0.793750 0.140345 0.466125 0.753788 0.166751 0.509961 1.311817 1.848999 0.485052 0.151803 1.266182 1.022497 -0.055512 1.662000 1.747291 0.161074 0.983665 1.511467 0.958919 1.602506 1.536897 -0.682895 0.108054 0.153831 0.495344 -0.168193 1.039701 1.035352 0.840794 0.198694 1.029171 0.222780 1.379441 0.220019 1.296462 0.080553 0.616328 1.212980 -0.006268 1.810129 0.820776 0.816381 1.107475 0.666818 -0.087937 0.128508 1.246653 0.713705)
+	11.791982 #(0.000000 -0.006501 0.895946 0.390502 1.267039 0.777220 0.845244 1.619366 1.738905 1.963883 0.834239 -0.095420 1.729892 0.328487 0.839467 -0.107042 0.077371 1.006289 0.934388 1.316468 0.399445 1.446071 0.867321 0.749721 0.310809 0.608045 0.928981 0.860186 0.132975 0.107680 0.035103 0.310673 1.698683 1.209244 1.219344 1.008158 0.868768 0.774429 0.524607 1.259150 0.968654 0.225551 0.670254 0.584349 1.206486 0.849939 0.881353 1.316256 1.223028 -0.051550 1.266841 0.533270 0.307133 0.871408 0.135067 0.350791 1.392175 1.398704 1.054665 1.094835 0.720758 1.235433 1.111126 1.315441 0.540735 1.759697 1.421149 1.220945 1.416174 0.271820 0.476065 0.346906 0.599580 1.865670 -0.010232 0.873428 0.191144 -0.138143 0.473276 0.793750 0.140345 0.466125 0.753788 0.166751 0.509961 1.311817 1.848999 0.485052 0.151803 1.266182 1.022497 -0.055512 1.662000 1.747291 0.161074 0.983665 1.511467 0.958919 1.602506 1.536897 -0.682895 0.108054 0.153831 0.495344 -0.168193 1.039701 1.035352 0.840794 0.198694 1.029171 0.222780 1.379441 0.220019 1.296462 0.080553 0.616328 1.212980 -0.006268 1.810129 0.820776 0.816381 1.107475 0.666818 -0.087937 0.128508 1.246653 0.713705)
       )
 
 ;;; 128 even --------------------------------------------------------------------------------
-(vector 128 15.651492555885 (fv 0 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0)
+(vector 128 15.651492555885 #(0 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0)
 
       ;; ce:
-	11.856765 (fv 0.000000 0.002702 1.085974 1.244165 0.302147 1.259231 0.307623 1.789071 0.248647 1.161010 1.314907 0.079451 1.835817 1.698549 1.371220 1.062438 -0.405684 -0.007858 1.415666 0.290877 1.615872 1.200022 1.723864 1.253269 0.379007 0.343005 0.128516 0.302246 -0.164454 0.039402 1.245595 0.229693 0.371762 0.212878 1.130208 0.211997 1.630376 0.731113 -0.271994 0.633039 1.003806 0.078215 0.728092 1.810709 1.419272 0.630789 0.702176 0.258274 1.627944 0.906125 1.142708 1.149739 0.327453 0.775766 1.891018 0.949407 1.868463 0.197100 0.436054 0.455859 1.396494 1.235603 1.184602 0.213251 0.192580 1.964426 0.843243 1.673738 -0.209417 -0.268734 0.946608 0.413048 1.382483 0.177431 0.571412 0.488003 0.422161 0.038021 -0.036166 0.871695 -0.124327 0.115262 1.774007 1.705740 -0.048183 0.114070 0.284773 0.198720 1.083200 1.095261 1.210900 1.153612 1.411655 -0.216841 0.226895 0.871232 1.590562 1.732972 1.482631 1.243964 0.261758 -0.017247 1.413734 0.786022 0.083529 1.333636 0.641441 1.707810 0.335402 0.567273 1.111144 1.682879 0.513761 1.029576 1.342257 1.314503 1.650528 0.559848 0.478412 -0.031753 0.050313 0.117019 1.542665 0.315940 1.287375 1.423028 0.248383 1.516714)
+	11.856765 #(0.000000 0.002702 1.085974 1.244165 0.302147 1.259231 0.307623 1.789071 0.248647 1.161010 1.314907 0.079451 1.835817 1.698549 1.371220 1.062438 -0.405684 -0.007858 1.415666 0.290877 1.615872 1.200022 1.723864 1.253269 0.379007 0.343005 0.128516 0.302246 -0.164454 0.039402 1.245595 0.229693 0.371762 0.212878 1.130208 0.211997 1.630376 0.731113 -0.271994 0.633039 1.003806 0.078215 0.728092 1.810709 1.419272 0.630789 0.702176 0.258274 1.627944 0.906125 1.142708 1.149739 0.327453 0.775766 1.891018 0.949407 1.868463 0.197100 0.436054 0.455859 1.396494 1.235603 1.184602 0.213251 0.192580 1.964426 0.843243 1.673738 -0.209417 -0.268734 0.946608 0.413048 1.382483 0.177431 0.571412 0.488003 0.422161 0.038021 -0.036166 0.871695 -0.124327 0.115262 1.774007 1.705740 -0.048183 0.114070 0.284773 0.198720 1.083200 1.095261 1.210900 1.153612 1.411655 -0.216841 0.226895 0.871232 1.590562 1.732972 1.482631 1.243964 0.261758 -0.017247 1.413734 0.786022 0.083529 1.333636 0.641441 1.707810 0.335402 0.567273 1.111144 1.682879 0.513761 1.029576 1.342257 1.314503 1.650528 0.559848 0.478412 -0.031753 0.050313 0.117019 1.542665 0.315940 1.287375 1.423028 0.248383 1.516714)
       )
 
 ;;; 256 even --------------------------------------------------------------------------------
-(vector 256 24.434719362486 (fv 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1)
+(vector 256 24.434719362486 #(0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1)
 
       ;; ce:
-	16.895858 (fv 0.000000 -0.009189 0.902358 0.365887 -0.111323 -0.780998 -0.023618 -0.522343 0.279380 0.055265 -0.008058 0.474170 0.130008 0.951121 -0.734333 0.844285 0.824339 -0.107239 0.507621 0.164958 -0.496056 -0.789687 0.259333 -0.449818 0.843661 -0.030179 -0.474099 0.774618 -0.182868 0.024412 0.577418 -0.074812 -0.020675 0.192634 -0.599606 -0.070169 -0.948055 -0.992660 0.778395 -0.043578 -0.432579 -0.186685 -0.510874 -0.014069 -0.480270 0.346549 0.508024 0.846868 -0.259984 -0.239547 -0.834355 0.758428 0.757435 0.373609 -0.602450 0.574091 0.372351 0.871018 -1.004894 0.279914 0.796533 0.315579 -0.170724 -0.162430 -0.867211 -0.645076 0.714848 -0.271719 0.114112 0.067143 0.832100 -0.116990 -0.262191 -0.281235 -0.535795 0.830911 -0.182047 0.489779 0.867411 0.246384 -0.008329 -0.604672 0.770953 -0.982833 0.931441 -0.618590 -0.552932 0.209497 -0.183212 0.365740 0.769646 0.703588 -0.289040 -0.817528 -0.369365 0.293481 0.472048 0.790519 -0.426911 0.891352 -0.538143 -0.944128 -0.920976 0.221321 -0.509927 -0.348596 -0.644560 -0.213342 -0.745624 -0.706666 0.930922 -0.848273 -0.242448 -0.036301 0.898791 -0.590640 0.780449 -0.061417 0.458673 -0.691004 -0.831524 0.551686 0.225320 0.474068 0.953196 -0.781398 0.825342 0.760168 0.391595 0.124100 0.860713 -0.055973 0.585971 -0.869796 1.059960 -0.289476 -0.119142 0.020537 -0.912617 0.156202 0.608148 0.008605 -0.492103 -0.103742 0.428971 0.411193 -0.565692 0.935156 -0.112585 0.617223 -0.155032 0.327195 0.230999 -0.493871 -0.157653 0.741876 0.652071 0.725265 -0.509926 -0.435321 0.803678 0.422316 0.647203 -0.330251 -0.717114 -0.003821 -0.171433 0.905326 -0.870296 -0.075782 -0.123811 -0.827857 0.305695 -0.297883 0.361037 0.368875 0.307670 -0.861180 0.111296 0.743619 -0.505788 0.890369 -0.751559 0.768455 0.001867 -0.755119 0.593706 0.249715 0.003021 0.017365 -0.006817 0.077961 0.209405 -0.908703 -0.016914 0.016411 -0.745949 -0.862316 0.805206 -0.373876 -0.644818 0.552974 -0.723400 0.564147 0.221354 0.241461 -0.891285 0.457125 0.981689 -0.591672 -0.034527 -0.765054 -0.120687 0.438528 0.848881 -0.507062 0.069395 0.639313 -0.825275 0.641684 -0.188946 0.565634 -0.791635 -0.287596 -0.132874 -0.202513 0.559214 0.080018 0.796540 0.338441 0.210736 0.641999 0.009248 0.322360 -0.028925 0.697480 0.479428 0.122723 0.885702 -0.174527 0.157389 0.019802 0.207762 -0.007817 -0.188184 0.284891 0.769384 -0.699713 -0.860470 0.816560 0.661637 0.821235 0.090760 0.680062 0.906877 -0.017234)
+	16.895858 #(0.000000 -0.009189 0.902358 0.365887 -0.111323 -0.780998 -0.023618 -0.522343 0.279380 0.055265 -0.008058 0.474170 0.130008 0.951121 -0.734333 0.844285 0.824339 -0.107239 0.507621 0.164958 -0.496056 -0.789687 0.259333 -0.449818 0.843661 -0.030179 -0.474099 0.774618 -0.182868 0.024412 0.577418 -0.074812 -0.020675 0.192634 -0.599606 -0.070169 -0.948055 -0.992660 0.778395 -0.043578 -0.432579 -0.186685 -0.510874 -0.014069 -0.480270 0.346549 0.508024 0.846868 -0.259984 -0.239547 -0.834355 0.758428 0.757435 0.373609 -0.602450 0.574091 0.372351 0.871018 -1.004894 0.279914 0.796533 0.315579 -0.170724 -0.162430 -0.867211 -0.645076 0.714848 -0.271719 0.114112 0.067143 0.832100 -0.116990 -0.262191 -0.281235 -0.535795 0.830911 -0.182047 0.489779 0.867411 0.246384 -0.008329 -0.604672 0.770953 -0.982833 0.931441 -0.618590 -0.552932 0.209497 -0.183212 0.365740 0.769646 0.703588 -0.289040 -0.817528 -0.369365 0.293481 0.472048 0.790519 -0.426911 0.891352 -0.538143 -0.944128 -0.920976 0.221321 -0.509927 -0.348596 -0.644560 -0.213342 -0.745624 -0.706666 0.930922 -0.848273 -0.242448 -0.036301 0.898791 -0.590640 0.780449 -0.061417 0.458673 -0.691004 -0.831524 0.551686 0.225320 0.474068 0.953196 -0.781398 0.825342 0.760168 0.391595 0.124100 0.860713 -0.055973 0.585971 -0.869796 1.059960 -0.289476 -0.119142 0.020537 -0.912617 0.156202 0.608148 0.008605 -0.492103 -0.103742 0.428971 0.411193 -0.565692 0.935156 -0.112585 0.617223 -0.155032 0.327195 0.230999 -0.493871 -0.157653 0.741876 0.652071 0.725265 -0.509926 -0.435321 0.803678 0.422316 0.647203 -0.330251 -0.717114 -0.003821 -0.171433 0.905326 -0.870296 -0.075782 -0.123811 -0.827857 0.305695 -0.297883 0.361037 0.368875 0.307670 -0.861180 0.111296 0.743619 -0.505788 0.890369 -0.751559 0.768455 0.001867 -0.755119 0.593706 0.249715 0.003021 0.017365 -0.006817 0.077961 0.209405 -0.908703 -0.016914 0.016411 -0.745949 -0.862316 0.805206 -0.373876 -0.644818 0.552974 -0.723400 0.564147 0.221354 0.241461 -0.891285 0.457125 0.981689 -0.591672 -0.034527 -0.765054 -0.120687 0.438528 0.848881 -0.507062 0.069395 0.639313 -0.825275 0.641684 -0.188946 0.565634 -0.791635 -0.287596 -0.132874 -0.202513 0.559214 0.080018 0.796540 0.338441 0.210736 0.641999 0.009248 0.322360 -0.028925 0.697480 0.479428 0.122723 0.885702 -0.174527 0.157389 0.019802 0.207762 -0.007817 -0.188184 0.284891 0.769384 -0.699713 -0.860470 0.816560 0.661637 0.821235 0.090760 0.680062 0.906877 -0.017234)
       )
 
 ;;; 512 even --------------------------------------------------------------------------------
-(vector 512 35.776 (fv 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1)
+(vector 512 35.776 #(0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1)
 
       ;; from (try-all :even 512 513 0.0057725498034576  0.26769012113045) = 29.0733
       ;; ce:
-	24.510365 (fv 0.000000 -0.019547 0.424156 1.640830 1.364680 1.818776 1.105842 0.737080 1.188869 0.460419 0.154877 0.614397 1.827954 1.526781 0.018169 1.203682 0.956144 1.444331 0.584264 0.344508 0.856804 -0.002275 1.790988 0.291010 1.439116 1.211881 1.741084 0.845603 0.707294 1.180635 0.339890 0.164786 0.645301 1.820612 1.656940 0.157290 1.307936 1.130965 1.686613 0.833679 0.620052 1.209627 0.322209 0.138398 0.734419 1.838268 1.653494 0.235420 1.341020 1.194471 1.729004 0.905361 0.771623 1.262727 0.487832 0.366383 0.843119 0.069579 1.963835 0.460118 1.649699 1.520680 0.055018 1.185740 1.101098 1.643899 0.752530 0.667948 1.169078 0.382792 0.269771 0.820501 0.061364 1.929744 0.493658 1.740499 1.549752 0.138458 1.334798 1.217842 1.724754 0.932476 0.823652 1.326258 0.605394 0.510375 1.024728 0.340933 0.185795 0.774497 0.036705 1.862931 0.456043 1.668642 1.590302 0.139925 1.318436 1.326961 1.864132 1.011509 1.051965 1.624689 0.808072 0.775618 1.339118 0.606082 0.484361 1.076072 0.379297 0.250899 0.852275 0.110682 0.007792 0.595200 1.830378 1.789905 0.359788 1.659536 1.611286 0.154864 1.497402 1.399711 1.998779 1.270070 1.199870 1.801564 1.085483 1.010139 1.613933 0.921049 0.862702 1.434888 0.750644 0.728545 1.284532 0.570978 0.570652 1.118882 0.422457 0.414420 0.977086 0.320768 0.330042 0.881914 0.218609 0.199085 0.805391 0.088964 0.043485 0.695205 -0.000491 1.966513 0.612316 1.930538 1.950727 0.563038 1.854742 1.879285 0.451929 1.795108 1.794421 0.370361 1.783471 1.745602 0.399279 1.738776 1.661161 0.350902 1.625174 1.614568 0.302843 1.577093 1.678861 0.313770 1.663823 1.660571 0.328157 1.709209 1.610846 0.310206 1.720381 1.669108 0.335355 1.656296 1.693491 0.346281 1.654195 1.699773 0.373651 1.773772 1.752470 0.473140 1.826907 1.822715 0.581620 1.832675 1.919552 0.622630 1.929526 0.005176 0.677897 0.085092 0.090877 0.761048 0.206124 0.205634 0.890197 0.304835 0.339949 1.002646 0.395940 0.448746 1.152273 0.561345 0.581101 1.310704 0.737714 0.744961 1.486545 0.848210 0.931544 1.627529 1.007712 1.110684 1.778206 1.199087 1.278685 -0.040639 1.383705 1.405450 0.148513 1.511196 1.633778 0.391073 1.740722 1.849679 0.658438 0.031218 0.137149 0.870371 0.331222 0.296051 1.070588 0.528400 0.591834 1.345092 0.751955 0.829846 1.642139 1.030239 1.201544 1.943718 1.298486 1.407002 0.143893 1.607481 1.695116 0.415675 1.905744 -0.027620 0.742513 0.206291 0.320377 1.123679 0.506496 0.647078 1.425059 0.880594 0.962991 1.736110 1.225483 1.369479 0.064842 1.600531 1.706861 0.517054 1.973656 0.069623 0.837048 0.295925 0.404900 1.263222 0.684812 0.775618 1.577141 1.057937 1.264522 0.064638 1.531997 1.682245 0.471443 1.922985 0.104388 0.897292 0.423113 0.526550 1.412335 0.758158 0.917306 1.736464 1.285171 1.451805 0.278569 1.745150 1.879876 0.677038 0.183709 0.366812 1.118883 0.736257 0.864386 1.688806 1.159516 1.253423 0.100375 1.645658 1.871576 0.762011 0.249411 0.395560 1.273133 0.699592 0.948774 1.805372 1.338330 1.530595 0.294092 1.900787 0.034538 0.923012 0.390364 0.586314 1.386265 1.030145 1.202559 0.071001 1.609371 1.743831 0.671235 0.194183 0.391537 1.251984 0.751826 1.009573 1.860932 1.448367 1.525073 0.422286 -0.073409 0.262981 1.099563 0.626545 0.818453 1.723102 1.361444 1.531582 0.390953 1.909101 0.215438 1.139977 0.737652 0.881882 1.821234 1.380301 1.618894 0.473317 0.045322 0.250969 1.146414 0.800355 0.959156 1.857842 1.429019 1.673847 0.622261 0.184525 0.502145 1.323715 0.914639 1.172552 0.096636 1.761155 1.977345 0.871966 0.396190 0.668483 1.677724 1.221155 1.466337 0.368967 0.009966 0.302335 1.180746 0.786475 1.025502 -0.022711 1.584463 1.830638 0.746555 0.413840 0.650268 1.656745 1.224810 1.557055 0.513491 0.173029 0.435007 1.290629 0.926051 1.263115 0.272344 1.896521 0.084566 1.048863 0.725520 0.987362 -0.027617 1.571108 1.900984 0.869809 0.386916 0.758635 1.730437 1.409025 1.672233 0.588812 0.243929 0.511763 1.494695 1.169935 1.437757 0.431437 0.111507 0.458811 1.437247 1.136523 1.434884 0.401589 0.040030 0.372128 1.370962 0.999488 1.378913 0.377301 -0.009324 0.355264 1.331258 1.008855 1.339035 0.373593 0.044480 0.312196 1.329497 1.000220 1.342701 0.417261 0.083063 0.411303 1.346062 1.090657 1.409862 0.373501 0.211768 0.447452 1.458597 1.131955 1.458774 0.553807 0.205989 0.569249 1.645656 1.188483 1.668112 0.674809 0.371651 0.732131 1.751447 1.522458 1.904784 0.884407 0.617430 0.990830 0.073047 1.730004 0.133217 1.189522 0.869836 1.203019 0.328634 0.051596 0.424552 1.471161 1.210755 1.549745 0.605989 0.343260 0.768857 1.816839 1.581320 1.934635 1.014299 0.737558 1.116115 0.236955 0.018173 0.380416 1.539634 1.251595 1.652099 0.829587 0.536746 0.936033)
+	24.510365 #(0.000000 -0.019547 0.424156 1.640830 1.364680 1.818776 1.105842 0.737080 1.188869 0.460419 0.154877 0.614397 1.827954 1.526781 0.018169 1.203682 0.956144 1.444331 0.584264 0.344508 0.856804 -0.002275 1.790988 0.291010 1.439116 1.211881 1.741084 0.845603 0.707294 1.180635 0.339890 0.164786 0.645301 1.820612 1.656940 0.157290 1.307936 1.130965 1.686613 0.833679 0.620052 1.209627 0.322209 0.138398 0.734419 1.838268 1.653494 0.235420 1.341020 1.194471 1.729004 0.905361 0.771623 1.262727 0.487832 0.366383 0.843119 0.069579 1.963835 0.460118 1.649699 1.520680 0.055018 1.185740 1.101098 1.643899 0.752530 0.667948 1.169078 0.382792 0.269771 0.820501 0.061364 1.929744 0.493658 1.740499 1.549752 0.138458 1.334798 1.217842 1.724754 0.932476 0.823652 1.326258 0.605394 0.510375 1.024728 0.340933 0.185795 0.774497 0.036705 1.862931 0.456043 1.668642 1.590302 0.139925 1.318436 1.326961 1.864132 1.011509 1.051965 1.624689 0.808072 0.775618 1.339118 0.606082 0.484361 1.076072 0.379297 0.250899 0.852275 0.110682 0.007792 0.595200 1.830378 1.789905 0.359788 1.659536 1.611286 0.154864 1.497402 1.399711 1.998779 1.270070 1.199870 1.801564 1.085483 1.010139 1.613933 0.921049 0.862702 1.434888 0.750644 0.728545 1.284532 0.570978 0.570652 1.118882 0.422457 0.414420 0.977086 0.320768 0.330042 0.881914 0.218609 0.199085 0.805391 0.088964 0.043485 0.695205 -0.000491 1.966513 0.612316 1.930538 1.950727 0.563038 1.854742 1.879285 0.451929 1.795108 1.794421 0.370361 1.783471 1.745602 0.399279 1.738776 1.661161 0.350902 1.625174 1.614568 0.302843 1.577093 1.678861 0.313770 1.663823 1.660571 0.328157 1.709209 1.610846 0.310206 1.720381 1.669108 0.335355 1.656296 1.693491 0.346281 1.654195 1.699773 0.373651 1.773772 1.752470 0.473140 1.826907 1.822715 0.581620 1.832675 1.919552 0.622630 1.929526 0.005176 0.677897 0.085092 0.090877 0.761048 0.206124 0.205634 0.890197 0.304835 0.339949 1.002646 0.395940 0.448746 1.152273 0.561345 0.581101 1.310704 0.737714 0.744961 1.486545 0.848210 0.931544 1.627529 1.007712 1.110684 1.778206 1.199087 1.278685 -0.040639 1.383705 1.405450 0.148513 1.511196 1.633778 0.391073 1.740722 1.849679 0.658438 0.031218 0.137149 0.870371 0.331222 0.296051 1.070588 0.528400 0.591834 1.345092 0.751955 0.829846 1.642139 1.030239 1.201544 1.943718 1.298486 1.407002 0.143893 1.607481 1.695116 0.415675 1.905744 -0.027620 0.742513 0.206291 0.320377 1.123679 0.506496 0.647078 1.425059 0.880594 0.962991 1.736110 1.225483 1.369479 0.064842 1.600531 1.706861 0.517054 1.973656 0.069623 0.837048 0.295925 0.404900 1.263222 0.684812 0.775618 1.577141 1.057937 1.264522 0.064638 1.531997 1.682245 0.471443 1.922985 0.104388 0.897292 0.423113 0.526550 1.412335 0.758158 0.917306 1.736464 1.285171 1.451805 0.278569 1.745150 1.879876 0.677038 0.183709 0.366812 1.118883 0.736257 0.864386 1.688806 1.159516 1.253423 0.100375 1.645658 1.871576 0.762011 0.249411 0.395560 1.273133 0.699592 0.948774 1.805372 1.338330 1.530595 0.294092 1.900787 0.034538 0.923012 0.390364 0.586314 1.386265 1.030145 1.202559 0.071001 1.609371 1.743831 0.671235 0.194183 0.391537 1.251984 0.751826 1.009573 1.860932 1.448367 1.525073 0.422286 -0.073409 0.262981 1.099563 0.626545 0.818453 1.723102 1.361444 1.531582 0.390953 1.909101 0.215438 1.139977 0.737652 0.881882 1.821234 1.380301 1.618894 0.473317 0.045322 0.250969 1.146414 0.800355 0.959156 1.857842 1.429019 1.673847 0.622261 0.184525 0.502145 1.323715 0.914639 1.172552 0.096636 1.761155 1.977345 0.871966 0.396190 0.668483 1.677724 1.221155 1.466337 0.368967 0.009966 0.302335 1.180746 0.786475 1.025502 -0.022711 1.584463 1.830638 0.746555 0.413840 0.650268 1.656745 1.224810 1.557055 0.513491 0.173029 0.435007 1.290629 0.926051 1.263115 0.272344 1.896521 0.084566 1.048863 0.725520 0.987362 -0.027617 1.571108 1.900984 0.869809 0.386916 0.758635 1.730437 1.409025 1.672233 0.588812 0.243929 0.511763 1.494695 1.169935 1.437757 0.431437 0.111507 0.458811 1.437247 1.136523 1.434884 0.401589 0.040030 0.372128 1.370962 0.999488 1.378913 0.377301 -0.009324 0.355264 1.331258 1.008855 1.339035 0.373593 0.044480 0.312196 1.329497 1.000220 1.342701 0.417261 0.083063 0.411303 1.346062 1.090657 1.409862 0.373501 0.211768 0.447452 1.458597 1.131955 1.458774 0.553807 0.205989 0.569249 1.645656 1.188483 1.668112 0.674809 0.371651 0.732131 1.751447 1.522458 1.904784 0.884407 0.617430 0.990830 0.073047 1.730004 0.133217 1.189522 0.869836 1.203019 0.328634 0.051596 0.424552 1.471161 1.210755 1.549745 0.605989 0.343260 0.768857 1.816839 1.581320 1.934635 1.014299 0.737558 1.116115 0.236955 0.018173 0.380416 1.539634 1.251595 1.652099 0.829587 0.536746 0.936033)
       )
 
 ;;; 1024 even --------------------------------------------------------------------------------
-(vector 1024 51.895 (fv 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0)
+(vector 1024 51.895 #(0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0)
 
        ;; ce:
-	34.486667 (fv 0.000000 0.010065 0.257552 0.593803 0.986349 1.354691 1.689002 0.065945 0.448419 0.795563 1.178916 1.585370 1.936149 0.310262 0.750710 1.056729 1.463725 1.825064 0.240816 0.539819 0.934214 1.340840 1.748800 0.092213 0.555713 0.915825 1.311840 1.650847 0.107697 0.477455 0.875194 1.288435 1.748432 0.197793 0.591516 1.015839 1.387092 1.854496 0.260210 0.614591 1.088807 1.497165 1.960609 0.347241 0.837150 1.265241 1.711792 0.103196 0.588662 1.043276 1.427385 1.898809 0.315073 0.790510 1.283232 1.726769 0.124226 0.582532 1.048754 1.444755 1.928781 0.425680 0.899080 1.335881 1.855991 0.327701 0.850115 1.267294 1.746464 0.254433 0.681023 1.221402 1.713475 0.176608 0.633457 1.170011 1.638469 0.136940 0.628672 1.079274 1.611588 0.107068 0.579047 1.125534 1.649825 0.159484 0.714499 1.195717 1.694762 0.283005 0.777095 1.317639 1.818676 0.294685 0.848021 1.366508 1.912960 0.442114 0.974399 1.491097 0.046085 0.607725 1.172318 1.701676 0.262890 0.804042 1.333049 1.847711 0.428372 0.986686 1.556422 0.120990 0.632701 1.249707 1.826221 0.398395 0.969062 1.507301 0.132868 0.725711 1.273823 1.851630 0.403540 1.046615 1.591703 0.182065 0.801530 1.386897 0.003430 0.562296 1.182148 1.798000 0.384640 0.992083 1.618128 0.211791 0.774713 1.389562 -0.001657 0.608366 1.236020 1.865011 0.529780 1.135532 1.738754 0.419570 1.019563 1.624992 0.265061 0.904049 1.533452 0.168181 0.865137 1.479101 0.127557 0.777817 1.390745 0.031342 0.661481 1.347873 -0.028252 0.673301 1.341813 0.012139 0.723533 1.359095 0.015081 0.667348 1.354810 -0.010820 0.651242 1.361901 0.014799 0.676361 1.414902 0.077676 0.777314 1.483046 0.156058 0.835487 1.534362 0.214249 0.944327 1.656367 0.337182 1.061518 1.736952 0.487837 1.221677 1.941805 0.641987 1.334519 0.012624 0.761615 1.493616 0.235055 0.987696 1.681644 0.449481 1.152512 1.880553 0.557489 1.300096 0.093548 0.829304 1.606739 0.333558 1.038662 1.817653 0.564596 1.346595 0.088231 0.789038 1.556219 0.364445 1.109277 1.894547 0.648472 1.394876 0.167696 0.927734 1.744135 0.473122 1.327580 0.053170 0.846408 1.630482 0.424396 1.252576 0.026366 0.794678 1.571738 0.353780 1.148629 -0.009061 0.802059 1.560730 0.388025 1.189760 -0.020908 0.838019 1.634252 0.450483 1.274303 0.061988 0.909080 1.739029 0.567344 1.395698 0.191004 1.056594 1.900321 0.701479 1.570664 0.420443 1.216101 0.035038 0.906051 1.794894 0.619739 1.485033 0.319328 1.177367 0.049998 0.912455 1.796694 0.663275 1.464877 0.322458 1.201076 0.079874 0.975135 1.812753 0.671629 1.550884 0.438265 1.308416 0.227568 1.107771 0.008272 0.852340 1.757258 0.665419 1.573359 0.450697 1.364674 0.288498 1.149330 0.046861 0.927672 1.818815 0.731499 1.703383 0.640630 1.515945 0.404842 1.338883 0.309581 1.223075 0.140786 1.078108 -0.017158 0.933921 1.856585 0.819946 1.718757 0.674573 1.629213 0.552624 1.480565 0.473092 1.440553 0.370780 1.316286 0.261652 1.233065 0.181284 1.136614 0.128844 1.063581 0.043473 0.988622 -0.007730 0.942926 1.896166 0.930670 1.890388 0.822783 1.839642 0.888701 1.829032 0.748117 1.787911 0.785711 1.793168 0.753464 1.768597 0.785917 1.789379 0.746424 1.769933 0.789526 1.789893 0.806228 1.806824 0.845014 1.858918 0.876599 1.887462 0.916183 -0.011424 0.947836 0.026544 1.052806 0.074297 1.092552 0.117837 1.145621 0.172062 1.271069 0.265950 1.343262 0.368273 1.426940 0.471985 1.600258 0.591440 1.643063 0.779963 1.778002 0.823172 1.887460 0.980164 0.056312 1.104881 0.194563 1.270671 0.317598 1.432357 0.527173 1.586831 0.679001 1.710986 0.856576 1.952932 1.034214 0.168860 1.247239 0.332452 1.455153 0.496571 1.598578 0.746454 1.841506 0.980194 0.065850 1.191729 0.313463 1.362280 0.540259 1.674133 0.807281 1.901298 1.046989 0.152754 1.296905 0.437367 1.599457 0.712142 1.832022 1.021052 0.159471 1.255226 0.399699 1.567354 0.776219 1.903366 1.055241 0.221691 1.359842 0.508090 1.682588 0.830923 0.010406 1.164777 0.321654 1.495630 0.648746 1.854778 1.028798 0.224012 1.437178 0.587301 1.746745 0.969426 0.124185 1.311647 0.558251 1.730677 0.926291 0.114111 1.341596 0.557527 1.745728 0.936491 0.127337 1.383134 0.617625 1.786691 1.023246 0.229459 1.472437 0.676585 1.907197 1.123237 0.355057 1.633938 0.880784 0.058692 1.279872 0.552335 1.779394 1.011586 0.276736 1.508029 0.759625 0.024536 1.276380 0.493761 1.728419 1.013811 0.266997 1.523472 0.795713 0.046243 1.307283 0.623236 1.877970 1.148383 0.427672 1.683629 1.001954 0.298274 1.554589 0.835462 0.173731 1.457407 0.693880 -0.034472 1.275602 0.593467 1.866633 1.210093 0.521728 1.772084 1.113712 0.385701 1.695457 1.069859 0.333163 1.607126 0.969652 0.282736 1.586932 0.934788 0.272131 1.571926 0.921386 0.293345 1.575513 0.936770 0.269737 1.574193 0.968165 0.284669 1.613899 0.986360 0.310459 1.654676 0.993511 0.432366 1.747611 1.058842 0.426357 1.800267 1.182611 0.576028 1.923944 1.270340 0.656610 0.044384 1.408707 0.752047 0.170780 1.558617 0.971026 0.315606 1.679451 1.091283 0.469917 1.819954 1.288114 0.668750 0.054741 1.461129 0.888977 0.275646 1.712213 1.100500 0.539170 1.932708 1.357198 0.750588 0.169930 1.599158 1.015737 0.433884 1.847466 1.290316 0.699471 0.106715 1.618980 1.039270 0.483584 1.877301 1.355281 0.739383 0.283415 1.680260 1.142458 0.582946 0.025158 1.503785 0.917235 0.402386 1.888910 1.374775 0.801742 0.267251 1.729725 1.190453 0.690588 0.170200 1.607615 1.116870 0.626944 0.099949 1.558114 1.042989 0.565792 0.001984 1.534796 0.981050 0.506989 0.024697 1.512493 1.045167 0.509838 0.035449 1.540981 1.040413 0.579777 0.067009 1.583544 1.092800 0.643044 0.165297 1.660919 1.190925 0.750261 0.244662 1.789497 1.303951 0.852702 0.402882 1.925637 1.511267 0.983904 0.525287 0.093612 1.625678 1.236625 0.751894 0.317275 1.862598 1.434730 1.003450 0.590395 0.130259 1.632064 1.251831 0.793529 0.395744 1.982905 1.518992 1.185899 0.724078 0.280841 1.851085 1.414649 1.036031 0.628024 0.190307 1.817967 1.407380 0.997638 0.626750 0.187117 1.827944 1.364014 1.005368 0.643575 0.271950 1.870132 1.455625 1.102716 0.663688 0.366474 1.947786 1.531948 1.165389 0.820292 0.417060 0.106203 1.736409 1.349795 1.017056 0.602019 0.247808 1.904232 1.522798 1.168173 0.822339 0.502122 0.190982 1.830461 1.503095 1.146005 0.824132 0.425448 0.163732 1.809535 1.439358 1.134762 0.787451 0.444950 0.125696 1.859821 1.507864 1.225427 0.898766 0.552383 0.249459 1.921771 1.641843 1.335828 1.036153 0.712405 0.407286 0.113814 1.810275 1.573082 1.216807 0.937380 0.622140 0.413886 0.065441 1.811766 1.479615 1.239853 0.962208 0.676221 0.428567 0.149787 1.861526 1.595913 1.378366 1.072254 0.858051 0.546952 0.352387 0.048977 1.781409 1.500802 1.320643 1.034780 0.814060 0.561026 0.270289 0.105077 1.781981 1.587128 1.356228 1.096895 0.899561 0.695426 0.422635 0.191053 0.015040 1.742763 1.540766 1.372440 1.135422 0.929280 0.712972 0.501615 0.300048 0.059338 1.847659 1.743466 1.446302 1.288333 1.097146 0.896394 0.693469 0.504749 0.273709 0.134422 -0.008122 1.752436 1.590209 1.416861 1.263443 1.015309 0.919786 0.724562 0.550733 0.413427 0.220154 0.085059 1.972253 1.758570 1.618664 1.418349 1.309492 1.092633 0.962125 0.822521 0.683138 0.548516 0.433745 0.271343 0.157018 -0.024488 1.878961 1.706051 1.633364 1.472286 1.423267 1.197350 1.130839 0.991815 0.864748 0.717411 0.656940 0.500335 0.378398 0.306249 0.174522 0.042370 1.957239 1.876551 1.787343 1.657177 1.630866 1.501218 1.454476 1.399481 1.281728 1.174679 1.094880 1.013897 0.872646 0.836534 0.733703 0.745572 0.645048 0.520901 0.517442 0.446338 0.403105 0.220915 0.272964 0.177893 0.121891 0.010365 -0.003026 -0.000541 1.946558 1.858421 1.798242 1.770282 1.765566 1.731024 1.646864 1.612063 1.606047 1.594080 1.512626 1.534901 1.459982 1.452555 1.426312 1.441887 1.450640 1.394928 1.401770 1.413824 1.398282 1.361199 1.386696 1.351788 1.315050 1.337782 1.369731 1.375462 1.382434 1.387327 1.390480 1.425063 1.472649 1.428947 1.444989 1.479959 1.454545 1.459856 1.514843 1.537769 1.564144 1.568551 1.669900 1.683717 1.723822 1.813102 1.823001 1.907890 1.890197 1.964939 -1.797036 0.049327 0.116611 0.169727 0.229816 0.312230 0.322585 0.436099 0.459978 0.494355 0.617621 0.657990 0.713966 0.784856 0.873687 0.939607 1.031179 1.056185 1.173421 1.311953 1.410978 1.454966 1.612093 1.676857 1.761378 1.862190 1.974384 0.042558 0.158632 0.245595 0.350975 0.483237 0.594289 0.729058 0.805700 0.959748 1.072984 1.213228 1.313277 1.445492 1.585944 1.673320 1.810642 1.960761 0.110169 0.205253 0.318753 0.449203 0.638254 0.764806 0.903920 1.064434 1.168013 1.366785 1.485581 1.644159 1.803584 -0.028237 0.153100 0.380114 0.509401 0.641451 0.849001 1.016399 1.215481 1.423241 1.573069 1.764733 1.942264 0.047242 0.295850 0.470228 0.640443 0.830347 1.055180 1.227983 1.357851 1.599606 1.739714 -0.029549 0.205220 0.379610 0.585030 0.816103 1.019847 1.251050 1.461935 1.647821 1.868576 0.147180 0.369132 0.579279 0.840715 1.094368 1.320093 1.565710 1.787983 -1.714361 0.195527 0.507750 0.710357 0.949912 1.153061 1.372724 1.700420 1.865502 0.178913 0.436041 0.694461 0.986729 1.187621 1.476665 1.752454 0.027539 0.321199 0.550142 0.802831 1.077337 1.362471 1.620159 1.900867 0.213014 0.446588 0.803703 1.113716 1.403572 1.697697 0.018021 0.315688 0.615559 0.932639 1.205074 1.541734 1.854009 0.125499 0.502519 0.744264 1.071360 1.395926 1.658298 -0.006671 0.333250 0.704886 1.026706 1.348527 1.693526)
+	34.486667 #(0.000000 0.010065 0.257552 0.593803 0.986349 1.354691 1.689002 0.065945 0.448419 0.795563 1.178916 1.585370 1.936149 0.310262 0.750710 1.056729 1.463725 1.825064 0.240816 0.539819 0.934214 1.340840 1.748800 0.092213 0.555713 0.915825 1.311840 1.650847 0.107697 0.477455 0.875194 1.288435 1.748432 0.197793 0.591516 1.015839 1.387092 1.854496 0.260210 0.614591 1.088807 1.497165 1.960609 0.347241 0.837150 1.265241 1.711792 0.103196 0.588662 1.043276 1.427385 1.898809 0.315073 0.790510 1.283232 1.726769 0.124226 0.582532 1.048754 1.444755 1.928781 0.425680 0.899080 1.335881 1.855991 0.327701 0.850115 1.267294 1.746464 0.254433 0.681023 1.221402 1.713475 0.176608 0.633457 1.170011 1.638469 0.136940 0.628672 1.079274 1.611588 0.107068 0.579047 1.125534 1.649825 0.159484 0.714499 1.195717 1.694762 0.283005 0.777095 1.317639 1.818676 0.294685 0.848021 1.366508 1.912960 0.442114 0.974399 1.491097 0.046085 0.607725 1.172318 1.701676 0.262890 0.804042 1.333049 1.847711 0.428372 0.986686 1.556422 0.120990 0.632701 1.249707 1.826221 0.398395 0.969062 1.507301 0.132868 0.725711 1.273823 1.851630 0.403540 1.046615 1.591703 0.182065 0.801530 1.386897 0.003430 0.562296 1.182148 1.798000 0.384640 0.992083 1.618128 0.211791 0.774713 1.389562 -0.001657 0.608366 1.236020 1.865011 0.529780 1.135532 1.738754 0.419570 1.019563 1.624992 0.265061 0.904049 1.533452 0.168181 0.865137 1.479101 0.127557 0.777817 1.390745 0.031342 0.661481 1.347873 -0.028252 0.673301 1.341813 0.012139 0.723533 1.359095 0.015081 0.667348 1.354810 -0.010820 0.651242 1.361901 0.014799 0.676361 1.414902 0.077676 0.777314 1.483046 0.156058 0.835487 1.534362 0.214249 0.944327 1.656367 0.337182 1.061518 1.736952 0.487837 1.221677 1.941805 0.641987 1.334519 0.012624 0.761615 1.493616 0.235055 0.987696 1.681644 0.449481 1.152512 1.880553 0.557489 1.300096 0.093548 0.829304 1.606739 0.333558 1.038662 1.817653 0.564596 1.346595 0.088231 0.789038 1.556219 0.364445 1.109277 1.894547 0.648472 1.394876 0.167696 0.927734 1.744135 0.473122 1.327580 0.053170 0.846408 1.630482 0.424396 1.252576 0.026366 0.794678 1.571738 0.353780 1.148629 -0.009061 0.802059 1.560730 0.388025 1.189760 -0.020908 0.838019 1.634252 0.450483 1.274303 0.061988 0.909080 1.739029 0.567344 1.395698 0.191004 1.056594 1.900321 0.701479 1.570664 0.420443 1.216101 0.035038 0.906051 1.794894 0.619739 1.485033 0.319328 1.177367 0.049998 0.912455 1.796694 0.663275 1.464877 0.322458 1.201076 0.079874 0.975135 1.812753 0.671629 1.550884 0.438265 1.308416 0.227568 1.107771 0.008272 0.852340 1.757258 0.665419 1.573359 0.450697 1.364674 0.288498 1.149330 0.046861 0.927672 1.818815 0.731499 1.703383 0.640630 1.515945 0.404842 1.338883 0.309581 1.223075 0.140786 1.078108 -0.017158 0.933921 1.856585 0.819946 1.718757 0.674573 1.629213 0.552624 1.480565 0.473092 1.440553 0.370780 1.316286 0.261652 1.233065 0.181284 1.136614 0.128844 1.063581 0.043473 0.988622 -0.007730 0.942926 1.896166 0.930670 1.890388 0.822783 1.839642 0.888701 1.829032 0.748117 1.787911 0.785711 1.793168 0.753464 1.768597 0.785917 1.789379 0.746424 1.769933 0.789526 1.789893 0.806228 1.806824 0.845014 1.858918 0.876599 1.887462 0.916183 -0.011424 0.947836 0.026544 1.052806 0.074297 1.092552 0.117837 1.145621 0.172062 1.271069 0.265950 1.343262 0.368273 1.426940 0.471985 1.600258 0.591440 1.643063 0.779963 1.778002 0.823172 1.887460 0.980164 0.056312 1.104881 0.194563 1.270671 0.317598 1.432357 0.527173 1.586831 0.679001 1.710986 0.856576 1.952932 1.034214 0.168860 1.247239 0.332452 1.455153 0.496571 1.598578 0.746454 1.841506 0.980194 0.065850 1.191729 0.313463 1.362280 0.540259 1.674133 0.807281 1.901298 1.046989 0.152754 1.296905 0.437367 1.599457 0.712142 1.832022 1.021052 0.159471 1.255226 0.399699 1.567354 0.776219 1.903366 1.055241 0.221691 1.359842 0.508090 1.682588 0.830923 0.010406 1.164777 0.321654 1.495630 0.648746 1.854778 1.028798 0.224012 1.437178 0.587301 1.746745 0.969426 0.124185 1.311647 0.558251 1.730677 0.926291 0.114111 1.341596 0.557527 1.745728 0.936491 0.127337 1.383134 0.617625 1.786691 1.023246 0.229459 1.472437 0.676585 1.907197 1.123237 0.355057 1.633938 0.880784 0.058692 1.279872 0.552335 1.779394 1.011586 0.276736 1.508029 0.759625 0.024536 1.276380 0.493761 1.728419 1.013811 0.266997 1.523472 0.795713 0.046243 1.307283 0.623236 1.877970 1.148383 0.427672 1.683629 1.001954 0.298274 1.554589 0.835462 0.173731 1.457407 0.693880 -0.034472 1.275602 0.593467 1.866633 1.210093 0.521728 1.772084 1.113712 0.385701 1.695457 1.069859 0.333163 1.607126 0.969652 0.282736 1.586932 0.934788 0.272131 1.571926 0.921386 0.293345 1.575513 0.936770 0.269737 1.574193 0.968165 0.284669 1.613899 0.986360 0.310459 1.654676 0.993511 0.432366 1.747611 1.058842 0.426357 1.800267 1.182611 0.576028 1.923944 1.270340 0.656610 0.044384 1.408707 0.752047 0.170780 1.558617 0.971026 0.315606 1.679451 1.091283 0.469917 1.819954 1.288114 0.668750 0.054741 1.461129 0.888977 0.275646 1.712213 1.100500 0.539170 1.932708 1.357198 0.750588 0.169930 1.599158 1.015737 0.433884 1.847466 1.290316 0.699471 0.106715 1.618980 1.039270 0.483584 1.877301 1.355281 0.739383 0.283415 1.680260 1.142458 0.582946 0.025158 1.503785 0.917235 0.402386 1.888910 1.374775 0.801742 0.267251 1.729725 1.190453 0.690588 0.170200 1.607615 1.116870 0.626944 0.099949 1.558114 1.042989 0.565792 0.001984 1.534796 0.981050 0.506989 0.024697 1.512493 1.045167 0.509838 0.035449 1.540981 1.040413 0.579777 0.067009 1.583544 1.092800 0.643044 0.165297 1.660919 1.190925 0.750261 0.244662 1.789497 1.303951 0.852702 0.402882 1.925637 1.511267 0.983904 0.525287 0.093612 1.625678 1.236625 0.751894 0.317275 1.862598 1.434730 1.003450 0.590395 0.130259 1.632064 1.251831 0.793529 0.395744 1.982905 1.518992 1.185899 0.724078 0.280841 1.851085 1.414649 1.036031 0.628024 0.190307 1.817967 1.407380 0.997638 0.626750 0.187117 1.827944 1.364014 1.005368 0.643575 0.271950 1.870132 1.455625 1.102716 0.663688 0.366474 1.947786 1.531948 1.165389 0.820292 0.417060 0.106203 1.736409 1.349795 1.017056 0.602019 0.247808 1.904232 1.522798 1.168173 0.822339 0.502122 0.190982 1.830461 1.503095 1.146005 0.824132 0.425448 0.163732 1.809535 1.439358 1.134762 0.787451 0.444950 0.125696 1.859821 1.507864 1.225427 0.898766 0.552383 0.249459 1.921771 1.641843 1.335828 1.036153 0.712405 0.407286 0.113814 1.810275 1.573082 1.216807 0.937380 0.622140 0.413886 0.065441 1.811766 1.479615 1.239853 0.962208 0.676221 0.428567 0.149787 1.861526 1.595913 1.378366 1.072254 0.858051 0.546952 0.352387 0.048977 1.781409 1.500802 1.320643 1.034780 0.814060 0.561026 0.270289 0.105077 1.781981 1.587128 1.356228 1.096895 0.899561 0.695426 0.422635 0.191053 0.015040 1.742763 1.540766 1.372440 1.135422 0.929280 0.712972 0.501615 0.300048 0.059338 1.847659 1.743466 1.446302 1.288333 1.097146 0.896394 0.693469 0.504749 0.273709 0.134422 -0.008122 1.752436 1.590209 1.416861 1.263443 1.015309 0.919786 0.724562 0.550733 0.413427 0.220154 0.085059 1.972253 1.758570 1.618664 1.418349 1.309492 1.092633 0.962125 0.822521 0.683138 0.548516 0.433745 0.271343 0.157018 -0.024488 1.878961 1.706051 1.633364 1.472286 1.423267 1.197350 1.130839 0.991815 0.864748 0.717411 0.656940 0.500335 0.378398 0.306249 0.174522 0.042370 1.957239 1.876551 1.787343 1.657177 1.630866 1.501218 1.454476 1.399481 1.281728 1.174679 1.094880 1.013897 0.872646 0.836534 0.733703 0.745572 0.645048 0.520901 0.517442 0.446338 0.403105 0.220915 0.272964 0.177893 0.121891 0.010365 -0.003026 -0.000541 1.946558 1.858421 1.798242 1.770282 1.765566 1.731024 1.646864 1.612063 1.606047 1.594080 1.512626 1.534901 1.459982 1.452555 1.426312 1.441887 1.450640 1.394928 1.401770 1.413824 1.398282 1.361199 1.386696 1.351788 1.315050 1.337782 1.369731 1.375462 1.382434 1.387327 1.390480 1.425063 1.472649 1.428947 1.444989 1.479959 1.454545 1.459856 1.514843 1.537769 1.564144 1.568551 1.669900 1.683717 1.723822 1.813102 1.823001 1.907890 1.890197 1.964939 -1.797036 0.049327 0.116611 0.169727 0.229816 0.312230 0.322585 0.436099 0.459978 0.494355 0.617621 0.657990 0.713966 0.784856 0.873687 0.939607 1.031179 1.056185 1.173421 1.311953 1.410978 1.454966 1.612093 1.676857 1.761378 1.862190 1.974384 0.042558 0.158632 0.245595 0.350975 0.483237 0.594289 0.729058 0.805700 0.959748 1.072984 1.213228 1.313277 1.445492 1.585944 1.673320 1.810642 1.960761 0.110169 0.205253 0.318753 0.449203 0.638254 0.764806 0.903920 1.064434 1.168013 1.366785 1.485581 1.644159 1.803584 -0.028237 0.153100 0.380114 0.509401 0.641451 0.849001 1.016399 1.215481 1.423241 1.573069 1.764733 1.942264 0.047242 0.295850 0.470228 0.640443 0.830347 1.055180 1.227983 1.357851 1.599606 1.739714 -0.029549 0.205220 0.379610 0.585030 0.816103 1.019847 1.251050 1.461935 1.647821 1.868576 0.147180 0.369132 0.579279 0.840715 1.094368 1.320093 1.565710 1.787983 -1.714361 0.195527 0.507750 0.710357 0.949912 1.153061 1.372724 1.700420 1.865502 0.178913 0.436041 0.694461 0.986729 1.187621 1.476665 1.752454 0.027539 0.321199 0.550142 0.802831 1.077337 1.362471 1.620159 1.900867 0.213014 0.446588 0.803703 1.113716 1.403572 1.697697 0.018021 0.315688 0.615559 0.932639 1.205074 1.541734 1.854009 0.125499 0.502519 0.744264 1.071360 1.395926 1.658298 -0.006671 0.333250 0.704886 1.026706 1.348527 1.693526)
        )
 
 ;;; 2048 even --------------------------------------------------------------------------------
-(vector 2048 87.471149563312 (fv 0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 1)
+(vector 2048 87.471149563312 #(0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 1)
 
        ;; (try-all :even 2048 2049  0.0014328746687631 0.51217918249646) = 56.93601 start for next
        ;; ce:
-	50.887273 (fv 0.000000 -0.001703 0.433172 1.590778 1.336810 1.796101 0.945990 0.630649 1.068973 0.276030 0.019619 0.418921 1.642205 1.314880 1.815562 0.937954 0.690335 1.166456 0.260174 0.033467 0.534551 1.577952 1.359691 1.855935 0.978115 0.778145 1.214744 0.305514 0.073250 0.585950 1.700979 1.456846 1.891326 1.051448 0.870291 1.262779 0.419868 0.209104 0.667538 1.764244 1.534253 0.022691 1.157333 0.886455 1.397513 0.522770 0.305417 0.791572 1.882641 1.706581 0.124613 1.245754 1.016938 1.507704 0.621789 0.423116 0.882723 0.034318 1.775279 0.266045 1.420137 1.176158 1.620182 0.842558 0.553079 1.037944 0.182615 0.005162 0.432646 1.577593 1.375077 1.777427 0.999839 0.726166 1.218120 0.366911 0.123723 0.662290 1.808464 1.555557 0.050943 1.161441 0.961088 1.469391 0.581778 0.421014 0.869182 1.964711 1.782785 0.217679 1.412311 1.228590 1.681851 0.818320 0.617489 1.120821 0.226824 0.041870 0.539030 1.644423 1.496409 1.937912 1.088438 0.861771 1.374952 0.504902 0.301816 0.831900 1.946273 1.700988 0.237333 1.351841 1.174113 1.697709 0.766188 0.601502 1.097799 0.223664 0.073707 0.490731 1.705779 1.529713 0.004900 1.114151 0.927806 1.413217 0.593263 0.370397 0.876728 0.024219 1.840075 0.345172 1.498140 1.311278 1.774455 0.911735 0.779474 1.231046 0.351370 0.170176 0.732535 1.828332 1.647912 0.151754 1.304922 1.134715 1.583698 0.773654 0.612595 1.042987 0.199634 0.036653 0.549756 1.681847 1.475587 0.005194 1.173802 0.977842 1.470305 0.643755 0.476622 0.917721 0.111850 1.936419 0.450243 1.616355 1.416777 1.915014 1.098462 0.907664 1.447783 0.570918 0.405291 0.889269 0.066991 1.881365 0.373330 1.508358 1.402579 1.870612 1.085131 0.920739 1.348392 0.568783 0.336415 0.843225 0.063446 1.926774 0.418106 1.565445 1.379520 1.897103 1.050320 0.891564 1.380927 0.530987 0.385626 0.908446 0.068664 1.943935 0.430612 1.518729 1.398232 1.924184 1.103625 0.924587 1.417433 0.610522 0.456479 0.953409 0.112059 0.013043 0.495872 1.633744 1.493163 0.038519 1.187544 1.048687 1.588579 0.748576 0.532785 1.100237 0.281535 0.104911 0.635452 1.811612 1.634030 0.184177 1.345558 1.153862 1.750039 0.857060 0.732788 1.250092 0.418042 0.246015 0.725057 1.972355 1.807991 0.351695 1.540788 1.347415 1.848165 1.067747 0.908528 1.413312 0.618180 0.467879 0.991799 0.190738 0.053795 0.507730 1.744900 1.620134 0.124619 1.318661 1.152397 1.685590 0.894836 0.688791 1.239521 0.488835 0.282246 0.831794 -0.015794 1.883123 0.431031 1.583860 1.447618 1.964025 1.125655 1.064343 1.569856 0.748855 0.603708 1.107653 0.309052 0.196774 0.696407 1.871049 1.742283 0.240318 1.473905 1.321207 1.881514 1.047815 0.924156 1.493868 0.689863 0.543896 1.026203 0.246976 0.140944 0.678125 1.870899 1.706720 0.276250 1.408196 1.319078 1.889412 1.061123 0.937583 1.451370 0.684034 0.567548 1.075578 0.293854 0.180105 0.705838 1.911360 1.764817 0.292975 1.493988 1.411105 1.895989 1.081687 1.012629 1.575334 0.718344 0.628406 1.174951 0.386415 0.230260 0.768066 -0.015753 1.886981 0.454216 1.616098 1.441778 0.077596 1.316514 1.144927 1.696140 0.867400 0.757625 1.309429 0.563210 0.364175 0.954929 0.137349 0.057751 0.597415 1.789122 1.677288 0.252684 1.417924 1.313555 1.862237 1.126315 1.015807 1.510443 0.802206 0.652057 1.184565 0.404523 0.277585 0.843687 0.148971 1.933489 0.514414 1.743011 1.592866 0.129290 1.346399 1.259419 1.817805 1.029171 0.962338 1.475532 0.708188 0.633076 1.151811 0.395581 0.307725 0.834201 0.078405 1.959228 0.466843 1.769721 1.650538 0.159441 1.402559 1.321215 1.914285 1.128095 1.014297 1.571134 0.803693 0.677208 1.246457 0.469701 0.356795 0.908733 0.149102 0.035900 0.615966 1.826481 1.708851 0.339243 1.554134 1.413247 -0.028956 1.251019 1.106816 1.704569 0.926586 0.827768 1.430366 0.655894 0.524343 1.153832 0.363573 0.234391 0.825975 0.037037 1.955590 0.487803 1.776970 1.679179 0.270247 1.494959 1.379330 1.956206 1.186819 1.071982 1.644518 0.897716 0.759160 1.349574 0.601679 0.512657 1.067152 0.367997 0.259056 0.818805 0.070970 1.979460 0.551129 1.797928 1.685198 0.237267 1.508404 1.457352 0.047420 1.261021 1.192815 1.789893 0.995526 0.930294 1.496757 0.778086 0.636312 1.222185 0.505076 0.392642 1.016934 0.236492 0.140361 0.774022 0.001411 1.961469 0.498526 1.750119 1.648169 0.240766 1.450209 1.419896 0.004281 1.237513 1.195486 1.793570 1.030159 0.946491 1.529067 0.769460 0.726220 1.269159 0.564615 0.472841 1.084479 0.322182 0.217540 0.870218 0.092806 0.039652 0.580465 1.871900 1.768958 0.330755 1.643083 1.574291 0.148815 1.382016 1.330434 1.953984 1.191904 1.113085 1.729795 0.935173 0.941506 1.487573 0.777735 0.706146 1.300602 0.552074 0.471965 1.086702 0.368313 0.238388 0.870358 0.129144 0.034415 0.647185 1.956907 1.855191 0.450494 1.695322 1.674270 0.277115 1.525710 1.462245 0.090299 1.329096 1.259635 1.870782 1.128184 1.069973 1.694787 0.953585 0.907980 1.546930 0.802555 0.747675 1.322734 0.664094 0.527920 1.163169 0.460332 0.399285 0.970040 0.217204 0.171752 0.769371 0.047350 -0.025234 0.632915 1.894302 1.830249 0.455254 1.760595 1.701533 0.321139 1.541634 1.515918 0.102674 1.367783 1.346029 1.941486 1.223287 1.213347 1.782946 1.029999 1.005092 1.692642 0.911840 0.875191 1.494140 0.757479 0.727400 1.310293 0.611635 0.559689 1.154763 0.453641 0.402989 1.051223 0.342693 0.309148 0.919084 0.199108 0.132609 0.759042 0.053229 -0.033954 0.648811 1.906240 1.894740 0.483288 1.798246 1.730147 0.369025 1.616846 1.576788 0.217080 1.494201 1.461719 0.088483 1.386902 1.325078 1.982480 1.249756 1.217589 1.872681 1.143670 1.127132 1.742603 1.001258 0.969685 1.653400 0.948140 0.903244 1.474757 0.844045 0.804740 1.381313 0.669059 0.696990 1.287624 0.590259 0.542974 1.139086 0.529408 0.444238 1.060949 0.381119 0.387330 0.982887 0.274265 0.262799 0.892622 0.182183 0.155238 0.802580 0.125716 0.062385 0.697970 -0.029110 -0.005740 0.631814 1.935506 1.905147 0.526743 1.805035 1.822539 0.427610 1.754204 1.769095 0.334244 1.671094 1.648758 0.313430 1.604455 1.580989 0.249732 1.534106 1.501925 0.141332 1.456591 1.376333 0.087064 1.395898 1.349285 -0.007846 1.309141 1.324784 1.926752 1.235223 1.257013 1.870695 1.183965 1.196890 1.833185 1.161076 1.134259 1.737981 1.066217 1.029285 1.761061 1.046404 1.003567 1.669085 1.015282 0.945700 1.628153 0.957401 0.910198 1.578015 0.892702 0.920061 1.560411 0.892643 0.883270 1.499087 0.881141 0.786754 1.465346 0.814870 0.806704 1.420951 0.745568 0.748981 1.428779 0.724569 0.722331 1.414318 0.735199 0.680304 1.412191 0.642055 0.663317 1.362918 0.692620 0.652852 1.255275 0.655029 0.616540 1.306668 0.607368 0.596378 1.278318 0.605729 0.626127 1.248672 0.605969 0.598531 1.270199 0.590247 0.604018 1.248420 0.564539 0.573991 1.243120 0.541247 0.581568 1.247013 0.548311 0.583389 1.254363 0.570054 0.592870 1.314918 0.584147 0.601170 1.285128 0.585385 0.636800 1.268157 0.564860 0.618673 1.241680 0.593206 0.649499 1.294308 0.619335 0.690828 1.290074 0.662251 0.659564 1.319465 0.684267 0.676527 1.346573 0.684074 0.749941 1.376399 0.760563 0.735778 1.409735 0.781193 0.776861 1.424608 0.803012 0.794890 1.482330 0.849249 0.820388 1.516581 0.910615 0.864461 1.540065 0.895368 0.913334 1.630286 0.950361 0.962747 1.686669 0.985439 1.020247 1.674781 0.998529 1.106931 1.784420 1.109819 1.080550 1.792617 1.141848 1.167488 1.815820 1.225904 1.216862 1.932151 1.308230 1.267897 -0.026968 1.330184 1.385176 0.022707 1.458233 1.415333 0.128552 1.487923 1.523242 0.191001 1.550003 1.584242 0.283355 1.596921 1.662782 0.308217 1.689429 1.701664 0.432683 1.765615 1.799785 0.477706 1.814969 1.847473 0.536692 1.956606 -0.125001 0.671687 0.021081 0.062099 0.778322 0.143122 0.195164 0.870404 0.217515 0.248340 0.992771 0.296311 0.393796 1.036703 0.444136 0.428455 1.144392 0.545916 0.532816 1.274635 0.638559 0.682382 1.366079 0.738438 0.791235 1.469530 0.832133 0.861591 1.597033 0.965134 0.975949 1.660906 1.074595 1.121780 1.850802 1.205711 1.200292 1.955639 1.297951 1.320764 0.075418 1.456186 1.481933 0.158684 1.566840 1.641287 0.359580 1.677476 1.730799 0.448508 1.815321 1.873655 0.540161 1.931330 1.974330 0.742536 0.063433 0.156314 0.825290 0.223991 0.306298 0.962765 0.360970 0.418863 1.127740 0.516243 0.542975 1.312005 0.652439 0.710545 1.452213 0.776568 0.871797 1.548353 0.973587 1.004549 1.725321 1.089618 1.233086 1.882229 1.280829 1.345266 0.036253 1.417172 1.451706 0.202998 1.622238 1.674924 0.340016 1.728728 1.833591 0.567298 1.946042 0.023405 0.702356 0.135275 0.153799 0.884198 0.265400 0.340889 1.099730 0.493458 0.526956 1.267239 0.676407 0.690082 1.422573 0.812500 0.926029 1.644040 1.074851 1.097114 1.811626 1.221109 1.268846 0.019885 1.418865 1.465834 0.226550 1.602283 1.642652 0.409600 1.782663 1.847764 0.612518 -0.014414 0.080272 0.793644 0.189642 0.287941 1.015956 0.430798 0.498270 1.212055 0.606553 0.678263 1.458990 0.847157 0.901708 1.629236 1.030896 1.120792 1.854770 1.260369 1.292084 0.058109 1.472251 1.530032 0.298666 1.686445 1.750885 0.465407 1.926615 -0.015762 0.736186 0.179728 0.219514 0.995121 0.367989 0.459496 1.186779 0.640597 0.690551 1.458450 0.858324 0.911511 1.699195 1.068188 1.186092 1.897316 1.337175 1.402416 0.144009 1.638297 1.673138 0.373403 1.812913 1.888979 0.630635 0.080370 0.169331 0.914815 0.273060 0.393754 1.122091 0.596144 0.640794 1.390765 0.839105 0.918214 1.680880 1.131151 1.205710 1.974811 1.393861 1.452322 0.156477 1.645144 1.718367 0.451059 1.878144 0.022469 0.716191 0.203622 0.204052 1.000934 0.419218 0.531168 1.297295 0.702318 0.799989 1.534195 0.962961 1.059623 1.864764 1.322381 1.390676 0.140300 1.535535 1.653796 0.423232 1.846167 1.958815 0.705134 0.115159 0.251430 1.006465 0.470237 0.504026 1.267250 0.734232 0.836445 1.549915 1.039694 1.136664 1.905550 1.321296 1.400727 0.208474 1.633666 1.709003 0.486386 1.940896 0.025205 0.789590 0.229116 0.395199 1.113150 0.560152 0.653681 1.459139 0.830910 0.975236 1.738577 1.210343 1.308624 0.093706 1.493739 1.620053 0.424641 1.828846 1.940485 0.729339 0.163547 0.294790 1.029106 0.522695 0.623772 1.363366 0.795679 0.991955 1.735746 1.166232 1.233433 0.033448 1.517164 1.590656 0.407889 1.837549 1.928075 0.698672 0.187906 0.288583 1.089091 0.525365 0.646727 1.419503 0.847075 1.003035 1.770682 1.222701 1.368528 0.132834 1.552702 1.702988 0.486356 1.942867 0.028321 0.834453 0.305865 0.427874 1.193367 0.646670 0.777994 1.535326 0.959127 1.141152 1.974723 1.386313 1.482039 0.241727 1.733430 1.907279 0.652190 0.113225 0.233654 1.053634 0.521015 0.606360 1.407458 0.868195 0.979596 1.802838 1.252544 1.387190 0.144685 1.620697 1.765258 0.551267 0.016634 0.102630 0.966227 0.379774 0.557760 1.339080 0.772792 0.943942 1.714448 1.227165 1.340588 0.135412 1.553794 1.733262 0.505137 0.052411 0.115242 0.903954 0.369383 0.566147 1.338694 0.822997 0.955372 1.767911 1.219397 1.351801 0.123533 1.574789 1.767438 0.582707 0.059344 0.173569 0.987297 0.434401 0.616641 1.368611 0.898977 1.018679 1.815949 1.269299 1.423987 0.244273 1.756592 1.844278 0.628834 0.156429 0.267440 1.098495 0.557657 0.757430 1.527200 1.032316 1.157667 1.941839 1.435329 1.592128 0.417339 1.857219 0.027921 0.825078 0.326257 0.472209 1.266409 0.776877 0.907550 1.713542 1.197483 1.352897 0.148954 1.643699 1.805895 0.598148 0.109639 0.271416 1.099053 0.556356 0.664165 1.505314 0.973330 1.224262 1.958351 1.490436 1.656174 0.418476 1.960327 0.146807 0.899660 0.444751 0.550436 1.400125 0.831060 1.011690 1.850969 1.328814 1.486005 0.311620 1.812294 -0.006342 0.797723 0.305173 0.491901 1.322423 0.745375 0.923548 1.782732 1.275234 1.378532 0.222379 1.713386 1.920722 0.741433 0.280929 0.401426 1.209280 0.698837 0.886341 1.726784 1.225163 1.413939 0.172159 1.726536 1.893106 0.754636 0.203236 0.351446 1.190416 0.680791 0.829406 1.684757 1.210208 1.371232 0.224484 1.699825 1.891292 0.738873 0.258642 0.425836 1.243225 0.713196 0.891190 1.771850 1.235681 1.368819 0.270358 1.784768 1.928168 0.781510 0.284144 0.430703 1.331232 0.807861 0.993486 1.852203 1.325750 1.549374 0.376307 1.889520 0.034521 0.884377 0.427788 0.583618 1.373059 0.934920 1.074386 1.964373 1.419552 1.645249 0.489767 0.008746 0.185928 1.061283 0.556624 0.715745 1.608195 1.103831 1.267216 0.164802 1.613900 1.850921 0.624698 0.161160 0.408839 1.261772 0.735470 0.975590 1.782335 1.311907 1.475716 0.390097 1.869546 0.060780 0.873934 0.410643 0.589799 1.451558 0.998661 1.152970 0.054633 1.557268 1.731872 0.575393 0.117821 0.307307 1.198887 0.683313 0.897819 1.753607 1.284857 1.473685 0.314273 1.836871 0.060820 0.932547 0.420398 0.613590 1.461860 1.038061 1.203207 0.095116 1.584547 1.810340 0.624226 0.177690 0.397754 1.253072 0.802314 0.987311 1.879162 1.342549 1.566135 0.442620 1.908917 0.137619 1.011650 0.599336 0.755517 1.642027 1.174961 1.369054 0.211942 1.782659 -0.010486 0.840251 0.357521 0.581790 1.461271 1.014049 1.200403 0.044641 1.613689 1.808581 0.690100 0.250270 0.388899 1.294231 0.842257 1.021201 1.901029 1.462877 1.641210 0.546531 0.075531 0.291167 1.142643 0.703128 0.915213 1.799433 1.361706 1.526251 0.463549 1.971569 0.185024 1.029933 0.578985 0.824751 1.713096 1.250117 1.463497 0.301505 1.881822 0.143407 0.962817 0.507734 0.729352 1.590586 1.169240 1.393909 0.249757 1.802780 0.053110 0.895331 0.464179 0.669201 1.582612 1.097231 1.355127 0.231353 1.735403 0.021720 0.880348 0.431395 0.697354 1.573165 1.060767 1.347507 0.185124 1.772265 1.983494 0.879718 0.443530 0.687541 1.535902 1.151743 1.322419 0.212153 1.745041 -0.024853 0.929578 0.461659 0.706048 1.575808 1.122374 1.345663 0.241665 1.798693 0.038133 0.893828 0.497759 0.738405 1.619233 1.230529 1.391018 0.311367 1.875986 0.111417 0.982712 0.552692 0.779545 1.673926 1.277817 1.495634 0.424964 1.933807 0.193663 1.085748 0.635034 0.877002 1.797408 1.324014 1.603040 0.515913 0.114700 0.279027 1.230954 0.738758 0.971164 1.923699 1.522824 1.758904 0.629325 0.199968 0.431971 1.357304 0.920686 1.144660 0.047634 1.638457 1.887367 0.770386 0.339803 0.608798 1.474763 1.082399 1.336813 0.240373 1.815488 0.071521 0.978055 0.575127 0.812951 1.691650 1.236419 1.523987 0.428018 -0.014053 0.227398 1.211471 0.739843 1.033454 1.889876 1.490608 1.764875 0.650358 0.197774 0.479040 1.394298 0.990877 1.266721 0.153708 1.743738 1.993903 0.889105 0.452779 0.717556 1.641719 1.258531 1.472505 0.400527 0.003181 0.277816 1.190582 0.720088 1.018145 1.947482 1.529759 1.763205 0.679772 0.305019 0.551595 1.459782 1.056328 1.376741 0.254961 1.837237 0.083779 1.033490 0.597121 0.863372 1.752800 1.369817 1.661724 0.554009 0.132249 0.412929 1.366488 0.929237 1.205521 0.153686 1.780997 0.028187 0.910073 0.518459 0.747299 1.736440 1.285832 1.584544 0.515963 0.139650 0.379555 1.267964 0.869992 1.153100 0.094361 1.717865 1.955775 0.900339 0.490824 0.754072 1.676728 1.277159 1.570274 0.491155 0.127499 0.354589 1.327580 0.971916 1.203157 0.189781 1.749254 -0.000141 0.971242 0.569275 0.834995 1.792334 1.386324 1.620367 0.641313 0.177512 0.493821 1.395372 1.027112 1.276574 0.195767 1.840052 0.118782 1.057366 0.655353 0.981627 1.889857 1.497516 1.809949 0.727076 0.311895 0.619859 1.589373 1.177776 1.446089 0.402884 -0.013138 0.323859 1.242590 0.872932 1.139811 0.103389 1.705727 0.012476 0.932654 0.580713 0.844428 1.776557 1.375650 1.683357 0.653489 0.286018 0.530346 1.477873 1.102629 1.446550 0.391220 0.013493 0.315912 1.191737 0.889652 1.135899 0.064317 1.726753 0.008311 0.973187 0.561368 0.881325 1.835182 1.452878 1.728216 0.640203 0.296506 0.611465 1.537761 1.163681 1.521594 0.455106 0.113603 0.376193 1.335690 0.990813 1.252928 0.217355 1.798201 0.130538 1.099312 0.694187 1.042508 1.990873 1.625313 1.908796 0.833102 0.534393 0.775983 1.784275 1.381831 1.684754 0.630094 0.272616 0.575688 1.559911 1.184625 1.453679 0.491431 0.104067 0.400708 1.342106 0.977889 1.261797 0.248038 1.904884 0.237792 1.209205 0.805676 1.119936 0.155727 1.752922 0.098394 1.023110 0.709066 0.956558 1.945167 1.621782 1.885544 0.851378 0.511350 0.815303 1.752479 1.417551 1.712996 0.651328 0.341725 0.648800 1.652874 1.229749 1.564655 0.595314 0.162557 0.496357 1.536686 1.115189 1.443475 0.423294 0.108662 0.395018 1.332526 0.999816 1.352353 0.328398 1.960089 0.256657 1.276205 0.950110 1.251154 0.223763 1.856947 0.198310 1.202811 0.823347 1.139257 0.137493 1.791954 0.126818 1.077613 0.742716 1.034617 0.042667 1.702855 0.035869 0.942965 0.683955 0.962192 1.957952 1.636826 1.953521 0.904062 0.576569 0.908521 1.946168 1.527121 1.835900 0.915076 0.530360 0.860954 1.848124 1.476416 1.825816 0.801278 0.498232 0.791951 1.825898 1.460369 1.801238 0.807022 0.470147 0.775520 1.782957 1.421022 1.758922 0.747391 0.412834 0.729983 1.748458 1.430447 1.754281 0.725069 0.444203 0.754125 1.805117 1.457795 1.776284 0.724624 0.428724 0.744488 1.781494 1.483810 1.771396 0.825589 0.485350 0.772930 1.812210 1.489700 1.842892 0.808972 0.497919 0.826699 1.849758 1.501581 1.863781 0.830698 0.510646 0.856199 1.880392 1.487637 1.841337 0.883565 0.587660 0.933592 1.879899 1.575694 1.912690 0.882053 0.596355 0.876449 1.942318 1.604954 1.957913 0.991402 0.632658 0.965194 -0.031486 1.680264 0.039739 1.057207 0.660079 1.072774 0.084190 1.760660 0.122642 1.146243 0.783356 1.166710 0.158916 1.820281 0.220718 1.231907 0.956518 1.285669 0.300669 1.936753 0.315132 1.335110 1.060246 1.374454 0.394758 0.082667 0.417144 1.497357 1.121455 1.497524 0.558460 0.253594 0.585079 1.609798 1.353184 1.698378 0.628590 0.358364 0.702657 1.718959 1.448521 1.778728 0.811121 0.552978 0.858398 1.901305 1.551915 1.964990 1.006942 0.659821 0.990952 0.063543 1.773494 0.063737 1.160916 0.874963 1.254235 0.227903 1.909287 0.327897 1.310953 0.994777 1.331010 0.411728 0.136015 0.418712 1.516878 1.254075 1.541807 0.597800 0.341732 0.654709 1.684819 1.408026 1.806837 0.819367 0.523512 0.857369 1.895100 1.607979 1.949425 0.987941 0.703347 1.084034 0.136539 1.830122 0.250645 1.285193 0.947170 1.289548 0.328696 0.029933 0.461597 1.469311 1.207559 1.503925 0.619432 0.268080 0.678945 1.716381 1.398922 1.858266 0.884402 0.579547 0.942855 -0.007780 1.697643 0.060832 1.147089 0.859119 1.243156 0.279683 1.948552 0.303518 1.436858 1.120717 1.478393 0.523558 0.237367 0.599745 1.706188 1.421576 1.811698 0.850440 0.556037 0.945518 -0.871745 1.728994 0.072385 1.111766 0.835570 1.223297 0.269709 0.056622 0.355706 1.422876 1.147014 1.551471 0.600627 0.344660 0.724082 1.763987 1.516159 1.882823 0.942715 0.661410 1.033320 0.094097 1.855748 0.231455 1.280646 1.044202 1.442450 0.460350 0.194810 0.625856 1.678168 1.370560 1.773190 0.847696 0.600688 1.001562 0.035016 1.824811 0.145896 1.197674 0.963152 1.364275 0.436987 0.180547 0.564604 1.641854 1.399407 1.733896 0.850418 0.609483 0.927674)
+	50.887273 #(0.000000 -0.001703 0.433172 1.590778 1.336810 1.796101 0.945990 0.630649 1.068973 0.276030 0.019619 0.418921 1.642205 1.314880 1.815562 0.937954 0.690335 1.166456 0.260174 0.033467 0.534551 1.577952 1.359691 1.855935 0.978115 0.778145 1.214744 0.305514 0.073250 0.585950 1.700979 1.456846 1.891326 1.051448 0.870291 1.262779 0.419868 0.209104 0.667538 1.764244 1.534253 0.022691 1.157333 0.886455 1.397513 0.522770 0.305417 0.791572 1.882641 1.706581 0.124613 1.245754 1.016938 1.507704 0.621789 0.423116 0.882723 0.034318 1.775279 0.266045 1.420137 1.176158 1.620182 0.842558 0.553079 1.037944 0.182615 0.005162 0.432646 1.577593 1.375077 1.777427 0.999839 0.726166 1.218120 0.366911 0.123723 0.662290 1.808464 1.555557 0.050943 1.161441 0.961088 1.469391 0.581778 0.421014 0.869182 1.964711 1.782785 0.217679 1.412311 1.228590 1.681851 0.818320 0.617489 1.120821 0.226824 0.041870 0.539030 1.644423 1.496409 1.937912 1.088438 0.861771 1.374952 0.504902 0.301816 0.831900 1.946273 1.700988 0.237333 1.351841 1.174113 1.697709 0.766188 0.601502 1.097799 0.223664 0.073707 0.490731 1.705779 1.529713 0.004900 1.114151 0.927806 1.413217 0.593263 0.370397 0.876728 0.024219 1.840075 0.345172 1.498140 1.311278 1.774455 0.911735 0.779474 1.231046 0.351370 0.170176 0.732535 1.828332 1.647912 0.151754 1.304922 1.134715 1.583698 0.773654 0.612595 1.042987 0.199634 0.036653 0.549756 1.681847 1.475587 0.005194 1.173802 0.977842 1.470305 0.643755 0.476622 0.917721 0.111850 1.936419 0.450243 1.616355 1.416777 1.915014 1.098462 0.907664 1.447783 0.570918 0.405291 0.889269 0.066991 1.881365 0.373330 1.508358 1.402579 1.870612 1.085131 0.920739 1.348392 0.568783 0.336415 0.843225 0.063446 1.926774 0.418106 1.565445 1.379520 1.897103 1.050320 0.891564 1.380927 0.530987 0.385626 0.908446 0.068664 1.943935 0.430612 1.518729 1.398232 1.924184 1.103625 0.924587 1.417433 0.610522 0.456479 0.953409 0.112059 0.013043 0.495872 1.633744 1.493163 0.038519 1.187544 1.048687 1.588579 0.748576 0.532785 1.100237 0.281535 0.104911 0.635452 1.811612 1.634030 0.184177 1.345558 1.153862 1.750039 0.857060 0.732788 1.250092 0.418042 0.246015 0.725057 1.972355 1.807991 0.351695 1.540788 1.347415 1.848165 1.067747 0.908528 1.413312 0.618180 0.467879 0.991799 0.190738 0.053795 0.507730 1.744900 1.620134 0.124619 1.318661 1.152397 1.685590 0.894836 0.688791 1.239521 0.488835 0.282246 0.831794 -0.015794 1.883123 0.431031 1.583860 1.447618 1.964025 1.125655 1.064343 1.569856 0.748855 0.603708 1.107653 0.309052 0.196774 0.696407 1.871049 1.742283 0.240318 1.473905 1.321207 1.881514 1.047815 0.924156 1.493868 0.689863 0.543896 1.026203 0.246976 0.140944 0.678125 1.870899 1.706720 0.276250 1.408196 1.319078 1.889412 1.061123 0.937583 1.451370 0.684034 0.567548 1.075578 0.293854 0.180105 0.705838 1.911360 1.764817 0.292975 1.493988 1.411105 1.895989 1.081687 1.012629 1.575334 0.718344 0.628406 1.174951 0.386415 0.230260 0.768066 -0.015753 1.886981 0.454216 1.616098 1.441778 0.077596 1.316514 1.144927 1.696140 0.867400 0.757625 1.309429 0.563210 0.364175 0.954929 0.137349 0.057751 0.597415 1.789122 1.677288 0.252684 1.417924 1.313555 1.862237 1.126315 1.015807 1.510443 0.802206 0.652057 1.184565 0.404523 0.277585 0.843687 0.148971 1.933489 0.514414 1.743011 1.592866 0.129290 1.346399 1.259419 1.817805 1.029171 0.962338 1.475532 0.708188 0.633076 1.151811 0.395581 0.307725 0.834201 0.078405 1.959228 0.466843 1.769721 1.650538 0.159441 1.402559 1.321215 1.914285 1.128095 1.014297 1.571134 0.803693 0.677208 1.246457 0.469701 0.356795 0.908733 0.149102 0.035900 0.615966 1.826481 1.708851 0.339243 1.554134 1.413247 -0.028956 1.251019 1.106816 1.704569 0.926586 0.827768 1.430366 0.655894 0.524343 1.153832 0.363573 0.234391 0.825975 0.037037 1.955590 0.487803 1.776970 1.679179 0.270247 1.494959 1.379330 1.956206 1.186819 1.071982 1.644518 0.897716 0.759160 1.349574 0.601679 0.512657 1.067152 0.367997 0.259056 0.818805 0.070970 1.979460 0.551129 1.797928 1.685198 0.237267 1.508404 1.457352 0.047420 1.261021 1.192815 1.789893 0.995526 0.930294 1.496757 0.778086 0.636312 1.222185 0.505076 0.392642 1.016934 0.236492 0.140361 0.774022 0.001411 1.961469 0.498526 1.750119 1.648169 0.240766 1.450209 1.419896 0.004281 1.237513 1.195486 1.793570 1.030159 0.946491 1.529067 0.769460 0.726220 1.269159 0.564615 0.472841 1.084479 0.322182 0.217540 0.870218 0.092806 0.039652 0.580465 1.871900 1.768958 0.330755 1.643083 1.574291 0.148815 1.382016 1.330434 1.953984 1.191904 1.113085 1.729795 0.935173 0.941506 1.487573 0.777735 0.706146 1.300602 0.552074 0.471965 1.086702 0.368313 0.238388 0.870358 0.129144 0.034415 0.647185 1.956907 1.855191 0.450494 1.695322 1.674270 0.277115 1.525710 1.462245 0.090299 1.329096 1.259635 1.870782 1.128184 1.069973 1.694787 0.953585 0.907980 1.546930 0.802555 0.747675 1.322734 0.664094 0.527920 1.163169 0.460332 0.399285 0.970040 0.217204 0.171752 0.769371 0.047350 -0.025234 0.632915 1.894302 1.830249 0.455254 1.760595 1.701533 0.321139 1.541634 1.515918 0.102674 1.367783 1.346029 1.941486 1.223287 1.213347 1.782946 1.029999 1.005092 1.692642 0.911840 0.875191 1.494140 0.757479 0.727400 1.310293 0.611635 0.559689 1.154763 0.453641 0.402989 1.051223 0.342693 0.309148 0.919084 0.199108 0.132609 0.759042 0.053229 -0.033954 0.648811 1.906240 1.894740 0.483288 1.798246 1.730147 0.369025 1.616846 1.576788 0.217080 1.494201 1.461719 0.088483 1.386902 1.325078 1.982480 1.249756 1.217589 1.872681 1.143670 1.127132 1.742603 1.001258 0.969685 1.653400 0.948140 0.903244 1.474757 0.844045 0.804740 1.381313 0.669059 0.696990 1.287624 0.590259 0.542974 1.139086 0.529408 0.444238 1.060949 0.381119 0.387330 0.982887 0.274265 0.262799 0.892622 0.182183 0.155238 0.802580 0.125716 0.062385 0.697970 -0.029110 -0.005740 0.631814 1.935506 1.905147 0.526743 1.805035 1.822539 0.427610 1.754204 1.769095 0.334244 1.671094 1.648758 0.313430 1.604455 1.580989 0.249732 1.534106 1.501925 0.141332 1.456591 1.376333 0.087064 1.395898 1.349285 -0.007846 1.309141 1.324784 1.926752 1.235223 1.257013 1.870695 1.183965 1.196890 1.833185 1.161076 1.134259 1.737981 1.066217 1.029285 1.761061 1.046404 1.003567 1.669085 1.015282 0.945700 1.628153 0.957401 0.910198 1.578015 0.892702 0.920061 1.560411 0.892643 0.883270 1.499087 0.881141 0.786754 1.465346 0.814870 0.806704 1.420951 0.745568 0.748981 1.428779 0.724569 0.722331 1.414318 0.735199 0.680304 1.412191 0.642055 0.663317 1.362918 0.692620 0.652852 1.255275 0.655029 0.616540 1.306668 0.607368 0.596378 1.278318 0.605729 0.626127 1.248672 0.605969 0.598531 1.270199 0.590247 0.604018 1.248420 0.564539 0.573991 1.243120 0.541247 0.581568 1.247013 0.548311 0.583389 1.254363 0.570054 0.592870 1.314918 0.584147 0.601170 1.285128 0.585385 0.636800 1.268157 0.564860 0.618673 1.241680 0.593206 0.649499 1.294308 0.619335 0.690828 1.290074 0.662251 0.659564 1.319465 0.684267 0.676527 1.346573 0.684074 0.749941 1.376399 0.760563 0.735778 1.409735 0.781193 0.776861 1.424608 0.803012 0.794890 1.482330 0.849249 0.820388 1.516581 0.910615 0.864461 1.540065 0.895368 0.913334 1.630286 0.950361 0.962747 1.686669 0.985439 1.020247 1.674781 0.998529 1.106931 1.784420 1.109819 1.080550 1.792617 1.141848 1.167488 1.815820 1.225904 1.216862 1.932151 1.308230 1.267897 -0.026968 1.330184 1.385176 0.022707 1.458233 1.415333 0.128552 1.487923 1.523242 0.191001 1.550003 1.584242 0.283355 1.596921 1.662782 0.308217 1.689429 1.701664 0.432683 1.765615 1.799785 0.477706 1.814969 1.847473 0.536692 1.956606 -0.125001 0.671687 0.021081 0.062099 0.778322 0.143122 0.195164 0.870404 0.217515 0.248340 0.992771 0.296311 0.393796 1.036703 0.444136 0.428455 1.144392 0.545916 0.532816 1.274635 0.638559 0.682382 1.366079 0.738438 0.791235 1.469530 0.832133 0.861591 1.597033 0.965134 0.975949 1.660906 1.074595 1.121780 1.850802 1.205711 1.200292 1.955639 1.297951 1.320764 0.075418 1.456186 1.481933 0.158684 1.566840 1.641287 0.359580 1.677476 1.730799 0.448508 1.815321 1.873655 0.540161 1.931330 1.974330 0.742536 0.063433 0.156314 0.825290 0.223991 0.306298 0.962765 0.360970 0.418863 1.127740 0.516243 0.542975 1.312005 0.652439 0.710545 1.452213 0.776568 0.871797 1.548353 0.973587 1.004549 1.725321 1.089618 1.233086 1.882229 1.280829 1.345266 0.036253 1.417172 1.451706 0.202998 1.622238 1.674924 0.340016 1.728728 1.833591 0.567298 1.946042 0.023405 0.702356 0.135275 0.153799 0.884198 0.265400 0.340889 1.099730 0.493458 0.526956 1.267239 0.676407 0.690082 1.422573 0.812500 0.926029 1.644040 1.074851 1.097114 1.811626 1.221109 1.268846 0.019885 1.418865 1.465834 0.226550 1.602283 1.642652 0.409600 1.782663 1.847764 0.612518 -0.014414 0.080272 0.793644 0.189642 0.287941 1.015956 0.430798 0.498270 1.212055 0.606553 0.678263 1.458990 0.847157 0.901708 1.629236 1.030896 1.120792 1.854770 1.260369 1.292084 0.058109 1.472251 1.530032 0.298666 1.686445 1.750885 0.465407 1.926615 -0.015762 0.736186 0.179728 0.219514 0.995121 0.367989 0.459496 1.186779 0.640597 0.690551 1.458450 0.858324 0.911511 1.699195 1.068188 1.186092 1.897316 1.337175 1.402416 0.144009 1.638297 1.673138 0.373403 1.812913 1.888979 0.630635 0.080370 0.169331 0.914815 0.273060 0.393754 1.122091 0.596144 0.640794 1.390765 0.839105 0.918214 1.680880 1.131151 1.205710 1.974811 1.393861 1.452322 0.156477 1.645144 1.718367 0.451059 1.878144 0.022469 0.716191 0.203622 0.204052 1.000934 0.419218 0.531168 1.297295 0.702318 0.799989 1.534195 0.962961 1.059623 1.864764 1.322381 1.390676 0.140300 1.535535 1.653796 0.423232 1.846167 1.958815 0.705134 0.115159 0.251430 1.006465 0.470237 0.504026 1.267250 0.734232 0.836445 1.549915 1.039694 1.136664 1.905550 1.321296 1.400727 0.208474 1.633666 1.709003 0.486386 1.940896 0.025205 0.789590 0.229116 0.395199 1.113150 0.560152 0.653681 1.459139 0.830910 0.975236 1.738577 1.210343 1.308624 0.093706 1.493739 1.620053 0.424641 1.828846 1.940485 0.729339 0.163547 0.294790 1.029106 0.522695 0.623772 1.363366 0.795679 0.991955 1.735746 1.166232 1.233433 0.033448 1.517164 1.590656 0.407889 1.837549 1.928075 0.698672 0.187906 0.288583 1.089091 0.525365 0.646727 1.419503 0.847075 1.003035 1.770682 1.222701 1.368528 0.132834 1.552702 1.702988 0.486356 1.942867 0.028321 0.834453 0.305865 0.427874 1.193367 0.646670 0.777994 1.535326 0.959127 1.141152 1.974723 1.386313 1.482039 0.241727 1.733430 1.907279 0.652190 0.113225 0.233654 1.053634 0.521015 0.606360 1.407458 0.868195 0.979596 1.802838 1.252544 1.387190 0.144685 1.620697 1.765258 0.551267 0.016634 0.102630 0.966227 0.379774 0.557760 1.339080 0.772792 0.943942 1.714448 1.227165 1.340588 0.135412 1.553794 1.733262 0.505137 0.052411 0.115242 0.903954 0.369383 0.566147 1.338694 0.822997 0.955372 1.767911 1.219397 1.351801 0.123533 1.574789 1.767438 0.582707 0.059344 0.173569 0.987297 0.434401 0.616641 1.368611 0.898977 1.018679 1.815949 1.269299 1.423987 0.244273 1.756592 1.844278 0.628834 0.156429 0.267440 1.098495 0.557657 0.757430 1.527200 1.032316 1.157667 1.941839 1.435329 1.592128 0.417339 1.857219 0.027921 0.825078 0.326257 0.472209 1.266409 0.776877 0.907550 1.713542 1.197483 1.352897 0.148954 1.643699 1.805895 0.598148 0.109639 0.271416 1.099053 0.556356 0.664165 1.505314 0.973330 1.224262 1.958351 1.490436 1.656174 0.418476 1.960327 0.146807 0.899660 0.444751 0.550436 1.400125 0.831060 1.011690 1.850969 1.328814 1.486005 0.311620 1.812294 -0.006342 0.797723 0.305173 0.491901 1.322423 0.745375 0.923548 1.782732 1.275234 1.378532 0.222379 1.713386 1.920722 0.741433 0.280929 0.401426 1.209280 0.698837 0.886341 1.726784 1.225163 1.413939 0.172159 1.726536 1.893106 0.754636 0.203236 0.351446 1.190416 0.680791 0.829406 1.684757 1.210208 1.371232 0.224484 1.699825 1.891292 0.738873 0.258642 0.425836 1.243225 0.713196 0.891190 1.771850 1.235681 1.368819 0.270358 1.784768 1.928168 0.781510 0.284144 0.430703 1.331232 0.807861 0.993486 1.852203 1.325750 1.549374 0.376307 1.889520 0.034521 0.884377 0.427788 0.583618 1.373059 0.934920 1.074386 1.964373 1.419552 1.645249 0.489767 0.008746 0.185928 1.061283 0.556624 0.715745 1.608195 1.103831 1.267216 0.164802 1.613900 1.850921 0.624698 0.161160 0.408839 1.261772 0.735470 0.975590 1.782335 1.311907 1.475716 0.390097 1.869546 0.060780 0.873934 0.410643 0.589799 1.451558 0.998661 1.152970 0.054633 1.557268 1.731872 0.575393 0.117821 0.307307 1.198887 0.683313 0.897819 1.753607 1.284857 1.473685 0.314273 1.836871 0.060820 0.932547 0.420398 0.613590 1.461860 1.038061 1.203207 0.095116 1.584547 1.810340 0.624226 0.177690 0.397754 1.253072 0.802314 0.987311 1.879162 1.342549 1.566135 0.442620 1.908917 0.137619 1.011650 0.599336 0.755517 1.642027 1.174961 1.369054 0.211942 1.782659 -0.010486 0.840251 0.357521 0.581790 1.461271 1.014049 1.200403 0.044641 1.613689 1.808581 0.690100 0.250270 0.388899 1.294231 0.842257 1.021201 1.901029 1.462877 1.641210 0.546531 0.075531 0.291167 1.142643 0.703128 0.915213 1.799433 1.361706 1.526251 0.463549 1.971569 0.185024 1.029933 0.578985 0.824751 1.713096 1.250117 1.463497 0.301505 1.881822 0.143407 0.962817 0.507734 0.729352 1.590586 1.169240 1.393909 0.249757 1.802780 0.053110 0.895331 0.464179 0.669201 1.582612 1.097231 1.355127 0.231353 1.735403 0.021720 0.880348 0.431395 0.697354 1.573165 1.060767 1.347507 0.185124 1.772265 1.983494 0.879718 0.443530 0.687541 1.535902 1.151743 1.322419 0.212153 1.745041 -0.024853 0.929578 0.461659 0.706048 1.575808 1.122374 1.345663 0.241665 1.798693 0.038133 0.893828 0.497759 0.738405 1.619233 1.230529 1.391018 0.311367 1.875986 0.111417 0.982712 0.552692 0.779545 1.673926 1.277817 1.495634 0.424964 1.933807 0.193663 1.085748 0.635034 0.877002 1.797408 1.324014 1.603040 0.515913 0.114700 0.279027 1.230954 0.738758 0.971164 1.923699 1.522824 1.758904 0.629325 0.199968 0.431971 1.357304 0.920686 1.144660 0.047634 1.638457 1.887367 0.770386 0.339803 0.608798 1.474763 1.082399 1.336813 0.240373 1.815488 0.071521 0.978055 0.575127 0.812951 1.691650 1.236419 1.523987 0.428018 -0.014053 0.227398 1.211471 0.739843 1.033454 1.889876 1.490608 1.764875 0.650358 0.197774 0.479040 1.394298 0.990877 1.266721 0.153708 1.743738 1.993903 0.889105 0.452779 0.717556 1.641719 1.258531 1.472505 0.400527 0.003181 0.277816 1.190582 0.720088 1.018145 1.947482 1.529759 1.763205 0.679772 0.305019 0.551595 1.459782 1.056328 1.376741 0.254961 1.837237 0.083779 1.033490 0.597121 0.863372 1.752800 1.369817 1.661724 0.554009 0.132249 0.412929 1.366488 0.929237 1.205521 0.153686 1.780997 0.028187 0.910073 0.518459 0.747299 1.736440 1.285832 1.584544 0.515963 0.139650 0.379555 1.267964 0.869992 1.153100 0.094361 1.717865 1.955775 0.900339 0.490824 0.754072 1.676728 1.277159 1.570274 0.491155 0.127499 0.354589 1.327580 0.971916 1.203157 0.189781 1.749254 -0.000141 0.971242 0.569275 0.834995 1.792334 1.386324 1.620367 0.641313 0.177512 0.493821 1.395372 1.027112 1.276574 0.195767 1.840052 0.118782 1.057366 0.655353 0.981627 1.889857 1.497516 1.809949 0.727076 0.311895 0.619859 1.589373 1.177776 1.446089 0.402884 -0.013138 0.323859 1.242590 0.872932 1.139811 0.103389 1.705727 0.012476 0.932654 0.580713 0.844428 1.776557 1.375650 1.683357 0.653489 0.286018 0.530346 1.477873 1.102629 1.446550 0.391220 0.013493 0.315912 1.191737 0.889652 1.135899 0.064317 1.726753 0.008311 0.973187 0.561368 0.881325 1.835182 1.452878 1.728216 0.640203 0.296506 0.611465 1.537761 1.163681 1.521594 0.455106 0.113603 0.376193 1.335690 0.990813 1.252928 0.217355 1.798201 0.130538 1.099312 0.694187 1.042508 1.990873 1.625313 1.908796 0.833102 0.534393 0.775983 1.784275 1.381831 1.684754 0.630094 0.272616 0.575688 1.559911 1.184625 1.453679 0.491431 0.104067 0.400708 1.342106 0.977889 1.261797 0.248038 1.904884 0.237792 1.209205 0.805676 1.119936 0.155727 1.752922 0.098394 1.023110 0.709066 0.956558 1.945167 1.621782 1.885544 0.851378 0.511350 0.815303 1.752479 1.417551 1.712996 0.651328 0.341725 0.648800 1.652874 1.229749 1.564655 0.595314 0.162557 0.496357 1.536686 1.115189 1.443475 0.423294 0.108662 0.395018 1.332526 0.999816 1.352353 0.328398 1.960089 0.256657 1.276205 0.950110 1.251154 0.223763 1.856947 0.198310 1.202811 0.823347 1.139257 0.137493 1.791954 0.126818 1.077613 0.742716 1.034617 0.042667 1.702855 0.035869 0.942965 0.683955 0.962192 1.957952 1.636826 1.953521 0.904062 0.576569 0.908521 1.946168 1.527121 1.835900 0.915076 0.530360 0.860954 1.848124 1.476416 1.825816 0.801278 0.498232 0.791951 1.825898 1.460369 1.801238 0.807022 0.470147 0.775520 1.782957 1.421022 1.758922 0.747391 0.412834 0.729983 1.748458 1.430447 1.754281 0.725069 0.444203 0.754125 1.805117 1.457795 1.776284 0.724624 0.428724 0.744488 1.781494 1.483810 1.771396 0.825589 0.485350 0.772930 1.812210 1.489700 1.842892 0.808972 0.497919 0.826699 1.849758 1.501581 1.863781 0.830698 0.510646 0.856199 1.880392 1.487637 1.841337 0.883565 0.587660 0.933592 1.879899 1.575694 1.912690 0.882053 0.596355 0.876449 1.942318 1.604954 1.957913 0.991402 0.632658 0.965194 -0.031486 1.680264 0.039739 1.057207 0.660079 1.072774 0.084190 1.760660 0.122642 1.146243 0.783356 1.166710 0.158916 1.820281 0.220718 1.231907 0.956518 1.285669 0.300669 1.936753 0.315132 1.335110 1.060246 1.374454 0.394758 0.082667 0.417144 1.497357 1.121455 1.497524 0.558460 0.253594 0.585079 1.609798 1.353184 1.698378 0.628590 0.358364 0.702657 1.718959 1.448521 1.778728 0.811121 0.552978 0.858398 1.901305 1.551915 1.964990 1.006942 0.659821 0.990952 0.063543 1.773494 0.063737 1.160916 0.874963 1.254235 0.227903 1.909287 0.327897 1.310953 0.994777 1.331010 0.411728 0.136015 0.418712 1.516878 1.254075 1.541807 0.597800 0.341732 0.654709 1.684819 1.408026 1.806837 0.819367 0.523512 0.857369 1.895100 1.607979 1.949425 0.987941 0.703347 1.084034 0.136539 1.830122 0.250645 1.285193 0.947170 1.289548 0.328696 0.029933 0.461597 1.469311 1.207559 1.503925 0.619432 0.268080 0.678945 1.716381 1.398922 1.858266 0.884402 0.579547 0.942855 -0.007780 1.697643 0.060832 1.147089 0.859119 1.243156 0.279683 1.948552 0.303518 1.436858 1.120717 1.478393 0.523558 0.237367 0.599745 1.706188 1.421576 1.811698 0.850440 0.556037 0.945518 -0.871745 1.728994 0.072385 1.111766 0.835570 1.223297 0.269709 0.056622 0.355706 1.422876 1.147014 1.551471 0.600627 0.344660 0.724082 1.763987 1.516159 1.882823 0.942715 0.661410 1.033320 0.094097 1.855748 0.231455 1.280646 1.044202 1.442450 0.460350 0.194810 0.625856 1.678168 1.370560 1.773190 0.847696 0.600688 1.001562 0.035016 1.824811 0.145896 1.197674 0.963152 1.364275 0.436987 0.180547 0.564604 1.641854 1.399407 1.733896 0.850418 0.609483 0.927674)
        )
 
 ))
@@ -4564,23 +4570,23 @@
 
 
 (define (showall len)
-  (let* ((phs-data (get-best :all len))
-	 (phs (cadr phs-data))
+  (let ((phs-data (get-best :all len)))
+    (do ((phs (cadr phs-data))
 	 (mx (car phs-data))
-	 (v (make-float-vector (ceiling (+ (* pi 2000) 2)))))
-    (do ((incr 0.001)
+	 (v (make-float-vector (ceiling (+ (* pi 2000) 2))))
+	 (incr 0.001)
 	 (x 0.0 (+ x incr))
 	 (i 0 (+ i 1)))
-	((> x (* 2 pi)))
+	((> x (* 2 pi))
+	 (new-sound)
+	 (float-vector->channel v)
+	 (set! (y-bounds) (list (- mx) mx)))
       (do ((val 0.0)
 	   (k 0 (+ k 1))
 	   (j 1 (+ j 1)))
 	  ((= k len)
 	   (set! (v i) val))   
-	(set! val (+ val (sin (+ (* j x) (* pi (phs k))))))))
-    (new-sound)
-    (float-vector->channel v)
-    (set! (y-bounds) (list (- mx) mx))))
+	(set! val (+ val (sin (+ (* j x) (* pi (phs k))))))))))
 
 (define (showphases mx phs)
   (do ((v (make-float-vector (ceiling (+ (* pi 2000) 2))))
@@ -4600,23 +4606,23 @@
       (set! val (+ val (sin (+ (* j x) (* pi (phs k)))))))))
 
 (define (showodd len)
-  (let* ((phs-data (get-best :odd len))
-	 (phs (cadr phs-data))
+  (let ((phs-data (get-best :odd len)))
+    (do ((phs (cadr phs-data))
 	 (mx (car phs-data))
-	 (v (make-float-vector (ceiling (+ (* pi 2000) 2)))))
-    (do ((incr 0.001)
+	 (v (make-float-vector (ceiling (+ (* pi 2000) 2))))
+	 (incr 0.001)
 	 (x 0.0 (+ x incr))
 	 (i 0 (+ i 1)))
-	((> x (* 2 pi)))
+	((> x (* 2 pi))
+	 (new-sound)
+	 (float-vector->channel v)
+	 (set! (y-bounds) (list (- mx) mx)))
       (do ((val 0.0)
 	   (k 0 (+ k 1))
 	   (j 1 (+ j 2)))
 	  ((= k len)
 	   (set! (v i) val))
-	(set! val (+ val (sin (+ (* j x) (* pi (phs k))))))))
-    (new-sound)
-    (float-vector->channel v)
-    (set! (y-bounds) (list (- mx) mx))))
+	(set! val (+ val (sin (+ (* j x) (* pi (phs k))))))))))
 
 (define (showdiff n1 n2)
   (let* ((len (length n1))
@@ -4685,10 +4691,10 @@
     results
     ))
 
-;;; :(find-other-mins (car (tstall (fv 0.0 0.1 0.2 0.3))) (fv 0.0 0.1 0.2 0.3))
-;;; 3.49630991 (fv 0.0 1.1 0.2 1.3)
-;;; 3.49630680 (fv 0.0 1.9 1.8 1.7)
-;;; 3.49630979 (fv 0.0 0.9 1.8 0.7)
+;;; :(find-other-mins (car (tstall #(0.0 0.1 0.2 0.3))) #(0.0 0.1 0.2 0.3))
+;;; 3.49630991 #(0.0 1.1 0.2 1.3)
+;;; 3.49630680 #(0.0 1.9 1.8 1.7)
+;;; 3.49630979 #(0.0 0.9 1.8 0.7)
 
 
 
@@ -4723,7 +4729,7 @@
 	  (let ((new-peak (car new-peak-info)))
 	    (if (> (abs (- new-peak old-peak)) .001)
 		(format *stderr* "oops: ~D: ~A ~A~%" i old-peak new-peak))
-	    (format p "(vector ~D ~,6F (fv " i new-peak))
+	    (format p "(vector ~D ~,6F #(" i new-peak))
 	  (do ((k 1 (+ k 1)))
 	      ((= k i))
 	    (format p "~,6F " (phases (- k 1))))
@@ -4733,7 +4739,7 @@
   ;; this is slow because we call tstall on each one 
   (call-with-output-file "pp4.scm" 
     (lambda (p)
-      (format p "(define noid-min-peak-phases (vector~%~%(vector 1  1.0    (fv 0))~%(vector 2  1.76   (fv 0 0))~%~%")
+      (format p "(define noid-min-peak-phases (vector~%~%(vector 1  1.0    #(0))~%(vector 2  1.76   #(0 0))~%~%")
       (do ((i 3 (+ i 1)))
 	  ((> i 128))
 	(format *stderr* "~D " i)
@@ -4846,9 +4852,10 @@
 ;; 1 Apr 4150.840
 ;; 1 May 4150.665
 ;; 1 Jun 4150.537
+;; 1-Jul 4150.466
 
 ;    all 0.4860 (20) to 0.4986 (125), dist: 0.0000, 15.0910
-;    odd 0.4820 (11) to 0.5000 (112), dist: 0.0000, 8.5572
+;    odd 0.4820 (11) to 0.5000 (112), dist: 0.0000, 8.6281
 ;    even 0.5085 (115) to 0.5242 (22), dist: 57.6719, 0.0000
 ;    prime 0.5444 (24) to 0.5540 (67), dist: 232.5920, 0.0000
 
diff --git a/play.scm b/play.scm
index b3fd19f..b7a3493 100644
--- a/play.scm
+++ b/play.scm
@@ -183,17 +183,17 @@ amp: (play-with-amps 0 1.0 0.5) plays channel 2 of stereo sound at half amplitud
 (define play-sines 
   (let ((documentation "(play-sines freqs-and-amps) produces a tone given its spectrum: (play-sines '((440 .4) (660 .3)))"))
     (lambda (freqs-and-amps)
-      (let* ((len 44100)
-	     (num-oscs (length freqs-and-amps))
-	     (frqs (make-float-vector num-oscs))
-	     (amps (make-float-vector num-oscs)))
-	(do ((i 0 (+ i 1)))
-	    ((= i num-oscs))
-	  (set! (frqs i) (hz->radians (car (freqs-and-amps i))))
-	  (set! (amps i) (cadr (freqs-and-amps i))))
-	(let ((ob (make-oscil-bank frqs (make-float-vector num-oscs) amps #t)))
-	  (play (lambda ()
-		  (and (positive? (set! len (- len 1)))
-		       (oscil-bank ob)))))))))
+      (let ((num-oscs (length freqs-and-amps)))
+	(let ((len 44100)
+	      (frqs (make-float-vector num-oscs))
+	      (amps (make-float-vector num-oscs)))
+	  (do ((i 0 (+ i 1)))
+	      ((= i num-oscs))
+	    (set! (frqs i) (hz->radians (car (freqs-and-amps i))))
+	    (set! (amps i) (cadr (freqs-and-amps i))))
+	  (let ((ob (make-oscil-bank frqs (make-float-vector num-oscs) amps #t)))
+	    (play (lambda ()
+		    (and (positive? (set! len (- len 1)))
+			 (oscil-bank ob))))))))))
 
 ;; (play-sines '((425 .05) (450 .01) (470 .01) (546 .02) (667 .01) (789 .034) (910 .032)))
diff --git a/poly.scm b/poly.scm
index 11e58fd..fee07ff 100644
--- a/poly.scm
+++ b/poly.scm
@@ -140,24 +140,24 @@
 		    (p2len (length p2)))
 		(if (> p2len p1len)
 		    (list (vector 0) p2)
-		    (let* ((len (max p1len p2len))
-			   (r (make-vector len 0))
-			   (q (make-vector len 0)))
-		      (do ((i 0 (+ i 1)))
-			  ((= i len))
-			(set! (r i) (p1 i)))
-		      (let ((n (- p1len 1))
-			    (nv (- p2len 1)))
-			(do ((k (- n nv) (- k 1)))
-			    ((< k 0))
-			  (set! (q k) (/ (r (+ nv k)) (p2 nv)))
-			  (do ((j (+ nv k -1) (- j 1)))
-			      ((< j k))
-			    (set! (r j) (- (r j) (* (q k) (p2 (- j k)))))))
-			(do ((j nv (+ j 1)))
-			    ((> j n))
-			  (set! (r j) 0))
-			(list q r))))))))))
+		    (let ((len (max p1len p2len)))
+		      (let ((r (make-vector len 0))
+			    (q (make-vector len 0)))
+			(do ((i 0 (+ i 1)))
+			    ((= i len))
+			  (set! (r i) (p1 i)))
+			(let ((n (- p1len 1))
+			      (nv (- p2len 1)))
+			  (do ((k (- n nv) (- k 1)))
+			      ((< k 0))
+			    (set! (q k) (/ (r (+ nv k)) (p2 nv)))
+			    (do ((j (+ nv k -1) (- j 1)))
+				((< j k))
+			      (set! (r j) (- (r j) (* (q k) (p2 (- j k)))))))
+			  (do ((j nv (+ j 1)))
+			      ((> j n))
+			    (set! (r j) 0))
+			  (list q r)))))))))))
 
 (define poly/ 
   (let ((documentation "(poly/ p1 p2) divides p1 by p2, both polynomials either float-vectors or vectors"))
@@ -198,8 +198,8 @@
 
 (define (submatrix mx row col)
   (let* ((old-n (car (vector-dimensions mx)))
-	 (new-n (- old-n 1))
-	 (nmx (make-float-vector (list new-n new-n))))
+	 (nmx (let ((new-n (- old-n 1)))
+		(make-float-vector (list new-n new-n)))))
     (do ((i 0 (+ i 1))
 	 (ni 0))
 	((= i old-n))
@@ -245,8 +245,8 @@
       (error 'wrong-type-arg "poly-as-vector-resultant arguments should be vectors")
       (let* ((m (length p1))
 	     (n (length p2))
-	     (d (+ n m -2))
-	     (mat (make-float-vector (list d d))))
+	     (mat (let ((d (+ n m -2)))
+		    (make-float-vector (list d d)))))
 	;; load matrix with n-1 rows of m's coeffs then m-1 rows of n's coeffs (reversed in sense), return determinant
 	(do ((i 0 (+ i 1)))
 	    ((= i (- n 1)))
@@ -355,69 +355,68 @@
   
   (define (cubic-roots a b c d) ; ax^3 + bx^2 + cx + d
     ;; Abramowitz & Stegun 3.8.2
-    (let* ((a0 (/ d a))
-	   (a1 (/ c a))
-	   (a2 (/ b a))
-	   (q (- (/ a1 3) (/ (* a2 a2) 9)))
-	   (r (- (/ (- (* a1 a2) (* 3 a0)) 6) (/ (* a2 a2 a2) 27)))
-	   (q3r2 (+ (* q q q) (* r r)))
-	   (sq3r2 (sqrt q3r2))
-	   (r1 (expt (+ r sq3r2) 1/3))
-	   (r2 (expt (- r sq3r2) 1/3))
-	   (incr (/ (* 2 pi 0+i) 3)))
-      (call-with-exit
-       (lambda (return)
-	 (do ((i 0 (+ i 1)))   ; brute force! this can almost certainly be optimized
-	     ((= i 3))
-	   (do ((j 0 (+ j 1)))
-	       ((= j 3))
-	     (let* ((s1 (* r1 (exp (* i incr))))
-		    (s2 (* r2 (exp (* j incr))))
-		    (z1 (simplify-complex (- (+ s1 s2) (/ a2 3)))))
-	       (if (< (magnitude (poly-as-vector-eval (vector a0 a1 a2 1) z1)) poly-roots-epsilon)
-		   (let ((z2 (simplify-complex (+ (* -0.5 (+ s1 s2))
-						  (/ a2 -3) 
-						  (* (- s1 s2) 0.5 (sqrt -3))))))
-		     (if (< (magnitude (poly-as-vector-eval (vector a0 a1 a2 1) z2)) poly-roots-epsilon)
-			 (let ((z3 (simplify-complex (+ (* -0.5 (+ s1 s2)) 
-							(/ a2 -3) 
-							(* (- s1 s2) -0.5 (sqrt -3))))))
-			   (if (< (magnitude (poly-as-vector-eval (vector a0 a1 a2 1) z3)) poly-roots-epsilon)
-			       (return (list z1 z2 z3))))))))))
-	 #f))))
+    (let ((a0 (/ d a))
+	  (a1 (/ c a))
+	  (a2 (/ b a)))
+      (let* ((r (- (/ (- (* a1 a2) (* 3 a0)) 6) (/ (* a2 a2 a2) 27)))
+	     (sq3r2 (let ((q (- (/ a1 3) (/ (* a2 a2) 9))))
+		      (sqrt (+ (* q q q) (* r r))))))
+	(let ((r1 (expt (+ r sq3r2) 1/3))
+	      (r2 (expt (- r sq3r2) 1/3))
+	      (incr (/ (* 2 pi 0+i) 3)))
+	  (call-with-exit
+	   (lambda (return)
+	     (do ((i 0 (+ i 1)))   ; brute force! this can almost certainly be optimized
+		 ((= i 3))
+	       (do ((j 0 (+ j 1)))
+		   ((= j 3))
+		 (let* ((s1 (* r1 (exp (* i incr))))
+			(s2 (* r2 (exp (* j incr))))
+			(z1 (simplify-complex (- (+ s1 s2) (/ a2 3)))))
+		   (if (< (magnitude (poly-as-vector-eval (vector a0 a1 a2 1) z1)) poly-roots-epsilon)
+		       (let ((z2 (simplify-complex (+ (* -0.5 (+ s1 s2))
+						      (/ a2 -3) 
+						      (* (- s1 s2) 0.5 (sqrt -3))))))
+			 (if (< (magnitude (poly-as-vector-eval (vector a0 a1 a2 1) z2)) poly-roots-epsilon)
+			     (let ((z3 (simplify-complex (+ (* -0.5 (+ s1 s2)) 
+							    (/ a2 -3) 
+							    (* (- s1 s2) -0.5 (sqrt -3))))))
+			       (if (< (magnitude (poly-as-vector-eval (vector a0 a1 a2 1) z3)) poly-roots-epsilon)
+				   (return (list z1 z2 z3))))))))))
+	     #f))))))
   
   (define (quartic-roots a b c d e) ; ax^4 + bx^3 + cx^2 + dx + e
     ;; Weisstein, "Encyclopedia of Mathematics"
     (call-with-exit
      (lambda (return)
-       (let* ((a0 (/ e a))
-	      (a1 (/ d a))
-	      (a2 (/ c a))
-	      (a3 (/ b a))
-	      (yroot (poly-as-vector-roots (vector (- (* 4 a2 a0) (* a1 a1) (* a3 a3 a0))
-						   (- (* a1 a3) (* 4 a0))
-						   (- a2)
-						   1.0))))
-	 (when (and (pair? yroot)
-		    (= (length yroot) 4))
-	   (do ((i 0 (+ i 1)))
-	       ((= i 3))
-	     (let* ((y1 (yroot i))
-		    (R (sqrt (- (+ (* 0.25 a3 a3) y1) a2)))
-		    (D (if (= R 0)
-			   (sqrt (+ (* 0.75 a3 a3) (* -2 a2) (* 2 (sqrt (- (* y1 y1) (* 4 a0))))))
-			   (sqrt (- (+ (* 0.75 a3 a3) (* -2 a2) (/ (* 0.25 (- (+ (* 4 a3 a2) (* -8 a1)) (* a3 a3 a3))) R)) (* R R)))))
-		    (E (if (= R 0)
-			   (sqrt (+ (* 0.75 a3 a3) (* -2 a2) (* -2 (sqrt (- (* y1 y1) (* 4 a0))))))
-			   (sqrt (- (+ (* 0.75 a3 a3) (* -2 a2) (/ (* -0.25 (- (+ (* 4 a3 a2) (* -8 a1)) (* a3 a3 a3))) R)) (* R R)))))
-		    (z1 (+ (* -0.25 a3) (* 0.5 R) (* 0.5 D)))
-		    (z2 (+ (* -0.25 a3) (* 0.5 R) (* -0.5 D)))
-		    (z3 (+ (* -0.25 a3) (* -0.5 R) (* 0.5 E)))
-		    (z4 (+ (* -0.25 a3) (* -0.5 R) (* -0.5 E))))
-	       
-	       (if (< (magnitude (poly-as-vector-eval (vector e d c b a) z1)) poly-roots-epsilon)
-		   (return (list z1 z2 z3 z4))))))
-	 #f))))
+       (let ((a0 (/ e a))
+	     (a1 (/ d a))
+	     (a2 (/ c a))
+	     (a3 (/ b a)))
+	 (let ((yroot (poly-as-vector-roots (vector (- (* 4 a2 a0) (* a1 a1) (* a3 a3 a0))
+						    (- (* a1 a3) (* 4 a0))
+						    (- a2)
+						    1.0))))
+	   (when (and (pair? yroot)
+		      (= (length yroot) 4))
+	     (do ((i 0 (+ i 1)))
+		 ((= i 3))
+	       (let* ((y1 (yroot i))
+		      (R (sqrt (- (+ (* 0.25 a3 a3) y1) a2))))
+		 (let ((D (sqrt (if (= R 0)
+				    (+ (* 0.75 a3 a3) (* -2 a2) (* 2 (sqrt (- (* y1 y1) (* 4 a0)))))
+				    (- (+ (* 0.75 a3 a3) (* -2 a2) (/ (* 0.25 (- (+ (* 4 a3 a2) (* -8 a1)) (* a3 a3 a3))) R)) (* R R)))))
+		       (E (sqrt (if (= R 0)
+				    (+ (* 0.75 a3 a3) (* -2 a2) (* -2 (sqrt (- (* y1 y1) (* 4 a0)))))
+				    (- (+ (* 0.75 a3 a3) (* -2 a2) (/ (* -0.25 (- (+ (* 4 a3 a2) (* -8 a1)) (* a3 a3 a3))) R)) (* R R))))))
+		   (let ((z1 (+ (* -0.25 a3) (* 0.5 R) (* 0.5 D)))
+			 (z2 (+ (* -0.25 a3) (* 0.5 R) (* -0.5 D)))
+			 (z3 (+ (* -0.25 a3) (* -0.5 R) (* 0.5 E)))
+			 (z4 (+ (* -0.25 a3) (* -0.5 R) (* -0.5 E))))
+		   
+		     (if (< (magnitude (poly-as-vector-eval (vector e d c b a) z1)) poly-roots-epsilon)
+			 (return (list z1 z2 z3 z4))))))))
+	   #f)))))
   
   (define (nth-roots a b deg) ; ax^n + b
     (let ((n (expt (/ (- b) a) (/ 1.0 deg)))
@@ -433,119 +432,123 @@
     (cond ((= deg 0)                               ; just constant
 	   ())
 	
-	  ((= (p1 0) 0.0)                          ; constant=0.0, divide through by x, recurse on new
-	   (if (= deg 1)
-	       (list 0.0)
-	       (let ((pnew (make-vector deg)))
+	  ((not (= (p1 0) 0.0))                          ; constant=0.0, divide through by x, recurse on new
+	   (case deg
+	     ((1)                             ; ax + b -> -b/a
+	      (linear-root (p1 1) (p1 0)))
+	     
+	     ((2)                             ; ax^2 + bx + c -> -b +/- sqrt(b^2 - 4ac) / 2a
+	      (quadratic-roots (p1 2) (p1 1) (p1 0)))
+	     
+	     (else
+	      (or (and (= deg 3)
+		       ;; it may be better to fall into Newton's method here
+		       (cubic-roots (p1 3) (p1 2) (p1 1) (p1 0)))
+		  
+		  (and (= deg 4)
+		       (quartic-roots (p1 4) (p1 3) (p1 2) (p1 1) (p1 0)))
+		  
+		  ;; degree>4 (or trouble above), use Newton's method unless some simple case pops up
+		  (let ((ones 0))
+		    (do ((i 1 (+ i 1)))
+			((> i deg))
+		      (if (not (= (p1 i) 0.0))
+			  (set! ones (+ 1 ones))))
+		    
+		    (cond ((= ones 1)                  ; x^n + b -- "linear" in x^n
+			   (nth-roots (p1 deg) (p1 0) deg))
+			  
+			  ((and (= ones 2)
+				(even? deg)
+				(not (= (p1 (/ deg 2)) 0.0)))
+			   (let ((roots ())       ; quadratic in x^(n/2)
+				 (n (/ deg 2)))
+			     (for-each
+			      (lambda (r)
+				(set! roots (append roots (nth-roots 1.0 (- r) n))))
+			      (poly-as-vector-roots (vector (p1 0) 
+							    (p1 (/ deg 2)) 
+							    (p1 deg))))
+			     roots))
+			  
+			  ((and (> deg 3)
+				(= ones 3)
+				(= (modulo deg 3) 0)
+				(not (= (p1 (/ deg 3)) 0.0))
+				(not (= (p1 (/ (* 2 deg) 3)) 0.0)))
+			   (let ((roots ())   ; cubic in x^(n/3)
+				 (n (/ deg 3)))
+			     (for-each
+			      (lambda (r)
+				(set! roots (append roots (nth-roots 1.0 (- r) n))))
+			      (poly-as-vector-roots (vector (p1 0) 
+							    (p1 (/ deg 3)) 
+							    (p1 (/ (* 2 deg) 3))
+							    (p1 deg))))
+			     roots))
+			  
+			  (else 
+			   ;; perhaps get derivative roots, plug in main -- need to get nth derivative to be safe in this
+			   ;; from Cohen, "Computational Algebraic Number Theory"
+			   (let ((roots ())
+				 (q (copy p1))
+				 (n deg)
+				 (x 1.3+0.314159i))
+			     (let ((pp (poly-as-vector-derivative p1)))
+			       (let ((happy #f)
+				     (qp (copy pp))
+				     (dx 0.0)
+				     (v (poly-as-vector-eval q x))
+				     (last-dx 1.0)) ; guard against infinite loop
+				 (do ((m (* (magnitude v) (magnitude v))))
+				     (happy)
+				   (set! dx (/ v (poly-as-vector-eval qp x)))
+				   (if (or (<= (magnitude dx) poly-roots-epsilon)
+					   (= dx last-dx))
+				       (set! happy #t)
+				       (begin
+					 (set! last-dx dx)
+					 (do ((c 0 (+ 1 c))
+					      (step3 #f))
+					     ((or (>= c 20)
+						  step3
+						  (<= (magnitude dx) poly-roots-epsilon)))
+					   (let* ((y (- x dx))
+						  (v1 (poly-as-vector-eval q y))
+						  (m1 (* (magnitude v1) (magnitude v1))))
+					     (if (< m1 m)
+						 (begin
+						   (set! x y)
+						   (set! v v1)
+						   (set! m m1)
+						   (set! step3 #t))
+						 (set! dx (/ dx 4.0)))))))))
+			       (set! x (- x (/ (poly-as-vector-eval p1 x) (poly-as-vector-eval pp x))))
+			       (set! x (- x (/ (poly-as-vector-eval p1 x) (poly-as-vector-eval pp x)))))
+			     (if (< (imag-part x) poly-roots-epsilon)
+				 (begin
+				   (set! x (real-part x))
+				   (set! q (poly-as-vector/ q (vector (- x) 1.0)))
+				   (set! n (- n 1)))
+				 (begin
+				   (set! q (poly-as-vector/ q (vector (magnitude x) 0.0 1.0)))
+				   (set! n (- n 2))))
+			     (set! roots (cons x roots))
+			     (if (> n 0) 
+				 (set! roots (append (poly-as-vector-roots (poly-as-vector-reduce (car q))) roots)))
+			     roots))))))))
+
+	  ((= deg 1)
+	   (list 0.0))
+
+	  (else 
+	   (let ((pnew (make-vector deg)))
 		 (do ((i 1 (+ i 1)))
 		     ((> i deg))
 		   (set! (pnew (- i 1)) (p1 i)))
-		 (cons 0.0 (poly-as-vector-roots pnew)))))
-	    
-	    ((= deg 1)                             ; ax + b -> -b/a
-	     (linear-root (p1 1) (p1 0)))
-		
-	    ((= deg 2)                             ; ax^2 + bx + c -> -b +/- sqrt(b^2 - 4ac) / 2a
-	     (quadratic-roots (p1 2) (p1 1) (p1 0)))
-
-	    (else
-	     (or (and (= deg 3)
-		     ;; it may be better to fall into Newton's method here
-		     (cubic-roots (p1 3) (p1 2) (p1 1) (p1 0)))
-		 
-		 (and (= deg 4)
-		      (quartic-roots (p1 4) (p1 3) (p1 2) (p1 1) (p1 0)))
-		 
-		 ;; degree>4 (or trouble above), use Newton's method unless some simple case pops up
-		 (let ((ones 0))
-		   (do ((i 1 (+ i 1)))
-		       ((> i deg))
-		     (if (not (= (p1 i) 0.0))
-			 (set! ones (+ 1 ones))))
-		   
-		   (cond ((= ones 1)                  ; x^n + b -- "linear" in x^n
-			  (nth-roots (p1 deg) (p1 0) deg))
-		       
-		       ((and (= ones 2)
-			     (even? deg)
-			     (not (= (p1 (/ deg 2)) 0.0)))
-			(let ((roots ())       ; quadratic in x^(n/2)
-			      (n (/ deg 2)))
-			  (for-each
-			   (lambda (r)
-			     (set! roots (append roots (nth-roots 1.0 (- r) n))))
-			   (poly-as-vector-roots (vector (p1 0) 
-							 (p1 (/ deg 2)) 
-							 (p1 deg))))
-			  roots))
-			   
-		       ((and (> deg 3)
-			     (= ones 3)
-			     (= (modulo deg 3) 0)
-			     (not (= (p1 (/ deg 3)) 0.0))
-			     (not (= (p1 (/ (* 2 deg) 3)) 0.0)))
-			(let ((roots ())   ; cubic in x^(n/3)
-			      (n (/ deg 3)))
-			  (for-each
-			   (lambda (r)
-			     (set! roots (append roots (nth-roots 1.0 (- r) n))))
-			   (poly-as-vector-roots (vector (p1 0) 
-							 (p1 (/ deg 3)) 
-							 (p1 (/ (* 2 deg) 3))
-							 (p1 deg))))
-			  roots))
-
-		       (else 
-			;; perhaps get derivative roots, plug in main -- need to get nth derivative to be safe in this
-			;; from Cohen, "Computational Algebraic Number Theory"
-			(let ((roots ())
-			      (q (copy p1))
-			      (n deg)
-			      (x 1.3+0.314159i))
-			  (let ((pp (poly-as-vector-derivative p1)))
-			    (let ((happy #f)
-				  (qp (copy pp))
-				  (dx 0.0)
-				  (v (poly-as-vector-eval q x))
-				  (last-dx 1.0)) ; guard against infinite loop
-			      (do ((m (* (magnitude v) (magnitude v))))
-				  (happy)
-				(set! dx (/ v (poly-as-vector-eval qp x)))
-				(if (or (<= (magnitude dx) poly-roots-epsilon)
-					(= dx last-dx))
-				    (set! happy #t)
-				    (begin
-				      (set! last-dx dx)
-				      (do ((c 0 (+ 1 c))
-					   (step3 #f))
-					  ((or (>= c 20)
-					       step3
-					       (<= (magnitude dx) poly-roots-epsilon)))
-					(let* ((y (- x dx))
-					       (v1 (poly-as-vector-eval q y))
-					       (m1 (* (magnitude v1) (magnitude v1))))
-					  (if (< m1 m)
-					      (begin
-						(set! x y)
-						(set! v v1)
-						(set! m m1)
-						(set! step3 #t))
-					      (set! dx (/ dx 4.0)))))))))
-			    (set! x (- x (/ (poly-as-vector-eval p1 x) (poly-as-vector-eval pp x))))
-			    (set! x (- x (/ (poly-as-vector-eval p1 x) (poly-as-vector-eval pp x)))))
-			  (if (< (imag-part x) poly-roots-epsilon)
-			      (begin
-				(set! x (real-part x))
-				(set! q (poly-as-vector/ q (vector (- x) 1.0)))
-				(set! n (- n 1)))
-			      (begin
-				(set! q (poly-as-vector/ q (vector (magnitude x) 0.0 1.0)))
-				(set! n (- n 2))))
-			  (set! roots (cons x roots))
-			  (if (> n 0) 
-			      (set! roots (append (poly-as-vector-roots (poly-as-vector-reduce (car q))) roots)))
-			  roots)))))))))
+		 (cons 0.0 (poly-as-vector-roots pnew)))))))
 
+  
 (define poly-roots 
   (let ((documentation "(poly-roots p1) returns the roots of polynomial p1"))
     (lambda (p1) 
diff --git a/prc95.scm b/prc95.scm
index d130f52..7a42051 100644
--- a/prc95.scm
+++ b/prc95.scm
@@ -198,23 +198,22 @@
 	    (dlyout 0.0))
 	(do ((i st (+ i 1)))
 	    ((= i end))
-	  (let ((pressurediff 0.0))
-	    (if blowing
-		(if (not (= maxpressure breathpressure))
-		    (set! breathpressure ((if (< breathpressure maxpressure) + -) breathpressure attackrate)))
-		(if (> breathpressure 0.0)
-		    (set! breathpressure (- breathpressure attackrate))))
-	    (set! pressurediff (- (one-zero filt (* -0.95 dlyout)) breathpressure))
+	  (if blowing
+	      (if (not (= maxpressure breathpressure))
+		  (set! breathpressure ((if (< breathpressure maxpressure) + -) breathpressure attackrate)))
+	      (if (> breathpressure 0.0)
+		  (set! breathpressure (- breathpressure attackrate))))
+	  (let ((pressurediff (- (one-zero filt (* -0.95 dlyout)) breathpressure)))
 	    (set! dlyout (delayl delayline 
 				 (+ breathpressure 
 				    (* pressurediff 
-				       (reedtable rtable pressurediff)))))
-	    (outa i (* amplitude dlyout))
-	    (if (= ctr release)
-		(begin
-		  (set! blowing #f)
-		  (set! attackrate .0005)))
-	    (set! ctr (+ ctr 1))))))))
+				       (reedtable rtable pressurediff))))))
+	  (outa i (* amplitude dlyout))
+	  (if (= ctr release)
+	      (begin
+		(set! blowing #f)
+		(set! attackrate .0005)))
+	  (set! ctr (+ ctr 1)))))))
 
 
 (definstrument (flute beg dur freq amplitude maxa)
@@ -244,9 +243,7 @@
 	(set-gain filt -1.0)
 	(do ((i st (+ i 1)))
 	    ((= i end))
-	  (let ((randpressure (random (* 0.1 breathpressure)))
-		(temp 0.0) 
-		(pressurediff 0.0))
+	  (let ((randpressure (random (* 0.1 breathpressure))))
 	    (set! sinphase (+ sinphase 0.0007))		;5 hz vibrato?
 	    (if (> sinphase 6.28) (set! sinphase (- sinphase 6.28)))
 	    (set! randpressure (+ randpressure (* 0.05 breathpressure (sin sinphase))))
@@ -255,10 +252,10 @@
 		    (set! breathpressure ((if (< breathpressure maxpressure) + -) breathpressure attackrate)))
 		(if (> breathpressure 0.0) 
 		    (set! breathpressure (- breathpressure attackrate))))
-	    (set! temp (dc-block dcblocker (one-pole filt boreout)))
-	    (set! pressurediff (+ (jettable (delayl jetdelay (- (+ breathpressure randpressure) (* jetrefl temp))))
-				  (* endrefl temp)))
-	    (set! boreout (delayl boredelay pressurediff))
+	    (let ((pressurediff (let ((temp (dc-block dcblocker (one-pole filt boreout))))
+				  (+ (jettable (delayl jetdelay (- (+ breathpressure randpressure) (* jetrefl temp))))
+				     (* endrefl temp)))))
+	      (set! boreout (delayl boredelay pressurediff)))
 	    (outa i (* 0.3 amplitude boreout))
 	    (if (= ctr release)
 		(begin
@@ -268,10 +265,10 @@
 
 #|
 (with-sound ()
-	    (plucky 0 .3 440 .2 1.0)
-	    (bowstr .5 .3 220 .2 1.0)
-	    (brass 1 .3 440 .2 1.0)
-	    (clarinet 1.5 .3 440 .2 1.0)
-	    (flute 2 .3 440 .2 1.0))
+  (plucky 0 .3 440 .2 1.0)
+  (bowstr .5 .3 220 .2 1.0)
+  (brass 1 .3 440 .2 1.0)
+  (clarinet 1.5 .3 440 .2 1.0)
+  (flute 2 .3 440 .2 1.0))
 |#
 
diff --git a/profile.scm b/profile.scm
index 614ae0b..92b6fdb 100644
--- a/profile.scm
+++ b/profile.scm
@@ -9,18 +9,18 @@
 	  (do ((i 0 (+ i 1)))
 	      ((= i n) (newline *stderr*))
 	    (let* ((data (vect i))
-		   (key (car data))
-		   (count (cadr data))
-		   (expr (cddr data))
-		   (file (pair-filename expr))
-		   (line (pair-line-number expr)))
-	      (if (> (ash key -20) 0)
-		  (format *stderr* "~A[~A]: ~A~40T~A~%" 
-			  file line count
-			  (let ((val (object->string expr)))
-			    (if (> (length val) 40)
-				(string-append (substring val 0 36) " ...")
-				val))))))))))
+		   (expr (cddr data)))
+	      (let ((key (car data))
+		    (count (cadr data))
+		    (file (pair-filename expr))
+		    (line (pair-line-number expr)))
+		(if (> (ash key -20) 0)
+		    (format *stderr* "~A[~A]: ~A~40T~A~%" 
+			    file line count
+			    (let ((val (object->string expr)))
+			      (if (> (length val) 40)
+				  (string-append (substring val 0 36) " ...")
+				  val)))))))))))
 
 #|
 (define old-version s7-version)
diff --git a/pvoc.scm b/pvoc.scm
index b124dbd..35a1611 100644
--- a/pvoc.scm
+++ b/pvoc.scm
@@ -6,40 +6,40 @@
   (let ((documentation "(make-pvocoder fftsize overlap interp analyze edit synthesize) makes a new (Scheme-based, not CLM) phase-vocoder generator"))
 
     (lambda* (fftsize overlap interp analyze edit synthesize)
-      (let* ((N (or fftsize 512))
-	     (N2 (floor (/ N 2)))
-	     (D (floor (/ N (or overlap 4)))))
-	
-	;; basic: fftsize overlap
-	;;  everything else via closures (interp in particular)
-	;;  pv: counter ("output" here)
-	;;      interp
-	;;      fftsize ("N"), hop ("D")
-	;;      in-counter ("filptr")
-	;;      hamming window scaled
-	;;      slot for in-coming data ("in-data") (created on first call)
-	;;      float-vectors: ampinc amp freqinc phaseinc phase lastphase
-	;;      funcs: analysize, edit, resynthesize
-	
-	(list 
-	 interp                        ;output
-	 interp                        ;interp
-	 0                             ;filptr
-	 N                             ;N
-	 (let ((window (make-fft-window hamming-window fftsize)))
-	   (float-vector-scale! window (/ 2.0 (* 0.54 fftsize))) ;den = hamming window integrated
-	   window)                     ; window
-	 D                             ;D
-	 #f                            ;in-data (created in pvocoder gen)
-	 (make-float-vector fftsize)            ;ampinc
-	 (make-float-vector fftsize)            ;freqs
-	 (make-float-vector N2)                 ;amps
-	 (make-float-vector N2)                 ;phaseinc
-	 (make-float-vector N2)                 ;phases
-	 (make-float-vector N2)                 ;lastphaseinc
-	 analyze
-	 edit
-	 synthesize)))))
+      (let ((N (or fftsize 512)))
+	(let ((N2 (floor (/ N 2)))
+	      (D (floor (/ N (or overlap 4)))))
+	  
+	  ;; basic: fftsize overlap
+	  ;;  everything else via closures (interp in particular)
+	  ;;  pv: counter ("output" here)
+	  ;;      interp
+	  ;;      fftsize ("N"), hop ("D")
+	  ;;      in-counter ("filptr")
+	  ;;      hamming window scaled
+	  ;;      slot for in-coming data ("in-data") (created on first call)
+	  ;;      float-vectors: ampinc amp freqinc phaseinc phase lastphase
+	  ;;      funcs: analysize, edit, resynthesize
+	  
+	  (list 
+	   interp                        ;output
+	   interp                        ;interp
+	   0                             ;filptr
+	   N                             ;N
+	   (let ((window (make-fft-window hamming-window fftsize)))
+	     (float-vector-scale! window (/ 2.0 (* 0.54 fftsize))) ;den = hamming window integrated
+	     window)                     ; window
+	   D                             ;D
+	   #f                            ;in-data (created in pvocoder gen)
+	   (make-float-vector fftsize)            ;ampinc
+	   (make-float-vector fftsize)            ;freqs
+	   (make-float-vector N2)                 ;amps
+	   (make-float-vector N2)                 ;phaseinc
+	   (make-float-vector N2)                 ;phases
+	   (make-float-vector N2)                 ;lastphaseinc
+	   analyze
+	   edit
+	   synthesize))))))
 
 ;;; pvocoder generator: 
 ;;     input data func
@@ -240,100 +240,95 @@
     (lambda* ((fftsize 512) (overlap 4) (time 1.0)
 	      (pitch 1.0) (gate 0.0) (hoffset 0.0)
 	      (snd 0) (chn 0))
-      
       (let* ((len (framples))
-	     (filptr 0)           ; index into the file
-	     (pi2 (* 2 pi))       ; handy constant
 	     (N2 (floor (/ fftsize 2)))
-	     ;; (Nw fftsize) ;; window size -- currently restricted to the fftsize
-	     (D (floor (/ fftsize overlap))) ; decimation factor (how often do we take an fft)
-	     (interp (* (floor (/ fftsize overlap)) time)) ; interpolation factor how often do we synthesize
-	     ;; take a resynthesis gate specificed in dB, convert to linear amplitude
-	     (syngate (if (= 0.0 gate) 0.0 (expt 10 (/ (- (abs gate)) 20))))
-	     (poffset (hz->radians hoffset))
 	     (window (make-fft-window hamming-window fftsize))
-	     (fdr (make-float-vector fftsize))     ; buffer for real fft data
-	     (fdi (make-float-vector fftsize))     ; buffer for imaginary fft data
-	     (lastphase (make-float-vector N2)) ;; last phase change
-	     (lastamp (make-float-vector N2)) ;; last sampled amplitude
-	     (lastfreq (make-float-vector N2)) ;; last sampled frequency
-	     (ampinc (make-float-vector N2)) ;; amplitude interpolation increment
-	     (freqinc (make-float-vector N2)) ;; frequency interpolation increments
-	     ;; expresses the fundamental in terms of radians per output sample
-	     (fundamental (/ pi2 fftsize))
-	     (output interp)      ; count of samples that have been output
-	     ;; (nextpct 10.0)       ; how often to print out the percentage complete message
-	     (outlen (floor (* time len)))
-	     (out-data (make-float-vector (max len outlen)))
+	     (lastamp (make-float-vector N2))
+	     (lastfreq (make-float-vector N2))
 	     (in-data (channel->float-vector 0 (* fftsize 2) snd chn))
-	     (in-data-beg 0)
 	     (obank (make-oscil-bank lastfreq (make-float-vector N2) lastamp)))
-	
-	(set! window (float-vector-scale! window (/ 2.0 (* 0.54 fftsize)))) ;den = hamming window integrated
-	
-	(do ((i 0 (+ i 1)))
-	    ((>= i outlen))
-	  (when (>= output interp) ;; if all the samples have been output then do the next frame
-	    (let ((buffix (modulo filptr fftsize)))
+	(let ((pi2 (* 2 pi))
+	      (outlen (floor (* time len)))
+	      (interp (* (floor (/ fftsize overlap)) time)))
+	  (let ((filptr 0)
+		(D (floor (/ fftsize overlap)))
+		(syngate (if (= 0.0 gate)    ; take a resynthesis gate specificed in dB, convert to linear amplitude
+			     0.0000
+			     (expt 10 (/ (- (abs gate)) 20))))
+		(poffset (hz->radians hoffset))
+		(fdr (make-float-vector fftsize))
+		(fdi (make-float-vector fftsize))
+		(lastphase (make-float-vector N2))
+		(ampinc (make-float-vector N2))
+		(freqinc (make-float-vector N2))
+		(fundamental (/ pi2 fftsize))
+		(output interp)
+		(out-data (make-float-vector (max len outlen)))
+		(in-data-beg 0))
+	    
+	    (set! window (float-vector-scale! window (/ 2.0 (* 0.54 fftsize)))) ;den = hamming window integrated
+	    
+	    (do ((i 0 (+ i 1)))
+		((>= i outlen))
+	      (when (>= output interp) ;; if all the samples have been output then do the next frame
+		(let ((buffix (modulo filptr fftsize)))
 					; buffix is the index into the input buffer
 					; it wraps around circularly as time increases in the input
-	      (set! output 0)       ; reset the output sample counter
-	      ;; save the old amplitudes and frequencies
-	      (fill! lastamp 0.0)
-	      (fill! lastfreq 0.0)
-	      (float-vector-add! lastamp fdr)
-	      (float-vector-add! lastfreq fdi)
-	      (do ((k 0 (+ k 1)))
-		  ((= k fftsize))
-		;; apply the window and then stuff into the input array
-		(set! (fdr buffix) (* (window k) (in-data (- filptr in-data-beg))))
-		(set! filptr (+ 1 filptr))
-		;; increment the buffer index with wrap around
-		(set! buffix (+ 1 buffix))
-		(if (>= buffix fftsize) (set! buffix 0)))
-	      ;; rewind the file for the next hop
-	      (set! filptr (- (+ filptr D) fftsize))
-	      (if (> filptr (+ in-data-beg fftsize))
-		  (begin
-		    (set! in-data-beg filptr)
-		    (set! in-data (channel->float-vector in-data-beg (* fftsize 2) snd chn))))
-	      ;; no imaginary component input so zero out fdi
-	      (fill! fdi 0.0)
-	      ;; compute the fft
-	      (mus-fft fdr fdi fftsize 1)
-	      ;; now convert into magnitude and interpolated frequency
-	      (do ((k 0 (+ k 1)))
-		  ((= k N2))
-		(let* ((a (fdr k))
-		       (b (fdi k))
-		       (mag (sqrt (+ (* a a) (* b b))))
-		       (phase 0)
-		       (phasediff 0))
-		  (set! (fdr k) mag)    ;; current amp stored in fdr
-		  ;; mag is always positive
-		  ;; if it is zero then the phase difference is zero
-		  (if (> mag 0)
+		  (set! output 0)       ; reset the output sample counter
+		  ;; save the old amplitudes and frequencies
+		  (fill! lastamp 0.0)
+		  (fill! lastfreq 0.0)
+		  (float-vector-add! lastamp fdr)
+		  (float-vector-add! lastfreq fdi)
+		  (do ((k 0 (+ k 1)))
+		      ((= k fftsize))
+		    ;; apply the window and then stuff into the input array
+		    (set! (fdr buffix) (* (window k) (in-data (- filptr in-data-beg))))
+		    (set! filptr (+ 1 filptr))
+		    ;; increment the buffer index with wrap around
+		    (set! buffix (+ 1 buffix))
+		    (if (>= buffix fftsize) (set! buffix 0)))
+		  ;; rewind the file for the next hop
+		  (set! filptr (- (+ filptr D) fftsize))
+		  (if (> filptr (+ in-data-beg fftsize))
 		      (begin
-			(set! phase (- (atan b a)))
-			(set! phasediff (- phase (lastphase k)))
-			(set! (lastphase k) phase)
-			;; frequency wrapping from Moore p. 254
-			(if (> phasediff pi) (do () ((<= phasediff pi)) (set! phasediff (- phasediff pi2))))
-			(if (< phasediff (- pi)) (do () ((>= phasediff (- pi))) (set! phasediff (+ phasediff pi2))))))
-		  ;; current frequency stored in fdi
-		  ;; scale by the pitch transposition
-		  (set! (fdi k) (* pitch (+ (/ phasediff D) (* k fundamental) poffset)))
-		  ;; resynthesis gating
-		  (if (< (fdr k) syngate) (set! (fdr k) 0.0))
-		  ;; take (lastamp k) and count up to (fdr k)
-		  ;; interpolating by ampinc
-		  (set! (ampinc k) (/ (- (fdr k) (lastamp k)) interp))
-		  ;; take (lastfreq k) and count up to (fdi k)
-		  ;; interpolating by freqinc
-		  (set! (freqinc k) (/ (- (fdi k) (lastfreq k)) interp))))))
-	  ;; loop over the partials interpolate frequency and amplitude
-	  (float-vector-add! lastamp ampinc)
-	  (float-vector-add! lastfreq freqinc)
-	  (float-vector-set! out-data i (oscil-bank obank))
-	  (set! output (+ 1 output)))
-	(float-vector->channel out-data 0 (max len outlen))))))
+			(set! in-data-beg filptr)
+			(set! in-data (channel->float-vector in-data-beg (* fftsize 2) snd chn))))
+		  ;; no imaginary component input so zero out fdi
+		  (fill! fdi 0.0)
+		  ;; compute the fft
+		  (mus-fft fdr fdi fftsize 1)
+		  ;; now convert into magnitude and interpolated frequency
+		  (do ((k 0 (+ k 1)))
+		      ((= k N2))
+		    (let ((a (fdr k))
+			  (b (fdi k))
+			  (phasediff 0))			  
+		      (let ((mag (sqrt (+ (* a a) (* b b)))))
+			(set! (fdr k) mag)    ;; current amp stored in fdr
+			;; mag is always positive
+			;; if it is zero then the phase difference is zero
+			(if (> mag 0)
+			    (let ((phase (- (atan b a))))
+			      (set! phasediff (- phase (lastphase k)))
+			      (set! (lastphase k) phase)
+			      ;; frequency wrapping from Moore p. 254
+			      (if (> phasediff pi) (do () ((<= phasediff pi)) (set! phasediff (- phasediff pi2))))
+			      (if (< phasediff (- pi)) (do () ((>= phasediff (- pi))) (set! phasediff (+ phasediff pi2)))))))
+		      ;; current frequency stored in fdi
+		      ;; scale by the pitch transposition
+		      (set! (fdi k) (* pitch (+ (/ phasediff D) (* k fundamental) poffset))))
+		    ;; resynthesis gating
+		    (if (< (fdr k) syngate) (set! (fdr k) 0.0))
+		    ;; take (lastamp k) and count up to (fdr k)
+		    ;; interpolating by ampinc
+		    (set! (ampinc k) (/ (- (fdr k) (lastamp k)) interp))
+		    ;; take (lastfreq k) and count up to (fdi k)
+		    ;; interpolating by freqinc
+		    (set! (freqinc k) (/ (- (fdi k) (lastfreq k)) interp)))))
+	      ;; loop over the partials interpolate frequency and amplitude
+	      (float-vector-add! lastamp ampinc)
+	      (float-vector-add! lastfreq freqinc)
+	      (float-vector-set! out-data i (oscil-bank obank))
+	      (set! output (+ 1 output)))
+	    (float-vector->channel out-data 0 (max len outlen))))))))
\ No newline at end of file
diff --git a/r7rs.scm b/r7rs.scm
index db9952c..9057c28 100644
--- a/r7rs.scm
+++ b/r7rs.scm
@@ -425,28 +425,30 @@
 ;; records
 (define-macro (define-record-type type make ? . fields)
   (let ((new-type (if (pair? type) (car type) type))
-	(inherited (if (pair? type) (cdr type) ())))
+	(inherited (if (pair? type) (cdr type) ()))
+	(obj (gensym))
+	(new-obj (gensym)))
     `(begin
        (define-class ,new-type ,inherited   ; from stuff.scm
          (map (lambda (f) (if (pair? f) (car f) f)) ',fields))
        
-       (define (,? obj)    ; perhaps the define-class type predicate should use this 
-         (define (search-inherited obj type)
+       (define (,? ,obj)    ; perhaps the define-class type predicate should use this 
+         (define (search-inherited ,obj type)
 	   (define (search-inheritors objs type)
 	     (and (pair? objs)
 		  (or (search-inherited (car objs) type)
 		      (search-inheritors (cdr objs) type))))
-	   (or (eq? (obj 'class-name) type)
-	       (search-inheritors (obj 'inherited) type)))
-         (and (let? obj)
-	      (search-inherited obj ',new-type)))
+	   (or (eq? (,obj 'class-name) type)
+	       (search-inheritors (,obj 'inherited) type)))
+         (and (let? ,obj)
+	      (search-inherited ,obj ',new-type)))
        
        (define ,make 
-         (let ((new-obj (copy ,new-type)))
+         (let ((,new-obj (copy ,new-type)))
 	   ,@(map (lambda (slot)
-		    `(set! (new-obj ',slot) ,slot))
+		    `(set! (,new-obj ',slot) ,slot))
 		  (cdr make))
-	   new-obj))
+	   ,new-obj))
        
        ,@(map
 	  (lambda (field)
@@ -454,19 +456,19 @@
 	      (if (null? (cdr field))
 		  (values)
 		  (if (null? (cddr field))
-		      `(define (,(cadr field) obj)
-			 (if (not (,? obj)) 
-			     (error 'wrong-type-arg "~S should be a ~A" obj ',type))
-			 (obj ',(car field)))
+		      `(define (,(cadr field) ,obj)
+			 (if (not (,? ,obj)) 
+			     (error 'wrong-type-arg "~S should be a ~A" ,obj ',type))
+			 (,obj ',(car field)))
 		      `(begin
-			 (define (,(cadr field) obj)
-			   (if (not (,? obj)) 
-			       (error 'wrong-type-arg "~S should be a ~A" obj ',type))
-			   (obj ',(car field)))
-			 (define (,(caddr field) obj val)
-			   (if (not (,? obj)) 
-			       (error 'wrong-type-arg "~S should be a ~A" obj ',type))
-			   (set! (obj ',(car field)) val)))))))
+			 (define (,(cadr field) ,obj)
+			   (if (not (,? ,obj)) 
+			       (error 'wrong-type-arg "~S should be a ~A" ,obj ',type))
+			   (,obj ',(car field)))
+			 (define (,(caddr field) ,obj val)
+			   (if (not (,? ,obj)) 
+			       (error 'wrong-type-arg "~S should be a ~A" ,obj ',type))
+			   (set! (,obj ',(car field)) val)))))))
 	  fields)
        ',new-type)))
 
diff --git a/repl.scm b/repl.scm
index b50315c..af8ae4b 100644
--- a/repl.scm
+++ b/repl.scm
@@ -110,12 +110,11 @@
 	  (define history (dilambda 
 			   (lambda (back)
 			     (let ((i (+ histpos back)))
-			       (copy (if (< i 0)
-					 (histbuf (+ histsize i))
-					 (if (>= i histsize)
-					     (histbuf (- i histsize))
-					     (histbuf i))))))
-
+			       (copy (histbuf (if (< i 0)
+						  (+ histsize i)
+						  (if (>= i histsize)
+						      (- i histsize)
+						      i))))))
 			   (lambda (new-line)
 			     (let ((pos (history-member new-line)))
 			       (when (integer? pos)                   ; remove the earlier case, circularly compress the buffer
@@ -346,12 +345,12 @@
 		    (do ((i 0 (+ i 1)))
 			((= i new-red))
 		      (set! col (if (char=? (cur-line i) #\newline) 0 (+ col 1))))
-		    (let* ((sym (do ((i (+ new-red 1) (+ i 1)))
-				    ((not (char-alphabetic? (cur-line i)))
-				     (substring cur-line (+ new-red 1) i))))
-			   (spaces (+ col (if (member sym '("or" "and" "cond" "if"))
-					      (+ (length sym) 2)
-					      2))))
+		    (let ((spaces (let ((sym (do ((i (+ new-red 1) (+ i 1)))
+						 ((not (char-alphabetic? (cur-line i)))
+						  (substring cur-line (+ new-red 1) i)))))
+				    (+ col (if (member sym '("or" "and" "cond" "if"))
+					       (+ (length sym) 2)
+					       2)))))
 		      (if (= cursor-pos (length cur-line))
 			  (begin
 			    (set! cur-line (format #f "~A~NC" cur-line spaces #\space))
diff --git a/rubber.scm b/rubber.scm
index 093c6fb..a09daf1 100644
--- a/rubber.scm
+++ b/rubber.scm
@@ -25,11 +25,11 @@
       m))
 
   (define* (derumble-sound snd chn)
-    (let* ((old-length (framples snd chn))
-	   (fftlen (floor (expt 2 (ceiling (log (min old-length (srate snd)) 2)))))
-	   (flt-env (list 0.0 0.0 (/ (* 2 16.0) (srate snd)) 0.0 (/ (* 2 20.0) (srate snd)) 1.0 1.0 1.0)))
-      (filter-sound flt-env fftlen snd chn)
-      (set! (framples snd chn) old-length)))
+    (let ((old-length (framples snd chn)))
+      (let ((fftlen (floor (expt 2 (ceiling (log (min old-length (srate snd)) 2)))))
+	    (flt-env (list 0.0 0.0 (/ (* 2 16.0) (srate snd)) 0.0 (/ (* 2 20.0) (srate snd)) 1.0 1.0 1.0)))
+	(filter-sound flt-env fftlen snd chn)
+	(set! (framples snd chn) old-length))))
   
   (define* (sample-sound snd chn)
     (if (not (= extension 1.0))
@@ -42,27 +42,27 @@
   
   (define (crossings)
     ;; return number of upward zero crossings that don't look like silence
-    (let* ((crosses 0)
-	   (sr0 (make-sampler 0))
-	   (samp0 (next-sample sr0))
-	   (len (framples))
-	   (sum 0.0)
-	   (last-cross 0)
-	   (silence (* extension .001)))
-       (do ((i 0 (+ i 1)))
-	   ((= i len))
-	 (let ((samp1 (next-sample sr0)))
-	   (if (and (<= samp0 0.0)
-		    (> samp1 0.0)
-		    (> (- i last-cross) 4)
-		    (> sum silence))
-	       (begin
-		 (set! crosses (+ crosses 1))
-		 (set! last-cross i)
-		 (set! sum 0.0)))
-	   (set! sum (+ sum (abs samp0)))
-	   (set! samp0 samp1)))
-      crosses))
+    (let* ((sr0 (make-sampler 0))
+	   (samp0 (next-sample sr0)))
+      (let ((crosses 0)
+	    (len (framples))
+	    (sum 0.0)
+	    (last-cross 0)
+	    (silence (* extension .001)))
+	(do ((i 0 (+ i 1)))
+	    ((= i len))
+	  (let ((samp1 (next-sample sr0)))
+	    (if (and (<= samp0 0.0)
+		     (> samp1 0.0)
+		     (> (- i last-cross) 4)
+		     (> sum silence))
+		(begin
+		  (set! crosses (+ crosses 1))
+		  (set! last-cross i)
+		  (set! sum 0.0)))
+	    (set! sum (+ sum (abs samp0)))
+	    (set! samp0 samp1)))
+	crosses)))
   
   (define (env-add s0 s1 samps)
     (let ((data (make-float-vector samps))
@@ -82,190 +82,187 @@
      (derumble-sound snd chn)
      (sample-sound snd chn)
      
-     (let* ((crosses (crossings))
-	    (cross-samples (make-float-vector crosses))
-	    (cross-weights (make-float-vector crosses))
-	    (cross-marks (make-float-vector crosses))
-	    (cross-periods (make-float-vector crosses)))
-	(let* ((sr0 (make-sampler 0 snd chn)) ;; get cross points (sample numbers)
-	       (samp0 (next-sample sr0))
-	       (len (framples))
-	       (sum 0.0)
-	       (last-cross 0)
-	       (cross 0)
-	       (silence (* extension .001)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i len))
-	    (let ((samp1 (next-sample sr0)))
-	      (if (and (<= samp0 0.0)
-		       (> samp1 0.0)
-		       (> (- i last-cross) 40)
-		       (> sum silence))
-		  (begin
-		    (set! last-cross i)
-		    (set! sum 0.0)
-		    (set! (cross-samples cross) i)
-		    (set! cross (+ cross 1))))
-	      (set! sum (+ sum (abs samp0)))
-	      (set! samp0 samp1))))
+     (let ((crosses (crossings)))
+       (let ((cross-samples (make-float-vector crosses))
+	     (cross-weights (make-float-vector crosses))
+	     (cross-marks (make-float-vector crosses))
+	     (cross-periods (make-float-vector crosses)))
+	 (let* ((sr0 (make-sampler 0 snd chn)) ;; get cross points (sample numbers)
+		(samp0 (next-sample sr0)))
+	   (let ((len (framples))
+		 (sum 0.0)
+		 (last-cross 0)
+		 (cross 0)
+		 (silence (* extension .001)))
+	     (do ((i 0 (+ i 1)))
+		 ((= i len))
+	       (let ((samp1 (next-sample sr0)))
+		 (if (and (<= samp0 0.0)
+			  (> samp1 0.0)
+			  (> (- i last-cross) 40)
+			  (> sum silence))
+		     (begin
+		       (set! last-cross i)
+		       (set! sum 0.0)
+		       (set! (cross-samples cross) i)
+		       (set! cross (+ cross 1))))
+		 (set! sum (+ sum (abs samp0)))
+		 (set! samp0 samp1)))))
        
-       ;; now run through crosses getting period match info
-	(do ((i 0 (+ i 1)))
-	    ((= i (- crosses 1)))
-	  (let ((start (floor (cross-samples i)))
-		(autolen 0))
-	    (let* ((pow2 (ceiling (log (* extension (/ (srate snd) 40.0)) 2)))
-		   (fftlen (floor (expt 2 pow2)))
-		   (len4 (/ fftlen 4))
-		   (data (samples (floor start) fftlen)))
-	      (autocorrelate data)
-	      (set! autolen 0)
-	      (let ((happy #f))
-		(do ((j 1 (+ 1 j)))
-		    ((or happy (= j len4)))
-		  (if (and (< (data j) (data (+ j 1)))
-			   (> (data (+ j 1)) (data (+ j 2))))
-		      (begin
-			(set! autolen (* j 2))
-			(set! happy #t))))))
-	    (let* ((next-start (+ start autolen))
-		   (min-i (+ i 1))
-		   (min-samps (floor (abs (- (cross-samples min-i) next-start))))
-		   (mink (min crosses (+ i zeros-checked))))
-	      (do ((k (+ i 2) (+ k 1)))
-		  ((= k mink))
-		(let ((dist (floor (abs (- (cross-samples k) next-start)))))
-		  (if (< dist min-samps)
-		      (begin
-			(set! min-samps dist)
-			(set! min-i k)))))
-	      (let ((current-mark min-i)
-		    (current-min 0.0))
-		(let* ((s1 (floor (cross-samples current-mark)))
-		       (sr0 (make-sampler (floor start)))
-		       (sr1 (make-sampler (floor s1)))
-		       (ampsum (make-one-pole 1.0 -1.0))
-		       (diffsum (make-one-pole 1.0 -1.0)))
-		  (do ((samp0 0.0)
-		       (i 0 (+ i 1)))
-		      ((= i autolen))
-		    (set! samp0 (next-sample sr0))
-		    (one-pole ampsum (abs samp0))
-		    (one-pole diffsum (abs (- (next-sample sr1) samp0))))
-		  (set! diffsum (one-pole diffsum 0.0))
-		  (set! ampsum (one-pole ampsum 0.0))
-		  (set! current-min (if (= diffsum 0.0) 0.0 (/ diffsum ampsum))))
-		(set! min-samps (round (* 0.5 current-min)))
-		(let ((top (min (- crosses 1) current-mark (+ i zeros-checked))))
-		  (do ((k (+ i 1) (+ k 1)))
-		      ((= k top))
-		    (let ((wgt 0.0))
-		      (let* ((s1 (floor (cross-samples k)))
-			     (sr0 (make-sampler (floor start)))
-			     (sr1 (make-sampler (floor s1)))
-			     (ampsum (make-one-pole 1.0 -1.0))
-			     (diffsum (make-one-pole 1.0 -1.0)))
-			(do ((samp0 0.0)
-			     (i 0 (+ i 1)))
-			    ((= i autolen))
-			  (set! samp0 (next-sample sr0))
-			  (one-pole ampsum (abs samp0))
-			  (one-pole diffsum (abs (- (next-sample sr1) samp0))))
-			(set! diffsum (one-pole diffsum 0.0))
-			(set! ampsum (one-pole ampsum 0.0))
-			(set! wgt (if (= diffsum 0.0) 0.0 (/ diffsum ampsum))))
-		      (if (< wgt min-samps)
-			  (begin
-			    (set! min-samps (floor wgt))
-			    (set! min-i k))))))
-		(if (not (= current-mark min-i))
-		    (set! (cross-weights i) 1000.0) ; these are confused, so effectively erase them
-		    (begin
-		      (set! (cross-weights i) current-min)
-		      (set! (cross-marks i) current-mark)
-		      (set! (cross-periods i) (- (cross-samples current-mark) (cross-samples i)))
-		      ))
-		))
-	    ))
-       ;; now sort weights to scatter the changes as evenly as possible
-       (let* ((len (framples snd chn))
-	      (adding (> stretch 1.0))
-	      (samps (floor (* (abs (- stretch 1.0)) len)))
-	      (needed-samps (if adding samps (min len (* samps 2))))
-	      (handled 0)
-	      (mult 1)
-	      (curs 0)
-	      (weights (length cross-weights))
-	      (edits (make-float-vector weights)))
-	  (do ()
-	      ((or (= curs weights) (>= handled needed-samps)))
-	    ;; need to find (more than) enough splice points to delete samps
-	    (let ((best-mark -1)
-		  (old-handled handled))
-	      (let ((cur 0)
-		    (curmin (cross-weights 0))
-		    (len (length cross-weights)))
-		(do ((i 0 (+ i 1)))
-		    ((= i len))
-		  (if (< (cross-weights i) curmin)
-		      (begin
-			(set! cur i)
-			(set! curmin (cross-weights i)))))
-		(set! best-mark cur))
-	      (set! handled (+ handled (floor (cross-periods best-mark))))
-	      (if (or (< handled needed-samps)
-		      (< (- handled needed-samps) (- needed-samps old-handled)))
-		  (begin
-		    (set! (edits curs) best-mark)
-		    (set! curs (+ 1 curs))))
-	      (set! (cross-weights best-mark) 1000.0)))
-	  
-	 (if (>= curs weights)
-	     (set! mult (ceiling (/ needed-samps handled))))
-	 
-	 (let ((changed-len 0)
-	       (weights (length cross-weights)))
-	   (do ((i 0 (+ i 1)))
-	       ((or (= i curs) (> changed-len samps)))
-	     (let* ((best-mark (floor (edits i)))
-		    (beg (floor (cross-samples best-mark)))
-		    (next-beg (floor (cross-samples (floor (cross-marks best-mark)))))
-		    (len (floor (cross-periods best-mark))))
-	       (when (> len 0)
-		 (if adding
-		     (let ((new-samps
-			    (env-add beg next-beg len)))
-		       (if show-details
-			   (add-named-mark beg (format #f "~D:~D" i (floor (/ len extension)))))
-		       (insert-samples beg len new-samps)
-		       (if (> mult 1)
-			   (do ((k 1 (+ k 1)))
-			       ((= k mult))
-			     (insert-samples (+ beg (* k len)) len new-samps)))
-		       (set! changed-len (+ changed-len (* mult len)))
-		       (do ((j 0 (+ 1 j)))
-			   ((= j weights))
-			 (let ((curbeg (floor (cross-samples j))))
-			   (if (> curbeg beg)
-			       (set! (cross-samples j) (+ curbeg len))))))
+	 ;; now run through crosses getting period match info
+	 (do ((i 0 (+ i 1)))
+	     ((= i (- crosses 1)))
+	   (let ((start (floor (cross-samples i)))
+		 (autolen 0))
+	     (let ((fftlen (floor (expt 2 (ceiling (log (* extension (/ (srate snd) 40.0)) 2))))))
+	       (let ((len4 (/ fftlen 4))
+		     (data (samples (floor start) fftlen)))
+		 (autocorrelate data)
+		 (set! autolen 0)
+		 (let ((happy #f))
+		   (do ((j 1 (+ 1 j)))
+		       ((or happy (= j len4)))
+		     (if (and (< (data j) (data (+ j 1)))
+			      (> (data (+ j 1)) (data (+ j 2))))
+			 (begin
+			   (set! autolen (* j 2))
+			   (set! happy #t)))))))
+	     (let* ((next-start (+ start autolen))
+		    (min-i (+ i 1))
+		    (min-samps (floor (abs (- (cross-samples min-i) next-start))))
+		    (mink (min crosses (+ i zeros-checked))))
+	       (do ((k (+ i 2) (+ k 1)))
+		   ((= k mink))
+		 (let ((dist (floor (abs (- (cross-samples k) next-start)))))
+		   (if (< dist min-samps)
+		       (begin
+			 (set! min-samps dist)
+			 (set! min-i k)))))
+	       (let ((current-mark min-i)
+		     (current-min 0.0))
+		 (let* ((s1 (floor (cross-samples current-mark)))
+			(sr0 (make-sampler (floor start)))
+			(sr1 (make-sampler (floor s1)))
+			(ampsum (make-one-pole 1.0 -1.0))
+			(diffsum (make-one-pole 1.0 -1.0)))
+		   (do ((samp0 0.0)
+			(i 0 (+ i 1)))
+		       ((= i autolen))
+		     (set! samp0 (next-sample sr0))
+		     (one-pole ampsum (abs samp0))
+		     (one-pole diffsum (abs (- (next-sample sr1) samp0))))
+		   (set! diffsum (one-pole diffsum 0.0))
+		   (set! ampsum (one-pole ampsum 0.0))
+		   (set! current-min (if (= diffsum 0.0) 0.0 (/ diffsum ampsum))))
+		 (set! min-samps (round (* 0.5 current-min)))
+		 (let ((top (min (- crosses 1) current-mark (+ i zeros-checked))))
+		   (do ((k (+ i 1) (+ k 1)))
+		       ((= k top))
+		     (let ((wgt 0.0))
+		       (let* ((s1 (floor (cross-samples k)))
+			      (sr0 (make-sampler (floor start)))
+			      (sr1 (make-sampler (floor s1)))
+			      (ampsum (make-one-pole 1.0 -1.0))
+			      (diffsum (make-one-pole 1.0 -1.0)))
+			 (do ((samp0 0.0)
+			      (i 0 (+ i 1)))
+			     ((= i autolen))
+			   (set! samp0 (next-sample sr0))
+			   (one-pole ampsum (abs samp0))
+			   (one-pole diffsum (abs (- (next-sample sr1) samp0))))
+			 (set! diffsum (one-pole diffsum 0.0))
+			 (set! ampsum (one-pole ampsum 0.0))
+			 (set! wgt (if (= diffsum 0.0) 0.0 (/ diffsum ampsum))))
+		       (if (< wgt min-samps)
+			   (begin
+			     (set! min-samps (floor wgt))
+			     (set! min-i k))))))
+		 (if (not (= current-mark min-i))
+		     (set! (cross-weights i) 1000.0) ; these are confused, so effectively erase them
 		     (begin
-		       (if (>= beg (framples))
-			   (snd-print (format #f "trouble at ~D: ~D of ~D~%" i beg (framples))))
-		       (if show-details
-			   (add-named-mark (- beg 1) (format #f "~D:~D" i (floor (/ len extension)))))
-		       (delete-samples beg len)
-		       (set! changed-len (+ changed-len len))
-		       (let ((end (+ beg len)))
-			 (do ((j 0 (+ 1 j)))
-			     ((= j weights))
-			   (let ((curbeg (floor (cross-samples j))))
-			     (if (> curbeg beg)
-				 (if (< curbeg end)
-				     (set! (cross-periods j) 0)
-				     (set! (cross-samples j) (- curbeg len))))))))))))
-	   (if show-details
-	       (snd-print (format #f "wanted: ~D, got ~D~%" (floor samps) (floor changed-len)))))
-	 ))
+		       (set! (cross-weights i) current-min)
+		       (set! (cross-marks i) current-mark)
+		       (set! (cross-periods i) (- (cross-samples current-mark) (cross-samples i)))
+		      ))))))
+	 ;; now sort weights to scatter the changes as evenly as possible
+	 (let ((len (framples snd chn)))
+	   (let ((adding (> stretch 1.0))
+		 (samps (floor (* (abs (- stretch 1.0)) len)))
+		 (weights (length cross-weights)))
+	     (let ((needed-samps (if adding samps (min len (* samps 2))))
+		   (handled 0)
+		   (mult 1)
+		   (curs 0)
+		   (edits (make-float-vector weights)))
+	       (do ()
+		   ((or (= curs weights) (>= handled needed-samps)))
+		 ;; need to find (more than) enough splice points to delete samps
+		 (let ((best-mark -1)
+		       (old-handled handled))
+		   (let ((cur 0)
+			 (curmin (cross-weights 0))
+			 (len (length cross-weights)))
+		     (do ((i 0 (+ i 1)))
+			 ((= i len))
+		       (if (< (cross-weights i) curmin)
+			   (begin
+			     (set! cur i)
+			     (set! curmin (cross-weights i)))))
+		     (set! best-mark cur))
+		   (set! handled (+ handled (floor (cross-periods best-mark))))
+		   (if (or (< handled needed-samps)
+			   (< (- handled needed-samps) (- needed-samps old-handled)))
+		       (begin
+			 (set! (edits curs) best-mark)
+			 (set! curs (+ 1 curs))))
+		   (set! (cross-weights best-mark) 1000.0)))
+	       
+	       (if (>= curs weights)
+		   (set! mult (ceiling (/ needed-samps handled))))
+	       
+	       (let ((changed-len 0)
+		     (weights (length cross-weights)))
+		 (do ((i 0 (+ i 1)))
+		     ((or (= i curs) (> changed-len samps)))
+		   (let* ((best-mark (floor (edits i)))
+			  (beg (floor (cross-samples best-mark)))
+			  (next-beg (floor (cross-samples (floor (cross-marks best-mark)))))
+			  (len (floor (cross-periods best-mark))))
+		     (when (> len 0)
+		       (if adding
+			   (let ((new-samps
+				  (env-add beg next-beg len)))
+			     (if show-details
+				 (add-named-mark beg (format #f "~D:~D" i (floor (/ len extension)))))
+			     (insert-samples beg len new-samps)
+			     (if (> mult 1)
+				 (do ((k 1 (+ k 1)))
+				     ((= k mult))
+				   (insert-samples (+ beg (* k len)) len new-samps)))
+			     (set! changed-len (+ changed-len (* mult len)))
+			     (do ((j 0 (+ 1 j)))
+				 ((= j weights))
+			       (let ((curbeg (floor (cross-samples j))))
+				 (if (> curbeg beg)
+				     (set! (cross-samples j) (+ curbeg len))))))
+			   (begin
+			     (if (>= beg (framples))
+				 (snd-print (format #f "trouble at ~D: ~D of ~D~%" i beg (framples))))
+			     (if show-details
+				 (add-named-mark (- beg 1) (format #f "~D:~D" i (floor (/ len extension)))))
+			     (delete-samples beg len)
+			     (set! changed-len (+ changed-len len))
+			     (let ((end (+ beg len)))
+			       (do ((j 0 (+ 1 j)))
+				   ((= j weights))
+				 (let ((curbeg (floor (cross-samples j))))
+				   (if (> curbeg beg)
+				       (if (< curbeg end)
+					   (set! (cross-periods j) 0)
+					   (set! (cross-samples j) (- curbeg len))))))))))))
+		 (if show-details
+		     (snd-print (format #f "wanted: ~D, got ~D~%" (floor samps) (floor changed-len)))))
+	     )))))
      ;; and return to original srate
      (unsample-sound snd chn)
      (if show-details
diff --git a/s7-slib-init.scm b/s7-slib-init.scm
index ddfa3f5..be378f5 100644
--- a/s7-slib-init.scm
+++ b/s7-slib-init.scm
@@ -102,7 +102,7 @@
       (lambda (vic name)
 	(let ((L (string-length vic)))
 	  (string-append
-	   (if (or (zero? (string-length vic))
+	   (if (or (string=? vic "")
 		   (not (char=? #\] (string-ref vic (- L 1)))))
 	       (values vic "[")
 	       (values (substring vic 0 (- L 1)) "."))
@@ -334,14 +334,14 @@
     (else (slib:error 'open-file 'mode? modes))))
 (define (port? obj) (or (input-port? obj) (output-port? obj)))
 (define (call-with-open-ports . ports)
-  (define proc (car ports))
-  (cond ((procedure? proc) (set! ports (cdr ports)))
-	(else (set! ports (reverse ports))
-	      (set! proc (car ports))
-	      (set! ports (reverse (cdr ports)))))
-  (let ((ans (apply proc ports)))
-    (for-each close-port ports)
-    ans))
+  (let ((proc (car ports)))
+    (cond ((procedure? proc) (set! ports (cdr ports)))
+	  (else (set! ports (reverse ports))
+		(set! proc (car ports))
+		(set! ports (reverse (cdr ports)))))
+    (let ((ans (apply proc ports)))
+      (for-each close-port ports)
+      ans)))
 (define (close-port port)
   (cond ((input-port? port)
 	 (close-input-port port)
@@ -358,7 +358,7 @@
 
 ;;@ define these as appropriate for your system.
 (define slib:tab #\tab)
-(define slib:form-feed (integer->char 12))
+(define slib:form-feed #\xc) ;(integer->char 12))
 
 ;;@ Support for older versions of Scheme.  Not enough code for its own file.
 (define (last-pair lst) (if (pair? (cdr lst)) (last-pair (cdr lst)) lst))
diff --git a/s7.c b/s7.c
index 5cfa7ec..44b509b 100644
--- a/s7.c
+++ b/s7.c
@@ -856,7 +856,9 @@ struct s7_scheme {
   gc_obj *permanent_objects;
 
   s7_pointer protected_objects, protected_accessors;       /* a vector of gc-protected objects */
-  unsigned int protected_objects_size, protected_objects_loc, protected_accessors_size, protected_accessors_loc;
+  unsigned int *gpofl;
+  unsigned int protected_objects_size, protected_accessors_size, protected_accessors_loc;
+  int gpofl_loc;
 
   s7_pointer nil;                     /* empty list */
   s7_pointer T;                       /* #t */
@@ -1268,6 +1270,8 @@ static s7_scheme *hidden_sc = NULL;
   static s7_pointer check_ref7(s7_pointer p, const char *func, int line);
   static s7_pointer check_ref8(s7_pointer p, const char *func, int line);
   static s7_pointer check_ref9(s7_pointer p, const char *func, int line);
+  static s7_pointer check_ref10(s7_pointer p, const char *func, int line);
+  static s7_pointer check_ref11(s7_pointer p, const char *func, int line);
   static s7_pointer check_nref(s7_pointer p, const char *func, int line);
   static void print_gc_info(s7_pointer obj, int line);
 
@@ -1333,17 +1337,19 @@ static s7_scheme *hidden_sc = NULL;
   #define _TBfl(P) check_ref(P, T_BAFFLE,            __func__, __LINE__, NULL, NULL)
   #define _TGot(P) check_ref(P, T_GOTO,              __func__, __LINE__, NULL, NULL)
   #define _TStk(P) check_ref(P, T_STACK,             __func__, __LINE__, NULL, NULL)
-  #define _TLst(P) check_ref(P, T_PAIR,              __func__, __LINE__, NULL, NULL)
+  #define _TPair(P) check_ref(P, T_PAIR,             __func__, __LINE__, NULL, NULL)
   #define _TCat(P) check_ref(P, T_CATCH,             __func__, __LINE__, NULL, NULL)
   #define _TDyn(P) check_ref(P, T_DYNAMIC_WIND,      __func__, __LINE__, NULL, NULL)
   #define _TSlt(P) check_ref(P, T_SLOT,              __func__, __LINE__, NULL, NULL)
   #define _TSlp(P) check_ref2(P, T_SLOT, T_PAIR,     __func__, __LINE__, NULL, NULL)
+  #define _TSln(P) check_ref2(P, T_SLOT, T_NIL,      __func__, __LINE__, NULL, NULL)
+  #define _TSld(P) check_ref2(P, T_SLOT, T_UNIQUE,   __func__, __LINE__, NULL, NULL)
   #define _TSyn(P) check_ref(P, T_SYNTAX,            __func__, __LINE__, NULL, NULL)
   #define _TMac(P) check_ref(P, T_C_MACRO,           __func__, __LINE__, NULL, NULL)
   #define _TLet(P) check_ref(P, T_LET,               __func__, __LINE__, NULL, NULL)
   #define _TLid(P) check_ref2(P, T_LET, T_NIL,       __func__, __LINE__, NULL, NULL)
   #define _TRan(P) check_ref(P, T_RANDOM_STATE,      __func__, __LINE__, NULL, NULL)
-  #define _TCdr(P) check_ref2(P, T_PAIR, T_NIL,      __func__, __LINE__, "gc", NULL)
+  #define _TLst(P) check_ref2(P, T_PAIR, T_NIL,      __func__, __LINE__, "gc", NULL)
   #define _TStr(P) check_ref(P, T_STRING,            __func__, __LINE__, "sweep", NULL)
   #define _TObj(P) check_ref(P, T_C_OBJECT,          __func__, __LINE__, "free_object", NULL)
   #define _THsh(P) check_ref(P, T_HASH_TABLE,        __func__, __LINE__, "sweep", "free_hash_table")
@@ -1360,6 +1366,8 @@ static s7_scheme *hidden_sc = NULL;
   #define _TNum(P) check_ref7(P,                     __func__, __LINE__) /* any number (not bignums I think) */
   #define _TSeq(P) check_ref8(P,                     __func__, __LINE__) /* any sequence or structure */
   #define _TMet(P) check_ref9(P,                     __func__, __LINE__) /* anything that might contain a method */
+  #define _TArg(P) check_ref10(P,                    __func__, __LINE__) /* closure arg (list, symbol) */
+  #define _TApp(P) check_ref11(P,                    __func__, __LINE__) /* setter (any_procedure or #f) */
   #define _NFre(P) check_nref(P,                     __func__, __LINE__) /* not free */
   #define _TSet(P) check_seti(sc, P,                 __func__, __LINE__) /* set of immutable value */
 
@@ -1393,22 +1401,26 @@ static s7_scheme *hidden_sc = NULL;
   #define _TIvc(P)                    P
   #define _TFvc(P)                    P
   #define _TVec(P)                    P
-  #define _TLst(P)                    P
+  #define _TPair(P)                   P
   #define _TRan(P)                    P
   #define _TDyn(P)                    P
   #define _TCat(P)                    P
   #define _TClo(P)                    P
   #define _TFnc(P)                    P
   #define _TSlt(P)                    P
+  #define _TSln(P)                    P
+  #define _TSld(P)                    P
   #define _TSlp(P)                    P
   #define _TSym(P)                    P
   #define _TLet(P)                    P
   #define _TLid(P)                    P
-  #define _TCdr(P)                    P
+  #define _TLst(P)                    P
   #define _TNum(P)                    P
   #define _TSeq(P)                    P
   #define _TMet(P)                    P
   #define _TMac(P)                    P
+  #define _TArg(P)                    P
+  #define _TApp(P)                    P
   #define _NFre(P)                    P
 #endif
 
@@ -1467,8 +1479,8 @@ static s7_scheme *hidden_sc = NULL;
 /* closure, c_function, applicable object, goto or continuation, should be in second byte */
 
 #define T_OPTIMIZED                   (1 << (TYPE_BITS + 3))
-#define set_optimized(p)              typesflag(_TLst(p)) |= T_OPTIMIZED
-#define clear_optimized(p)            typesflag(_TLst(p)) &= (~T_OPTIMIZED)
+#define set_optimized(p)              typesflag(_TPair(p)) |= T_OPTIMIZED
+#define clear_optimized(p)            typesflag(_TPair(p)) &= (~T_OPTIMIZED)
 #define OPTIMIZED_PAIR                (unsigned short)(T_PAIR | T_OPTIMIZED)
 #define is_optimized(p)               (typesflag(p) == OPTIMIZED_PAIR)
 /*   this is faster than the bit extraction above and the same speed as xor */
@@ -1496,8 +1508,8 @@ static s7_scheme *hidden_sc = NULL;
 
 #define T_MULTIPLE_VALUE              (1 << (TYPE_BITS + 7))
 #define is_multiple_value(p)          ((typesflag(_NFre(p)) & T_MULTIPLE_VALUE) != 0)
-#define set_multiple_value(p)         typesflag(_TLst(p)) |= T_MULTIPLE_VALUE
-#define clear_multiple_value(p)       typesflag(_TLst(p)) &= (~T_MULTIPLE_VALUE)
+#define set_multiple_value(p)         typesflag(_TPair(p)) |= T_MULTIPLE_VALUE
+#define clear_multiple_value(p)       typesflag(_TPair(p)) &= (~T_MULTIPLE_VALUE)
 #define multiple_value(p)             p
 /* this bit marks a list (from "values") that is waiting for a
  *    chance to be spliced into its caller's argument list.  It is normally
@@ -1505,9 +1517,9 @@ static s7_scheme *hidden_sc = NULL;
  */
 
 #define T_MATCHED                     T_MULTIPLE_VALUE
-#define is_matched_pair(p)            ((typesflag(_TLst(p)) & T_MATCHED) != 0)
-#define set_match_pair(p)             typesflag(_TLst(p)) |= T_MATCHED
-#define clear_match_pair(p)           typesflag(_TLst(p)) &= (~T_MATCHED)
+#define is_matched_pair(p)            ((typesflag(_TPair(p)) & T_MATCHED) != 0)
+#define set_match_pair(p)             typesflag(_TPair(p)) |= T_MATCHED
+#define clear_match_pair(p)           typesflag(_TPair(p)) &= (~T_MATCHED)
 #define is_matched_symbol(p)          ((typesflag(_TSym(p)) & T_MATCHED) != 0)
 #define set_match_symbol(p)           typesflag(_TSym(p)) |= T_MATCHED
 #define clear_match_symbol(p)         typesflag(_TSym(p)) &= (~T_MATCHED)
@@ -1532,8 +1544,8 @@ static s7_scheme *hidden_sc = NULL;
 /* this marks something defined (bound) at the top-level, and never defined locally */
 
 #define T_UNSAFE_DO                   T_GLOBAL
-#define is_unsafe_do(p)               ((typeflag(_TLst(p)) & T_UNSAFE_DO) != 0)
-#define set_unsafe_do(p)              typeflag(_TLst(p)) |= T_UNSAFE_DO
+#define is_unsafe_do(p)               ((typeflag(_TPair(p)) & T_UNSAFE_DO) != 0)
+#define set_unsafe_do(p)              typeflag(_TPair(p)) |= T_UNSAFE_DO
 #define is_unsafe_sort(p)             is_unsafe_do(p)
 #define set_unsafe_sort(p)            set_unsafe_do(p)
 /* marks do-loops (and sort functions) that resist optimization */
@@ -1547,8 +1559,8 @@ static s7_scheme *hidden_sc = NULL;
  */
 
 #define T_LINE_NUMBER                 (1 << (TYPE_BITS + 10))
-#define has_line_number(p)            ((typeflag(_TLst(p)) & T_LINE_NUMBER) != 0)
-#define set_has_line_number(p)        typeflag(_TLst(p)) |= T_LINE_NUMBER
+#define has_line_number(p)            ((typeflag(_TPair(p)) & T_LINE_NUMBER) != 0)
+#define set_has_line_number(p)        typeflag(_TPair(p)) |= T_LINE_NUMBER
 /* pair in question has line/file info added during read, or the environment has function placement info 
  *   this bit should not be in the first byte -- SYNTACTIC_PAIR ignores it.
  */
@@ -1584,8 +1596,8 @@ static s7_scheme *hidden_sc = NULL;
 #define clear_collected_and_shared(p) typeflag(p) &= (~(T_COLLECTED | T_SHARED)) /* this can clear free cells = calloc */
 
 #define T_OVERLAY                     (1 << (TYPE_BITS + 12))
-#define set_overlay(p)                typeflag(_TLst(p)) |= T_OVERLAY
-#define is_overlaid(p)                ((typeflag(_TLst(p)) & T_OVERLAY) != 0)
+#define set_overlay(p)                typeflag(_TPair(p)) |= T_OVERLAY
+#define is_overlaid(p)                ((typeflag(_TPair(p)) & T_OVERLAY) != 0)
 /* optimizer flag that marks a cell whose opt_back [ie opt1] points to the previous cell in a list */
 
 #define T_SAFE_PROCEDURE              (1 << (TYPE_BITS + 13))
@@ -1595,9 +1607,9 @@ static s7_scheme *hidden_sc = NULL;
  */
 
 #define T_CHECKED                     (1 << (TYPE_BITS + 14))
-#define set_checked(p)                typeflag(_TLst(p)) |= T_CHECKED
-#define is_checked(p)                 ((typeflag(_TLst(p)) & T_CHECKED) != 0)
-#define clear_checked(p)              typeflag(_TLst(p)) &= (~T_CHECKED)
+#define set_checked(p)                typeflag(_TPair(p)) |= T_CHECKED
+#define is_checked(p)                 ((typeflag(_TPair(p)) & T_CHECKED) != 0)
+#define clear_checked(p)              typeflag(_TPair(p)) &= (~T_CHECKED)
 
 #define set_checked_slot(p)           typeflag(_TSlt(p)) |= T_CHECKED
 #define is_checked_slot(p)            ((typeflag(_TSlt(p)) & T_CHECKED) != 0)
@@ -1605,10 +1617,10 @@ static s7_scheme *hidden_sc = NULL;
 
 
 #define T_UNSAFE                      (1 << (TYPE_BITS + 15))
-#define set_unsafe(p)                 typeflag(_TLst(p)) |= T_UNSAFE
-#define set_unsafely_optimized(p)     typeflag(_TLst(p)) |= (T_UNSAFE | T_OPTIMIZED)
-#define is_unsafe(p)                  ((typeflag(_TLst(p)) & T_UNSAFE) != 0)
-#define clear_unsafe(p)               typeflag(_TLst(p)) &= (~T_UNSAFE)
+#define set_unsafe(p)                 typeflag(_TPair(p)) |= T_UNSAFE
+#define set_unsafely_optimized(p)     typeflag(_TPair(p)) |= (T_UNSAFE | T_OPTIMIZED)
+#define is_unsafe(p)                  ((typeflag(_TPair(p)) & T_UNSAFE) != 0)
+#define clear_unsafe(p)               typeflag(_TPair(p)) &= (~T_UNSAFE)
 #define is_safely_optimized(p)        ((typeflag(p) & (T_OPTIMIZED | T_UNSAFE)) == T_OPTIMIZED)
 /* optimizer flag saying "this expression is not completely self-contained.  It might involve the stack, etc" */
 
@@ -1635,8 +1647,8 @@ static s7_scheme *hidden_sc = NULL;
 /* optimizer flag for a procedure that sets some variable (set-car! for example). */
 
 #define T_ALLOW_OTHER_KEYS            T_SETTER
-#define set_allow_other_keys(p)       typeflag(_TLst(p)) |= T_ALLOW_OTHER_KEYS
-#define allows_other_keys(p)          ((typeflag(_TLst(p)) & T_ALLOW_OTHER_KEYS) != 0)
+#define set_allow_other_keys(p)       typeflag(_TPair(p)) |= T_ALLOW_OTHER_KEYS
+#define allows_other_keys(p)          ((typeflag(_TPair(p)) & T_ALLOW_OTHER_KEYS) != 0)
 /* marks arglist that allows keyword args other than those in the parameter list; can't allow
  *   (define* (f :allow-other-keys)...) because there's only one nil, and besides, it does say "other".
  */
@@ -1695,14 +1707,14 @@ bool s7_is_stepper(s7_pointer p)      {return(is_stepper(p));}
 /* symbol is from gensym (GC-able etc) */
 
 #define T_SIMPLE_ARGS                 T_GENSYM
-#define has_simple_args(p)            ((typeflag(_TLst(p)) & T_SIMPLE_ARGS) != 0)
-#define set_simple_args(p)            typeflag(_TLst(p)) |= T_SIMPLE_ARGS
+#define has_simple_args(p)            ((typeflag(_TPair(p)) & T_SIMPLE_ARGS) != 0)
+#define set_simple_args(p)            typeflag(_TPair(p)) |= T_SIMPLE_ARGS
 /* are all lambda* default values simple? */
 
 #define T_LIST_IN_USE                 T_GENSYM
-#define list_is_in_use(p)             ((typeflag(_TLst(p)) & T_LIST_IN_USE) != 0)
-#define set_list_in_use(p)            typeflag(_TLst(p)) |= T_LIST_IN_USE
-#define clear_list_in_use(p)          typeflag(_TLst(p)) &= (~T_LIST_IN_USE)
+#define list_is_in_use(p)             ((typeflag(_TPair(p)) & T_LIST_IN_USE) != 0)
+#define set_list_in_use(p)            typeflag(_TPair(p)) |= T_LIST_IN_USE
+#define clear_list_in_use(p)          typeflag(_TPair(p)) &= (~T_LIST_IN_USE)
 /* these could all be one permanent list, indexed from inside, and this bit is never actually protecting anything across a call */
 
 #define T_FUNCTION_ENV                T_GENSYM
@@ -1804,8 +1816,8 @@ static int not_heap = -1;
 #define set_opt1_is_set(p)            (p)->debugger_bits |= E_SET
 #define opt1_role_matches(p, Role)    (((p)->debugger_bits & E_MASK) == Role)
 #define set_opt1_role(p, Role)        (p)->debugger_bits = (Role | ((p)->debugger_bits & ~E_MASK))
-#define opt1(p, Role)                 opt1_1(hidden_sc, _TLst(p), Role, __func__, __LINE__)
-#define set_opt1(p, x, Role)          set_opt1_1(hidden_sc, _TLst(p), x, Role, __func__, __LINE__)
+#define opt1(p, Role)                 opt1_1(hidden_sc, _TPair(p), Role, __func__, __LINE__)
+#define set_opt1(p, x, Role)          set_opt1_1(hidden_sc, _TPair(p), x, Role, __func__, __LINE__)
 
 #define F_SET                         (1 << 1)   /* bit 18 is free */
 #define F_KEY                         (1 << 19)  /* case key */
@@ -1821,8 +1833,8 @@ static int not_heap = -1;
 #define set_opt2_is_set(p)            (p)->debugger_bits |= F_SET
 #define opt2_role_matches(p, Role)    (((p)->debugger_bits & F_MASK) == Role)
 #define set_opt2_role(p, Role)        (p)->debugger_bits = (Role | ((p)->debugger_bits & ~F_MASK))
-#define opt2(p, Role)                 opt2_1(hidden_sc, _TLst(p), Role, __func__, __LINE__)
-#define set_opt2(p, x, Role)          set_opt2_1(hidden_sc, _TLst(p), (s7_pointer)x, Role, __func__, __LINE__)
+#define opt2(p, Role)                 opt2_1(hidden_sc, _TPair(p), Role, __func__, __LINE__)
+#define set_opt2(p, x, Role)          set_opt2_1(hidden_sc, _TPair(p), (s7_pointer)x, Role, __func__, __LINE__)
 
 /* opt3 collides with optimization and line number stuff (T_LINE_NUMBER, T_OPTIMIZED) */
 #define G_SET                         (1 << 2)
@@ -1835,28 +1847,28 @@ static int not_heap = -1;
 #define set_opt3_is_set(p)            (p)->debugger_bits |= G_SET
 #define opt3_role_matches(p, Role)    (((p)->debugger_bits & G_MASK) == Role)
 #define set_opt3_role(p, Role)        (p)->debugger_bits = (Role | ((p)->debugger_bits & ~G_MASK))
-#define opt3(p, Role)                 opt3_1(hidden_sc, _TLst(p), Role, __func__, __LINE__)
-#define set_opt3(p, x, Role)          set_opt3_1(hidden_sc, _TLst(p), x, Role, __func__, __LINE__)
+#define opt3(p, Role)                 opt3_1(hidden_sc, _TPair(p), Role, __func__, __LINE__)
+#define set_opt3(p, x, Role)          set_opt3_1(hidden_sc, _TPair(p), x, Role, __func__, __LINE__)
 
 /* opt1 == s_hash, opt2 == s_fstr, opt3 == s_op|len|line and op==len so they are contradictory (but only op/line|opt3 actually collide)
  * line|len|op: unsigned int set G_SET and S_* if S_LEN -> not op and vice versa
  * another collider: pair_syntax_op|optimize_op below.  Both need bits: S_SYNOP?
  */
 
-#define pair_line(p)                  s_line_1(sc, _TLst(p), __func__, __LINE__)
-#define pair_set_line(p, X)           set_s_line_1(sc, _TLst(p), X, __func__, __LINE__)
-#define pair_raw_hash(p)              s_hash_1(sc, _TLst(p), __func__, __LINE__)
-#define pair_set_raw_hash(p, X)       set_s_hash_1(sc, _TLst(p), X, __func__, __LINE__)
-#define pair_raw_len(p)               s_len_1(sc, _TLst(p), __func__, __LINE__)
-#define pair_set_raw_len(p, X)        set_s_len_1(sc, _TLst(p), X, __func__, __LINE__)
-#define pair_raw_name(p)              s_name_1(sc, _TLst(p), __func__, __LINE__)
-#define pair_set_raw_name(p, X)       set_s_name_1(sc, _TLst(p), X, __func__, __LINE__)
+#define pair_line(p)                  s_line_1(sc, _TPair(p), __func__, __LINE__)
+#define pair_set_line(p, X)           set_s_line_1(sc, _TPair(p), X, __func__, __LINE__)
+#define pair_raw_hash(p)              s_hash_1(sc, _TPair(p), __func__, __LINE__)
+#define pair_set_raw_hash(p, X)       set_s_hash_1(sc, _TPair(p), X, __func__, __LINE__)
+#define pair_raw_len(p)               s_len_1(sc, _TPair(p), __func__, __LINE__)
+#define pair_set_raw_len(p, X)        set_s_len_1(sc, _TPair(p), X, __func__, __LINE__)
+#define pair_raw_name(p)              s_name_1(sc, _TPair(p), __func__, __LINE__)
+#define pair_set_raw_name(p, X)       set_s_name_1(sc, _TPair(p), X, __func__, __LINE__)
 #endif
 
-#define opt_fast(P)                   _TCdr(opt1(P,              E_FAST))
-#define set_opt_fast(P, X)            set_opt1(P, _TLst(X),      E_FAST)
-#define opt_back(P)                   _TLst(opt1(P,              E_BACK))
-#define set_opt_back(P)               set_opt1(cdr(P), _TLst(P), E_BACK)
+#define opt_fast(P)                   _TLst(opt1(P,              E_FAST))
+#define set_opt_fast(P, X)            set_opt1(P, _TPair(X),      E_FAST)
+#define opt_back(P)                   _TPair(opt1(P,              E_BACK))
+#define set_opt_back(P)               set_opt1(cdr(P), _TPair(P), E_BACK)
 #define has_opt_back(P)               (cdr(opt_back(P)) == P )
 #define opt_cfunc(P)                  opt1(P,                    E_CFUNC)
 #define set_opt_cfunc(P, X)           set_opt1(P, X,             E_CFUNC)
@@ -1871,8 +1883,8 @@ static int not_heap = -1;
 #define set_opt_clause(P, X)          set_opt1(P, X,             E_CLAUSE)
 #define opt_sym1(P)                   _TSym(opt1(P,              E_SYM))
 #define set_opt_sym1(P, X)            set_opt1(P, _TSym(X),      E_SYM)
-#define opt_pair1(P)                  _TCdr(opt1(P,              E_PAIR))
-#define set_opt_pair1(P, X)           set_opt1(P, _TCdr(X),      E_PAIR)
+#define opt_pair1(P)                  _TLst(opt1(P,              E_PAIR))
+#define set_opt_pair1(P, X)           set_opt1(P, _TLst(X),      E_PAIR)
 #define opt_con1(P)                   opt1(P,                    E_CON)
 #define set_opt_con1(P, X)            set_opt1(P, X,             E_CON)
 #define opt_any1(P)                   opt1(P,                    E_ANY)
@@ -1884,27 +1896,29 @@ static int not_heap = -1;
 #define set_c_call(f, X)              set_opt2(f, (s7_pointer)X, F_CALL)
 #define opt_key(P)                    opt2(P,                    F_KEY)
 #define set_opt_key(P, X)             set_opt2(P, X,             F_KEY)
-#define opt_slow(P)                   _TCdr(opt2(P,              F_SLOW))
-#define set_opt_slow(P, X)            set_opt2(P, _TLst(X),      F_SLOW)
+#define opt_slow(P)                   _TLst(opt2(P,              F_SLOW))
+#define set_opt_slow(P, X)            set_opt2(P, _TPair(X),      F_SLOW)
 #define opt_sym2(P)                   _TSym(opt2(P,              F_SYM))
 #define set_opt_sym2(P, X)            set_opt2(P, _TSym(X),      F_SYM)
-#define opt_pair2(P)                  _TCdr(opt2(P,              F_PAIR))
-#define set_opt_pair2(P, X)           set_opt2(P, _TCdr(X),      F_PAIR)
+#define opt_pair2(P)                  _TLst(opt2(P,              F_PAIR))
+#define set_opt_pair2(P, X)           set_opt2(P, _TLst(X),      F_PAIR)
 #define opt_con2(P)                   opt2(P,                    F_CON)
 #define set_opt_con2(P, X)            set_opt2(P, X,             F_CON)
-#define opt_lambda2(P)                _TLst(opt2(P,              F_LAMBDA))
-#define set_opt_lambda2(P, X)         set_opt2(P, _TLst(X),      F_LAMBDA)
+#define opt_lambda2(P)                _TPair(opt2(P,              F_LAMBDA))
+#define set_opt_lambda2(P, X)         set_opt2(P, _TPair(X),      F_LAMBDA)
 
 #define arglist_length(P)             _TI(opt3(cdr(P),           G_ARGLEN))
 #define set_arglist_length(P, X)      set_opt3(cdr(P), _TI(X),   G_ARGLEN)
 #define opt_sym3(P)                   _TSym(opt3(P,              G_SYM))
 #define set_opt_sym3(P, X)            set_opt3(P, _TSym(X),      G_SYM)
-#define opt_and_2_test(P)             _TLst(opt3(P,              G_AND))
-#define set_opt_and_2_test(P, X)      set_opt3(P, _TLst(X),      G_AND)
+#define opt_and_2_test(P)             _TPair(opt3(P,              G_AND))
+#define set_opt_and_2_test(P, X)      set_opt3(P, _TPair(X),      G_AND)
 
 
-#define car(p)                        (_TCdr(p))->object.cons.car
-#define cdr(p)                        (_TCdr(p))->object.cons.cdr
+#define car(p)                        (_TLst(p))->object.cons.car
+#define set_car(p, Val)               (_TLst(p))->object.cons.car = _NFre(Val)
+#define cdr(p)                        (_TLst(p))->object.cons.cdr
+#define set_cdr(p, Val)               (_TLst(p))->object.cons.cdr = _NFre(Val)
 #define unchecked_car(p)              (_NFre(p))->object.cons.car
 #define unchecked_cdr(p)              (_NFre(p))->object.cons.cdr
 
@@ -1973,11 +1987,11 @@ static int not_heap = -1;
 #define character_name_length(p)      (_TChr(p))->object.chr.length
 
 #if (!DEBUGGING)
-  #define optimize_op(p)              (_TLst(p))->object.sym_cons.op
+  #define optimize_op(p)              (_TPair(p))->object.sym_cons.op
   #define set_optimize_op(P, Op)      optimize_op(P) = Op
 #else
-  #define optimize_op(p)              s_op_1(hidden_sc, _TLst(p), __func__, __LINE__)
-  #define set_optimize_op(p, Op)      set_s_op_1(hidden_sc, _TLst(p), Op, __func__, __LINE__)
+  #define optimize_op(p)              s_op_1(hidden_sc, _TPair(p), __func__, __LINE__)
+  #define set_optimize_op(p, Op)      set_s_op_1(hidden_sc, _TPair(p), Op, __func__, __LINE__)
 #endif
 
 #define optimize_op_match(P, Q)       ((is_optimized(P)) && ((optimize_op(P) & 0xfffe) == Q))
@@ -1989,7 +2003,7 @@ static int not_heap = -1;
 
 #define is_symbol(p)                  (type(p) == T_SYMBOL)
 #define symbol_name_cell(p)           _TStr((_TSym(p))->object.sym.name)
-#define set_symbol_name_cell(p, S)    (_TSym(p))->object.sym.name = _TStr(S)
+#define symbol_set_name_cell(p, S)    (_TSym(p))->object.sym.name = _TStr(S)
 #define symbol_name(p)                string_value(symbol_name_cell(p))
 #define symbol_name_length(p)         string_length(symbol_name_cell(p))
 #define symbol_hmap(p)                s7_int_abs(heap_location(p))
@@ -2002,15 +2016,20 @@ static int not_heap = -1;
 #define symbol_syntax_op(p)           (_TSym(p))->object.sym.op
 
 #define global_slot(p)                (_TSym(p))->object.sym.global_slot
+#define set_global_slot(p, Val)       (_TSym(p))->object.sym.global_slot = _TSld(Val)
 #define initial_slot(p)               (symbol_name_cell(p))->object.string.initial_slot
+#define set_initial_slot(p, Val)      (symbol_name_cell(p))->object.string.initial_slot = _TSld(Val)
 #define local_slot(p)                 (_TSym(p))->object.sym.local_slot
+#define set_local_slot(p, Val)        (_TSym(p))->object.sym.local_slot = _TSln(Val)
 #define keyword_symbol(p)             (symbol_name_cell(p))->object.string.doc.ksym
+#define keyword_set_symbol(p, Val)    (symbol_name_cell(p))->object.string.doc.ksym = _TSym(Val)
 #define symbol_help(p)                (symbol_name_cell(p))->object.string.doc.documentation
 #define symbol_tag(p)                 (_TSym(p))->object.sym.tag
+#define symbol_set_tag(p, Val)        (_TSym(p))->object.sym.tag = Val
 #define symbol_has_help(p)            (is_documented(symbol_name_cell(p)))
 #define symbol_set_has_help(p)        set_documented(symbol_name_cell(p))
 
-#define symbol_set_local(Symbol, Id, Slot) do {local_slot(Symbol) = Slot; symbol_set_id(Symbol, Id);} while (0)
+#define symbol_set_local(Symbol, Id, Slot) do {set_local_slot(Symbol, Slot); symbol_set_id(Symbol, Id);} while (0)
 /* set slot before id in case Slot is an expression that tries to find the current Symbol slot (using its old Id obviously) */
 
 #define is_slot(p)                    (type(p) == T_SLOT)
@@ -2019,12 +2038,17 @@ static int not_heap = -1;
 #define slot_symbol(p)                _TSym((_TSlt(p))->object.slt.sym)
 #define slot_set_symbol(p, Sym)       (_TSlt(p))->object.slt.sym = _TSym(Sym)
 #define next_slot(p)                  (_TSlt(p))->object.slt.nxt
+#define set_next_slot(p, Val)         (_TSlt(p))->object.slt.nxt = _TSln(Val)
 #define slot_pending_value(p)         (_TSlt(p))->object.slt.pending_value
+#define slot_set_pending_value(p, Val) (_TSlt(p))->object.slt.pending_value = _NFre(Val)
 #define slot_expression(p)            (_TSlt(p))->object.slt.expr
+#define slot_set_expression(p, Val)   (_TSlt(p))->object.slt.expr = _NFre(Val)
 #define slot_accessor(p)              slot_expression(p)
+#define slot_set_accessor(p, Val)     slot_expression(p) = _TApp(Val)
 
 #define is_syntax(p)                  (type(p) == T_SYNTAX)
-#define syntax_symbol(p)              (_TSyn(p))->object.syn.symbol
+#define syntax_symbol(p)              _TSym((_TSyn(p))->object.syn.symbol)
+#define syntax_set_symbol(p, Sym)     (_TSyn(p))->object.syn.symbol = _TSym(Sym)
 #define syntax_opcode(p)              (_TSyn(p))->object.syn.op
 #define syntax_min_args(p)            (_TSyn(p))->object.syn.min_args
 #define syntax_max_args(p)            (_TSyn(p))->object.syn.max_args
@@ -2037,8 +2061,8 @@ static int not_heap = -1;
   #define pair_syntax_op(p)           (p)->object.sym_cons.op
   #define pair_set_syntax_op(p, X)    (p)->object.sym_cons.op = X
 #else
-  #define pair_syntax_op(p)           s_syn_op_1(hidden_sc, _TLst(p), __func__, __LINE__)
-  #define pair_set_syntax_op(p, Op)   set_s_syn_op_1(hidden_sc, _TLst(p), Op, __func__, __LINE__)
+  #define pair_syntax_op(p)           s_syn_op_1(hidden_sc, _TPair(p), __func__, __LINE__)
+  #define pair_set_syntax_op(p, Op)   set_s_syn_op_1(hidden_sc, _TPair(p), Op, __func__, __LINE__)
 #endif
 #define pair_syntax_symbol(P)         car(opt_back(P))
 static void pair_set_syntax_symbol(s7_pointer p, s7_pointer op) {pair_syntax_symbol(p) = op; pair_set_syntax_op(opt_back(p), symbol_syntax_op(op));}
@@ -2047,7 +2071,7 @@ static void pair_set_syntax_symbol(s7_pointer p, s7_pointer op) {pair_syntax_sym
 #define let_id(p)                     (_TLid(p))->object.envr.id
 #define is_let(p)                     (type(p) == T_LET)
 #define let_slots(p)                  (_TLet(p))->object.envr.slots
-#define let_set_slots(p, Slot)        (_TLet(p))->object.envr.slots = Slot
+#define let_set_slots(p, Slot)        (_TLet(p))->object.envr.slots = _TSln(Slot)
 #define outlet(p)                     (_TLet(p))->object.envr.nxt
 #define set_outlet(p, ol)             (_TLet(p))->object.envr.nxt = _TLid(ol)
 #define funclet_function(p)           _TSym((_TLet(p))->object.envr.edat.efnc.function)
@@ -2099,7 +2123,8 @@ static void pair_set_syntax_symbol(s7_pointer p, s7_pointer op) {pair_syntax_sym
 #define hash_table_checker(p)         (_THsh(p))->object.hasher.hash_func
 #define hash_table_mapper(p)          (_THsh(p))->object.hasher.loc
 #define hash_table_checker_locked(p)  (hash_table_mapper(p) != default_hash_map)
-#define hash_table_procedures(p)      (_THsh(p))->object.hasher.dproc
+#define hash_table_procedures(p)      _TLst((_THsh(p))->object.hasher.dproc)
+#define hash_table_set_procedures(p, Lst) (_THsh(p))->object.hasher.dproc = _TLst(Lst)
 #define hash_table_procedures_checker(p) car(hash_table_procedures(p))
 #define hash_table_procedures_mapper(p) cdr(hash_table_procedures(p))
 
@@ -2107,10 +2132,12 @@ static void pair_set_syntax_symbol(s7_pointer p, s7_pointer op) {pair_syntax_sym
 #define iterator_sequence(p)          (_TItr(p))->object.iter.obj
 #define iterator_position(p)          (_TItr(p))->object.iter.lc.loc
 #define iterator_length(p)            (_TItr(p))->object.iter.lw.len
-#define iterator_slow(p)              (_TItr(p))->object.iter.lw.slow
+#define iterator_slow(p)              _TLst((_TItr(p))->object.iter.lw.slow)
+#define iterator_set_slow(p, Val)     (_TItr(p))->object.iter.lw.slow = _TLst(Val)
 #define iterator_hash_current(p)      (_TItr(p))->object.iter.lw.hcur
 #define iterator_current(p)           (_TItr(p))->object.iter.cur
-#define iterator_let_current(p)       (_TItr(p))->object.iter.lc.lcur
+#define iterator_current_slot(p)      _TSln((_TItr(p))->object.iter.lc.lcur)
+#define iterator_set_current_slot(p, Val) (_TItr(p))->object.iter.lc.lcur = _TSln(Val)
 #define iterator_let_cons(p)          (_TItr(p))->object.iter.cur
 #define iterator_next(p)              (_TItr(p))->object.iter.next
 #define iterator_is_at_end(p)         (iterator_next(p) == iterator_finished)
@@ -2158,14 +2185,16 @@ static void pair_set_syntax_symbol(s7_pointer p, s7_pointer op) {pair_syntax_sym
 #define c_function_optional_args(f)   (_TFnc(f))->object.fnc.optional_args
 #define c_function_has_rest_arg(f)    (_TFnc(f))->object.fnc.rest_arg
 #define c_function_all_args(f)        (_TFnc(f))->object.fnc.all_args
-#define c_function_setter(f)          (_TFnc(f))->object.fnc.setter
+#define c_function_setter(f)          _TApp((_TFnc(f))->object.fnc.setter)
+#define c_function_set_setter(f, Val) (_TFnc(f))->object.fnc.setter = _TApp(Val)
 #define c_function_name(f)            c_function_data(f)->name
 #define c_function_name_length(f)     c_function_data(f)->name_length
 #define c_function_documentation(f)   c_function_data(f)->doc
 #define c_function_signature(f)       c_function_data(f)->signature
 #define c_function_class(f)           c_function_data(f)->id
 #define c_function_chooser(f)         c_function_data(f)->chooser
-#define c_function_base(f)            c_function_data(f)->generic_ff
+#define c_function_base(f)            _TApp(c_function_data(f)->generic_ff)
+#define c_function_set_base(f, Val)   c_function_data(f)->generic_ff = _TApp(Val)
 #define c_function_arg_defaults(f)    c_function_data(f)->arg_defaults
 #define c_function_call_args(f)       c_function_data(f)->call_args
 #define c_function_arg_names(f)       c_function_data(f)->arg_names
@@ -2182,7 +2211,8 @@ static void pair_set_syntax_symbol(s7_pointer p, s7_pointer op) {pair_syntax_sym
 #define c_macro_name_length(f)        c_macro_data(f)->name_length
 #define c_macro_required_args(f)      (_TMac(f))->object.fnc.required_args
 #define c_macro_all_args(f)           (_TMac(f))->object.fnc.all_args
-#define c_macro_setter(f)             (_TMac(f))->object.fnc.setter
+#define c_macro_setter(f)             _TApp((_TMac(f))->object.fnc.setter)
+#define c_macro_set_setter(f, Val)    (_TMac(f))->object.fnc.setter = _TApp(Val)
 
 #define is_random_state(p)            (type(p) == T_RANDOM_STATE)
 #if WITH_GMP
@@ -2194,6 +2224,7 @@ static void pair_set_syntax_symbol(s7_pointer p, s7_pointer op) {pair_syntax_sym
 
 #define continuation_data(p)          (_TCon(p))->object.cwcc.continuation
 #define continuation_stack(p)         (_TCon(p))->object.cwcc.stack
+#define continuation_set_stack(p, Val) (_TCon(p))->object.cwcc.stack = _TStk(Val)
 #define continuation_stack_end(p)     (_TCon(p))->object.cwcc.stack_end
 #define continuation_stack_start(p)   (_TCon(p))->object.cwcc.stack_start
 #define continuation_stack_size(p)    (_TCon(p))->object.cwcc.continuation->stack_size
@@ -2220,10 +2251,13 @@ static void pair_set_syntax_symbol(s7_pointer p, s7_pointer op) {pair_syntax_sym
 #define is_closure(p)                 (type(p) == T_CLOSURE)
 #define is_closure_star(p)            (type(p) == T_CLOSURE_STAR)
 #define closure_args(p)               (_TClo(p))->object.func.args
-#define closure_body(p)               (_TClo(p))->object.func.body
+#define closure_set_args(p, Val)      (_TClo(p))->object.func.args = _TArg(Val)
+#define closure_body(p)               (_TPair((_TClo(p))->object.func.body))
+#define closure_set_body(p, Val)      (_TClo(p))->object.func.body = _TPair(Val)
 #define closure_let(p)                _TLid((_TClo(p))->object.func.env)
 #define closure_set_let(p, L)         (_TClo(p))->object.func.env = _TLid(L)
-#define closure_setter(p)             (_TClo(p))->object.func.setter
+#define closure_setter(p)             _TApp((_TClo(p))->object.func.setter)
+#define closure_set_setter(p, Val)    (_TClo(p))->object.func.setter = _TApp(Val)
 #define closure_arity(p)              (_TClo(p))->object.func.arity
 #define CLOSURE_ARITY_NOT_SET         0x40000000
 #define MAX_ARITY                     0x20000000
@@ -2279,6 +2313,7 @@ static int num_object_types = 0;
 #define c_object_rp(p)                c_object_info(p)->rp
 #define c_object_set_ip(p)            c_object_info(p)->set_ip
 #define c_object_set_rp(p)            c_object_info(p)->set_rp
+#define c_object_scheme_name(p)       _TStr(c_object_info(p)->scheme_name)
 /* #define c_object_outer_type(p)     c_object_info(p)->outer_type */
 
 #define raw_pointer(p)                (_TPtr(p))->object.c_pointer
@@ -2286,10 +2321,12 @@ static int num_object_types = 0;
 #define is_counter(p)                 (type(p) == T_COUNTER)
 #define counter_result(p)             (_TCtr(p))->object.ctr.result
 #define counter_list(p)               (_TCtr(p))->object.ctr.list
+#define counter_set_list(p, Val)      (_TCtr(p))->object.ctr.list = _NFre(Val)
 #define counter_capture(p)            (_TCtr(p))->object.ctr.cap
 #define counter_let(p)                _TLid((_TCtr(p))->object.ctr.env)
 #define counter_set_let(p, L)         (_TCtr(p))->object.ctr.env = _TLid(L)
 #define counter_slots(p)              (_TCtr(p))->object.ctr.slots
+#define counter_set_slots(p, Val)     (_TCtr(p))->object.ctr.slots = _TSln(Val)
 
 #define is_baffle(p)                  (type(p) == T_BAFFLE)
 #define baffle_key(p)                 (_TBfl(p))->object.baffle_key
@@ -3114,13 +3151,13 @@ static s7_pointer check_values(s7_scheme *sc, s7_pointer obj, s7_pointer args)
 
 static s7_pointer set_elist_1(s7_scheme *sc, s7_pointer x1)
 {
-  car(sc->elist_1) = x1;
+  set_car(sc->elist_1, x1);
   return(sc->elist_1);
 } 
 
 static s7_pointer set_elist_2(s7_scheme *sc, s7_pointer x1, s7_pointer x2)
 {
-  car(sc->elist_2) = x1;
+  set_car(sc->elist_2, x1);
   cadr(sc->elist_2) = x2;
   return(sc->elist_2);
 } 
@@ -3129,9 +3166,9 @@ static s7_pointer set_elist_3(s7_scheme *sc, s7_pointer x1, s7_pointer x2, s7_po
 {
   s7_pointer p;
   p = sc->elist_3;
-  car(p) = x1; p = cdr(p);
-  car(p) = x2; p = cdr(p);
-  car(p) = x3;
+  set_car(p, x1); p = cdr(p);
+  set_car(p, x2); p = cdr(p);
+  set_car(p, x3);
   return(sc->elist_3);
 } 
 
@@ -3139,10 +3176,10 @@ static s7_pointer set_elist_4(s7_scheme *sc, s7_pointer x1, s7_pointer x2, s7_po
 {
   s7_pointer p;
   p = sc->elist_4;
-  car(p) = x1; p = cdr(p);
-  car(p) = x2; p = cdr(p);
-  car(p) = x3; p = cdr(p);
-  car(p) = x4;
+  set_car(p, x1); p = cdr(p);
+  set_car(p, x2); p = cdr(p);
+  set_car(p, x3); p = cdr(p);
+  set_car(p, x4);
   return(sc->elist_4);
 } 
 
@@ -3150,11 +3187,11 @@ static s7_pointer set_elist_5(s7_scheme *sc, s7_pointer x1, s7_pointer x2, s7_po
 {
   s7_pointer p;
   p = sc->elist_5;
-  car(p) = x1; p = cdr(p);
-  car(p) = x2; p = cdr(p);
-  car(p) = x3; p = cdr(p);
-  car(p) = x4; p = cdr(p);
-  car(p) = x5;
+  set_car(p, x1); p = cdr(p);
+  set_car(p, x2); p = cdr(p);
+  set_car(p, x3); p = cdr(p);
+  set_car(p, x4); p = cdr(p);
+  set_car(p, x5);
   return(sc->elist_5);
 } 
 
@@ -3162,9 +3199,9 @@ static s7_pointer set_wlist_3(s7_scheme *sc, s7_pointer lst, s7_pointer x1, s7_p
 {
   s7_pointer p;
   p = lst;
-  car(p) = x1; p = cdr(p);
-  car(p) = x2; p = cdr(p);
-  car(p) = x3;
+  set_car(p, x1); p = cdr(p);
+  set_car(p, x2); p = cdr(p);
+  set_car(p, x3);
   return(lst);
 } 
 
@@ -3172,22 +3209,22 @@ static s7_pointer set_wlist_4(s7_scheme *sc, s7_pointer lst, s7_pointer x1, s7_p
 {
   s7_pointer p;
   p = lst;
-  car(p) = x1; p = cdr(p);
-  car(p) = x2; p = cdr(p);
-  car(p) = x3; p = cdr(p);
-  car(p) = x4;
+  set_car(p, x1); p = cdr(p);
+  set_car(p, x2); p = cdr(p);
+  set_car(p, x3); p = cdr(p);
+  set_car(p, x4);
   return(lst);
 } 
 
 static s7_pointer set_plist_1(s7_scheme *sc, s7_pointer x1)
 {
-  car(sc->plist_1) = x1;
+  set_car(sc->plist_1, x1);
   return(sc->plist_1);
 } 
 
 static s7_pointer set_plist_2(s7_scheme *sc, s7_pointer x1, s7_pointer x2)
 {
-  car(sc->plist_2) = x1;
+  set_car(sc->plist_2, x1);
   cadr(sc->plist_2) = x2;
   return(sc->plist_2);
 } 
@@ -3302,47 +3339,37 @@ static s7_pointer g_is_constant(s7_scheme *sc, s7_pointer args)
 
 /* -------------------------------- GC -------------------------------- */
 
-/* instead of saving the last released location, why not have a free list?
- *   (an int array growable, with a current top and size or whatever)
- */
-
 #define is_gc_nil(p) ((p) == sc->gc_nil)
 
 unsigned int s7_gc_protect(s7_scheme *sc, s7_pointer x)
 {
-  unsigned int i, loc, size, new_size;
-
-  loc = sc->protected_objects_loc++;
-  size = sc->protected_objects_size;
-
-  if (sc->protected_objects_loc >= size)
-    sc->protected_objects_loc = 0;
-
-  if (is_gc_nil(vector_element(sc->protected_objects, loc)))
-    {
-      vector_element(sc->protected_objects, loc) = x;
-      return(loc);
-    }
+  unsigned int loc;
 
-  for (i = 0; i < size; i++)
+  if (sc->gpofl_loc < 0)
     {
-      if (is_gc_nil(vector_element(sc->protected_objects, i)))
+      unsigned int i, size, new_size;
+      size = sc->protected_objects_size;
+      new_size = 2 * size;
+      vector_elements(sc->protected_objects) = (s7_pointer *)realloc(vector_elements(sc->protected_objects), new_size * sizeof(s7_pointer));
+      vector_length(sc->protected_objects) = new_size;
+      sc->protected_objects_size = new_size;
+      sc->gpofl = (unsigned int *)realloc(sc->gpofl, new_size * sizeof(unsigned int));
+      for (i = size; i < new_size; i++)
 	{
-	  vector_element(sc->protected_objects, i) = x;
-	  return(i);
+	  vector_element(sc->protected_objects, i) = sc->gc_nil;
+	  sc->gpofl[++sc->gpofl_loc] = i;
 	}
     }
 
-  new_size = 2 * size;
-  vector_elements(sc->protected_objects) = (s7_pointer *)realloc(vector_elements(sc->protected_objects), new_size * sizeof(s7_pointer));
-  vector_length(sc->protected_objects) = new_size;
-  for (i = size; i < new_size; i++)
-    vector_element(sc->protected_objects, i) = sc->gc_nil;
-  sc->protected_objects_size = new_size;
-  sc->protected_objects_loc = size;
-
-  vector_element(sc->protected_objects, size) = x;
-  return(size);
+  loc = sc->gpofl[sc->gpofl_loc--];
+#if DEBUGGING
+  if ((loc < 0) || (loc >= sc->protected_objects_size))
+    fprintf(stderr, "sc->gpofl loc: %u (%d)\n", loc, sc->protected_objects_size);
+  if (vector_element(sc->protected_objects, loc) != sc->gc_nil)
+    fprintf(stderr, "protected object at %u about to be clobbered? %s\n", loc, DISPLAY(vector_element(sc->protected_objects, loc)));
+#endif
+  vector_element(sc->protected_objects, loc) = x;
+  return(loc);
 }
 
 void s7_gc_unprotect(s7_scheme *sc, s7_pointer x)
@@ -3353,7 +3380,7 @@ void s7_gc_unprotect(s7_scheme *sc, s7_pointer x)
     if (vector_element(sc->protected_objects, i) == x)
       {
 	vector_element(sc->protected_objects, i) = sc->gc_nil;
-	sc->protected_objects_loc = i;
+	sc->gpofl[++sc->gpofl_loc] = i;
 	return;
       }
 }
@@ -3363,8 +3390,9 @@ void s7_gc_unprotect_at(s7_scheme *sc, unsigned int loc)
 {
   if (loc < sc->protected_objects_size)
     {
+      if (vector_element(sc->protected_objects, loc) != sc->gc_nil)
+	sc->gpofl[++sc->gpofl_loc] = loc;
       vector_element(sc->protected_objects, loc) = sc->gc_nil;
-      sc->protected_objects_loc = loc;
     }
 }
 
@@ -3384,7 +3412,6 @@ s7_pointer s7_gc_protected_at(s7_scheme *sc, unsigned int loc)
 }
 
 #define gc_protected_at(Sc, Loc) vector_element(Sc->protected_objects, Loc)
-/* #define gc_reprotect(Sc, Loc, Val) vector_element(Sc->protected_objects, Loc) = Val */
 
 
 static void (*mark_function[NUM_TYPES])(s7_pointer p);
@@ -3850,7 +3877,7 @@ static void add_setter(s7_scheme *sc, s7_pointer p, s7_pointer setter)
       x = sc->setters[i];
       if (car(x) == p)
 	{
-	  cdr(x) = setter;
+	  set_cdr(x, setter);
 	  return;
  	}
     }
@@ -5065,7 +5092,7 @@ static s7_pointer new_symbol(s7_scheme *sc, const char *name, unsigned int len,
   unsigned char *base, *val;
 
   if (sc->symbol_table_is_locked)
-    return(s7_error(sc, sc->error_symbol, sc->nil));
+    return(s7_error(sc, sc->error_symbol, set_elist_1(sc, make_string_wrapper(sc, "can't make symbol: symbol table is locked!"))));
 
   base = (unsigned char *)malloc(sizeof(s7_cell) * 3 + len + 1);
   x = (s7_pointer)base;
@@ -5084,19 +5111,19 @@ static s7_pointer new_symbol(s7_scheme *sc, const char *name, unsigned int len,
 
   unheap(x);
   typeflag(x) = T_SYMBOL;
-  set_symbol_name_cell(x, str);
-  global_slot(x) = sc->undefined;                          /* was sc->nil; */
-  initial_slot(x) = sc->undefined;
+  symbol_set_name_cell(x, str);
+  set_global_slot(x, sc->undefined);                       /* was sc->nil; */
+  set_initial_slot(x, sc->undefined);
   symbol_set_local(x, 0LL, sc->nil);
-  symbol_tag(x) = 0;
+  symbol_set_tag(x, 0);
 
   if (symbol_name_length(x) > 1)                           /* not 0, otherwise : is a keyword */
     {
       if (name[0] == ':')
 	{
 	  typeflag(x) |= (T_IMMUTABLE | T_KEYWORD);
-	  keyword_symbol(x) = make_symbol_with_length(sc, (char *)(name + 1), len - 1);
-	  global_slot(x) = s7_make_slot(sc, sc->nil, x, x);
+	  keyword_set_symbol(x, make_symbol_with_length(sc, (char *)(name + 1), len - 1));
+	  set_global_slot(x, s7_make_slot(sc, sc->nil, x, x));
 	}
       else
 	{
@@ -5112,8 +5139,8 @@ static s7_pointer new_symbol(s7_scheme *sc, const char *name, unsigned int len,
 	      memcpy((void *)kstr, (void *)name, klen);
 	      kstr[klen] = 0;
 	      typeflag(x) |= (T_IMMUTABLE | T_KEYWORD);
-	      keyword_symbol(x) = make_symbol_with_length(sc, kstr, klen);
-	      global_slot(x) = s7_make_slot(sc, sc->nil, x, x);
+	      keyword_set_symbol(x, make_symbol_with_length(sc, kstr, klen));
+	      set_global_slot(x, s7_make_slot(sc, sc->nil, x, x));
 	      free(kstr);
 	    }
 	}
@@ -5121,8 +5148,8 @@ static s7_pointer new_symbol(s7_scheme *sc, const char *name, unsigned int len,
 
   unheap(p);
   typeflag(p) = T_PAIR | T_IMMUTABLE;
-  car(p) = x;
-  cdr(p) = vector_element(sc->symbol_table, location);
+  set_car(p, x);
+  set_cdr(p, vector_element(sc->symbol_table, location));
   vector_element(sc->symbol_table, location) = p;
   pair_set_raw_hash(p, hash);
   pair_set_raw_len(p, len);
@@ -5293,7 +5320,7 @@ static void remove_gensym_from_symbol_table(s7_scheme *sc, s7_pointer sym)
 	{
 	  if (car(x) == sym)
 	    {
-	      cdr(y) = cdr(x);
+	      set_cdr(y, cdr(x));
 	      free(x);
 	      return;
 	    }
@@ -5400,9 +5427,9 @@ static s7_pointer g_gensym(s7_scheme *sc, s7_pointer args)
 
   /* allocate the symbol in the heap so GC'd when inaccessible */
   new_cell(sc, x, T_SYMBOL | T_GENSYM);
-  set_symbol_name_cell(x, str);
-  global_slot(x) = sc->undefined;
-  initial_slot(x) = sc->undefined;
+  symbol_set_name_cell(x, str);
+  set_global_slot(x, sc->undefined);
+  set_initial_slot(x, sc->undefined);
   symbol_set_local(x, 0LL, sc->nil);
 
   /* place new symbol in symbol-table, but using calloc so we can easily free it (remove it from the table) in GC sweep */
@@ -5412,8 +5439,8 @@ static s7_pointer g_gensym(s7_scheme *sc, s7_pointer args)
 #endif
   unheap(stc);
   set_type(stc, T_PAIR | T_IMMUTABLE);
-  car(stc) = x;
-  cdr(stc) = vector_element(sc->symbol_table, location);
+  set_car(stc, x);
+  set_cdr(stc, vector_element(sc->symbol_table, location));
   vector_element(sc->symbol_table, location) = stc;
   pair_set_raw_hash(stc, hash);
   pair_set_raw_len(stc, string_length(str));
@@ -5515,7 +5542,7 @@ static s7_pointer g_symbol(s7_scheme *sc, s7_pointer args)
 
 static s7_pointer add_sym_to_list(s7_scheme *sc, s7_pointer sym)
 {
-  symbol_tag(sym) = sc->syms_tag;
+  symbol_set_tag(sym, sc->syms_tag);
   return(sym);
 }
 
@@ -5570,7 +5597,7 @@ static s7_pointer make_simple_let(s7_scheme *sc)
     slot_set_symbol(_slot_, _sym_);			\
     slot_set_value(_slot_, _val_);			\
     symbol_set_local(_sym_, let_id(Frame), _slot_);	\
-    next_slot(_slot_) = let_slots(Frame);		\
+    set_next_slot(_slot_, let_slots(Frame));		\
     let_set_slots(Frame, _slot_);	                \
   } while (0)
 
@@ -5578,11 +5605,11 @@ static s7_pointer make_simple_let(s7_scheme *sc)
   do {							\
     s7_pointer _slot_, _sym_, _val_;			\
     _sym_ = Symbol; _val_ = Value;			\
-    new_cell(sc, _slot_, T_SLOT);		\
+    new_cell(sc, _slot_, T_SLOT);		        \
     slot_set_symbol(_slot_, _sym_);			\
     slot_set_value(_slot_, _val_);			\
     symbol_set_local(_sym_, let_id(Frame), _slot_);	\
-    next_slot(_slot_) = let_slots(Frame);		\
+    set_next_slot(_slot_, let_slots(Frame));		\
     let_set_slots(Frame, _slot_); 	                \
   } while (0)
 
@@ -5592,15 +5619,15 @@ static s7_pointer make_simple_let(s7_scheme *sc)
   do {								 \
     s7_pointer _x_, _slot_, _sym_, _val_;			 \
     _sym_ = Symbol; _val_ = Value;				\
-    new_cell(Sc, _x_, T_LET);			\
+    new_cell(Sc, _x_, T_LET);			                \
     let_id(_x_) = ++sc->let_number;				\
-    set_outlet(_x_, Old_Env);			\
+    set_outlet(_x_, Old_Env);			                \
     New_Env = _x_;						\
-    new_cell_no_check(Sc, _slot_, T_SLOT);	\
+    new_cell_no_check(Sc, _slot_, T_SLOT);	                \
     slot_set_symbol(_slot_, _sym_);				\
     slot_set_value(_slot_, _val_);	                        \
     symbol_set_local(_sym_, sc->let_number, _slot_);            \
-    next_slot(_slot_) = sc->nil;                                \
+    set_next_slot(_slot_, sc->nil);			        \
     let_set_slots(_x_, _slot_);					\
   } while (0)
 
@@ -5610,21 +5637,21 @@ static s7_pointer make_simple_let(s7_scheme *sc)
     s7_pointer _x_, _slot_, _sym1_, _val1_, _sym2_, _val2_;		\
     _sym1_ = Symbol1; _val1_ = Value1;					\
     _sym2_ = Symbol2; _val2_ = Value2;					\
-    new_cell(Sc, _x_, T_LET);				\
+    new_cell(Sc, _x_, T_LET);				                \
     let_id(_x_) = ++sc->let_number;					\
-    set_outlet(_x_, Old_Env);				\
+    set_outlet(_x_, Old_Env);				                \
     New_Env = _x_;							\
-    new_cell_no_check(Sc, _slot_, T_SLOT);		\
+    new_cell_no_check(Sc, _slot_, T_SLOT);		                \
     slot_set_symbol(_slot_, _sym1_);					\
     slot_set_value(_slot_, _val1_);					\
     symbol_set_local(_sym1_, sc->let_number, _slot_);			\
     let_set_slots(_x_, _slot_);			                        \
-    new_cell_no_check(Sc, _x_, T_SLOT);			\
+    new_cell_no_check(Sc, _x_, T_SLOT);			                \
     slot_set_symbol(_x_, _sym2_);					\
     slot_set_value(_x_, _val2_);					\
     symbol_set_local(_sym2_, sc->let_number, _x_);			\
-    next_slot(_x_) = sc->nil;						\
-    next_slot(_slot_) = _x_;						\
+    set_next_slot(_x_, sc->nil);				        \
+    set_next_slot(_slot_, _x_);			                        \
   } while (0)
 
 
@@ -5813,7 +5840,7 @@ static s7_pointer make_slot_1(s7_scheme *sc, s7_pointer env, s7_pointer symbol,
   new_cell(sc, slot, T_SLOT);
   slot_set_symbol(slot, symbol);
   slot_set_value(slot, value);
-  next_slot(slot) = let_slots(env);
+  set_next_slot(slot, let_slots(env));
   let_set_slots(env, slot);
   set_local(symbol);
   /* this is called by varlet so we have to be careful about the resultant let_id
@@ -5857,13 +5884,13 @@ s7_pointer s7_make_slot(s7_scheme *sc, s7_pointer env, s7_pointer symbol, s7_poi
 	  for (i = sc->rootlet_entries; i < vector_length(ge); i++)
 	    vector_element(ge, i) = sc->nil;
 	}
-      global_slot(symbol) = slot;
+      set_global_slot(symbol, slot);
       
       if (symbol_id(symbol) == 0) /* never defined locally? */
 	{
 	  if (initial_slot(symbol) == sc->undefined)
-	    initial_slot(symbol) = permanent_slot(symbol, value);
-	  local_slot(symbol) = slot;
+	    set_initial_slot(symbol, permanent_slot(symbol, value));
+	  set_local_slot(symbol, slot);
 	  set_global(symbol);
 	}
       if (is_gensym(symbol))
@@ -5985,7 +6012,7 @@ static s7_pointer g_unlet(s7_scheme *sc, s7_pointer args)
       else
 	{
 	  if ((is_syntax(x)) &&
-	      (local_slot(sym) != sc->nil))
+	      (local_slot(sym) != sc->nil))          /* this can be a freed cell, will be nil if unchanged */
 	    make_slot_1(sc, sc->w, sym, x);
 	}
     }
@@ -6242,7 +6269,7 @@ static s7_pointer g_cutlet(s7_scheme *sc, s7_pointer args)
 		      if (slot_symbol(slot) == sym)
 			{
 			  symbol_set_id(sym, THE_UN_ID);
-			  next_slot(last_slot) = next_slot(slot);
+			  set_next_slot(last_slot, next_slot(slot));
 			  break; 
 			}
 		    }
@@ -6536,8 +6563,8 @@ static s7_pointer call_accessor(s7_scheme *sc, s7_pointer slot, s7_pointer old_v
     {
       if (is_c_function(func))
 	{
-	  car(sc->t2_1) = slot_symbol(slot);
-	  car(sc->t2_2) = old_value;
+	  set_car(sc->t2_1, slot_symbol(slot));
+	  set_car(sc->t2_2, old_value);
       	  new_value = c_function_call(func)(sc, sc->t2_1);
 	}
       else
@@ -6639,7 +6666,7 @@ static s7_pointer reverse_slots(s7_scheme *sc, s7_pointer list)
   while (is_slot(p))
     {
       q = next_slot(p);
-      next_slot(p) = result;
+      set_next_slot(p, result);
       result = p;
       p = q;
     }
@@ -6678,9 +6705,9 @@ static s7_pointer let_copy(s7_scheme *sc, s7_pointer env)
 	      if (symbol_id(slot_symbol(z)) != id) /* keep shadowing intact */
 		symbol_set_local(slot_symbol(x), id, z);
 	      if (is_slot(let_slots(new_e)))
-		next_slot(y) = z;
+		set_next_slot(y, z);
 	      else let_set_slots(new_e, z);
-	      next_slot(z) = sc->nil;              /* in case GC runs during this loop */
+	      set_next_slot(z, sc->nil);              /* in case GC runs during this loop */
 	      y = z;
 	    }
 	}
@@ -7160,9 +7187,9 @@ static s7_pointer make_macro(s7_scheme *sc)
 
   new_cell_no_check(sc, mac, typ);
   sc->temp6 = mac;
-  closure_args(mac) = cdar(sc->code);
-  closure_body(mac) = cdr(sc->code);
-  closure_setter(mac) = sc->F;
+  closure_set_args(mac, cdar(sc->code));
+  closure_set_body(mac, cdr(sc->code));
+  closure_set_setter(mac, sc->F);
   closure_set_let(mac, sc->envir);
   closure_arity(mac) = CLOSURE_ARITY_NOT_SET;
 
@@ -7204,9 +7231,9 @@ static s7_pointer make_closure(s7_scheme *sc, s7_pointer args, s7_pointer code,
     }
 
   new_cell(sc, x, typ);
-  closure_args(x) = args;
-  closure_body(x) = code;
-  closure_setter(x) = sc->F;
+  closure_set_args(x, args);
+  closure_set_body(x, code);
+  closure_set_setter(x, sc->F);
   if (is_null(args))
     closure_arity(x) = 0;
   else closure_arity(x) = CLOSURE_ARITY_NOT_SET;
@@ -7223,9 +7250,9 @@ static s7_pointer make_closure(s7_scheme *sc, s7_pointer args, s7_pointer code,
       _T_ = T_CLOSURE | T_PROCEDURE | T_SAFE_CLOSURE | T_COPY_ARGS;	\
     else _T_ = T_CLOSURE | T_PROCEDURE | T_COPY_ARGS;			\
     new_cell(Sc, X, _T_);						\
-    closure_args(X) = Args;						\
-    closure_body(X) = Code;						\
-    closure_setter(X) = sc->F;						\
+    closure_set_args(X, Args);						\
+    closure_set_body(X, Code);				                \
+    closure_set_setter(X, sc->F);					\
     if (is_null(Args)) closure_arity(X) = 0; else closure_arity(X) = CLOSURE_ARITY_NOT_SET; \
     closure_set_let(X, Env); \
     sc->capture_let_counter++;						\
@@ -7239,9 +7266,9 @@ static s7_pointer make_closure(s7_scheme *sc, s7_pointer args, s7_pointer code,
       _T_ = T_CLOSURE | T_PROCEDURE | T_SAFE_CLOSURE | T_COPY_ARGS;	\
     else _T_ = T_CLOSURE | T_PROCEDURE | T_COPY_ARGS;			\
     new_cell(Sc, X, _T_);						\
-    closure_args(X) = Args;						\
-    closure_body(X) = Code;						\
-    closure_setter(X) = sc->F;						\
+    closure_set_args(X, Args);						\
+    closure_set_body(X, Code);				                \
+    closure_set_setter(X, sc->F);					\
     if (is_null(Args)) closure_arity(X) = 0; else closure_arity(X) = CLOSURE_ARITY_NOT_SET; \
     closure_set_let(X, Env); \
   } while (0)
@@ -7323,14 +7350,11 @@ static s7_pointer copy_closure(s7_scheme *sc, s7_pointer fnc)
   /* copy the source tree annotating (for eventual optimization), return a thing of the same type as fnc */
   s7_pointer x, body;
 
-  body = closure_body(fnc);
-  if (is_pair(body))
-    body = copy_body(sc, body);
-
+  body = copy_body(sc, closure_body(fnc));
   new_cell(sc, x, typeflag(fnc));
-  closure_args(x) = closure_args(fnc);
-  closure_body(x) = body;
-  closure_setter(x) = closure_setter(fnc);
+  closure_set_args(x, closure_args(fnc));
+  closure_set_body(x, body);
+  closure_set_setter(x, closure_setter(fnc));
   closure_arity(x) = closure_arity(fnc);
   closure_set_let(x, closure_let(fnc));
   return(x);
@@ -7433,7 +7457,7 @@ void s7_define(s7_scheme *sc, s7_pointer envir, s7_pointer symbol, s7_pointer va
 	  (!is_slot(global_slot(symbol))))
 	{
 	  set_global(symbol); /* is_global => global_slot is usable */
-	  global_slot(symbol) = local_slot(symbol);
+	  set_global_slot(symbol, local_slot(symbol));
 	}
     }
 }
@@ -10463,11 +10487,11 @@ static s7_pointer protected_list_copy(s7_scheme *sc, s7_pointer a)
 	{
 	  if (is_null(fast))
 	    return(sc->w);
-	  cdr(p) = fast;
+	  set_cdr(p, fast);
 	  return(sc->w);
 	}
 
-      cdr(p) = cons(sc, car(fast), sc->nil);
+      set_cdr(p, cons(sc, car(fast), sc->nil));
       p = cdr(p);
 
       fast = cdr(fast);
@@ -10475,11 +10499,11 @@ static s7_pointer protected_list_copy(s7_scheme *sc, s7_pointer a)
 	{
 	  if (is_null(fast))
 	    return(sc->w);
-	  cdr(p) = fast;
+	  set_cdr(p, fast);
 	  return(sc->w);
 	}
       /* if unrolled further, it's a lot slower? */
-      cdr(p) = cons(sc, car(fast), sc->nil);
+      set_cdr(p, cons(sc, car(fast), sc->nil));
       p = cdr(p);
 
       fast = cdr(fast);
@@ -10501,8 +10525,8 @@ static s7_pointer protected_list_copy(s7_scheme *sc, s7_pointer a)
 	      if (f1 == f2) break;
 	    }
 	  if (is_null(p1))
-	    cdr(p2) = p2;
-	  else cdr(p1) = p2;
+	    set_cdr(p2, p2);
+	  else set_cdr(p1, p2);
 	  return(sc->w);
 	}
     }
@@ -10515,10 +10539,10 @@ static s7_pointer copy_counter(s7_scheme *sc, s7_pointer obj)
   s7_pointer nobj;
   new_cell(sc, nobj, T_COUNTER);
   counter_result(nobj) = counter_result(obj);
-  counter_list(nobj) = counter_list(obj);
+  counter_set_list(nobj, counter_list(obj));
   counter_capture(nobj) = counter_capture(obj);
   counter_set_let(nobj, counter_let(obj));
-  counter_slots(nobj) = counter_slots(obj);
+  counter_set_slots(nobj, counter_slots(obj));
   return(nobj);
 }
 
@@ -10678,7 +10702,7 @@ s7_pointer s7_make_continuation(s7_scheme *sc)
 
   new_cell(sc, x, T_CONTINUATION | T_PROCEDURE);
   continuation_data(x) = (continuation_t *)malloc(sizeof(continuation_t));
-  continuation_stack(x) = stack;
+  continuation_set_stack(x, stack);
   continuation_stack_size(x) = vector_length(continuation_stack(x));   /* copy_stack can return a smaller stack than the current one */
   continuation_stack_start(x) = vector_elements(continuation_stack(x));
   continuation_stack_end(x) = (s7_pointer *)(continuation_stack_start(x) + loc);
@@ -14058,6 +14082,16 @@ DIRECT_RF_TO_RF(fabs)
 
 /* -------------------------------- magnitude -------------------------------- */
 
+static double my_hypot(double x, double y)
+{
+  /* according to callgrind, this is much faster than libc's hypot */
+  if (x == 0.0) return(fabs(y));
+  if (y == 0.0) return(fabs(x));
+  if (x == y) return(1.414213562373095 * fabs(x));
+  if ((is_NaN(x)) || (is_NaN(y))) return(NAN);
+  return(sqrt(x * x + y * y));
+}
+
 static s7_pointer g_magnitude(s7_scheme *sc, s7_pointer args)
 {
   #define H_magnitude "(magnitude z) returns the magnitude of z"
@@ -14090,7 +14124,7 @@ static s7_pointer g_magnitude(s7_scheme *sc, s7_pointer args)
       return(x);
 
     case T_COMPLEX:
-      return(make_real(sc, hypot(imag_part(x), real_part(x))));
+      return(make_real(sc, my_hypot(imag_part(x), real_part(x))));
 
     default:
       method_or_bust_with_type(sc, x, sc->magnitude_symbol, args, a_number_string, 0);
@@ -28769,31 +28803,32 @@ The symbols refer to the argument to \"provide\"."
   sc->temp5 = cons(sc, args, sc->temp5);
   for (p = args; is_pair(p); p = cdr(p))
     {
+      s7_pointer sym;
       if (is_symbol(car(p)))
+	sym = car(p);
+      else
 	{
-	  if (!is_slot(find_symbol(sc, car(p))))
-	    {
-	      s7_pointer f;
-	      f = g_autoloader(sc, p);
-	      if (is_string(f))
-		s7_load_with_environment(sc, string_value(f), sc->envir);
-	      else
-		{
-		  sc->temp5 = sc->nil;
-		  return(s7_error(sc, make_symbol(sc, "autoload-error"), 
-				  set_elist_2(sc, make_string_wrapper(sc, "require: no autoload info for ~S"), car(p))));
-		}
-	    }
+	  if ((is_pair(car(p))) && 
+	      (caar(p) == sc->quote_symbol) &&
+	      (is_symbol(cadar(p))))
+	    sym = cadar(p);
+	  else return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, make_string_wrapper(sc, "require: ~S is not a symbol"), car(p))));
 	}
-      else
+      if (!is_slot(find_symbol(sc, sym)))
 	{
-	  sc->temp5 = sc->nil;
-	  if ((is_pair(car(p))) && (caar(p) == sc->quote_symbol))
-	    return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, make_string_wrapper(sc, "require: don't quote ~S"), car(p))));
-	  return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, make_string_wrapper(sc, "require: ~S is not a symbol"), car(p))));
+	  s7_pointer f;
+	  f = g_autoloader(sc, list_1(sc, sym));
+	  if (is_string(f))
+	    s7_load_with_environment(sc, string_value(f), sc->envir);
+	  else
+	    {
+	      sc->temp5 = sc->nil; 
+	      return(s7_error(sc, make_symbol(sc, "autoload-error"), 
+			      set_elist_2(sc, make_string_wrapper(sc, "require: no autoload info for ~S"), sym)));
+	    }
 	}
     }
-  sc->temp5 = cdr(sc->temp5);
+  sc->temp5 = cdr(sc->temp5); /* in-coming value */
   return(sc->T);
 }
 
@@ -29020,16 +29055,16 @@ static s7_pointer iterator_finished(s7_scheme *sc, s7_pointer iterator)
 static s7_pointer let_iterate(s7_scheme *sc, s7_pointer iterator)
 {
   s7_pointer slot;
-  slot = iterator_let_current(iterator);
+  slot = iterator_current_slot(iterator);
   if (is_slot(slot))
     {
-      iterator_let_current(iterator) = next_slot(slot);
+      iterator_set_current_slot(iterator, next_slot(slot));
       if (iterator_let_cons(iterator))
 	{
 	  s7_pointer p;
 	  p = iterator_let_cons(iterator);
 	  car(p) = slot_symbol(slot);
-	  cdr(p) = slot_value(slot);
+	  set_cdr(p, slot_value(slot));
 	  return(p);
 	}
       return(cons(sc, slot_symbol(slot), slot_value(slot)));
@@ -29071,8 +29106,8 @@ static s7_pointer hash_table_iterate(s7_scheme *sc, s7_pointer iterator)
 	{
 	  s7_pointer p;
 	  p = iterator_current(iterator);
-	  car(p) = lst->key;
-	  cdr(p) = lst->value;
+	  set_car(p, lst->key);
+	  set_cdr(p, lst->value);
 	  return(p);
 	}
       return(cons(sc, lst->key, lst->value));
@@ -29094,8 +29129,8 @@ static s7_pointer hash_table_iterate(s7_scheme *sc, s7_pointer iterator)
 	    {
 	      s7_pointer p;
 	      p = iterator_current(iterator);
-	      car(p) = x->key;
-	      cdr(p) = x->value;
+	      set_car(p, x->key);
+	      set_cdr(p, x->value);
 	      return(p);
 	    }
 	  return(cons(sc, x->key, x->value));
@@ -29177,9 +29212,9 @@ static s7_pointer c_object_iterate(s7_scheme *sc, s7_pointer obj)
       s7_pointer result, p, cur;
       p = iterator_sequence(obj);
       cur = iterator_current(obj);
-      car(sc->z2_1) = sc->x;
-      car(sc->z2_2) = sc->z; /* is this necessary? */
-      car(cur) = make_integer(sc, iterator_position(obj));
+      set_car(sc->z2_1, sc->x);
+      set_car(sc->z2_2, sc->z); /* is this necessary? */
+      set_car(cur, make_integer(sc, iterator_position(obj)));
       result = (*(c_object_ref(p)))(sc, p, cur);
       sc->x = car(sc->z2_1);
       sc->z = car(sc->z2_2);
@@ -29225,7 +29260,7 @@ static s7_pointer pair_iterate_1(s7_scheme *sc, s7_pointer obj)
 	  iterator_next(obj) = iterator_finished;
 	  return(result);
 	}
-      iterator_slow(obj) = cdr(iterator_slow(obj));
+      iterator_set_slow(obj, cdr(iterator_slow(obj)));
       iterator_next(obj) = pair_iterate;
       return(result);
     }
@@ -29271,7 +29306,7 @@ s7_pointer s7_make_iterator(s7_scheme *sc, s7_pointer e)
 	  f = iterator_method(sc, e);
 	  sc->temp6 = sc->nil;
 	  if (f) {free_cell(sc, iter); return(f);}
-	  iterator_let_current(iter) = let_slots(e);
+	  iterator_set_current_slot(iter, let_slots(e));
 	  iterator_next(iter) = let_iterate;
 	  iterator_let_cons(iter) = NULL;
 	}
@@ -29309,7 +29344,7 @@ s7_pointer s7_make_iterator(s7_scheme *sc, s7_pointer e)
     case T_PAIR:
       iterator_current(iter) = e;
       iterator_next(iter) = pair_iterate;
-      iterator_slow(iter) = e;
+      iterator_set_slow(iter, e);
       break;
 
     case T_MACRO:   case T_MACRO_STAR:
@@ -29320,7 +29355,7 @@ s7_pointer s7_make_iterator(s7_scheme *sc, s7_pointer e)
 	p = cons(sc, e, sc->nil);
 	if (g_is_iterator(sc, p) != sc->F)
 	  {
-	    car(p) = small_int(0);
+	    set_car(p, small_int(0));
 	    iterator_current(iter) = p;
 	    set_mark_seq(iter);
 	    iterator_next(iter) = closure_iterate;
@@ -31218,7 +31253,7 @@ static void write_closure_readably(s7_scheme *sc, s7_pointer obj, s7_pointer por
     }
   if (setter)
     collect_locals(sc, closure_body(setter), pe, closure_args(setter), gc_loc);
-  local_slots = gc_protected_at(sc, gc_loc);
+  local_slots = _TLst(gc_protected_at(sc, gc_loc)); /* possibly a list of slots */
 
   if (!is_null(local_slots))
     {
@@ -31490,6 +31525,30 @@ static s7_pointer check_ref9(s7_pointer p, const char *func, int line)
   return(p);
 }
 
+static s7_pointer check_ref10(s7_pointer p, const char *func, int line)
+{
+  int typ;
+  typ = unchecked_type(p);
+  if ((typ != T_PAIR) && (typ != T_NIL) && (typ != T_SYMBOL))
+    {
+      fprintf(stderr, "%s%s[%d]: arglist is %s (%d)%s?\n", BOLD_TEXT, func, line, check_name(typ), typ, UNBOLD_TEXT);
+      if (stop_at_error) abort();
+    }
+  return(p);
+}
+
+static s7_pointer check_ref11(s7_pointer p, const char *func, int line)
+{
+  int typ;
+  typ = unchecked_type(p);
+  if ((typ < T_CLOSURE) && (typ != T_BOOLEAN)) /* actually #t is an error here */
+    {
+      fprintf(stderr, "%s%s[%d]: setter is %s (%d)%s?\n", BOLD_TEXT, func, line, check_name(typ), typ, UNBOLD_TEXT);
+      if (stop_at_error) abort();
+    }
+  return(p);
+}
+
 static s7_pointer check_nref(s7_pointer p, const char *func, int line)
 {
   int typ;
@@ -33625,8 +33684,8 @@ s7_pointer s7_cons(s7_scheme *sc, s7_pointer a, s7_pointer b)
 {
   s7_pointer x;
   new_cell(sc, x, T_PAIR | T_SAFE_PROCEDURE);
-  car(x) = a;
-  cdr(x) = b;
+  set_car(x, a);
+  set_cdr(x, b);
   return(x);
 }
 
@@ -33636,8 +33695,8 @@ static s7_pointer cons_unchecked(s7_scheme *sc, s7_pointer a, s7_pointer b)
   /* apparently slightly faster as a function? */
   s7_pointer x;
   new_cell_no_check(sc, x, T_PAIR | T_SAFE_PROCEDURE);
-  car(x) = a;
-  cdr(x) = b;
+  set_car(x, a);
+  set_cdr(x, b);
   return(x);
 }
 
@@ -33649,8 +33708,8 @@ static s7_pointer permanent_cons(s7_pointer a, s7_pointer b, unsigned int type)
   x = alloc_pointer();
   set_type(x, type);
   unheap(x);
-  car(x) = a;
-  cdr(x) = b;
+  set_car(x, a);
+  set_cdr(x, b);
   return(x);
 }
 
@@ -33681,7 +33740,7 @@ static void check_sig_entry(s7_scheme *sc, s7_pointer p, s7_pointer res, bool ci
       for (np = res; np != p; np = cdr(np))
 	fprintf(stderr, "%s ", DISPLAY(car(np)));
       fprintf(stderr, "...");
-      car(p) = sc->nil;
+      set_car(p, sc->nil);
     }
 }
 
@@ -33698,7 +33757,7 @@ s7_pointer s7_make_signature(s7_scheme *sc, int len, ...)
   va_start(ap, len);
   for (p = res; is_pair(p); p = cdr(p))
     {
-      car(p) = va_arg(ap, s7_pointer);
+      set_car(p, va_arg(ap, s7_pointer));
       check_sig_entry(sc, p, res, false);
     }
   va_end(ap);
@@ -33720,13 +33779,13 @@ s7_pointer s7_make_circular_signature(s7_scheme *sc, int cycle_point, int len, .
   va_start(ap, len);
   for (p = res, i = 0; is_pair(p); p = cdr(p), i++)
     {
-      car(p) = va_arg(ap, s7_pointer);
+      set_car(p, va_arg(ap, s7_pointer));
       check_sig_entry(sc, p, res, true);
       if (i == cycle_point) back = p;
       if (i == (len - 1)) end = p;
     }
   va_end(ap);
-  if (end) cdr(end) = back;
+  if (end) set_cdr(end, back);
   if (i < len) 
     fprintf(stderr, "s7_make_circular_signature got too few entries: %s\n", DISPLAY(res));
   return((s7_pointer)res);
@@ -33777,14 +33836,14 @@ s7_pointer s7_cddaar(s7_pointer p) {return(cddaar(p));}
 
 s7_pointer s7_set_car(s7_pointer p, s7_pointer q)
 {
-  car(p) = q;
+  set_car(p, q);
   return(p);
 }
 
 
 s7_pointer s7_set_cdr(s7_pointer p, s7_pointer q)
 {
-  cdr(p) = q;
+  set_cdr(p, q);
   return(p);
 }
 
@@ -34102,7 +34161,7 @@ s7_pointer s7_list_set(s7_scheme *sc, s7_pointer lst, int num, s7_pointer val)
   for (x = lst, i = 0; (i < num) && (is_pair(x)); i++, x = cdr(x)) {}
   if ((i == num) &&
       (is_pair(x)))
-    car(x) = _NFre(val);
+    set_car(x, _NFre(val));
   return(val);
 }
 
@@ -34205,7 +34264,7 @@ static s7_pointer reverse_in_place(s7_scheme *sc, s7_pointer term, s7_pointer li
       if ((!is_pair(q)) &&
 	  (is_not_null(q)))
 	return(sc->nil); /* improper list? */
-      cdr(p) = result;
+      set_cdr(p, result);
       result = p;
       p = q;
     }
@@ -34220,13 +34279,13 @@ static s7_pointer reverse_in_place_unchecked(s7_scheme *sc, s7_pointer term, s7_
   while (is_not_null(p))
     {
       q = cdr(p);
-      cdr(p) = result;
+      set_cdr(p, result);
       result = p;
       p = q;
 
       if (is_null(p)) break;
       q = cdr(p);
-      cdr(p) = result;
+      set_cdr(p, result);
       result = p;
       p = q;
     }
@@ -34243,26 +34302,26 @@ static s7_pointer safe_reverse_in_place(s7_scheme *sc, s7_pointer list) /* "safe
     {
       q = cdr(p);
       /*   also if (is_null(list)) || (is_null(cdr(list))) return(list) */
-      cdr(p) = result;
+      set_cdr(p, result);
       result = p;
       p = q;
 
       /* unroll the loop for speed */
       if (is_null(p)) break;
       q = cdr(p);
-      cdr(p) = result;
+      set_cdr(p, result);
       result = p;
       p = q;
 
       if (is_null(p)) break;
       q = cdr(p);
-      cdr(p) = result;
+      set_cdr(p, result);
       result = p;
       p = q;
 
       if (is_null(p)) break;
       q = cdr(p);
-      cdr(p) = result;
+      set_cdr(p, result);
       result = p;
       p = q;
     }
@@ -34281,8 +34340,8 @@ s7_pointer s7_append(s7_scheme *sc, s7_pointer a, s7_pointer b)
   tp = cons(sc, car(a), sc->nil);
   sc->y = tp;
   for (p = cdr(a), np = tp; is_pair(p); p = cdr(p), np = cdr(np))
-    cdr(np) = cons(sc, car(p), sc->nil);
-  cdr(np) = b;
+    set_cdr(np, cons(sc, car(p), sc->nil));
+  set_cdr(np, b);
   sc->y = sc->nil;
 
   return(tp);
@@ -34296,7 +34355,7 @@ static s7_pointer copy_list(s7_scheme *sc, s7_pointer lst)
   tp = cons(sc, car(lst), sc->nil);
   sc->y = tp;
   for (p = cdr(lst), np = tp; is_pair(p); p = cdr(p), np = cdr(np))
-    cdr(np) = cons(sc, car(p), sc->nil);
+    set_cdr(np, cons(sc, car(p), sc->nil));
   sc->y = sc->nil;
   return(tp);
 }
@@ -34311,7 +34370,7 @@ static s7_pointer copy_list_with_arglist_error(s7_scheme *sc, s7_pointer lst)
   tp = cons(sc, car(lst), sc->nil);
   sc->y = tp;
   for (p = cdr(lst), np = tp; is_pair(p); p = cdr(p), np = cdr(np))
-    cdr(np) = cons(sc, car(p), sc->nil);
+    set_cdr(np, cons(sc, car(p), sc->nil));
   sc->y = sc->nil;
   if (!is_null(p))
     s7_error(sc, sc->syntax_error_symbol, set_elist_2(sc, make_string_wrapper(sc, "improper list of arguments: ~S"), lst));
@@ -34332,7 +34391,7 @@ static s7_pointer revappend(s7_scheme *sc, s7_pointer a, s7_pointer b)
       while (is_not_null(a))
 	{
 	  q = cdr(a);
-	  cdr(a) = p;
+	  set_cdr(a, p);
 	  p = a;
 	  a = q;
 	}
@@ -34651,7 +34710,7 @@ static s7_pointer g_list_set_1(s7_scheme *sc, s7_pointer lst, s7_pointer args, i
       return(wrong_type_argument_with_type(sc, sc->list_set_symbol, 1, lst, a_proper_list_string));
     }
   if (is_null(cddr(args)))
-    car(p) = cadr(args);
+    set_car(p, cadr(args));
   else return(g_list_set_1(sc, car(p), cdr(args), arg_num + 1));
 
   return(cadr(args));
@@ -34714,7 +34773,7 @@ static s7_pointer c_list_set_s(s7_scheme *sc, s7_pointer lst, s7_int index, s7_p
 	return(out_of_range(sc, sc->list_set_symbol, small_int(2), make_integer(sc, index), its_too_large_string));
       return(wrong_type_argument_with_type(sc, sc->list_set_symbol, 1, lst, a_proper_list_string));
     }
-  car(p) = val;
+  set_car(p, val);
   return(val);
 }
 
@@ -34786,15 +34845,15 @@ static s7_pointer g_cons(s7_scheme *sc, s7_pointer args)
   #define H_cons "(cons a b) returns a pair containing a and b"
   #define Q_cons s7_make_signature(sc, 3, sc->is_pair_symbol, sc->T, sc->T)
 
-  /* cdr(args) = cadr(args);
+  /* set_cdr(args, cadr(args));
    * this is not safe -- it changes a variable's value directly:
    *   (let ((lst (list 1 2))) (list (apply cons lst) lst)) -> '((1 . 2) (1 . 2))
    */
   s7_pointer x;
 
   new_cell(sc, x, T_PAIR | T_SAFE_PROCEDURE);
-  car(x) = car(args);
-  cdr(x) = cadr(args);
+  set_car(x, car(args));
+  set_cdr(x, cadr(args));
   return(x);
 }
 
@@ -34894,7 +34953,7 @@ static s7_pointer g_set_car(s7_scheme *sc, s7_pointer args)
   if (!is_pair(p))
     method_or_bust(sc, p, sc->set_car_symbol, args, T_PAIR, 1);
 
-  car(p) = cadr(args);
+  set_car(p, cadr(args));
   return(car(p));
 }
 
@@ -34902,7 +34961,7 @@ static s7_pointer c_set_car(s7_scheme *sc, s7_pointer x, s7_pointer y)
 {
   if (!is_pair(x))
     method_or_bust(sc, x, sc->set_car_symbol, set_plist_2(sc, x, y), T_PAIR, 1);
-  car(x) = y;
+  set_car(x, y);
   return(y);
 }
 
@@ -34942,7 +35001,7 @@ static s7_pointer g_set_cdr(s7_scheme *sc, s7_pointer args)
   if (!is_pair(p))
     method_or_bust(sc, p, sc->set_cdr_symbol, args, T_PAIR, 1);
 
-  cdr(p) = cadr(args);
+  set_cdr(p, cadr(args));
   return(cdr(p));
 }
 
@@ -34950,7 +35009,7 @@ static s7_pointer c_set_cdr(s7_scheme *sc, s7_pointer x, s7_pointer y)
 {
   if (!is_pair(x))
     method_or_bust(sc, x, sc->set_cdr_symbol, set_plist_2(sc, x, y), T_PAIR, 1);
-  cdr(x) = y;
+  set_cdr(x, y);
   return(y);
 }
 
@@ -35702,13 +35761,13 @@ If 'func' is a function of 2 arguments, it is used for the comparison instead of
 	      func = c_function_call(eq_func);
 	      if (func == g_is_eq) return(s7_assq(sc, car(args), x));
 	      if (func == g_is_eqv) return(g_assv(sc, args));
-	      car(sc->t2_1) = car(args);
+	      set_car(sc->t2_1, car(args));
 
 	      for (; is_pair(x); x = cdr(x))
 		{
 		  if (is_pair(car(x)))
 		    {
-		      car(sc->t2_2) = caar(x);
+		      set_car(sc->t2_2, caar(x));
 		      if (is_true(sc, func(sc, sc->t2_1)))
 			return(car(x));
 		      /* I wonder if the assoc equality function should get the cons, not just caar?
@@ -36169,11 +36228,11 @@ member uses equal?  If 'func' is a function of 2 arguments, it is used for the c
 	      func = c_function_call(eq_func);
 	      if (func == g_is_eq) return(s7_memq(sc, car(args), x));
 	      if (func == g_is_eqv) return(g_memv(sc, args));
-	      car(sc->t2_1) = car(args);
+	      set_car(sc->t2_1, car(args));
 
 	      for (; is_pair(x); x = cdr(x))
 		{
-		  car(sc->t2_2) = car(x);
+		  set_car(sc->t2_2, car(x));
 		  if (is_true(sc, func(sc, sc->t2_1)))
 		    return(x);
 		}
@@ -36198,11 +36257,11 @@ member uses equal?  If 'func' is a function of 2 arguments, it is used for the c
 		      (cadar(body) == car(closure_args(eq_func))) &&
 		      (caddar(body) == cadr(closure_args(eq_func))))
 		    {
-		      car(sc->t2_1) = car(args);
+		      set_car(sc->t2_1, car(args));
 		      func = c_callee(car(body));
 		      for (; is_pair(x); x = cdr(x))
 			{
-			  car(sc->t2_2) = car(x);
+			  set_car(sc->t2_2, car(x));
 			  if (is_true(sc, func(sc, sc->t2_1)))
 			    return(x);
 			}
@@ -36229,8 +36288,8 @@ member uses equal?  If 'func' is a function of 2 arguments, it is used for the c
       set_opt_fast(y, x);
       set_opt_slow(y, x);
       push_stack(sc, OP_MEMBER_IF, y, eq_func);
-      car(sc->t2_1) = car(args);
-      car(sc->t2_2) = car(x);
+      set_car(sc->t2_1, car(args));
+      set_car(sc->t2_2, car(x));
       push_stack(sc, OP_APPLY, sc->t2_1, eq_func);
       return(sc->unspecified);
     }
@@ -36537,17 +36596,17 @@ static s7_pointer g_list_append(s7_scheme *sc, s7_pointer args)
 	    return(p);
 	  if ((s7_is_list(sc, p)) ||
 	      (!is_sequence(p)))
-	    cdr(np) = p;
+	    set_cdr(np, p);
 	  else 
 	    {
 	      s7_int len;
 	      len = sequence_length(sc, p);
 	      if (len > 0)
-		cdr(np) = s7_copy(sc, set_plist_2(sc, p, make_list(sc, len, sc->F)));
+		set_cdr(np, s7_copy(sc, set_plist_2(sc, p, make_list(sc, len, sc->F))));
 	      else 
 		{
 		  if (len < 0)
-		    cdr(np) = p;
+		    set_cdr(np, p);
 		}
 	    }
 	  sc->y = sc->nil;
@@ -36580,7 +36639,7 @@ static s7_pointer g_list_append(s7_scheme *sc, s7_pointer args)
 		}
 	      else pp = p;
 	      for (; is_pair(pp); pp = cdr(pp), np = cdr(np))
-		cdr(np) = cons(sc, car(pp), sc->nil);
+		set_cdr(np, cons(sc, car(pp), sc->nil));
 	    }
 	  else
 	    {
@@ -36594,7 +36653,7 @@ static s7_pointer g_list_append(s7_scheme *sc, s7_pointer args)
 		      np = tp;
 		      sc->y = tp;
 		    }
-		  else cdr(np) = s7_copy(sc, set_plist_2(sc, p, make_list(sc, len, sc->F)));
+		  else set_cdr(np, s7_copy(sc, set_plist_2(sc, p, make_list(sc, len, sc->F))));
 		  for (; is_pair(cdr(np)); np = cdr(np));
 		}
 	      else 
@@ -36617,7 +36676,7 @@ static s7_pointer append_in_place(s7_scheme *sc, s7_pointer a, s7_pointer b)
     return(b);
   p = a;
   while (is_not_null(cdr(p))) p = cdr(p);
-  cdr(p) = b;
+  set_cdr(p, b);
   return(a);
 }
 
@@ -37158,7 +37217,7 @@ static s7_pointer g_vector_append(s7_scheme *sc, s7_pointer args)
 		  /* we have to copy the arglist here */
 		  sc->temp9 = make_list(sc, i, sc->F);
 		  for (k = 0, y = args, v = sc->temp9; k < i; k++, y = cdr(y), v = cdr(v))
-		    car(v) = car(y);
+		    set_car(v, car(y));
 		  v = g_vector_append(sc, sc->temp9);
 		  y = s7_apply_function(sc, func, cons(sc, v, p));
 		  sc->temp9 = sc->nil;
@@ -38029,8 +38088,8 @@ static s7_pointer g_vector_set(s7_scheme *sc, s7_pointer args)
 
       if (is_not_null(cdddr(args)))
 	{
-	  car(sc->temp_cell_2) = vector_getter(vec)(sc, vec, index);
-	  cdr(sc->temp_cell_2) = cddr(args);
+	  set_car(sc->temp_cell_2, vector_getter(vec)(sc, vec, index));
+	  set_cdr(sc->temp_cell_2, cddr(args));
 	  return(g_vector_set(sc, sc->temp_cell_2));
 	}
       val = caddr(args);
@@ -38135,8 +38194,8 @@ static s7_pointer g_vector_set_vector_ref(s7_scheme *sc, s7_pointer args)
     }
   else index2 = index1;
 
-  car(sc->z2_1) = vector_getter(vec)(sc, vec, index2);
-  car(sc->z2_2) = tc;
+  set_car(sc->z2_1, vector_getter(vec)(sc, vec, index2));
+  set_car(sc->z2_2, tc);
   vector_setter(vec)(sc, vec, index1, tc = c_call(arg3)(sc, sc->z2_1));
   return(tc);
 }
@@ -39302,7 +39361,7 @@ static s7_pf_t compare_pf;
 
 static int vector_compare(const void *v1, const void *v2)
 {
-  car(compare_args) = (*(s7_pointer *)v1);
+  set_car(compare_args, (*(s7_pointer *)v1));
   cadr(compare_args) = (*(s7_pointer *)v2);
   return(((*(compare_func))(compare_sc, compare_args) != compare_sc->F) ? -1 : 1);
 }
@@ -39509,7 +39568,7 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 	  sc->v = vec;
 	  qsort((void *)elements, len, sizeof(s7_pointer), sort_func);
 	  for (p = data, i = 0; i < len; i++, p = cdr(p))
-	    car(p) = elements[i];
+	    set_car(p, elements[i]);
 
 	  s7_gc_unprotect_at(sc, gc_loc);
 	  if (sort_func == pf_compare) s7_xf_free(sc);
@@ -39517,7 +39576,7 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 	}
 
       push_stack(sc, OP_SORT_PAIR_END, cons(sc, data, lessp), sc->code); /* save and gc protect the original list and func */
-      car(args) = g_vector(sc, data);
+      set_car(args, g_vector(sc, data));
       break;
 
     case T_STRING:
@@ -39589,7 +39648,7 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 	  }
 
 	push_stack(sc, OP_SORT_STRING_END, cons(sc, data, lessp), sc->code);
-	car(args) = vec;
+	set_car(args, vec);
 	s7_gc_unprotect_at(sc, gc_loc);
       }
       break;
@@ -39656,7 +39715,7 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 	  }
 
 	push_stack(sc, OP_SORT_VECTOR_END, cons(sc, data, lessp), sc->code); /* save and gc protect the original homogeneous vector and func */
-	car(args) = vec;
+	set_car(args, vec);
 	s7_gc_unprotect_at(sc, gc_loc);
       }
       break;
@@ -39749,7 +39808,7 @@ static s7_pointer vector_into_list(s7_pointer vect, s7_pointer lst)
   elements = s7_vector_elements(vect);
   len = vector_length(vect);
   for (i = 0, p = lst; i < len; i++, p = cdr(p))
-    car(p) = elements[i];
+    set_car(p, elements[i]);
   return(lst);
 }
 
@@ -40059,7 +40118,7 @@ static unsigned int hash_map_c_function(s7_scheme *sc, s7_pointer table, s7_poin
 {
   s7_function f;
   f = c_function_call(hash_table_procedures_mapper(table));
-  car(sc->t1_1) = key;
+  set_car(sc->t1_1, key);
   return(integer(f(sc, sc->t1_1)));
 }
 
@@ -40379,10 +40438,10 @@ static hash_entry_t *hash_c_function(s7_scheme *sc, s7_pointer table, s7_pointer
   hash_len = hash_table_mask(table);
   loc = hash_loc(sc, table, key) & hash_len;
   
-  car(sc->t2_1) = key;
+  set_car(sc->t2_1, key);
   for (x = hash_table_element(table, loc); x; x = x->next)
     {
-      car(sc->t2_2) = x->key;
+      set_car(sc->t2_2, x->key);
       if (is_true(sc, f(sc, sc->t2_1)))
 	return(x);
     }
@@ -40546,18 +40605,22 @@ s7_pointer s7_make_hash_table(s7_scheme *sc, s7_int size)
   hash_entry_t **els;
   /* size is rounded up to the next power of 2 */
 
-  if ((size & (size + 1)) != 0)      /* already 2^n - 1 ? */
+  if ((size == 0) ||                     /* already 2^n ? */
+      ((size & (size - 1)) != 0))
     {
-      size--;
-      size |= (size >> 1);
-      size |= (size >> 2);
-      size |= (size >> 4);
-      size |= (size >> 8);
-      size |= (size >> 16);
-      if (s7_int_bits > 31) /* this is either 31 or 63 */
-	size |= (size >> 32);
+      if ((size & (size + 1)) != 0)      /* already 2^n - 1 ? */
+	{
+	  size--;
+	  size |= (size >> 1);
+	  size |= (size >> 2);
+	  size |= (size >> 4);
+	  size |= (size >> 8);
+	  size |= (size >> 16);
+	  if (s7_int_bits > 31)          /* this is either 31 or 63 */
+	    size |= (size >> 32);
+	}
+      size++;
     }
-  size++;
 
   els = (hash_entry_t **)calloc(size, sizeof(hash_entry_t *));
   if (!els) return(s7_error(sc, make_symbol(sc, "out-of-memory"), set_elist_1(sc, make_string_wrapper(sc, "make-hash-table allocation failed!"))));
@@ -40568,7 +40631,7 @@ s7_pointer s7_make_hash_table(s7_scheme *sc, s7_int size)
   hash_table_checker(table) = hash_empty;
   hash_table_mapper(table) = default_hash_map;
   hash_table_entries(table) = 0;
-  hash_table_procedures(table) = sc->F;
+  hash_table_set_procedures(table, sc->nil);
   add_hash_table(sc, table);
 
   return(table);
@@ -40722,7 +40785,7 @@ static s7_pointer g_make_hash_table(s7_scheme *sc, s7_pointer args)
 			  hash_table_mapper(ht) = c_function_hash_map;
 			}
 		      else hash_table_mapper(ht) = closure_hash_map;
-		      hash_table_procedures(ht) = proc;
+		      hash_table_set_procedures(ht, proc);
 		      return(ht);
 		    }
 		}
@@ -41437,7 +41500,7 @@ static s7_pointer fallback_chooser(s7_scheme *sc, s7_pointer f, int args, s7_poi
 static void s7_function_set_class(s7_pointer f, s7_pointer base_f)
 {
   c_function_class(f) = c_function_class(base_f);
-  c_function_base(f) = base_f;
+  c_function_set_base(f, base_f);
 }
 
 static int c_functions = 0;
@@ -41474,8 +41537,9 @@ s7_pointer s7_make_function(s7_scheme *sc, const char *name, s7_function f, int
 
   c_function_data(x) = ptr;
   c_function_call(x) = f;
-  c_function_base(x) = x;
-  c_function_setter(x) = sc->F;
+  /* f is _TApp but needs cast */
+  c_function_set_base(x, x);
+  c_function_set_setter(x, sc->F);
   c_function_name(x) = name;   /* (procedure-name proc) => (format #f "~A" proc) */
   c_function_name_length(x) = safe_strlen(name);
   if (doc)
@@ -41562,7 +41626,7 @@ static void s7_function_set_setter(s7_scheme *sc, const char *getter, const char
 {
   /* this is internal, used only with c_function setters, so we don't need to worry about the GC mark choice
    */
-  c_function_setter(s7_name_to_value(sc, getter)) = s7_name_to_value(sc, setter);
+  c_function_set_setter(s7_name_to_value(sc, getter), s7_name_to_value(sc, setter));
 }
 
 
@@ -41829,7 +41893,7 @@ static s7_pointer set_c_function_call_args(s7_scheme *sc)
   for (i = 0, par = call_args; is_pair(par); i++, par = cdr(par))
     {
       clear_checked(par);
-      car(par) = df[i];
+      set_car(par, df[i]);
     }
 
   df = c_function_arg_names(func);
@@ -41840,7 +41904,7 @@ static s7_pointer set_c_function_call_args(s7_scheme *sc)
 	  if (is_checked(par))
 	    return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_3(sc, make_string_wrapper(sc, "parameter set twice, ~S in ~S"), car(par), sc->args)));
 	  set_checked(par);
-	  car(par) = car(arg);
+	  set_car(par, car(arg));
 	}
       else
 	{
@@ -41854,7 +41918,7 @@ static s7_pointer set_c_function_call_args(s7_scheme *sc)
 	    return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_3(sc, make_string_wrapper(sc, "parameter set twice, ~S in ~S"), car(p), sc->args)));
 	  set_checked(p);
 	  arg = cdr(arg);
-	  car(p) = car(arg);
+	  set_car(p, car(arg));
 	}
     }
 
@@ -41866,11 +41930,11 @@ static s7_pointer set_c_function_call_args(s7_scheme *sc)
       if (!is_checked(par))
 	{
 	  if (is_symbol(car(par)))
-	    car(par) = find_symbol_checked(sc, car(par));
+	    set_car(par, find_symbol_checked(sc, car(par)));
 	  else
 	    {
 	      if (is_pair(car(par)))
-		car(par) = s7_eval(sc, car(par), sc->nil);
+		set_car(par, s7_eval(sc, car(par), sc->nil));
 	    }
 	}
   return(call_args);
@@ -42302,7 +42366,7 @@ s7_pointer s7_dilambda(s7_scheme *sc,
   get_func = s7_make_safe_function(sc, name, getter, get_req_args, get_opt_args, false, documentation);
   s7_define(sc, sc->nil, make_symbol(sc, name), get_func);
   set_func = s7_make_function(sc, internal_set_name, setter, set_req_args, set_opt_args, false, documentation);
-  c_function_setter(get_func) = set_func;
+  c_function_set_setter(get_func, set_func);
 
   return(get_func);
 }
@@ -42347,20 +42411,20 @@ static s7_pointer c_set_setter(s7_scheme *sc, s7_pointer p, s7_pointer setter)
     case T_MACRO:   case T_MACRO_STAR:
     case T_BACRO:   case T_BACRO_STAR:
     case T_CLOSURE: case T_CLOSURE_STAR:
-      closure_setter(p) = setter;
+      closure_set_setter(p, setter);
       break;
 
     case T_C_FUNCTION:
     case T_C_ANY_ARGS_FUNCTION:
     case T_C_OPT_ARGS_FUNCTION:
     case T_C_RST_ARGS_FUNCTION:
-      c_function_setter(p) = setter;
+      c_function_set_setter(p, setter);
       if (is_any_closure(setter))
 	add_setter(sc, p, setter);
       break;
 
     case T_C_FUNCTION_STAR:
-      c_function_setter(p) = setter;
+      c_function_set_setter(p, setter);
       if (is_any_closure(setter))
 	add_setter(sc, p, setter);
       break;
@@ -42368,7 +42432,7 @@ static s7_pointer c_set_setter(s7_scheme *sc, s7_pointer p, s7_pointer setter)
     case T_C_MACRO:
       if (is_any_closure(setter))
 	add_setter(sc, p, setter);
-      c_macro_setter(p) = setter;
+      c_macro_set_setter(p, setter);
       break;
     }
   return(setter);
@@ -42845,7 +42909,7 @@ s7_pointer s7_symbol_set_access(s7_scheme *sc, s7_pointer symbol, s7_pointer fun
 	  symbol_global_accessor_index(symbol) = protect_accessor(sc, func);  
 	}
     }
-  slot_accessor(global_slot(symbol)) = func;
+  slot_set_accessor(global_slot(symbol), func);
   return(func);
 }
 
@@ -42932,7 +42996,7 @@ static s7_pointer g_symbol_set_access(s7_scheme *sc, s7_pointer args)
 
   if (is_slot(p))
     {
-      slot_accessor(p) = func;
+      slot_set_accessor(p, func);
       if (func != sc->F)
 	{
 	  slot_set_has_accessor(p);
@@ -42958,8 +43022,8 @@ static s7_pointer bind_accessed_symbol(s7_scheme *sc, opcode_t op, s7_pointer sy
 	{
 	  s7_pointer old_value;
 	  old_value = new_value;
-	  car(sc->t2_1) = symbol;
-	  car(sc->t2_2) = new_value;
+	  set_car(sc->t2_1, symbol);
+	  set_car(sc->t2_2, new_value);
 	  new_value = c_function_call(func)(sc, sc->t2_1);
 	  if (new_value == sc->error_symbol)
 	    return(s7_error(sc, sc->error_symbol, set_elist_3(sc, make_string_wrapper(sc, "can't bind ~S to ~S"), symbol, old_value)));
@@ -43269,7 +43333,7 @@ static bool let_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci
       if (symbol_tag(slot_symbol(py)) != 0)
 	{
 	  y_len ++;
-	  symbol_tag(slot_symbol(py)) = 0;
+	  symbol_set_tag(slot_symbol(py), 0);
 	}
   
   if (x_len != y_len)                                        /* symbol in x, not in y */
@@ -43281,7 +43345,7 @@ static bool let_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci
     for (px = let_slots(ex); is_slot(px); px = next_slot(px))
       if (symbol_tag(slot_symbol(px)) == 0)                /* unshadowed */
 	{
-	  symbol_tag(slot_symbol(px)) = sc->syms_tag;      /* values don't match */
+	  symbol_set_tag(slot_symbol(px), sc->syms_tag);      /* values don't match */
 	  if (!slots_match(sc, px, y, morally, nci))
 	    return(false);
 	}
@@ -43879,7 +43943,7 @@ static s7_pointer string_setter(s7_scheme *sc, s7_pointer str, s7_int loc, s7_po
 #if DEBUGGING
   if (!copy_to_string_error) {fprintf(stderr, "string_error not set\n"); abort();}
 #endif
-  car(sc->elist_3) = copy_to_string_error;
+  set_car(sc->elist_3, copy_to_string_error);
   caddr(sc->elist_3) = val;
   return(s7_error(sc, sc->wrong_type_arg_symbol, sc->elist_3));
 }
@@ -43898,7 +43962,7 @@ static s7_pointer byte_vector_setter(s7_scheme *sc, s7_pointer str, s7_int loc,
 #if DEBUGGING
   if (!copy_to_byte_vector_error) {fprintf(stderr, "byte_vector_error not set\n"); abort();}
 #endif
-  car(sc->elist_3) = copy_to_byte_vector_error;
+  set_car(sc->elist_3, copy_to_byte_vector_error);
   caddr(sc->elist_3) = val;
   return(s7_error(sc, sc->wrong_type_arg_symbol, sc->elist_3));
 }
@@ -43915,14 +43979,14 @@ static s7_pointer byte_vector_getter(s7_scheme *sc, s7_pointer str, s7_int loc)
 
 static s7_pointer c_object_setter(s7_scheme *sc, s7_pointer obj, s7_int loc, s7_pointer val)
 {
-  car(sc->t2_1) = make_integer(sc, loc);
-  car(sc->t2_2) = val;
+  set_car(sc->t2_1, make_integer(sc, loc));
+  set_car(sc->t2_2, val);
   return((*(c_object_set(obj)))(sc, obj, sc->t2_1));
 }
 
 static s7_pointer c_object_getter(s7_scheme *sc, s7_pointer obj, s7_int loc)
 {
-  car(sc->t1_1) = make_integer(sc, loc);
+  set_car(sc->t1_1, make_integer(sc, loc));
   return((*(c_object_ref(obj)))(sc, obj, sc->t1_1));
 }
 
@@ -44006,7 +44070,7 @@ s7_pointer s7_copy(s7_scheme *sc, s7_pointer args)
 	    gc_loc = s7_gc_protect(sc, new_hash);
 	    hash_table_checker(new_hash) = hash_table_checker(source);
 	    hash_table_mapper(new_hash) = hash_table_mapper(source);
-	    hash_table_procedures(new_hash) = hash_table_procedures(source);
+	    hash_table_set_procedures(new_hash, hash_table_procedures(source));
 	    hash_table_copy(sc, source, new_hash, 0, hash_table_entries(source));
 	    s7_gc_unprotect_at(sc, gc_loc);
 	    return(new_hash);
@@ -44223,7 +44287,7 @@ s7_pointer s7_copy(s7_scheme *sc, s7_pointer args)
 	    for (i = 0; i < start; i++)
 	      ps = cdr(ps);
 	    for (pd = dest; (i < end) && is_pair(ps) && is_pair(pd); i++, ps = cdr(ps), pd = cdr(pd))
-	      car(pd) = car(ps);
+	      set_car(pd, car(ps));
 	    return(dest);
 	  }
 
@@ -44261,9 +44325,9 @@ s7_pointer s7_copy(s7_scheme *sc, s7_pointer args)
 	      {
 		integer(mi) = i;
 		integer(mj) = j;
-		car(sc->t1_1) = mi;
-		car(sc->t2_2) = ref(sc, source, sc->t1_1);
-		car(sc->t2_1) = mj;
+		set_car(sc->t1_1, mi);
+		set_car(sc->t2_2, ref(sc, source, sc->t1_1));
+		set_car(sc->t2_1, mj);
 		set(sc, dest, sc->t2_1);
 	      }
 	    s7_gc_unprotect_at(sc, gc_loc1);
@@ -44323,7 +44387,7 @@ s7_pointer s7_copy(s7_scheme *sc, s7_pointer args)
 	  {
 	    s7_pointer p;
 	    for (i = start, p = dest; i < end; i++, p = cdr(p), slot = next_slot(slot))
-	      car(p) = cons(sc, slot_symbol(slot), slot_value(slot));
+	      set_car(p, cons(sc, slot_symbol(slot), slot_value(slot)));
 	  }
 	else
 	  {
@@ -44371,7 +44435,7 @@ s7_pointer s7_copy(s7_scheme *sc, s7_pointer args)
 	  for (i = start, p = dest; i < end; i++, p = cdr(p))
 	    {
 	      while (!x) x = elements[++loc];
-	      car(p) = cons(sc, x->key, x->value);
+	      set_car(p, cons(sc, x->key, x->value));
 	      x = x->next;
 	    }
 	}
@@ -44456,7 +44520,7 @@ s7_pointer s7_copy(s7_scheme *sc, s7_pointer args)
     {
       s7_pointer p;
       for (i = start, p = dest; i < end; i++, p = cdr(p))
-	car(p) = get(sc, source, i);
+	set_car(p, get(sc, source, i));
     }
   else
     {
@@ -44601,7 +44665,7 @@ static s7_pointer c_reverse_in_place(s7_scheme *sc, s7_pointer p)
        * To make (reverse! p) direct:
        *    for (l = p, r = cdr(p); is_pair(r); l = r, r = cdr(r)) opt1(r) = l;
        *    if (!is_null(r)) return(simple_wrong_type_argument_with_type(sc, sc->reverseb_symbol, p, a_proper_list_string));
-       *    for (r = l, l = p; l != r; l = cdr(l)) {t = car(l); car(l) = car(r); car(r) = t; if (cdr(l) != r) r = opt1(r);}
+       *    for (r = l, l = p; l != r; l = cdr(l)) {t = car(l); set_car(l, car(r)); set_car(r, t); if (cdr(l) != r) r = opt1(r);}
        */
 
     case T_STRING:
@@ -44711,7 +44775,7 @@ static s7_pointer list_fill(s7_scheme *sc, s7_pointer args)
       if (!is_pair(cdr(x)))
 	{
 	  if (!is_null(cdr(x)))
-	    cdr(x) = val;
+	    set_cdr(x, val);
 	  return(val);
 	}
       x = cdr(x);
@@ -45063,13 +45127,13 @@ static s7_pointer object_to_list(s7_scheme *sc, s7_pointer obj)
 		  {
 		    if (is_multiple_value(val))
 		      {
-			cdr(p) = multiple_value(val);
+			set_cdr(p, multiple_value(val));
 			clear_multiple_value(val);
 			for (; is_pair(cdr(p)); p = cdr(p));
 		      }
 		    else 
 		      {
-			cdr(p) = cons(sc, val, sc->nil);
+			set_cdr(p, cons(sc, val, sc->nil));
 			p = cdr(p);
 		      }
 		  }
@@ -45098,12 +45162,12 @@ static s7_pointer object_to_list(s7_scheme *sc, s7_pointer obj)
 	z = list_1(sc, sc->F);
 	gc_z = s7_gc_protect(sc, z);
 
-	car(sc->z2_1) = sc->x;
-	car(sc->z2_2) = sc->z;
+	set_car(sc->z2_1, sc->x);
+	set_car(sc->z2_2, sc->z);
 	for (i = 0, x = result; i < len; i++, x = cdr(x))
 	  {
-	    car(z) = make_integer(sc, i);
-	    car(x) = (*(c_object_ref(obj)))(sc, obj, z);
+	    set_car(z, make_integer(sc, i));
+	    set_car(x, (*(c_object_ref(obj)))(sc, obj, z));
 	  }
 	sc->x = car(sc->z2_1);
 	sc->z = car(sc->z2_2);
@@ -45378,7 +45442,7 @@ static char *stacktrace_1(s7_scheme *sc, int frames_max, int code_cols, int tota
       int true_loc;
 
       true_loc = (int)(loc + 1) * 4 - 1;
-      code = stack_code(sc->stack, true_loc);
+      code = stack_code(sc->stack, true_loc); /* can code be free here? [hit this once, could not repeat it] */
 
       if (is_pair(code))
 	{
@@ -45682,7 +45746,7 @@ static s7_pointer prepackaged_type_name(s7_scheme *sc, s7_pointer x)
 
   switch (type(x))
     {
-    case T_C_OBJECT:    return(object_types[c_object_type(x)]->scheme_name);
+    case T_C_OBJECT:    return(c_object_scheme_name(x));
     case T_INPUT_PORT:  return((is_file_port(x)) ? an_input_file_port_string : ((is_string_port(x)) ? an_input_string_port_string : an_input_port_string));
     case T_OUTPUT_PORT: return((is_file_port(x)) ? an_output_file_port_string : ((is_string_port(x)) ? an_output_string_port_string : an_output_port_string));
     }
@@ -45705,12 +45769,12 @@ static s7_pointer wrong_type_arg_error_prepackaged(s7_scheme *sc, s7_pointer cal
 {
   s7_pointer p;
   p = cdr(sc->wrong_type_arg_info);  /* info list is '(format_string caller arg_n arg type_name descr) */
-  car(p) = caller;  p = cdr(p);
-  car(p) = arg_n;   p = cdr(p);
-  car(p) = arg;     p = cdr(p);
-  car(p) = (typnam == sc->gc_nil) ? prepackaged_type_name(sc, arg) : typnam;
+  set_car(p, caller);  p = cdr(p);
+  set_car(p, arg_n);   p = cdr(p);
+  set_car(p, arg);     p = cdr(p);
+  set_car(p, (typnam == sc->gc_nil) ? prepackaged_type_name(sc, arg) : typnam);
   p = cdr(p);
-  car(p) = descr;
+  set_car(p, descr);
   return(s7_error(sc, sc->wrong_type_arg_symbol, sc->wrong_type_arg_info));
 }
 
@@ -46148,8 +46212,8 @@ static bool catch_2_function(s7_scheme *sc, int i, s7_pointer type, s7_pointer i
       sc->stack_end = (s7_pointer *)(sc->stack_start + loc);
       sc->code = catch_handler(x);
 
-      car(sc->t2_1) = type;
-      car(sc->t2_2) = info;
+      set_car(sc->t2_1, type);
+      set_car(sc->t2_2, info);
       sc->args = sc->t2_1; /* copied in op_apply? */
 
       sc->op = OP_APPLY;
@@ -46273,8 +46337,8 @@ static bool catch_1_function(s7_scheme *sc, int i, s7_pointer type, s7_pointer i
       /* since make_closure_with_let sets needs_copied_args and we're going to OP_APPLY,
        *   we don't need a new list here.
        */
-      car(sc->t2_1) = type;
-      car(sc->t2_2) = info;
+      set_car(sc->t2_1, type);
+      set_car(sc->t2_2, info);
       sc->args = sc->t2_1;
       sc->op = OP_APPLY;
 
@@ -47128,11 +47192,11 @@ static s7_pointer apply_list_star(s7_scheme *sc, s7_pointer d)
   while (is_not_null(cdr(cdr(p))))
     {
       d = cdr(d);
-      cdr(p) = cons(sc, car(d), cdr(d));
+      set_cdr(p, cons(sc, car(d), cdr(d)));
       if (is_not_null(cdr(d)))
 	p = cdr(p);
     }
-  cdr(p) = car(cdr(p));
+  set_cdr(p, car(cdr(p)));
   return(q);
 }
 
@@ -47166,7 +47230,7 @@ static s7_pointer g_apply(s7_scheme *sc, s7_pointer args)
 
 	  if (!is_proper_list(sc, car(p)))        /* (apply + #f) etc */
 	    return(apply_list_error(sc, args));
-	  cdr(q) = car(p);
+	  set_cdr(q, car(p));
 	  /* this would work: if (is_c_function(sc->code)) return(c_function_call(sc->code)(sc, cdr(args)));
 	   *   but it omits the arg number check
 	   */
@@ -47282,6 +47346,7 @@ pass (rootlet):\n\
 
 s7_pointer s7_call(s7_scheme *sc, s7_pointer func, s7_pointer args)
 {
+  /* fprintf(stderr, "%s %s\n", DISPLAY(func), DISPLAY(args)); */
   declare_jump_info();
 
   if (is_c_function(func))
@@ -47297,9 +47362,9 @@ s7_pointer s7_call(s7_scheme *sc, s7_pointer func, s7_pointer args)
       if (jump_loc != ERROR_JUMP)
 	eval(sc, sc->op);
 
-       if ((jump_loc == CATCH_JUMP) &&        /* we're returning (back to eval) from an error in catch */
-	   (sc->stack_end == sc->stack_start))
-	 push_stack(sc, OP_ERROR_QUIT, sc->nil, sc->nil);
+      if ((jump_loc == CATCH_JUMP) &&        /* we're returning (back to eval) from an error in catch */
+	  (sc->stack_end == sc->stack_start))
+	push_stack(sc, OP_ERROR_QUIT, sc->nil, sc->nil);
     }
   else
     {
@@ -47528,19 +47593,19 @@ static s7_pointer all_x_c_char_eq(s7_scheme *sc, s7_pointer arg)
 
 static s7_pointer all_x_c_q(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t1_1) = cadr(cadr(arg));
+  set_car(sc->t1_1, cadr(cadr(arg)));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
 static s7_pointer all_x_c_s(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t1_1) = find_symbol_checked(sc, cadr(arg));
+  set_car(sc->t1_1, find_symbol_checked(sc, cadr(arg)));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
 static s7_pointer all_x_c_u(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t1_1) = find_symbol_unchecked(sc, cadr(arg));
+  set_car(sc->t1_1, find_symbol_unchecked(sc, cadr(arg)));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
@@ -47572,91 +47637,91 @@ static s7_pointer all_x_null_s(s7_scheme *sc, s7_pointer arg)
 
 static s7_pointer all_x_c_sc(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t2_2) = caddr(arg);
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t2_2, caddr(arg));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
 static s7_pointer all_x_c_uc(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t2_1) = find_symbol_unchecked(sc, cadr(arg));
-  car(sc->t2_2) = caddr(arg);
+  set_car(sc->t2_1, find_symbol_unchecked(sc, cadr(arg)));
+  set_car(sc->t2_2, caddr(arg));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
 static s7_pointer all_x_c_cs(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(arg));
-  car(sc->t2_1) = cadr(arg);
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(arg)));
+  set_car(sc->t2_1, cadr(arg));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
 static s7_pointer all_x_c_ss(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(arg));
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
 static s7_pointer all_x_c_uu(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t2_1) = find_symbol_unchecked(sc, cadr(arg));
-  car(sc->t2_2) = find_symbol_unchecked(sc, caddr(arg));
+  set_car(sc->t2_1, find_symbol_unchecked(sc, cadr(arg)));
+  set_car(sc->t2_2, find_symbol_unchecked(sc, caddr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
 static s7_pointer all_x_c_sss(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t3_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t3_2) = find_symbol_checked(sc, caddr(arg));
-  car(sc->t3_3) = find_symbol_checked(sc, cadddr(arg));
+  set_car(sc->t3_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t3_2, find_symbol_checked(sc, caddr(arg)));
+  set_car(sc->t3_3, find_symbol_checked(sc, cadddr(arg)));
   return(c_call(arg)(sc, sc->t3_1));
 }
 
 static s7_pointer all_x_c_uuu(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t3_1) = find_symbol_unchecked(sc, cadr(arg));
-  car(sc->t3_2) = find_symbol_unchecked(sc, caddr(arg));
-  car(sc->t3_3) = find_symbol_unchecked(sc, cadddr(arg));
+  set_car(sc->t3_1, find_symbol_unchecked(sc, cadr(arg)));
+  set_car(sc->t3_2, find_symbol_unchecked(sc, caddr(arg)));
+  set_car(sc->t3_3, find_symbol_unchecked(sc, cadddr(arg)));
   return(c_call(arg)(sc, sc->t3_1));
 }
 
 static s7_pointer all_x_c_scs(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t3_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t3_3) = find_symbol_checked(sc, cadddr(arg));
-  car(sc->t3_2) = caddr(arg);
+  set_car(sc->t3_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t3_3, find_symbol_checked(sc, cadddr(arg)));
+  set_car(sc->t3_2, caddr(arg));
   return(c_call(arg)(sc, sc->t3_1));
 }
 
 static s7_pointer all_x_c_css(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t3_2) = find_symbol_checked(sc, caddr(arg));
-  car(sc->t3_3) = find_symbol_checked(sc, cadddr(arg));
-  car(sc->t3_1) = cadr(arg);
+  set_car(sc->t3_2, find_symbol_checked(sc, caddr(arg)));
+  set_car(sc->t3_3, find_symbol_checked(sc, cadddr(arg)));
+  set_car(sc->t3_1, cadr(arg));
   return(c_call(arg)(sc, sc->t3_1));
 }
 
 static s7_pointer all_x_c_csc(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t3_2) = find_symbol_checked(sc, caddr(arg));
-  car(sc->t3_1) = cadr(arg);
-  car(sc->t3_3) = cadddr(arg);
+  set_car(sc->t3_2, find_symbol_checked(sc, caddr(arg)));
+  set_car(sc->t3_1, cadr(arg));
+  set_car(sc->t3_3, cadddr(arg));
   return(c_call(arg)(sc, sc->t3_1));
 }
 
 static s7_pointer all_x_c_ssc(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t3_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t3_2) = find_symbol_checked(sc, caddr(arg));
-  car(sc->t3_3) = cadddr(arg);
+  set_car(sc->t3_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t3_2, find_symbol_checked(sc, caddr(arg)));
+  set_car(sc->t3_3, cadddr(arg));
   return(c_call(arg)(sc, sc->t3_1));
 }
 
 static s7_pointer all_x_c_sq(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t2_2) = cadr(caddr(arg));
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t2_2, cadr(caddr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47664,7 +47729,7 @@ static s7_pointer all_x_c_opcq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t1_1) = c_call(largs)(sc, cdr(largs));
+  set_car(sc->t1_1, c_call(largs)(sc, cdr(largs)));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
@@ -47672,8 +47737,8 @@ static s7_pointer all_x_c_s_opcq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = caddr(arg);
-  car(sc->t2_2) = c_call(largs)(sc, cdr(largs));
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(arg));
+  set_car(sc->t2_2, c_call(largs)(sc, cdr(largs)));
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47681,8 +47746,8 @@ static s7_pointer all_x_c_c_opcq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = caddr(arg);
-  car(sc->t2_2) = c_call(largs)(sc, cdr(largs));
-  car(sc->t2_1) = cadr(arg);
+  set_car(sc->t2_2, c_call(largs)(sc, cdr(largs)));
+  set_car(sc->t2_1, cadr(arg));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47690,8 +47755,8 @@ static s7_pointer all_x_c_opcq_s(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = c_call(largs)(sc, cdr(largs));
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(arg));
+  set_car(sc->t2_1, c_call(largs)(sc, cdr(largs)));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47699,8 +47764,8 @@ static s7_pointer all_x_c_opcq_c(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = c_call(largs)(sc, cdr(largs));
-  car(sc->t2_2) = caddr(arg);
+  set_car(sc->t2_1, c_call(largs)(sc, cdr(largs)));
+  set_car(sc->t2_2, caddr(arg));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47708,9 +47773,9 @@ static s7_pointer all_x_c_opcq_opcq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = c_call(largs)(sc, cdr(largs));
+  set_car(sc->t2_1, c_call(largs)(sc, cdr(largs)));
   largs = caddr(arg);
-  car(sc->t2_2) = c_call(largs)(sc, cdr(largs));
+  set_car(sc->t2_2, c_call(largs)(sc, cdr(largs)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47718,8 +47783,8 @@ static s7_pointer all_x_c_opsq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t1_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t1_1) = c_call(largs)(sc, sc->t1_1);
+  set_car(sc->t1_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t1_1, c_call(largs)(sc, sc->t1_1));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
@@ -47727,7 +47792,7 @@ static s7_pointer all_x_c_not_opsq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t1_1) = find_symbol_checked(sc, cadr(largs));
+  set_car(sc->t1_1, find_symbol_checked(sc, cadr(largs)));
   if (c_call(largs)(sc, sc->t1_1) == sc->F)
     return(sc->T);
   return(sc->F);
@@ -47737,8 +47802,8 @@ static s7_pointer all_x_c_opuq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t1_1) = find_symbol_unchecked(sc, cadr(largs));
-  car(sc->t1_1) = c_call(largs)(sc, sc->t1_1);
+  set_car(sc->t1_1, find_symbol_unchecked(sc, cadr(largs)));
+  set_car(sc->t1_1, c_call(largs)(sc, sc->t1_1));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
@@ -47746,7 +47811,7 @@ static s7_pointer all_x_c_not_opuq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t1_1) = find_symbol_unchecked(sc, cadr(largs));
+  set_car(sc->t1_1, find_symbol_unchecked(sc, cadr(largs)));
   if (c_call(largs)(sc, sc->t1_1) == sc->F)
     return(sc->T);
   return(sc->F);
@@ -47756,9 +47821,9 @@ static s7_pointer all_x_c_opssq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(largs));
-  car(sc->t1_1) = c_call(largs)(sc, sc->t2_1);
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(largs)));
+  set_car(sc->t1_1, c_call(largs)(sc, sc->t2_1));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
@@ -47766,9 +47831,9 @@ static s7_pointer all_x_c_opuuq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = find_symbol_unchecked(sc, cadr(largs));
-  car(sc->t2_2) = find_symbol_unchecked(sc, caddr(largs));
-  car(sc->t1_1) = c_call(largs)(sc, sc->t2_1);
+  set_car(sc->t2_1, find_symbol_unchecked(sc, cadr(largs)));
+  set_car(sc->t2_2, find_symbol_unchecked(sc, caddr(largs)));
+  set_car(sc->t1_1, c_call(largs)(sc, sc->t2_1));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
@@ -47776,9 +47841,9 @@ static s7_pointer all_x_c_opscq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = caddr(largs);
-  car(sc->t1_1) = c_call(largs)(sc, sc->t2_1);
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, caddr(largs));
+  set_car(sc->t1_1, c_call(largs)(sc, sc->t2_1));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
@@ -47786,9 +47851,9 @@ static s7_pointer all_x_c_opsqq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = cadr(caddr(largs));
-  car(sc->t1_1) = c_call(largs)(sc, sc->t2_1);
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, cadr(caddr(largs)));
+  set_car(sc->t1_1, c_call(largs)(sc, sc->t2_1));
   return(c_call(arg)(sc, sc->t1_1));
 }
 
@@ -47796,10 +47861,10 @@ static s7_pointer all_x_c_opssq_s(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(largs));
-  car(sc->t2_1) = c_call(largs)(sc, sc->t2_1);
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(arg));
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(largs)));
+  set_car(sc->t2_1, c_call(largs)(sc, sc->t2_1));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47807,10 +47872,10 @@ static s7_pointer all_x_c_opuuq_u(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = find_symbol_unchecked(sc, cadr(largs));
-  car(sc->t2_2) = find_symbol_unchecked(sc, caddr(largs));
-  car(sc->t2_1) = c_call(largs)(sc, sc->t2_1);
-  car(sc->t2_2) = find_symbol_unchecked(sc, caddr(arg));
+  set_car(sc->t2_1, find_symbol_unchecked(sc, cadr(largs)));
+  set_car(sc->t2_2, find_symbol_unchecked(sc, caddr(largs)));
+  set_car(sc->t2_1, c_call(largs)(sc, sc->t2_1));
+  set_car(sc->t2_2, find_symbol_unchecked(sc, caddr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47818,10 +47883,10 @@ static s7_pointer all_x_c_opssq_c(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(largs));
-  car(sc->t2_1) = c_call(largs)(sc, sc->t2_1);
-  car(sc->t2_2) = caddr(arg);
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(largs)));
+  set_car(sc->t2_1, c_call(largs)(sc, sc->t2_1));
+  set_car(sc->t2_2, caddr(arg));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47829,9 +47894,9 @@ static s7_pointer all_x_c_opsq_s(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t1_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_1) = c_call(largs)(sc, sc->t1_1);
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(arg));
+  set_car(sc->t1_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_1, c_call(largs)(sc, sc->t1_1));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47839,9 +47904,9 @@ static s7_pointer all_x_c_opuq_u(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t1_1) = find_symbol_unchecked(sc, cadr(largs));
-  car(sc->t2_1) = c_call(largs)(sc, sc->t1_1);
-  car(sc->t2_2) = find_symbol_unchecked(sc, caddr(arg));
+  set_car(sc->t1_1, find_symbol_unchecked(sc, cadr(largs)));
+  set_car(sc->t2_1, c_call(largs)(sc, sc->t1_1));
+  set_car(sc->t2_2, find_symbol_unchecked(sc, caddr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47849,9 +47914,9 @@ static s7_pointer all_x_c_opsq_c(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cadr(arg);
-  car(sc->t1_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_1) = c_call(largs)(sc, sc->t1_1);
-  car(sc->t2_2) = caddr(arg);
+  set_car(sc->t1_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_1, c_call(largs)(sc, sc->t1_1));
+  set_car(sc->t2_2, caddr(arg));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47859,10 +47924,10 @@ static s7_pointer all_x_c_s_opssq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = caddr(arg);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(largs));
-  car(sc->t2_2) = c_call(largs)(sc, sc->t2_1);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(arg));
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(largs)));
+  set_car(sc->t2_2, c_call(largs)(sc, sc->t2_1));
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47870,10 +47935,10 @@ static s7_pointer all_x_c_u_opuuq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = caddr(arg);
-  car(sc->t2_1) = find_symbol_unchecked(sc, cadr(largs));
-  car(sc->t2_2) = find_symbol_unchecked(sc, caddr(largs));
-  car(sc->t2_2) = c_call(largs)(sc, sc->t2_1);
-  car(sc->t2_1) = find_symbol_unchecked(sc, cadr(arg));
+  set_car(sc->t2_1, find_symbol_unchecked(sc, cadr(largs)));
+  set_car(sc->t2_2, find_symbol_unchecked(sc, caddr(largs)));
+  set_car(sc->t2_2, c_call(largs)(sc, sc->t2_1));
+  set_car(sc->t2_1, find_symbol_unchecked(sc, cadr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47881,9 +47946,9 @@ static s7_pointer all_x_c_s_opsq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = caddr(arg);
-  car(sc->t1_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = c_call(largs)(sc, sc->t1_1);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(arg));
+  set_car(sc->t1_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, c_call(largs)(sc, sc->t1_1));
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47891,9 +47956,9 @@ static s7_pointer all_x_c_u_opuq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = caddr(arg);
-  car(sc->t1_1) = find_symbol_unchecked(sc, cadr(largs));
-  car(sc->t2_2) = c_call(largs)(sc, sc->t1_1);
-  car(sc->t2_1) = find_symbol_unchecked(sc, cadr(arg));
+  set_car(sc->t1_1, find_symbol_unchecked(sc, cadr(largs)));
+  set_car(sc->t2_2, c_call(largs)(sc, sc->t1_1));
+  set_car(sc->t2_1, find_symbol_unchecked(sc, cadr(arg)));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47901,9 +47966,9 @@ static s7_pointer all_x_c_c_opsq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = caddr(arg);
-  car(sc->t1_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = c_call(largs)(sc, sc->t1_1);
-  car(sc->t2_1) = cadr(arg);
+  set_car(sc->t1_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, c_call(largs)(sc, sc->t1_1));
+  set_car(sc->t2_1, cadr(arg));
   return(c_call(arg)(sc, sc->t2_1));
 }
 
@@ -47911,12 +47976,12 @@ static s7_pointer all_x_c_opsq_opsq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cdr(arg);
-  car(sc->t1_1) = find_symbol_checked(sc, cadr(car(largs)));
+  set_car(sc->t1_1, find_symbol_checked(sc, cadr(car(largs))));
   sc->temp3 = c_call(car(largs))(sc, sc->t1_1);
   largs = cadr(largs);
-  car(sc->t1_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = c_call(largs)(sc, sc->t1_1);
-  car(sc->t2_1) = sc->temp3;
+  set_car(sc->t1_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, c_call(largs)(sc, sc->t1_1));
+  set_car(sc->t2_1, sc->temp3);
   sc->temp3 = sc->nil;
   return(c_call(arg)(sc, sc->t2_1));
 }
@@ -47925,12 +47990,12 @@ static s7_pointer all_x_c_opuq_opuq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cdr(arg);
-  car(sc->t1_1) = find_symbol_unchecked(sc, cadr(car(largs)));
+  set_car(sc->t1_1, find_symbol_unchecked(sc, cadr(car(largs))));
   sc->temp3 = c_call(car(largs))(sc, sc->t1_1);
   largs = cadr(largs);
-  car(sc->t1_1) = find_symbol_unchecked(sc, cadr(largs));
-  car(sc->t2_2) = c_call(largs)(sc, sc->t1_1);
-  car(sc->t2_1) = sc->temp3;
+  set_car(sc->t1_1, find_symbol_unchecked(sc, cadr(largs)));
+  set_car(sc->t2_2, c_call(largs)(sc, sc->t1_1));
+  set_car(sc->t2_1, sc->temp3);
   sc->temp3 = sc->nil;
   return(c_call(arg)(sc, sc->t2_1));
 }
@@ -47939,14 +48004,14 @@ static s7_pointer all_x_c_opssq_opssq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cdr(arg);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(car(largs)));
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(car(largs)));
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(car(largs))));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(car(largs))));
   sc->temp3 = c_call(car(largs))(sc, sc->t2_1);
   largs = cadr(largs);
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(largs));
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(largs));
-  car(sc->t2_2) = c_call(largs)(sc, sc->t2_1);
-  car(sc->t2_1) = sc->temp3;
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(largs)));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(largs)));
+  set_car(sc->t2_2, c_call(largs)(sc, sc->t2_1));
+  set_car(sc->t2_1, sc->temp3);
   sc->temp3 = sc->nil;
   return(c_call(arg)(sc, sc->t2_1));
 }
@@ -47955,14 +48020,14 @@ static s7_pointer all_x_c_opuuq_opuuq(s7_scheme *sc, s7_pointer arg)
 {
   s7_pointer largs;
   largs = cdr(arg);
-  car(sc->t2_1) = find_symbol_unchecked(sc, cadr(car(largs)));
-  car(sc->t2_2) = find_symbol_unchecked(sc, caddr(car(largs)));
+  set_car(sc->t2_1, find_symbol_unchecked(sc, cadr(car(largs))));
+  set_car(sc->t2_2, find_symbol_unchecked(sc, caddr(car(largs))));
   sc->temp3 = c_call(car(largs))(sc, sc->t2_1);
   largs = cadr(largs);
-  car(sc->t2_1) = find_symbol_unchecked(sc, cadr(largs));
-  car(sc->t2_2) = find_symbol_unchecked(sc, caddr(largs));
-  car(sc->t2_2) = c_call(largs)(sc, sc->t2_1);
-  car(sc->t2_1) = sc->temp3;
+  set_car(sc->t2_1, find_symbol_unchecked(sc, cadr(largs)));
+  set_car(sc->t2_2, find_symbol_unchecked(sc, caddr(largs)));
+  set_car(sc->t2_2, c_call(largs)(sc, sc->t2_1));
+  set_car(sc->t2_1, sc->temp3);
   sc->temp3 = sc->nil;
   return(c_call(arg)(sc, sc->t2_1));
 }
@@ -47971,26 +48036,26 @@ static s7_pointer all_x_c_op_opssq_q_c(s7_scheme *sc, s7_pointer code)
 {
   s7_pointer arg;
   arg = cadr(cadr(code));
-  car(sc->t2_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t2_2) = find_symbol_checked(sc, caddr(arg));
-  car(sc->t1_1) = c_call(arg)(sc, sc->t2_1);
-  car(sc->t2_1) = c_call(cadr(code))(sc, sc->t1_1);
-  car(sc->t2_2) = caddr(code);
+  set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t2_2, find_symbol_checked(sc, caddr(arg)));
+  set_car(sc->t1_1, c_call(arg)(sc, sc->t2_1));
+  set_car(sc->t2_1, c_call(cadr(code))(sc, sc->t1_1));
+  set_car(sc->t2_2, caddr(code));
   return(c_call(code)(sc, sc->t2_1));
 }
 
 static s7_pointer all_x_c_a(s7_scheme *sc, s7_pointer arg)
 {
-  car(sc->t1_1) = c_call(cdr(arg))(sc, cadr(arg)); 
+  set_car(sc->t1_1, c_call(cdr(arg))(sc, cadr(arg))); 
   return(c_call(arg)(sc, sc->t1_1));
 }
 
 static s7_pointer all_x_c_ssa(s7_scheme *sc, s7_pointer arg)
 {
   sc->temp3 = c_call(cdddr(arg))(sc, cadddr(arg));
-  car(sc->t3_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t3_2) = find_symbol_checked(sc, caddr(arg));
-  car(sc->t3_3) = sc->temp3;
+  set_car(sc->t3_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t3_2, find_symbol_checked(sc, caddr(arg)));
+  set_car(sc->t3_3, sc->temp3);
   sc->temp3 = sc->nil;
   return(c_call(arg)(sc, sc->t3_1));
 }
@@ -47998,9 +48063,9 @@ static s7_pointer all_x_c_ssa(s7_scheme *sc, s7_pointer arg)
 static s7_pointer all_x_c_sas(s7_scheme *sc, s7_pointer arg)
 {
   sc->temp3 = c_call(cddr(arg))(sc, caddr(arg));
-  car(sc->t3_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t3_3) = find_symbol_checked(sc, cadddr(arg));
-  car(sc->t3_2) = sc->temp3;
+  set_car(sc->t3_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t3_3, find_symbol_checked(sc, cadddr(arg)));
+  set_car(sc->t3_2, sc->temp3);
   sc->temp3 = sc->nil;
   return(c_call(arg)(sc, sc->t3_1));
 }
@@ -48008,9 +48073,9 @@ static s7_pointer all_x_c_sas(s7_scheme *sc, s7_pointer arg)
 static s7_pointer all_x_c_sca(s7_scheme *sc, s7_pointer arg)
 {
   sc->temp3 = c_call(cdddr(arg))(sc, cadddr(arg));
-  car(sc->t3_1) = find_symbol_checked(sc, cadr(arg));
-  car(sc->t3_2) = caddr(arg);
-  car(sc->t3_3) = sc->temp3;
+  set_car(sc->t3_1, find_symbol_checked(sc, cadr(arg)));
+  set_car(sc->t3_2, caddr(arg));
+  set_car(sc->t3_3, sc->temp3);
   sc->temp3 = sc->nil;
   return(c_call(arg)(sc, sc->t3_1));
 }
@@ -48018,9 +48083,9 @@ static s7_pointer all_x_c_sca(s7_scheme *sc, s7_pointer arg)
 static s7_pointer all_x_c_csa(s7_scheme *sc, s7_pointer arg)
 {
   sc->temp3 = c_call(cdddr(arg))(sc, cadddr(arg));
-  car(sc->t3_1) = cadr(arg);
-  car(sc->t3_2) = find_symbol_checked(sc, caddr(arg));
-  car(sc->t3_3) = sc->temp3;
+  set_car(sc->t3_1, cadr(arg));
+  set_car(sc->t3_2, find_symbol_checked(sc, caddr(arg)));
+  set_car(sc->t3_3, sc->temp3);
   sc->temp3 = sc->nil;
   return(c_call(arg)(sc, sc->t3_1));
 }
@@ -48028,9 +48093,9 @@ static s7_pointer all_x_c_csa(s7_scheme *sc, s7_pointer arg)
 static s7_pointer all_x_c_cas(s7_scheme *sc, s7_pointer arg)
 {
   sc->temp3 = c_call(cddr(arg))(sc, caddr(arg));
-  car(sc->t3_1) = cadr(arg);
-  car(sc->t3_3) = find_symbol_checked(sc, cadddr(arg));
-  car(sc->t3_2) = sc->temp3;
+  set_car(sc->t3_1, cadr(arg));
+  set_car(sc->t3_3, find_symbol_checked(sc, cadddr(arg)));
+  set_car(sc->t3_2, sc->temp3);
   sc->temp3 = sc->nil;
   return(c_call(arg)(sc, sc->t3_1));
 }
@@ -48230,10 +48295,10 @@ static s7_pointer make_counter(s7_scheme *sc, s7_pointer iter)
   s7_pointer x;
   new_cell(sc, x, T_COUNTER);
   counter_result(x) = sc->nil;
-  counter_list(x) = iter;        /* iterator */
+  counter_set_list(x, iter);     /* iterator -- here it's always either an iterator or a pair */
   counter_capture(x) = 0;        /* will be capture_let_counter */
   counter_set_let(x, sc->nil);   /* will be the saved env */
-  counter_slots(x) = sc->nil;    /* local env slots before body is evalled */
+  counter_set_slots(x, sc->nil); /* local env slots before body is evalled */
   return(x);
 }
 
@@ -48318,7 +48383,7 @@ Each object can be a list, string, vector, hash-table, or any other sequence."
 	  sc->z = sc->nil;
 	  while (true)
 	    {
-	      car(y) = s7_iterate(sc, x);
+	      set_car(y, s7_iterate(sc, x));
 	      if (iterator_is_at_end(x))
 		{
 		  pop_stack(sc);
@@ -48334,7 +48399,7 @@ Each object can be a list, string, vector, hash-table, or any other sequence."
 	  s7_pointer x, y;
 	  for (x = car(iters), y = cdr(iters); is_pair(x); x = cdr(x), y = cdr(y))
 	    {
-	      car(y) = s7_iterate(sc, car(x));
+	      set_car(y, s7_iterate(sc, car(x)));
 	      if (iterator_is_at_end(car(x)))
 		{
 
@@ -48470,7 +48535,7 @@ a list of the results.  Its arguments can be lists, vectors, strings, hash-table
 	  s7_pointer x, y, z;
 	  for (x = iter_list, y = cdr(val1); is_pair(x); x = cdr(x), y = cdr(y))
 	    {
-	      car(y) = s7_iterate(sc, car(x));
+	      set_car(y, s7_iterate(sc, car(x)));
 	      if (iterator_is_at_end(car(x)))
 		{
 		  pop_stack(sc);
@@ -48480,7 +48545,7 @@ a list of the results.  Its arguments can be lists, vectors, strings, hash-table
 	    }
 	  z = func(sc, cdr(val1)); /* can this contain multiple-values? */
 	  if (z != sc->no_value)
-	    car(val) = cons(sc, z, car(val));
+	    set_car(val, cons(sc, z, car(val)));
 
 	  /* to mimic map values handling elsewhere:
 	   *   ((lambda args (format *stderr* "~A~%" (map values args))) (values)):   ()
@@ -48526,7 +48591,7 @@ a list of the results.  Its arguments can be lists, vectors, strings, hash-table
 		}
 	      z = func(sc, expr);
 	      if (z != sc->no_value)
-		car(val) = cons(sc, z, car(val));
+		set_car(val, cons(sc, z, car(val)));
 	    }
 	}
 
@@ -48788,20 +48853,20 @@ static s7_pointer g_qq_list(s7_scheme *sc, s7_pointer args)
   for (x = args, y = args; is_pair(y); y = cdr(y))
     if (car(y) != sc->no_value)
       {
-	car(x) = car(y);
+	set_car(x, car(y));
 	px = x;
 	x = cdr(x);
       }
 
   if ((is_not_null(y)) &&
       (y != sc->no_value))
-    cdr(x) = cdr(y);
+    set_cdr(x, cdr(y));
   else
     {
       sc->no_values--;
       if (is_null(px))
 	return(sc->nil);
-      cdr(px) = sc->nil;
+      set_cdr(px, sc->nil);
     }
   return(args);
 }
@@ -48924,7 +48989,7 @@ and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -
     for (i = 0; i <= len; i++)
       sc->w = cons(sc, sc->nil, sc->w);
 
-    car(sc->w) = sc->qq_list_function;
+    set_car(sc->w, sc->qq_list_function);
 
     if (!dotted)
       {
@@ -48939,12 +49004,12 @@ and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -
 		 *     This now becomes (1 unquote ({apply_values} ('(2 3)))) -> ({append} ({list} 1) ({apply_values} ('(2 3)))) -> error
 		 * `(1 . (,@'(2 3))) works in both cases, and `(1 . (,(+ 1 1)))
 		 */
-		car(bq) = g_quasiquote_1(sc, car(orig));
-		cdr(bq) = sc->nil;
+		set_car(bq, g_quasiquote_1(sc, car(orig)));
+		set_cdr(bq, sc->nil);
 		sc->w = list_3(sc, sc->qq_append_function, sc->w, caddr(orig));
 		break;
 	      }
-	    else car(bq) = g_quasiquote_1(sc, car(orig));
+	    else set_car(bq, g_quasiquote_1(sc, car(orig)));
 	  }
       }
     else
@@ -48952,8 +49017,8 @@ and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -
 	/* `(1 2 . 3) */
 	len--;
 	for (orig = form, bq = cdr(sc->w), i = 0; i < len; i++, orig = cdr(orig), bq = cdr(bq))
-	  car(bq) = g_quasiquote_1(sc, car(orig));
-	car(bq) = g_quasiquote_1(sc, car(orig));
+	  set_car(bq, g_quasiquote_1(sc, car(orig)));
+	set_car(bq, g_quasiquote_1(sc, car(orig)));
 
 	sc->w = list_3(sc, sc->qq_append_function, sc->w, g_quasiquote_1(sc, cdr(orig)));
 	/* quasiquote might quote a symbol in cdr(orig), so it's not completely pointless */
@@ -49755,7 +49820,7 @@ static s7_pointer unbound_variable(s7_scheme *sc, s7_pointer sym)
 	      s7_pointer old_hook;
 
 	      old_hook = sc->unbound_variable_hook;
-	      car(sc->z2_1) = old_hook;
+	      set_car(sc->z2_1, old_hook);
 	      sc->unbound_variable_hook = sc->error_hook;      /* avoid the infinite loop mentioned above */
 	      result = s7_call(sc, old_hook, list_1(sc, sym)); /* not s7_apply_function */
 	      sc->unbound_variable_hook = old_hook;
@@ -49793,7 +49858,7 @@ static s7_pointer assign_syntax(s7_scheme *sc, const char *name, opcode_t op, s7
   unheap(syn);
   set_type(syn, T_SYNTAX | T_SYNTACTIC | T_DONT_EVAL_ARGS);
   syntax_opcode(syn) = op;
-  syntax_symbol(syn) = x;
+  syntax_set_symbol(syn, x);
   syntax_min_args(syn) = integer(min_args);
   syntax_max_args(syn) = ((max_args == max_arity) ? -1 : integer(max_args));
   syntax_documentation(syn) = s7_make_permanent_string(doc);
@@ -49801,8 +49866,8 @@ static s7_pointer assign_syntax(s7_scheme *sc, const char *name, opcode_t op, s7
   syntax_ip(syn) = NULL;
   syntax_pp(syn) = NULL;
 
-  global_slot(x) = permanent_slot(x, syn);
-  initial_slot(x) = permanent_slot(x, syn);
+  set_global_slot(x, permanent_slot(x, syn));
+  set_initial_slot(x, permanent_slot(x, syn));
   typeflag(x) = SYNTACTIC_TYPE;
   symbol_set_local(x, 0LL, sc->nil);
   symbol_syntax_op(x) = op;
@@ -49821,7 +49886,7 @@ static s7_pointer assign_internal_syntax(s7_scheme *sc, const char *name, opcode
   x = alloc_pointer();
   unheap(x);
   set_type(x, T_SYMBOL);
-  set_symbol_name_cell(x, str);
+  symbol_set_name_cell(x, str);
   symbol_set_local(x, 0LL, sc->nil);
   symbol_syntax_op(x) = op;
 
@@ -49829,7 +49894,7 @@ static s7_pointer assign_internal_syntax(s7_scheme *sc, const char *name, opcode
   heap_location(syn) = heap_location(old_syn);
   set_type(syn, T_SYNTAX | T_SYNTACTIC | T_DONT_EVAL_ARGS);
   syntax_opcode(syn) = op;
-  syntax_symbol(syn) = symbol;
+  syntax_set_symbol(syn, symbol);
   syntax_min_args(syn) = syntax_min_args(old_syn);
   syntax_max_args(syn) = syntax_max_args(old_syn);
   syntax_documentation(syn) = syntax_documentation(old_syn);
@@ -49837,8 +49902,8 @@ static s7_pointer assign_internal_syntax(s7_scheme *sc, const char *name, opcode
   syntax_ip(syn) = syntax_ip(old_syn);
   syntax_pp(syn) = syntax_pp(old_syn);
 
-  global_slot(x) = permanent_slot(x, syn);
-  initial_slot(x) = permanent_slot(x, syn);
+  set_global_slot(x, permanent_slot(x, syn));
+  set_initial_slot(x, permanent_slot(x, syn));
   typeflag(x) = SYNTACTIC_TYPE;
   return(x);
 }
@@ -51336,11 +51401,11 @@ static s7_pointer g_or_all_x_2s(s7_scheme *sc, s7_pointer args)
 {
   s7_pointer p;
   p = car(args);
-  car(sc->t1_1) = find_symbol_unchecked(sc, cadr(p));
+  set_car(sc->t1_1, find_symbol_unchecked(sc, cadr(p)));
   p = c_call(p)(sc, sc->t1_1);
   if (p != sc->F) return(p);
   p = cadr(args);
-  car(sc->t1_1) = find_symbol_unchecked(sc, cadr(p));
+  set_car(sc->t1_1, find_symbol_unchecked(sc, cadr(p)));
   return(c_call(p)(sc, sc->t1_1));
 }
 
@@ -51432,7 +51497,7 @@ static s7_pointer or_s_direct;
 static s7_pointer g_or_s_direct(s7_scheme *sc, s7_pointer args)
 {
   s7_pointer p;
-  car(sc->t1_1) = find_symbol_checked(sc, cadar(args));
+  set_car(sc->t1_1, find_symbol_checked(sc, cadar(args)));
   for (p = args; is_pair(p); p = cdr(p))
     {
       s7_pointer x;
@@ -51448,7 +51513,7 @@ static s7_pointer and_s_direct;
 static s7_pointer g_and_s_direct(s7_scheme *sc, s7_pointer args)
 {
   s7_pointer p, x = sc->T;
-  car(sc->t1_1) = find_symbol_checked(sc, cadar(args));
+  set_car(sc->t1_1, find_symbol_checked(sc, cadar(args)));
   for (p = args; is_pair(p); p = cdr(p))
     {
       x = c_call(car(p))(sc, sc->t1_1);
@@ -51463,7 +51528,7 @@ static s7_pointer if_s_direct;
 static s7_pointer g_if_s_direct(s7_scheme *sc, s7_pointer args)
 {
   s7_pointer p;
-  car(sc->t1_1) = find_symbol_checked(sc, cadar(args));
+  set_car(sc->t1_1, find_symbol_checked(sc, cadar(args)));
   if (is_true(sc, c_call(car(args))(sc, sc->t1_1)))
     p = cdr(args);
   else
@@ -54202,7 +54267,7 @@ static bool optimize_expression(s7_scheme *sc, s7_pointer expr, int hop, s7_poin
 		  (port_filename(p)))
 		s7_warn(sc, 1024, "%s might be undefined (%s %u)\n", DISPLAY(car_expr), port_filename(p), port_line_number(p));
 	      else s7_warn(sc, 1024, "; %s might be undefined\n", DISPLAY(car_expr));
-	      symbol_tag(car_expr) = 1;             /* one warning is enough */
+	      symbol_set_tag(car_expr, 1);             /* one warning is enough */
 	    }
 	  /* we need local definitions and func args in e?  also check is_symbol case below
 	   */
@@ -54773,7 +54838,7 @@ static s7_pointer check_lambda_star_args(s7_scheme *sc, s7_pointer args, int *ar
 		      if (w == top)
 			eval_error(sc, ":allow-other-keys can't be the only parameter: ~A", args);
 		      set_allow_other_keys(top);
-		      cdr(v) = sc->nil;
+		      set_cdr(v, sc->nil);
 		    }
 		  else                                        /* (lambda* (pi) ...) */
 		    eval_error(sc, "lambda* parameter '~A is a constant", car_w);
@@ -54857,7 +54922,7 @@ static void check_lambda_star(s7_scheme *sc)
       (!is_pair(cdr(sc->code))))                                          /* (lambda*) or (lambda* #f) */
     eval_error_no_return(sc, sc->syntax_error_symbol, "lambda*: no args or no body? ~A", sc->code);
   
-  car(sc->code) = check_lambda_star_args(sc, car(sc->code), NULL);
+  set_car(sc->code, check_lambda_star_args(sc, car(sc->code), NULL));
   clear_syms_in_list(sc);
   
   if ((sc->safety != 0) ||
@@ -55936,11 +56001,11 @@ static int define_unchecked_ex(s7_scheme *sc)
 	typ = T_CLOSURE_STAR | T_PROCEDURE | T_SAFE_CLOSURE;
       else typ = T_CLOSURE_STAR | T_PROCEDURE;
       new_cell(sc, x, typ);
-      closure_args(x) = cdar(sc->code);
-      closure_body(x) = cdr(sc->code);
+      closure_set_args(x, cdar(sc->code));
+      closure_set_body(x, cdr(sc->code));
       closure_set_let(x, sc->envir);
       closure_arity(x) = CLOSURE_ARITY_NOT_SET;
-      closure_setter(x) = sc->F;
+      closure_set_setter(x, sc->F);
       sc->capture_let_counter++;
       sc->value = x;
       sc->code = caar(sc->code);
@@ -55986,9 +56051,9 @@ static void define_funchecked(s7_scheme *sc)
   sc->value = caar(code);
   
   new_cell(sc, new_func, T_CLOSURE | T_PROCEDURE | T_COPY_ARGS);
-  closure_args(new_func) = cdar(code);
-  closure_body(new_func) = cdr(code);
-  closure_setter(new_func) = sc->F;
+  closure_set_args(new_func, cdar(code));
+  closure_set_body(new_func, cdr(code));
+  closure_set_setter(new_func, sc->F);
   closure_arity(new_func) = CLOSURE_ARITY_NOT_SET;
   sc->capture_let_counter++;
   
@@ -56129,7 +56194,7 @@ static void unsafe_closure_star(s7_scheme *sc)
       slot_set_symbol(z, sym);
       symbol_set_local(sym, id, z);
       slot_set_value(z, val);
-      next_slot(z) = let_slots(e);
+      set_next_slot(z, let_slots(e));
       let_set_slots(e, z);
       z = args;
     }
@@ -56428,7 +56493,7 @@ static s7_pointer check_cond(s7_scheme *sc)
 		  int i;
 		  pair_set_syntax_symbol(sc->code, sc->cond_all_x_symbol);
 		  for (i = 0, p = sc->code; is_pair(p); i++, p = cdr(p))
-		    set_c_call(car(p), cond_all_x_eval(sc, caar(p), sc->envir)); /* handle 'else' specially here */
+		    set_c_call(car(p), cond_all_x_eval(sc, caar(p), (is_null(sc->envir)) ? sc->rootlet : sc->envir));  /* handle 'else' specially here */
 		  if (i == 2)
 		    pair_set_syntax_symbol(sc->code, sc->cond_all_x_2_symbol);
 		}
@@ -56740,8 +56805,8 @@ static bool set_pair_p_3(s7_scheme *sc, s7_pointer obj, s7_pointer arg, s7_point
   switch (type(obj))
     {
     case T_C_OBJECT:
-      car(sc->t2_1) = arg;
-      car(sc->t2_2) = value;
+      set_car(sc->t2_1, arg);
+      set_car(sc->t2_2, value);
       sc->value = (*(c_object_set(obj)))(sc, obj, sc->t2_1);
       break;
       
@@ -56750,16 +56815,16 @@ static bool set_pair_p_3(s7_scheme *sc, s7_pointer obj, s7_pointer arg, s7_point
     case T_FLOAT_VECTOR:
     case T_VECTOR:
 #if WITH_GMP
-      car(sc->t3_1) = obj;
-      car(sc->t3_2) = arg;
-      car(sc->t3_3) = value;
+      set_car(sc->t3_1, obj);
+      set_car(sc->t3_2, arg);
+      set_car(sc->t3_3, value);
       sc->value = g_vector_set(sc, sc->t3_1);
 #else
       if (vector_rank(obj) > 1)
 	{
-	  car(sc->t3_1) = obj;
-	  car(sc->t3_2) = arg;
-	  car(sc->t3_3) = value;
+	  set_car(sc->t3_1, obj);
+	  set_car(sc->t3_2, arg);
+	  set_car(sc->t3_3, value);
 	  sc->value = g_vector_set(sc, sc->t3_1);
 	}
       else
@@ -56781,9 +56846,9 @@ static bool set_pair_p_3(s7_scheme *sc, s7_pointer obj, s7_pointer arg, s7_point
       
     case T_STRING:
 #if WITH_GMP
-      car(sc->t3_1) = obj;
-      car(sc->t3_2) = arg;
-      car(sc->t3_3) = value;
+      set_car(sc->t3_1, obj);
+      set_car(sc->t3_2, arg);
+      set_car(sc->t3_3, value);
       sc->value = g_string_set(sc, sc->t3_1);
 #else
       {
@@ -56819,9 +56884,9 @@ static bool set_pair_p_3(s7_scheme *sc, s7_pointer obj, s7_pointer arg, s7_point
       break;
       
     case T_PAIR:
-      car(sc->t3_1) = obj;
-      car(sc->t3_2) = arg;
-      car(sc->t3_3) = value;
+      set_car(sc->t3_1, obj);
+      set_car(sc->t3_2, arg);
+      set_car(sc->t3_3, value);
       sc->value = g_list_set(sc, sc->t3_1);
       break;
       
@@ -56843,8 +56908,8 @@ static bool set_pair_p_3(s7_scheme *sc, s7_pointer obj, s7_pointer arg, s7_point
 	{
 	  if (is_c_function(c_function_setter(obj)))
 	    {
-	      car(sc->t2_1) = arg;
-	      car(sc->t2_2) = value;
+	      set_car(sc->t2_1, arg);
+	      set_car(sc->t2_2, value);
 	      sc->value = c_function_call(c_function_setter(obj))(sc, sc->t2_1);
 	    }
 	  else
@@ -56866,8 +56931,8 @@ static bool set_pair_p_3(s7_scheme *sc, s7_pointer obj, s7_pointer arg, s7_point
 	{
 	  if (is_c_function(closure_setter(obj)))
 	    {
-	      car(sc->t2_1) = arg;
-	      car(sc->t2_2) = value;
+	      set_car(sc->t2_1, arg);
+	      set_car(sc->t2_2, value);
 	      sc->value = c_function_call(closure_setter(obj))(sc, sc->t2_1);
 	    }
 	  else
@@ -57009,8 +57074,8 @@ static int set_pair_ex(s7_scheme *sc)
 	      {
 		if (is_symbol(val))
 		  val = find_symbol_checked(sc, val);
-		car(sc->t2_1) = index;
-		car(sc->t2_2) = val;
+		set_car(sc->t2_1, index);
+		set_car(sc->t2_2, val);
 		sc->value = (*(c_object_set(cx)))(sc, cx, sc->t2_1);
 		return(goto_START);
 	      }
@@ -57224,8 +57289,8 @@ static int set_pair_ex(s7_scheme *sc)
 	if (is_symbol(val))
 	  val = find_symbol_checked(sc, val);
 	
-	car(sc->t2_1) = index;
-	car(sc->t2_2) = val;
+	set_car(sc->t2_1, index);
+	set_car(sc->t2_2, val);
 	sc->value = g_list_set_1(sc, cx, sc->t2_1, 2);
 	return(goto_START);
       }
@@ -57350,8 +57415,8 @@ static int set_pair_ex(s7_scheme *sc)
 		{
 		  if (is_null(cddar(sc->code)))
 		    {
-		      car(sc->t2_1) = find_symbol_checked(sc, cadar(sc->code));
-		      car(sc->t2_2) = find_symbol_checked(sc, cadr(sc->code));
+		      set_car(sc->t2_1, find_symbol_checked(sc, cadar(sc->code)));
+		      set_car(sc->t2_2, find_symbol_checked(sc, cadr(sc->code)));
 		      sc->args = sc->t2_1;
 		      sc->code = c_function_setter(cx);
 		      return(goto_APPLY); /* check arg num etc */
@@ -57359,9 +57424,9 @@ static int set_pair_ex(s7_scheme *sc)
 		  if ((is_symbol(caddar(sc->code))) &&
 		      (is_null(cdddar(sc->code))))
 		    {
-		      car(sc->t3_1) = find_symbol_checked(sc, cadar(sc->code));
-		      car(sc->t3_2) = find_symbol_checked(sc, caddar(sc->code));
-		      car(sc->t3_3) = find_symbol_checked(sc, cadr(sc->code));
+		      set_car(sc->t3_1, find_symbol_checked(sc, cadar(sc->code)));
+		      set_car(sc->t3_2, find_symbol_checked(sc, caddar(sc->code)));
+		      set_car(sc->t3_3, find_symbol_checked(sc, cadr(sc->code)));
 		      sc->args = sc->t3_1;
 		      sc->code = c_function_setter(cx);
 		      return(goto_APPLY); /* check arg num etc */
@@ -57378,8 +57443,8 @@ static int set_pair_ex(s7_scheme *sc)
 		  (!is_pair(cadr(sc->code))))
 		{
 		  if (is_symbol(cadr(sc->code)))
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(sc->code));
-		  else car(sc->t1_1) = cadr(sc->code);
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(sc->code)));
+		  else set_car(sc->t1_1, cadr(sc->code));
 		  sc->args = sc->t1_1;
 		  sc->code = c_function_setter(cx);
 		  return(goto_APPLY); /* check arg num etc */
@@ -58045,7 +58110,7 @@ static bool dox_pf_ok(s7_scheme *sc, s7_pointer code, s7_pointer scc, s7_functio
 
 	      for (slot = slots; is_slot(slot); slot = next_slot(slot))
 		if (is_pair(slot_expression(slot)))
-		  slot_pending_value(slot) = c_call(slot_expression(slot))(sc, car(slot_expression(slot)));
+		  slot_set_pending_value(slot, c_call(slot_expression(slot))(sc, car(slot_expression(slot))));
 	      for (slot = slots; is_slot(slot); slot = next_slot(slot))
 		if (is_pair(slot_expression(slot)))
 		  slot_set_value(slot, slot_pending_value(slot));
@@ -58079,7 +58144,7 @@ static bool dox_pf_ok(s7_scheme *sc, s7_pointer code, s7_pointer scc, s7_functio
 	      
 	      for (slot = slots; is_slot(slot); slot = next_slot(slot))
 		if (is_pair(slot_expression(slot)))
-		  slot_pending_value(slot) = c_call(slot_expression(slot))(sc, car(slot_expression(slot)));
+		  slot_set_pending_value(slot, c_call(slot_expression(slot))(sc, car(slot_expression(slot))));
 	      for (slot = slots; is_slot(slot); slot = next_slot(slot))
 		if (is_pair(slot_expression(slot)))
 		  slot_set_value(slot, slot_pending_value(slot));
@@ -58131,7 +58196,7 @@ static int dox_ex(s7_scheme *sc)
       slot_set_symbol(slot, caar(vars));
       slot_set_value(slot, val);
       set_stepper(slot);
-      slot_expression(slot) = cddar(vars);
+      slot_set_expression(slot, cddar(vars));
 
       if (is_pair(slot_expression(slot)))
 	{
@@ -58146,7 +58211,7 @@ static int dox_ex(s7_scheme *sc)
 	}
       else all_pairs = false;
 
-      next_slot(slot) = let_slots(frame);
+      set_next_slot(slot, let_slots(frame));
       let_set_slots(frame, slot);
     }
   
@@ -58318,12 +58383,12 @@ static int simple_do_ex(s7_scheme *sc, s7_pointer code)
 	  temp = top;
 	  rf(sc, &temp);
 	  
-	  car(sc->t2_1) = slot_value(ctr);
-	  car(sc->t2_2) = step_var;
+	  set_car(sc->t2_1, slot_value(ctr));
+	  set_car(sc->t2_2, step_var);
 	  slot_set_value(ctr, stepf(sc, sc->t2_1));
 	  
-	  car(sc->t2_1) = slot_value(ctr);
-	  car(sc->t2_2) = slot_value(end);
+	  set_car(sc->t2_1, slot_value(ctr));
+	  set_car(sc->t2_2, slot_value(end));
 	  if (is_true(sc, endf(sc, sc->t2_1)))
 	    {
 	      s7_xf_free(sc);
@@ -58897,8 +58962,8 @@ static int dotimes_p_ex(s7_scheme *sc)
   dox_set_slot1(sc->envir, make_slot_1(sc, sc->envir, caaar(code), init_val));
   dox_set_slot2(sc->envir, sc->args);
   
-  car(sc->t2_1) = slot_value(dox_slot1(sc->envir));
-  car(sc->t2_2) = slot_value(dox_slot2(sc->envir));
+  set_car(sc->t2_1, slot_value(dox_slot1(sc->envir)));
+  set_car(sc->t2_2, slot_value(dox_slot2(sc->envir)));
   if (is_true(sc, c_call(caadr(code))(sc, sc->t2_1)))
     {
       sc->code = cdadr(code);
@@ -58991,7 +59056,7 @@ static int do_init_ex(s7_scheme *sc)
       set_type(y, T_SLOT);
       slot_set_symbol(y, sym);
       slot_set_value(y, val);
-      next_slot(y) = let_slots(sc->envir);
+      set_next_slot(y, let_slots(sc->envir));
       let_set_slots(sc->envir, y);
       symbol_set_local(sym, let_id(sc->envir), y);
       
@@ -60007,7 +60072,7 @@ static void set_pws_ex(s7_scheme *sc)
       if (is_symbol(value))
 	value = find_symbol_checked(sc, value);
       
-      car(sc->t1_1) = value;
+      set_car(sc->t1_1, value);
       sc->value = c_function_call(c_function_setter(obj))(sc, sc->t1_1);
     }
   else eval_error_no_return(sc, sc->syntax_error_symbol, "no generalized set for ~A", obj);
@@ -60220,7 +60285,7 @@ static void apply_lambda(s7_scheme *sc)                              /* --------
       slot_set_symbol(z, sym);
       symbol_set_local(sym, id, z);
       slot_set_value(z, val);
-      next_slot(z) = let_slots(e);
+      set_next_slot(z, let_slots(e));
       let_set_slots(e, z);
       z = args;
     }
@@ -60272,8 +60337,8 @@ static int apply_lambda_star(s7_scheme *sc) 	                  /* -------- defin
 	      s7_pointer y;
 	      add_slot(sc->envir, car(car_z), sc->undefined);
 	      y = let_slots(sc->envir);
-	      slot_expression(y) = cadr(car_z);
-	      slot_pending_value(y) = sc->nil;
+	      slot_set_expression(y, cadr(car_z));
+	      slot_set_pending_value(y, sc->nil);
 	      if (!top)
 		{
 		  top = y;
@@ -60281,7 +60346,7 @@ static int apply_lambda_star(s7_scheme *sc) 	                  /* -------- defin
 		}
 	      else
 		{
-		  slot_pending_value(nxt) = y;
+		  slot_set_pending_value(nxt, y);
 		  nxt = y;
 		}
 	    }
@@ -60748,8 +60813,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  sc->args = list_2(sc, SORT_DATA(j), SORT_DATA(j + 1));
 		else
 		  {
-		    car(sc->t2_1) = SORT_DATA(j);
-		    car(sc->t2_2) = SORT_DATA(j + 1);
+		    set_car(sc->t2_1, SORT_DATA(j));
+		    set_car(sc->t2_2, SORT_DATA(j + 1));
 		    sc->args = sc->t2_1;
 		  }
 		sc->code = lx;
@@ -60775,8 +60840,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      sc->args = list_2(sc, SORT_DATA(k), SORT_DATA(j));
 	    else
 	      {
-		car(sc->t2_1) = SORT_DATA(k);
-		car(sc->t2_2) = SORT_DATA(j);
+		set_car(sc->t2_1, SORT_DATA(k));
+		set_car(sc->t2_2, SORT_DATA(j));
 		sc->args = sc->t2_1;
 	      }
 	    sc->code = lx;
@@ -60897,7 +60962,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      {
 		new_frame_with_slot(sc, closure_let(code), sc->envir, car(closure_args(code)), x);
 		counter_set_let(args, sc->envir);
-		counter_slots(args) = let_slots(sc->envir);
+		counter_set_slots(args, let_slots(sc->envir));
 		counter_capture(args) = sc->capture_let_counter;
 	      }
 	    else 
@@ -60910,7 +60975,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		 *   if the check has been optimized away.  I think each function call should start with
 		 *   the original let slots, so counter_slots saves that pointer, and resets it here.
 		 */
-		let_slots(counter_let(args)) = counter_slots(args);
+		let_set_slots(counter_let(args), counter_slots(args));
 		sc->envir = old_frame_with_slot(sc, counter_let(args), x);
 	      }
 	    sc->code = closure_body(code);
@@ -60963,7 +61028,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    saved_args = cdr(sc->args);
 	    for (x = saved_args, y = iterators; is_pair(x); x = cdr(x), y = cdr(y))
 	      {
-		car(x) = s7_iterate(sc, car(y));
+		set_car(x, s7_iterate(sc, car(y)));
 		if (iterator_is_at_end(car(y)))
 		  {
 		    sc->value = sc->unspecified;
@@ -61002,12 +61067,12 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      {
 		new_frame_with_slot(sc, closure_let(code), sc->envir, car(closure_args(code)), arg);
 		counter_set_let(counter, sc->envir);
-		counter_slots(counter) = let_slots(sc->envir);
+		counter_set_slots(counter, let_slots(sc->envir));
 		counter_capture(counter) = sc->capture_let_counter;
 	      }
 	    else 
 	      {
-		let_slots(counter_let(counter)) = counter_slots(counter);
+		let_set_slots(counter_let(counter), counter_slots(counter));
 		sc->envir = old_frame_with_slot(sc, counter_let(counter), arg);
 	      }
 	    push_stack(sc, OP_FOR_EACH_1, counter, code);
@@ -61021,14 +61086,14 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    s7_pointer code, c, lst, arg;
 	    c = sc->args; /* the counter */
 	    lst = counter_list(c);
-	    if (!is_pair(lst))  /* '(1 2 . 3) as arg? */
+	    if (!is_pair(lst))  /* '(1 2 . 3) as arg? -- counter_list can be anything here */
 	      {
 		sc->value = sc->unspecified;
 		goto START;
 	      }
 	    code = sc->code;
 	    arg = car(lst);
-	    counter_list(c) = cdr(lst);
+	    counter_set_list(c, cdr(lst));
 	    if (sc->op == OP_FOR_EACH_3)
 	      {
 		counter_result(c) = cdr(counter_result(c));
@@ -61044,12 +61109,12 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      {
 		new_frame_with_slot(sc, closure_let(code), sc->envir, car(closure_args(code)), arg);
 		counter_set_let(c, sc->envir);
-		counter_slots(c) = let_slots(sc->envir);
+		counter_set_slots(c, let_slots(sc->envir));
 		counter_capture(c) = sc->capture_let_counter;
 	      }
 	    else 
 	      {
-		let_slots(counter_let(c)) = counter_slots(c);
+		let_set_slots(counter_let(c), counter_slots(c));
 		sc->envir = old_frame_with_slot(sc, counter_let(c), arg);
 	      }
 	    sc->code = closure_body(code);
@@ -61190,8 +61255,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    s7_pointer arg;
 	    /* no calls?? */
 	    arg = slot_value(sc->args);
-	    car(sc->t2_1) = arg;
-	    car(sc->t2_2) = sc->value;
+	    set_car(sc->t2_1, arg);
+	    set_car(sc->t2_2, sc->value);
 	    c_call(opt_pair2(sc->code))(sc, sc->t2_1);
 	    
 	    numerator(arg)++;
@@ -61311,8 +61376,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		sc->args = slot;
 	      }
 	    dox_set_slot2(sc->envir, sc->args);
-	    car(sc->t2_1) = slot_value(dox_slot1(sc->envir));
-	    car(sc->t2_2) = slot_value(dox_slot2(sc->envir));
+	    set_car(sc->t2_1, slot_value(dox_slot1(sc->envir)));
+	    set_car(sc->t2_2, slot_value(dox_slot2(sc->envir)));
 	    if (is_true(sc, c_call(caadr(code))(sc, sc->t2_1)))
 	      {
 		sc->code = cdadr(code);
@@ -61363,18 +61428,18 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    step = caddr(caar(code));
 	    if (is_symbol(cadr(step)))
 	      {
-		car(sc->t2_1) = slot_value(ctr);
-		car(sc->t2_2) = caddr(step);
+		set_car(sc->t2_1, slot_value(ctr));
+		set_car(sc->t2_2, caddr(step));
 	      }
 	    else
 	      {
-		car(sc->t2_2) = slot_value(ctr);
-		car(sc->t2_1) = cadr(step);
+		set_car(sc->t2_2, slot_value(ctr));
+		set_car(sc->t2_1, cadr(step));
 	      }
 	    slot_set_value(ctr, c_call(step)(sc, sc->t2_1));
 	    
-	    car(sc->t2_1) = slot_value(ctr);
-	    car(sc->t2_2) = slot_value(end);
+	    set_car(sc->t2_1, slot_value(ctr));
+	    set_car(sc->t2_2, slot_value(end));
 	    if (is_true(sc, c_call(caadr(code))(sc, sc->t2_1)))
 	      {
 		sc->code = cdr(cadr(code));
@@ -61423,8 +61488,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  }
 		else
 		  {
-		    car(sc->t2_1) = slot_value(ctr);
-		    car(sc->t2_2) = end;
+		    set_car(sc->t2_1, slot_value(ctr));
+		    set_car(sc->t2_2, end);
 		    if (is_true(sc, g_equal_2(sc, sc->t2_1)))
 		      {
 			sc->code = cdr(cadr(code));
@@ -61434,10 +61499,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      }
 	    else
 	      {
-		car(sc->t1_1) = val; /* add_s1 ignores cadr(args) */
+		set_car(sc->t1_1, val); /* add_s1 ignores cadr(args) */
 		slot_set_value(ctr, g_add_s1(sc, sc->t1_1));
-		car(sc->t2_1) = slot_value(ctr);
-		car(sc->t2_2) = end;
+		set_car(sc->t2_1, slot_value(ctr));
+		set_car(sc->t2_2, end);
 		if (is_true(sc, g_equal_2(sc, sc->t2_1)))
 		  {
 		    sc->code = cdr(cadr(code));
@@ -61492,8 +61557,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  }
 		else
 		  {
-		    car(sc->t2_1) = now;
-		    car(sc->t2_2) = end;
+		    set_car(sc->t2_1, now);
+		    set_car(sc->t2_2, end);
 		    if (is_true(sc, c_call(end_test)(sc, sc->t2_1)))
 		      {
 			sc->code = cdadr(code);
@@ -61503,11 +61568,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      }
 	    else
 	      {
-		car(sc->t1_1) = now;
+		set_car(sc->t1_1, now);
 		slot_set_value(ctr, g_add_s1(sc, sc->t1_1));
 		/* (define (hi) (let ((x 0.0) (y 1.0)) (do ((i y (+ i 1))) ((= i 6)) (do ((i i (+ i 1))) ((>= i 7)) (set! x (+ x i)))) x)) */
-		car(sc->t2_1) = slot_value(ctr);
-		car(sc->t2_2) = end;
+		set_car(sc->t2_1, slot_value(ctr));
+		set_car(sc->t2_2, end);
 		if (is_true(sc, c_call(end_test)(sc, sc->t2_1)))
 		  {
 		    sc->code = cdadr(code);
@@ -61869,7 +61934,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  if (!c_function_is_ok(sc, code)) break;
 		  
 		case HOP_SAFE_C_Q:
-		  car(sc->t1_1) = cadr(cadr(code));
+		  set_car(sc->t1_1, cadr(cadr(code)));
 		  sc->value = c_call(code)(sc, sc->t1_1);
 		  goto START;
 		  
@@ -61878,7 +61943,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  if (!c_function_is_ok(sc, code)) break;
 		  
 		case HOP_SAFE_C_S:
-		  car(sc->t1_1) = find_symbol_checked(sc, cadr(code));
+		  set_car(sc->t1_1, find_symbol_checked(sc, cadr(code)));
 		  sc->value = c_call(code)(sc, sc->t1_1);
 		  goto START;
 		  
@@ -61891,8 +61956,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer val, args;
 		    args = cdr(code);
 		    val = find_symbol_checked(sc, car(args));
-		    car(sc->t2_2) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_1) = val;
+		    set_car(sc->t2_2, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t2_1, val);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -61917,7 +61982,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    else sc->args = make_list(sc, num_args, sc->nil);
 		    
 		    for (args = cdr(code), p = sc->args; is_pair(args); args = cdr(args), p = cdr(p))
-		      car(p) = find_symbol_checked(sc, car(args));
+		      set_car(p, find_symbol_checked(sc, car(args)));
 		    clear_list_in_use(sc->args);
 		    sc->value = c_call(code)(sc, sc->args);
 		    goto START;
@@ -61931,8 +61996,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_1) = find_symbol_checked(sc, car(args));
-		    car(sc->t2_2) = cadr(args);
+		    set_car(sc->t2_1, find_symbol_checked(sc, car(args)));
+		    set_car(sc->t2_2, cadr(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -61945,8 +62010,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_2) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_1) = car(args);
+		    set_car(sc->t2_2, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t2_1, car(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -61959,8 +62024,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_1) = find_symbol_checked(sc, car(args));
-		    car(sc->t2_2) = cadr(cadr(args));
+		    set_car(sc->t2_1, find_symbol_checked(sc, car(args)));
+		    set_car(sc->t2_2, cadr(cadr(args)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -61973,8 +62038,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_2) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_1) = cadr(car(args));
+		    set_car(sc->t2_2, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t2_1, cadr(car(args)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -61987,8 +62052,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_1) = cadr(car(args));
-		    car(sc->t2_2) = cadr(cadr(args));
+		    set_car(sc->t2_1, cadr(car(args)));
+		    set_car(sc->t2_2, cadr(cadr(args)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62001,8 +62066,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_1) = car(args);
-		    car(sc->t2_2) = cadr(cadr(args));
+		    set_car(sc->t2_1, car(args));
+		    set_car(sc->t2_2, cadr(cadr(args)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62015,8 +62080,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_1) = cadr(car(args));
-		    car(sc->t2_2) = cadr(args);
+		    set_car(sc->t2_1, cadr(car(args)));
+		    set_car(sc->t2_2, cadr(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62088,8 +62153,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cadr(code);
-		    car(sc->a1_1) = c_call(cdr(arg))(sc, cadr(arg));
-		    car(sc->t1_1) = c_call(arg)(sc, sc->a1_1);
+		    set_car(sc->a1_1, c_call(cdr(arg))(sc, cadr(arg)));
+		    set_car(sc->t1_1, c_call(arg)(sc, sc->a1_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62102,9 +62167,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cadr(code);
-		    car(sc->a2_1) = c_call(cdr(arg))(sc, cadr(arg));
-		    car(sc->a2_2) = c_call(cddr(arg))(sc, caddr(arg));
-		    car(sc->t1_1) = c_call(arg)(sc, sc->a2_1);
+		    set_car(sc->a2_1, c_call(cdr(arg))(sc, cadr(arg)));
+		    set_car(sc->a2_2, c_call(cddr(arg))(sc, caddr(arg)));
+		    set_car(sc->t1_1, c_call(arg)(sc, sc->a2_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62117,10 +62182,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cadr(code);
-		    car(sc->a3_1) = c_call(cdr(arg))(sc, cadr(arg));
-		    car(sc->a3_2) = c_call(cddr(arg))(sc, caddr(arg));
-		    car(sc->a3_3) = c_call(cdddr(arg))(sc, cadddr(arg));
-		    car(sc->t1_1) = c_call(arg)(sc, sc->a3_1);
+		    set_car(sc->a3_1, c_call(cdr(arg))(sc, cadr(arg)));
+		    set_car(sc->a3_2, c_call(cddr(arg))(sc, caddr(arg)));
+		    set_car(sc->a3_3, c_call(cdddr(arg))(sc, cadddr(arg)));
+		    set_car(sc->t1_1, c_call(arg)(sc, sc->a3_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62133,9 +62198,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = caddr(code);
-		    car(sc->a1_1) = c_call(cdr(arg))(sc, cadr(arg));
-		    car(sc->t2_2) = c_call(arg)(sc, sc->a1_1);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(code));
+		    set_car(sc->a1_1, c_call(cdr(arg))(sc, cadr(arg)));
+		    set_car(sc->t2_2, c_call(arg)(sc, sc->a1_1));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(code)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62148,10 +62213,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = caddr(code);
-		    car(sc->a2_1) = c_call(cdr(arg))(sc, cadr(arg));
-		    car(sc->a2_2) = c_call(cddr(arg))(sc, caddr(arg));
-		    car(sc->t2_2) = c_call(arg)(sc, sc->a2_1);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(code));
+		    set_car(sc->a2_1, c_call(cdr(arg))(sc, cadr(arg)));
+		    set_car(sc->a2_2, c_call(cddr(arg))(sc, caddr(arg)));
+		    set_car(sc->t2_2, c_call(arg)(sc, sc->a2_1));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(code)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62165,13 +62230,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer arg, p;
 		    p = caddr(code);
 		    arg = cdr(p);
-		    car(sc->a3_1) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a3_1, c_call(arg)(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_2) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a3_2, c_call(arg)(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_3) = c_call(arg)(sc, car(arg));
-		    car(sc->t2_2) = c_call(p)(sc, sc->a3_1);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(code));
+		    set_car(sc->a3_3, c_call(arg)(sc, car(arg)));
+		    set_car(sc->t2_2, c_call(p)(sc, sc->a3_1));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(code)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62304,7 +62369,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  if (!a_is_ok_cadr(sc, code)) break;
 		  
 		case HOP_SAFE_C_A:
-		  car(sc->a1_1) = c_call(cdr(code))(sc, cadr(code));
+		  set_car(sc->a1_1, c_call(cdr(code))(sc, cadr(code)));
 		  sc->value = c_call(code)(sc, sc->a1_1);
 		  goto START;
 		  
@@ -62313,8 +62378,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  if (!a_is_ok(sc, code)) break;
 		  
 		case HOP_SAFE_C_AA:
-		  car(sc->a2_1) = c_call(cdr(code))(sc, cadr(code));
-		  car(sc->a2_2) = c_call(cddr(code))(sc, caddr(code));
+		  set_car(sc->a2_1, c_call(cdr(code))(sc, cadr(code)));
+		  set_car(sc->a2_2, c_call(cddr(code))(sc, caddr(code)));
 		  sc->value = c_call(code)(sc, sc->a2_1);
 		  goto START;
 		  
@@ -62326,11 +62391,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cdr(code);
-		    car(sc->a3_1) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a3_1, c_call(arg)(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_2) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a3_2, c_call(arg)(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_3) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a3_3, c_call(arg)(sc, car(arg)));
 		    sc->value = c_call(code)(sc, sc->a3_1);
 		    goto START;
 		  }
@@ -62343,11 +62408,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cdr(code);
-		    car(sc->a3_1) = find_symbol_checked(sc, car(arg));
+		    set_car(sc->a3_1, find_symbol_checked(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_2) = find_symbol_checked(sc, car(arg));
+		    set_car(sc->a3_2, find_symbol_checked(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_3) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a3_3, c_call(arg)(sc, car(arg)));
 		    sc->value = c_call(code)(sc, sc->a3_1);
 		    goto START;
 		  }
@@ -62360,11 +62425,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cdr(code);
-		    car(sc->a3_1) = find_symbol_checked(sc, car(arg));
+		    set_car(sc->a3_1, find_symbol_checked(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_2) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a3_2, c_call(arg)(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_3) = find_symbol_checked(sc, car(arg));
+		    set_car(sc->a3_3, find_symbol_checked(sc, car(arg)));
 		    sc->value = c_call(code)(sc, sc->a3_1);
 		    goto START;
 		  }
@@ -62377,11 +62442,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cdr(code);
-		    car(sc->a3_1) = car(arg);
+		    set_car(sc->a3_1, car(arg));
 		    arg = cdr(arg);
-		    car(sc->a3_2) = find_symbol_checked(sc, car(arg));
+		    set_car(sc->a3_2, find_symbol_checked(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_3) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a3_3, c_call(arg)(sc, car(arg)));
 		    sc->value = c_call(code)(sc, sc->a3_1);
 		    goto START;
 		  }
@@ -62394,11 +62459,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cdr(code);
-		    car(sc->a3_1) = find_symbol_checked(sc, car(arg));
+		    set_car(sc->a3_1, find_symbol_checked(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a3_2) = car(arg);
+		    set_car(sc->a3_2, car(arg));
 		    arg = cdr(arg);
-		    car(sc->a3_3) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a3_3, c_call(arg)(sc, car(arg)));
 		    sc->value = c_call(code)(sc, sc->a3_1);
 		    goto START;
 		  }
@@ -62411,10 +62476,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cdr(code);
-		    car(sc->a3_1) = car(arg);
+		    set_car(sc->a3_1, car(arg));
 		    arg = cdr(arg);
-		    car(sc->a3_2) = c_call(arg)(sc, car(arg));
-		    car(sc->a3_3) = find_symbol_checked(sc, cadr(arg));
+		    set_car(sc->a3_2, c_call(arg)(sc, car(arg)));
+		    set_car(sc->a3_3, find_symbol_checked(sc, cadr(arg)));
 		    sc->value = c_call(code)(sc, sc->a3_1);
 		    goto START;
 		  }
@@ -62427,13 +62492,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cdr(code);
-		    car(sc->a4_1) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a4_1, c_call(arg)(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a4_2) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a4_2, c_call(arg)(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a4_3) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a4_3, c_call(arg)(sc, car(arg)));
 		    arg = cdr(arg);
-		    car(sc->a4_4) = c_call(arg)(sc, car(arg));
+		    set_car(sc->a4_4, c_call(arg)(sc, car(arg)));
 		    sc->value = c_call(code)(sc, sc->a4_1);
 		    goto START;
 		  }
@@ -62458,7 +62523,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    else sc->args = make_list(sc, num_args, sc->nil);
 		    
 		    for (args = cdr(code), p = sc->args; is_pair(args); args = cdr(args), p = cdr(p))
-		      car(p) = c_call(args)(sc, car(args));
+		      set_car(p, c_call(args)(sc, car(args)));
 		    clear_list_in_use(sc->args);
 		    
 		    sc->value = c_call(code)(sc, sc->args);
@@ -62479,9 +62544,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer val1, args;
 		    args = cdr(code);
 		    val1 = find_symbol_checked(sc, car(args));
-		    car(sc->t3_3) = find_symbol_checked(sc, opt_sym2(args));
-		    car(sc->t3_2) = opt_con1(args);
-		    car(sc->t3_1) = val1;
+		    set_car(sc->t3_3, find_symbol_checked(sc, opt_sym2(args)));
+		    set_car(sc->t3_2, opt_con1(args));
+		    set_car(sc->t3_1, val1);
 		    sc->value = c_call(code)(sc, sc->t3_1);
 		    goto START;
 		  }
@@ -62497,9 +62562,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    args = cdr(code);
 		    
 		    val1 = find_symbol_checked(sc, car(args));
-		    car(sc->t3_3) = find_symbol_checked(sc, opt_sym2(args));
-		    car(sc->t3_2) = opt_con1(args);
-		    car(sc->t3_1) = val1;
+		    set_car(sc->t3_3, find_symbol_checked(sc, opt_sym2(args)));
+		    set_car(sc->t3_2, opt_con1(args));
+		    set_car(sc->t3_1, val1);
 		    sc->value = c_call(code)(sc, sc->t3_1);
 		    goto START;
 		  }
@@ -62515,9 +62580,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    args = cdr(code);
 		    
 		    val1 = find_symbol_checked(sc, car(args));
-		    car(sc->t3_2) = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t3_3) = opt_con2(args);
-		    car(sc->t3_1) = val1;
+		    set_car(sc->t3_2, find_symbol_checked(sc, opt_sym1(args)));
+		    set_car(sc->t3_3, opt_con2(args));
+		    set_car(sc->t3_1, val1);
 		    sc->value = c_call(code)(sc, sc->t3_1);
 		    goto START;
 		  }
@@ -62532,9 +62597,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args;
 		    args = cdr(code);
 		    
-		    car(sc->t3_1) = find_symbol_checked(sc, car(args));
-		    car(sc->t3_2) = opt_con1(args);
-		    car(sc->t3_3) = opt_con2(args);
+		    set_car(sc->t3_1, find_symbol_checked(sc, car(args)));
+		    set_car(sc->t3_2, opt_con1(args));
+		    set_car(sc->t3_3, opt_con2(args));
 		    sc->value = c_call(code)(sc, sc->t3_1);
 		    goto START;
 		  }
@@ -62548,9 +62613,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args;
 		    args = cdr(code);
 		    
-		    car(sc->t3_2) = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t3_1) = car(args);
-		    car(sc->t3_3) = opt_con2(args);
+		    set_car(sc->t3_2, find_symbol_checked(sc, opt_sym1(args)));
+		    set_car(sc->t3_1, car(args));
+		    set_car(sc->t3_3, opt_con2(args));
 		    sc->value = c_call(code)(sc, sc->t3_1);
 		    goto START;
 		  }
@@ -62565,9 +62630,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    args = cdr(code);
 		    
 		    val1 = find_symbol_checked(sc, opt_sym2(args));
-		    car(sc->t3_2) = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t3_3) = val1;
-		    car(sc->t3_1) = car(args);
+		    set_car(sc->t3_2, find_symbol_checked(sc, opt_sym1(args)));
+		    set_car(sc->t3_3, val1);
+		    set_car(sc->t3_1, car(args));
 		    sc->value = c_call(code)(sc, sc->t3_1);
 		    goto START;
 		  }
@@ -62582,9 +62647,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    
 		    val1 = find_symbol_checked(sc, car(args));
 		    val2 = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t3_3) = find_symbol_checked(sc, opt_sym2(args));
-		    car(sc->t3_1) = val1;
-		    car(sc->t3_2) = val2;
+		    set_car(sc->t3_3, find_symbol_checked(sc, opt_sym2(args)));
+		    set_car(sc->t3_1, val1);
+		    set_car(sc->t3_2, val2);
 		    sc->value = c_call(code)(sc, sc->t3_1);
 		    goto START;
 		  }
@@ -62594,7 +62659,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  if (!c_function_is_ok_cadr(sc, code)) break;
 		  
 		case HOP_SAFE_C_opCq:
-		  car(sc->t1_1) = c_call(car(cdr(code)))(sc, cdar(cdr(code))); /* OP_SAFE_C_C can involve any number of ops */
+		  set_car(sc->t1_1, c_call(car(cdr(code)))(sc, cdar(cdr(code)))); /* OP_SAFE_C_C can involve any number of ops */
 		  sc->value = c_call(code)(sc, sc->t1_1);
 		  goto START;
 		  
@@ -62606,8 +62671,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cadr(code);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t1_1) = c_call(args)(sc, sc->t1_1);
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t1_1, c_call(args)(sc, sc->t1_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62620,9 +62685,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer outer, args;
 		    outer = cadr(code);
 		    args = cadr(outer);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t1_1) = c_call(args)(sc, sc->t1_1);
-		    car(sc->t1_1) = c_call(outer)(sc, sc->t1_1);
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t1_1, c_call(args)(sc, sc->t1_1));
+		    set_car(sc->t1_1, c_call(outer)(sc, sc->t1_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62636,10 +62701,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer outer, args;
 		    outer = cadr(code);
 		    args = caddr(outer);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_2) = c_call(args)(sc, sc->t1_1);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(outer));
-		    car(sc->t1_1) = c_call(outer)(sc, sc->t2_1);
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t2_2, c_call(args)(sc, sc->t1_1));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(outer)));
+		    set_car(sc->t1_1, c_call(outer)(sc, sc->t2_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62734,9 +62799,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val1;
 		    args = cadr(code);
 		    val1 = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(args));
-		    car(sc->t2_1) = val1;
-		    car(sc->t1_1) = c_call(args)(sc, sc->t2_1);
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(args)));
+		    set_car(sc->t2_1, val1);
+		    set_car(sc->t1_1, c_call(args)(sc, sc->t2_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62749,9 +62814,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cadr(code);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_2) = caddr(args);
-		    car(sc->t1_1) = c_call(args)(sc, sc->t2_1);
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t2_2, caddr(args));
+		    set_car(sc->t1_1, c_call(args)(sc, sc->t2_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62764,9 +62829,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cadr(code);
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(args));
-		    car(sc->t2_1) = cadr(args);
-		    car(sc->t1_1) = c_call(args)(sc, sc->t2_1);
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(args)));
+		    set_car(sc->t2_1, cadr(args));
+		    set_car(sc->t1_1, c_call(args)(sc, sc->t2_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62779,9 +62844,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cadr(code);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_2) = cadr(caddr(args));
-		    car(sc->t1_1) = c_call(args)(sc, sc->t2_1);
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t2_2, cadr(caddr(args)));
+		    set_car(sc->t1_1, c_call(args)(sc, sc->t2_1));
 		    sc->value = c_call(code)(sc, sc->t1_1);
 		    goto START;
 		  }
@@ -62795,9 +62860,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val;
 		    args = cdr(code);
 		    val = find_symbol_checked(sc, car(args));
-		    car(sc->t1_1) = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t1_1);
-		    car(sc->t2_1) = val;
+		    set_car(sc->t1_1, find_symbol_checked(sc, opt_sym1(args)));
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t1_1));
+		    set_car(sc->t2_1, val);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62810,8 +62875,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val;
 		    args = cdr(code);
 		    val = find_symbol_checked(sc, car(args));
-		    car(sc->t2_2) = c_call(cadr(args))(sc, opt_pair1(args)); /* any number of constants here */
-		    car(sc->t2_1) = val;
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, opt_pair1(args))); /* any number of constants here */
+		    set_car(sc->t2_1, val);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62824,9 +62889,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t1_1) = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t1_1);
-		    car(sc->t2_1) = car(args);
+		    set_car(sc->t1_1, find_symbol_checked(sc, opt_sym1(args)));
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t1_1));
+		    set_car(sc->t2_1, car(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62839,8 +62904,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_2) = c_call(cadr(args))(sc, opt_pair1(args)); /* any # of args */
-		    car(sc->t2_1) = car(args);
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, opt_pair1(args))); /* any # of args */
+		    set_car(sc->t2_1, car(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62853,10 +62918,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_2) = find_symbol_checked(sc, opt_sym2(args));
-		    car(sc->t2_1) = opt_con1(args);
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = car(args);
+		    set_car(sc->t2_2, find_symbol_checked(sc, opt_sym2(args)));
+		    set_car(sc->t2_1, opt_con1(args));
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t2_1));
+		    set_car(sc->t2_1, car(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62870,10 +62935,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val;
 		    args = cdr(code);
 		    val = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t2_2) = find_symbol_checked(sc, opt_sym2(args));
-		    car(sc->t2_1) = val;
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = car(args);
+		    set_car(sc->t2_2, find_symbol_checked(sc, opt_sym2(args)));
+		    set_car(sc->t2_1, val);
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t2_1));
+		    set_car(sc->t2_1, car(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62886,10 +62951,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(car(args)));
-		    car(sc->t2_1) = cadr(car(args));
-		    car(sc->t2_1) = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t2_2) = cadr(args);
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(car(args))));
+		    set_car(sc->t2_1, cadr(car(args)));
+		    set_car(sc->t2_1, c_call(car(args))(sc, sc->t2_1));
+		    set_car(sc->t2_2, cadr(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62903,10 +62968,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val;
 		    args = cdr(code);
 		    val = find_symbol_checked(sc, cadr(car(args)));
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(car(args)));
-		    car(sc->t2_1) = val;
-		    car(sc->t2_1) = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t2_2) = cadr(args);
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(car(args))));
+		    set_car(sc->t2_1, val);
+		    set_car(sc->t2_1, c_call(car(args))(sc, sc->t2_1));
+		    set_car(sc->t2_2, cadr(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62921,10 +62986,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    args = cdr(code);
 		    val = find_symbol_checked(sc, cadr(car(args)));
 		    val1 = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(car(args)));
-		    car(sc->t2_1) = val;
-		    car(sc->t2_1) = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t2_2) = val1;
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(car(args))));
+		    set_car(sc->t2_1, val);
+		    set_car(sc->t2_1, c_call(car(args))(sc, sc->t2_1));
+		    set_car(sc->t2_2, val1);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62938,11 +63003,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    /* code: (> (magnitude (- old new)) 0.001) */
 		    s7_pointer arg;
 		    arg = cadr(cadr(code));
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(arg));
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(arg));
-		    car(sc->t1_1) = c_call(arg)(sc, sc->t2_1);
-		    car(sc->t2_1) = c_call(cadr(code))(sc, sc->t1_1);
-		    car(sc->t2_2) = caddr(code);
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg)));
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(arg)));
+		    set_car(sc->t1_1, c_call(arg)(sc, sc->t2_1));
+		    set_car(sc->t2_1, c_call(cadr(code))(sc, sc->t1_1));
+		    set_car(sc->t2_2, caddr(code));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62956,11 +63021,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    /* code: (> (magnitude (- old new)) s) */
 		    s7_pointer arg;
 		    arg = cadr(cadr(code));
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(arg));
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(arg));
-		    car(sc->t1_1) = c_call(arg)(sc, sc->t2_1);
-		    car(sc->t2_1) = c_call(cadr(code))(sc, sc->t1_1);
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(code));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg)));
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(arg)));
+		    set_car(sc->t1_1, c_call(arg)(sc, sc->t2_1));
+		    set_car(sc->t2_1, c_call(cadr(code))(sc, sc->t1_1));
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(code)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62973,10 +63038,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cadr(cadr(code));
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(arg));
-		    car(sc->t1_1) = c_call(arg)(sc, sc->t1_1);
-		    car(sc->t2_1) = c_call(cadr(code))(sc, sc->t1_1);
-		    car(sc->t2_2) = caddr(code);
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(arg)));
+		    set_car(sc->t1_1, c_call(arg)(sc, sc->t1_1));
+		    set_car(sc->t2_1, c_call(cadr(code))(sc, sc->t1_1));
+		    set_car(sc->t2_2, caddr(code));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -62989,10 +63054,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg;
 		    arg = cadr(cadr(code));
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(arg));
-		    car(sc->t1_1) = c_call(arg)(sc, sc->t1_1);
-		    car(sc->t2_1) = c_call(cadr(code))(sc, sc->t1_1);
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(code));
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(arg)));
+		    set_car(sc->t1_1, c_call(arg)(sc, sc->t1_1));
+		    set_car(sc->t2_1, c_call(cadr(code))(sc, sc->t1_1));
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(code)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63013,13 +63078,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    args = caddr(code);                            /* (* (- b c) d) */
 		    val1 = cadr(args);
 		    val = find_symbol_checked(sc, cadr(val1));                  /* b */
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(val1));       /* c */
-		    car(sc->t2_1) = val;
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(val1)));       /* c */
+		    set_car(sc->t2_1, val);
 		    val = find_symbol_checked(sc, caddr(args));                 /* d */
-		    car(sc->t2_1) = c_call(val1)(sc, sc->t2_1);    /* (- b c) */
-		    car(sc->t2_2) = val;
-		    car(sc->t2_2) = c_call(args)(sc, sc->t2_1);    /* (* ...) */
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(code));        /* a */
+		    set_car(sc->t2_1, c_call(val1)(sc, sc->t2_1));    /* (- b c) */
+		    set_car(sc->t2_2, val);
+		    set_car(sc->t2_2, c_call(args)(sc, sc->t2_1));    /* (* ...) */
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(code)));        /* a */
 		    sc->value = c_call(code)(sc, sc->t2_1);        /* (+ ...) */
 		    goto START;
 		  }
@@ -63035,13 +63100,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    args = caddr(code);                            /* (* d (- b c)) */
 		    val1 = caddr(args);
 		    val = find_symbol_checked(sc, cadr(val1));                  /* b */
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(val1));       /* c */
-		    car(sc->t2_1) = val;
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(val1)));       /* c */
+		    set_car(sc->t2_1, val);
 		    val = find_symbol_checked(sc, cadr(args));                  /* d */
-		    car(sc->t2_2) = c_call(val1)(sc, sc->t2_1);    /* (- b c) */
-		    car(sc->t2_1) = val;
-		    car(sc->t2_2) = c_call(args)(sc, sc->t2_1);    /* (* ...) */
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(code));        /* a */
+		    set_car(sc->t2_2, c_call(val1)(sc, sc->t2_1));    /* (- b c) */
+		    set_car(sc->t2_1, val);
+		    set_car(sc->t2_2, c_call(args)(sc, sc->t2_1));    /* (* ...) */
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(code)));        /* a */
 		    sc->value = c_call(code)(sc, sc->t2_1);        /* (+ ...) */
 		    goto START;
 		  }
@@ -63059,17 +63124,17 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    op1 = cadr(args);
 		    op2 = caddr(args);
 		    
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(op1));
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(op1));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(op1)));
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(op1)));
 		    f1 = c_call(op1)(sc, sc->t2_1);
 		    
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(op2));
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(op2));
-		    car(sc->t2_2) = c_call(op2)(sc, sc->t2_1);
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(op2)));
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(op2)));
+		    set_car(sc->t2_2, c_call(op2)(sc, sc->t2_1));
 		    
-		    car(sc->t2_1) = f1;
-		    car(sc->t2_2) = c_call(args)(sc, sc->t2_1);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(code));
+		    set_car(sc->t2_1, f1);
+		    set_car(sc->t2_2, c_call(args)(sc, sc->t2_1));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(code)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63083,10 +63148,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val1;
 		    args = cdr(code);
 		    val1 = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(car(args)));
-		    car(sc->t2_2) = caddr(car(args));
-		    car(sc->t2_1) = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t2_2) = val1;
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(car(args))));
+		    set_car(sc->t2_2, caddr(car(args)));
+		    set_car(sc->t2_1, c_call(car(args))(sc, sc->t2_1));
+		    set_car(sc->t2_2, val1);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63099,10 +63164,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(car(args)));
-		    car(sc->t2_2) = caddr(car(args));
-		    car(sc->t2_1) = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t2_2) = cadr(args);
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(car(args))));
+		    set_car(sc->t2_2, caddr(car(args)));
+		    set_car(sc->t2_1, c_call(car(args))(sc, sc->t2_1));
+		    set_car(sc->t2_2, cadr(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63116,10 +63181,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val1;
 		    args = cdr(code);
 		    val1 = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(car(args)));
-		    car(sc->t2_1) = cadr(car(args));
-		    car(sc->t2_1) = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t2_2) = val1;
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(car(args))));
+		    set_car(sc->t2_1, cadr(car(args)));
+		    set_car(sc->t2_1, c_call(car(args))(sc, sc->t2_1));
+		    set_car(sc->t2_2, val1);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63133,10 +63198,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer val1, args;
 		    args = cdr(code);
 		    val1 = find_symbol_checked(sc, car(args));
-		    car(sc->t2_1) = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t2_2) = opt_con2(args);
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = val1;
+		    set_car(sc->t2_1, find_symbol_checked(sc, opt_sym1(args)));
+		    set_car(sc->t2_2, opt_con2(args));
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t2_1));
+		    set_car(sc->t2_1, val1);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63149,10 +63214,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_1) = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t2_2) = opt_con2(args);
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = car(args);
+		    set_car(sc->t2_1, find_symbol_checked(sc, opt_sym1(args)));
+		    set_car(sc->t2_2, opt_con2(args));
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t2_1));
+		    set_car(sc->t2_1, car(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63168,10 +63233,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    args = cdr(code);
 		    val1 = find_symbol_checked(sc, car(args));
 		    val2 = find_symbol_checked(sc, opt_sym1(args));
-		    car(sc->t2_2) = find_symbol_checked(sc, opt_sym2(args));
-		    car(sc->t2_1) = val2;
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = val1;
+		    set_car(sc->t2_2, find_symbol_checked(sc, opt_sym2(args)));
+		    set_car(sc->t2_1, val2);
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t2_1));
+		    set_car(sc->t2_1, val1);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63186,10 +63251,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer val1, args;
 		    args = cdr(code);
 		    val1 = find_symbol_checked(sc, car(args));                     /* a */
-		    car(sc->t2_2) = find_symbol_checked(sc, opt_sym2(args));           /* b */
-		    car(sc->t2_1) = opt_con1(args);                       /* 1 */
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t2_1); /* (- 1 b) */
-		    car(sc->t2_1) = val1;
+		    set_car(sc->t2_2, find_symbol_checked(sc, opt_sym2(args)));           /* b */
+		    set_car(sc->t2_1, opt_con1(args));                       /* 1 */
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t2_1)); /* (- 1 b) */
+		    set_car(sc->t2_1, val1);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63202,10 +63267,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(car(args)));
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(car(args))));
 		    sc->temp3 = c_call(car(args))(sc, sc->t1_1);
-		    car(sc->t2_2) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_1) = sc->temp3;
+		    set_car(sc->t2_2, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t2_1, sc->temp3);
 		    sc->temp3 = sc->nil;
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
@@ -63219,7 +63284,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cadr(code);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(args));
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(args)));
 		    push_stack(sc, OP_SAFE_C_opSq_P_1, c_call(args)(sc, sc->t1_1), sc->code);
 		    sc->code = caddr(code);
 		    goto EVAL;
@@ -63233,9 +63298,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer arg1;  /* (let-ref (cdr v) 'x) */
 		    arg1 = cadr(code);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(arg1));
-		    car(sc->t2_1) = c_call(arg1)(sc, sc->t1_1);
-		    car(sc->t2_2) = cadr(caddr(code));
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(arg1)));
+		    set_car(sc->t2_1, c_call(arg1)(sc, sc->t1_1));
+		    set_car(sc->t2_2, cadr(caddr(code)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63249,10 +63314,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer arg1, arg3;  /* (let-set! (cdr v) 'x y) */
 		    arg1 = cadr(code);
 		    arg3 = find_symbol_checked(sc, cadddr(code));
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(arg1));
-		    car(sc->t3_1) = c_call(arg1)(sc, sc->t1_1);
-		    car(sc->t3_2) = cadr(caddr(code));
-		    car(sc->t3_3) = arg3;
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(arg1)));
+		    set_car(sc->t3_1, c_call(arg1)(sc, sc->t1_1));
+		    set_car(sc->t3_2, cadr(caddr(code)));
+		    set_car(sc->t3_3, arg3);
 		    sc->value = c_call(code)(sc, sc->t3_1);
 		    goto START;
 		  }
@@ -63266,8 +63331,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val;
 		    args = cdr(code);
 		    val = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_1) = c_call(car(args))(sc, cdr(car(args)));
-		    car(sc->t2_2) = val;
+		    set_car(sc->t2_1, c_call(car(args))(sc, cdr(car(args))));
+		    set_car(sc->t2_2, val);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63280,8 +63345,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_1) = c_call(car(args))(sc, cdr(car(args)));
-		    car(sc->t2_2) = cadr(args); /* the second C stands for 1 arg? */
+		    set_car(sc->t2_1, c_call(car(args))(sc, cdr(car(args))));
+		    set_car(sc->t2_2, cadr(args)); /* the second C stands for 1 arg? */
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63294,9 +63359,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(car(args)));
-		    car(sc->t2_1) = c_call(car(args))(sc, sc->t1_1);
-		    car(sc->t2_2) = cadr(args);
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(car(args))));
+		    set_car(sc->t2_1, c_call(car(args))(sc, sc->t1_1));
+		    set_car(sc->t2_2, cadr(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63312,10 +63377,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    args = cdr(code);     /* C_op_S_opCqq */
 		    arg1 = cadr(args);    /* op_S_opCqq */
 		    arg2 = caddr(arg1);   /* opCq */
-		    car(sc->t2_2) = c_call(arg2)(sc, cdr(arg2));
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(arg1));
-		    car(sc->t2_2) = c_call(arg1)(sc, sc->t2_1);
-		    car(sc->t2_1) = car(args);
+		    set_car(sc->t2_2, c_call(arg2)(sc, cdr(arg2)));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg1)));
+		    set_car(sc->t2_2, c_call(arg1)(sc, sc->t2_1));
+		    set_car(sc->t2_1, car(args));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63328,12 +63393,12 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(car(args)));
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(car(args))));
 		    sc->temp3 = c_call(car(args))(sc, sc->t1_1);
 		    args = cadr(args);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(args));
-		    car(sc->t2_2) = c_call(args)(sc, sc->t1_1);
-		    car(sc->t2_1) = sc->temp3;
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(args)));
+		    set_car(sc->t2_2, c_call(args)(sc, sc->t1_1));
+		    set_car(sc->t2_1, sc->temp3);
 		    sc->temp3 = sc->nil;
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
@@ -63347,8 +63412,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args;
 		    args = cdr(code);
-		    car(sc->t2_1) = c_call(car(args))(sc, cdr(car(args)));
-		    car(sc->t2_2) = c_call(cadr(args))(sc, cdr(cadr(args)));
+		    set_car(sc->t2_1, c_call(car(args))(sc, cdr(car(args))));
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, cdr(cadr(args))));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63364,10 +63429,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    args = cdr(code);
 		    val = c_call(car(args))(sc, cdr(car(args)));
 		    args = cdr(args);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadar(args));
-		    car(sc->t2_2) = find_symbol_checked(sc, caddar(args));
-		    car(sc->t2_2) = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = val;
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadar(args)));
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddar(args)));
+		    set_car(sc->t2_2, c_call(car(args))(sc, sc->t2_1));
+		    set_car(sc->t2_1, val);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63381,13 +63446,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val2;
 		    args = cdr(code);
 		    val2 = find_symbol_checked(sc, cadr(cadr(args)));
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(car(args)));
-		    car(sc->t2_2) = caddr(car(args));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(car(args))));
+		    set_car(sc->t2_2, caddr(car(args)));
 		    sc->temp3 = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = val2;
-		    car(sc->t2_2) = caddr(cadr(args));
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = sc->temp3;
+		    set_car(sc->t2_1, val2);
+		    set_car(sc->t2_2, caddr(cadr(args)));
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t2_1));
+		    set_car(sc->t2_1, sc->temp3);
 		    sc->temp3 = sc->nil;
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
@@ -63404,13 +63469,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    val3 = find_symbol_checked(sc, caddr(car(args)));
 		    val4 = find_symbol_checked(sc, caddr(cadr(args)));
 		    
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(car(args)));
-		    car(sc->t2_2) = val3;
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(car(args))));
+		    set_car(sc->t2_2, val3);
 		    sc->temp3 = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(cadr(args)));
-		    car(sc->t2_2) = val4;
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = sc->temp3;
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(cadr(args))));
+		    set_car(sc->t2_2, val4);
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t2_1));
+		    set_car(sc->t2_1, sc->temp3);
 		    sc->temp3 = sc->nil;
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
@@ -63425,12 +63490,12 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val3;
 		    args = cdr(code);
 		    val3 = find_symbol_checked(sc, caddr(car(args)));
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(car(args)));
-		    car(sc->t2_2) = val3;
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(car(args))));
+		    set_car(sc->t2_2, val3);
 		    val3 = c_call(car(args))(sc, sc->t2_1);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(cadr(args)));
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t1_1);
-		    car(sc->t2_1) = val3;
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(cadr(args))));
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t1_1));
+		    set_car(sc->t2_1, val3);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63443,12 +63508,12 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  {
 		    s7_pointer args, val3;
 		    args = cdr(code);
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(car(args)));
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(car(args))));
 		    val3 = c_call(car(args))(sc, sc->t1_1);
-		    car(sc->t2_2) = find_symbol_checked(sc, caddr(cadr(args)));
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(cadr(args)));
-		    car(sc->t2_2) = c_call(cadr(args))(sc, sc->t2_1);
-		    car(sc->t2_1) = val3;
+		    set_car(sc->t2_2, find_symbol_checked(sc, caddr(cadr(args))));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(cadr(args))));
+		    set_car(sc->t2_2, c_call(cadr(args))(sc, sc->t2_1));
+		    set_car(sc->t2_1, val3);
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63463,10 +63528,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    arg1 = cadr(code);
 		    arg2 = caddr(code);
 		    val3 = find_symbol_checked(sc, caddr(arg1));
-		    car(sc->t2_1) = find_symbol_checked(sc, cadr(arg1));
-		    car(sc->t2_2) = val3;
-		    car(sc->t2_1) = c_call(arg1)(sc, sc->t2_1);
-		    car(sc->t2_2) = c_call(arg2)(sc, cdr(arg2));
+		    set_car(sc->t2_1, find_symbol_checked(sc, cadr(arg1)));
+		    set_car(sc->t2_2, val3);
+		    set_car(sc->t2_1, c_call(arg1)(sc, sc->t2_1));
+		    set_car(sc->t2_2, c_call(arg2)(sc, cdr(arg2)));
 		    sc->value = c_call(code)(sc, sc->t2_1);
 		    goto START;
 		  }
@@ -63565,7 +63630,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, val;
 		    args = cdr(code);
 		    val = find_symbol_checked(sc, car(args));
-		    car(sc->t1_1) = find_symbol_checked(sc, opt_sym1(args));
+		    set_car(sc->t1_1, find_symbol_checked(sc, opt_sym1(args)));
 		    sc->args = list_2(sc, val, c_call(cadr(args))(sc, sc->t1_1));
 		    sc->value = c_call(code)(sc, sc->args);
 		    goto START;
@@ -63610,7 +63675,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer args, p;
 		    sc->args = make_list(sc, integer(arglist_length(code)), sc->nil);
 		    for (args = cdr(code), p = sc->args; is_pair(args); args = cdr(args), p = cdr(p))
-		      car(p) = c_call(args)(sc, car(args));
+		      set_car(p, c_call(args)(sc, car(args)));
 		    sc->value = c_call(code)(sc, sc->args);
 		    goto START;
 		  }
@@ -63928,7 +63993,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    else sc->args = make_list(sc, num_args, sc->nil);
 		    
 		    for (args = cdr(code), p = sc->args; is_pair(args); args = cdr(args), p = cdr(p))
-		      car(p) = c_call(args)(sc, car(args));
+		      set_car(p, c_call(args)(sc, car(args)));
 		    clear_list_in_use(sc->args);
 		    sc->code = opt_lambda(code);
 		    
@@ -64027,7 +64092,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    for (args = cdr(code), p = let_slots(e), orig_args = closure_args(opt_lambda(code));
 			 is_pair(args);
 			 args = cdr(args), orig_args = cdr(orig_args), p = next_slot(p))
-		      slot_pending_value(p) = c_call(args)(sc, car(args));
+		      slot_set_pending_value(p, c_call(args)(sc, car(args)));
 		    
 		    /* we're out of caller's args, so fill rest of environment slots from the defaults */
 		    for (; is_slot(p); p = next_slot(p), orig_args = cdr(orig_args))
@@ -64037,10 +64102,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 			  {
 			    defval = cadar(orig_args);
 			    if (is_pair(defval))
-			      slot_pending_value(p) = cadr(defval);
-			    else slot_pending_value(p) = defval;
+			      slot_set_pending_value(p, cadr(defval));
+			    else slot_set_pending_value(p, defval);
 			  }
-			else slot_pending_value(p) = sc->F;
+			else slot_set_pending_value(p, sc->F);
 		      }
 		    
 		    /* we have to put off the actual environment update in case this is a tail recursive call */
@@ -64357,7 +64422,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    new_args = sc->args;
 		    
 		    for (p = closure_args(func), args = cdr(code); is_pair(args); p = cdr(p), args = cdr(args), new_args = cdr(new_args))
-		      car(new_args) = c_call(args)(sc, car(args));
+		      set_car(new_args, c_call(args)(sc, car(args)));
 		    
 		    for (; is_pair(p); p = cdr(p), new_args = cdr(new_args))
 		      {
@@ -64366,10 +64431,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 			  {
 			    defval = cadar(p);
 			    if (is_pair(defval))
-			      car(new_args) = cadr(defval);
-			    else car(new_args) = defval;
+			      set_car(new_args, cadr(defval));
+			    else set_car(new_args, defval);
 			  }
-			else car(new_args) = sc->F;
+			else set_car(new_args, sc->F);
 		      }
 		    sc->code = opt_lambda(code);
 		    unsafe_closure_star(sc);
@@ -64390,8 +64455,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		      val2 = find_symbol_checked(sc, val2);
 		    if (is_null(args))
 		      {
-			car(sc->t2_1) = val1;
-			car(sc->t2_2) = val2;
+			set_car(sc->t2_1, val1);
+			set_car(sc->t2_2, val2);
 			code = opt_lambda(sc->code);
 			args = closure_args(code);
 			new_frame_with_two_slots(sc, closure_let(code), sc->envir, 
@@ -64664,7 +64729,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer c;
 		    c = find_symbol_checked(sc, car(code));
 		    if (!is_c_object(c)) break;
-		    car(sc->t1_1) = c_call(cdr(code))(sc, cadr(code));
+		    set_car(sc->t1_1, c_call(cdr(code))(sc, cadr(code)));
 		    sc->value = (*(c_object_ref(c)))(sc, c, sc->t1_1);
 		    goto START;
 		  }
@@ -64675,7 +64740,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    s7_pointer c;
 		    c = find_symbol_checked(sc, car(code));
 		    if (!is_c_object(c)) break;
-		    car(sc->t1_1) = find_symbol_checked(sc, cadr(code));
+		    set_car(sc->t1_1, find_symbol_checked(sc, cadr(code)));
 		    sc->value = (*(c_object_ref(c)))(sc, c, sc->t1_1);
 		    goto START;
 		  }
@@ -64718,7 +64783,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		if (typesflag(carc) == SYNTACTIC_TYPE)
 		  {
 		    set_syntactic_pair(code);      /* leave other bits (T_LINE_NUMBER) intact */
-		    car(code) = syntax_symbol(slot_value(initial_slot(carc))); /* clear possible optimization confusion */
+		    set_car(code, syntax_symbol(slot_value(initial_slot(carc)))); /* clear possible optimization confusion */
 		    sc->op = (opcode_t)symbol_syntax_op(car(code));
 		    pair_set_syntax_op(code, sc->op);
 		    sc->code = cdr(code);
@@ -64835,10 +64900,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    s7_pointer x, y;
 	    new_cell(sc, x, T_PAIR);
 	    new_cell_no_check(sc, y, T_PAIR);
-	    car(x) = sc->code;
-	    cdr(x) = sc->args;
-	    car(y) = sc->value;
-	    cdr(y) = x;
+	    set_car(x, sc->code);
+	    set_cdr(x, sc->args);
+	    set_car(y, sc->value);
+	    set_cdr(y, x);
 	    sc->args = safe_reverse_in_place(sc, y);
 	    sc->code = pop_op_stack(sc);
 	    goto APPLY;
@@ -64851,8 +64916,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    s7_pointer x;
 	    sc->code = pop_op_stack(sc);
 	    new_cell(sc, x, T_PAIR);
-	    car(x) = sc->value;
-	    cdr(x) = sc->args;
+	    set_car(x, sc->value);
+	    set_cdr(x, sc->args);
 	    if (!is_null(sc->args))
 	      sc->args = safe_reverse_in_place(sc, x);
 	    else sc->args = x;
@@ -64865,8 +64930,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  /* from HOP_SAFE_C_SP||CP|QP, handled like P_1 case above
 	   *   primarily involves generators: (outa i (nrcos gen)) etc
 	   */
-	  car(sc->t2_1) = sc->args;
-	  car(sc->t2_2) = sc->value;
+	  set_car(sc->t2_1, sc->args);
+	  set_car(sc->t2_2, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
@@ -64879,9 +64944,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	case OP_EVAL_ARGS_SSP_1:
 	  /* from HOP_SAFE_C_SSP */
-	  car(sc->t3_3) = sc->value;
-	  car(sc->t3_1) = find_symbol_checked(sc, cadr(sc->code));
-	  car(sc->t3_2) = find_symbol_checked(sc, caddr(sc->code));
+	  set_car(sc->t3_3, sc->value);
+	  set_car(sc->t3_1, find_symbol_checked(sc, cadr(sc->code)));
+	  set_car(sc->t3_2, find_symbol_checked(sc, caddr(sc->code)));
 	  sc->value = c_call(sc->code)(sc, sc->t3_1);
 	  break;
 	  
@@ -64893,11 +64958,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_EVAL_ARGS_P_3:
-	  car(sc->t2_2) = find_symbol_checked(sc, caddr(sc->code));
+	  set_car(sc->t2_2, find_symbol_checked(sc, caddr(sc->code)));
 	  /* we have to wait because we say the evaluation order is always left to right
 	   *   and the first arg's evaluation might change the value of the second arg.
 	   */
-	  car(sc->t2_1) = sc->value;
+	  set_car(sc->t2_1, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
@@ -64912,8 +64977,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_EVAL_ARGS_P_4:
-	  car(sc->t2_1) = sc->value;
-	  car(sc->t2_2) = sc->args;
+	  set_car(sc->t2_1, sc->value);
+	  set_car(sc->t2_2, sc->args);
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
@@ -64924,15 +64989,15 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_SAFE_C_ZC_1:
-	  car(sc->t2_1) = sc->value;
-	  car(sc->t2_2) = sc->args;
+	  set_car(sc->t2_1, sc->value);
+	  set_car(sc->t2_2, sc->args);
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
 	  
 	case OP_SAFE_C_SZ_1:
-	  car(sc->t2_1) = sc->args;
-	  car(sc->t2_2) = sc->value;
+	  set_car(sc->t2_1, sc->args);
+	  set_car(sc->t2_2, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
@@ -64941,17 +65006,17 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  /* S_opSZq actually, in (nominal second, only actual) SZ, S=args, Z=value,
 	   *   SZ from the SP combiner for SZ
 	   */
-	  car(sc->t2_1) = sc->args;
-	  car(sc->t2_2) = sc->value;
-	  car(sc->t2_2) = c_call(caddr(sc->code))(sc, sc->t2_1);
-	  car(sc->t2_1) = find_symbol_checked(sc, cadr(sc->code));
+	  set_car(sc->t2_1, sc->args);
+	  set_car(sc->t2_2, sc->value);
+	  set_car(sc->t2_2, c_call(caddr(sc->code))(sc, sc->t2_1));
+	  set_car(sc->t2_1, find_symbol_checked(sc, cadr(sc->code)));
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
 	  
 	case OP_SAFE_C_ZA_1:
-	  car(sc->t2_2) = c_call(cddr(sc->code))(sc, caddr(sc->code));
-	  car(sc->t2_1) = sc->value;
+	  set_car(sc->t2_2, c_call(cddr(sc->code))(sc, caddr(sc->code)));
+	  set_car(sc->t2_1, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
@@ -64963,40 +65028,40 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_SAFE_C_ZZ_2:
-	  car(sc->t2_1) = sc->args;
-	  car(sc->t2_2) = sc->value;
+	  set_car(sc->t2_1, sc->args);
+	  set_car(sc->t2_2, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
 	  
 	case OP_SAFE_C_ZAA_1:
-	  car(sc->a3_1) = sc->value;
-	  car(sc->a3_2) = c_call(cddr(sc->code))(sc, caddr(sc->code));
-	  car(sc->a3_3) = c_call(cdddr(sc->code))(sc, cadddr(sc->code));
+	  set_car(sc->a3_1, sc->value);
+	  set_car(sc->a3_2, c_call(cddr(sc->code))(sc, caddr(sc->code)));
+	  set_car(sc->a3_3, c_call(cdddr(sc->code))(sc, cadddr(sc->code)));
 	  sc->value = c_call(sc->code)(sc, sc->a3_1);
 	  break;
 	  
 	  
 	case OP_SAFE_C_AZA_1:
-	  car(sc->t3_3) = c_call(cdddr(sc->code))(sc, cadddr(sc->code));
-	  car(sc->t3_2) = sc->value;
-	  car(sc->t3_1) = sc->args;
+	  set_car(sc->t3_3, c_call(cdddr(sc->code))(sc, cadddr(sc->code)));
+	  set_car(sc->t3_2, sc->value);
+	  set_car(sc->t3_1, sc->args);
 	  sc->value = c_call(sc->code)(sc, sc->t3_1);
 	  break;
 	  
 	  
 	case OP_SAFE_C_SSZ_1:
-	  car(sc->t3_1) = sc->args;
-	  car(sc->t3_3) = sc->value;
-	  car(sc->t3_2) = find_symbol_checked(sc, caddr(sc->code));
+	  set_car(sc->t3_1, sc->args);
+	  set_car(sc->t3_3, sc->value);
+	  set_car(sc->t3_2, find_symbol_checked(sc, caddr(sc->code)));
 	  sc->value = c_call(sc->code)(sc, sc->t3_1);
 	  break;
 	  
 	  
 	case OP_SAFE_C_AAZ_1:
-	  car(sc->t3_1) = pop_op_stack(sc);
-	  car(sc->t3_2) = sc->args;
-	  car(sc->t3_3) = sc->value;
+	  set_car(sc->t3_1, pop_op_stack(sc));
+	  set_car(sc->t3_2, sc->args);
+	  set_car(sc->t3_3, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t3_1);
 	  break;
 	  
@@ -65009,9 +65074,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_SAFE_C_ZZA_2:
-	  car(sc->a3_1) = pop_op_stack(sc);
-	  car(sc->a3_2) = sc->value;
-	  car(sc->a3_3) = c_call(cdddr(sc->code))(sc, cadddr(sc->code));
+	  set_car(sc->a3_1, pop_op_stack(sc));
+	  set_car(sc->a3_2, sc->value);
+	  set_car(sc->a3_3, c_call(cdddr(sc->code))(sc, cadddr(sc->code)));
 	  sc->value = c_call(sc->code)(sc, sc->a3_1);
 	  break;
 	  
@@ -65024,9 +65089,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_SAFE_C_ZAZ_2:
-	  car(sc->t3_1) = pop_op_stack(sc);
-	  car(sc->t3_2) = sc->args;
-	  car(sc->t3_3) = sc->value;
+	  set_car(sc->t3_1, pop_op_stack(sc));
+	  set_car(sc->t3_2, sc->args);
+	  set_car(sc->t3_3, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t3_1);
 	  break;
 	  
@@ -65039,9 +65104,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_SAFE_C_AZZ_2:
-	  car(sc->t3_1) = sc->args;
-	  car(sc->t3_2) = pop_op_stack(sc);
-	  car(sc->t3_3) = sc->value;
+	  set_car(sc->t3_1, sc->args);
+	  set_car(sc->t3_2, pop_op_stack(sc));
+	  set_car(sc->t3_3, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t3_1);
 	  break;
 	  
@@ -65060,17 +65125,17 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_SAFE_C_ZZZ_3:
-	  car(sc->t3_1) = sc->args;
-	  car(sc->t3_2) = pop_op_stack(sc);
-	  car(sc->t3_3) = sc->value;
+	  set_car(sc->t3_1, sc->args);
+	  set_car(sc->t3_2, pop_op_stack(sc));
+	  set_car(sc->t3_3, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t3_1);
 	  break;
 	  
 
 	case OP_SAFE_C_opSq_P_1:
 	  /* this is the no-multiple-values case */
-	  car(sc->t2_1) = sc->args;
-	  car(sc->t2_2) = sc->value;
+	  set_car(sc->t2_1, sc->args);
+	  set_car(sc->t2_2, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
@@ -65109,10 +65174,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    
 	    new_cell(sc, x, T_PAIR);
 	    new_cell_no_check(sc, y, T_PAIR);
-	    car(x) = sc->value;
-	    cdr(x) = sc->args;
-	    car(y) = val;
-	    cdr(y) = x;
+	    set_car(x, sc->value);
+	    set_cdr(x, sc->args);
+	    set_car(y, val);
+	    set_cdr(y, x);
 	    sc->args = safe_reverse_in_place(sc, y);
 	    sc->code = pop_op_stack(sc);
 	    goto APPLY;
@@ -65128,8 +65193,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  {
 	    s7_pointer x;
 	    new_cell(sc, x, T_PAIR);
-	    car(x) = sc->value;
-	    cdr(x) = sc->args;
+	    set_car(x, sc->value);
+	    set_cdr(x, sc->args);
 	    sc->args = x;          /* all the others reverse -- why not this case? -- reverse is at end? (below) */
 	    goto EVAL_ARGS_PAIR;
 	  }
@@ -65139,8 +65204,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  {
 	    s7_pointer x;
 	    new_cell(sc, x, T_PAIR);
-	    car(x) = sc->value;
-	    cdr(x) = sc->args;
+	    set_car(x, sc->value);
+	    set_cdr(x, sc->args);
 	    sc->args = x;
 	  }
 	  
@@ -65216,10 +65281,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		      sc->code = pop_op_stack(sc);
 		      new_cell(sc, x, T_PAIR);
 		      new_cell_no_check(sc, y, T_PAIR);
-		      car(x) = sc->value;
-		      cdr(x) = sc->args;
-		      car(y) = val;
-		      cdr(y) = x;
+		      set_car(x, sc->value);
+		      set_cdr(x, sc->args);
+		      set_car(y, val);
+		      set_cdr(y, x);
 		      sc->args = safe_reverse_in_place(sc, y);
 		      /* drop into APPLY */
 		    }
@@ -65230,8 +65295,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		       */
 		      s7_pointer x;
 		      new_cell(sc, x, T_PAIR);
-		      car(x) = sc->value;
-		      cdr(x) = sc->args;
+		      set_car(x, sc->value);
+		      set_cdr(x, sc->args);
 		      sc->args = x;
 		      goto EVAL_ARGS_PAIR;
 		    }
@@ -65250,8 +65315,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  else val = car_code;
 		  sc->temp4 = val;
 		  new_cell(sc, x, T_PAIR);
-		  car(x) = val;
-		  cdr(x) = sc->args;
+		  set_car(x, val);
+		  set_cdr(x, sc->args);
 		  
 		  if (!is_null(sc->args))
 		    sc->args = safe_reverse_in_place(sc, x);
@@ -65502,10 +65567,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    s7_pointer obj, val;
 	    obj = find_symbol_checked(sc, caar(sc->code));
 	    val = c_call(cdr(sc->code))(sc, cadr(sc->code)); /* this call can step on sc->Tx_x */
-	    car(sc->t2_1) = cadar(sc->code);  /* might be a constant: (set! (mus-sound-srate "oboe.snd") 12345) */
+	    set_car(sc->t2_1, cadar(sc->code));  /* might be a constant: (set! (mus-sound-srate "oboe.snd") 12345) */
 	    if (is_symbol(car(sc->t2_1)))
 	      car(sc->t2_1) = find_symbol_checked(sc, cadar(sc->code));
-	    car(sc->t2_2) = val;
+	    set_car(sc->t2_2, val);
 	    sc->value = c_function_call(c_function_setter(obj))(sc, sc->t2_1);
 	  }
 	  break;
@@ -65637,29 +65702,29 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    /* here we know the symbols do not have accessors, at least at optimization time */
 	    SET_CASE(OP_SET_SYMBOL_opSq,
 		     do {						\
-		       car(sc->t1_1) = find_symbol_checked(sc, opt_sym2(sc->code)); \
+		       set_car(sc->t1_1, find_symbol_checked(sc, opt_sym2(sc->code))); \
 		       slot_set_value(lx, c_call(cadr(sc->code))(sc, sc->t1_1)); \
 		     } while (0))
 	    
 	    SET_CASE(OP_SET_SYMBOL_opSSq,
 		     do {						\
-		       car(sc->t2_1) = find_symbol_checked(sc, car(opt_pair2(sc->code))); \
-		       car(sc->t2_2) = find_symbol_checked(sc, cadr(opt_pair2(sc->code))); \
+		       set_car(sc->t2_1, find_symbol_checked(sc, car(opt_pair2(sc->code)))); \
+		       set_car(sc->t2_2, find_symbol_checked(sc, cadr(opt_pair2(sc->code)))); \
 		       slot_set_value(lx, c_call(cadr(sc->code))(sc, sc->t2_1)); \
 		     } while (0))
 	    
 	    SET_CASE(OP_SET_SYMBOL_opSSSq,
 		     do {						\
-		       car(sc->t3_1) = find_symbol_checked(sc, car(opt_pair2(sc->code))); \
-		       car(sc->t3_2) = find_symbol_checked(sc, opt_sym1(opt_pair2(sc->code))); \
-		       car(sc->t3_3) = find_symbol_checked(sc, opt_sym2(opt_pair2(sc->code))); \
+		       set_car(sc->t3_1, find_symbol_checked(sc, car(opt_pair2(sc->code)))); \
+		       set_car(sc->t3_2, find_symbol_checked(sc, opt_sym1(opt_pair2(sc->code)))); \
+		       set_car(sc->t3_3, find_symbol_checked(sc, opt_sym2(opt_pair2(sc->code)))); \
 		       slot_set_value(lx, c_call(cadr(sc->code))(sc, sc->t3_1)); \
 		     } while (0))
 	    
 	    SET_CASE(OP_INCREMENT_SS,                                       /* ([set!] x (+ x i)) */
 		     do {						\
-		       car(sc->t2_1) = slot_value(lx);			\
-		       car(sc->t2_2) = find_symbol_checked(sc, cadr(opt_pair2(sc->code))); \
+		       set_car(sc->t2_1, slot_value(lx));		\
+		       set_car(sc->t2_2, find_symbol_checked(sc, cadr(opt_pair2(sc->code)))); \
 		       slot_set_value(lx, c_call(cadr(sc->code))(sc, sc->t2_1)); \
 		     } while (0))
 	    
@@ -65672,7 +65737,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		       if ((is_t_real(x1)) && (is_t_real(x2)) && (is_t_real(x3))) \
 			 slot_set_value(lx, make_real(sc, real(x1) + real(x2) + real(x3))); \
 		       else {						\
-		         car(sc->t3_1) = x1; car(sc->t3_2) = x2; car(sc->t3_3) = x3; \
+		         set_car(sc->t3_1, x1); set_car(sc->t3_2, x2); set_car(sc->t3_3, x3); \
 			 slot_set_value(lx, global_add(sc, sc->t3_1));	\
 		       }						\
 		     } while (0))
@@ -65681,8 +65746,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		     do {						\
 		       s7_pointer arg;					\
 		       arg = opt_pair2(sc->code);				\
-		       car(sc->t2_2) = c_call(arg)(sc, car(arg)); \
-		       car(sc->t2_1) = slot_value(lx);			\
+		       set_car(sc->t2_2, c_call(arg)(sc, car(arg)));	\
+		       set_car(sc->t2_1, slot_value(lx));		\
 		       slot_set_value(lx, c_call(cadr(sc->code))(sc, sc->t2_1)); \
 		     } while (0))
 	    
@@ -65690,9 +65755,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		     do {					\
 		       s7_pointer arg;					\
 		       arg = opt_pair2(sc->code); /* cddr(value) */		\
-		       car(sc->a3_3) = c_call(cdr(arg))(sc, cadr(arg)); \
-		       car(sc->a3_2) = c_call(arg)(sc, car(arg)); \
-		       car(sc->a3_1) = slot_value(lx);			\
+		       set_car(sc->a3_3, c_call(cdr(arg))(sc, cadr(arg))); \
+		       set_car(sc->a3_2, c_call(arg)(sc, car(arg)));	\
+		       set_car(sc->a3_1, slot_value(lx));		\
 		       slot_set_value(lx, c_call(cadr(sc->code))(sc, sc->a3_1)); \
 		     } while (0))
 	    
@@ -65734,8 +65799,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  }
 	  
 	case OP_INCREMENT_SZ_1:
-	  car(sc->t2_1) = slot_value(sc->args);
-	  car(sc->t2_2) = sc->value;
+	  set_car(sc->t2_1, slot_value(sc->args));
+	  set_car(sc->t2_2, sc->value);
 	  sc->value = c_call(cadr(sc->code))(sc, sc->t2_1);
 	  slot_set_value(sc->args, sc->value);
 	  break;
@@ -65845,8 +65910,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		      {
 			if (is_c_function(func))
 			  {
-			    car(sc->t2_1) = sc->code;
-			    car(sc->t2_2) = sc->value;
+			    set_car(sc->t2_1, sc->code);
+			    set_car(sc->t2_2, sc->value);
 			    sc->value = c_function_call(func)(sc, sc->t2_1);
 			    if (sc->value == sc->error_symbol) /* backwards compatibility... (but still used I think in g_features_set) */
 			      return(s7_error(sc, sc->error_symbol, set_elist_3(sc, make_string_wrapper(sc, "can't set ~S to ~S"), car(sc->t2_1), car(sc->t2_2))));
@@ -65878,8 +65943,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  break;
 
 	case OP_SET_WITH_LET_1:
-	  /* here sc->value is the new value for the settee, args has the (as yet unevaluated) let and settee-expression.
-	   */
+	  /* here sc->value is the new value for the settee, args has the (as yet unevaluated) let and settee-expression. */
 	  /* fprintf(stderr, "with_let_1: %s %s %s\n", DISPLAY(sc->value), DISPLAY(sc->code), DISPLAY(sc->args)); */
 	  sc->code = car(sc->args);
 	  sc->args = list_2(sc, cadr(sc->args), sc->value);
@@ -65888,7 +65952,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 
 	case OP_SET_WITH_LET_2:
 	  /* fprintf(stderr, "with_let_2: %s %s %s\n", DISPLAY(sc->value), DISPLAY(sc->code), DISPLAY(sc->args)); */
-	  sc->code = cons(sc, sc->set_symbol, sc->args);
+	  /* avoid double evaluation */
+	  if ((is_symbol(cadr(sc->args))) ||
+	      (is_pair(cadr(sc->args))))
+	    sc->code = cons(sc, sc->set_symbol, list_2(sc, car(sc->args), list_2(sc, sc->quote_symbol, cadr(sc->args))));
+	  else sc->code = cons(sc, sc->set_symbol, sc->args);
 	  activate_let(sc);
 	  goto EVAL;
 
@@ -65931,31 +65999,31 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    
 	  IF_CASE(OP_IF_IS_SYMBOL, if (is_symbol(find_symbol_checked(sc, opt_sym2(sc->code)))))
 	    
-	  IF_CASE(OP_IF_CS, car(sc->t1_1) = find_symbol_checked(sc, opt_sym2(sc->code)); \
+	  IF_CASE(OP_IF_CS, set_car(sc->t1_1, find_symbol_checked(sc, opt_sym2(sc->code))); \
 		    if (is_true(sc, c_call(car(sc->code))(sc, sc->t1_1))))
 	    
-	  IF_CASE(OP_IF_CSQ, car(sc->t2_1) = find_symbol_checked(sc, opt_sym3(sc->code));	\
-		    car(sc->t2_2) = opt_con2(sc->code);			\
+	  IF_CASE(OP_IF_CSQ, set_car(sc->t2_1, find_symbol_checked(sc, opt_sym3(sc->code))); \
+		    set_car(sc->t2_2, opt_con2(sc->code));		\
 		    if (is_true(sc, c_call(car(sc->code))(sc, sc->t2_1))))
 	    
-	  IF_CASE(OP_IF_CSS, car(sc->t2_1) = find_symbol_checked(sc, opt_sym3(sc->code));	\
-		    car(sc->t2_2) = find_symbol_checked(sc, opt_sym2(sc->code));
+	  IF_CASE(OP_IF_CSS, set_car(sc->t2_1, find_symbol_checked(sc, opt_sym3(sc->code))); \
+		    set_car(sc->t2_2, find_symbol_checked(sc, opt_sym2(sc->code)));
 		    if (is_true(sc, c_call(car(sc->code))(sc, sc->t2_1))))
 	    
-	  IF_CASE(OP_IF_CSC, car(sc->t2_1) = find_symbol_checked(sc, opt_sym3(sc->code)); \
-		    car(sc->t2_2) = opt_con2(sc->code);			\
+	  IF_CASE(OP_IF_CSC, set_car(sc->t2_1, find_symbol_checked(sc, opt_sym3(sc->code))); \
+		    set_car(sc->t2_2, opt_con2(sc->code));		\
 		    if (is_true(sc, c_call(car(sc->code))(sc, sc->t2_1))))
 	    
-	  IF_CASE(OP_IF_S_opCq, car(sc->t2_2) = c_call(opt_pair2(sc->code))(sc, cdr(opt_pair2(sc->code))); \
-		car(sc->t2_1) = find_symbol_checked(sc, opt_sym3(sc->code)); \
-	        if (is_true(sc, c_call(car(sc->code))(sc, sc->t2_1))))
+	  IF_CASE(OP_IF_S_opCq, set_car(sc->t2_2, c_call(opt_pair2(sc->code))(sc, cdr(opt_pair2(sc->code)))); \
+		    set_car(sc->t2_1, find_symbol_checked(sc, opt_sym3(sc->code))); \
+	            if (is_true(sc, c_call(car(sc->code))(sc, sc->t2_1))))
 
 	  IF_CASE(OP_IF_opSSq, {s7_pointer args; s7_pointer val1;	\
 		args = opt_pair2(sc->code);					\
 		val1 = find_symbol_checked(sc, cadr(args));		\
-		car(sc->t2_2) = find_symbol_checked(sc, opt_sym3(sc->code)); \
-		car(sc->t2_1) = val1;					\
-		car(sc->t1_1) = c_call(args)(sc, sc->t2_1);}		\
+		set_car(sc->t2_2, find_symbol_checked(sc, opt_sym3(sc->code))); \
+		set_car(sc->t2_1, val1);				\
+		set_car(sc->t1_1, c_call(args)(sc, sc->t2_1));}		\
 	        if (is_true(sc, c_call(car(sc->code))(sc, sc->t1_1))))
 	    
 	  IF_CASE(OP_IF_AND2, if ((is_true(sc, c_call(opt_pair2(sc->code))(sc, car(opt_pair2(sc->code))))) && \
@@ -66089,7 +66157,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_SAFE_C_P_1:
-	  car(sc->t1_1) = sc->value;
+	  set_car(sc->t1_1, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t1_1);
 	  break;
 	  
@@ -66118,8 +66186,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	case OP_SAFE_C_PP_2:
 	  /* we get here only if neither arg returned multiple values, so sc->args is the first value, and sc->value the second */
-	  car(sc->t2_1) = sc->args;
-	  car(sc->t2_2) = sc->value;
+	  set_car(sc->t2_1, sc->args);
+	  set_car(sc->t2_2, sc->value);
 	  sc->value = c_call(sc->code)(sc, sc->t2_1);
 	  break;
 	  
@@ -66234,7 +66302,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  {
 	    s7_pointer binding;
 	    binding = caar(sc->code);
-	    car(sc->t1_1) = find_symbol_checked(sc, opt_sym2(sc->code));
+	    set_car(sc->t1_1, find_symbol_checked(sc, opt_sym2(sc->code)));
 	    sc->value = c_call(cadr(binding))(sc, sc->t1_1);
 	    new_frame_with_slot(sc, sc->envir, sc->envir, car(binding), sc->value);
 	    push_stack_no_args(sc, OP_BEGIN1, cddr(sc->code));
@@ -66247,7 +66315,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  {
 	    s7_pointer binding;
 	    binding = caar(sc->code);
-	    car(sc->t1_1) = find_symbol_checked(sc, opt_sym2(sc->code));
+	    set_car(sc->t1_1, find_symbol_checked(sc, opt_sym2(sc->code)));
 	    sc->value = c_call(cadr(binding))(sc, sc->t1_1);
 	    new_frame_with_slot(sc, sc->envir, sc->envir, car(binding), sc->value);
 	    sc->code = cadr(sc->code);
@@ -66256,10 +66324,27 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_LET_opCq:  /* one var, init is safe_c_c */
+#if DEBUGGING
+	  {
+	    s7_pointer old_code, old_env; /* trying to define lots of Snd function safe -- they crash here if they aren't actually safe */
+	    old_code = sc->code;          /*   so, add a bandage while I track them down... */
+	    old_env = sc->envir;
+	    sc->value = c_call(opt_pair2(sc->code))(sc, cdr(opt_pair2(sc->code)));
+	    if ((sc->code != old_code) ||
+		(sc->envir != old_env))
+	      fprintf(stderr, "something changed: %s -> %s, %s -> %s\n",
+		      DISPLAY(old_code), DISPLAY(sc->code),
+		      DISPLAY(old_env), DISPLAY(sc->envir));
+	    new_frame_with_slot(sc, sc->envir, sc->envir, opt_sym3(old_code), sc->value);
+	    sc->code = cdr(old_code);
+	    goto BEGIN1;
+	  }
+#else
 	  sc->value = c_call(opt_pair2(sc->code))(sc, cdr(opt_pair2(sc->code)));
 	  new_frame_with_slot(sc, sc->envir, sc->envir, opt_sym3(sc->code), sc->value);
 	  sc->code = cdr(sc->code);
 	  goto BEGIN1;
+#endif
 	  
 	  
 	case OP_LET_opSSq:  /* one var, init is safe_c_ss */
@@ -66267,8 +66352,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    s7_pointer largs, in_val;
 	    largs = opt_pair2(sc->code);                                 /* cadr(caar(sc->code)); */
 	    in_val = find_symbol_checked(sc, cadr(largs));
-	    car(sc->t2_2) = find_symbol_checked(sc, opt_sym3(sc->code)); /* caddr(largs)); */
-	    car(sc->t2_1) = in_val;
+	    set_car(sc->t2_2, find_symbol_checked(sc, opt_sym3(sc->code))); /* caddr(largs)); */
+	    set_car(sc->t2_1, in_val);
 	    sc->value = c_call(largs)(sc, sc->t2_1);
 	    new_frame_with_slot(sc, sc->envir, sc->envir, caaar(sc->code), sc->value);
 	    sc->code = cdr(sc->code);
@@ -66347,7 +66432,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      {
 		s7_pointer cp;
 		cp = cadar(p);
-		car(sc->t1_1) = find_symbol_checked(sc, cadr(cp));
+		set_car(sc->t1_1, find_symbol_checked(sc, cadr(cp)));
 		add_slot(frame, caar(p), c_call(cp)(sc, sc->t1_1));
 	      }
 	    sc->let_number++;
@@ -66392,8 +66477,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  {
 	    s7_pointer x;
 	    new_cell(sc, x, T_PAIR);
-	    car(x) = sc->code;
-	    cdr(x) = sc->nil;
+	    set_car(x, sc->code);
+	    set_cdr(x, sc->nil);
 	    sc->args = x;
 	    sc->code = car(sc->code);
 	    goto LET1A;
@@ -66436,8 +66521,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    s7_pointer x, y;
 	    
 	    new_cell(sc, x, T_PAIR);
-	    car(x) = sc->value; /* the first time (now handled above), this saves the entire let body across the evaluations -- we pick it up later */
-	    cdr(x) = sc->args;
+	    set_car(x, sc->value); /* the first time (now handled above), this saves the entire let body across the evaluations -- we pick it up later */
+	    set_cdr(x, sc->args);
 	    sc->args = x;
 	    
 	    if (is_pair(sc->code))
@@ -66515,7 +66600,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		      set_type(y, T_SLOT);
 		      slot_set_symbol(y, sym);
 		      slot_set_value(y, val);
-		      next_slot(y) = let_slots(sc->envir);
+		      set_next_slot(y, let_slots(sc->envir));
 		      let_set_slots(sc->envir, y);
 		      symbol_set_local(sym, let_id(sc->envir), y);
 		      
@@ -66544,7 +66629,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		      slot_set_symbol(y, sym);
 		      symbol_set_local(sym, id, y);
 		      slot_set_value(y, val);
-		      next_slot(y) = let_slots(e);
+		      set_next_slot(y, let_slots(e));
 		      let_set_slots(e, y);
 		      
 		      y = args;
@@ -66696,8 +66781,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		{
 		  s7_pointer slot;
 		  slot = make_slot_1(sc, sc->envir, caar(x), sc->undefined);
-		  slot_pending_value(slot) = sc->undefined;
-		  slot_expression(slot) = cadar(x);
+		  slot_set_pending_value(slot, sc->undefined);
+		  slot_set_expression(slot, cadar(x));
 		  set_checked_slot(slot);
 		}
 	      sc->args = let_slots(sc->envir);
@@ -66710,7 +66795,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  
 	case OP_LETREC1:
-	  slot_pending_value(sc->args) = sc->value;
+	  slot_set_pending_value(sc->args, sc->value);
 	  sc->args = next_slot(sc->args);
 	  if (is_slot(sc->args))
 	    {
@@ -66747,7 +66832,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		{
 		  s7_pointer slot;
 		  slot = make_slot_1(sc, sc->envir, caar(x), sc->undefined);
-		  slot_expression(slot) = cadar(x);
+		  slot_set_expression(slot, cadar(x));
 		}
 	      /* these are reversed, and for letrec*, they need to be in order, so... (reverse_in_place on the slot list) */
 	      p = let_slots(sc->envir);
@@ -66755,7 +66840,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      while (is_slot(p))
 		{
 		  q = next_slot(p);
-		  next_slot(p) = x;
+		  set_next_slot(p, x);
 		  x = p;
 		  p = q;
 		}
@@ -66922,7 +67007,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		ap = caar(p);
 		if (is_pair(ap))
 		  {
-		    car(sc->t1_1) = val;
+		    set_car(sc->t1_1, val);
 		    sc->value = c_call(ap)(sc, sc->t1_1);
 		  }
 		else sc->value = sc->T;
@@ -67409,8 +67494,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    s7_pointer x, y, selector, args;
 	    args = cdar(sc->code);
 	    x = find_symbol_checked(sc, car(args));
-	    car(sc->t2_2) = find_symbol_checked(sc, cadr(args));
-	    car(sc->t2_1) = x;
+	    set_car(sc->t2_2, find_symbol_checked(sc, cadr(args)));
+	    set_car(sc->t2_1, x);
 	    selector = c_call(car(sc->code))(sc, sc->t2_1);
 	    for (x = cdr(sc->code); is_pair(x); x = cdr(x))
 	      {
@@ -67433,8 +67518,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    s7_pointer x, selector, args;
 	    args = cdar(sc->code);
 	    x = find_symbol_checked(sc, car(args));
-	    car(sc->t2_2) = find_symbol_checked(sc, cadr(args));
-	    car(sc->t2_1) = x;
+	    set_car(sc->t2_2, find_symbol_checked(sc, cadr(args)));
+	    set_car(sc->t2_1, x);
 	    selector = c_call(car(sc->code))(sc, sc->t2_1);
 	    for (x = cdr(sc->code); is_pair(x); x = cdr(x))
 	      if (opt_key(x) == selector)
@@ -67634,8 +67719,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  {
 	    s7_pointer x;
 	    new_cell(sc, x, T_PAIR);
-	    car(x) = sc->value;
-	    cdr(x) = sc->args;
+	    set_car(x, sc->value);
+	    set_cdr(x, sc->args);
 	    sc->args = x;
 	  }
 	  
@@ -67673,8 +67758,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		      check_stack_size(sc);
 		      sc->value = port_read_name(pt)(sc, pt);
 		      new_cell(sc, x, T_PAIR);
-		      car(x) = sc->value;
-		      cdr(x) = sc->nil;
+		      set_car(x, sc->value);
+		      set_cdr(x, sc->nil);
 		      sc->args = x;
 		      c = port_read_white_space(pt)(sc, pt);
 		      goto READ_C;
@@ -67688,8 +67773,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		    check_stack_size(sc);
 		    sc->value = port_read_name(pt)(sc, pt);
 		    new_cell(sc, x, T_PAIR);
-		    car(x) = sc->value;
-		    cdr(x) = sc->nil;
+		    set_car(x, sc->value);
+		    set_cdr(x, sc->nil);
 		    sc->args = x;
 		    c = port_read_white_space(pt)(sc, pt);
 		    goto READ_C;
@@ -72525,19 +72610,19 @@ static s7_pointer g_s7_let_set_fallback(s7_scheme *sc, s7_pointer args)
 			      s7_pointer next1, next2;
 			      next1 = cdr(sc->eval_history1);
 			      next2 = cdr(sc->eval_history2);
-			      cdr(sc->eval_history1) = permanent_list(sc, iv - sc->true_history_size);
-			      cdr(sc->eval_history2) = permanent_list(sc, iv - sc->true_history_size);
+			      set_cdr(sc->eval_history1, permanent_list(sc, iv - sc->true_history_size));
+			      set_cdr(sc->eval_history2, permanent_list(sc, iv - sc->true_history_size));
 			      for (p1 = sc->eval_history1, p2 = sc->eval_history2; is_pair(cdr(p1)); p1 = cdr(p1), p2 = cdr(p2));
-			      cdr(p1) = next1;
-			      cdr(p2) = next2;
+			      set_cdr(p1, next1);
+			      set_cdr(p2, next2);
 			      sc->true_history_size = iv;
 			    }
 			  sc->history_size = iv;
 			  /* clear out both bufffers to avoid GC confusion */
 			  for (p1 = sc->eval_history1, p2 = sc->eval_history2; ; p2 = cdr(p2))
 			    {
-			      car(p1) = sc->nil;
-			      car(p2) = sc->nil;
+			      set_car(p1, sc->nil);
+			      set_car(p2, sc->nil);
 			      p1 = cdr(p1);
 			      if (p1 == sc->eval_history1) break;
 			    }
@@ -72955,7 +73040,7 @@ s7_scheme *s7_init(void)
   sc->unspecified = make_unique_object("#<unspecified>", T_UNSPECIFIED);
   sc->no_value =    make_unique_object("#<unspecified>", T_UNSPECIFIED);
 
-  car(sc->nil) = cdr(sc->nil) = sc->unspecified;
+  set_car(sc->nil, set_cdr(sc->nil, sc->unspecified));
   /* this is mixing two different s7_cell structs, cons and envr, but luckily
    *    envr has two initial s7_pointer fields, equivalent to car and cdr, so
    *    let_id which is the same as opt1 is unaffected.  To get the names
@@ -73006,8 +73091,8 @@ s7_scheme *s7_init(void)
   {
     s7_pointer p1, p2;
     for (p1 = sc->eval_history1, p2 = sc->eval_history2; is_pair(cdr(p1)); p1 = cdr(p1), p2 = cdr(p2));
-    cdr(p1) = sc->eval_history1;
-    cdr(p2) = sc->eval_history2;
+    set_cdr(p1, sc->eval_history1);
+    set_cdr(p2, sc->eval_history2);
     sc->cur_code = sc->eval_history1;
     sc->using_history1 = true;
   }
@@ -73070,7 +73155,8 @@ s7_scheme *s7_init(void)
 
   /* this has to precede s7_make_* allocations */
   sc->protected_objects_size = INITIAL_PROTECTED_OBJECTS_SIZE;
-  sc->protected_objects_loc = 0;
+  sc->gpofl = (unsigned int *)malloc(INITIAL_PROTECTED_OBJECTS_SIZE * sizeof(unsigned int));
+  sc->gpofl_loc = INITIAL_PROTECTED_OBJECTS_SIZE - 1;
   sc->protected_objects = s7_make_vector(sc, INITIAL_PROTECTED_OBJECTS_SIZE);
 
   sc->protected_accessors_size = INITIAL_PROTECTED_OBJECTS_SIZE;
@@ -73081,6 +73167,7 @@ s7_scheme *s7_init(void)
     {
       vector_element(sc->protected_objects, i) = sc->gc_nil;
       vector_element(sc->protected_accessors, i) = sc->gc_nil;
+      sc->gpofl[i] = i;
     }
 
   sc->stack = s7_make_vector(sc, INITIAL_STACK_SIZE);
@@ -73507,16 +73594,16 @@ s7_scheme *s7_init(void)
   sc->owlet = init_owlet(sc);
 
   sc->wrong_type_arg_info = permanent_list(sc, 6);
-  car(sc->wrong_type_arg_info) = s7_make_permanent_string("~A argument ~D, ~S, is ~A but should be ~A");
+  set_car(sc->wrong_type_arg_info, s7_make_permanent_string("~A argument ~D, ~S, is ~A but should be ~A"));
 
   sc->simple_wrong_type_arg_info = permanent_list(sc, 5);
-  car(sc->simple_wrong_type_arg_info) = s7_make_permanent_string("~A argument, ~S, is ~A but should be ~A");
+  set_car(sc->simple_wrong_type_arg_info, s7_make_permanent_string("~A argument, ~S, is ~A but should be ~A"));
 
   sc->out_of_range_info = permanent_list(sc, 5);
-  car(sc->out_of_range_info) = s7_make_permanent_string("~A argument ~D, ~S, is out of range (~A)");
+  set_car(sc->out_of_range_info, s7_make_permanent_string("~A argument ~D, ~S, is out of range (~A)"));
 
   sc->simple_out_of_range_info = permanent_list(sc, 4);
-  car(sc->simple_out_of_range_info) = s7_make_permanent_string("~A argument, ~S, is out of range (~A)");
+  set_car(sc->simple_out_of_range_info, s7_make_permanent_string("~A argument, ~S, is out of range (~A)"));
 
   sc->too_many_arguments_string = s7_make_permanent_string("~A: too many arguments: ~A");
   sc->not_enough_arguments_string = s7_make_permanent_string("~A: not enough arguments: ~A");
@@ -73687,7 +73774,11 @@ s7_scheme *s7_init(void)
   sc->read_line_symbol =             defun("read-line",	        read_line,		0, 2, false);
   sc->read_string_symbol =           defun("read-string",	read_string,		1, 1, false);
   sc->read_symbol =                  unsafe_defun("read",	read,			0, 1, false);
-  /* read can't be safe because it messes with the stack, expecting to be all by itself in the call sequence (not embedded in OP_SAFE_C_opSq for example) */
+  /* read can't be safe because it messes with the stack, expecting to be all by itself in the call sequence 
+   *   (not embedded in OP_SAFE_C_opSq for example) -- that is, it pushes OP_READ_INTERNAL, then returns
+   *   expecting goto START, which would be nonsense if arg=c_call(read) -> c_call(arg).
+   *   a safe procedure leaves its argument list alone and does not push anything on the stack
+   */
 
   sc->call_with_input_string_symbol = unsafe_defun("call-with-input-string", call_with_input_string, 2, 0, false);
   sc->call_with_input_file_symbol =   unsafe_defun("call-with-input-file",   call_with_input_file,   2, 0, false);
@@ -74190,8 +74281,9 @@ s7_scheme *s7_init(void)
   s7_function_set_setter(sc, "list-ref",         "list-set!");
   s7_function_set_setter(sc, "let-ref",          "let-set!");
   s7_function_set_setter(sc, "string-ref",       "string-set!");
-  c_function_setter(slot_value(global_slot(sc->outlet_symbol))) = s7_make_function(sc, "(set! outlet)", g_set_outlet, 2, 0, false, "outlet setter");
-  c_function_setter(slot_value(global_slot(sc->port_line_number_symbol))) = s7_make_function(sc, "(set! port-line-number)", g_set_port_line_number, 1, 1, false, "port line setter");
+  c_function_set_setter(slot_value(global_slot(sc->outlet_symbol)), s7_make_function(sc, "(set! outlet)", g_set_outlet, 2, 0, false, "outlet setter"));
+  c_function_set_setter(slot_value(global_slot(sc->port_line_number_symbol)), s7_make_function(sc, "(set! port-line-number)", g_set_port_line_number, 1, 1, false, "port line setter"));
+
   {
     int i, top;
 #if WITH_GMP
@@ -74441,21 +74533,21 @@ int main(int argc, char **argv)
  *
  *           12  |  13  |  14  |  15  | 16.0  16.1  16.2  16.7
  *                                           
- * s7test   1721 | 1358 |  995 | 1194 | 1122  1117  1295
- * index    44.3 | 3291 | 1725 | 1276 | 1156  1158  1159
- * teq           |      |      | 6612 | 2380  2376  2382
- * tauto     265 |   89 |  9   |  8.4 | 2638  2643  2644
- * tcopy         |      |      | 13.6 | 3204  3203  3204
- * bench    42.7 | 8752 | 4220 | 3506 | 3230  3229  3218
- * tform         |      |      | 6816 | 3627  3589  3621
- * tmap          |      |      |  9.3 | 4176  4177  4173
- * titer         |      |      | 7503 | 5218  5219  5211
- * thash         |      |      | 50.7 | 8491  8484  8477
- * lg            |      |      |      |                  
+ * s7test   1721 | 1358 |  995 | 1194 | 1122  1117  1295  1928
+ * index    44.3 | 3291 | 1725 | 1276 | 1156  1158  1159  1166
+ * teq           |      |      | 6612 | 2380  2376  2382  2382
+ * tauto     265 |   89 |  9   |  8.4 | 2638  2643  2644  2688
+ * tcopy         |      |      | 13.6 | 3204  3203  3204  3133
+ * bench    42.7 | 8752 | 4220 | 3506 | 3230  3229  3218  3220
+ * tform         |      |      | 6816 | 3627  3589  3621  3709
+ * tmap          |      |      |  9.3 | 4176  4177  4173  4172
+ * titer         |      |      | 7503 | 5218  5219  5211  5235
+ * thash         |      |      | 50.7 | 8491  8484  8477  8496
+ * lg            |      |      |      |                   180.
  *               |      |      |      |       
- * tgen          |   71 | 70.6 | 38.0 | 12.0  11.7  11.8
- * tall       90 |   43 | 14.5 | 12.7 | 15.0  15.0  15.0
- * calls     359 |  275 | 54   | 34.7 | 37.1  37.0  37.2
+ * tgen          |   71 | 70.6 | 38.0 | 12.0  11.7  11.8  11.8
+ * tall       90 |   43 | 14.5 | 12.7 | 15.0  15.0  15.0  14.9
+ * calls     359 |  275 | 54   | 34.7 | 37.1  37.0  37.2  39.1
  * 
  * --------------------------------------------------------------------
  *
@@ -74465,13 +74557,17 @@ int main(int argc, char **argv)
  * cyclic-seq in stuff.scm, but current code is really clumsy 
  * doc c_object_rf stuff? or how cload ties things into rf/sig 
  * libutf8proc.scm doc/examples? cload gtk/sndlib
- * display of let can still get into infinite recursion!
+ * display of let can still get into infinite recursion! (as can a circular list in some weird way)
  * (> (length x) 1) and friends could be optimized by quitting as soon as possible
  * doc (set! (with-let...) ...) and let-temporarily? this could also be greatly optimized
  * with-let and unlet don't need to be constants
- * float_format_g -> (*s7* 'default-float-format) ? -- best would be translation from format -> fprint, but ".*g" currently
- * let-lambda(*) -- first arg is let, rest are let vars being set, then body with-let
+ * let-let -- first arg is let, rest are let vars being set, then body with-let
  *   this could be a macro, but better built-in (generators)
+ *   (with-let! (e :x 32 :y 12) (+ x y)) where 'e has 'x and 'y fields
+ * symbol as arg of eq? memq defined? case-selector: use gensym? [i.e. don't put make the computed symbol permanent]
+ * maybe a freelist (or several) for hash_entry** in s7_make_hash_table (see free_hash_table)
+ *   but how to tie into a list without allocation?
+ * provide/require should use keywords -- then require could be a function
  *
  * how to get at read-error cause in catch?  port-data=string, port-position=int, port_data_size=int last-open-paren (sc->current_line)
  *   port-data port-position, length=remaining (unread) chars, copy->string gets that data, so no need for new funcs
@@ -74488,7 +74584,7 @@ int main(int argc, char **argv)
  * Snd:
  * dac loop [need start/end of loop in dac_info, reader goes to start when end reached (requires rebuffering)
  *   looper does not stop/restart -- just keep going]
- *   play_selection_1 could puts ends somewhere, set ends to NO_END_SPECIFIED, dac_loop_sample can
+ *   play_selection_1 could put ends somewhere, set ends to NO_END_SPECIFIED, dac_loop_sample can
  *   use begs/other-ends to get loop points, so free_dac_info does not need to restart the loop(?)
  *   If start/end selection changed while playing, are these loop points updated?
  *
@@ -74498,5 +74594,6 @@ int main(int argc, char **argv)
  * snd namespaces from <mark> etc mark: (inlet :type 'mark :name "" :home <channel> :sample 0 :sync #f) with name/sync/sample settable
  * when trying to display a big 128-channel file, Snd cores up until it crashes?
  * musglyphs gtk version is broken (probably cairo_t confusion)
- * snd+gtk+script->eps fails??  Also why not make a graph in the no-gui case here? t415.scm.
+ * snd+gtk+script->eps fails??  Also why not make a graph in the no-gui case? t415.scm.
+ * remove as many edpos args as possible, and num+bool->num
  */
diff --git a/s7.html b/s7.html
index d6c1c1b..54a44d7 100644
--- a/s7.html
+++ b/s7.html
@@ -2453,6 +2453,18 @@ inlet can also be used to copy an environment without accidentally invoking
 that environment's copy method.
 </p>
 
+<p>Here's an example: we want to define two functions that share a
+local variable:
+</p>
+
+<pre class="indented">
+(varlet (curlet)            ; import f1 and f2 into the current environment
+  (let ((x 1))              ; x is our local variable
+    (define (f1 a) (+ a x)) 
+    (define (f2 b) (* b x)) 
+    (inlet 'f1 f1 'f2 f2))) ; export f1 and f2
+</pre>
+
 <p>One way to add reader and writer functions to an individual environment slot is:
 </p>
 
@@ -4902,7 +4914,6 @@ a file, it documents that you're using that function.
 In the more normal use, <code>(require snd-ws.scm)</code>
 looks for the file that has <code>(provide 'snd-ws.scm)</code>
 and if it hasn't already been loaded, loads it ("ws.scm" in this case).
-The "thing" passed to <code>require</code> is not quoted.
 To add your own files to this mechanism, add the provided symbol via <a href="#autoload">autoload</a>.
 Since load can take an environment argument, *features* and its friends follow block structure.
 So, for example, (let () (require stuff.scm) ...) loads "stuff.scm" into the local environment,
diff --git a/s7test.scm b/s7test.scm
index 4894dbb..cd17e22 100644
--- a/s7test.scm
+++ b/s7test.scm
@@ -24855,6 +24855,26 @@ in s7:
 ;; from lisp bboard
 (test (let ((x 1) (y 2)) (let ((x y) (y x)) (let ((x y) (y x)) (let ((x y) (y x)) (+ (* x x) y))))) 5)
 
+;; from r7rs errata
+(let ()
+  (let ((ton '(3 (1 4))))
+    (letrec*
+	((mean
+	  (lambda (f g)
+	    (f (/ (sum g ton) n))))
+	 (sum
+	  (lambda (g ton)
+	    (if (null? ton)
+		(+)
+		(if (number? ton)
+		    (g ton)
+		    (+ (sum g (car ton))
+		       (sum g (cdr ton)))))))
+	 (n (sum (lambda (x) 1) ton)))
+      (num-test (mean values values) 8/3)
+      (num-test (mean exp log) 2.289428485106664)
+      (num-test (mean / /) 36/19))))
+
 (test ((let ((x 2))
 	 (let ((x 3))
 	   (lambda (arg) (+ arg x))))
@@ -29287,6 +29307,8 @@ who says the continuation has to restart the map from the top?
 (test (+ (catch 'oops (lambda () (error 'oops)) (lambda args (values 1 2 3)))) 6)
 (test (catch #t (lambda () (error 1 2 3)) (lambda* ((a 2) (b 3) (c 4)) (list a b c))) '(1 (2 3) 4))
 
+(test (let ((x (list 1 2))) (catch #t (lambda () (catch x (lambda () (throw x)) (lambda args x))) (lambda () 'oops))) '(1 2))
+
 ;;; various catch macros from s7.html
 (let ()
   (define-macro (catch-all . body) 
@@ -31745,7 +31767,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (procedure-signature rootlet) '(let?))
 (test (procedure-signature object->string) '(string? #t (boolean? keyword?)))
 (test (procedure-signature stacktrace) '(string? integer? integer? integer? integer? boolean?))
-(test (procedure-signature make-hook) '(procedure?))
+;(test (procedure-signature make-hook) '(procedure?))
 (test (procedure-signature string-length) '(integer? string?))
 (test (procedure-signature char-whitespace?) '(boolean? char?))
 (test (procedure-signature random) '(number? number? random-state?))
@@ -32091,6 +32113,18 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
   (for-each test-sym st))
 |#
 
+(define (symbol->value-anywhere sym)
+  (if (defined? sym)
+      (symbol->value sym)
+      (letrec ((libsearch 
+		(lambda (sym libs)
+		  (if (pair? libs)
+		      (if (defined? sym (cdar libs))
+			  (symbol->value sym (cdar libs))
+			  (libsearch sym (cdr libs)))
+		      #<undefined>))))
+	(libsearch sym *libraries*))))
+
 (let ((st (symbol-table)))
   (for-each (lambda (s)
 	      (catch #t
@@ -32099,9 +32133,14 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 		    (if (procedure? f)
 			(let ((sig (procedure-signature f))
 			      (ari (arity f)))
+			  (if (and sig (not (pair? sig)))
+			      (format *stderr* "procedure-signature ~A: ~A~%" s sig))
 			  (when (pair? sig)
 			    (if (and (pair? ari)
-				     (> (cdr ari) (- (length sig) 1)))
+				     (> (cdr ari) (- (length sig) 1))
+				     (or (< (cdr ari) 20)
+					 (< (length sig) 10))
+				     (not (eq? s 'make-hook)))
 				(format *stderr* "~A: ~A ~A~%~%" s ari sig))
 			    (when (and (pair? sig)
 				       (pair? (car sig))
@@ -32111,7 +32150,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 					     (and (pair? lst)
 						  (or (memq (car lst) (cdr lst))
 						      (search (cdr lst)))))))
-			      (format *stderr* "~A: ~A?~%" s sig)))))))
+			      (format *stderr* "arity/sig mismatch? ~A: ~A?~%" s sig)))))))
 		(lambda args #f)))
 	    st))
 
@@ -72986,8 +73025,8 @@ hi6: (string-app...
 (num-test (- (/ most-negative-fixnum 2) (/ most-positive-fixnum 2) 1) (if with-bignums -18446744073709551617/2 -9.223372036854776e+18))
 (num-test (* 3037000499 3037000500) 9223372033963249500) 
 (num-test (* 3037000499 3037000499) 9223372030926249001)
-(num-test (* 3037000500 3037000500) (if with-bignums 9223372037000250000 9.223372037000249e+18))
-(num-test (/ (* (/ 3037000499) (/ 3037000498))) 9223372027889248502)
+;(num-test (* 3037000500 3037000500) (if with-bignums 9223372037000250000 9.223372037000249e+18))
+;(num-test (/ (* (/ 3037000499) (/ 3037000498))) 9223372027889248502)
 (num-test (/ (* (/ 3037000500) (/ 3037000500))) (if with-bignums 9223372037000250000 9.223372037000251e+18))
 (num-test (/ 3037000499 (/ 3037000499)) 9223372030926249001)
 (num-test (/ 3037000500 (/ 3037000500)) (if with-bignums 9223372037000250000 9.223372037000251e+18))
@@ -79912,6 +79951,29 @@ etc
 	  (list aaa bbb))
 	'(0 32))
 
+  (let ()
+    (define f2 (let ((x '(0 1)))
+		 (dilambda (lambda () x)
+			   (lambda (y) (set! x y)))))
+    (let-temporarily (((f2) '(3 2)))
+      (test (f2) '(3 2)))
+    (test (f2) '(0 1)))
+
+  (let ()
+    (define f3 (let ((x 'z))
+		 (dilambda (lambda () x)
+			   (lambda (y) (set! x y)))))
+    (let ((z 32))
+      (let-temporarily (((f3) 'z))
+	(test (f3) 'z))
+      (test (f3) 'z)))
+
+  (let ((z 1)
+	(x 32))
+    (let-temporarily ((z 'x))
+      (test z 'x))
+    (test z 1))
+
   (let ((saved 0)
 	(orig 1)
 	(vars 2)
@@ -83896,8 +83958,8 @@ etc
 	    
 	    (num-test (signbit 1.5) 0)
 	    (reader-cond ((provided? 'linux)
-			  (num-test (signbit -1.5) 128)
-			  (num-test (signbit -1) 128))
+			  (test (pair? (memv (signbit -1.5) '(1 128))) #t) ; good grief
+			  (test (pair? (memv (signbit -1) '(1 128))) #t))
 			 ((provided? 'osx)
 			  (num-test (signbit -1.5) 1)
 			  (num-test (signbit -1) 1)))
@@ -85006,18 +85068,6 @@ etc
       )))
 
 
-(define (symbol->value-anywhere sym)
-  (if (defined? sym)
-      (symbol->value sym)
-      (letrec ((libsearch 
-		(lambda (sym libs)
-		  (if (pair? libs)
-		      (if (defined? sym (cdar libs))
-			  (symbol->value sym (cdar libs))
-			  (libsearch sym (cdr libs)))
-		      #<undefined>))))
-	(libsearch sym *libraries*))))
-
 (test (procedure? (symbol->value-anywhere 'getchar)) #t)
 (test (integer? (symbol->value-anywhere 'GSL_SUCCESS)) #t)
 (test (integer? (symbol->value-anywhere 'most-positive-fixnum)) #t)
@@ -85091,7 +85141,7 @@ etc
   (lint-test "(+ x 0 (+ 0 0))"		" +: perhaps (+ x 0 (+ 0 0)) -> x")
   (lint-test "(+ x #(0))"		" +: in (+ x #(0)), +'s argument 2 should be a number, but #(0) is a vector?")
   (lint-test "(+ x (if y #() 0))"       " +: in (+ x (if y #() 0)), +'s argument 2 should be a number, but #() is a vector?")
-  (lint-test "(+ x 2.0 -2)"		"")
+  (lint-test "(+ x 2.0 -2)"		" +: perhaps (+ x 2.0 -2) -> (* x 1)") ; ??
   (lint-test "(+ x (+ y z) (+ a b))"    " +: perhaps (+ x (+ y z) (+ a b)) -> (+ x y z a b)")
   (lint-test "(+ (- x) y)"              " +: perhaps (+ (- x) y) -> (- y x)")
   (lint-test "(+ x (- y))"              " +: perhaps (+ x (- y)) -> (- x y)")
@@ -85126,6 +85176,9 @@ etc
   (lint-test "(+ (* a b) (* c d))"      "")
   (lint-test "(+ (* a b) (* a b))"      " +: perhaps (+ (* a b) (* a b)) -> (* a b 2)")
   (lint-test "(exp (+ (* 0.5 (log hi)) (* 0.5 (log lo))))" " exp: perhaps (exp (+ (* 0.5 (log hi)) (* 0.5 (log lo)))) -> (exp (* 0.5 (+ (log hi) (log lo))))")
+  (lint-test "(+ (* x 2) 3 (* 4 x x))"  " +: perhaps (+ (* x 2) 3 (* 4 x x)) -> (+ 3 (* x (+ 2 (* x 4))))")
+  (lint-test "(+ -1 (* x -2) 3 (* 4 x x x))" " +: perhaps (+ -1 (* x -2) 3 (* 4 x x x)) -> (+ 2 (* x (+ -2 (* x (* x 4)))))")
+  (lint-test "(+ (* x 65536) (* x 256) x)" " +: perhaps (+ (* x 65536) (* x 256) x) -> (* x 65793)")
 
   (lint-test "(* 2 3)"			" *: perhaps (* 2 3) -> 6")
   (lint-test "(* 2 (+))"		" *: perhaps (* 2 (+)) -> 0")
@@ -85145,6 +85198,9 @@ etc
   (lint-test "(* 2.0 (inexact x))"      " *: perhaps (* 2.0 (inexact x)) -> (* 2.0 x)")
   (lint-test "(* (inexact x) 2.0)"      " *: perhaps (* (inexact x) 2.0) -> (* x 2.0)")
   (lint-test "(* (exp a) (exp b))"      " *: perhaps (* (exp a) (exp b)) -> (exp (+ a b))")
+  (lint-test "(* (sqrt x) (sqrt y))"    " *: perhaps (* (sqrt x) (sqrt y)) -> (sqrt (* x y))")
+  (lint-test "(* (expt x z) (expt y z))" " *: perhaps (* (expt x z) (expt y z)) -> (expt (* x y) z)")
+  (lint-test "(* (expt x z) (expt x y))" " *: perhaps (* (expt x z) (expt x y)) -> (expt x (+ z y))")
   (lint-test "(* 2.0 (random 1.0))"     " *: perhaps (* 2.0 (random 1.0)) -> (random 2.0)")
   (lint-test "(* (gcd a b) (lcm a b))"	" *: perhaps (* (gcd a b) (lcm a b)) -> (abs (* a b))")
   (lint-test "(* (/ x) (/ y z))"        " *: perhaps (* (/ x) (/ y z)) -> (/ y (* x z))")
@@ -85220,6 +85276,8 @@ etc
   (lint-test "(/ (expt x y))"           " /: perhaps (/ (expt x y)) -> (expt x (- y))")
   (lint-test "(/ (expt 10 6))"          " /: perhaps (/ (expt 10 6)) -> (expt 10 (- 6))")
   (lint-test "(/ (exp x))"              " /: perhaps (/ (exp x)) -> (exp (- x))")
+  (lint-test "(/ x (sqrt x))"           " /: perhaps (/ x (sqrt x)) -> (sqrt x)")
+  (lint-test "(/ (sqrt x) x)"           " /: perhaps (/ (sqrt x) x) -> (/ (sqrt x))")
   (lint-test "(/ (/ x))"                " /: perhaps (/ (/ x)) -> x")
   (lint-test "(/ (/ 1 x))"              " /: perhaps (/ (/ 1 x)) -> x")
   (lint-test "(/ (/ 1 x y))"            " /: perhaps (/ (/ 1 x y)) -> (* x y)")
@@ -85265,6 +85323,9 @@ etc
   (lint-test "(log pi pi)"		" log: perhaps (log pi pi) -> 1.0")
   (lint-test "(log (* x pi) (* x pi))"	" log: perhaps (log (* x pi) (* x pi)) -> 1.0")
   (lint-test "(log (* x pi))"		"")
+  (lint-test "(log (sqrt x))"           " log: perhaps (log (sqrt x)) -> (* 1/2 (log x))")
+  (lint-test "(log (expt x y))"         " log: perhaps (log (expt x y)) -> (* y (log x))")
+  (lint-test "(log (expt x y) z)"       " log: perhaps (log (expt x y) z) -> (* y (log x z))")
 
   (lint-test "(sqrt 4)"			" sqrt: perhaps (sqrt 4) -> 2")
   (if (not with-bignums) (lint-test "(sqrt 3)" ""))
@@ -85272,6 +85333,7 @@ etc
   (lint-test "(sqrt (* (+ x 1) (+ x 1)))" "") ; tricky case, x might be -2 for example
   (lint-test "(sqrt)"			" sqrt: sqrt needs 1 argument: (sqrt)")
   (lint-test "(sqrt (- x 0))"		" sqrt: perhaps (sqrt (- x 0)) -> (sqrt x)")
+  (lint-test "(sqrt (exp x))"           " sqrt: perhaps (sqrt (exp x)) -> (exp (/ x 2))")
   (lint-test "(complex (- x 0) 2)"	" complex: perhaps (complex (- x 0) 2) -> (complex x 2)")
 
   (lint-test "(floor 3.4)"		" floor: perhaps (floor 3.4) -> 3")
@@ -85353,6 +85415,7 @@ etc
   (lint-test "(expt 2 1/2)"		"")
   (lint-test "(expt 1.0 1.0)"		"")
   (lint-test "(expt 0 0)"		" expt: perhaps (expt 0 0) -> 1")
+  (lint-test "(expt (expt x y) z)"      " expt: perhaps (expt (expt x y) z) -> (expt x (* y z))")
 
   (lint-test "(angle -1)"		" angle: perhaps (angle -1) -> pi")
   (lint-test "(angle 0.0)"		" angle: perhaps (angle 0.0) -> 0.0")
@@ -85586,6 +85649,7 @@ etc
   (lint-test "(if (not (or x z)) y #t)" " if: perhaps (if (not (or x z)) y #t) -> (or x z y)")
   (lint-test "(if (not (and x z)) #f y)" " if: perhaps (if (not (and x z)) #f y) -> (and x z y)")
   (lint-test "(if (cons 1 2) x y)"	" if: if test is never false: (if (cons 1 2) x y)")
+  (lint-test "(if (getenv x) x w)"      " if: if test is never false: (if (getenv x) x w)")
   (lint-test "(if y)"			" if: if has too few clauses: (if y)")
   (lint-test "(if y z a b)"		" if: if has too many clauses: (if y z a b)")
   (lint-test "(if x y (if z y))"	" if: perhaps (if x y (if z y)) -> (if (or x z) y)")
@@ -85675,7 +85739,7 @@ etc
   (lint-test "(if x (set! y z) (set! w z))" "")
   (lint-test "(if x (set! y x) (set! y #f))" " if: perhaps (if x (set! y x) (set! y #f)) -> (set! y x)")
   (lint-test "(if x (set! y z) (set! y w))" " if: perhaps (if x (set! y z) (set! y w)) -> (set! y (if x z w))")
-  (lint-test "(if x (set! y (+ 1 z)) (set! y (+ 1 w)))" " if: perhaps (if x (set! y (+ 1 z)) (set! y (+ 1 w))) -> (set! y (if x (+ 1 z) (+ 1 w)))")
+  (lint-test "(if x (set! y (+ 1 z)) (set! y (+ 1 w)))" " if: perhaps (if x (set! y (+ 1 z)) (set! y (+ 1 w))) -> (set! y (+ 1 (if x z w)))")
   (lint-test "(if (< x y) (set! x y))"    " if: perhaps (if (< x y) (set! x y)) -> (set! x (max x y))")
   (lint-test "(if (<= y x) (set! x y))"   " if: perhaps (if (<= y x) (set! x y)) -> (set! x (min x y))")
   (lint-test "(if (> x y) (set! x y))"    " if: perhaps (if (> x y) (set! x y)) -> (set! x (min x y))")
@@ -85690,6 +85754,20 @@ etc
   (lint-test "(if (pair? x) #t z)"        " if: perhaps (if (pair? x) #t z) -> (or (pair? x) z)")
   (lint-test "(if x (not y) (not z))"     " if: perhaps (if x (not y) (not z)) -> (not (if x y z))")
 
+  (lint-test "(if (> (vector-ref ind i) (vector-ref ind j)) (vector-set! ind i (vector-ref ind j)))" 
+	     " if: perhaps (if (> (vector-ref ind i) (vector-ref ind j)) (vector-set! ind i... -> 
+                 (vector-set! ind i (min (vector-ref ind i) (vector-ref ind j)))")
+  (lint-test "(if (<= (list-ref ind i) (list-ref ind j)) (list-set! ind i (list-ref ind j)))" 
+	     " if: perhaps (if (<= (list-ref ind i) (list-ref ind j)) (list-set! ind i (list-ref ind j))) ->
+                 (list-set! ind i (max (list-ref ind i) (list-ref ind j)))")
+  (lint-test "(if (<= (list-ref ind i) 32) (list-set! ind i 32))" 
+	     " if: perhaps (if (<= (list-ref ind i) 32) (list-set! ind i 32)) -> (list-set! ind i (max (list-ref ind i) 32))")
+  (lint-test "(if (<= 32 (list-ref ind i)) (list-set! ind i 32))" 
+	     " if: perhaps (if (<= 32 (list-ref ind i)) (list-set! ind i 32)) -> (list-set! ind i (min 32 (list-ref ind i)))")
+  (lint-test "(if (> 32 (list-ref ind i)) (list-set! ind i 32))" 
+	     " if: perhaps (if (> 32 (list-ref ind i)) (list-set! ind i 32)) -> (list-set! ind i (max 32 (list-ref ind i)))")
+
+  (lint-test "(if x (set! a (* 2 b)) (set! a (* 3 b)))" " if: perhaps (if x (set! a (* 2 b)) (set! a (* 3 b))) -> (set! a (* (if x 2 3) b))")
   (lint-test "(if x y (cond ((= y z) 2) (else 3)))" 
 	     " if: perhaps (if x y (cond ((= y z) 2) (else 3))) -> (cond (x y) ((= y z) 2) (else 3))")
   (lint-test "(if x y (cond ((= y z) 2) ((= y 2) 3)))" 
@@ -85699,13 +85777,16 @@ etc
                if: perhaps (case x ((#\\a) 3) (else 4)) -> (if (eqv? x #\\a) 3 4)")
   (lint-test "(if (< x 0) (if (< y 0) (if (< z 0) (+ a b c d e f g h i j k l m n o p q r s) z) y) x)" 
 	     " if: perhaps (if (< x 0) (if (< y 0) (if (< z 0) (+ a b c d e f g h i j k l m n o p q r... ->
-                 (cond ((>= x 0) x) ((>= y 0) y) ((>= z 0) z) (else (+ a b c d e f g h i j k l m n o p q r s)))")
+                 (cond ((>= x 0) x) ((>= y 0) y) ((>= z 0) z) (else (+ a b c d e f g h i j k l m n o p q r s)))
+               if: surely there's a better name for this variable than l")
   (lint-test "(if (< x 0) (if (< y 0) y (if (< z 0) z (+ a b c d e f g h i j k l m n o p q r s))) x)" 
 	     " if: perhaps (if (< x 0) (if (< y 0) y (if (< z 0) z (+ a b c d e f g h i j k l m n o p... ->
-                 (cond ((>= x 0) x) ((< y 0) y) ((< z 0) z) (else (+ a b c d e f g h i j k l m n o p q r s)))")
+                 (cond ((>= x 0) x) ((< y 0) y) ((< z 0) z) (else (+ a b c d e f g h i j k l m n o p q r s)))
+               if: surely there's a better name for this variable than l")
   (lint-test "(if (< x 0) x (if (< y 0) (if (< z 0) (+ a b c d e f g h i j k l m n o p q r s) z) y))" 
 	     " if: perhaps (if (< x 0) x (if (< y 0) (if (< z 0) (+ a b c d e f g h i j k l m n o p q... ->
-                 (cond ((< x 0) x) ((>= y 0) y) ((>= z 0) z) (else (+ a b c d e f g h i j k l m n o p q r s)))")
+                 (cond ((< x 0) x) ((>= y 0) y) ((>= z 0) z) (else (+ a b c d e f g h i j k l m n o p q r s)))
+               if: surely there's a better name for this variable than l")
   (lint-test "(if (< x 1) (let ((y (+ x 1)) (z (- x 1))) (+ y z)) (let ((y (+ x 1)) (z (+ x 2))) (- y z)))" 
 	     " if: perhaps (if (< x 1) (let ((y (+ x 1)) (z (- x 1))) (+ y z)) (let ((y (+ x 1)) (z... ->
                  (let ((y (+ x 1))) (if (< x 1) (let ((z (- x 1))) (+ y z)) (let ((z (+ x 2))) (- y z))))
@@ -85713,10 +85794,9 @@ etc
                if: perhaps (let ((y (+ x 1)) (z (+ x 2))) (- y z)) -> (- (+ x 1) (+ x 2))")
   (lint-test "(if (< x 1) (let ((y (+ x 1)) (z (- x 1))) (+ y z)) (let ((y (+ x 1)) (z (- x 1))) (- y z)))" 
 	     " if: perhaps (if (< x 1) (let ((y (+ x 1)) (z (- x 1))) (+ y z)) (let ((y (+ x 1)) (z... ->
-                 (let ((y (+ x 1)) (z (- x 1))) (if (< x 1) (+ y z) (- y z)))
+                 (let ((_1_ (< x 1))) (let ((y (+ x 1)) (z (- x 1))) ((if _1_ + -) y z)))
                if: perhaps (let ((y (+ x 1)) (z (- x 1))) (+ y z)) -> (+ (+ x 1) (- x 1))
                if: perhaps (let ((y (+ x 1)) (z (- x 1))) (- y z)) -> (- (+ x 1) (- x 1))")
-
   (lint-test "(if (> (+ a b) 3) (let ((a x) (c y)) (* a (log c))) (let ((b z) (c y)) (+ b (log c))))" 
 	     "if: perhaps (if (> (+ a b) 3) (let ((a x) (c y)) (* a (log c))) (let ((b z) (c y)) (+... ->
     (let ((c y))
@@ -85726,21 +85806,17 @@ etc
           (let ((b z))
             (+ b (log c)))))
             if: perhaps (let ((a x) (c y)) (* a (log c))) -> (* x (log y))
-            if: assuming we see all set!s, (c y), (a x) are pointless: perhaps (let ((a x) (c y)) (* a (log c))) -> (let () (* x (log y)))
+            if: assuming we see all set!s, the bindings (c y), (a x) are pointless: perhaps (let ((a x) (c y)) (* a (log c))) -> (let () (* x (log y)))
             if: perhaps (let ((b z) (c y)) (+ b (log c))) -> (+ z (log y))
-            if: assuming we see all set!s, (c y), (b z) are pointless: perhaps (let ((b z) (c y)) (+ b (log c))) -> (let () (+ z (log y)))")
+            if: assuming we see all set!s, the bindings (c y), (b z) are pointless: perhaps (let ((b z) (c y)) (+ b (log c))) -> (let () (+ z (log y)))")
 
   (lint-test "(if (> (+ a b) 3) (let ((a (+ x 1)) (c y)) (* a (log c))) (let ((a (+ x 1)) (c y)) (+ a (log c))))" 
 	     " if: perhaps (if (> (+ a b) 3) (let ((a (+ x 1)) (c y)) (* a (log c))) (let ((a (+ x... ->
-    (let ((_1_ (> (+ a b) 3)))
-      (let ((a (+ x 1))
-            (c y))
-        (if _1_ (* a (log c)) (+ a (log c)))))
+                (let ((_1_ (> (+ a b) 3))) (let ((a (+ x 1)) (c y)) ((if _1_ * +) a (log c))))
                if: perhaps (let ((a (+ x 1)) (c y)) (* a (log c))) -> (* (+ x 1) (log y))
-               if: assuming we see all set!s, (c y) is pointless: perhaps (let ((a (+ x 1)) (c y)) (* a (log c))) -> (let ((a (+ x 1))) (* a (log y)))
+               if: assuming we see all set!s, the binding (c y) is pointless: perhaps (let ((a (+ x 1)) (c y)) (* a (log c))) -> (let ((a (+ x 1))) (* a (log y)))
                if: perhaps (let ((a (+ x 1)) (c y)) (+ a (log c))) -> (+ (+ x 1) (log y))
-               if: assuming we see all set!s, (c y) is pointless: perhaps (let ((a (+ x 1)) (c y)) (+ a (log c))) -> (let ((a (+ x 1))) (+ a (log y)))")
-
+               if: assuming we see all set!s, the binding (c y) is pointless: perhaps (let ((a (+ x 1)) (c y)) (+ a (log c))) -> (let ((a (+ x 1))) (+ a (log y)))")
   (lint-test "(let ((a (f x)) (b (g y)) (c (g z))) (h a b c))" 
 	     " let: perhaps (let ((a (f x)) (b (g y)) (c (g z))) (h a b c)) -> (h (f x) (g y) (g z))")
 
@@ -85782,12 +85858,100 @@ etc
   (lint-test "(if A (if (not B) C D) (if B C D))" " if: perhaps (if A (if (not B) C D) (if B C D)) -> (if (not (eq? (not A) (not B))) C D)")
   (lint-test "(if A (if B C D) (if E C D))"       " if: perhaps (if A (if B C D) (if E C D)) -> (if (if A B E) C D)")
   (lint-test "(+ (if A B C) (if A C D) y)"     " +: perhaps (+ (if A B C) (if A C D) y) -> (+ (if A (values B C) (values C D)) y)")
-  (lint-test "(begin (if A B C) (if (and A D) Z))"  
-	     " begin: this could be omitted: (if A B C)
-               begin: perhaps (... (if A B C) (if (and A D) Z) ...) -> (... (if A (begin B (if D Z)) C) ...)")
-  (lint-test "(begin (if A B) (if (and A C) D))"
-	     " begin: this could be omitted: (if A B)
-               begin: perhaps (... (if A B) (if (and A C) D) ...) -> (... (if A (begin B (if C D))) ...)")
+
+  (lint-test "(if x (begin (f y)) (begin (g y)))" 
+	     " if: perhaps (if x (begin (f y)) (begin (g y))) -> (begin ((if x f g) y))
+               if: begin could be omitted: (begin (f y))
+               if: begin could be omitted: (begin (g y))")
+  (lint-test "(if x (f 2 y) (f 4 y))" " if: perhaps (if x (f 2 y) (f 4 y)) -> (f (if x 2 4) y)")
+  (lint-test "(if x (f 2 y) (f 4 z))" "")
+  (lint-test "(if x (let ((z (log y))) (f 2 y z)) (let ((z (log y))) (f 4 y z)))" 
+	     " if: perhaps (if x (let ((z (log y))) (f 2 y z)) (let ((z (log y))) (f 4 y z))) -> (let ((_1_ x)) (let ((z (log y))) (f (if _1_ 2 4) y z)))
+               if: perhaps (let ((z (log y))) (f 2 y z)) -> (f 2 y (log y))
+               if: perhaps (let ((z (log y))) (f 4 y z)) -> (f 4 y (log y))")
+  (lint-test "(if restarting? (eq? 'ronly opt) (eq? 'sonly opt))" 
+	     " if: perhaps (if restarting? (eq? 'ronly opt) (eq? 'sonly opt)) -> (eq? (if restarting? 'ronly 'sonly) opt)")
+
+  (lint-test "(if x (let* ((y (f x)) (z (g x))) (display y) (list y z)) (let* ((y (f x)) (z (g x))) (display z) (list y z)))" 
+	     " if: perhaps (if x (let* ((y (f x)) (z (g x))) (display y) (list y z)) (let* ((y (f x))... ->
+                 (let ((_1_ x)) (let* ((y (f x)) (z (g x))) (display (if _1_ y z)) (list y z)))")
+  (lint-test "(if x (let ((y (f x))) (display y) (list z)) (let ((y (g x))) (display y) (list z)))" 
+	     " if: perhaps (if x (let ((y (f x))) (display y) (list z)) (let ((y (g x))) (display y)... ->
+                 (let ((y ((if x f g) x))) (display y) (list z))")
+  (lint-test "(if x (let ((y (f x))) (display y) z) (let ((y (g x))) (f y) z))" "") 
+  (lint-test "(if x (let ((y (abs x))) (display z) y) (let ((y (log x))) (display z) y))" 
+	     " if: perhaps (if x (let ((y (abs x))) (display z) y) (let ((y (log x))) (display z) y)) ->
+                 (let ((y ((if x abs log) x))) (display z) y)")
+  (lint-test "(if x (let loop ((x y)) (if (null? x) 1 (loop (cdr x)))) (let loop ((x z)) (if (null? x) 1 (loop (cdr x)))))" "")
+  (lint-test "(if polar
+                (let ((vals (parse-polar-coordinates points 3d)))
+                  (set! (bezier-x xpath) (car vals))
+                  (set! (bezier-y xpath) (cadr vals))
+                  (set! (bezier-z xpath) (caddr vals))
+                  (set! (bezier-v xpath) (cadddr vals)))
+                (let ((vals (parse-cartesian-coordinates points 3d)))
+                  (set! (bezier-x xpath) (car vals))
+                  (set! (bezier-y xpath) (cadr vals))
+                  (set! (bezier-z xpath) (caddr vals))
+                  (set! (bezier-v xpath) (cadddr vals))))" 
+	     " if: perhaps (if polar (let ((vals (parse-polar-coordinates points 3d))) (set!... ->
+                (let ((vals ((if polar parse-polar-coordinates parse-cartesian-coordinates) points 3d)))
+                  (set! (bezier-x xpath) (car vals))
+                  (set! (bezier-y xpath) (cadr vals))
+                  (set! (bezier-z xpath) (caddr vals))
+                  (set! (bezier-v xpath) (cadddr vals)))")
+  (lint-test "(if (< x 1) (let ((a 32) (b 31)) (f a b)) (let ((a 31) (b 32)) (f a b)))" 
+	     " if: perhaps (let ((a 32) (b 31)) (f a b)) -> (f 32 31)
+               if: perhaps (let ((a 31) (b 32)) (f a b)) -> (f 31 32)")
+  (lint-test "(if (< x 1) (let ((a 32) (b 31) (c 12)) (f a b c)) (let ((a 32) (b 31) (c 11)) (f a b c)))" 
+	     " if: perhaps (if (< x 1) (let ((a 32) (b 31) (c 12)) (f a b c)) (let ((a 32) (b 31) (c... ->
+                 (let ((a 32) (b 31) (c (if (< x 1) 12 11))) (f a b c))
+               if: perhaps (let ((a 32) (b 31) (c 12)) (f a b c)) -> (f 32 31 12)
+               if: perhaps (let ((a 32) (b 31) (c 11)) (f a b c)) -> (f 32 31 11)")
+  (lint-test "(if x (for-each (lambda (x) (display (+ x a))) (f y)) (for-each (lambda (x) (display (+ x a))) (g y)))" 
+	     " if: perhaps (if x (for-each (lambda (x) (display (+ x a))) (f y)) (for-each (lambda... ->
+                 (let ((_1_ x)) (for-each (lambda (x) (display (+ x a))) ((if _1_ f g) y)))") ; overly cautious
+  (lint-test "(cond (x (for-each (lambda (x) (display (+ x a))) (f y))) (else (for-each (lambda (x) (display (+ x a))) (g y))))"
+	     " cond: perhaps (cond (x (for-each (lambda (x) (display (+ x a))) (f y))) (else (for-each... ->
+                 (for-each (lambda (x) (display (+ x a))) (if x (f y) (g y)))")
+  (lint-test "(if x (for-each (lambda (x) (display (+ x a))) (f y)) (for-each (lambda (x) (display (+ x b))) (f y)))" 
+	     " if: perhaps (if x (for-each (lambda (x) (display (+ x a))) (f y)) (for-each (lambda... ->
+                 (let ((_1_ x)) (for-each (lambda (x) (display (+ x (if _1_ a b)))) (f y)))")
+
+  (lint-test "(begin (if A (f B) (g C)) (if (and A D) (g Z)) X)" 
+	     " begin: perhaps (... (if A (f B) (g C)) (if (and A D) (g Z)) ...) -> (... (if A (begin (f B) (when D (g Z))) (g C)) ...)")
+  (lint-test "(begin (if A (f B)) (if (and A C) (g D) (h E)) X)" "")
+  (lint-test "(begin (if A (f B)) (if (and A C) (g D) (h E)))" "")
+  (lint-test "(begin (if A (f B) (z G)) (if (and A C) (g D) (h E)))" "")
+  (lint-test "(begin (if A (f B)) (when (and A C) (g D) (h E)) X)" 
+	     " begin: perhaps (... (if A (f B)) (when (and A C) (g D) (h E)) ...) -> (... (when A (f B) (when C (g D) (h E))) ...)")
+  (lint-test "(begin (when A (f B)) (when (and A C) (g D) (h E)) X)"
+	     " begin: perhaps (... (when A (f B)) (when (and A C) (g D) (h E)) ...) -> (... (when A (f B) (when C (g D) (h E))) ...)")
+  (lint-test "(begin (when A (f B)) (when (and A C) (g D) (h E)))" 
+	     " begin: perhaps (... (when A (f B)) (when (and A C) (g D) (h E)) ...) -> (... (when A (f B) (when C (g D) (h E))))")
+  (lint-test "(begin (if (and A B) (f C)) (if A (g E)))" 
+	     " begin: perhaps (... (if (and A B) (f C)) (if A (g E)) ...) -> (... (when A (when B (f C)) (g E)))")
+  (lint-test "(begin (if (and A B) (f C)) (if A (g E) (h F)) X)" 
+	     " begin: perhaps (... (if (and A B) (f C)) (if A (g E) (h F)) ...) -> (... (if A (begin (when B (f C)) (g E)) (h F)) ...)")
+
+  (lint-test "(begin (if (and A B) (f C)) (if (and B A) (g E) (h F)) X)" 
+	     " begin: perhaps 
+                 (... (if (and A B) (f C)) (if (and B A) (g E) (h F)) ...) -> 
+                 (... (if (and A B) (begin (f C) (g E)) (begin (h F))) ...)")
+  (lint-test "(begin (if (and A B) (f C)) (if (and C B A) (g E) (h F)) X)" "")
+  (lint-test "(begin (if (and A B C) (f C)) (if (and B A) (g E) (h F)) X)" 
+	     " begin: perhaps 
+                 (... (if (and A B C) (f C)) (if (and B A) (g E) (h F)) ...) ->
+                 (... (if (and A B) (begin (when C (f C)) (g E)) (h F)) ...)")
+  (lint-test "(begin (if (and A B) (f C)) (if (and B C) (g E) (h F)) X)" "")
+  (lint-test "(begin (if (and A B) (f C)) (when (and B C) (g E)))" 
+	     " begin: perhaps 
+                 (... (if (and A B) (f C)) (when (and B C) (g E)) ...) ->
+                 (... (when B (when A (f C)) (when C (g E))))")
+  (lint-test "(begin (if (and A B C) (f C)) (when (and B C D) (g E)))" 
+	     " begin: perhaps 
+                 (... (if (and A B C) (f C)) (when (and B C D) (g E)) ...) ->
+                 (... (when (and B C) (when A (f C)) (when D (g E))))")
 
   (lint-test "(if x (display y) (begin (set! z y) (display y)))" 
 	     " if: perhaps (if x (display y) (begin (set! z y) (display y))) -> (begin (if (not x) (set! z y)) (display y))")
@@ -85803,13 +85967,13 @@ etc
   (lint-test "(if A (if B (+ x 1)) (if B (- x 1)))" 
 	     " if: perhaps (if A (if B (+ x 1)) (if B (- x 1))) -> (if B (if A (+ x 1) (- x 1)))")
   (lint-test "(if A (begin (f x) (g y)) (begin (f x) (g z)))"  
-	     " if: perhaps (if A (begin (f x) (g y)) (begin (f x) (g z))) -> (begin (f x) (if A (g y) (g z)))")
+	     " if: perhaps (if A (begin (f x) (g y)) (begin (f x) (g z))) -> (begin (f x) (g (if A y z)))")
   (lint-test "(if A (begin (f x) (g y)) (begin (f y) (g y)))" 
-	     " if: perhaps (if A (begin (f x) (g y)) (begin (f y) (g y))) -> (begin (if A (f x) (f y)) (g y))")
+	     " if: perhaps (if A (begin (f x) (g y)) (begin (f y) (g y))) -> (begin (f (if A x y)) (g y))")
   (lint-test "(if A (begin (f x) (g y) (h z)) (begin (f x) (g x) (h z)))" 
-	     " if: perhaps (if A (begin (f x) (g y) (h z)) (begin (f x) (g x) (h z))) -> (begin (f x) (if A (g y) (g x)) (h z))")
+	     " if: perhaps (if A (begin (f x) (g y) (h z)) (begin (f x) (g x) (h z))) -> (begin (f x) (g (if A y x)) (h z))")
   (lint-test "(if (not x) (display (+ y 1)) (display x))" 
-	     " if: perhaps (if (not x) (display (+ y 1)) (display x)) -> (if x (display x) (display (+ y 1)))")
+	     " if: perhaps (if (not x) (display (+ y 1)) (display x)) -> (display (if (not x) (+ y 1) x))")
   (lint-test "(if a A (if b A (if c A B)))" 
 	     " if: perhaps use cond: (if a A (if b A (if c A B))) -> (cond (a A) (b A) (c A) (else B))
                if: perhaps (if a A (if b A (if c A B))) -> (if (or a b c) A B)
@@ -85824,7 +85988,7 @@ etc
 
   (lint-test "(let ((list x)) (if (null? list) 3 2))" 
 	     " let: perhaps (let ((list x)) (if (null? list) 3 2)) -> (if (null? x) 3 2)
-               let: assuming we see all set!s, (list x) is pointless: perhaps (let ((list x)) (if (null? list) 3 2)) -> (let () (if (null? x) 3 2))")
+               let: assuming we see all set!s, the binding (list x) is pointless: perhaps (let ((list x)) (if (null? list) 3 2)) -> (let () (if (null? x) 3 2))")
   (lint-test "(null? (string->list x))" " null?: perhaps (null? (string->list x)) -> (zero? (length x))")
   (lint-test "(memq x (if (memq y '(< <=)) '(< <=) '(> >=)))" "") ; this is checking the ->simple-type escape
   (lint-test "(if q `(not ,op ,x) `(not ,op ,y))" "") ; make sure we don't try to rewrite quasiquote
@@ -85866,8 +86030,9 @@ etc
 	     " begin: perhaps (... (if (< x 0) (display y)) (if (< x 0) z) ...) ->
                (... (when (< x 0) (display y) z) ...)")
   (lint-test "(begin (if (< x 0) (display y) (display (- y 1))) (if (< x 0) z))" 
-	     " begin: perhaps (... (if (< x 0) (display y) (display (- y 1))) (if (< x 0) z) ...) ->
-               (... (if (< x 0) (begin (display y) z) (begin (display (- y 1)))) ...)")
+	     " begin: perhaps (if (< x 0) (display y) (display (- y 1))) -> (display (if (< x 0) y (- y 1)))
+              begin: perhaps  (... (if (< x 0) (display y) (display (- y 1))) (if (< x 0) z) ...) ->
+                (... (if (< x 0) (begin (display y) z) (begin (display (- y 1)))) ...)")
   (lint-test "(begin (if (< x 0) (begin (display y) (set! y 3)) (display (- y 1))) (if (< x 0) z (begin (display (+ z 1)) (- z 1))))" 
 	     " begin: perhaps (... (if (< x 0) (begin (display y) (set! y 3)) (display (- y 1))) (if (<... ->
                (... (if (< x 0) (begin (display y) (set! y 3) z) (begin (display (- y 1)) (display (+ z 1)) (- z 1))) ...)")
@@ -85892,12 +86057,14 @@ etc
   (lint-test "(cond ((null? x) #t) (else y))" 
 	     " cond: this #t could be omitted: ((null? x) #t) cond: perhaps (cond ((null? x) #t) (else y)) -> (or (null? x) y)")
   (lint-test "(cond ((= x 1) 2) (else 2))" " cond: perhaps (cond ((= x 1) 2) (else 2)) -> 2")
-  (lint-test "(cond ((and (display x) x) 32) (#t 32))" "")
+  (lint-test "(cond ((and (display x) x) 32) (#t 32))" 
+	     " cond: perhaps (cond ((and (display x) x) 32) (#t 32)) -> (begin (and (display x) x) 32)")
   (lint-test "(cond (x y) (z 32) (else 32))" " cond: this clause could be omitted: (z 32)")
   (lint-test "(cond ((= x 1) (display \"a\") 32) (#t (display \"a\") 32))" 
 	     " cond: perhaps (cond ((= x 1) (display \"a\") 32) (#t (display \"a\") 32)) ->  (begin (display \"a\") 32)")
   (lint-test "(cond ((= x 1) 32))"      " cond: perhaps (cond ((= x 1) 32)) -> (if (= x 1) 32)")
-  (lint-test "(cond ((and (display 32) (= x 1)) 1) (#t 1))" "")
+  (lint-test "(cond ((and (display 32) (= x 1)) 1) (#t 1))" 
+	     " cond: perhaps (cond ((and (display 32) (= x 1)) 1) (#t 1)) -> (begin (and (display 32) (= x 1)) 1)")
   (lint-test "(cond ((< x 1) 2) (else (cond ((< y 3) 2) (#t 4))))" 
 	     " cond: else clause could be folded into the outer cond: 
                 (cond ((< x 1) 2) (else (cond ((< y 3) 2) (#t 4)))) -> (cond ((< x 1) 2) ((< y 3) 2) (#t 4))")
@@ -85922,8 +86089,10 @@ etc
   (lint-test "(cond (x (abs x)))"	
 	     " in (cond (x (abs x))), perhaps change x to (real? x)
                cond: perhaps use => here: (x (abs x)) -> (x => abs)")
-  (lint-test "(cond ((> x 2) (not (> x 2))))" " cond: perhaps use => here: ((> x 2) (not (> x 2))) -> ((> x 2) => not)")
-  (lint-test "(cond (x #t) (y #t) (else #f))" " cond: perhaps (cond (x #t) (y #t) (else #f)) -> (or x y)")
+  (lint-test "(cond ((> x 2) (not (> x 2))))" " cond: perhaps replace (not (> x 2)) with #f")
+  (lint-test "(cond (x #t) (y #t) (else #f))" 
+	     " cond: perhaps (cond (x #t) (y #t) (else #f)) -> (or x y)
+               cond: perhaps (cond (x #t) (y #t) (else #f)) -> (or x (and y #t))")
   (lint-test "(cond (x #f) (y #f) (else #t))" " cond: perhaps (cond (x #f) (y #f) (else #t)) -> (not (or x y))")
   (lint-test "(cond (x y) ('else z))" " cond: odd cond clause test: is 'else supposed to be else? ('else z)")
   (lint-test "(cond ((x) y) ((not (x)) z))"   " cond: perhaps (cond ((x) y) ((not (x)) z)) -> (cond ((x) y) (else z))")
@@ -85932,7 +86101,7 @@ etc
 	     " in (cond (x (let ((z w)) (+ x z)) y) (else 2)), perhaps change x to (number? x)
                cond: this could be omitted: (let ((z w)) (+ x z))
                cond: perhaps (let ((z w)) (+ x z)) -> (+ x w)
-               cond: assuming we see all set!s, (z w) is pointless: perhaps (let ((z w)) (+ x z)) -> (let () (+ x w))")
+               cond: assuming we see all set!s, the binding (z w) is pointless: perhaps (let ((z w)) (+ x z)) -> (let () (+ x w))")
   (lint-test "(cond (x (if x y z) (+ x 1)) (z 2))"             " cond: this could be omitted: (if x y z)")
   (lint-test "(cond ((g x) `(c ,x) `(c ,y)))"                  
 	     " cond: this could be omitted: ({list} 'c x)
@@ -86063,7 +86232,9 @@ etc
                 (if (complex? x) (+ x 1) 0)")
   (lint-test "(cond (A a) (B b) (else a))"    " cond: perhaps (cond (A a) (B b) (else a)) -> (if (or A (not B)) a b)")
   (lint-test "(cond (A #f) (B b) (else #f))"  " cond: perhaps (cond (A #f) (B b) (else #f)) -> (and (not A) B b)")
-  (lint-test "(cond (A #f) (B #t) (else #f))" " cond: perhaps (cond (A #f) (B #t) (else #f)) -> (and (not A) B)")
+  (lint-test "(cond (A #f) (B #t) (else #f))" 
+	     " cond: perhaps (cond (A #f) (B #t) (else #f)) -> (and (not A) B)
+               cond: perhaps (cond (A #f) (B #t) (else #f)) -> (and (not A) B)")
   (lint-test "(cond (A #t) (B b) (else #t))"  " cond: perhaps (cond (A #t) (B b) (else #t)) -> (or A (not B) b)")
   (lint-test "(cond (A #t) (B #f) (else #t))" " cond: perhaps (cond (A #t) (B #f) (else #t)) -> (or A (not B))")
   (lint-test "(cond (A a) (B a) (else b))"    " cond: perhaps (cond (A a) (B a) (else b)) -> (cond ((or A B) a) (else b))")
@@ -86092,13 +86263,23 @@ etc
                cond: perhaps (cond ((A) (f B)) ((< C 1) (cond ((D) (f d)) (else (f E))))) -> (cond ((A) (f B)) ((>= C 1) #<unspecified>) ((D) (f d)) (else (f E)))")
   (lint-test "(cond ((= x 0) 1) ((= x 3) (cond ((not y) 1) ((pair? y) 2) ((eq? y 'a) 3) (else 4))) ((< x 200) 2) (else 5))" 
 	     " cond: perhaps (cond ((= x 0) 1) ((= x 3) (cond ((not y) 1) ((pair? y) 2) ((eq? y 'a) 3)... ->
-    (cond ((= x 0) 1)
-          ((not (= x 3)) (if (< x 200) 2 5))
-          ((not y) 1)
-          ((pair? y) 2)
-          ((eq? y 'a) 3)
-          (else 4))")
-
+                (cond ((= x 0) 1) ((not (= x 3)) (if (< x 200) 2 5)) ((not y) 1) ((pair? y) 2) ((eq? y 'a) 3) (else 4))")
+  (lint-test "(cond ((pair? x) 3) ((eq? x 'a) z) ((eq? x 'b) (* 2 z)) ((eq? x 'c) (display z)))" 
+	     " cond: possibly use case at the end: 
+                (cond ((pair? x) 3) ((eq? x 'a) z) ((eq? x 'b) (* 2 z)) ((eq? x 'c)... ->
+                (if (pair? x) 3 (case x ((a) z) ((b) (* 2 z)) ((c) (display z))))")
+  (lint-test "(cond ((pair? x) 3) ((eq? x 'a) z) ((eq? x 'b) (* 2 z)) ((eq? x 'c) (display z)) (else (display y)))"
+	     " cond: possibly use case at the end: 
+                (cond ((pair? x) 3) ((eq? x 'a) z) ((eq? x 'b) (* 2 z)) ((eq? x 'c)... ->
+                (if (pair? x) 3 (case x ((a) z) ((b) (* 2 z)) ((c) (display z)) (else (display y))))")
+  (lint-test "(cond ((pair? x) #f) ((eq? x 'a) z) ((eq? x 'b) (* 2 z)) ((eq? x 'c) (display z)))" 
+	     " cond: possibly use case at the end: 
+                (cond ((pair? x) #f) ((eq? x 'a) z) ((eq? x 'b) (* 2 z)) ((eq? x 'c)... ->
+                (and (not (pair? x)) (case x ((a) z) ((b) (* 2 z)) ((c) (display z))))")
+  (lint-test "(cond ((pair? x) 3) ((integer? x) 4) ((eq? x 'a) z) ((eq? x 'b) (* 2 z)) ((eq? x 'c) (display z)))"
+	     " cond: possibly use case at the end: 
+                (cond ((pair? x) 3) ((integer? x) 4) ((eq? x 'a) z) ((eq? x 'b) (* 2 z))... ->
+                (cond ((pair? x) 3) ((integer? x) 4) (else (case x ((a) z) ((b) (* 2 z)) ((c) (display z)))))")
   (lint-test "(cond ((< x 1) (+ x 1)) (else (+ x 2)))"
 	     " cond: perhaps (cond ((< x 1) (+ x 1)) (else (+ x 2))) -> (+ x (if (< x 1) 1 2))")
   (lint-test "(cond ((< x 1) (fx1 x y z)) (else (fx1 x z z)))" 
@@ -86135,7 +86316,85 @@ etc
 	     " cond: perhaps (cond (X (f y z)) (Y (f y z)) (Z (f y z))) -> (if (or X Y Z) (f y z))
                cond: perhaps (cond (X (f y z)) (Y (f y z)) (Z (f y z))) -> (cond ((or X Y Z) (f y z)))")
   (lint-test "(cond (X (g y a)) (else (g y z)))" " cond: perhaps (cond (X (g y a)) (else (g y z))) -> (g y (if X a z))")
-
+;  (lint-test "(cond ((not x) (cdr x)) (else (display y)))" " cond: x in (cdr x) should be a pair, but it is #f?")
+  (lint-test "(cond ((pair? x) 3) ((eq? x 'a) 4) ((eq? x 'b) 5) ((eq? x 'c) 6))" 
+	     " cond: perhaps (cond ((pair? x) 3) ((eq? x 'a) 4) ((eq? x 'b) 5) ((eq? x 'c) 6)) ->
+                 (cond ((pair? x) 3) ((assq x '((a . 4) (b . 5) (c . 6))) => cdr))")
+  (lint-test "(cond ((pair? x) 3) ((eq? x 'a) 4) ((eq? x 'b) 5) ((eq? x 'c) 6) (else #f))" 
+	     " cond: perhaps (cond ((pair? x) 3) ((eq? x 'a) 4) ((eq? x 'b) 5) ((eq? x 'c) 6) (else #f)) ->
+                 (cond ((pair? x) 3) ((assq x '((a . 4) (b . 5) (c . 6))) => cdr) (else #f))")
+  (lint-test "(cond ((pair? x) 3) ((eq? x 'a) 4) ((eq? x 'b) 5) ((eq? x 'c) 6) ((eq? x 'd) 7))" 
+	     " cond: perhaps (cond ((pair? x) 3) ((eq? x 'a) 4) ((eq? x 'b) 5) ((eq? x 'c) 6) ((eq? x 'd) 7)) ->
+                 (cond ((pair? x) 3) ((assq x '((a . 4) (b . 5) (c . 6) (d . 7))) => cdr))")
+  (lint-test "(cond ((= i n) #f) ((pred? (vector-ref v i)) #t) (else (loop (+ 1 i))))" 
+	     " cond: perhaps (cond ((= i n) #f) ((pred? (vector-ref v i)) #t) (else (loop (+ 1 i)))) ->
+                 (and (not (= i n)) (or (pred? (vector-ref v i)) (loop (+ 1 i))))")
+  (lint-test "(cond ((= i n) #f) ((pred? (vector-ref v i))) (else (loop (+ 1 i))))" 
+	     " cond: perhaps (cond ((= i n) #f) ((pred? (vector-ref v i))) (else (loop (+ 1 i)))) ->
+                 (and (not (= i n)) (or (pred? (vector-ref v i)) (loop (+ 1 i))))")
+  (lint-test "(cond ((= i n) #t) ((pred? (vector-ref v i)) (loop (+ 1 i))) (else #f))" 
+	     " cond: this #t could be omitted: ((= i n) #t)
+               cond: perhaps (cond ((= i n) #t) ((pred? (vector-ref v i)) (loop (+ 1 i))) (else #f)) ->
+                 (or (= i n) (and (pred? (vector-ref v i)) (loop (+ 1 i))))")
+  (lint-test "(cond ((= i n)) ((pred? (vector-ref v i)) (loop (+ 1 i))) (else #f))" 
+	     " cond: perhaps (cond ((= i n)) ((pred? (vector-ref v i)) (loop (+ 1 i))) (else #f)) ->
+                 (or (= i n) (and (pred? (vector-ref v i)) (loop (+ 1 i))))")
+  (lint-test "(cond (A #f) (B #t) (else C))" " cond: perhaps (cond (A #f) (B #t) (else C)) -> (and (not A) (or B C))")
+  (lint-test "(cond (A #t) (B C) (else #f))" " cond: perhaps (cond (A #t) (B C) (else #f)) -> (or A (and B C))")
+  (lint-test "(cond (A #f) (B) (else C))"    " cond: perhaps (cond (A #f) (B) (else C)) -> (and (not A) (or B C))")
+  (lint-test "(cond (A) (B C) (else #f))"    " cond: perhaps (cond (A) (B C) (else #f)) -> (or A (and B C))")
+  (lint-test "(cond ((getenv s) x) ((= y z) w))" " cond: cond test (getenv s) is never false: (cond ((getenv s) x) ((= y z) w))")
+
+  (lint-test "(cond ((and (pair? x) (pair? y) (pair? z)) 32) ((and (pair? x) (pair? y) (pair? w)) 12) ((and (pair? x) (pair? y) (pair? v)) 2))" 
+	     " cond: perhaps 
+    (cond ((and (pair? x) (pair? y) (pair? z)) 32) ((and (pair? x) (pair? y)... ->
+    (cond ((not (and (pair? x) (pair? y))) #<unspecified>)
+          ((pair? z) 32)
+          ((pair? w) 12)
+          ((pair? v) 2))")
+  (lint-test "(cond ((and (pair? x) (pair? y) (pair? z)) 32) ((and (pair? x) (pair? w)) 12) ((pair? x) 2))"
+	     " cond: perhaps 
+    (cond ((and (pair? x) (pair? y) (pair? z)) 32) ((and (pair? x) (pair? w))... ->
+    (cond ((not (pair? x)) #<unspecified>)
+          ((and (pair? y) (pair? z)) 32)
+          ((pair? w) 12)
+          (else 2))")
+  (lint-test "(cond ((pair? z) 32) ((and (pair? x) (pair? w)) 12) ((pair? x) 2))" 
+	     " cond: perhaps 
+    (cond ((pair? z) 32) ((and (pair? x) (pair? w)) 12) ((pair? x) 2)) ->
+    (cond ((pair? z) 32) ((not (pair? x)) #<unspecified>) ((pair? w) 12) (else 2))")
+  (lint-test "(cond ((pair? z) 32) ((and (pair? x) (pair? w)) 12) ((pair? x) 2) (else 0))" 
+	     " cond: perhaps 
+    (cond ((pair? z) 32) ((and (pair? x) (pair? w)) 12) ((pair? x) 2) (else 0)) ->
+    (cond ((pair? z) 32) ((not (pair? x)) 0) ((pair? w) 12) (else 2))")
+  (lint-test "(cond ((and x (pair? y)) 1) ((and x (string? y)) 2) ((and x (char? y)) 3) (else 4))" 
+	     " cond: perhaps 
+    (cond ((and x (pair? y)) 1) ((and x (string? y)) 2) ((and x (char? y)) 3)... ->
+    (cond ((not x) 4) ((pair? y) 1) ((string? y) 2) ((char? y) 3) (else 4))")
+
+  (lint-test "(cond ((= x y) 2) ((= x 2) #f) (else #t))" 
+	     " cond: perhaps (cond ((= x y) 2) ((= x 2) #f) (else #t)) -> (cond ((= x y) 2) (else (not (= x 2))))")
+  (lint-test "(cond ((= x y) 2) ((= x 2) #t) (else #f))" 
+	     " cond: this #t could be omitted: ((= x 2) #t)
+               cond: perhaps (cond ((= x y) 2) ((= x 2) #t) (else #f)) -> (cond ((= x y) 2) (else (= x 2)))")
+  (lint-test "(cond ((not x) y) (else z))" " cond: perhaps (cond ((not x) y) (else z)) -> (if x z y)")
+  (lint-test "(cond ((not x) (f z) y) (else z))" " cond: perhaps (cond ((not x) (f z) y) (else z)) -> (cond (x z) (else (f z) y))")
+  (lint-test "(cond ((not x)) (else z))" " cond: perhaps (cond ((not x)) (else z)) -> (or (not x) z)")
+  (lint-test "(cond ((not x)) (else (f y) z))" " cond: perhaps (cond ((not x)) (else (f y) z)) -> (or (not x) (begin (f y) z))")  
+
+  (lint-test "(cond ((memq x y) z) (else (f x) z))" " cond: perhaps (cond ((memq x y) z) (else (f x) z)) -> (begin (if (not (memq x y)) (f x)) z)")
+  (lint-test "(cond (x (f y) z) (else z))" " cond: perhaps (cond (x (f y) z) (else z)) -> (begin (if x (f y)) z)")
+  (lint-test "(cond ((memq x y) (display y) z) (else (f x) z))" 
+	     " cond: perhaps (cond ((memq x y) (display y) z) (else (f x) z)) -> (begin (if (memq x y) (display y) (f x)) z)")
+  (lint-test "(cond (x (f y) z) (else (g y) (h y) z))" 
+	     " cond: perhaps (cond (x (f y) z) (else (g y) (h y) z)) -> (begin (if x (f y) (begin (g y) (h y))) z)")
+  (lint-test "(cond (x (f y) (g x) z) (else (g y) (h y) z))" 
+	     " cond: perhaps (cond (x (f y) (g x) z) (else (g y) (h y) z)) -> (begin (if x (begin (f y) (g x)) (begin (g y) (h y))) z)")
+  (lint-test "(cond (x (f y) (g x) z) (else z))" " cond: perhaps (cond (x (f y) (g x) z) (else z)) -> (begin (if x (begin (f y) (g x))) z)")
+  (lint-test "(cond ((f x) (display y) z) ((h x) (f x) (display y) z) (else z))" 
+	     " cond: perhaps (cond ((f x) (display y) z) ((h x) (f x) (display y) z) (else z)) ->
+                (begin (cond ((f x) (display y)) ((h x) (f x) (display y))) z)")
+	
   (lint-test "(when (and (< x 1) y) (if z (display z)))" 
 	     " when: perhaps (when (and (< x 1) y) (if z (display z))) -> (when (and (< x 1) y z) (display z))")
   (lint-test "(when y (if z (display z)))" 
@@ -86154,6 +86413,16 @@ etc
 	     " unless: perhaps (unless (and (< x 1) y) (when z (display z) x)) -> (when (and (not (and (< x 1) y)) z) (display z) x)")
   (lint-test "(unless (and (< x 1) y) (unless z (display z) x))" 
 	     " unless: perhaps (unless (and (< x 1) y) (unless z (display z) x)) -> (unless (or (and (< x 1) y) z) (display z) x)")
+  (lint-test "(when (< x 2) (cond ((= x 0) 1) ((negative? x) 2) (else 3)))" 
+	     " when: perhaps (when (< x 2) (cond ((= x 0) 1) ((negative? x) 2) (else 3))) -> (cond ((>= x 2) #f) ((= x 0) 1) ((negative? x) 2) (else 3))")
+  (lint-test "(unless (< x 2) (cond ((= x 0) 1) ((negative? x) 2) (else 3)))" 
+	     " unless: perhaps (unless (< x 2) (cond ((= x 0) 1) ((negative? x) 2) (else 3))) -> (cond ((< x 2) #f) ((= x 0) 1) ((negative? x) 2) (else 3))")
+  (lint-test "(unless (and x (not y)) (display z))"       " unless: perhaps (unless (and x (not y)) (display z)) -> (when (or (not x) y) ...)")
+  (lint-test "(unless (and (not x) y) (display z))"       " unless: perhaps (unless (and (not x) y) (display z)) -> (when (or x (not y)) ...)")
+  (lint-test "(unless (and (not x) (not y)) (display z))" " unless: perhaps (unless (and (not x) (not y)) (display z)) -> (when (or x y) ...)")
+  (lint-test "(when (and (not x) (not y)) (display z))"   
+	     " when: perhaps (when (and (not x) (not y)) (display z)) -> (unless (or x y) ...)
+               when: perhaps (and (not x) (not y)) -> (not (or x y))")
   (lint-test "(if (and (< x 1) y) (when z (display z) x))" 
 	     " if: perhaps (if (and (< x 1) y) (when z (display z) x)) -> (when (and (< x 1) y z) (display z) x)")
   (lint-test "(if (and (< x 1) y) (unless z (display z) x))" 
@@ -86171,6 +86440,7 @@ etc
   (lint-test "(set-car! (list-tail x y) z)" " set-car!: perhaps (set-car! (list-tail x y) z) -> (list-set! x y z)")
   (lint-test "(set-car! (cdr x) y)"     " set-car!: perhaps (set-car! (cdr x) y) -> (list-set! x 1 y)")
   (lint-test "(set-car! (cddr (cdddr x)) y)" " set-car!: perhaps (set-car! (cddr (cdddr x)) y) -> (list-set! x 5 y)")
+  (lint-test "(begin (set-car! x (car y)) (set-cdr! x (cdr y)))" " begin: perhaps ...(set-car! x (car y)) (set-cdr! x (cdr y)) -> (copy y x)")
   (lint-test "(car (list-tail x y))"    " car: perhaps (car (list-tail x y)) -> (list-ref x y)")
   (lint-test "(caddr (vector->list x))" " caddr: perhaps (caddr (vector->list x)) -> (vector-ref x 2)")
   (lint-test "(and x x y)"		" and: perhaps (and x x y) -> (and x y)")
@@ -86180,6 +86450,7 @@ etc
   (lint-test "(< (- x y) 0)"            " <: perhaps (< (- x y) 0) -> (< x y)")
   (lint-test "(> (- (log x) (log y)) 0.0)" " >: perhaps (> (- (log x) (log y)) 0.0) -> (> (log x) (log y))")
   (lint-test "(< 0 (- x y))"            " <: perhaps (< 0 (- x y)) -> (> x y)")
+  (lint-test "(> x (- y 1))"            "") ; only optimizable if x and y are known to be integers
   (lint-test "(< x 1 2 y)"		"")
   (lint-test "(< x 1 y)"		"")
   (lint-test "(< x x)"                  " <: this looks odd: (< x x)")
@@ -86216,6 +86487,7 @@ etc
   (lint-test "(string-append \"\" (string-append x y) \"\")" " string-append: perhaps (string-append \"\" (string-append x y) \"\") -> (string-append x y)")
   (lint-test "(string-append \"123\" \"456\")" " string-append: perhaps (string-append \"123\" \"456\") -> \"123456\"")
   (lint-test "(string-append x (string-append y z))" " string-append: perhaps (string-append x (string-append y z)) -> (string-append x y z)")
+  (lint-test "(string-append x \"a\" \"bc\" y)" " string-append: perhaps (string-append x \"a\" \"bc\" y) -> (string-append x \"abc\" y)")
   (lint-test "(vector-append)"		" vector-append: perhaps (vector-append) -> #()")
   (lint-test "(vector-append x)"        " vector-append: perhaps (vector-append x) -> (copy x)")
   (lint-test "(vector-append #(1 2) (vector-append #(3)))" " vector-append: perhaps (vector-append #(1 2) (vector-append #(3))) -> #(1 2 3)")
@@ -86234,12 +86506,19 @@ etc
   (lint-test "(reverse (append (reverse b) res))" " reverse: perhaps (reverse (append (reverse b) res)) -> (append (reverse res) b)")
   (lint-test "(reverse (reverse! x))" " reverse: (reverse (reverse! x)) could be (copy x)")
   (lint-test "(reverse (string->list x))" " reverse: perhaps less consing: (reverse (string->list x)) -> (string->list (reverse x))")
+  (lint-test "(reverse '(1 2 3))" " reverse: perhaps (reverse '(1 2 3)) -> '(3 2 1)")
+  (lint-test "(reverse (sort! x <))" " reverse: possibly (reverse (sort! x <)) -> (sort! x >)")
+  (lint-test "(reverse (map abs (sort! x <)))" " reverse: possibly (reverse (map abs (sort! x <))) -> (map abs (sort! x >))")
 
 ;  (lint-test "(let ((v (list 1 2))) (reverse! v) v)" "")
 ;  (lint-test "(let ((v1 (list 1 2))) (set! v1 (reverse! v1)))" "")
 
   (lint-test "(vector->list (list->vector x))"   " vector->list: (vector->list (list->vector x)) could be (copy x)")
   (lint-test "(string->number (number->string x))" " string->number: (string->number (number->string x)) could be x")
+  (lint-test "(string->number \"123\" 21)"       " string->number: string->number radix should be between 2 and 16: (string->number \"123\" 21)")
+  (lint-test "(string->number (string num-char))" 
+	     " string->number: perhaps (string->number (string num-char)) -> (- (char->integer num-char) (char->integer #\\0))")
+  (lint-test "(string->number (or (f x) \"4\"))" " string->number: perhaps (string->number (or (f x) \"4\")) -> (cond ((f x) => string->number) (else 4))")
   (lint-test "(length (string->list x))"         " length: perhaps (length (string->list x)) -> (length x)")
   (lint-test "(length (vector->list x))"         " length: perhaps (length (vector->list x)) -> (length x)")
   (lint-test "(length (vector->list x 1))"       " length: perhaps (length (vector->list x 1)) -> (- (length x) 1)")
@@ -86249,7 +86528,14 @@ etc
   (lint-test "(list->vector (string->list x))"   " list->vector: perhaps (list->vector (string->list x)) -> (copy x (make-vector (length x)))")
   (lint-test "(vector->list (make-vector 3 #f))" " vector->list: perhaps (vector->list (make-vector 3 #f)) -> (make-list 3 #f)")
   (lint-test "(list->vector (make-list 3 #f))"   " list->vector: perhaps (list->vector (make-list 3 #f)) -> (make-vector 3 #f)")
-  (lint-test "(list->string (reverse x))"        " list->string: perhaps (list->string (reverse x)) -> (reverse (apply string x))")
+  (lint-test "(list->string (reverse x))"        " list->string: perhaps (list->string (reverse x)) -> (reverse (list->string x))")
+  (lint-test "(define (getservent) (getserv))"   " getservent: (define (getservent) (getserv)) could probably be (define getservent getserv)")
+  (lint-test "(< (char->integer key) 256)"       " <: perhaps (< (char->integer key) 256) -> #t")
+  (lint-test "(require \"repl.scm\")"            " require: in s7, require's arguments should be symbols: (require \"repl.scm\")")
+  (lint-test "(list-ref (cddr f) (- (length f) 3))" " list-ref: perhaps (list-ref (cddr f) (- (length f) 3)) -> (list-ref f (- (length f) 1))")
+  (lint-test "(list-ref (cdddr f) 2)"            " list-ref: perhaps (list-ref (cdddr f) 2) -> (list-ref f 5)")
+  (lint-test "(list-ref (cdr f) (- len 1))"      " list-ref: perhaps (list-ref (cdr f) (- len 1)) -> (list-ref f len)")
+
   (lint-test "(list->vector (reverse (vector->list x)))" 
 	     " list->vector: perhaps (list->vector (reverse (vector->list x))) -> (reverse x)
                list->vector: perhaps less consing: (reverse (vector->list x)) -> (vector->list (reverse x))")
@@ -86271,7 +86557,8 @@ etc
                list->vector: quote is not needed here: '()")
   (lint-test "(list->vector (list x y z))" " list->vector: perhaps (list->vector (list x y z)) -> (vector x y z)")
   (lint-test "(list->vector (append (vector->list x) (vector->list y)))" 
-	     " list->vector: perhaps (append (vector->list x) (vector->list y)) -> (vector->list (append x y))")
+	     " list->vector: perhaps (list->vector (append (vector->list x) (vector->list y))) -> (append x y)
+               list->vector: perhaps (append (vector->list x) (vector->list y)) -> (vector->list (append x y))")
   (lint-test "(list->string '(#\\a #\\b #\\c))" " list->string: perhaps (list->string '(#\\a #\\b #\\c)) -> \"abc\"")
   (lint-test "(list->string (cons x '()))" 
 	     " list->string: perhaps (list->string (cons x '())) -> (string x)
@@ -86282,6 +86569,11 @@ etc
   (lint-test "(list->string (sort! (string->list x) y))" " list->string: perhaps (list->string (sort! (string->list x) y)) -> (sort! x y)")
   (lint-test "(string->list x y y)" " string->list: leaving aside errors, (string->list x y y) is ()")
   (lint-test "(symbol->keyword (string->symbol x))" " symbol->keyword: perhaps (symbol->keyword (string->symbol x)) -> (make-keyword x)")
+  (lint-test "(vector->list (vector a b c))" " vector->list: perhaps (vector->list (vector a b c)) -> (list a b c)")
+  (lint-test "(vector->list (vector-copy v start end))" " vector->list: perhaps (vector->list (vector-copy v start end)) -> (vector->list v start end)")
+  (lint-test "(string->list (string a b c))"  " string->list: perhaps (string->list (string a b c)) -> (list a b c)")
+  (lint-test "(list->string (list a b c))" " list->string: perhaps (list->string (list a b c)) -> (string a b c)")
+  (lint-test "(list->string (make-list a b))" " list->string: perhaps (list->string (make-list a b)) -> (make-string a b)")
 
   (lint-test "(string->symbol (string-append x y z))" " string->symbol: perhaps (string->symbol (string-append x y z)) -> (symbol x y z)")
   (lint-test "(string->symbol (apply string-append x))" " string->symbol: perhaps (string->symbol (apply string-append x)) -> (apply symbol x)")
@@ -86297,8 +86589,8 @@ etc
   (lint-test "(equal? x (vector (list 1 2) (list 3 4)))"          " equal?: perhaps (vector (list 1 2) (list 3 4)) -> #((1 2) (3 4))")
   (lint-test "(equal? x (list (vector 1 2) (list 3 (list 4 5))))" " equal?: perhaps (list (vector 1 2) (list 3 (list 4 5))) -> '(#(1 2) (3 (4 5)))")
 
-  (lint-test "(car (reverse x))"                 " car: perhaps (car (reverse x)) -> (list-ref x (- (length x) 1))")
-  (lint-test "(caddr (reverse! x))"              " caddr: perhaps (caddr (reverse! x)) -> (list-ref x (- (length x) 3))")
+  (lint-test "(car (reverse x))"    " car: perhaps use 'last from srfi-1, or (car (reverse x)) -> (list-ref x (- (length x) 1))")
+  (lint-test "(caddr (reverse! x))" " caddr: perhaps (caddr (reverse! x)) -> (list-ref x (- (length x) 3))")
 
   (lint-test "(append 3)"		" append: perhaps (append 3) -> 3")
   (lint-test "(append)"			" append: perhaps (append) -> ()")
@@ -86339,6 +86631,8 @@ etc
   (lint-test "(append '(0) y)"          " append: perhaps (append '(0) y) -> (cons 0 y)")
   (lint-test "(begin (set! x (append x y)) (set! x (append x z w)))" 
 	     " begin: perhaps (set! x (append x y)) (set! x (append x z w)) -> (set! x (append x y z w))")
+  (lint-test "(append x (copy y) z)" " append: perhaps (append x (copy y) z) -> (append x y z)")
+  (lint-test "(append x (copy y))" "")
 
   (lint-test "(cons x (list y z))"      " cons: perhaps (cons x (list y z)) -> (list x y z)")
   (lint-test "(cons x (list))"          " cons: perhaps (cons x (list)) -> (list x)")
@@ -86356,6 +86650,20 @@ etc
   (lint-test "(set! x (cons a (cons b ())))" " set!: perhaps (cons a (cons b ())) -> (list a b)")
   (lint-test "(cons 'x (or y (list 'z)))" "") ; quote for list here is incorrect
 
+  (lint-test "`(, at x ,@(map (lambda (z) `(,z , at z)) y))" 
+	     " {list}: perhaps ({list} ({apply_values} x) ({apply_values} (map (lambda (z) ({list} z... -> (append x (map (lambda (z) (cons z z)) y))")
+  (lint-test "`(, at x ,@(map (lambda (z) `(, at z , at z)) y))"
+	     " {list}: perhaps ({list} ({apply_values} x) ({apply_values} (map (lambda (z) ({list}... -> (append x (map (lambda (z) (append z z)) y))
+               {list}: perhaps ({list} ({apply_values} z) ({apply_values} z)) -> (append z z)")
+  (lint-test "`(, at x ,@(map (lambda (z) `(, at z , at z , at x)) y))" 
+	     " {list}: perhaps ({list} ({apply_values} z) ({apply_values} z) ({apply_values} x)) -> (append z z x)")
+  (lint-test "(append `(,x) z)" " append: perhaps (append (list x) z) -> (cons x z) append: perhaps ({list} x) -> (list x)")
+  (lint-test "(values `(x , at y))"    " values: perhaps (values ({list} 'x ({apply_values} y))) -> (cons 'x y)")
+  (lint-test "(values `(x ,y) a)"   " values: perhaps (values ({list} 'x y) a) -> (values (list 'x y) a)")
+  (lint-test "(values `(,x , at y) z)" " values: perhaps (values ({list} x ({apply_values} y)) z) -> (values (cons x y) z)")
+  (lint-test "(values `(, at x , at y) `(,x z))"
+	     " values: perhaps (values ({list} ({apply_values} x) ({apply_values} y)) ({list} x 'z)) -> (values (append x y) (list x 'z))")
+
   (lint-test "(sort! x abs)"		" sort!: abs is a questionable sort! function")
   (lint-test "(sort! x (lambda (a b) (< a b)))" " sort!: perhaps (lambda (a b) (< a b)) -> <")
   (lint-test "(sort! x (lambda (a b) (< b a)))" " sort!: perhaps (lambda (a b) (< b a)) -> >")
@@ -86365,7 +86673,8 @@ etc
 
   (lint-test "(let () (define* (f1 a b) (+ a b)) (f1 :c 1))" 
 	     " let: perhaps (... (define* (f1 a b) (+ a b)) (f1 :c 1)) -> (... (let ((a :c) (b 1)) (+ a b)))
-               let: f1 keyword argument :c (in (f1 :c 1)) does not match any argument in (a b)")
+               let: f1 keyword argument :c (in (f1 :c 1)) does not match any argument in (a b)
+               let: in (f1 :c 1), f1's argument 1 should be a number, but :c is a keyword?")
   (lint-test "(let () (define (f2 a b) (+ a b)) (f2 1 2 3))" 
 	     " let: perhaps (... (define (f2 a b) (+ a b)) (f2 1 2 3)) -> (... (let ((a 1) (b 2)) (+ a b)))
                f2: leaving aside +'s optional args, f2 could be (define f2 +)
@@ -86394,7 +86703,10 @@ etc
                let: y not used, value: (define (y a) a)
                let: x not used, initially: 12 from define")
   (lint-test "(let* ((a 1) (b 2) (c (+ a 1))) (* c 2))" 
-	     " let*: b not used, initially: 2 from let*
+	     " let*: perhaps restrict a which is not used in the let* body 
+                 (let* ((a 1) (b 2) (c (+ a 1))) (* c 2)) -> (let* ((b 2) (c (let ((a 1)) (+ a 1)))) ...)
+               let*: perhaps split this let*: (let* ((a 1) (b 2) (c (+ a 1))) (* c 2)) -> (let ((a 1)) (let ((b 2) (c (+ a 1))) ...))
+	       let*: b not used, initially: 2 from let*
                let*: perhaps (let* ((a 1) (b 2) (c (+ a 1))) (* c 2)) -> (let* ((a 1) (b 2)) (* (+ a 1) 2))")
   (lint-test "(let () (define (f4 a . b) (+ a b)) (f4))" " let: f4 needs 1 argument: (f4)")
   (lint-test "(let ((a)) #f)" " let: let variable value is missing? (a)")
@@ -86423,11 +86735,14 @@ etc
   (lint-test "(let ((x (log y))) x)"    " let: perhaps (let ((x (log y))) x) -> (log y)")
   (lint-test "(let* ((x (log y))) x)"   " let*: let* could be let: (let* ((x (log y))) x) let*: perhaps (let* ((x (log y))) x) -> (log y)")
   (lint-test "(let* ((y 3) (x (log y))) x)" 
-	     " let*: perhaps substitute y into x: (let* ((y 3) (x (log y))) x) -> (let ((x (log 3))) ...)
+	     " let*: perhaps restrict y which is not used in the let* body (let* ((y 3) (x (log y))) x) -> (let ((x (let ((y 3)) (log y)))) ...)
+	       let*: perhaps substitute y into x: (let* ((y 3) (x (log y))) x) -> (let ((x (log 3))) ...)
                let*: perhaps (let* ((y 3) (x (log y))) x) -> (let ((y 3)) (log y))")
   (lint-test "(let ((y 3) (x (log z))) x)" " let: y not used, initially: 3 from let")
   (lint-test "(let* ((z 3) (y z) (x (log y))) x)" 
-	     " let*: perhaps substitute z into y: (let* ((z 3) (y z) (x (log y))) x) -> (let* ((y 3) (x (log y))) ...)
+	     " let*: perhaps restrict z, y which are not used in the let* body 
+                (let* ((z 3) (y z) (x (log y))) x) -> (let ((x (let ((y (let ((z 3)) z))) (log y)))) ...)
+	       let*: perhaps substitute z into y: (let* ((z 3) (y z) (x (log y))) x) -> (let* ((y 3) (x (log y))) ...)
                let*: perhaps (let* ((z 3) (y z) (x (log y))) x) -> (let* ((z 3) (y z)) (log y))")
   (lint-test "(let* ((x 1) (x (+ x 1))) x)"
 	     " let*: let* variable x is declared twice
@@ -86445,7 +86760,8 @@ etc
 	     " let*: perhaps (let* ((a 1) (b (+ a 2))) (let* ((c (+ b 3)) (d (+ c 4))) (display a) (+ a... ->
                  (let* ((a 1) (b (+ a 2)) (c (+ b 3)) (d (+ c 4))) (display a) ...)")
   (lint-test "(let* ((a 1) (b (+ a 1))) b)" 
-	     " let*: perhaps substitute a into b: (let* ((a 1) (b (+ a 1))) b) -> (let ((b (+ 1 1))) ...)
+	     " let*: perhaps restrict a which is not used in the let* body (let* ((a 1) (b (+ a 1))) b) -> (let ((b (let ((a 1)) (+ a 1)))) ...)
+	       let*: perhaps substitute a into b: (let* ((a 1) (b (+ a 1))) b) -> (let ((b (+ 1 1))) ...)
                let*: perhaps (let* ((a 1) (b (+ a 1))) b) -> (let ((a 1)) (+ a 1))")
   (lint-test "(let* ((a 1) (b (+ a 1))) (+ a b))" " let*: perhaps (let* ((a 1) (b (+ a 1))) (+ a b)) -> (let ((a 1)) (+ a (+ a 1)))")
   (lint-test "(let ((x (assoc y z))) (if x (cdr x)))"  
@@ -86461,6 +86777,30 @@ etc
   (lint-test "(let* ((x (f y))) (or (not x) (g x)))" 
 	     " let*: let* could be let: (let* ((x (f y))) (or (not x) (g x)))
                let*: perhaps (let* ((x (f y))) (or (not x) (g x))) -> (cond ((f y) => g) (else #t))")
+  (lint-test "(let* ((x (log 2)) (y (+ x 1))) (display y))" 
+	     " let*: perhaps restrict x which is not used in the let* body 
+                  (let* ((x (log 2)) (y (+ x 1))) (display y)) -> (let ((y (let ((x (log 2))) (+ x 1)))) ...)
+                let*: perhaps substitute x into y: (let* ((x (log 2)) (y (+ x 1))) (display y)) -> (let ((y (+ (log 2) 1))) ...)
+                let*: perhaps (let* ((x (log 2)) (y (+ x 1))) (display y)) -> (let ((x (log 2))) (display (+ x 1)))")
+  (lint-test "(let* ((z 1) (w (read p)) (v (read p)) (y (+ z w)) (x (< y 3))) (if x (f x)))" 
+	     " let*: perhaps restrict z, y which are not used in the let* body 
+                 (let* ((z 1) (w (read p)) (v (read p)) (y (+ z w)) (x (< y 3))) (if x (f x))) ->
+                 (let* ((w (read p)) (v (read p)) (x (let ((y (let ((z 1)) (+ z w)))) (< y 3)))) ...)
+               let*: v not used, initially: (read p) from let*
+               let*: perhaps substitute y into x: 
+                 (let* ((z 1) (w (read p)) (v (read p)) (y (+ z w)) (x (< y 3))) (if x (f x))) ->
+                 (let* ((z 1) (w (read p)) (v (read p)) (x (< (+ z w) 3))) ...)
+               let*: perhaps (let* ((z 1) (w (read p)) (v (read p)) (y (+ z w)) (x (< y 3))) (if x (f x))) ->
+                 (let* ((z 1) (w (read p)) (v (read p)) (y (+ z w))) (cond ((< y 3) => f)))")
+  (lint-test "(let* ((z 1) (w (read p)) (y (+ z w)) (x (< y 3))) (if x (f x)))" 
+	     " let*: perhaps restrict z, w, y which are not used in the let* body 
+                 (let* ((z 1) (w (read p)) (y (+ z w)) (x (< y 3))) (if x (f x))) -> 
+                 (let ((x (let ((y (let* ((w (read p)) (z 1)) (+ z w)))) (< y 3)))) ...)
+               let*: perhaps substitute w into y: 
+                 (let* ((z 1) (w (read p)) (y (+ z w)) (x (< y 3))) (if x (f x))) ->
+                 (let* ((z 1) (y (+ z (read p))) (x (< y 3))) ...)
+               let*: perhaps (let* ((z 1) (w (read p)) (y (+ z w)) (x (< y 3))) (if x (f x))) ->
+                  (let* ((z 1) (w (read p)) (y (+ z w))) (cond ((< y 3) => f)))")
   (lint-test "(let ((x (f y))) (if x (g x) x))" 
 	     " let: perhaps (let ((x (f y))) (if x (g x) x)) -> (cond ((f y) => g) (else #f))
                let: perhaps (if x (g x) x) -> (and x (g x))")
@@ -86497,13 +86837,13 @@ etc
 	     " let: pointless let: (let () (let ((a x)) (+ a 1))) -> (let ((a x)) (+ a 1))
                let: perhaps (let () (let ((a x)) (+ a 1))) -> (let ((a x)) (+ a 1))
                let: perhaps (let ((a x)) (+ a 1)) -> (+ x 1)
-               let: assuming we see all set!s, (a x) is pointless: perhaps (let ((a x)) (+ a 1)) -> (let () (+ x 1))")
+               let: assuming we see all set!s, the binding (a x) is pointless: perhaps (let ((a x)) (+ a 1)) -> (let () (+ x 1))")
   (lint-test "(let ((a x)) (let () (+ a 1)))" 
 	     " let: pointless let: (let ((a x)) (let () (+ a 1))) -> (let ((a x)) (+ a 1))
                let: perhaps (let ((a x)) (let () (+ a 1))) -> (let () (+ x 1))
                let: pointless let: (let () (+ a 1))
                let: perhaps (let () (+ a 1)) -> (+ a 1)
-               let: assuming we see all set!s, (a x) is pointless: perhaps (let ((a x)) (let () (+ a 1))) -> (let () (let () (+ x 1)))")
+               let: assuming we see all set!s, the binding (a x) is pointless: perhaps (let ((a x)) (let () (+ a 1))) -> (let () (let () (+ x 1)))")
   (lint-test "(let ((x 32)) (define x 33) x)" 
 	     " let: perhaps (... (define x 33) x) -> (... (let ((x 33)) ...))
                let: perhaps omit x and return 33
@@ -86537,10 +86877,13 @@ etc
   (lint-test "(let ((x (f y))) (if x (g x) (set! x 3)))" "") ; too complicated to deal with this
   (lint-test "(let* ((x (f y))) (if x (g x) (set! x 3)))" " let*: let* could be let: (let* ((x (f y))) (if x (g x) (set! x 3)))")
   (lint-test "(let* ((z 1) (x (< z 2))) (if x (f x)))" 
-	     " let*: perhaps substitute z into x: (let* ((z 1) (x (< z 2))) (if x (f x))) -> (let ((x (< 1 2))) ...)
+	     " let*: perhaps restrict z which is not used in the let* body (let* ((z 1) (x (< z 2))) (if x (f x))) -> (let ((x (let ((z 1)) (< z 2)))) ...)
+	       let*: perhaps substitute z into x: (let* ((z 1) (x (< z 2))) (if x (f x))) -> (let ((x (< 1 2))) ...)
                let*: perhaps (let* ((z 1) (x (< z 2))) (if x (f x))) -> (let ((z 1)) (cond ((< z 2) => f)))")
   (lint-test "(let* ((z 1) (y (+ z 2)) (x (< y 3))) (if x (f x)))" 
-	     " let*: perhaps substitute z into y: (let* ((z 1) (y (+ z 2)) (x (< y 3))) (if x (f x))) -> (let* ((y (+ 1 2)) (x (< y 3))) ...)
+	     " let*: perhaps restrict z, y which are not used in the let* body 
+                 (let* ((z 1) (y (+ z 2)) (x (< y 3))) (if x (f x))) -> (let ((x (let ((y (let ((z 1)) (+ z 2)))) (< y 3)))) ...)
+	       let*: perhaps substitute z into y: (let* ((z 1) (y (+ z 2)) (x (< y 3))) (if x (f x))) -> (let* ((y (+ 1 2)) (x (< y 3))) ...)
                let*: perhaps (let* ((z 1) (y (+ z 2)) (x (< y 3))) (if x (f x))) -> (let* ((z 1) (y (+ z 2))) (cond ((< y 3) => f)))")
   (lint-test "(let f0 ((i 1)) (if (> i 0) (f0 #() (- i 1))))" " f0: f0 has too many arguments: (f0 #() (- i 1))")
   (lint-test "(letrec ((f0 (lambda (i) (if (> i 0) (f0 #() (- i 1)))))) (f0 1))" 
@@ -86564,11 +86907,11 @@ etc
   (lint-test "(let ((x 1) (y x)) (+ x y))" 
 	     " let: x in (y x) does not appear to be defined in the calling environment
                let: perhaps (let ((x 1) (y x)) (+ x y)) -> (+ 1 x)
-               let: assuming we see all set!s, (y x) is pointless: perhaps (let ((x 1) (y x)) (+ x y)) -> (let ((x 1)) (+ x x))")
+               let: assuming we see all set!s, the binding (y x) is pointless: perhaps (let ((x 1) (y x)) (+ x y)) -> (let ((x 1)) (+ x x))")
   (lint-test "(let ((x 3)) (+ x (let ((x 1) (y x)) (+ x y))))" 
 	     " let: x in (y x) refers to the caller's x, not the let variable
                let: perhaps (let ((x 1) (y x)) (+ x y)) -> (+ 1 x)
-               let: assuming we see all set!s, (y x) is pointless: perhaps (let ((x 1) (y x)) (+ x y)) -> (let ((x 1)) (+ x x))")
+               let: assuming we see all set!s, the binding (y x) is pointless: perhaps (let ((x 1) (y x)) (+ x y)) -> (let ((x 1)) (+ x x))")
   (lint-test "(let ((x 0)) (define* (f52 (a 2)) (if (zero? a) x (f52 (- a 1)))) (display x) (if (zero? x) (+ 1 (f52 x))))" 
 	     " let: perhaps (... (define* (f52 (a 2)) (if (zero? a) x (f52 (- a 1)))) (display x) (if... ->
                (... (display x) (if (zero? x) (+ 1 (let* f52 ((a x)) (if (zero? a) x (f52 (- a 1)))))))
@@ -86592,7 +86935,9 @@ etc
      (set! x (+ x 1)) ...")
   
   (lint-test "(define (f a) (let ((x 1) (y 2) (z (vector 3))) (vector-set! z 0 (+ x 1)) (display y) (newline) (+ y (vector-ref z 0))))"
-	     " f: the scope of x could be reduced: 
+	     " f: x is only used in expression 1 (of 4), (vector-set! z 0 (+ x 1)) of
+                 (let ((x 1) (y 2) (z (vector 3))) (vector-set! z 0 (+ x 1)) (display y)...
+               f: the scope of x could be reduced: 
     (let ((x 1) (y 2) (z (vector 3))) (vector-set! z 0 (+ x 1)) (display y)... ->
     (let ((y 2)
           (z (vector 3)))
@@ -86600,9 +86945,10 @@ etc
         (vector-set! z 0 (+ x 1)))
       (display y)
       ...)")
-
   (lint-test "(define (f a) (let ((x 1) (y 2) (z (vector 3 4))) (vector-set! z 0 (+ x 1)) (display (vector-ref z x)) (set! y (+ y 1)) (newline) (+ y 1)))" 
-	     " f: the scope of x, z could be reduced: 
+	     " f: x is only used in expressions 1 and 2 (of 5), (vector-set! z 0 (+ x 1)) (display (vector-ref z x)) of
+                 (let ((x 1) (y 2) (z (vector 3 4))) (vector-set! z 0 (+ x 1)) (display...
+               f: the scope of x, z could be reduced: 
     (let ((x 1) (y 2) (z (vector 3 4))) (vector-set! z 0 (+ x 1)) (display... ->
     (let ((y 2))
       (let ((x 1)
@@ -86611,9 +86957,10 @@ etc
         (display (vector-ref z x)))
       (set! y (+ y 1))
       ...)")
-
   (lint-test "(define (f a) (let* ((x 1) (y (+ x 2)) (z (vector 3))) (vector-set! z 0 (+ x 1)) (display y) (newline) (+ y x)))"
-	     " f: the scope of z could be reduced: 
+	     " f: perhaps split this let*: (let* ((x 1) (y (+ x 2)) (z (vector 3))) (vector-set! z 0 (+ x 1))... ->
+                 (let ((x 1)) (let ((y (+ x 2)) (z (vector 3))) ...))
+	       f: the scope of z could be reduced: 
     (let* ((x 1) (y (+ x 2)) (z (vector 3))) (vector-set! z 0 (+ x 1))... ->
     (let* ((x 1)
            (y (+ x 2)))
@@ -86621,6 +86968,15 @@ etc
         (vector-set! z 0 (+ x 1)))
       (display y)
       ...)")
+  (lint-test "(define (f x) (let ((y #f)) (set! z (+ z 1)) (display z) (f z) (if z? (begin (set! y (g x)) (display y)))))" 
+	     " f: y is only used in expression 4 (of 4),
+                  (if z? (begin (set! y (g x)) (display y))) of
+                (let ((y #f)) (set! z (+ z 1)) (display z) (f z) (if z? (begin (set! y (g...")
+  (lint-test "(define (f x) (let* ((z x) (y #f)) (set! z (+ z 1)) (display z) (f z) (if z? (begin (set! y (g x)) (display y)))))" 
+	     " f: let* could be let: (let* ((z x) (y #f)) (set! z (+ z 1)) (display z) (f z) (if z? (begin...
+               f: y is only used in expression 4 (of 4),
+                  (if z? (begin (set! y (g x)) (display y))) of
+                (let* ((z x) (y #f)) (set! z (+ z 1)) (display z) (f z) (if z? (begin...")
 
   (lint-test "(eq? x '())"              " eq?: perhaps (eq? x '()) -> (null? x) eq?: quote is not needed here: '()")
   (lint-test "(equal? x '#())"          " equal?: quote is not needed here: '#()")
@@ -86674,11 +87030,15 @@ etc
 	     " eqv?: this can't be right: (eqv? \":\" (string-ref s 0))
                eqv?: eqv? should be equal? in (eqv? \":\" (string-ref s 0))")
   (lint-test "(char-ci=? x #\\return)"  " char-ci=?: char-ci=? could be char=? here: (char-ci=? x #\\return)")
+  (lint-test "(equal? (vector-copy #(a b c)) #(a b c))" " equal?: perhaps (equal? (vector-copy #(a b c)) #(a b c)) -> (equal? #(a b c) #(a b c))")
+  (lint-test "(not (equal? v (copy v)))" " not: perhaps (equal? v (copy v)) -> (equal? v v)")
 
   (lint-test "(map abs '(1 2) '(3 4))"	" map: map has too many arguments in:  (map abs '(1 2) '(3 4))")
   (lint-test "(map (lambda (a b) a) '(1 2))" " map: map has too few arguments in:  (map (lambda (a b) a) '(1 2))")
   (lint-test "(map (lambda (a) (abs a)) '(1 2 3))" " map: perhaps (lambda (a) (abs a)) -> abs")
-  (lint-test "(map abs (vector->list #(1 2)))" " map:  (vector->list #(1 2)) could be simplified to:  #(1 2) ; (map accepts non-list sequences)")
+  (lint-test "(map abs (vector->list #(1 2)))" 
+	     " map:  (vector->list #(1 2)) could be simplified to:  #(1 2) ; (map accepts non-list sequences) 
+              map: perhaps (vector->list #(1 2)) -> '(1 2)")
   (lint-test "(begin (map g123 x) x)"	" begin: map could be for-each: (for-each g123 x)")
   (lint-test "(map log x x)"            "")
   (lint-test "(map f (map g h))"        " map: perhaps (map f (map g h)) -> (map (lambda (_1_) (f (g _1_))) h)")
@@ -86707,8 +87067,12 @@ etc
                for-each: perhaps (for-each display (list a)) -> (format () \"~A\" a)")
   (lint-test "(map display (vector 'a 'b 'c))" " map: perhaps (vector 'a 'b 'c) -> #(a b c)")
   (lint-test "(map (lambda (v) #f) y)" " map: perhaps (map (lambda (v) #f) y) -> (make-list (abs (length y)) #f)")
+  (lint-test "(map abs ())" " map: this (map abs ()) has no effect (null arg)")
+  (lint-test "(map fnc '(2))" " map: perhaps (map fnc '(2)) -> (list (fnc 2))")
+  (lint-test "(for-each fnc (list x) '(2))" " for-each: perhaps (for-each fnc (list x) '(2)) -> (fnc x 2)")
 
   (lint-test "(catch #(0) (lambda () #f) (lambda a a))" " catch: catch tag #(0) is unreliable (catch uses eq? to match tags)")
+  (lint-test "(catch x (lambda () #f) (lambda a a))" "")
   (lint-test "(catch 'hi x y)" "")
 
   (lint-test "(car #(0))"		" car: in (car #(0)), car's argument should be a pair, but #(0) is a vector?")
@@ -86728,6 +87092,7 @@ etc
   (lint-test "(let ((x (vector 0 1))) (string-set! x 0 #\\a))" 
 	     " let: perhaps (let ((x (vector 0 1))) (string-set! x 0 #\\a)) -> (string-set! (vector 0 1) 0 #\\a)
 	       let: x is a vector, but string-set! in (string-set! x 0 #\\a) wants a string?")
+  (lint-test "(list-set! (cdr x) 0 y)" " list-set!: perhaps (list-set! (cdr x) 0 y) -> (list-set! x 1 y)")
 
   (lint-test "(+ . 1)"                  " +: unexpected dot:  (+ . 1)")
   (lint-test "(length (a . b))"         " length: missing quote? (a . b) in (length (a . b))")
@@ -86809,7 +87174,7 @@ etc
   (lint-test "(case x ((0) 1) ((1) 2) ((3 . 0) 4))" " case: stray dot in case case key list:  ((3 . 0) 4)")
   (lint-test "(case x ((#(0)) 2))"	
 	     " case: perhaps (case x ((#(0)) 2)) -> (if (eqv? x #(0)) 2)
-               case: case key #(0) in ((#(0)) 2) is unlikely to work (case uses eqv?)")
+               case: case key #(0) in ((#(0)) 2) is unlikely to work (case uses eqv? but it is a vector)")
   (lint-test "(case x (else 2) ((0) 1))" " case: case else clause is not the last: ((else 2) ((0) 1))")
   (lint-test "(case x ((0) 32) (else 32))" " case: perhaps (case x ((0) 32) (else 32)) -> 32")
   (lint-test "(case (string->symbol x) ((a) 1) ((2 3) 3))" " case: case key 2 in ((2 3) 3) is pointless  case: case key 3 in ((2 3) 3) is pointless")
@@ -86854,11 +87219,10 @@ etc
   (lint-test "(case x ((a) (+ y 1) z) ((b) (display x)) (else c))" 
 	     " case: this could be omitted: (+ y 1) case: perhaps use => here: ((b) (display x)) -> ((b) => display)")
   (lint-test "(begin (case x ((a) (+ y 1) z) ((b) (display x)) (else c)) (display x))" 
-	     " begin: this could be omitted: z in ((a) (+ y 1) z)
-               begin: this could be simply #f: c in (else c)
+	     " begin: this case clause can be omitted: ((a) (+ y 1) z)
+               begin: this case clause can be omitted: (else c)
                begin: this could be omitted: (+ y 1)
                begin: perhaps use => here: ((b) (display x)) -> ((b) => display)")
-
   (lint-test "(case x (else 3))" " case: perhaps (case x (else 3)) -> 3")
   (lint-test "(case x ((1) (+ x 1)) (else (+ x 3)))" 
 	     " case: perhaps (case x ((1) (+ x 1)) (else (+ x 3))) -> (+ x (if (eqv? x 1) 1 3))")
@@ -86877,6 +87241,9 @@ etc
   (lint-test "(if (not sym) (set! sym (eqv-selector p)) (equal? sym (eqv-selector p)))" "")
   (lint-test "(cond (X (f y z)) (else (set! y z)))" "")
   (lint-test "(case x ((a) (set! y z)) (else (g y z)))" " case: perhaps (case x ((a) (set! y z)) (else (g y z))) -> (if (eq? x 'a) (set! y z) (g y z))")
+  (lint-test "(case i ((x) x) ((y) y) ((z) z))" " case: perhaps (ignoring the unmatched case) (case i ((x) x) ((y) y) ((z) z)) -> (symbol->value i)")
+  (lint-test "(case (pair? x) ((#f) y) (else z))" " case: perhaps (case (pair? x) ((#f) y) (else z)) -> (if (not (pair? x)) y z)")
+  (lint-test "(case x ((#f) y) (else z))" " case: perhaps (case x ((#f) y) (else z)) -> (if (not x) y z)")
 
   (lint-test "(do ())"			" do: do is messed up:  (do ())")
   (lint-test "(do () ())"		" do: this do-loop could be replaced by (): (do () ())")
@@ -86908,7 +87275,8 @@ etc
               do: perhaps missing parens: (= i 10)
               do: strange do end-test: = in (= i 10) is a procedure")
   (lint-test "(do ((i 0 (+ i 1)) (j 0 (+ j 1))) ((= i 10)) (display i))" " do: j set, but not used: 0 from do")
-  (lint-test "(let ((x #t)) (do ((i 0 (+ i 1))) (x) (display i)))" "")
+  (lint-test "(let ((x #t)) (do ((i 0 (+ i 1))) (x) (display i)))" 
+	     " let: perhaps (let ((x #t)) (do ((i 0 (+ i 1))) (x) (display i))) -> (do ((x #t) (i 0 (+ i 1))) ...)")
   (lint-test "(do ((i 0 (display i))) ((x y) z))" "")
   (lint-test "(do ((i 0 (+ i 1))) (abs i) (display i))" " do: strange do end-test: abs in (abs i) is a procedure")
   (lint-test "(begin (do ((i 0 (+ i 1))) ((= i 10) i) (display i)) x)"
@@ -86970,6 +87338,32 @@ etc
   (lint-test "(do ((i 0 j) (j 1 i) (k 0 (+ k 1))) ((= k 4) (+ i j k)))" 
 	     " do: this do loop is unreadable; perhaps (do ((i 0 j) (j 1 i) (k 0 (+ k 1))) ((= k 4) (+ i j k))) ->
                  (let _1_ ((i 0) (j 1) (k 0)) (if (= k 4) (+ i j k) (_1_ j i (+ k 1))))")
+  (lint-test "(let ((x (log y))) (do ((i 0 (+ i 1))) ((= i 3)) (display (+ i x))) (abs y))" 
+	     " let: perhaps (let ((x (log y))) (do ((i 0 (+ i 1))) ((= i 3)) (display (+ i x))) (abs y)) ->
+                 (do ((x (log y)) (i 0 (+ i 1))) ((= i 3) (abs y)) ...)")
+  (lint-test "(let ((x (log y))) (do ((i 0 (+ i 1))) ((= i 3)) (display (+ i x))) (abs x))" 
+	     " let: perhaps (let ((x (log y))) (do ((i 0 (+ i 1))) ((= i 3)) (display (+ i x))) (abs x)) ->
+                 (do ((x (log y)) (i 0 (+ i 1))) ((= i 3) (abs x)) ...)")
+  (lint-test "(let ((x (log y))) (do ((i 0 (+ i x))) ((= i 3)) (display i)))" 
+	     " let: perhaps (let ((x (log y))) (do ((i 0 (+ i x))) ((= i 3)) (display i))) ->
+                 (do ((x (log y)) (i 0 (+ i x))) ...)")
+  (lint-test "(let ((x (log y))) (do ((i 0 (+ i 1))) ((= i 3) x) (display i)))" 
+	     " let: perhaps (let ((x (log y))) (do ((i 0 (+ i 1))) ((= i 3) x) (display i))) ->
+                 (do ((x (log y)) (i 0 (+ i 1))) ...)")
+  (lint-test "(let ((x (log y))) (do ((i 0 (+ i 1))) ((= i 3)) (display x)))" 
+	     " let: perhaps (let ((x (log y))) (do ((i 0 (+ i 1))) ((= i 3)) (display x))) ->
+                 (do ((x (log y)) (i 0 (+ i 1))) ...)")
+  (lint-test "(let ((x (log y))) (do () ((= i 3)) (display x)))" 
+	     " let: perhaps (let ((x (log y))) (do () ((= i 3)) (display x))) -> (do ((x (log y))) ...)")
+  (lint-test "(let ((x (log y)) (z (log w))) (do () ((= i 3)) (display x)) (display x) (cdr v))" 
+	     " let: z not used, initially: (log w) from let
+               let: perhaps (let ((x (log y)) (z (log w))) (do () ((= i 3)) (display x)) (display x)... ->
+                 (do ((x (log y)) (z (log w))) ((= i 3) (display x) (cdr v)) ...)")
+  (lint-test "(let ((x (log y))) (do ((x 0 (+ x 1))) ((= i 3)) (display x)))" 
+	     " let: x not used, initially: (log y) from let")
+  (lint-test "(let ((a 1)) (do ((i 0 (+ i 1)) (j 0 (+ j 1))) ((= i 3)) (display (+ a i j))) 32)" 
+	     " let: perhaps (let ((a 1)) (do ((i 0 (+ i 1)) (j 0 (+ j 1))) ((= i 3)) (display (+ a i... ->
+                 (do ((a 1) (i 0 (+ i 1)) (j 0 (+ j 1))) ((= i 3) 32) ...)")
 
   ;(lint-test "(byte-vector 3213)"	" byte-vector: byte-vector's argument should be a byte?: 3213: (byte-vector 3213)")
   (lint-test "(let ())"			" let: let is messed up:  (let ())")
@@ -86990,15 +87384,24 @@ etc
 	     " let*: perhaps (let ((c (+ a b))) (display c)) -> (display (+ a b))
                let*: perhaps (let* ((a 1) (b (+ a 1))) (let ((c (+ a b))) (display c))) -> (let* ((a 1) (b (+ a 1)) (c (+ a b))) (display c))")
   (lint-test "(let* ((a 1) (b (+ a 1))) (let* ((c (+ a b)) (d (+ c 1))) (display d)) (display a))" 
-	     " let*: perhaps substitute c into d: (let* ((c (+ a b)) (d (+ c 1))) (display d)) -> (let ((d (+ (+ a b) 1))) ...)
+	     " let*: perhaps restrict c which is not used in the let* body 
+                 (let* ((c (+ a b)) (d (+ c 1))) (display d)) -> (let ((d (let ((c (+ a b))) (+ c 1)))) ...)
+               let*: perhaps substitute c into d: (let* ((c (+ a b)) (d (+ c 1))) (display d)) -> (let ((d (+ (+ a b) 1))) ...)
                let*: perhaps (let* ((c (+ a b)) (d (+ c 1))) (display d)) -> (let ((c (+ a b))) (display (+ c 1)))")
   (lint-test "(let* ((a 1) (b (+ a 1))) (let ((c (+ a b)) (d a)) (display (+ c d))))" 
 	     " let*: perhaps (let ((c (+ a b)) (d a)) (display (+ c d))) -> (display (+ (+ a b) a))
-               let*: assuming we see all set!s, (d a) is pointless: perhaps (let ((c (+ a b)) (d a)) (display (+ c d))) -> (let ((c (+ a b))) (display (+ c a)))")
+               let*: assuming we see all set!s, the binding (d a) is pointless: perhaps (let ((c (+ a b)) (d a)) (display (+ c d))) -> 
+                 (let ((c (+ a b))) (display (+ c a)))")
   (lint-test "(let* ((x (log y 2)) (y (log y 2)) (z (f x))) (+ x y z z))" " let*: y's value (log y 2) could be x")
-  (lint-test "(let* ((x (log a 2)) (y (log y 2)) (z (log y 2))) (+ x y z z))" "")
+  (lint-test "(let* ((x (log a 2)) (y (log y 2)) (z (log y 2))) (+ x y z z))" 
+	     " let*: perhaps split this let*: (let* ((x (log a 2)) (y (log y 2)) (z (log y 2))) (+ x y z z)) ->
+                 (let ((y (log y 2))) (let ((x (log a 2)) (z (log y 2))) ...))")
   (lint-test "(let* ((a 12) (b (+ a 1)) (c 20) (d (+ c 1))) (+ b d))"
-	     " let*: perhaps substitute a into b, c into d: 
+	     " let*: perhaps restrict a, c which are not used in the let* body 
+                 (let* ((a 12) (b (+ a 1)) (c 20) (d (+ c 1))) (+ b d)) -> (let* ((b (let ((a 12)) (+ a 1))) (d (let ((c 20)) (+ c 1)))) ...)
+               let*: perhaps split this let*: (let* ((a 12) (b (+ a 1)) (c 20) (d (+ c 1))) (+ b d)) ->
+                 (let* ((a 12) (c 20)) (let ((b (+ a 1)) (d (+ c 1))) ...))
+	       let*: perhaps substitute a into b, c into d: 
                  (let* ((a 12) (b (+ a 1)) (c 20) (d (+ c 1))) (+ b d)) -> (let* ((b (+ 12 1)) (d (+ 20 1))) ...)
                let*: perhaps (let* ((a 12) (b (+ a 1)) (c 20) (d (+ c 1))) (+ b d)) -> (let* ((a 12) (b (+ a 1)) (c 20)) (+ b (+ c 1)))")
   (lint-test "(let ((a 1)) (let ((b (+ a 1))) (+ a b)))" 
@@ -87039,20 +87442,20 @@ etc
                let: y not used, value: (define (y a) a)
                let: x not used, initially: 3 from define")
   (lint-test "(let* ((x y) (a (* 2 x))) (+ (f a (+ a 1)) (* 3 x)))" 
-	     " let*: assuming we see all set!s, (x y) is pointless: perhaps (let* ((x y) (a (* 2 x))) (+ (f a (+ a 1)) (* 3 x))) ->
+	     " let*: assuming we see all set!s, the binding (x y) is pointless: perhaps (let* ((x y) (a (* 2 x))) (+ (f a (+ a 1)) (* 3 x))) ->
                  (let ((a (* 2 y))) (+ (f a (+ a 1)) (* 3 y)))")
   (lint-test "(let* ((x y) (a (* 2 (+ x y)))) (+ (f a (+ a 1)) (* 3 x)))" 
-	     " let*: assuming we see all set!s, (x y) is pointless: perhaps (let* ((x y) (a (* 2 (+ x y)))) (+ (f a (+ a 1)) (* 3 x))) ->
+	     " let*: assuming we see all set!s, the binding (x y) is pointless: perhaps (let* ((x y) (a (* 2 (+ x y)))) (+ (f a (+ a 1)) (* 3 x))) ->
                  (let ((a (* 2 (+ y y)))) (+ (f a (+ a 1)) (* 3 y)))")
   (lint-test "(let* ((x y) (a (* 2 x))) (set! x (* 3 x)) (+ (f a (+ a 1)) (* 3 x)))" "")
   (lint-test "(let* ((x y) (a (* 2 x))) (set! y (* 3 x)) (+ (f a (+ a 1)) (* 3 x)))" "")
   (lint-test "(let* ((x y) (a (* 2 x))) (cons (push! a x) (* 3 x)))" "")
   (lint-test "(let* ((x y) (a (* 2 x))) (cons (push! a y) (* 3 x)))" "")
   (lint-test "(let ((x y) (a (* 2 y))) (+ (f a (+ a 1)) (* 3 x)))" 
-	     " let: assuming we see all set!s, (x y) is pointless: perhaps (let ((x y) (a (* 2 y))) (+ (f a (+ a 1)) (* 3 x))) ->
+	     " let: assuming we see all set!s, the binding (x y) is pointless: perhaps (let ((x y) (a (* 2 y))) (+ (f a (+ a 1)) (* 3 x))) ->
                 (let ((a (* 2 y))) (+ (f a (+ a 1)) (* 3 y)))")
   (lint-test "(let ((x y) (a (* 2 y))) (+ (f a (+ a 1)) (* 3 y x)))" 
-	     " let: assuming we see all set!s, (x y) is pointless: perhaps (let ((x y) (a (* 2 y))) (+ (f a (+ a 1)) (* 3 y x))) ->
+	     " let: assuming we see all set!s, the binding (x y) is pointless: perhaps (let ((x y) (a (* 2 y))) (+ (f a (+ a 1)) (* 3 y x))) ->
                 (let ((a (* 2 y))) (+ (f a (+ a 1)) (* 3 y y)))")
   (lint-test "(let ((x y) (a (* 2 y))) (set! x (* 3 x)) (+ (f a (+ a 1)) (* 3 x)))" "")
   (lint-test "(let ((x y) (a (* 2 y))) (set! y (* 3 x)) (+ (f a (+ a 1)) (* 3 x)))" "")
@@ -87070,6 +87473,124 @@ etc
   (lint-test "(let ((z (f 3)) (old-x x)) (set! x z) (display (log x)) (set! x old-x))" 
 	     " let: perhaps use let-temporarily here (see stuff.scm): 
                  (let ((z (f 3)) (old-x x)) (set! x z) (display (log x)) (set! x old-x)) -> (let ((z (f 3))) (let-temporarily ((x z)) (display (log x))))")
+
+  (lint-test "(let* ((x (log y)) (a (+ x 1)) (a (* x 2))) (+ a 1))" 
+	     " let*: let* variable a is declared twice
+               let*: a not used, initially: (+ x 1) from let*
+               let*: perhaps 
+                 (let* ((x (log y)) (a (+ x 1)) (a (* x 2))) (+ a 1)) -> (let* ((x (log y)) (a (+ x 1))) (+ (* x 2) 1))")
+  (lint-test "(let* ((x (log y)) (a (+ x 1)) (a (* y 2))) (+ a 1))" 
+	     " let*: perhaps restrict x which is not used in the let* body 
+               (let* ((x (log y)) (a (+ x 1)) (a (* y 2))) (+ a 1)) -> (let* ((a (let ((x (log y))) (+ x 1))) (a (* y 2))) ...)
+               let*: let* variable a is declared twice
+               let*: a not used, initially: (+ x 1) from let*
+               let*: perhaps substitute x into a: 
+                 (let* ((x (log y)) (a (+ x 1)) (a (* y 2))) (+ a 1)) -> (let* ((a (+ (log y) 1)) (a (* y 2))) ...)
+               let*: perhaps 
+                  (let* ((x (log y)) (a (+ x 1)) (a (* y 2))) (+ a 1)) -> (let* ((x (log y)) (a (+ x 1))) (+ (* y 2) 1))")
+  (lint-test "(let* ((x (log y)) (a (+ y 1)) (a (* x 2))) (+ a 1))" 
+	     " let*: perhaps restrict x which is not used in the let* body 
+               (let* ((x (log y)) (a (+ y 1)) (a (* x 2))) (+ a 1)) -> (let* ((a (+ y 1)) (a (let ((x (log y))) (* x 2)))) ...)
+               let*: let* variable a is declared twice
+               let*: a not used, initially: (+ y 1) from let*
+               let*: perhaps 
+                 (let* ((x (log y)) (a (+ y 1)) (a (* x 2))) (+ a 1)) -> (let* ((x (log y)) (a (+ y 1))) (+ (* x 2) 1))")
+  (lint-test "(let* ((x (log y)) (a (+ y 1)) (b (* x a))) (+ b 1))" 
+	     " let*: perhaps restrict x, a which are not used in the let* body 
+                 (let* ((x (log y)) (a (+ y 1)) (b (* x a))) (+ b 1)) -> (let ((b (let* ((a (+ y 1)) (x (log y))) (* x a)))) ...)
+               let*: perhaps substitute a into b: 
+                 (let* ((x (log y)) (a (+ y 1)) (b (* x a))) (+ b 1)) -> (let* ((x (log y)) (b (* x (+ y 1)))) ...)
+               let*: perhaps 
+                 (let* ((x (log y)) (a (+ y 1)) (b (* x a))) (+ b 1)) -> (let* ((x (log y)) (a (+ y 1))) (+ (* x a) 1))")
+  (lint-test "(let* ((x (log y)) (a (+ x 1)) (b (* x a))) (+ b 1))" 
+	     " let*: perhaps restrict a which is not used in the let* body 
+                 (let* ((x (log y)) (a (+ x 1)) (b (* x a))) (+ b 1)) -> (let* ((x (log y)) (b (let ((a (+ x 1))) (* x a)))) ...)
+               let*: perhaps substitute a into b: 
+                 (let* ((x (log y)) (a (+ x 1)) (b (* x a))) (+ b 1)) -> (let* ((x (log y)) (b (* x (+ x 1)))) ...)
+               let*: perhaps 
+                 (let* ((x (log y)) (a (+ x 1)) (b (* x a))) (+ b 1)) -> (let* ((x (log y)) (a (+ x 1))) (+ (* x a) 1))")
+  (lint-test "(let* ((a (log x)) (b (f100 a))) (* b 2))" 
+	     " let*: perhaps restrict a which is not used in the let* body 
+                 (let* ((a (log x)) (b (f100 a))) (* b 2)) -> (let ((b (let ((a (log x))) (f100 a)))) ...)
+               let*: perhaps substitute a into b: (let* ((a (log x)) (b (f100 a))) (* b 2)) -> (let ((b (f100 (log x)))) ...)
+               let*: perhaps (let* ((a (log x)) (b (f100 a))) (* b 2)) -> (let ((a (log x))) (* (f100 a) 2))")
+  (lint-test "(let ((a (log x))) (let ((b (+ a 1))) (* b 2)))" 
+	     " let: perhaps (let ((b (+ a 1))) (* b 2)) -> (* (+ a 1) 2)
+               let: perhaps 
+                 (let ((a (log x))) (let ((b (+ a 1))) (* b 2))) -> (let* ((a (log x)) (b (+ a 1))) (* b 2))")
+  (lint-test "(let* ((a (log x)) (b (log y)) (c (+ a b))) (* c 2))" 
+	     " let*: perhaps restrict a, b which are not used in the let* body 
+                 (let* ((a (log x)) (b (log y)) (c (+ a b))) (* c 2)) -> (let ((c (let* ((b (log y)) (a (log x))) (+ a b)))) ...)
+               let*: perhaps substitute b into c: 
+                 (let* ((a (log x)) (b (log y)) (c (+ a b))) (* c 2)) -> (let* ((a (log x)) (c (+ a (log y)))) ...)
+               let*: perhaps 
+                 (let* ((a (log x)) (b (log y)) (c (+ a b))) (* c 2)) -> (let* ((a (log x)) (b (log y))) (* (+ a b) 2))")
+  (lint-test "(let* ((a (log x)) (b (read)) (c (+ a b))) (* 2 c))" 
+	     " let*: perhaps restrict a, b which are not used in the let* body 
+                 (let* ((a (log x)) (b (read)) (c (+ a b))) (* 2 c)) -> (let ((c (let* ((b (read)) (a (log x))) (+ a b)))) ...)
+               let*: perhaps substitute b into c: 
+                 (let* ((a (log x)) (b (read)) (c (+ a b))) (* 2 c)) -> (let* ((a (log x)) (c (+ a (read)))) ...)
+               let*: perhaps 
+                 (let* ((a (log x)) (b (read)) (c (+ a b))) (* 2 c)) -> (let* ((a (log x)) (b (read))) (* 2 (+ a b)))")
+  (lint-test "(let* ((a (read)) (b (read)) (c (+ a b))) (* 2 c))" 
+	     " let*: perhaps restrict b which is not used in the let* body 
+                 (let* ((a (read)) (b (read)) (c (+ a b))) (* 2 c)) -> (let* ((a (read)) (c (let ((b (read))) (+ a b)))) ...)
+               let*: perhaps substitute b into c: 
+                 (let* ((a (read)) (b (read)) (c (+ a b))) (* 2 c)) -> (let* ((a (read)) (c (+ a (read)))) ...)
+               let*: perhaps 
+                 (let* ((a (read)) (b (read)) (c (+ a b))) (* 2 c)) -> (let* ((a (read)) (b (read))) (* 2 (+ a b)))")
+  (lint-test "(let ((x (log y))) (let ((z (+ x y))) (* z 2)))" 
+	     " let: perhaps (let ((z (+ x y))) (* z 2)) -> (* (+ x y) 2)
+                let: perhaps (let ((x (log y))) (let ((z (+ x y))) (* z 2))) -> (let* ((x (log y)) (z (+ x y))) (* z 2))")
+  (lint-test "(let* ((a (read)) (b (read)) (c (* a 2))) (+ c b))" 
+	     " let*: perhaps (let* ((a (read)) (b (read)) (c (* a 2))) (+ c b)) -> (let* ((a (read)) (b (read))) (+ (* a 2) b))")
+  (lint-test "(let* ((a (read)) (b (read)) (c (* b 2)) (d (* a 2))) (+ c d))" 
+	     " let*: perhaps restrict b which is not used in the let* body 
+                 (let* ((a (read)) (b (read)) (c (* b 2)) (d (* a 2))) (+ c d)) -> (let* ((a (read)) (c (let ((b (read))) (* b 2))) (d (* a 2))) ...)
+               let*: perhaps split this let*: (let* ((a (read)) (b (read)) (c (* b 2)) (d (* a 2))) (+ c d)) ->
+                 (let* ((a (read)) (b (read))) (let ((c (* b 2)) (d (* a 2))) ...))
+               let*: perhaps substitute b into c: 
+                 (let* ((a (read)) (b (read)) (c (* b 2)) (d (* a 2))) (+ c d)) -> (let* ((a (read)) (c (* (read) 2)) (d (* a 2))) ...)
+               let*: perhaps 
+                 (let* ((a (read)) (b (read)) (c (* b 2)) (d (* a 2))) (+ c d)) -> (let* ((a (read)) (b (read)) (c (* b 2))) (+ c (* a 2)))")
+  (lint-test "(let* ((x (f a)) (y (car x)) (z (cadr x)) (w (caddr x))) (g x y z w))" 
+	     " let*: perhaps split this let*: (let* ((x (f a)) (y (car x)) (z (cadr x)) (w (caddr x))) (g x y z w)) ->
+                 (let ((x (f a))) (let ((y (car x)) (z (cadr x)) (w (caddr x))) ...))
+               let*: perhaps (let* ((x (f a)) (y (car x)) (z (cadr x)) (w (caddr x))) (g x y z w)) ->
+                 (let* ((x (f a)) (y (car x)) (z (cadr x))) (g x y z (caddr x)))")
+  (lint-test "(let* ((x (f a)) (y (car x)) (x (cadr x)) (w (caddr x))) (g x y z w))" 
+	     " let*: let* variable x is declared twice
+               let*: perhaps (let* ((x (f a)) (y (car x)) (x (cadr x)) (w (caddr x))) (g x y z w)) ->
+                 (let* ((x (f a)) (y (car x)) (x (cadr x))) (g x y z (caddr x)))")
+  (lint-test "(let* ((x (f a)) (y (display x)) (z (cadr x)) (w (caddr x))) (g x y z w))" 
+	     " let*: perhaps split this let*: (let* ((x (f a)) (y (display x)) (z (cadr x)) (w (caddr x))) (g x y z w)) ->
+                 (let* ((x (f a)) (y (display x))) (let ((z (cadr x)) (w (caddr x))) ...))
+               let*: perhaps (let* ((x (f a)) (y (display x)) (z (cadr x)) (w (caddr x))) (g x y z w)) ->
+                 (let* ((x (f a)) (y (display x)) (z (cadr x))) (g x y z (caddr x)))")
+
+  (lint-test "(let* ((a 1)) (do ((i a (+ i 1))) ((= i 3)) (display i)))" 
+	     " let*: let* could be let: (let* ((a 1)) (do ((i a (+ i 1))) ((= i 3)) (display i)))")
+  (lint-test "(let* ((z (log w)) (x (log z))) (do ((i 0 (+ x z))) ((= i 3)) (display x)))" 
+	     " let*: perhaps (let* ((z (log w)) (x (log z))) (do ((i 0 (+ x z))) ((= i 3)) (display x))) ->
+                 (let ((z (log w))) (do ((x (log z)) (i 0 (+ x z))) ...))")
+  (lint-test "(let* ((x (log z))) (do ((i 0 (+ x z))) ((= i 3)) (display x)))" 
+	     " let*: perhaps (let* ((x (log z))) (do ((i 0 (+ x z))) ((= i 3)) (display x))) -> (do ((x (log z)) (i 0 (+ x z))) ...)
+               let*: let* could be let: (let* ((x (log z))) (do ((i 0 (+ x z))) ((= i 3)) (display x)))")
+  (lint-test "(let* ((a (log b)) (z (log w)) (x (log z))) (do ((i 0 (+ x z a))) ((= i 3)) (display x)))" 
+	     " let*: perhaps (let* ((a (log b)) (z (log w)) (x (log z))) (do ((i 0 (+ x z a))) ((= i... ->
+                 (let* ((a (log b)) (z (log w))) (do ((x (log z)) (i 0 (+ x z a))) ...))
+               let*: perhaps split this let*: (let* ((a (log b)) (z (log w)) (x (log z))) (do ((i 0 (+ x z a))) ((= i... ->
+                 (let ((z (log w))) (let ((a (log b)) (x (log z))) ...))")
+  (lint-test "(let* ((z (log w)) (x (log z))) (do () ((= i 3) z) (display x)))" 
+	     " let*: perhaps (let* ((z (log w)) (x (log z))) (do () ((= i 3) z) (display x))) -> (let ((z (log w))) (do ((x (log z))) ...))")
+  (lint-test "(let* ((x (log z))) (do () ((= i 3) z) (display x)))" 
+	     " let*: perhaps (let* ((x (log z))) (do () ((= i 3) z) (display x))) -> (do ((x (log z))) ...)
+               let*: let* could be let: (let* ((x (log z))) (do () ((= i 3) z) (display x)))")
+  (lint-test "(let* ((a (log b)) (z (log w)) (x (log z))) (do () ((= i 3) (+ a z)) (display x)))"
+	     " let*: perhaps (let* ((a (log b)) (z (log w)) (x (log z))) (do () ((= i 3) (+ a z))... ->
+                 (let* ((a (log b)) (z (log w))) (do ((x (log z))) ...))
+               let*: perhaps split this let*: (let* ((a (log b)) (z (log w)) (x (log z))) (do () ((= i 3) (+ a z))... ->
+                 (let ((z (log w))) (let ((a (log b)) (x (log z))) ...))")
   
   (lint-test "(letrec () 1)"		" letrec: letrec could be let: (letrec () 1)")
   (lint-test "(letrec* ((a (lambda b (a 1)))) a)" " letrec*: letrec* could be letrec:  (letrec* ((a (lambda b (a 1)))) a)")
@@ -87093,6 +87614,7 @@ etc
   (lint-test "(if (< x 1) (begin (display 1) x) y)" "")
 
   (lint-test "(format)"			" format: format needs at least 1 argument: (format)  format: format has too few arguments: (format)")
+  (lint-test " (format \"buffer?\")"    " format: perhaps (format \"buffer?\") -> \"buffer?\"")
   (lint-test "(format (format #f str))" " format: redundant format:  (format (format #f str))")
   (lint-test "(format #f \"~H\" 1)"	" format: unrecognized format directive: H in \"~H\", (format #f \"~H\" 1)")
   (lint-test "(format #f \"~^\")"	" format: ~^ has ~^ outside ~{~}?")
@@ -87273,7 +87795,10 @@ etc
                    (format p \"~A2347~A\" (substring x y z) (substring \"abc\" 2 z))")
   (lint-test "(display x #f)"            "") ; #f is ok here = no output
   (lint-test "(read-line in-port 'concat)" 
-	     " read-line: the third argument should be boolean (#f=default, #t=include trailing newline): (read-line in-port 'concat)")
+	     "read-line: in (read-line in-port 'concat), read-line's argument 2 should be a boolean, but 'concat is a symbol?
+              read-line: the third argument should be boolean (#f=default, #t=include trailing newline): (read-line in-port 'concat)")
+  (lint-test "(begin (display (number->string x)) (display #\\space) (display (number->string y 8)))" 
+	     " begin: perhaps (... (display (number->string x)) (display #\\space) (display... -> (format () \"~A ~O\" x y)")
 
   (lint-test "(+ 1 (begin (x y) #\\a))" " +: in (+ 1 (begin (x y) #\\a)), +'s argument 2 should be a number, but #\\a is a char?")
   (lint-test "(+ 1 (cond ((x 1) 3) ((x 2) 1+i) ((x 3) '(1 2))))" 
@@ -87296,11 +87821,22 @@ etc
   (lint-test "(list-tail (list-tail x 1) 2)" " list-tail: perhaps (list-tail (list-tail x 1) 2) -> (list-tail x 3)")
   (lint-test "(list-tail (list-tail x y) z)" " list-tail: perhaps (list-tail (list-tail x y) z) -> (list-tail x (+ y z))")
 
+  (lint-test "(list (f (g x y) z (* a b)) (f (g x y) z (* a b)))" 
+	     " list: perhaps (list (f (g x y) z (* a b)) (f (g x y) z (* a b))) -> (let ((_1_ (lambda () (f (g x y) z (* a b))))) (list (_1_) (_1_)))")
+  (lint-test "(vector 12 12 12 12 12 12)" " vector: perhaps (vector 12 12 12 12 12 12) -> (make-vector 6 12)")
+  (lint-test "(vector (car x) (car x) (car x) (car x))" " vector: perhaps (vector (car x) (car x) (car x) (car x)) -> (make-vector 4 (car x))")
+  (lint-test "(vector #(1 2) #(1 2) #(1 2) #(1 2))" 
+	     " vector: perhaps (vector #(1 2) #(1 2) #(1 2) #(1 2)) -> (make-vector 4 #(1 2))
+               or wrap (copy #(1 2)) in a function and call that 4 times")
+  (lint-test "(int-vector 0 0 0 0)" " int-vector: perhaps (int-vector 0 0 0 0) -> (make-int-vector 4)")
+  (lint-test "(list (make-list 3 0) (make-list 3 0) (make-list 3 0))" 
+	     " list: perhaps (list (make-list 3 0) (make-list 3 0) (make-list 3 0)) -> (let ((_1_ (lambda () (make-list 3 0)))) (list (_1_) (_1_) (_1_)))")
   (lint-test "(unless x)"		" unless: unless is messed up:  (unless x)")
   (lint-test "(unless (abs x) #f)"	" unless: unless test is never false: (unless (abs x) #f)")
   (lint-test "(with-let x)"		" with-let: with-let is messed up:  (with-let x)")
   (lint-test "(with-let (curlet) x)"	" with-let: with-let is not needed here:  (with-let (curlet) x)")
   (lint-test "(object->string x y)"	"")
+  (lint-test "(object->string x :readable)" "")
 
   (lint-test "(or)"			" or: perhaps (or) -> #f")
   (lint-test "(or x)"			" or: perhaps (or x) -> x")
@@ -87369,6 +87905,7 @@ etc
   (lint-test "(or (<= x 1) (< x 1))"      " or: perhaps (or (<= x 1) (< x 1)) -> (<= x 1)")
   (lint-test "(or (< x 2) (> x 1))"       " or: perhaps (or (< x 2) (> x 1)) -> #t")
   (lint-test "(or (<= x 1) (<= 2 x))"     " or: perhaps (or (<= x 1) (<= 2 x)) -> (not (< 1 x 2))")
+  (lint-test "(or (< x 3) (> 2 x))"       " or: perhaps (or (< x 3) (> 2 x)) -> (< x 3)")
   (lint-test "(or (char<? x #\\1) (char>=? x #\\1))" " or: perhaps (or (char<? x #\\1) (char>=? x #\\1)) -> #t")
   (lint-test "(or (string<? x \"1\") (string<? x \"2\"))" " or: perhaps (or (string<? x \"1\") (string<? x \"2\")) -> (string<? x \"2\")")
   (lint-test "(or (integer? x) (< x 3) (> x 12))"  " or: perhaps (or (integer? x) (< x 3) (> x 12)) -> (or (integer? x) (not (<= 3 x 12)))")
@@ -87443,8 +87980,19 @@ etc
   (lint-test "(not (zero? (logand x (ash 1 z))))" " not: perhaps (not (zero? (logand x (ash 1 z)))) -> (logbit? x z)")
   (lint-test "(not (zero? (logand x 64)))" " not: perhaps (not (zero? (logand x 64))) -> (logbit? x 6)")
   (lint-test "(not x y)"		" not: not has too many arguments: (not x y)")
-  (lint-test "(not (+ x y))"            " not: perhaps (not (+ x y)) -> #f")
-  (lint-test "(not (list x y))"         " not: perhaps (not (list x y)) -> #f")
+  (lint-test "(not (+ x y))"            " not: (not (+ x y)) can't be true (+ never returns #f) not: perhaps (not (+ x y)) -> #f")
+  (lint-test "(not (list x y))"         " not: (not (list x y)) can't be true (list never returns #f) not: perhaps (not (list x y)) -> #f")
+  (lint-test "(not (if (f x) #t x))" 
+	     " not: perhaps (not (if (f x) #t x)) -> (if (f x) #f (not x))
+               not: perhaps (if (f x) #t x) -> (or (f x) x)")
+  (lint-test "(not (begin (f x) x))" " not: perhaps (not (begin (f x) x)) -> (begin (f x) (not x))")
+  (lint-test "(not (case x ((0) (f x)) ((1) (not x))))" 
+	     " not: perhaps (not (case x ((0) (f x)) ((1) (not x)))) -> (case x ((0) (not (f x))) ((1) x))
+               not: perhaps use => here: ((0) (f x)) -> ((0) => f)
+               not: in ((1) (not x)), perhaps replace (not x) with #f")
+  (lint-test "(not (cond ((f x) x) ((g x) (not x)) (else (error 'oops))))" 
+	     " not: perhaps (not (cond ((f x) x) ((g x) (not x)) (else (error 'oops)))) -> (cond ((f x) (not x)) ((g x) x) (else (error 'oops)))")
+
   (lint-test "(or (not (< x 2)) (not (> x 1)))" " or: perhaps (or (not (< x 2)) (not (> x 1))) -> (not (< 1 x 2))") ; confusing...
   (lint-test "(or (string? x) (string=? x \"\"))" " or: perhaps (or (string? x) (string=? x \"\")) -> (string? x)")
   (lint-test "(or (number? x) (= x 1.0))" " or: perhaps (or (number? x) (= x 1.0)) -> (number? x)")
@@ -87504,7 +88052,7 @@ etc
   (lint-test "(and (= x y) (= y x))"    " and: perhaps (and (= x y) (= y x)) -> (= x y)")
   (lint-test "(and (= x y) (= z x))"    " and: perhaps (and (= x y) (= z x)) -> (= z x y)")
   (lint-test "(and (>= x y) (>= z x))"	" and: perhaps (and (>= x y) (>= z x)) -> (>= z x y)")
-  (lint-test "(and (>= x y) (>= x z))"	"")
+  (lint-test "(and (>= x y) (>= x z))"	" and: perhaps (and (>= x y) (>= x z)) -> (>= x (max y z))")
   (lint-test "(and (= x y) (= x z))"	" and: perhaps (and (= x y) (= x z)) -> (= x y z)")
   (lint-test "(and (< x y) (> z y))"	" and: perhaps (and (< x y) (> z y)) -> (< x y z)")
   (lint-test "(and (< x y) (< y (let ((z 1)) (display z) z)))" " and: display returns its first argument, so this could be omitted: z")
@@ -87513,6 +88061,7 @@ etc
   (lint-test "(and (< x 1) (< x 2))"                  " and: perhaps (and (< x 1) (< x 2)) -> (< x 1)")
   (lint-test "(and (< x 1) (< 2 x))"                  " and: perhaps (and (< x 1) (< 2 x)) -> #f")
   (lint-test "(and (> x 1) (> 2 x))"                  " and: perhaps (and (> x 1) (> 2 x)) -> (> 2 x 1)")
+  (lint-test "(and (< x y) (< x z))"                  " and: perhaps (and (< x y) (< x z)) -> (< x (min y z))")
   (lint-test "(and (integer? x) (exact? x))"          " and: perhaps (and (integer? x) (exact? x)) -> (integer? x)")
   (lint-test "(and (integer? x) #t)"                  " and: perhaps (and (integer? x) #t) -> (integer? x)")
   (lint-test "(and (inexact? x) (real? x))"           " and: perhaps (and (inexact? x) (real? x)) -> (and (real? x) (inexact? x))")
@@ -87540,9 +88089,12 @@ etc
   (lint-test "(and (pair? x) (not (null? x)))"        " and: perhaps (and (pair? x) (not (null? x))) -> (pair? x)")
   (lint-test "(and (pair? x) (not (string? x)))"      " and: perhaps (and (pair? x) (not (string? x))) -> (pair? x)")
   (lint-test "(and (not (pair? x)) (symbol? x))"      " and: perhaps (and (not (pair? x)) (symbol? x)) -> (symbol? x)")
-  (lint-test "(and (symbol? x) (constant? x))"        " and: perhaps (and (symbol? x) (constant? x)) -> (constant? x)")
-  (lint-test "(or (symbol? x) (constant? x))"         " or: perhaps (or (symbol? x) (constant? x)) -> (symbol? x)")
-  (lint-test "(and (constant? x) (not (symbol? x)))"  " and: perhaps (and (constant? x) (not (symbol? x))) -> #f")
+  (lint-test "(and (symbol? x) (constant? x))"        "") ; constant? does not mean symbol? as well
+  (lint-test "(or (symbol? x) (constant? x))"         "")
+  (lint-test "(and (constant? x) (not (symbol? x)))"  "")
+  (lint-test "(and (constant? x) (symbol? x))"        "")
+  (lint-test "(and (constant? x) (number? x))"        "")
+  (lint-test "(and (number? x) (constant? x))"        "")
   (lint-test "(and (not (eof-object? x)) (char=? x #\\a))" " and: perhaps (and (not (eof-object? x)) (char=? x #\\a)) -> (eqv? x #\\a)")
   (lint-test "(and (real? x) (not (rational? x)))"    " and: perhaps (and (real? x) (not (rational? x))) -> (float? x)")
   (lint-test "(and (list? x) (not (proper-list? x)))" "")
@@ -87591,6 +88143,8 @@ etc
   (lint-test "(and (number? a) (positive? a))" " in (and (number? a) (positive? a)), perhaps change (number? a) to (real? a)")
   (lint-test "(and (number? x) (< x 1))"       " in (and (number? x) (< x 1)), perhaps change (number? x) to (real? x)")
   (lint-test "(and (number? x) (even? x))" " in (and (number? x) (even? x)), perhaps change (number? x) to (integer? x)")
+  (lint-test "(and (list? arg2) (pair? arg2) (memq (car arg2) '(x y)))"
+	     " and: perhaps (and (list? arg2) (pair? arg2) (memq (car arg2) '(x y))) -> (and (pair? arg2) (memq (car arg2) '(x y)))")
 
   (lint-test "(cond ((number? x) (< x 1)) ((number? y) (display (abs y))))" 
 	     " in (cond ((number? x) (< x 1)) ((number? y) (display (abs y)))), perhaps change (number? x) to (real? x)
@@ -87760,11 +88314,16 @@ etc
   (lint-test "(apply car x)" " apply: perhaps (apply car x) -> (car (car x))")
   (lint-test "(apply string (map char-downcase x))" 
 	     " apply: perhaps, assuming x is a list, (apply string (map char-downcase x)) -> (string-downcase (apply string x))")
+  (lint-test "(apply f `(x ,y , at z))" " apply: perhaps (apply f ({list} 'x y ({apply_values} z))) -> (apply f 'x y z)")
+  (lint-test "(apply f `(,@(list x y)))" " apply: perhaps (apply f ({list} ({apply_values} (list x y)))) -> (apply f (list x y))")
+  (lint-test "(apply f `(x (,y 1) ,z))" " apply: perhaps (apply f ({list} 'x ({list} y 1) z)) -> (f 'x (list y 1) z)")
+  (lint-test "(apply make-string tcnt initializer)" " apply: perhaps (apply make-string tcnt initializer) -> (make-string tcnt (car initializer))")
+  (lint-test "(apply string (make-list pad #\\null))" " apply: perhaps (apply string (make-list pad #\\null)) -> (make-string pad #\\null)")
 
   (lint-test "(eval '(+ 1 2))"          " eval: perhaps (eval '(+ 1 2)) -> (+ 1 2)")
   (lint-test "(eval 32)"                " eval: this eval is pointless; perhaps (eval 32) -> 32")
   (lint-test "(eval 'x)"                " eval: perhaps (eval 'x) -> x")
-  (lint-test "(eval (string->symbol \"x\"))" " eval: perhaps (eval (string->symbol \"x\")) -> x")
+  (lint-test "(eval (string->symbol \"x\"))" " eval: perhaps (eval (string->symbol \"x\")) -> x eval: perhaps (string->symbol \"x\") -> 'x")
   (lint-test "(eval 'x env)"            " eval: perhaps (eval 'x env) -> (env 'x)")
   (lint-test "(eval (read (open-input-string expr)))"    " eval: perhaps (eval (read (open-input-string expr))) -> (eval-string expr)")
   (lint-test "(eval (call-with-input-string port read))" " eval: perhaps (eval (call-with-input-string port read)) -> (eval-string port)")
@@ -87796,6 +88355,42 @@ etc
 	     "let: perhaps (let ((v (make-float-vector 3))) (float-vector-set! v 1 #\\a)) -> (float-vector-set! (make-float-vector 3) 1 #\\a)
 	      let: in (float-vector-set! v 1 #\\a), float-vector-set!'s argument 3 should be real, but #\\a is a char?")
   (lint-test "(vector-set! (vector-ref a i) j x)" " vector-set!: perhaps (vector-set! (vector-ref a i) j x) -> (set! (a i j) x)")
+  (lint-test "(vector-set! (vector-copy doc) i newval)" 
+	     " vector-set!: (vector-copy doc) is simply discarded; perhaps (vector-set! (vector-copy doc) i newval) -> newval")
+  (lint-test "(string-downcase \"SPEAK SOFTLY\")" " string-downcase: perhaps (string-downcase \"SPEAK SOFTLY\") -> \"speak softly\"")
+  (lint-test "(vector-length (copy arr))"                  " vector-length: perhaps (vector-length (copy arr)) -> (vector-length arr)")
+  (lint-test "(vector-length (copy src dest))"             " vector-length: perhaps (vector-length (copy src dest)) -> (vector-length dest)")
+  (lint-test "(vector-length (vector-copy arr start))"     " vector-length: perhaps (vector-length (vector-copy arr start)) -> (- (vector-length arr) start)")
+  (lint-test "(vector-length (vector-copy arr start end))" " vector-length: perhaps (vector-length (vector-copy arr start end)) -> (- end start)")
+  (lint-test "(odd? (- x 1))"  " odd?: perhaps (odd? (- x 1)) -> (even? x)")
+  (lint-test "(even? (+ 2 x))" " even?: perhaps (even? (+ 2 x)) -> (even? x)")
+  (lint-test "(even? (- 1 x))" " even?: perhaps (even? (- 1 x)) -> (odd? x)")
+  (lint-test "(even? (- 1 2))" " even?: perhaps (even? (- 1 2)) -> #f even?: perhaps (- 1 2) -> -1")
+  (lint-test "(format t \" \")" " format: 't in (format t \" \") should probably be #t")
+  (lint-test "(not (peek-char))" " not: (not (peek-char)) can't be true (peek-char never returns #f)")
+  (lint-test "(number->string saturation 10)" " number->string: 10 is the default radix for number->string: (number->string saturation 10)")
+  (lint-test "(<= (string-length m) 0)" " <=: string-length is never negative, so (<= (string-length m) 0) -> (= (string-length m) 0)")
+  (lint-test "(>= (vector-length m) 0)" " >=: vector-length is never negative, so (>= (vector-length m) 0) -> #t")
+  (lint-test "(<= 0 (string-length m))" " <=: string-length is never negative, so (<= 0 (string-length m)) -> #t")
+  (lint-test "(>= 0 (vector-length m))" " >=: vector-length is never negative, so (>= 0 (vector-length m)) -> (= 0 (vector-length m))")
+  (lint-test "(cdr (or (assq 'cpu annot) '(_ . 0)))" 
+	     " cdr: perhaps (cdr (or (assq 'cpu annot) '(_ . 0))) -> (cond ((assq 'cpu annot) => cdr) (else 0))")
+  (lint-test "(cdr (or (memv #\\. file) (cons #\\. file)))" 
+	     " cdr: perhaps (cdr (or (memv #\\. file) (cons #\\. file))) -> (cond ((memv #\\. file) => cdr) (else file))")
+  (lint-test "(number->string (cdr (or (assv i alist) (cons 0 0))))" 
+	     " number->string: perhaps (cdr (or (assv i alist) (cons 0 0))) -> (cond ((assv i alist) => cdr) (else 0))")
+  (lint-test "(cdr (or (assoc n oi) `(,n)))" 
+	     " cdr: perhaps (cdr (or (assoc n oi) ({list} n))) -> (cond ((assoc n oi) => cdr) (else (list)))")
+  (lint-test "(cdr (or (assoc n oi) (list n y)))" 
+	     " cdr: perhaps (cdr (or (assoc n oi) (list n y))) -> (cond ((assoc n oi) => cdr) (else (list y)))")
+  (lint-test "(cdr (or (assoc n oi) (list n y z)))" 
+	     " cdr: perhaps (cdr (or (assoc n oi) (list n y z))) -> (cond ((assoc n oi) => cdr) (else (list y z)))")
+  (lint-test "(cdr (or (find i alist) (error 'oops)))" 
+	     " cdr: perhaps (cdr (or (find i alist) (error 'oops))) -> (cond ((find i alist) => cdr) (else (error 'oops)))")
+  (lint-test "(cadr (or (find i alist) '(1 2 3)))" 
+	     " cadr: perhaps (cadr (or (find i alist) '(1 2 3))) -> (cond ((find i alist) => cadr) (else 2))")
+  (lint-test "(list->vector (reverse nts))" " list->vector: perhaps (list->vector (reverse nts)) -> (reverse (list->vector nts))")
+  (lint-test "(cadr (reverse (f x)))" " cadr: perhaps (cadr (reverse (f x))) -> (let ((_1_ (f x))) (list-ref _1_ (- (length _1_) 2)))")
 
   (lint-test "(round (char-position #\\a \"asb\"))" 
 	     " round: in (round (char-position #\\a \"asb\")), round's argument should be real, but (char-position #\\a \"asb\") might also be boolean?")
@@ -87814,7 +88409,7 @@ etc
   (lint-test "(if (real? (sin x)) 1.0)"	       "")
   (lint-test "(let ((list x)) (null? list))"  
 	     " let: perhaps (let ((list x)) (null? list)) -> (null? x)
-               let: assuming we see all set!s, (list x) is pointless: perhaps (let ((list x)) (null? list)) -> (let () (null? x))")
+               let: assuming we see all set!s, the binding (list x) is pointless: perhaps (let ((list x)) (null? list)) -> (let () (null? x))")
   (lint-test "(set! x (real? (imag-part z)))" "set!: perhaps (real? (imag-part z)) -> #t set!: (real? (imag-part z)) is always #t")
   (lint-test "(let ((x (char? (string-ref z y)))) x)" 
 	     " let: perhaps (char? (string-ref z y)) -> #t
@@ -87930,7 +88525,7 @@ etc
   (lint-test "(let () (define-macro (m1 a) a) (m1 2 3))" " let: m1 has too many arguments: (m1 2 3)")
   (lint-test "(let () (define-macro (m2 b) `(let ((a 12)) (+ a ,b))) (let ((a 1) (+ *)) (+ a (m2 a))))" 
 	     " let: possible problematic macro expansion: (m2 a) may collide with subsequently defined 'a, +
-               let: assuming we see all set!s, (+ *) is pointless: perhaps (let ((a 1) (+ *)) (+ a (m2 a))) -> (let ((a 1)) (* a (m2 a)))")
+               let: assuming we see all set!s, the binding (+ *) is pointless: perhaps (let ((a 1) (+ *)) (+ a (m2 a))) -> (let ((a 1)) (* a (m2 a)))")
   (lint-test "(let () (define-macro (m3 b) `(let ((a 12)) (+ (symbol->value ,b) a))) (let ((a 1)) (+ a (m3 'a))))" 
 	     " let: possible problematic macro expansion:  (m3 'a) could conceivably collide with subsequently defined 'a")
 
@@ -88049,6 +88644,15 @@ etc
   (lint-test "(let () (define (f7 x) (display x)) (f7 3) 4)" 
 	     " let: perhaps (... (define (f7 x) (display x)) (f7 3) 4) -> (... (let ((x 3)) (display x)) 4)
                f7: leaving aside display's optional arg, f7 could be (define f7 display)")
+  (lint-test "(let () (define (f a b) (min b a)) (f x y))" 
+	     " let: perhaps (... (define (f a b) (min b a)) (f x y)) -> (... (let ((a x) (b y)) (min b a)))
+               f: leaving aside min's optional args, f could be (define f min)")
+  (lint-test "(let () (define (f a b) (< b a)) (f x y))" 
+	     " let: perhaps (... (define (f a b) (< b a)) (f x y)) -> (... (let ((a x) (b y)) (< b a)))
+               f: leaving aside <'s optional args, f could be (define f >)")
+  (lint-test "(let () (define (f a b) (eq? b a)) (f x y))" 
+	     " let: perhaps (... (define (f a b) (eq? b a)) (f x y)) -> (... (let ((a x) (b y)) (eq? b a)))
+               f: f could be (define f eq?)")
   (lint-test "(let () (define (f7 x) (+ x 1)) (f7 (display 3)) 4)" 
 	     " let: perhaps (... (define (f7 x) (+ x 1)) (f7 (display 3)) 4) -> (... (let ((x (display 3))) (+ x 1)) 4)")
   (lint-test "(let () (define* (f7 x) (+ x 1)) (let ((y 3)) (f7 y) 4))" " let: this could be omitted:  (f7 y)")
@@ -88141,11 +88745,11 @@ etc
   (lint-test "(let () (define (f1) 32) (set! f1 4) (+ 1 f1))" "")
   (lint-test "(let () (define (f1) 32) (+ 1 f1))" " let: f1 is a procedure, but + in (+ 1 f1) wants a number?")
   (lint-test "(let () (define f10 (lambda (a) a)) (set! f10 (lambda (a b) (+ a b))) (f10 1 2))" 
-	     " let: perhaps (... (define f10 (lambda (a) a)) (set! f10 (lambda (a b) (+ a b))) (f10 1 2)) -> (... (let ((f10 (lambda (a) a))) ...))
-               let: perhaps (lambda (a b) (+ a b)) -> +")
+	     " let: perhaps (lambda (a b) (+ a b)) -> +")
   (lint-test "(begin (define (f20 x y) (+ y 1)) (f20 (+ z 1) z))" " begin: f20's parameter 1 is not used, but a value is passed: (+ z 1)")
   (lint-test "(begin (define (f21 x y) (set! x 3) (+ y 1)) (f21 (+ z 1) z))" 
-	     " begin: f21's parameter 1's value is not used, but a value is passed: (+ z 1)")
+	     " f21: perhaps (set! x 3) -> (let ((x 3)) ...)
+	       begin: f21's parameter 1's value is not used, but a value is passed: (+ z 1)")
   (lint-test "(begin (define (f22 x) (case y ((0) `(+ ,x 1)) (else #f))) (f22 2))" 
 	     " f22: perhaps (case y ((0) ({list} '+ x 1)) (else #f)) -> (and (eqv? y 0) ({list} '+ x 1))")
   (lint-test "(begin (define (f23 x) (+ y 1)) (define (f24 x) (f23 (+ x 1))) (f24 0))"
@@ -88285,6 +88889,10 @@ etc
 	     " in (or (integer? x) (not (number? y)) (< y 3)), perhaps change (not (number? y)) to (not (real? y))")
   (lint-test "(and (integer? x) (number? y) (< y 3))" 
 	     " in (and (integer? x) (number? y) (< y 3)), perhaps change (number? y) to (real? y)")
+  (lint-test "(and (string? (car c)) (string=? (car c) \" \"))" 
+	     " and: perhaps (and (string? (car c)) (string=? (car c) \" \")) -> (equal? (car c) \" \")")
+  (lint-test "(and (list? x) (equal? x '(1 2)))" " and: perhaps (and (list? x) (equal? x '(1 2))) -> (equal? x '(1 2))")
+  (lint-test "(and (char? x) (char=? x #\\a))"  " and: perhaps (and (char? x) (char=? x #\\a)) -> (eqv? x #\\a)")
   (lint-test "(if (number? x) (member x y) 0)"  " in (if (number? x) (member x y) 0), perhaps change (member x y) to (memv ...)")
   (lint-test "(if (number? x) (< x y) 0)"       " in (if (number? x) (< x y) 0), perhaps change (number? x) to (real? x)")
   (lint-test "(if (not (number? x)) 0 (< x y))" " in (if (not (number? x)) 0 (< x y)), perhaps change (not (number? x)) to (not (real? x))")
@@ -88308,6 +88916,9 @@ etc
   (lint-test "`(+ ,x 1)" "")
   (lint-test "(let ((x (list 23 1 3))) (sort! x <) x)" "")
   (lint-test "(let ((x (list 23 1 3))) (reverse! x) x)" " let: reverse! might leave x in an undefined state; perhaps (set! x (reverse! x))")
+  (lint-test "(let () (define (f x) (if (pair? x) (reverse! x))) (f (vector 1 2)))" 
+	     " let: perhaps (... (define (f x) (if (pair? x) (reverse! x))) (f (vector 1 2))) -> (... (let ((x (vector 1 2))) (if (pair? x) (reverse! x))))
+               f: if x (a function argument) is a pair, (reverse! x) is ill-advised")
 ;  (lint-test "(if (and (list? x) (car x)) 3)" "")
   (lint-test "(if (and (list? x) (not (null? x)) (car x)) 3)" "")
   (lint-test "(if x (map f x))" " in (if x (map f x)), perhaps change x to (sequence? x)")
@@ -88345,6 +88956,12 @@ etc
   (lint-test "(string=? \"#\" (string (string-ref s 0)))"
 	     " string=?: perhaps (string=? \"#\" (string (string-ref s 0))) -> (char=? #\\# (string-ref s 0))
                string=?: perhaps (string (string-ref s 0)) -> (substring s 0 1)")
+  (lint-test "(string=? \"\" (string-copy \"\"))" " string=?: perhaps (string=? \"\" (string-copy \"\")) -> (string=? \"\" \"\")")
+
+  (lint-test "(char=? #\\a (char-downcase x))" " char=?: perhaps (char=? #\\a (char-downcase x)) -> (char-ci=? #\\a x)")
+  (lint-test "(string=? x (string-downcase y))" "")
+  (lint-test "(string=? (string-downcase x) (string-downcase y))" " string=?: perhaps (string=? (string-downcase x) (string-downcase y)) -> (string-ci=? x y)")
+
   (lint-test "(for-each display (list 1 a #\\newline))" 
 	     " for-each: perhaps (for-each display (list 1 a #\\newline)) -> (format () \"~A~A~A\" 1 a #\\newline)")
   (lint-test "(for-each write-string (list a \"asdf\" (substring x 1)))" 
@@ -88403,9 +89020,12 @@ etc
   (lint-test "(let ()
                 (define (f1 x) (set! x 32) (log x 2.0))
                 (define (f2 y) (set! y 32) (log y 2.0))
-                (+ (f1 0) (f2 0)))"             
+                (+ (f1 0) (f2 0)))"      
 	     " let (line 3): perhaps embed f2: 
-                  (let () (define (f1 x) (set! x 32) (log x 2.0)) (define (f2 y) (set! y 32)... -> (... (+ (f1 0) (let ((y 0)) (set! y 32) (log y 2.0))))
+                 (let () (define (f1 x) (set! x 32) (log x 2.0)) (define (f2 y) (set! y 32)... ->
+                 (... (+ (f1 0) (let ((y 0)) (set! y 32) (log y 2.0))))
+               f1 (line 1): perhaps (set! x 32) -> (let ((x 32)) ...)
+               f2 (line 2): perhaps (set! y 32) -> (let ((y 32)) ...)
                f2 (line 2): f2 could be (define f2 f1)")
   (lint-test "(let ()
                 (define (f11 a b) (if (positive? a) (+ a b) b)) 
@@ -88493,9 +89113,7 @@ etc
                 (define (f20 a) (define f20a (lambda (b) (+ (* 2 b) a))) (f20a a))
                 (define (f21 x) (define f21a (lambda (c) (+ (* 2 c) x))) (f21a x))
                 (+ (f20 1) (f21 2)))" 
-	     " f20 (line 1): perhaps (... (define f20a (lambda (b) (+ (* 2 b) a))) (f20a a)) -> (... (let ((f20a (lambda (b) (+ (* 2 b) a)))) ...))
-               f21 (line 2): perhaps (... (define f21a (lambda (c) (+ (* 2 c) x))) (f21a x)) -> (... (let ((f21a (lambda (c) (+ (* 2 c) x)))) ...))
-               f21 (line 2): f21 could be (define f21 f20)")
+	     " f21 (line 2): f21 could be (define f21 f20)")
   (lint-test "(let ()
                 (define (f22 a) (lambda (b) (+ (* 2 b) a)))
                 (define (f23 x) (lambda (c) (+ (* 2 c) x)))
@@ -88555,7 +89173,11 @@ etc
                  (... (let ((x (list (vector 1)))) (let ((xx (car x))) (vector-set! xx 0 2) xx)) 3)")
   (lint-test "(let () (define* (f1 x (y 0)) (+ x y 1)) (+ (f1 2) (f1 2 3) (f1 3) (f1 4) (f1 5) (f1 6)))" "")
   (lint-test "(define f1 (let ((a abs)) (lambda (b) (if (> b 0) (+ (a b) b) b))))
-              (define f2 (let ((a log)) (lambda (b) (if (> b 0) (+ (a b) b) b))))" "")
+              (define f2 (let ((a log)) (lambda (b) (if (> b 0) (+ (a b) b) b))))" 
+	     " f1: assuming we see all set!s, the binding (a abs) is pointless: perhaps (let ((a abs)) (lambda (b) (if (> b 0) (+ (a b) b) b))) ->
+                 (let () (lambda (b) (if (> b 0) (+ (abs b) b) b)))
+               f2 (line 1): assuming we see all set!s, the binding (a log) is pointless: perhaps (let ((a log)) (lambda (b) (if (> b 0) (+ (a b) b) b))) ->
+                 (let () (lambda (b) (if (> b 0) (+ (log b) b) b)))")
 
   (lint-test "(define (f11 a b) (define (f12 a b) (if (positive? a) (+ a b) b)) (f12 a b))" 
 	     " define: perhaps (define (f11 a b) (define (f12 a b) (if (positive? a) (+ a b) b)) (f12 a b)) ->
@@ -88669,6 +89291,8 @@ etc
 	      let: perhaps use dilambda and generalized set! for xyz-get-zy and xyz-set-zy:
               replace (xyz-get-zy ...) with (xyz-zy ...) and (xyz-set-zy ... c) with (set! (xyz-zy ...) c)
                (define xyz-zy (dilambda (lambda (xyzzy b) (+ b (car xyzzy))) (lambda (xyzzy b c) (list (+ xyzzy c) b))))")
+  (lint-test "(begin (define x (let ((y 0)) (dilambda (lambda () y) (lambda (z) (set! y z))))) (or (> (x) 0) (= (x) 0)))" 
+	     " begin: perhaps (or (> (x) 0) (= (x) 0)) -> (>= (x) 0)")
 
   (lint-test "(let () (define (f104 x) (log x 8)) (define (f105 y) (+ y (f104 y))) (f105 (f104 3)))" 
 	     " let: perhaps change f105 to a let: (let () (define (f104 x) (log x 8)) (define (f105 y) (+ y (f104 y))) (f105... ->
@@ -88688,25 +89312,32 @@ etc
                define: in (define (f70 a b) (let ((a a) (b b)) (+ a b))) this let binding is pointless: (b b)
                f70: perhaps (let ((a a) (b b)) (+ a b)) -> (+ a b)")
   (lint-test "(let () (define f74 (lambda (b) (let loop ((c b)) (loop (+ c 1))))) (f74 2))" 
-	     " let: perhaps (... (define f74 (lambda (b) (let loop ((c b)) (loop (+ c 1))))) (f74 2)) ->
-                 (... (let ((f74 (lambda (b) (let loop ((c b)) (loop (+ c 1)))))) ...))
-               let: perhaps (define f74 (lambda (b) (let loop ((c b)) (loop (+ c 1))))) -> (define (f74 c) (f74 (+ c 1)))")
+	     " let: perhaps (define f74 (lambda (b) (let loop ((c b)) (loop (+ c 1))))) -> (define (f74 c) (f74 (+ c 1)))")
   (lint-test "(let () (define f74 (lambda (b) (let loop ((b b)) (loop (+ b 1))))) (f74 2))" 
-	     " let: perhaps (... (define f74 (lambda (b) (let loop ((b b)) (loop (+ b 1))))) (f74 2)) ->
-                 (... (let ((f74 (lambda (b) (let loop ((b b)) (loop (+ b 1)))))) ...))
-               let: perhaps (define f74 (lambda (b) (let loop ((b b)) (loop (+ b 1))))) -> (define (f74 b) (f74 (+ b 1)))")
+	     " let: perhaps (define f74 (lambda (b) (let loop ((b b)) (loop (+ b 1))))) -> (define (f74 b) (f74 (+ b 1)))")
   (lint-test "(let () (define f74 (lambda (b) (let loop ((b b) (c 0)) (loop (+ b c))))) (f74 2))" 
-	     " let: perhaps (... (define f74 (lambda (b) (let loop ((b b) (c 0)) (loop (+ b c))))) (f74 2)) -> (... (let ((f74 ...)) ...))
-               loop: loop needs 2 arguments: (loop (+ b c))
+	     " loop: loop needs 2 arguments: (loop (+ b c))
                let: a toss-up -- perhaps (define f74 (lambda (b) (let loop ((b b) (c 0)) (loop (+ b c))))) -> (define* (f74 b (c 0)) (f74 (+ b c)))")
 
   (lint-test "(let () (define (f1 x) (+ x 1)) (define (f2 a) (+ (a 1) 1)) (let ((b (f1 2))) (f2 f1) (+ b (f1 2) (f1 2) (f1 2))))" "")
   (lint-test "(let () (define (f1 x) (+ x 1)) (let ((b (f1 2))) (+ b (f1 2) (f1 2) (f1 2))))" " let: f1's 'x parameter is always 2 (4 calls)")
 
   (lint-test "(let ((s s)) (- (expt s 3) (expt s 2)))" 
-	     " let: perhaps omit this useless let: (let ((s s)) (- (expt s 3) (expt s 2))) -> (- (expt s 3) (expt s 2))")
+	     " let: perhaps omit this useless let: (let ((s s)) (- (expt s 3) (expt s 2))) -> (- (expt s 3) (expt s 2))
+               let: assuming we see all set!s, the binding (s s) is pointless: 
+                 perhaps (let ((s s)) (- (expt s 3) (expt s 2))) -> (let () (- (expt s 3) (expt s 2)))")
   (lint-test "(let ((x x)) (vector-set! x 0 1) x)" 
-	     " let: perhaps omit this useless let: (let ((x x)) (vector-set! x 0 1) x) -> (begin (vector-set! x 0 1) x)")
+	     " let: perhaps omit this useless let: (let ((x x)) (vector-set! x 0 1) x) -> (begin (vector-set! x 0 1) x)
+               let: assuming we see all set!s, the binding (x x) is pointless: 
+                 perhaps (let ((x x)) (vector-set! x 0 1) x) -> (let () (vector-set! x 0 1) x)")
+  (lint-test "(let ((abs abs)) (+ x y))" 
+	     " let: perhaps omit this useless let: (let ((abs abs)) (+ x y)) -> (+ x y)
+               let: abs not used, initially: abs from let
+               let: assuming we see all set!s, the binding (abs abs) is pointless: perhaps (let ((abs abs)) (+ x y)) -> (let () (+ x y))")
+  (lint-test "(define cx (let ((open-input-file open-input-file) (apply apply)) (lambda (file proc) (apply open-input-file file proc))))" 
+	     " cx: assuming we see all set!s, the bindings (apply apply), (open-input-file open-input-file) are pointless: perhaps 
+                (let ((open-input-file open-input-file) (apply apply)) (lambda (file proc)... ->
+                (let () (lambda (file proc) (apply open-input-file file proc)))")
 
   (lint-test "(define (f x) (define y (g x)) (h (+ y x)))" 
 	     " f: perhaps (... (define y (g x)) (h (+ y x))) -> (... (let ((y (g x))) ...))")
@@ -88717,16 +89348,14 @@ etc
 	     " f: perhaps (... (define y (g x)) (define z (h y)) (w (+ y x z))) -> (... (let* ((y (g x)) (z (h y))) ...))
                f: the scope of z could be reduced: (... (define z (h y)) (w (+ y x z))) -> (... (let ((z (h y))) (w (+ y x z))))")
   (lint-test "(define (f x) (define y (g x)) (define z (lambda (a) (if w (z (- a 1))))) (z (+ y x)))" 
-	     " f: perhaps (... (define y (g x)) (define z (lambda (a) (if w (z (- a 1))))) (z (+ y x))) ->
-                  (... (letrec ((y (g x)) (z (lambda (a) (if w (z (- a 1)))))) ...))
-               f: the scope of z could be reduced: (... (define z (lambda (a) (if w (z (- a 1))))) (z (+ y x))) ->
-                  (... (letrec ((z (lambda (a) (if w (z (- a 1)))))) (z (+ y x))))")
+	     " f: perhaps (... (define y (g x)) (define z (lambda (a) (if w (z (- a 1))))) (z (+ y x))) -> (... (let ((y (g x))) ...))
+               f: the scope of z could be reduced: 
+                 (... (define z (lambda (a) (if w (z (- a 1))))) (z (+ y x))) -> (... (letrec ((z (lambda (a) (if w (z (- a 1)))))) (z (+ y x))))")
   (lint-test "(define (f x) (define y (g x)) (define z (lambda (a) (if y (z (- a 1))))) (z (+ y x)))" 
-	     " f: perhaps (... (define y (g x)) (define z (lambda (a) (if y (z (- a 1))))) (z (+ y x))) ->
-                  (... (letrec* ((y (g x)) (z (lambda (a) (if y (z (- a 1)))))) ...))
-               f: the scope of z could be reduced: (... (define z (lambda (a) (if y (z (- a 1))))) (z (+ y x))) ->
-                  (... (letrec ((z (lambda (a) (if y (z (- a 1)))))) (z (+ y x))))")
-  
+	     " f: perhaps (... (define y (g x)) (define z (lambda (a) (if y (z (- a 1))))) (z (+ y x))) -> (... (let ((y (g x))) ...))
+               f: the scope of z could be reduced: 
+                (... (define z (lambda (a) (if y (z (- a 1))))) (z (+ y x))) -> (... (letrec ((z (lambda (a) (if y (z (- a 1)))))) (z (+ y x))))")
+
   (let-temporarily ((*report-shadowed-variables* #t))
     (lint-test "(let ((f33 33)) (define f33 4) (g f33 1))" 
 	       " let: perhaps (... (define f33 4) (g f33 1)) -> (... (let ((f33 4)) ...))
@@ -88854,6 +89483,13 @@ etc
   (lint-test "(if (= 1 (length x)) y z)"  " if: perhaps (assuming x is a list), (= 1 (length x)) -> (and (pair? x) (null? (cdr x)))")
   (lint-test "(if (null? x) () (map abs x))" " if: perhaps (if (null? x) () (map abs x)) -> (map abs x)")
 
+  (lint-test "(< (vector-length x) 1)" " <: perhaps (< (vector-length x) 1) -> (equal? x #())")
+  (lint-test "(> 1 (string-length x))" " >: perhaps (> 1 (string-length x)) -> (string=? x \"\")")
+  (lint-test "(zero? (string-length x))" " zero?: perhaps (zero? (string-length x)) -> (string=? x \"\")")
+  (lint-test " (string-length (make-string 3))" " string-length: perhaps (string-length (make-string 3)) -> 3")
+  (lint-test " (vector-length (make-vector 10))" " vector-length: perhaps (vector-length (make-vector 10)) -> 10")
+  (lint-test " (max (log x) :minlog)" " max: in (max (log x) :minlog), max's argument 2 should be real, but :minlog is a keyword?")
+
   (lint-test "(define ((foo x) y) (list x y))" 
 	     " define: strange form: (define ((foo x) y) (list x y))
                define: perhaps (define ((foo x) y) (list x y)) -> (define (foo x) (lambda (y) (list x y)))")
@@ -88866,6 +89502,7 @@ etc
   (lint-test "(equal? x abs)" " equal?: equal? could be eq? in (equal? x abs)")
   (lint-test "(equal? x begin)" " equal?: equal? could be eq? in (equal? x begin)")
   (lint-test "(equal? x lint)" "")
+  (lint-test "(string x #\\xd)" " #\\xd is #\\return")
   
 ;  (lint-test "(let ((x ())) (set! x (cons 1 x)) (if x 3 2))" " let: x is never #f, so (if x 3 2) is 3")
 ;  (lint-test "(let ((x ())) (if x 3 2))" " let: x is never #f, so (if x 3 2) is 3")
@@ -88895,6 +89532,15 @@ etc
   (lint-test "(let ((x 0)) (do ((i x (+ i 1))) ((= i 0))))" 
 	     " let: this do-loop could be replaced by (): (do ((i x (+ i 1))) ((= i 0)))
                let: perhaps (let ((x 0)) (do ((i x (+ i 1))) ((= i 0)))) -> (do ((i 0 (+ i 1))) ...)")
+
+  (lint-test "(let ((x 32)) (display x) (set! y (f x)) (g (+ x 1) y) (a y) (f y) (g y) (h y) (i y) (set! x 3) (display x) (h y x))" 
+	     " let: perhaps add a new binding for x to replace (set! x 3): 
+                 (let ((x 32)) (display x) (set! y (f x)) (g (+ x 1) y) (a y) (f y) (g y)... ->
+                 (let ... (let ((x 3)) ...))")
+  (lint-test "(let ((x 32)) (set! y (f 1)) (a y) (f y) (g y) (h y) (i y) (set! x (+ x 1)) (display x) (h y x))" 
+	     " let: perhaps move the x binding to replace (set! x (+ x 1)): 
+                 (let ((x 32)) (set! y (f 1)) (a y) (f y) (g y) (h y) (i y) (set! x (+ x... ->
+                 (let () ... (let ((x (+ 32 1))) ...))")
   
   (lint-test "(if (or (eq? x abs) (eq? x case) (eq? x null?)) 3 2)" "")
   (lint-test "(cond ((eq? x begin) 1) ((eq? x reader-cond) 2) ((eq? x lint) 3))" "")
@@ -88904,7 +89550,7 @@ etc
   
   (lint-test "(let ((x (getenv \"HOME\"))) (if x (display x)))" 
 	     " let: perhaps (let ((x (getenv \"HOME\"))) (if x (display x))) -> (cond ((getenv \"HOME\") => display))
-               let: x is never #f, so (if x (display x)) is (display x)")
+               let: x is never #f, so (if x (display x)) -> (display x)")
   (lint-test "(and-let* ((x (f y))) (abs x))" " and-let*: perhaps (and-let* ((x (f y))) (abs x)) -> (cond ((f y) => abs))")
   (lint-test "(let () (define* (f51 (a 3)) (if (zero? a) 3 (f51 (- a 1)))) (f51 -1))" 
 	     " let: perhaps (... (define* (f51 (a 3)) (if (zero? a) 3 (f51 (- a 1)))) (f51 -1)) ->
@@ -88925,6 +89571,11 @@ etc
                let: this could be omitted: (f i)
                let: perhaps (do ((i 0 (+ i 1))) ((= i 10)) (f i)) -> (do ((i 0 (+ i 1))) ((= i 10)) (abs (* 2 i)))")
 
+  (lint-test "(string->symbol (let ((s (copy vstr))) (set! (s (+ pos 1)) #\\s) s))" 
+	     " string->symbol: perhaps
+                (string->symbol (let ((s (copy vstr))) (set! (s (+ pos 1)) #\\s) s)) ->
+                (let ((s (copy vstr))) (set! (s (+ pos 1)) #\\s) (string->symbol s))")
+
   (lint-test "(apply env-channel 
                 (make-env :envelope '(0 0 1 1) 
                           :length (if (and (> (length args) 1) (number? (cadr args))) (cadr args)
@@ -88945,6 +89596,9 @@ etc
 	     " in (and x (< x 1)), perhaps change x to (real? x)
                let: x is an integer, so (and x (< x 1) x) -> (and (< x 1) x)")
   (lint-test "(let ((x 1)) (not x))" " let: perhaps (let ((x 1)) (not x)) -> (not 1) let: x is an integer, so (not x) -> #f")
+  (lint-test "(gensym 'ok)" " gensym: in (gensym 'ok), gensym's argument should be a string, but 'ok is a symbol?")
+  (lint-test "(string-ref 'ok 0)" " string-ref: in (string-ref 'ok 0), string-ref's argument 1 should be a string, but 'ok is a symbol?")
+  (lint-test "(+ 2 #X11)" " reader[0]: unknown # object: #X11 use #x11 not #X11 +: perhaps (+ 2 17) -> 19")
 
   (lint-test "(let ((l 1)) (+ l 1))" " let: perhaps (let ((l 1)) (+ l 1)) -> (+ 1 1) let: \"l\" is a really bad variable name")
   (lint-test "(let ((let 1)) (+ let 1))" " let: perhaps (let ((let 1)) (+ let 1)) -> (+ 1 1) let: let variable named let is asking for trouble")
@@ -88955,7 +89609,10 @@ etc
     (lint-test "(let ((info1 32) (info-1 31)) (+ info1 info-1))" 
 	       " let: perhaps (let ((info1 32) (info-1 31)) (+ info1 info-1)) -> (+ 32 31)
                  let: surely there's a better name for this variable than info-1
-                 let: surely there's a better name for this variable than info1"))
+                 let: surely there's a better name for this variable than info1")
+    (lint-test "(let ((compute-x 32)) (+ compute-x x))" 
+	       " let: perhaps (let ((compute-x 32)) (+ compute-x x)) -> (+ 32 x)
+                 let: surely there's a better name for this variable than compute-x"))
 
   (let-temporarily ((*report-built-in-functions-used-as-variables* #t))
     (lint-test "(let ((list 3)) (display list))" 
@@ -88975,6 +89632,8 @@ etc
     (lint-test "(let append ((x y)) (if (null? x) () (append (cdr y))))" " let: let variable named append is asking for trouble"))
 
   (lint-test "(error 'error \"ERROR SOMEWHERE UP TO HERE\")" " error: There's no need to shout: (error 'error \"ERROR SOMEWHERE UP TO HERE\")")
+  (lint-test "(display \"ERROR: oops\" port)" " display: There's no need to shout: (display \"ERROR: oops\" port)")
+
   (lint-test "(define (f75) \"a string\")" " f75: returns a string constant: \"a string\"")
   (lint-test "(define (f75) #(0 1 2 3))"   " f75: returns a vector constant: #(0 1 2 3)")
   (lint-test "(define (f75) '(0 1 2 3))"   " f75: returns a list constant: '(0 1 2 3)")
@@ -89017,6 +89676,7 @@ etc
   (lint-test "(begin (cond ((find-sound v) => close-sound)) (display x))" "") ; check for side-effect confusion
   
   (when (provided? 'snd)
+    (lint-test "(begin (cond ((find-sound \"test.snd\") => close-sound)) (display x))" "")
     (lint-test "(if (real? (oscil x)) 1.0 0.0)" " if: perhaps (if (real? (oscil x)) 1.0 0.0) -> 1.0")
     (lint-test "(if (pair? (oscil x)) 1.0 0.0)" " if: perhaps (if (pair? (oscil x)) 1.0 0.0) -> 0.0")
     (lint-test "(if (float? (oscil x)) 1.0 0.0)" " if: perhaps (if (float? (oscil x)) 1.0 0.0) -> 1.0")
@@ -89057,6 +89717,7 @@ etc
     (fmatch 'tester '(if (< y 3) (+ y 1) (+ y 2)) e))
   (define sequal? (*lint* 'structures-equal?))
   (sequal? '(if (< y 3) (+ y 1) (+ y 2)) '(if (< x 3) (+ x 1) (+ x 2)) '((y . :unset)) () ())
+  (sequal? '(and x y) '(and a b) '((x . a) (y . b)) () ()) 
 |#
 
   (define f321
diff --git a/selection.scm b/selection.scm
index 5def667..699cb8e 100644
--- a/selection.scm
+++ b/selection.scm
@@ -42,18 +42,17 @@
 			   (return (list snd chn))))
 		     (car scs)
 		     (cadr scs))))))))
-	(if (selection?)
-	    (if (= (selection-chans) 2)
-		(let* ((beg (selection-position))
-		       (len (selection-framples))
-		       (snd-chn0 (find-selection-sound ()))
+	(if (not (selection?))
+	    (error 'no-active-selection "swap-selection-channels needs a selection")
+	    (if (not (= (selection-chans) 2))
+		(error 'wrong-number-of-channels "swap-selection-channels needs a stereo selection")
+		(let* ((snd-chn0 (find-selection-sound ()))
 		       (snd-chn1 (find-selection-sound snd-chn0)))
-		  (if snd-chn1
-		      (swap-channels (car snd-chn0) (cadr snd-chn0) (car snd-chn1) (cadr snd-chn1) beg len)
-		      (error 'wrong-number-of-channels "swap-selection-channels needs two channels to swap")))
-		(error 'wrong-number-of-channels "swap-selection-channels needs a stereo selection"))
-	    (error 'no-active-selection "swap-selection-channels needs a selection"))))))
-
+		  (let ((beg (selection-position))
+			(len (selection-framples)))
+		    (if snd-chn1
+			(swap-channels (car snd-chn0) (cadr snd-chn0) (car snd-chn1) (cadr snd-chn1) beg len)
+			(error 'wrong-number-of-channels "swap-selection-channels needs two channels to swap"))))))))))
 
 
 ;;; -------- replace-with-selection
diff --git a/singer.scm b/singer.scm
index e8b9eab..0cd95f3 100644
--- a/singer.scm
+++ b/singer.scm
@@ -28,474 +28,438 @@
   ;;    Each imbedded list has the form: dur shape glot pitch glotamp noiseamps vibramt.
   ;;    See below for examples.
 
-  (let* ((setup (car data))
-	 (durs (map car data))
+  (let* ((durs (map car data))
 	 (dur (apply + durs))
 	 (begs (let ((bg beg))
 		 (cons beg
 		       (map (lambda (x)
 			      (set! bg (+ bg x)))
-			    durs))))
-	 (beg-samps (map seconds->samples begs)))
-
-    (let ((change-times (apply vector (append beg-samps (list (beg-samps (- (length beg-samps) 1))))))
-	  
-	  (shps (map cadr data))
-	  (glts (map caddr data))
-	  
-	  (pfun (let ((init (list 0.0 (* .8 (setup 3)))))
-		  (for-each (lambda (b dat)
-			      (set! init (append init (list (- b beg) (* 1.0 (dat 3))))))
-			    (cdr begs)
-			    data)
-		  init))
-	  (gfun (let ((init (list 0.0 0.0)))
-		  (for-each (lambda (b dat)
-			      (set! init (append init (list (- b beg) (* 1.0 (dat 4))))))
-			    (cdr begs)
-			    data)
-		  init))
-	  (nfun (let ((init (list 0.0 (* 1.0 (setup 5)))))
-		  (for-each (lambda (b dat)
-			      (set! init (append init (list (- b beg) (* 1.0 (dat 5))))))
-			    (cdr begs)
-			    data)
-		  init))
-	  (vfun (let ((init (list 0.0 (* 1.0 (setup 6)))))
-		  (for-each (lambda (b dat)
-			      (set! init (append init (list (- b beg) (* 1.0 (dat 6))))))
-			    (cdr begs)
-			    data)
-		  init))
-	  (noiseamps (let* ((len (length data))
-			    (v (make-float-vector len)))
-		       (do ((i 0 (+ i 1)))
-			   ((= i len))
-			 (set! (v i) (* 1.0 ((data i) 5))))
-		       v))
-	  (tractlength 9))		;length of vocal tract
-
-      (let ((frq-env (make-env pfun :duration dur))
-	    (vib-env (make-env vfun :duration dur))
-	    (vib-osc (make-oscil 6.0))
-	    (glot-env (make-env gfun :duration dur))
-	    (noise-env (make-env nfun :duration dur))
-	    (ran-vib (make-rand-interp :frequency 10 :amplitude .02))
+			    durs)))))
+    (let ((setup (car data))
+	  (beg-samps (map seconds->samples begs)))
+      
+      (let ((change-times (apply vector (append beg-samps (list (beg-samps (- (length beg-samps) 1))))))
 	    
-	    (glot-datai (make-float-vector (* 2 (length glts))))
-	    (glot-datar (make-float-vector (* 2 (length glts))))
+	    (shps (map cadr data))
+	    (glts (map caddr data))
 	    
-	    (tractlength+8 (+ tractlength 8))
-	    (tractlength+1 (+ tractlength 1))
-	    (tractlength-1 (- tractlength 1))
-	    (tractlength-2 (- tractlength 2))
-	    
-	    (noselength 6)
-	    (table-size 1000)		; size of glottis wave-table
-	    (dpole 0.998)
-	    (bg (seconds->samples beg))
-	    (tong-hump-pole 0.998)
-	    (tong-tip-pole 0.998))
-
-	(let ((shape-data (make-float-vector (* (length shps) tractlength+8)))
+	    (pfun (let ((init (list 0.0 (* .8 (setup 3)))))
+		    (for-each (lambda (b dat)
+				(set! init (append init (list (- b beg) (* 1.0 (dat 3))))))
+			      (cdr begs)
+			      data)
+		    init))
+	    (gfun (let ((init (list 0.0 0.0)))
+		    (for-each (lambda (b dat)
+				(set! init (append init (list (- b beg) (* 1.0 (dat 4))))))
+			      (cdr begs)
+			      data)
+		    init))
+	    (nfun (let ((init (list 0.0 (* 1.0 (setup 5)))))
+		    (for-each (lambda (b dat)
+				(set! init (append init (list (- b beg) (* 1.0 (dat 5))))))
+			      (cdr begs)
+			      data)
+		    init))
+	    (vfun (let ((init (list 0.0 (* 1.0 (setup 6)))))
+		    (for-each (lambda (b dat)
+				(set! init (append init (list (- b beg) (* 1.0 (dat 6))))))
+			      (cdr begs)
+			      data)
+		    init))
+	    (noiseamps (let* ((len (length data))
+			      (v (make-float-vector len)))
+			 (do ((i 0 (+ i 1)))
+			     ((= i len))
+			   (set! (v i) (* 1.0 ((data i) 5))))
+			 v))
+	    (tractlength 9))		;length of vocal tract
+	
+	(let ((frq-env (make-env pfun :duration dur))
+	      (vib-env (make-env vfun :duration dur))
+	      (vib-osc (make-oscil 6.0))
+	      (glot-env (make-env gfun :duration dur))
+	      (noise-env (make-env nfun :duration dur))
+	      (ran-vib (make-rand-interp :frequency 10 :amplitude .02))
 	      
-	      (noselength-1 (- noselength 1))
-	      (noselength-2 (- noselength 2))
-	      (nose-ring-time 1000)	; naso pharynx response decay time
-	      (table-size-over-sampling-rate (/ table-size *clm-srate*))
-	      (dgain (- 1.0 dpole))
-	      (tong-hump-gain (- 1.0 tong-hump-pole))
-	      (tong-tip-gain (- 1.0 tong-tip-pole))
+	      (glot-datai (make-float-vector (* 2 (length glts))))
+	      (glot-datar (make-float-vector (* 2 (length glts))))
 	      
-	      (last-sfd -1)
-	      (last-gfd -1)
-
-	      (glot-table (make-float-vector (+ 1 table-size)))
-	      (glot-table2 (make-float-vector (+ 1 table-size)))
-	      ;; (gn-table (make-float-vector (+ 1 table-size))) ;(gn-gain 0.0) ;(gn-out 0.0) ;(gn-del (make-float-vector 4))
-	      ;; (gn-coeffs (make-float-vector 4)) ; in Perry's C code, these were set in setGlotNoiseFilter but it was never called!
-	      (table-increment 0.0)
-	      (glot-refl-gain 0.7)
-	      (pitch 400.0)
-	      (last-lip-in 0.0)		;for lip reflection/transmission filter
-	      (last-lip-out 0.0)
-	      (last-lip-refl 0.0)
-	      (lip-refl-gain -0.45)
-	      (noise-gain 0.0)		;for vocal tract noise generator
-	      (noise-input 0.0)
-	      (noise-output 0.0)
-	      (noisef (make-fir-filter 4 :xcoeffs (make-float-vector 4)))
-	      (noisev #f)
-	      (noise-pos 0)
-	      (fnoiseamp 0.0)
-	      (inz1 0.0)
-	      (inz2 0.0)
-	      ;; nasal tract acoustic tube structure
-	      (nose-coeffs (make-float-vector noselength))
-	      (nose1 (make-float-vector noselength))
-	      (nose2 (make-float-vector noselength))
-	      (velum-pos 0.0)
-	      (nose-last-minus-refl 0.0)
-	      (nose-last-plus-refl 0.0)
-	      (nose-last-output 0.0)
-	      (nose-filt 0.0)
-	      (nose-filt1 0.0)
-	      (time-nose-closed 1000)	; this is a hack used to determine if we need to calculate the nasal acoustics
-	      ;; vocal tract acoustic tube structure
+	      (tractlength+8 (+ tractlength 8))
+	      (tractlength+1 (+ tractlength 1))
+	      (tractlength-1 (- tractlength 1))
+	      (tractlength-2 (- tractlength 2))
 	      
-	      ;; throat radiation low-pass filter
-	      (lt1 0.0)
-	      (lp (make-one-pole 0.05 (* -0.05 .9995)))
-
-	      (lip-radius   0.0)
-	      (s-glot-mix 0.0)
-	      (s-noise 0.0)
-	      (initial-noise-position 0.0)
-	      (formant-shift 1.0)
-	      (change-radii #f) 
-	      (delta 0.0) 
-	      (new-tract #t)
-	      (first-tract #t)
-	      (offset -1)
-	      (nd (floor (change-times (- (length change-times) 1))))
-	      (next-offset bg)
-
-	      (table-location 0.0)
-	      (glotsamp 0.0)
-	      (last-tract-plus 0.0)
-	      (alpha1 0.0)
-	      (alpha2 0.0)
-	      (alpha3 0.0)
-	      (noseposition 3)
-
-	      (target-radii (make-float-vector tractlength+8))
-	      (target-temp (make-float-vector tractlength+8))
-	      (radii-poles (make-float-vector tractlength+8))
-	      (radii-pole-gains (make-float-vector tractlength+8))
-	      (radii (make-float-vector tractlength+8))
+	      (noselength 6)
+	      (table-size 1000)		; size of glottis wave-table
+	      (dpole 0.998)
+	      (bg (seconds->samples beg))
+	      (tong-hump-pole 0.998)
+	      (tong-tip-pole 0.998))
+	  
+	  (let ((shape-data (make-float-vector (* (length shps) tractlength+8)))
+		
+		(noselength-1 (- noselength 1))
+		(noselength-2 (- noselength 2))
+		(nose-ring-time 1000)	; naso pharynx response decay time
+		(table-size-over-sampling-rate (/ table-size *clm-srate*))
+		(dgain (- 1.0 dpole))
+		(tong-hump-gain (- 1.0 tong-hump-pole))
+		(tong-tip-gain (- 1.0 tong-tip-pole))
+		
+		(last-sfd -1)
+		(last-gfd -1)
+		
+		(glot-table (make-float-vector (+ 1 table-size)))
+		(glot-table2 (make-float-vector (+ 1 table-size)))
+		;; (gn-table (make-float-vector (+ 1 table-size))) ;(gn-gain 0.0) ;(gn-out 0.0) ;(gn-del (make-float-vector 4))
+		;; (gn-coeffs (make-float-vector 4)) ; in Perry's C code, these were set in setGlotNoiseFilter but it was never called!
+		(table-increment 0.0)
+		(glot-refl-gain 0.7)
+		(pitch 400.0)
+		(last-lip-in 0.0)		;for lip reflection/transmission filter
+		(last-lip-out 0.0)
+		(last-lip-refl 0.0)
+		(lip-refl-gain -0.45)
+		(noise-gain 0.0)		;for vocal tract noise generator
+		(noise-input 0.0)
+		(noise-output 0.0)
+		(noisef (make-fir-filter 4 :xcoeffs (make-float-vector 4)))
+		(noisev #f)
+		(noise-pos 0)
+		(fnoiseamp 0.0)
+		(inz1 0.0)
+		(inz2 0.0)
+		;; nasal tract acoustic tube structure
+		(nose-coeffs (make-float-vector noselength))
+		(nose1 (make-float-vector noselength))
+		(nose2 (make-float-vector noselength))
+		(velum-pos 0.0)
+		(nose-last-minus-refl 0.0)
+		(nose-last-plus-refl 0.0)
+		(nose-last-output 0.0)
+		(nose-filt 0.0)
+		(nose-filt1 0.0)
+		(time-nose-closed 1000)	; this is a hack used to determine if we need to calculate the nasal acoustics
+		;; vocal tract acoustic tube structure
+		
+		;; throat radiation low-pass filter
+		(lt1 0.0)
+		(lp (make-one-pole 0.05 (* -0.05 .9995)))
+		
+		(lip-radius   0.0)
+		(s-glot-mix 1.0)
+		(s-noise 0.0)
+		(initial-noise-position 0.0)
+		(formant-shift 1.0)
+		(change-radii #f) 
+		(delta 0.0) 
+		(new-tract #t)
+		(first-tract #t)
+		(offset -1)
+		(nd (floor (change-times (- (length change-times) 1))))
+		(next-offset bg)
+		
+		(table-location 0.0)
+		(glotsamp 0.0)
+		(last-tract-plus 0.0)
+		(alpha1 0.0)
+		(alpha2 0.0)
+		(alpha3 0.0)
+		(noseposition 3)
+		
+		(target-radii (make-float-vector tractlength+8))
+		(target-temp (make-float-vector tractlength+8))
+		(radii-poles (make-float-vector tractlength+8))
+		(radii-pole-gains (make-float-vector tractlength+8))
+		(radii (make-float-vector tractlength+8))
 					; the radii array contains the vocal tract section radii
 					; (tractlength-1 of them), then glottal reflection gain
 					; then lip reflection gain, then noise position, then noise gain,
 					; then noise pole angle, then noise pole radius, 
 					; then noise pole angle2, then noise pole radius2, then velum opening radius
-	      (coeffs (make-float-vector tractlength))
-	      (dline1 (make-float-vector tractlength))
-	      (dline2 (make-float-vector tractlength)))
-
-	  (set! noisev (mus-xcoeffs noisef))
-
-	  (do ((k 0 (+ k 1))
-	       (i 0 (+ i tractlength+8)))
-	      ((= k (length shps)))
-	    (let ((shp (cdr (shps k))))
-	      (do ((j i (+ j 1))
-		   (m 0 (+ 1 m)))
-		  ((= m (length shp)))
-		(float-vector-set! shape-data j (shp m)))))
-	  
-	  (do ((k 0 (+ k 1))
-	       (i 0 (+ i 2)))
-	      ((= k (length glts)))
-	    (let ((glt (glts k)))
-	      (set! (glot-datai i) 0.0)
-	      (set! (glot-datai (+ i 1)) (car glt))
-	      (set! (glot-datar i) (cadr glt))
-	      (set! (glot-datar (+ i 1)) (caddr glt))))
-	  
-	  (set! (nose-coeffs 0) 0.0)
-	  (set! (nose-coeffs 1) -0.29)
-	  (set! (nose-coeffs 2) -0.22)
-	  (set! (nose-coeffs 3) 0.0)
-	  (set! (nose-coeffs 4) 0.24)
-	  (set! (nose-coeffs 5) 0.3571)
-	  
-	  (fill! radii 1.0) ;(do ((i 0 (+ i 1))) ((= i 8)) (set! (radii i) 1.0))
-	  (set! (radii 8) 0.7)
-	  (set! (radii 9) -0.5)
-	  (fill! target-radii 1.0) ;(do ((i 0 (+ i 1))) ((= i 8)) (set! (target-radii i) 1.0))
-	  (set! (target-radii 8) 0.7)
-	  (set! (target-radii 9) -0.5)
-	  
-	  (fill! radii-poles dpole) ;(do ((i 0 (+ i 1))) ((= i tractlength+8)) (set! (radii-poles i) dpole))
-	  (set! (radii-poles 2) tong-hump-pole)
-	  (set! (radii-poles 3) tong-hump-pole)
-	  (set! (radii-poles 4) tong-hump-pole)
-	  (set! (radii-poles 5) tong-tip-pole)
-	  
-	  (fill! radii-pole-gains dgain) ;(do ((i 0 (+ i 1))) ((= i tractlength+8)) (set! (radii-pole-gains i) dgain))
-	  (set! (radii-pole-gains 2) tong-hump-gain)
-	  (set! (radii-pole-gains 3) tong-hump-gain)
-	  (set! (radii-pole-gains 4) tong-hump-gain)
-	  (set! (radii-pole-gains 5) tong-tip-gain)
-
-	  ;; ---------------- make glot ----------------
-	  (let ((harms (floor (glot-datai 1)))
-		(temp1 0.0)
-		(temp 0.0)
-		(sines (make-float-vector 200))
-		(cosines (make-float-vector 200))
-		(one-over-two-pi  0.159154943)
-		(two-pi-over-table-size (/ two-pi table-size))
-		(a (glot-datar 0))
-		(b (glot-datar 1)))
-	    (let ((a2 (* two-pi a))
-		  (b2 (* two-pi b))
-		  (b-a (- b a)))
-	      (let ((sa2 (sin a2))
-		    (ca2 (cos a2)))
-		(fill! sines 0.0)
-		(fill! cosines 0.0)
-		(if (not (= b a))
-		    (begin
-		      (set! temp (/ one-over-two-pi b-a))
-		      (set! temp1 (- 1.0 ca2))
-		      (set! (sines 1) (* (+ ca2 (* (- sa2 (sin b2)) temp)) temp1 one-over-two-pi))
-		      (set! (cosines 1) (* (- (* (- ca2 (cos b2)) temp) sa2) temp1 one-over-two-pi))))
-		(set! (sines 1) (+ (sines 1) (* (- (+ 0.75 (* (cos (* 2 a2)) 0.25)) ca2) one-over-two-pi)))
-		(set! (cosines 1) (- (+ (cosines 1) (* (- sa2 (* (sin (* 2 a2)) 0.25)) one-over-two-pi)) (* a 0.5)))
-		(do ((k 2 (+ k 1))
-		     (ka2 (* 2 a2) (+ ka2 a2))
-		     (ka1 a2 (+ ka1 a2))
-		     (ka3 (* 3 a2) (+ ka3 a2)))
-		    ((> k harms))
+		(coeffs (make-float-vector tractlength))
+		(dline1 (make-float-vector tractlength))
+		(dline2 (make-float-vector tractlength)))
+	    
+	    (set! noisev (mus-xcoeffs noisef))
+	    
+	    (do ((k 0 (+ k 1))
+		 (i 0 (+ i tractlength+8)))
+		((= k (length shps)))
+	      (let ((shp (cdr (shps k))))
+		(do ((j i (+ j 1))
+		     (m 0 (+ 1 m)))
+		    ((= m (length shp)))
+		  (float-vector-set! shape-data j (shp m)))))
+	    
+	    (do ((k 0 (+ k 1))
+		 (i 0 (+ i 2)))
+		((= k (length glts)))
+	      (let ((glt (glts k)))
+		(set! (glot-datai i) 0.0)
+		(set! (glot-datai (+ i 1)) (car glt))
+		(set! (glot-datar i) (cadr glt))
+		(set! (glot-datar (+ i 1)) (caddr glt))))
+	    
+	    (set! (nose-coeffs 0) 0.0)
+	    (set! (nose-coeffs 1) -0.29)
+	    (set! (nose-coeffs 2) -0.22)
+	    (set! (nose-coeffs 3) 0.0)
+	    (set! (nose-coeffs 4) 0.24)
+	    (set! (nose-coeffs 5) 0.3571)
+	    
+	    (fill! radii 1.0) ;(do ((i 0 (+ i 1))) ((= i 8)) (set! (radii i) 1.0))
+	    (set! (radii 8) 0.7)
+	    (set! (radii 9) -0.5)
+	    (fill! target-radii 1.0) ;(do ((i 0 (+ i 1))) ((= i 8)) (set! (target-radii i) 1.0))
+	    (set! (target-radii 8) 0.7)
+	    (set! (target-radii 9) -0.5)
+	    
+	    (fill! radii-poles dpole) ;(do ((i 0 (+ i 1))) ((= i tractlength+8)) (set! (radii-poles i) dpole))
+	    (set! (radii-poles 2) tong-hump-pole)
+	    (set! (radii-poles 3) tong-hump-pole)
+	    (set! (radii-poles 4) tong-hump-pole)
+	    (set! (radii-poles 5) tong-tip-pole)
+	    
+	    (fill! radii-pole-gains dgain) ;(do ((i 0 (+ i 1))) ((= i tractlength+8)) (set! (radii-pole-gains i) dgain))
+	    (set! (radii-pole-gains 2) tong-hump-gain)
+	    (set! (radii-pole-gains 3) tong-hump-gain)
+	    (set! (radii-pole-gains 4) tong-hump-gain)
+	    (set! (radii-pole-gains 5) tong-tip-gain)
+	    
+	    ;; ---------------- make glot ----------------
+	    (let ((harms (floor (glot-datai 1)))
+		  (temp1 0.0)
+		  (temp 0.0)
+		  (sines (make-float-vector 200))
+		  (cosines (make-float-vector 200))
+		  (one-over-two-pi  0.159154943)
+		  (two-pi-over-table-size (/ two-pi table-size))
+		  (a (glot-datar 0))
+		  (b (glot-datar 1)))
+	      (let ((a2 (* two-pi a))
+		    (b2 (* two-pi b))
+		    (b-a (- b a)))
+		(let ((sa2 (sin a2))
+		      (ca2 (cos a2)))
+		  (fill! sines 0.0)
+		  (fill! cosines 0.0)
 		  (if (not (= b a))
 		      (begin
-			(set! temp (/ one-over-two-pi (* b-a k)))
-			(set! (sines k) (* (+ (cos ka2) (* (- (sin ka2) (sin (* k b2))) temp)) (/ temp1 k)))
-			(set! (cosines k) (* (- (* (- (cos ka2) (cos (* k b2))) temp) (sin ka2)) (/ temp1 k)))))
-		  (set! (sines k) (+ (sines k) 
-				     (/ (- 1.0 (cos ka2)) k)
-				     (/ (* (- (cos ka1) 1.0) 0.5) (- k 1))
-				     (/ (* (- (cos ka3) 1.0) 0.5) (+ k 1))))
-		  (set! (sines k) (* (sines k) one-over-two-pi))
-		  (set! (cosines k) (- (+ (cosines k) (/ (sin ka2) k)) (/ (* (sin ka1) 0.5) (- k 1)) (/ (* (sin ka3) 0.5) (+ k 1))))
-		  (set! (cosines k) (* (cosines k) one-over-two-pi)))
-		(fill! glot-table 0.0)
-		(do ((j 0 (+ j 1))
-		     (x 0.0 (+ x two-pi-over-table-size)))
-		    ((> j table-size))
-		  (do ((k 1 (+ k 1))
-		       (kx x (+ kx x)))
+			(set! temp (/ one-over-two-pi b-a))
+			(set! temp1 (- 1.0 ca2))
+			(set! (sines 1) (* (+ ca2 (* (- sa2 (sin b2)) temp)) temp1 one-over-two-pi))
+			(set! (cosines 1) (* (- (* (- ca2 (cos b2)) temp) sa2) temp1 one-over-two-pi))))
+		  (set! (sines 1) (+ (sines 1) (* (- (+ 0.75 (* (cos (* 2 a2)) 0.25)) ca2) one-over-two-pi)))
+		  (set! (cosines 1) (- (+ (cosines 1) (* (- sa2 (* (sin (* 2 a2)) 0.25)) one-over-two-pi)) (* a 0.5)))
+		  (do ((k 2 (+ k 1))
+		       (ka2 (* 2 a2) (+ ka2 a2))
+		       (ka1 a2 (+ ka1 a2))
+		       (ka3 (* 3 a2) (+ ka3 a2)))
 		      ((> k harms))
-		    (float-vector-set! glot-table j (+ (float-vector-ref glot-table j) 
-					    (* (float-vector-ref cosines k) (cos kx))
-					    (* (float-vector-ref sines k) (sin kx)))))))))
-	  (set! s-glot-mix 1.0)
-	  (copy glot-table glot-table2)
-	  ;; ---------------- end make glot ----------------
-
-	  
-	  (do ((i bg (+ i 1)))
-	      ((= i nd))
-	    (if (= i next-offset)
-		(begin
-		  ;; time to check for new tract shapes, glottal pulse shapes etc.
-		  (set! offset (+ offset 1))
-		  (set! fnoiseamp (noiseamps offset))
-		  (if (= last-sfd -1)
-		      (set! last-sfd 0)
-		      (let ((new-sfd (+ last-sfd 8 tractlength)))
-			(do ((j last-sfd (+ j 1))
-			     (k new-sfd (+ k 1)))
-			    ((= j new-sfd))
-			  (if (> (abs (- (shape-data j) (shape-data k))) .001)
-			      (set! new-tract #t)))
-			(set! last-sfd new-sfd)))
-		  (set! last-gfd (if (= last-gfd -1) 0 (+ last-gfd 2)))
-		  (set! next-offset (floor (change-times (+ offset 1))))
-		  (set! delta (/ 1.0 (- next-offset i)))))
+		    (if (not (= b a))
+			(begin
+			  (set! temp (/ one-over-two-pi (* b-a k)))
+			  (set! (sines k) (* (+ (cos ka2) (* (- (sin ka2) (sin (* k b2))) temp)) (/ temp1 k)))
+			  (set! (cosines k) (* (- (* (- (cos ka2) (cos (* k b2))) temp) (sin ka2)) (/ temp1 k)))))
+		    (set! (sines k) (+ (sines k) 
+				       (/ (- 1.0 (cos ka2)) k)
+				       (/ (* (- (cos ka1) 1.0) 0.5) (- k 1))
+				       (/ (* (- (cos ka3) 1.0) 0.5) (+ k 1))))
+		    (set! (sines k) (* (sines k) one-over-two-pi))
+		    (set! (cosines k) (- (+ (cosines k) (/ (sin ka2) k)) (/ (* (sin ka1) 0.5) (- k 1)) (/ (* (sin ka3) 0.5) (+ k 1))))
+		    (set! (cosines k) (* (cosines k) one-over-two-pi)))
+		  (fill! glot-table 0.0)
+		  (do ((j 0 (+ j 1))
+		       (x 0.0 (+ x two-pi-over-table-size)))
+		      ((> j table-size))
+		    (do ((k 1 (+ k 1))
+			 (kx x (+ kx x)))
+			((> k harms))
+		      (float-vector-set! glot-table j (+ (float-vector-ref glot-table j) 
+							 (* (float-vector-ref cosines k) (cos kx))
+							 (* (float-vector-ref sines k) (sin kx)))))))))
+	    (copy glot-table glot-table2)
+	    ;; ---------------- end make glot ----------------
 	    
-	    (if new-tract
-		(begin
-		  (copy shape-data target-radii last-sfd)
-
-		  (if first-tract
-		      (copy target-radii radii))
-		  (set! change-radii #f)
-		  (set! initial-noise-position (radii tractlength+1))
-		  (do ((j 0 (+ j 1)))
-		      ((or (= j tractlength+8)
-			   change-radii))
-		    (if (> (abs (- (target-radii j) (radii j))) 0.001)
-			(set! change-radii #t)))))
 	    
-	    (when (or first-tract change-radii)
-	      (if (not new-tract)
+	    (do ((i bg (+ i 1)))
+		((= i nd))
+	      (if (= i next-offset)
 		  (begin
-		    (float-vector-multiply! radii radii-poles)
-		    (copy target-radii target-temp)
-		    (float-vector-multiply! target-temp radii-pole-gains)
-		    (float-vector-add! radii target-temp)
-		    ;; (do ((j 0 (+ j 1))) ((= j tractlength+8))
-		    ;;   (float-vector-set! radii j (+ (* (float-vector-ref radii j) (float-vector-ref radii-poles j))
-		    ;; 		                   (* (float-vector-ref target-radii j) (float-vector-ref radii-pole-gains j)))))
-		    ))
-	      ;; set tract shape
-	      (do ((tj 1.0)
-		   (tk 0.0)
-		   (k 0 (+ k 1))
-		   (j 1 (+ j 1)))
-		  ((= j tractlength))
-		(set! tk tj)
-		(set! tj (if (zero? (float-vector-ref radii j))
-			     1e-10
-			     (* (float-vector-ref radii k) (float-vector-ref radii k))))
-		(float-vector-set! coeffs j (/ (- tk tj) (+ tk tj))))
+		    ;; time to check for new tract shapes, glottal pulse shapes etc.
+		    (set! offset (+ offset 1))
+		    (set! fnoiseamp (noiseamps offset))
+		    (if (= last-sfd -1)
+			(set! last-sfd 0)
+			(let ((new-sfd (+ last-sfd 8 tractlength)))
+			  (do ((j last-sfd (+ j 1))
+			       (k new-sfd (+ k 1)))
+			      ((= j new-sfd))
+			    (if (> (abs (- (shape-data j) (shape-data k))) .001)
+				(set! new-tract #t)))
+			  (set! last-sfd new-sfd)))
+		    (set! last-gfd (if (= last-gfd -1) 0 (+ last-gfd 2)))
+		    (set! next-offset (floor (change-times (+ offset 1))))
+		    (set! delta (/ 1.0 (- next-offset i)))))
 	      
-	      (set! glot-refl-gain (radii tractlength-1))
-	      (set! lip-refl-gain (radii tractlength))
-	      (set! noise-pos (floor (radii tractlength+1)))
-	      (set! noise-gain (radii (+ tractlength 2)))
+	      (if new-tract
+		  (begin
+		    (copy shape-data target-radii last-sfd)
+		    
+		    (if first-tract
+			(copy target-radii radii))
+		    (set! change-radii #f)
+		    (set! initial-noise-position (radii tractlength+1))
+		    (do ((j 0 (+ j 1)))
+			((or (= j tractlength+8)
+			     change-radii))
+		      (if (> (abs (- (target-radii j) (radii j))) 0.001)
+			  (set! change-radii #t)))))
 	      
-	      (let ((temp1 (radii (+ tractlength 3)))
-		    (r (radii (+ tractlength 4)))
-		    (t2 (radii (+ tractlength 5)))
-		    (r2 (radii (+ tractlength 6))))
-		(let ((noise-angle (hz->radians temp1))     ; fricative noise generator (set noise angle and radius)
-		      (noise-angle2 (hz->radians t2)))
-		  (let ((noise-a (* -2.0 (cos (/ noise-angle formant-shift)) r))
-			(noise-b (* r r))
-			(noise-a2 (* -2.0 (cos (/ noise-angle2 formant-shift)) r2))
-			(noise-b2 (* r2 r2)))
-		    (set! (noisev 0) (+ noise-a noise-a2))
-		    (set! (noisev 1) (+ noise-b noise-b2 (* noise-a noise-a2)))
-		    (set! (noisev 2) (+ (* noise-a2 noise-b) (* noise-b2 noise-a)))
-		    (set! (noisev 3) (* noise-b2 noise-b)))))
-
-	      (set! lip-radius (radii tractlength-2))
-	      (set! velum-pos (radii (+ tractlength 7)))
-	      (let ((leftradius (radii (- noseposition 2)))
-		    (rightradius (radii (- noseposition 1))))
+	      (when (or first-tract change-radii)
+		(if (not new-tract)
+		    (begin
+		      (float-vector-multiply! radii radii-poles)
+		      (copy target-radii target-temp)
+		      (float-vector-multiply! target-temp radii-pole-gains)
+		      (float-vector-add! radii target-temp)
+		      ;; (do ((j 0 (+ j 1))) ((= j tractlength+8))
+		      ;;   (float-vector-set! radii j (+ (* (float-vector-ref radii j) (float-vector-ref radii-poles j))
+		      ;; 		                   (* (float-vector-ref target-radii j) (float-vector-ref radii-pole-gains j)))))
+		      ))
+		;; set tract shape
+		(do ((tj 1.0)
+		     (tk 0.0)
+		     (k 0 (+ k 1))
+		     (j 1 (+ j 1)))
+		    ((= j tractlength))
+		  (set! tk tj)
+		  (set! tj (if (zero? (float-vector-ref radii j))
+			       1e-10
+			       (* (float-vector-ref radii k) (float-vector-ref radii k))))
+		  (float-vector-set! coeffs j (/ (- tk tj) (+ tk tj))))
+		
+		(set! glot-refl-gain (radii tractlength-1))
+		(set! lip-refl-gain (radii tractlength))
+		(set! noise-pos (floor (radii tractlength+1)))
+		(set! noise-gain (radii (+ tractlength 2)))
+		
+		(let ((temp1 (radii (+ tractlength 3)))
+		      (r (radii (+ tractlength 4)))
+		      (t2 (radii (+ tractlength 5)))
+		      (r2 (radii (+ tractlength 6))))
+		  (let ((noise-angle (hz->radians temp1))     ; fricative noise generator (set noise angle and radius)
+			(noise-angle2 (hz->radians t2)))
+		    (let ((noise-a (* -2.0 (cos (/ noise-angle formant-shift)) r))
+			  (noise-b (* r r))
+			  (noise-a2 (* -2.0 (cos (/ noise-angle2 formant-shift)) r2))
+			  (noise-b2 (* r2 r2)))
+		      (set! (noisev 0) (+ noise-a noise-a2))
+		      (set! (noisev 1) (+ noise-b noise-b2 (* noise-a noise-a2)))
+		      (set! (noisev 2) (+ (* noise-a2 noise-b) (* noise-b2 noise-a)))
+		      (set! (noisev 3) (* noise-b2 noise-b)))))
+		
+		(set! lip-radius (radii tractlength-2))
+		(set! velum-pos (radii (+ tractlength 7)))
+		(let ((leftradius (radii (- noseposition 2)))
+		      (rightradius (radii (- noseposition 1))))
 		  (let ((temp (max (- rightradius velum-pos) 0.0)))
 		    ;; nasal tract (set nasal shape)
 		    (set! alpha1 (* leftradius leftradius))
 		    (set! alpha2 (* temp temp)))
 		  (set! alpha3 (* velum-pos velum-pos)))
-	      (let ((temp1 (/ 2.0 (+ alpha1 alpha2 alpha3))))
-		(set! alpha1 (* alpha1 temp1))
-		(set! alpha2 (* alpha2 temp1))
-		(set! alpha3 (* alpha3 temp1))))
-	    
-	    (if new-tract
-		(begin
-		  (set! new-tract #f)
-		  (set! first-tract #f)
-		  (if (or (< s-noise 1.0) (< fnoiseamp 0.0001))
-		      (set! (target-radii tractlength+1) initial-noise-position))))
-
-	    (set! s-glot-mix (- s-glot-mix delta))
-	    (set! s-noise (env noise-env))
-	    (set! pitch (env frq-env))
-	    (set! table-increment (* pitch (+ 1.0 (* (env vib-env) (oscil vib-osc)) (rand-interp ran-vib)) table-size-over-sampling-rate))
-	    (set! last-lip-out (+ last-lip-in last-tract-plus))
-	    (set! last-lip-refl (* (+ last-lip-in last-tract-plus) lip-refl-gain))
-	    (set! last-lip-in last-tract-plus)
-	    ;; next glot tick
-	    (set! glotsamp (* (dline2 1) glot-refl-gain))
-	    (if (not (= table-increment 0.0))
-		(begin
-		  (set! table-location (+ table-location table-increment))
-		  (if (>= table-location table-size)
-		      (set! table-location (- table-location table-size)))
-		  (let* ((int-loc (floor table-location))
-			 (table1 (glot-table int-loc)))
-		    (set! glotsamp (+ glotsamp (* (env glot-env) (+ table1 (* s-glot-mix (- (glot-table2 int-loc) table1)))))))))
-	    
-	    ;; next tract tick
-	    (let ((j 0)
-		  ;(temp1 0.0)
-		  (temp (dline2 2)))
-	      (set! lt1 (one-pole lp (+ (dline1 2) temp)))
-
-	      (set! (dline2 1) (+ temp (* (coeffs 1) (- glotsamp temp))))
-	      (set! temp (- (+ glotsamp (dline2 1)) temp))
-	      (set! temp (singer-filter 1 noseposition temp dline1 dline2 coeffs))
-#|
-	      (let ((x 0.0))
-		(do ((j 2 (+ j 1))
-		     (k 1 (+ k 1)))
-		    ((= j noseposition))
-		  (set! x (float-vector-ref dline2 (+ j 1)))
-		  (float-vector-set! dline2 j (+ x (* (float-vector-ref coeffs j) (- (float-vector-ref dline1 k) x))))
-		  (set! temp1 temp)
-		  (set! temp (+ (float-vector-ref dline1 k) (- (float-vector-ref dline2 j) x)))
-		  (float-vector-set! dline1 k temp1)))
-|#
-	      (set! j noseposition)	;added
-	      ;;next nasal tick
-	      (let ((plussamp (dline1 (- j 1)))
-		    (minussamp (dline2 (+ j 1)))
-		    (nose-reftemp 0.0))
-		(if (and (= velum-pos 0.0)
-			 (>= time-nose-closed nose-ring-time))
-		    (let ((nose2-1 (float-vector-ref nose2 1)))
-		      (set! nose-reftemp (+ (* alpha1 plussamp) (* alpha2 minussamp) (* alpha3 nose2-1)))
-		      (set! nose-last-minus-refl (- nose-reftemp plussamp))
-		      (set! nose-last-plus-refl (- nose-reftemp minussamp)))
-		    (begin
-		      (set! time-nose-closed 
-			    (if (= velum-pos 0.0)
-				(+ time-nose-closed 1) ; added 1 bil 17-Apr-11 but didn't test it
-				0))
-		      ;; nasal tick
-		      (let ((nose-reftemp (+ (* alpha1 plussamp) (* alpha2 minussamp) (* alpha3 (nose2 1)))))
-			(let (;(nose-t1 0.0)
-			      (nose-temp 0.0)
-			      (plus-in (* velum-pos (- nose-reftemp (nose2 1)))))
-			  (set! nose-last-minus-refl (- nose-reftemp plussamp))
-			  (set! nose-last-plus-refl (- nose-reftemp minussamp))
-			  (set! nose-reftemp (* (nose-coeffs 1) (- plus-in (nose2 2))))
-			  (set! (nose2 1) (+ (nose2 2) nose-reftemp))
-			  
-			  (set! nose-temp (singer-nose-filter noselength-1 (+ plus-in nose-reftemp) nose1 nose2 nose-coeffs))
-#|
-			  (do ((j 2 (+ j 1))
-			       (k 1 (+ k 1)))
-			      ((= j noselength-1))
-			    (set! nose-reftemp (* (nose-coeffs j) (- (nose1 k) (nose2 (+ j 1)))))
-			    (set! (nose2 j) (+ (nose2 (+ j 1)) nose-reftemp))
-			    (set! nose-t1 nose-temp)
-			    (set! nose-temp (+ (nose1 k) nose-reftemp))
-			    (set! (nose1 k) nose-t1))
-|#
-
-			  (set! nose-reftemp (* (nose-coeffs noselength-1) (- (nose1 noselength-2) (* nose-last-output 0.25))))
-			  (set! (nose2 noselength-1) (+ (* nose-last-output 0.25) nose-reftemp))
-			  (set! (nose1 noselength-1) (+ (nose1 noselength-2) nose-reftemp))
-			  (set! (nose1 noselength-2) nose-temp)
-			  (set! nose-filt1 nose-filt)
-			  (set! nose-filt (nose1 noselength-1))
-			  (set! nose-last-output (* (+ nose-filt nose-filt1) 0.5))))))
-		(set! (dline2 j) nose-last-minus-refl))
-	      (set! (dline1 (- j 1)) temp)
+		(let ((temp1 (/ 2.0 (+ alpha1 alpha2 alpha3))))
+		  (set! alpha1 (* alpha1 temp1))
+		  (set! alpha2 (* alpha2 temp1))
+		  (set! alpha3 (* alpha3 temp1))))
 	      
-	      ;; j always starts at 4, goes to 8 so this loop can be unrolled, but doing so doesn't make a big difference
-	      (set! temp (singer-filter noseposition tractlength-1 nose-last-plus-refl dline1 dline2 coeffs))
-#|
-	      (let ((x 0.0))
-		(do ((j (+ noseposition 1) (+ j 1))
-		     (k noseposition (+ k 1)))
-		    ((= j tractlength-1))
-		  (set! x (float-vector-ref dline2 (+ j 1)))
-		  (float-vector-set! dline2 j (+ x (* (float-vector-ref coeffs j) (- (float-vector-ref dline1 k) x))))
-		  (set! temp1 temp)
-		  (set! temp (+ (float-vector-ref dline1 k) (- (float-vector-ref dline2 j) x)))
-		  (float-vector-set! dline1 k temp1)))
-|#
-
-	      (set! (dline2 tractlength-1) (+ last-lip-refl (* (coeffs tractlength-1) (- (dline1 tractlength-2) last-lip-refl))))
-	      (set! (dline1 tractlength-1) (- (+ (dline1 tractlength-2) (dline2 tractlength-1)) last-lip-refl))
-	      (set! (dline1 tractlength-2) temp)
-	      (if (not (= noise-gain 0.0))
+	      (if new-tract
+		  (begin
+		    (set! new-tract #f)
+		    (set! first-tract #f)
+		    (if (or (< s-noise 1.0) (< fnoiseamp 0.0001))
+			(set! (target-radii tractlength+1) initial-noise-position))))
+	      
+	      (set! s-glot-mix (- s-glot-mix delta))
+	      (set! s-noise (env noise-env))
+	      (set! pitch (env frq-env))
+	      (set! table-increment (* pitch (+ 1.0 (* (env vib-env) (oscil vib-osc)) (rand-interp ran-vib)) table-size-over-sampling-rate))
+	      (set! last-lip-out (+ last-lip-in last-tract-plus))
+	      (set! last-lip-refl (* (+ last-lip-in last-tract-plus) lip-refl-gain))
+	      (set! last-lip-in last-tract-plus)
+	      ;; next glot tick
+	      (set! glotsamp (* (dline2 1) glot-refl-gain))
+	      (if (not (= table-increment 0.0))
 		  (begin
-		    (set! noise-input (mus-random 1.0)) ;a guess
-		    (set! noise-output (- noise-input inz2 (fir-filter noisef noise-output)))
-		    (set! inz2 inz1)
-		    (set! inz1 noise-input)
-		    (set! (dline1 noise-pos) (+ (dline1 noise-pos) (* noise-output noise-gain s-noise)))))
-	      (set! last-tract-plus (* (dline1 tractlength-1) lip-radius)))
-	    (outa i (* amp (+ last-lip-out nose-last-output lt1)))
-	    ))))))
+		    (set! table-location (+ table-location table-increment))
+		    (if (>= table-location table-size)
+			(set! table-location (- table-location table-size)))
+		    (let* ((int-loc (floor table-location))
+			   (table1 (glot-table int-loc)))
+		      (set! glotsamp (+ glotsamp (* (env glot-env) (+ table1 (* s-glot-mix (- (glot-table2 int-loc) table1)))))))))
+	      
+	      ;; next tract tick
+	      (let ((j 0)
+					;(temp1 0.0)
+		    (temp (dline2 2)))
+		(set! lt1 (one-pole lp (+ (dline1 2) temp)))
+		
+		(set! (dline2 1) (+ temp (* (coeffs 1) (- glotsamp temp))))
+		(set! temp (- (+ glotsamp (dline2 1)) temp))
+		(set! temp (singer-filter 1 noseposition temp dline1 dline2 coeffs))
+		(set! j noseposition)	;added
+		;;next nasal tick
+		(let ((plussamp (dline1 (- j 1)))
+		      (minussamp (dline2 (+ j 1)))
+		      (nose-reftemp 0.0))
+		  (if (and (= velum-pos 0.0)
+			   (>= time-nose-closed nose-ring-time))
+		      (let ((nose2-1 (float-vector-ref nose2 1)))
+			(set! nose-reftemp (+ (* alpha1 plussamp) (* alpha2 minussamp) (* alpha3 nose2-1)))
+			(set! nose-last-minus-refl (- nose-reftemp plussamp))
+			(set! nose-last-plus-refl (- nose-reftemp minussamp)))
+		      (begin
+			(set! time-nose-closed 
+			      (if (= velum-pos 0.0)
+				  (+ time-nose-closed 1) ; added 1 bil 17-Apr-11 but didn't test it
+				  0))
+			;; nasal tick
+			(let ((nose-reftemp (+ (* alpha1 plussamp) (* alpha2 minussamp) (* alpha3 (nose2 1)))))
+			  (let (;(nose-t1 0.0)
+				(nose-temp 0.0)
+				(plus-in (* velum-pos (- nose-reftemp (nose2 1)))))
+			    (set! nose-last-minus-refl (- nose-reftemp plussamp))
+			    (set! nose-last-plus-refl (- nose-reftemp minussamp))
+			    (set! nose-reftemp (* (nose-coeffs 1) (- plus-in (nose2 2))))
+			    (set! (nose2 1) (+ (nose2 2) nose-reftemp))
+			    
+			    (set! nose-temp (singer-nose-filter noselength-1 (+ plus-in nose-reftemp) nose1 nose2 nose-coeffs))
+			    (set! nose-reftemp (* (nose-coeffs noselength-1) (- (nose1 noselength-2) (* nose-last-output 0.25))))
+			    (set! (nose2 noselength-1) (+ (* nose-last-output 0.25) nose-reftemp))
+			    (set! (nose1 noselength-1) (+ (nose1 noselength-2) nose-reftemp))
+			    (set! (nose1 noselength-2) nose-temp)
+			    (set! nose-filt1 nose-filt)
+			    (set! nose-filt (nose1 noselength-1))
+			    (set! nose-last-output (* (+ nose-filt nose-filt1) 0.5))))))
+		  (set! (dline2 j) nose-last-minus-refl))
+		(set! (dline1 (- j 1)) temp)
+		
+		;; j always starts at 4, goes to 8 so this loop can be unrolled, but doing so doesn't make a big difference
+		(set! temp (singer-filter noseposition tractlength-1 nose-last-plus-refl dline1 dline2 coeffs))
+		(set! (dline2 tractlength-1) (+ last-lip-refl (* (coeffs tractlength-1) (- (dline1 tractlength-2) last-lip-refl))))
+		(set! (dline1 tractlength-1) (- (+ (dline1 tractlength-2) (dline2 tractlength-1)) last-lip-refl))
+		(set! (dline1 tractlength-2) temp)
+		(if (not (= noise-gain 0.0))
+		    (begin
+		      (set! noise-input (mus-random 1.0)) ;a guess
+		      (set! noise-output (- noise-input inz2 (fir-filter noisef noise-output)))
+		      (set! inz2 inz1)
+		      (set! inz1 noise-input)
+		      (set! (dline1 noise-pos) (+ (dline1 noise-pos) (* noise-output noise-gain s-noise)))))
+		(set! last-tract-plus (* (dline1 tractlength-1) lip-radius)))
+	      (outa i (* amp (+ last-lip-out nose-last-output lt1))))))))))
 
 #|
 (with-sound (:statistics #t) 
diff --git a/snd-0.h b/snd-0.h
index 78bde27..f8ffd7f 100644
--- a/snd-0.h
+++ b/snd-0.h
@@ -1427,7 +1427,7 @@ typedef enum {NO_REQUESTOR, FROM_UPDATE, FROM_VIEW_FILES, FROM_DRAG_AND_DROP, FR
   #define in_set_transform_type(a) \
     do {\
         ss->Transform_Type = a; \
-        s7_symbol_set_value(s7, ss->transform_type_symbol, s7_make_integer(s7, ss->Transform_Type));\
+        s7_symbol_set_value(s7, ss->transform_type_symbol, C_int_to_Xen_transform(ss->Transform_Type));	\
     } while (0)
 #else
   #define in_set_transform_type(a) ss->Transform_Type = a
diff --git a/snd-axis.c b/snd-axis.c
index ca155dd..f253ca4 100644
--- a/snd-axis.c
+++ b/snd-axis.c
@@ -1524,7 +1524,7 @@ static Xen g_x_to_position(Xen val, Xen snd, Xen chn, Xen ap)
   Snd_assert_channel(S_x_to_position, snd, chn, 2);
   Xen_check_type(Xen_is_integer_or_unbound(ap), ap, 4, S_x_to_position, S_time_graph ", " S_transform_graph ", or " S_lisp_graph);
   return(C_int_to_Xen_integer(grf_x(Xen_real_to_C_double(val),
-			    TO_C_AXIS_INFO(snd, chn, ap, S_x_to_position))));
+				    TO_C_AXIS_INFO(snd, chn, ap, S_x_to_position))));
 }
 
 
@@ -1535,7 +1535,7 @@ static Xen g_y_to_position(Xen val, Xen snd, Xen chn, Xen ap)
   Snd_assert_channel(S_y_to_position, snd, chn, 2);
   Xen_check_type(Xen_is_integer_or_unbound(ap), ap, 4, S_y_to_position, S_time_graph ", " S_transform_graph ", or " S_lisp_graph);
   return(C_int_to_Xen_integer(grf_y(Xen_real_to_C_double(val),
-			    TO_C_AXIS_INFO(snd, chn, ap, S_y_to_position))));
+				    TO_C_AXIS_INFO(snd, chn, ap, S_y_to_position))));
 }
 
 
@@ -1546,7 +1546,7 @@ static Xen g_position_to_x(Xen val, Xen snd, Xen chn, Xen ap)
   Snd_assert_channel(S_position_to_x, snd, chn, 2);
   Xen_check_type(Xen_is_integer_or_unbound(ap), ap, 4, S_position_to_x, S_time_graph ", " S_transform_graph ", or " S_lisp_graph);
   return(C_double_to_Xen_real(ungrf_x(TO_C_AXIS_INFO(snd, chn, ap, S_position_to_x),
-				 Xen_integer_to_C_int(val))));
+				      Xen_integer_to_C_int(val))));
 }
 
 
@@ -1557,7 +1557,7 @@ static Xen g_position_to_y(Xen val, Xen snd, Xen chn, Xen ap)
   Snd_assert_channel(S_position_to_y, snd, chn, 2);
   Xen_check_type(Xen_is_integer_or_unbound(ap), ap, 4, S_position_to_y, S_time_graph ", " S_transform_graph ", or " S_lisp_graph);
   return(C_double_to_Xen_real(ungrf_y(TO_C_AXIS_INFO(snd, chn, ap, S_position_to_y),
-				 Xen_integer_to_C_int(val))));
+				      Xen_integer_to_C_int(val))));
 }
 
 
@@ -2007,8 +2007,6 @@ static Xen g_set_y_bounds(Xen bounds, Xen snd, Xen chn, Xen ax)
 }
 
 with_four_setter_args(g_set_y_bounds_reversed, g_set_y_bounds)
-
-
   
 
 Xen_wrap_4_optional_args(g_x_to_position_w, g_x_to_position)
@@ -2038,17 +2036,31 @@ Xen_wrap_4_optional_args(g_set_y_bounds_w, g_set_y_bounds)
   
 void g_init_axis(void)
 {
-  Xen_define_safe_procedure(S_x_to_position, g_x_to_position_w,   1, 3, 0, H_x_to_position);
-  Xen_define_safe_procedure(S_y_to_position, g_y_to_position_w,   1, 3, 0, H_y_to_position);
-  Xen_define_safe_procedure(S_position_to_x, g_position_to_x_w,   1, 3, 0, H_position_to_x);
-  Xen_define_safe_procedure(S_position_to_y, g_position_to_y_w,   1, 3, 0, H_position_to_y);
-  Xen_define_safe_procedure(S_axis_info,     g_axis_info_w,       0, 3, 0, H_axis_info);
-  Xen_define_safe_procedure(S_draw_axes,     g_draw_axes_w,       0, 0, 1, H_draw_axes);
+#if HAVE_SCHEME
+  s7_pointer i, p, t, f, r, s;
+  i = s7_make_symbol(s7, "integer?");
+  p = s7_make_symbol(s7, "pair?");
+  f = s7_make_symbol(s7, "float?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  t = s7_t(s7);
+#endif
+
+  Xen_define_typed_procedure(S_x_to_position, g_x_to_position_w,   1, 3, 0, H_x_to_position, s7_make_signature(s7, 5, i, r, t, t, i));
+  Xen_define_typed_procedure(S_y_to_position, g_y_to_position_w,   1, 3, 0, H_y_to_position, s7_make_signature(s7, 5, i, r, t, t, i));
+  Xen_define_typed_procedure(S_position_to_x, g_position_to_x_w,   1, 3, 0, H_position_to_x, s7_make_signature(s7, 5, f, i, t, t, i));
+  Xen_define_typed_procedure(S_position_to_y, g_position_to_y_w,   1, 3, 0, H_position_to_y, s7_make_signature(s7, 5, f, i, t, t, i));
+  Xen_define_typed_procedure(S_axis_info,     g_axis_info_w,       0, 3, 0, H_axis_info,     s7_make_signature(s7, 4, p, t, t, i));
+  Xen_define_typed_procedure(S_draw_axes,     g_draw_axes_w,       0, 0, 1, H_draw_axes,     s7_make_signature(s7, 11, p, t, t, t, r, r, r, r, i, i, p));
   
-  Xen_define_dilambda(S_x_axis_label, g_x_axis_label_w, H_x_axis_label, S_set S_x_axis_label, g_set_x_axis_label_w, 0, 3, 1, 3);
-  Xen_define_dilambda(S_y_axis_label, g_y_axis_label_w, H_y_axis_label, S_set S_y_axis_label, g_set_y_axis_label_w, 0, 3, 1, 3);
-  Xen_define_dilambda(S_x_bounds, g_x_bounds_w, H_x_bounds, S_set S_x_bounds, g_set_x_bounds_w, 0, 3, 1, 3);
-  Xen_define_dilambda(S_y_bounds, g_y_bounds_w, H_y_bounds, S_set S_y_bounds, g_set_y_bounds_w, 0, 3, 1, 3);
+  Xen_define_typed_dilambda(S_x_axis_label, g_x_axis_label_w, H_x_axis_label, S_set S_x_axis_label, g_set_x_axis_label_w, 0, 3, 1, 3,
+			    s7_make_signature(s7, 4, s, t, t, i), s7_make_signature(s7, 5, s, t, t, i, s));
+  Xen_define_typed_dilambda(S_y_axis_label, g_y_axis_label_w, H_y_axis_label, S_set S_y_axis_label, g_set_y_axis_label_w, 0, 3, 1, 3,
+			    s7_make_signature(s7, 4, s, t, t, i), s7_make_signature(s7, 5, s, t, t, i, s));
+  Xen_define_typed_dilambda(S_x_bounds, g_x_bounds_w, H_x_bounds, S_set S_x_bounds, g_set_x_bounds_w, 0, 3, 1, 3,
+			    s7_make_signature(s7, 4, p, t, t, t), s7_make_signature(s7, 5, p, t, t, t, t));
+  Xen_define_typed_dilambda(S_y_bounds, g_y_bounds_w, H_y_bounds, S_set S_y_bounds, g_set_y_bounds_w, 0, 3, 1, 3,
+			    s7_make_signature(s7, 4, p, t, t, t), s7_make_signature(s7, 5, p, t, t, t, t));
 
   Xen_define_constant(S_time_graph,      TIME_AXIS_INFO,      "time domain graph axis info");
   Xen_define_constant(S_transform_graph, TRANSFORM_AXIS_INFO, "frequency domain graph axis info");
diff --git a/snd-chn.c b/snd-chn.c
index 97ac80e..5db03d9 100644
--- a/snd-chn.c
+++ b/snd-chn.c
@@ -6556,8 +6556,8 @@ static Xen channel_get(Xen snd, Xen chn_n, cp_field_t fld, const char *caller)
 	    case CP_EDPOS_CURSOR:            return(C_llong_to_Xen_llong(cp->edits[to_c_edit_position(cp, cp_edpos, S_cursor, 3)]->cursor)); break;
 	    case CP_FRAMPLES:                return(C_llong_to_Xen_llong(current_samples(cp)));             break;
 	    case CP_GRAPH_LISP_ON:           return(C_bool_to_Xen_boolean(cp->graph_lisp_on));              break;
-	    case CP_LOSAMP:               if (cp->axis) return(C_llong_to_Xen_llong(cp->axis->losamp));  break;
-	    case CP_HISAMP:               if (cp->axis) return(C_llong_to_Xen_llong(cp->axis->hisamp));  break;
+	    case CP_LOSAMP:                  if (cp->axis) return(C_llong_to_Xen_llong(cp->axis->losamp));  break;
+	    case CP_HISAMP:                  if (cp->axis) return(C_llong_to_Xen_llong(cp->axis->hisamp));  break;
 	    case CP_SQUELCH_UPDATE:          return(C_bool_to_Xen_boolean(cp->squelch_update));             break;
 	    case CP_CURSOR_SIZE:             return(C_int_to_Xen_integer(cp->cursor_size));                 break;
 
@@ -6674,10 +6674,10 @@ static Xen channel_get(Xen snd, Xen chn_n, cp_field_t fld, const char *caller)
 	      return(Xen_vector_ref(cp->properties, 0));
 	      break;
 
-	    case CP_SX:            if (cp->axis) return(C_double_to_Xen_real(cp->axis->sx)); break;
-	    case CP_SY:            if (cp->axis) return(C_double_to_Xen_real(cp->axis->sy)); break;
-	    case CP_ZX:            if (cp->axis) return(C_double_to_Xen_real(cp->axis->zx)); break;
-	    case CP_ZY:            if (cp->axis) return(C_double_to_Xen_real(cp->axis->zy)); break;
+	    case CP_SX:               if (cp->axis) return(C_double_to_Xen_real(cp->axis->sx)); break;
+	    case CP_SY:               if (cp->axis) return(C_double_to_Xen_real(cp->axis->sy)); break;
+	    case CP_ZX:               if (cp->axis) return(C_double_to_Xen_real(cp->axis->zx)); break;
+	    case CP_ZY:               if (cp->axis) return(C_double_to_Xen_real(cp->axis->zy)); break;
 	    case CP_MIN_DB:           return(C_double_to_Xen_real(cp->min_dB));                 break;
 	    case CP_SPECTRO_X_ANGLE:  return(C_double_to_Xen_real(cp->spectro_x_angle));        break;
 	    case CP_SPECTRO_Y_ANGLE:  return(C_double_to_Xen_real(cp->spectro_y_angle));        break;
@@ -10049,34 +10049,69 @@ static s7_pointer acc_with_gl(s7_scheme *sc, s7_pointer args) {return(g_set_with
 
 void g_init_chn(void)
 {
+#if HAVE_SCHEME
+  s7_pointer i, b, p, t, h, r, s, fv, pl_itt, pl_itti, pl_rtt, pl_rttr, pl_btt, pl_bttb, pl_ptt, pl_pttp, plc_t, pl_pttt, pl_ptttp, pl_bitt, pl_bitti;
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  p = s7_make_symbol(s7, "list?");
+  h = s7_make_symbol(s7, "procedure?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  fv = s7_make_symbol(s7, "float-vector?");
+  t = s7_t(s7);
+  pl_itt = s7_make_signature(s7, 3, i, t, t);
+  pl_itti = s7_make_signature(s7, 4, i, t, t, i);
+  pl_bitt = s7_make_signature(s7, 3, s7_make_signature(s7, 2, i, b), t, t);
+  pl_bitti = s7_make_signature(s7, 4, s7_make_signature(s7, 2, i, b), t, t, i);
+  pl_rtt = s7_make_signature(s7, 3, r, t, t);
+  pl_rttr = s7_make_signature(s7, 4, r, t, t, r);
+  pl_btt = s7_make_signature(s7, 3, b, t, t);
+  pl_bttb = s7_make_signature(s7, 4, b, t, t, b);
+  pl_ptt = s7_make_signature(s7, 3, p, t, t);
+  pl_pttp = s7_make_signature(s7, 4, p, t, t, p);
+  pl_pttt = s7_make_signature(s7, 4, p, t, t, t);
+  pl_ptttp = s7_make_signature(s7, 5, p, t, t, t, p);
+  plc_t = s7_make_circular_signature(s7, 0, 1, t);
+#endif
+
   cp_edpos = Xen_undefined;
 
-  Xen_define_safe_procedure(S_is_variable_graph,       g_is_variable_graph_w,       1, 0, 0, H_is_variable_graph);
-  Xen_define_safe_procedure(S_make_variable_graph,     g_make_variable_graph_w,    1, 3, 0, H_make_variable_graph);
-  Xen_define_safe_procedure(S_channel_data,            g_channel_data_w,           0, 2, 0, H_channel_data);
-
-  Xen_define_safe_procedure(S_graph,                   g_graph_w,                  0, 0, 1, H_graph);
-  Xen_define_safe_procedure(S_edits,                   g_edits_w,                  0, 2, 0, H_edits);
-  Xen_define_safe_procedure(S_peaks,                   g_peaks_w,                  0, 3, 0, H_peaks);
-  Xen_define_safe_procedure(S_edit_hook,               g_edit_hook_w,              0, 2, 0, H_edit_hook);
-  Xen_define_safe_procedure(S_after_edit_hook,         g_after_edit_hook_w,        0, 2, 0, H_after_edit_hook);
-  Xen_define_safe_procedure(S_undo_hook,               g_undo_hook_w,              0, 2, 0, H_undo_hook);
-  Xen_define_safe_procedure(S_update_time_graph,       g_update_time_graph_w,      0, 2, 0, H_update_time_graph);
-  Xen_define_safe_procedure(S_update_lisp_graph,       g_update_lisp_graph_w,      0, 2, 0, H_update_lisp_graph);
-  Xen_define_safe_procedure(S_update_transform_graph,  g_update_transform_graph_w, 0, 2, 0, H_update_transform_graph);
-
-  Xen_define_dilambda(S_x_position_slider, g_ap_sx_w, H_x_position_slider, S_set S_x_position_slider, g_set_ap_sx_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_y_position_slider, g_ap_sy_w, H_y_position_slider, S_set S_y_position_slider, g_set_ap_sy_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_x_zoom_slider, g_ap_zx_w, H_x_zoom_slider, S_set S_x_zoom_slider, g_set_ap_zx_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_y_zoom_slider, g_ap_zy_w, H_y_zoom_slider, S_set S_y_zoom_slider, g_set_ap_zy_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_framples, g_framples_w, H_framples, S_set S_framples, g_set_framples_w, 0, 3, 1, 2);
-  Xen_define_dilambda(S_maxamp, g_maxamp_w, H_maxamp, S_set S_maxamp, g_set_maxamp_w, 0, 3, 1, 2);
-
-  Xen_define_safe_procedure(S_maxamp_position,   g_maxamp_position_w, 0, 3, 0,   H_maxamp_position);
-  Xen_define_safe_procedure(S_cursor_position,   g_cursor_position_w, 0, 2, 0,   H_cursor_position);
-
-  Xen_define_dilambda(S_edit_position, g_edit_position_w, H_edit_position, S_set S_edit_position, g_set_edit_position_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_transform_graph_on, g_transform_graph_on_w, H_transform_graph_on, S_set S_transform_graph_on, g_set_transform_graph_on_w, 0, 2, 1, 2);
+  Xen_define_typed_procedure(S_is_variable_graph,       g_is_variable_graph_w,      1, 0, 0, H_is_variable_graph,   s7_make_signature(s7, 2, b, t));
+  Xen_define_typed_procedure(S_make_variable_graph,     g_make_variable_graph_w,    1, 3, 0, H_make_variable_graph, s7_make_signature(s7, 5, t, t, s, i, i));
+  Xen_define_typed_procedure(S_graph,                   g_graph_w,                  0, 0, 1, H_graph, s7_make_signature(s7, 11, t, t, s, r, r, r, r, t, t, b, i));
+
+  Xen_define_typed_procedure(S_channel_data,            g_channel_data_w,           0, 2, 0, H_channel_data,    s7_make_signature(s7, 3, fv, t, t));
+  Xen_define_typed_procedure(S_edits,                   g_edits_w,                  0, 2, 0, H_edits,           pl_ptt);
+  Xen_define_typed_procedure(S_peaks,                   g_peaks_w,                  0, 3, 0, H_peaks,           s7_make_signature(s7, 4, s, s, t, t));
+
+  Xen_define_typed_procedure(S_edit_hook,               g_edit_hook_w,              0, 2, 0, H_edit_hook,       s7_make_signature(s7, 3, h, t, t));
+  Xen_define_typed_procedure(S_after_edit_hook,         g_after_edit_hook_w,        0, 2, 0, H_after_edit_hook, s7_make_signature(s7, 3, h, t, t));
+  Xen_define_typed_procedure(S_undo_hook,               g_undo_hook_w,              0, 2, 0, H_undo_hook,       s7_make_signature(s7, 3, h, t, t));
+
+  Xen_define_typed_procedure(S_update_time_graph,       g_update_time_graph_w,      0, 2, 0, H_update_time_graph,      pl_btt);
+  Xen_define_typed_procedure(S_update_lisp_graph,       g_update_lisp_graph_w,      0, 2, 0, H_update_lisp_graph,      pl_btt);
+  Xen_define_typed_procedure(S_update_transform_graph,  g_update_transform_graph_w, 0, 2, 0, H_update_transform_graph, pl_btt);
+
+  Xen_define_typed_dilambda(S_x_position_slider, g_ap_sx_w, H_x_position_slider, 
+			    S_set S_x_position_slider, g_set_ap_sx_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_y_position_slider, g_ap_sy_w, H_y_position_slider, 
+			    S_set S_y_position_slider, g_set_ap_sy_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_x_zoom_slider, g_ap_zx_w, H_x_zoom_slider, 
+			    S_set S_x_zoom_slider, g_set_ap_zx_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_y_zoom_slider, g_ap_zy_w, H_y_zoom_slider, 
+			    S_set S_y_zoom_slider, g_set_ap_zy_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+
+  Xen_define_typed_dilambda(S_framples, g_framples_w, H_framples, S_set S_framples, g_set_framples_w, 0, 3, 1, 2,
+			    s7_make_signature(s7, 4, i, t, t, t), s7_make_signature(s7, 4, i, t, t, i));
+  Xen_define_typed_dilambda(S_maxamp, g_maxamp_w, H_maxamp, S_set S_maxamp, g_set_maxamp_w, 0, 3, 1, 2, plc_t, plc_t);
+
+  Xen_define_typed_procedure(S_maxamp_position,   g_maxamp_position_w, 0, 3, 0,   H_maxamp_position, s7_make_signature(s7, 4, i, t, t, t));
+  Xen_define_typed_procedure(S_cursor_position,   g_cursor_position_w, 0, 2, 0,   H_cursor_position, pl_ptt);
+
+  Xen_define_typed_dilambda(S_edit_position, g_edit_position_w, H_edit_position, 
+			    S_set S_edit_position, g_set_edit_position_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_transform_graph_on, g_transform_graph_on_w, H_transform_graph_on, 
+			    S_set S_transform_graph_on, g_set_transform_graph_on_w, 0, 2, 1, 2, pl_btt, pl_bttb);
 
   #define H_graph_once "The value for the various graph-type variables that displays the standard waveform"
   #define H_graph_as_wavogram "The value for " S_time_graph_type " to make a spectrogram-like form of the time-domain data"
@@ -10092,10 +10127,14 @@ void g_init_chn(void)
   Xen_define_constant(S_graph_as_spectrogram, GRAPH_AS_SPECTROGRAM, H_graph_as_spectrogram);
   /* Xen_define_constant(S_graph_as_complex,     GRAPH_AS_COMPLEX,     H_graph_as_complex); */
 
-  Xen_define_dilambda(S_time_graph_on, g_timer_graph_on_w, H_timer_graph_on, S_set S_time_graph_on, g_set_timer_graph_on_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_lisp_graph_on, g_lisp_graph_on_w, H_lisp_graph_on, S_set S_lisp_graph_on, g_set_lisp_graph_on_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_squelch_update, g_squelch_update_w, H_squelch_update, S_set S_squelch_update, g_set_squelch_update_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_cursor, g_cursor_w, H_cursor, S_set S_cursor, g_set_cursor_w, 0, 3, 1, 3);
+  Xen_define_typed_dilambda(S_time_graph_on, g_timer_graph_on_w, H_timer_graph_on, 
+			    S_set S_time_graph_on, g_set_timer_graph_on_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_lisp_graph_on, g_lisp_graph_on_w, H_lisp_graph_on, 
+			    S_set S_lisp_graph_on, g_set_lisp_graph_on_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_squelch_update, g_squelch_update_w, H_squelch_update, 
+			    S_set S_squelch_update, g_set_squelch_update_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_cursor, g_cursor_w, H_cursor, 
+			    S_set S_cursor, g_set_cursor_w, 0, 3, 1, 3, s7_make_signature(s7, 4, i, t, t, t), s7_make_signature(s7, 5, i, t, t, t, i));
   
   #define H_cursor_cross "The value for " S_cursor_style " that causes is to be a cross (the default)"
   #define H_cursor_line "The value for " S_cursor_style " that causes is to be a full vertical line"
@@ -10103,49 +10142,92 @@ void g_init_chn(void)
   Xen_define_constant(S_cursor_cross,          CURSOR_CROSS, H_cursor_cross);
   Xen_define_constant(S_cursor_line,           CURSOR_LINE,  H_cursor_line);
 
-  Xen_define_dilambda(S_cursor_style, g_cursor_style_w, H_cursor_style, S_set S_cursor_style, g_set_cursor_style_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_tracking_cursor_style, g_tracking_cursor_style_w, H_tracking_cursor_style, S_set S_tracking_cursor_style, g_set_tracking_cursor_style_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_cursor_size, g_cursor_size_w, H_cursor_size, S_set S_cursor_size, g_set_cursor_size_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_left_sample, g_left_sample_w, H_left_sample, S_set S_left_sample, g_set_left_sample_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_right_sample, g_right_sample_w, H_right_sample, S_set S_right_sample, g_set_right_sample_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_channel_properties, g_channel_properties_w, H_channel_properties, S_set S_channel_properties, g_set_channel_properties_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_channel_property, g_channel_property_w, H_channel_property, S_set S_channel_property, g_set_channel_property_w, 1, 2, 2, 2);
-  Xen_define_dilambda(S_edit_properties, g_edit_properties_w, H_edit_properties, S_set S_edit_properties, g_set_edit_properties_w, 0, 3, 1, 3);
-  Xen_define_dilambda(S_edit_property, g_edit_property_w, H_edit_property, S_set S_edit_property, g_set_edit_property_w, 1, 3, 2, 3);
-  Xen_define_dilambda(S_max_transform_peaks, g_max_transform_peaks_w, H_max_transform_peaks, S_set S_max_transform_peaks, g_set_max_transform_peaks_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_show_y_zero, g_show_y_zero_w, H_show_y_zero, S_set S_show_y_zero, g_set_show_y_zero_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_show_grid, g_show_grid_w, H_show_grid, S_set S_show_grid, g_set_show_grid_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_grid_density, g_grid_density_w, H_grid_density, S_set S_grid_density, g_set_grid_density_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_show_sonogram_cursor, g_show_sonogram_cursor_w, H_show_sonogram_cursor, S_set S_show_sonogram_cursor, g_set_show_sonogram_cursor_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_show_marks, g_show_marks_w, H_show_marks, S_set S_show_marks, g_set_show_marks_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_time_graph_type, g_time_graph_type_w, H_time_graph_type, S_set S_time_graph_type, g_set_time_graph_type_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_wavo_hop, g_wavo_hop_w, H_wavo_hop, S_set S_wavo_hop, g_set_wavo_hop_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_wavo_trace, g_wavo_trace_w, H_wavo_trace, S_set S_wavo_trace, g_set_wavo_trace_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_show_transform_peaks, g_show_transform_peaks_w, H_show_transform_peaks, S_set S_show_transform_peaks, g_set_show_transform_peaks_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_zero_pad, g_zero_pad_w, H_zero_pad, S_set S_zero_pad, g_set_zero_pad_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_with_verbose_cursor, g_with_verbose_cursor_w, H_with_verbose_cursor, S_set S_with_verbose_cursor, g_set_with_verbose_cursor_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_fft_log_frequency, g_fft_log_frequency_w, H_fft_log_frequency, S_set S_fft_log_frequency, g_set_fft_log_frequency_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_fft_log_magnitude, g_fft_log_magnitude_w, H_fft_log_magnitude, S_set S_fft_log_magnitude, g_set_fft_log_magnitude_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_fft_with_phases, g_fft_with_phases_w, H_fft_with_phases, S_set S_fft_with_phases, g_set_fft_with_phases_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_min_dB, g_min_dB_w, H_min_dB, S_set S_min_dB, g_set_min_dB_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_wavelet_type, g_wavelet_type_w, H_wavelet_type, S_set S_wavelet_type, g_set_wavelet_type_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_spectrum_end, g_spectrum_end_w, H_spectrum_end, S_set S_spectrum_end, g_set_spectrum_end_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_spectrum_start, g_spectrum_start_w, H_spectrum_start, S_set S_spectrum_start, g_set_spectrum_start_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_spectro_x_angle, g_spectro_x_angle_w, H_spectro_x_angle, S_set S_spectro_x_angle, g_set_spectro_x_angle_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_spectro_x_scale, g_spectro_x_scale_w, H_spectro_x_scale, S_set S_spectro_x_scale, g_set_spectro_x_scale_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_spectro_y_angle, g_spectro_y_angle_w, H_spectro_y_angle, S_set S_spectro_y_angle, g_set_spectro_y_angle_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_spectro_y_scale, g_spectro_y_scale_w, H_spectro_y_scale, S_set S_spectro_y_scale, g_set_spectro_y_scale_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_spectro_z_angle, g_spectro_z_angle_w, H_spectro_z_angle, S_set S_spectro_z_angle, g_set_spectro_z_angle_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_spectro_z_scale, g_spectro_z_scale_w, H_spectro_z_scale, S_set S_spectro_z_scale, g_set_spectro_z_scale_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_fft_window_beta, g_fft_window_beta_w, H_fft_window_beta, S_set S_fft_window_beta, g_set_fft_window_beta_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_fft_window_alpha, g_fft_window_alpha_w, H_fft_window_alpha, S_set S_fft_window_alpha, g_set_fft_window_alpha_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_spectro_hop, g_spectro_hop_w, H_spectro_hop, S_set S_spectro_hop, g_set_spectro_hop_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_transform_size, g_transform_size_w, H_transform_size, S_set S_transform_size, g_set_transform_size_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_transform_graph_type, g_transform_graph_type_w, H_transform_graph_type, S_set S_transform_graph_type, g_set_transform_graph_type_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_fft_window, g_fft_window_w, H_fft_window, S_set S_fft_window, g_set_fft_window_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_transform_type, g_transform_type_w, H_transform_type, S_set S_transform_type, g_set_transform_type_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_transform_normalization, g_transform_normalization_w, H_transform_normalization, S_set S_transform_normalization, g_set_transform_normalization_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_show_mix_waveforms, g_show_mix_waveforms_w, H_show_mix_waveforms, S_set S_show_mix_waveforms, g_set_show_mix_waveforms_w, 0, 2, 1, 2);
+  Xen_define_typed_dilambda(S_cursor_style, g_cursor_style_w, H_cursor_style, 
+			    S_set S_cursor_style, g_set_cursor_style_w, 0, 2, 1, 2, plc_t, plc_t);
+  Xen_define_typed_dilambda(S_tracking_cursor_style, g_tracking_cursor_style_w, H_tracking_cursor_style, 
+			    S_set S_tracking_cursor_style, g_set_tracking_cursor_style_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_cursor_size, g_cursor_size_w, H_cursor_size, 
+			    S_set S_cursor_size, g_set_cursor_size_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_left_sample, g_left_sample_w, H_left_sample, 
+			    S_set S_left_sample, g_set_left_sample_w, 0, 2, 1, 2, pl_bitt, pl_bitti);
+  Xen_define_typed_dilambda(S_right_sample, g_right_sample_w, H_right_sample, 
+			    S_set S_right_sample, g_set_right_sample_w, 0, 2, 1, 2, pl_bitt, pl_bitti);
+  Xen_define_typed_dilambda(S_channel_properties, g_channel_properties_w, H_channel_properties, 
+			    S_set S_channel_properties, g_set_channel_properties_w, 0, 2, 1, 2, pl_ptt, pl_pttp);
+  Xen_define_typed_dilambda(S_channel_property, g_channel_property_w, H_channel_property, 
+			    S_set S_channel_property, g_set_channel_property_w, 1, 2, 2, 2, plc_t, plc_t);
+  Xen_define_typed_dilambda(S_edit_properties, g_edit_properties_w, H_edit_properties, 
+			    S_set S_edit_properties, g_set_edit_properties_w, 0, 3, 1, 3, pl_pttt, pl_ptttp);
+  Xen_define_typed_dilambda(S_edit_property, g_edit_property_w, H_edit_property, 
+			    S_set S_edit_property, g_set_edit_property_w, 1, 3, 2, 3, plc_t, plc_t);
+  Xen_define_typed_dilambda(S_max_transform_peaks, g_max_transform_peaks_w, H_max_transform_peaks, 
+			    S_set S_max_transform_peaks, g_set_max_transform_peaks_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_show_y_zero, g_show_y_zero_w, H_show_y_zero, 
+			    S_set S_show_y_zero, g_set_show_y_zero_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_show_grid, g_show_grid_w, H_show_grid, 
+			    S_set S_show_grid, g_set_show_grid_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_grid_density, g_grid_density_w, H_grid_density, 
+			    S_set S_grid_density, g_set_grid_density_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_show_sonogram_cursor, g_show_sonogram_cursor_w, H_show_sonogram_cursor, 
+			    S_set S_show_sonogram_cursor, g_set_show_sonogram_cursor_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_show_marks, g_show_marks_w, H_show_marks, 
+			    S_set S_show_marks, g_set_show_marks_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_time_graph_type, g_time_graph_type_w, H_time_graph_type, 
+			    S_set S_time_graph_type, g_set_time_graph_type_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_wavo_hop, g_wavo_hop_w, H_wavo_hop, 
+			    S_set S_wavo_hop, g_set_wavo_hop_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_wavo_trace, g_wavo_trace_w, H_wavo_trace, 
+			    S_set S_wavo_trace, g_set_wavo_trace_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_show_transform_peaks, g_show_transform_peaks_w, H_show_transform_peaks, 
+			    S_set S_show_transform_peaks, g_set_show_transform_peaks_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_zero_pad, g_zero_pad_w, H_zero_pad, 
+			    S_set S_zero_pad, g_set_zero_pad_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_with_verbose_cursor, g_with_verbose_cursor_w, H_with_verbose_cursor, 
+			    S_set S_with_verbose_cursor, g_set_with_verbose_cursor_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_fft_log_frequency, g_fft_log_frequency_w, H_fft_log_frequency, 
+			    S_set S_fft_log_frequency, g_set_fft_log_frequency_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_fft_log_magnitude, g_fft_log_magnitude_w, H_fft_log_magnitude, 
+			    S_set S_fft_log_magnitude, g_set_fft_log_magnitude_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_fft_with_phases, g_fft_with_phases_w, H_fft_with_phases, 
+			    S_set S_fft_with_phases, g_set_fft_with_phases_w, 0, 2, 1, 2, pl_btt, pl_bttb);
+  Xen_define_typed_dilambda(S_min_dB, g_min_dB_w, H_min_dB, 
+			    S_set S_min_dB, g_set_min_dB_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_wavelet_type, g_wavelet_type_w, H_wavelet_type, 
+			    S_set S_wavelet_type, g_set_wavelet_type_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_spectrum_end, g_spectrum_end_w, H_spectrum_end, 
+			    S_set S_spectrum_end, g_set_spectrum_end_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_spectrum_start, g_spectrum_start_w, H_spectrum_start, 
+			    S_set S_spectrum_start, g_set_spectrum_start_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_spectro_x_angle, g_spectro_x_angle_w, H_spectro_x_angle, 
+			    S_set S_spectro_x_angle, g_set_spectro_x_angle_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_spectro_x_scale, g_spectro_x_scale_w, H_spectro_x_scale, 
+			    S_set S_spectro_x_scale, g_set_spectro_x_scale_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_spectro_y_angle, g_spectro_y_angle_w, H_spectro_y_angle, 
+			    S_set S_spectro_y_angle, g_set_spectro_y_angle_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_spectro_y_scale, g_spectro_y_scale_w, H_spectro_y_scale, 
+			    S_set S_spectro_y_scale, g_set_spectro_y_scale_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_spectro_z_angle, g_spectro_z_angle_w, H_spectro_z_angle, 
+			    S_set S_spectro_z_angle, g_set_spectro_z_angle_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_spectro_z_scale, g_spectro_z_scale_w, H_spectro_z_scale, 
+			    S_set S_spectro_z_scale, g_set_spectro_z_scale_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_fft_window_beta, g_fft_window_beta_w, H_fft_window_beta, 
+			    S_set S_fft_window_beta, g_set_fft_window_beta_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_fft_window_alpha, g_fft_window_alpha_w, H_fft_window_alpha, 
+			    S_set S_fft_window_alpha, g_set_fft_window_alpha_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_spectro_hop, g_spectro_hop_w, H_spectro_hop, 
+			    S_set S_spectro_hop, g_set_spectro_hop_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_transform_size, g_transform_size_w, H_transform_size, 
+			    S_set S_transform_size, g_set_transform_size_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_transform_graph_type, g_transform_graph_type_w, H_transform_graph_type, 
+			    S_set S_transform_graph_type, g_set_transform_graph_type_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_fft_window, g_fft_window_w, H_fft_window, 
+			    S_set S_fft_window, g_set_fft_window_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_transform_type, g_transform_type_w, H_transform_type, 
+			    S_set S_transform_type, g_set_transform_type_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_transform_normalization, g_transform_normalization_w, H_transform_normalization, 
+			    S_set S_transform_normalization, g_set_transform_normalization_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_show_mix_waveforms, g_show_mix_waveforms_w, H_show_mix_waveforms, 
+			    S_set S_show_mix_waveforms, g_set_show_mix_waveforms_w, 0, 2, 1, 2, pl_btt, pl_bttb);
   
   /* should these be named "graph-with-lines" etc? */
   #define H_graph_lines "The value for " S_graph_style " that causes graphs to use line-segments"
@@ -10160,11 +10242,16 @@ void g_init_chn(void)
   Xen_define_constant(S_graph_dots_and_lines,  GRAPH_DOTS_AND_LINES, H_graph_dots_and_lines);
   Xen_define_constant(S_graph_lollipops,       GRAPH_LOLLIPOPS,      H_graph_lollipops);
   
-  Xen_define_dilambda(S_time_graph_style, g_time_graph_style_w, H_time_graph_style, S_set S_time_graph_style, g_set_time_graph_style_w, 1, 1, 1, 2);
-  Xen_define_dilambda(S_lisp_graph_style, g_lisp_graph_style_w, H_lisp_graph_style, S_set S_lisp_graph_style, g_set_lisp_graph_style_w, 1, 1, 1, 2);
-  Xen_define_dilambda(S_transform_graph_style, g_transform_graph_style_w, H_transform_graph_style, S_set S_transform_graph_style, g_set_transform_graph_style_w, 1, 1, 1, 2);
-  Xen_define_dilambda(S_graph_style, g_graph_style_w, H_graph_style, S_set S_graph_style, g_set_graph_style_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_dot_size, g_dot_size_w, H_dot_size, S_set S_dot_size, g_set_dot_size_w, 0, 2, 1, 2);
+  Xen_define_typed_dilambda(S_time_graph_style, g_time_graph_style_w, H_time_graph_style, 
+			    S_set S_time_graph_style, g_set_time_graph_style_w, 1, 1, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_lisp_graph_style, g_lisp_graph_style_w, H_lisp_graph_style, 
+			    S_set S_lisp_graph_style, g_set_lisp_graph_style_w, 1, 1, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_transform_graph_style, g_transform_graph_style_w, H_transform_graph_style, 
+			    S_set S_transform_graph_style, g_set_transform_graph_style_w, 1, 1, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_graph_style, g_graph_style_w, H_graph_style, 
+			    S_set S_graph_style, g_set_graph_style_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_dot_size, g_dot_size_w, H_dot_size, 
+			    S_set S_dot_size, g_set_dot_size_w, 0, 2, 1, 2, pl_itt, pl_itti);
 
   #define H_x_axis_in_seconds    "The value for " S_x_axis_style " that displays the x axis using seconds"
   #define H_x_axis_in_samples    "The value for " S_x_axis_style " that displays the x axis using sample numbers"
@@ -10180,9 +10267,12 @@ void g_init_chn(void)
   Xen_define_constant(S_x_axis_as_percentage,  X_AXIS_AS_PERCENTAGE, H_x_axis_as_percentage);
   Xen_define_constant(S_x_axis_as_clock,       X_AXIS_AS_CLOCK,      H_x_axis_as_clock);
 
-  Xen_define_dilambda(S_x_axis_style, g_x_axis_style_w, H_x_axis_style, S_set S_x_axis_style, g_set_x_axis_style_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_beats_per_minute, g_beats_per_minute_w, H_beats_per_minute, S_set S_beats_per_minute, g_set_beats_per_minute_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_beats_per_measure, g_beats_per_measure_w, H_beats_per_measure, S_set S_beats_per_measure, g_set_beats_per_measure_w, 0, 2, 1, 2);
+  Xen_define_typed_dilambda(S_x_axis_style, g_x_axis_style_w, H_x_axis_style, 
+			    S_set S_x_axis_style, g_set_x_axis_style_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_beats_per_minute, g_beats_per_minute_w, H_beats_per_minute, 
+			    S_set S_beats_per_minute, g_set_beats_per_minute_w, 0, 2, 1, 2, pl_rtt, pl_rttr);
+  Xen_define_typed_dilambda(S_beats_per_measure, g_beats_per_measure_w, H_beats_per_measure, 
+			    S_set S_beats_per_measure, g_set_beats_per_measure_w, 0, 2, 1, 2, pl_itt, pl_itti);
 
   #define H_show_all_axes "The value for " S_show_axes " that causes both the x and y axes to be displayed"
   #define H_show_all_axes_unlabelled "The value for " S_show_axes " that causes both the x and y axes to be displayed, but without any label"
@@ -10198,8 +10288,10 @@ void g_init_chn(void)
   Xen_define_constant(S_show_x_axis_unlabelled,  SHOW_X_AXIS_UNLABELLED,   H_show_x_axis_unlabelled);
   Xen_define_constant(S_show_bare_x_axis,        SHOW_BARE_X_AXIS,         H_show_bare_x_axis);
 
-  Xen_define_dilambda(S_show_axes, g_show_axes_w, H_show_axes, S_set S_show_axes, g_set_show_axes_w, 0, 2, 1, 2);
-  Xen_define_dilambda(S_graphs_horizontal, g_graphs_horizontal_w, H_graphs_horizontal, S_set S_graphs_horizontal, g_set_graphs_horizontal_w, 0, 2, 1, 2);
+  Xen_define_typed_dilambda(S_show_axes, g_show_axes_w, H_show_axes, 
+			    S_set S_show_axes, g_set_show_axes_w, 0, 2, 1, 2, pl_itt, pl_itti);
+  Xen_define_typed_dilambda(S_graphs_horizontal, g_graphs_horizontal_w, H_graphs_horizontal, 
+			    S_set S_graphs_horizontal, g_set_graphs_horizontal_w, 0, 2, 1, 2, pl_btt, pl_bttb);
 
   #define H_zoom_focus_left "The value for " S_zoom_focus_style " that causes zooming to maintain the left edge steady"
   #define H_zoom_focus_right "The value for " S_zoom_focus_style " that causes zooming to maintain the right edge steady"
@@ -10211,8 +10303,10 @@ void g_init_chn(void)
   Xen_define_constant(S_zoom_focus_active,     ZOOM_FOCUS_ACTIVE, H_zoom_focus_active);
   Xen_define_constant(S_zoom_focus_middle,     ZOOM_FOCUS_MIDDLE, H_zoom_focus_middle);
 
-  Xen_define_dilambda(S_zoom_focus_style, g_zoom_focus_style_w, H_zoom_focus_style, S_set S_zoom_focus_style, g_set_zoom_focus_style_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_with_gl, g_with_gl_w, H_with_gl, S_set S_with_gl, g_set_with_gl_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_zoom_focus_style, g_zoom_focus_style_w, H_zoom_focus_style, 
+			    S_set S_zoom_focus_style, g_set_zoom_focus_style_w,  0, 0, 1, 0, s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
+  Xen_define_typed_dilambda(S_with_gl, g_with_gl_w, H_with_gl, 
+			    S_set S_with_gl, g_set_with_gl_w,  0, 0, 1, 0, s7_make_signature(s7, 1, b), s7_make_signature(s7, 2, b, b));
 
   #define H_sync_none     "The " S_sync_style " choice that leaves every sound and channel unsync'd at the start"
   #define H_sync_all      "The " S_sync_style " choice that syncs together every sound and channel at the start"
@@ -10222,10 +10316,12 @@ void g_init_chn(void)
   Xen_define_constant(S_sync_all,      SYNC_ALL,      H_sync_all);
   Xen_define_constant(S_sync_by_sound, SYNC_BY_SOUND, H_sync_by_sound);
 
-  Xen_define_dilambda(S_sync_style, g_sync_style_w, H_sync_style, S_set S_sync_style, g_set_sync_style_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_sync_style, g_sync_style_w, H_sync_style, 
+			    S_set S_sync_style, g_set_sync_style_w,  0, 0, 1, 0, s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
 
 #if HAVE_GL
-  Xen_define_safe_procedure(S_glSpectrogram, g_gl_spectrogram_w, 9, 0, 0, H_glSpectrogram);
+  Xen_define_typed_procedure(S_glSpectrogram, g_gl_spectrogram_w, 9, 0, 0, H_glSpectrogram,
+			     s7_make_signature(s7, 10, b, s7_make_symbol(s7, "vector?"), i, r, b, r, r, r, r, r));
 #endif
 
   #define H_after_transform_hook S_after_transform_hook " (snd chn scaler): called just after a spectrum is calculated."
diff --git a/snd-dac.c b/snd-dac.c
index c1dc22d..0475d72 100644
--- a/snd-dac.c
+++ b/snd-dac.c
@@ -1140,7 +1140,8 @@ static dac_info *add_channel_to_play_list(chan_info *cp, snd_info *sp, mus_long_
 	{
 	  sp->playing++;
 	  if (((with_tracking_cursor(ss) != DONT_TRACK) || (ss->tracking)) &&
-              (!(is_player_sound(sp))))
+              (!(is_player_sound(sp))) &&
+	      (sp->inuse == SOUND_NORMAL))
 	    {
 	      cp->original_cursor = cursor_sample(cp);
 	      if (cp->axis)
@@ -2361,13 +2362,13 @@ static bool start_audio_output_1(void)
 static bool start_audio_output(void)
 {
   /* at this point the desired output srate and chans are set in dacp (via start_dac) */
-  dac_info *dp;
   cursor_time = 0;
   if (start_audio_output_1()) /* number of channels may be less than requested initially */
     {
       int i;
       for (i = 0; i <= max_active_slot; i++)
 	{
+	  dac_info *dp;
 	  dp = play_list[i];
 	  if (dp)
 	    {
@@ -3466,38 +3467,60 @@ static s7_pointer acc_with_tracking_cursor(s7_scheme *sc, s7_pointer args) {retu
 
 void g_init_dac(void)
 {
+#if HAVE_SCHEME
+  s7_pointer i, b, p, t, r, pl, l, pcl_t;
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  p = s7_make_symbol(s7, "pair?");
+  l = s7_make_symbol(s7, "list?");
+  r = s7_make_symbol(s7, "real?");
+  pl = s7_make_symbol(s7, "player?");
+  t = s7_t(s7);
+  pcl_t = s7_make_circular_signature(s7, 0, 1, t);
+#endif
+
   init_xen_player();
   init_play_keywords();
 
-  Xen_define_procedure(S_play,           g_play_w,           0, 0, 1, H_play);
-  Xen_define_procedure(S_stop_playing,   g_stop_playing_w,   0, 1, 0, H_stop_playing);
-
-  Xen_define_dilambda(S_pausing, g_pausing_w, H_pausing, S_set S_pausing, g_set_pausing_w, 0, 0, 1, 0);
-  Xen_define_dilambda(S_playing, g_playing_w, H_playing, S_set S_playing, g_set_playing_w, 0, 0, 1, 0);
-
-  Xen_define_procedure(S_make_player,    g_make_player_w,    0, 2, 0, H_make_player);
-  Xen_define_procedure(S_add_player,     g_add_player_w,     1, 5, 0, H_add_player);
-  Xen_define_safe_procedure(S_player_home,    g_player_home_w,    1, 0, 0, H_player_home);
-  Xen_define_procedure(S_start_playing,  g_start_playing_w,  0, 3, 0, H_start_playing);
-  Xen_define_procedure(S_stop_player,    g_stop_player_w,    1, 0, 0, H_stop_player);
-  Xen_define_procedure(S_free_player,    g_free_player_w,    1, 0, 0, H_free_player);
-  Xen_define_safe_procedure(S_players,        g_players_w,        0, 0, 0, H_players);
-  Xen_define_safe_procedure(S_is_player,      g_is_player_w,      1, 0, 0, H_is_player);
-
-  Xen_define_dilambda(S_with_tracking_cursor, g_with_tracking_cursor_w, H_with_tracking_cursor,
-				   S_set S_with_tracking_cursor, g_set_with_tracking_cursor_w, 0, 0, 1, 0);
-
-  Xen_define_dilambda(S_dac_size, g_dac_size_w, H_dac_size,
-				   S_set S_dac_size, g_set_dac_size_w,  0, 0, 1, 0);
-
-  Xen_define_dilambda(S_dac_combines_channels, g_dac_combines_channels_w, H_dac_combines_channels,
-				   S_set S_dac_combines_channels, g_set_dac_combines_channels_w,  0, 0, 1, 0);
-
-  Xen_define_dilambda(S_cursor_update_interval, g_cursor_update_interval_w, H_cursor_update_interval,
-				   S_set S_cursor_update_interval, g_set_cursor_update_interval_w,  0, 0, 1, 0);
+  Xen_define_typed_procedure(S_play,           g_play_w,           0, 0, 1, H_play,          pcl_t);
+  Xen_define_typed_procedure(S_stop_playing,   g_stop_playing_w,   0, 1, 0, H_stop_playing,  s7_make_signature(s7, 2, b, t));
+  Xen_define_typed_procedure(S_make_player,    g_make_player_w,    0, 2, 0, H_make_player,   s7_make_signature(s7, 3, pl, t, t));
+  Xen_define_typed_procedure(S_add_player,     g_add_player_w,     1, 5, 0, H_add_player,    s7_make_signature(s7, 7, pl, pl, i, i, t, t, i));
+  Xen_define_typed_procedure(S_player_home,    g_player_home_w,    1, 0, 0, H_player_home,   s7_make_signature(s7, 2, p, pl));
+  Xen_define_typed_procedure(S_start_playing,  g_start_playing_w,  0, 3, 0, H_start_playing, s7_make_signature(s7, 4, b, i, i, b));
+  Xen_define_typed_procedure(S_stop_player,    g_stop_player_w,    1, 0, 0, H_stop_player,   s7_make_signature(s7, 2, pl, pl));
+  Xen_define_typed_procedure(S_free_player,    g_free_player_w,    1, 0, 0, H_free_player,   s7_make_signature(s7, 2, b, pl));
+  Xen_define_typed_procedure(S_players,        g_players_w,        0, 0, 0, H_players,       s7_make_signature(s7, 1, l));
+  Xen_define_typed_procedure(S_is_player,      g_is_player_w,      1, 0, 0, H_is_player,     s7_make_signature(s7, 2, b, t));
+
+  Xen_define_typed_dilambda(S_pausing, g_pausing_w, H_pausing,
+			    S_set S_pausing, g_set_pausing_w, 0, 0, 1, 0,
+			    s7_make_signature(s7, 1, b), s7_make_signature(s7, 2, b, b));
+
+  Xen_define_typed_dilambda(S_playing, g_playing_w, H_playing, 
+			    S_set S_playing, g_set_playing_w, 0, 0, 1, 0,
+			    s7_make_signature(s7, 1, b), s7_make_signature(s7, 2, b, b));
+
+  Xen_define_typed_dilambda(S_with_tracking_cursor, g_with_tracking_cursor_w, H_with_tracking_cursor,
+			    S_set S_with_tracking_cursor, g_set_with_tracking_cursor_w, 0, 0, 1, 0, 
+			    pcl_t, pcl_t);
+
+  Xen_define_typed_dilambda(S_dac_size, g_dac_size_w, H_dac_size,
+			    S_set S_dac_size, g_set_dac_size_w,  0, 0, 1, 0, 
+			    s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
+
+  Xen_define_typed_dilambda(S_dac_combines_channels, g_dac_combines_channels_w, H_dac_combines_channels,
+			    S_set S_dac_combines_channels, g_set_dac_combines_channels_w,  0, 0, 1, 0,
+			    s7_make_signature(s7, 1, b), s7_make_signature(s7, 2, b, b));
+
+  Xen_define_typed_dilambda(S_cursor_update_interval, g_cursor_update_interval_w, H_cursor_update_interval,
+			    S_set S_cursor_update_interval, g_set_cursor_update_interval_w,  0, 0, 1, 0,
+			    s7_make_signature(s7, 1, r), s7_make_signature(s7, 2, r, r));
+
+  Xen_define_typed_dilambda(S_cursor_location_offset, g_cursor_location_offset_w, H_cursor_location_offset,
+			    S_set S_cursor_location_offset, g_set_cursor_location_offset_w,  0, 0, 1, 0,
+			    s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
 
-  Xen_define_dilambda(S_cursor_location_offset, g_cursor_location_offset_w, H_cursor_location_offset,
-				   S_set S_cursor_location_offset, g_set_cursor_location_offset_w,  0, 0, 1, 0);
 
   #define H_stop_playing_hook S_stop_playing_hook " (snd): called when a sound finishes playing."
   #define H_play_hook S_play_hook " (size): called each time a buffer is sent to the DAC."
diff --git a/snd-draw.c b/snd-draw.c
index 63125f0..feae2c2 100644
--- a/snd-draw.c
+++ b/snd-draw.c
@@ -2032,6 +2032,20 @@ Xen_wrap_3_args(g_set_combined_data_color_w, g_set_combined_data_color)
 
 void g_init_draw(void)
 {
+#if HAVE_SCHEME
+  s7_pointer i, b, p, t, r, mx, s, v, pcl_p, pcl_t;
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  p = s7_make_symbol(s7, "pair?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  v = s7_make_symbol(s7, "vector?");
+  mx = s7_make_symbol(s7, "mix?");
+  t = s7_t(s7);
+  pcl_p = s7_make_circular_signature(s7, 0, 1, p);
+  pcl_t = s7_make_circular_signature(s7, 0, 1, t);
+#endif
+
   dialog_widgets = Xen_undefined;
 
   Xen_define_constant(S_copy_context,      CHAN_GC,    "graphics context to draw a line");
@@ -2039,59 +2053,92 @@ void g_init_draw(void)
   Xen_define_constant(S_selection_context, CHAN_SELGC, "graphics context to draw in the selection color");
   Xen_define_constant(S_mark_context,      CHAN_MGC,   "graphics context for a mark");
 
-  Xen_define_safe_procedure(S_draw_line,        g_draw_line_w,      4, 4, 0, H_draw_line);
-  Xen_define_safe_procedure(S_draw_dot,         g_draw_dot_w,       2, 5, 0, H_draw_dot);
-  Xen_define_safe_procedure(S_draw_lines,       g_draw_lines_w,     1, 4, 0, H_draw_lines); 
-  Xen_define_safe_procedure(S_draw_dots,        g_draw_dots_w,      1, 5, 0, H_draw_dots);
-  Xen_define_safe_procedure(S_draw_string,      g_draw_string_w,    3, 4, 0, H_draw_string);
-  Xen_define_safe_procedure(S_fill_rectangle,   g_fill_rectangle_w, 4, 5, 0, H_fill_rectangle);
-  Xen_define_safe_procedure(S_fill_polygon,     g_fill_polygon_w,   1, 4, 0, H_fill_polygon);
-  Xen_define_safe_procedure(S_main_widgets,     g_main_widgets_w,   0, 0, 0, H_main_widgets);
-  Xen_define_safe_procedure(S_dialog_widgets,   g_dialog_widgets_w, 0, 0, 0, H_dialog_widgets);
-  Xen_define_safe_procedure(S_hide_widget,      g_hide_widget_w,    1, 0, 0, H_hide_widget);
-  Xen_define_safe_procedure(S_show_widget,      g_show_widget_w,    1, 0, 0, H_show_widget);
-  Xen_define_safe_procedure(S_focus_widget,     g_focus_widget_w,   1, 0, 0, H_focus_widget);
-
-  Xen_define_safe_procedure(S_make_graph_data,  g_make_graph_data_w, 0, 5, 0, H_make_graph_data);
-  Xen_define_safe_procedure(S_graph_data,       g_graph_data_w,     1, 7, 0,  H_graph_data);
-
-  Xen_define_dilambda(S_foreground_color, g_foreground_color_w, H_foreground_color, S_set S_foreground_color, g_set_foreground_color_w, 0, 3, 1, 3);
-  Xen_define_dilambda(S_current_font, g_current_font_w, H_current_font, S_set S_current_font, g_set_current_font_w, 0, 3, 1, 3);
-  Xen_define_dilambda(S_widget_size, g_widget_size_w, H_widget_size, S_set S_widget_size, g_set_widget_size_w,  1, 0, 2, 0);
-  Xen_define_dilambda(S_widget_position, g_widget_position_w, H_widget_position, S_set S_widget_position, g_set_widget_position_w,  1, 0, 2, 0);
-  Xen_define_dilambda(S_widget_text, g_widget_text_w, H_widget_text, S_set S_widget_text, g_set_widget_text_w,  1, 0, 2, 0);
-  Xen_define_dilambda(S_selection_color, g_selection_color_w, H_selection_color, S_set S_selection_color, g_set_selection_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_zoom_color, g_zoom_color_w, H_zoom_color, S_set S_zoom_color, g_set_zoom_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_position_color, g_position_color_w, H_position_color, S_set S_position_color, g_set_position_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_mark_color, g_mark_color_w, H_mark_color, S_set S_mark_color, g_set_mark_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_listener_color, g_listener_color_w, H_listener_color, S_set S_listener_color, g_set_listener_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_listener_text_color, g_listener_text_color_w, H_listener_text_color, S_set S_listener_text_color, g_set_listener_text_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_enved_waveform_color, g_enved_waveform_color_w, H_enved_waveform_color, S_set S_enved_waveform_color, g_set_enved_waveform_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_filter_control_waveform_color, g_filter_control_waveform_color_w, H_filter_control_waveform_color, S_set S_filter_control_waveform_color, g_set_filter_control_waveform_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_highlight_color, g_highlight_color_w, H_highlight_color, S_set S_highlight_color, g_set_highlight_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_cursor_color, g_cursor_color_w, H_cursor_color, S_set S_cursor_color, g_set_cursor_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_text_focus_color, g_text_focus_color_w, H_text_focus_color, S_set S_text_focus_color, g_set_text_focus_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_sash_color, g_sash_color_w, H_sash_color, S_set S_sash_color, g_set_sash_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_data_color, g_data_color_w, H_data_color, S_set S_data_color, g_set_data_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_graph_color, g_graph_color_w, H_graph_color, S_set S_graph_color, g_set_graph_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_selected_graph_color, g_selected_graph_color_w, H_selected_graph_color, S_set S_selected_graph_color, g_set_selected_graph_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_selected_data_color, g_selected_data_color_w, H_selected_data_color, S_set S_selected_data_color, g_set_selected_data_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_axis_color, g_axis_color_w, H_axis_color, S_set S_axis_color, g_set_axis_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_basic_color, g_basic_color_w, H_basic_color, S_set S_basic_color, g_set_basic_color_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_mix_color, g_mix_color_w, H_mix_color, S_set S_mix_color, g_set_mix_color_w, 0, 1, 1, 1);
-  Xen_define_dilambda(S_combined_data_color, g_combined_data_color_w, H_combined_data_color, S_set S_combined_data_color, g_set_combined_data_color_w, 2, 0, 3, 0);
-
-  Xen_define_safe_procedure(S_is_color,      g_is_color_w,        1, 0, 0, H_is_color);
-  Xen_define_safe_procedure(S_make_color,    g_make_color_w,     3, 1, 0, H_make_color);
-  Xen_define_safe_procedure(S_color_to_list, g_color_to_list_w,  1, 0, 0, H_color_to_list);
-
-  Xen_define_safe_procedure(S_make_bezier,   g_make_bezier_w, 0, 0, 1,     H_make_bezier);
-  Xen_define_safe_procedure(S_snd_gcs,       g_snd_gcs_w,     0, 0, 0,     H_snd_gcs);
-  Xen_define_safe_procedure(S_snd_color,     g_snd_color_w,   1, 0, 0,     H_snd_color);
-  Xen_define_safe_procedure(S_snd_font,      g_snd_font_w,    1, 0, 0,     H_snd_font);
-
-  Xen_define_safe_procedure(S_make_cairo,    g_make_cairo_w,  1, 0, 0,     H_make_cairo);
-  Xen_define_safe_procedure(S_free_cairo,    g_free_cairo_w,  1, 0, 0,     H_free_cairo);
+  Xen_define_typed_procedure(S_draw_line,        g_draw_line_w,       4, 4, 0, H_draw_line,       s7_make_signature(s7, 9, b, i, i, i, i, t, t, i, p));
+  Xen_define_typed_procedure(S_draw_dot,         g_draw_dot_w,        2, 5, 0, H_draw_dot,        s7_make_signature(s7, 8, b, i, i, i, t, t, i, p));
+  Xen_define_typed_procedure(S_draw_lines,       g_draw_lines_w,      1, 4, 0, H_draw_lines,      s7_make_signature(s7, 6, v, v, t, t, i, p));
+  Xen_define_typed_procedure(S_draw_dots,        g_draw_dots_w,       1, 5, 0, H_draw_dots,       s7_make_signature(s7, 7, v, v, i, t, t, i, p));
+  Xen_define_typed_procedure(S_draw_string,      g_draw_string_w,     3, 4, 0, H_draw_string,     s7_make_signature(s7, 8, s, s, i, i, t, t, i, p));
+  Xen_define_typed_procedure(S_fill_rectangle,   g_fill_rectangle_w,  4, 5, 0, H_fill_rectangle,  s7_make_signature(s7, 10, b, i, i, i, i, t, t, i, b, p));
+  Xen_define_typed_procedure(S_fill_polygon,     g_fill_polygon_w,    1, 4, 0, H_fill_polygon,    s7_make_signature(s7, 6, v, v, t, t, i, p));
+  Xen_define_typed_procedure(S_make_graph_data,  g_make_graph_data_w, 0, 5, 0, H_make_graph_data, s7_make_signature(s7, 6, t, t, t, t, i, i));
+  Xen_define_typed_procedure(S_graph_data,       g_graph_data_w,      1, 7, 0, H_graph_data,      s7_make_signature(s7, 9, t, t, t, t, t, i, i, i, p));
+
+  Xen_define_typed_procedure(S_main_widgets,     g_main_widgets_w,    0, 0, 0, H_main_widgets,   pcl_p);
+  Xen_define_typed_procedure(S_dialog_widgets,   g_dialog_widgets_w,  0, 0, 0, H_dialog_widgets, pcl_p);
+  Xen_define_typed_procedure(S_hide_widget,      g_hide_widget_w,     1, 0, 0, H_hide_widget,    pcl_t);
+  Xen_define_typed_procedure(S_show_widget,      g_show_widget_w,     1, 0, 0, H_show_widget,    pcl_t);
+  Xen_define_typed_procedure(S_focus_widget,     g_focus_widget_w,    1, 0, 0, H_focus_widget,   pcl_t);
+
+  Xen_define_typed_dilambda(S_foreground_color, g_foreground_color_w, H_foreground_color, 
+			    S_set S_foreground_color, g_set_foreground_color_w, 0, 3, 1, 3,
+			    s7_make_signature(s7, 4, p, t, t, i), s7_make_signature(s7, 5, p, t, t, i, p));
+  Xen_define_typed_dilambda(S_current_font, g_current_font_w, H_current_font, 
+			    S_set S_current_font, g_set_current_font_w, 0, 3, 1, 3,
+			    s7_make_signature(s7, 4, p, t, t, i), s7_make_signature(s7, 5, p, t, t, i, p));
+  Xen_define_typed_dilambda(S_widget_size, g_widget_size_w, H_widget_size, 
+			    S_set S_widget_size, g_set_widget_size_w,  1, 0, 2, 0,
+			    s7_make_signature(s7, 2, p, t), s7_make_signature(s7, 3, p, t, p));
+  Xen_define_typed_dilambda(S_widget_position, g_widget_position_w, H_widget_position, 
+			    S_set S_widget_position, g_set_widget_position_w,  1, 0, 2, 0,
+			    s7_make_signature(s7, 2, p, t), s7_make_signature(s7, 3, p, t, p));
+  Xen_define_typed_dilambda(S_widget_text, g_widget_text_w, H_widget_text, 
+			    S_set S_widget_text, g_set_widget_text_w,  1, 0, 2, 0,
+			    s7_make_signature(s7, 2, s, t), s7_make_signature(s7, 3, s, t, s));
+  Xen_define_typed_dilambda(S_mix_color, g_mix_color_w, H_mix_color, 
+			    S_set S_mix_color, g_set_mix_color_w, 0, 1, 1, 1,
+			    s7_make_signature(s7, 2, p, mx), s7_make_signature(s7, 3, p, mx, p));
+  Xen_define_typed_dilambda(S_combined_data_color, g_combined_data_color_w, H_combined_data_color, 
+			    S_set S_combined_data_color, g_set_combined_data_color_w, 2, 0, 3, 0,
+			    s7_make_signature(s7, 3, p, t, t), s7_make_signature(s7, 4, p, t, t, p));
+
+  Xen_define_typed_dilambda(S_selection_color, g_selection_color_w, H_selection_color, 
+			    S_set S_selection_color, g_set_selection_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_zoom_color, g_zoom_color_w, H_zoom_color, 
+			    S_set S_zoom_color, g_set_zoom_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_position_color, g_position_color_w, H_position_color, 
+			    S_set S_position_color, g_set_position_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_mark_color, g_mark_color_w, H_mark_color, 
+			    S_set S_mark_color, g_set_mark_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_listener_color, g_listener_color_w, H_listener_color, 
+			    S_set S_listener_color, g_set_listener_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_listener_text_color, g_listener_text_color_w, H_listener_text_color, 
+			    S_set S_listener_text_color, g_set_listener_text_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_enved_waveform_color, g_enved_waveform_color_w, H_enved_waveform_color, 
+			    S_set S_enved_waveform_color, g_set_enved_waveform_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_filter_control_waveform_color, g_filter_control_waveform_color_w, H_filter_control_waveform_color, 
+			    S_set S_filter_control_waveform_color, g_set_filter_control_waveform_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_highlight_color, g_highlight_color_w, H_highlight_color, 
+			    S_set S_highlight_color, g_set_highlight_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_cursor_color, g_cursor_color_w, H_cursor_color, 
+			    S_set S_cursor_color, g_set_cursor_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_text_focus_color, g_text_focus_color_w, H_text_focus_color, 
+			    S_set S_text_focus_color, g_set_text_focus_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_sash_color, g_sash_color_w, H_sash_color, 
+			    S_set S_sash_color, g_set_sash_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_data_color, g_data_color_w, H_data_color, 
+			    S_set S_data_color, g_set_data_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_graph_color, g_graph_color_w, H_graph_color, 
+			    S_set S_graph_color, g_set_graph_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_selected_graph_color, g_selected_graph_color_w, H_selected_graph_color, 
+			    S_set S_selected_graph_color, g_set_selected_graph_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_selected_data_color, g_selected_data_color_w, H_selected_data_color, 
+			    S_set S_selected_data_color, g_set_selected_data_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_axis_color, g_axis_color_w, H_axis_color, 
+			    S_set S_axis_color, g_set_axis_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+  Xen_define_typed_dilambda(S_basic_color, g_basic_color_w, H_basic_color, 
+			    S_set S_basic_color, g_set_basic_color_w,  0, 0, 1, 0, pcl_p, pcl_p);
+
+  Xen_define_typed_procedure(S_is_color,      g_is_color_w,       1, 0, 0, H_is_color,      s7_make_signature(s7, 2, b, p));
+  Xen_define_typed_procedure(S_make_color,    g_make_color_w,     3, 1, 0, H_make_color,    s7_make_circular_signature(s7, 1, 2, p, r));
+  Xen_define_typed_procedure(S_color_to_list, g_color_to_list_w,  1, 0, 0, H_color_to_list, s7_make_signature(s7, 2, p, p));
+
+  Xen_define_typed_procedure(S_make_bezier,   g_make_bezier_w,    0, 0, 1,  H_make_bezier,  s7_make_circular_signature(s7, 1, 2, v, r));
+  Xen_define_typed_procedure(S_snd_gcs,       g_snd_gcs_w,        0, 0, 0,  H_snd_gcs,      s7_make_signature(s7, 1, p));
+  Xen_define_typed_procedure(S_snd_color,     g_snd_color_w,      1, 0, 0,  H_snd_color,    s7_make_signature(s7, 2, p, i));
+  Xen_define_typed_procedure(S_snd_font,      g_snd_font_w,       1, 0, 0,  H_snd_font,     s7_make_signature(s7, 2, p, i));
+
+  Xen_define_typed_procedure(S_make_cairo,    g_make_cairo_w,     1, 0, 0,  H_make_cairo,   s7_make_signature(s7, 2, p, t));
+  Xen_define_typed_procedure(S_free_cairo,    g_free_cairo_w,     1, 0, 0,  H_free_cairo,   s7_make_signature(s7, 2, b, p));
 
   #define H_new_widget_hook S_new_widget_hook " (widget): called each time a dialog or \
 a new set of channel or sound widgets is created."
diff --git a/snd-edits.c b/snd-edits.c
index 1722aa0..eefe833 100644
--- a/snd-edits.c
+++ b/snd-edits.c
@@ -9235,6 +9235,21 @@ Xen_wrap_1_arg(g_edit_fragment_type_name_w, g_edit_fragment_type_name)
 void g_init_edits(void)
 {
 #if HAVE_SCHEME
+  s7_pointer b, i, p, t, f, fnc, fv, r, s, smp, x, rg, pl_fx;
+  b = s7_make_symbol(s7, "boolean?");
+  i = s7_make_symbol(s7, "integer?");
+  p = s7_make_symbol(s7, "pair?");
+  f = s7_make_symbol(s7, "float?");
+  fv = s7_make_symbol(s7, "float-vector?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  rg = s7_make_symbol(s7, "region?");
+  fnc = s7_make_symbol(s7, "procedure?");
+  smp = s7_make_symbol(s7, "sampler?");
+  x = s7_make_signature(s7, 2, smp, s7_make_symbol(s7, "mix-sampler?"));
+  t = s7_t(s7);
+  pl_fx = s7_make_signature(s7, 2, f, x);
+
   sf_tag = s7_new_type_x(s7, "<sampler>", print_sf, free_sf, s7_equalp_sf, NULL, s7_read_sample, NULL, length_sf, NULL, NULL, NULL);
 #else
   sf_tag = Xen_make_object_type("Sampler", sizeof(snd_fd));
@@ -9253,60 +9268,67 @@ void g_init_edits(void)
 
   Xen_define_constant(S_current_edit_position,   AT_CURRENT_EDIT_POSITION,  "represents the current edit history list position (-1)");
 
-  Xen_define_safe_procedure(S_make_sampler,           g_make_sampler_w,           0, 5, 0, H_make_sampler);
-  Xen_define_safe_procedure(S_make_region_sampler,    g_make_region_sampler_w,    1, 3, 0, H_make_region_sampler);
-  Xen_define_safe_procedure(S_read_sample,            g_read_sample_w,            1, 0, 0, H_read_sample);
-  Xen_define_safe_procedure(S_read_sample_with_direction, g_read_sample_with_direction_w, 2, 0, 0, H_read_sample_with_direction);
-  Xen_define_safe_procedure(S_read_region_sample,     g_read_sample_w,            1, 0, 0, H_read_sample);
-  Xen_define_safe_procedure(S_next_sample,            g_next_sample_w,            1, 0, 0, H_next_sample);
-  Xen_define_safe_procedure(S_previous_sample,        g_previous_sample_w,        1, 0, 0, H_previous_sample);
-  Xen_define_safe_procedure(S_free_sampler,           g_free_sampler_w,           1, 0, 0, H_free_sampler);
-  Xen_define_safe_procedure(S_sampler_home,           g_sampler_home_w,           1, 0, 0, H_sampler_home);
-  Xen_define_safe_procedure(S_is_sampler,             g_is_sampler_w,             1, 0, 0, H_is_sampler);
-  Xen_define_safe_procedure(S_is_region_sampler,      g_region_is_sampler_w,      1, 0, 0, H_region_is_sampler);
-  Xen_define_safe_procedure(S_is_sampler_at_end,      g_sampler_at_end_w,         1, 0, 0, H_sampler_at_end);
-  Xen_define_safe_procedure(S_sampler_position,       g_sampler_position_w,       1, 0, 0, H_sampler_position);
-  Xen_define_safe_procedure(S_copy_sampler,           g_copy_sampler_w,           1, 0, 0, H_copy_sampler);
-
-  Xen_define_safe_procedure(S_save_edit_history,      g_save_edit_history_w,            1, 2, 0, H_save_edit_history);
-  Xen_define_safe_procedure(S_edit_fragment,          g_edit_fragment_w,                0, 3, 0, H_edit_fragment);
-  Xen_define_safe_procedure(S_edit_fragment_type_name,g_edit_fragment_type_name_w,      1, 0, 0, "internal testing function");
-
-  Xen_define_safe_procedure(S_undo,                   g_undo_w,                         0, 3, 0, H_undo);
+  Xen_define_typed_procedure(S_make_sampler,        g_make_sampler_w,        0, 5, 0, H_make_sampler,     s7_make_signature(s7, 6, smp, i, t, t, t, t));
+  Xen_define_typed_procedure(S_make_region_sampler, g_make_region_sampler_w, 1, 3, 0, H_make_region_sampler, s7_make_signature(s7, 5, smp, rg, i, i, i));
+  Xen_define_typed_procedure(S_read_sample,         g_read_sample_w,         1, 0, 0, H_read_sample,      pl_fx);
+  Xen_define_typed_procedure(S_read_sample_with_direction, g_read_sample_with_direction_w, 2, 0, 0, H_read_sample_with_direction, s7_make_signature(s7, 3, f, x, i));
+  Xen_define_typed_procedure(S_read_region_sample,  g_read_sample_w,         1, 0, 0, H_read_sample,      pl_fx);
+  Xen_define_typed_procedure(S_next_sample,         g_next_sample_w,         1, 0, 0, H_next_sample,      pl_fx);
+  Xen_define_typed_procedure(S_previous_sample,     g_previous_sample_w,     1, 0, 0, H_previous_sample,  pl_fx);
+  Xen_define_typed_procedure(S_free_sampler,        g_free_sampler_w,        1, 0, 0, H_free_sampler,     s7_make_signature(s7, 2, b, x));
+  Xen_define_typed_procedure(S_sampler_home,        g_sampler_home_w,        1, 0, 0, H_sampler_home,     s7_make_signature(s7, 2, t, x));
+  Xen_define_typed_procedure(S_is_sampler,          g_is_sampler_w,          1, 0, 0, H_is_sampler,       s7_make_signature(s7, 2, b, t));
+  Xen_define_typed_procedure(S_is_region_sampler,   g_region_is_sampler_w,   1, 0, 0, H_region_is_sampler, s7_make_signature(s7, 2, b, x));
+  Xen_define_typed_procedure(S_is_sampler_at_end,   g_sampler_at_end_w,      1, 0, 0, H_sampler_at_end,   s7_make_signature(s7, 2, b, x));
+  Xen_define_typed_procedure(S_sampler_position,    g_sampler_position_w,    1, 0, 0, H_sampler_position, s7_make_signature(s7, 2, i, x));
+  Xen_define_typed_procedure(S_copy_sampler,        g_copy_sampler_w,        1, 0, 0, H_copy_sampler,     s7_make_signature(s7, 2, x, x));
+
+  Xen_define_typed_procedure(S_save_edit_history,   g_save_edit_history_w,   1, 2, 0, H_save_edit_history, s7_make_signature(s7, 4, s, s, t, t));
+  Xen_define_typed_procedure(S_edit_fragment,       g_edit_fragment_w,       0, 3, 0, H_edit_fragment,    s7_make_signature(s7, 4, p, i, t, t));
+  Xen_define_typed_procedure(S_edit_fragment_type_name,g_edit_fragment_type_name_w, 1, 0, 0, "internal testing function", s7_make_signature(s7, 2, s, i));
+
+  Xen_define_typed_procedure(S_undo,                g_undo_w,                0, 3, 0, H_undo,             s7_make_signature(s7, 4, i, i, t, t));
 #if HAVE_RUBY
-  Xen_define_procedure("undo_edit",                   g_undo_w,                         0, 3, 0, H_undo);
-#endif
-  Xen_define_safe_procedure(S_redo,                   g_redo_w,                         0, 3, 0, H_redo);
-  Xen_define_procedure(S_as_one_edit,                 g_as_one_edit_w,                  1, 1, 0, H_as_one_edit);
-  Xen_define_safe_procedure(S_display_edits,          g_display_edits_w,                0, 3, 0, H_display_edits);
-  Xen_define_safe_procedure(S_edit_tree,              g_edit_tree_w,                    0, 3, 0, H_edit_tree);
-
-  Xen_define_safe_procedure(S_delete_sample,          g_delete_sample_w,                1, 3, 0, H_delete_sample);
-  Xen_define_safe_procedure(S_delete_samples,         g_delete_samples_w,               2, 3, 0, H_delete_samples);
-  Xen_define_safe_procedure(S_insert_sample,          g_insert_sample_w,                2, 3, 0, H_insert_sample);
-  Xen_define_safe_procedure(S_insert_samples,         g_insert_samples_w,               3, 5, 0, H_insert_samples);
-  Xen_define_safe_procedure(S_vct_to_channel,         g_vct_to_channel_w,               1, 6, 0, H_vct_to_channel);
-  Xen_define_safe_procedure(S_channel_to_vct,         g_channel_to_vct_w,               0, 5, 0, H_channel_to_vct);
-  Xen_define_safe_procedure(S_insert_sound,           g_insert_sound_w,                 1, 6, 0, H_insert_sound);
-  Xen_define_safe_procedure(S_scale_channel,          g_scale_channel_w,                1, 5, 0, H_scale_channel);
-  Xen_define_safe_procedure(S_normalize_channel,      g_normalize_channel_w,            1, 5, 0, H_normalize_channel);
-
-  Xen_define_procedure(S_change_samples_with_origin,   g_change_samples_with_origin_w,   7, 1, 0, "internal function used in save-state");
-  Xen_define_procedure(S_insert_samples_with_origin,   g_insert_samples_with_origin_w,   7, 1, 0, "internal function used in save-state");
-  Xen_define_procedure(S_override_samples_with_origin, g_override_samples_with_origin_w, 5, 1, 0, "internal function used in save-state");
-
-  Xen_define_dilambda(S_sample,  g_sample_w,  H_sample,  S_set S_sample,  g_set_sample_w,  0, 4, 1, 4);
-  Xen_define_dilambda(S_samples, g_samples_w, H_samples, S_set S_samples, g_set_samples_w, 0, 5, 3, 7);
+  Xen_define_procedure("undo_edit",                 g_undo_w,                0, 3, 0, H_undo);
+#endif 
+  Xen_define_typed_procedure(S_redo,                g_redo_w,                0, 3, 0, H_redo,             s7_make_signature(s7, 4, i, i, t, t));
+  Xen_define_typed_procedure(S_as_one_edit,         g_as_one_edit_w,         1, 1, 0, H_as_one_edit,      s7_make_signature(s7, 3, t, fnc, s));
+  Xen_define_typed_procedure(S_display_edits,       g_display_edits_w,       0, 3, 0, H_display_edits,    s7_make_circular_signature(s7, 1, 2, s, t));
+  Xen_define_typed_procedure(S_edit_tree,           g_edit_tree_w,           0, 3, 0, H_edit_tree,        s7_make_circular_signature(s7, 1, 2, p, t));
+
+  Xen_define_typed_procedure(S_delete_sample,       g_delete_sample_w,       1, 3, 0, H_delete_sample,    s7_make_circular_signature(s7, 2, 3, i, i, t));
+  Xen_define_typed_procedure(S_delete_samples,      g_delete_samples_w,      2, 3, 0, H_delete_samples,   s7_make_circular_signature(s7, 3, 4, i, i, i, t));
+  Xen_define_typed_procedure(S_insert_sample,       g_insert_sample_w,       2, 3, 0, H_insert_sample,    s7_make_circular_signature(s7, 2, 3, i, r, t));
+  Xen_define_typed_procedure(S_insert_samples,      g_insert_samples_w,      3, 5, 0, H_insert_samples,   s7_make_signature(s7, 9, i, i, i, t, t, t, t, b, s));
+  Xen_define_typed_procedure(S_vct_to_channel,      g_vct_to_channel_w,      1, 6, 0, H_vct_to_channel,   s7_make_circular_signature(s7, 0, 1, t));
+  Xen_define_typed_procedure(S_channel_to_vct,      g_channel_to_vct_w,      0, 5, 0, H_channel_to_vct,   s7_make_circular_signature(s7, 3, 4, fv, i, t, t));
+  Xen_define_typed_procedure(S_insert_sound,        g_insert_sound_w,        1, 6, 0, H_insert_sound,     s7_make_circular_signature(s7, 4, 5, i, s, i, i, t));
+  Xen_define_typed_procedure(S_scale_channel,       g_scale_channel_w,       1, 5, 0, H_scale_channel,    s7_make_circular_signature(s7, 2, 3, r, r, t));
+  Xen_define_typed_procedure(S_normalize_channel,   g_normalize_channel_w,   1, 5, 0, H_normalize_channel,s7_make_circular_signature(s7, 2, 3, r, r, t));
+
+  Xen_define_typed_procedure(S_change_samples_with_origin,   g_change_samples_with_origin_w,   7, 1, 0, "internal function used in save-state",
+			     s7_make_circular_signature(s7, 0, 1, t));
+  Xen_define_typed_procedure(S_insert_samples_with_origin,   g_insert_samples_with_origin_w,   7, 1, 0, "internal function used in save-state",
+			     s7_make_circular_signature(s7, 0, 1, t));
+  Xen_define_typed_procedure(S_override_samples_with_origin, g_override_samples_with_origin_w, 5, 1, 0, "internal function used in save-state",
+			     s7_make_circular_signature(s7, 0, 1, t));
+
+  Xen_define_typed_dilambda(S_sample,  g_sample_w,  H_sample,  S_set S_sample,  g_set_sample_w,  0, 4, 1, 4,
+			    s7_make_signature(s7, 5, r, i, t, t, t), s7_make_signature(s7, 6, r, i, t, t, t, r));
+  Xen_define_typed_dilambda(S_samples, g_samples_w, H_samples, S_set S_samples, g_set_samples_w, 0, 5, 3, 7,
+			    s7_make_circular_signature(s7, 2, 3, t, i, t), s7_make_circular_signature(s7, 0, 1, t));
 
 #if HAVE_SCHEME
-  Xen_define_procedure("set-sample",                   orig_g_set_sample_w,              2, 3, 0, H_sample);   /* for edit-list->function */
+  Xen_define_typed_procedure("set-sample",          orig_g_set_sample_w,     2, 3, 0, H_sample,      s7_make_circular_signature(s7, 3, 4, r, i, r, t));
 #endif
-  Xen_define_procedure("set-samples",                  orig_g_set_samples_w,             0, 0, 1, H_set_samples);
+  Xen_define_typed_procedure("set-samples",         orig_g_set_samples_w,    0, 0, 1, H_set_samples, s7_make_circular_signature(s7, 3, 4, r, i, r, t));
 
-  Xen_define_safe_procedure(S_is_snd_to_sample,             g_is_snd_to_sample_w,             1, 0, 0, H_is_snd_to_sample);
-  Xen_define_procedure(S_make_snd_to_sample,           g_make_snd_to_sample_w,           0, 1, 0, H_make_snd_to_sample);
-  Xen_define_procedure(S_snd_to_sample,                g_snd_to_sample_w,                2, 1, 0, H_snd_to_sample);
+  Xen_define_typed_procedure(S_is_snd_to_sample,    g_is_snd_to_sample_w,    1, 0, 0, H_is_snd_to_sample,   s7_make_signature(s7, 2, b, t));
+  Xen_define_typed_procedure(S_make_snd_to_sample,  g_make_snd_to_sample_w,  0, 1, 0, H_make_snd_to_sample, s7_make_signature(s7, 2, t, t));
+  Xen_define_typed_procedure(S_snd_to_sample,       g_snd_to_sample_w,       2, 1, 0, H_snd_to_sample,      s7_make_signature(s7, 4, f, t, i, i));
+  /* Xen_define_typed_procedure(S_edit_list_to_function, g_edit_list_to_function_w, 0, 4, 0, H_edit_list_to_function, s7_make_signature(s7, 5, t, t, t, i, i)); */
   Xen_define_procedure(S_edit_list_to_function,        g_edit_list_to_function_w,        0, 4, 0, H_edit_list_to_function);
+  /* not safe because it calls eval-string */
 
   #define H_save_hook S_save_hook " (snd name): called each time a file is about to be saved. \
 If it returns " PROC_TRUE ", the file is not saved.  'name' is " PROC_FALSE " unless the file is being saved under a new name (as in sound-save-as)."
@@ -9331,7 +9353,6 @@ keep track of which files are in a given saved state batch, and a way to rename
   mus_generator_set_location(snd_to_sample_class, snd_to_sample_location);
   mus_generator_set_extended_type(snd_to_sample_class, MUS_INPUT);
 
-
 #if HAVE_SCHEME
   {
     s7_pointer f;
diff --git a/snd-env.c b/snd-env.c
index 43a2397..cc91d1c 100644
--- a/snd-env.c
+++ b/snd-env.c
@@ -1849,6 +1849,16 @@ void g_init_env(void)
   #define H_enved_spectrum "The value for " S_enved_target " that sets the envelope editor 'flt' button."
   #define H_enved_srate "The value for " S_enved_target " that sets the envelope editor 'src' button."
 
+#if HAVE_SCHEME
+  s7_pointer i, b, l, t, r, s;
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  l = s7_make_symbol(s7, "list?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  t = s7_t(s7);
+#endif
+
   Xen_define_constant(S_enved_amplitude, ENVED_AMPLITUDE, H_enved_amplitude);
   Xen_define_constant(S_enved_spectrum,  ENVED_SPECTRUM,  H_enved_spectrum);
   Xen_define_constant(S_enved_srate,     ENVED_SRATE,     H_enved_srate);
@@ -1856,23 +1866,28 @@ void g_init_env(void)
   Xen_define_constant(S_envelope_linear,      ENVELOPE_LINEAR,      S_enved_style " choice: linear connections between breakpoints");
   Xen_define_constant(S_envelope_exponential, ENVELOPE_EXPONENTIAL, S_enved_style " choice: exponential connections between breakpoints");
 
-  Xen_define_dilambda(S_enved_base,   g_enved_base_w,   H_enved_base,   S_set S_enved_base,   g_set_enved_base_w,    0, 0, 1, 0);
-  Xen_define_dilambda(S_enved_power,  g_enved_power_w,  H_enved_power,  S_set S_enved_power,  g_set_enved_power_w,   0, 0, 1, 0);
-  Xen_define_dilambda(S_enved_clipping, g_enved_clipping_w, H_enved_clipping, S_set S_enved_clipping, g_set_enved_clipping_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_enved_style,  g_enved_style_w,  H_enved_style,  S_set S_enved_style,  g_set_enved_style_w,   0, 0, 1, 0);
-  Xen_define_dilambda(S_enved_target, g_enved_target_w, H_enved_target, S_set S_enved_target, g_set_enved_target_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_enved_with_wave, g_enved_with_wave_w, H_enved_with_wave, S_set S_enved_with_wave, g_set_enved_with_wave_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_enved_in_dB,  g_enved_in_dB_w,  H_enved_in_dB,  S_set S_enved_in_dB,  g_set_enved_in_dB_w,   0, 0, 1, 0);
-
-  Xen_define_dilambda(S_enved_filter_order, g_enved_filter_order_w, H_enved_filter_order,
-				   S_set S_enved_filter_order, g_set_enved_filter_order_w,  0, 0, 1, 0);
-
-  Xen_define_safe_procedure(S_enved_dialog,    g_enved_dialog_w,    0, 0, 0, H_enved_dialog);
-  Xen_define_safe_procedure(S_save_envelopes,  g_save_envelopes_w,  0, 1, 0, H_save_envelopes);
-
+  Xen_define_typed_dilambda(S_enved_base,   g_enved_base_w,   H_enved_base,   
+			    S_set S_enved_base, g_set_enved_base_w, 0, 0, 1, 0, s7_make_signature(s7, 1, r), s7_make_signature(s7, 2, r, r));
+  Xen_define_typed_dilambda(S_enved_power,  g_enved_power_w,  H_enved_power,  
+			    S_set S_enved_power,  g_set_enved_power_w,   0, 0, 1, 0, s7_make_signature(s7, 1, r), s7_make_signature(s7, 2, r, r));
+  Xen_define_typed_dilambda(S_enved_clipping, g_enved_clipping_w, H_enved_clipping, 
+			    S_set S_enved_clipping, g_set_enved_clipping_w, 0, 0, 1, 0, s7_make_signature(s7, 1, b), s7_make_signature(s7, 2, b, b));
+  Xen_define_typed_dilambda(S_enved_style,  g_enved_style_w,  H_enved_style, 
+			    S_set S_enved_style, g_set_enved_style_w, 0, 0, 1, 0, s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
+  Xen_define_typed_dilambda(S_enved_target, g_enved_target_w, H_enved_target, 
+			    S_set S_enved_target, g_set_enved_target_w,  0, 0, 1, 0, s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
+  Xen_define_typed_dilambda(S_enved_with_wave, g_enved_with_wave_w, H_enved_with_wave, 
+			    S_set S_enved_with_wave, g_set_enved_with_wave_w,  0, 0, 1, 0, s7_make_signature(s7, 1, b), s7_make_signature(s7, 2, b, b));
+  Xen_define_typed_dilambda(S_enved_in_dB,  g_enved_in_dB_w,  H_enved_in_dB,  
+			    S_set S_enved_in_dB, g_set_enved_in_dB_w, 0, 0, 1, 0, s7_make_signature(s7, 1, b), s7_make_signature(s7, 2, b, b));
+  Xen_define_typed_dilambda(S_enved_filter_order, g_enved_filter_order_w, H_enved_filter_order,
+			    S_set S_enved_filter_order, g_set_enved_filter_order_w,  0, 0, 1, 0, s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
+
+  Xen_define_typed_procedure(S_enved_dialog,    g_enved_dialog_w,    0, 0, 0, H_enved_dialog,   s7_make_signature(s7, 1, t));
+  Xen_define_typed_procedure(S_save_envelopes,  g_save_envelopes_w,  0, 1, 0, H_save_envelopes, s7_make_signature(s7, 2, s, s));
 
 #if HAVE_SCHEME
-  Xen_define_safe_procedure(S_define_envelope "-1", g_define_envelope_w, 2, 1, 0, H_define_envelope);
+  Xen_define_typed_procedure(S_define_envelope "-1", g_define_envelope_w, 2, 1, 0, H_define_envelope, s7_make_signature(s7, 4, t, s, l, r));
   Xen_eval_C_string("(define-macro (define-envelope a . b) `(define-envelope-1 ',a , at b))");
 #else
   Xen_define_procedure(S_define_envelope, g_define_envelope_w, 2, 1, 0, H_define_envelope);
diff --git a/snd-fft.c b/snd-fft.c
index d412923..87021c7 100644
--- a/snd-fft.c
+++ b/snd-fft.c
@@ -233,7 +233,7 @@ int find_and_sort_peaks(mus_float_t *buf, fft_peak *found, int num_peaks, mus_lo
 
   mus_long_t i, j;
   int pks, minpk;
-  mus_float_t minval, la, ra, ca;
+  mus_float_t minval, ra, ca;
   mus_float_t *peaks;
   mus_long_t *inds;
 
@@ -242,13 +242,13 @@ int find_and_sort_peaks(mus_float_t *buf, fft_peak *found, int num_peaks, mus_lo
   inds = (mus_long_t *)calloc(num_peaks, sizeof(mus_long_t));
 
   pks = 0;
-  /* la = 0.0; */
   ca = 0.0;
   ra = 0.0;
   minval = 0.00001;
 
   for (i = losamp; i < hisamp; i++)
     {
+      mus_float_t la;
       la = ca;
       ca = ra;
       ra = buf[i];
@@ -2433,6 +2433,19 @@ static Xen transform_temp[6]; /* static for Ruby's sake */
 void g_init_fft(void)
 {
 #if HAVE_SCHEME
+  s7_pointer i, b, p, t, fv, r, s, tr, pr;
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  p = s7_make_symbol(s7, "pair?");
+  fv = s7_make_symbol(s7, "float-vector?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  tr = s7_make_symbol(s7, "transform?");
+  pr = s7_make_symbol(s7, "procedure?");
+  t = s7_t(s7);
+#endif
+
+#if HAVE_SCHEME
   #define H_before_transform_hook S_before_transform_hook " (snd chn): called just before a transform is calculated.  If it returns \
 an integer, it is used as the starting point of the transform.  The following \
 somewhat brute-force code shows a way to have the transform reflect the position \
@@ -2505,22 +2518,25 @@ of a moving mark:\n\
   Xen_define_constant(S_normalize_by_sound,    NORMALIZE_BY_SOUND,   H_normalize_by_sound);
   Xen_define_constant(S_normalize_globally,    NORMALIZE_GLOBALLY,   H_normalize_globally);
 
-  Xen_define_safe_procedure(S_transform_framples,   g_transform_framples_w, 0, 2, 0, H_transform_framples);
-  Xen_define_safe_procedure(S_transform_sample,     g_transform_sample_w, 0, 4, 0, H_transform_sample);
-  Xen_define_safe_procedure(S_transform_to_vct,     g_transform_to_vct_w, 0, 3, 0, H_transform_to_vct);
-  Xen_define_safe_procedure(S_add_transform,        g_add_transform_w,    5, 0, 0, H_add_transform);
-  Xen_define_safe_procedure(S_is_transform,         g_is_transform_w,     1, 0, 0, H_is_transform);
-  Xen_define_safe_procedure(S_delete_transform,     g_delete_transform_w, 1, 0, 0, H_delete_transform);
-  Xen_define_safe_procedure("snd-transform",        g_snd_transform_w,    2, 1, 0, H_snd_transform);
-
-  Xen_define_dilambda(S_log_freq_start, g_log_freq_start_w, H_log_freq_start,
-				   S_set S_log_freq_start, g_set_log_freq_start_w,  0, 0, 1, 0);
-
-  Xen_define_dilambda(S_show_selection_transform, g_show_selection_transform_w, H_show_selection_transform,
-				   S_set S_show_selection_transform, g_set_show_selection_transform_w,  0, 0, 1, 0);
-
-  Xen_define_safe_procedure(S_integer_to_transform, g_integer_to_transform_w, 1, 0, 0, H_integer_to_transform);
-  Xen_define_safe_procedure(S_transform_to_integer, g_transform_to_integer_w, 1, 0, 0, H_transform_to_integer);
+  Xen_define_typed_procedure(S_transform_framples,   g_transform_framples_w, 0, 2, 0, H_transform_framples,
+			     s7_make_signature(s7, 3, s7_make_signature(s7, 2, i, p), t, t));
+  Xen_define_typed_procedure(S_transform_sample,     g_transform_sample_w, 0, 4, 0, H_transform_sample, s7_make_signature(s7, 5, r, i, i, t, t));
+  Xen_define_typed_procedure(S_transform_to_vct,     g_transform_to_vct_w, 0, 3, 0, H_transform_to_vct, s7_make_signature(s7, 4, fv, t, t, fv));
+  Xen_define_typed_procedure(S_add_transform,        g_add_transform_w,    5, 0, 0, H_add_transform,    s7_make_signature(s7, 6, tr, s, s, r, r, pr));
+  Xen_define_typed_procedure(S_is_transform,         g_is_transform_w,     1, 0, 0, H_is_transform,     s7_make_signature(s7, 2, b, t));
+  Xen_define_typed_procedure(S_delete_transform,     g_delete_transform_w, 1, 0, 0, H_delete_transform, s7_make_signature(s7, 2, b, tr));
+  Xen_define_typed_procedure("snd-transform",        g_snd_transform_w,    2, 1, 0, H_snd_transform,    s7_make_signature(s7, 4, fv, tr, fv, i));
+
+  Xen_define_typed_dilambda(S_log_freq_start, g_log_freq_start_w, H_log_freq_start,
+			    S_set S_log_freq_start, g_set_log_freq_start_w, 0, 0, 1, 0, 
+			    s7_make_signature(s7, 1, r), s7_make_signature(s7, 2, r, r));
+
+  Xen_define_typed_dilambda(S_show_selection_transform, g_show_selection_transform_w, H_show_selection_transform,
+			    S_set S_show_selection_transform, g_set_show_selection_transform_w, 0, 0, 1, 0, 
+			    s7_make_signature(s7, 1, b), s7_make_signature(s7, 2, b, b));
+
+  Xen_define_typed_procedure(S_integer_to_transform, g_integer_to_transform_w, 1, 0, 0, H_integer_to_transform, s7_make_signature(s7, 2, tr, i));
+  Xen_define_typed_procedure(S_transform_to_integer, g_transform_to_integer_w, 1, 0, 0, H_transform_to_integer, s7_make_signature(s7, 2, i, tr));
 
 #if HAVE_SCHEME
   s7_symbol_set_access(s7, ss->log_freq_start_symbol, s7_make_function(s7, "[acc-" S_log_freq_start "]", acc_log_freq_start, 2, 0, false, "accessor"));
diff --git a/snd-file.c b/snd-file.c
index 00609a9..f699a70 100644
--- a/snd-file.c
+++ b/snd-file.c
@@ -2315,7 +2315,6 @@ static char *quoted_filename(const char *filename, bool *new_name)
       return(name);
     }
   (*new_name) = false;
-  fprintf(stderr, "not quoted: %s\n", filename);
   return((char *)filename);
 }
 
@@ -3746,7 +3745,7 @@ static s7_pointer acc_clipping(s7_scheme *sc, s7_pointer args) {return(g_set_cli
 void g_init_file(void)
 {
 #if HAVE_SCHEME
-  s7_pointer pl_b, pl_bb, pl_i, pl_ii, pl_s, pl_ss, pl_d, pl_dr, pl_zb, pl_l, pl_ll, pl_bs, pl_is, pl_lt, pl_zt, pl_zss, pl_ltl, pl_ls;
+  s7_pointer pl_b, pl_bb, pl_i, pl_ii, pl_s, pl_ss, pl_d, pl_dr, pl_zb, pl_l, pl_ll, pl_bs, pl_is, pl_lt, pl_zt, pl_zss, pl_ltl, pl_ls, pl_isf;
   {
     s7_pointer i, b, d, r, s, p, l, t, z;
     i = s7_make_symbol(s7, "integer?");
@@ -3777,6 +3776,7 @@ void g_init_file(void)
     pl_lt = s7_make_signature(s7, 2, l, t);
     pl_ls = s7_make_signature(s7, 2, l, s);
     pl_ltl = s7_make_signature(s7, 3, l, t, l);
+    pl_isf = s7_make_signature(s7, 3, i, s, s7_make_symbol(s7, "procedure?"));
   }
 #endif
 
@@ -3939,8 +3939,8 @@ the newly updated sound may have a different index."
   Xen_define_typed_dilambda(S_clipping, g_clipping_w, H_clipping,
 			    S_set S_clipping, g_set_clipping_w,  0, 0, 1, 0, pl_b, pl_bb);
   
-  Xen_define_safe_procedure(S_add_file_filter,    g_add_file_filter_w,    2, 0, 0, H_add_file_filter);
-  Xen_define_safe_procedure(S_delete_file_filter, g_delete_file_filter_w, 1, 0, 0, H_delete_file_filter);
+  Xen_define_typed_procedure(S_add_file_filter,    g_add_file_filter_w,    2, 0, 0, H_add_file_filter, pl_isf);
+  Xen_define_typed_procedure(S_delete_file_filter, g_delete_file_filter_w, 1, 0, 0, H_delete_file_filter, pl_ii);
 
   ss->file_filters_size = INITIAL_FILE_FILTERS_SIZE;
   ss->file_filters = Xen_make_vector(ss->file_filters_size, Xen_false);
diff --git a/snd-find.c b/snd-find.c
index 279eafb..b2ebb17 100644
--- a/snd-find.c
+++ b/snd-find.c
@@ -275,6 +275,7 @@ Xen_wrap_1_arg(g_set_search_procedure_w, g_set_search_procedure)
 
 void g_init_find(void)
 {
-  Xen_define_dilambda(S_search_procedure, g_search_procedure_w, H_search_procedure,
-				   S_set S_search_procedure, g_set_search_procedure_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_search_procedure, g_search_procedure_w, H_search_procedure,
+			    S_set S_search_procedure, g_set_search_procedure_w,  0, 0, 1, 0,
+			    s7_make_circular_signature(s7, 0, 1, s7_t(s7)), s7_make_circular_signature(s7, 0, 1, s7_t(s7)));
 }
diff --git a/snd-gchn.c b/snd-gchn.c
index e9e623d..0c9e9fd 100644
--- a/snd-gchn.c
+++ b/snd-gchn.c
@@ -1379,12 +1379,22 @@ static s7_pointer acc_graph_cursor(s7_scheme *sc, s7_pointer args) {return(g_set
 
 void g_init_gxchn(void)
 {
-  Xen_define_procedure(S_in,            g_in_w,             2, 0, 0, H_in);
+#if HAVE_SCHEME
+  s7_pointer i, t, r, p, fnc;
+  r = s7_make_symbol(s7, "real?");
+  fnc = s7_make_symbol(s7, "procedure?");
+  i = s7_make_symbol(s7, "integer?");
+  p = s7_make_symbol(s7, "pair?");
+  t = s7_t(s7);
+#endif
+
+  Xen_define_typed_procedure(S_in, g_in_w, 2, 0, 0, H_in, s7_make_signature(s7, 3, r, r, fnc));
 
-  Xen_define_dilambda(S_graph_cursor, g_graph_cursor_w, H_graph_cursor,
-				   S_set S_graph_cursor, g_set_graph_cursor_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_graph_cursor, g_graph_cursor_w, H_graph_cursor,
+			    S_set S_graph_cursor, g_set_graph_cursor_w,  0, 0, 1, 0,
+			    s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
 
-  Xen_define_procedure(S_channel_widgets, g_channel_widgets_w, 0, 2, 0, H_channel_widgets);
+  Xen_define_typed_procedure(S_channel_widgets, g_channel_widgets_w, 0, 2, 0, H_channel_widgets, s7_make_signature(s7, 3, p, t, t));
 
 #if HAVE_SCHEME
   #define H_mouse_enter_graph_hook S_mouse_enter_graph_hook " (snd chn): called when the mouse \
diff --git a/snd-gdraw.c b/snd-gdraw.c
index 279999e..5ba36f9 100644
--- a/snd-gdraw.c
+++ b/snd-gdraw.c
@@ -1333,8 +1333,13 @@ Xen_wrap_1_arg(g_set_background_gradient_w, g_set_background_gradient)
 
 void g_init_gxdraw(void)
 {
-  Xen_define_dilambda(S_background_gradient, g_background_gradient_w, H_background_gradient,
-				   S_set S_background_gradient, g_set_background_gradient_w,  0, 0, 1, 0);
+#if HAVE_SCHEME
+  s7_pointer pcl_r;
+  pcl_r = s7_make_circular_signature(s7, 0, 1, s7_make_symbol(s7, "real?"));
+#endif
+
+  Xen_define_typed_dilambda(S_background_gradient, g_background_gradient_w, H_background_gradient,
+			    S_set S_background_gradient, g_set_background_gradient_w,  0, 0, 1, 0, pcl_r, pcl_r);
 
   #define H_orientation_hook S_orientation_hook " (): called whenever one of the variables associated with the \
 orientation dialog changes"
diff --git a/snd-genv.c b/snd-genv.c
index 2325bed..af56b43 100644
--- a/snd-genv.c
+++ b/snd-genv.c
@@ -1371,9 +1371,16 @@ Xen_wrap_1_arg(g_set_enved_envelope_w, g_set_enved_envelope)
 
 void g_init_gxenv(void)
 {
-  Xen_define_dilambda(S_enved_filter, g_enved_filter_w, H_enved_filter,
-				   S_set S_enved_filter, g_set_enved_filter_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_enved_envelope, g_enved_envelope_w, H_enved_envelope,
-				   S_set S_enved_envelope, g_set_enved_envelope_w,  0, 0, 1, 0);
+#if HAVE_SCHEME
+  s7_pointer pcl_b, pcl_t;
+  pcl_b = s7_make_circular_signature(s7, 0, 1, s7_make_symbol(s7, "boolean?"));
+  pcl_t = s7_make_circular_signature(s7, 0, 1, s7_t(s7));
+#endif
+
+  Xen_define_typed_dilambda(S_enved_filter, g_enved_filter_w, H_enved_filter,
+			    S_set S_enved_filter, g_set_enved_filter_w,  0, 0, 1, 0, pcl_b, pcl_b);
+
+  Xen_define_typed_dilambda(S_enved_envelope, g_enved_envelope_w, H_enved_envelope,
+			    S_set S_enved_envelope, g_set_enved_envelope_w,  0, 0, 1, 0, pcl_t, pcl_t);
 }
 
diff --git a/snd-gfind.c b/snd-gfind.c
index 126626c..b8e3397 100644
--- a/snd-gfind.c
+++ b/snd-gfind.c
@@ -273,7 +273,10 @@ Xen_wrap_no_args(g_find_dialog_widgets_w, g_find_dialog_widgets)
 
 void g_init_gxfind(void)
 {
-  Xen_define_procedure(S_find_dialog, g_find_dialog_w, 0, 2, 0, H_find_dialog);
-  Xen_define_procedure("find-dialog-widgets", g_find_dialog_widgets_w, 0, 0, 0, "internal auto-test function");
+  Xen_define_typed_procedure(S_find_dialog, g_find_dialog_w, 0, 2, 0, H_find_dialog,
+			     s7_make_signature(s7, 3, s7_make_symbol(s7, "pair?"), s7_make_symbol(s7, "boolean?"), s7_make_symbol(s7, "string?")));
+
+  Xen_define_typed_procedure("find-dialog-widgets", g_find_dialog_widgets_w, 0, 0, 0, "internal auto-test function", 
+			     s7_make_signature(s7, 1, s7_make_symbol(s7, "list?")));
 }
 
diff --git a/snd-glistener.c b/snd-glistener.c
index 032f3df..b84eff8 100644
--- a/snd-glistener.c
+++ b/snd-glistener.c
@@ -524,20 +524,30 @@ static s7_pointer g_set_prompt_tag(s7_scheme *sc, s7_pointer args)
 
 static void glistener_init(glistener *g1)
 {
-  s7_define_function(s7, "listener-append-text",     g_append_text,     2, 0, false, "(listener-append-text g txt)");
-  s7_define_function(s7, "listener-insert-text",     g_insert_text,     2, 0, false, "(listener-insert-text g txt)");
-  s7_define_function(s7, "listener-cursor-position", g_cursor_position, 1, 0, false, "(listener-cursor-position g)");
-  s7_define_function(s7, "listener-set-cursor-position", g_set_cursor_position, 2, 0, false, "(listener-set-cursor-position g pos)");
-  s7_define_function(s7, "listener-text",            g_text,            3, 0, false, "(listener-text g start end)");
-  s7_define_function(s7, "listener-append-prompt",   g_append_prompt,   1, 0, false, "(listener-append-prompt g)");
-  s7_define_function(s7, "listener-prompt-position", g_prompt_position, 1, 0, false, "(listener-prompt-position g)");
-  s7_define_function(s7, "listener-set-prompt",      g_set_prompt,      2, 0, false, "(listener-set-prompt g str)");
-  s7_define_function(s7, "listener-set-prompt-tag",  g_set_prompt_tag,  2, 0, false, "(listener-set-prompt-tag g tag)");
-  s7_define_function(s7, "listener-evaluate",        g_evaluate,        1, 0, false, "(listener-evaluate g)");
-  s7_define_function(s7, "listener-complete",        g_complete,        1, 0, false, "(listener-complete g)");
-  s7_define_function(s7, "listener-scroll",          g_scroll_to_end,   1, 0, false, "(listener-scroll g)");
-  s7_define_function(s7, "listener-clear",           g_clear,           1, 0, false, "(listener-clear g)");
-  s7_define_function(s7, "listener-text-widget",     g_text_widget,     1, 0, false, "(listener-text-widget g)");
+  s7_pointer cp, t, s, p, i, b;
+  cp = s7_make_symbol(s7, "c-pointer?");
+  s = s7_make_symbol(s7, "string?");
+  p = s7_make_symbol(s7, "pair?");
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  t = s7_t(s7);
+
+  s7_define_typed_function(s7, "listener-append-text",     g_append_text,     2, 0, false, "(listener-append-text g txt)",    s7_make_signature(s7, 3, s, cp, s));
+  s7_define_typed_function(s7, "listener-insert-text",     g_insert_text,     2, 0, false, "(listener-insert-text g txt)",    s7_make_signature(s7, 3, s, cp, s));
+  s7_define_typed_function(s7, "listener-cursor-position", g_cursor_position, 1, 0, false, "(listener-cursor-position g)",    s7_make_signature(s7, 2, i, cp));
+  s7_define_typed_function(s7, "listener-set-cursor-position", g_set_cursor_position, 2, 0, false, "(listener-set-cursor-position g pos)",
+			   s7_make_signature(s7, 3, i, cp, i));
+  s7_define_typed_function(s7, "listener-text",            g_text,            3, 0, false, "(listener-text g start end)",
+			   s7_make_signature(s7, 4, s7_make_signature(s7, 2, b, s), cp, i, i));
+  s7_define_typed_function(s7, "listener-append-prompt",   g_append_prompt,   1, 0, false, "(listener-append-prompt g)",      s7_make_signature(s7, 2, cp, cp));
+  s7_define_typed_function(s7, "listener-prompt-position", g_prompt_position, 1, 0, false, "(listener-prompt-position g)",    s7_make_signature(s7, 2, i, cp));
+  s7_define_typed_function(s7, "listener-set-prompt",      g_set_prompt,      2, 0, false, "(listener-set-prompt g str)",     s7_make_signature(s7, 3, s, cp, s));
+  s7_define_typed_function(s7, "listener-set-prompt-tag",  g_set_prompt_tag,  2, 0, false, "(listener-set-prompt-tag g tag)", s7_make_signature(s7, 3, t, cp, t));
+  s7_define_typed_function(s7, "listener-evaluate",        g_evaluate,        1, 0, false, "(listener-evaluate g)",           s7_make_signature(s7, 2, s, cp));
+  s7_define_typed_function(s7, "listener-complete",        g_complete,        1, 0, false, "(listener-complete g)",           s7_make_signature(s7, 2, s, cp));
+  s7_define_typed_function(s7, "listener-scroll",          g_scroll_to_end,   1, 0, false, "(listener-scroll g)",             s7_make_signature(s7, 2, cp, cp));
+  s7_define_typed_function(s7, "listener-clear",           g_clear,           1, 0, false, "(listener-clear g)",              s7_make_signature(s7, 2, cp, cp));
+  s7_define_typed_function(s7, "listener-text-widget",     g_text_widget,     1, 0, false, "(listener-text-widget g)",        s7_make_signature(s7, 2, p, cp));
   s7_define_variable(s7, "*listener*", wrap_glistener(g1));
 }
 #endif
@@ -789,6 +799,10 @@ Xen_wrap_no_args(g_goto_listener_end_w, g_goto_listener_end)
 void g_init_gxlistener(void)
 {
 #if HAVE_SCHEME
+  s7_pointer s, b;
+  s = s7_make_symbol(s7, "string?");
+  b = s7_make_symbol(s7, "boolean?");
+
   #define H_mouse_enter_listener_hook S_mouse_enter_listener_hook " (widget): called when the mouse \
 enters the lisp listener pane:\n\
   (hook-push " S_mouse_enter_listener_hook "\n\
@@ -814,19 +828,19 @@ leaves the lisp listener pane"
   mouse_enter_listener_hook = Xen_define_hook(S_mouse_enter_listener_hook, "(make-hook 'widget)", 1, H_mouse_enter_listener_hook);
   mouse_leave_listener_hook = Xen_define_hook(S_mouse_leave_listener_hook, "(make-hook 'widget)", 1, H_mouse_leave_listener_hook);
 
-  Xen_define_procedure(S_listener_selection, g_listener_selection_w,       0, 0, 0, H_listener_selection);
-  Xen_define_procedure(S_reset_listener_cursor, g_reset_listener_cursor_w, 0, 0, 0, H_reset_listener_cursor);
-  Xen_define_procedure(S_goto_listener_end, g_goto_listener_end_w,         0, 0, 0, H_goto_listener_end);
+  Xen_define_typed_procedure(S_listener_selection, g_listener_selection_w,       0, 0, 0, H_listener_selection,    s7_make_signature(s7, 1, s));
+  Xen_define_typed_procedure(S_reset_listener_cursor, g_reset_listener_cursor_w, 0, 0, 0, H_reset_listener_cursor, s7_make_signature(s7, 1, b));
+  Xen_define_typed_procedure(S_goto_listener_end, g_goto_listener_end_w,         0, 0, 0, H_goto_listener_end,     s7_make_signature(s7, 1, b));
 
   #define H_listener_click_hook S_listener_click_hook " (position): called when listener clicked; position is text pos of click in listener"
   listener_click_hook = Xen_define_hook(S_listener_click_hook, "(make-hook 'position)", 1,   H_listener_click_hook); 
 
 #if HAVE_SCHEME
   top_level_let = s7_nil(s7);
-  s7_define_variable(s7, "top-level-let", 
-                     s7_dilambda(s7, "top-level-let", g_top_level_let, 0, 0, g_set_top_level_let, 1, 0, "listener environment"));
+  s7_define_variable(s7, "top-level-let", s7_dilambda(s7, "top-level-let", g_top_level_let, 0, 0, g_set_top_level_let, 1, 0, "listener environment"));
+
+  s7_define_typed_function(s7, "colorizer-colors", g_colorizer_colors, 0, 0, true, H_colorizer_colors, s7_make_circular_signature(s7, 1, 2, b, s));
 
-  s7_define_function(s7, "colorizer-colors", g_colorizer_colors, 0, 0, true, H_colorizer_colors);
   s7_hook_set_functions(s7, s7_name_to_value(s7, "*load-hook*"),
     s7_cons(s7, 
       s7_make_function(s7, "listener-load-hook", g_listener_load_hook, 1, 0, false, "listener *load-hook* function"), 
diff --git a/snd-gmenu.c b/snd-gmenu.c
index 0474558..79c4c22 100644
--- a/snd-gmenu.c
+++ b/snd-gmenu.c
@@ -2148,7 +2148,7 @@ Xen_wrap_no_args(g_menu_widgets_w, g_menu_widgets)
 
 void g_init_gxmenu(void)
 {
-  Xen_define_procedure(S_menu_widgets, g_menu_widgets_w, 0, 0, 0, H_menu_widgets);
+  Xen_define_typed_procedure(S_menu_widgets, g_menu_widgets_w, 0, 0, 0, H_menu_widgets, s7_make_signature(s7, 1, s7_make_symbol(s7, "pair?")));
 }
 
 
diff --git a/snd-gregion.c b/snd-gregion.c
index 8d64e92..972404d 100644
--- a/snd-gregion.c
+++ b/snd-gregion.c
@@ -855,7 +855,9 @@ Xen_wrap_no_args(g_view_regions_dialog_w, g_view_regions_dialog)
 
 void g_init_gxregion(void)
 {
-  Xen_define_procedure(S_view_regions_dialog, g_view_regions_dialog_w, 0, 0, 0,  H_view_regions_dialog);
+  Xen_define_typed_procedure(S_view_regions_dialog, g_view_regions_dialog_w, 0, 0, 0, H_view_regions_dialog, 
+			     s7_make_signature(s7, 1, s7_make_symbol(s7, "pair?")));
+
 #if HAVE_SCHEME
   #define H_mouse_enter_label_hook S_mouse_enter_label_hook " (type position label): called when the mouse enters a file viewer or region label. \
 The 'type' is 1 for view-files, and 2 for regions. The 'position' \
diff --git a/snd-gsnd.c b/snd-gsnd.c
index 537e9bc..fe0f746 100644
--- a/snd-gsnd.c
+++ b/snd-gsnd.c
@@ -2579,7 +2579,8 @@ void g_init_gxsnd(void)
 {
   Xen_add_to_hook_list(ss->snd_open_file_hook, reflect_file_close_in_sync_w, "sync-open-file-watcher", "sound sync open-file-hook handler");
 
-  Xen_define_procedure(S_sound_widgets, g_sound_widgets_w, 0, 1, 0, H_sound_widgets);
+  Xen_define_typed_procedure(S_sound_widgets, g_sound_widgets_w, 0, 1, 0, H_sound_widgets, 
+			     s7_make_signature(s7, 2, s7_make_symbol(s7, "list?"), s7_t(s7)));
 
 #if HAVE_SCHEME
   #define H_mouse_enter_text_hook S_mouse_enter_text_hook " (widget): called when the mouse enters a text widget:\n\
diff --git a/snd-gtk.scm b/snd-gtk.scm
index c331db7..093c10e 100644
--- a/snd-gtk.scm
+++ b/snd-gtk.scm
@@ -61,7 +61,7 @@
   
   (define (display-scanned-synthesis)
     
-    (define compute-uniform-circular-string
+    (define vibrating-uniform-circular-string
       ;; copied from dsp.scm to simplify life
       (lambda (size x0 x1 x2 mass xspring damp)
 	(define circle-float-vector-ref 
@@ -193,7 +193,7 @@
       
       (define (tick-synthesis n)
 	;; background process
-	(compute-uniform-circular-string size gx0 gx1 gx2 mass xspring damp)
+	(vibrating-uniform-circular-string size gx0 gx1 gx2 mass xspring damp)
 	(let* ((wn (GDK_WINDOW (gtk_widget_get_window scan-pane)))
 	       (cr (gdk_cairo_create wn)))
 	  (draw-graph cr)
@@ -762,26 +762,25 @@
   (define variables-pages ())
   
   (define (make-variables-dialog)
-    (let ((dismiss-button #f))
-      (set! variables-dialog (gtk_dialog_new))
-      (gtk_window_set_title (GTK_WINDOW variables-dialog) "Variables")
-      (gtk_container_set_border_width (GTK_CONTAINER variables-dialog) 10)
-      (gtk_window_set_default_size (GTK_WINDOW variables-dialog) -1 -1)
-      (gtk_window_set_resizable (GTK_WINDOW variables-dialog) #t)
-      (gtk_widget_realize variables-dialog)
-      (g_signal_connect variables-dialog "delete_event" (lambda (w ev data) (gtk_widget_hide variables-dialog) #t) #f)
+    (set! variables-dialog (gtk_dialog_new))
+    (gtk_window_set_title (GTK_WINDOW variables-dialog) "Variables")
+    (gtk_container_set_border_width (GTK_CONTAINER variables-dialog) 10)
+    (gtk_window_set_default_size (GTK_WINDOW variables-dialog) -1 -1)
+    (gtk_window_set_resizable (GTK_WINDOW variables-dialog) #t)
+    (gtk_widget_realize variables-dialog)
+    (g_signal_connect variables-dialog "delete_event" (lambda (w ev data) (gtk_widget_hide variables-dialog) #t) #f)
       
-      (set! dismiss-button (gtk_dialog_add_button (GTK_DIALOG variables-dialog) "Go Away" GTK_RESPONSE_NONE))
+    (let ((dismiss-button (gtk_dialog_add_button (GTK_DIALOG variables-dialog) "Go Away" GTK_RESPONSE_NONE)))
       (g_signal_connect dismiss-button "clicked" (lambda (w data) (gtk_widget_hide variables-dialog)) #f)
       (gtk_widget_show dismiss-button)
-      (gtk_widget_set_name dismiss-button "quit_button")
+      (gtk_widget_set_name dismiss-button "quit_button"))
       
-      (set! variables-notebook (gtk_notebook_new))
-      (gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG variables-dialog))) variables-notebook #t #t 4)
-      (gtk_notebook_set_tab_pos (GTK_NOTEBOOK variables-notebook) GTK_POS_RIGHT)
-      (gtk_widget_show variables-notebook)
-      (gtk_widget_show variables-dialog)
-      variables-dialog))
+    (set! variables-notebook (gtk_notebook_new))
+    (gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG variables-dialog))) variables-notebook #t #t 4)
+    (gtk_notebook_set_tab_pos (GTK_NOTEBOOK variables-notebook) GTK_POS_RIGHT)
+    (gtk_widget_show variables-notebook)
+    (gtk_widget_show variables-dialog)
+    variables-dialog)
   
   (define* (make-variable-display page-name variable-name (type 'text) (range (list 0.0 1.0)))
     ;; type = 'text, 'meter, 'graph, 'spectrum, 'scale
@@ -851,27 +850,26 @@
 	      (gtk_label_set_text (GTK_LABEL widget) (object->string var))
 	      (force-update widget)))
 	
-	(if (pair? widget)
-	    (if (or (number? (car widget))
-		    (sound? (car widget)))
-		;; graph/spectrum -- does this need an explicit update?
-		(let* ((snd (car widget))
-		       (data (cadr widget))
-		       (len (length data))
-		       (loc (cursor snd 0)))
-		  (set! (data loc) var)
-		  (if (time-graph? snd) (update-time-graph snd))
-		  (if (transform-graph? snd) (update-transform-graph snd))
-		  (set! (cursor snd 0) (if (= (+ loc 1) len) 0 (+ loc 1))))
-		(if (GTK_IS_PROGRESS_BAR (car widget))
-		    ;; "thermometer"
-		    (let ((y0 (cadr widget))
-			  (y1 (caddr widget)))
-		      ;; (define wid (make-variable-display "do-loop" "i*2" 'scale))
-		      (gtk_progress_bar_set_fraction 
-		       (GTK_PROGRESS_BAR (car widget))
-		       (max 0.0 (min 1.0 (/ (- var y0) (- y1 y0))))))
-		    ))))
+	(when (and (pair? widget)
+		   (or (number? (car widget))
+		       (sound? (car widget))))
+	  ;; graph/spectrum -- does this need an explicit update?
+	  (let ((snd (car widget))
+		(data (cadr widget)))
+	    (let ((len (length data))
+		  (loc (cursor snd 0)))
+	      (set! (data loc) var)
+	      (if (time-graph? snd) (update-time-graph snd))
+	      (if (transform-graph? snd) (update-transform-graph snd))
+	      (set! (cursor snd 0) (if (= (+ loc 1) len) 0 (+ loc 1))))
+	    (if (GTK_IS_PROGRESS_BAR (car widget))
+		;; "thermometer"
+		(let ((y0 (cadr widget))
+		      (y1 (caddr widget)))
+		  ;; (define wid (make-variable-display "do-loop" "i*2" 'scale))
+		  (gtk_progress_bar_set_fraction 
+		   (GTK_PROGRESS_BAR (car widget))
+		   (max 0.0 (min 1.0 (/ (- var y0) (- y1 y0))))))))))
     var)
 
   (define (notebook-with-top-tabs)
diff --git a/snd-gxcolormaps.c b/snd-gxcolormaps.c
index 333216b..a678495 100644
--- a/snd-gxcolormaps.c
+++ b/snd-gxcolormaps.c
@@ -13,7 +13,7 @@ typedef struct {
 static cmap **cmaps = NULL;
 static int cmaps_size = 0;
 
-#define NO_SUCH_COLORMAP Xen_make_error_type("no-such-colormap")
+#define no_such_colormap Xen_make_error_type("no-such-colormap")
 
 
 bool is_colormap(int n)
@@ -1059,7 +1059,7 @@ static Xen g_colormap_ref(Xen map, Xen pos)
 
   index = Xen_colormap_to_C_int(map);
   if (!(is_colormap(index)))
-    Xen_error(NO_SUCH_COLORMAP,
+    Xen_error(no_such_colormap,
 	      Xen_list_2(C_string_to_Xen_string(S_colormap_ref ": no such colormap: ~A"),
 			 map));
 
@@ -1090,7 +1090,7 @@ static Xen g_set_colormap(Xen val)
 
   index = Xen_colormap_to_C_int(val);
   if (!(is_colormap(index)))
-    Xen_error(NO_SUCH_COLORMAP,
+    Xen_error(no_such_colormap,
 	      Xen_list_2(C_string_to_Xen_string(S_colormap ": no such colormap: ~A"),
 			 val));
 
@@ -1130,7 +1130,7 @@ static Xen g_colormap_name(Xen col)
 
   map = Xen_colormap_to_C_int(col);
   if (!(is_colormap(map)))
-    Xen_error(NO_SUCH_COLORMAP,
+    Xen_error(no_such_colormap,
 	      Xen_list_2(C_string_to_Xen_string(S_colormap_name ": no such colormap: ~A"),
 			 col));
 
@@ -1142,7 +1142,7 @@ static Xen g_is_colormap(Xen obj)
 {
   #define H_is_colormap "(" S_is_colormap " obj) -> " PROC_TRUE " if 'obj' is a colormap."
   return(C_bool_to_Xen_boolean(xen_is_colormap(obj) && 
-			  is_colormap(Xen_colormap_to_C_int(obj))));
+			       is_colormap(Xen_colormap_to_C_int(obj))));
 }
 
 
@@ -1155,7 +1155,7 @@ static Xen g_delete_colormap(Xen col)
 
   map = Xen_colormap_to_C_int(col);
   if (!(is_colormap(map)))
-    Xen_error(NO_SUCH_COLORMAP,
+    Xen_error(no_such_colormap,
 	      Xen_list_2(C_string_to_Xen_string(S_delete_colormap ": no such colormap: ~A"),
 			 col));
 
@@ -1213,6 +1213,18 @@ static Xen colormap_temp[16]; /* static for Ruby's sake */
 
 void g_init_gxcolormaps(void)
 {
+#if HAVE_SCHEME
+  s7_pointer i, p, t, b, r, s, col, fnc;
+  b = s7_make_symbol(s7, "boolean?");
+  i = s7_make_symbol(s7, "integer?");
+  p = s7_make_symbol(s7, "pair?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  col = s7_make_symbol(s7, "colormap?");
+  fnc = s7_make_symbol(s7, "procedure?");
+  t = s7_t(s7);
+#endif
+
   cmaps_size = NUM_BUILTIN_COLORMAPS;
   cmaps = (cmap **)calloc(cmaps_size, sizeof(cmap *));
   
@@ -1271,17 +1283,22 @@ void g_init_gxcolormaps(void)
   Xen_define_variable("phases-colormap",          colormap_temp[15], C_int_to_Xen_colormap(15));
 #endif
 
-  Xen_define_safe_procedure(S_is_colormap, g_is_colormap_w,         1, 0, 0, H_is_colormap);
-  Xen_define_safe_procedure(S_colormap_ref, g_colormap_ref_w,       2, 0, 0, H_colormap_ref);
-  Xen_define_safe_procedure(S_add_colormap, g_add_colormap_w,       2, 0, 0, H_add_colormap);
-  Xen_define_safe_procedure(S_colormap_name, g_colormap_name_w,     1, 0, 0, H_colormap_name);
-  Xen_define_safe_procedure(S_delete_colormap, g_delete_colormap_w, 1, 0, 0, H_delete_colormap);
-
-  Xen_define_dilambda(S_colormap,      g_colormap_w,      H_colormap,      S_set S_colormap,      g_set_colormap_w,      0, 0, 1, 0);
-  Xen_define_dilambda(S_colormap_size, g_colormap_size_w, H_colormap_size, S_set S_colormap_size, g_set_colormap_size_w, 0, 0, 1, 0);
-
-  Xen_define_safe_procedure(S_integer_to_colormap,       g_integer_to_colormap_w, 1, 0, 0, H_integer_to_colormap);
-  Xen_define_safe_procedure(S_colormap_to_integer,       g_colormap_to_integer_w, 1, 0, 0, H_colormap_to_integer);
+  Xen_define_typed_procedure(S_is_colormap,         g_is_colormap_w,         1, 0, 0, H_is_colormap,         s7_make_signature(s7, 2, b, t));
+  Xen_define_typed_procedure(S_colormap_ref,        g_colormap_ref_w,        2, 0, 0, H_colormap_ref,        s7_make_signature(s7, 3, p, col, r));
+  Xen_define_typed_procedure(S_add_colormap,        g_add_colormap_w,        2, 0, 0, H_add_colormap,        s7_make_signature(s7, 3, col, s, fnc));
+  Xen_define_typed_procedure(S_colormap_name,       g_colormap_name_w,       1, 0, 0, H_colormap_name,       s7_make_signature(s7, 2, s, col));
+  Xen_define_typed_procedure(S_delete_colormap,     g_delete_colormap_w,     1, 0, 0, H_delete_colormap,     s7_make_signature(s7, 2, col, col));
+  Xen_define_typed_procedure(S_integer_to_colormap, g_integer_to_colormap_w, 1, 0, 0, H_integer_to_colormap, 
+			     s7_make_signature(s7, 2, s7_make_signature(s7, 2, col, b), i));
+  Xen_define_typed_procedure(S_colormap_to_integer, g_colormap_to_integer_w, 1, 0, 0, H_colormap_to_integer, s7_make_signature(s7, 2, i, col));
+
+  Xen_define_typed_dilambda(S_colormap, g_colormap_w, H_colormap,
+			    S_set S_colormap, g_set_colormap_w, 0, 0, 1, 0,
+			    s7_make_signature(s7, 1, col),  s7_make_signature(s7, 2, col, col));
+
+  Xen_define_typed_dilambda(S_colormap_size, g_colormap_size_w, H_colormap_size, 
+			    S_set S_colormap_size, g_set_colormap_size_w, 0, 0, 1, 0,
+			    s7_make_signature(s7, 1, i),  s7_make_signature(s7, 2, i, i));
 
 #if HAVE_SCHEME
   s7_symbol_set_access(s7, ss->color_map_size_symbol, s7_make_function(s7, "[acc-" S_colormap_size "]", acc_colormap_size, 2, 0, false, "accessor"));
diff --git a/snd-help.c b/snd-help.c
index 44bd572..af1a918 100644
--- a/snd-help.c
+++ b/snd-help.c
@@ -3836,14 +3836,23 @@ static s7_pointer acc_html_program(s7_scheme *sc, s7_pointer args) {return(g_set
 
 void g_init_help(void)
 {
-  Xen_define_procedure(S_snd_help,    g_listener_help_w,  0, 2, 0, H_snd_help);
 #if HAVE_SCHEME
-  Xen_eval_C_string("(define s7-help help)");
-  Xen_define_procedure("help",        g_listener_help_w,  0, 2, 0, H_snd_help); /* override s7's help */
+  s7_pointer p, s, pcl_s, pcl_t;
+  p = s7_make_symbol(s7, "list?");
+  s = s7_make_symbol(s7, "string?");
+  pcl_s = s7_make_circular_signature(s7, 0, 1, s);
+  pcl_t = s7_make_circular_signature(s7, 0, 1, s7_t(s7));
 #endif
-  Xen_define_safe_procedure(S_snd_url,     g_snd_url_w,        1, 0, 0, H_snd_url);
-  Xen_define_safe_procedure(S_snd_urls,    g_snd_urls_w,       0, 0, 0, H_snd_urls);
-  Xen_define_safe_procedure(S_help_dialog, g_help_dialog_w,    2, 2, 0, H_help_dialog);
+
+  Xen_define_typed_procedure(S_snd_help,    g_listener_help_w,  0, 2, 0, H_snd_help,    pcl_t);
+#if HAVE_SCHEME
+  Xen_eval_C_string("(define s7-help help)");      /* override s7's help */
+  Xen_define_typed_procedure("help",        g_listener_help_w,  0, 2, 0, H_snd_help,    pcl_t); 
+#endif
+  Xen_define_typed_procedure(S_snd_url,     g_snd_url_w,        1, 0, 0, H_snd_url,     
+			     s7_make_signature(s7, 2, s, s7_make_signature(s7, 2, s, s7_make_symbol(s7, "symbol?"))));
+  Xen_define_typed_procedure(S_snd_urls,    g_snd_urls_w,       0, 0, 0, H_snd_urls,    s7_make_signature(s7, 1, p));
+  Xen_define_typed_procedure(S_help_dialog, g_help_dialog_w,    2, 2, 0, H_help_dialog, s7_make_signature(s7, 5, p, s, s, p, p));
 
   #define H_help_hook S_help_hook "(subject message): called from " S_snd_help ".  If \
 it returns a string, it replaces 'message' (the default help)"
@@ -3877,8 +3886,10 @@ If more than one hook function, each function gets the previous function's outpu
 
   output_comment_hook = Xen_define_hook(S_output_comment_hook, "(make-hook 'comment)", 1, H_output_comment_hook);
 
-  Xen_define_dilambda(S_html_dir,     g_html_dir_w,     H_html_dir,     S_set S_html_dir,     g_set_html_dir_w,      0, 0, 1, 0);
-  Xen_define_dilambda(S_html_program, g_html_program_w, H_html_program, S_set S_html_program, g_set_html_program_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_html_dir, g_html_dir_w, H_html_dir,     
+			    S_set S_html_dir, g_set_html_dir_w, 0, 0, 1, 0, pcl_s, pcl_s);
+  Xen_define_typed_dilambda(S_html_program, g_html_program_w, H_html_program, 
+			    S_set S_html_program, g_set_html_program_w, 0, 0, 1, 0, pcl_s, pcl_s);
 
 #if HAVE_SCHEME
   autoload_info(s7); /* snd-xref.c included above */
diff --git a/snd-kbd.c b/snd-kbd.c
index fa541e8..382dd28 100644
--- a/snd-kbd.c
+++ b/snd-kbd.c
@@ -1681,6 +1681,13 @@ Xen_wrap_4_optional_args(g_key_w, g_key)
 void g_init_kbd(void)
 {
   int i;
+#if HAVE_SCHEME
+  s7_pointer n, t, b, s;
+  t = s7_t(s7);
+  n = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  s = s7_make_symbol(s7, "string?");
+#endif
 
   #define H_cursor_in_view     "The value for a " S_bind_key " function that moves the window so that the cursor is in the view"
   #define H_cursor_on_left     "The value for a " S_bind_key " function that moves the window so that the cursor is at the left edge"
@@ -1688,16 +1695,16 @@ void g_init_kbd(void)
   #define H_cursor_in_middle   "The value for a " S_bind_key " function that moves the window so that the cursor is in the middle"
   #define H_keyboard_no_action "The value for a " S_bind_key " function that does nothing upon return"
 
-  Xen_define_constant(S_cursor_in_view,          CURSOR_IN_VIEW,                      H_cursor_in_view);
-  Xen_define_constant(S_cursor_on_left,          CURSOR_ON_LEFT,                      H_cursor_on_left);
-  Xen_define_constant(S_cursor_on_right,         CURSOR_ON_RIGHT,                     H_cursor_on_right);
-  Xen_define_constant(S_cursor_in_middle,        CURSOR_IN_MIDDLE,                    H_cursor_in_middle);
-  Xen_define_constant(S_keyboard_no_action,      KEYBOARD_NO_ACTION,                  H_keyboard_no_action);
+  Xen_define_constant(S_cursor_in_view,     CURSOR_IN_VIEW,     H_cursor_in_view);
+  Xen_define_constant(S_cursor_on_left,     CURSOR_ON_LEFT,     H_cursor_on_left);
+  Xen_define_constant(S_cursor_on_right,    CURSOR_ON_RIGHT,    H_cursor_on_right);
+  Xen_define_constant(S_cursor_in_middle,   CURSOR_IN_MIDDLE,   H_cursor_in_middle);
+  Xen_define_constant(S_keyboard_no_action, KEYBOARD_NO_ACTION, H_keyboard_no_action);
 
-  Xen_define_safe_procedure(S_key_binding,            g_key_binding_w,            1, 2, 0, H_key_binding);
-  Xen_define_safe_procedure(S_bind_key,               g_bind_key_w,               3, 3, 0, H_bind_key);
-  Xen_define_safe_procedure(S_unbind_key,             g_unbind_key_w,             2, 1, 0, H_unbind_key);
-  Xen_define_safe_procedure(S_key,                    g_key_w,                    2, 2, 0, H_key);
+  Xen_define_typed_procedure(S_key_binding, g_key_binding_w, 1, 2, 0, H_key_binding, s7_make_signature(s7, 4, t, t, n, b));
+  Xen_define_typed_procedure(S_bind_key,    g_bind_key_w,    3, 3, 0, H_bind_key,    s7_make_signature(s7, 7, t, t, n, t, b, s, s)); 
+  Xen_define_typed_procedure(S_unbind_key,  g_unbind_key_w,  2, 1, 0, H_unbind_key,  s7_make_signature(s7, 4, t, t, n, b));
+  Xen_define_typed_procedure(S_key,         g_key_w,         2, 2, 0, H_key,         s7_make_signature(s7, 5, t, n, n, t, t));
 
   for (i = 0; i < NUM_BUILT_IN_KEYS; i++)
     built_in_keys[i].func = Xen_false;
diff --git a/snd-ladspa.c b/snd-ladspa.c
index f57962b..c8e5810 100644
--- a/snd-ladspa.c
+++ b/snd-ladspa.c
@@ -6,7 +6,6 @@
 
 #include "snd.h"
 
-
 #if HAVE_LADSPA
 
 #include <dlfcn.h>
@@ -576,7 +575,6 @@ Information about parameters can be acquired using " S_analyse_ladspa "."
   mus_long_t lAt;
   unsigned long lParameterCount;
   Xen xenParameters;
-  LADSPA_PortDescriptor iPortDescriptor;
   LADSPA_Data *pfControls = NULL;
   chan_info *cp;
   snd_info *sp;
@@ -699,6 +697,7 @@ Information about parameters can be acquired using " S_analyse_ladspa "."
   xenParameters = Xen_copy_arg(Xen_cdr(Xen_cdr(ladspa_plugin_configuration)));
   for (lPortIndex = 0; lPortIndex < psDescriptor->PortCount; lPortIndex++) 
     {
+      LADSPA_PortDescriptor iPortDescriptor;
       iPortDescriptor = psDescriptor->PortDescriptors[lPortIndex];
       if (LADSPA_IS_PORT_CONTROL(iPortDescriptor)
 	  && LADSPA_IS_PORT_INPUT(iPortDescriptor)) 
@@ -927,23 +926,15 @@ Information about parameters can be acquired using " S_analyse_ladspa "."
 
 #if HAVE_EXTENSION_LANGUAGE
 #if HAVE_SCHEME
-  #define FIELD_PREFIX "."
+  #define PREFIX "."
 #endif
 #if HAVE_RUBY
-  #define FIELD_PREFIX "R"
+  #define PREFIX "R"
 #endif
 #if HAVE_FORTH
-  #define FIELD_PREFIX "F"
+  #define PREFIX "F"
 #endif
 
-#if HAVE_SCHEME
-  #define DEFINE_INTEGER(Name) s7_define_constant(s7, #Name, C_int_to_Xen_integer(Name))
-#else
-  #define DEFINE_INTEGER(Name) Xen_define(#Name, C_int_to_Xen_integer(Name))
-#endif
-#define DEFINE_READER(Name, Value, Doc) Xen_define_procedure(FIELD_PREFIX #Name, Value, 1, 0, 0, Doc)
-
-
 #define C_to_Xen_Ladspa_Descriptor(Value) \
   ((Value) ? Xen_list_2(C_string_to_Xen_symbol("Ladspa-Descriptor"), Xen_wrap_C_pointer(Value)) : Xen_false)
 #define Xen_to_C_Ladspa_Descriptor(Value) ((LADSPA_Descriptor *)(Xen_unwrap_C_pointer(Xen_cadr(Value))))
@@ -981,67 +972,67 @@ associated with the given plugin."
 
 static Xen g_ladspa_Label(Xen ptr)
 {
-  #define H_ladspa_Label "(" FIELD_PREFIX "Label descriptor): plugin identifier"
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "Label", "Ladspa descriptor");
+  #define H_ladspa_Label "(" PREFIX "Label descriptor): plugin identifier"
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "Label", "Ladspa descriptor");
   return(C_string_to_Xen_string((Xen_to_C_Ladspa_Descriptor(ptr))->Label));
 }
 
 
 static Xen g_ladspa_Name(Xen ptr)
 {
-  #define H_ladspa_Name "(" FIELD_PREFIX "Name descriptor): name of plugin"
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "Name", "Ladspa descriptor");
+  #define H_ladspa_Name "(" PREFIX "Name descriptor): name of plugin"
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "Name", "Ladspa descriptor");
   return(C_string_to_Xen_string((Xen_to_C_Ladspa_Descriptor(ptr))->Name));
 }
 
 
 static Xen g_ladspa_Copyright(Xen ptr)
 {
-  #define H_ladspa_Copyright "(" FIELD_PREFIX "Copyright descriptor): plugin copyright or 'None'"
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "Copyright", "Ladspa descriptor");
+  #define H_ladspa_Copyright "(" PREFIX "Copyright descriptor): plugin copyright or 'None'"
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "Copyright", "Ladspa descriptor");
   return(C_string_to_Xen_string((Xen_to_C_Ladspa_Descriptor(ptr))->Copyright));
 }
 
 
 static Xen g_ladspa_Maker(Xen ptr)
 {
-  #define H_ladspa_Maker "(" FIELD_PREFIX "Maker descriptor): plugin developer"
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "Maker", "Ladspa descriptor");
+  #define H_ladspa_Maker "(" PREFIX "Maker descriptor): plugin developer"
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "Maker", "Ladspa descriptor");
   return(C_string_to_Xen_string((Xen_to_C_Ladspa_Descriptor(ptr))->Maker));
 }
 
 
 static Xen g_ladspa_Properties(Xen ptr)
 {
-  #define H_ladspa_Properties "(" FIELD_PREFIX "Properties descriptor): plugin properties"
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "Properties", "Ladspa descriptor");
+  #define H_ladspa_Properties "(" PREFIX "Properties descriptor): plugin properties"
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "Properties", "Ladspa descriptor");
   return(C_int_to_Xen_integer((Xen_to_C_Ladspa_Descriptor(ptr))->Properties));
 }
 
 
 static Xen g_ladspa_UniqueID(Xen ptr)
 {
-  #define H_ladspa_UniqueID "(" FIELD_PREFIX "UniqueID descriptor): plugin ID number"
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "UniqueID", "Ladspa descriptor");
+  #define H_ladspa_UniqueID "(" PREFIX "UniqueID descriptor): plugin ID number"
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "UniqueID", "Ladspa descriptor");
   return(C_int_to_Xen_integer((Xen_to_C_Ladspa_Descriptor(ptr))->UniqueID));
 }
 
 
 static Xen g_ladspa_PortCount(Xen ptr)
 {
-  #define H_ladspa_PortCount "(" FIELD_PREFIX "PortCount descriptor): plugin input and output port count"
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "PortCount", "Ladspa descriptor");
+  #define H_ladspa_PortCount "(" PREFIX "PortCount descriptor): plugin input and output port count"
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "PortCount", "Ladspa descriptor");
   return(C_int_to_Xen_integer((Xen_to_C_Ladspa_Descriptor(ptr))->PortCount));
 }
 
 
 static Xen g_ladspa_PortDescriptors(Xen ptr)
 {
-#define H_ladspa_PortDescriptors "(" FIELD_PREFIX "PortDescriptors descriptor): plugin port descriptors (an array of ints)"
+#define H_ladspa_PortDescriptors "(" PREFIX "PortDescriptors descriptor): plugin port descriptors (an array of ints)"
   LADSPA_Descriptor *descriptor;
   int i, len;
   Xen lst = Xen_empty_list;
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "PortDescriptors", "Ladspa descriptor");
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "PortDescriptors", "Ladspa descriptor");
   descriptor = Xen_to_C_Ladspa_Descriptor(ptr);
   len = descriptor->PortCount;
   for (i = len - 1; i >= 0; i--)
@@ -1052,11 +1043,11 @@ static Xen g_ladspa_PortDescriptors(Xen ptr)
 
 static Xen g_ladspa_PortRangeHints(Xen ptr)
 {
-  #define H_ladspa_PortRangeHints "(" FIELD_PREFIX "PortRangeHints descriptor): plugin port hints"
+  #define H_ladspa_PortRangeHints "(" PREFIX "PortRangeHints descriptor): plugin port hints"
   LADSPA_Descriptor *descriptor;
   int i, len;
   Xen lst = Xen_empty_list;
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "PortRangeHints", "Ladspa descriptor");
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "PortRangeHints", "Ladspa descriptor");
   descriptor = Xen_to_C_Ladspa_Descriptor(ptr);
   len = descriptor->PortCount;
   for (i = len - 1; i >= 0; i--)
@@ -1070,11 +1061,11 @@ static Xen g_ladspa_PortRangeHints(Xen ptr)
 
 static Xen g_ladspa_PortNames(Xen ptr)
 {
-  #define H_ladspa_PortNames "(" FIELD_PREFIX "PortNames descriptor): plugin descriptive port names"
+  #define H_ladspa_PortNames "(" PREFIX "PortNames descriptor): plugin descriptive port names"
   LADSPA_Descriptor *descriptor;
   int i, len;
   Xen lst = Xen_empty_list;
-  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, FIELD_PREFIX "PortNames", "Ladspa descriptor");
+  Xen_check_type(Xen_is_Ladspa_Descriptor(ptr), ptr, 1, PREFIX "PortNames", "Ladspa descriptor");
   descriptor = Xen_to_C_Ladspa_Descriptor(ptr);
   len = descriptor->PortCount;
   for (i = len - 1; i >= 0; i--)
@@ -1243,63 +1234,81 @@ Xen_wrap_3_args(g_ladspa_run_adding_w, g_ladspa_run_adding)
 Xen_wrap_3_args(g_ladspa_set_run_adding_gain_w, g_ladspa_set_run_adding_gain)
 Xen_wrap_4_args(g_ladspa_connect_port_w, g_ladspa_connect_port)
 
+#if HAVE_SCHEME
+  #define define_integer(Name) s7_define_constant(s7, #Name, C_int_to_Xen_integer(Name))
+#else
+  #define define_integer(Name) Xen_define(#Name, C_int_to_Xen_integer(Name))
+#endif
+
 void g_ladspa_to_snd(void)
 {
-  Xen_define_procedure(S_analyse_ladspa,    g_analyse_ladspa_w,    2, 0, 0, H_analyse_ladspa); /* British spelling not used anywhere else, so why here? */
-  Xen_define_procedure("analyze-ladspa",    g_analyse_ladspa_w,    2, 0, 0, H_analyse_ladspa);
-  Xen_define_procedure(S_apply_ladspa,      g_apply_ladspa_w,      4, 2, 0, H_apply_ladspa);
-  Xen_define_procedure(S_init_ladspa,       g_init_ladspa_w,       0, 0, 0, H_init_ladspa);
-  Xen_define_procedure(S_list_ladspa,       g_list_ladspa_w,       0, 0, 0, H_list_ladspa);
-  Xen_define_procedure(S_ladspa_descriptor, g_ladspa_descriptor_w, 2, 0, 0, H_ladspa_descriptor);
-
-  DEFINE_INTEGER(LADSPA_PROPERTY_REALTIME);
-  DEFINE_INTEGER(LADSPA_PROPERTY_INPLACE_BROKEN);
-  DEFINE_INTEGER(LADSPA_PROPERTY_HARD_RT_CAPABLE);
-
-  DEFINE_INTEGER(LADSPA_PORT_INPUT);
-  DEFINE_INTEGER(LADSPA_PORT_OUTPUT);
-  DEFINE_INTEGER(LADSPA_PORT_CONTROL);
-  DEFINE_INTEGER(LADSPA_PORT_AUDIO);
-
-  DEFINE_INTEGER(LADSPA_HINT_BOUNDED_BELOW);
-  DEFINE_INTEGER(LADSPA_HINT_BOUNDED_ABOVE);
-  DEFINE_INTEGER(LADSPA_HINT_TOGGLED);
-  DEFINE_INTEGER(LADSPA_HINT_SAMPLE_RATE);
-  DEFINE_INTEGER(LADSPA_HINT_LOGARITHMIC);
-  DEFINE_INTEGER(LADSPA_HINT_INTEGER);
+#if HAVE_SCHEME
+  s7_pointer i, b, p, t, fv, r, s, l;
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  p = s7_make_symbol(s7, "pair?");
+  fv = s7_make_symbol(s7, "float-vector?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  l = s7_make_symbol(s7, "list?");
+  t = s7_t(s7);
+#endif
+
+  define_integer(LADSPA_PROPERTY_REALTIME);
+  define_integer(LADSPA_PROPERTY_INPLACE_BROKEN);
+  define_integer(LADSPA_PROPERTY_HARD_RT_CAPABLE);
+
+  define_integer(LADSPA_PORT_INPUT);
+  define_integer(LADSPA_PORT_OUTPUT);
+  define_integer(LADSPA_PORT_CONTROL);
+  define_integer(LADSPA_PORT_AUDIO);
+
+  define_integer(LADSPA_HINT_BOUNDED_BELOW);
+  define_integer(LADSPA_HINT_BOUNDED_ABOVE);
+  define_integer(LADSPA_HINT_TOGGLED);
+  define_integer(LADSPA_HINT_SAMPLE_RATE);
+  define_integer(LADSPA_HINT_LOGARITHMIC);
+  define_integer(LADSPA_HINT_INTEGER);
 #ifdef LADSPA_HINT_DEFAULT_MASK
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_MASK);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_NONE);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_MINIMUM);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_LOW);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_MIDDLE);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_HIGH);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_MAXIMUM);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_0);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_1);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_100);
-  DEFINE_INTEGER(LADSPA_HINT_DEFAULT_440);
+  define_integer(LADSPA_HINT_DEFAULT_MASK);
+  define_integer(LADSPA_HINT_DEFAULT_NONE);
+  define_integer(LADSPA_HINT_DEFAULT_MINIMUM);
+  define_integer(LADSPA_HINT_DEFAULT_LOW);
+  define_integer(LADSPA_HINT_DEFAULT_MIDDLE);
+  define_integer(LADSPA_HINT_DEFAULT_HIGH);
+  define_integer(LADSPA_HINT_DEFAULT_MAXIMUM);
+  define_integer(LADSPA_HINT_DEFAULT_0);
+  define_integer(LADSPA_HINT_DEFAULT_1);
+  define_integer(LADSPA_HINT_DEFAULT_100);
+  define_integer(LADSPA_HINT_DEFAULT_440);
 #endif
 
-  DEFINE_READER(Label,           g_ladspa_Label_w,           H_ladspa_Label);
-  DEFINE_READER(Name,            g_ladspa_Name_w,            H_ladspa_Name);
-  DEFINE_READER(Copyright,       g_ladspa_Copyright_w,       H_ladspa_Copyright);
-  DEFINE_READER(Maker,           g_ladspa_Maker_w,           H_ladspa_Maker);
-  DEFINE_READER(Properties,      g_ladspa_Properties_w,      H_ladspa_Properties);
-  DEFINE_READER(UniqueID,        g_ladspa_UniqueID_w,        H_ladspa_UniqueID);
-  DEFINE_READER(PortNames,       g_ladspa_PortNames_w,       H_ladspa_PortNames);
-  DEFINE_READER(PortDescriptors, g_ladspa_PortDescriptors_w, H_ladspa_PortDescriptors);
-  DEFINE_READER(PortRangeHints,  g_ladspa_PortRangeHints_w,  H_ladspa_PortRangeHints); 
-  DEFINE_READER(PortCount,       g_ladspa_PortCount_w,       H_ladspa_PortCount);
+  Xen_define_typed_procedure(S_analyse_ladspa,    g_analyse_ladspa_w,    2, 0, 0, H_analyse_ladspa, s7_make_signature(s7, 3, p, s, s));
+  Xen_define_typed_procedure("analyze-ladspa",    g_analyse_ladspa_w,    2, 0, 0, H_analyse_ladspa, s7_make_signature(s7, 3, p, s, s));
+  Xen_define_typed_procedure(S_apply_ladspa,      g_apply_ladspa_w,      4, 2, 0, H_apply_ladspa,   s7_make_signature(s7, 7, b, t, p, i, s, t, t));
+  Xen_define_typed_procedure(S_init_ladspa,       g_init_ladspa_w,       0, 0, 0, H_init_ladspa,    s7_make_signature(s7, 1, b));
+  Xen_define_typed_procedure(S_list_ladspa,       g_list_ladspa_w,       0, 0, 0, H_list_ladspa,    s7_make_signature(s7, 1, l));
+  Xen_define_typed_procedure(S_ladspa_descriptor, g_ladspa_descriptor_w, 2, 0, 0, H_ladspa_descriptor, s7_make_circular_signature(s7, 0, 1, t));
+
+  Xen_define_typed_procedure(PREFIX "Label",           g_ladspa_Label_w,              1, 0, 0, H_ladspa_Label,     s7_make_signature(s7, 2, s, t));
+  Xen_define_typed_procedure(PREFIX "Name",            g_ladspa_Name_w,               1, 0, 0, H_ladspa_Name,      s7_make_signature(s7, 2, s, t));
+  Xen_define_typed_procedure(PREFIX "Copyright",       g_ladspa_Copyright_w,          1, 0, 0, H_ladspa_Copyright, s7_make_signature(s7, 2, s, t));
+  Xen_define_typed_procedure(PREFIX "Maker",           g_ladspa_Maker_w,              1, 0, 0, H_ladspa_Maker,     s7_make_signature(s7, 2, s, t));
+  Xen_define_typed_procedure(PREFIX "Properties",      g_ladspa_Properties_w,         1, 0, 0, H_ladspa_Properties, s7_make_signature(s7, 2, i, t));
+  Xen_define_typed_procedure(PREFIX "UniqueID",        g_ladspa_UniqueID_w,           1, 0, 0, H_ladspa_UniqueID,  s7_make_signature(s7, 2, i, t));
+  Xen_define_typed_procedure(PREFIX "PortNames",       g_ladspa_PortNames_w,          1, 0, 0, H_ladspa_PortNames, s7_make_signature(s7, 2, l, t));
+  Xen_define_typed_procedure(PREFIX "PortDescriptors", g_ladspa_PortDescriptors_w,    1, 0, 0, H_ladspa_PortDescriptors, s7_make_signature(s7, 2, l, t));
+  Xen_define_typed_procedure(PREFIX "PortRangeHints",  g_ladspa_PortRangeHints_w,     1, 0, 0, H_ladspa_PortRangeHints, s7_make_signature(s7, 2, l, t));
+  Xen_define_typed_procedure(PREFIX "PortCount",       g_ladspa_PortCount_w,          1, 0, 0, H_ladspa_PortCount,  s7_make_signature(s7, 2, i, t));
  
-  Xen_define_procedure(S_ladspa_instantiate,         g_ladspa_instantiate_w,         2, 0, 0, H_ladspa_instantiate);
-  Xen_define_procedure(S_ladspa_activate,            g_ladspa_activate_w,            2, 0, 0, H_ladspa_activate);
-  Xen_define_procedure(S_ladspa_deactivate,          g_ladspa_deactivate_w,          2, 0, 0, H_ladspa_deactivate);
-  Xen_define_procedure(S_ladspa_cleanup,             g_ladspa_cleanup_w,             2, 0, 0, H_ladspa_cleanup);
-  Xen_define_procedure(S_ladspa_run,                 g_ladspa_run_w,                 3, 0, 0, H_ladspa_run);
-  Xen_define_procedure(S_ladspa_run_adding,          g_ladspa_run_adding_w,          3, 0, 0, H_ladspa_run_adding);
-  Xen_define_procedure(S_ladspa_set_run_adding_gain, g_ladspa_set_run_adding_gain_w, 3, 0, 0, H_ladspa_set_run_adding_gain);
-  Xen_define_procedure(S_ladspa_connect_port,        g_ladspa_connect_port_w,        4, 0, 0, H_ladspa_connect_port);
+  Xen_define_typed_procedure(S_ladspa_instantiate,         g_ladspa_instantiate_w,         2, 0, 0, H_ladspa_instantiate, s7_make_signature(s7, 3, t, t, i));
+  Xen_define_typed_procedure(S_ladspa_activate,            g_ladspa_activate_w,            2, 0, 0, H_ladspa_activate,    s7_make_signature(s7, 3, b, t, t));
+  Xen_define_typed_procedure(S_ladspa_deactivate,          g_ladspa_deactivate_w,          2, 0, 0, H_ladspa_deactivate,  s7_make_signature(s7, 3, b, t, t));
+  Xen_define_typed_procedure(S_ladspa_cleanup,             g_ladspa_cleanup_w,             2, 0, 0, H_ladspa_cleanup,     s7_make_signature(s7, 3, b, t, t));
+  Xen_define_typed_procedure(S_ladspa_run,                 g_ladspa_run_w,                 3, 0, 0, H_ladspa_run,         s7_make_signature(s7, 4, b, t, t, i));
+  Xen_define_typed_procedure(S_ladspa_run_adding,          g_ladspa_run_adding_w,          3, 0, 0, H_ladspa_run_adding,  s7_make_signature(s7, 4, b, t, t, i));
+  Xen_define_typed_procedure(S_ladspa_set_run_adding_gain, g_ladspa_set_run_adding_gain_w, 3, 0, 0, H_ladspa_set_run_adding_gain, s7_make_signature(s7, 4, b, t, t, r));
+  Xen_define_typed_procedure(S_ladspa_connect_port,        g_ladspa_connect_port_w,        4, 0, 0, H_ladspa_connect_port, s7_make_signature(s7, 5, b, t, t, i, fv));
 
   Xen_provide_feature("snd-ladspa");
 }
diff --git a/snd-lint.scm b/snd-lint.scm
index a265129..f67e4ec 100644
--- a/snd-lint.scm
+++ b/snd-lint.scm
@@ -25,7 +25,32 @@
 			(mus-sound-frames . mus-sound-framples)
 			(mus-sound-data-format . mus-sound-sample-type)
 			(mus-data-format-name . mus-sample-type-name)
-			(mus-data-format->string . mus-sample-type->string))))
+			(mus-data-format->string . mus-sample-type->string)
+			(make-vct . make-float-vector)
+			(vct-add! . float-vector-add!)
+			(vct-subtract! . float-vector-subtract!)
+			(vct-copy . copy)
+			(vct-length . length)
+			(vct-multiply! . float-vector-multiply!)
+			(vct-offset! . float-vector-offset!)
+			(vct-ref . float-vector-ref)
+			(vct-scale! . float-vector-scale!)
+			(vct-abs! . float-vector-abs!)
+			(vct-fill! . fill!)
+			(vct-set! . float-vector-set!)
+			(vct-peak . float-vector-peak)
+			(vct-equal? . equal?)
+			(vct? . float-vector?)
+			(list->vct . list->float-vector)
+			(vct->list . float-vector->list)
+			(vector->vct . vector->float-vector)
+			(vct->vector . float-vector->vector)
+			(vct-move! . float-vector-move!)
+			(vct-subseq . float-vector-subseq)
+			(vct-reverse! . reverse!)
+			(vct->string . float-vector->string)
+			(vct* . float-vector*)
+			(vct+ . float-vector+))))
 
   (define (snd-lint-deprecate caller head form env)
     ((*lint* 'lint-format) "~A is deprecated; use ~A" caller head (cond ((assq head deprecated-ops) => cdr))))
diff --git a/snd-listener.c b/snd-listener.c
index d18d6ee..8213a81 100644
--- a/snd-listener.c
+++ b/snd-listener.c
@@ -284,21 +284,33 @@ static s7_pointer acc_stdin_prompt(s7_scheme *sc, s7_pointer args) {return(g_set
 
 void g_init_listener(void)
 {
-  Xen_define_procedure(S_save_listener,  g_save_listener_w,  1, 0, 0, H_save_listener);
-  Xen_define_procedure(S_clear_listener, g_clear_listener_w, 0, 0, 0, H_clear_listener);
+#if HAVE_SCHEME
+  s7_pointer plc_s, plc_b;
+  plc_b = s7_make_circular_signature(s7, 0, 1, s7_make_symbol(s7, "boolean?"));
+  plc_s = s7_make_circular_signature(s7, 0, 1, s7_make_symbol(s7, "string?"));
+#endif
+
+  Xen_define_typed_procedure(S_save_listener,  g_save_listener_w,  1, 0, 0, H_save_listener,  plc_s);
+  Xen_define_typed_procedure(S_clear_listener, g_clear_listener_w, 0, 0, 0, H_clear_listener, plc_b);
+
+  Xen_define_typed_dilambda(S_show_listener, g_show_listener_w, H_show_listener, 
+			    S_set S_show_listener, g_set_show_listener_w,  0, 0, 1, 0, plc_b, plc_b);
+
+  Xen_define_typed_dilambda(S_listener_prompt, g_listener_prompt_w, H_listener_prompt, 
+			    S_set S_listener_prompt, g_set_listener_prompt_w,  0, 0, 1, 0, plc_s, plc_s);
+
+  Xen_define_typed_dilambda(S_stdin_prompt, g_stdin_prompt_w, H_stdin_prompt, 
+			    S_set S_stdin_prompt, g_set_stdin_prompt_w, 0, 0, 1, 0, plc_s, plc_s);
 
-  Xen_define_dilambda(S_show_listener, g_show_listener_w, H_show_listener, S_set S_show_listener, g_set_show_listener_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_listener_prompt, g_listener_prompt_w, H_listener_prompt, S_set S_listener_prompt, g_set_listener_prompt_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_stdin_prompt, g_stdin_prompt_w, H_stdin_prompt, S_set S_stdin_prompt, g_set_stdin_prompt_w, 0, 0, 1, 0);
-  Xen_define_dilambda(S_listener_colorized, g_listener_colorized_w, H_listener_colorized,
-				   S_set S_listener_colorized, g_listener_set_colorized_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_listener_colorized, g_listener_colorized_w, H_listener_colorized,
+			    S_set S_listener_colorized, g_listener_set_colorized_w,  0, 0, 1, 0, plc_b, plc_b);
 
   #define H_read_hook S_read_hook " (text): called each time a line is typed into the listener (triggered by the carriage return). \
 If it returns true, Snd assumes you've dealt the text yourself, and does not try to evaluate it."
   
   read_hook = Xen_define_hook(S_read_hook, "(make-hook 'text)", 1, H_read_hook);
 
-  Xen_define_procedure("snd-completion",        g_snd_completion_w,        1, 0, 0, "return completion of arg");
+  Xen_define_typed_procedure("snd-completion", g_snd_completion_w, 1, 0, 0, "return completion of arg", plc_s);
 
 #if HAVE_SCHEME
 #if USE_GTK
diff --git a/snd-main.c b/snd-main.c
index 4b7905a..4f2013b 100644
--- a/snd-main.c
+++ b/snd-main.c
@@ -2298,7 +2298,7 @@ static s7_pointer acc_open_file_dialog_directory(s7_scheme *sc, s7_pointer args)
 void g_init_main(void)
 {
 #if HAVE_SCHEME
-  s7_pointer pl_b, pl_bb, pl_i, pl_ii, pl_s, pl_ss, pl_d, pl_dr, pl_p, pl_z, pl_zb, pl_zbb;
+  s7_pointer pl_b, pl_bb, pl_i, pl_ii, pl_bi, pl_s, pl_ss, pl_d, pl_dr, pl_p, pl_z, pl_zb, pl_zbb;
   {
     s7_pointer i, b, d, r, s, p, z;
     i = s7_make_symbol(s7, "integer?");
@@ -2313,6 +2313,7 @@ void g_init_main(void)
     pl_bb = s7_make_signature(s7, 2, b, b);
     pl_i = s7_make_signature(s7, 1, i);
     pl_ii = s7_make_signature(s7, 2, i, i);
+    pl_bi = s7_make_signature(s7, 2, b, i);
     pl_s = s7_make_signature(s7, 1, s);
     pl_ss = s7_make_signature(s7, 2, s, s);
     pl_d = s7_make_signature(s7, 1, d);
@@ -2325,9 +2326,9 @@ void g_init_main(void)
 #endif
   Xen_define_typed_procedure(S_save_state,   g_save_state_w,   0, 1, 0, H_save_state, pl_ss);
 #if HAVE_FORTH			/* exit is an existing word */
-  Xen_define_procedure("snd-" S_exit,  g_exit_w,         0, 1, 0, H_exit);
+  Xen_define_typed_procedure("snd-" S_exit,  g_exit_w,         0, 1, 0, H_exit, pl_bi);
 #else
-  Xen_define_procedure(S_exit,         g_exit_w,         0, 1, 0, H_exit);
+  Xen_define_typed_procedure(S_exit,         g_exit_w,         0, 1, 0, H_exit, pl_bi);
 #endif
   
   Xen_define_typed_dilambda(S_save_state_file, g_save_state_file_w, H_save_state_file, 
@@ -2428,9 +2429,9 @@ the hook functions return " PROC_TRUE ", the save state process opens the file '
   Xen_define_typed_procedure(S_transform_dialog,        g_transform_dialog_w,         0, 1, 0, H_transform_dialog,	   pl_zb);
   Xen_define_typed_procedure(S_print_dialog,            g_print_dialog_w,             0, 2, 0, H_print_dialog,		   pl_zbb);
   Xen_define_typed_procedure(S_preferences_dialog,      g_preferences_dialog_w,       0, 0, 0, H_preferences_dialog,	   pl_z);
-  Xen_define_procedure(S_abort,				g_abort_w,                    0, 0, 0, H_abort);
+  Xen_define_typed_procedure(S_abort,			g_abort_w,                    0, 0, 0, H_abort,                    pl_b);
 #if (!HAVE_SCHEME)
-  Xen_define_procedure(S_c_g,				g_abortq_w,                   0, 0, 0, H_abortQ);
+  Xen_define_typed_procedure(S_c_g,			g_abortq_w,                   0, 0, 0, H_abortQ,                   pl_b);
 #endif
   
 #if HAVE_SCHEME
diff --git a/snd-menu.c b/snd-menu.c
index 584d632..2f851c9 100644
--- a/snd-menu.c
+++ b/snd-menu.c
@@ -352,8 +352,8 @@ func (a function of no args) when the new menu is activated. Returns the new men
   widget_t result;
   char *errmsg = NULL;
 
-  Xen_check_type(Xen_is_string(label) || Xen_is_false(label), label, 2, S_add_to_menu, "a string");
   Xen_check_type(Xen_is_integer(menu), menu, 1, S_add_to_menu, "an integer");
+  Xen_check_type(Xen_is_string(label) || Xen_is_false(label), label, 2, S_add_to_menu, "a string");
   Xen_check_type(Xen_is_procedure(callback) || Xen_is_false(callback), callback, 3, S_add_to_menu, "a procedure");
   Xen_check_type(Xen_is_integer_or_unbound(gpos), gpos, 4, S_add_to_menu, "an integer");
 
@@ -406,8 +406,8 @@ static Xen gl_remove_from_menu(Xen menu, Xen label)
   #define H_remove_from_menu "(" S_remove_from_menu " menu label): removes menu item label from menu"
   int m;
 
-  Xen_check_type(Xen_is_string(label), label, 2, S_remove_from_menu, "a string");
   Xen_check_type(Xen_is_integer(menu), menu, 1, S_remove_from_menu, "an integer");
+  Xen_check_type(Xen_is_string(label), label, 2, S_remove_from_menu, "a string");
 
   m = Xen_integer_to_C_int(menu);
   if (m < 0) 
@@ -438,8 +438,18 @@ Xen_wrap_1_arg(g_main_menu_w, g_main_menu)
 
 void g_init_menu(void)
 {
-  Xen_define_procedure(S_add_to_main_menu,  gl_add_to_main_menu_w,  1, 1, 0, H_add_to_main_menu);
-  Xen_define_procedure(S_add_to_menu,       gl_add_to_menu_w,       3, 1, 0, H_add_to_menu);
-  Xen_define_procedure(S_remove_from_menu,  gl_remove_from_menu_w,  2, 0, 0, H_remove_from_menu);
-  Xen_define_procedure(S_main_menu,         g_main_menu_w,          1, 0, 0, H_main_menu);
+#if HAVE_SCHEME
+  s7_pointer i, p, b, fnc, s;
+  i = s7_make_symbol(s7, "integer?");
+  p = s7_make_symbol(s7, "pair?");
+  b = s7_make_symbol(s7, "boolean?");
+  fnc = s7_make_symbol(s7, "procedure?");
+  s = s7_make_symbol(s7, "string?");
+#endif
+
+  Xen_define_typed_procedure(S_add_to_main_menu,  gl_add_to_main_menu_w,  1, 1, 0, H_add_to_main_menu,  s7_make_signature(s7, 3, i, s, fnc));
+  Xen_define_typed_procedure(S_add_to_menu,       gl_add_to_menu_w,       3, 1, 0, H_add_to_menu,       
+			     s7_make_signature(s7, 5, p, i, s7_make_signature(s7, 2, s, b), s7_make_signature(s7, 2, fnc, b), i));
+  Xen_define_typed_procedure(S_remove_from_menu,  gl_remove_from_menu_w,  2, 0, 0, H_remove_from_menu,  s7_make_signature(s7, 3, i, i, s));
+  Xen_define_typed_procedure(S_main_menu,         g_main_menu_w,          1, 0, 0, H_main_menu,         s7_make_signature(s7, 2, p, i));
 }
diff --git a/snd-mix.c b/snd-mix.c
index 3fe2e76..a104f54 100644
--- a/snd-mix.c
+++ b/snd-mix.c
@@ -3432,7 +3432,7 @@ auto-delete is " PROC_TRUE ", the input file is deleted when it is no longer nee
     }
 
   {
-    file_delete_t delete_file = DONT_DELETE_ME;
+    file_delete_t delete_file;
 
     delete_file = xen_to_file_delete_t(auto_delete, S_mix);
     if ((delete_file == MULTICHANNEL_DELETION) || (delete_file == MULTICHANNEL_DELETION_IF_FILE))
@@ -3689,7 +3689,7 @@ static io_error_t save_mix(int id, const char *name, mus_header_t head_type, mus
   chan_info *cp;
   snd_info *sp;
   mix_state *ms;
-  io_error_t io_err = IO_NO_ERROR;
+  io_error_t io_err;
   mus_long_t framples;
 
   md = md_from_id(id);
@@ -3994,7 +3994,7 @@ static s7_pointer acc_with_mix_tags(s7_scheme *sc, s7_pointer args) {return(g_se
 void g_init_mix(void)
 {
 #if HAVE_SCHEME
-  s7_pointer i, m, b, s, p, t, f, ms;
+  s7_pointer i, m, b, s, p, t, f, ms, fv;
   i = s7_make_symbol(s7, "integer?");
   m = s7_make_symbol(s7, "mix?");
   ms = s7_make_symbol(s7, "mix-sampler?");
@@ -4002,6 +4002,7 @@ void g_init_mix(void)
   s = s7_make_symbol(s7, "string?");
   p = s7_make_symbol(s7, "list?");
   f = s7_make_symbol(s7, "float?");
+  fv = s7_make_symbol(s7, "float-vector?");
   t = s7_t(s7);
 #endif
 
@@ -4028,9 +4029,9 @@ void g_init_mix(void)
   Xen_define_typed_procedure(S_read_mix_sample,   g_read_mix_sample_w,        1, 0, 0, H_read_mix_sample,  s7_make_signature(s7, 2, f, ms));
   Xen_define_typed_procedure(S_is_mix_sampler,    g_is_mix_sampler_w,         1, 0, 0, H_is_mix_sampler,   s7_make_signature(s7, 2, b, t));
 
-  Xen_define_procedure(S_save_mix,               g_save_mix_w,               2, 0, 0, H_save_mix);
-  Xen_define_procedure(S_mix,                    g_mix_w,                    1, 6, 0, H_mix);
-  Xen_define_procedure(S_mix_vct,                g_mix_vct_w,                1, 5, 0, H_mix_vct);
+  Xen_define_typed_procedure(S_save_mix,          g_save_mix_w,               2, 0, 0, H_save_mix,         s7_make_signature(s7, 3, m, m, s));
+  Xen_define_typed_procedure(S_mix,               g_mix_w,                    1, 6, 0, H_mix,              s7_make_signature(s7, 8, t, s, i, t, t, t, b, t));
+  Xen_define_typed_procedure(S_mix_vct,           g_mix_vct_w,                1, 5, 0, H_mix_vct,          s7_make_signature(s7, 7, m, fv, i, t, t, b, s));
 
   Xen_define_typed_procedure(S_mixes,             g_mixes_w,                  0, 2, 0, H_mixes,            s7_make_signature(s7, 3, p, t, t));
   Xen_define_typed_procedure(S_mix_home,          g_mix_home_w,               1, 0, 0, H_mix_home,         s7_make_signature(s7, 2, p, m));
@@ -4051,13 +4052,13 @@ void g_init_mix(void)
 			    s7_make_signature(s7, 2, p, m), s7_make_signature(s7, 3, p, m, s7_make_signature(s7, 2, p, b)));
 
   Xen_define_typed_dilambda(S_mix_name,       g_mix_name_w,       H_mix_name,       S_set S_mix_name,       g_set_mix_name_w,       1, 0, 2, 0,
-		      s7_make_signature(s7, 2, s, m), s7_make_signature(s7, 3, s, m, s));
+			    s7_make_signature(s7, 2, s, m), s7_make_signature(s7, 3, s, m, s));
   Xen_define_typed_dilambda(S_mix_sync,       g_mix_sync_w,       H_mix_sync,       S_set S_mix_sync,       g_set_mix_sync_w,       1, 0, 2, 0,
 			    s7_make_signature(s7, 2, i, m), s7_make_signature(s7, 3, i, m, s7_make_signature(s7, 2, i, b)));
   Xen_define_typed_dilambda(S_mix_properties, g_mix_properties_w, H_mix_properties, S_set S_mix_properties, g_set_mix_properties_w, 1, 0, 2, 0,
 			    s7_make_signature(s7, 2, p, m), s7_make_signature(s7, 3, p, m, p));
   Xen_define_typed_dilambda(S_mix_property,   g_mix_property_w,   H_mix_property,   S_set S_mix_property,   g_set_mix_property_w,   2, 0, 3, 0,
-		      s7_make_signature(s7, 3, t, t, m), s7_make_circular_signature(s7, 3, 4, t, t, m, t));
+			    s7_make_signature(s7, 3, t, t, m), s7_make_circular_signature(s7, 3, 4, t, t, m, t));
   Xen_define_typed_dilambda(S_mix_tag_y,      g_mix_tag_y_w,      H_mix_tag_y,      S_set S_mix_tag_y,      g_set_mix_tag_y_w,      1, 0, 2, 0,
 			    s7_make_signature(s7, 2, i, m), s7_make_signature(s7, 3, i, m, i));
 
diff --git a/snd-motif.c b/snd-motif.c
index 591ee06..970592b 100644
--- a/snd-motif.c
+++ b/snd-motif.c
@@ -2247,18 +2247,6 @@ bool color_orientation_dialog_is_active(void)
 
 
 
-void g_init_gxdraw(void)
-{
-  #define H_orientation_hook S_orientation_hook " (): called whenever one of the variables associated with the \
-orientation dialog changes"
-  #define H_color_hook S_color_hook " (): called whenever one of the variables associated with the \
-color dialog changes"
-
-  orientation_hook = Xen_define_hook(S_orientation_hook, "(make-hook)", 0, H_orientation_hook);
-  color_hook =       Xen_define_hook(S_color_hook,       "(make-hook)", 0, H_color_hook);
-}
-
-
 #define HELP_ROWS 10
 #define HELP_XREFS 8
 #define HELP_COLUMNS 72
@@ -3145,16 +3133,6 @@ static Xen g_find_dialog_widgets(void)
 }
 
 
-Xen_wrap_2_optional_args(g_find_dialog_w, g_find_dialog)
-Xen_wrap_no_args(g_find_dialog_widgets_w, g_find_dialog_widgets)
-
-void g_init_gxfind(void)
-{
-  Xen_define_safe_procedure(S_find_dialog, g_find_dialog_w, 0, 2, 0, H_find_dialog);
-  Xen_define_safe_procedure("find-dialog-widgets", g_find_dialog_widgets_w, 0, 0, 0, "internal auto-test function");
-}
-
-
 
 #define NAME_COLUMNS 8
 
@@ -5168,9 +5146,7 @@ static Xen reflect_file_in_enved(Xen hook_or_reason)
   return(Xen_false);
 }
 
-
-Xen_wrap_1_arg(reflect_file_in_enved_w, reflect_file_in_enved)
-
+static void add_reflect_enved_hook(void);
 
 Widget create_envelope_editor(void)
 {
@@ -5703,7 +5679,7 @@ Widget create_envelope_editor(void)
 
       set_dialog_widget(ENVED_DIALOG, enved_dialog);
 
-      Xen_add_to_hook_list(ss->snd_open_file_hook, reflect_file_in_enved_w, "enved-file-open-handler", "enved dialog's file-open-hook handler");
+      add_reflect_enved_hook();
     }
   else raise_dialog(enved_dialog);
   if (!XtIsManaged(enved_dialog)) 
@@ -5862,18 +5838,6 @@ static Xen g_set_enved_filter(Xen type)
 }
 
 
-Xen_wrap_no_args(g_enved_filter_w, g_enved_filter)
-Xen_wrap_1_arg(g_set_enved_filter_w, g_set_enved_filter)
-Xen_wrap_no_args(g_enved_envelope_w, g_enved_envelope)
-Xen_wrap_1_arg(g_set_enved_envelope_w, g_set_enved_envelope)
-
-void g_init_gxenv(void)
-{
-  Xen_define_dilambda(S_enved_filter, g_enved_filter_w, H_enved_filter,
-				   S_set S_enved_filter, g_set_enved_filter_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_enved_envelope, g_enved_envelope_w, H_enved_envelope,
-				   S_set S_enved_envelope, g_set_enved_envelope_w,  0, 0, 1, 0);
-}
 /* Transform settings dialog */
 
 
@@ -8084,8 +8048,6 @@ static Xen reflect_file_in_region_browser(Xen hook_or_reason)
   return(Xen_false);
 }
 
-Xen_wrap_1_arg(reflect_file_in_region_browser_w, reflect_file_in_region_browser)
-
 
 static char *regrow_get_label(void *ur)
 {
@@ -8183,6 +8145,7 @@ static regrow *make_regrow(Widget ww, Widget last_row, XtCallbackProc play_callb
   return(r);
 }
 
+static void add_reflect_region_hook(void);
 
 static void make_region_dialog(void)
 {
@@ -8432,7 +8395,7 @@ static void make_region_dialog(void)
   highlight_region();
   region_update_graph(cp);
 
-  Xen_add_to_hook_list(ss->snd_open_file_hook, reflect_file_in_region_browser_w, "region-dialog-open-file-watcher", "region dialog open-file-hook handler");
+  add_reflect_region_hook();
 
   set_dialog_widget(REGION_DIALOG, region_dialog);
 }
@@ -8506,14 +8469,6 @@ static Xen g_view_regions_dialog(void)
 }
 
 
-Xen_wrap_no_args(g_view_regions_dialog_w, g_view_regions_dialog)
-
-void g_init_gxregion(void)
-{
-  Xen_define_safe_procedure(S_view_regions_dialog, g_view_regions_dialog_w, 0, 0, 0,  H_view_regions_dialog);
-}
-
-
 #include "snd-file.h"
 
 /* various file-related dialogs:
@@ -10356,9 +10311,7 @@ static Xen mix_open_file_watcher(Xen hook_or_reason)
   return(Xen_false);
 }
 
-Xen_wrap_1_arg(mix_open_file_watcher_w, mix_open_file_watcher)
-
-
+static void add_reflect_mix_hook(void);
 
 widget_t make_mix_file_dialog(bool managed)
 {
@@ -10367,7 +10320,7 @@ widget_t make_mix_file_dialog(bool managed)
     {
       mdat = make_file_dialog(FILE_READ_ONLY, (char *)"Mix Sound", (char *)"mix in:", file_mix_ok_callback, mix_file_help_callback);
       set_dialog_widget(FILE_MIX_DIALOG, mdat->dialog);
-      Xen_add_to_hook_list(ss->snd_open_file_hook, mix_open_file_watcher_w, "mix-dialog-open-file-watcher", "mix dialog's open-file-hook handler");
+      add_reflect_mix_hook();
     }
   else
     {
@@ -10454,7 +10407,7 @@ static Xen insert_open_file_watcher(Xen hook_or_reason)
   return(Xen_false);
 }
 
-Xen_wrap_1_optional_arg(insert_open_file_watcher_w, insert_open_file_watcher)
+static void add_reflect_insert_hook(void);
 
 widget_t make_insert_file_dialog(bool managed)
 {
@@ -10462,7 +10415,7 @@ widget_t make_insert_file_dialog(bool managed)
     {
       idat = make_file_dialog(FILE_READ_ONLY, (char *)"Insert Sound", (char *)"insert:", file_insert_ok_callback, insert_file_help_callback);
       set_dialog_widget(FILE_INSERT_DIALOG, idat->dialog);
-      Xen_add_to_hook_list(ss->snd_open_file_hook, insert_open_file_watcher_w, "insert-dialog-open-file-watcher", "insert dialog's open-file-hook handler");
+      add_reflect_insert_hook();
     }
   else
     {
@@ -13907,8 +13860,6 @@ static Xen vf_open_file_watcher(Xen hook_or_reason)
   return(Xen_false);
 }
 
-Xen_wrap_1_arg(vf_open_file_watcher_w, vf_open_file_watcher)
-
 
 int view_files_dialog_list_length(void)
 {
@@ -17607,123 +17558,6 @@ void add_drag_and_drop(Widget w,
 
 /* -------------------------------------------------------------------------------- */
 
-Xen_wrap_1_optional_arg(g_view_files_sort_w, g_view_files_sort)
-Xen_wrap_2_optional_args(g_set_view_files_sort_w, g_set_view_files_sort)
-Xen_wrap_2_optional_args(g_add_directory_to_view_files_list_w, g_add_directory_to_view_files_list)
-Xen_wrap_2_optional_args(g_add_file_to_view_files_list_w, g_add_file_to_view_files_list)
-Xen_wrap_2_optional_args(g_view_files_dialog_w, g_view_files_dialog)
-Xen_wrap_1_arg(g_view_files_amp_w, g_view_files_amp)
-Xen_wrap_2_args(g_view_files_set_amp_w, g_view_files_set_amp)
-Xen_wrap_1_arg(g_view_files_speed_w, g_view_files_speed)
-Xen_wrap_2_args(g_view_files_set_speed_w, g_view_files_set_speed)
-Xen_wrap_1_arg(g_view_files_amp_env_w, g_view_files_amp_env)
-Xen_wrap_2_args(g_view_files_set_amp_env_w, g_view_files_set_amp_env)
-Xen_wrap_1_arg(g_view_files_speed_style_w, g_view_files_speed_style)
-Xen_wrap_2_args(g_view_files_set_speed_style_w, g_view_files_set_speed_style)
-Xen_wrap_1_arg(g_view_files_selected_files_w, g_view_files_selected_files)
-Xen_wrap_1_arg(g_view_files_files_w, g_view_files_files)
-Xen_wrap_2_args(g_view_files_set_selected_files_w, g_view_files_set_selected_files)
-Xen_wrap_2_args(g_view_files_set_files_w, g_view_files_set_files)
-Xen_wrap_1_arg(g_delete_file_sorter_w, g_delete_file_sorter)
-Xen_wrap_2_args(g_add_file_sorter_w, g_add_file_sorter)
-
-#if HAVE_SCHEME
-static s7_pointer acc_view_files_sort(s7_scheme *sc, s7_pointer args) {return(g_set_view_files_sort(s7_cadr(args), s7_undefined(sc)));}
-#endif
-
-void g_init_gxfile(void)
-{
-#if HAVE_SCHEME
-  #define H_mouse_enter_label_hook S_mouse_enter_label_hook " (type position label): called when the mouse enters a file viewer or region label. \
-The 'type' is 1 for view-files, and 2 for regions. The 'position' \
-is the scrolled list position of the label. The label itself is 'label'. We could use the 'finfo' procedure in examp.scm \
-to popup file info as follows: \n\
-(hook-push " S_mouse_enter_label_hook "\n\
-  (lambda (type position name)\n\
-    (if (not (= type 2))\n\
-        (" S_info_dialog " name (finfo name)))))\n\
-See also nb.scm."
-#endif
-#if HAVE_RUBY
-  #define H_mouse_enter_label_hook S_mouse_enter_label_hook " (type position label): called when the mouse enters a file viewer or region label. \
-The 'type' is 1 for view-files, and 2 for regions. The 'position' \
-is the scrolled list position of the label. The label itself is 'label'. We could use the 'finfo' procedure in examp.rb \
-to popup file info as follows: \n\
-$mouse_enter_label_hook.add_hook!(\"finfo\") do |type, position, name|\n\
-  if type != 2\n\
-    " S_info_dialog "(name, finfo(name))\n\
-  end\n\
-end\n\
-See also nb.rb."
-#endif
-#if HAVE_FORTH
-  #define H_mouse_enter_label_hook S_mouse_enter_label_hook " (type position label): called when the mouse enters a file viewer or region label. \
-The 'type' is 1 for view-files, and 2 for regions. The 'position' \
-is the scrolled list position of the label. The label itself is 'label'. We could use the 'finfo' procedure in examp.fs \
-to popup file info as follows: \n\
-" S_mouse_enter_label_hook " lambda: <{ type position name }>\n\
-  type 2 <> if\n\
-    name name finfo info-dialog\n\
-  else\n\
-    #f\n\
-  then\n\
-; add-hook!"
-#endif
-
-  #define H_mouse_leave_label_hook S_mouse_leave_label_hook " (type position label): called when the mouse leaves a file viewer or region label"
-
-  mouse_enter_label_hook = Xen_define_hook(S_mouse_enter_label_hook, "(make-hook 'type 'position 'label)", 3, H_mouse_enter_label_hook);
-  mouse_leave_label_hook = Xen_define_hook(S_mouse_leave_label_hook, "(make-hook 'type 'position 'label)", 3, H_mouse_leave_label_hook);
-
-  Xen_define_dilambda(S_view_files_amp, g_view_files_amp_w, H_view_files_amp,
-				   S_set S_view_files_amp, g_view_files_set_amp_w,  1, 0, 2, 0);
-  Xen_define_dilambda(S_view_files_amp_env, g_view_files_amp_env_w, H_view_files_amp_env,
-				   S_set S_view_files_amp_env, g_view_files_set_amp_env_w,  1, 0, 2, 0);
-  Xen_define_dilambda(S_view_files_speed_style, g_view_files_speed_style_w, H_view_files_speed_style,
-				   S_set S_view_files_speed_style, g_view_files_set_speed_style_w,  1, 0, 2, 0);
-  Xen_define_dilambda(S_view_files_speed, g_view_files_speed_w, H_view_files_speed,
-				   S_set S_view_files_speed, g_view_files_set_speed_w,  1, 0, 2, 0);
-  Xen_define_dilambda(S_view_files_files, g_view_files_files_w, H_view_files_files,
-				   S_set S_view_files_files, g_view_files_set_files_w,  1, 0, 2, 0);
-  Xen_define_dilambda(S_view_files_selected_files, g_view_files_selected_files_w, H_view_files_selected_files,
-				   S_set S_view_files_selected_files, g_view_files_set_selected_files_w,  1, 0, 2, 0);
-
-  Xen_define_safe_procedure(S_add_directory_to_view_files_list, g_add_directory_to_view_files_list_w, 1, 1, 0, H_add_directory_to_view_files_list);
-  Xen_define_safe_procedure(S_add_file_to_view_files_list,      g_add_file_to_view_files_list_w,      1, 1, 0, H_add_file_to_view_files_list);
-  Xen_define_safe_procedure(S_view_files_dialog,                g_view_files_dialog_w,                0, 2, 0, H_view_files_dialog);
-
-  Xen_define_dilambda(S_view_files_sort, g_view_files_sort_w, H_view_files_sort,
-				   S_set S_view_files_sort, g_set_view_files_sort_w,  0, 1, 1, 1);
-
-  Xen_add_to_hook_list(ss->snd_open_file_hook, vf_open_file_watcher_w, "view-files-dialog-open-file-handler", "view-files dialog open-file handler");
-
-  #define H_view_files_select_hook S_view_files_select_hook "(dialog name): called when a file is selected in the \
-files list of the View Files dialog.  If it returns " PROC_TRUE ", the default action, opening the file, is omitted."
-
-  view_files_select_hook = Xen_define_hook(S_view_files_select_hook, "(make-hook 'dialog 'name)", 2, H_view_files_select_hook);
-
-  /* file-filters and file-sorters are lists from user's point of view, but I want to
-   *   make sure they're gc-protected through add/delete/set, and want such code compatible
-   *   with current Ruby xen macros, so I'll use an array internally.
-   */
-  ss->file_sorters_size = INITIAL_FILE_SORTERS_SIZE;
-  ss->file_sorters = Xen_make_vector(ss->file_sorters_size, Xen_false);
-  Xen_GC_protect(ss->file_sorters);
-
-  Xen_define_safe_procedure(S_add_file_sorter,    g_add_file_sorter_w,    2, 0, 0, H_add_file_sorter);
-  Xen_define_safe_procedure(S_delete_file_sorter, g_delete_file_sorter_w, 1, 0, 0, H_delete_file_sorter);
-
-
-  #define H_drop_hook S_drop_hook " (name): called whenever Snd receives a drag-and-drop \
-event. If it returns " PROC_TRUE ", the file is not opened or mixed by Snd."
-
-  drop_hook = Xen_define_hook(S_drop_hook, "(make-hook 'name)", 1, H_drop_hook);
-
-#if HAVE_SCHEME
-  s7_symbol_set_access(s7, ss->view_files_sort_symbol, s7_make_function(s7, "[acc-" S_view_files_sort "]", acc_view_files_sort, 2, 0, false, "accessor"));
-#endif
-}
-
 
 #include "sndlib-strings.h"
 
@@ -21816,7 +21650,7 @@ static void popup_error_handler(const char *msg, void *data)
 static void popup_cut_to_new_callback_1(bool cut) 
 {
   char *temp_file;
-  io_error_t io_err = IO_NO_ERROR;
+  io_error_t io_err;
 
   temp_file = snd_tempnam();
   io_err = save_selection(temp_file, selection_srate(), default_output_sample_type(ss), default_output_header_type(ss), NULL, SAVE_ALL_CHANS);
@@ -22705,14 +22539,6 @@ static Xen g_menu_widgets(void)
 	       Xen_empty_list)))))));
 }
 
-
-Xen_wrap_no_args(g_menu_widgets_w, g_menu_widgets)
-
-void g_init_gxmenu(void)
-{
-  Xen_define_safe_procedure(S_menu_widgets, g_menu_widgets_w, 0, 0, 0, H_menu_widgets);
-}
-
 /* Motif bug: the button backgrounds remain in the original highlight color? but the widget (if it is one) is not the child of any obvious widget
  */
 
@@ -25107,78 +24933,6 @@ static Xen g_goto_listener_end(void)
 }
 
 
-Xen_wrap_no_args(g_listener_selection_w, g_listener_selection)
-Xen_wrap_no_args(g_reset_listener_cursor_w, g_reset_listener_cursor)
-Xen_wrap_no_args(g_goto_listener_end_w, g_goto_listener_end)
-
-void g_init_gxlistener(void)
-{
-#if HAVE_SCHEME
-  top_level_let = s7_nil(s7);
-  s7_define_variable(s7, "top-level-let", 
-                     s7_dilambda(s7, "top-level-let", g_top_level_let, 0, 0, g_set_top_level_let, 1, 0, "listener environment"));
-
-  #define H_mouse_enter_listener_hook S_mouse_enter_listener_hook " (widget): called when the mouse \
-enters the lisp listener pane:\n\
-  (hook-push " S_mouse_enter_listener_hook "\n\
-    (lambda (hook)\n\
-      (" S_focus_widget " (hook 'widget))))"
-#endif
-
-#if HAVE_RUBY
-  #define H_mouse_enter_listener_hook S_mouse_enter_listener_hook " (listener): called when the mouse \
-enters the lisp listener pane:\n\
-  $mouse_enter_listener_hook.add-hook!(\"enter\") do |widget|\n\
-    focus_widget(widget)\n\
-  end"
-#endif
-
-#if HAVE_FORTH
-  #define H_mouse_enter_listener_hook S_mouse_enter_listener_hook " (listener): called when the mouse \
-enters the lisp listener pane:\n\
-" S_mouse_enter_listener_hook " lambda: <{ wid }> wid " S_focus_widget " ; add-hook!"
-#endif
-
-  #define H_mouse_leave_listener_hook S_mouse_leave_listener_hook " (widget): called when the mouse \
-leaves the lisp listener pane"
-
-  mouse_enter_listener_hook = Xen_define_hook(S_mouse_enter_listener_hook, "(make-hook 'widget)", 1, H_mouse_enter_listener_hook);
-  mouse_leave_listener_hook = Xen_define_hook(S_mouse_leave_listener_hook, "(make-hook 'widget)", 1, H_mouse_leave_listener_hook);
-
-#if HAVE_SCHEME
-  #define H_mouse_enter_text_hook S_mouse_enter_text_hook " (widget): called when the mouse enters a text widget:\n\
-(hook-push " S_mouse_enter_text_hook "\n\
-  (lambda (w)\n\
-    (" S_focus_widget " w)))"
-#endif
-
-#if HAVE_RUBY
-  #define H_mouse_enter_text_hook S_mouse_enter_text_hook " (widget): called when the mouse enters a text widget:\n\
-$mouse_enter_text_hook.add_hook!(\"enter\") do |w|\n\
-    focus_widget(w)\n\
-  end"
-#endif
-
-#if HAVE_FORTH
-  #define H_mouse_enter_text_hook S_mouse_enter_text_hook " (widget): called when the mouse enters a text widget:\n\
-" S_mouse_enter_text_hook " lambda: <{ wid }> wid " S_focus_widget " ; add-hook!"
-#endif
-
-  #define H_mouse_leave_text_hook S_mouse_leave_text_hook " (widget): called when the mouse leaves a text widget"
-  
-  mouse_enter_text_hook = Xen_define_hook(S_mouse_enter_text_hook, "(make-hook 'widget)", 1, H_mouse_enter_text_hook);
-  mouse_leave_text_hook = Xen_define_hook(S_mouse_leave_text_hook, "(make-hook 'widget)", 1, H_mouse_leave_text_hook);
-
-  Xen_define_safe_procedure(S_listener_selection,    g_listener_selection_w,     0, 0, 0, H_listener_selection);
-  Xen_define_safe_procedure(S_reset_listener_cursor, g_reset_listener_cursor_w,  0, 0, 0, H_reset_listener_cursor);
-  Xen_define_safe_procedure(S_goto_listener_end,     g_goto_listener_end_w,      0, 0, 0, H_goto_listener_end);
-
-  #define H_listener_click_hook S_listener_click_hook " (position): called when listener clicked; position is text pos of click in listener"
-  listener_click_hook = Xen_define_hook(S_listener_click_hook, "(make-hook 'position)", 1,   H_listener_click_hook);
-
-  preload_best_completions();
-}
-
 
 #include <X11/XKBlib.h>
 
@@ -26850,64 +26604,6 @@ static Xen g_set_graph_cursor(Xen curs)
 }
 
 
-Xen_wrap_2_args(g_in_w, g_in)
-Xen_wrap_no_args(g_graph_cursor_w, g_graph_cursor)
-Xen_wrap_1_arg(g_set_graph_cursor_w, g_set_graph_cursor)
-Xen_wrap_2_optional_args(g_channel_widgets_w, g_channel_widgets)
-
-#if HAVE_SCHEME
-static s7_pointer acc_graph_cursor(s7_scheme *sc, s7_pointer args) {return(g_set_graph_cursor(s7_cadr(args)));}
-#endif
-
-
-void g_init_gxchn(void)
-{
-  Xen_define_procedure(S_in,            g_in_w,             2, 0, 0, H_in);
-
-  Xen_define_dilambda(S_graph_cursor, g_graph_cursor_w, H_graph_cursor,
-				   S_set S_graph_cursor, g_set_graph_cursor_w,  0, 0, 1, 0);
-
-  Xen_define_safe_procedure(S_channel_widgets, g_channel_widgets_w, 0, 2, 0, H_channel_widgets);
-
-#if HAVE_SCHEME
-  #define H_mouse_enter_graph_hook S_mouse_enter_graph_hook " (snd chn): called when the mouse \
-enters the drawing area (graph pane) of the given channel.\n\
-  (hook-push " S_mouse_enter_graph_hook "\n\
-    (lambda (hook)\n\
-      (" S_focus_widget " (car (" S_channel_widgets " (hook 'snd) (hook 'chn))))))"
-
-  #define H_mouse_leave_graph_hook S_mouse_leave_graph_hook " (snd chn): is called when the mouse \
-leaves the drawing area (graph pane) of the given channel."
-#endif
-#if HAVE_RUBY
-  #define H_mouse_enter_graph_hook S_mouse_enter_graph_hook " (snd chn): called when the mouse \
-enters the drawing area (graph pane) of the given channel.\n\
-  $mouse_enter_graph_hook.add-hook!(\"focus\") do |snd chn|\n\
-    focus_widget(channel_widgets(snd, chn)[0])\n\
-    end"
-
-  #define H_mouse_leave_graph_hook S_mouse_leave_graph_hook " (snd chn): called when the mouse \
-leaves the drawing area (graph pane) of the given channel."
-#endif
-#if HAVE_FORTH
-  #define H_mouse_enter_graph_hook S_mouse_enter_graph_hook " (snd chn): called when the mouse \
-enters the drawing area (graph pane) of the given channel.\n\
-" S_mouse_enter_graph_hook " lambda: <{ snd chn }>\n\
-  snd chn " S_channel_widgets " car " S_focus_widget "\n\
-; add-hook!"
-  #define H_mouse_leave_graph_hook S_mouse_leave_graph_hook " (snd chn): is called when the mouse \
-leaves the drawing area (graph pane) of the given channel."
-#endif
-
-  mouse_enter_graph_hook = Xen_define_hook(S_mouse_enter_graph_hook, "(make-hook 'snd 'chn)", 2, H_mouse_enter_graph_hook);
-  mouse_leave_graph_hook = Xen_define_hook(S_mouse_leave_graph_hook, "(make-hook 'snd 'chn)", 2, H_mouse_leave_graph_hook);
-
-#if HAVE_SCHEME
-  s7_symbol_set_access(s7, ss->graph_cursor_symbol, s7_make_function(s7, "[acc-" S_graph_cursor "]", acc_graph_cursor, 2, 0, false, "accessor"));
-  s7_symbol_set_documentation(s7, ss->graph_cursor_symbol, "*graph-cursor*: current graph cursor shape");
-#endif
-}
-
 
 #include <X11/xpm.h>
 
@@ -29681,9 +29377,6 @@ static Xen reflect_file_close_in_sync(Xen hook_or_reason)
   return(Xen_false);
 }
 
-Xen_wrap_1_arg(reflect_file_close_in_sync_w, reflect_file_close_in_sync)
-
-
 void set_sound_pane_file_label(snd_info *sp, const char *str)
 {
   if (!(mus_strcmp(sp->name_string, str)))
@@ -30186,15 +29879,6 @@ widgets: (0)pane (1)name (2)control-panel (3)status area (4)play-button (5)filte
 }
 
 
-Xen_wrap_1_optional_arg(g_sound_widgets_w, g_sound_widgets)
-
-void g_init_gxsnd(void)
-{
-  Xen_add_to_hook_list(ss->snd_open_file_hook, reflect_file_close_in_sync_w, "sync-open-file-watcher", "sound sync open-file-hook handler");
-  Xen_define_safe_procedure(S_sound_widgets,  g_sound_widgets_w,  0, 1, 0, H_sound_widgets);
-}
-
-
 #define FALLBACK_FONT        "fixed"
 #define DEFAULT_LISTENER_FONT "9x15"
 #define DEFAULT_FONTLIST     "9x15"
@@ -31081,3 +30765,300 @@ void snd_doit(int argc, char **argv)
 
   XtAppMainLoop(app);
 }
+
+
+/* -------------------------------------------------------------------------------- */
+
+Xen_wrap_2_optional_args(g_find_dialog_w, g_find_dialog)
+Xen_wrap_no_args(g_find_dialog_widgets_w, g_find_dialog_widgets)
+Xen_wrap_1_arg(reflect_file_in_enved_w, reflect_file_in_enved)
+Xen_wrap_no_args(g_enved_filter_w, g_enved_filter)
+Xen_wrap_1_arg(g_set_enved_filter_w, g_set_enved_filter)
+Xen_wrap_no_args(g_enved_envelope_w, g_enved_envelope)
+Xen_wrap_1_arg(g_set_enved_envelope_w, g_set_enved_envelope)
+Xen_wrap_1_arg(reflect_file_in_region_browser_w, reflect_file_in_region_browser)
+Xen_wrap_no_args(g_view_regions_dialog_w, g_view_regions_dialog)
+Xen_wrap_1_arg(mix_open_file_watcher_w, mix_open_file_watcher)
+Xen_wrap_1_optional_arg(insert_open_file_watcher_w, insert_open_file_watcher)
+Xen_wrap_1_arg(vf_open_file_watcher_w, vf_open_file_watcher)
+Xen_wrap_1_optional_arg(g_view_files_sort_w, g_view_files_sort)
+Xen_wrap_2_optional_args(g_set_view_files_sort_w, g_set_view_files_sort)
+Xen_wrap_2_optional_args(g_add_directory_to_view_files_list_w, g_add_directory_to_view_files_list)
+Xen_wrap_2_optional_args(g_add_file_to_view_files_list_w, g_add_file_to_view_files_list)
+Xen_wrap_2_optional_args(g_view_files_dialog_w, g_view_files_dialog)
+Xen_wrap_1_arg(g_view_files_amp_w, g_view_files_amp)
+Xen_wrap_2_args(g_view_files_set_amp_w, g_view_files_set_amp)
+Xen_wrap_1_arg(g_view_files_speed_w, g_view_files_speed)
+Xen_wrap_2_args(g_view_files_set_speed_w, g_view_files_set_speed)
+Xen_wrap_1_arg(g_view_files_amp_env_w, g_view_files_amp_env)
+Xen_wrap_2_args(g_view_files_set_amp_env_w, g_view_files_set_amp_env)
+Xen_wrap_1_arg(g_view_files_speed_style_w, g_view_files_speed_style)
+Xen_wrap_2_args(g_view_files_set_speed_style_w, g_view_files_set_speed_style)
+Xen_wrap_1_arg(g_view_files_selected_files_w, g_view_files_selected_files)
+Xen_wrap_1_arg(g_view_files_files_w, g_view_files_files)
+Xen_wrap_2_args(g_view_files_set_selected_files_w, g_view_files_set_selected_files)
+Xen_wrap_2_args(g_view_files_set_files_w, g_view_files_set_files)
+Xen_wrap_1_arg(g_delete_file_sorter_w, g_delete_file_sorter)
+Xen_wrap_2_args(g_add_file_sorter_w, g_add_file_sorter)
+Xen_wrap_no_args(g_menu_widgets_w, g_menu_widgets)
+Xen_wrap_no_args(g_listener_selection_w, g_listener_selection)
+Xen_wrap_no_args(g_reset_listener_cursor_w, g_reset_listener_cursor)
+Xen_wrap_no_args(g_goto_listener_end_w, g_goto_listener_end)
+Xen_wrap_2_args(g_in_w, g_in)
+Xen_wrap_no_args(g_graph_cursor_w, g_graph_cursor)
+Xen_wrap_1_arg(g_set_graph_cursor_w, g_set_graph_cursor)
+Xen_wrap_2_optional_args(g_channel_widgets_w, g_channel_widgets)
+Xen_wrap_1_arg(reflect_file_close_in_sync_w, reflect_file_close_in_sync)
+Xen_wrap_1_optional_arg(g_sound_widgets_w, g_sound_widgets)
+
+static void add_reflect_enved_hook(void)
+{
+  Xen_add_to_hook_list(ss->snd_open_file_hook, reflect_file_in_enved_w, "enved-file-open-handler", "enved dialog's file-open-hook handler");
+}
+
+static void add_reflect_region_hook(void)
+{
+  Xen_add_to_hook_list(ss->snd_open_file_hook, reflect_file_in_region_browser_w, "region-dialog-open-file-watcher", "region dialog open-file-hook handler");
+}
+
+static void add_reflect_mix_hook(void)
+{
+  Xen_add_to_hook_list(ss->snd_open_file_hook, mix_open_file_watcher_w, "mix-dialog-open-file-watcher", "mix dialog's open-file-hook handler");
+}
+
+static void add_reflect_insert_hook(void)
+{
+  Xen_add_to_hook_list(ss->snd_open_file_hook, insert_open_file_watcher_w, "insert-dialog-open-file-watcher", "insert dialog's open-file-hook handler");
+}
+
+
+#if HAVE_SCHEME
+static s7_pointer acc_view_files_sort(s7_scheme *sc, s7_pointer args) {return(g_set_view_files_sort(s7_cadr(args), s7_undefined(sc)));}
+static s7_pointer acc_graph_cursor(s7_scheme *sc, s7_pointer args) {return(g_set_graph_cursor(s7_cadr(args)));}
+#endif
+
+
+  #define H_orientation_hook S_orientation_hook " (): called whenever one of the variables associated with the orientation dialog changes"
+  #define H_color_hook S_color_hook " (): called whenever one of the variables associated with the color dialog changes"
+  #define H_drop_hook S_drop_hook " (name): called whenever Snd receives a drag-and-drop \
+event. If it returns " PROC_TRUE ", the file is not opened or mixed by Snd."
+  #define H_view_files_select_hook S_view_files_select_hook "(dialog name): called when a file is selected in the \
+files list of the View Files dialog.  If it returns " PROC_TRUE ", the default action, opening the file, is omitted."
+
+  #define H_mouse_leave_label_hook S_mouse_leave_label_hook " (type position label): called when the mouse leaves a file viewer or region label"
+  #define H_mouse_leave_text_hook S_mouse_leave_text_hook " (widget): called when the mouse leaves a text widget"
+  #define H_listener_click_hook S_listener_click_hook " (position): called when listener clicked; position is text pos of click in listener"
+  #define H_mouse_leave_listener_hook S_mouse_leave_listener_hook " (widget): called when the mouse leaves the lisp listener pane"
+  
+#if HAVE_SCHEME
+  #define H_mouse_enter_label_hook S_mouse_enter_label_hook " (type position label): called when the mouse enters a file viewer or region label. \
+The 'type' is 1 for view-files, and 2 for regions. The 'position' \
+is the scrolled list position of the label. The label itself is 'label'. We could use the 'finfo' procedure in examp.scm \
+to popup file info as follows: \n\
+(hook-push " S_mouse_enter_label_hook "\n\
+  (lambda (type position name)\n\
+    (if (not (= type 2))\n\
+        (" S_info_dialog " name (finfo name)))))\n\
+See also nb.scm."
+#endif
+#if HAVE_RUBY
+  #define H_mouse_enter_label_hook S_mouse_enter_label_hook " (type position label): called when the mouse enters a file viewer or region label. \
+The 'type' is 1 for view-files, and 2 for regions. The 'position' \
+is the scrolled list position of the label. The label itself is 'label'. We could use the 'finfo' procedure in examp.rb \
+to popup file info as follows: \n\
+$mouse_enter_label_hook.add_hook!(\"finfo\") do |type, position, name|\n\
+  if type != 2\n\
+    " S_info_dialog "(name, finfo(name))\n\
+  end\n\
+end\n\
+See also nb.rb."
+#endif
+#if HAVE_FORTH
+  #define H_mouse_enter_label_hook S_mouse_enter_label_hook " (type position label): called when the mouse enters a file viewer or region label. \
+The 'type' is 1 for view-files, and 2 for regions. The 'position' \
+is the scrolled list position of the label. The label itself is 'label'. We could use the 'finfo' procedure in examp.fs \
+to popup file info as follows: \n\
+" S_mouse_enter_label_hook " lambda: <{ type position name }>\n\
+  type 2 <> if\n\
+    name name finfo info-dialog\n\
+  else\n\
+    #f\n\
+  then\n\
+; add-hook!"
+#endif
+
+#if HAVE_SCHEME
+  #define H_mouse_enter_graph_hook S_mouse_enter_graph_hook " (snd chn): called when the mouse \
+enters the drawing area (graph pane) of the given channel.\n\
+  (hook-push " S_mouse_enter_graph_hook "\n\
+    (lambda (hook)\n\
+      (" S_focus_widget " (car (" S_channel_widgets " (hook 'snd) (hook 'chn))))))"
+
+  #define H_mouse_leave_graph_hook S_mouse_leave_graph_hook " (snd chn): is called when the mouse \
+leaves the drawing area (graph pane) of the given channel."
+#endif
+#if HAVE_RUBY
+  #define H_mouse_enter_graph_hook S_mouse_enter_graph_hook " (snd chn): called when the mouse \
+enters the drawing area (graph pane) of the given channel.\n\
+  $mouse_enter_graph_hook.add-hook!(\"focus\") do |snd chn|\n\
+    focus_widget(channel_widgets(snd, chn)[0])\n\
+    end"
+
+  #define H_mouse_leave_graph_hook S_mouse_leave_graph_hook " (snd chn): called when the mouse \
+leaves the drawing area (graph pane) of the given channel."
+#endif
+#if HAVE_FORTH
+  #define H_mouse_enter_graph_hook S_mouse_enter_graph_hook " (snd chn): called when the mouse \
+enters the drawing area (graph pane) of the given channel.\n\
+" S_mouse_enter_graph_hook " lambda: <{ snd chn }>\n\
+  snd chn " S_channel_widgets " car " S_focus_widget "\n\
+; add-hook!"
+  #define H_mouse_leave_graph_hook S_mouse_leave_graph_hook " (snd chn): is called when the mouse \
+leaves the drawing area (graph pane) of the given channel."
+#endif
+
+#if HAVE_SCHEME
+  #define H_mouse_enter_listener_hook S_mouse_enter_listener_hook " (widget): called when the mouse \
+enters the lisp listener pane:\n\
+  (hook-push " S_mouse_enter_listener_hook "\n\
+    (lambda (hook)\n\
+      (" S_focus_widget " (hook 'widget))))"
+#endif
+#if HAVE_RUBY
+  #define H_mouse_enter_listener_hook S_mouse_enter_listener_hook " (listener): called when the mouse \
+enters the lisp listener pane:\n\
+  $mouse_enter_listener_hook.add-hook!(\"enter\") do |widget|\n\
+    focus_widget(widget)\n\
+  end"
+#endif
+#if HAVE_FORTH
+  #define H_mouse_enter_listener_hook S_mouse_enter_listener_hook " (listener): called when the mouse \
+enters the lisp listener pane:\n\
+" S_mouse_enter_listener_hook " lambda: <{ wid }> wid " S_focus_widget " ; add-hook!"
+#endif
+
+#if HAVE_SCHEME
+  #define H_mouse_enter_text_hook S_mouse_enter_text_hook " (widget): called when the mouse enters a text widget:\n\
+(hook-push " S_mouse_enter_text_hook "\n\
+  (lambda (w)\n\
+    (" S_focus_widget " w)))"
+#endif
+#if HAVE_RUBY
+  #define H_mouse_enter_text_hook S_mouse_enter_text_hook " (widget): called when the mouse enters a text widget:\n\
+$mouse_enter_text_hook.add_hook!(\"enter\") do |w|\n\
+    focus_widget(w)\n\
+  end"
+#endif
+#if HAVE_FORTH
+  #define H_mouse_enter_text_hook S_mouse_enter_text_hook " (widget): called when the mouse enters a text widget:\n\
+" S_mouse_enter_text_hook " lambda: <{ wid }> wid " S_focus_widget " ; add-hook!"
+#endif
+
+
+void g_init_motif(void)
+{
+#if HAVE_SCHEME
+  s7_pointer i, b, p, t, r, s, l, fnc;
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  p = s7_make_symbol(s7, "pair?");
+  l = s7_make_symbol(s7, "list?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  fnc = s7_make_symbol(s7, "procedure?");
+  t = s7_t(s7);
+#endif
+
+  orientation_hook =          Xen_define_hook(S_orientation_hook,          "(make-hook)", 0,                        H_orientation_hook);
+  color_hook =                Xen_define_hook(S_color_hook,                "(make-hook)", 0,                        H_color_hook);
+  mouse_enter_label_hook =    Xen_define_hook(S_mouse_enter_label_hook,    "(make-hook 'type 'position 'label)", 3, H_mouse_enter_label_hook);
+  mouse_leave_label_hook =    Xen_define_hook(S_mouse_leave_label_hook,    "(make-hook 'type 'position 'label)", 3, H_mouse_leave_label_hook);
+  view_files_select_hook =    Xen_define_hook(S_view_files_select_hook,    "(make-hook 'dialog 'name)", 2,          H_view_files_select_hook);
+  drop_hook =                 Xen_define_hook(S_drop_hook,                 "(make-hook 'name)", 1,                  H_drop_hook);
+  mouse_enter_listener_hook = Xen_define_hook(S_mouse_enter_listener_hook, "(make-hook 'widget)", 1,                H_mouse_enter_listener_hook);
+  mouse_leave_listener_hook = Xen_define_hook(S_mouse_leave_listener_hook, "(make-hook 'widget)", 1,                H_mouse_leave_listener_hook);
+  mouse_enter_text_hook =     Xen_define_hook(S_mouse_enter_text_hook,     "(make-hook 'widget)", 1,                H_mouse_enter_text_hook);
+  mouse_leave_text_hook =     Xen_define_hook(S_mouse_leave_text_hook,     "(make-hook 'widget)", 1,                H_mouse_leave_text_hook);
+  listener_click_hook =       Xen_define_hook(S_listener_click_hook,       "(make-hook 'position)", 1,              H_listener_click_hook);
+  mouse_enter_graph_hook =    Xen_define_hook(S_mouse_enter_graph_hook,    "(make-hook 'snd 'chn)", 2,              H_mouse_enter_graph_hook);
+  mouse_leave_graph_hook =    Xen_define_hook(S_mouse_leave_graph_hook,    "(make-hook 'snd 'chn)", 2,              H_mouse_leave_graph_hook);
+
+
+  Xen_define_typed_procedure(S_find_dialog,           g_find_dialog_w,            0, 2, 0, H_find_dialog,           s7_make_signature(s7, 3, p, b, s));
+  Xen_define_typed_procedure("find-dialog-widgets",   g_find_dialog_widgets_w,    0, 0, 0, "test function",         s7_make_signature(s7, 1, l));
+  Xen_define_typed_procedure(S_view_regions_dialog,   g_view_regions_dialog_w,    0, 0, 0, H_view_regions_dialog,   s7_make_signature(s7, 1, p));
+  Xen_define_typed_procedure(S_view_files_dialog,     g_view_files_dialog_w,      0, 2, 0, H_view_files_dialog,     s7_make_signature(s7, 3, p, b, b));
+  Xen_define_typed_procedure(S_add_file_sorter,       g_add_file_sorter_w,        2, 0, 0, H_add_file_sorter,       s7_make_signature(s7, 3, i, s, fnc));
+  Xen_define_typed_procedure(S_delete_file_sorter,    g_delete_file_sorter_w,     1, 0, 0, H_delete_file_sorter,    s7_make_signature(s7, 2, i, i));
+  Xen_define_typed_procedure(S_menu_widgets,          g_menu_widgets_w,           0, 0, 0, H_menu_widgets,          s7_make_signature(s7, 1, p));
+  Xen_define_typed_procedure(S_listener_selection,    g_listener_selection_w,     0, 0, 0, H_listener_selection,    
+			     s7_make_signature(s7, 1, s7_make_signature(s7, 2, b, s)));
+  Xen_define_typed_procedure(S_reset_listener_cursor, g_reset_listener_cursor_w,  0, 0, 0, H_reset_listener_cursor, s7_make_signature(s7, 1, b));
+  Xen_define_typed_procedure(S_goto_listener_end,     g_goto_listener_end_w,      0, 0, 0, H_goto_listener_end,     s7_make_signature(s7, 1, i));
+  Xen_define_typed_procedure(S_channel_widgets,       g_channel_widgets_w,        0, 2, 0, H_channel_widgets,       s7_make_signature(s7, 3, p, t, t));
+  Xen_define_typed_procedure(S_sound_widgets,         g_sound_widgets_w,          0, 1, 0, H_sound_widgets,         s7_make_signature(s7, 2, p, t));
+
+  Xen_define_typed_procedure(S_add_directory_to_view_files_list, g_add_directory_to_view_files_list_w, 1, 1, 0, H_add_directory_to_view_files_list,
+			     s7_make_signature(s7, 3, s, s, p));
+  Xen_define_typed_procedure(S_add_file_to_view_files_list,      g_add_file_to_view_files_list_w,      1, 1, 0, H_add_file_to_view_files_list,
+			     s7_make_signature(s7, 3, s, s, p));
+
+
+  Xen_define_typed_dilambda(S_enved_filter, g_enved_filter_w, H_enved_filter,
+			    S_set S_enved_filter, g_set_enved_filter_w, 0, 0, 1, 0, 
+			    s7_make_signature(s7, 1, b), s7_make_signature(s7, 2, b, b));
+  Xen_define_typed_dilambda(S_enved_envelope, g_enved_envelope_w, H_enved_envelope,
+			    S_set S_enved_envelope, g_set_enved_envelope_w, 0, 0, 1, 0, 
+			    s7_make_signature(s7, 1, p), s7_make_signature(s7, 2, t, t));
+
+  Xen_define_typed_dilambda(S_view_files_amp, g_view_files_amp_w, H_view_files_amp,
+			    S_set S_view_files_amp, g_view_files_set_amp_w,  1, 0, 2, 0, 
+			    s7_make_signature(s7, 2, r, t), s7_make_signature(s7, 3, r, t, r));
+  Xen_define_typed_dilambda(S_view_files_amp_env, g_view_files_amp_env_w, H_view_files_amp_env,
+			    S_set S_view_files_amp_env, g_view_files_set_amp_env_w,  1, 0, 2, 0,
+			    s7_make_signature(s7, 2, p, t), s7_make_signature(s7, 3, p, t, p));
+  Xen_define_typed_dilambda(S_view_files_speed_style, g_view_files_speed_style_w, H_view_files_speed_style,
+			    S_set S_view_files_speed_style, g_view_files_set_speed_style_w,  1, 0, 2, 0,
+			    s7_make_signature(s7, 2, i, t), s7_make_signature(s7, 3, i, t, i));
+  Xen_define_typed_dilambda(S_view_files_speed, g_view_files_speed_w, H_view_files_speed,
+			    S_set S_view_files_speed, g_view_files_set_speed_w,  1, 0, 2, 0,
+			    s7_make_signature(s7, 2, r, t), s7_make_signature(s7, 3, r, t, r));
+  Xen_define_typed_dilambda(S_view_files_files, g_view_files_files_w, H_view_files_files,
+			    S_set S_view_files_files, g_view_files_set_files_w,  1, 0, 2, 0,
+			    s7_make_signature(s7, 2, l, t), s7_make_signature(s7, 3, l, t, l));
+  Xen_define_typed_dilambda(S_view_files_selected_files, g_view_files_selected_files_w, H_view_files_selected_files,
+			    S_set S_view_files_selected_files, g_view_files_set_selected_files_w,  1, 0, 2, 0,
+			    s7_make_signature(s7, 2, l, t), s7_make_signature(s7, 3, l, t, l));
+  Xen_define_typed_dilambda(S_view_files_sort, g_view_files_sort_w, H_view_files_sort,
+			    S_set S_view_files_sort, g_set_view_files_sort_w,  0, 1, 1, 1,
+			    s7_make_signature(s7, 2, i, t), s7_make_signature(s7, 3, i, t, i));
+
+  Xen_define_typed_dilambda(S_graph_cursor, g_graph_cursor_w, H_graph_cursor,
+			    S_set S_graph_cursor, g_set_graph_cursor_w,  0, 0, 1, 0,
+			    s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
+
+
+  Xen_add_to_hook_list(ss->snd_open_file_hook, vf_open_file_watcher_w, "view-files-dialog-open-file-handler", "view-files dialog open-file handler");
+  Xen_add_to_hook_list(ss->snd_open_file_hook, reflect_file_close_in_sync_w, "sync-open-file-watcher", "sound sync open-file-hook handler");
+
+  /* file-filters and file-sorters are lists from user's point of view, but I want to
+   *   make sure they're gc-protected through add/delete/set, and want such code compatible
+   *   with current Ruby xen macros, so I'll use an array internally.
+   */
+  ss->file_sorters_size = INITIAL_FILE_SORTERS_SIZE;
+  ss->file_sorters = Xen_make_vector(ss->file_sorters_size, Xen_false);
+  Xen_GC_protect(ss->file_sorters);
+
+
+#if HAVE_SCHEME
+  s7_symbol_set_access(s7, ss->view_files_sort_symbol, s7_make_function(s7, "[acc-" S_view_files_sort "]", acc_view_files_sort, 2, 0, false, "accessor"));
+  top_level_let = s7_nil(s7);
+  s7_define_variable(s7, "top-level-let", 
+                     s7_dilambda(s7, "top-level-let", g_top_level_let, 0, 0, g_set_top_level_let, 1, 0, "listener environment"));
+  s7_symbol_set_access(s7, ss->graph_cursor_symbol, s7_make_function(s7, "[acc-" S_graph_cursor "]", acc_graph_cursor, 2, 0, false, "accessor"));
+  s7_symbol_set_documentation(s7, ss->graph_cursor_symbol, "*graph-cursor*: current graph cursor shape");
+#endif
+
+  preload_best_completions();
+  Xen_define_procedure(S_in,            g_in_w,             2, 0, 0, H_in);
+}
diff --git a/snd-motif.scm b/snd-motif.scm
index cba0613..1b61b5b 100644
--- a/snd-motif.scm
+++ b/snd-motif.scm
@@ -134,10 +134,10 @@
   (define host-name
     (let ((documentation "(host-name) -> name of current machine"))
       (lambda ()
-	(let* ((dpy (XtDisplay (cadr (main-widgets))))
-	       (win (XtWindow (cadr (main-widgets))))
-	       (host (XGetWindowProperty dpy win (XInternAtom (XtDisplay (cadr (main-widgets))) "WM_CLIENT_MACHINE" #f) 0 32 #f XA_STRING)))
-	  (and host (host 5))))))
+	(let ((host (let ((dpy (XtDisplay (cadr (main-widgets))))
+			  (win (XtWindow (cadr (main-widgets)))))
+		      (XGetWindowProperty dpy win (XInternAtom (XtDisplay (cadr (main-widgets))) "WM_CLIENT_MACHINE" #f) 0 32 #f XA_STRING))))
+	  (and (pair? host) (host 5))))))
   
   
 ;;; -------- install-searcher --------
@@ -160,41 +160,39 @@
     (define (XmString->string str)
       (XmStringUnparse str #f XmCHARSET_TEXT XmCHARSET_TEXT #f 0 XmOUTPUT_ALL))
     
-    (let* ((dialog (open-file-dialog #f))
+    (let ((dialog (open-file-dialog #f))
 	   ;; (XtGetValues dialog (XmNfileSearchProc 0)) to get the default
-	   (shell (cadr (main-widgets)))
-	   (tags (list "one" "two" "three" "four"))
-	   (pixels (let* ((dpy (XtDisplay shell))
-			  (cmap (DefaultColormap dpy (DefaultScreen dpy))))
-		     (map
-		      (lambda (color)
-			(let ((col (XColor)))
-			  (if (= (XAllocNamedColor dpy cmap color col col) 0)
-			      (snd-error (format #f "can't allocate ~A" color))
-			      (.pixel col))))
-		   '("black" "red" "blue" "orange"))))
-	   (rendertable (XmRenderTableAddRenditions 
-			 #f 
-			 (map (lambda (tag pix)
-				(XmRenditionCreate 
-				 (cadr (main-widgets))
-				 tag
-				 (list XmNrenditionForeground pix
-				       XmNfontName "9x15"
-				       XmNfontType XmFONT_IS_FONT)))
-			      tags pixels)
-			 (length tags)
-			 XmMERGE_NEW)))
-      
+	   (rendertable (let* ((tags (list "one" "two" "three" "four"))
+			       (pixels (let* ((dpy (XtDisplay (cadr (main-widgets))))
+					      (cmap (DefaultColormap dpy (DefaultScreen dpy))))
+					 (map
+					  (lambda (color)
+					    (let ((col (XColor)))
+					      (if (= (XAllocNamedColor dpy cmap color col col) 0)
+						  (snd-error (format #f "can't allocate ~A" color))
+						  (.pixel col))))
+					  '("black" "red" "blue" "orange")))))
+			  (XmRenderTableAddRenditions 
+			   #f 
+			   (map (lambda (tag pix)
+				  (XmRenditionCreate 
+				   (cadr (main-widgets))
+				   tag
+				   (list XmNrenditionForeground pix
+					 XmNfontName "9x15"
+					 XmNfontType XmFONT_IS_FONT)))
+				tags pixels)
+			   (length tags)
+			   XmMERGE_NEW))))
       (XtSetValues dialog
 		   (list XmNfileSearchProc
 			 (lambda (widget info)
-			   (let* ((dir (XmString->string (.dir info)))  ; may need filter text here?
-				  (files (sort! (map 
-						 (lambda (n) 
-						   (string-append dir n)) 
-						 (match-sound-files proc dir))
-						string<?))               ; alphabetical order
+			   (let* ((files (let ((dir (XmString->string (.dir info))))  ; may need filter text here?
+					   (sort! (map 
+						   (lambda (n) 
+						     (string-append dir n)) 
+						   (match-sound-files proc dir))
+						  string<?)))               ; alphabetical order
 				  (fileTable (map
 					      (lambda (n)
 						(XmStringGenerate 
@@ -274,22 +272,21 @@
 		(let ((calls ()))
 		  (do ((chn 0 (+ 1 chn)))
 		      ((= chn (channels snd)))
-		    (let* ((zy ((channel-widgets snd chn) 6))
-			   (slider-size (cadr (XtGetValues zy (list XmNsliderSize 0)))) ; this is relative to max size
-			   (max-size (cadr (XtGetValues zy (list XmNmaximum 0))))
-			   (zy-div (max 10 (- max-size slider-size))))
-		      (set! calls
-			    (cons (XtAddCallback zy
-						 XmNdragCallback 
-						 (lambda (w data info)
-						   (let ((v (/ (.value info) zy-div)))
-						     (do ((i 0 (+ i 1)))
-							 ((= i (channels snd)))
-						       (if (not (= i chn))
-							   (begin
-							     (set! (y-zoom-slider snd i) (* v v))
-							     (set! (y-position-slider snd i) (y-position-slider snd chn))))))))
-				  calls))))
+		    (let ((new-callback 
+			   (let* ((zy ((channel-widgets snd chn) 6))
+				  (zy-div (max 10 (- (cadr (XtGetValues zy (list XmNmaximum 0))) 
+						     (cadr (XtGetValues zy (list XmNsliderSize 0))))))) ; this is relative to max size
+			     (XtAddCallback zy
+					    XmNdragCallback 
+					    (lambda (w data info)
+					      (let ((v (/ (.value info) zy-div)))
+						(do ((i 0 (+ i 1)))
+						    ((= i (channels snd)))
+						  (if (not (= i chn))
+						      (begin
+							(set! (y-zoom-slider snd i) (* v v))
+							(set! (y-position-slider snd i) (y-position-slider snd chn)))))))))))
+		      (set! calls (cons new-callback calls))))
 		  (set! (hook 'result) (reverse calls))))))))
   
   (define zync
@@ -699,7 +696,7 @@
     (define (add-main-pane name type args)
       (XtCreateManagedWidget name type ((main-widgets) 3) args))
     
-    (define compute-uniform-circular-string
+    (define vibrating-uniform-circular-string
       ;; copied from dsp.scm to simplify life
       (lambda (size x0 x1 x2 mass xspring damp)
 	(define circle-float-vector-ref 
@@ -823,7 +820,7 @@
       
       (define (tick-synthesis n)
 	;; background process
-	(compute-uniform-circular-string size gx0 gx1 gx2 mass xspring damp)
+	(vibrating-uniform-circular-string size gx0 gx1 gx2 mass xspring damp)
 	(draw-graph)
 	#f)
       
@@ -1041,21 +1038,21 @@
 						     XmNorientation      XmVERTICAL
 						     XmNpaneMinimum      100
 						     XmNbottomAttachment XmATTACH_FORM)))
-		   (mark-label (XtCreateManagedWidget "Marks" xmLabelWidgetClass mark-box
-						      (list XmNbackground       *highlight-color*
-							    XmNleftAttachment   XmATTACH_FORM
-							    XmNrightAttachment  XmATTACH_FORM
-							    XmNalignment        XmALIGNMENT_CENTER
-							    XmNtopAttachment    XmATTACH_FORM)))
-		   (mark-scroller (XtCreateManagedWidget "mark-scroller" xmScrolledWindowWidgetClass mark-box
-							 (list XmNbackground       *basic-color*
-							       XmNscrollingPolicy  XmAUTOMATIC
-							       XmNscrollBarDisplayPolicy XmSTATIC
-							       XmNleftAttachment   XmATTACH_FORM
-							       XmNrightAttachment  XmATTACH_FORM
-							       XmNtopAttachment    XmATTACH_WIDGET
-							       XmNtopWidget        mark-label
-							       XmNbottomAttachment XmATTACH_FORM)))
+		   (mark-scroller (let ((mark-label (XtCreateManagedWidget "Marks" xmLabelWidgetClass mark-box
+									   (list XmNbackground       *highlight-color*
+										 XmNleftAttachment   XmATTACH_FORM
+										 XmNrightAttachment  XmATTACH_FORM
+										 XmNalignment        XmALIGNMENT_CENTER
+										 XmNtopAttachment    XmATTACH_FORM))))
+				    (XtCreateManagedWidget "mark-scroller" xmScrolledWindowWidgetClass mark-box
+							   (list XmNbackground       *basic-color*
+								 XmNscrollingPolicy  XmAUTOMATIC
+								 XmNscrollBarDisplayPolicy XmSTATIC
+								 XmNleftAttachment   XmATTACH_FORM
+								 XmNrightAttachment  XmATTACH_FORM
+								 XmNtopAttachment    XmATTACH_WIDGET
+								 XmNtopWidget        mark-label
+								 XmNbottomAttachment XmATTACH_FORM))))
 		   (mlist (XtCreateManagedWidget "mark-list"  xmRowColumnWidgetClass mark-scroller
 						 (list XmNorientation      XmVERTICAL
 						       XmNtopAttachment    XmATTACH_FORM
@@ -1080,11 +1077,11 @@
 				   (XtSetValues w (list XmNbackground *basic-color*))))
 		  (XtAddCallback tf XmNactivateCallback
 				 (lambda (w c i)
-				   (let* ((id (integer->mark (cadr (XtGetValues w (list XmNuserData 0)))))
-					  (txt (cadr (XtGetValues w (list XmNvalue 0))))
-					  (samp (and (string? txt) 
-						     (> (length txt) 0)
-						     (string->number txt))))
+				   (let ((id (integer->mark (cadr (XtGetValues w (list XmNuserData 0)))))
+					 (samp (let ((txt (cadr (XtGetValues w (list XmNvalue 0)))))
+						 (and (string? txt) 
+						      (> (length txt) 0)
+						      (string->number txt)))))
 				     (if samp
 					 (if (mark? id)
 					     (set! (mark-sample id) samp))
@@ -1241,33 +1238,32 @@
 ;;;   call from a work proc or whatever with hour going from 0 to 12 then #f
   
   (define snd-clock-icon
-    (let* ((shell ((main-widgets) 1))
-	   (dpy (XtDisplay shell))
-	   (win (XtWindow shell))
-	   (clock-pixmaps (make-vector 12))
-	   (dgc (car (snd-gcs))))
-      (do ((i 0 (+ i 1)))
-	  ((= i 12))
-	;; it's actually possible to simply redraw on one pixmap, but updates are unpredictable
-	(let* ((pix (XCreatePixmap dpy win 16 16 (screen-depth)))
-	       (pixwin (list 'Window (cadr pix)))) ; C-style cast to Window for X graphics procedures
-	  (set! (clock-pixmaps i) pix)
-	  (XSetForeground dpy dgc *basic-color*)
-	  (XFillRectangle dpy pixwin dgc 0 0 16 16)
-	  (XSetForeground dpy dgc (white-pixel))
-	  (XFillArc dpy pixwin dgc 1 1 14 14 0 23040) ; (* 64 360))
-	  (XSetForeground dpy dgc (black-pixel))
-	  (XDrawArc dpy pixwin dgc 1 1 14 14 0 23040) ; (* 64 360))
-	  (XDrawLine dpy pixwin dgc 8 8
-		     (+ 8 (round (* 7 (sin (* i (/ 3.1416 6.0))))))
-		     (- 8 (round (* 7 (cos (* i (/ 3.1416 6.0)))))))))
-      (XSetBackground dpy dgc *graph-color*)
-      (XSetForeground dpy dgc *data-color*)
-      (lambda (snd hour)
-	(if hour
-	    (XtSetValues ((sound-widgets snd) 8)
-			 (list XmNlabelPixmap (clock-pixmaps hour)))
-	    (bomb snd #f))))) ; using bomb to clear the icon
+    (let ((shell ((main-widgets) 1)))
+      (let ((dpy (XtDisplay shell))
+	    (clock-pixmaps (make-vector 12))
+	    (dgc (car (snd-gcs))))
+	(do ((i 0 (+ i 1)))
+	    ((= i 12))
+	  ;; it's actually possible to simply redraw on one pixmap, but updates are unpredictable
+	  (let* ((pix (XCreatePixmap dpy (XtWindow shell) 16 16 (screen-depth)))
+		 (pixwin (list 'Window (cadr pix)))) ; C-style cast to Window for X graphics procedures
+	    (set! (clock-pixmaps i) pix)
+	    (XSetForeground dpy dgc *basic-color*)
+	    (XFillRectangle dpy pixwin dgc 0 0 16 16)
+	    (XSetForeground dpy dgc (white-pixel))
+	    (XFillArc dpy pixwin dgc 1 1 14 14 0 23040) ; (* 64 360))
+	    (XSetForeground dpy dgc (black-pixel))
+	    (XDrawArc dpy pixwin dgc 1 1 14 14 0 23040) ; (* 64 360))
+	    (XDrawLine dpy pixwin dgc 8 8
+		       (+ 8 (round (* 7 (sin (* i (/ 3.1416 6.0))))))
+		       (- 8 (round (* 7 (cos (* i (/ 3.1416 6.0)))))))))
+	(XSetBackground dpy dgc *graph-color*)
+	(XSetForeground dpy dgc *data-color*)
+	(lambda (snd hour)
+	  (if hour
+	      (XtSetValues ((sound-widgets snd) 8)
+			   (list XmNlabelPixmap (clock-pixmaps hour)))
+	      (bomb snd #f)))))) ; using bomb to clear the icon
   
   
   
@@ -1285,33 +1281,27 @@
   (define thumbnail-graph 
     (let ((documentation "(thumbnail-graph dpy wn gc pts width height) makes a little graph of the data"))
       (lambda (dpy wn gc pts width height)
-	(let* ((top-margin 2)
-	       (bottom-margin 6)
-	       (left-margin 2)
-	       (right-margin 2)
-	       (range (/ (- height top-margin bottom-margin) 2)))
-
-	  (define y->grfy
-	    (let ((ay1 top-margin)
-		  (ay0 (- height bottom-margin)))
-	      (lambda (y height)
-		(min ay0
-		     (max ay1
-			  (round (+ ay1
-				    (* height (- 1.0 y)))))))))
-	  
-	  (let* ((ly (y->grfy (pts 0) range))
-		 (lx left-margin)
-		 (len (length pts))
-		 (xinc (/ (- width left-margin right-margin) len))
-		 (y 0))
-	    (do ((i 1 (+ i 1))
-		 (x lx (+ x xinc)))
-		((= i len))
-	      (set! y (y->grfy (pts i) range))
-	      (XDrawLine dpy wn gc lx ly (round x) y)
-	      (set! lx (round x))
-	      (set! ly y)))))))
+	(let ((top-margin 2)
+	      (bottom-margin 6))
+	  (let ((y->grfy (lambda (y height)
+			   (min (- height bottom-margin)
+				(max top-margin
+				     (round (+ top-margin
+					       (* height (- 1.0 y))))))))
+		(range (/ (- height top-margin bottom-margin) 2))
+		(left-margin 2)
+		(len (length pts)))
+	    (let ((ly (y->grfy (pts 0) range))
+		  (lx left-margin)
+		  (xinc (/ (- width left-margin 2) len)) ; 2=right-margin
+		  (y 0))
+	      (do ((i 1 (+ i 1))
+		   (x lx (+ x xinc)))
+		  ((= i len))
+		(set! y (y->grfy (pts i) range))
+		(XDrawLine dpy wn gc lx ly (round x) y)
+		(set! lx (round x))
+		(set! ly y))))))))
   
   (define make-sound-box 
     ;; graphics stuff (fonts etc)
@@ -1328,36 +1318,21 @@
       (let ((gc (XCreateGC (XtDisplay shell) 
 			   (XtWindow shell) 
 			   (logior GCForeground GCBackground GCFont) gv))
-	    (sound-buttons ()))
-	
-	;; button data list handlers
-	(define sound-button-gc
-	  (dilambda
-	   (lambda (data) (data 0))
-	   (lambda (data val) (set! (data 0) val))))
-	
-	(define sound-button-filename
-	  (dilambda
-	   (lambda (data) (data 1))
-	   (lambda (data val) (set! (data 1) val))))
-	
-	(define sound-button
-	  (dilambda
-	   (lambda (data) (data 2))
-	   (lambda (data val) (set! (data 2) val))))
-	
-	(define sound-button-peaks
-	  (dilambda
-	   (lambda (data) (data 3))
-	   (lambda (data val) (set! (data 3) val))))
-#|
-	(define (sound-button-data button)
-	(define (sb-data lst) 
-	  (if (null? lst) #f 
-	      (if (equal? button (sound-button (car lst))) (car lst)
-		  (sb-data (cdr lst)))))
-	(sb-data sound-buttons))
-|#
+	    (sound-buttons ())
+	    ;; button data list handlers
+	    (sound-button-gc (dilambda
+			      (lambda (data) (data 0))
+			      (lambda (data val) (set! (data 0) val))))
+	    (sound-button-filename (dilambda
+				    (lambda (data) (data 1))
+				    (lambda (data val) (set! (data 1) val))))
+	    (sound-button (dilambda
+			   (lambda (data) (data 2))
+			   (lambda (data val) (set! (data 2) val))))
+	    (sound-button-peaks (dilambda
+				 (lambda (data) (data 3))
+				 (lambda (data val) (set! (data 3) val)))))
+
 	(define (make-sound-button-pixmap dpy wn data width height)
 	  (if (pair? (sound-button-peaks data))
 	      (let ((mins (car (sound-button-peaks data)))
@@ -1375,8 +1350,7 @@
 	(define (make-sound-icon filename parent peak-func gc width height args)
 	  (define (cast-to-window n) (list 'Window (cadr n)))
 	  (let* ((dpy (XtDisplay parent))
-		 (win (XtWindow parent))
-		 (pix (XCreatePixmap dpy win width height (screen-depth)))
+		 (pix (XCreatePixmap dpy (XtWindow parent) width height (screen-depth)))
 		 (str (XmStringCreateLocalized filename))
 		 (data (list gc filename #f (channel-amp-envs filename 0 width peak-func))))
 	    (XSetForeground dpy gc *basic-color*)
@@ -1709,14 +1683,14 @@
   (define make-channel-drop-site
     (let ((documentation "(make-channel-drop-site snd) adds a drop site pane to the current channel"))
       (lambda args
-	(let* ((snd (if (pair? args) (car args) (selected-sound)))
-	       (widget (add-channel-pane snd (selected-channel snd)
-					 "drop here" xmDrawingAreaWidgetClass
-					 (list XmNbackground (white-pixel)
-					       XmNleftAttachment      XmATTACH_FORM
-					       XmNrightAttachment     XmATTACH_FORM
-					       XmNtopAttachment       XmATTACH_FORM
-					       XmNbottomAttachment    XmATTACH_FORM))))
+	(let ((widget (let ((snd (if (pair? args) (car args) (selected-sound))))
+			(add-channel-pane snd (selected-channel snd)
+					  "drop here" xmDrawingAreaWidgetClass
+					  (list XmNbackground (white-pixel)
+						XmNleftAttachment      XmATTACH_FORM
+						XmNrightAttachment     XmATTACH_FORM
+						XmNtopAttachment       XmATTACH_FORM
+						XmNbottomAttachment    XmATTACH_FORM)))))
 	  (XmDropSiteRegister
 	   widget 
 	   (list XmNdropSiteOperations XmDROP_COPY
@@ -1980,10 +1954,8 @@
 		      (let ((next-amp (and (< i (- chns 1))
 					   (find-child snd-amp (label-name (+ i 1))))))
 			(reset-to-one amp ampn)
-			(XtSetValues ampc (if next-amp 
-					      (list XmNtopAttachment XmATTACH_WIDGET
-						    XmNtopWidget     next-amp)
-					      (list XmNtopAttachment XmATTACH_FORM))))
+			(XtSetValues ampc (list XmNtopAttachment 
+						(if next-amp (values XmATTACH_WIDGET XmNtopWidget next-amp) XmATTACH_FORM))))
 		      (XtManageChild ampc)
 		      (XtManageChild ampn)
 		      (XtManageChild amp))))
@@ -2526,28 +2498,22 @@ display widget; type = 'text, 'meter, 'graph, 'spectrum, 'scale"))
 		 (XtVaSetValues (find-child scl "Scrollbar") (list XmNtroughColor (red-pixel)))
 		 (XmStringFree title)
 		 scl))
-	      #|
-	      ((meter)
-	      ;; using the level meters in snd-motif.scm
-	      (let ((height 70)
-	      (width 210))
-	      (XtCreateManagedWidget var-label xmLabelWidgetClass row-pane
-	      (list XmNbackground  *basic-color*))
-	      (make-level-meter row-pane width height () #f)))
-	      |#
+
 	      ((graph)
-	       (let* ((form (XtCreateManagedWidget var-label xmFormWidgetClass pane 
-						   (list XmNpaneMinimum 100)))
-		      (snd (make-variable-graph form (string-append variable-name ": time") 2048 (floor *clm-srate*))))
+	       (let ((snd (make-variable-graph  
+			   (XtCreateManagedWidget var-label xmFormWidgetClass pane (list XmNpaneMinimum 100))
+			   (string-append variable-name ": time") 2048 (floor *clm-srate*))))
 		 (list (sound->integer snd) (channel-data snd 0))))
+
 	      ((spectrum)
-	       (let* ((form (XtCreateManagedWidget var-label xmFormWidgetClass pane
-						   (list XmNpaneMinimum 100)))
-		      (snd (make-variable-graph form variable-name 2048 (floor *clm-srate*))))
+	       (let ((snd (make-variable-graph 
+			   (XtCreateManagedWidget var-label xmFormWidgetClass pane (list XmNpaneMinimum 100))
+			   variable-name 2048 (floor *clm-srate*))))
 		 (set! (time-graph? snd 0) #f)
 		 (set! (transform-graph? snd 0) #t)
 		 (set! (x-axis-label snd 0 transform-graph) (string-append variable-name ": frequency"))
 		 (list (sound->integer snd) (channel-data snd 0))))
+
 	      (else #f)))))))
   
   (define variable-display 
@@ -2570,14 +2536,14 @@ display widget; type = 'text, 'meter, 'graph, 'spectrum, 'scale"))
 		     (or (number? (car widget))
 			 (sound? (car widget))))
 		;; graph/spectrum -- does this need an explicit update?
-		(let* ((snd (car widget))
-		       (data (cadr widget))
-		       (len (length data))
-		       (loc (cursor snd 0)))
-		  (set! (data loc) var)
-		  (if (time-graph? snd) (update-time-graph snd))
-		  (if (transform-graph? snd) (update-transform-graph snd))
-		  (set! cursor (if (= (+ loc 1) len) 0 (+ loc 1))))))
+		(let ((snd (car widget))
+		      (data (cadr widget)))
+		  (let ((len (length data))
+			(loc (cursor snd 0)))
+		    (set! (data loc) var)
+		    (if (time-graph? snd) (update-time-graph snd))
+		    (if (transform-graph? snd) (update-transform-graph snd))
+		    (set! cursor (if (= (+ loc 1) len) 0 (+ loc 1)))))))
 	var)))
   
   (define variable-display-reset 
@@ -2586,13 +2552,13 @@ display widget; type = 'text, 'meter, 'graph, 'spectrum, 'scale"))
 	(if (and (pair? widget)
 		 (number? (car widget)))
 	    ;; graph/spectrum
-	    (let* ((snd (car widget))
-		   (data (cadr widget))
-		   (len (length data)))
-	      (set! (cursor snd 0) 0)
-	      (do ((i 0 (+ i 1)))
-		  ((= i len))
-		(vector-set! data 0 i 0.0)))))))
+	    (let ((data (cadr widget)))
+	      (let ((snd (car widget))
+		    (len (length data)))
+		(set! (cursor snd 0) 0)
+		(do ((i 0 (+ i 1)))
+		    ((= i len))
+		  (vector-set! data 0 i 0.0))))))))
   
   
 #|
@@ -2619,15 +2585,14 @@ display widget; type = 'text, 'meter, 'graph, 'spectrum, 'scale"))
 		   (play-button (widgets 4))
 		   (cur-size (cadr (XtVaGetValues (car widgets) (list XmNheight 0)))))
 	      (XtUnmanageChild play-button)
-	      (let* ((name-form (XtParent status-area)) ; "snd-name-form"
-		     (new-minmax (XtCreateManagedWidget "." xmPushButtonWidgetClass name-form 
-							(list XmNbackground      *basic-color*
-							      XmNrightAttachment XmATTACH_FORM
-							      XmNtopAttachment   XmATTACH_FORM
-							      XmNmarginWidth 2
-							      XmNmarginHeight 0
-							      XmNshadowThickness 0
-							      ))))
+	      (let ((new-minmax (XtCreateManagedWidget "." xmPushButtonWidgetClass 
+						       (XtParent status-area)
+						       (list XmNbackground      *basic-color*
+							     XmNrightAttachment XmATTACH_FORM
+							     XmNtopAttachment   XmATTACH_FORM
+							     XmNmarginWidth 2
+							     XmNmarginHeight 0
+							     XmNshadowThickness 0))))
 		(XtVaSetValues play-button (list XmNrightAttachment XmATTACH_WIDGET
 						 XmNrightWidget new-minmax))
 		(XtManageChild play-button)
diff --git a/snd-print.c b/snd-print.c
index dcc3f70..e6f1abb 100644
--- a/snd-print.c
+++ b/snd-print.c
@@ -783,20 +783,30 @@ static s7_pointer acc_eps_size(s7_scheme *sc, s7_pointer args) {return(g_set_eps
 
 void g_init_print(void)
 {
-  Xen_define_procedure(S_graph_to_ps, g_graph_to_ps_w, 0, 1, 0, H_graph_to_ps);
-  Xen_define_procedure(S_gl_graph_to_ps, g_gl_graph_to_ps_w, 0, 4, 0, H_gl_graph_to_ps);
+#if HAVE_SCHEME
+  s7_pointer i, t, r, s, pcl_s, pcl_r;
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
+  i = s7_make_symbol(s7, "integer?");
+  t = s7_t(s7);
+  pcl_s = s7_make_circular_signature(s7, 0, 1, s);
+  pcl_r = s7_make_circular_signature(s7, 0, 1, r);
+#endif
+
+  Xen_define_typed_procedure(S_graph_to_ps, g_graph_to_ps_w, 0, 1, 0, H_graph_to_ps, pcl_s);
+  Xen_define_typed_procedure(S_gl_graph_to_ps, g_gl_graph_to_ps_w, 0, 4, 0, H_gl_graph_to_ps, s7_make_signature(s7, 5, s, s, i, t, t));
 
-  Xen_define_dilambda(S_eps_file, g_eps_file_w, H_eps_file,
-				   S_set S_eps_file, g_set_eps_file_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_eps_file, g_eps_file_w, H_eps_file, 
+			    S_set S_eps_file, g_set_eps_file_w,  0, 0, 1, 0, pcl_s, pcl_s);
 
-  Xen_define_dilambda(S_eps_left_margin, g_eps_left_margin_w, H_eps_left_margin,
-				   S_set S_eps_left_margin, g_set_eps_left_margin_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_eps_left_margin, g_eps_left_margin_w, H_eps_left_margin,
+			    S_set S_eps_left_margin, g_set_eps_left_margin_w,  0, 0, 1, 0, pcl_r, pcl_r);
   
-  Xen_define_dilambda(S_eps_bottom_margin, g_eps_bottom_margin_w, H_eps_bottom_margin,
-				   S_set S_eps_bottom_margin, g_set_eps_bottom_margin_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_eps_bottom_margin, g_eps_bottom_margin_w, H_eps_bottom_margin,
+			    S_set S_eps_bottom_margin, g_set_eps_bottom_margin_w,  0, 0, 1, 0, pcl_r, pcl_r);
 
-  Xen_define_dilambda(S_eps_size, g_eps_size_w, H_eps_size,
-				   S_set S_eps_size, g_set_eps_size_w,  0, 0, 1, 0);
+  Xen_define_typed_dilambda(S_eps_size, g_eps_size_w, H_eps_size,
+			    S_set S_eps_size, g_set_eps_size_w,  0, 0, 1, 0, pcl_r, pcl_r);
 
 #if HAVE_GL && WITH_GL2PS
   Xen_provide_feature("gl2ps");
diff --git a/snd-region.c b/snd-region.c
index 0b321d3..6cdffcc 100644
--- a/snd-region.c
+++ b/snd-region.c
@@ -1560,7 +1560,7 @@ static Xen g_restore_region(Xen args)
 
   arg = Xen_cdr(arg);
   len = Xen_car(arg);
-  Xen_check_type(Xen_is_number(len), len, 3, S_restore_region, "an integer");
+  Xen_check_type(Xen_is_integer(len), len, 3, S_restore_region, "an integer");
 
   arg = Xen_cdr(arg);
   srate = Xen_car(arg);
@@ -2178,12 +2178,14 @@ static s7_pointer acc_max_regions(s7_scheme *sc, s7_pointer args) {return(g_set_
 void g_init_regions(void)
 {
 #if HAVE_SCHEME
-  s7_pointer i, b, p, t, f, fv, rg;
+  s7_pointer i, b, p, t, r, f, s, fv, rg;
   i = s7_make_symbol(s7, "integer?");
   rg = s7_make_symbol(s7, "region?");
   b = s7_make_symbol(s7, "boolean?");
   p = s7_make_symbol(s7, "list?");
   f = s7_make_symbol(s7, "float?");
+  r = s7_make_symbol(s7, "real?");
+  s = s7_make_symbol(s7, "string?");
   fv = s7_make_symbol(s7, "float-vector?");
   t = s7_t(s7);
 #endif
@@ -2191,12 +2193,13 @@ void g_init_regions(void)
   init_xen_region();
   init_region_keywords();
 
-  Xen_define_procedure(S_restore_region,              g_restore_region_w,         0, 0, 1, "internal func used in save-state, restores a region");
-  Xen_define_procedure(S_insert_region,               g_insert_region_w,          2, 2, 0, H_insert_region);
-  Xen_define_procedure(S_save_region,                 g_save_region_w,            2, 7, 0, H_save_region);
-  Xen_define_procedure(S_forget_region,               g_forget_region_w,          1, 0, 0, H_forget_region);
-  Xen_define_procedure(S_make_region,                 g_make_region_w,            0, 4, 0, H_make_region);
-  Xen_define_procedure(S_mix_region,                  g_mix_region_w,             1, 4, 0, H_mix_region);
+  Xen_define_typed_procedure(S_restore_region,         g_restore_region_w,         0, 0, 1, "internal func used in save-state, restores a region",
+			     s7_make_signature(s7, 11, i, i, i, i, i, r, s, s, s, s, p));
+  Xen_define_typed_procedure(S_insert_region,          g_insert_region_w,          2, 2, 0, H_insert_region,   s7_make_signature(s7, 5, rg, rg, i, t, t));
+  Xen_define_typed_procedure(S_save_region,            g_save_region_w,            2, 7, 0, H_save_region,     s7_make_circular_signature(s7, 0, 1, t));
+  Xen_define_typed_procedure(S_forget_region,          g_forget_region_w,          1, 0, 0, H_forget_region,   s7_make_signature(s7, 2, rg, rg));
+  Xen_define_typed_procedure(S_make_region,            g_make_region_w,            0, 4, 0, H_make_region,     s7_make_signature(s7, 5, rg, i, i, t, t));
+  Xen_define_typed_procedure(S_mix_region,             g_mix_region_w,             1, 4, 0, H_mix_region,      s7_make_signature(s7, 6, t, rg, i, t, t, t));
 
   Xen_define_typed_procedure(S_regions,                g_regions_w,                0, 0, 0, H_regions,         s7_make_signature(s7, 1, p));
   Xen_define_typed_procedure(S_region_framples,        g_region_framples_w,        1, 1, 0, H_region_framples, s7_make_signature(s7, 3, i, rg, i));
diff --git a/snd-select.c b/snd-select.c
index 0bd9564..1a007d2 100644
--- a/snd-select.c
+++ b/snd-select.c
@@ -369,7 +369,7 @@ static int mix_selection(chan_info *cp, sync_info *si_out, mus_long_t beg, io_er
 {
   char *tempfile = NULL;
   int id = INVALID_MIX_ID;
-  io_error_t io_err = IO_NO_ERROR;
+  io_error_t io_err;
 
   tempfile = snd_tempnam();
   io_err = save_selection(tempfile, snd_srate(cp->sound), MUS_OUT_SAMPLE_TYPE, MUS_NEXT, NULL, SAVE_ALL_CHANS);
@@ -1386,7 +1386,7 @@ static Xen g_selection_to_mix(void)
   if (selection_is_active())
     {
       chan_info *cp;
-      io_error_t io_err = IO_NO_ERROR;
+      io_error_t io_err;
       int i, id = INVALID_MIX_ID, chans = 0, sync = GET_NEW_SYNC;
       sync_info *si_out;
       Xen result = Xen_empty_list;
@@ -1874,11 +1874,12 @@ Xen_wrap_3_optional_args(g_set_selection_member_w, g_set_selection_member)
 void g_init_selection(void)
 {
 #if HAVE_SCHEME
-  s7_pointer i, b, t, f, sel;
+  s7_pointer i, b, t, f, sel, p;
   i = s7_make_symbol(s7, "integer?");
   sel = s7_make_symbol(s7, "selection?");
   b = s7_make_symbol(s7, "boolean?");
   f = s7_make_symbol(s7, "float?");
+  p = s7_make_symbol(s7, "pair?");
   t = s7_t(s7);
 #endif
 
@@ -1900,11 +1901,10 @@ void g_init_selection(void)
   Xen_define_typed_procedure(S_selection_maxamp_position, g_selection_maxamp_position_w, 0, 2, 0, H_selection_maxamp_position, s7_make_signature(s7, 3, i, t, t));
   Xen_define_typed_procedure(S_select_all,       g_select_all_w,       0, 2, 0, H_select_all,        s7_make_signature(s7, 3, b, t, t));
   Xen_define_typed_procedure(S_unselect_all,     g_unselect_all_w,     0, 0, 0, H_unselect_all,      s7_make_signature(s7, 1, b));
-
-  Xen_define_procedure(S_delete_selection, g_delete_selection_w, 0, 0, 0, H_delete_selection);
-  Xen_define_procedure(S_insert_selection, g_insert_selection_w, 0, 3, 0, H_insert_selection);
-  Xen_define_procedure(S_mix_selection,    g_mix_selection_w,    0, 4, 0, H_mix_selection);
-  Xen_define_procedure(S_selection_to_mix, g_selection_to_mix_w, 0, 0, 0, H_selection_to_mix);
-  Xen_define_procedure(S_save_selection,   g_save_selection_w,   0, 0, 1, H_save_selection);
-  Xen_define_procedure(S_show_selection,   g_show_selection_w,   0, 0, 0, H_show_selection);
+  Xen_define_typed_procedure(S_delete_selection, g_delete_selection_w, 0, 0, 0, H_delete_selection,  s7_make_signature(s7, 1, b));
+  Xen_define_typed_procedure(S_insert_selection, g_insert_selection_w, 0, 3, 0, H_insert_selection,  s7_make_signature(s7, 4, b, i, t, t));
+  Xen_define_typed_procedure(S_mix_selection,    g_mix_selection_w,    0, 4, 0, H_mix_selection,     s7_make_signature(s7, 5, t, i, t, t, i));
+  Xen_define_typed_procedure(S_selection_to_mix, g_selection_to_mix_w, 0, 0, 0, H_selection_to_mix,  s7_make_signature(s7, 1, p));
+  Xen_define_typed_procedure(S_save_selection,   g_save_selection_w,   0, 0, 1, H_save_selection,    s7_make_circular_signature(s7, 0, 1, t));
+  Xen_define_typed_procedure(S_show_selection,   g_show_selection_w,   0, 0, 0, H_show_selection,    s7_make_signature(s7, 1, b));
 }
diff --git a/snd-sig.c b/snd-sig.c
index 5af3964..276ffd0 100644
--- a/snd-sig.c
+++ b/snd-sig.c
@@ -6480,55 +6480,62 @@ static s7_pointer acc_sinc_width(s7_scheme *sc, s7_pointer args) {return(g_set_s
 
 void g_init_sig(void)
 {
-  Xen_define_procedure(S_scan_channel,                     g_scan_channel_w,                1, 5, 0, H_scan_channel);
-#if (!HAVE_SCHEME)
-  Xen_define_procedure(S_scan_chan,                        g_scan_chan_w,                   1, 5, 0, H_scan_chan);
-  Xen_define_procedure(S_find_channel,                     g_find_channel_w,                1, 4, 0, H_find_channel);
-  Xen_define_procedure(S_map_chan,                         g_map_chan_w,                    1, 6, 0, H_map_chan);
+#if HAVE_SCHEME
+  s7_pointer i, pcl_t;
+  i = s7_make_symbol(s7, "integer?");
+  pcl_t = s7_make_circular_signature(s7, 0, 1, s7_t(s7));
+  /* asssert_sample means all positions are '(b i) and assert_channel (or edpos) means the snd/chn/edpos args are #t
+   *   so the signatures are almost useless here -- this should be changed!  snd=<sound>, chn=int, edpos=int
+   */
 #endif
-  Xen_define_procedure(S_count_matches,                    g_count_matches_w,               1, 4, 0, H_count_matches);
-  Xen_define_procedure(S_map_channel,                      g_map_channel_w,                 1, 6, 0, H_map_channel);
-
-  Xen_define_safe_procedure(S_smooth_sound,                g_smooth_sound_w,                0, 4, 0, H_smooth_sound);
-  Xen_define_safe_procedure(S_smooth_selection,            g_smooth_selection_w,            0, 0, 0, H_smooth_selection);
-  Xen_define_safe_procedure(S_delete_selection_and_smooth, g_delete_selection_and_smooth_w, 0, 0, 0, H_delete_selection_and_smooth);
-  Xen_define_safe_procedure(S_delete_samples_and_smooth,   g_delete_samples_and_smooth_w,   2, 3, 0, H_delete_samples_and_smooth);
-  Xen_define_safe_procedure(S_reverse_sound,               g_reverse_sound_w,               0, 3, 0, H_reverse_sound);
-  Xen_define_safe_procedure(S_reverse_selection,           g_reverse_selection_w,           0, 0, 0, H_reverse_selection);
-  Xen_define_safe_procedure(S_swap_channels,               g_swap_channels_w,               0, 8, 0, H_swap_channels);
-  Xen_define_safe_procedure(S_insert_silence,              g_insert_silence_w,              2, 2, 0, H_insert_silence);
-
-  Xen_define_safe_procedure(S_scale_selection_to,          g_scale_selection_to_w,          0, 1, 0, H_scale_selection_to);
-  Xen_define_safe_procedure(S_scale_selection_by,          g_scale_selection_by_w,          1, 0, 0, H_scale_selection_by);
-  Xen_define_safe_procedure(S_scale_to,                    g_scale_to_w,                    0, 3, 0, H_scale_to);
-  Xen_define_safe_procedure(S_scale_by,                    g_scale_by_w,                    1, 2, 0, H_scale_by);
-  Xen_define_safe_procedure(S_env_selection,               g_env_selection_w,               1, 1, 0, H_env_selection);
-  Xen_define_safe_procedure(S_env_sound,                   g_env_sound_w,                   1, 6, 0, H_env_sound);
-  Xen_define_safe_procedure(S_fft,                         g_fft_w,                         2, 1, 0, H_fft);
-  Xen_define_safe_procedure(S_snd_spectrum,                g_snd_spectrum_w,                1, 6, 0, H_snd_spectrum);
-  Xen_define_safe_procedure(S_convolve_with,               g_convolve_with_w,               1, 4, 0, H_convolve_with);
-  Xen_define_safe_procedure(S_convolve_selection_with,     g_convolve_selection_with_w,     1, 1, 0, H_convolve_selection_with);
-  Xen_define_safe_procedure(S_src_sound,                   g_src_sound_w,                   1, 4, 0, H_src_sound);
-  Xen_define_safe_procedure(S_src_selection,               g_src_selection_w,               1, 1, 0, H_src_selection);
-  Xen_define_safe_procedure(S_filter_channel,              g_filter_channel_w,              1, 8, 0, H_filter_channel);
-  Xen_define_safe_procedure(S_filter_sound,                g_filter_sound_w,                1, 5, 0, H_filter_sound);
-  Xen_define_safe_procedure(S_filter_selection,            g_filter_selection_w,            1, 2, 0, H_filter_selection);
-
-  Xen_define_safe_procedure(S_reverse_channel,             g_reverse_channel_w,             0, 5, 0, H_reverse_channel);
-  Xen_define_safe_procedure(S_clm_channel,                 g_clm_channel_w,                 1, 7, 0, H_clm_channel);
-  Xen_define_safe_procedure(S_env_channel,                 g_env_channel_w,                 1, 5, 0, H_env_channel);
-  Xen_define_safe_procedure(S_env_channel_with_base,       g_env_channel_with_base_w,       1, 6, 0, H_env_channel_with_base);
-  Xen_define_safe_procedure(S_ramp_channel,                g_ramp_channel_w,                2, 5, 0, H_ramp_channel);
-  Xen_define_safe_procedure(S_xramp_channel,               g_xramp_channel_w,               2, 6, 0, H_xramp_channel);
-  Xen_define_safe_procedure(S_smooth_channel,              g_smooth_channel_w,              0, 5, 0, H_smooth_channel);
-  Xen_define_safe_procedure(S_src_channel,                 g_src_channel_w,                 1, 5, 0, H_src_channel);
-  Xen_define_safe_procedure(S_pad_channel,                 g_pad_channel_w,                 2, 3, 0, H_pad_channel);
-
-  Xen_define_dilambda(S_sinc_width, g_sinc_width_w, H_sinc_width, S_set S_sinc_width, g_set_sinc_width_w,  0, 0, 1, 0);
-
-  Xen_define_procedure(S_fpsap, g_fpsap_w, 3, 2, 0, H_fpsap);
+
+  Xen_define_typed_procedure(S_scan_channel,       g_scan_channel_w,       1, 5, 0, H_scan_channel,       pcl_t);
+  Xen_define_typed_procedure(S_count_matches,      g_count_matches_w,      1, 4, 0, H_count_matches,      pcl_t);
+  Xen_define_typed_procedure(S_map_channel,        g_map_channel_w,        1, 6, 0, H_map_channel,        pcl_t);
+
+  Xen_define_typed_procedure(S_smooth_sound,       g_smooth_sound_w,       0, 4, 0, H_smooth_sound,       pcl_t);
+  Xen_define_typed_procedure(S_smooth_selection,   g_smooth_selection_w,   0, 0, 0, H_smooth_selection,   pcl_t);
+  Xen_define_typed_procedure(S_delete_selection_and_smooth, g_delete_selection_and_smooth_w, 0, 0, 0, H_delete_selection_and_smooth, pcl_t);
+  Xen_define_typed_procedure(S_delete_samples_and_smooth, g_delete_samples_and_smooth_w, 2, 3, 0, H_delete_samples_and_smooth, pcl_t);
+  Xen_define_typed_procedure(S_reverse_sound,      g_reverse_sound_w,      0, 3, 0, H_reverse_sound,      pcl_t);
+  Xen_define_typed_procedure(S_reverse_selection,  g_reverse_selection_w,  0, 0, 0, H_reverse_selection,  pcl_t);
+  Xen_define_typed_procedure(S_swap_channels,      g_swap_channels_w,      0, 8, 0, H_swap_channels,      pcl_t);
+  Xen_define_typed_procedure(S_insert_silence,     g_insert_silence_w,     2, 2, 0, H_insert_silence,     pcl_t);
+
+  Xen_define_typed_procedure(S_scale_selection_to, g_scale_selection_to_w, 0, 1, 0, H_scale_selection_to, pcl_t);
+  Xen_define_typed_procedure(S_scale_selection_by, g_scale_selection_by_w, 1, 0, 0, H_scale_selection_by, pcl_t);
+  Xen_define_typed_procedure(S_scale_to,           g_scale_to_w,           0, 3, 0, H_scale_to,           pcl_t);
+  Xen_define_typed_procedure(S_scale_by,           g_scale_by_w,           1, 2, 0, H_scale_by,           pcl_t);
+  Xen_define_typed_procedure(S_env_selection,      g_env_selection_w,      1, 1, 0, H_env_selection,      pcl_t);
+  Xen_define_typed_procedure(S_env_sound,          g_env_sound_w,          1, 6, 0, H_env_sound,          pcl_t);
+  Xen_define_typed_procedure(S_fft,                g_fft_w,                2, 1, 0, H_fft,                pcl_t);
+  Xen_define_typed_procedure(S_snd_spectrum,       g_snd_spectrum_w,       1, 6, 0, H_snd_spectrum,       pcl_t);
+  Xen_define_typed_procedure(S_convolve_with,      g_convolve_with_w,      1, 4, 0, H_convolve_with,      pcl_t);
+  Xen_define_typed_procedure(S_convolve_selection_with, g_convolve_selection_with_w, 1, 1, 0, H_convolve_selection_with, pcl_t);
+  Xen_define_typed_procedure(S_src_sound,          g_src_sound_w,          1, 4, 0, H_src_sound,          pcl_t);
+  Xen_define_typed_procedure(S_src_selection,      g_src_selection_w,      1, 1, 0, H_src_selection,      pcl_t);
+  Xen_define_typed_procedure(S_filter_channel,     g_filter_channel_w,     1, 8, 0, H_filter_channel,     pcl_t);
+  Xen_define_typed_procedure(S_filter_sound,       g_filter_sound_w,       1, 5, 0, H_filter_sound,       pcl_t);
+  Xen_define_typed_procedure(S_filter_selection,   g_filter_selection_w,   1, 2, 0, H_filter_selection,   pcl_t);
+
+  Xen_define_typed_procedure(S_reverse_channel,    g_reverse_channel_w,    0, 5, 0, H_reverse_channel,    pcl_t);
+  Xen_define_typed_procedure(S_clm_channel,        g_clm_channel_w,        1, 7, 0, H_clm_channel,        pcl_t);
+  Xen_define_typed_procedure(S_env_channel,        g_env_channel_w,        1, 5, 0, H_env_channel,        pcl_t);
+  Xen_define_typed_procedure(S_env_channel_with_base, g_env_channel_with_base_w, 1, 6, 0, H_env_channel_with_base, pcl_t);
+  Xen_define_typed_procedure(S_ramp_channel,       g_ramp_channel_w,       2, 5, 0, H_ramp_channel,       pcl_t);
+  Xen_define_typed_procedure(S_xramp_channel,      g_xramp_channel_w,      2, 6, 0, H_xramp_channel,      pcl_t);
+  Xen_define_typed_procedure(S_smooth_channel,     g_smooth_channel_w,     0, 5, 0, H_smooth_channel,     pcl_t);
+  Xen_define_typed_procedure(S_src_channel,        g_src_channel_w,        1, 5, 0, H_src_channel,        pcl_t);
+  Xen_define_typed_procedure(S_pad_channel,        g_pad_channel_w,        2, 3, 0, H_pad_channel,        pcl_t);
+
+  Xen_define_typed_dilambda(S_sinc_width, g_sinc_width_w, H_sinc_width, 
+			    S_set S_sinc_width, g_set_sinc_width_w, 0, 0, 1, 0,
+			    s7_make_signature(s7, 1, i), s7_make_signature(s7, 2, i, i));
+
+  Xen_define_typed_procedure(S_fpsap, g_fpsap_w, 3, 2, 0, H_fpsap, pcl_t);
+
 #if HAVE_SCHEME
-  Xen_define_procedure("phases-get-peak", g_phases_get_peak, 3, 0, 0, "");
+  Xen_define_typed_procedure("phases-get-peak", g_phases_get_peak, 3, 0, 0, "", pcl_t);
 
   s7_symbol_set_access(s7, ss->sinc_width_symbol, s7_make_function(s7, "[acc-" S_sinc_width "]", acc_sinc_width, 2, 0, false, "accessor"));
   s7_symbol_set_documentation(s7, ss->sinc_width_symbol, "*sinc-width*: sampling rate conversion sinc width (10).");
@@ -6536,6 +6543,12 @@ void g_init_sig(void)
   gc_vect = s7_make_vector(s7, 1);
   s7_gc_protect(s7, gc_vect);
 #endif
+
+#if (!HAVE_SCHEME)
+  Xen_define_procedure(S_scan_chan,    g_scan_chan_w,    1, 5, 0, H_scan_chan);
+  Xen_define_procedure(S_find_channel, g_find_channel_w, 1, 4, 0, H_find_channel);
+  Xen_define_procedure(S_map_chan,     g_map_chan_w,     1, 6, 0, H_map_chan);
+#endif
 }
 
 #if 0
diff --git a/snd-snd.c b/snd-snd.c
index 6dcdc32..2d187aa 100644
--- a/snd-snd.c
+++ b/snd-snd.c
@@ -2361,8 +2361,8 @@ static Xen g_is_sound(Xen snd)
       snd_info *sp;
       sp = get_sp(snd);
       return(C_bool_to_Xen_boolean((sp) && 
-			      (snd_ok(sp)) &&
-			      (sp->inuse == SOUND_NORMAL)));
+				   (snd_ok(sp)) &&
+				   (sp->inuse == SOUND_NORMAL)));
     }
   return(Xen_false);
 }
@@ -5902,37 +5902,37 @@ void g_init_snd(void)
 {
 #if HAVE_SCHEME
   s7_pointer pl_iq, pl_iqi, pl_sq, pl_sts, pl_i, pl_osi, pl_bt, pl_bo, pl_bob, pl_io, pl_ioi, pl_po, pl_pop, pl_ro, pl_ror, pl_oi, pl_ioz, pl_roo, pl_roor;
-  {
-    s7_pointer i, t, s, b, o, q, p, r, z;
-    i = s7_make_symbol(s7, "integer?");
-    s = s7_make_symbol(s7, "string?");
-    b = s7_make_symbol(s7, "boolean?");
-    p = s7_make_symbol(s7, "pair?");
-    r = s7_make_symbol(s7, "real?");
-    t = s7_t(s7);
-    q = t; /* sigh -- #t is legal here which is idiotic */
-    o = t;
-    z = s7_make_signature(s7, 2, i, b);
-    pl_i = s7_make_signature(s7, 1, i);
-    pl_iq = s7_make_signature(s7, 2, i, q);
-    pl_iqi = s7_make_signature(s7, 3, i, q, i);
-    pl_sts = s7_make_signature(s7, 3, s, t, s);
-    pl_sq = s7_make_signature(s7, 2, s, q);
-    pl_osi = s7_make_signature(s7, 3, o, s, i);
-    pl_bt = s7_make_signature(s7, 2, b, t);
-    pl_bo = s7_make_signature(s7, 2, b, o);
-    pl_bob = s7_make_signature(s7, 3, b, o, b);
-    pl_io = s7_make_signature(s7, 2, i, o);
-    pl_oi = s7_make_signature(s7, 2, o, i);
-    pl_ioi = s7_make_signature(s7, 3, i, o, i);
-    pl_ioz = s7_make_signature(s7, 3, i, o, z);
-    pl_po = s7_make_signature(s7, 2, p, o);
-    pl_pop = s7_make_signature(s7, 3, p, o, p);
-    pl_ro = s7_make_signature(s7, 2, r, o);
-    pl_ror = s7_make_signature(s7, 3, r, o, r);
-    pl_roo = s7_make_signature(s7, 3, r, o, o);
-    pl_roor = s7_make_signature(s7, 4, r, o, o, r);
-  }
+  s7_pointer i, t, s, b, o, q, p, r, z, sd, fv;
+  i = s7_make_symbol(s7, "integer?");
+  s = s7_make_symbol(s7, "string?");
+  b = s7_make_symbol(s7, "boolean?");
+  p = s7_make_symbol(s7, "pair?");
+  r = s7_make_symbol(s7, "real?");
+  sd = s7_make_symbol(s7, "sound?");
+  fv = s7_make_symbol(s7, "float-vector?");
+  t = s7_t(s7);
+  q = t; /* sigh -- #t is legal here which is idiotic */
+  o = t;
+  z = s7_make_signature(s7, 2, i, b);
+  pl_i = s7_make_signature(s7, 1, i);
+  pl_iq = s7_make_signature(s7, 2, i, q);
+  pl_iqi = s7_make_signature(s7, 3, i, q, i);
+  pl_sts = s7_make_signature(s7, 3, s, t, s);
+  pl_sq = s7_make_signature(s7, 2, s, q);
+  pl_osi = s7_make_signature(s7, 3, o, s, i);
+  pl_bt = s7_make_signature(s7, 2, b, t);
+  pl_bo = s7_make_signature(s7, 2, b, o);
+  pl_bob = s7_make_signature(s7, 3, b, o, b);
+  pl_io = s7_make_signature(s7, 2, i, o);
+  pl_oi = s7_make_signature(s7, 2, o, i);
+  pl_ioi = s7_make_signature(s7, 3, i, o, i);
+  pl_ioz = s7_make_signature(s7, 3, i, o, z);
+  pl_po = s7_make_signature(s7, 2, p, o);
+  pl_pop = s7_make_signature(s7, 3, p, o, p);
+  pl_ro = s7_make_signature(s7, 2, r, o);
+  pl_ror = s7_make_signature(s7, 3, r, o, r);
+  pl_roo = s7_make_signature(s7, 3, r, o, o);
+  pl_roor = s7_make_signature(s7, 4, r, o, o, r);
 #endif
 
   init_xen_sound();
@@ -5972,17 +5972,21 @@ If it returns " PROC_TRUE ", the usual informative status babbling is squelched.
   Xen_define_typed_procedure(S_save_controls,        g_save_controls_w,    0, 1, 0, H_save_controls,	pl_bt);
   Xen_define_typed_procedure(S_restore_controls,     g_restore_controls_w, 0, 1, 0, H_restore_controls, pl_bt);
   Xen_define_typed_procedure(S_reset_controls,       g_reset_controls_w,   0, 1, 0, H_reset_controls,	pl_bt);
-  Xen_define_safe_procedure(S_select_sound,          g_select_sound_w,     1, 0, 0, H_select_sound);
-  Xen_define_safe_procedure(S_select_channel,        g_select_channel_w,   0, 1, 0, H_select_channel);
-
-  Xen_define_dilambda(S_selected_sound, g_selected_sound_w, H_selected_sound, 
-		      S_set S_selected_sound, g_select_sound_w,  0, 0, 1, 0);
-  Xen_define_dilambda(S_selected_channel, g_selected_channel_w, H_selected_channel, 
-		      S_set S_selected_channel, g_set_selected_channel_w,  0, 1, 0, 2);
-
-  Xen_define_safe_procedure(S_start_progress_report,  g_start_progress_report_w,   0, 2, 0, H_start_progress_report);
-  Xen_define_safe_procedure(S_finish_progress_report, g_finish_progress_report_w,  0, 2, 0, H_finish_progress_report);
-  Xen_define_safe_procedure(S_progress_report,        g_progress_report_w,         1, 2, 0, H_progress_report);
+  Xen_define_typed_procedure(S_select_sound,         g_select_sound_w,     1, 0, 0, H_select_sound,     s7_make_signature(s7, 2, sd, i));
+  Xen_define_typed_procedure(S_select_channel,       g_select_channel_w,   0, 1, 0, H_select_channel,   s7_make_signature(s7, 2, i, i));
+  Xen_define_typed_procedure(S_sync_max,             g_sync_max_w,         0, 0, 0, H_sync_max,	        pl_i);
+  Xen_define_typed_procedure(S_filter_control_coeffs, g_filter_control_coeffs_w, 0, 1, 0, H_filter_control_coeffs, s7_make_signature(s7, 2, fv, sd));
+
+  Xen_define_typed_dilambda(S_selected_sound, g_selected_sound_w, H_selected_sound, 
+			    S_set S_selected_sound, g_select_sound_w,  0, 0, 1, 0,
+			    s7_make_signature(s7, 1, s7_make_signature(s7, 2, sd, b)), s7_make_signature(s7, 2, sd, z));
+  Xen_define_typed_dilambda(S_selected_channel, g_selected_channel_w, H_selected_channel, 
+			    S_set S_selected_channel, g_set_selected_channel_w,  0, 1, 0, 2,
+			    s7_make_signature(s7, 2, z, sd), s7_make_signature(s7, 3, i, t, z));
+
+  Xen_define_typed_procedure(S_start_progress_report,  g_start_progress_report_w,   0, 2, 0, H_start_progress_report,  s7_make_signature(s7, 3, b, sd, i));
+  Xen_define_typed_procedure(S_finish_progress_report, g_finish_progress_report_w,  0, 2, 0, H_finish_progress_report, s7_make_signature(s7, 3, b, sd, i));
+  Xen_define_typed_procedure(S_progress_report,        g_progress_report_w,         1, 2, 0, H_progress_report,        s7_make_signature(s7, 4, r, r, sd, i));
 
   Xen_define_procedure(S_close_sound,            g_close_sound_w,             0, 1, 0, H_close_sound);
   Xen_define_procedure(S_update_sound,           g_update_sound_w,            0, 1, 0, H_update_sound);
@@ -5993,17 +5997,32 @@ If it returns " PROC_TRUE ", the usual informative status babbling is squelched.
   Xen_define_procedure(S_new_sound,              g_new_sound_w,               0, 0, 1, H_new_sound);
   Xen_define_procedure(S_revert_sound,           g_revert_sound_w,            0, 1, 0, H_revert_sound);
   Xen_define_procedure(S_save_sound_as,          g_save_sound_as_w,           0, 0, 1, H_save_sound_as);
-  Xen_define_procedure(S_apply_controls,         g_apply_controls_w,          0, 4, 0, H_apply_controls);
-  Xen_define_procedure(S_controls_to_channel,    g_controls_to_channel_w,     0, 6, 0, H_controls_to_channel);
-  Xen_define_typed_procedure(S_sync_max,         g_sync_max_w,                0, 0, 0, H_sync_max,	pl_i);
-  Xen_define_safe_procedure(S_filter_control_coeffs,  g_filter_control_coeffs_w,   0, 1, 0, H_filter_control_coeffs);
-
-  Xen_define_dilambda(S_filter_control_envelope, g_filter_control_envelope_w, H_filter_control_envelope, 
-		      S_set S_filter_control_envelope, g_set_filter_control_envelope_w, 0, 1, 1, 1);
-  Xen_define_dilambda(S_sound_properties, g_sound_properties_w, H_sound_properties, 
-		      S_set S_sound_properties, g_set_sound_properties_w, 0, 1, 1, 1);
-  Xen_define_dilambda(S_sound_property, g_sound_property_w, H_sound_property, 
-		      S_set S_sound_property, g_set_sound_property_w, 1, 1, 2, 1);
+#if 0
+  /* open-sound is definitely not a safe procedure; probably the rest of these are similar 
+   *   [see snd-test 5 with tests=2 or more]
+   */
+  Xen_define_typed_procedure(S_close_sound,            g_close_sound_w,             0, 1, 0, H_close_sound,            s7_make_signature(s7, 2, t, t));
+  Xen_define_typed_procedure(S_update_sound,           g_update_sound_w,            0, 1, 0, H_update_sound,           s7_make_signature(s7, 2, t, t));
+  Xen_define_typed_procedure(S_save_sound,             g_save_sound_w,              0, 1, 0, H_save_sound,             s7_make_signature(s7, 2, sd, t));
+  Xen_define_typed_procedure(S_open_sound,             g_open_sound_w,              1, 0, 0, H_open_sound,             s7_make_signature(s7, 2, sd, s));
+  Xen_define_typed_procedure(S_open_raw_sound,         g_open_raw_sound_w,          0, 0, 1, H_open_raw_sound,         s7_make_circular_signature(s7, 0, 1, t));
+  Xen_define_typed_procedure(S_view_sound,             g_view_sound_w,              1, 0, 0, H_view_sound,             s7_make_signature(s7, 2, sd, s));
+  Xen_define_typed_procedure(S_new_sound,              g_new_sound_w,               0, 0, 1, H_new_sound,              s7_make_circular_signature(s7, 0, 1, t));
+  Xen_define_typed_procedure(S_revert_sound,           g_revert_sound_w,            0, 1, 0, H_revert_sound,           s7_make_signature(s7, 2, sd, sd));
+  Xen_define_typed_procedure(S_save_sound_as,          g_save_sound_as_w,           0, 0, 1, H_save_sound_as,          s7_make_circular_signature(s7, 0, 1, t));
+#endif
+  Xen_define_typed_procedure(S_apply_controls,         g_apply_controls_w,          0, 4, 0, H_apply_controls,         s7_make_signature(s7, 5, t, t, i, i, i));
+  Xen_define_typed_procedure(S_controls_to_channel,    g_controls_to_channel_w,     0, 6, 0, H_controls_to_channel,    s7_make_signature(s7, 7, p, p, i, i, t, t, s));
+
+  Xen_define_typed_dilambda(S_filter_control_envelope, g_filter_control_envelope_w, H_filter_control_envelope, 
+			    S_set S_filter_control_envelope, g_set_filter_control_envelope_w, 0, 1, 1, 1,
+			    s7_make_signature(s7, 2, p, t), s7_make_signature(s7, 3, p, t, p));
+  Xen_define_typed_dilambda(S_sound_properties, g_sound_properties_w, H_sound_properties, 
+			    S_set S_sound_properties, g_set_sound_properties_w, 0, 1, 1, 1,
+			    s7_make_circular_signature(s7, 0, 1, t), s7_make_circular_signature(s7, 0, 1, t));
+  Xen_define_typed_dilambda(S_sound_property, g_sound_property_w, H_sound_property, 
+			    S_set S_sound_property, g_set_sound_property_w, 1, 1, 2, 1,
+			    s7_make_circular_signature(s7, 0, 1, t), s7_make_circular_signature(s7, 0, 1, t));
 
   Xen_define_typed_dilambda(S_show_controls, g_show_controls_w, H_show_controls, 
 			    S_set S_show_controls, g_set_show_controls_w, 0, 1, 1, 1, pl_bo, pl_bob);
@@ -6081,8 +6100,9 @@ If it returns " PROC_TRUE ", the usual informative status babbling is squelched.
   Xen_define_typed_dilambda(S_speed_control_tones, g_speed_control_tones_w, H_speed_control_tones, 
 			    S_set S_speed_control_tones, g_set_speed_control_tones_w, 0, 1, 1, 1, pl_io, pl_ioi);
 
-  Xen_define_procedure(S_channel_amp_envs,              g_channel_amp_envs_w,         0, 5, 0, H_channel_amp_envs);
-  Xen_define_safe_procedure(S_sounds,                   g_sounds_w,                   0, 0, 0, H_sounds);
+  Xen_define_typed_procedure(S_channel_amp_envs,        g_channel_amp_envs_w,         0, 5, 0, H_channel_amp_envs, s7_make_signature(s7, 6, t, t, i, i, t, t));
+
+  Xen_define_typed_procedure(S_sounds,                  g_sounds_w,                   0, 0, 0, H_sounds, s7_make_signature(s7, 1, s7_make_symbol(s7, "list?")));
   Xen_define_typed_procedure(S_integer_to_sound,        g_integer_to_sound_w,         1, 0, 0, H_integer_to_sound, pl_oi);
   Xen_define_typed_procedure(S_sound_to_integer,        g_sound_to_integer_w,         1, 0, 0, H_sound_to_integer, pl_io);
 
diff --git a/snd-test.scm b/snd-test.scm
index ea493c8..9cb379b 100644
--- a/snd-test.scm
+++ b/snd-test.scm
@@ -66,6 +66,8 @@
 (define keep-going #f)
 (define all-args #f)
 (define test-at-random 0)
+(define hooked #t)
+
 (if (<= tests 0) (set! tests 1))
 
 (define (copy-file source dest) (system (string-append "cp " source " " dest)))
@@ -177,13 +179,13 @@
 
 (if (not with-gui)
     (define y-bounds (dilambda
-		      (lambda args (list -1.0 1.0))
-		      (lambda args (list -1.0 1.0)))))
+		      (lambda args (if (string? args) args (list -1.0 1.0))) ; make lint happy...
+		      (lambda args (if (string? args) args (list -1.0 1.0))))))
 
 (if (not with-gui)
     (define x-bounds (dilambda
-		      (lambda args (list 0.0 0.1))
-		      (lambda args (list 0.0 0.1)))))
+		      (lambda args (if (string? args) args (list 0.0 0.1)))
+		      (lambda args (if (string? args) args (list 0.0 0.1))))))
 
 (define real-time get-internal-real-time)
 (define (hundred n) (round (* 100 n)))
@@ -220,11 +222,6 @@
   (let-temporarily (((*s7* 'morally-equal-float-epsilon) .1))
     (morally-equal? a b)))
 
-(define-constant (fveql a b i)
-  (or (null? b)
-      (and (not (fneq (car b) (a i)))
-	   (fveql a (cdr b) (+ i 1)))))
-
 (define* (mus-arrays-equal? x y (err .001))
   (let-temporarily (((*s7* 'morally-equal-float-epsilon) err))
     (morally-equal? x y)))
@@ -587,75 +584,75 @@
 	(snd-display ";auto-resize set default: ~A" *auto-resize*))
     (if *auto-update*
 	(snd-display ";auto-update set default: ~A" *auto-update*))
-    (if (not (eqv? *channel-style*  1 )) 
+    (if (not (eqv? *channel-style* 1)) 
 	(snd-display ";channel-style set default: ~A" *channel-style*))
-    (if (and (fneq *color-cutoff*  0.003 ) (fneq *color-cutoff*  0.001))
+    (if (and (fneq *color-cutoff* 0.003) (fneq *color-cutoff* 0.001))
 	(snd-display ";color-cutoff set default: ~A" *color-cutoff*))
     (if (not *color-inverted*)
 	(snd-display ";color-inverted set default: ~A" *color-inverted*))
-    (if (fneq *color-scale*  1.0 )
+    (if (fneq *color-scale* 1.0)
 	(snd-display ";color-scale set default: ~A" *color-scale*))
-    (if (fneq *auto-update-interval*  60.0 )
+    (if (fneq *auto-update-interval* 60.0)
 	(snd-display ";auto-update-interval set default: ~A" *auto-update-interval*))
-    (if (fneq *cursor-update-interval*  0.05 )
+    (if (fneq *cursor-update-interval* 0.05)
 	(snd-display ";cursor-update-interval set default: ~A" *cursor-update-interval*))
-    (if (not (= *cursor-location-offset*  0))
+    (if (not (= *cursor-location-offset* 0))
 	(snd-display ";cursor-location-offset set default: ~A" *cursor-location-offset*))
     (if (not *dac-combines-channels*)
 	(snd-display ";dac-combines-channels set default: ~A" *dac-combines-channels*))
-    (if (not (eqv? *dac-size*  256 )) 
+    (if (not (eqv? *dac-size* 256)) 
 	(snd-display ";dac-size set default: ~A" *dac-size*))
     (if *clipping*
 	(snd-display ";clipping set default: ~A" *clipping*))
-    (if (not (eqv? *default-output-chans*  1 )) 
+    (if (not (eqv? *default-output-chans* 1)) 
 	(snd-display ";default-output-chans set default: ~A" *default-output-chans*))
     (if (not (or (equal? *default-output-sample-type* mus-bdouble)
 		 (equal? *default-output-sample-type* mus-ldouble)))
 	(snd-display ";default-output-sample-type set default: ~A" *default-output-sample-type*))
-    (if (not (eqv? *default-output-srate*  44100 )) 
+    (if (not (eqv? *default-output-srate* 44100)) 
 	(snd-display ";default-output-srate set default: ~A" *default-output-srate*))
-    (if (not (equal? *default-output-header-type*  mus-next)) 
+    (if (not (equal? *default-output-header-type* mus-next)) 
 	(snd-display ";default-output-header-type set default: ~A" *default-output-header-type*))
-    (if (not (eqv? *dot-size*  1 )) 
+    (if (not (eqv? *dot-size* 1)) 
 	(snd-display ";dot-size set default: ~A" *dot-size*))
-    (if (not (eqv? *cursor-size*  15 )) 
+    (if (not (eqv? *cursor-size* 15)) 
 	(snd-display ";cursor-size set default: ~A" *cursor-size*))
-    (if (not (equal? *cursor-style*  cursor-cross )) 
+    (if (not (equal? *cursor-style* cursor-cross)) 
 	(snd-display ";cursor-style set default: ~A" *cursor-style*))
-    (if (not (equal? *tracking-cursor-style*  cursor-line )) 
+    (if (not (equal? *tracking-cursor-style* cursor-line)) 
 	(snd-display ";tracking-cursor-style set default: ~A" *tracking-cursor-style*))
-    (if (fneq *enved-base*  1.0 )
+    (if (fneq *enved-base* 1.0)
 	(snd-display ";enved-base set default: ~A" *enved-base*))
     (if (not (enved-clip?))
 	(snd-display ";enved-clip? set default: ~A" (enved-clip?)))
     (if (not (enved-filter))
 	(snd-display ";enved-filter set default: ~A" (enved-filter)))
-    (if (not (eqv? *enved-filter-order*  40)) 
+    (if (not (eqv? *enved-filter-order* 40)) 
 	(snd-display ";enved-filter-order set default: ~A" *enved-filter-order*))
     (if (enved-in-dB)
 	(snd-display ";enved-in-dB set default: ~A" (enved-in-dB)))
-    (if (not (equal? *enved-style*  envelope-linear )) 
+    (if (not (equal? *enved-style* envelope-linear)) 
 	(snd-display ";enved-style set default: ~A" *enved-style*))
-    (if (fneq *enved-power*  3.0)
+    (if (fneq *enved-power* 3.0)
 	(snd-display ";enved-power set default: ~A" *enved-power*))
-    (if (not (eqv? *enved-target*  0 )) 
+    (if (not (eqv? *enved-target* 0)) 
 	(snd-display ";enved-target set default: ~A" *enved-target*))
     (if *enved-wave?*
 	(snd-display ";enved-wave? set default: ~A" *enved-wave?*))
     (if (and with-gui
 	     (pair? (enved-envelope)))
 	(snd-display ";enved-envelope set default: ~A" (enved-envelope)))
-    (if (not (equal? *eps-file*  "snd.eps" )) 
+    (if (not (equal? *eps-file* "snd.eps")) 
 	(snd-display ";eps-file set default: ~A" *eps-file*))
-    (if (fneq *eps-bottom-margin*  0.0)
+    (if (fneq *eps-bottom-margin* 0.0)
 	(snd-display ";eps-bottom-margin set default: ~A" *eps-bottom-margin*))
-    (if (fneq *eps-left-margin*  0.0)
+    (if (fneq *eps-left-margin* 0.0)
 	(snd-display ";eps-left-margin set default: ~A" *eps-left-margin*))
-    (if (fneq *eps-size*  1.0)
+    (if (fneq *eps-size* 1.0)
 	(snd-display ";eps-size set default: ~A" *eps-size*))
-    (if (fneq *fft-window-alpha*  0.0 )
+    (if (fneq *fft-window-alpha* 0.0)
 	(snd-display ";fft-window-alpha set default: ~A" *fft-window-alpha*))
-    (if (fneq *fft-window-beta*  0.0 )
+    (if (fneq *fft-window-beta* 0.0)
 	(snd-display ";fft-window-beta set default: ~A" *fft-window-beta*))
     (if *fft-log-frequency*
 	(snd-display ";fft-log-frequency set default: ~A" *fft-log-frequency*))
@@ -667,17 +664,17 @@
 	(snd-display ";transform-size set default: ~A" *transform-size*))
     (if (not (equal? *transform-graph-type* graph-once))
 	(snd-display ";transform-graph-type set default: ~A" *transform-graph-type*))
-    (if (not (eqv? *fft-window*  6 )) 
+    (if (not (eqv? *fft-window* 6)) 
 	(snd-display ";fft-window set default: ~A" *fft-window*))
-    (if (not (eqv? *graph-cursor*  34)) 
+    (if (not (eqv? *graph-cursor* 34)) 
 	(snd-display ";graph-cursor set default: ~A" *graph-cursor*))
-    (if (not (equal? *graph-style*  graph-lines )) 
+    (if (not (equal? *graph-style* graph-lines)) 
 	(snd-display ";graph-style set default: ~A" *graph-style*))
     (if (not *graphs-horizontal*)
 	(snd-display ";graphs-horizontal set default: ~A" *graphs-horizontal*))
-    (if (not (equal? *html-dir*  ".")) 
+    (if (not (equal? *html-dir* ".")) 
 	(snd-display ";html-dir set default: ~A" *html-dir*))
-    (if (not (equal? *html-program*  "firefox")) 
+    (if (not (equal? *html-program* "firefox")) 
 	(snd-display ";html-program set default: ~A" *html-program*))
     (if (not *just-sounds*) 
 	(snd-display ";just-sounds set default: ~A" *just-sounds*))
@@ -685,30 +682,30 @@
 	(snd-display ";listener-prompt set default: ~A" *listener-prompt*))
     (if (not (string? *stdin-prompt*)) 
 	(snd-display ";stdin-prompt set default: ~A" *stdin-prompt*))
-    (unless (eqv? *max-transform-peaks*  100)
+    (unless (eqv? *max-transform-peaks* 100)
       (snd-display ";max-transform-peaks set default: ~A" *max-transform-peaks*))
-    (if (not (eqv? *max-regions*  16 )) 
+    (if (not (eqv? *max-regions* 16)) 
 	(snd-display ";max-regions set default: ~A" *max-regions*))
-    (if (fneq *min-dB*  -60.0 )
+    (if (fneq *min-dB* -60.0)
 	(snd-display ";min-dB set default: ~A" *min-dB*))
-    (if (fneq *log-freq-start*  32.0 )
+    (if (fneq *log-freq-start* 32.0)
 	(snd-display ";log-freq-start set default: ~A" *log-freq-start*))
     (if (not *selection-creates-region*) 
 	(snd-display ";selection-creates-region set default: ~A" *selection-creates-region*))
-    (if (not (equal? *transform-normalization*  normalize-by-channel)) 
+    (if (not (equal? *transform-normalization* normalize-by-channel)) 
 	(snd-display ";transform-normalization set default: ~A" *transform-normalization*))
 
     (if (and with-motif 
-	     (not (eqv? (view-files-sort)  0 ))) 
+	     (not (eqv? (view-files-sort) 0))) 
 	(snd-display ";view-files-sort set default: ~A" (view-files-sort)))
 
-    (if (not (memv *print-length*  '(12 32) ))
+    (if (not (memv *print-length* '(12 32)))
 	(snd-display ";print-length set default: ~A" *print-length*))
-    (if (not (eqv? *play-arrow-size*  10 )) 
+    (if (not (eqv? *play-arrow-size* 10)) 
 	(snd-display ";play-arrow-size set default: ~A" *play-arrow-size*))
-    (if (not (equal? *save-state-file*  "saved-snd.scm" )) 
+    (if (not (equal? *save-state-file* "saved-snd.scm")) 
 	(snd-display ";save-state-file set default: ~A" *save-state-file*))
-    (if (not (eqv? *show-axes*  1)) 
+    (if (not (eqv? *show-axes* 1)) 
 	(snd-display ";show-axes set default: ~A" *show-axes*))
     (if (not (boolean? *show-transform-peaks*)) 
 	(snd-display ";show-transform-peaks set default: ~A" *show-transform-peaks*))
@@ -728,21 +725,21 @@
 	(snd-display ";grid-density set default: ~A" *grid-density*))
     (if *show-sonogram-cursor* 
 	(snd-display ";show-sonogram-cursor set default: ~A" *show-sonogram-cursor*))
-    (if (not (eqv? *sinc-width*  10 )) 
+    (if (not (eqv? *sinc-width* 10)) 
 	(snd-display ";sinc-width set default: ~A" *sinc-width*))
-    (if (fneq *spectrum-end*  1.0)
+    (if (fneq *spectrum-end* 1.0)
 	(snd-display ";spectrum-end set default: ~A" *spectrum-end*))
-    (if (not (eqv? *spectro-hop*  4 )) 
+    (if (not (eqv? *spectro-hop* 4)) 
 	(snd-display ";spectro-hop set default: ~A" *spectro-hop*))
-    (if (fneq *spectrum-start*  0.0 )
+    (if (fneq *spectrum-start* 0.0)
 	(snd-display ";spectrum-start set default: ~A" *spectrum-start*))
-    (if (fneq *spectro-x-angle*  (if (provided? 'gl) 300.0 90.0))
+    (if (fneq *spectro-x-angle* (if (provided? 'gl) 300.0 90.0))
 	(snd-display ";spectro-x-angle set default: ~A" *spectro-x-angle*))
     (if (fneq *spectro-x-scale* (if (provided? 'gl) 1.5 1.0))
 	(snd-display ";spectro-x-scale set default: ~A" *spectro-x-scale*))
     (if (fneq *spectro-y-angle* (if (provided? 'gl) 320.0 0.0))
 	(snd-display ";spectro-y-angle set default: ~A" *spectro-y-angle*))
-    (if (fneq *spectro-y-scale*  1.0 )
+    (if (fneq *spectro-y-scale* 1.0)
 	(snd-display ";spectro-y-scale set default: ~A" *spectro-y-scale*))
     (if (fneq *spectro-z-angle* (if (provided? 'gl) 0.0 358.0))
 	(snd-display ";spectro-z-angle set default: ~A" *spectro-z-angle*))
@@ -750,15 +747,15 @@
 	(snd-display ";spectro-z-scale set default: ~A" *spectro-z-scale*))
     (if (and *temp-dir* (not (equal? *temp-dir* "/home/bil/zap/tmp")))
 	(snd-display ";temp-dir set default: ~A" *temp-dir*))
-    (if (not (equal? *ladspa-dir*  "" )) 
+    (if (not (equal? *ladspa-dir* "")) 
 	(snd-display ";ladspa-dir set default: ~A" *ladspa-dir*))
     (if (and *peak-env-dir* (not (equal? *peak-env-dir* "/home/bil/peaks")))
 	(snd-display ";peak-env-dir set default: ~A" *peak-env-dir*))
     (if (not (member *tiny-font* '("6x12" "Sans 8")))
 	(snd-display ";tiny-font set default: ~A" *tiny-font*))
-    (if (not (equal? *transform-type*  fourier-transform )) 
+    (if (not (equal? *transform-type* fourier-transform)) 
 	(snd-display ";transform-type set default: ~A" *transform-type*))
-    (if (not (eq? *with-file-monitor*  #t)) 
+    (if (not (eq? *with-file-monitor* #t)) 
 	(snd-display ";with-file-monitor set default: ~A" *with-file-monitor*))
     (if (not (eqv? *clm-table-size* 512)) 
 	(snd-display ";clm-table-size set default: ~A" *clm-table-size*))
@@ -786,37 +783,37 @@
 	(snd-display ";save-as-dialog-auto-comment set default: ~A" *save-as-dialog-auto-comment*))
     (if (not (boolean? *with-pointer-focus*)) 
 	(snd-display ";with-pointer-focus set default: ~A" *with-pointer-focus*))
-    (if (not (eqv? *wavelet-type*  0 )) 
+    (if (not (eqv? *wavelet-type* 0)) 
 	(snd-display ";wavelet-type set default: ~A" *wavelet-type*))
-    (if (not (equal? *time-graph-type*  graph-once)) 
+    (if (not (equal? *time-graph-type* graph-once)) 
 	(snd-display ";time-graph-type set default: ~A" *time-graph-type*))
-    (if (not (eqv? *wavo-hop*  3 )) 
+    (if (not (eqv? *wavo-hop* 3)) 
 	(snd-display ";wavo-hop set default: ~A" *wavo-hop*))
-    (if (not (eqv? *wavo-trace*  64 )) 
+    (if (not (eqv? *wavo-trace* 64)) 
 	(snd-display ";wavo-trace set default: ~A" *wavo-trace*))
-    (if (not (eqv? *x-axis-style*  0 )) 
+    (if (not (eqv? *x-axis-style* 0)) 
 	(snd-display ";x-axis-style set default: ~A" *x-axis-style*))
-    (if (fneq *beats-per-minute*  60.0 )
+    (if (fneq *beats-per-minute* 60.0)
 	(snd-display ";beats-per-minute set default: ~A" *beats-per-minute*))
-    (if (not (= *beats-per-measure*  4))
+    (if (not (= *beats-per-measure* 4))
 	(snd-display ";beats-per-measure set default: ~A" *beats-per-measure*))
-    (if (not (eqv? *zero-pad*  0)) 
+    (if (not (eqv? *zero-pad* 0)) 
 	(snd-display ";zero-pad set default: ~A" *zero-pad*))
     (if (not (null? (zero-pad #t #t)))
 	(snd-display ";zero-pad #t: ~A" (zero-pad #t #t)))
-    (if (not (eqv? *zoom-focus-style*  2 )) 
+    (if (not (eqv? *zoom-focus-style* 2)) 
 	(snd-display ";zoom-focus-style set default: ~A" *zoom-focus-style*))
-    (if (not (equal? *sync-style*  sync-by-sound )) 
+    (if (not (equal? *sync-style* sync-by-sound)) 
 	(snd-display ";sync-style set default: ~A" *sync-style*))    
-    (if (not (eqv? *mix-waveform-height*  20 )) 
+    (if (not (eqv? *mix-waveform-height* 20)) 
 	(snd-display ";mix-waveform-height set default: ~A" *mix-waveform-height*))
-    (if (not (eqv? *mix-tag-width*  6)) 
+    (if (not (eqv? *mix-tag-width* 6)) 
 	(snd-display ";mix-tag-width set default: ~A" *mix-tag-width*))
-    (if (not (eqv? *mix-tag-height*  14)) 
+    (if (not (eqv? *mix-tag-height* 14)) 
 	(snd-display ";mix-tag-height set default: ~A" *mix-tag-height*))
-    (if (not (eqv? *mark-tag-width*  10)) 
+    (if (not (eqv? *mark-tag-width* 10)) 
 	(snd-display ";mark-tag-width set default: ~A" *mark-tag-width*))
-    (if (not (eqv? *mark-tag-height*  4)) 
+    (if (not (eqv? *mark-tag-height* 4)) 
 	(snd-display ";mark-tag-height set default: ~A" *mark-tag-height*))
 
     (if (not (equal? *region-graph-style* graph-lines))
@@ -835,66 +832,66 @@
 	(snd-display ";* auto-resize set default: ~A" *auto-resize*))
     (if *auto-update*
 	(snd-display ";* auto-update set default: ~A" *auto-update*))
-    (if (not (eqv? *channel-style*  1 )) 
+    (if (not (eqv? *channel-style* 1)) 
 	(snd-display ";* channel-style set default: ~A" *channel-style*))
-    (if (and (fneq *color-cutoff*  0.003 ) (fneq *color-cutoff*  0.001))
+    (if (and (fneq *color-cutoff* 0.003) (fneq *color-cutoff* 0.001))
 	(snd-display ";* color-cutoff set default: ~A" *color-cutoff*))
-    (if (not (eq? *color-inverted*  #t)) 
+    (if (not (eq? *color-inverted* #t)) 
 	(snd-display ";* color-inverted set default: ~A" *color-inverted*))
-    (if (fneq *color-scale*  1.0 )
+    (if (fneq *color-scale* 1.0)
 	(snd-display ";* color-scale set default: ~A" *color-scale*))
-    (if (fneq *auto-update-interval*  60.0 )
+    (if (fneq *auto-update-interval* 60.0)
 	(snd-display ";* auto-update-interval set default: ~A" *auto-update-interval*))
-    (if (fneq *cursor-update-interval*  0.05 )
+    (if (fneq *cursor-update-interval* 0.05)
 	(snd-display ";* cursor-update-interval set default: ~A" *cursor-update-interval*))
-    (if (not (= *cursor-location-offset*  0))
+    (if (not (= *cursor-location-offset* 0))
 	(snd-display ";* cursor-location-offset set default: ~A" *cursor-location-offset*))
-    (if (not (eq? *dac-combines-channels*  #t)) 
+    (if (not (eq? *dac-combines-channels* #t)) 
 	(snd-display ";* dac-combines-channels set default: ~A" *dac-combines-channels*))
-    (if (not (eqv? *dac-size*  256 )) 
+    (if (not (eqv? *dac-size* 256)) 
 	(snd-display ";* dac-size set default: ~A" *dac-size*))
     (if *clipping*
 	(snd-display ";* clipping set default: ~A" *clipping*))
-    (if (not (eqv? *default-output-chans*  1 )) 
+    (if (not (eqv? *default-output-chans* 1)) 
 	(snd-display ";* default-output-chans set default: ~A" *default-output-chans*))
     (if (not (or (equal? *default-output-sample-type* mus-bdouble)
 		 (equal? *default-output-sample-type* mus-ldouble)))
 	(snd-display ";* default-output-sample-type set default: ~A" *default-output-sample-type*))
-    (if (not (eqv? *default-output-srate*  44100 )) 
+    (if (not (eqv? *default-output-srate* 44100)) 
 	(snd-display ";* default-output-srate set default: ~A" *default-output-srate*))
-    (if (not (equal? *default-output-header-type*  mus-next)) 
+    (if (not (equal? *default-output-header-type* mus-next)) 
 	(snd-display ";* default-output-header-type set default: ~A" *default-output-header-type*))
-    (if (not (eqv? *dot-size*  1 )) 
+    (if (not (eqv? *dot-size* 1)) 
 	(snd-display ";* dot-size set default: ~A" *dot-size*))
-    (if (not (eqv? *cursor-size*  15 )) 
+    (if (not (eqv? *cursor-size* 15)) 
 	(snd-display ";* cursor-size set default: ~A" *cursor-size*))
-    (if (not (equal? *cursor-style*  cursor-cross )) 
+    (if (not (equal? *cursor-style* cursor-cross)) 
 	(snd-display ";* cursor-style set default: ~A" *cursor-style*))
-    (if (not (equal? *tracking-cursor-style*  cursor-line )) 
+    (if (not (equal? *tracking-cursor-style* cursor-line)) 
 	(snd-display ";* tracking-cursor-style set default: ~A" *tracking-cursor-style*))
-    (if (fneq *enved-base*  1.0 )
+    (if (fneq *enved-base* 1.0)
 	(snd-display ";* enved-base set default: ~A" *enved-base*))
-    (if (not (eqv? *enved-filter-order*  40)) 
+    (if (not (eqv? *enved-filter-order* 40)) 
 	(snd-display ";* enved-filter-order set default: ~A" *enved-filter-order*))
-    (if (not (equal? *enved-style*  envelope-linear )) 
+    (if (not (equal? *enved-style* envelope-linear)) 
 	(snd-display ";* enved-style set default: ~A" *enved-style*))
-    (if (fneq *enved-power*  3.0)
+    (if (fneq *enved-power* 3.0)
 	(snd-display ";* enved-power set default: ~A" *enved-power*))
-    (if (not (eqv? *enved-target*  0 )) 
+    (if (not (eqv? *enved-target* 0)) 
 	(snd-display ";* enved-target set default: ~A" *enved-target*))
     (if *enved-wave?*
 	(snd-display ";* enved-wave? set default: ~A" *enved-wave?*))
-    (if (not (equal? *eps-file*  "snd.eps" )) 
+    (if (not (equal? *eps-file* "snd.eps")) 
 	(snd-display ";* eps-file set default: ~A" *eps-file*))
-    (if (fneq *eps-bottom-margin*  0.0)
+    (if (fneq *eps-bottom-margin* 0.0)
 	(snd-display ";* eps-bottom-margin set default: ~A" *eps-bottom-margin*))
-    (if (fneq *eps-left-margin*  0.0)
+    (if (fneq *eps-left-margin* 0.0)
 	(snd-display ";* eps-left-margin set default: ~A" *eps-left-margin*))
-    (if (fneq *eps-size*  1.0)
+    (if (fneq *eps-size* 1.0)
 	(snd-display ";* eps-size set default: ~A" *eps-size*))
-    (if (fneq *fft-window-alpha*  0.0 )
+    (if (fneq *fft-window-alpha* 0.0)
 	(snd-display ";* fft-window-alpha set default: ~A" *fft-window-alpha*))
-    (if (fneq *fft-window-beta*  0.0 )
+    (if (fneq *fft-window-beta* 0.0)
 	(snd-display ";* fft-window-beta set default: ~A" *fft-window-beta*))
     (if *fft-log-frequency*
 	(snd-display ";* fft-log-frequency set default: ~A" *fft-log-frequency*))
@@ -906,42 +903,42 @@
 	(snd-display ";* transform-size set default: ~A" *transform-size*))
     (if (not (equal? *transform-graph-type* graph-once))
 	(snd-display ";* transform-graph-type set default: ~A" *transform-graph-type*))
-    (if (not (eqv? *fft-window*  6 )) 
+    (if (not (eqv? *fft-window* 6)) 
 	(snd-display ";* fft-window set default: ~A" *fft-window*))
-    (if (not (eqv? *graph-cursor*  34)) 
+    (if (not (eqv? *graph-cursor* 34)) 
 	(snd-display ";* graph-cursor set default: ~A" *graph-cursor*))
-    (if (not (equal? *graph-style*  graph-lines )) 
+    (if (not (equal? *graph-style* graph-lines)) 
 	(snd-display ";* graph-style set default: ~A" *graph-style*))
     (if (not *graphs-horizontal*) 
 	(snd-display ";* graphs-horizontal set default: ~A" *graphs-horizontal*))
-    (if (not (equal? *html-dir*  ".")) 
+    (if (not (equal? *html-dir* ".")) 
 	(snd-display ";* html-dir set default: ~A" *html-dir*))
-    (if (not (equal? *html-program*  "firefox")) 
+    (if (not (equal? *html-program* "firefox")) 
 	(snd-display ";* html-program set default: ~A" *html-program*))
     (if (not *just-sounds*) 
 	(snd-display ";* just-sounds set default: ~A" *just-sounds*))
-    (if (not (eqv? *max-transform-peaks*  100)) 
+    (if (not (eqv? *max-transform-peaks* 100)) 
 	(snd-display ";* max-transform-peaks set default: ~A" *max-transform-peaks*))
-    (if (not (eqv? *max-regions*  16 )) 
+    (if (not (eqv? *max-regions* 16)) 
 	(snd-display ";* max-regions set default: ~A" *max-regions*))
-    (if (fneq *min-dB*  -60.0 )
+    (if (fneq *min-dB* -60.0)
 	(snd-display ";* min-dB set default: ~A" *min-dB*))
-    (if (fneq *log-freq-start*  32.0 )
+    (if (fneq *log-freq-start* 32.0)
 	(snd-display ";* log-freq-start set default: ~A" *log-freq-start*))
-    (if (not (eq? *selection-creates-region*  #t )) 
+    (if (not (eq? *selection-creates-region* #t)) 
 	(snd-display ";* selection-creates-region set default: ~A" *selection-creates-region*))
-    (if (not (equal? *transform-normalization*  normalize-by-channel)) 
+    (if (not (equal? *transform-normalization* normalize-by-channel)) 
 	(snd-display ";* transform-normalization set default: ~A" *transform-normalization*))
 
     (if (and with-motif 
-	     (not (eqv? *view-files-sort*  0 )) )
+	     (not (eqv? *view-files-sort* 0)))
 	(snd-display ";* view-files-sort set default: ~A" *view-files-sort*))
 
-    (if (not (eqv? *play-arrow-size*  10 )) 
+    (if (not (eqv? *play-arrow-size* 10)) 
 	(snd-display ";* play-arrow-size set default: ~A" *play-arrow-size*))
-    (if (not (equal? *save-state-file*  "saved-snd.scm" )) 
+    (if (not (equal? *save-state-file* "saved-snd.scm")) 
 	(snd-display ";* save-state-file set default: ~A" *save-state-file*))
-    (if (not (eqv? *show-axes*  1)) 
+    (if (not (eqv? *show-axes* 1)) 
 	(snd-display ";* show-axes set default: ~A" *show-axes*))
     (if (not *show-marks*) 
 	(snd-display ";* show-marks set default: ~A" *show-marks*))
@@ -957,21 +954,21 @@
 	(snd-display ";* grid-density set default: ~A" *grid-density*))
     (if *show-sonogram-cursor*
 	(snd-display ";* show-sonogram-cursor set default: ~A" *show-sonogram-cursor*))
-    (if (not (eqv? *sinc-width*  10 )) 
+    (if (not (eqv? *sinc-width* 10)) 
 	(snd-display ";* sinc-width set default: ~A" *sinc-width*))
-    (if (fneq *spectrum-end*  1.0)
+    (if (fneq *spectrum-end* 1.0)
 	(snd-display ";* spectrum-end set default: ~A" *spectrum-end*))
-    (if (not (eqv? *spectro-hop*  4 )) 
+    (if (not (eqv? *spectro-hop* 4)) 
 	(snd-display ";* spectro-hop set default: ~A" *spectro-hop*))
-    (if (fneq *spectrum-start*  0.0 )
+    (if (fneq *spectrum-start* 0.0)
 	(snd-display ";* spectrum-start set default: ~A" *spectrum-start*))
-    (if (fneq *spectro-x-angle*  (if (provided? 'gl) 300.0 90.0))
+    (if (fneq *spectro-x-angle* (if (provided? 'gl) 300.0 90.0))
 	(snd-display ";* spectro-x-angle set default: ~A" *spectro-x-angle*))
     (if (fneq *spectro-x-scale* (if (provided? 'gl) 1.5 1.0))
 	(snd-display ";* spectro-x-scale set default: ~A" *spectro-x-scale*))
     (if (fneq *spectro-y-angle* (if (provided? 'gl) 320.0 0.0))
 	(snd-display ";* spectro-y-angle set default: ~A" *spectro-y-angle*))
-    (if (fneq *spectro-y-scale*  1.0 )
+    (if (fneq *spectro-y-scale* 1.0)
 	(snd-display ";* spectro-y-scale set default: ~A" *spectro-y-scale*))
     (if (fneq *spectro-z-angle* (if (provided? 'gl) 0.0 358.0))
 	(snd-display ";* spectro-z-angle set default: ~A" *spectro-z-angle*))
@@ -995,35 +992,35 @@
 	(snd-display ";* save-as-dialog-src set default: ~A" *save-as-dialog-src*))
     (if *save-as-dialog-auto-comment*
 	(snd-display ";* save-as-dialog-auto-comment set default: ~A" *save-as-dialog-auto-comment*))
-    (if (not (eqv? *wavelet-type*  0 )) 
+    (if (not (eqv? *wavelet-type* 0)) 
 	(snd-display ";* wavelet-type set default: ~A" *wavelet-type*))
-    (if (not (equal? *time-graph-type*  graph-once)) 
+    (if (not (equal? *time-graph-type* graph-once)) 
 	(snd-display ";* time-graph-type set default: ~A" *time-graph-type*))
-    (if (not (eqv? *wavo-hop*  3 )) 
+    (if (not (eqv? *wavo-hop* 3)) 
 	(snd-display ";* wavo-hop set default: ~A" *wavo-hop*))
-    (if (not (eqv? *wavo-trace*  64 )) 
+    (if (not (eqv? *wavo-trace* 64)) 
 	(snd-display ";* wavo-trace set default: ~A" *wavo-trace*))
-    (if (not (eqv? *x-axis-style*  0 )) 
+    (if (not (eqv? *x-axis-style* 0)) 
 	(snd-display ";* x-axis-style set default: ~A" *x-axis-style*))
-    (if (fneq *beats-per-minute*  60.0 )
+    (if (fneq *beats-per-minute* 60.0)
 	(snd-display ";* beats-per-minute set default: ~A" *beats-per-minute*))
-    (if (not (= *beats-per-measure*  4))
+    (if (not (= *beats-per-measure* 4))
 	(snd-display ";* beats-per-measure set default: ~A" *beats-per-measure*))
-    (if (not (eqv? *zero-pad*  0)) 
+    (if (not (eqv? *zero-pad* 0)) 
 	(snd-display ";* zero-pad set default: ~A" *zero-pad*))
-    (if (not (eqv? *zoom-focus-style*  2 )) 
+    (if (not (eqv? *zoom-focus-style* 2)) 
 	(snd-display ";* zoom-focus-style set default: ~A" *zoom-focus-style*))
-    (if (not (equal? *sync-style*  sync-by-sound )) 
+    (if (not (equal? *sync-style* sync-by-sound)) 
 	(snd-display ";* sync-style set default: ~A" *sync-style*))    
-    (if (not (eqv? *mix-waveform-height*  20 )) 
+    (if (not (eqv? *mix-waveform-height* 20)) 
 	(snd-display ";* mix-waveform-height set default: ~A" *mix-waveform-height*))
-    (if (not (eqv? *mix-tag-width*  6)) 
+    (if (not (eqv? *mix-tag-width* 6)) 
 	(snd-display ";* mix-tag-width set default: ~A" *mix-tag-width*))
-    (if (not (eqv? *mix-tag-height*  14)) 
+    (if (not (eqv? *mix-tag-height* 14)) 
 	(snd-display ";* mix-tag-height set default: ~A" *mix-tag-height*))
-    (if (not (eqv? *mark-tag-width*  10)) 
+    (if (not (eqv? *mark-tag-width* 10)) 
 	(snd-display ";* mark-tag-width set default: ~A" *mark-tag-width*))
-    (if (not (eqv? *mark-tag-height*  4)) 
+    (if (not (eqv? *mark-tag-height* 4)) 
 	(snd-display ";* mark-tag-height set default: ~A" *mark-tag-height*))
 
     (if (and with-motif
@@ -1176,7 +1173,7 @@
 	'ladspa-dir *ladspa-dir* ""
 	'peak-env-dir *peak-env-dir* (list "" "/home/bil/peaks")
 	'lisp-graph? (without-errors (lisp-graph?)) 'no-such-sound
-					;      'listener-prompt *listener-prompt* ">" 
+
 	'log-freq-start *log-freq-start* 32.0	
 	'mark-tag-height *mark-tag-height* 4
 	'mark-tag-width *mark-tag-width* 10
@@ -1246,7 +1243,7 @@
 	'wavo-trace *wavo-trace* 64 
 	'with-mix-tags *with-mix-tags* #t
 	'with-relative-panes *with-relative-panes* #t
-					;      'with-tracking-cursor *with-tracking-cursor* '(#f 1)
+
 	'with-verbose-cursor *with-verbose-cursor* '(#f #t)
 	'with-inset-graph *with-inset-graph* '(#f #t)
 	'with-interrupts *with-interrupts* #t
@@ -1348,7 +1345,6 @@
 	    (list 'enved-filter-order enved-filter-order 40 20 '*enved-filter-order*)
 	    (list 'filter-control-in-hz filter-control-in-hz #f #t '*filter-control-in-hz*)
 	    (list 'filter-control-order filter-control-order 20 40 '*filter-control-order*)
-					;	(list 'graph-cursor graph-cursor 34 32 '*graph-cursor*)
 
 	    (list 'graph-style graph-style 0 1 '*graph-style*)
 	    (list 'initial-beg initial-beg 0.0 1.0 '*initial-beg*)
@@ -2317,7 +2313,8 @@
 
 (define (snd_test_4)
   
-  (do ((clmtest 0 (+ 1 clmtest))) ((= clmtest tests)) 
+  (do ((clmtest 0 (+ 1 clmtest))) 
+      ((= clmtest tests)) 
     (log-mem clmtest)
     (clear-listener)
     (let ((mz (mus-sound-maxamp "z.snd")))
@@ -2405,31 +2402,30 @@
       (if (not (string=? str "23-Nov 06:56 PST"))
 	  (snd-display ";mus-sound-write-date pistol.snd: ~A?" str)))
     
-    (let ((index (open-sound "oboe.snd"))
-	  (long-file-name (let ((name "test"))
+    (let ((long-file-name (let ((name "test"))
 			    (do ((i 0 (+ i 1)))
 				((= i 10)) ; 40 is about the limit in Linux (256 char limit here from OS, not Snd)
 			      (set! name (string-append name "-test")))
 			    (string-append name ".snd"))))
-      (if (variable-graph? index) (snd-display ";variable-graph thinks anything is a graph..."))
-      (if (player? index) (snd-display ";player? thinks anything is a player..."))
-      (if (not (sound? index)) (snd-display ";~A is not a sound?" index))
-      (if (sound? #f) (snd-display ";sound? #f -> #t?"))
-      (if (sound? #t) (snd-display ";sound? #t -> #t?"))
-      (save-sound-as long-file-name index)
-      (close-sound index)
-      (set! index (open-sound long-file-name))
-      (if (not (sound? index)) (snd-display ";can't find test...snd"))
-      (if (or (< (length (file-name index)) (length long-file-name))
-	      (< (length (short-file-name index)) (length long-file-name)))
-	  (snd-display ";file-name lengths: ~A ~A ~A"
-		       (length (file-name index))
-		       (length (short-file-name index))
-		       (length long-file-name)))
-      (close-sound index)
+      (let ((index (open-sound "oboe.snd")))
+	(if (variable-graph? index) (snd-display ";variable-graph thinks anything is a graph..."))
+	(if (player? index) (snd-display ";player? thinks anything is a player..."))
+	(if (not (sound? index)) (snd-display ";~A is not a sound?" index))
+	(if (sound? #f) (snd-display ";sound? #f -> #t?"))
+	(if (sound? #t) (snd-display ";sound? #t -> #t?"))
+	(save-sound-as long-file-name index)
+	(close-sound index))
+      (let ((index (open-sound long-file-name)))
+	(if (not (sound? index)) (snd-display ";can't find test...snd"))
+	(if (or (< (length (file-name index)) (length long-file-name))
+		(< (length (short-file-name index)) (length long-file-name)))
+	    (snd-display ";file-name lengths: ~A ~A ~A"
+			 (length (file-name index))
+			 (length (short-file-name index))
+			 (length long-file-name)))
+	(close-sound index))
       (mus-sound-forget long-file-name)
       (delete-file long-file-name))
-    
 		       
     (let ((new-path (if (provided? 'osx) "/Users/bil/sf1" "/home/bil/sf1")))
       (let-temporarily ((*mus-sound-path* (list new-path)))
@@ -2673,16 +2669,11 @@
     (let ((len 100))
       (for-each
        (lambda (type allowed-diff)
-	 (let ((ind (new-sound "test.snd" 1 22050 mus-ldouble mus-next))
-	       (v (make-float-vector len))
-	       (maxdiff 0.0)
-	       (maxpos #f))
+	 (let ((v (make-float-vector len)))
 	   (set! (v 0) 0.999)
 	   (set! (v 1) -1.0)
 	   (set! (v 2) .1)
 	   (set! (v 3) -.1)
-	   (set! (v 4) .01)
-	   (set! (v 5) -.01)
 	   (set! (v 4) .001)
 	   (set! (v 5) -.001)
 	   (set! (v 6) 0.0)
@@ -2692,23 +2683,26 @@
 	       (if (not (>= 2.0 val 0.0))
 		   (snd-display ";random 2.0 -> ~A?" val))
 	       (set! (v i) (- 1.0 val))))
-	   (float-vector->channel v 0 len ind 0)
-	   (save-sound-as "test1.snd" ind :header-type mus-next :sample-type type)
-	   (close-sound ind)
-	   (set! ind (open-sound "test1.snd"))
-	   (let ((v1 (channel->float-vector 0 len ind 0)))
-	     (do ((i 0 (+ i 1)))
-		 ((= i len))
+	   (let ((ind (new-sound "test.snd" 1 22050 mus-ldouble mus-next)))
+	     (float-vector->channel v 0 len ind 0)
+	     (save-sound-as "test1.snd" ind :header-type mus-next :sample-type type)
+	     (close-sound ind))
+	   (let* ((ind (open-sound "test1.snd"))
+		  (v1 (channel->float-vector 0 len ind 0)))
+	     (do ((maxdiff 0.0)
+		  (maxpos #f)
+		  (i 0 (+ i 1)))
+		 ((= i len)
+		  (if (> maxdiff allowed-diff)
+		      (snd-display ";[line 2841] ~A: ~A at ~A (~A ~A)" 
+				   (mus-sample-type-name type) 
+				   maxdiff maxpos 
+				   (v maxpos) (v1 maxpos))))
 	       (let ((diff (abs (- (v i) (v1 i)))))
 		 (if (> diff maxdiff)
 		     (begin
 		       (set! maxdiff diff)
 		       (set! maxpos i)))))
-	     (if (> maxdiff allowed-diff)
-		 (snd-display ";[line 2841] ~A: ~A at ~A (~A ~A)" 
-			      (mus-sample-type-name type) 
-			      maxdiff maxpos 
-			      (v maxpos) (v1 maxpos)))
 	     (close-sound ind))))
        (list mus-bshort   mus-lshort   mus-mulaw   mus-alaw   mus-byte  
 	     mus-lfloat   mus-bint     mus-lint    mus-b24int mus-l24int
@@ -3249,8 +3243,6 @@
       
       (test-data (string-append sf-dir "nist-shortpack.wav") 10000 10 (float-vector 0.021 0.018 0.014 0.009 0.004 -0.001 -0.004 -0.006 -0.007 -0.008))
       (test-data (string-append sf-dir "wood.sds") 1000 10 (float-vector -0.160 -0.216 -0.254 -0.239 -0.175 -0.102 -0.042 0.005 0.041 0.059))
-					;	  (test-data (string-append sf-dir "oboe.g721") 1000 10 (float-vector -0.037 -0.040 -0.040 -0.041 -0.042 -0.038 -0.028 -0.015 -0.005 0.002))
-					;	  (test-data (string-append sf-dir "oboe.g723_40") 1000 10 (float-vector -0.037 -0.040 -0.041 -0.041 -0.041 -0.038 -0.028 -0.015 -0.005 0.003))
       (test-data (string-append sf-dir "mus10.snd") 10000 10 (float-vector 0.004 0.001 0.005 0.009 0.017 0.015 0.008 0.011 0.009 0.012))
       (test-data (string-append sf-dir "ieee-text-16.snd") 1000 10 (float-vector -0.052 -0.056 -0.069 -0.077 -0.065 -0.049 -0.054 -0.062 -0.066 -0.074))
       (test-data (string-append sf-dir "hcom-16.snd") 10000 10 (float-vector 0.000 0.000 0.000 0.008 0.000 -0.016 -0.016 -0.016 -0.008 0.000))
@@ -3258,8 +3250,7 @@
       (test-data (string-append sf-dir "nasahal.avi") 20000 10 (float-vector 0.390 0.120 -0.399 -0.131 0.464 0.189 -0.458 -0.150 0.593 0.439))
       (test-data (string-append sf-dir "oki.wav") 100 10 (float-vector 0.396 0.564 0.677 0.779 0.761 0.540 0.209 -0.100 -0.301 -0.265))
       
-      (test-data (string-append sf-dir "trumps22.adp") 5000 10 (float-vector 0.267 0.278 0.309 0.360 0.383 0.414 0.464 0.475 0.486 0.495))
-      )
+      (test-data (string-append sf-dir "trumps22.adp") 5000 10 (float-vector 0.267 0.278 0.309 0.360 0.383 0.414 0.464 0.475 0.486 0.495)))
     
     (let ((errs (list "no error" "no frequency method" "no phase method" "null gen arg to method" "no length method"
 		      "no describe method" "no data method" "no scaler method"
@@ -3291,10 +3282,6 @@
 		(snd-display ";mus-error-type->string ~D: ~A ~A" i (errs i) (mus-error-type->string i))
 		(set! happy #f))))))
     
-					;	  (let ((new-id (mus-make-error "hiho all messed up")))
-					;	    (if (not (string=? (mus-error-type->string new-id) "hiho all messed up"))
-					;		(snd-display ";mus-make-error :~A ~A" new-id (mus-error-type->string new-id))))
-    
     (let ((cur-srate (mus-sound-srate "oboe.snd"))
 	  (cur-chans (mus-sound-chans "oboe.snd"))
 	  (cur-format (mus-sound-sample-type "oboe.snd"))
@@ -3452,15 +3439,15 @@
 	    (set! (selection-position) 0)
 	    (set! (selection-framples) (* (floor *clm-srate*) 65000))
 	    (if (not (= (selection-framples) (* (floor *clm-srate*) 65000))) (snd-display ";bigger select len: ~A" (selection-framples))))
-	  (let ((size 2260597782)   ;(* 44123 51234))
-		(msize 2701827782)) ;(* 44123 61234)
+	  (let ((size 2260597782))   ;(* 44123 51234))
 	    (set! (cursor ind) (* (floor *clm-srate*) 50000))
 	    (if (not (= (cursor ind) (* (floor *clm-srate*) 50000))) (snd-display ";bigger cursor: ~A" (cursor ind)))
 	    (let ((m1 (add-mark size ind)))
 	      (if (not (= (mark-sample m1) size)) (snd-display ";bigger mark at: ~A" (mark-sample m1)))
 	      (let ((mid (find-mark size)))
 		(if (not (and (number? mid) (= mid m1))) (snd-display ";bigger mark seach: ~A ~A" mid m1))))
-	    (let* ((mx (mix-sound "oboe.snd" msize))
+	    (let* ((msize 2701827782) ;(* 44123 61234)
+		   (mx (mix-sound "oboe.snd" msize))
 		   (mxd (find-mix msize)))
 	      (if (not (and (number? mxd) (= mxd mx))) (snd-display ";bigger find-mix ~A ~A" mxd mx)))
 	    (set! (cursor ind) size)
@@ -3509,8 +3496,7 @@
       (env-channel '(0 0 .1 .1 .2 .2 .3 .3 .4 .4 .5 .5 .6 .6 .7 .7 .8 .8 .9  .9))
       (if (not (mus-arrays-equal? (channel->float-vector) (float-vector 0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900)))
 	  (snd-display ";ramp env by .1: ~A" (channel->float-vector)))
-      (close-sound ind))
-    )
+      (close-sound ind)))
   
   (set! (hook-functions open-raw-sound-hook) ())
   (hook-push open-raw-sound-hook (lambda (hook) (set! (hook 'result) #t)))
@@ -3518,7 +3504,7 @@
   (hook-push bad-header-hook (lambda (hook) (set! (hook 'result) #t)))
   (if (null? (hook-functions open-raw-sound-hook)) (snd-display ";add hook open-raw-sound-hook failed??"))
   (if (null? (hook-functions bad-header-hook)) (snd-display ";add hook bad-header-hook failed??"))
-  (let* ((magic-words (list ".snd" "FORM" "AIFF" "AIFC" "COMM" "COMT" "INFO" "INST" "inst" "MARK" "SSND"
+  (let ((magic-words (list ".snd" "FORM" "AIFF" "AIFC" "COMM" "COMT" "INFO" "INST" "inst" "MARK" "SSND"
 			    "FVER" "NONE" "ULAW" "ulaw" "ima4" "raw " "sowt" "in32" "in24" "ni23" "fl32"
 			    "FL32" "fl64" "twos" "ALAW" "alaw" "APPL" "CLM " "RIFF" "RIFX" "WAVE" "fmt "
 			    "data" "fact" "clm " "NIST" "8SVX" "16SV" "Crea" "tive" "SOUN" "D SA" "MPLE"
@@ -3528,76 +3514,75 @@
 			    "SND " "SNIN" "SNDT" "DDSF" "FSMu" "UWFD" "LM89" "SY80" "SY85" "SCRS" "DSPL"
 			    "AVI " "strf" "movi" "PRAM" " paf" "fap " "DS16" "HEDR" "HDR8" "SDA_" "SDAB"
 			    "SD_B" "NOTE" "file" "=sam" "SU7M" "SU7R" "PVF1" "PVF2" "AUTH" "riff" "TWIN"
-			    "IMPS" "SMP1" "Maui" "SDIF"))
-	 (len (length magic-words))
-	 (ctr 0))
-    (for-each
-     (lambda (magic)
-       (if (null? (hook-functions open-raw-sound-hook)) (snd-display ";open-raw-sound-hook cleared??"))
-       (if (null? (hook-functions bad-header-hook)) (snd-display ";bad-header-hook cleared??"))
-       (if (file-exists? "test.snd")
-	   (delete-file "test.snd"))
-       (mus-sound-forget "test.snd")
-       ;; try random garbage
-       (with-output-to-file "test.snd"
-	 (lambda ()
-	   (display magic)
-	   (do ((i 0 (+ i 1)))
-	       ((= i 128))
-	     (write (random 1.0)))))
-       (let ((tag (catch #t
-		    (lambda ()
-		      (open-sound "test.snd"))
-		    (lambda args (car args)))))
-	 (if (and (number? tag)
-		  (sound? tag))
-	     (begin
-	       (snd-display ";open-sound garbage ~A: ~A -> ~A?" magic tag (file->string "test.snd"))
-	       (if (sound? tag) (close-sound tag)))))
-       (delete-file "test.snd")
-       (mus-sound-forget "test.snd")
-       ;; try plausible garbage
-       (with-output-to-file "test.snd"
-	 (lambda ()
-	   (display magic)
-	   (do ((i 0 (+ i 1)))
-	       ((= i 128))
-	     (write (random 128)))))
-       (let ((tag (catch #t
-		    (lambda ()
-		      (open-sound "test.snd"))
-		    (lambda args (car args)))))
-	 (if (and (number? tag)
-		  (sound? tag))
-	     (begin
-	       (snd-display ";open-sound plausible garbage ~A: ~A?" magic tag)
-	       (if (sound? tag) (close-sound tag)))))
-       (delete-file "test.snd")
-       (mus-sound-forget "test.snd")
-       ;; write very plausible garbage
-       (with-output-to-file "test.snd"
-	 (lambda ()
-	   (display magic)
-	   (do ((i 1 (+ i 1)))
-	       ((= i 12))
-	     (if (< (+ ctr i) len)
-		 (display (magic-words (+ ctr i)))
-		 (display (magic-words i))))))
-       (let ((tag (catch #t
-		    (lambda ()
-		      (open-sound "test.snd"))
-		    (lambda args (car args)))))
-	 (if (and (number? tag)
-		  (sound? tag))
-	     (begin
-	       (snd-display ";open-sound very plausible garbage ~A: ~A?" magic tag)
-	       (if (sound? tag) (close-sound tag)))))
-       (set! ctr (+ ctr 1)))
-     magic-words))
+			    "IMPS" "SMP1" "Maui" "SDIF")))
+    (let ((len (length magic-words))
+	  (ctr 0))
+      (for-each
+       (lambda (magic)
+	 (if (null? (hook-functions open-raw-sound-hook)) (snd-display ";open-raw-sound-hook cleared??"))
+	 (if (null? (hook-functions bad-header-hook)) (snd-display ";bad-header-hook cleared??"))
+	 (if (file-exists? "test.snd")
+	     (delete-file "test.snd"))
+	 (mus-sound-forget "test.snd")
+	 ;; try random garbage
+	 (with-output-to-file "test.snd"
+	   (lambda ()
+	     (display magic)
+	     (do ((i 0 (+ i 1)))
+		 ((= i 128))
+	       (write (random 1.0)))))
+	 (let ((tag (catch #t
+		      (lambda ()
+			(open-sound "test.snd"))
+		      (lambda args (car args)))))
+	   (if (and (number? tag)
+		    (sound? tag))
+	       (begin
+		 (snd-display ";open-sound garbage ~A: ~A -> ~A?" magic tag (file->string "test.snd"))
+		 (if (sound? tag) (close-sound tag)))))
+	 (delete-file "test.snd")
+	 (mus-sound-forget "test.snd")
+	 ;; try plausible garbage
+	 (with-output-to-file "test.snd"
+	   (lambda ()
+	     (display magic)
+	     (do ((i 0 (+ i 1)))
+		 ((= i 128))
+	       (write (random 128)))))
+	 (let ((tag (catch #t
+		      (lambda ()
+			(open-sound "test.snd"))
+		      (lambda args (car args)))))
+	   (if (and (number? tag)
+		    (sound? tag))
+	       (begin
+		 (snd-display ";open-sound plausible garbage ~A: ~A?" magic tag)
+		 (if (sound? tag) (close-sound tag)))))
+	 (delete-file "test.snd")
+	 (mus-sound-forget "test.snd")
+	 ;; write very plausible garbage
+	 (with-output-to-file "test.snd"
+	   (lambda ()
+	     (display magic)
+	     (do ((i 1 (+ i 1)))
+		 ((= i 12))
+	       (if (< (+ ctr i) len)
+		   (display (magic-words (+ ctr i)))
+		   (display (magic-words i))))))
+	 (let ((tag (catch #t
+		      (lambda ()
+			(open-sound "test.snd"))
+		      (lambda args (car args)))))
+	   (if (and (number? tag)
+		    (sound? tag))
+	       (begin
+		 (snd-display ";open-sound very plausible garbage ~A: ~A?" magic tag)
+		 (if (sound? tag) (close-sound tag)))))
+	 (set! ctr (+ ctr 1)))
+       magic-words)))
   (if (file-exists? "test.snd") (delete-file "test.snd"))
   (mus-sound-forget "test.snd")
   
-  
   (with-output-to-file "test.snd"
     (lambda ()
       (display ".snd")
@@ -3645,7 +3630,7 @@
 	       (for-each write-byte '(0 0 0 12 0 0 0 0 0 0 0 0 0 65 0 64)))))))
     (if (file-exists? "test.aif") (delete-file "test.aif"))
     (mus-sound-forget "test.aif")
-    ;;correct (make-aifc-file #o002 #o004 #o020)
+    ;; correct (make-aifc-file #o002 #o004 #o020)
     (make-aifc-file #o102 #o004 #o020)
     
     (catch #t
@@ -4042,106 +4027,103 @@
       (if (not (= len slen)) (snd-display ";spaced filename framples: ~A ~A" len slen)))
     (add-mark 1234 ind 0)
     (save-marks ind) ; should write "test space.marks"
-    (close-sound ind)
-    (set! ind (open-sound "test space.snd"))
+    (close-sound ind))
+  (let ((ind (open-sound "test space.snd")))
     (load (string-append cwd "test space.marks"))
     (if (not (find-mark 1234 ind))
 	(snd-display ";space file name save marks: ~A" (marks ind)))
     (let ((rd (make-readin :file "test space.snd")))
       (if (not (string=? (mus-file-name rd) "test space.snd"))
 	  (snd-display ";file name with space readin: ~A" (mus-file-name rd))))
-    (close-sound ind)
-    (if (file-exists? "test space.snd")
-	(delete-file "test space.snd"))
-    (if (file-exists? "test space.marks")
-	(delete-file "test space.marks")))
+    (close-sound ind))
+  (if (file-exists? "test space.snd")
+      (delete-file "test space.snd"))
+  (if (file-exists? "test space.marks")
+      (delete-file "test space.marks"))
   
   (if (directory? "oboe.snd") (snd-display ";directory? oboe.snd!"))
   (if (not (directory? ".")) (snd-display ";directory? . #f!"))
-  (if (not (getenv "PATH")) (snd-display ";getenv: no PATH?"))
+  (if (string=? "" (getenv "PATH")) (snd-display ";getenv: no PATH?"))
   (if (not (number? (getpid))) (snd-display ";getpid: ~A" (getpid)))
   
   (unless (provided? 'gmp)
-    (let* ((LONG_MAX 2147483647)
-	   (LONG_MIN -2147483648)
-	   (ints (list 0 1 -1 10 -10 1234 -1234 LONG_MAX LONG_MIN 65536 -65536))
-	   (shorts (list 0 1 -1 10 -10 1234 -1234 32767 -32768 8191 -8191))
-	   (longs (list 0 1 -1 11 -11 LONG_MAX LONG_MIN most-positive-fixnum most-negative-fixnum 1000 -1000))
-	   (floats (list 0.0 1.0 -1.0 0.1 -0.1 10.0 -10.0 1234.0 65536.0 -1234.0 -0.003))
-	   (doubles (list 0.0 1.0 -1.0 0.1 -0.1 10.0 -10.0 1234.0 65536.0 -1234.0 -0.003)))
-      (load "binary-io.scm")
-      
-      (with-output-to-file "idf1.data"
-	(lambda ()
-	  
-	  (write-lint32 123)
-	  (write-bint32 321)
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (write-lint32 (ints i))
-	    (write-bint32 (ints i)))
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (write-lint16 (shorts i))
-	    (write-bint16 (shorts i)))
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (write-lint64 (longs i))
-	    (write-bint64 (longs i)))
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (write-lfloat32 (floats i))
-	    (write-bfloat32 (floats i)))
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (write-lfloat64 (doubles i))
-	    (write-bfloat64 (doubles i)))
-	  ))
-      
-      (with-input-from-file "idf1.data" 
-	(lambda ()
-	  
-	  (define (testf val1 val2 name)
-	    (if (not (= val1 val2))
-		(if (not (memq name '(lfloat32 bfloat32)))
-		    (snd-display ";testf ~A: ~A != ~A~%" name val1 val2)
-		    (if (> (abs (- val1 val2)) 1.0e-6)
-			(snd-display ";testf ~A: ~A != ~A (~A)~%" name val1 val2 (abs (- val1 val2)))))))
-	  
-	  (testf (read-lint32) 123 'lint32)
-	  (testf (read-bint32) 321 'bint32)
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (testf (read-lint32) (ints i) 'lint32)
-	    (testf (read-bint32) (ints i) 'bint32))
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (testf (read-lint16) (shorts i) 'lint16)
-	    (testf (read-bint16) (shorts i) 'bint16))
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (testf (read-lint64) (longs i) 'lint64)
-	    (testf (read-bint64) (longs i) 'bint64))
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (testf (read-lfloat32) (floats i) 'lfloat32)
-	    (testf (read-bfloat32) (floats i) 'bfloat32))
-	  
-	  (do ((i 0 (+ i 1)))
-	      ((= i 11))
-	    (testf (read-lfloat64) (doubles i) 'lfloat64)
-	    (testf (read-bfloat64) (doubles i) 'bfloat64))
-	  ))
-      )))
+    (let ((LONG_MAX 2147483647)
+	  (LONG_MIN -2147483648))
+      (let ((ints (list 0 1 -1 10 -10 1234 -1234 LONG_MAX LONG_MIN 65536 -65536))
+	    (shorts (list 0 1 -1 10 -10 1234 -1234 32767 -32768 8191 -8191))
+	    (longs (list 0 1 -1 11 -11 LONG_MAX LONG_MIN most-positive-fixnum most-negative-fixnum 1000 -1000))
+	    (floats (list 0.0 1.0 -1.0 0.1 -0.1 10.0 -10.0 1234.0 65536.0 -1234.0 -0.003))
+	    (doubles (list 0.0 1.0 -1.0 0.1 -0.1 10.0 -10.0 1234.0 65536.0 -1234.0 -0.003)))
+	(load "binary-io.scm")
+	
+	(with-output-to-file "idf1.data"
+	  (lambda ()
+	    
+	    (write-lint32 123)
+	    (write-bint32 321)
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (write-lint32 (ints i))
+	      (write-bint32 (ints i)))
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (write-lint16 (shorts i))
+	      (write-bint16 (shorts i)))
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (write-lint64 (longs i))
+	      (write-bint64 (longs i)))
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (write-lfloat32 (floats i))
+	      (write-bfloat32 (floats i)))
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (write-lfloat64 (doubles i))
+	      (write-bfloat64 (doubles i)))))
+	
+	(with-input-from-file "idf1.data" 
+	  (lambda ()
+	    
+	    (define (testf val1 val2 name)
+	      (if (not (= val1 val2))
+		  (if (not (memq name '(lfloat32 bfloat32)))
+		      (snd-display ";testf ~A: ~A != ~A~%" name val1 val2)
+		      (if (> (abs (- val1 val2)) 1.0e-6)
+			  (snd-display ";testf ~A: ~A != ~A (~A)~%" name val1 val2 (abs (- val1 val2)))))))
+	    
+	    (testf (read-lint32) 123 'lint32)
+	    (testf (read-bint32) 321 'bint32)
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (testf (read-lint32) (ints i) 'lint32)
+	      (testf (read-bint32) (ints i) 'bint32))
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (testf (read-lint16) (shorts i) 'lint16)
+	      (testf (read-bint16) (shorts i) 'bint16))
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (testf (read-lint64) (longs i) 'lint64)
+	      (testf (read-bint64) (longs i) 'bint64))
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (testf (read-lfloat32) (floats i) 'lfloat32)
+	      (testf (read-bfloat32) (floats i) 'bfloat32))
+	    
+	    (do ((i 0 (+ i 1)))
+		((= i 11))
+	      (testf (read-lfloat64) (doubles i) 'lfloat64)
+	      (testf (read-bfloat64) (doubles i) 'bfloat64))))))))
 
 
 
@@ -4154,7 +4136,6 @@
   `(check-maxamp-1 ,(port-line-number) ,ind ,val ,name))
 
 (define (snd_test_5)
-  (define a-ctr 0)
   
   (define (append-sound filename)
     (insert-sound filename (framples)))
@@ -4199,7 +4180,7 @@
   
   (define* (make-bandpass-2 flo1 fhi1 flo2 fhi2 (len 30))
     (let ((f1 (make-bandpass flo1 fhi1 len))
-	   (f2 (make-bandpass flo2 fhi2 len)))
+	  (f2 (make-bandpass flo2 fhi2 len)))
       (float-vector-add! (mus-xcoeffs f1) (mus-xcoeffs f2))
       f1))
   
@@ -4212,29 +4193,23 @@
 	  (if (not (= maxpos pos))
 	      (snd-display ";~A: find and maxamp-position disagree: ~A (~A) ~A (~A)" 
 			   name pos (sample pos ind 0) maxpos (sample maxpos ind 0))))
-      (let ((mx 0.0)
-	    (mpos 0)
-	    (len (framples ind)))
-	(let ((info (float-vector-peak-and-location (samples 0 len ind))))
-	  (set! mpos (cadr info))
-	  (set! mx (car info)))
-	(if (not (= mpos maxpos))
-	    (snd-display ";(~D) scan and maxamp-position disagree: ~A ~A" caller-line mpos maxpos))
-	(if (fneq mx val) (snd-display ";(~D) actual ~A max: ~A (correct: ~A)" caller-line name mx val)))))
+      (let ((info (float-vector-peak-and-location (samples 0 (framples ind) ind))))
+	(let ((mpos (cadr info))
+	      (mx (car info)))
+	  (if (not (= mpos maxpos))
+	      (snd-display ";(~D) scan and maxamp-position disagree: ~A ~A" caller-line mpos maxpos))
+	  (if (fneq mx val) (snd-display ";(~D) actual ~A max: ~A (correct: ~A)" caller-line name mx val))))))
   
   (define (check-env-vals name gen)
     (let ((len (framples))
 	  (reader (make-sampler)))
-      (call-with-exit
-       (lambda (quit)
-	 (do ((i 0 (+ i 1)))
-	     ((= i len))
-	   (let ((val (env gen))
-		 (y (next-sample reader)))
-	     (if (fneq val y)
-		 (begin
-		   (format () "~%;check-env-vals ~A at ~D: ~A ~A" name i val y)
-		   (quit)))))))))
+      (do ((i 0 (+ i 1)))
+	  ((or (= i len)
+	       (let ((val (env gen))
+		     (y (next-sample reader)))
+		 (and (fneq val y)
+		      (or (snd-display "~%;check-env-vals ~A at ~D: ~A ~A" name i val y)
+			  #t))))))))
 
   (define (our-x->position ind x) 
     (let ((ax (axis-info ind 0)))
@@ -4254,7 +4229,8 @@
     (region->float-vector r 0 len c))
   
   (if (playing) (snd-display ";dac is running??"))
-  (do ((clmtest 0 (+ 1 clmtest))) ((= clmtest tests)) 
+  (do ((clmtest 0 (+ 1 clmtest))) 
+      ((= clmtest tests)) 
     (log-mem clmtest)
     
     (let ((ind (open-sound "oboe.snd")))
@@ -4319,7 +4295,7 @@
 				       (set! happy #f)
 				       (set! j (+ j 1))))
 				 (set! happy #f))))))))))
-
+    
     (for-each
      (lambda (size)
        (let ((ind (new-sound "test.snd" :size size))
@@ -5027,8 +5003,7 @@ EDITS: 5
 	  (snd-display ";xramp 6 vals: ~A ~A" (maxamp) (sample 0)))
       (undo)
       (xramp-channel 0.0 1.0 32.0)
-      (let ((vals (channel->float-vector))
-	    (ctr 0))
+      (let ((vals (channel->float-vector)))
 	(scale-channel 0.5)
 	(if (not (string-=? (safe-display-edits ind 0 3) "
  (scale 0 10) ; scale-channel 0.500 0 #f [3:2]:
@@ -5036,9 +5011,9 @@ EDITS: 5
    (at 10, end_mark)
 "))
 	    (snd-display ";xramp 7: ~A" (safe-display-edits ind 0 3)))
-	(set! ctr 0)
-	(let* ((p (make-one-pole 1.0 -1.0))
-	       (baddy (scan-channel (lambda (y) (fneq y (* 0.5 (float-vector-ref vals (floor (- (one-pole p 1.0) 1.0)))))))))
+	(let ((baddy (scan-channel (let ((p (make-one-pole 1.0 -1.0)))
+				     (lambda (y) 
+				       (fneq y (* 0.5 (float-vector-ref vals (floor (- (one-pole p 1.0) 1.0))))))))))
 	  (if baddy (snd-display ";trouble in xramp 7: ~A" baddy)))
 	(undo)
 	(delete-sample 0)
@@ -5048,9 +5023,9 @@ EDITS: 5
    (at 9, end_mark)
 "))
 	    (snd-display ";xramp 8: ~A" (safe-display-edits ind 0 3)))
-	(set! ctr 1)
-	(let* ((p (make-one-pole 1.0 -1.0))
-	       (baddy (scan-channel (lambda (y) (fneq y (float-vector-ref vals (floor (one-pole p 1.0))))))))
+	(let ((baddy (scan-channel (let ((p (make-one-pole 1.0 -1.0)))
+				     (lambda (y) 
+				       (fneq y (float-vector-ref vals (floor (one-pole p 1.0)))))))))
 	  (if baddy (snd-display ";trouble in xramp 8: ~A" baddy)))
 	(undo)
 	(delete-samples 0 2)
@@ -5060,109 +5035,99 @@ EDITS: 5
    (at 8, end_mark)
 "))
 	    (snd-display ";xramp 9: ~A" (safe-display-edits ind 0 3)))
-	(set! ctr 2)
 	(let ((p (make-one-pole 1.0 -1.0)))
 	  (one-pole p 1.0)
 	  (let ((baddy (scan-channel (lambda (y) (fneq y (float-vector-ref vals (floor (one-pole p 1.0))))))))
-	    (if baddy (snd-display ";trouble in xramp 9: ~A" baddy))))
-	(undo)
-	(delete-sample 0)
-	(delete-sample 0)
-	(if (not (string-=? (safe-display-edits ind 0 4) "
+	    (if baddy (snd-display ";trouble in xramp 9: ~A" baddy)))))
+      (undo)
+      (delete-sample 0)
+      (delete-sample 0)
+      (if (not (string-=? (safe-display-edits ind 0 4) "
  (delete 0 1) ; delete-samples 0 1 [4:2]:
    (at 0, cp->sounds[1][2:9, 1.000, [1]0.037 -> 1.000, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 8, end_mark)
 "))
-	    (snd-display ";xramp 10: ~A" (safe-display-edits ind 0 4)))
-	(undo 2)
-	(delete-sample 4)
-	(if (not (string-=? (safe-display-edits ind 0 3) "
+	  (snd-display ";xramp 10: ~A" (safe-display-edits ind 0 4)))
+      (undo 2)
+      (delete-sample 4)
+      (if (not (string-=? (safe-display-edits ind 0 3) "
  (delete 4 1) ; delete-samples 4 1 [3:3]:
    (at 0, cp->sounds[1][0:3, 1.000, [1]0.000 -> 0.070, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 4, cp->sounds[1][5:9, 1.000, [1]0.189 -> 1.000, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 9, end_mark)
 "))
-	    (snd-display ";xramp 11: ~A" (safe-display-edits ind 0 3)))
-	(undo)
-	(delete-samples 4 2)
-	(if (not (string-=? (safe-display-edits ind 0 3) "
+	  (snd-display ";xramp 11: ~A" (safe-display-edits ind 0 3)))
+      (undo)
+      (delete-samples 4 2)
+      (if (not (string-=? (safe-display-edits ind 0 3) "
  (delete 4 2) ; delete-samples 4 2 [3:3]:
    (at 0, cp->sounds[1][0:3, 1.000, [1]0.000 -> 0.070, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 4, cp->sounds[1][6:9, 1.000, [1]0.293 -> 1.000, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 8, end_mark)
 "))
-	    (snd-display ";xramp 12: ~A" (safe-display-edits ind 0 3)))
-	(undo)
-	(scale-channel 0.5 4 2)
-	(if (not (string-=? (safe-display-edits ind 0 3) "
+	  (snd-display ";xramp 12: ~A" (safe-display-edits ind 0 3)))
+      (undo)
+      (scale-channel 0.5 4 2)
+      (if (not (string-=? (safe-display-edits ind 0 3) "
  (scale 4 2) ; scale-channel 0.500 4 2 [3:4]:
    (at 0, cp->sounds[1][0:3, 1.000, [1]0.000 -> 0.070, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 4, cp->sounds[1][4:5, 0.500, [1]0.118 -> 0.189, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 6, cp->sounds[1][6:9, 1.000, [1]0.293 -> 1.000, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 10, end_mark)
 "))
-	    (snd-display ";xramp 13: ~A" (safe-display-edits ind 0 3)))
-	(set! ctr 0)
-	(let ((baddy (scan-channel (lambda (y)
-				     (or (and (> ctr 5) (fneq y (vals ctr)))
-					 (and (< ctr 4) (fneq y (vals ctr)))
-					 (and (memv ctr '(4 5)) (fneq y (* 0.5 (vals ctr)))))
-					 (set! ctr (+ ctr 1))
-					 #f))))
-	  (if baddy (snd-display ";trouble in xramp 8: ~A" baddy)))
-	(undo)
-	(scale-channel 0.5 0 2)
-	(if (not (string-=? (safe-display-edits ind 0 3) "
+	  (snd-display ";xramp 13: ~A" (safe-display-edits ind 0 3)))
+      (undo)
+      (scale-channel 0.5 0 2)
+      (if (not (string-=? (safe-display-edits ind 0 3) "
  (scale 0 2) ; scale-channel 0.500 0 2 [3:3]:
    (at 0, cp->sounds[1][0:1, 0.500, [1]0.000 -> 0.015, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 2, cp->sounds[1][2:9, 1.000, [1]0.037 -> 1.000, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 10, end_mark)
 "))
-	    (snd-display ";xramp 14: ~A" (safe-display-edits ind 0 3)))
-	(undo)
-	(pad-channel 4 2)
-	(if (not (string-=? (safe-display-edits ind 0 3) "
+	  (snd-display ";xramp 14: ~A" (safe-display-edits ind 0 3)))
+      (undo)
+      (pad-channel 4 2)
+      (if (not (string-=? (safe-display-edits ind 0 3) "
  (silence 4 2) ; pad-channel [3:4]:
    (at 0, cp->sounds[1][0:3, 1.000, [1]0.000 -> 0.070, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 4, cp->sounds[-1][0:1, 0.000])
    (at 6, cp->sounds[1][4:9, 1.000, [1]0.118 -> 1.000, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 12, end_mark)
 "))
-	    (snd-display ";xramp 15: ~A" (safe-display-edits ind 0 3)))
-	(undo)
-	(set! (sample 4) 1.0)
-	(if (not (string-=? (safe-display-edits ind 0 3) "
+	  (snd-display ";xramp 15: ~A" (safe-display-edits ind 0 3)))
+      (undo)
+      (set! (sample 4) 1.0)
+      (if (not (string-=? (safe-display-edits ind 0 3) "
  (set 4 1) ; set-sample 4 1.0000 [3:4]:
    (at 0, cp->sounds[1][0:3, 1.000, [1]0.000 -> 0.070, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 4, cp->sounds[2][0:0, 1.000]) [buf: 1] 
    (at 5, cp->sounds[1][5:9, 1.000, [1]0.189 -> 1.000, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 10, end_mark)
 "))
-	    (snd-display ";xramp 16: ~A" (safe-display-edits ind 0 3)))
-	(undo)
-	(set! (samples 4 2) (make-float-vector 2))
-	(if (not (string-=? (safe-display-edits ind 0 3) "
+	  (snd-display ";xramp 16: ~A" (safe-display-edits ind 0 3)))
+      (undo)
+      (set! (samples 4 2) (make-float-vector 2))
+      (if (not (string-=? (safe-display-edits ind 0 3) "
  (set 4 2) ; set-samples [3:4]:
    (at 0, cp->sounds[1][0:3, 1.000, [1]0.000 -> 0.070, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 4, cp->sounds[2][0:1, 1.000]) [buf: 2] 
    (at 6, cp->sounds[1][6:9, 1.000, [1]0.293 -> 1.000, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 10, end_mark)
 "))
-	    (snd-display ";xramp 17: ~A" (safe-display-edits ind 0 3)))
-	(undo)
-	(scale-channel 0.5)
-	(set! (samples 4 2) (make-float-vector 2))
-	(if (not (string-=? (safe-display-edits ind 0 4) "
+	  (snd-display ";xramp 17: ~A" (safe-display-edits ind 0 3)))
+      (undo)
+      (scale-channel 0.5)
+      (set! (samples 4 2) (make-float-vector 2))
+      (if (not (string-=? (safe-display-edits ind 0 4) "
  (set 4 2) ; set-samples [4:4]:
    (at 0, cp->sounds[1][0:3, 0.500, [1]0.000 -> 0.070, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 4, cp->sounds[2][0:1, 1.000]) [buf: 2] 
    (at 6, cp->sounds[1][6:9, 0.500, [1]0.293 -> 1.000, off: -0.032, scl: 0.032]) [buf: 10] 
    (at 10, end_mark)
 "))
-	    (snd-display ";xramp 18: ~A" (safe-display-edits ind 0 4)))
-	)
+	  (snd-display ";xramp 18: ~A" (safe-display-edits ind 0 4)))
       (close-sound ind))
-    
+
     (let ((ind (new-sound "test.snd"))) ; third
       (map-channel (lambda (y) 1.0) 0 100)
       (do ((i 0 (+ i 1)))
@@ -5303,30 +5268,25 @@ EDITS: 5
       (if (fneq (maxamp ind 0) 1.0)
 	  (snd-display ";float-vector->channel size mismatch maxamp: ~A" (maxamp ind 0)))
       (if (not (mus-arrays-equal? (channel->float-vector 0 20 ind 0)
-		       (float-vector 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
+				  (float-vector 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
 	  (snd-display ";float-vector->channel size mismatch: ~A" (channel->float-vector 0 20 ind 0)))
       (revert-sound ind)
       (set! (samples 10 5) (make-float-vector 3 1.0))
       (if (fneq (maxamp ind 0) 1.0)
 	  (snd-display ";set samples size mismatch maxamp: ~A" (maxamp ind 0)))
       (if (not (mus-arrays-equal? (channel->float-vector 0 20 ind 0)
-		       (float-vector 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
+				  (float-vector 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
 	  (snd-display ";set samples size mismatch: ~A" (channel->float-vector 0 20 ind 0)))
       (revert-sound ind)
       (insert-samples 10 8 (make-float-vector 3 1.0) ind 0)
       (if (fneq (maxamp ind 0) 1.0)
 	  (snd-display ";insert samples size mismatch maxamp: ~A" (maxamp ind 0)))
       (if (not (mus-arrays-equal? (channel->float-vector 0 20 ind 0)
-		       (float-vector 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
+				  (float-vector 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
 	  (snd-display ";insert samples size mismatch: ~A" (channel->float-vector 0 20 ind 0)))
       (close-sound ind))
     
-    (let* ((index (open-sound "oboe.snd"))
-	   (bnds (x-bounds index))
-	   (xp (x-position-slider))
-	   (yp (y-position-slider))
-	   (xz (x-zoom-slider))
-	   (yz (y-zoom-slider)))
+    (let ((index (open-sound "oboe.snd")))
       (if (not (string=? (snd-completion " open-so") " open-sound"))
 	  (snd-display ";completion: ~A" (snd-completion " open-so")))
 					;	(if (not (string=? (snd-completion " open-sound") " open-sound"))
@@ -5394,7 +5354,7 @@ EDITS: 5
 		(snd-display ";time y-axis-label (time): ~A" (y-axis-label index 0 time-graph)))
 	    (set! (y-axis-label index) #f))
 	  (lambda args (snd-display ";axis label error: ~A" args)))
-      
+	
 	(let ((cr (make-cairo (car (channel-widgets index 0)))))
 	  (graph-data (make-float-vector 4) index 0 copy-context #f #f graph-lines cr)
 	  (free-cairo cr)
@@ -5437,9 +5397,8 @@ EDITS: 5
 	      (if (not (equal? val "spectra"))
 		  (snd-display ";fft y-axis-label: ~A" val)))
 	    (set! (y-axis-label) "hiho"))
-	  (lambda args (snd-display ";transform axis not displayed?")))
-	)
-    
+	  (lambda args (snd-display ";transform axis not displayed?"))))
+      
       (if (and (number? (transform-framples))
 	       (= (transform-framples) 0))
 	  (snd-display ";transform-graph? transform-framples ~A?" (transform-framples)))
@@ -5461,7 +5420,7 @@ EDITS: 5
       (peaks)
       (if (and (provided? 'xm) 
 	       (not (and ((dialog-widgets) 15)
-		   ((*motif* 'XtIsManaged) ((dialog-widgets) 15)))))
+			 ((*motif* 'XtIsManaged) ((dialog-widgets) 15)))))
 	  (snd-display ";peaks but no help?"))
       (dismiss-all-dialogs)
       (let ((num-transforms 6)
@@ -5484,14 +5443,14 @@ EDITS: 5
       (set! (read-only index) #t)
       (if (not (read-only index)) (snd-display ";set-read-only: ~A?" (read-only index)))
       (when with-gui
-	(bind-key #\a 0 (lambda () (set! a-ctr 3)))
-	(key (char->integer #\a) 0)
-	(if (not (= a-ctr 3)) (snd-display ";bind-key: ~A?" a-ctr))
-	(let ((str (with-output-to-string (lambda () (display (procedure-source (key-binding (char->integer #\a) 0)))))))
-	  (if (not (string=? str "(lambda () (set! a-ctr 3))"))
-	      (snd-display ";key-binding: ~A?" str)))
-	(unbind-key (char->integer #\a) 0)
-	(set! a-ctr 0)
+	(let ((a-ctr 0))
+	  (bind-key #\a 0 (lambda () (set! a-ctr 3)))
+	  (key (char->integer #\a) 0)
+	  (if (not (= a-ctr 3)) (snd-display ";bind-key: ~A?" a-ctr))
+	  (let ((str (with-output-to-string (lambda () (display (procedure-source (key-binding (char->integer #\a) 0)))))))
+	    (if (not (string=? str "(lambda () (set! a-ctr 3))"))
+		(snd-display ";key-binding: ~A?" str)))
+	  (unbind-key (char->integer #\a) 0))
 	(key (char->integer #\a) 0))
       (do ((i 0 (+ i 1)))
 	  ((= i 5))
@@ -5522,24 +5481,30 @@ EDITS: 5
 	  (if (not (= (channel-style n2) channels-separate)) (snd-display ";channel-style->~D: ~A?" channels-separate (channel-style n2)))
 	  (graph->ps "aaa.eps")
 	  (close-sound n2)))
-      (if (= (channels index) 1)
-	  (begin
-	    (set! (channel-style index) channels-superimposed)
-	    (if (not (= (channel-style index) channels-separate)) (snd-display ";channel-style[0]->~D: ~A?" channels-separate (channel-style index)))))
-      (set! (sync index) 32)
-      (if (not (= (sync index) 32)) (snd-display ";sync->32: ~A?" (sync index)))
-      (if (< (sync-max) 32) (snd-display ";sync-max 32: ~A" (sync-max)))
-      (set! (sync index) 0)
-      (set! (channel-sync index 0) 12)
-      (if (not (= (channel-sync index 0) 12)) (snd-display ";sync-chn->12: ~A?" (channel-sync index 0)))
-      (set! (channel-sync index 0) 0)
-      (if (not (= a-ctr 0)) (snd-display ";unbind-key: ~A?" a-ctr))
-      (if (fneq xp 0.0) (snd-display ";x-position-slider: ~A?" xp))
-      (if (fneq yp 0.0) (snd-display ";y-position-slider: ~A?" yp))
-      (if (and (fneq xz 0.04338) (fneq xz 1.0)) (snd-display ";x-zoom-slider: ~A?" xz))
-      (if (fneq yz 1.0) (snd-display ";y-zoom-slider: ~A?" yz))
-      (if (or (fneq (car bnds) 0.0) (and (fneq (cadr bnds) 0.1) (fneq (cadr bnds) 2.305)))
-	  (snd-display ";x-bounds: ~A?" bnds))
+      
+      (let ((xp (x-position-slider))
+	    (yp (y-position-slider))
+	    (xz (x-zoom-slider))
+	    (yz (y-zoom-slider))
+	    (bnds (x-bounds index)))
+	(if (= (channels index) 1)
+	    (begin
+	      (set! (channel-style index) channels-superimposed)
+	      (if (not (= (channel-style index) channels-separate)) (snd-display ";channel-style[0]->~D: ~A?" channels-separate (channel-style index)))))
+	(set! (sync index) 32)
+	(if (not (= (sync index) 32)) (snd-display ";sync->32: ~A?" (sync index)))
+	(if (< (sync-max) 32) (snd-display ";sync-max 32: ~A" (sync-max)))
+	(set! (sync index) 0)
+	(set! (channel-sync index 0) 12)
+	(if (not (= (channel-sync index 0) 12)) (snd-display ";sync-chn->12: ~A?" (channel-sync index 0)))
+	(set! (channel-sync index 0) 0)
+	(if (fneq xp 0.0) (snd-display ";x-position-slider: ~A?" xp))
+	(if (fneq yp 0.0) (snd-display ";y-position-slider: ~A?" yp))
+	(if (and (fneq xz 0.04338) (fneq xz 1.0)) (snd-display ";x-zoom-slider: ~A?" xz))
+	(if (fneq yz 1.0) (snd-display ";y-zoom-slider: ~A?" yz))
+	(if (or (fneq (car bnds) 0.0) (and (fneq (cadr bnds) 0.1) (fneq (cadr bnds) 2.305)))
+	    (snd-display ";x-bounds: ~A?" bnds)))
+      
       (if (not (equal? (find-sound "oboe.snd") index)) (snd-display ";oboe: index ~D is not ~D?" (find-sound "oboe.snd") index))
       (if (not (sound? index)) (snd-display ";oboe: ~D not ok?" index))
       (if (not (= (chans index) 1)) (snd-display ";oboe: chans ~D?" (chans index)))
@@ -5731,68 +5696,68 @@ EDITS: 5
 	(let ((newmaxa (maxamp index)))
 	  (if (fneq newmaxa .5) (snd-display ";scale-to: ~A?" newmaxa))
 	  (undo 1 index) 
-	  (scale-by 2.0 index) 
-	  (set! newmaxa (maxamp index))
-	  (if (fneq newmaxa (* 2.0 maxa)) (snd-display ";scale-by: ~A?" newmaxa))
-	  (revert-sound index)
-	  (scale-by -1 index)
-	  (mix "oboe.snd")
-	  (if (fneq (maxamp index 0) 0.0) (snd-display ";invert+mix->~A" (maxamp)))
-	  (revert-sound index)
-	  (select-all index) 
-	  (if (not (= (length (regions)) 2)) (snd-display ";regions(2): ~A?" (regions)))
-	  (scale-selection-to .5) 
-	  (set! newmaxa (maxamp index))
-	  (if (fneq newmaxa .5) (snd-display ";scale-selection-to: ~A?" newmaxa))
-	  (revert-sound index)
-	  (select-all index) 
-	  (scale-selection-by 2.0) 
-	  (set! newmaxa (maxamp index))
+	  (scale-by 2.0 index))
+	(let ((newmaxa (maxamp index)))
+	  (if (fneq newmaxa (* 2.0 maxa)) (snd-display ";scale-by: ~A?" newmaxa)))
+	(revert-sound index)
+	(scale-by -1 index)
+	(mix "oboe.snd")
+	(if (fneq (maxamp index 0) 0.0) (snd-display ";invert+mix->~A" (maxamp)))
+	(revert-sound index)
+	(select-all index) 
+	(if (not (= (length (regions)) 2)) (snd-display ";regions(2): ~A?" (regions)))
+	(scale-selection-to .5)
+	(let ((newmaxa (maxamp index)))
+	  (if (fneq newmaxa .5) (snd-display ";scale-selection-to: ~A?" newmaxa)))
+	(revert-sound index)
+	(select-all index) 
+	(scale-selection-by 2.0)
+	(let ((newmaxa (maxamp index)))
 	  (if (fneq newmaxa (* 2.0 maxa)) (snd-display ";scale-selection-by: ~A?" newmaxa))
 	  (revert-sound index)
-	  (with-temporary-selection (lambda () (scale-selection-by 2.0)) 0 (framples) index 0)
-	  (set! newmaxa (maxamp index))
-	  (if (fneq newmaxa (* 2.0 maxa)) (snd-display ";with-temporary-selection: ~A?" newmaxa))
-	  (revert-sound index)
-	  (let ((samp999 (sample 999 index 0))
-		(samp1001 (sample 1001 index 0)))
-	    (with-temporary-selection (lambda () (scale-selection-to 2.0)) 1000 1 index 0)
-	    (if (fneq (sample 1000 index 0) 2.0) (snd-display ";with-temporary-selection 1000: ~A" (sample 1000 index 0)))
-	    (if (fneq (sample 999 index 0) samp999) (snd-display ";with-temporary-selection 999: ~A from ~A" (sample 999 index 0) samp999))
-	    (if (fneq (sample 1001 index 0) samp1001) (snd-display ";with-temporary-selection 1001: ~A from ~A" (sample 1001 index 0) samp1001)))
-	  (revert-sound index)
-	  (make-selection 100 199 index 0)
-	  (let ((old-start (selection-position index 0))
-		(old-len (selection-framples index 0)))
-	    (with-temporary-selection (lambda () (scale-selection-to 2.0)) 1000 1 index 0)
-	    (if (not (selection?)) (snd-display ";with-temporary-selection restore?"))
-	    (if (not (selection-member? index 0)) (snd-display ";with-temporary-selection not member?"))
-	    (if (not (= (selection-position index 0) old-start)) (snd-display ";with-temporary-selection start: ~A" (selection-position index 0)))
-	    (if (not (= (selection-framples index 0) old-len)) (snd-display ";with-temporary-selection len: ~A" (selection-framples index 0))))
-	  (unselect-all)
-	  (if (selection-member? index 0) (snd-display ";unselect all ~D 0?" index))
-	  (revert-sound index)
-	  (select-all index) 
-	  (let ((rread (make-region-sampler (car (regions)) 0))
-		(sread (make-sampler 0 index)))
-	    (let ((rvect (region->float-vector (car (regions)) 0 100))
-		  (svect (samples 0 100 index)))
-	      (if (fneq (rvect 1) (region-sample (car (regions)) 1))
-		  (snd-display ";region-sample: ~A ~A?" (region-sample (car (regions)) 1) (rvect 1)))
-	      (do ((i 0 (+ i 1)))
-		  ((= i 100))
-		(let ((rval (next-sample rread))
-		      (sval (next-sample sread)))
-		  (if (fneq rval sval) (snd-display ";sample-read: ~A ~A?" rval sval))
-		  (if (fneq rval (rvect i)) (snd-display ";region-samples: ~A ~A?" rval (rvect i)))
-		  (if (fneq sval (svect i)) (snd-display ";samples: ~A ~A?" sval (svect i))))))
-	    (free-sampler rread) 
-	    (let ((val0 (next-sample sread)))
-	      (if (sampler-at-end? sread) (snd-display ";premature end?"))
-	      (previous-sample sread)
-	      (let ((val1 (previous-sample sread)))
-		(if (fneq val0 val1) (snd-display ";previous-sample: ~A ~A?" val0 val1))))
-	    (free-sampler sread))))
+	  (with-temporary-selection (lambda () (scale-selection-by 2.0)) 0 (framples) index 0))
+	(let ((newmaxa (maxamp index)))
+	  (if (fneq newmaxa (* 2.0 maxa)) (snd-display ";with-temporary-selection: ~A?" newmaxa))))
+      (revert-sound index)
+      (let ((samp999 (sample 999 index 0))
+	    (samp1001 (sample 1001 index 0)))
+	(with-temporary-selection (lambda () (scale-selection-to 2.0)) 1000 1 index 0)
+	(if (fneq (sample 1000 index 0) 2.0) (snd-display ";with-temporary-selection 1000: ~A" (sample 1000 index 0)))
+	(if (fneq (sample 999 index 0) samp999) (snd-display ";with-temporary-selection 999: ~A from ~A" (sample 999 index 0) samp999))
+	(if (fneq (sample 1001 index 0) samp1001) (snd-display ";with-temporary-selection 1001: ~A from ~A" (sample 1001 index 0) samp1001)))
+      (revert-sound index)
+      (make-selection 100 199 index 0)
+      (let ((old-start (selection-position index 0))
+	    (old-len (selection-framples index 0)))
+	(with-temporary-selection (lambda () (scale-selection-to 2.0)) 1000 1 index 0)
+	(if (not (selection?)) (snd-display ";with-temporary-selection restore?"))
+	(if (not (selection-member? index 0)) (snd-display ";with-temporary-selection not member?"))
+	(if (not (= (selection-position index 0) old-start)) (snd-display ";with-temporary-selection start: ~A" (selection-position index 0)))
+	(if (not (= (selection-framples index 0) old-len)) (snd-display ";with-temporary-selection len: ~A" (selection-framples index 0))))
+      (unselect-all)
+      (if (selection-member? index 0) (snd-display ";unselect all ~D 0?" index))
+      (revert-sound index)
+      (select-all index) 
+      (let ((rread (make-region-sampler (car (regions)) 0))
+	    (sread (make-sampler 0 index)))
+	(let ((rvect (region->float-vector (car (regions)) 0 100))
+	      (svect (samples 0 100 index)))
+	  (if (fneq (rvect 1) (region-sample (car (regions)) 1))
+	      (snd-display ";region-sample: ~A ~A?" (region-sample (car (regions)) 1) (rvect 1)))
+	  (do ((i 0 (+ i 1)))
+	      ((= i 100))
+	    (let ((rval (next-sample rread))
+		  (sval (next-sample sread)))
+	      (if (fneq rval sval) (snd-display ";sample-read: ~A ~A?" rval sval))
+	      (if (fneq rval (rvect i)) (snd-display ";region-samples: ~A ~A?" rval (rvect i)))
+	      (if (fneq sval (svect i)) (snd-display ";samples: ~A ~A?" sval (svect i))))))
+	(free-sampler rread) 
+	(let ((val0 (next-sample sread)))
+	  (if (sampler-at-end? sread) (snd-display ";premature end?"))
+	  (previous-sample sread)
+	  (let ((val1 (previous-sample sread)))
+	    (if (fneq val0 val1) (snd-display ";previous-sample: ~A ~A?" val0 val1))))
+	(free-sampler sread))
       (revert-sound index)
       (let ((s100 (sample 100))
 	    (s40 (sample 40))
@@ -5814,14 +5779,14 @@ EDITS: 5
 	    (begin
 	      (set! (cursor-style index 0)
 		    (lambda (snd chn ax)
-		      (let* ((point (cursor-position))
-			     (x (car point))
-			     (y (cadr point))
-			     (size (floor (/ *cursor-size* 2)))
-			     (cr (make-cairo (car (channel-widgets snd chn)))))
-			(draw-line (- x size) (- y size) (+ x size) (+ y size) snd chn cursor-context cr)    
-			(draw-line (- x size) (+ y size) (+ x size) (- y size) snd chn cursor-context cr)
-			(free-cairo cr))))
+		      (let ((point (cursor-position)))
+			(let ((x (car point))
+			      (y (cadr point))
+			      (size (floor (/ *cursor-size* 2)))
+			      (cr (make-cairo (car (channel-widgets snd chn)))))
+			  (draw-line (- x size) (- y size) (+ x size) (+ y size) snd chn cursor-context cr)    
+			  (draw-line (- x size) (+ y size) (+ x size) (- y size) snd chn cursor-context cr)
+			  (free-cairo cr)))))
 	      (if (not (procedure? (cursor-style index 0))) (snd-display ";set cursor-style to proc: ~A" (cursor-style index 0)))))
 	(set! (cursor index) 50)
 	(insert-sound "fyow.snd" (cursor) 0 index 0) 
@@ -5893,14 +5858,13 @@ EDITS: 5
 	      (snd-display ";save-region opt2 next header: ~A?" (mus-header-type-name (mus-sound-header-type "fmv.snd"))))
 	  (if (not (= (mus-sound-sample-type "fmv.snd") mus-bshort))
 	      (snd-display ";save-region opt2 bshort format: ~A?" (mus-sample-type-name (mus-sound-sample-type "fmv.snd"))))
-	  (delete-file "fmv.snd")
-	  ))
-      (close-sound index)
-      (let ((var (catch #t (lambda () (new-sound "hi.snd" :channels 0)) (lambda args args))))
-	(if (not (and (pair? var)
-		      (eq? (car var) 'out-of-range)))
-	    (snd-display ";new-sound bad chan: ~A" var)))
-      (set! index (new-sound "fmv.snd" 2 22050 mus-ldouble mus-next "unequal lens"))
+	  (delete-file "fmv.snd")))
+      (close-sound index))
+    (let ((var (catch #t (lambda () (new-sound "hi.snd" :channels 0)) (lambda args args))))
+      (if (not (and (pair? var)
+		    (eq? (car var) 'out-of-range)))
+	  (snd-display ";new-sound bad chan: ~A" var)))
+    (let ((index (new-sound "fmv.snd" 2 22050 mus-ldouble mus-next "unequal lens")))
       (set! (sync index) 0) ; might be set by choice of graphs
       (insert-silence 0 1000 index 1)
       (if (not (and (= (framples index 0) 1)
@@ -5917,10 +5881,10 @@ EDITS: 5
 	    (snd-display ";auto-pad 0: ~A" (float-vector-peak v0)))
 	(if (fneq (float-vector-peak v1) 0.0)
 	    (snd-display ";silence 0: ~A" (float-vector-peak v1))))
-      (close-sound index)
-      (delete-file "fmv.snd")
-      
-      (set! index (new-sound "fmv.snd" 2 22050 mus-ldouble mus-next "unequal lens"))
+      (close-sound index))
+    (delete-file "fmv.snd")
+    
+    (let ((index (new-sound "fmv.snd" 2 22050 mus-ldouble mus-next "unequal lens")))
       (pad-channel 0 1000 index 1)
       (if (not (and (= (framples index 0) 1)
 		    (= (framples index 1) 1001)))
@@ -5943,29 +5907,29 @@ EDITS: 5
 	(scale-to 1.0 ind 0)
 	(make-selection 1000 2000 ind 0)
 	(filter-selection-and-smooth .01 (float-vector .25 .5 .5 .5 .25))
-					;	  (if (fneq (sample 1500 ind 0) -0.0045776) (snd-display ";filter-selection-and-smooth: ~A" (sample 1500 ind 0)))
 	(revert-sound ind)
-	(close-sound ind))
-      
-      (set! index (new-sound "fmv.snd" 1 22050 mus-bshort mus-ircam "this is a comment"))
+	(close-sound ind)))
+    
+    (let ((index (new-sound "fmv.snd" 1 22050 mus-bshort mus-ircam "this is a comment")))
       (let ((v0 (make-float-vector 128)))
 	(set! (v0 64) .5)
 	(set! (v0 127) .5)
 	(float-vector->channel v0 0 128 index 0)
 	(make-selection 0 126) 
-	(smooth-selection) 
-	(set! v0 (channel->float-vector 0 128 index 0))
+	(smooth-selection)) 
+      
+      (let ((v0 (channel->float-vector 0 128 index 0)))
 	(if (or (fneq (sample 127) .5) (fneq (sample 120) .4962) (fneq (sample 32) 0.07431) (fneq (sample 64) 0.25308))
 	    (snd-display ";smooth-selection: ~A?" v0))
 	(revert-sound index)
 	(fill! v0 0.0)
 	(set! (v0 10) .5)
-	
 	(float-vector->channel v0)
 	(select-all) 
 	(let-temporarily ((*sinc-width* 40))
-	  (src-selection 0.5))
-	(set! v0 (channel->float-vector 0 128 index 0))
+	  (src-selection 0.5)))
+      
+      (let ((v0 (channel->float-vector 0 128 index 0)))
 	(if (or (fneq (sample 20) .5) (fneq (sample 30) 0.0) (fneq (sample 17) -.1057) )
 	    (snd-display ";src-selection: ~A?" v0))
 	(unselect-all)
@@ -5976,16 +5940,18 @@ EDITS: 5
 	(set! (v0 10) .5)
 	(float-vector->channel v0 0)
 	(select-all) 
-	(filter-selection '(0 0 .1 1 1 0) 40) 
-	(set! v0 (channel->float-vector 0 128 index 0)) 
+	(filter-selection '(0 0 .1 1 1 0) 40))
+      
+      (let ((v0 (channel->float-vector 0 128 index 0)))
 	(if (or (fneq (sample 29) .1945) (fneq (sample 39) -.0137) (fneq (sample 24) -0.01986))
 	    (snd-display ";filter-selection: ~A?" v0))
 	(revert-sound index)
 	(fill! v0 1.0)
 	(float-vector->channel v0 0 128 index 0) 
 	(select-all) 
-	(filter-selection (make-one-zero :a0 .5 :a1 0.0))
-	(set! v0 (channel->float-vector 0 128 index 0)) 
+	(filter-selection (make-one-zero :a0 .5 :a1 0.0)))
+      
+      (let ((v0 (channel->float-vector 0 128 index 0)))
 	(if (or (fneq (sample 29) .5) (fneq (sample 39) .5) (fneq (sample 24) 0.5))
 	    (snd-display ";filter-selection one-zero: ~A?" v0))
 	(revert-sound index)
@@ -5993,8 +5959,9 @@ EDITS: 5
 	(float-vector->channel v0 0 128 index 0) 
 	(if (file-exists? "fmv5.snd") (delete-file "fmv5.snd"))
 	(select-all) 
-	(env-selection '(0 0 1 1 2 0) 1.0) 
-	(set! v0 (channel->float-vector 0 128 index 0)) 
+	(env-selection '(0 0 1 1 2 0) 1.0))
+      
+      (let ((v0 (channel->float-vector 0 128 index 0)))
 	(if (or (fneq (sample 64) 1.0) (fneq (sample 20) .3125) (fneq (sample 119) 0.127))
 	    (snd-display ";env-selection [len: ~A]: ~A ~A ~A ~A?" (selection-framples) (sample 64) (sample 20) (sample 119) v0))
 	(save-selection "fmv5.snd" 22050 mus-bint mus-next "") ;1.0->-1.0 if short
@@ -6018,8 +5985,9 @@ EDITS: 5
 	(float-vector->channel v0 0 128 index 0) 
 	(select-all) 
 	(without-errors (reverse-selection)) 
-	(save-selection "fmv4.snd" 44100 mus-lfloat mus-riff "this is a comment")
-	(set! v0 (channel->float-vector 0 128 index 0)) 
+	(save-selection "fmv4.snd" 44100 mus-lfloat mus-riff "this is a comment"))
+      
+      (let ((v0 (channel->float-vector 0 128 index 0)))
 	(if (or (fneq (sample 27) 0.5) (fneq (sample 125) -.5))
 	    (snd-display ";reverse-selection: ~A?" v0))
 	(file->array "fmv4.snd" 0 0 128 v0) 
@@ -6062,10 +6030,12 @@ EDITS: 5
 	(select-all)
 	(if (mus-clipping) (set! (mus-clipping) #f))
 	(if *clipping* (set! *clipping* #f))
-	(convolve-selection-with "fmv5.snd" .5) 
-	(set! v0 (channel->float-vector 0 128 index 0))
+	(convolve-selection-with "fmv5.snd" .5))
+      
+      (let ((v0 (channel->float-vector 0 128 index 0)))
 	(if (fneq (sample 66) -.5) (snd-display ";convolve-selection-with: ~A ~A ~A?" (v0 66) (sample 66) v0))
 	(close-sound index))
+      
       (let ((obind (open-sound "oboe.snd")))
 	(when with-gui
 	  (let ((vol (maxamp obind))
@@ -6179,11 +6149,11 @@ EDITS: 5
 		    ((= i len))
 		  (let ((branch (tree i))
 			(true-branch (true-tree i)))
-		    (if (or (not (= (car branch) (car true-branch)))
-			    (not (= (cadr branch) (cadr true-branch)))
-			    (not (= (caddr branch) (caddr true-branch)))
-			    (not (= (cadddr branch) (cadddr true-branch)))
-			    (fneq (branch 4) (true-branch 4)))
+		    (if (not (and (= (car branch) (car true-branch))
+				  (= (cadr branch) (cadr true-branch))
+				  (= (caddr branch) (caddr true-branch))
+				  (= (cadddr branch) (cadddr true-branch))
+				  (<= (magnitude (- (branch 4) (true-branch 4))) .001)))
 			(snd-display ";edit trees disagree at ~D: ~A ~A" i branch true-branch)))))))
 	(insert-silence 1001 8)
 	(insert-silence 900 50)
@@ -6214,11 +6184,11 @@ EDITS: 5
 		    ((= i len))
 		  (let ((branch (tree i))
 			(true-branch (true-tree i)))
-		    (if (or (not (= (car branch) (car true-branch)))
-			    (not (= (cadr branch) (cadr true-branch)))
-			    (not (= (caddr branch) (caddr true-branch)))
-			    (not (= (cadddr branch) (cadddr true-branch)))
-			    (fneq (branch 4) (true-branch 4)))
+		    (if (not (and (= (car branch) (car true-branch))
+				  (= (cadr branch) (cadr true-branch))
+				  (= (caddr branch) (caddr true-branch))
+				  (= (cadddr branch) (cadddr true-branch))
+				  (<= (magnitude (- (branch 4) (true-branch 4))) .001)))
 			(snd-display ";silenced edit trees disagree at ~D: ~A ~A" i branch true-branch)))))))
 	(if (or (fneq (sample 998) -.03)
 		(fneq (sample 999) 0.0)
@@ -6284,8 +6254,8 @@ EDITS: 5
 	    (if (not (= (framples obind) (+ frs 1000)))
 		(snd-display ";insert-selection: ~A?" (framples obind)))
 	    (if (fneq (sample 2000) val)
-		(snd-display ";insert-selection val: ~A ~A" val (sample 2000)))
-	    (set! val (sample 900))
+		(snd-display ";insert-selection val: ~A ~A" val (sample 2000))))
+	  (let ((val (sample 900)))
 	    (mix-selection)
 	    (if (fneq (sample 900) (* 2 val))
 		(snd-display ";mix-selection val: ~A ~A" (* 2 val) (sample 900)))
@@ -6293,119 +6263,118 @@ EDITS: 5
 		(snd-display ";mix-selection len: ~A?" (framples obind)))))
 	(close-sound obind))
       
-      (let* ((ind (open-sound "2.snd"))
-	     (apply-to-sound 0)
-	     (apply-to-channel 1)
-	     (apply-to-selection 2)
-	     (len (framples ind)))
-	(set! (sync ind) 1)
-	(set! (speed-control ind) .5)
-	(apply-controls ind apply-to-sound) ; temp 1
-	(if (> (abs (- (framples) (* 2 len))) 256)
-	    (snd-display ";apply srate .5: ~A ~A" (framples) (* 2 len)))
-	(make-selection 0 (framples))
-	(set! (speed-control ind) .5)
-	(apply-controls ind apply-to-selection) ; temp 2
-	(if (> (abs (- (framples) (* 4 len))) 256)
-	    (snd-display ";apply srate .5 to selection: ~A ~A" (framples) (* 4 len)))
-	(env-sound '(0 0 1 1) 0 (framples) 32.0) ; temp 3
-	(let ((reg (select-all))) ; make multi-channel region
-	  (insert-region reg 0) ; temp 4
-	  (insert-selection 0))  ; temp 5
-	(revert-sound ind)
-	(set! (speed-control) .5)
-	(set! (sync ind) 0)
-	(set! (selected-channel ind) 1)
-	(apply-controls ind apply-to-channel)
-	(if (> (abs (- (framples ind 1) (* 2 len))) 256)
-	    (snd-display ";apply srate .5 to chan 1: ~A ~A" (framples ind 1) (* 2 len)))
-	(if (not (= (framples ind 0) len))
-	    (snd-display ";apply srate .5 but chan 0: ~A ~A" (framples ind 0) len))
-	(set! (speed-control ind) .5)
-	(apply-controls ind apply-to-sound 1000)
-	(make-selection 2000 4000)
-	(set! (speed-control ind) .5)
-	(apply-controls ind apply-to-selection)
-	(set! (selected-channel ind) #f)
-	(if (selected-channel ind) (snd-display ";selected-channel #f: ~A" (selected-channel ind)))
-	(close-sound ind))
-      
-      (let* ((ind1 (open-sound "oboe.snd"))
-	     (mx1 (maxamp ind1 0))
-	     (ind2 (open-sound "2.snd"))
-	     (mx20 (maxamp ind2 0))
-	     (mx21 (maxamp ind2 1)))
-	(select-sound ind1)
-	(scale-sound-by 2.0)
-	(let ((nmx (maxamp ind1 0)))
-	  (if (fneq (* 2 mx1) nmx) (snd-display ";scale-sound-by 2.0: ~A ~A?" mx1 nmx))
-	  (if (not (equal? (edit-fragment 1 ind1 0) '("scale-channel 2.000 0 #f" "scale" 0 50828)))
-	      (snd-display ";scale-sound-by: ~A?" (edit-fragment 1 ind1 0))))
-	(scale-sound-to 0.5)
-	(let ((nmx (maxamp ind1 0)))
-	  (if (fneq nmx 0.5) (snd-display ";scale-sound-to 0.5: ~A?" nmx))
-	  (if (not (equal? (edit-fragment 2 ind1 0) '("scale-channel 1.698 0 #f" "scale" 0 50828)))
-	      (snd-display ";scale-sound-to: ~A?" (edit-fragment 2 ind1 0))))
-	(scale-sound-by 0.0 0 1000 ind1 0)
-	(let ((nmx (maxamp ind1 0)))
-	  (if (fneq 0.5 nmx) (snd-display ";scale-sound-by 0.0: ~A ~A?" mx1 nmx))
-	  (if (not (equal? (edit-fragment 3 ind1 0) '("scale-channel 0.000 0 1000" "scale" 0 1000)))
-	      (snd-display ";scale-sound-by 0.0: ~A?" (edit-fragment 3 ind1 0))))
-	(let ((pk (float-vector-peak (channel->float-vector 0 1000 ind1 0))))
-	  (if (fneq pk 0.0) (snd-display ";scale-sound-by 0.0 [0:1000]: ~A?" pk)))
-	(revert-sound ind1)
-	(let ((oldv (channel->float-vector 12000 10 ind1 0)))
-	  (scale-sound-by 2.0 12000 10 ind1 0)
-	  (let ((newv (channel->float-vector 12000 10 ind1 0)))
-	    (do ((i 0 (+ i 1)))
-		((= i 10))
-	      (if (fneq (* 2.0 (oldv i)) (newv i))
-		  (snd-display ";scale ~D: ~A ~A?" i (oldv i) (newv i)))))
-	  (if (not (equal? (edit-fragment 1 ind1 0) '("scale-channel 2.000 12000 10" "scale" 12000 10)))
-	      (snd-display ";scale-sound-by 2.0 [12000:10]: ~A?" (edit-fragment 1 ind1 0))))
-	(revert-sound ind1)
-	(select-sound ind2)
-	(scale-sound-by 2.0)
-	(let ((nmx (maxamp ind2 0)))
-	  (if (fneq (* 2 mx20) nmx) (snd-display ";2:0 scale-sound-by 2.0: ~A ~A?" mx20 nmx)))
-	(let ((nmx (maxamp ind2 1)))
-	  (if (fneq (* 2 mx21) nmx) (snd-display ";2:1 scale-sound-by 2.0: ~A ~A?" mx21 nmx)))
-	(scale-sound-to 0.5)
-	(let ((nmx (max (maxamp ind2 0) (maxamp ind2 1))))
-	  (if (fneq nmx 0.5) (snd-display ";2 scale-sound-to 0.5: ~A (~A)?" nmx (maxamp ind2))))
-	(scale-sound-by 0.0 0 1000 ind2 1)
-	(if (not (equal? (edit-fragment 3 ind2 1) '("scale-channel 0.000 0 1000" "scale" 0 1000)))
-	    (snd-display ";2:1 scale-sound-by 0.0: ~A?" (edit-fragment 3 ind2 1)))
-	(let ((pk (float-vector-peak (channel->float-vector 0 1000 ind2 1))))
-	  (if (fneq pk 0.0) (snd-display ";2:1 scale-sound-by 0.0 [0:1000]: ~A?" pk)))
-	(revert-sound ind2)
-	(let ((oldv (channel->float-vector 12000 10 ind2 0)))
-	  (scale-sound-by 2.0 12000 10 ind2 0)
-	  (let ((newv (channel->float-vector 12000 10 ind2 0)))
-	    (do ((i 0 (+ i 1)))
-		((= i 10))
-	      (if (fneq (* 2.0 (oldv i)) (newv i))
-		  (snd-display ";2 scale ~D: ~A ~A?" i (oldv i) (newv i))))))
-	(revert-sound ind2)
-	(set! (sync ind2) 3)
-	(set! (sync ind1) 3)
-	(scale-sound-by 2.0)
-	(let ((nmx (maxamp ind1 0)))
-	  (if (fneq mx1 nmx) (snd-display ";sync scale-sound-by 2.0: ~A ~A?" mx1 nmx)))
-	(let ((nmx (maxamp ind2 0)))
-	  (if (fneq (* 2 mx20) nmx) (snd-display ";2:0 sync scale-sound-by 2.0: ~A ~A?" mx20 nmx)))
-	(let ((nmx (maxamp ind2 1)))
-	  (if (fneq (* 2 mx21) nmx) (snd-display ";2:1 sync scale-sound-by 2.0: ~A ~A?" mx21 nmx)))
-	(scale-sound-to 1.0 20000 40000 ind2 1)
-	(let ((nmx (maxamp ind1 0)))
-	  (if (fneq mx1 nmx) (snd-display ";sync scale-sound-to 1.0: ~A ~A?" mx1 nmx)))
-	(let ((nmx (maxamp ind2 0)))
-	  (if (fneq (* 2 mx20) nmx) (snd-display ";2:0 sync scale-sound-to 1.0: ~A ~A?" mx20 nmx)))
-	(let ((nmx (maxamp ind2 1)))
-	  (if (fneq nmx 1.0) (snd-display ";2:1 sync scale-sound-to 1.0: ~A?" nmx)))
+      (let ((ind (open-sound "2.snd")))
+	(let ((apply-to-sound 0)
+	      (apply-to-selection 2)
+	      (len (framples ind)))
+	  (set! (sync ind) 1)
+	  (set! (speed-control ind) .5)
+	  (apply-controls ind apply-to-sound) ; temp 1
+	  (if (> (abs (- (framples) (* 2 len))) 256)
+	      (snd-display ";apply srate .5: ~A ~A" (framples) (* 2 len)))
+	  (make-selection 0 (framples))
+	  (set! (speed-control ind) .5)
+	  (apply-controls ind apply-to-selection) ; temp 2
+	  (if (> (abs (- (framples) (* 4 len))) 256)
+	      (snd-display ";apply srate .5 to selection: ~A ~A" (framples) (* 4 len)))
+	  (env-sound '(0 0 1 1) 0 (framples) 32.0) ; temp 3
+	  (let ((reg (select-all))) ; make multi-channel region
+	    (insert-region reg 0) ; temp 4
+	    (insert-selection 0))  ; temp 5
+	  (revert-sound ind)
+	  (set! (speed-control) .5)
+	  (set! (sync ind) 0)
+	  (set! (selected-channel ind) 1)
+	  (apply-controls ind 1)  ; 1=apply-to-channel
+	  (if (> (abs (- (framples ind 1) (* 2 len))) 256)
+	      (snd-display ";apply srate .5 to chan 1: ~A ~A" (framples ind 1) (* 2 len)))
+	  (if (not (= (framples ind 0) len))
+	      (snd-display ";apply srate .5 but chan 0: ~A ~A" (framples ind 0) len))
+	  (set! (speed-control ind) .5)
+	  (apply-controls ind apply-to-sound 1000)
+	  (make-selection 2000 4000)
+	  (set! (speed-control ind) .5)
+	  (apply-controls ind apply-to-selection)
+	  (set! (selected-channel ind) #f)
+	  (if (selected-channel ind) (snd-display ";selected-channel #f: ~A" (selected-channel ind)))
+	  (close-sound ind))
 	
-	(close-sound ind1)
-	(close-sound ind2))
+	(let ((ind1 (open-sound "oboe.snd"))
+	      (ind2 (open-sound "2.snd")))
+	  (let ((mx1 (maxamp ind1 0))
+		(mx20 (maxamp ind2 0))
+		(mx21 (maxamp ind2 1)))
+	    (select-sound ind1)
+	    (scale-sound-by 2.0)
+	    (let ((nmx (maxamp ind1 0)))
+	      (if (fneq (* 2 mx1) nmx) (snd-display ";scale-sound-by 2.0: ~A ~A?" mx1 nmx))
+	      (if (not (equal? (edit-fragment 1 ind1 0) '("scale-channel 2.000 0 #f" "scale" 0 50828)))
+		  (snd-display ";scale-sound-by: ~A?" (edit-fragment 1 ind1 0))))
+	    (scale-sound-to 0.5)
+	    (let ((nmx (maxamp ind1 0)))
+	      (if (fneq nmx 0.5) (snd-display ";scale-sound-to 0.5: ~A?" nmx))
+	      (if (not (equal? (edit-fragment 2 ind1 0) '("scale-channel 1.698 0 #f" "scale" 0 50828)))
+		  (snd-display ";scale-sound-to: ~A?" (edit-fragment 2 ind1 0))))
+	    (scale-sound-by 0.0 0 1000 ind1 0)
+	    (let ((nmx (maxamp ind1 0)))
+	      (if (fneq 0.5 nmx) (snd-display ";scale-sound-by 0.0: ~A ~A?" mx1 nmx))
+	      (if (not (equal? (edit-fragment 3 ind1 0) '("scale-channel 0.000 0 1000" "scale" 0 1000)))
+		  (snd-display ";scale-sound-by 0.0: ~A?" (edit-fragment 3 ind1 0))))
+	    (let ((pk (float-vector-peak (channel->float-vector 0 1000 ind1 0))))
+	      (if (fneq pk 0.0) (snd-display ";scale-sound-by 0.0 [0:1000]: ~A?" pk)))
+	    (revert-sound ind1)
+	    (let ((oldv (channel->float-vector 12000 10 ind1 0)))
+	      (scale-sound-by 2.0 12000 10 ind1 0)
+	      (let ((newv (channel->float-vector 12000 10 ind1 0)))
+		(do ((i 0 (+ i 1)))
+		    ((= i 10))
+		  (if (fneq (* 2.0 (oldv i)) (newv i))
+		      (snd-display ";scale ~D: ~A ~A?" i (oldv i) (newv i)))))
+	      (if (not (equal? (edit-fragment 1 ind1 0) '("scale-channel 2.000 12000 10" "scale" 12000 10)))
+		  (snd-display ";scale-sound-by 2.0 [12000:10]: ~A?" (edit-fragment 1 ind1 0))))
+	    (revert-sound ind1)
+	    (select-sound ind2)
+	    (scale-sound-by 2.0)
+	    (let ((nmx (maxamp ind2 0)))
+	      (if (fneq (* 2 mx20) nmx) (snd-display ";2:0 scale-sound-by 2.0: ~A ~A?" mx20 nmx)))
+	    (let ((nmx (maxamp ind2 1)))
+	      (if (fneq (* 2 mx21) nmx) (snd-display ";2:1 scale-sound-by 2.0: ~A ~A?" mx21 nmx)))
+	    (scale-sound-to 0.5)
+	    (let ((nmx (max (maxamp ind2 0) (maxamp ind2 1))))
+	      (if (fneq nmx 0.5) (snd-display ";2 scale-sound-to 0.5: ~A (~A)?" nmx (maxamp ind2))))
+	    (scale-sound-by 0.0 0 1000 ind2 1)
+	    (if (not (equal? (edit-fragment 3 ind2 1) '("scale-channel 0.000 0 1000" "scale" 0 1000)))
+		(snd-display ";2:1 scale-sound-by 0.0: ~A?" (edit-fragment 3 ind2 1)))
+	    (let ((pk (float-vector-peak (channel->float-vector 0 1000 ind2 1))))
+	      (if (fneq pk 0.0) (snd-display ";2:1 scale-sound-by 0.0 [0:1000]: ~A?" pk)))
+	    (revert-sound ind2)
+	    (let ((oldv (channel->float-vector 12000 10 ind2 0)))
+	      (scale-sound-by 2.0 12000 10 ind2 0)
+	      (let ((newv (channel->float-vector 12000 10 ind2 0)))
+		(do ((i 0 (+ i 1)))
+		    ((= i 10))
+		  (if (fneq (* 2.0 (oldv i)) (newv i))
+		      (snd-display ";2 scale ~D: ~A ~A?" i (oldv i) (newv i))))))
+	    (revert-sound ind2)
+	    (set! (sync ind2) 3)
+	    (set! (sync ind1) 3)
+	    (scale-sound-by 2.0)
+	    (let ((nmx (maxamp ind1 0)))
+	      (if (fneq mx1 nmx) (snd-display ";sync scale-sound-by 2.0: ~A ~A?" mx1 nmx)))
+	    (let ((nmx (maxamp ind2 0)))
+	      (if (fneq (* 2 mx20) nmx) (snd-display ";2:0 sync scale-sound-by 2.0: ~A ~A?" mx20 nmx)))
+	    (let ((nmx (maxamp ind2 1)))
+	      (if (fneq (* 2 mx21) nmx) (snd-display ";2:1 sync scale-sound-by 2.0: ~A ~A?" mx21 nmx)))
+	    (scale-sound-to 1.0 20000 40000 ind2 1)
+	    (let ((nmx (maxamp ind1 0)))
+	      (if (fneq mx1 nmx) (snd-display ";sync scale-sound-to 1.0: ~A ~A?" mx1 nmx)))
+	    (let ((nmx (maxamp ind2 0)))
+	      (if (fneq (* 2 mx20) nmx) (snd-display ";2:0 sync scale-sound-to 1.0: ~A ~A?" mx20 nmx)))
+	    (let ((nmx (maxamp ind2 1)))
+	      (if (fneq nmx 1.0) (snd-display ";2:1 sync scale-sound-to 1.0: ~A?" nmx)))
+	    
+	    (close-sound ind1)
+	    (close-sound ind2))))
       
       (let ((ind (open-sound "now.snd")))
 	(set! (amp-control ind) .5)
@@ -6425,8 +6394,9 @@ EDITS: 5
 		    (fneq (car val) 1.0)
 		    (not (= (caddr val) 256)))
 		(snd-display ";transform-framples: ~A (~A)" val (transform-size ind 0)))))
-	(close-sound ind)
-	(set! ind (open-sound "4.aiff"))
+	(close-sound ind))
+      
+      (let ((ind (open-sound "4.aiff")))
 	(if (ffneq (amp-control ind) 1.0) (snd-display ";amp-control upon open (1.0): ~A?" (amp-control ind)))
 	(if (ffneq (amp-control ind 2) 1.0) (snd-display ";amp-control 2 upon open (1.0): ~A?" (amp-control ind 2)))
 	(set! (amp-control ind) .5)
@@ -6454,125 +6424,125 @@ EDITS: 5
 	    (snd-display ";set filter-control-envelope: ~A?" (filter-control-envelope ind)))
 	(set! (filter-control-order ind) 20)
 	(if (not (mus-arrays-equal? (filter-control-coeffs ind)
-			 (float-vector -0.007 0.010 -0.025 0.029 -0.050 0.055 -0.096 0.109 -0.268 0.241 
-				       0.241 -0.268 0.109 -0.096 0.055 -0.050 0.029 -0.025 0.010 -0.007)))
+				    (float-vector -0.007 0.010 -0.025 0.029 -0.050 0.055 -0.096 0.109 -0.268 0.241 
+						  0.241 -0.268 0.109 -0.096 0.055 -0.050 0.029 -0.025 0.010 -0.007)))
 	    (snd-display ";highpass coeffs: ~A" (filter-control-coeffs ind)))
 	(set! (filter-control-envelope ind) '(0 1 1 0))
 	(if (not (mus-arrays-equal? (filter-control-coeffs ind)
-			 (float-vector 0.003 0.002 0.004 0.002 0.007 0.003 0.014 0.012 0.059 0.394 
-				       0.394 0.059 0.012 0.014 0.003 0.007 0.002 0.004 0.002 0.003)))
+				    (float-vector 0.003 0.002 0.004 0.002 0.007 0.003 0.014 0.012 0.059 0.394 
+						  0.394 0.059 0.012 0.014 0.003 0.007 0.002 0.004 0.002 0.003)))
 	    (snd-display ";lowpass coeffs: ~A" (filter-control-coeffs ind)))
 	(close-sound ind))
       
-      (let* ((obind (open-sound "4.aiff"))
-	     (amps (maxamp obind #t))
-	     (times (maxamp-position obind #t)))
-	(if (not (equal? times '(810071 810071 810071 810071)))
-	    (snd-display ";4.aiff times: ~A" times))
-	(if (< (window-width) 600) 
-	    (set! (window-width) 600))
-	(if (< (window-height) 600)
-	    (set! (window-height) 600))
-	(set! (x-bounds obind 0) (list 0.0 0.1))
-	(set! (show-axes obind 0) show-x-axis)
-	(update-time-graph)
-	(set! (amp-control obind) 0.1)
-	(select-channel 2)
-	(if (eq? (without-errors (apply-controls obind 1)) 'no-such-sound) (snd-display ";apply-controls can't find 4.aiff?"))
-	(let ((newamps (maxamp obind #t)))
-	  (if (or (fneq (car amps) (car newamps))
-		  (fneq (cadr amps) (cadr newamps))
-		  (> (abs (- (* 0.1 (caddr amps)) (caddr newamps))) .05)
-		  (fneq (cadddr amps) (cadddr newamps)))
-	      (snd-display ";apply amps:~%  ~A ->~%  ~A?" amps newamps))
-	  (undo 1 obind 2)
+      (let ((obind (open-sound "4.aiff")))
+	(let ((amps (maxamp obind #t))
+	      (times (maxamp-position obind #t)))
+	  (if (not (equal? times '(810071 810071 810071 810071)))
+	      (snd-display ";4.aiff times: ~A" times))
+	  (set! (window-width) (max (window-width) 600))
+	  (set! (window-height) (max (window-height) 600))
+	  (set! (x-bounds obind 0) (list 0.0 0.1))
+	  (set! (show-axes obind 0) show-x-axis)
+	  (update-time-graph)
 	  (set! (amp-control obind) 0.1)
-	  (make-region 0 (framples obind) obind 1)
-	  (without-errors (apply-controls obind 2))
-	  (set! newamps (maxamp obind #t))
-	  (if (or (fneq (car amps) (car newamps))
-		  (> (abs (- (* 0.1 (cadr amps)) (cadr newamps))) .05)
-		  (fneq (caddr amps) (caddr newamps))
-		  (fneq (cadddr amps) (cadddr newamps)))
-	      (snd-display ";apply selection amp:~%  ~A ->~%  ~A?" amps newamps))
-	  (when with-gui
-	    (let* ((axinfo (axis-info obind 0 time-graph))
-		   (losamp (car axinfo))
-		   (hisamp (cadr axinfo))
-		   (x0 (axinfo 2))
-		   (y0 (axinfo 3))
-		   (x1 (axinfo 4))
-		   (y1 (axinfo 5))
-		   (xpos (+ x0 (* .5 (- x1 x0))))
-		   (ypos (+ y0 (* .75 (- y1 y0)))))
-	      (define (cp-x x) (floor (+ (axinfo 10) 
-					 (* (- x x0) (/ (- (axinfo 12) (axinfo 10)) 
-							(- x1 x0))))))
-	      (define (cp-y y) (floor (+ (axinfo 13) 
-					 (* (- y1 y) (/ (- (axinfo 11) (axinfo 13)) 
-							(- y1 y0))))))
-	      (select-channel 0)
-	      (set! (cursor obind) 100)
-	      (let ((xy (cursor-position obind)))
-		(if (fneq (position->x (car xy)) (/ (cursor obind) (srate obind)))
-		    (snd-display ";cursor-position: ~A ~A ~A?" (car xy) (position->x (car xy)) (/ (cursor obind) (srate obind)))))
-	      (if (fneq (position->x (x->position xpos)) xpos)
-		  (snd-display ";x<->position: ~A ~A?" (position->x (x->position xpos)) xpos))
-	      (if (> (abs (- (position->y (y->position ypos)) ypos)) .5)
-		  (snd-display ";y<->position: ~A ~A?" (position->y (y->position ypos)) ypos))
-	      (if (not (= losamp (left-sample obind 0)))
-		  (snd-display ";axis-info[0 losamp]: ~A ~A?" losamp (left-sample obind 0)))
-	      (if (not (= hisamp (right-sample obind 0)))
-		  (snd-display ";axis-info[1 hisamp]: ~A ~A?" hisamp (right-sample obind 0)))
-	      (if (fneq (axinfo 6) 0.0)
-		  (snd-display ";axis-info[6 xmin]: ~A?" (axinfo 6)))
-	      (if (fneq (axinfo 7) -1.0)
-		  (snd-display ";axis-info[7 ymin]: ~A?" (axinfo 7)))
-	      (if (fneq (axinfo 9) 1.0)
-		  (snd-display ";axis-info[9 ymax]: ~A?" (axinfo 9)))
-	      (if (> (abs (apply - (our-x->position obind x0))) 1) 
-		  (snd-display ";x0->position: ~A?" (our-x->position obind x0)))
-	      (if (> (abs (apply - (our-x->position obind x1))) 1) 
-		  (snd-display ";x1->position: ~A?" (our-x->position obind x1)))
-	      (if (> (abs (apply - (our-x->position obind (* 0.5 (+ x0 x1))))) 1)
-		  (snd-display ";xmid->position: ~A?" (our-x->position obind (* 0.5 (+ x0 x1)))))
-	      (unless full-test
-		(if (> (abs (- (x->position xpos) (cp-x xpos))) 1)
-		    (snd-display ";cp-x .5: ~A ~A?" (x->position xpos) (cp-x xpos)))
-		(if (> (abs (- (y->position ypos) (cp-y ypos))) 1)
-		    (snd-display ";cp-y .75: ~A ~A?" (y->position ypos) (cp-y ypos)))
-		(do ((xrange (- x1 x0))
-		     (yrange (- y1 y0))
-		     (i 0 (+ i 1)))
-		    ((= i 10))
-		  (let ((xpos (+ x0 (random xrange)))
-			(ypos (+ y0 (random yrange))))
-		    (if (> (abs (- (x->position xpos) (cp-x xpos))) 1)
-			(snd-display ";cp-x[~A] ~A: ~A ~A?" i xpos (x->position xpos) (cp-x xpos)))
-		    (if (> (abs (- (y->position ypos) (cp-y ypos))) 1)
-			(snd-display ";cp-y[~A] ~A: ~A ~A?" i ypos (y->position ypos) (cp-y ypos)))
-		    (if (fneq (position->x (cp-x xpos)) xpos)
-			(snd-display ";x->position cp-x ~A ~A" xpos (position->x (cp-x xpos))))
-		    (if (fffneq (position->y (cp-y ypos)) ypos)
-			(snd-display ";y->position cp-y ~A ~A" ypos (position->y (cp-y ypos)))))))
-	      (set! (left-sample obind 0) 1234)
-	      (if (not (= 1234 (car (axis-info obind 0))))
-		  (snd-display ";axis-info[0 losamp at 1234]: ~A ~A?" (car (axis-info obind 0)) (left-sample obind 0)))
-	      (set! axinfo (axis-info obind 0))
-	      (set! x0 (axinfo 2))
-	      (set! x1 (axinfo 4))
-	      (if (> (abs (apply - (our-x->position obind x0))) 1) 
-		  (snd-display ";x0a->position: ~A?" (our-x->position obind x0)))
-	      (if (> (abs (apply - (our-x->position obind x1))) 1) 
-		  (snd-display ";x1a->position: ~A?" (our-x->position obind x1)))
-	      (if (> (abs (apply - (our-x->position obind (* 0.5 (+ x0 x1))))) 1)
-		  (snd-display ";xmida->position: ~A?" (our-x->position obind (* 0.5 (+ x0 x1)))))
-	      (set! (y-bounds obind 0) (list -2.0 3.0))
-	      (if (fneq ((axis-info obind 0) 7) -2.0)
-		  (snd-display ";axis-info[7 ymin -2.0]: ~A?" ((axis-info obind 0) 7)))
-	      (if (fneq ((axis-info obind 0) 9) 3.0)
-		  (snd-display ";axis-info[9 ymax 3.0]: ~A?" ((axis-info obind 0) 9)))))
-	  (close-sound obind)))
+	  (select-channel 2)
+	  (if (eq? (without-errors (apply-controls obind 1)) 'no-such-sound) (snd-display ";apply-controls can't find 4.aiff?"))
+	  (let ((newamps (maxamp obind #t)))
+	    (if (or (fneq (car amps) (car newamps))
+		    (fneq (cadr amps) (cadr newamps))
+		    (> (abs (- (* 0.1 (caddr amps)) (caddr newamps))) .05)
+		    (fneq (cadddr amps) (cadddr newamps)))
+		(snd-display ";apply amps:~%  ~A ->~%  ~A?" amps newamps))
+	    (undo 1 obind 2)
+	    (set! (amp-control obind) 0.1)
+	    (make-region 0 (framples obind) obind 1)
+	    (without-errors (apply-controls obind 2))
+	    (set! newamps (maxamp obind #t))
+	    (if (or (fneq (car amps) (car newamps))
+		    (> (abs (- (* 0.1 (cadr amps)) (cadr newamps))) .05)
+		    (fneq (caddr amps) (caddr newamps))
+		    (fneq (cadddr amps) (cadddr newamps)))
+		(snd-display ";apply selection amp:~%  ~A ->~%  ~A?" amps newamps))
+	    (when with-gui
+	      (let ((axinfo (axis-info obind 0 time-graph)))
+		(let ((losamp (car axinfo))
+		      (hisamp (cadr axinfo))
+		      (x0 (axinfo 2))
+		      (y0 (axinfo 3))
+		      (x1 (axinfo 4))
+		      (y1 (axinfo 5)))
+		  (let ((xpos (+ x0 (* .5 (- x1 x0))))
+			(ypos (+ y0 (* .75 (- y1 y0)))))
+		    (define (cp-x x) (floor (+ (axinfo 10) 
+					       (* (- x x0) (/ (- (axinfo 12) (axinfo 10)) 
+							      (- x1 x0))))))
+		    (define (cp-y y) (floor (+ (axinfo 13) 
+					       (* (- y1 y) (/ (- (axinfo 11) (axinfo 13)) 
+							      (- y1 y0))))))
+		    (select-channel 0)
+		    (set! (cursor obind) 100)
+		    (let ((xy (cursor-position obind)))
+		      (if (fneq (position->x (car xy)) (/ (cursor obind) (srate obind)))
+			  (snd-display ";cursor-position: ~A ~A ~A?" (car xy) (position->x (car xy)) (/ (cursor obind) (srate obind)))))
+		    (if (fneq (position->x (x->position xpos)) xpos)
+			(snd-display ";x<->position: ~A ~A?" (position->x (x->position xpos)) xpos))
+		    (if (> (abs (- (position->y (y->position ypos)) ypos)) .5)
+			(snd-display ";y<->position: ~A ~A?" (position->y (y->position ypos)) ypos))
+		    (if (not (= losamp (left-sample obind 0)))
+			(snd-display ";axis-info[0 losamp]: ~A ~A?" losamp (left-sample obind 0)))
+		    (if (not (= hisamp (right-sample obind 0)))
+			(snd-display ";axis-info[1 hisamp]: ~A ~A?" hisamp (right-sample obind 0)))
+		    (if (fneq (axinfo 6) 0.0)
+			(snd-display ";axis-info[6 xmin]: ~A?" (axinfo 6)))
+		    (if (fneq (axinfo 7) -1.0)
+			(snd-display ";axis-info[7 ymin]: ~A?" (axinfo 7)))
+		    (if (fneq (axinfo 9) 1.0)
+			(snd-display ";axis-info[9 ymax]: ~A?" (axinfo 9)))
+		    (if (> (abs (apply - (our-x->position obind x0))) 1) 
+			(snd-display ";x0->position: ~A?" (our-x->position obind x0)))
+		    (if (> (abs (apply - (our-x->position obind x1))) 1) 
+			(snd-display ";x1->position: ~A?" (our-x->position obind x1)))
+		    (if (> (abs (apply - (our-x->position obind (* 0.5 (+ x0 x1))))) 1)
+			(snd-display ";xmid->position: ~A?" (our-x->position obind (* 0.5 (+ x0 x1)))))
+		    (unless full-test
+		      (if (> (abs (- (x->position xpos) (cp-x xpos))) 1)
+			  (snd-display ";cp-x .5: ~A ~A?" (x->position xpos) (cp-x xpos)))
+		      (if (> (abs (- (y->position ypos) (cp-y ypos))) 1)
+			  (snd-display ";cp-y .75: ~A ~A?" (y->position ypos) (cp-y ypos)))
+		      (do ((xrange (- x1 x0))
+			   (yrange (- y1 y0))
+			   (i 0 (+ i 1)))
+			  ((= i 10))
+			(let ((xpos (+ x0 (random xrange)))
+			      (ypos (+ y0 (random yrange))))
+			  (if (> (abs (- (x->position xpos) (cp-x xpos))) 1)
+			      (snd-display ";cp-x[~A] ~A: ~A ~A?" i xpos (x->position xpos) (cp-x xpos)))
+			  (if (> (abs (- (y->position ypos) (cp-y ypos))) 1)
+			      (snd-display ";cp-y[~A] ~A: ~A ~A?" i ypos (y->position ypos) (cp-y ypos)))
+			  (if (fneq (position->x (cp-x xpos)) xpos)
+			      (snd-display ";x->position cp-x ~A ~A" xpos (position->x (cp-x xpos))))
+			  (if (fffneq (position->y (cp-y ypos)) ypos)
+			      (snd-display ";y->position cp-y ~A ~A" ypos (position->y (cp-y ypos)))))))
+		    (set! (left-sample obind 0) 1234)
+		    (let ((axob (axis-info obind 0)))
+		      (if (not (= 1234 (car axob)))
+			  (snd-display ";axis-info[0 losamp at 1234]: ~A ~A?" (car axob) (left-sample obind 0)))
+		      (set! axinfo axob))
+		    (set! x0 (axinfo 2))
+		    (set! x1 (axinfo 4))
+		    (if (> (abs (apply - (our-x->position obind x0))) 1) 
+			(snd-display ";x0a->position: ~A?" (our-x->position obind x0)))
+		    (if (> (abs (apply - (our-x->position obind x1))) 1) 
+			(snd-display ";x1a->position: ~A?" (our-x->position obind x1)))
+		    (if (> (abs (apply - (our-x->position obind (* 0.5 (+ x0 x1))))) 1)
+			(snd-display ";xmida->position: ~A?" (our-x->position obind (* 0.5 (+ x0 x1)))))
+		    (set! (y-bounds obind 0) (list -2.0 3.0))
+		    (let ((axob (axis-info obind 0)))
+		      (if (fneq (axob 7) -2.0)
+			  (snd-display ";axis-info[7 ymin -2.0]: ~A?" (axob 7)))
+		      (if (fneq (axob 9) 3.0)
+			  (snd-display ";axis-info[9 ymax 3.0]: ~A?" (axob 9)))))))
+	      (close-sound obind)))))
       
       (let ((ind1 (open-sound "oboe.snd")))
 	(test-orig (lambda (snd) (src-sound 2.0 1.0 ind1)) (lambda (snd) (src-sound 0.5 1.0 ind1)) 'src-sound ind1)
@@ -6593,18 +6563,16 @@ EDITS: 5
 	(test-orig (lambda (snd) (map-channel (lambda (n) (* n 2.0)) 1234)) (lambda (snd) (map-channel (lambda (n) (* n 0.5)) 1234)) 'map-channel ind1)
 	(test-orig (lambda (snd) (map-channel (lambda (n) (* n 2.0)) 12005 10)) (lambda (snd) (map-channel (lambda (n) (* n 0.5)) 12005 10)) 'map-channel ind1)
 	(test-orig (lambda (snd) 
-		     (define m1
-		       (let ((vect (make-float-vector 2))) 
-			 (lambda (y) 
-			   (float-vector-set! vect 0 (float-vector-set! vect 1 (* y 2)))
-			   vect)))
-		     (map-channel m1))
+		     (map-channel 
+		      (let ((vect (make-float-vector 2))) 
+			(lambda (y) 
+			  (float-vector-set! vect 0 (float-vector-set! vect 1 (* y 2)))
+			  vect))))
 		   (lambda (snd) 
-		     (define m2
-		       (let ((outp #f))
-			 (lambda (y) 
-			   (and (set! outp (not outp)) (* y 0.5)))))
-		     (map-channel m2))
+		     (map-channel
+		      (let ((outp #f))
+			(lambda (y) 
+			  (and (set! outp (not outp)) (* y 0.5))))))
 		   'map-channel ind1)
 	(test-orig (lambda (snd) (map-channel (lambda (n) (* n 2.0)))) (lambda (snd) (map-channel (lambda (n) (* n 0.5)))) 'map-channel ind1)
 	(test-orig (lambda (snd) (pad-channel 1000 2000 ind1)) (lambda (snd) (delete-samples 1000 2000 ind1)) 'pad-channel ind1)
@@ -6667,13 +6635,11 @@ EDITS: 5
 	  (delete-file "fmv5.snd"))
 	
 	(revert-sound ind1)
-	(let ((old-val *selection-creates-region*)
-	      (old-regions (regions)))
-	  (set! *selection-creates-region* #f)
-	  (select-all ind1)
-	  (set! *selection-creates-region* old-val)
-	  (if (not (equal? old-regions (regions)))
-	      (snd-display ";selection-create-region: ~A -> ~A?" old-regions (regions))))
+	(let-temporarily ((*selection-creates-region* #f))
+	  (let ((old-regions (regions)))
+	    (select-all ind1)
+	    (if (not (equal? old-regions (regions)))
+		(snd-display ";selection-create-region: ~A -> ~A?" old-regions (regions)))))
 	(convolve-selection-with "pistol.snd" (maxamp))
 	(let ((data (channel->float-vector 12000 10 ind1 0)))
 	  (convolve-with "pistol.snd" (maxamp ind1 0 0) ind1 0 0)
@@ -6830,28 +6796,20 @@ EDITS: 5
       (let ((ind1 (open-sound "oboe.snd")))
 	(test-edpos maxamp 'maxamp (lambda () (scale-by 2.0 ind1 0)) ind1)
 	(test-edpos framples 'framples (lambda () (src-sound 2.0 1.0 ind1 0)) ind1)
-	(test-edpos 
-	 (lambda* ((snd 0) (chn 0) (edpos current-edit-position)) (count-matches (lambda (n1) (> n1 .1)) 0 snd chn edpos)) 
-	 'count-matches
-	 (lambda () (scale-by 2.0 ind1 0)) 
-	 ind1)
-	(test-edpos 
-	 (lambda* ((snd 0) (chn 0) (edpos current-edit-position)) (scan-channel (lambda (n2) (> n2 .1)) 0 #f snd chn edpos))
-	 'find
-	 (lambda () (delete-samples 0 100 ind1 0))
-	 ind1)
-	(test-edpos 
-	 (lambda* ((snd 0) (chn 0) (edpos current-edit-position)) 
-	   (let ((p (make-one-pole 1.0 -1.0)))
-	     (scan-channel (lambda (n3) 
-			     (or (> n3 .1) 
-				 (not (one-pole p 1.0))))
-			   0 (framples snd chn) snd chn edpos)
-	     (floor (one-pole p 0.0))))
-	 'scan-chan
-	 (lambda () (delete-samples 0 100 ind1 0))
-	 ind1)
-	
+	(let ((ef (lambda* ((snd 0) (chn 0) (edpos current-edit-position))
+		    (count-matches (lambda (n1) (> n1 .1)) 0 snd chn edpos))))
+	  (test-edpos ef 'count-matches (lambda () (scale-by 2.0 ind1 0)) ind1))
+	(let ((ef (lambda* ((snd 0) (chn 0) (edpos current-edit-position))
+		    (scan-channel (lambda (n2) (> n2 .1)) 0 #f snd chn edpos))))
+	  (test-edpos ef 'find (lambda () (delete-samples 0 100 ind1 0)) ind1))
+	(let ((ef (lambda* ((snd 0) (chn 0) (edpos current-edit-position)) 
+		    (let ((p (make-one-pole 1.0 -1.0)))
+		      (scan-channel (lambda (n3) 
+				      (or (> n3 .1) 
+					  (not (one-pole p 1.0))))
+				    0 (framples snd chn) snd chn edpos)
+		      (floor (one-pole p 0.0))))))
+	  (test-edpos ef 'scan-chan (lambda () (delete-samples 0 100 ind1 0)) ind1))
 	(src-sound 2.0 1.0 ind1 0)
 	(undo 1 ind1 0)
 	
@@ -6936,10 +6894,7 @@ EDITS: 5
 	
 	(close-sound ind))
       
-      (let* ((ind (open-sound "oboe.snd"))
-	     (mx (maxamp ind 0))
-	     (e0 (channel-amp-envs ind 0)))
-	
+      (let ((ind (open-sound "oboe.snd")))
 	(define (peak-env-equal? name index e diff)
 	  (let ((reader (make-sampler 0 index 0))
 		(e-size (length (car e))))
@@ -6971,21 +6926,22 @@ EDITS: 5
 				       (max mxdiff mndiff))
 			  (set! happy #f)))))))))
 	
-	(if (null? e0)
-	    (snd-display ";no amp env data")
-	    (let ()
+	(let ((mx (maxamp ind 0))
+	      (e0 (channel-amp-envs ind 0)))
+	  (if (null? e0)
+	      (snd-display ";no amp env data")
 	      (let ((mx1 (float-vector-peak (car e0)))
 		    (mx2 (float-vector-peak (cadr e0))))
 		(if (fneq mx (max mx1 mx2))
 		    (snd-display ";amp env max: ~A ~A ~A" mx mx1 mx2))
 		(peak-env-equal? "straight peak" ind e0 .0001)
 		(scale-by 3.0)
-		(let* ((e1 (channel-amp-envs ind 0 1))
-		       (mx3 (float-vector-peak (car e1)))
-		       (mx4 (float-vector-peak (cadr e1))))
-		  (if (or (fneq (* 3.0 mx1) mx3)
-			  (fneq (* 3.0 mx2) mx4))
-		      (snd-display ";3.0 amp env max: ~A ~A ~A ~A" mx1 mx2 mx3 mx4))
+		(let ((e1 (channel-amp-envs ind 0 1)))
+		  (let ((mx3 (float-vector-peak (car e1)))
+			(mx4 (float-vector-peak (cadr e1))))
+		    (if (or (fneq (* 3.0 mx1) mx3)
+			    (fneq (* 3.0 mx2) mx4))
+			(snd-display ";3.0 amp env max: ~A ~A ~A ~A" mx1 mx2 mx3 mx4)))
 		  (peak-env-equal? "scaled peak" ind e1 .0001))
 		(if (fneq (maxamp ind 0) (* 3 mx)) 
 		    (snd-display ";maxamp after scale: ~A ~A" mx (maxamp ind 0)))
@@ -6995,159 +6951,157 @@ EDITS: 5
 		(set! (selection-position ind 0) 20000)
 		(set! (selection-framples ind 0) 12000)
 		(scale-selection-by 3.0)
-		(let* ((e1 (channel-amp-envs ind 0 1))
-		       (mx3 (float-vector-peak (car e1)))
-		       (mx4 (float-vector-peak (cadr e1))))
-		  (if (or (fneq (* 3.0 mx1) mx3)
-			  (fneq (* 3.0 mx2) mx4))
-		      (snd-display ";selection 3.0 amp env max: ~A ~A ~A ~A" mx1 mx2 mx3 mx4))
-		  (if (fneq (maxamp ind 0) (* 3 mx)) 
-		      (snd-display ";maxamp after selection scale: ~A ~A" mx (maxamp ind 0)))
+		(let ((e1 (channel-amp-envs ind 0 1)))
+		  (let ((mx3 (float-vector-peak (car e1)))
+			(mx4 (float-vector-peak (cadr e1))))
+		    (if (or (fneq (* 3.0 mx1) mx3)
+			    (fneq (* 3.0 mx2) mx4))
+			(snd-display ";selection 3.0 amp env max: ~A ~A ~A ~A" mx1 mx2 mx3 mx4))
+		    (if (fneq (maxamp ind 0) (* 3 mx)) 
+			(snd-display ";maxamp after selection scale: ~A ~A" mx (maxamp ind 0))))
 		  (peak-env-equal? "selection peak" ind e1 .0001))
 		(map-channel abs)
-		(let* ((e1 (channel-amp-envs ind 0 2))
-		       (mx3 (float-vector-peak (car e1)))
-		       (mx4 (float-vector-peak (cadr e1))))
-		  (if (fneq (* 3.0 mx2) mx4)
-		      (snd-display ";abs selection 3.0 amp env max: ~A ~A ~A ~A" mx1 mx2 mx3 mx4))
-		  (if (fneq (maxamp ind 0) (* 3 mx)) 
-		      (snd-display ";maxamp after abs selection scale: ~A ~A" mx (maxamp ind 0)))
-		  (if (ffneq mx3 0.03)
-		      (snd-display ";abs max: ~A ~A" mx3 mx4))
+		(let ((e1 (channel-amp-envs ind 0 2)))
+		  (let ((mx3 (float-vector-peak (car e1)))
+			(mx4 (float-vector-peak (cadr e1))))
+		    (if (fneq (* 3.0 mx2) mx4)
+			(snd-display ";abs selection 3.0 amp env max: ~A ~A ~A ~A" mx1 mx2 mx3 mx4))
+		    (if (fneq (maxamp ind 0) (* 3 mx)) 
+			(snd-display ";maxamp after abs selection scale: ~A ~A" mx (maxamp ind 0)))
+		    (if (ffneq mx3 0.03)
+			(snd-display ";abs max: ~A ~A" mx3 mx4)))
 		  (peak-env-equal? "map-channel peak" ind e1 .0001))
 		(delete-samples 10000 5000)
-		(let* ((e1 (channel-amp-envs ind 0))
-		       (mx3 (float-vector-peak (car e1)))
-		       (mx4 (float-vector-peak (cadr e1))))
-		  (if (fneq (* 3.0 mx2) mx4)
-		      (snd-display ";abs selection 3.0 amp env max: ~A ~A ~A ~A" mx1 mx2 mx3 mx4))
-		  (if (fneq (maxamp ind 0) (* 3 mx)) 
-		      (snd-display ";maxamp after abs selection scale: ~A ~A" mx (maxamp ind 0)))
-		  (if (ffneq mx3 0.03)
-		      (snd-display ";abs max: ~A ~A" mx3 mx4))
+		(let ((e1 (channel-amp-envs ind 0)))
+		  (let ((mx3 (float-vector-peak (car e1)))
+			(mx4 (float-vector-peak (cadr e1))))
+		    (if (fneq (* 3.0 mx2) mx4)
+			(snd-display ";abs selection 3.0 amp env max: ~A ~A ~A ~A" mx1 mx2 mx3 mx4))
+		    (if (fneq (maxamp ind 0) (* 3 mx)) 
+			(snd-display ";maxamp after abs selection scale: ~A ~A" mx (maxamp ind 0)))
+		    (if (ffneq mx3 0.03)
+			(snd-display ";abs max: ~A ~A" mx3 mx4)))
 		  (peak-env-equal? "delete peak" ind e1 .0001))
 		(scale-selection-by -.333)
-		(let* ((e1 (channel-amp-envs ind 0 4))
-		       (mx3 (float-vector-peak (car e1))))
-		  (if (fneq (maxamp ind 0) mx)
-		      (snd-display ";maxamp after minus abs selection scale: ~A ~A" mx (maxamp ind 0)))
-		  (if (fneq (maxamp ind 0) mx3)
-		      (snd-display ";mx3 maxamp after minus abs selection scale: ~A ~A" mx mx3))
-		  (peak-env-equal? "scale-selection peak" ind e1 .0001)))
-	      
-	      (revert-sound ind)
-	      (ramp-channel 0.0 1.0)
-	      (peak-env-equal? "ramp-channel peak" ind (channel-amp-envs ind 0 1) .001)
-	      (undo)
-	      (env-channel '(0 0 1 1 2 0))
-	      (peak-env-equal? "env-channel peak" ind (channel-amp-envs ind 0 1) .002)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 0) :scaler 0.5 :length (framples)))
-	      (peak-env-equal? "scaled env-channel peak" ind (channel-amp-envs ind 0 1) .002)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 0) 0.5 :length (framples)))
-	      (peak-env-equal? "scaled nokey env-channel peak" ind (channel-amp-envs ind 0 1) .001)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 0) :scaler 0.5 :offset 0.5 :length (framples)))
-	      (peak-env-equal? "scaled and offset env-channel peak" ind (channel-amp-envs ind 0 1) .001)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 .5 3 0) :base 0.0 :length (framples)))
-	      (peak-env-equal? "env-channel base 0.0 peak" ind (channel-amp-envs ind 0 1) .001)
-	      (undo)
-	      (xramp-channel 0.0 1.0 32.0)
-	      (peak-env-equal? "xramp 32.0 peak" ind (channel-amp-envs ind 0 1) .008)
-	      (undo)
-	      (xramp-channel 0.0 1.0 .032)
-	      (peak-env-equal? "xramp .032 peak" ind (channel-amp-envs ind 0 1) .004)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 .5 3 0) :base 10.0 :length (framples)))
-	      (peak-env-equal? "env-channel base 10.0 peak" ind (channel-amp-envs ind 0 1) .003)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 0) :base .10 :length (framples)))
-	      (peak-env-equal? "env-channel base .1 peak" ind (channel-amp-envs ind 0 1) .003)
-	      (undo)
-	      (revert-sound ind)
-	      (ramp-channel 0.0 1.0)
-	      (ramp-channel 1.0 0.0)
-	      (peak-env-equal? "ramp2 peak" ind (channel-amp-envs ind 0 2) .002)
-	      
-	      (revert-sound ind)
-	      (env-channel '(0 0 1 1))
-	      (env-channel '(0 0 1 1 2 0))
-	      (peak-env-equal? "env ramp2 peak" ind (channel-amp-envs ind 0 2) .002)
-	      
-	      (revert-sound ind)
-	      (ramp-channel 0.0 1.0 12000 5000)
-	      (peak-env-equal? "ramp-channel peak" ind (channel-amp-envs ind 0 1) .002)
-	      (undo)
-	      (env-channel '(0 0 1 1 2 0) 12000 5000)
-	      (peak-env-equal? "env-channel peak" ind (channel-amp-envs ind 0 1) .003)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 0) :scaler 0.5 :length 5000) 12000 5000)
-	      (peak-env-equal? "scaled env-channel peak" ind (channel-amp-envs ind 0 1) .004)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 0) 0.5 :length 5000) 12000 5000)
-	      (peak-env-equal? "scaled nokey env-channel peak" ind (channel-amp-envs ind 0 1) .004)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 0) :scaler 0.5 :offset 0.5 :length 5000) 12000 5000)
-	      (peak-env-equal? "scaled and offset env-channel peak" ind (channel-amp-envs ind 0 1) .002)
-	      (undo)
-	      (xramp-channel 0.0 1.0 32.0 2000 1000)
-	      (peak-env-equal? "xramp 32.0 peak (1)" ind (channel-amp-envs ind 0 1) .009)
-	      (undo)
-	      (xramp-channel 0.0 1.0 .032 2000 1000)
-	      (peak-env-equal? "xramp .032 peak (1)" ind (channel-amp-envs ind 0 1) .009)
-	      (undo)
-	      (env-channel (make-env '(0 0 1 1 2 .5 3 0) :base 10.0 :length 5000) 12000 5000)
-	      (peak-env-equal? "env-channel base 10.0 peak" ind (channel-amp-envs ind 0 1) .1)
-	      ;; this can be way off because the envelope is not very closely sampled in this case
-	      (revert-sound ind)
-	      (ramp-channel 0.0 1.0)
-	      (ramp-channel 1.0 0.0 2000 1000)
-	      (peak-env-equal? "ramp2 peak" ind (channel-amp-envs ind 0 2) .002)
-	      
-	      (revert-sound ind)
-	      (env-channel '(0 0 1 1))
-	      (env-channel '(0 0 1 1 2 0) 2000 1000)
-	      (peak-env-equal? "env ramp2 peak" ind (channel-amp-envs ind 0 2) .002)
-	      
-	      (revert-sound ind)
-	      (env-channel '(0 0 1 1))
-	      (env-channel '(0 0 1 1 2 0))
-	      (env-channel '(0 0 1 1) 12000 5000)
-	      (peak-env-equal? "env ramp3 peak" ind (channel-amp-envs ind 0 3) .01)
-	      
-	      (revert-sound ind)
-	      
-	      ))
+		(let ((e1 (channel-amp-envs ind 0 4)))
+		  (let ((mx3 (float-vector-peak (car e1))))
+		    (if (fneq (maxamp ind 0) mx)
+			(snd-display ";maxamp after minus abs selection scale: ~A ~A" mx (maxamp ind 0)))
+		    (if (fneq (maxamp ind 0) mx3)
+			(snd-display ";mx3 maxamp after minus abs selection scale: ~A ~A" mx mx3)))
+		  (peak-env-equal? "scale-selection peak" ind e1 .0001)))))
+	
+	(revert-sound ind)
+	(ramp-channel 0.0 1.0)
+	(peak-env-equal? "ramp-channel peak" ind (channel-amp-envs ind 0 1) .001)
+	(undo)
+	(env-channel '(0 0 1 1 2 0))
+	(peak-env-equal? "env-channel peak" ind (channel-amp-envs ind 0 1) .002)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 0) :scaler 0.5 :length (framples)))
+	(peak-env-equal? "scaled env-channel peak" ind (channel-amp-envs ind 0 1) .002)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 0) 0.5 :length (framples)))
+	(peak-env-equal? "scaled nokey env-channel peak" ind (channel-amp-envs ind 0 1) .001)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 0) :scaler 0.5 :offset 0.5 :length (framples)))
+	(peak-env-equal? "scaled and offset env-channel peak" ind (channel-amp-envs ind 0 1) .001)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 .5 3 0) :base 0.0 :length (framples)))
+	(peak-env-equal? "env-channel base 0.0 peak" ind (channel-amp-envs ind 0 1) .001)
+	(undo)
+	(xramp-channel 0.0 1.0 32.0)
+	(peak-env-equal? "xramp 32.0 peak" ind (channel-amp-envs ind 0 1) .008)
+	(undo)
+	(xramp-channel 0.0 1.0 .032)
+	(peak-env-equal? "xramp .032 peak" ind (channel-amp-envs ind 0 1) .004)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 .5 3 0) :base 10.0 :length (framples)))
+	(peak-env-equal? "env-channel base 10.0 peak" ind (channel-amp-envs ind 0 1) .003)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 0) :base .10 :length (framples)))
+	(peak-env-equal? "env-channel base .1 peak" ind (channel-amp-envs ind 0 1) .003)
+	(undo)
+	(revert-sound ind)
+	(ramp-channel 0.0 1.0)
+	(ramp-channel 1.0 0.0)
+	(peak-env-equal? "ramp2 peak" ind (channel-amp-envs ind 0 2) .002)
+	
+	(revert-sound ind)
+	(env-channel '(0 0 1 1))
+	(env-channel '(0 0 1 1 2 0))
+	(peak-env-equal? "env ramp2 peak" ind (channel-amp-envs ind 0 2) .002)
+	
+	(revert-sound ind)
+	(ramp-channel 0.0 1.0 12000 5000)
+	(peak-env-equal? "ramp-channel peak" ind (channel-amp-envs ind 0 1) .002)
+	(undo)
+	(env-channel '(0 0 1 1 2 0) 12000 5000)
+	(peak-env-equal? "env-channel peak" ind (channel-amp-envs ind 0 1) .003)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 0) :scaler 0.5 :length 5000) 12000 5000)
+	(peak-env-equal? "scaled env-channel peak" ind (channel-amp-envs ind 0 1) .004)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 0) 0.5 :length 5000) 12000 5000)
+	(peak-env-equal? "scaled nokey env-channel peak" ind (channel-amp-envs ind 0 1) .004)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 0) :scaler 0.5 :offset 0.5 :length 5000) 12000 5000)
+	(peak-env-equal? "scaled and offset env-channel peak" ind (channel-amp-envs ind 0 1) .002)
+	(undo)
+	(xramp-channel 0.0 1.0 32.0 2000 1000)
+	(peak-env-equal? "xramp 32.0 peak (1)" ind (channel-amp-envs ind 0 1) .009)
+	(undo)
+	(xramp-channel 0.0 1.0 .032 2000 1000)
+	(peak-env-equal? "xramp .032 peak (1)" ind (channel-amp-envs ind 0 1) .009)
+	(undo)
+	(env-channel (make-env '(0 0 1 1 2 .5 3 0) :base 10.0 :length 5000) 12000 5000)
+	(peak-env-equal? "env-channel base 10.0 peak" ind (channel-amp-envs ind 0 1) .1)
+	;; this can be way off because the envelope is not very closely sampled in this case
+	(revert-sound ind)
+	(ramp-channel 0.0 1.0)
+	(ramp-channel 1.0 0.0 2000 1000)
+	(peak-env-equal? "ramp2 peak" ind (channel-amp-envs ind 0 2) .002)
+	
+	(revert-sound ind)
+	(env-channel '(0 0 1 1))
+	(env-channel '(0 0 1 1 2 0) 2000 1000)
+	(peak-env-equal? "env ramp2 peak" ind (channel-amp-envs ind 0 2) .002)
+	
+	(revert-sound ind)
+	(env-channel '(0 0 1 1))
+	(env-channel '(0 0 1 1 2 0))
+	(env-channel '(0 0 1 1) 12000 5000)
+	(peak-env-equal? "env ramp3 peak" ind (channel-amp-envs ind 0 3) .01)
+	
+	(revert-sound ind)
 	(close-sound ind))
       
       (let ((ind (new-sound "test.snd")))
 	(map-channel (lambda (y) 1.0) 0 50001)
 	(ramp-channel 0.5 1.0 1000 4000)
-	(let* ((peaks (channel-amp-envs ind 0))
-	       (mx (cadr peaks))
-	       (mn (car peaks)))
-	  (call-with-exit
-	   (lambda (break)
-	     (let ((ln (- (length mn) 4)))
-	       (do ((i 0 (+ i 1)))
-		   ((= i ln))
-		 (if (< (mn i) 0.5) (begin (snd-display ";peak min: ~A ~A" (mn i) i) (break #f)))
-		 (if (< (mx i) 0.5) (begin (snd-display ";peak max: ~A ~A" (mx i) i) (break #f))))))))
+	(let ((peaks (channel-amp-envs ind 0)))
+	  (let ((mx (cadr peaks))
+		(mn (car peaks)))
+	    (call-with-exit
+	     (lambda (break)
+	       (let ((ln (- (length mn) 4)))
+		 (do ((i 0 (+ i 1)))
+		     ((= i ln))
+		   (if (< (mn i) 0.5) (begin (snd-display ";peak min: ~A ~A" (mn i) i) (break #f)))
+		   (if (< (mx i) 0.5) (begin (snd-display ";peak max: ~A ~A" (mx i) i) (break #f)))))))))
 	(undo 2)
 	(map-channel (lambda (y) -1.0) 0 50001)
 	(ramp-channel 0.5 1.0 1000 4000)
-	(let* ((peaks (channel-amp-envs ind 0))
-	       (mx (cadr peaks))
-	       (mn (car peaks))
-	       (happy #t)
-	       (ln (- (length mn) 4)))
-	  (do ((i 0 (+ i 1)))
-	      ((or (not happy) 
-		   (= i ln)))
-	    (if (> (mn i) -0.5) (begin (snd-display ";1 peak min: ~A ~A" (mn i) i) (set! happy #f)))
-	    (if (> (mx i) -0.5) (begin (snd-display ";1 peak max: ~A ~A" (mx i) i) (set! happy #f)))))
+	(let ((peaks (channel-amp-envs ind 0)))
+	  (let ((mx (cadr peaks))
+		(mn (car peaks))
+		(happy #t))
+	    (do ((ln (- (length mn) 4))
+		 (i 0 (+ i 1)))
+		((or (not happy) 
+		     (= i ln)))
+	      (if (> (mn i) -0.5) (begin (snd-display ";1 peak min: ~A ~A" (mn i) i) (set! happy #f)))
+	      (if (> (mx i) -0.5) (begin (snd-display ";1 peak max: ~A ~A" (mx i) i) (set! happy #f))))))
 	(close-sound ind))
       
       (let ((index (new-sound "fmv.snd" 2 22050 mus-ldouble mus-next "channel tests")))
@@ -7342,11 +7296,10 @@ EDITS: 5
 			    (regions)))
 	      ;; (old-pos0 (edit-position index 0))
 	      ;; (old-pos1 (edit-position index 1))
-	      (old-reglen (map region-framples (regions)))
-	      (s61-files ()))
+	      (old-reglen (map region-framples (regions))))
 	  (hook-push save-state-hook
 		     (lambda (hook)
-		       (set! s61-files (cons (hook 'name) s61-files))))
+		       (if (not (string? (hook 'name))) (format *stderr* "save-state-hook name: ~S~%" (hook 'name)))))
 	  (if (file-exists? "s61.scm") (delete-file "s61.scm"))
 	  (save-state "s61.scm")
 	  (close-sound index)
@@ -7376,14 +7329,8 @@ EDITS: 5
 	  
 	  (close-sound index)
 	  (for-each forget-region (regions))
-	  (for-each
-	   (lambda (file)
-	     (if (file-exists? file) 
-		 (delete-file file)))
-	   s61-files)
 	  (delete-file "s61.scm")
-	  (set! (hook-functions save-state-hook) ())
-	  ))
+	  (set! (hook-functions save-state-hook) ())))
       
       (let ((index (new-sound "fmv.snd" 2 22050 mus-ldouble mus-next "channel tests"))
 	    (v (make-float-vector 10)))
@@ -7566,20 +7513,20 @@ EDITS: 5
 	    (snd-display ";delete-selection-and-smooth 234: ~A" (sample 234 ns 0)))
 	(if (fneq (sample 210 ns 0) 0.406) 
 	    (snd-display ";delete-selection-and-smooth 210: ~A" (sample 210 ns 0)))
-	(let* ((v1 (channel->float-vector))
-	       (maxdiff 0.0)
-	       (mindiff 10.0)
-	       (ls (v1 0)))
-	  (do ((i 1 (+ i 1)))
-	      ((= i 700))
-	    (let ((diff (- (v1 i) ls)))
-	      (set! ls (v1 i))
-	      (set! maxdiff (max maxdiff diff))
-	      (set! mindiff (min mindiff diff))))
-	  (if (< mindiff .0009)
-	      (snd-display ";delete-selection-and-smooth min diff: ~A" mindiff))
-	  (if (> maxdiff .007)
-	      (snd-display ";delete-selection-and-smooth max diff: ~A" maxdiff)))
+	(let ((v1 (channel->float-vector)))
+	  (let ((maxdiff 0.0)
+		(mindiff 10.0)
+		(ls (v1 0)))
+	    (do ((i 1 (+ i 1)))
+		((= i 700))
+	      (let ((diff (- (v1 i) ls)))
+		(set! ls (v1 i))
+		(set! maxdiff (max maxdiff diff))
+		(set! mindiff (min mindiff diff))))
+	    (if (< mindiff .0009)
+		(snd-display ";delete-selection-and-smooth min diff: ~A" mindiff))
+	    (if (> maxdiff .007)
+		(snd-display ";delete-selection-and-smooth max diff: ~A" maxdiff))))
 	(close-sound ns))
       
       (let ((ns (new-sound)))
@@ -7598,20 +7545,20 @@ EDITS: 5
 	    (snd-display ";delete-samples-and-smooth 234: ~A" (sample 234 ns 0)))
 	(if (fneq (sample 210 ns 0) 0.406) 
 	    (snd-display ";delete-samples-and-smooth 210: ~A" (sample 210 ns 0)))
-	(let* ((v1 (channel->float-vector))
-	       (maxdiff 0.0)
-	       (mindiff 10.0)
-	       (ls (v1 0)))
-	  (do ((i 1 (+ i 1)))
-	      ((= i 700))
-	    (let ((diff (- (v1 i) ls)))
-	      (set! ls (v1 i))
-	      (set! maxdiff (max maxdiff diff))
-	      (set! mindiff (min mindiff diff))))
-	  (if (< mindiff .0009)
-	      (snd-display ";delete-samples-and-smooth min diff: ~A" mindiff))
-	  (if (> maxdiff .007)
-	      (snd-display ";delete-samples-and-smooth max diff: ~A" maxdiff)))
+	(let ((v1 (channel->float-vector)))
+	  (let ((maxdiff 0.0)
+		(mindiff 10.0)
+		(ls (v1 0)))
+	    (do ((i 1 (+ i 1)))
+		((= i 700))
+	      (let ((diff (- (v1 i) ls)))
+		(set! ls (v1 i))
+		(set! maxdiff (max maxdiff diff))
+		(set! mindiff (min mindiff diff))))
+	    (if (< mindiff .0009)
+		(snd-display ";delete-samples-and-smooth min diff: ~A" mindiff))
+	    (if (> maxdiff .007)
+		(snd-display ";delete-samples-and-smooth max diff: ~A" maxdiff))))
 	(close-sound ns))
       
       (let ((old-hook (hook-functions initial-graph-hook)))
@@ -7655,7 +7602,7 @@ EDITS: 5
 		(if (not (equal? (list fr ls rs) '(220501 44100 66150)))
 		    (snd-display ";show-full-duration 4: ~A" (list fr ls rs)))	  
 		(close-sound ns))))
-	(set! (hook-functions initial-graph-hook) old-hook)))
+	  (set! (hook-functions initial-graph-hook) old-hook)))
       
       (set! *show-full-range* #t)
       (let ((ns (open-sound "1a.snd")))
@@ -7918,24 +7865,27 @@ EDITS: 5
       (let ((ind (new-sound "test.snd")))
 	(pad-channel 0 1000)
 	(set! (sample 100) 1.0)
+	
 	(let ((h (make-hilbert-transform 100)))
-	  (do ((i 0 (+ i 1))) ((= i 4)) (map-channel (lambda (y) (hilbert-transform h y))))
-	  ;; now ideally we'd be back to an impulse
-	  (if (> (abs (- (sample 500) .98)) .01)
-	      (snd-display ";hilbert impulse: ~A" (sample 500)))
-	  (set! (sample 500) 0.0)
-	  (if (> (maxamp ind 0) .02)
-	      (snd-display ";hilbert sidelobes: ~A" (maxamp ind 0)))
-	  (scale-channel 0.0)
-	  (set! (sample 100) 1.0)
-	  (set! h (make-hilbert-transform 101))
-	  (do ((i 0 (+ i 1))) ((= i 4)) (map-channel (lambda (y) (hilbert-transform h y))))
-	  (if (> (abs (- (sample 504) .98)) .01)
-	      (snd-display ";hilbert 101 impulse: ~A: ~A" (sample 504) (channel->float-vector 498 10)))
-	  (set! (sample 504) 0.0)
-	  (if (> (maxamp ind 0) .02)
-	      (snd-display ";hilbert 101 sidelobes: ~A" (maxamp ind 0)))
-	  (revert-sound))
+	  (do ((i 0 (+ i 1))) ((= i 4)) (map-channel (lambda (y) (hilbert-transform h y)))))
+	;; now ideally we'd be back to an impulse
+	(if (> (abs (- (sample 500) .98)) .01)
+	    (snd-display ";hilbert impulse: ~A" (sample 500)))
+	(set! (sample 500) 0.0)
+	(if (> (maxamp ind 0) .02)
+	    (snd-display ";hilbert sidelobes: ~A" (maxamp ind 0)))
+	(scale-channel 0.0)
+	(set! (sample 100) 1.0)
+	
+	(let ((h (make-hilbert-transform 101)))
+	  (do ((i 0 (+ i 1))) ((= i 4)) (map-channel (lambda (y) (hilbert-transform h y)))))
+	(if (> (abs (- (sample 504) .98)) .01)
+	    (snd-display ";hilbert 101 impulse: ~A: ~A" (sample 504) (channel->float-vector 498 10)))
+	(set! (sample 504) 0.0)
+	(if (> (maxamp ind 0) .02)
+	    (snd-display ";hilbert 101 sidelobes: ~A" (maxamp ind 0)))
+	(revert-sound)
+	
 	(pad-channel 0 1000)
 	(set! (sample 100) 1.0)
 	(let ((lo (make-lowpass (* .1 pi) 20))
@@ -8060,7 +8010,7 @@ EDITS: 5
 		       (env-sound '(0 0 1 1) 0 100 3.0)))
 	       ))
 	(close-sound ind))
-      ))
+      )) ; end of clm-test do loop I think
   
   (let ((ind (open-sound "oboe.snd")))
     ;; simple cases
@@ -8473,8 +8423,8 @@ EDITS: 2
     (sine-ramp 1.0 0.0)
     (if (not (mus-arrays-equal? (channel->float-vector) (float-vector 1.000 0.976 0.905 0.794 0.655 0.500 0.345 0.206 0.095 0.024)))
 	(snd-display ";sine-ramp 1 0: ~A" (channel->float-vector)))
-    (close-sound ind)
-    (set! ind (new-sound  "test.snd" 1 22050 mus-ldouble mus-next "sine-env tests" 100))
+    (close-sound ind))
+  (let ((ind (new-sound  "test.snd" 1 22050 mus-ldouble mus-next "sine-env tests" 100)))
     (map-channel (lambda (y) 1.0))
     (sine-env-channel '(0 0 1 1 2 -.5 3 1))
     (if (not (= (edit-position ind 0) 2)) (snd-display ";as-one-edit sine-env-channel: ~A" (edit-position ind 0)))
@@ -8526,121 +8476,119 @@ EDITS: 2
       (blackman4-env-channel '(0 0 1 1))
       (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";blackman4-env-channel/ramp: ~A ~A" vals new-vals))
-	(undo)
-	(blackman4-ramp 0.0 1.0 0 50)
-	(set! vals (channel->float-vector))
-	(undo)
-	(blackman4-env-channel '(0 0 1 1 2 1))
-	(set! new-vals (channel->float-vector))
+	    (snd-display ";blackman4-env-channel/ramp: ~A ~A" vals new-vals))))
+    (undo)
+    (blackman4-ramp 0.0 1.0 0 50)
+    (let ((vals (channel->float-vector)))
+      (undo)
+      (blackman4-env-channel '(0 0 1 1 2 1))
+      (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";blackman4-env-channel/ramp 1: ~A ~A" vals new-vals))
-	(undo)
-	(blackman4-env-channel '(0 0 1 1 2 -.5 3 0))
-	(if (not (mus-arrays-equal? (channel->float-vector 60 10) (float-vector -0.109 -0.217 -0.313 -0.392 -0.451 -0.488 -0.499 -0.499 -0.499 -0.499)))
-	    (snd-display ";blackman4 to -.5: ~A" (channel->float-vector 60 10)))
-	(undo)
-	
-	(ramp-squared 0.0 1.0)
-	(set! vals (channel->float-vector))
-	(undo)
-	(env-squared-channel '(0 0 1 1))
-	(set! new-vals (channel->float-vector))
+	    (snd-display ";blackman4-env-channel/ramp 1: ~A ~A" vals new-vals))))
+    (undo)
+    (blackman4-env-channel '(0 0 1 1 2 -.5 3 0))
+    (if (not (mus-arrays-equal? (channel->float-vector 60 10) (float-vector -0.109 -0.217 -0.313 -0.392 -0.451 -0.488 -0.499 -0.499 -0.499 -0.499)))
+	(snd-display ";blackman4 to -.5: ~A" (channel->float-vector 60 10)))
+    (undo)
+      
+    (ramp-squared 0.0 1.0)
+    (let ((vals (channel->float-vector)))
+      (undo)
+      (env-squared-channel '(0 0 1 1))
+      (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";env-squared/ramp: ~A ~A" vals new-vals))
-	(undo)
-	(ramp-squared 0.0 1.0 #t 0 50)
-	(set! vals (channel->float-vector))
-	(undo)
-	(env-squared-channel '(0 0 1 1 2 1))
-	(set! new-vals (channel->float-vector))
+	    (snd-display ";env-squared/ramp: ~A ~A" vals new-vals))))
+    (undo)
+    (ramp-squared 0.0 1.0 #t 0 50)
+    (let ((vals (channel->float-vector)))
+      (undo)
+      (env-squared-channel '(0 0 1 1 2 1))
+      (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";env-squared/ramp 1: ~A ~A" vals new-vals))
-	(undo)
-	(env-squared-channel '(0 0 1 1 2 -.5 3 0))
-	(if (not (mus-arrays-equal? (channel->float-vector 60 10) (float-vector -0.450 -0.466 -0.478 -0.488 -0.494 -0.499 -0.500 -0.500 -0.498 -0.496)))
-	    (snd-display ";env-squared to -.5: ~A" (channel->float-vector 60 10)))
-	(undo)
-	(env-squared-channel '(0 0 1 1 2 -.5 3 0) #f)
-	(if (not (mus-arrays-equal? (channel->float-vector 60 10) (float-vector -0.004 -0.080 -0.158 -0.240 -0.324 -0.410 -0.500 -0.500 -0.498 -0.496)))
-	    (snd-display ";env-squared unsymmetric to -.5: ~A" (channel->float-vector 60 10)))
-	(undo)
-	
-	(ramp-squared 0.0 1.0)
-	(set! vals (channel->float-vector))
-	(undo)
-	(env-expt-channel '(0 0 1 1) 2)
-	(set! new-vals (channel->float-vector))
+	    (snd-display ";env-squared/ramp 1: ~A ~A" vals new-vals))))
+    (undo)
+    (env-squared-channel '(0 0 1 1 2 -.5 3 0))
+    (if (not (mus-arrays-equal? (channel->float-vector 60 10) (float-vector -0.450 -0.466 -0.478 -0.488 -0.494 -0.499 -0.500 -0.500 -0.498 -0.496)))
+	(snd-display ";env-squared to -.5: ~A" (channel->float-vector 60 10)))
+    (undo)
+    (env-squared-channel '(0 0 1 1 2 -.5 3 0) #f)
+    (if (not (mus-arrays-equal? (channel->float-vector 60 10) (float-vector -0.004 -0.080 -0.158 -0.240 -0.324 -0.410 -0.500 -0.500 -0.498 -0.496)))
+	(snd-display ";env-squared unsymmetric to -.5: ~A" (channel->float-vector 60 10)))
+    (undo)
+      
+    (ramp-squared 0.0 1.0)
+    (let ((vals (channel->float-vector)))
+      (undo)
+      (env-expt-channel '(0 0 1 1) 2)
+      (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";env-expt2/ramp: ~A ~A" vals new-vals))
-	(undo)
-	(env-squared-channel '(0 0 1 1 2 -.5 3 0))
-	(set! vals (channel->float-vector))
-	(undo)
-	(env-expt-channel '(0 0 1 1 2 -.5 3 0) 2.0)
-	(set! new-vals (channel->float-vector))
+	    (snd-display ";env-expt2/ramp: ~A ~A" vals new-vals))))
+    (undo)
+    (env-squared-channel '(0 0 1 1 2 -.5 3 0))
+    (let ((vals (channel->float-vector)))
+      (undo)
+      (env-expt-channel '(0 0 1 1 2 -.5 3 0) 2.0)
+      (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";env-expt2/env-squared: ~A ~A" vals new-vals))
-	(undo)
-	(env-squared-channel '(0 0 1 1 2 -.5 3 0) #f)
-	(set! vals (channel->float-vector))
-	(undo)
-	(env-expt-channel '(0 0 1 1 2 -.5 3 0) 2.0 #f)
-	(set! new-vals (channel->float-vector))
+	    (snd-display ";env-expt2/env-squared: ~A ~A" vals new-vals))))
+    (undo)
+    (env-squared-channel '(0 0 1 1 2 -.5 3 0) #f)
+    (let ((vals (channel->float-vector)))
+      (undo)
+      (env-expt-channel '(0 0 1 1 2 -.5 3 0) 2.0 #f)
+      (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";env-expt2/env-squared unsymmetric: ~A ~A" vals new-vals))
-	(undo)
-	
-	(ramp-expt 0.0 1.0 32.0)
-	(set! vals (channel->float-vector))
-	(undo)
-	(env-expt-channel '(0 0 1 1) 32.0)
-	(set! new-vals (channel->float-vector))
+	    (snd-display ";env-expt2/env-squared unsymmetric: ~A ~A" vals new-vals))))
+    (undo)
+      
+    (ramp-expt 0.0 1.0 32.0)
+    (let ((vals (channel->float-vector)))
+      (undo)
+      (env-expt-channel '(0 0 1 1) 32.0)
+      (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";env-expt/ramp 32: ~A ~A" vals new-vals))
-	(undo)
-	(ramp-expt 0.0 1.0 32.0 #f 0 50)
-	(set! vals (channel->float-vector))
-	(undo)
-	(env-expt-channel '(0 0 1 1 2 1) 32.0)
-	(set! new-vals (channel->float-vector))
+	    (snd-display ";env-expt/ramp 32: ~A ~A" vals new-vals))))
+    (undo)
+    (ramp-expt 0.0 1.0 32.0 #f 0 50)
+    (let ((vals (channel->float-vector)))
+      (undo)
+      (env-expt-channel '(0 0 1 1 2 1) 32.0)
+      (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";env-expt/ramp 1 32: ~A ~A" vals new-vals))
-	(undo)
-	(ramp-expt 0.0 1.0 .1)
-	(set! vals (channel->float-vector))
-	(undo)
-	(env-expt-channel '(0 0 1 1) .1)
-	(set! new-vals (channel->float-vector))
+	    (snd-display ";env-expt/ramp 1 32: ~A ~A" vals new-vals))))
+    (undo)
+    (ramp-expt 0.0 1.0 .1)
+    (let ((vals (channel->float-vector)))
+      (undo)
+      (env-expt-channel '(0 0 1 1) .1)
+      (let ((new-vals (channel->float-vector)))
 	(if (not (mus-arrays-equal? vals new-vals))
-	    (snd-display ";env-expt/ramp .1: ~A ~A" vals new-vals))
-	(undo)
-	
-	(env-expt-channel '(0 0 1 1 2 -.5 3 0) 12.0)
-	(if (not (mus-arrays-equal? (channel->float-vector 30 10) (float-vector 0.319 0.472 0.691 1.000 0.537 0.208 -0.022 -0.182 -0.291 -0.365)))
-	    (snd-display ";env-expt to -.5 12.0: ~A" (channel->float-vector 30 10)))
-	(undo)
-	(env-expt-channel '(0 0 1 1 2 -.5 3 0) 12.0 #f)
-	(if (not (mus-arrays-equal? (channel->float-vector 30 10) (float-vector 0.319 0.472 0.691 1.000 1.000 1.000 1.000 1.000 1.000 1.000)))
-	    (snd-display ";env-expt to -.5 12.0 unsymmetric: ~A" (channel->float-vector 30 10)))
-	(undo)
-	(close-sound ind))))
+	    (snd-display ";env-expt/ramp .1: ~A ~A" vals new-vals))))
+    (undo)
+      
+    (env-expt-channel '(0 0 1 1 2 -.5 3 0) 12.0)
+    (if (not (mus-arrays-equal? (channel->float-vector 30 10) (float-vector 0.319 0.472 0.691 1.000 0.537 0.208 -0.022 -0.182 -0.291 -0.365)))
+	(snd-display ";env-expt to -.5 12.0: ~A" (channel->float-vector 30 10)))
+    (undo)
+    (env-expt-channel '(0 0 1 1 2 -.5 3 0) 12.0 #f)
+    (if (not (mus-arrays-equal? (channel->float-vector 30 10) (float-vector 0.319 0.472 0.691 1.000 1.000 1.000 1.000 1.000 1.000 1.000)))
+	(snd-display ";env-expt to -.5 12.0 unsymmetric: ~A" (channel->float-vector 30 10)))
+    (undo)
+    (close-sound ind))
   
   (let ((ind (new-sound  "test.snd" 1 22050 mus-ldouble mus-next "third ramp re-order tests" 101)))
     (offset-channel 1.0)
     (env-sound '(0 0 1 1))
     (contrast-channel 1.0)
-    (let ((reader (make-sampler 0))
-	  (happy #t))
+    (let ((reader (make-sampler 0)))
       (do ((i 0 (+ i 1))
 	   (val 0.0 (+ val .01)))
-	  ((or (not happy) (= i 100)))
-	(let ((y (reader))
-	      (ny (sin (+ (* val 0.5 pi) (* 1.0 (sin (* val 2.0 pi)))))))
-	  (if (fneq y ny)
-	      (begin
-		(snd-display ";contrast-channel: ~A ~A ~A" val y ny)
-		(set! happy #f))))))
+	  ((or (= i 100)
+	       (let ((y (reader))
+		     (ny (sin (+ (* val 0.5 pi) (* 1.0 (sin (* val 2.0 pi)))))))
+		 (and (fneq y ny)
+		      (or (snd-display ";contrast-channel: ~A ~A ~A" val y ny)
+			  #t)))))))
     (close-sound ind))
   
   (let ((ind0 (open-sound "oboe.snd"))
@@ -8784,43 +8732,42 @@ EDITS: 2
 	      (sel-chns (channels (selection))))
 	  (if (not (= sel-chns 2)) (snd-display ";make-selection stereo syncd chans: ~A" sel-chns))
 	  (if (not (= sel-len 1001)) (snd-display ";make-selection stereo length: ~A" sel-len))
-	  (let* ((mx-list (selection->mix))
-		 (mx0 (car mx-list))
-		 (mx1 (cadr mx-list)))
-	    (if (not (and (mix? mx0)
-			  (mix? mx1)))
-		(snd-display ";selection->mix stereo: ~A ~A" mx0 mx1)
-		(let ((mx0-rd (make-mix-sampler mx0 0))
-		      (mx1-rd (make-mix-sampler mx1 0))
-		      (snd0-rd (make-sampler 2000 snd 0))
-		      (snd1-rd (make-sampler 2000 snd 1))
-		      (orig0-rd (make-sampler 2000 snd 0 1 0))
-		      (orig1-rd (make-sampler 2000 snd 1 1 0)))
-		  (let ((happy #t))
-		    (do ((i 0 (+ i 1)))
-			((or (not happy) 
-			     (= i 1000)))
-		      (let ((mx0-val (mx0-rd))
-			    (mx1-val (mx1-rd))
-			    (snd0-val (snd0-rd))
-			    (snd1-val (snd1-rd))
-			    (orig0-val (orig0-rd))
-			    (orig1-val (orig1-rd)))
-			(if (or (fneq mx0-val snd0-val)
-				(fneq snd0-val orig0-val))
-			    (begin
-			      (set! happy #f)
-			      (snd-display ";selection->mix stereo 0 at ~A: ~A ~A ~A" (+ i 2000) mx0-val snd0-val orig0-val)))
-			(if (or (fneq mx1-val snd1-val)
-				(fneq snd1-val orig1-val))
-			    (begin
-			      (set! happy #f)
-			      (snd-display ";selection->mix stereo 1 at ~A: ~A ~A ~A" (+ i 2000) mx1-val snd1-val orig1-val))))))))
-	    
-	    (if (not (= (length mx0) (length mx1) sel-len 1001))
-		(snd-display ";selection->mix stereo mix length: ~A ~A (~A)" (length mx0) (length mx1) sel-len))
-	    (if (fneq (max (maxamp mx0) (maxamp mx1)) sel-max) 
-		(snd-display ";selection->mix stereo maxamps: ~A ~A ~A" (maxamp mx0) (maxamp mx1) sel-max)))))
+	  (let ((mx-list (selection->mix)))
+	    (let ((mx0 (car mx-list))
+		  (mx1 (cadr mx-list)))
+	      (if (not (and (mix? mx0)
+			    (mix? mx1)))
+		  (snd-display ";selection->mix stereo: ~A ~A" mx0 mx1)
+		  (let ((mx0-rd (make-mix-sampler mx0 0))
+			(mx1-rd (make-mix-sampler mx1 0))
+			(snd0-rd (make-sampler 2000 snd 0))
+			(snd1-rd (make-sampler 2000 snd 1))
+			(orig0-rd (make-sampler 2000 snd 0 1 0))
+			(orig1-rd (make-sampler 2000 snd 1 1 0)))
+		    (let ((happy #t))
+		      (do ((i 0 (+ i 1)))
+			  ((or (not happy) 
+			       (= i 1000)))
+			(let ((mx0-val (mx0-rd))
+			      (mx1-val (mx1-rd))
+			      (snd0-val (snd0-rd))
+			      (snd1-val (snd1-rd))
+			      (orig0-val (orig0-rd))
+			      (orig1-val (orig1-rd)))
+			  (if (or (fneq mx0-val snd0-val)
+				  (fneq snd0-val orig0-val))
+			      (begin
+				(set! happy #f)
+				(snd-display ";selection->mix stereo 0 at ~A: ~A ~A ~A" (+ i 2000) mx0-val snd0-val orig0-val)))
+			  (if (or (fneq mx1-val snd1-val)
+				  (fneq snd1-val orig1-val))
+			      (begin
+				(set! happy #f)
+				(snd-display ";selection->mix stereo 1 at ~A: ~A ~A ~A" (+ i 2000) mx1-val snd1-val orig1-val))))))))
+	      (if (not (= (length mx0) (length mx1) sel-len 1001))
+		  (snd-display ";selection->mix stereo mix length: ~A ~A (~A)" (length mx0) (length mx1) sel-len))
+	      (if (fneq (max (maxamp mx0) (maxamp mx1)) sel-max) 
+		  (snd-display ";selection->mix stereo maxamps: ~A ~A ~A" (maxamp mx0) (maxamp mx1) sel-max))))))
     (for-each close-sound (sounds)))
   
   (let ((ind (new-sound :size 10)))
@@ -9066,8 +9013,6 @@ EDITS: 2
 	    (snd-display ";float-vector in format {}: ~S" (format #f "~{~A~^-~}" v)))
 	(if (not (= (length v) 3))
 	    (snd-display ";float-vector s7 len: ~A" (length v)))
-	(if (not (equal? v (copy v)))
-	    (snd-display ";float-vector s7 copy is not equal? ~A ~A" v (copy v)))
 	(let ((val (map floor v)))
 	  (if (not (equal? val '(1 2 3)))
 	      (snd-display ";float-vector s7 map: ~A" val)))
@@ -9241,227 +9186,219 @@ EDITS: 2
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r (if (< x 3/4)
-			     (* 7/8 x)
-			     (- (* 11/8 x) 3/8)))
-		      (g (if (< x 3/8)
-			     (* 7/8 x)
-			     (if (< x 3/4)
-				 (- (* 29/24 x) 1/8)
-				 (+ (* 7/8 x) 1/8))))
-		      (b (if (< x 3/8)
-			     (* 29/24 x)
-			     (+ (* 7/8 x) 1/8)))
 		      (rgb (colormap-ref bone-colormap x))
-		      (rgb1 (bone-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2))
-		      (r2 (rgb1 0))
-		      (g2 (rgb1 1))
-		      (b2 (rgb1 2)))
-		 (if (and (< x inv) 
-			  (or (cfneq r r1) 
-			      (cfneq g g1) 
-			      (cfneq b b1)
-			      (cfneq r2 r1) 
-			      (cfneq g2 g1) 
-			      (cfneq b2 b1)))
-		     (snd-display ";bone ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb1 (bone-colormap x)))
+		 (let ((r (if (< x 3/4)
+			      (* 7/8 x)
+			      (- (* 11/8 x) 3/8)))
+		       (g (if (< x 3/8)
+			      (* 7/8 x)
+			      (if (< x 3/4)
+				  (- (* 29/24 x) 1/8)
+				  (+ (* 7/8 x) 1/8))))
+		       (b (if (< x 3/8)
+			      (* 29/24 x)
+			      (+ (* 7/8 x) 1/8)))
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2))
+		       (r2 (rgb1 0))
+		       (g2 (rgb1 1))
+		       (b2 (rgb1 2)))
+		   (if (and (< x inv) 
+			    (or (cfneq r r1) 
+				(cfneq g g1) 
+				(cfneq b b1)
+				(cfneq r2 r1) 
+				(cfneq g2 g1) 
+				(cfneq b2 b1)))
+		       (snd-display ";bone ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r (if (< x 4/5)
-			     (* 5/4 x)
-			     1.0))
-		      (g (* 4/5 x))
-		      (b (* 1/2 x))
-		      (rgb (colormap-ref copper-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";copper ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref copper-colormap x)))
+		 (let ((r (if (< x 4/5)
+			      (* 5/4 x)
+			      1.0))
+		       (g (* 4/5 x))
+		       (b (* 1/2 x))
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
+		       (snd-display ";copper ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r 0.0)
-		      (g x)
-		      (b (- 1.0 (/ g 2.0)))
-		      (rgb (colormap-ref winter-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";winter ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref winter-colormap x)))
+		 (let ((r 0.0)
+		       (b (- 1.0 (/ x 2.0)))
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq r r1) (cfneq x g1) (cfneq b b1)))
+		       (snd-display ";winter ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- r r1)) (abs (- x g1)) (abs (- b b1))) (list r x b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r 1.0)
-		      (g x)
-		      (b 0.0)
-		      (rgb (colormap-ref autumn-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";autumn ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref autumn-colormap x)))
+		 (let ((r 1.0)
+		       (b 0.0)
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq r r1) (cfneq x g1) (cfneq b b1)))
+		       (snd-display ";autumn ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- r r1)) (abs (- x g1)) (abs (- b b1))) (list r x b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r x)
-		      (g (- 1.0 r))
-		      (b 1.0)	     
-		      (rgb (colormap-ref cool-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";cool ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref cool-colormap x)))
+		 (let ((g (- 1.0 x))
+		       (b 1.0)	     
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq x r1) (cfneq g g1) (cfneq b b1)))
+		       (snd-display ";cool ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- x r1)) (abs (- g g1)) (abs (- b b1))) (list x g b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r (if (< x 3/8)
-			     (* 8/3 x)
-			     1.0))
-		      (g (if (< x 3/8)
-			     0.0
-			     (if (< x 3/4)
-				 (- (* 8/3 x) 1.0)
-				 1.0)))
-		      (b (if (< x 3/4)
-			     0.0
-			     (- (* 4 x) 3)))
-		      (rgb (colormap-ref hot-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";hot ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref hot-colormap x)))
+		 (let ((r (if (< x 3/8)
+			      (* 8/3 x)
+			      1.0))
+		       (g (if (< x 3/8)
+			      0.0
+			      (if (< x 3/4)
+				  (- (* 8/3 x) 1.0)
+				  1.0)))
+		       (b (if (< x 3/4)
+			      0.0
+			      (- (* 4 x) 3)))
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
+		       (snd-display ";hot ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r (cond ((< x 3/8) 0.0)
-			       ((< x 5/8) (- (* 4 x) 3/2))
-			       ((< x 7/8) 1.0)
-			       (else      (+ (* -4 x) 9/2))))
-		      (g (cond ((< x 1/8) 0.0)
-			       ((< x 3/8) (- (* 4 x) 1/2))
-			       ((< x 5/8) 1.0)
-			       ((< x 7/8) (+ (* -4 x) 7/2))
-			       (else      0.0)))
-		      (b (cond ((< x 1/8) (+ (* 4 x) 1/2))
-			       ((< x 3/8) 1.0)
-			       ((< x 5/8) (+ (* -4 x) 5/2))
-			       (else      0.0)))
-		      (rgb (colormap-ref jet-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";jet ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref jet-colormap x)))
+		 (let ((r (cond ((< x 3/8) 0.0)
+				((< x 5/8) (- (* 4 x) 3/2))
+				((< x 7/8) 1.0)
+				(else      (+ (* -4 x) 9/2))))
+		       (g (cond ((< x 1/8) 0.0)
+				((< x 3/8) (- (* 4 x) 1/2))
+				((< x 5/8) 1.0)
+				((< x 7/8) (+ (* -4 x) 7/2))
+				(else      0.0)))
+		       (b (cond ((< x 1/8) (+ (* 4 x) 1/2))
+				((< x 3/8) 1.0)
+				((< x 5/8) (+ (* -4 x) 5/2))
+				(else      0.0)))
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
+		       (snd-display ";jet ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1))))))
 	     
 	     (when (colormap? pink-colormap)
 	       (do ((i 0 (+ i 1))) ((= i 10))
 		 (let* ((x (random 1.0))
-			(r (if (< x 3/8)
-			       (* 14/9 x)
-			       (+ (* 2/3 x) 1/3)))
-			(g (if (< x 3/8)
-			       (* 2/3 x)
-			       (if (< x 3/4)
-				   (- (* 14/9 x) 1/3)
-				   (+ (* 2/3 x) 1/3))))			
-			(b (if (< x 3/4)
-			       (* 2/3 x)
-			       (- (* 2 x) 1)))
-			(rgb (colormap-ref pink-colormap x))
-			(r1 (rgb 0))
-			(g1 (rgb 1))
-			(b1 (rgb 2)))
-		   (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		       (snd-display ";pink ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				    x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1))))))
+			(rgb (colormap-ref pink-colormap x)))
+		   (let ((r (if (< x 3/8)
+				(* 14/9 x)
+				(+ (* 2/3 x) 1/3)))
+			 (g (if (< x 3/8)
+				(* 2/3 x)
+				(if (< x 3/4)
+				    (- (* 14/9 x) 1/3)
+				    (+ (* 2/3 x) 1/3))))			
+			 (b (if (< x 3/4)
+				(* 2/3 x)
+				(- (* 2 x) 1)))
+			 (r1 (rgb 0))
+			 (g1 (rgb 1))
+			 (b1 (rgb 2)))
+		     (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
+			 (snd-display ";pink ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				      x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r 1.0)
-		      (g x)
-		      (b (- 1.0 g))
-		      (rgb (colormap-ref spring-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";spring ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref spring-colormap x)))
+		 (let ((r 1.0)
+		       (b (- 1.0 x))
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq r r1) (cfneq x g1) (cfneq b b1)))
+		       (snd-display ";spring ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- r r1)) (abs (- x g1)) (abs (- b b1))) (list r x b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r x)
-		      (g x)
-		      (b x)
-		      (rgb (colormap-ref gray-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";gray ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref gray-colormap x)))
+		 (let ((r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq x r1) (cfneq x g1) (cfneq x b1)))
+		       (snd-display ";gray ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- x r1)) (abs (- x g1)) (abs (- x b1))) (list x x x) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r 0.0)
-		      (g 0.0)
-		      (b 0.0)
-		      (rgb (colormap-ref black-and-white-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";black-and-white ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref black-and-white-colormap x)))
+		 (let ((r 0.0)
+		       (g 0.0)
+		       (b 0.0)
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
+		       (snd-display ";black-and-white ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r x)
-		      (g (+ 0.5 (/ r 2)))
-		      (b 0.4)
-		      (rgb (colormap-ref summer-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";summer ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref summer-colormap x)))
+		 (let ((g (+ 0.5 (/ x 2)))
+		       (b 0.4)
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq x r1) (cfneq g g1) (cfneq b b1)))
+		       (snd-display ";summer ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- x r1)) (abs (- g g1)) (abs (- b b1))) (list x g b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r (cond ((< x 2/5) 1.0)
-			       ((< x 3/5) (+ (* -5 x) 3))
-			       ((< x 4/5) 0.0)
-			       (else (- (* 10/3 x) 8/3))))
-		      (g (cond ((< x 2/5) (* 5/2 x))
-			       ((< x 3/5) 1.0)
-			       ((< x 4/5) (+ (* -5 x) 4))
-			       (else 0.0)))
-		      (b (cond ((< x 3/5) 0.0)
-			       ((< x 4/5) (- (* 5 x) 3))
-			       (else 1.0)))
-		      (rgb (colormap-ref rainbow-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";rainbow ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))
+		      (rgb (colormap-ref rainbow-colormap x)))
+		 (let ((r (cond ((< x 2/5) 1.0)
+				((< x 3/5) (+ (* -5 x) 3))
+				((< x 4/5) 0.0)
+				(else (- (* 10/3 x) 8/3))))
+		       (g (cond ((< x 2/5) (* 5/2 x))
+				((< x 3/5) 1.0)
+				((< x 4/5) (+ (* -5 x) 4))
+				(else 0.0)))
+		       (b (cond ((< x 3/5) 0.0)
+				((< x 4/5) (- (* 5 x) 3))
+				(else 1.0)))
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and (< x inv) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
+		       (snd-display ";rainbow ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1))))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
 	       (let* ((x (random 1.0))
@@ -9472,7 +9409,7 @@ EDITS: 2
 			      (feql rgb '(1 1 0))
 			      (feql rgb '(0 1 0))
 			      (feql rgb '(0 0 1))
-			      (feql rgb '(0.6667000000000001 0 1))))
+			      (feql rgb '(0.66670000 0 1))))
 		     (snd-display ";prism ~A" rgb))))
 	     
 	     (do ((i 0 (+ i 1))) ((= i 10))
@@ -9592,16 +9529,16 @@ EDITS: 2
 		  (i 0 (+ i 1))) 
 		 ((= i 10))
 	       (let* ((x (random 1.0))
-		      (r (if (< x 4/5) (* 5/4 x) 1.0))
-		      (g (* 4/5 x))
-		      (b (* 1/2 x))
-		      (rgb (colormap-ref copper-colormap x))
-		      (r1 (rgb 0))
-		      (g1 (rgb 1))
-		      (b1 (rgb 2)))
-		 (if (and n2 (< x n/n) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
-		     (snd-display ";copper size reset ~A: ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
-				  n x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1))))))
+		      (rgb (colormap-ref copper-colormap x)))
+		 (let ((r (if (< x 4/5) (* 5/4 x) 1.0))
+		       (g (* 4/5 x))
+		       (b (* 1/2 x))
+		       (r1 (rgb 0))
+		       (g1 (rgb 1))
+		       (b1 (rgb 2)))
+		   (if (and n2 (< x n/n) (or (cfneq r r1) (cfneq g g1) (cfneq b b1)))
+		       (snd-display ";copper size reset ~A: ~,3F (~,3F): ~{~,3F ~} ~{~,3F ~}" 
+				    n x (max (abs (- r r1)) (abs (- g g1)) (abs (- b b1))) (list r g b) (list r1 g1 b1)))))))
 	   '(1024 256 2 512))
 	  (set! *colormap-size* 512))
 	
@@ -9623,11 +9560,10 @@ EDITS: 2
 (define scissor 
   (let ((documentation "(scissor beg) is the scissor-tailed flycatcher"))
     (lambda (begin-time) ; test 23 also
-      (let ((scissorf '(0 0  40 1  60 1  100 0)))
-	(bigbird begin-time 0.05 1800 1800 .2 
-		 scissorf 
-		 '(0 0  25 1  75 1  100 0) 
-		 '(1 .5  2 1  3 .5  4 .1  5 .01))))))
+      (bigbird begin-time 0.05 1800 1800 .2 
+	       '(0 0  40 1  60 1  100 0)
+	       '(0 0  25 1  75 1  100 0) 
+	       '(1 .5  2 1  3 .5  4 .1  5 .01)))))
 
 (define (snd_test_8)
   
@@ -9712,13 +9648,11 @@ EDITS: 2
 	      (format () "~A: ~1,4F ~1,4F ~1,4F ~1,4F ~1,4F ~1,4F~%" i o1 o2 o3 o4 o5 o6))))))
   
   (define (test-simple-polywave n offset kind)
-    (let ((p (make-polywave 400.0 
-			    (let ((h (if offset (list offset 0) (list))))
-			      (do ((i 1 (+ i 1)))
-				  ((> i n))
-				(set! h (cons (* i .1) (cons i h))))
-			      (reverse h))
-			    kind))
+    (let ((p (let ((h (if offset (list offset 0) (list))))
+	       (do ((i 1 (+ i 1)))
+		   ((> i n))
+		 (set! h (cons (* i .1) (cons i h))))
+	       (make-polywave 400.0 (reverse h) kind)))
 	  (vp (make-float-vector 200))
 	  (vo (make-float-vector 200))
 	  (ob (make-oscil-bank
@@ -9788,16 +9722,14 @@ EDITS: 2
   (define (test-simple-nsin n)
     (let ((p (make-nsin 400.0 n))
 	  (vp (make-float-vector 200))
-	  (vo (make-float-vector 200)))
-      (let ((ob (make-oscil-bank 
-		 (apply float-vector (let ((frqs ()))
-				       (do ((i 1 (+ i 1)))
-					   ((> i n))
-					 (set! frqs (cons (hz->radians (* i 400.0)) frqs)))
-				       (reverse frqs)))
-		 (make-float-vector n)
-		 (make-float-vector n (mus-scaler p))
-		 #t)))
+	  (vo (make-float-vector 200))
+	  (parts (apply float-vector
+			(let ((frqs ()))
+			  (do ((i 1 (+ i 1)))
+			      ((> i n))
+			    (set! frqs (cons (hz->radians (* i 400.0)) frqs)))
+			  (reverse frqs)))))
+      (let ((ob (make-oscil-bank parts (make-float-vector n) (make-float-vector n (mus-scaler p)) #t)))
 	(do ((i 0 (+ i 1)))
 	    ((= i 200))
 	  (float-vector-set! vp i (nsin p)))
@@ -9850,15 +9782,14 @@ EDITS: 2
       (let ((combs (make-comb-bank (vector comb1 comb2 comb3 comb4)))
 	    (allpasses (make-all-pass-bank (vector allpass1 allpass2 allpass3))))
 	(if (or amp-env low-pass)
-	    (let ((flt (and low-pass (make-fir-filter 3 (float-vector 0.25 0.5 0.25))))
-		  (envA (make-env :envelope (or amp-env '(0 1 1 1)) :scaler volume :duration dur)))
-	      (map-channel
-	       (if low-pass
-		   (lambda (inval)
-		     (+ inval (delay outdel (* (env envA) (fir-filter flt (comb-bank combs (all-pass-bank allpasses inval)))))))
-		   (lambda (inval)
-		     (+ inval (delay outdel (* (env envA) (comb-bank combs (all-pass-bank allpasses inval)))))))
-	       0 (round (* dur (srate)))))
+	    (let ((delf (let ((flt (and low-pass (make-fir-filter 3 (float-vector 0.25 0.5 0.25))))
+			      (envA (make-env :envelope (or amp-env '(0 1 1 1)) :scaler volume :duration dur)))
+			  (if low-pass
+			      (lambda (inval)
+				(+ inval (delay outdel (* (env envA) (fir-filter flt (comb-bank combs (all-pass-bank allpasses inval)))))))
+			      (lambda (inval)
+				(+ inval (delay outdel (* (env envA) (comb-bank combs (all-pass-bank allpasses inval))))))))))
+	      (map-channel delf 0 (round (* dur (srate)))))
 	    (map-channel
 	     (lambda (inval)
 	       (+ inval (delay outdel (* volume (comb-bank combs (all-pass-bank allpasses inval))))))
@@ -9867,49 +9798,49 @@ EDITS: 2
   
   ;; ----------------
   (define (bumpy)
-    (let* ((x 0.0) 
-	   (xi (/ 1.0 (framples)))
-	   (start 0)
-	   (end 1)
-	   (scl (exp (/ 4.0 (- end start))))) ; normalize it
-      (map-channel (lambda (y) 
-		     (let ((val (if (not (< start x end))
-				    0.0
-				    (exp (+ (/ -1.0 (- x start))
-					    (/ -1.0 (- end x)))))))
-		       (set! x (+ x xi))
-		       (* scl val))))))
+    (let ((x 0.0) 
+	  (xi (/ 1.0 (framples)))
+	  (start 0)
+	  (end 1))
+      (let ((scl (exp (/ 4.0 (- end start))))) ; normalize it
+	(map-channel (lambda (y) 
+		       (let ((val (if (not (< start x end))
+				      0.0
+				      (exp (+ (/ -1.0 (- x start))
+					      (/ -1.0 (- end x)))))))
+			 (set! x (+ x xi))
+			 (* scl val)))))))
   
   ;; ----------------
   (define test-scanned-synthesis
     ;; check out scanned-synthesis
     (lambda (amp dur mass xspring damp)
-      (let* ((size 256)
-	     (x0 (make-float-vector size))	   
-	     (x1 (make-float-vector size))	   
-	     (x2 (make-float-vector size)))
-	(do ((i 0 (+ i 1)))
-	    ((= i 12))
-	  (let ((val (sin (/ (* 2 pi i) 12.0))))
-	    (set! (x1 (- (+ i (/ size 4)) 6)) val)))
-	(let ((data (make-float-vector dur)))
-	  (let ((recompute-samps 30) ;just a quick guess
-		(gen1 (make-table-lookup 440.0 :wave x1))
-		(gen2 (make-table-lookup 440.0 :wave x2)))
-	    (do ((i 0 (+ i 1))
-		 (k 0.0)
-		 (kincr (/ 1.0 recompute-samps)))
-		((= i dur))
-	      (if (>= k 1.0)
-		  (begin
-		    (set! k 0.0)
-		    (compute-uniform-circular-string size x0 x1 x2 mass xspring damp))
-		  (set! k (+ k kincr)))
-	      (let ((g1 (table-lookup gen1))
-		    (g2 (table-lookup gen2)))
-		(set! (data i) (+ g2 (* k (- g1 g2)))))))
-	  (float-vector-scale! data (/ amp (float-vector-peak data)))
-	  (float-vector->channel data 0 dur)))))
+      (let ((size 256))
+	(let ((x0 (make-float-vector size))	   
+	      (x1 (make-float-vector size))	   
+	      (x2 (make-float-vector size)))
+	  (do ((i 0 (+ i 1)))
+	      ((= i 12))
+	    (let ((val (sin (/ (* 2 pi i) 12.0))))
+	      (set! (x1 (- (+ i (/ size 4)) 6)) val)))
+	  (let ((data (make-float-vector dur)))
+	    (let ((recompute-samps 30) ;just a quick guess
+		  (gen1 (make-table-lookup 440.0 :wave x1))
+		  (gen2 (make-table-lookup 440.0 :wave x2)))
+	      (do ((i 0 (+ i 1))
+		   (k 0.0)
+		   (kincr (/ 1.0 recompute-samps)))
+		  ((= i dur))
+		(if (>= k 1.0)
+		    (begin
+		      (set! k 0.0)
+		      (vibrating-uniform-circular-string size x0 x1 x2 mass xspring damp))
+		    (set! k (+ k kincr)))
+		(let ((g1 (table-lookup gen1))
+		      (g2 (table-lookup gen2)))
+		  (set! (data i) (+ g2 (* k (- g1 g2)))))))
+	    (float-vector-scale! data (/ amp (float-vector-peak data)))
+	    (float-vector->channel data 0 dur))))))
   
   ;; (test-scanned-synthesis .1 10000 1.0 0.1 0.0)
   
@@ -9970,9 +9901,9 @@ EDITS: 2
 		  (set! (mat i (+ i 1)) (* 0.5 (+ i 1) (- n-1 i))))
 	      (if (> i 0)
 		  (set! (mat i (- i 1)) (* 0.5 i (- n i))))))
-	  (let* ((vc (vector-ref (cadr (gsl-eigenvectors mat)) 0)) ; cadr->vector of fv-vectors
-		 (v (copy vc (make-float-vector (length vc))))
-		 (pk 0.0))
+	  (let ((v (let ((vc (vector-ref (cadr (gsl-eigenvectors mat)) 0))) ; cadr->vector of fv-vectors
+		     (copy vc (make-float-vector (length vc)))))
+		(pk 0.0))
 	    ;; sign of eigenvalue is arbitrary, and eigenvector is scaled to sum to 1.0
 	    ;;   but we want peak of 1.0 to serve as fft window
 	    (do ((i 0 (+ i 1)))
@@ -11021,17 +10952,16 @@ EDITS: 2
   (define fltit
     (let ((documentation "(fltit) returns a time-varying filter: (map-channel (fltit))"))
       (lambda ()
-	(let* ((coeffs (float-vector .1 .2 .3 .4 .4 .3 .2 .1))
-	       (flt (make-fir-filter 8 coeffs))
-	       (xcof (mus-xcoeffs flt)) ; maybe a copy?
-	       (es (make-float-vector 8)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 8))
-	    (set! (es i) 0.9994)) ; something like (+ 1.0 (/ (log 1e-5) (* 0.5 *clm-srate*)))
-	  (set! (es 5) 1.00002)
-	  (lambda (x)
-	    (float-vector-multiply! xcof es)
-	    (fir-filter flt x))))))
+	(let ((flt (make-fir-filter 8 (float-vector .1 .2 .3 .4 .4 .3 .2 .1))))
+	  (let ((xcof (mus-xcoeffs flt)) ; maybe a copy?
+		(es (make-float-vector 8)))
+	    (do ((i 0 (+ i 1)))
+		((= i 8))
+	      (set! (es i) 0.9994)) ; something like (+ 1.0 (/ (log 1e-5) (* 0.5 *clm-srate*)))
+	    (set! (es 5) 1.00002)
+	    (lambda (x)
+	      (float-vector-multiply! xcof es)
+	      (fir-filter flt x)))))))
   
 ;;; (with-sound ("test.snd") (let ((p (make-pulse-train 1000))) (do ((i 0 (+ i 1))) ((= i 44100)) (outa i (* .5 (pulse-train p))))))
 ;;; (map-channel (fltit))
@@ -11128,8 +11058,7 @@ EDITS: 2
 	  (snd-display ";run ~A equal?~%    ~A~%    ~A" (mus-name g0) g0 g2))
       (let ((data (catch #t (lambda () (mus-data g0)) (lambda args #f))))
 	(when (float-vector? data)
-	  (let* ((g4 (copy g0))
-		 (data4 (catch #t (lambda () (mus-data g4)) (lambda args #f))))
+	  (let ((data4 (catch #t (lambda () (mus-data (copy g0))) (lambda args #f))))
 	    (if (not (float-vector? data4)) 
 		(snd-display ";~A copy -> mus-data ~A?" (mus-name g0) data4)))))))
   
@@ -11172,8 +11101,7 @@ EDITS: 2
 	  (mult 1.0))
       (map-channel
        (lambda (y)
-	 (let* ((curmax (moving-max maxer y))
-		(this-incr (* (- 0.5 (* mult curmax)) ramp-speed)))
+	 (let ((this-incr (* (- 0.5 (* mult (moving-max maxer y))) ramp-speed)))
 	   (set! mult (+ mult this-incr))
 	   (* y mult))))))
   
@@ -11392,7 +11320,7 @@ EDITS: 2
     (let ((vals (vector  1.0000000000  0.8000000000  0.2800000000  -0.3520000000 -0.8432000000 -0.9971200000 
 			 -0.7521920000 -0.2063872000  0.4219724800  0.8815431680  0.9884965888  0.7000513741  0.1315856097))
 	  (ns (vector  0  1  2   3  4  5   6  7  8   9 10 11 	   12))
-	  (xs (vector    0.8  0.8  0.8     0.8  0.8  0.8     0.8  0.8  0.8     0.8  0.8  0.8     0.8)))
+	  (xs (make-vector 13 0.8)))
       
       (do ((i 0 (+ i 1)))
 	  ((= i 13))
@@ -11425,20 +11353,13 @@ EDITS: 2
 			 0.30  0.40  0.50     0.60  0.70  0.80     0.90  1.00)))
       
       (define (g3 x alpha)
-	(- (* 1/3 alpha x x x (+ (* 4 alpha alpha) (* 12 alpha) 8))
+	(- (* 1/3 alpha x x x (+ 8 (* alpha (+ 12 (* alpha 4)))))
 	   (* 2 alpha x (+ alpha 1))))
       
       (define (g5 x alpha)
-	(+ (* 1/15 alpha x x x x x (+ (* 4 alpha alpha alpha alpha) 
-				      (* 40 alpha alpha alpha)
-				      (* 140 alpha alpha)
-				      (* 200 alpha)
-				      96))
-	   (* -1/3 alpha x x x (+ (* 4 alpha alpha alpha)
-				  (* 24 alpha alpha)
-				  (* 44 alpha)
-				  24))
-	   (* alpha x (+ (* alpha alpha) (* 3 alpha) 2))))
+	(+ (* 1/15 alpha x x x x x (+ 96 (* alpha (+ 200 (* alpha (+ 140 (* alpha (+ 40 (* alpha 4)))))))))
+	   (* -1/3 alpha x x x (+ 24 (* alpha (+ 44 (* alpha (+ 24 (* alpha 4)))))))
+	   (* alpha x (+ 2 (* alpha (+ 3 alpha))))))
       
       (do ((i 0 (+ i 1)))
 	  ((= i 38))
@@ -11521,24 +11442,23 @@ EDITS: 2
 	  '(0 1 2 3 4 5 6)))
        '(2.0 0.5 0.1 -0.5 3.0 0.8)))
     
-    (let* ((snd (with-sound (:scaled-to 0.5) 
-		 (do ((i 0 (+ i 1)) 
-		      (x 0.0 (+ x .02))) 
-		     ((= i 100)) 
-		   (outa i (legendre 20 (cos x))))))
-	   (index (find-sound snd)))
+    (let ((index (find-sound 
+		  (with-sound (:scaled-to 0.5) 
+		    (do ((i 0 (+ i 1)) 
+			 (x 0.0 (+ x .02))) 
+			((= i 100)) 
+		      (outa i (legendre 20 (cos x))))))))
       (if (fneq (sample 0 index 0) 0.5) (snd-display ";legendre(cos(x)) 0: ~A" (sample 0 index 0)))
       (if (fneq (sample 50 index 0) 0.062572978) (snd-display ";legendre(cos(x)) 50: ~A" (sample 50 index 0)))
       (close-sound index))
     
     
-    (let (;(h0 (lambda (x) 1.0))
-	  (h1 (lambda (x) (* 2 x)))
+    (let ((h1 (lambda (x) (* 2 x)))
 	  (h2 (lambda (x) (- (* 4 x x) 2)))
 	  (h3 (lambda (x) (- (* 8 x x x) (* 12 x))))
-	  (h4 (lambda (x) (+ (* 16 x x x x) (* -48 x x) 12)))
-	  (h5 (lambda (x) (+ (* 32 x x x x x) (* -160 x x x) (* 120 x))))
-	  (h6 (lambda (x) (+ (* 64 x x x x x x) (* -480 x x x x) (* 720 x x) -120))))
+	  (h4 (lambda (x) (+ 12 (* x x (- (* x x 16) 48)))))
+	  (h5 (lambda (x) (* x (+ 120 (* x x (- (* x x 32) 160))))))
+	  (h6 (lambda (x) (- (* x x (+ 720 (* x x (- (* x x 64) 480)))) 120))))
       
       (do ((i 0 (+ i 1)))
 	  ((= i 20))
@@ -11563,7 +11483,7 @@ EDITS: 2
 		  ((fneq v6 v66) (snd-display ";hermite 6 ~A: ~A ~A" x v6 v66)))))))
     
     (let ((lg1 (lambda (x) (- 1 x)))
-	  (lg2 (lambda (x) (+ 1 (* 0.5 x x) (* -2 x))))
+	  (lg2 (lambda (x) (+ 1 (* x (- (* x 0.5) 2)))))
 	  (lag1 (lambda (x a) (- (+ 1 a) x)))
 	  (lag2 (lambda (x a) (* 0.5 (+ (* x x) 
 					(* -2 x (+ a 2))
@@ -11599,9 +11519,6 @@ EDITS: 2
     (log-mem clmtest)
     (numerical-reality-checks)
     
-    (if (mus-generator? 321) (snd-display ";123 is a gen?"))
-    (if (mus-generator? '(321)) (snd-display ";(123) is a gen?"))
-    (if (mus-generator? '(hi 321)) (snd-display ";(hi 123) is a gen?"))
     (set! *clm-srate* 22050)
     (let ((samps (seconds->samples 1.0))
 	  (secs (samples->seconds 22050)))
@@ -11621,13 +11538,11 @@ EDITS: 2
     (if (not (= *mus-array-print-length* 32)) (snd-display ";set mus-array-print-length: ~D?" *mus-array-print-length*))
     (set! *mus-array-print-length* 8)
     
-    (let ((fudge *mus-float-equal-fudge-factor*))
-      (if (> (abs (- *mus-float-equal-fudge-factor* 0.0000001)) 0.00000001)
-	  (snd-display ";mus-float-equal-fudge-factor: ~A?" *mus-float-equal-fudge-factor*))
-      (set! *mus-float-equal-fudge-factor* .1)
+    (if (> (abs (- *mus-float-equal-fudge-factor* 0.0000001)) 0.00000001)
+	(snd-display ";mus-float-equal-fudge-factor: ~A?" *mus-float-equal-fudge-factor*))
+    (let-temporarily ((*mus-float-equal-fudge-factor* .1))
       (if (fneq *mus-float-equal-fudge-factor* .1) 
-	  (snd-display ";set mus-float-equal-fudge-factor: ~A?" *mus-float-equal-fudge-factor*))
-      (set! *mus-float-equal-fudge-factor* fudge))
+	  (snd-display ";set mus-float-equal-fudge-factor: ~A?" *mus-float-equal-fudge-factor*)))
     
     (if (fneq *clm-srate* 22050.0) (snd-display ";mus-srate: ~F?" *clm-srate*))
     (if (fneq (hz->radians 1.0) 2.84951704088598e-4) (snd-display ";hz->radians: ~F?" (hz->radians 1.0)))
@@ -11683,17 +11598,17 @@ EDITS: 2
 	(snd-display ";contrast-enhancement: ~F (0.562925306221587)" (contrast-enhancement 0.1 0.75)))
     (if (fneq (contrast-enhancement 1.0) 1.0) (snd-display ";contrast-enhancement opt: ~A" (contrast-enhancement 1.0)))
     (let ((lv0 (partials->polynomial (float-vector 1 1 2 1) mus-chebyshev-first-kind)))
-      (if (not (fveql lv0 '(-1.000 1.000 2.000) 0)) (snd-display ";partials->polynomial(1): ~A?" lv0)))
+      (if (not (mus-arrays-equal? lv0 (float-vector -1.000 1.000 2.000) .001)) (snd-display ";partials->polynomial(1): ~A?" lv0)))
     (let ((lv1 (partials->polynomial '(1 1 2 1) mus-chebyshev-second-kind)))
-      (if (not (fveql lv1 '(1.000 2.000 0.0) 0)) (snd-display ";partials->polynomial(2): ~A?" lv1)))
+      (if (not (mus-arrays-equal? lv1 (float-vector 1.000 2.000 0.0) .001)) (snd-display ";partials->polynomial(2): ~A?" lv1)))
     (let ((lv2 (partials->polynomial '(1 1 2 1 3 1 5 1) mus-chebyshev-first-kind)))
-      (if (not (fveql lv2 '(-1.000 3.000 2.000 -16.000 0.000 16.000) 0)) (snd-display ";partials->polynomial(3): ~A?" lv2)))
+      (if (not (mus-arrays-equal? lv2 (float-vector -1.000 3.000 2.000 -16.000 0.000 16.000) .001)) (snd-display ";partials->polynomial(3): ~A?" lv2)))
     (let ((lv3 (partials->polynomial '(1 1 2 1 3 1 5 1) mus-chebyshev-second-kind)))
-      (if (not (fveql lv3 '(1.000 2.000 -8.000 0.000 16.000 0.000) 0)) (snd-display ";partials->polynomial(4): ~A?" lv3)))
+      (if (not (mus-arrays-equal? lv3 (float-vector 1.000 2.000 -8.000 0.000 16.000 0.000) .001)) (snd-display ";partials->polynomial(4): ~A?" lv3)))
     (let ((lv4 (partials->polynomial '(1 1 2 .5 3 .1 6 .01) mus-chebyshev-first-kind)))
-      (if (not (fveql lv4 '(-0.510 0.700 1.180 0.400 -0.480 0.000 0.320) 0)) (snd-display ";partials->polynomial(5): ~A?" lv4)))
+      (if (not (mus-arrays-equal? lv4 (float-vector -0.510 0.700 1.180 0.400 -0.480 0.000 0.320) .001)) (snd-display ";partials->polynomial(5): ~A?" lv4)))
     (let ((lv5 (partials->polynomial '(1 1 2 .5 3 .1 6 .01) mus-chebyshev-second-kind)))
-      (if (not (fveql lv5 '(0.900 1.060 0.400 -0.320 0.000 0.320 0.000) 0)) (snd-display ";partials->polynomial(6): ~A?" lv5)))
+      (if (not (mus-arrays-equal? lv5 (float-vector 0.900 1.060 0.400 -0.320 0.000 0.320 0.000) .001)) (snd-display ";partials->polynomial(6): ~A?" lv5)))
     (let ((lv6 (partials->polynomial (float-vector 1 9 2 3 3 5 4 7 5 1))))
       (if (not (mus-arrays-equal? lv6 (float-vector 4.000 -1.000 -50.000 0.000 56.000 16.000))) (snd-display ";partials->polynomial(7): ~A?" lv6)))
     (let ((lv7 (partials->polynomial '(7 1))))
@@ -11740,17 +11655,17 @@ EDITS: 2
 	 (i 0 (+ i 1))
 	 (a 0.0 (+ a incr)))
 	((= i 1100))
-      (let* ((x (cos a))
-	     (y (sin a))
-	     (cax (polynomial cos-coeffs x))
-	     (sax (polynomial sin-coeffs x))
-	     (upper (- (* (cos (* 2 a)) cax) (* (sin (* 2 a)) y sax)))
-	     (lower (+ (* (cos (* 2 a)) cax) (* (sin (* 2 a)) y sax)))
-	     (upper2 (+ (cos (* a 3)) (cos (* a 4))))
-	     (lower2 (+ 1.0 (cos a))))
-	(if (or (fneq upper upper2)
-		(fneq lower lower2))
-	    (snd-display ";~A ~A, ~A ~A" upper upper2 lower lower2))))
+      (let ((x (cos a)))
+	(let ((y (sin a))
+	      (cax (polynomial cos-coeffs x))
+	      (sax (polynomial sin-coeffs x)))
+	  (let ((upper (- (* (cos (* 2 a)) cax) (* (sin (* 2 a)) y sax)))
+		(lower (+ (* (cos (* 2 a)) cax) (* (sin (* 2 a)) y sax)))
+		(upper2 (+ (cos (* a 3)) (cos (* a 4))))
+		(lower2 (+ 1.0 (cos a))))
+	    (if (or (fneq upper upper2)
+		    (fneq lower lower2))
+		(snd-display ";~A ~A, ~A ~A" upper upper2 lower lower2))))))
     
     (let ((tag (catch #t (lambda () (harmonicizer 550.0 '(.5 .3 .2) 10)) (lambda args (car args)))))
       (if (not (eq? tag 'no-data)) (snd-display ";odd length arg to partials->polynomial: ~A" tag)))
@@ -11910,7 +11825,7 @@ EDITS: 2
 	    ((= i 4))
 	  (set! (vals i) (+ i 1.0)))
 	(set! v1 (edot-product (* 0.25 2 pi 0.0-i) vals))
-	(let ((v2 (+ 1 ;(*   (exp (* 0 2 pi 0.0-i)))
+	(let ((v2 (+ 1
 		     (* 2 (exp (* 0.25 2 pi 0.0-i)))
 		     (* 3 (exp (* 0.5 2 pi 0.0-i)))
 		     (* 4 (exp (* 0.75 2 pi 0.0-i))))))
@@ -11919,7 +11834,7 @@ EDITS: 2
 	    ((= i 4))
 	  (set! (vals i) (+ i 1.0+i)))
 	(set! v1 (edot-product (* 0.25 2 pi 0.0-i) vals))
-	(let ((v2 (+ 1+i ;(* 1+i (exp (* 0 2 pi 0.0-i)))
+	(let ((v2 (+ 1+i
 		     (* 2+i (exp (* 0.25 2 pi 0.0-i)))
 		     (* 3+i (exp (* 0.5 2 pi 0.0-i)))
 		     (* 4+i (exp (* 0.75 2 pi 0.0-i))))))
@@ -11992,23 +11907,23 @@ EDITS: 2
     
     (let ((val (poly/ (float-vector -1.0 -0.0 1.0) (float-vector 1.0 1.0))))
       (if (not (and (mus-arrays-equal? (car val) (float-vector -1.000 1.000 0.000))
-		    (mus-arrays-equal? (cadr val) (float-vector 0.000 0.000 0.000))))
+		    (mus-arrays-equal? (cadr val) (make-float-vector 3))))
 	  (snd-display ";poly/ 1: ~A" val)))
     (let ((val (poly/ (float-vector -15 -32 -3 2) (float-vector -5 1))))
       (if (not (and (mus-arrays-equal? (car val) (float-vector 3.000 7.000 2.000 0.000))
-		    (mus-arrays-equal? (cadr val) (float-vector 0.000 0.000 0.000 0.000))))
+		    (mus-arrays-equal? (cadr val) (make-float-vector 4))))
 	  (snd-display ";poly/ 2: ~A" val)))
     (let ((val (poly/ (float-vector -15 -32 -3 2) (float-vector 3 1))))
       (if (not (and (mus-arrays-equal? (car val) (float-vector -5.000 -9.000 2.000 0.000))
-		    (mus-arrays-equal? (cadr val) (float-vector 0.000 0.000 0.000 0.000))))
+		    (mus-arrays-equal? (cadr val) (make-float-vector 4))))
 	  (snd-display ";poly/ 3: ~A" val)))
     (let ((val (poly/ (float-vector -15 -32 -3 2) (float-vector .5 1))))
       (if (not (and (mus-arrays-equal? (car val) (float-vector -30.000 -4.000 2.000 0.000))
-		    (mus-arrays-equal? (cadr val) (float-vector 0.000 0.000 0.000 0.000))))
+		    (mus-arrays-equal? (cadr val) (make-float-vector 4))))
 	  (snd-display ";poly/ 4: ~A" val)))
     (let ((val (poly/ (float-vector -15 -32 -3 2) (float-vector 3 7 2))))
       (if (not (and (mus-arrays-equal? (car val) (float-vector -5.000 1.000 0.000 0.000))
-		    (mus-arrays-equal? (cadr val) (float-vector 0.000 0.000 0.000 0.000))))
+		    (mus-arrays-equal? (cadr val) (make-float-vector 4))))
 	  (snd-display ";poly/ 5: ~A" val)))
     (let ((val (poly/ (float-vector -15 -32 -3 2) 2.0)))
       (if (not (mus-arrays-equal? (car val) (float-vector -7.500 -16.000 -1.500 1.000)))
@@ -12250,39 +12165,39 @@ EDITS: 2
     
     (let ((dly (make-delay 3))
 	  (flt (make-one-zero .5 .4))
-	  (v (make-float-vector 20))
-	  (inval 1.0))
-      (fill-float-vector v (let ((res (delay dly (+ inval (* (one-zero flt (tap dly)) .6)))))
-		    (set! inval 0.0)
-		    res))
+	  (v (make-float-vector 20)))
+      (let ((inval 1.0))
+	(fill-float-vector v (let ((res (delay dly (+ inval (* (one-zero flt (tap dly)) .6)))))
+			       (set! inval 0.0)
+			       res)))
       (if (not (mus-arrays-equal? v (float-vector 0.0 0.0 0.0 1.0 0.0 0.0 0.300 0.240 0.0 0.090 0.144 0.058 0.027 0.065 0.052 0.022 0.026 0.031 0.019 0.013)))
 	  (snd-display ";tap with low pass: ~A" v)))
     
     (let ((dly (make-delay 3))
-	  (v (make-float-vector 20))
-	  (inval 1.0))
-      (fill-float-vector v (let ((res (delay dly (+ inval (tap dly)))))
-		    (set! inval 0.0)
-		    res))
+	  (v (make-float-vector 20)))
+      (let ((inval 1.0))
+	(fill-float-vector v (let ((res (delay dly (+ inval (tap dly)))))
+			       (set! inval 0.0)
+			       res)))
       (if (not (mus-arrays-equal? v (float-vector 0.0 0.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0 0.0)))
 	  (snd-display ";simple tap: ~A" v)))
     
     (let ((dly (make-delay 6))
-	  (v (make-float-vector 20))
-	  (inval 1.0))
+	  (v (make-float-vector 20)))
       (if (not (tap? dly)) (snd-display ";tap?: ~A" (tap? dly)))
-      (fill-float-vector v (let ((res (delay dly (+ inval (tap dly -2.0)))))
-		    (set! inval 0.0)
-		    res))
+      (let ((inval 1.0))
+	(fill-float-vector v (let ((res (delay dly (+ inval (tap dly -2.0)))))
+			       (set! inval 0.0)
+			       res)))
       (set! *print-length* (max 20 *print-length*))
       (if (not (mus-arrays-equal? v (float-vector 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0)))
 	  (snd-display ";tap back 2: ~A" v)))
     
     (let ((dly (make-delay 3))
 	  (flt (make-one-zero .5 .4))
-	  (v (make-float-vector 20))
-	  (inval 1.0))
-      (do ((i 0 (+ i 1)))
+	  (v (make-float-vector 20)))
+      (do ((inval 1.0)
+	   (i 0 (+ i 1)))
 	  ((= i 20))
 	(set! (v i) (let ((res (delay dly (+ inval (* (one-zero flt (tap dly)) .6)))))
 		      (set! inval 0.0)
@@ -12290,10 +12205,11 @@ EDITS: 2
       (if (not (mus-arrays-equal? v (float-vector 0.0 0.0 0.0 1.0 0.0 0.0 0.300 0.240 0.0 0.090 0.144 0.058 0.027 0.065 0.052 0.022 0.026 0.031 0.019 0.013)))
 	  (snd-display ";tap with low pass: ~A" v)))
     
-    (let ((dly (make-delay 3 :initial-element 32.0)))
-      (cond ((not (float-vector? (mus-data dly))) (snd-display ";delay data not float-vector?"))
-	    ((not (= (length (mus-data dly)) 3))  (snd-display ";delay data len not 3: ~A (~A)" (length (mus-data dly)) (mus-data dly)))
-	    ((fneq ((mus-data dly) 1) 32.0)       (snd-display ";delay [1] 32: ~A" ((mus-data dly) 1))))
+    (let* ((dly (make-delay 3 :initial-element 32.0))
+	   (ddata (mus-data dly)))
+      (cond ((not (float-vector? ddata)) (snd-display ";delay data not float-vector?"))
+	    ((not (= (length ddata) 3))  (snd-display ";delay data len not 3: ~A (~A)" (length ddata) ddata))
+	    ((fneq (ddata 1) 32.0)       (snd-display ";delay [1] 32: ~A" (ddata 1))))
       (let ((tag (catch #t (lambda () (set! (mus-length dly) -1)) (lambda args (car args)))))
 	(if (not (eq? tag 'out-of-range)) (snd-display ";len to -1 -> ~A" tag)))
       (let ((tag (catch #t (lambda () (set! (mus-length dly) 0)) (lambda args (car args)))))
@@ -12303,12 +12219,13 @@ EDITS: 2
       (let ((tag (catch #t (lambda () (set! ((mus-data dly) 100) .1)) (lambda args (car args)))))
 	(if (not (eq? tag 'out-of-range)) (snd-display ";data 100 to .1 -> ~A" tag)))
       (set! (mus-data dly) (make-float-vector 32 1.0))
-      (if (not (float-vector? (mus-data dly))) (snd-display ";set delay data not float-vector?"))
-      (if (fneq ((mus-data dly) 1) 1.0) (snd-display ";set delay [1] 1: ~A" ((mus-data dly) 1)))
-      (if (not (= (length (mus-data dly)) 32)) (snd-display ";set delay data len(32): ~A" (length (mus-data dly))))
+      (set! ddata (mus-data dly))
+      (if (not (float-vector? ddata)) (snd-display ";set delay data not float-vector?"))
+      (if (fneq (ddata 1) 1.0) (snd-display ";set delay [1] 1: ~A" (ddata 1)))
+      (if (not (= (length ddata) 32)) (snd-display ";set delay data len(32): ~A" (length ddata)))
       (let ((tag (catch #t (lambda () (set! (mus-length dly) 100)) (lambda args (car args)))))
 	(if (not (eq? tag 'out-of-range)) (snd-display ";set len to 100 -> ~A" tag)))
-      (let ((tag (catch #t (lambda () (set! ((mus-data dly) 100) .1)) (lambda args (car args)))))
+      (let ((tag (catch #t (lambda () (set! (ddata 100) .1)) (lambda args (car args)))))
 	(if (not (eq? tag 'out-of-range)) (snd-display ";set data 100 to .1 -> ~A" tag))))
     
     (let ((d1 (make-delay 4))
@@ -12441,7 +12358,7 @@ EDITS: 2
       (do ((i 9 (- i 1)))
 	  ((< i 0))
 	(set! (v i) (delay gen 0.5 i)))
-      (if (not (mus-arrays-equal? v (float-vector 0.500 0.500 0.500 0.500 0.500 0.500 0.500 0.500 0.500 0.500)))
+      (if (not (mus-arrays-equal? v (make-float-vector 10 0.5)))
 	  (snd-display ";delay 100 -> 0: ~A" v))
       (mus-reset gen)
       (if (not (mus-arrays-equal? (mus-data gen) (make-float-vector 100)))
@@ -13697,15 +13614,15 @@ EDITS: 2
     (let ((gen (make-ncos 440 10)))
       (do ((i 0 (+ i 1)))
 	  ((= i 1100))
-	(let* ((den (sin (* (mus-phase gen) 0.5)))
-	       (val1 (if (= 0.0 den)
-			 1.0
-			 (min 1.0 (* (mus-scaler gen)
-				     (- (/ (sin (* (mus-phase gen)
-						   (+ (mus-length gen) 0.5)))
-					   (* 2.0 den))
-					0.5)))))
-	       (val2 (gen 0.0)))
+	(let ((val1 (let ((den (sin (* (mus-phase gen) 0.5))))
+		      (if (= 0.0 den)
+			  1.0
+			  (min 1.0 (* (mus-scaler gen)
+				      (- (/ (sin (* (mus-phase gen)
+						    (+ (mus-length gen) 0.5)))
+					    (* 2.0 den))
+					 0.5))))))
+	      (val2 (gen 0.0)))
 	  (if (> (abs (- val1 val2)) .002)
 	      (snd-display ";ncos: ~A: ~A ~A" i val1 val2)))))
     
@@ -14217,35 +14134,35 @@ EDITS: 2
 		    (let ((f3 (make-fir-filter 2 (float-vector .5 .25)))) (fir-filter f3 1.0) f3))
     
     (let* ((coeffs (float-vector .1 .2 .3 .4 .4 .3 .2 .1))
-	   (flt (make-fir-filter 8 coeffs))
-	   (xcof (mus-xcoeffs flt))
-	   (es (make-vector 8)))
-      (do ((i 0 (+ i 1)))
-	  ((= i 8))
-	(set! (es i) (make-env (list 0 (coeffs i) 1 0) :length 102)))
-      (set! (es 5) (make-env '(0 .4 1 1) :length 102))
-      (let ((data (make-float-vector 100)))
-	(do ((k 0 (+ k 1)))
-	    ((= k 100))
-	  (set! (data k) (fir-filter flt (if (= (modulo k 12) 0) 1.0 0.0)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 8))
-	    (float-vector-set! xcof i (env (vector-ref es i)))))
-	(if (or (fneq (data 1) .2)
-		(fneq (data 10) 0.0)
-		(fneq (data 18) 0.166)
-		(fneq (data 89) 0.923))
-	    (snd-display ";filter xcoeffs: ~A?" data))))
+	   (flt (make-fir-filter 8 coeffs)))
+      (let ((xcof (mus-xcoeffs flt))
+	    (es (make-vector 8)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 8))
+	  (set! (es i) (make-env (list 0 (coeffs i) 1 0) :length 102)))
+	(set! (es 5) (make-env '(0 .4 1 1) :length 102))
+	(let ((data (make-float-vector 100)))
+	  (do ((k 0 (+ k 1)))
+	      ((= k 100))
+	    (set! (data k) (fir-filter flt (if (= (modulo k 12) 0) 1.0 0.0)))
+	    (do ((i 0 (+ i 1)))
+		((= i 8))
+	      (float-vector-set! xcof i (env (vector-ref es i)))))
+	  (if (or (fneq (data 1) .2)
+		  (fneq (data 10) 0.0)
+		  (fneq (data 18) 0.166)
+		  (fneq (data 89) 0.923))
+	      (snd-display ";filter xcoeffs: ~A?" data)))))
     
     (let ((make-f-filter (lambda (coeffs)
 			   (list coeffs (make-float-vector (length coeffs)))))
 	  (f-filter (lambda (flt x)
-		      (let* ((coeffs (car flt))
-			     (xs (cadr flt))
-			     (xlen (length xs)))
-			(float-vector-move! xs (- xlen 1) (- xlen 2) #t)
-			(set! (xs 0) x)
-			(dot-product coeffs xs xlen)))))
+		      (let ((coeffs (car flt))
+			    (xs (cadr flt)))
+			(let ((xlen (length xs)))
+			  (float-vector-move! xs (- xlen 1) (- xlen 2) #t)
+			  (set! (xs 0) x)
+			  (dot-product coeffs xs xlen))))))
       (let ((fir1 (make-fir-filter 3 (float-vector 1.0 0.4 0.1)))
 	    (fir2 (make-f-filter (float-vector 1.0 0.4 0.1)))
 	    (x 1.0)
@@ -14329,9 +14246,9 @@ EDITS: 2
 	(do ((i 1 (+ i 1)))
 	    ((= i 10))
 	  (set! (v0 i) (filter gen 0.0)))
-	(let* ((v1 (make-float-vector 10))
-	       (gen1 (make-filter 3 (float-vector .5 .25 .125) (float-vector .5 .25 .125)))
-	       (inp 1.0))
+	(let ((v1 (make-float-vector 10))
+	      (gen1 (make-filter 3 (float-vector .5 .25 .125) (float-vector .5 .25 .125)))
+	      (inp 1.0))
 	  (fill-float-vector v1 (let ((val (if (filter? gen1) (filter gen1 inp) -1.0)))
 				  (set! inp 0.0)
 				  val))
@@ -14651,7 +14568,7 @@ EDITS: 2
 	  (let ((d (make-delay 1)))
 	    (delay d (filter b 1.0))
 	    (fill-float-vector v (delay d (filter b 0.0))))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000))) ;; ???
+	  (if (not (mus-arrays-equal? v (make-float-vector 10)))
 	      (snd-display ";butter lp: ~A" v)))
 	(set! b (make-butter-lp 4 1000.0))
 	(map-channel (lambda (y) (filter b y)))
@@ -14666,7 +14583,7 @@ EDITS: 2
 	  (let ((d (make-delay 1)))
 	    (delay d (filter b 1.0))
 	    (fill-float-vector v (delay d (filter b 0.0))))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
+	  (if (not (mus-arrays-equal? v (make-float-vector 10)))
 	      (snd-display ";butter bp: ~A" v)))
 	(set! b (make-butter-bp 4 1000.0 1500.0))
 	(map-channel (lambda (y) (filter b y)))
@@ -14907,7 +14824,6 @@ EDITS: 2
 	  (f0 (make-formant 1000.0 .1))
 	  (f1 (make-formant 100.0 .2))
 	  (amps (make-float-vector 2 1.0))
-	  (val 1.0)
 	  (v0 (make-float-vector 10))
 	  (v1 (make-float-vector 10)))
       (set! (fs 0) (make-formant 1000.0 .1))
@@ -14915,7 +14831,8 @@ EDITS: 2
       (set! fs (make-formant-bank fs amps))
       (set! (amps 0) 0.5)
       (set! (amps 1) 0.25)
-      (do ((i 0 (+ i 1)))
+      (do ((val 1.0)
+	   (i 0 (+ i 1)))
 	  ((= i 10))
 	(set! (v0 i) (+ (* 0.5 (formant f0 val)) (* 0.25 (formant f1 val))))
 	(set! (v1 i) (formant-bank fs val))
@@ -14924,15 +14841,15 @@ EDITS: 2
     
     (let ((fs (make-vector 2))
 	  (amps (make-float-vector 2 1.0))
-	  (val 1.0)
 	  (v (make-float-vector 5)))
       (set! (fs 0) (make-formant 1000.0 .1))
       (set! (fs 1) (make-formant 100.0 .2))
       (set! fs (make-formant-bank fs amps))
       (set! (amps 0) 0.5)
       (set! (amps 1) 0.25)
-      (fill-float-vector v (let ((res (formant-bank fs val))) (set! val 0.0) res))
-      (if (not (mus-arrays-equal? v (float-vector 0.368 0.095 -0.346 -0.091 -0.020))) (snd-display ";run formant-bank: ~A" v)))
+      (let ((val 1.0))
+	(fill-float-vector v (let ((res (formant-bank fs val))) (set! val 0.0) res))
+	(if (not (mus-arrays-equal? v (float-vector 0.368 0.095 -0.346 -0.091 -0.020))) (snd-display ";run formant-bank: ~A" v))))
     
     (let ((ob (open-sound "oboe.snd")))
       ;; test courtesy of Anders Vinjar
@@ -14991,7 +14908,7 @@ EDITS: 2
       (if (not (mus-arrays-equal? gen (float-vector 0.080 0.115 0.215 0.364 0.540 0.716 0.865 1.000 1.000 0.865 0.716 0.540 0.364 0.215 0.115 0.080)))
 	  (snd-display ";hamming window: ~A" gen)))
     (let ((gen (make-fft-window rectangular-window 16)))
-      (if (not (mus-arrays-equal? gen (float-vector 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000)))
+      (if (not (mus-arrays-equal? gen (make-float-vector 16 1.0)))
 	  (snd-display ";rectangular window: ~A" gen)))
     (let ((gen (make-fft-window hann-window 16)))
       (if (not (mus-arrays-equal? gen (float-vector 0.000 0.038 0.146 0.309 0.500 0.691 0.854 1.000 1.000 0.854 0.691 0.500 0.309 0.146 0.038 0.000)))
@@ -15230,9 +15147,9 @@ EDITS: 2
       
       (list bohman-window "bohman" (let ((i 0))
 				     (lambda (ang)
-				       (let* ((r (/ (- 8 i) 8))
-					      (result (+ (* (- 1.0 r) (cos (* pi r)))
-							 (* (/ 1.0 pi) (sin (* pi r))))))
+				       (let ((result (let ((r (/ (- 8 i) 8)))
+						       (+ (* (- 1.0 r) (cos (* pi r)))
+							  (* (/ 1.0 pi) (sin (* pi r)))))))
 					 (set! i (+ i 1))
 					 result))))
       
@@ -15359,8 +15276,7 @@ EDITS: 2
      '(32 64 256))
     
     
-    (let ((v0 (make-float-vector 10))
-	  (gen (make-env '(0 0 1 1 2 0) :scaler 0.5 :length 11)))
+    (let ((gen (make-env '(0 0 1 1 2 0) :scaler 0.5 :length 11)))
       (print-and-check gen 
 		       "env"
 		       "env linear, pass: 0 (dur: 11), index: 0, scaler: 0.5000, offset: 0.0000, data: [0 0 1 1 2 0]")
@@ -15368,45 +15284,46 @@ EDITS: 2
       (if (fneq (mus-scaler gen) 0.5) (snd-display ";env scaler ~F?" (mus-scaler gen)))
       (if (fneq (mus-increment gen) 1.0) (snd-display ";env base (1.0): ~A?" (mus-increment gen)))
       (if (not (= (mus-length gen) 11)) (snd-display ";env length: ~A" (mus-length gen)))
-      (do ((i 0 (+ i 1)))
-	  ((= i 10))
-	(set! (v0 i) (env gen)))
-      (let ((off 123.0)
-	    (v1 (make-float-vector 10))
-	    (gen1 (make-env '(0 0 1 1 2 0) :scaler 0.5 :length 11)))
-	(fill-float-vector v1 (begin
-				(set! off (mus-offset gen1))
-				(if (env? gen1) (env gen1) -1.0)))
-	(if (fneq off 0.0) (snd-display ";mus-offset opt: ~A" off))
-	(if (not (mus-arrays-equal? v0 v1)) (snd-display ";map env: ~A ~A" v0 v1)))
-      (if (or (fneq (v0 0) 0.0) (fneq (v0 1) .1) (fneq (v0 6) .4))
-	  (snd-display ";~A output: ~A" gen v0))
-      (if (fneq (env-interp 1.6 gen) 0.2) (snd-display ";env-interp ~A at 1.6: ~F?" gen (env-interp 1.5 gen)))
-      (set! gen (make-env :envelope '(0 1 1 0) :base 32.0 :length 11))
-      (if (fneq (mus-increment gen) 32.0) (snd-display ";env base (32.0): ~A?" (mus-increment gen)))
-      (do ((i 0 (+ i 1)))
-	  ((= i 10))
-	(set! (v0 i) (env gen)))
-      (if (or (fneq (v0 0) 1.0) (fneq (v0 1) .698) (fneq (v0 8) .032))
-	  (snd-display ";~A output: ~A" gen v0))
-      (set! gen (make-env :envelope '(0 1 1 0) :base .0325 :length 11))
-      (if (fneq (mus-increment gen) .0325) (snd-display ";env base (.0325): ~A?" (mus-increment gen)))
-      (do ((i 0 (+ i 1)))
-	  ((= i 10))
-	(set! (v0 i) (env gen)))
-      (if (or (fneq (v0 0) 1.0) (fneq (v0 1) .986) (fneq (v0 8) .513))
-	  (snd-display ";~A output: ~A" gen v0))
-      (set! gen (make-env :envelope '(0 1 1 .5 2 0) :base 0.0 :length 11 :offset 1.0))
-      (if (fneq (mus-offset gen) 1.0) (snd-display ";mus-offset: ~A" (mus-offset gen)))
-      (if (fneq (mus-increment gen) 0.0) (snd-display ";env base (0.0): ~A?" (mus-increment gen)))
-      (do ((i 0 (+ i 1)))
-	  ((= i 10))
-	(if (and (= i 3)
-		 (not (= (mus-location gen) 3)))
-	    (snd-display ";env location: ~A?" (mus-location gen)))
-	(set! (v0 i) (env gen)))
-      (if (or (fneq (v0 0) 2.0) (fneq (v0 6) 1.5) (fneq (v0 8) 1.5))
-	  (snd-display ";~A output: ~A" gen v0))
+      (let ((v0 (make-float-vector 10)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v0 i) (env gen)))
+	(let ((off 123.0)
+	      (v1 (make-float-vector 10))
+	      (gen1 (make-env '(0 0 1 1 2 0) :scaler 0.5 :length 11)))
+	  (fill-float-vector v1 (begin
+				  (set! off (mus-offset gen1))
+				  (if (env? gen1) (env gen1) -1.0)))
+	  (if (fneq off 0.0) (snd-display ";mus-offset opt: ~A" off))
+	  (if (not (mus-arrays-equal? v0 v1)) (snd-display ";map env: ~A ~A" v0 v1)))
+	(if (or (fneq (v0 0) 0.0) (fneq (v0 1) .1) (fneq (v0 6) .4))
+	    (snd-display ";~A output: ~A" gen v0))
+	(if (fneq (env-interp 1.6 gen) 0.2) (snd-display ";env-interp ~A at 1.6: ~F?" gen (env-interp 1.5 gen)))
+	(set! gen (make-env :envelope '(0 1 1 0) :base 32.0 :length 11))
+	(if (fneq (mus-increment gen) 32.0) (snd-display ";env base (32.0): ~A?" (mus-increment gen)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v0 i) (env gen)))
+	(if (or (fneq (v0 0) 1.0) (fneq (v0 1) .698) (fneq (v0 8) .032))
+	    (snd-display ";~A output: ~A" gen v0))
+	(set! gen (make-env :envelope '(0 1 1 0) :base .0325 :length 11))
+	(if (fneq (mus-increment gen) .0325) (snd-display ";env base (.0325): ~A?" (mus-increment gen)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v0 i) (env gen)))
+	(if (or (fneq (v0 0) 1.0) (fneq (v0 1) .986) (fneq (v0 8) .513))
+	    (snd-display ";~A output: ~A" gen v0))
+	(set! gen (make-env :envelope '(0 1 1 .5 2 0) :base 0.0 :length 11 :offset 1.0))
+	(if (fneq (mus-offset gen) 1.0) (snd-display ";mus-offset: ~A" (mus-offset gen)))
+	(if (fneq (mus-increment gen) 0.0) (snd-display ";env base (0.0): ~A?" (mus-increment gen)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (if (and (= i 3)
+		   (not (= (mus-location gen) 3)))
+	      (snd-display ";env location: ~A?" (mus-location gen)))
+	  (set! (v0 i) (env gen)))
+	(if (or (fneq (v0 0) 2.0) (fneq (v0 6) 1.5) (fneq (v0 8) 1.5))
+	    (snd-display ";~A output: ~A" gen v0)))
       (if (fneq (env-interp 1.5 gen) 1.5) (snd-display ";env-interp ~A at 1.5: ~F?" gen (env-interp 1.5 gen)))
       (set! (mus-location gen) 6)
       (if (not (= (mus-location gen) 6)) (snd-display ";set! mus-location ~A (6)?" (mus-location gen)))
@@ -15430,327 +15347,327 @@ EDITS: 2
 	    ((= i 10))
 	  (let ((val (env gen)))
 	    (if (fneq val (v i)) (snd-display ";neg exp env: ~D ~A" i val))))
-	(mus-apply gen))
-      
-      (let ((v (make-float-vector 10)))
-	(let ((e (make-env '(0 0 1 1) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.111 0.222 0.333 0.444 0.556 0.667 0.778 0.889 1.000)))
-	      (snd-display ";simple ramp: ~A" v)))
-	(let* ((v (make-float-vector 10))
-	       (e (make-env '(0 0 1 1) :base 0 :length 8)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 1.000)))
-	      (snd-display ";simple ramp, base 0: ~A" v)))
-	(let* ((v (make-float-vector 10))
-	       (e (make-env '(0 0 1 1 2 .5) :base 0 :length 8)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 1.000 1.000 1.000 1.000 0.500 0.500)))
-	      (snd-display ";two-step, base 0: ~A" v)))
-	(let ((e (make-env '((0 0) (1 1)) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.111 0.222 0.333 0.444 0.556 0.667 0.778 0.889 1.000)))
-	      (snd-display ";simple ramp embedded: ~A" v)))
-	(let ((e (make-env '(0 1 1 0) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 1.000 0.889 0.778 0.667 0.556 0.444 0.333 0.222 0.111 0.000)))
-	      (snd-display ";simple ramp down: ~A" v)))
-	(let ((e (make-env '(0 0 1 1 2 0) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
-	      (snd-display ";simple pyr: ~A" v)))
-	(let ((e (make-env '((0 0) (1 1) (2 0)) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
-	      (snd-display ";simple pyr embedded: ~A" v)))
-	(let ((e (make-env '(0 0 1 1 2 -.5) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
-	      (snd-display ";simple pyr -.5: ~A" v)))
-	(let ((e (make-env '((0 0) (1 1) (2 -.5)) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
-	      (snd-display ";simple pyr -.5 embedded: ~A" v)))
-	(let ((e (make-env '(0 0 1 1 2 -.5) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
-	      (snd-display ";simple pyr -.5: ~A" v))))
-      
-      (let ((v (make-float-vector 10)))
-	(let ((e (make-env (float-vector 0 0 1 1) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.111 0.222 0.333 0.444 0.556 0.667 0.778 0.889 1.000)))
-	      (snd-display ";simple ramp: ~A" v)))
-	(let* ((v (make-float-vector 10))
-	       (e (make-env (float-vector 0 0 1 1) :base 0 :length 8)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 1.000)))
-	      (snd-display ";simple ramp, base 0: ~A" v)))
-	(let* ((v (make-float-vector 10))
-	       (e (make-env (float-vector 0 0 1 1 2 .5) :base 0 :length 8)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 1.000 1.000 1.000 1.000 0.500 0.500)))
-	      (snd-display ";two-step, base 0: ~A" v)))
-	(let ((e (make-env (float-vector 0 1 1 0) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 1.000 0.889 0.778 0.667 0.556 0.444 0.333 0.222 0.111 0.000)))
-	      (snd-display ";simple ramp down: ~A" v)))
-	(let ((e (make-env (float-vector 0 0 1 1 2 0) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
-	      (snd-display ";simple pyr: ~A" v)))
-	(let ((e (make-env (float-vector 0 0 1 1 2 -.5) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
-	      (snd-display ";simple pyr -.5: ~A" v)))
-	(let ((e (make-env (float-vector 0 0 1 1 2 -.5) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
-	      (snd-display ";simple pyr -.5: ~A" v))))
-      
-      (let ((v (make-float-vector 10)))
-	(let ((e (make-env (vector 0 0 1 1) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.111 0.222 0.333 0.444 0.556 0.667 0.778 0.889 1.000)))
-	      (snd-display ";simple ramp: ~A" v)))
-	(let* ((v (make-float-vector 10))
-	       (e (make-env (vector 0 0 1 1) :base 0 :length 8)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 1.000)))
-	      (snd-display ";simple ramp, base 0: ~A" v)))
-	(let* ((v (make-float-vector 10))
-	       (e (make-env (vector 0 0 1 1 2 .5) :base 0 :length 8)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 1.000 1.000 1.000 1.000 0.500 0.500)))
-	      (snd-display ";two-step, base 0: ~A" v)))
-	(let ((e (make-env (vector 0 1 1 0) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 1.000 0.889 0.778 0.667 0.556 0.444 0.333 0.222 0.111 0.000)))
-	      (snd-display ";simple ramp down: ~A" v)))
-	(let ((e (make-env (vector 0 0 1 1 2 0) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
-	      (snd-display ";simple pyr: ~A" v)))
-	(let ((e (make-env (vector 0 0 1 1 2 -.5) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
-	      (snd-display ";simple pyr -.5: ~A" v)))
-	(let ((e (make-env (vector 0 0 1 1 2 -.5) :length 10)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (v i) (env e)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
-	      (snd-display ";simple pyr -.5: ~A" v))))
+	(mus-apply gen)))
       
+    (let ((v (make-float-vector 10)))
       (let ((e (make-env '(0 0 1 1) :length 10)))
-	(if (fneq (env-interp 1.0 e) 1.0) (snd-display ";env-interp 0011 at 1: ~A" (env-interp 1.0 e)))
-	(if (fneq (env-interp 2.0 e) 1.0) (snd-display ";env-interp 0011 at 2: ~A" (env-interp 2.0 e)))
-	(if (fneq (env-interp 0.0 e) 0.0) (snd-display ";env-interp 0011 at 0: ~A" (env-interp 0.0 e)))
-	(if (fneq (env-interp 0.444 e) 0.444) (snd-display ";env-interp 0011 at .444: ~A" (env-interp 0.45 e)))
-	(mus-reset e)
 	(do ((i 0 (+ i 1)))
 	    ((= i 10))
-	  (let ((val (env e)))
-	    (if (fneq val (* i .111111)) (snd-display ";ramp env over 10: ~A at ~A" val i)))))
-      (let ((e (make-env '(0 0 .5 .5 1 1) :base 32 :length 10))
-	    (v (float-vector 0.0 0.0243 0.0667 0.1412 0.2716 0.5000 0.5958 0.7090 0.8425 1.0)))
-	(do ((i 0 (+ i 1))
-	     (x 0.0 (+ x 0.11111)))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.111 0.222 0.333 0.444 0.556 0.667 0.778 0.889 1.000)))
+	    (snd-display ";simple ramp: ~A" v)))
+      (let* ((v (make-float-vector 10))
+	     (e (make-env '(0 0 1 1) :base 0 :length 8)))
+	(do ((i 0 (+ i 1)))
 	    ((= i 10))
-	  (let ((val (env-interp x e)))
-	    (if (fneq val (v i)) (snd-display ";(0 .5 1) env-interp over 10: ~A at ~A (~A)" val i (v i))))))
-      (let ((e (make-env '(0 -1.0 1 1) :base 32 :length 10))
-	    (v (float-vector -1.0 -0.9697 -0.9252 -0.8597 -0.7635 -0.6221 -0.4142 -0.1088 0.34017 1.0)))
-	(do ((i 0 (+ i 1))
-	     (x 0.0 (+ x 0.11111)))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 1.000)))
+	    (snd-display ";simple ramp, base 0: ~A" v)))
+      (let* ((v (make-float-vector 10))
+	     (e (make-env '(0 0 1 1 2 .5) :base 0 :length 8)))
+	(do ((i 0 (+ i 1)))
 	    ((= i 10))
-	  (let ((val (env-interp x e)))
-	    (if (fneq val (v i)) (snd-display ";(-1 1) env-interp over 10: ~A at ~A (~A)" val i (v i))))))
-      (let ((e (make-env '(0 -1.0 .5 .5 1 0) :base 32 :length 10))
-	    (v (float-vector -1.0 -0.952 -0.855 -0.661 -0.274 0.5 0.356 0.226 0.107 0.0)))
-	(do ((i 0 (+ i 1))
-	     (x 0.0 (+ x 0.11111)))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 1.000 1.000 1.000 1.000 0.500 0.500)))
+	    (snd-display ";two-step, base 0: ~A" v)))
+      (let ((e (make-env '((0 0) (1 1)) :length 10)))
+	(do ((i 0 (+ i 1)))
 	    ((= i 10))
-	  (let ((val (env-interp x e)))
-	    (if (fneq val (v i)) (snd-display ";(-1 .5 0) env-interp over 10: ~A at ~A (~A)" val i (v i))))))
-      (let ((e (make-env '(0 0.0 .5 .5 1 -1.0) :base 32 :length 10))
-	    (v (float-vector 0.0 0.085 0.177 0.276 0.384 0.5 -0.397 -0.775 -0.933 -1.0)))
-	(do ((i 0 (+ i 1))
-	     (x 0.0 (+ x 0.11111)))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.111 0.222 0.333 0.444 0.556 0.667 0.778 0.889 1.000)))
+	    (snd-display ";simple ramp embedded: ~A" v)))
+      (let ((e (make-env '(0 1 1 0) :length 10)))
+	(do ((i 0 (+ i 1)))
 	    ((= i 10))
-	  (let ((val (env-interp x e)))
-	    (if (fneq val (v i)) (snd-display ";(0 .5 -1) env-interp over 10: ~A at ~A (~A)" val i (v i))))))
-      (let ((e (make-env '(0 0 1 1) :length 10 :base 4.0)))
-	(if (fneq (env-interp 1.0 e) 1.0) (snd-display ";env-interp 0011 4 at 1: ~A" (env-interp 1.0 e)))
-	(if (fneq (env-interp 0.0 e) 0.0) (snd-display ";env-interp 0011 4 at 0: ~A" (env-interp 0.0 e)))
-	(if (fneq (env-interp 0.45 e) 0.2839) (snd-display ";env-interp 0011 4 at .45: ~A" (env-interp 0.45 e))))
-      (let ((e (make-env '(0 0 1 1) :length 10 :base 0.2)))
-	(if (fneq (env-interp 1.0 e) 1.0) (snd-display ";env-interp 0011 2 at 1: ~A" (env-interp 1.0 e)))
-	(if (fneq (env-interp 0.0 e) 0.0) (snd-display ";env-interp 0011 2 at 0: ~A" (env-interp 0.0 e)))
-	(if (fneq (env-interp 0.45 e) 0.6387) (snd-display ";env-interp 0011 2 at .45: ~A" (env-interp 0.45 e))))
-      
-      (let ((val (let ((e (make-env '(0 0 1 1) :length 10 :offset 2.0))) (set! (mus-offset e) 3.0) (mus-offset e))))
-	(if (fneq val 3.0) (snd-display ";set mus-offset env: ~A" val)))
-      
-      (let ((e (make-env '(0 0 1 1 2 0) :length 10))
-	    (v (make-float-vector 10)))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 1.000 0.889 0.778 0.667 0.556 0.444 0.333 0.222 0.111 0.000)))
+	    (snd-display ";simple ramp down: ~A" v)))
+      (let ((e (make-env '(0 0 1 1 2 0) :length 10)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
+	    (snd-display ";simple pyr: ~A" v)))
+      (let ((e (make-env '((0 0) (1 1) (2 0)) :length 10)))
 	(do ((i 0 (+ i 1)))
 	    ((= i 10))
 	  (set! (v i) (env e)))
 	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
-	    (snd-display ";e set off 0: ~A" v))
-	(if (not (= (mus-length e) 10)) (snd-display ";e set off 0 len: ~A" (mus-length e)))
-	(if (fneq (mus-scaler e) 1.0) (snd-display ";e set off 0 scl: ~A" (mus-scaler e)))
-	(if (fneq (mus-offset e) 0.0) (snd-display ";e set off 0 off: ~A" (mus-offset e)))
-	(set! (mus-scaler e) 2.0)
+	    (snd-display ";simple pyr embedded: ~A" v)))
+      (let ((e (make-env '(0 0 1 1 2 -.5) :length 10)))
 	(do ((i 0 (+ i 1)))
 	    ((= i 10))
 	  (set! (v i) (env e)))
-	(if (not (mus-arrays-equal? v (float-vector 0.000 0.400 0.800 1.200 1.600 2.000 1.500 1.000 0.500 0.000)))
-	    (snd-display ";e set off 1: ~A" v))
-	(if (not (= (mus-length e) 10)) (snd-display ";e set off 1 len: ~A" (mus-length e)))
-	(if (fneq (mus-scaler e) 2.0) (snd-display ";e set off 1 scl: ~A" (mus-scaler e)))
-	(if (fneq (mus-offset e) 0.0) (snd-display ";e set off 1 off: ~A" (mus-offset e)))
-	(set! (mus-offset e) 1.0)
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
+	    (snd-display ";simple pyr -.5: ~A" v)))
+      (let ((e (make-env '((0 0) (1 1) (2 -.5)) :length 10)))
 	(do ((i 0 (+ i 1)))
 	    ((= i 10))
 	  (set! (v i) (env e)))
-	(if (not (mus-arrays-equal? v (float-vector 1.000 1.400 1.800 2.200 2.600 3.000 2.500 2.000 1.500 1.000)))
-	    (snd-display ";e set off 2: ~A" v))
-	(if (not (= (mus-length e) 10)) (snd-display ";e set off 2 len: ~A" (mus-length e)))
-	(if (fneq (mus-scaler e) 2.0) (snd-display ";e set off 2 scl: ~A" (mus-scaler e)))
-	(if (fneq (mus-offset e) 1.0) (snd-display ";e set off 2 off: ~A" (mus-offset e)))
-	(set! (mus-length e) 19)
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
+	    (snd-display ";simple pyr -.5 embedded: ~A" v)))
+      (let ((e (make-env '(0 0 1 1 2 -.5) :length 10)))
 	(do ((i 0 (+ i 1)))
 	    ((= i 10))
 	  (set! (v i) (env e)))
-	(if (not (mus-arrays-equal? v (float-vector 1.000 1.222 1.444 1.667 1.889 2.111 2.333 2.556 2.778 3.000)))
-	    (snd-display ";e set off 3: ~A" v))
-	(if (not (= (mus-length e) 19)) (snd-display ";e set off 3 len: ~A" (mus-length e)))
-	(if (fneq (mus-scaler e) 2.0) (snd-display ";e set off 3 scl: ~A" (mus-scaler e)))
-	(if (fneq (mus-offset e) 1.0) (snd-display ";e set off 3 off: ~A" (mus-offset e))))
-      
-      (let ((e (make-env (float-vector 0 0 1 1 2 0) :length 10))
-	    (v (make-float-vector 10)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
+	    (snd-display ";simple pyr -.5: ~A" v))))
+    
+    (let ((v (make-float-vector 10)))
+      (let ((e (make-env (float-vector 0 0 1 1) :length 10)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.111 0.222 0.333 0.444 0.556 0.667 0.778 0.889 1.000)))
+	    (snd-display ";simple ramp: ~A" v)))
+      (let* ((v (make-float-vector 10))
+	     (e (make-env (float-vector 0 0 1 1) :base 0 :length 8)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 1.000)))
+	    (snd-display ";simple ramp, base 0: ~A" v)))
+      (let* ((v (make-float-vector 10))
+	     (e (make-env (float-vector 0 0 1 1 2 .5) :base 0 :length 8)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 1.000 1.000 1.000 1.000 0.500 0.500)))
+	    (snd-display ";two-step, base 0: ~A" v)))
+      (let ((e (make-env (float-vector 0 1 1 0) :length 10)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 1.000 0.889 0.778 0.667 0.556 0.444 0.333 0.222 0.111 0.000)))
+	    (snd-display ";simple ramp down: ~A" v)))
+      (let ((e (make-env (float-vector 0 0 1 1 2 0) :length 10)))
 	(do ((i 0 (+ i 1)))
 	    ((= i 10))
 	  (set! (v i) (env e)))
 	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
-	    (snd-display ";e from float-vector: ~A" v)))
-      
-      (let ((e1 (make-env '(0 0 1 1) :base 32.0 :length 11))
-	    (v (float-vector 0.000 0.013 0.032 0.059 0.097 0.150 0.226 0.333 0.484 0.698 1.00)))
+	    (snd-display ";simple pyr: ~A" v)))
+      (let ((e (make-env (float-vector 0 0 1 1 2 -.5) :length 10)))
 	(do ((i 0 (+ i 1)))
-	    ((> i 10))
-	  (let ((val (env e1)))
-	    (if (fneq val (v i))
-		(snd-display ";exp env direct (32.0): ~A ~A" val (v i))))))
-      
-      (let ((e1 (make-env '(0 1 1 2) :base 32.0 :length 11))
-	    (v (float-vector 1.000 1.013 1.032 1.059 1.097 1.150 1.226 1.333 1.484 1.698 2.00)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
+	    (snd-display ";simple pyr -.5: ~A" v)))
+      (let ((e (make-env (float-vector 0 0 1 1 2 -.5) :length 10)))
 	(do ((i 0 (+ i 1)))
-	    ((> i 10))
-	  (let ((val (env e1)))
-	    (if (fneq val (v i))
-		(snd-display ";exp env direct (32.0) offset: ~A ~A" val (v i))))))
-      (let ((e1 (make-env '((0 1) (1 2)) :base 32.0 :length 11))
-	    (v (float-vector 1.000 1.013 1.032 1.059 1.097 1.150 1.226 1.333 1.484 1.698 2.00)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
+	    (snd-display ";simple pyr -.5: ~A" v))))
+    
+    (let ((v (make-float-vector 10)))
+      (let ((e (make-env (vector 0 0 1 1) :length 10)))
 	(do ((i 0 (+ i 1)))
-	    ((> i 10))
-	  (let ((val (env e1)))
-	    (if (fneq val (v i))
-		(snd-display ";exp env direct (32.0) offset embedded: ~A ~A" val (v i))))))
-      (let ((e1 (make-env '(0 1 1 2) :base 32.0 :length 11))
-	    (v (float-vector 1.000 1.013 1.032 1.059 1.097 1.150 1.226 1.333 1.484 1.698 2.00)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.111 0.222 0.333 0.444 0.556 0.667 0.778 0.889 1.000)))
+	    (snd-display ";simple ramp: ~A" v)))
+      (let* ((v (make-float-vector 10))
+	     (e (make-env (vector 0 0 1 1) :base 0 :length 8)))
 	(do ((i 0 (+ i 1)))
-	    ((> i 10))
-	  (let ((val (env e1)))
-	    (if (fneq val (v i))
-		(snd-display ";exp env direct (32.0) offset (and dur): ~A ~A" val (v i))))))
-      
-      (let ((e1 (make-env '(0 0 1 1) :base 0.032 :length 11))
-	    (v (float-vector 0.000 0.301 0.514 0.665 0.772 0.848 0.902 0.940 0.967 0.986 1.0)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 1.000)))
+	    (snd-display ";simple ramp, base 0: ~A" v)))
+      (let* ((v (make-float-vector 10))
+	     (e (make-env (vector 0 0 1 1 2 .5) :base 0 :length 8)))
 	(do ((i 0 (+ i 1)))
-	    ((> i 10))
-	  (let ((val (env e1)))
-	    (if (fneq val (v i))
-		(snd-display ";exp env direct (.032): ~A ~A" val (v i))))))
-      
-      (let ((e1 (make-env '(0 0 1 1) :base .03125 :length 11))
-	    (e2 (make-env '(0 0 1 1 2 0) :base 32.0 :length 11))
-	    (e3 (make-env '(0 0 .1 1 2 0) :base 1.1 :length 101)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.000 0.000 0.000 1.000 1.000 1.000 1.000 0.500 0.500)))
+	    (snd-display ";two-step, base 0: ~A" v)))
+      (let ((e (make-env (vector 0 1 1 0) :length 10)))
 	(do ((i 0 (+ i 1)))
 	    ((= i 10))
-	  (let ((lv1 (env-interp (* i .1) e1))
-		(lv2 (env e1))
-		(lv3 (env-interp (* i .2) e2))
-		(lv4 (env e2)))
-	    (if (ffneq lv1 lv2) (snd-display ";env-interp[rmp ~F]: ~A (~A)?" (* .1 i) lv1 lv2))
-	    (if (ffneq lv3 lv4) (snd-display ";env-interp[pyr ~F]: ~A (~A)?" (* .2 i) lv3 lv4))))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 1.000 0.889 0.778 0.667 0.556 0.444 0.333 0.222 0.111 0.000)))
+	    (snd-display ";simple ramp down: ~A" v)))
+      (let ((e (make-env (vector 0 0 1 1 2 0) :length 10)))
 	(do ((i 0 (+ i 1)))
-	    ((= i 100))
-	  (let ((lv5 (env-interp (* i .02) e3))
-		(lv6 (env e3)))
-	    (if (ffneq lv5 lv6) (snd-display ";env-interp[tri ~F]: ~A (~A)?" (* .02 i) lv5 lv6)))))
-      
-      (let ((e1 (make-env '(0 0 1 1 2 0) :length 10))
-	    (lv1 (make-float-vector 11))
-	    (lv2 (make-float-vector 11))
-	    (lv3 (make-float-vector 11)))
-	(do ((i 0 (+ i 1))) ((= i 11)) (set! (lv1 i) (env e1)))
-	(do ((i 0 (+ i 1))) ((= i 11)) (set! (lv2 i) (env e1)))
-	(mus-reset e1)
-	(do ((i 0 (+ i 1))) ((= i 11)) (set! (lv3 i) (env e1)))
-	(if (not (mus-arrays-equal? lv1 lv3)) (snd-display ";mus-reset: ~A ~A?" lv1 lv3))
-	(if (not (mus-arrays-equal? lv2 (make-float-vector 11))) (snd-display ";mus-reset 1: ~A?" lv2)))
-      
-      (set! gen (make-env '(0 0 1 1 2 0) :length 11))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
+	    (snd-display ";simple pyr: ~A" v)))
+      (let ((e (make-env (vector 0 0 1 1 2 -.5) :length 10)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
+	    (snd-display ";simple pyr -.5: ~A" v)))
+      (let ((e (make-env (vector 0 0 1 1 2 -.5) :length 10)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (v i) (env e)))
+	(if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.625 0.250 -0.125 -0.500)))
+	    (snd-display ";simple pyr -.5: ~A" v))))
+    
+    (let ((e (make-env '(0 0 1 1) :length 10)))
+      (if (fneq (env-interp 1.0 e) 1.0) (snd-display ";env-interp 0011 at 1: ~A" (env-interp 1.0 e)))
+      (if (fneq (env-interp 2.0 e) 1.0) (snd-display ";env-interp 0011 at 2: ~A" (env-interp 2.0 e)))
+      (if (fneq (env-interp 0.0 e) 0.0) (snd-display ";env-interp 0011 at 0: ~A" (env-interp 0.0 e)))
+      (if (fneq (env-interp 0.444 e) 0.444) (snd-display ";env-interp 0011 at .444: ~A" (env-interp 0.45 e)))
+      (mus-reset e)
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
+	(let ((val (env e)))
+	  (if (fneq val (* i .111111)) (snd-display ";ramp env over 10: ~A at ~A" val i)))))
+    (let ((e (make-env '(0 0 .5 .5 1 1) :base 32 :length 10))
+	  (v (float-vector 0.0 0.0243 0.0667 0.1412 0.2716 0.5000 0.5958 0.7090 0.8425 1.0)))
+      (do ((i 0 (+ i 1))
+	   (x 0.0 (+ x 0.11111)))
+	  ((= i 10))
+	(let ((val (env-interp x e)))
+	  (if (fneq val (v i)) (snd-display ";(0 .5 1) env-interp over 10: ~A at ~A (~A)" val i (v i))))))
+    (let ((e (make-env '(0 -1.0 1 1) :base 32 :length 10))
+	  (v (float-vector -1.0 -0.9697 -0.9252 -0.8597 -0.7635 -0.6221 -0.4142 -0.1088 0.34017 1.0)))
+      (do ((i 0 (+ i 1))
+	   (x 0.0 (+ x 0.11111)))
+	  ((= i 10))
+	(let ((val (env-interp x e)))
+	  (if (fneq val (v i)) (snd-display ";(-1 1) env-interp over 10: ~A at ~A (~A)" val i (v i))))))
+    (let ((e (make-env '(0 -1.0 .5 .5 1 0) :base 32 :length 10))
+	  (v (float-vector -1.0 -0.952 -0.855 -0.661 -0.274 0.5 0.356 0.226 0.107 0.0)))
+      (do ((i 0 (+ i 1))
+	   (x 0.0 (+ x 0.11111)))
+	  ((= i 10))
+	(let ((val (env-interp x e)))
+	  (if (fneq val (v i)) (snd-display ";(-1 .5 0) env-interp over 10: ~A at ~A (~A)" val i (v i))))))
+    (let ((e (make-env '(0 0.0 .5 .5 1 -1.0) :base 32 :length 10))
+	  (v (float-vector 0.0 0.085 0.177 0.276 0.384 0.5 -0.397 -0.775 -0.933 -1.0)))
+      (do ((i 0 (+ i 1))
+	   (x 0.0 (+ x 0.11111)))
+	  ((= i 10))
+	(let ((val (env-interp x e)))
+	  (if (fneq val (v i)) (snd-display ";(0 .5 -1) env-interp over 10: ~A at ~A (~A)" val i (v i))))))
+    (let ((e (make-env '(0 0 1 1) :length 10 :base 4.0)))
+      (if (fneq (env-interp 1.0 e) 1.0) (snd-display ";env-interp 0011 4 at 1: ~A" (env-interp 1.0 e)))
+      (if (fneq (env-interp 0.0 e) 0.0) (snd-display ";env-interp 0011 4 at 0: ~A" (env-interp 0.0 e)))
+      (if (fneq (env-interp 0.45 e) 0.2839) (snd-display ";env-interp 0011 4 at .45: ~A" (env-interp 0.45 e))))
+    (let ((e (make-env '(0 0 1 1) :length 10 :base 0.2)))
+      (if (fneq (env-interp 1.0 e) 1.0) (snd-display ";env-interp 0011 2 at 1: ~A" (env-interp 1.0 e)))
+      (if (fneq (env-interp 0.0 e) 0.0) (snd-display ";env-interp 0011 2 at 0: ~A" (env-interp 0.0 e)))
+      (if (fneq (env-interp 0.45 e) 0.6387) (snd-display ";env-interp 0011 2 at .45: ~A" (env-interp 0.45 e))))
+    
+    (let ((val (let ((e (make-env '(0 0 1 1) :length 10 :offset 2.0))) (set! (mus-offset e) 3.0) (mus-offset e))))
+      (if (fneq val 3.0) (snd-display ";set mus-offset env: ~A" val)))
+      
+    (let ((e (make-env '(0 0 1 1 2 0) :length 10))
+	  (v (make-float-vector 10)))
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
+	(set! (v i) (env e)))
+      (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
+	  (snd-display ";e set off 0: ~A" v))
+      (if (not (= (mus-length e) 10)) (snd-display ";e set off 0 len: ~A" (mus-length e)))
+      (if (fneq (mus-scaler e) 1.0) (snd-display ";e set off 0 scl: ~A" (mus-scaler e)))
+      (if (fneq (mus-offset e) 0.0) (snd-display ";e set off 0 off: ~A" (mus-offset e)))
+      (set! (mus-scaler e) 2.0)
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
+	(set! (v i) (env e)))
+      (if (not (mus-arrays-equal? v (float-vector 0.000 0.400 0.800 1.200 1.600 2.000 1.500 1.000 0.500 0.000)))
+	  (snd-display ";e set off 1: ~A" v))
+      (if (not (= (mus-length e) 10)) (snd-display ";e set off 1 len: ~A" (mus-length e)))
+      (if (fneq (mus-scaler e) 2.0) (snd-display ";e set off 1 scl: ~A" (mus-scaler e)))
+      (if (fneq (mus-offset e) 0.0) (snd-display ";e set off 1 off: ~A" (mus-offset e)))
+      (set! (mus-offset e) 1.0)
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
+	(set! (v i) (env e)))
+      (if (not (mus-arrays-equal? v (float-vector 1.000 1.400 1.800 2.200 2.600 3.000 2.500 2.000 1.500 1.000)))
+	  (snd-display ";e set off 2: ~A" v))
+      (if (not (= (mus-length e) 10)) (snd-display ";e set off 2 len: ~A" (mus-length e)))
+      (if (fneq (mus-scaler e) 2.0) (snd-display ";e set off 2 scl: ~A" (mus-scaler e)))
+      (if (fneq (mus-offset e) 1.0) (snd-display ";e set off 2 off: ~A" (mus-offset e)))
+      (set! (mus-length e) 19)
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
+	(set! (v i) (env e)))
+      (if (not (mus-arrays-equal? v (float-vector 1.000 1.222 1.444 1.667 1.889 2.111 2.333 2.556 2.778 3.000)))
+	  (snd-display ";e set off 3: ~A" v))
+      (if (not (= (mus-length e) 19)) (snd-display ";e set off 3 len: ~A" (mus-length e)))
+      (if (fneq (mus-scaler e) 2.0) (snd-display ";e set off 3 scl: ~A" (mus-scaler e)))
+      (if (fneq (mus-offset e) 1.0) (snd-display ";e set off 3 off: ~A" (mus-offset e))))
+    
+    (let ((e (make-env (float-vector 0 0 1 1 2 0) :length 10))
+	  (v (make-float-vector 10)))
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
+	(set! (v i) (env e)))
+      (if (not (mus-arrays-equal? v (float-vector 0.000 0.200 0.400 0.600 0.800 1.000 0.750 0.500 0.250 0.000)))
+	  (snd-display ";e from float-vector: ~A" v)))
+    
+    (let ((e1 (make-env '(0 0 1 1) :base 32.0 :length 11))
+	  (v (float-vector 0.000 0.013 0.032 0.059 0.097 0.150 0.226 0.333 0.484 0.698 1.00)))
+      (do ((i 0 (+ i 1)))
+	  ((> i 10))
+	(let ((val (env e1)))
+	  (if (fneq val (v i))
+	      (snd-display ";exp env direct (32.0): ~A ~A" val (v i))))))
+    
+    (let ((e1 (make-env '(0 1 1 2) :base 32.0 :length 11))
+	  (v (float-vector 1.000 1.013 1.032 1.059 1.097 1.150 1.226 1.333 1.484 1.698 2.00)))
+      (do ((i 0 (+ i 1)))
+	  ((> i 10))
+	(let ((val (env e1)))
+	  (if (fneq val (v i))
+	      (snd-display ";exp env direct (32.0) offset: ~A ~A" val (v i))))))
+    (let ((e1 (make-env '((0 1) (1 2)) :base 32.0 :length 11))
+	  (v (float-vector 1.000 1.013 1.032 1.059 1.097 1.150 1.226 1.333 1.484 1.698 2.00)))
+      (do ((i 0 (+ i 1)))
+	  ((> i 10))
+	(let ((val (env e1)))
+	  (if (fneq val (v i))
+	      (snd-display ";exp env direct (32.0) offset embedded: ~A ~A" val (v i))))))
+    (let ((e1 (make-env '(0 1 1 2) :base 32.0 :length 11))
+	  (v (float-vector 1.000 1.013 1.032 1.059 1.097 1.150 1.226 1.333 1.484 1.698 2.00)))
+      (do ((i 0 (+ i 1)))
+	  ((> i 10))
+	(let ((val (env e1)))
+	  (if (fneq val (v i))
+	      (snd-display ";exp env direct (32.0) offset (and dur): ~A ~A" val (v i))))))
+    
+    (let ((e1 (make-env '(0 0 1 1) :base 0.032 :length 11))
+	  (v (float-vector 0.000 0.301 0.514 0.665 0.772 0.848 0.902 0.940 0.967 0.986 1.0)))
+      (do ((i 0 (+ i 1)))
+	  ((> i 10))
+	(let ((val (env e1)))
+	  (if (fneq val (v i))
+	      (snd-display ";exp env direct (.032): ~A ~A" val (v i))))))
+    
+    (let ((e1 (make-env '(0 0 1 1) :base .03125 :length 11))
+	  (e2 (make-env '(0 0 1 1 2 0) :base 32.0 :length 11))
+	  (e3 (make-env '(0 0 .1 1 2 0) :base 1.1 :length 101)))
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
+	(let ((lv1 (env-interp (* i .1) e1))
+	      (lv2 (env e1))
+	      (lv3 (env-interp (* i .2) e2))
+	      (lv4 (env e2)))
+	  (if (ffneq lv1 lv2) (snd-display ";env-interp[rmp ~F]: ~A (~A)?" (* .1 i) lv1 lv2))
+	  (if (ffneq lv3 lv4) (snd-display ";env-interp[pyr ~F]: ~A (~A)?" (* .2 i) lv3 lv4))))
+      (do ((i 0 (+ i 1)))
+	  ((= i 100))
+	(let ((lv5 (env-interp (* i .02) e3))
+	      (lv6 (env e3)))
+	  (if (ffneq lv5 lv6) (snd-display ";env-interp[tri ~F]: ~A (~A)?" (* .02 i) lv5 lv6)))))
+    
+    (let ((e1 (make-env '(0 0 1 1 2 0) :length 10))
+	  (lv1 (make-float-vector 11))
+	  (lv2 (make-float-vector 11))
+	  (lv3 (make-float-vector 11)))
+      (do ((i 0 (+ i 1))) ((= i 11)) (set! (lv1 i) (env e1)))
+      (do ((i 0 (+ i 1))) ((= i 11)) (set! (lv2 i) (env e1)))
+      (mus-reset e1)
+      (do ((i 0 (+ i 1))) ((= i 11)) (set! (lv3 i) (env e1)))
+      (if (not (mus-arrays-equal? lv1 lv3)) (snd-display ";mus-reset: ~A ~A?" lv1 lv3))
+      (if (not (mus-arrays-equal? lv2 (make-float-vector 11))) (snd-display ";mus-reset 1: ~A?" lv2)))
+    
+    (let ((gen (make-env '(0 0 1 1 2 0) :length 11)))
       (do ((i 0 (+ i 1))) ((= i 4)) (env gen))
       (let ((val (env gen)))
 	(if (fneq val .8) (snd-display ";env(5): ~A?" val))
@@ -15761,7 +15678,7 @@ EDITS: 2
 	(set! (mus-location gen) 6)
 	(let ((val (env gen)))
 	  (if (fneq val 0.8) (snd-display ";set! mus-location 6 -> ~A (0.8)?" val)))))
-    
+  
     (let ((gen (make-env '(0 0 1 1) :base .032 :length 12)))
       (set! (mus-location gen) 5)
       (let ((val (env gen)))
@@ -16023,8 +15940,10 @@ EDITS: 2
       (do ((i 0 (+ i 1)))
 	  ((= i 10))
 	(if (fneq (v0 i) (v1 i))
-	    (snd-display ";mus-apply table-lookup at ~D: ~A ~A?" i (v0 i) (v1 i))))
-      (set! gen (make-table-lookup 440.0 :wave (phase-partials->wave (list 1 1 0 2 1 (* pi .5)))))
+	    (snd-display ";mus-apply table-lookup at ~D: ~A ~A?" i (v0 i) (v1 i)))))
+
+    (let ((gen (make-table-lookup 440.0 :wave (phase-partials->wave (list 1 1 0 2 1 (* pi .5)))))
+	  (v0 (make-float-vector 10)))
       (do ((i 0 (+ i 1)))
 	  ((= i 10))
 	(set! (v0 i) (table-lookup gen 0.0)))
@@ -16155,13 +16074,13 @@ EDITS: 2
     
     (let ((size 1000))
       (define (test-tbl beg end freq amp mc-ratio index)
-	(let* ((tbl-size 1024)
-	       (sine (do ((v (make-float-vector tbl-size))
-			  (xp (/ (* 2 pi) tbl-size))
-			  (i 0 (+ i 1))
-			  (x 0.0 (+ x xp)))
-			 ((= i tbl-size) v)
-		       (set! (v i) (sin x))))
+	(let* ((sine (let ((tbl-size 1024))
+		       (do ((v (make-float-vector tbl-size))
+			    (xp (/ (* 2 pi) tbl-size))
+			    (i 0 (+ i 1))
+			    (x 0.0 (+ x xp)))
+			   ((= i tbl-size) v)
+			 (set! (v i) (sin x)))))
 	       (fm (make-table-lookup (* mc-ratio freq) :wave sine))
 	       (carrier (make-table-lookup freq :wave sine)))
 	  (do ((i beg (+ i 1)))
@@ -16315,11 +16234,9 @@ EDITS: 2
 	   (float-vector-scale! data3 (float-vector-ref amps k))
 	   (float-vector-add! data2 data3))
 
-	 (let ((fudge *mus-float-equal-fudge-factor*))
-	   (set! *mus-float-equal-fudge-factor* .0001)
+	 (let-temporarily ((*mus-float-equal-fudge-factor* .0001))
 	   (if (not (mus-arrays-equal? data1 data2))
-	       (snd-display "~A: ~A~%~A~%" name data1 data2))
-	   (set! *mus-float-equal-fudge-factor* fudge))))
+	       (snd-display "~A: ~A~%~A~%" name data1 data2)))))
 
      (list (float-vector 0.0 1.0)
 	   (float-vector 0.0 0.5 0.25 0.25)
@@ -16352,11 +16269,9 @@ EDITS: 2
 	   (float-vector-scale! data3 (float-vector-ref amps k))
 	   (float-vector-add! data2 data3))
 
-	 (let ((fudge *mus-float-equal-fudge-factor*))
-	   (set! *mus-float-equal-fudge-factor* .0001)
+	 (let-temporarily ((*mus-float-equal-fudge-factor* .0001))
 	   (if (not (mus-arrays-equal? data1 data2))
-	       (snd-display "~A: ~A~%~A~%" name data1 data2))
-	   (set! *mus-float-equal-fudge-factor* fudge))))
+	       (snd-display "~A: ~A~%~A~%" name data1 data2)))))
 
      (list (float-vector 0.0 1.0)
 	   (float-vector 0.0 0.5 0.25 0.25)
@@ -16395,11 +16310,9 @@ EDITS: 2
 	   (float-vector-scale! data3 (float-vector-ref camps k))
 	   (float-vector-add! data2 data3))
 
-	 (let ((fudge *mus-float-equal-fudge-factor*))
-	   (set! *mus-float-equal-fudge-factor* .0001)
+	 (let-temporarily ((*mus-float-equal-fudge-factor* .0001))
 	   (if (not (mus-arrays-equal? data1 data2))
-	       (snd-display "~A: ~A~%~A~%" name data1 data2))
-	   (set! *mus-float-equal-fudge-factor* fudge))))
+	       (snd-display "~A: ~A~%~A~%" name data1 data2)))))
 
      (list (float-vector 0.0 1.0)
 	   (float-vector 0.0 0.25 0.0 0.25)
@@ -16493,8 +16406,7 @@ EDITS: 2
 		(snd-display ";polywaver (1 1) .5 index ~A: ~A ~A" i val1 val2)
 		(set! happy #f))))))
     
-    (let ((old-srate *clm-srate*))
-      (set! *clm-srate* 44100)
+    (let-temporarily ((*clm-srate* 44100))
       (let ((v0 (make-float-vector 4410))
 	    (v1 (make-float-vector 4410)))
 	(for-each
@@ -16650,9 +16562,7 @@ EDITS: 2
 		    (if (fneq val1 val2)
 			(begin
 			  (set! happy #f)
-			  (snd-display ";polywave set mus-data at ~A: ~A ~A" i val1 val2)))))))))
-      (set! *clm-srate* old-srate))
-    
+			  (snd-display ";polywave set mus-data at ~A: ~A ~A" i val1 val2))))))))))
     ;; check dc 
     (do ((i 2 (+ i 1)))
 	((= i 7))
@@ -16769,9 +16679,8 @@ EDITS: 2
 	(close-sound ind)
 	(if (file-exists? new-file-name) (delete-file new-file-name))))
     
-    (let* ((ind (new-sound :size 1000))
-	   (table (float-vector 0.0 .1 .2 .3 .4 .5 .6))
-	   (gen (make-wave-train 1000.0 :wave table)))
+    (let ((ind (new-sound :size 1000))
+	  (gen (make-wave-train 1000.0 :wave (float-vector 0.0 .1 .2 .3 .4 .5 .6))))
       (map-channel (lambda (y) (wave-train gen)))
       (let ((mx (maxamp)))
 	(if (fneq mx 0.6) (snd-display ";wt 0 max: ~A" mx)))
@@ -16792,10 +16701,8 @@ EDITS: 2
       (if (not (mus-arrays-equal? (channel->float-vector 0 30) 
 		       (float-vector 0.100 0.100 0.100 0.100 0.100 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 
 				     0.000 0.000 0.000 0.100 0.100 0.100 0.100 0.100 0.100 0.100 0.100 0.100 0.100 0.000 0.000)))
-	  (let ((op *print-length*))
-	    (set! *print-length* 32)
-	    (snd-display ";wt 1 data: ~A" (channel->float-vector 0 30))
-	    (set! *print-length* op)))
+	  (let-temporarily ((*print-length* 32))
+	    (snd-display ";wt 1 data: ~A" (channel->float-vector 0 30))))
       (undo)
       
       (let ((gen (make-wave-train 2000.0 :wave (make-float-vector 10 .1))))
@@ -17133,8 +17040,9 @@ EDITS: 2
 		(fneq (in-any i 3 gen) .44))
 	    (snd-display ";4-chan sd out/in-any[~A]: ~A ~A ~A ~A?" i (in-any i 0 gen) (in-any i 1 gen) (in-any i 2 gen) (in-any i 3 gen)))))
     
-    (let* ((gen (make-oscil 440.0))
-	   (tag (catch #t (lambda () (outa 0 .1 gen)) (lambda args (car args)))))
+    (let ((tag (catch #t (let ((gen (make-oscil 440.0)))
+			   (lambda () (outa 0 .1 gen)))
+		      (lambda args (car args)))))
       (if (not (memq tag '(wrong-type-arg mus-error)))
 	  (snd-display ";outa -> oscil: ~A" tag)))
     
@@ -17240,9 +17148,8 @@ EDITS: 2
       (if (fneq (float-vector-peak vals) .1)
 	  (snd-display ";locsig to float-vector fm-violin peak: ~A" (float-vector-peak vals))))
     
-    (let* ((vals (with-sound ((make-float-vector '(2 4410)))
-		   (fm-violin 0 .1 440 .1 :degree 30)))
-	   (mxs (maxamp vals)))
+    (let ((mxs (maxamp (with-sound ((make-float-vector '(2 4410)))
+			  (fm-violin 0 .1 440 .1 :degree 30)))))
       (if (fneq mxs 0.0666)
 	  (snd-display ";locsig to sound-data fm-violin peak: ~A" mxs)))
         
@@ -17287,60 +17194,61 @@ EDITS: 2
 	  ((= i 10))
 	(sample->file sf i 0 (* i .1))
 	(sample->file sf i 1 (* i .01)))
-      (mus-close sf)
-      (if (not (= (mus-sound-chans "fmv.snd") 2)) 
-	  (snd-display ";sample->file chans: ~A" (mus-sound-chans "fmv.snd")))
-      (if (not (= (mus-sound-framples "fmv.snd") 10)) 
-	  (snd-display ";sample->file framples: ~A" (mus-sound-framples "fmv.snd")))
-      (if (not (= (mus-sound-samples "fmv.snd") 20)) 
-	  (snd-display ";sample->file samples: ~A" (mus-sound-samples "fmv.snd")))
-      (if (not (= (mus-sound-header-type "fmv.snd") mus-next)) 
-	  (snd-display ";sample->file type: ~A" (mus-header-type-name (mus-sound-header-type "fmv.snd"))))
-      (if (not (= (mus-sound-sample-type "fmv.snd") mus-bshort)) 
-	  (snd-display ";sample->file format: ~A" (mus-sample-type-name (mus-sound-sample-type "fmv.snd"))))
-      (if (not (string=? (mus-sound-comment "fmv.snd") "this is a comment"))
-	  (snd-display ";sample->file comment: ~A" (mus-sound-comment "fmv.snd")))
-      (let ((rd (make-file->sample "fmv.snd"))
-	    (happy #t))
-	(do ((i 0 (+ i 1)))
-	    ((or (not happy) (= i 10)))
-	  (let ((c0 (file->sample rd i 0))
-		(c1 (file->sample rd i 1)))
-	    (if (or (fneq c0 (* i .1))
-		    (fneq c1 (* i .01)))
-		(begin
-		  (snd-display ";sample->file->sample at ~A: ~A ~A" i c0 c1)
-		  (set! happy #f)))))
-	(mus-close rd))
-      (set! sf (continue-sample->file "fmv.snd"))
+      (mus-close sf))
+    (if (not (= (mus-sound-chans "fmv.snd") 2)) 
+	(snd-display ";sample->file chans: ~A" (mus-sound-chans "fmv.snd")))
+    (if (not (= (mus-sound-framples "fmv.snd") 10)) 
+	(snd-display ";sample->file framples: ~A" (mus-sound-framples "fmv.snd")))
+    (if (not (= (mus-sound-samples "fmv.snd") 20)) 
+	(snd-display ";sample->file samples: ~A" (mus-sound-samples "fmv.snd")))
+    (if (not (= (mus-sound-header-type "fmv.snd") mus-next)) 
+	(snd-display ";sample->file type: ~A" (mus-header-type-name (mus-sound-header-type "fmv.snd"))))
+    (if (not (= (mus-sound-sample-type "fmv.snd") mus-bshort)) 
+	(snd-display ";sample->file format: ~A" (mus-sample-type-name (mus-sound-sample-type "fmv.snd"))))
+    (if (not (string=? (mus-sound-comment "fmv.snd") "this is a comment"))
+	(snd-display ";sample->file comment: ~A" (mus-sound-comment "fmv.snd")))
+    (let ((rd (make-file->sample "fmv.snd"))
+	  (happy #t))
+      (do ((i 0 (+ i 1)))
+	  ((or (not happy) (= i 10)))
+	(let ((c0 (file->sample rd i 0))
+	      (c1 (file->sample rd i 1)))
+	  (if (or (fneq c0 (* i .1))
+		  (fneq c1 (* i .01)))
+	      (begin
+		(snd-display ";sample->file->sample at ~A: ~A ~A" i c0 c1)
+		(set! happy #f)))))
+      (mus-close rd))
+
+    (let ((sf (continue-sample->file "fmv.snd")))
       (do ((i 0 (+ i 1)))
 	  ((= i 10))
 	(sample->file sf (+ i 5) 0 (* i -.02))
 	(sample->file sf (+ i 5) 1 (* i -.01)))
-      (mus-close sf)
-      (mus-sound-forget "fmv.snd")
-      (if (not (= (mus-sound-chans "fmv.snd") 2)) 
-	  (snd-display ";continue-sample->file chans: ~A" (mus-sound-chans "fmv.snd")))
-      (if (not (= (mus-sound-framples "fmv.snd") 15)) 
-	  (snd-display ";continue-sample->file framples: ~A" (mus-sound-framples "fmv.snd")))
-      (if (not (= (mus-sound-samples "fmv.snd") 30)) 
-	  (snd-display ";continue-sample->file samples: ~A" (mus-sound-samples "fmv.snd")))
-      (if (not (= (mus-sound-header-type "fmv.snd") mus-next)) 
-	  (snd-display ";continue-sample->file type: ~A" (mus-header-type-name (mus-sound-header-type "fmv.snd"))))
-      (if (not (= (mus-sound-sample-type "fmv.snd") mus-bshort)) 
-	  (snd-display ";continue-sample->file format: ~A" (mus-sample-type-name (mus-sound-sample-type "fmv.snd"))))
-      (if (not (string=? (mus-sound-comment "fmv.snd") "this is a comment"))
-	  (snd-display ";continue-sample->file comment: ~A" (mus-sound-comment "fmv.snd")))
-      (let ((ind (open-sound "fmv.snd")))
-	(let ((c0 (channel->float-vector 0 15 ind 0))
-	      (c1 (channel->float-vector 0 15 ind 1)))
-	  (if (not (mus-arrays-equal? c0 (float-vector 0.0 0.1 0.2 0.3 0.4 0.5 0.58 0.66 0.74 0.82 -0.1 -0.12 -0.14 -0.16 -0.18)))
-	      (snd-display ";continue-sample->file (0): ~A" c0))
-	  (if (not (mus-arrays-equal? c1 (float-vector 0.0 0.01 0.02 0.03 0.04 0.05 0.05 0.05 0.05 0.05 -0.05 -0.06 -0.07 -0.08 -0.09)))
-	      (snd-display ";continue-sample->file (1): ~A" c1)))
-	(close-sound ind))
-      (delete-file "fmv.snd")
-      (mus-sound-forget "fmv.snd"))
+      (mus-close sf))
+    (mus-sound-forget "fmv.snd")
+    (if (not (= (mus-sound-chans "fmv.snd") 2)) 
+	(snd-display ";continue-sample->file chans: ~A" (mus-sound-chans "fmv.snd")))
+    (if (not (= (mus-sound-framples "fmv.snd") 15)) 
+	(snd-display ";continue-sample->file framples: ~A" (mus-sound-framples "fmv.snd")))
+    (if (not (= (mus-sound-samples "fmv.snd") 30)) 
+	(snd-display ";continue-sample->file samples: ~A" (mus-sound-samples "fmv.snd")))
+    (if (not (= (mus-sound-header-type "fmv.snd") mus-next)) 
+	(snd-display ";continue-sample->file type: ~A" (mus-header-type-name (mus-sound-header-type "fmv.snd"))))
+    (if (not (= (mus-sound-sample-type "fmv.snd") mus-bshort)) 
+	(snd-display ";continue-sample->file format: ~A" (mus-sample-type-name (mus-sound-sample-type "fmv.snd"))))
+    (if (not (string=? (mus-sound-comment "fmv.snd") "this is a comment"))
+	(snd-display ";continue-sample->file comment: ~A" (mus-sound-comment "fmv.snd")))
+    (let ((ind (open-sound "fmv.snd")))
+      (let ((c0 (channel->float-vector 0 15 ind 0))
+	    (c1 (channel->float-vector 0 15 ind 1)))
+	(if (not (mus-arrays-equal? c0 (float-vector 0.0 0.1 0.2 0.3 0.4 0.5 0.58 0.66 0.74 0.82 -0.1 -0.12 -0.14 -0.16 -0.18)))
+	    (snd-display ";continue-sample->file (0): ~A" c0))
+	(if (not (mus-arrays-equal? c1 (float-vector 0.0 0.01 0.02 0.03 0.04 0.05 0.05 0.05 0.05 0.05 -0.05 -0.06 -0.07 -0.08 -0.09)))
+	    (snd-display ";continue-sample->file (1): ~A" c1)))
+      (close-sound ind))
+    (delete-file "fmv.snd")
+    (mus-sound-forget "fmv.snd")
     
     (let ((f1 (float-vector 1.0 1.0))
 	  (f2 (float-vector 0.0 0.0))
@@ -17360,60 +17268,60 @@ EDITS: 2
       (do ((i 0 (+ i 1)))
 	  ((= i 10))
 	(frample->file sf i (float-vector (* i .1) (* i .01))))
-      (mus-close sf)
-      (if (not (= (mus-sound-chans "fmv.snd") 2)) 
-	  (snd-display ";frample->file chans: ~A" (mus-sound-chans "fmv.snd")))
-      (if (not (= (mus-sound-framples "fmv.snd") 10)) 
-	  (snd-display ";frample->file framples: ~A" (mus-sound-framples "fmv.snd")))
-      (if (not (= (mus-sound-samples "fmv.snd") 20)) 
-	  (snd-display ";frample->file samples: ~A" (mus-sound-samples "fmv.snd")))
-      (if (not (= (mus-sound-header-type "fmv.snd") mus-riff)) 
-	  (snd-display ";frample->file type: ~A" (mus-header-type-name (mus-sound-header-type "fmv.snd"))))
-      (if (not (= (mus-sound-sample-type "fmv.snd") mus-lfloat)) 
-	  (snd-display ";frample->file format: ~A" (mus-sample-type-name (mus-sound-sample-type "fmv.snd"))))
-      (if (not (string=? (mus-sound-comment "fmv.snd") "this is a comment"))
-	  (snd-display ";frample->file comment: ~A" (mus-sound-comment "fmv.snd")))
-      (let ((rd (make-file->frample "fmv.snd"))
-	    (f0 (float-vector 0.0 0.0))
-	    (happy #t))
-	(do ((i 0 (+ i 1)))
-	    ((or (not happy) (= i 10)))
-	  (file->frample rd i f0)
-	  (if (or (not (= (mus-length f0) 2))
-		  (fneq (f0 0) (* i .1))
-		  (fneq (f0 1) (* i .01)))
-	      (begin
-		(snd-display ";frample->file->frample at ~A: ~A" i f0)
-		(set! happy #f))))
-	(mus-close rd))
-      (set! sf (continue-frample->file "fmv.snd"))
+      (mus-close sf))
+    (if (not (= (mus-sound-chans "fmv.snd") 2)) 
+	(snd-display ";frample->file chans: ~A" (mus-sound-chans "fmv.snd")))
+    (if (not (= (mus-sound-framples "fmv.snd") 10)) 
+	(snd-display ";frample->file framples: ~A" (mus-sound-framples "fmv.snd")))
+    (if (not (= (mus-sound-samples "fmv.snd") 20)) 
+	(snd-display ";frample->file samples: ~A" (mus-sound-samples "fmv.snd")))
+    (if (not (= (mus-sound-header-type "fmv.snd") mus-riff)) 
+	(snd-display ";frample->file type: ~A" (mus-header-type-name (mus-sound-header-type "fmv.snd"))))
+    (if (not (= (mus-sound-sample-type "fmv.snd") mus-lfloat)) 
+	(snd-display ";frample->file format: ~A" (mus-sample-type-name (mus-sound-sample-type "fmv.snd"))))
+    (if (not (string=? (mus-sound-comment "fmv.snd") "this is a comment"))
+	(snd-display ";frample->file comment: ~A" (mus-sound-comment "fmv.snd")))
+    (let ((rd (make-file->frample "fmv.snd"))
+	  (f0 (float-vector 0.0 0.0))
+	  (happy #t))
+      (do ((i 0 (+ i 1)))
+	  ((or (not happy) (= i 10)))
+	(file->frample rd i f0)
+	(if (or (not (= (mus-length f0) 2))
+		(fneq (f0 0) (* i .1))
+		(fneq (f0 1) (* i .01)))
+	    (begin
+	      (snd-display ";frample->file->frample at ~A: ~A" i f0)
+	      (set! happy #f))))
+      (mus-close rd))
+    (let ((sf (continue-frample->file "fmv.snd")))
       (do ((i 0 (+ i 1)))
 	  ((= i 10))
 	(frample->file sf (+ i 5) (float-vector (* i -.02) (* i -.01))))
-      (mus-close sf)
-      (mus-sound-forget "fmv.snd")
-      (if (not (= (mus-sound-chans "fmv.snd") 2)) 
-	  (snd-display ";continue-frample->file chans: ~A" (mus-sound-chans "fmv.snd")))
-      (if (not (= (mus-sound-framples "fmv.snd") 15)) 
-	  (snd-display ";continue-frample->file framples: ~A" (mus-sound-framples "fmv.snd")))
-      (if (not (= (mus-sound-samples "fmv.snd") 30)) 
-	  (snd-display ";continue-frample->file samples: ~A" (mus-sound-samples "fmv.snd")))
-      (if (not (= (mus-sound-header-type "fmv.snd") mus-riff)) 
-	  (snd-display ";continue-frample->file type: ~A" (mus-header-type-name (mus-sound-header-type "fmv.snd"))))
-      (if (not (= (mus-sound-sample-type "fmv.snd") mus-lfloat)) 
-	  (snd-display ";continue-frample->file format: ~A" (mus-sample-type-name (mus-sound-sample-type "fmv.snd"))))
-      (if (not (string=? (mus-sound-comment "fmv.snd") "this is a comment"))
-	  (snd-display ";continue-frample->file comment: ~A" (mus-sound-comment "fmv.snd")))
-      (let ((ind (open-sound "fmv.snd")))
-	(let ((c0 (channel->float-vector 0 15 ind 0))
-	      (c1 (channel->float-vector 0 15 ind 1)))
-	  (if (not (mus-arrays-equal? c0 (float-vector 0.0 0.1 0.2 0.3 0.4 0.5 0.58 0.66 0.74 0.82 -0.1 -0.12 -0.14 -0.16 -0.18)))
-	      (snd-display ";continue-frample->file (0): ~A" c0))
-	  (if (not (mus-arrays-equal? c1 (float-vector 0.0 0.01 0.02 0.03 0.04 0.05 0.05 0.05 0.05 0.05 -0.05 -0.06 -0.07 -0.08 -0.09)))
-	      (snd-display ";continue-frample->file (1): ~A" c1)))
-	(close-sound ind))
-      (delete-file "fmv.snd")
-      (mus-sound-forget "fmv.snd"))
+      (mus-close sf))
+    (mus-sound-forget "fmv.snd")
+    (if (not (= (mus-sound-chans "fmv.snd") 2)) 
+	(snd-display ";continue-frample->file chans: ~A" (mus-sound-chans "fmv.snd")))
+    (if (not (= (mus-sound-framples "fmv.snd") 15)) 
+	(snd-display ";continue-frample->file framples: ~A" (mus-sound-framples "fmv.snd")))
+    (if (not (= (mus-sound-samples "fmv.snd") 30)) 
+	(snd-display ";continue-frample->file samples: ~A" (mus-sound-samples "fmv.snd")))
+    (if (not (= (mus-sound-header-type "fmv.snd") mus-riff)) 
+	(snd-display ";continue-frample->file type: ~A" (mus-header-type-name (mus-sound-header-type "fmv.snd"))))
+    (if (not (= (mus-sound-sample-type "fmv.snd") mus-lfloat)) 
+	(snd-display ";continue-frample->file format: ~A" (mus-sample-type-name (mus-sound-sample-type "fmv.snd"))))
+    (if (not (string=? (mus-sound-comment "fmv.snd") "this is a comment"))
+	(snd-display ";continue-frample->file comment: ~A" (mus-sound-comment "fmv.snd")))
+    (let ((ind (open-sound "fmv.snd")))
+      (let ((c0 (channel->float-vector 0 15 ind 0))
+	    (c1 (channel->float-vector 0 15 ind 1)))
+	(if (not (mus-arrays-equal? c0 (float-vector 0.0 0.1 0.2 0.3 0.4 0.5 0.58 0.66 0.74 0.82 -0.1 -0.12 -0.14 -0.16 -0.18)))
+	    (snd-display ";continue-frample->file (0): ~A" c0))
+	(if (not (mus-arrays-equal? c1 (float-vector 0.0 0.01 0.02 0.03 0.04 0.05 0.05 0.05 0.05 0.05 -0.05 -0.06 -0.07 -0.08 -0.09)))
+	    (snd-display ";continue-frample->file (1): ~A" c1)))
+      (close-sound ind))
+    (delete-file "fmv.snd")
+    (mus-sound-forget "fmv.snd")
     
     (let ((v0 (make-float-vector 1000)))
       (let ((os (make-oscil 440.0)))
@@ -17650,71 +17558,65 @@ EDITS: 2
 	      (> minp -11.0))
 	  (snd-display ";mus-random (12): ~A ~A" minp maxp)))
     
-    (let* ((v (lambda (n) ; chi^2 or mus-random
-	       (let ((hits (make-vector 10 0)))
-		 (do ((i 0 (+ 1 i )))
-		     ((= i n))
-		   (let ((y (floor (+ 5 (mus-random 5.0)))))
-		     (set! (hits y) (+ 1 (vector-ref hits y)))))
-		 (let ((sum 0.0)
-		       (p (/ n 10.0)))
-		   (do ((i 0 (+ i 1)))
-		       ((= i 10) sum)
-		     (let ((num (- (vector-ref hits i) p)))
-		       (set! sum (+ sum (/ (* num num) p)))))))))
-      
-      ;;:(v 10000)
-      ;;#(999 1017 1002 1024 1048 971 963 1000 980 996) 5.8
+    (let ((n 1000) ; chi^2 or mus-random
+	   (hits (make-vector 10 0)))
+      (do ((i 0 (+ 1 i )))
+	  ((= i n))
+	(let ((y (floor (+ 5 (mus-random 5.0)))))
+	  (set! (hits y) (+ 1 (vector-ref hits y)))))
+      (let ((sum 0.0)
+	    (p (/ n 10.0)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10) 
+	     (if (< sum 3.0)
+		 (snd-display ";mus-random not so random? ~A (chi)" sum)))
+	  (let ((num (- (vector-ref hits i) p)))
+	    (set! sum (+ sum (/ (* num num) p)))))))
+      ;; (v 10000)
+      ;; #(999 1017 1002 1024 1048 971 963 1000 980 996) 5.8
       ;; if less than 3 complain
-      
-	   (vr (v 10000)))
-      (if (< vr 3.0)
-	  (snd-display ";mus-random not so random? ~A (chi)" vr)))
-    
-    (let* ((v1 (lambda (n)
-		(let ((hits (make-vector 10 0))
-		      (gen (make-rand 22050.0 5)))
-		  (do ((i 0 (+ 1 i )))
-		      ((= i n))
-		    (let ((y (floor (+ 5 (rand gen)))))
-		      (set! (hits y) (+ 1 (vector-ref hits y)))))
-		  (let ((sum 0.0)
-			(p (/ n 10.0)))
-		    (do ((i 0 (+ i 1)))
-			((= i 10) sum)
-		      (let ((num (- (vector-ref hits i) p)))
-			(set! sum (+ sum (/ (* num num) p)))))))))
-      
-      ;;:(v1 10000)
-      ;;#(979 1015 977 1008 954 1049 997 1020 1015 986) 6.606
-      
-	  (vr (v1 10000)))
-      (if (< vr 3.5)
-	  (snd-display ";rand not so random? ~A (chi)" vr)))
+    
+    (let ((n 10000)
+	   (hits (make-vector 10 0))
+	   (gen (make-rand 22050.0 5)))
+      (do ((i 0 (+ 1 i )))
+	  ((= i n))
+	(let ((y (floor (+ 5 (rand gen)))))
+	  (set! (hits y) (+ 1 (vector-ref hits y)))))
+      (let ((sum 0.0)
+	    (p (/ n 10.0)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10)
+	     (if (< sum 3.5)
+		 (snd-display ";rand not so random? ~A (chi)" sum)))
+	  (let ((num (- (vector-ref hits i) p)))
+	    (set! sum (+ sum (/ (* num num) p)))))))
+      ;; (v1 10000)
+      ;; #(979 1015 977 1008 954 1049 997 1020 1015 986) 6.606
     
     (let ((data (make-float-vector 65536)))
       (do ((i 0 (+ i 1)))
 	  ((= i 65536))
 	(set! (data i) (mus-random 1.0)))
-      (let* ((ndat (snd-spectrum data rectangular-window 65536 #t 0.0 #f #f))
-	     (peak (float-vector-peak ndat))
-	     (sum 0.0))
-	(if (> peak 1000.0)
-	    (snd-display ";mus-random spectral peak: ~A" peak))
-	(do ((i 0 (+ i 1)))
-	    ((= i 32768))
-	  (set! sum (+ sum (float-vector-ref ndat i))))
-	(if (> (/ sum 32768.0) 200.0)
-	    (snd-display ";random average: ~A ~A" (/ sum 32768.0) (ndat 0)))
-	(do ((i 0 (+ i 1)))
-	    ((= i 65536))
-	  (set! (data i) (mus-random 1.0)))
-	(autocorrelate data)
-	(set! (data 0) 0.0)
-	(let ((pk (float-vector-peak data)))
-	  (if (> pk 1000)
-	      (snd-display ";random autocorrelate peak: ~A" (float-vector-peak data))))
-	(set! sum 0.0)
+      (let ((ndat (snd-spectrum data rectangular-window 65536 #t 0.0 #f #f)))
+	(let ((peak (float-vector-peak ndat))
+	      (sum 0.0))
+	  (if (> peak 1000.0)
+	      (snd-display ";mus-random spectral peak: ~A" peak))
+	  (do ((i 0 (+ i 1)))
+	      ((= i 32768))
+	    (set! sum (+ sum (float-vector-ref ndat i))))
+	  (if (> (/ sum 32768.0) 200.0)
+	      (snd-display ";random average: ~A ~A" (/ sum 32768.0) (ndat 0)))))
+      (do ((i 0 (+ i 1)))
+	  ((= i 65536))
+	(set! (data i) (mus-random 1.0)))
+      (autocorrelate data)
+      (set! (data 0) 0.0)
+      (let ((pk (float-vector-peak data)))
+	(if (> pk 1000)
+	    (snd-display ";random autocorrelate peak: ~A" (float-vector-peak data))))
+      (let ((sum 0.0))
 	(float-vector-abs! data)
 	(do ((i 0 (+ i 1)))
 	    ((= i 32768))
@@ -17723,44 +17625,45 @@ EDITS: 2
 	    (snd-display ";random autocorrelate average: ~A" (/ sum 32768.0)))))
     
     (set! (locsig-type) mus-interp-linear)
-    (let ((gen (make-locsig 30.0 :channels 2))
-	  (gen1 (make-locsig 60.0 :channels 2)))
-      (locsig gen 0 1.0)
-      (print-and-check gen 
-		       "locsig"
-		       "locsig chans 2, outn: [0.667 0.333], interp: linear")
-      (if (not (locsig? gen)) (snd-display ";~A not locsig?" gen))
-      (let ((gen2 (make-locsig 60.0 :channels 4)))
-	(if (eq? gen1 gen2) (snd-display ";locsig 1 eq? ~A ~A" gen1 gen2))
-	(if (equal? gen gen1) (snd-display ";locsig 2 equal? ~A ~A" gen gen1))
-	(if (equal? gen gen2) (snd-display ";locsig 3 equal? ~A ~A" gen gen2))
-	(if (or (fneq (locsig-ref gen 0) .667) (fneq (locsig-ref gen 1) .333))
-	    (snd-display ";locsig ref: ~F ~F?" (locsig-ref gen 0) (locsig-ref gen 1)))
-	(if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.667 0.333)))
-	    (snd-display ";locsig gen outn: ~A" (mus-data gen)))
-	(if (not (mus-arrays-equal? (mus-data gen1) (float-vector 0.333 0.667)))
-	    (snd-display ";locsig gen2 outn: ~A" (mus-data gen1)))
-	(if (not (mus-arrays-equal? (mus-data gen2) (float-vector 0.333 0.667 0.000 0.000)))
-	    (snd-display ";locsig gen2 outn: ~A" (mus-data gen2))))
-      (let ((gen200 (make-locsig 200.0 :channels 4)))
-	(if (not (mus-arrays-equal? (mus-data gen200) (float-vector 0.000 0.000 0.778 0.222)))
-	    (snd-display ";locsig gen200 outn: ~A" (mus-data gen200))))
-      (locsig-set! gen 0 .25)
-      (if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.250 0.333)))
-	  (snd-display ";locsig gen .25 outn: ~A" (mus-data gen)))
-      (locsig gen 0 1.0)
-      (locsig-set! gen 0 .5)
-      (if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.500 0.333)))
-	  (snd-display ";locsig gen .5 outn: ~A" (mus-data gen)))
-      (locsig gen 0 1.0)
-      (set! gen (make-locsig 120.0 2.0 .1 :channels 4))
-      (if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.000 0.333 0.167 0.000)))
-	  (snd-display ";locsig gen 120 outn: ~A" (mus-data gen)))
-      (locsig gen 0 1.0)
-      (set! gen (make-locsig 300.0 2.0 .1 :channels 4))
-      (if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.167 0.000 0.000 0.333)))
-	  (snd-display ";locsig gen 300 outn: ~A" (mus-data gen)))
-      (locsig gen 0 1.0)
+    (let ((gen1 (make-locsig 60.0 :channels 2)))
+      (let ((gen (make-locsig 30.0 :channels 2)))
+	(locsig gen 0 1.0)
+	(print-and-check gen 
+			 "locsig"
+			 "locsig chans 2, outn: [0.667 0.333], interp: linear")
+	(if (not (locsig? gen)) (snd-display ";~A not locsig?" gen))
+	(let ((gen2 (make-locsig 60.0 :channels 4)))
+	  (if (eq? gen1 gen2) (snd-display ";locsig 1 eq? ~A ~A" gen1 gen2))
+	  (if (equal? gen gen1) (snd-display ";locsig 2 equal? ~A ~A" gen gen1))
+	  (if (equal? gen gen2) (snd-display ";locsig 3 equal? ~A ~A" gen gen2))
+	  (if (or (fneq (locsig-ref gen 0) .667) (fneq (locsig-ref gen 1) .333))
+	      (snd-display ";locsig ref: ~F ~F?" (locsig-ref gen 0) (locsig-ref gen 1)))
+	  (if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.667 0.333)))
+	      (snd-display ";locsig gen outn: ~A" (mus-data gen)))
+	  (if (not (mus-arrays-equal? (mus-data gen1) (float-vector 0.333 0.667)))
+	      (snd-display ";locsig gen2 outn: ~A" (mus-data gen1)))
+	  (if (not (mus-arrays-equal? (mus-data gen2) (float-vector 0.333 0.667 0.000 0.000)))
+	      (snd-display ";locsig gen2 outn: ~A" (mus-data gen2))))
+	(let ((gen200 (make-locsig 200.0 :channels 4)))
+	  (if (not (mus-arrays-equal? (mus-data gen200) (float-vector 0.000 0.000 0.778 0.222)))
+	      (snd-display ";locsig gen200 outn: ~A" (mus-data gen200))))
+	(locsig-set! gen 0 .25)
+	(if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.250 0.333)))
+	    (snd-display ";locsig gen .25 outn: ~A" (mus-data gen)))
+	(locsig gen 0 1.0)
+	(locsig-set! gen 0 .5)
+	(if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.500 0.333)))
+	    (snd-display ";locsig gen .5 outn: ~A" (mus-data gen)))
+	(locsig gen 0 1.0))
+      (let ((gen (make-locsig 120.0 2.0 .1 :channels 4)))
+	(if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.000 0.333 0.167 0.000)))
+	    (snd-display ";locsig gen 120 outn: ~A" (mus-data gen)))
+	(locsig gen 0 1.0))
+      (let ((gen (make-locsig 300.0 2.0 .1 :channels 4)))
+	(if (not (mus-arrays-equal? (mus-data gen) (float-vector 0.167 0.000 0.000 0.333)))
+	    (snd-display ";locsig gen 300 outn: ~A" (mus-data gen)))
+	(locsig gen 0 1.0))
+      
       (move-locsig gen1 90.0 1.0)
       (if (not (mus-arrays-equal? (mus-data gen1) (float-vector 0.000 1.000)))
 	  (snd-display ";locsig gen1 90 outn: ~A" (mus-data gen1)))
@@ -17779,22 +17682,22 @@ EDITS: 2
     
     (for-each
      (lambda (chans)
-      (let* ((loc (make-locsig :channels chans))
-	     (last (make-float-vector chans))
-	     (data (mus-data loc)))
-	;; do a full circle looking for jumps
-	(move-locsig loc -400.0 1.0)
-	(copy data last)
-	(do ((x -400.0 (+ x 10.0)))
-	    ((> x 400.0))
-	  (move-locsig loc x 1.0)
-	  (if (or (< (float-vector-min data) 0.0)
-		  (> (float-vector-max data) 1.0))
-	      (format () ";locsig, chans: ~D, degree: ~F, ~A~%" chans x data))
-	  (let ((diff (float-vector-peak (float-vector-subtract! last data))))
-	    (copy data last)
-	    (if (> diff .25)
-		(format () ";locsig, increment ~F with deg ~F~%" diff x))))))
+       (let ((loc (make-locsig :channels chans)))
+	 (let ((last (make-float-vector chans))
+	       (data (mus-data loc)))
+	   ;; do a full circle looking for jumps
+	   (move-locsig loc -400.0 1.0)
+	   (copy data last)
+	   (do ((x -400.0 (+ x 10.0)))
+	       ((> x 400.0))
+	     (move-locsig loc x 1.0)
+	     (if (or (< (float-vector-min data) 0.0)
+		     (> (float-vector-max data) 1.0))
+		 (format () ";locsig, chans: ~D, degree: ~F, ~A~%" chans x data))
+	     (let ((diff (float-vector-peak (float-vector-subtract! last data))))
+	       (copy data last)
+	       (if (> diff .25)
+		   (format () ";locsig, increment ~F with deg ~F~%" diff x)))))))
      '(1 2 4 5 8))
     
     (for-each 
@@ -18028,28 +17931,28 @@ EDITS: 2
 	   (- a (* (floor (/ a b)) b)))
 	 (if (= chans 1)
 	     (float-vector 1.0)
-	     (let* ((deg (if (= chans 2)
-			     (max 0.0 (min 90.0 degree))
-			     (xmodulo degree 360.0)))
-		    (degs-per-chan (if (= chans 2)
-				       90.0
-				       (/ 360.0 chans)))
-		    (pos (/ deg degs-per-chan))
-		    (left (floor pos))
-		    (right (xmodulo (+ left 1) chans))
-		    (frac (- pos left))
-		    (v (make-float-vector chans)))
-	       (if (= type mus-interp-linear)
-		   (begin
-		     (set! (v left) (- 1.0 frac))
-		     (set! (v right) frac))
-		   (let* ((ldeg (* (/ pi 2) (- 0.5 frac)))
-			  (norm (/ (sqrt 2.0) 2.0))
-			  (c (cos ldeg))
-			  (s (sin ldeg)))
-		     (set! (v left) (* norm (+ c s)))
-		     (set! (v right) (* norm (- c s)))))
-	       v)))
+	     (let* ((pos (let ((deg (if (= chans 2)
+					(max 0.0 (min 90.0 degree))
+					(xmodulo degree 360.0)))
+			       (degs-per-chan (if (= chans 2)
+						  90.0
+						  (/ 360.0 chans))))
+			   (/ deg degs-per-chan)))
+		    (left (floor pos)))
+	       (let ((right (xmodulo (+ left 1) chans))
+		     (frac (- pos left))
+		     (v (make-float-vector chans)))
+		 (if (= type mus-interp-linear)
+		     (begin
+		       (set! (v left) (- 1.0 frac))
+		       (set! (v right) frac))
+		     (let ((ldeg (* (/ pi 2) (- 0.5 frac))))
+		       (let ((norm (/ (sqrt 2.0) 2.0))
+			     (c (cos ldeg))
+			     (s (sin ldeg)))
+			 (set! (v left) (* norm (+ c s)))
+			 (set! (v right) (* norm (- c s))))))
+		 v))))
        
        (if (file-exists? "test.reverb") (delete-file "test.reverb"))
        (let ((revfile (and (> rev-chans 0)
@@ -18239,9 +18142,6 @@ EDITS: 2
     (let* ((outf1 (make-frample->file "fmv.snd" 1 mus-ldouble mus-next))
 	   (outf4 (make-frample->file "fmv1.snd" 4 mus-ldouble mus-next))
 	   (revf (make-frample->file "fmv2.snd" 1 mus-ldouble mus-next))
-	   (start 0)
-	   (end 1000)
-	   (dur 1.0)
 	   (gen1 (make-move-sound (list 0 1000 1 0
 					(make-delay 32) 
 					(make-env '(0 0 1 1) :length 1001) 
@@ -18251,15 +18151,15 @@ EDITS: 2
 					#f
 					(vector 0 1))
 				  outf1))
-	   (gen2 (make-move-sound (list start end 4 0
+	   (gen2 (make-move-sound (list 0 1000 4 0
 					(make-delay 12) 
-					(make-env '(0 0 10 1) :duration dur)
+					(make-env '(0 0 10 1) :duration 1.0)
 					#f
 					(make-vector 4 #f)
-					(vector (make-env '(0 0 1 1 2 0 3 0 4 0) :duration dur)
-						(make-env '(0 0 1 0 2 1 3 0 4 0) :duration dur)
-						(make-env '(0 0 1 0 2 0 3 1 4 0) :duration dur)
-						(make-env '(0 0 1 0 2 0 3 0 4 1) :duration dur))
+					(vector (make-env '(0 0 1 1 2 0 3 0 4 0) :duration 1.0)
+						(make-env '(0 0 1 0 2 1 3 0 4 0) :duration 1.0)
+						(make-env '(0 0 1 0 2 0 3 1 4 0) :duration 1.0)
+						(make-env '(0 0 1 0 2 0 3 0 4 1) :duration 1.0))
 					#f
 					(vector 0 1 2 3))
 				  outf4))
@@ -18547,8 +18447,7 @@ EDITS: 2
     (let ((ind (new-sound :size 10)))
       (set! (sample 2) .1)
       (set! (sample 6) -.5)
-      (let* ((rd (make-sampler))
-	     (vals (map values rd)))
+      (let ((vals (map values (make-sampler))))
 	(if (not (morally-equal? vals '(0.0 0.0 0.1 0.0 0.0 0.0 -0.5 0.0 0.0 0.0)))
 	    (snd-display ";rd new: ~A" vals)))
       (close-sound ind))
@@ -18566,32 +18465,35 @@ EDITS: 2
 	(if (or (< (/ (maxamp) mx) 1.4) (> (/ mx (maxamp)) 2.5))
 	    (snd-display ";gran edit 2* (0): ~A ~A" mx (maxamp)))
 	(undo))
-      (let* ((rd (make-sampler 0))
-	     (grn (make-granulate :expansion 2.0
-				  :input (lambda (dir) (read-sample rd))
-				  :edit (lambda (g)
-					  (float-vector-scale! (mus-data g) 4.0)
-					  0))))
+      (let ((grn (make-granulate :expansion 2.0
+				 :input (let ((rd (make-sampler 0)))
+					  (lambda (dir) 
+					    (read-sample rd)))
+				 :edit (lambda (g)
+					 (float-vector-scale! (mus-data g) 4.0)
+					 0))))
 	(map-channel (lambda (y) (granulate grn)))
 	(if (or (< (/ (maxamp) mx) 3.0) (> (/ mx (maxamp)) 6.0))
 	    (snd-display ";gran edit 4* (0): ~A ~A" mx (maxamp)))
 	(revert-sound ind))
-      (let* ((rd (make-sampler 0))
-	     (grn (make-granulate :expansion 2.0
-				  :input (lambda (dir) (read-sample rd))
-				  :edit (lambda (g)
-					  (float-vector-scale! (mus-data g) 2.0)
-					  0))))
+      (let ((grn (make-granulate :expansion 2.0
+				 :input (let ((rd (make-sampler 0)))
+					  (lambda (dir)
+					    (read-sample rd)))
+				 :edit (lambda (g)
+					 (float-vector-scale! (mus-data g) 2.0)
+					 0))))
 	(map-channel (lambda (y) (granulate grn)))
 	(if (or (< (/ (maxamp) mx) 1.4) (> (/ mx (maxamp)) 2.5))
 	    (snd-display ";gran edit 2* (1): ~A ~A" mx (maxamp)))
 	(undo)
-	(let* ((rd (make-sampler 0))
-	       (grn (make-granulate :expansion 2.0
+	(let ((grn (make-granulate :expansion 2.0
 				   :edit (lambda (g)
 					   (float-vector-scale! (mus-data g) 4.0)
 					   0)
-				   :input (lambda (dir) (read-sample rd)))))
+				   :input (let ((rd (make-sampler 0)))
+					    (lambda (dir) 
+					      (read-sample rd))))))
 	  (map-channel (lambda (y) (granulate grn)))
 	  (if (or (< (/ (maxamp) mx) 2.9) (> (/ mx (maxamp)) 6.0))
 	      (snd-display ";gran edit 4* (1): ~A ~A" mx (maxamp)))
@@ -18605,36 +18507,34 @@ EDITS: 2
 	(if (or (< (/ (maxamp) mx) 1.4) (> (/ mx (maxamp)) 2.5))
 	    (snd-display ";gran edit 2* (2): ~A ~A" mx (maxamp)))
 	(undo)
-	(let* ((rd (make-sampler 0))
-	       (grn (make-granulate :expansion 2.0
-				    :input (lambda (dir) (read-sample rd))
-				    :edit (lambda (g) (float-vector-scale! (mus-data g) 4.0) 0))))
+	(let ((grn (make-granulate :expansion 2.0
+				   :input (let ((rd (make-sampler 0)))
+					    (lambda (dir) 
+					      (read-sample rd)))
+				    :edit (lambda (g)
+					    (float-vector-scale! (mus-data g) 4.0) 0))))
 	  (map-channel (lambda (y) (granulate grn)))
 	  (if (or (< (/ (maxamp) mx) 3.0) (> (/ mx (maxamp)) 6.0))
 	      (snd-display ";gran edit 4* (2): ~A ~A" mx (maxamp)))))
       (close-sound ind))
     
     (let ((ind (open-sound "oboe.snd")))
-      (let* ((rd (make-sampler 0))
-	     (grn (make-granulate :expansion 2.0 :length .01 :hop .05 :input (lambda (dir) (next-sample rd)))))
+      (let ((grn (make-granulate :expansion 2.0 :length .01 :hop .05 :input (let ((rd (make-sampler))) (lambda (dir) (next-sample rd))))))
 	(map-channel (lambda (y) (granulate grn)))
 	(let ((mx (maxamp)))
 	  (if (> mx .2) (snd-display ";trouble in granulate len .01 hop .05: ~A" mx))
 	  (undo)))
-      (let* ((rd (make-sampler 0))
-	     (grn (make-granulate :expansion 2.0 :length .04 :hop .05 :input (lambda (dir) (next-sample rd)))))
+      (let ((grn (make-granulate :expansion 2.0 :length .04 :hop .05 :input (let ((rd (make-sampler))) (lambda (dir) (next-sample rd))))))
 	(map-channel (lambda (y) (granulate grn)))
 	(let ((mx (maxamp)))
 	  (if (> mx .2) (snd-display ";trouble in granulate len .04 hop .05: ~A" mx))
 	  (undo)))
-      (let* ((rd (make-sampler 0))
-	     (grn (make-granulate :expansion 2.0 :length .01 :hop .25 :input (lambda (dir) (next-sample rd)))))
+      (let ((grn (make-granulate :expansion 2.0 :length .01 :hop .25 :input (let ((rd (make-sampler))) (lambda (dir) (next-sample rd))))))
 	(map-channel (lambda (y) (granulate grn)))
 	(let ((mx (maxamp)))
 	  (if (> mx .2) (snd-display ";trouble in granulate len .01 hop .25: ~A" mx))
 	  (undo)))
-      (let* ((rd (make-sampler 0))
-	     (grn (make-granulate :expansion 2.0 :length .4 :hop .5 :input (lambda (dir) (next-sample rd)))))
+      (let ((grn (make-granulate :expansion 2.0 :length .4 :hop .5 :input (let ((rd (make-sampler))) (lambda (dir) (next-sample rd))))))
 	(map-channel (lambda (y) (granulate grn)))
 	(let ((mx (maxamp)))
 	  (if (> mx .2) (snd-display ";trouble in granulate len .4 hop .5: ~A" mx))
@@ -18734,9 +18634,7 @@ EDITS: 2
 		       (float-vector 0.000 0.005 0.009 0.014 0.018 0.023 0.027 0.032 0.036 0.041 0.045 0.050 0.055 0.059 0.064 0.068 
 				     0.073 0.077 0.082 0.086 0.091 0.095 0.100 0.105 0.105 0.105 0.105 0.105 0.105 0.105)))
 	  (snd-display ";gran 6 data: ~A" (channel->float-vector 0 30)))
-      (if (not (mus-arrays-equal? (channel->float-vector 85 30) 
-		       (float-vector 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 
-				     0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105 0.105)))
+      (if (not (mus-arrays-equal? (channel->float-vector 85 30) (make-float-vector 30 0.105)))
 	  (snd-display ";gran 6 data 85: ~A" (channel->float-vector 85 30)))
       (undo)
       
@@ -19009,9 +18907,7 @@ EDITS: 2
 		       (float-vector 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 
 				     0.060 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
 	  (snd-display ";granf 5 data 440: ~A" (channel->float-vector 440 30)))
-      (if (not (mus-arrays-equal? (channel->float-vector 800 30) 
-		       (float-vector 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 
-				     0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060)))
+      (if (not (mus-arrays-equal? (channel->float-vector 800 30) (make-float-vector 30 0.060)))
 	  (snd-display ";granf 5 data 800: ~A" (channel->float-vector 800 30)))
       (undo)
       
@@ -19027,9 +18923,7 @@ EDITS: 2
 	    (if (fneq mx 0.06) (snd-display ";granf 6 max: ~A" mx)))
 	  (if (> (abs (- (mus-length gen) (* .2 base-len))) 4)
 	      (snd-display ";granf 6 length: ~A ~A" (mus-length gen) (* .2 base-len)))))
-      (if (not (mus-arrays-equal? (channel->float-vector 0 30) 
-		       (float-vector 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 
-				     0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060)))
+      (if (not (mus-arrays-equal? (channel->float-vector 0 30) (make-float-vector 30 0.060)))
 	  (snd-display ";granf 6 data: ~A" (channel->float-vector 0 30)))
       (if (not (mus-arrays-equal? (channel->float-vector 820 30) 
 		       (float-vector 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.060 0.000 0.000 
@@ -19154,8 +19048,7 @@ EDITS: 2
 			    (float-vector 0.000 0.000 0.110 0.110 0.110 0.111 0.111 0.111 0.111 0.111))
 		    (mus-arrays-equal? (channel->float-vector 4523 10)
 			    (float-vector 0.232 0.232 0.232 0.232 0.232 0.232 0.232 0.232 0.233 0.233))
-		    (mus-arrays-equal? (channel->float-vector 8928 10)
-			    (float-vector 0.452 0.452 0.452 0.452 0.452 0.452 0.452 0.452 0.452 0.452))))
+		    (mus-arrays-equal? (channel->float-vector 8928 10) (make-float-vector 10 0.452))))
 	  (snd-display ";granulate ramped 4 data off: ~A ~A ~A" 
 		       (channel->float-vector 2203 10) (channel->float-vector 4523 10) (channel->float-vector 8928 10)))
       (undo)
@@ -19170,11 +19063,9 @@ EDITS: 2
 				  :jitter 0.0))
 	(clm-channel gen))
       (if (fneq (maxamp) .505) (snd-display ";granulate ramped 5: ~A" (maxamp)))
-      (let* ((mxoff 0.0)
-	     (mx (maxamp))
-	     (len (framples))
-	     (cur 0.0)
-	     (incr (/ mx len)))
+      (let ((mxoff 0.0)
+	    (cur 0.0)
+	    (incr (/ (maxamp) (framples))))
 	(scan-channel (lambda (y) 
 			(let ((diff (abs (- cur y)))) 
 			  (set! mxoff (max mxoff diff))
@@ -19229,11 +19120,9 @@ EDITS: 2
 				  :jitter 0.0))
 	(clm-channel gen))
       (if (fneq (maxamp) .201) (snd-display ";granulate ramped 7: ~A" (maxamp)))
-      (let* ((mxoff 0.0)
-	     (mx (maxamp))
-	     (len (framples))
-	     (cur 0.0)
-	     (incr (/ mx len)))
+      (let ((mxoff 0.0)
+	    (cur 0.0)
+	    (incr (/ (maxamp) (framples))))
 	(scan-channel (lambda (y) 
 			(let ((diff (abs (- cur y)))) 
 			  (set! mxoff (max mxoff diff))
@@ -19252,18 +19141,16 @@ EDITS: 2
 				  :jitter 0.0))
 	(clm-channel gen))
       (if (fneq (maxamp) .501) (snd-display ";granulate ramped 8: ~A" (maxamp)))
-      (let* ((mxoff 0.0)
-	     (mx (maxamp))
-	     (len (- (framples) 2000))
-	     (cur (sample 2000))
-	     (incr (/ (- mx cur) len)))
-	(scan-channel (lambda (y) 
-			(let ((diff (abs (- cur y)))) 
-			  (set! mxoff (max mxoff diff))
-			  (set! cur (+ cur incr))
-			  #f))
-		      2000)
-	(if (> mxoff .001) (snd-display ";granulate ramped 8 mxoff: ~A" mxoff)))
+      (let ((cur (sample 2000)))
+	(let ((mxoff 0.0)
+	      (incr (/ (- (maxamp) cur) (- (framples) 2000))))
+	  (scan-channel (lambda (y) 
+			  (let ((diff (abs (- cur y)))) 
+			    (set! mxoff (max mxoff diff))
+			    (set! cur (+ cur incr))
+			    #f))
+			2000)
+	  (if (> mxoff .001) (snd-display ";granulate ramped 8 mxoff: ~A" mxoff))))
       (undo)
       
       (let ((e (make-env '(0 0 1 1) :length 10000)))
@@ -19359,27 +19246,27 @@ EDITS: 2
 	    (snd-display ";save-sound ~A: ~A ~A ~A?" i (sample 0) (sample 1) (sample i))))
       (close-sound ind))
     
-    (let ((ind (new-sound "test.snd" :srate 22050 :channels 1 :size 1000))
-	  (gen (make-ssb-am 100.0)))
-      (map-channel (lambda (y) (ssb-am gen)))
-      (if (fneq (maxamp) 0.0) (snd-display ";ssb-am 0.0: ~A" (maxamp)))
-      (let ((gen1 (make-oscil 220.0)))
-	(map-channel (lambda (y) (* 0.5 (oscil gen1))))
+    (let ((ind (new-sound "test.snd" :srate 22050 :channels 1 :size 1000)))
+      (let ((gen (make-ssb-am 100.0)))
+	(map-channel (lambda (y) (ssb-am gen)))
+	(if (fneq (maxamp) 0.0) (snd-display ";ssb-am 0.0: ~A" (maxamp)))
+	(let ((gen1 (make-oscil 220.0)))
+	  (map-channel (lambda (y) (* 0.5 (oscil gen1)))))
 	(set! gen (make-ssb-am 100.0 100))
 	(map-channel (lambda (y) (ssb-am gen y)))
 	(delete-samples 0 200)
-	(set! gen1 (make-oscil 320.0 :initial-phase (asin (* 2 (sample 0))))) ; depends on rising side
-	(map-channel (lambda (y) (- y (* 0.5 (oscil gen1)))))
+	(let ((gen1 (make-oscil 320.0 :initial-phase (asin (* 2 (sample 0)))))) ; depends on rising side
+	  (map-channel (lambda (y) (- y (* 0.5 (oscil gen1))))))
 	(if (> (maxamp) .004) (snd-display ";ssb-am cancelled: ~A" (maxamp)))
-	(undo 3)
-	(set! gen (make-ssb-am 100.0 100))
-	(let ((hx (hz->radians 50.0)))
-	  (map-channel (lambda (y) (ssb-am gen y hx))))
-	(delete-samples 0 180)
-	(set! gen1 (make-oscil 370.0 :initial-phase (asin (* 2 (sample 0))))) ; depends on rising side
-	(map-channel (lambda (y) (- y (* 0.5 (oscil gen1)))))
-	(if (> (maxamp) .004) (snd-display ";ssb-am fm cancelled: ~A" (maxamp)))
-	(close-sound ind)))
+	(undo 3))
+      (let ((gen (make-ssb-am 100.0 100))
+	    (hx (hz->radians 50.0)))
+	(map-channel (lambda (y) (ssb-am gen y hx))))
+      (delete-samples 0 180)
+      (let ((gen1 (make-oscil 370.0 :initial-phase (asin (* 2 (sample 0)))))) ; depends on rising side
+	(map-channel (lambda (y) (- y (* 0.5 (oscil gen1))))))
+      (if (> (maxamp) .004) (snd-display ";ssb-am fm cancelled: ~A" (maxamp)))
+      (close-sound ind))
     
     (let ((ind (new-sound "test.snd" :srate 22050 :channels 1 :size 1000)))
       (let* ((scl (/ (* 2 pi) 50))
@@ -19517,12 +19404,12 @@ EDITS: 2
       (close-sound nind))
     
     (if (and all-args (defined? 'edot-product))
-	(let ((ind (new-sound :size 100))
-	      (len 100))
+	(let ((ind (new-sound :size 100)))
 	  (set! (sample 10) 0.5)
 	  (set! (sample 30) -0.8)
 	  (stretch-sound-via-dft 2.0 ind 0)
-	  (let ((new-len (framples ind 0)))
+	  (let ((new-len (framples ind 0))
+		(len 100))
 	    (if (> (abs (- (* 2 len) new-len)) 10)
 		(snd-display ";stretch-sound-via-dft: ~A ~A" len new-len)))
 	  (close-sound ind)))
@@ -19587,9 +19474,9 @@ EDITS: 2
 	    (mus-file-mix-1 k (make-mix-input "fmv1.snd" k) 0 12 0 (float-vector 1.0) vf)
 	    (file->array "fmv.snd" 0 0 12 v0)
 
-	    ;; ?? v0: #(0.4 0.42 0.4400000000000001 0.36 0.38 0.4 0.42 0.44 0.46 0.28 0.3 0.31)
+	    ;; ?? v0: #(0.4 0.42 0.44000000 0.36 0.38 0.4 0.42 0.44 0.46 0.28 0.3 0.31)
 	    (if (or (fneq (v0 0) .4) (fneq (v0 3) .360) (fneq (v0 9) .28)) (snd-display ";~D mus-file-mix(env): ~A?" k v0))
-	    (mus-file-mix-1 k (make-mix-input "fmv2.snd" k) 0 12 0 (float-vector 1.0 1.0 1.0 1.0) vf))
+	    (mus-file-mix-1 k (make-mix-input "fmv2.snd" k) 0 12 0 (make-float-vector 4 1.0) vf))
 	  ;; clm2xen should protect us here
 	  (let ((vf (make-vector 2))
 		(vf1 (make-vector 2))
@@ -19598,11 +19485,11 @@ EDITS: 2
 	    (set! (vf 1) vf2)
 	    (set! (vf1 0) (make-env '(0 0 1 1) :length 10))
 	    (set! (vf2 1) (make-env '(0 0 1 1) :length 10))
-	    (mus-file-mix-1 k (make-mix-input "fmv2.snd" k) 0 12 0 (float-vector 1.0 1.0 1.0 1.0) vf)
+	    (mus-file-mix-1 k (make-mix-input "fmv2.snd" k) 0 12 0 (make-float-vector 4 1.0) vf)
 	    (let ((tag (catch #t
 			 (lambda ()
 			   (set! (vf 0) (make-oscil))
-			   (mus-file-mix-1 k (make-mix-input "fmv2.snd" k) 0 12 0 (float-vector 1.0 1.0 1.0 1.0) vf))
+			   (mus-file-mix-1 k (make-mix-input "fmv2.snd" k) 0 12 0 (make-float-vector 4 1.0) vf))
 			 (lambda args (car args)))))
 	      (if (not (eq? tag 'bad-type))
 		  (snd-display ";~D mix w oscil-vect: ~A" k tag)))
@@ -19612,7 +19499,7 @@ EDITS: 2
 			 (lambda ()
 			   (set! (vf1 0) (make-oscil))
 			   (set! (vf2 1) 0+i)
-			   (mus-file-mix-1 k (make-mix-input "fmv2.snd" k) 0 12 0 (float-vector 1.0 1.0 1.0 1.0) vf))
+			   (mus-file-mix-1 k (make-mix-input "fmv2.snd" k) 0 12 0 (make-float-vector 4 1.0) vf))
 			 (lambda args (car args)))))
 	      (if (not (eq? tag 'bad-type))
 		  (snd-display ";~D mix w oscil-env: ~A" k tag))))
@@ -19622,17 +19509,17 @@ EDITS: 2
 	  (mus-file-mix-1 k (make-mix-input "fmv1.snd" k))
 	  (file->array "fmv.snd" 0 0 3 v0) ; chan 0 start 0 len 3
 
-	  ;; v0: #(0.1 0.14 0.18 0.03 0.04 0.05 0.06 0.07000000000000001 0.08 0.09 0.1 0.11)
+	  ;; v0: #(0.1 0.14 0.18 0.03 0.04 0.05 0.06 0.070000000 0.08 0.09 0.1 0.11)
 	  (if (or (fneq (v0 0) .1) (fneq (v0 2) .18)) (snd-display ";~D mus-file-mix(1->4): ~A?" k v0))
 	  (mus-file-mix-1 k (make-mix-input "fmv2.snd" k)  0 3 0 (float-vector 0.3 0.0 0.7 0.0))
 	  (file->array "fmv.snd" 0 0 3 v0)
 
-	  ;; v0: #(0.3 0.34 0.38 0.03 0.04 0.05 0.06 0.07000000000000001 0.08 0.09 0.1 0.11)
+	  ;; v0: #(0.3 0.34 0.38 0.03 0.04 0.05 0.06 0.070000000 0.08 0.09 0.1 0.11)
 	  (if (or (fneq (v0 0) .3) (fneq (v0 2) .38)) (snd-display ";~D mus-file-mix(2->4): ~A?" k v0))
 	  (mus-file-mix-1 k (make-mix-input "fmv3.snd" k) 0 2 0)
 	  (file->array "fmv.snd" 0 0 3 v0)
 
-	  ;;  v0: #(0.6000000000000001 0.6400000000000001 0.38 0.03 0.04 0.05 0.06 0.07000000000000001 0.08 0.09 0.1 0.11)
+	  ;;  v0: #(0.60000000 0.64000000 0.38 0.03 0.04 0.05 0.06 0.070000000 0.08 0.09 0.1 0.11)
 	  (if (or (fneq (v0 0) .6) (fneq (v0 2) .38)) (snd-display ";~D mus-file-mix(4->4): ~A?" k v0)))
 	
 	(if (file-exists? "fmv.snd") (delete-file "fmv.snd"))
@@ -19708,9 +19595,10 @@ EDITS: 2
 	    (snd-display ";mus-file-mix-with envs 1: no output? ~A" (map short-file-name (sounds)))))
       
       (with-sound ("mix.snd")
-	(let ((rd (vector (make-readin "flat.snd")))
-	      (es (vector (make-env '(0 0 1 1) :length 1000))))
-	  (mus-file-mix-with-envs rd 0 1000 (float-vector 0.0) #f es #f #f)))
+	(mus-file-mix-with-envs (vector (make-readin "flat.snd")) 0 1000 
+				(float-vector 0.0) #f
+				(vector (make-env '(0 0 1 1) :length 1000))
+				#f #f))
       
       (let ((ind (find-sound "mix.snd")))
 	(if (sound? ind)
@@ -19725,7 +19613,7 @@ EDITS: 2
 			  (make-env '(0 1 1 0) :length 1000 :scaler .1)
 			  (make-env '(0 1 1 1) :length 1000 :scaler .5)
 			  (make-env '(0 1 1 1) :length 1000 :scaler -.5))))
-	  (mus-file-mix-with-envs rd 0 1000 (float-vector 0.0 0.0 0.0 0.0) #f es #f #f)))
+	  (mus-file-mix-with-envs rd 0 1000 (make-float-vector 4) #f es #f #f)))
       
       (let ((ind (find-sound "mix.snd")))
 	(if (sound? ind)
@@ -19740,7 +19628,7 @@ EDITS: 2
 	(let ((rd (vector (make-readin "flat.snd")))
 	      (es (vector (make-env '(0 0 1 1) :length 1000 :scaler .3) 
 			  (make-env '(0 1 1 0) :length 1000 :scaler .4))))
-	  (mus-file-mix-with-envs rd 0 1000 (float-vector 0.0 0.0 0.0 0.0) #f es #f #f)))
+	  (mus-file-mix-with-envs rd 0 1000 (make-float-vector 4) #f es #f #f)))
       
       (let ((ind (find-sound "mix.snd")))
 	(if (sound? ind)
@@ -19756,7 +19644,7 @@ EDITS: 2
 			  (make-readin "flat.snd")))
 	      (es (vector (make-env '(0 0 1 1) :length 1000 :scaler .3) 
 			  (make-env '(0 1 1 0) :length 1000 :scaler .4))))
-	  (mus-file-mix-with-envs rd 0 1000 (float-vector 0.0 0.0 0.0 0.0) #f es #f #f)))
+	  (mus-file-mix-with-envs rd 0 1000 (make-float-vector 4) #f es #f #f)))
       
       (let ((ind (find-sound "mix.snd")))
 	(if (sound? ind)
@@ -19836,29 +19724,30 @@ EDITS: 2
       (undo 1)
       (free-sampler reader)
       (set! reader (make-sampler 0))
-      (set! pv (make-phase-vocoder (lambda (dir) (next-sample reader))
-				   512 4 128 1.0
-				   #f ;no change to analysis
-				   (let ((lastphases (make-float-vector 512))
-					 (diffs (make-float-vector 512)))
-				     (lambda (v)
-				       ;; new editing func changes pitch
-				       (let ((N (mus-length v)) ;mus-increment => interp, mus-data => in-data
-					     (D (mus-hop v))
-					     (freqs (phase-vocoder-freqs v)))
-					 (copy freqs diffs)
-					 (float-vector-subtract! diffs lastphases)
-					 (copy freqs lastphases)
-					 (do ((N2 (floor (/ N 2)))
-					      (pscl (/ 1.0 D))
-					      (kscl (/ pi2 N))
-					      (k 0 (+ k 1))
-					      (kx 0.0 (+ kx kscl)))
-					     ((= k N2))
-					   (float-vector-set! freqs k (* 0.5 (+ (* pscl (remainder (float-vector-ref diffs k) pi2)) kx))))
-					 #f)))
-				   #f ; no change to synthesis
-				   ))
+      (let ((edf (let ((lastphases (make-float-vector 512))
+		       (diffs (make-float-vector 512)))
+		   (lambda (v)
+		     ;; new editing func changes pitch
+		     (let ((N (mus-length v)) ;mus-increment => interp, mus-data => in-data
+			   (D (mus-hop v))
+			   (freqs (phase-vocoder-freqs v)))
+		       (copy freqs diffs)
+		       (float-vector-subtract! diffs lastphases)
+		       (copy freqs lastphases)
+		       (do ((N2 (floor (/ N 2)))
+			    (pscl (/ 1.0 D))
+			    (kscl (/ pi2 N))
+			    (k 0 (+ k 1))
+			    (kx 0.0 (+ kx kscl)))
+			   ((= k N2))
+			 (float-vector-set! freqs k (* 0.5 (+ (* pscl (remainder (float-vector-ref diffs k) pi2)) kx))))
+		       #f)))))
+	(set! pv (make-phase-vocoder (lambda (dir) (next-sample reader))
+				     512 4 128 1.0
+				     #f ;no change to analysis
+				     edf
+				     #f ; no change to synthesis
+				     )))
       (map-channel (lambda (val) (phase-vocoder pv)))
       (undo 1)
       (free-sampler reader)
@@ -19925,135 +19814,120 @@ EDITS: 2
 	(if (not (= (mus-length genx) 512)) (snd-display ";phase vocoder length: ~A" (mus-length genx))))
       (close-sound ind))
     
-    (let ((old-fudge *mus-float-equal-fudge-factor*) ; some phase-vocoder tests
-	  (ind (new-sound :size 110))
-	  (rd #f)
-	  (pv #f))
-      (set! (sample 1) 1.0)
-      (set! rd (make-sampler))
-      (set! pv (make-phase-vocoder (lambda (dir) (next-sample rd)) 128 4 32 1.0 #f #f #f))
-      (map-channel (lambda (y) (phase-vocoder pv)))
-      
-      (set! *mus-float-equal-fudge-factor* 1e-5)
-      
-      (let ((v (channel->float-vector 0 50))
-	    (v0 (float-vector 0.00022 0.00130 0.00382 0.00810 0.01381 0.01960 0.02301 0.02143 0.01421 0.00481 0.00000 0.00396 0.01168 0.01231 0.00413 0.00018 0.00704 0.00984 0.00189 0.00197 0.00881 0.00290 0.00151 0.00781 0.00091 0.00404 0.00498 0.00047 0.00641 -0.00017 0.00590 0.00006 0.00492 0.00031 0.00380 0.00052 0.00290 0.00066 0.00219 0.00074 0.00164 0.00076 0.00123 0.00074 0.00092 0.00067 0.00069 0.00058 0.00052 0.00048)))
-	(if (not (or (mus-arrays-equal? v v0)
-		     (mus-arrays-equal? (float-vector-scale! v -1.0) v0))) 
-	    (snd-display ";pv 1 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
-      
-      (undo)
-      
-      (set! rd (make-sampler))
-      (set! pv (make-phase-vocoder (lambda (dir) (next-sample rd)) 128 4 32 2.0 #f #f #f))
-      (map-channel (lambda (y) (phase-vocoder pv)))
-      
-      (let ((v (channel->float-vector 0 50))
-	    (v0 (float-vector 0.00044 0.00255 0.00705 0.01285 0.01595 0.01177 0.00281 0.00069 0.00782 0.00702 0.00001 0.00584 0.00385 0.00138 0.00547 0.00035 0.00494 0.00082 0.00305 0.00310 0.00003 0.00380 0.00245 -0.00019 0.00159 0.00348 0.00268 0.00087 -0.00020 -0.00036 -0.00010 0.00012 0.00036 0.00057 0.00075 0.00089 0.00099 0.00105 0.00108 0.00107 0.00104 0.00099 0.00094 0.00087 0.00080 0.00073 0.00066 0.00059 0.00053 0.00047)))
-	(if (not (mus-arrays-equal? v v0))
-	    (snd-display ";pv 2 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
-      
-      (undo)
-      
-      (set! rd (make-sampler))
-      (set! pv (make-phase-vocoder (lambda (dir) (next-sample rd)) 128 4 32 0.5 #f #f #f))
-      (map-channel (lambda (y) (phase-vocoder pv)))
-      
-      (let ((v (channel->float-vector 0 50))
-	    (v0 (float-vector 0.00011 0.00065 0.00195 0.00428 0.00785 0.01266 0.01845 0.02456 0.02989 0.03305 0.03267 0.02803 0.01970 0.00993 0.00228 0.00009 0.00441 0.01250 0.01858 0.01759 0.00975 0.00160 0.00079 0.00795 0.01454 0.01201 0.00325 0.00024 0.00716 0.01261 0.00704 0.00003 0.00384 0.00962 0.00620 0.00027 0.00196 0.00655 0.00492 0.00040 0.00101 0.00448 0.00375 0.00041 0.00053 0.00305 0.00273 0.00033 0.00029 0.00204)))
-	(if (not (mus-arrays-equal? v v0))
-	    (snd-display ";pv 3 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
-      
-      (undo)
-      
-      (set! rd (make-sampler))
-      (set! pv (make-phase-vocoder (lambda (dir) (next-sample rd)) 128 4 64 1.0 #f #f #f))
-      (map-channel (lambda (y) (phase-vocoder pv)))
-      
-      (let ((v (channel->float-vector 0 100))
-	    (v0 (float-vector 0.00005 0.00033 0.00098 0.00214 0.00392 0.00633 0.00923 0.01228 0.01495 0.01652 0.01633 0.01401 0.00985 0.00497 0.00114 0.00004 0.00221 0.00625 0.00929 0.00880 0.00488 0.00080 0.00040 0.00397 0.00727 0.00601 0.00162 0.00012 0.00358 0.00630 0.00352 0.00002 0.00217 0.00552 0.00300 -0.00008 0.00299 0.00479 0.00083 0.00098 0.00457 0.00175 0.00033 0.00412 0.00172 0.00039 0.00399 0.00087 0.00118 0.00356 -0.00016 0.00280 0.00169 0.00051 0.00326 -0.00030 0.00301 0.00040 0.00184 0.00144 0.00078 0.00213 0.00015 0.00242 -0.00017 0.00240 -0.00038 0.00230 -0.00049 0.00214 -0.00053 0.00194 -0.00051 0.00172 -0.00047 0.00150 -0.00040 0.00127 -0.00033 0.00106 -0.00025 0.00086 -0.00019 0.00068 -0.00013 0.00052 -0.00008 0.00039 -0.00005 0.00027 -0.00002 0.00017 -0.00001 0.00009 -0.00000 0.00003 -0.00000 -0.00002 -0.00001 -0.00006)))
-	(if (not (mus-arrays-equal? v v0))
-	    (snd-display ";pv 4 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
-      
-      (undo)
-      
-      (set! (sample 10) 1.0)
-      (set! (sample 23) 1.0)
-      (set! rd (make-sampler))
-      (set! pv (make-phase-vocoder (lambda (dir) (next-sample rd)) 128 4 32 1.0 #f #f #f))
-      (map-channel (lambda (y) (phase-vocoder pv)))
-      
-      (let ((v (channel->float-vector 0 100))
-	    (v0 (float-vector 0.00100 0.00598 0.01756 0.03708 0.06286 0.08826 0.10172 0.09163 0.05680 0.01564 -0.00075 0.02124 0.05164 0.04457 0.00861 0.00529 0.03648 0.02747 -0.00875 0.00936 0.02402 -0.00553 -0.00090 -0.02262 -0.00221 0.06633 -0.03229 0.01861 0.05228 0.00672 0.00885 0.01442 -0.00484 -0.02293 -0.01893 -0.02256 -0.10229 -0.22474 0.31110 0.07597 0.07127 0.03670 0.02583 0.03173 0.02260 0.01550 0.01485 0.03212 -0.00966 0.00779 -0.00964 0.00698 0.01100 0.00468 0.00107 0.00517 0.00469 0.00131 0.00058 0.00530 0.00582 -0.00652 0.00011 0.00000 -0.00000 -0.00000 -0.00000 0.00000 -0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000 -0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 0.00000 0.00000 0.00000 -0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000)))
-	(if (not (mus-arrays-equal? v v0))
-	    (snd-display ";pv 5 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
-      
-      (undo)
-      
-      (set! (sample 40) 1.0)
-      (set! (sample 63) 1.0)
-      (set! rd (make-sampler))
-      (set! pv (make-phase-vocoder (lambda (dir) (next-sample rd)) 128 4 32 1.0 #f #f #f))
-      (map-channel (lambda (y) (phase-vocoder pv)))
-      
-      (let ((v (channel->float-vector 0 100))
-	    (v0 (float-vector 0.00332 0.01977 0.05805 0.12252 0.20738 0.29035 0.33291 0.29696 0.18017 0.04637 -0.00003 0.08250 0.18618 0.15495 0.02775 0.02252 0.13597 0.09767 -0.03116 0.05301 0.10256 -0.05005 0.01966 0.06176 -0.04418 0.04118 -0.11409 -0.04115 -0.05157 -0.11409 0.07815 -0.08155 -0.00536 0.02090 -0.18804 -0.10686 -0.11931 -0.42989 0.39009 0.03157 0.14253 0.05984 0.05439 0.00764 0.02636 -0.02799 -0.01346 -0.01011 -0.04925 -0.02896 -0.07812 -0.07880 -0.11338 -0.13133 -0.41421 0.38140 0.08676 0.07712 0.00983 0.03731 0.01585 0.00108 0.00101 0.00282 -0.01106 -0.00403 -0.02165 -0.02054 -0.02452 -0.02382 -0.03213 -0.02693 -0.03734 -0.03978 -0.04879 -0.07504 -0.09597 -0.31426 0.32995 0.13460 0.04120 0.05029 0.01900 0.02517 0.01163 0.01294 0.00827 0.00576 0.00640 0.00141 0.00489 -0.00057 0.00301 -0.00089 0.00099 -0.00000 0.00000 -0.00000 -0.00000 -0.00000)))
-	(if (not (mus-arrays-equal? v v0))
-	    (snd-display ";pv 6 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
+    (let-temporarily ((*mus-float-equal-fudge-factor* 1e-5)) ; some phase-vocoder tests
+      (let ((ind (new-sound :size 110)))
+	(set! (sample 1) 1.0)
+	(let ((pv (make-phase-vocoder (let ((rd (make-sampler)))
+					(lambda (dir) (next-sample rd)))
+				      128 4 32 1.0 #f #f #f)))
+	  (map-channel (lambda (y) (phase-vocoder pv)))
+	  (let ((v (channel->float-vector 0 50))
+		(v0 (float-vector 0.00022 0.00130 0.00382 0.00810 0.01381 0.01960 0.02301 0.02143 0.01421 0.00481 0.00000 0.00396 0.01168 0.01231 0.00413 0.00018 0.00704 0.00984 0.00189 0.00197 0.00881 0.00290 0.00151 0.00781 0.00091 0.00404 0.00498 0.00047 0.00641 -0.00017 0.00590 0.00006 0.00492 0.00031 0.00380 0.00052 0.00290 0.00066 0.00219 0.00074 0.00164 0.00076 0.00123 0.00074 0.00092 0.00067 0.00069 0.00058 0.00052 0.00048)))
+	    (if (not (or (mus-arrays-equal? v v0)
+			 (mus-arrays-equal? (float-vector-scale! v -1.0) v0))) 
+		(snd-display ";pv 1 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
+	  (undo))
+
+	(let ((pv (make-phase-vocoder (let ((rd (make-sampler)))
+					(lambda (dir) (next-sample rd)) )
+		   128 4 32 2.0 #f #f #f)))
+	  (map-channel (lambda (y) (phase-vocoder pv)))
+	  (let ((v (channel->float-vector 0 50))
+		(v0 (float-vector 0.00044 0.00255 0.00705 0.01285 0.01595 0.01177 0.00281 0.00069 0.00782 0.00702 0.00001 0.00584 0.00385 0.00138 0.00547 0.00035 0.00494 0.00082 0.00305 0.00310 0.00003 0.00380 0.00245 -0.00019 0.00159 0.00348 0.00268 0.00087 -0.00020 -0.00036 -0.00010 0.00012 0.00036 0.00057 0.00075 0.00089 0.00099 0.00105 0.00108 0.00107 0.00104 0.00099 0.00094 0.00087 0.00080 0.00073 0.00066 0.00059 0.00053 0.00047)))
+	    (if (not (mus-arrays-equal? v v0))
+		(snd-display ";pv 2 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
+	  (undo))
+	
+	(let ((pv (make-phase-vocoder (let ((rd (make-sampler)))
+					(lambda (dir) (next-sample rd)))
+				      128 4 32 0.5 #f #f #f)))
+	  (map-channel (lambda (y) (phase-vocoder pv)))
+	  (let ((v (channel->float-vector 0 50))
+		(v0 (float-vector 0.00011 0.00065 0.00195 0.00428 0.00785 0.01266 0.01845 0.02456 0.02989 0.03305 0.03267 0.02803 0.01970 0.00993 0.00228 0.00009 0.00441 0.01250 0.01858 0.01759 0.00975 0.00160 0.00079 0.00795 0.01454 0.01201 0.00325 0.00024 0.00716 0.01261 0.00704 0.00003 0.00384 0.00962 0.00620 0.00027 0.00196 0.00655 0.00492 0.00040 0.00101 0.00448 0.00375 0.00041 0.00053 0.00305 0.00273 0.00033 0.00029 0.00204)))
+	    (if (not (mus-arrays-equal? v v0))
+		(snd-display ";pv 3 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
+	  (undo))
+	
+	(let ((pv (make-phase-vocoder (let ((rd (make-sampler)))
+					(lambda (dir) (next-sample rd)))
+				      128 4 64 1.0 #f #f #f)))
+	  (map-channel (lambda (y) (phase-vocoder pv)))
+	  (let ((v (channel->float-vector 0 100))
+		(v0 (float-vector 0.00005 0.00033 0.00098 0.00214 0.00392 0.00633 0.00923 0.01228 0.01495 0.01652 0.01633 0.01401 0.00985 0.00497 0.00114 0.00004 0.00221 0.00625 0.00929 0.00880 0.00488 0.00080 0.00040 0.00397 0.00727 0.00601 0.00162 0.00012 0.00358 0.00630 0.00352 0.00002 0.00217 0.00552 0.00300 -0.00008 0.00299 0.00479 0.00083 0.00098 0.00457 0.00175 0.00033 0.00412 0.00172 0.00039 0.00399 0.00087 0.00118 0.00356 -0.00016 0.00280 0.00169 0.00051 0.00326 -0.00030 0.00301 0.00040 0.00184 0.00144 0.00078 0.00213 0.00015 0.00242 -0.00017 0.00240 -0.00038 0.00230 -0.00049 0.00214 -0.00053 0.00194 -0.00051 0.00172 -0.00047 0.00150 -0.00040 0.00127 -0.00033 0.00106 -0.00025 0.00086 -0.00019 0.00068 -0.00013 0.00052 -0.00008 0.00039 -0.00005 0.00027 -0.00002 0.00017 -0.00001 0.00009 -0.00000 0.00003 -0.00000 -0.00002 -0.00001 -0.00006)))
+	    (if (not (mus-arrays-equal? v v0))
+		(snd-display ";pv 4 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
+	  (undo))
+	
+	(set! (sample 10) 1.0)
+	(set! (sample 23) 1.0)
+	(let ((pv (make-phase-vocoder (let ((rd (make-sampler)))
+					(lambda (dir) (next-sample rd)))
+				      128 4 32 1.0 #f #f #f)))
+	  (map-channel (lambda (y) (phase-vocoder pv)))
+	  (let ((v (channel->float-vector 0 100))
+		(v0 (float-vector 0.00100 0.00598 0.01756 0.03708 0.06286 0.08826 0.10172 0.09163 0.05680 0.01564 -0.00075 0.02124 0.05164 0.04457 0.00861 0.00529 0.03648 0.02747 -0.00875 0.00936 0.02402 -0.00553 -0.00090 -0.02262 -0.00221 0.06633 -0.03229 0.01861 0.05228 0.00672 0.00885 0.01442 -0.00484 -0.02293 -0.01893 -0.02256 -0.10229 -0.22474 0.31110 0.07597 0.07127 0.03670 0.02583 0.03173 0.02260 0.01550 0.01485 0.03212 -0.00966 0.00779 -0.00964 0.00698 0.01100 0.00468 0.00107 0.00517 0.00469 0.00131 0.00058 0.00530 0.00582 -0.00652 0.00011 0.00000 -0.00000 -0.00000 -0.00000 0.00000 -0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000 -0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 0.00000 0.00000 0.00000 -0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000)))
+	    (if (not (mus-arrays-equal? v v0))
+		(snd-display ";pv 5 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
+	  (undo))
+	
+	(set! (sample 40) 1.0)
+	(set! (sample 63) 1.0)
+	(let  ((pv (make-phase-vocoder (let ((rd (make-sampler)))
+					 (lambda (dir) (next-sample rd)))
+				       128 4 32 1.0 #f #f #f)))
+	  (map-channel (lambda (y) (phase-vocoder pv)))
+	  (let ((v (channel->float-vector 0 100))
+		(v0 (float-vector 0.00332 0.01977 0.05805 0.12252 0.20738 0.29035 0.33291 0.29696 0.18017 0.04637 -0.00003 0.08250 0.18618 0.15495 0.02775 0.02252 0.13597 0.09767 -0.03116 0.05301 0.10256 -0.05005 0.01966 0.06176 -0.04418 0.04118 -0.11409 -0.04115 -0.05157 -0.11409 0.07815 -0.08155 -0.00536 0.02090 -0.18804 -0.10686 -0.11931 -0.42989 0.39009 0.03157 0.14253 0.05984 0.05439 0.00764 0.02636 -0.02799 -0.01346 -0.01011 -0.04925 -0.02896 -0.07812 -0.07880 -0.11338 -0.13133 -0.41421 0.38140 0.08676 0.07712 0.00983 0.03731 0.01585 0.00108 0.00101 0.00282 -0.01106 -0.00403 -0.02165 -0.02054 -0.02452 -0.02382 -0.03213 -0.02693 -0.03734 -0.03978 -0.04879 -0.07504 -0.09597 -0.31426 0.32995 0.13460 0.04120 0.05029 0.01900 0.02517 0.01163 0.01294 0.00827 0.00576 0.00640 0.00141 0.00489 -0.00057 0.00301 -0.00089 0.00099 -0.00000 0.00000 -0.00000 -0.00000 -0.00000)))
+	    (if (not (mus-arrays-equal? v v0))
+		(snd-display ";pv 6 diff: ~A" (float-vector-peak (float-vector-subtract! v v0)))))
+	  (close-sound ind))))
       
-      (close-sound ind)
-      (set! *mus-float-equal-fudge-factor* old-fudge))
-    
     (let ()
       (define (pvoc-d beg dur amp size)
-	(let ((N2 (floor (/ size 2)))
-	      (start (seconds->samples beg))
-	      (end (seconds->samples (+ beg dur)))
-	      (two-pi (* 2 pi))
-	      (amps #f) (paincrs #f) (ppincrs #f) (phases #f) (freqs #f))
-	  
-	  (define ifunc 
-	    (let ((osc (make-oscil 1000.0)))
-	      (lambda (dir)
-		(oscil osc))))
-	  
-	  (define efunc 
-	    (let ((lastphases (make-float-vector N2)))
-	      (lambda (c)
-		(do ((pscl (/ 1.0 (floor (/ size 4)))) ; overlap = 4
-		     (kscl (/ two-pi size))
-		     (k 0 (+ k 1))
-		     (ks 0.0 (+ ks kscl)))
-		    ((= k N2) #f)
-		  (let* ((freq (freqs k))
-			 (diff (- freq (lastphases k))))
-		    (set! (lastphases k) freq)
-		    (if (> diff pi) (set! diff (- diff two-pi)))
-		    (if (< diff (- pi)) (set! diff (+ diff two-pi)))
-		    (set! (freqs k) (+ (* diff  pscl) ks)))))))
-	  
-	  (define (sfunc c)
-	    (float-vector-add! amps paincrs)
-	    (float-vector-add! ppincrs freqs)
-	    (float-vector-add! phases ppincrs)
-	    (let ((sum 0.0))
-	      (do ((i 0 (+ i 1)))
-		  ((= i N2))
-		(if (> (amps i) .75)
-		    (set! sum (+ sum (* (amps i) (if (> (modulo (phases i) two-pi) pi) 1.0 -1.0))))))
-	      sum))
-	  
-	  (let ((sr (make-phase-vocoder :fft-size size :interp (/ size 4) :overlap 4
-					:edit efunc
-					:synthesize sfunc
-					:input ifunc)))
+	(let ((amps #f) (paincrs #f) (ppincrs #f) (phases #f) (freqs #f))
+	  (let ((sr (let ((N2 (floor (/ size 2)))
+			  (two-pi (* 2 pi)))
+		      (let ((ifunc (let ((osc (make-oscil 1000.0)))
+				     (lambda (dir)
+				       (oscil osc))))
+			    
+			    (efunc (let ((lastphases (make-float-vector N2)))
+				     (lambda (c)
+				       (do ((pscl (/ 1.0 (floor (/ size 4)))) ; overlap = 4
+					    (kscl (/ two-pi size))
+					    (k 0 (+ k 1))
+					    (ks 0.0 (+ ks kscl)))
+					   ((= k N2) #f)
+					 (let* ((freq (freqs k))
+						(diff (- freq (lastphases k))))
+					   (set! (lastphases k) freq)
+					   (if (> diff pi) (set! diff (- diff two-pi)))
+					   (if (< diff (- pi)) (set! diff (+ diff two-pi)))
+					   (set! (freqs k) (+ (* diff  pscl) ks)))))))
+			    
+			    (sfunc (lambda (c)
+				     (float-vector-add! amps paincrs)
+				     (float-vector-add! ppincrs freqs)
+				     (float-vector-add! phases ppincrs)
+				     (let ((sum 0.0))
+				       (do ((i 0 (+ i 1)))
+					   ((= i N2))
+					 (if (> (amps i) .75)
+					     (set! sum (+ sum (* (amps i) (if (> (modulo (phases i) two-pi) pi) 1.0 -1.0))))))
+				       sum))))
+			(make-phase-vocoder :fft-size size :interp (/ size 4) :overlap 4
+					    :edit efunc
+					    :synthesize sfunc
+					    :input ifunc)))))
+	    
 	    (set! amps (phase-vocoder-amps sr))
 	    (set! paincrs (phase-vocoder-amp-increments sr))
 	    (set! ppincrs (phase-vocoder-phase-increments sr))
 	    (set! phases (phase-vocoder-phases sr))
 	    (set! freqs (phase-vocoder-freqs sr))
 	    
-	    (do ((i start (+ i 1))) 
+	    (do ((end (seconds->samples (+ beg dur)))
+		 (i (seconds->samples beg) (+ i 1)))
 		((= i end))
 	      (outa i (* amp (phase-vocoder sr)))))))
       
@@ -20407,13 +20281,6 @@ EDITS: 2
 	     (lambda args (car args))))
 	 make-procs gen-procs)
 	
-	(let ((new-wave (make-float-vector 1)))
-	  (for-each 
-	   (lambda (g g1)
-	     (g1 (g :wave new-wave) 1.0))
-	   (list make-table-lookup)
-	   (list table-lookup)))
-	
 	(let ((old-clm-srate *clm-srate*))
 	  (for-each
 	   (lambda (n)
@@ -20500,31 +20367,31 @@ EDITS: 2
     (let ((odata (make-float-vector 15))
 	  (data (float-vector 1.0 0.0 -1.1 1.1001 0.1 -1.1 1.0 1.0 0.5 -0.01 0.02 0.0 0.0 0.0 0.0))
 	  (g (make-moving-max 3)))
-      (do ((i 0 (+ i 1))) ((= i 15)) (set! (odata i) (moving-max g (data i))))
-      (if (not (mus-arrays-equal? odata (float-vector 1.000 1.000 1.100 1.100 1.100 1.100 1.100 1.100 1.000 1.000 0.500 0.020 0.020 0.000 0.000)))
-	  (snd-display ";moving max odata: ~A" odata))
-      (if (= (odata 4) (odata 7))
-	  (snd-display ";moving-max .0001 offset?"))
-      
-      (set! odata (make-float-vector 15))
-      (set! data (float-vector 0.1 -0.2 0.3 0.4 -0.5 0.6 0.7 0.8 -0.9 1.0 0.0 0.0))
-      (set! g (make-moving-sum 3))
-      (do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-sum g (data i))))
-      (if (not (mus-arrays-equal? odata (float-vector 0.100 0.300 0.600 0.900 1.200 1.500 1.800 2.100 2.400 2.700 1.900 1.000 0.000 0.000 0.000)))
-	  (snd-display ";moving-sum odata: ~A" odata))
-      
-      (set! odata (make-float-vector 15))
-      (set! g (make-moving-rms 4))
-      (do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-rms g (data i))))
-      (if (not (mus-arrays-equal? odata (float-vector 0.050 0.112 0.187 0.274 0.367 0.464 0.561 0.660 0.758 0.857 0.783 0.673 0.000 0.000 0.000)))
-	  (snd-display ";moving-rms odata: ~A" odata))
-      
-      (set! odata (make-float-vector 15))
-      (set! g (make-moving-length 4))
-      (do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-length g (data i))))
-      (if (not (mus-arrays-equal? odata (float-vector 0.100 0.224 0.374 0.548 0.735 0.927 1.122 1.319 1.517 1.715 1.565 1.345 0.000 0.000 0.000)))
-	  (snd-display ";moving-length odata: ~A" odata))
-      
+	(do ((i 0 (+ i 1))) ((= i 15)) (set! (odata i) (moving-max g (data i))))
+	(if (not (mus-arrays-equal? odata (float-vector 1.000 1.000 1.100 1.100 1.100 1.100 1.100 1.100 1.000 1.000 0.500 0.020 0.020 0.000 0.000)))
+	    (snd-display ";moving max odata: ~A" odata))
+	(if (= (odata 4) (odata 7))
+	    (snd-display ";moving-max .0001 offset?")))
+      
+    (let ((data (float-vector 0.1 -0.2 0.3 0.4 -0.5 0.6 0.7 0.8 -0.9 1.0 0.0 0.0)))
+      (let ((odata (make-float-vector 15))
+	    (g (make-moving-sum 3)))
+	(do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-sum g (data i))))
+	(if (not (mus-arrays-equal? odata (float-vector 0.100 0.300 0.600 0.900 1.200 1.500 1.800 2.100 2.400 2.700 1.900 1.000 0.000 0.000 0.000)))
+	    (snd-display ";moving-sum odata: ~A" odata)))
+      
+      (let ((odata (make-float-vector 15))
+	    (g (make-moving-rms 4)))
+	(do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-rms g (data i))))
+	(if (not (mus-arrays-equal? odata (float-vector 0.050 0.112 0.187 0.274 0.367 0.464 0.561 0.660 0.758 0.857 0.783 0.673 0.000 0.000 0.000)))
+	    (snd-display ";moving-rms odata: ~A" odata)))
+      
+      (let ((odata (make-float-vector 15))
+	    (g (make-moving-length 4)))
+	(do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-length g (data i))))
+	(if (not (mus-arrays-equal? odata (float-vector 0.100 0.224 0.374 0.548 0.735 0.927 1.122 1.319 1.517 1.715 1.565 1.345 0.000 0.000 0.000)))
+	    (snd-display ";moving-length odata: ~A" odata)))
+	
       (let ((ind (new-sound "test.snd" :size 20)))
 	(set! (sample 3) 1.0)
 	(let ((gen1 (make-weighted-moving-average 4)))
@@ -20539,51 +20406,52 @@ EDITS: 2
 	  (undo))
 	(close-sound ind))
       
-      (do ((i 0 (+ i 1)))
-	  ((= i 10))
-	(set! (data i) (mus-random 0.5)))
-      (set! g (make-moving-length 4))
-      (do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-length g (data i))))
-      (do ((i -3 (+ i 1))
-	   (k 0 (+ k 1)))
-	  ((= i 8))
-	(let ((sum 0.0))
-	  (do ((j 0 (+ j 1)))
-	      ((= j 4))
-	    (if (>= (+ i j) 0)
-		(set! sum (+ sum (* (data (+ i j)) (data (+ i j)))))))
-	  (if (fneq (odata k) (sqrt sum)) (snd-display ";moving length ran: ~A ~A" (odata k) (sqrt sum)))))
-      
-      (do ((i 0 (+ i 1)))
-	  ((= i 10))
-	(set! (data i) (mus-random 0.5)))
-      (set! g (make-moving-sum 4))
-      (do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-sum g (data i))))
-      (do ((i -3 (+ i 1))
-	   (k 0 (+ k 1)))
-	  ((= i 8))
-	(let ((sum 0.0))
-	  (do ((j 0 (+ j 1)))
-	      ((= j 4))
-	    (if (>= (+ i j) 0)
-		(set! sum (+ sum (abs (data (+ i j)))))))
-	  (if (fneq (odata k) sum) (snd-display ";moving sum ran: ~A ~A" (odata k) sum))))
+      (let ((odata (make-float-vector 15)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (data i) (mus-random 0.5)))
+	(let ((g (make-moving-length 4)))
+	  (do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-length g (data i)))))
+	(do ((i -3 (+ i 1))
+	     (k 0 (+ k 1)))
+	    ((= i 8))
+	  (let ((sum 0.0))
+	    (do ((j 0 (+ j 1)))
+		((= j 4))
+	      (if (>= (+ i j) 0)
+		  (set! sum (+ sum (* (data (+ i j)) (data (+ i j)))))))
+	    (if (fneq (odata k) (sqrt sum)) (snd-display ";moving length ran: ~A ~A" (odata k) (sqrt sum)))))
+	
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (data i) (mus-random 0.5)))
+	(let ((g (make-moving-sum 4)))
+	  (do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-sum g (data i)))))
+	(do ((i -3 (+ i 1))
+	     (k 0 (+ k 1)))
+	    ((= i 8))
+	  (let ((sum 0.0))
+	    (do ((j 0 (+ j 1)))
+		((= j 4))
+	      (if (>= (+ i j) 0)
+		  (set! sum (+ sum (abs (data (+ i j)))))))
+	    (if (fneq (odata k) sum) (snd-display ";moving sum ran: ~A ~A" (odata k) sum))))
+	
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (data i) (mus-random 0.5)))
+	(let ((g (make-moving-rms 4)))
+	  (do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-rms g (data i)))))
+	(do ((i -3 (+ i 1))
+	     (k 0 (+ k 1)))
+	    ((= i 8))
+	  (let ((sum 0.0))
+	    (do ((j 0 (+ j 1)))
+		((= j 4))
+	      (if (>= (+ i j) 0)
+		  (set! sum (+ sum (* (data (+ i j)) (data (+ i j)))))))
+	    (if (fneq (odata k) (sqrt (/ sum 4))) (snd-display ";moving rms ran: ~A ~A" (odata k) (sqrt (/ sum 4))))))))
       
-      (do ((i 0 (+ i 1)))
-	  ((= i 10))
-	(set! (data i) (mus-random 0.5)))
-      (set! g (make-moving-rms 4))
-      (do ((i 0 (+ i 1))) ((= i 12)) (set! (odata i) (moving-rms g (data i))))
-      (do ((i -3 (+ i 1))
-	   (k 0 (+ k 1)))
-	  ((= i 8))
-	(let ((sum 0.0))
-	  (do ((j 0 (+ j 1)))
-	      ((= j 4))
-	    (if (>= (+ i j) 0)
-		(set! sum (+ sum (* (data (+ i j)) (data (+ i j)))))))
-	  (if (fneq (odata k) (sqrt (/ sum 4))) (snd-display ";moving rms ran: ~A ~A" (odata k) (sqrt (/ sum 4)))))))
-    
     (let ((ind (open-sound "oboe.snd")))
       (harmonicizer 550.0 '(1 .5 2 .3 3 .2) 10)
       (close-sound ind))
@@ -20683,12 +20551,7 @@ EDITS: 2
       )
     
     (let ((tanh-1 (lambda (x)
-		    (+ x
-		       (* -1/3 x x x)
-		       (* 2/15 x x x x x)
-		       (* -17/315 x x x x x x x)
-		       (* 62/2835 x x x x x x x x x)
-		       (* -1382/155925 x x x x x x x x x x x))))
+		    (* x (+ 1 (* x x (- (* x x (+ 2/15 (* x x (- (* x x (+ 62/2835 (* x x -1382/155925))) 17/315)))) 1/3))))))
 	  (tanh-2 (lambda (y)
 		    (+ (* 140069/172800 (sin y))
 		       (* 13319/241920 (sin (* 3 y)))
@@ -21437,14 +21300,12 @@ EDITS: 2
       (if (equal? o p)
 	  (snd-display ";nssb copy/run ~A == ~A~%" o p)))
     
-    (let* ((v1 (float-vector 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9))
-	   (o (make-wave-train 100 :wave v1))
+    (let* ((o (make-wave-train 100 :wave (float-vector 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9)))
 	   (p (copy o)))
       (if (not (equal? o p))
 	  (snd-display ";wave-train copy ~A != ~A~%" o p)))
     
-    (let* ((v1 (float-vector 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9))
-	   (o (make-table-lookup 440.0 :wave v1))
+    (let* ((o (make-table-lookup 440.0 :wave (float-vector 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9)))
 	   (p (copy o)))
       (if (not (equal? o p))
 	  (snd-display ";table-lookup copy ~A != ~A~%" o p))
@@ -21543,177 +21404,173 @@ EDITS: 2
       (if (sound? oldie)
 	  (close-sound oldie)))
     
-    (let ((ind (new-sound "test.snd" :channels 1))
-	  (f1 (seg '(0 0 1 25 1 75 0 100))))
-      
-      (define mix-fmsimp 
-	(let ((soprano ())
-	      (alto ())
-	      (tenor ())
-	      (bass ())
-	      (f6 (seg '(1 1  .5 10  .75 50  .4 75  .6 90  0 100)))
-	      (f7 (seg '(0 1  .5 10  .25 25  .75 50  .5 75  1 90  0 100))))
-	  (lambda (beg dur freq amp ampfunc rat1 indx1 rat2 indx2)
-	    (let ((freq1 (if (> freq (/ *clm-srate* 8)) (/ freq 8) freq))
-		  (amp1 (* amp .175)))
-	      (let ((id (car (mix (with-temp-sound () 
-						   (fm-violin 0 dur freq1 amp1
-							      :fm1-rat (* 1.002 rat1)
-							      :fm1-index (* .5 rat1 indx1 (hz->radians freq))
-							      :fm1-env f6
-							      :fm2-rat (* 1.003 rat2)
-							      :fm2-index (* .5 indx2 rat2 (hz->radians freq))
-							      :fm2-env f7
-							      :fm3-index 0.0
-							      :reverb-amount 1.0
-							      :amp-env ampfunc))
-				  (->sample beg) 0 ind 0 #t #t))))  ; with tag and auto-delete
-		(set! (mix-name id) (number->string (floor freq)))
-		(cond ((> freq 700) (set! soprano (cons id soprano)))
-		      ((> freq 500) (set! alto (cons id alto)))
-		      ((> freq 300) (set! tenor (cons id tenor)))
-		      (else         (set! bass (cons id bass)))))))))
-      
-      (as-one-edit
-       (lambda ()
-	 (mix-fmsimp   .000  2.488  659.255   .500  f1  5.000  1.260  2.000   .501)
-	 (mix-fmsimp   .750  1.988  654.084   .167  f1  3.000  1.260  1.000   .710)
-	 (mix-fmsimp  1.000  2.738  880.000   .500  f1  5.000  1.260  1.000   .140)
-	 (mix-fmsimp  2.000  2.488  880.000   .500  f1  1.000  1.671  2.000   .745)
-	 (mix-fmsimp  2.750  1.969  871.429   .495  f1  5.000  1.312  1.000   .447)
-	 (mix-fmsimp  3.000  2.750  493.883   .100  f1  1.000  1.260  2.000  1.069)
-	 (mix-fmsimp  4.000  2.488  654.568   .500  f1  3.000  1.671  5.000   .793)
-	 (mix-fmsimp  4.750  1.988  590.042   .241  f1  2.000  1.671  5.000  1.046)
-	 (mix-fmsimp  5.000  2.238  551.574   .500  f1  4.000  1.671  1.000   .073)
-	 (mix-fmsimp  5.500  2.238  664.174   .504  f1  3.000  1.671  4.000   .791)
-	 (mix-fmsimp  6.000  1.988  659.255   .400  f1  2.000  1.671  2.000   .955)
-	 (mix-fmsimp  6.250  2.738  880.000   .400  f1  5.000  1.260  5.000   .645)
-	 (mix-fmsimp  7.250  2.505  885.724   .336  f1  5.000  1.260  4.000   .302)
-	 (mix-fmsimp  8.000  1.988  880.000   .500  f1  3.000  1.260  2.000   .672)
-	 (mix-fmsimp  8.250  2.738  493.883   .100  f1  4.000  1.671  1.000   .013)
-	 (mix-fmsimp  9.250  2.488  659.255   .250  f1  3.000  1.671  3.000  1.167)
-	 (mix-fmsimp  10.000  1.988  587.330   .240  f1  2.000  1.314  5.000   .423)
-	 (mix-fmsimp  10.250  2.238  554.365   .500  f1  1.000  1.671  2.000   .078)
-	 (mix-fmsimp  10.750  2.238  659.255   .500  f1  1.000  1.260  5.000   .797)
-	 (mix-fmsimp  11.250  1.988  651.332   .400  f1  5.000  1.671  1.000   .883)
-	 (mix-fmsimp  11.500  1.926  878.372   .200  f1  1.000  1.434  4.000   .322)
-	 (mix-fmsimp  11.688  2.497  880.000   .335  f1  2.000  1.671  4.000   .879)
-	 (mix-fmsimp  12.438  2.006  887.764   .288  f1  1.000  1.671  4.000   .652)
-	 (mix-fmsimp  12.688  2.738  493.883   .100  f1  1.000  1.671  4.000   .521)
-	 (mix-fmsimp  13.688  2.488  659.255   .250  f1  2.000  1.671  2.000  1.247)
-	 (mix-fmsimp  14.438  1.988  587.330   .240  f1  1.000  1.260  2.000  1.182)
-	 (mix-fmsimp  14.688  2.238  547.848   .494  f1  4.000  1.671  2.000   .432)
-	 (mix-fmsimp  15.188  3.238  867.651   .500  f1  4.000  1.671  1.000   .571)
-	 (mix-fmsimp  16.688  2.238  659.255   .400  f1  4.000  1.671  4.000   .477)
-	 (mix-fmsimp  17.188  1.988  652.468   .495  f1  3.000  1.671  2.000   .438)
-	 (mix-fmsimp  17.438  1.926  880.000   .200  f1  2.000  1.671  4.000  1.107)
-	 (mix-fmsimp  17.625  2.523  880.000   .500  f1  5.000  1.671  1.000   .830)
-	 (mix-fmsimp  18.375  1.988  880.000   .400  f1  4.000  1.671  3.000   .186)
-	 (mix-fmsimp  18.625  2.738  493.883   .100  f1  1.000  1.260  5.000   .407)
-	 (mix-fmsimp  19.625  2.488  657.231   .166  f1  5.000  1.260  2.000   .389)
-	 (mix-fmsimp  20.375  1.976  587.330   .238  f1  2.000  1.671  1.000   .712)
-	 (mix-fmsimp  20.625  2.238  554.365   .500  f1  3.000  1.260  5.000   .171)
-	 (mix-fmsimp  21.125  3.238  880.000   .500  f1  4.000  1.671  1.000   .507)
-	 (mix-fmsimp  22.625  2.238  650.838   .395  f1  3.000  1.671  4.000   .160)
-	 (mix-fmsimp  23.125  1.978  659.255   .497  f1  1.000  1.671  1.000   .867)
-	 (mix-fmsimp  23.375  1.926  885.243   .333  f1  2.000  1.412  4.000   .811)
-	 (mix-fmsimp  23.563  2.488  880.000   .500  f1  4.000  1.671  3.000   .439)
-	 (mix-fmsimp  24.313  1.995  882.799   .401  f1  1.000  1.671  4.000  1.089)
-	 (mix-fmsimp  24.563  2.730  246.942   .100  f1  2.000  1.671  1.000   .092)
-	 (mix-fmsimp  25.563  2.488  329.628   .167  f1  2.000  1.671  2.000  1.149)
-	 (mix-fmsimp  26.313  2.007  587.330   .242  f1  3.000  1.671  3.000   .472)
-	 (mix-fmsimp  26.563  2.238  548.468   .495  f1  2.000  1.671  1.000   .259)
-	 (mix-fmsimp  27.063  3.238  439.221   .500  f1  3.000  1.260  3.000  1.014)
-	 (mix-fmsimp  28.563  2.493  441.603   .401  f1  3.000  1.671  5.000   .056)
-	 (mix-fmsimp  29.313  2.220  659.255   .500  f1  3.000  1.260  3.000  1.108)
-	 (mix-fmsimp  29.813  1.960  329.628   .500  f1  1.000  1.671  1.000   .944)
-	 (mix-fmsimp  30.063  1.894  440.000   .333  f1  1.000  1.260  4.000   .602)
-	 (mix-fmsimp  30.250  2.453  443.160   .400  f1  1.000  1.260  3.000   .750)
-	 (mix-fmsimp  31.000  1.938  441.168   .333  f1  5.000  1.671  3.000   .522)
-	 (mix-fmsimp  31.250  2.684  246.942   .100  f1  5.000  1.654  1.000  1.020)
-	 (mix-fmsimp  32.250  2.415  325.263   .167  f1  4.000  1.671  3.000   .014)
-	 (mix-fmsimp  33.000  1.901  587.330   .240  f1  4.000  1.671  5.000  1.106)
-	 (mix-fmsimp  33.250  2.149  554.936   .501  f1  2.000  1.260  2.000  1.159)
-	 (mix-fmsimp  33.750  3.137  440.000   .500  f1  2.000  1.671  1.000   .647)
-	 (mix-fmsimp  35.250  2.359  440.000   .400  f1  5.000  1.671  4.000  1.149)
-	 (mix-fmsimp  36.000  2.101  661.109   .501  f1  4.000  1.377  2.000  1.121)
-	 (mix-fmsimp  36.500  1.836  329.628   .500  f1  2.000  1.671  4.000  1.459)
-	 (mix-fmsimp  36.750  1.768  440.000   .250  f1  5.000  1.671  5.000   .601)
-	 (mix-fmsimp  36.938  2.327  442.815   .400  f1  2.000  1.671  3.000   .354)
-	 (mix-fmsimp  37.688  1.813  440.000   .400  f1  4.000  1.671  2.000   .205)
-	 (mix-fmsimp  37.938  2.559  246.712   .100  f1  4.000  1.671  2.000  1.044)
-	 (mix-fmsimp  38.938  2.290  329.628   .167  f1  1.000  1.260  2.000  1.316)
-	 (mix-fmsimp  39.688  1.781  587.330   .240  f1  1.000  1.671  3.000   .524)
-	 (mix-fmsimp  39.938  2.021  554.365   .500  f1  1.000  1.671  2.000   .522)
-	 (mix-fmsimp  40.438  2.998  438.022   .498  f1  3.000  1.260  4.000   .264)
-	 (mix-fmsimp  41.938  2.253  443.810   .403  f1  1.000  1.671  4.000  1.157)
-	 (mix-fmsimp  42.688  1.720  414.691   .319  f1  4.000  1.671  1.000   .612)
-	 (mix-fmsimp  42.938  1.965  659.255   .500  f1  2.000  1.671  2.000   .559)
-	 (mix-fmsimp  43.438  1.690  329.628   .496  f1  5.000  1.671  2.000  1.457)
-	 (mix-fmsimp  43.688  1.630  440.000   .249  f1  2.000  1.671  5.000   .505)
-	 (mix-fmsimp  43.875  2.197  440.000   .400  f1  3.000  1.260  3.000   .843)
-	 (mix-fmsimp  44.625  1.678  440.000   .332  f1  2.000  1.671  5.000  1.165)
-	 (mix-fmsimp  44.875  2.405  246.942   .100  f1  4.000  1.671  3.000   .105)
-	 (mix-fmsimp  45.875  2.160  332.580   .168  f1  1.000  1.260  5.000  1.107)
-	 (mix-fmsimp  46.625  1.646  583.584   .238  f1  4.000  1.673  5.000   .201)
-	 (mix-fmsimp  46.875  1.891  553.184   .492  f1  1.000  1.304  2.000  1.230)
-	 (mix-fmsimp  47.375  2.882  438.012   .489  f1  5.000  1.737  4.000   .024)
-	 (mix-fmsimp  48.875  2.104  440.000   .487  f1  2.000  1.770  2.000   .308)
-	 (mix-fmsimp  49.625  1.590  414.068   .319  f1  4.000  1.866  3.000   .415)
-	 (mix-fmsimp  49.875  1.835  659.255   .467  f1  1.000  1.914  3.000   .477)
-	 (mix-fmsimp  50.375  1.592  333.127   .470  f1  5.000  1.930  2.000   .230)
-	 (mix-fmsimp  50.625  1.509  440.000   .250  f1  5.000  1.963  1.000   .829)
-	 (mix-fmsimp  50.813  2.068  440.000   .400  f1  3.000  1.979  1.000  1.450)
-	 (mix-fmsimp  51.563  1.536  434.964   .330  f1  4.000  1.991  2.000   .308)
-	 (mix-fmsimp  51.813  2.299  246.942   .088  f1  4.000  1.581  5.000  1.149)
-	 (mix-fmsimp  52.813  2.030  329.628   .167  f1  5.000  1.916  5.000  1.234)
-	 (mix-fmsimp  53.563  1.524  590.360   .241  f1  4.000  2.119  4.000   .374)
-	 (mix-fmsimp  53.813  1.761  554.365   .433  f1  3.000  2.168  3.000   .269)
-	 (mix-fmsimp  54.313  2.720  434.908   .425  f1  3.000  2.184  1.000  1.209)
-	 (mix-fmsimp  55.813  1.966  440.000   .426  f1  4.000  2.196  2.000  1.493)
-	 (mix-fmsimp  56.563  1.446  415.305   .316  f1  4.000  2.312  1.000   .753)
-	 (mix-fmsimp  56.813  2.205  369.994   .406  f1  2.000  2.361  1.000   .292)
-	 (mix-fmsimp  57.813  1.668  329.628   .400  f1  4.000  2.377  1.000   .179)
-	 (mix-fmsimp  58.313  1.422  329.628   .394  f1  4.000  2.441  3.000  1.117)
-	 (mix-fmsimp  58.563  1.360  435.856   .250  f1  1.000  1.960  5.000   .811)
-	 (mix-fmsimp  58.750  1.919  440.000   .389  f1  2.000  2.489  3.000   .242)
-	 (mix-fmsimp  59.500  1.405  439.947   .387  f1  3.000  2.501  4.000  1.265)
-	 (mix-fmsimp  59.750  2.173  249.594   .073  f1  2.000  2.550  2.000   .351)
-	 (mix-fmsimp  60.750  1.881  329.628   .200  f1  2.000  2.566  2.000  1.431)
-	 (mix-fmsimp  61.500  1.367  293.665   .240  f1  1.000  2.096  1.000  1.378)
-	 (mix-fmsimp  61.750  1.613  554.365   .363  f1  1.000  2.678  1.000   .201)
-	 (mix-fmsimp  62.250  2.603  433.901   .356  f1  2.000  2.694  5.000   .950)
-	 (mix-fmsimp  63.750  1.809  440.000   .354  f1  4.000  2.727  4.000   .459)
-	 (mix-fmsimp  64.500  1.314  415.305   .320  f1  3.000  2.265  1.000  1.059)
-	 (mix-fmsimp  64.750  2.057  374.139   .341  f1  2.000  2.307  3.000   .054)
-	 (mix-fmsimp  65.750  1.538  329.628   .335  f1  4.000  2.887  3.000  1.281)
-	 (mix-fmsimp  66.250  1.278  329.628   .326  f1  3.000  2.952  4.000   .363)
-	 (mix-fmsimp  66.500  1.211  440.000   .322  f1  5.000  2.405  4.000   .361)
-	 (mix-fmsimp  66.688  1.769  440.000   .319  f1  4.000  2.419  3.000   .190)
-	 (mix-fmsimp  67.438  1.256  437.237   .316  f1  1.000  2.430  2.000  1.121)
-	 (mix-fmsimp  67.688  1.979  246.942   .056  f1  2.000  2.472  4.000  1.172)
-	 (mix-fmsimp  68.688  1.736  330.174   .250  f1  4.000  2.486  3.000   .893)
-	 (mix-fmsimp  69.438  1.213  292.204   .238  f1  5.000  2.732  1.000  1.265)
-	 (mix-fmsimp  69.688  1.462  553.724   .294  f1  3.000  3.189  3.000   .427)
-	 (mix-fmsimp  70.188  2.455  440.000   .292  f1  2.000  2.598  5.000   .489)
-	 (mix-fmsimp  71.688  1.654  440.000   .284  f1  5.000  3.237  2.000  1.299)
-	 (mix-fmsimp  72.438  1.175  415.305   .277  f1  3.000  2.995  4.000   .916)
-	 (mix-fmsimp  72.688  1.933  369.994   .271  f1  1.000  3.382  1.000   .886)
-	 (mix-fmsimp  73.688  1.639  440.000   .046  f1  4.000  3.398  5.000   .993)
-	 (mix-fmsimp  74.438  15.942  329.628   .257  f1  1.000  2.822  1.000   .402)
-	 (mix-fmsimp  74.938  (- 45.394 20)  329.628   .249  f1  1.000  2.864  2.000  1.093)
-	 (mix-fmsimp  75.438  (- 45.063 20)  440.000   .246  f1  3.000  3.543  2.000   .978)
-	 (mix-fmsimp  75.625  (- 45.335 20)  444.508   .244  f1  2.000  2.920  4.000   .563)
-	 (mix-fmsimp  76.375  (- 44.125 20)  445.106   .240  f1  3.000  2.931  2.000   .768)
-	 (mix-fmsimp  76.625  (- 43.875 20)  248.294   .038  f1  2.000  2.973  2.000   .155)
-	 (mix-fmsimp  77.625  (- 43.455 20)  334.084   .234  f1  3.000  2.987  4.000   .047)
-	 (mix-fmsimp  78.375  (- 41.938 20)  292.359   .222  f1  3.000  3.521  5.000  1.140)
-	 (mix-fmsimp  78.625  (- 41.605 20)  554.365   .215  f1  2.000  3.085  4.000   .595)
-	 (mix-fmsimp  79.125  (- 41.769 20)  440.000   .214  f1  3.000  3.780  3.000   .541)
-	 (mix-fmsimp  80.625  (- 39.875 20)  440.000   .200  f1  3.000  3.812  2.000  1.111)
-	 (mix-fmsimp  91.130  (- 29.335 20)  415.305   .111  f1  3.000  3.759  2.000   .490)
-	 
-	 ind))))
+    (let ((ind (new-sound "test.snd" :channels 1)))
+      (let ((f1 (seg '(0 0 1 25 1 75 0 100)))
+	    (mix-fmsimp (let ((soprano ())
+			      (alto ())
+			      (tenor ())
+			      (bass ())
+			      (f6 (seg '(1 1  .5 10  .75 50  .4 75  .6 90  0 100)))
+			      (f7 (seg '(0 1  .5 10  .25 25  .75 50  .5 75  1 90  0 100))))
+			  (lambda (beg dur freq amp ampfunc rat1 indx1 rat2 indx2)
+			    (let ((id (let ((snd1 (with-temp-sound () 
+								   (fm-violin 0 dur (if (> freq (/ *clm-srate* 8)) (/ freq 8) freq)
+									      (* amp .175)
+									      :fm1-rat (* 1.002 rat1)
+									      :fm1-index (* .5 rat1 indx1 (hz->radians freq))
+									      :fm1-env f6
+									      :fm2-rat (* 1.003 rat2)
+									      :fm2-index (* .5 indx2 rat2 (hz->radians freq))
+									      :fm2-env f7
+									      :fm3-index 0.0
+									      :reverb-amount 1.0
+									      :amp-env ampfunc))))
+					(car (mix snd1 (->sample beg) 0 ind 0 #t #t)))))  ; with tag and auto-delete
+			      (set! (mix-name id) (number->string (floor freq)))
+			      (cond ((> freq 700) (set! soprano (cons id soprano)))
+				    ((> freq 500) (set! alto (cons id alto)))
+				    ((> freq 300) (set! tenor (cons id tenor)))
+				    (else         (set! bass (cons id bass)))))))))
+	(as-one-edit
+	 (lambda ()
+	   (mix-fmsimp   .000  2.488  659.255   .500  f1  5.000  1.260  2.000   .501)
+	   (mix-fmsimp   .750  1.988  654.084   .167  f1  3.000  1.260  1.000   .710)
+	   (mix-fmsimp  1.000  2.738  880.000   .500  f1  5.000  1.260  1.000   .140)
+	   (mix-fmsimp  2.000  2.488  880.000   .500  f1  1.000  1.671  2.000   .745)
+	   (mix-fmsimp  2.750  1.969  871.429   .495  f1  5.000  1.312  1.000   .447)
+	   (mix-fmsimp  3.000  2.750  493.883   .100  f1  1.000  1.260  2.000  1.069)
+	   (mix-fmsimp  4.000  2.488  654.568   .500  f1  3.000  1.671  5.000   .793)
+	   (mix-fmsimp  4.750  1.988  590.042   .241  f1  2.000  1.671  5.000  1.046)
+	   (mix-fmsimp  5.000  2.238  551.574   .500  f1  4.000  1.671  1.000   .073)
+	   (mix-fmsimp  5.500  2.238  664.174   .504  f1  3.000  1.671  4.000   .791)
+	   (mix-fmsimp  6.000  1.988  659.255   .400  f1  2.000  1.671  2.000   .955)
+	   (mix-fmsimp  6.250  2.738  880.000   .400  f1  5.000  1.260  5.000   .645)
+	   (mix-fmsimp  7.250  2.505  885.724   .336  f1  5.000  1.260  4.000   .302)
+	   (mix-fmsimp  8.000  1.988  880.000   .500  f1  3.000  1.260  2.000   .672)
+	   (mix-fmsimp  8.250  2.738  493.883   .100  f1  4.000  1.671  1.000   .013)
+	   (mix-fmsimp  9.250  2.488  659.255   .250  f1  3.000  1.671  3.000  1.167)
+	   (mix-fmsimp  10.000  1.988  587.330   .240  f1  2.000  1.314  5.000   .423)
+	   (mix-fmsimp  10.250  2.238  554.365   .500  f1  1.000  1.671  2.000   .078)
+	   (mix-fmsimp  10.750  2.238  659.255   .500  f1  1.000  1.260  5.000   .797)
+	   (mix-fmsimp  11.250  1.988  651.332   .400  f1  5.000  1.671  1.000   .883)
+	   (mix-fmsimp  11.500  1.926  878.372   .200  f1  1.000  1.434  4.000   .322)
+	   (mix-fmsimp  11.688  2.497  880.000   .335  f1  2.000  1.671  4.000   .879)
+	   (mix-fmsimp  12.438  2.006  887.764   .288  f1  1.000  1.671  4.000   .652)
+	   (mix-fmsimp  12.688  2.738  493.883   .100  f1  1.000  1.671  4.000   .521)
+	   (mix-fmsimp  13.688  2.488  659.255   .250  f1  2.000  1.671  2.000  1.247)
+	   (mix-fmsimp  14.438  1.988  587.330   .240  f1  1.000  1.260  2.000  1.182)
+	   (mix-fmsimp  14.688  2.238  547.848   .494  f1  4.000  1.671  2.000   .432)
+	   (mix-fmsimp  15.188  3.238  867.651   .500  f1  4.000  1.671  1.000   .571)
+	   (mix-fmsimp  16.688  2.238  659.255   .400  f1  4.000  1.671  4.000   .477)
+	   (mix-fmsimp  17.188  1.988  652.468   .495  f1  3.000  1.671  2.000   .438)
+	   (mix-fmsimp  17.438  1.926  880.000   .200  f1  2.000  1.671  4.000  1.107)
+	   (mix-fmsimp  17.625  2.523  880.000   .500  f1  5.000  1.671  1.000   .830)
+	   (mix-fmsimp  18.375  1.988  880.000   .400  f1  4.000  1.671  3.000   .186)
+	   (mix-fmsimp  18.625  2.738  493.883   .100  f1  1.000  1.260  5.000   .407)
+	   (mix-fmsimp  19.625  2.488  657.231   .166  f1  5.000  1.260  2.000   .389)
+	   (mix-fmsimp  20.375  1.976  587.330   .238  f1  2.000  1.671  1.000   .712)
+	   (mix-fmsimp  20.625  2.238  554.365   .500  f1  3.000  1.260  5.000   .171)
+	   (mix-fmsimp  21.125  3.238  880.000   .500  f1  4.000  1.671  1.000   .507)
+	   (mix-fmsimp  22.625  2.238  650.838   .395  f1  3.000  1.671  4.000   .160)
+	   (mix-fmsimp  23.125  1.978  659.255   .497  f1  1.000  1.671  1.000   .867)
+	   (mix-fmsimp  23.375  1.926  885.243   .333  f1  2.000  1.412  4.000   .811)
+	   (mix-fmsimp  23.563  2.488  880.000   .500  f1  4.000  1.671  3.000   .439)
+	   (mix-fmsimp  24.313  1.995  882.799   .401  f1  1.000  1.671  4.000  1.089)
+	   (mix-fmsimp  24.563  2.730  246.942   .100  f1  2.000  1.671  1.000   .092)
+	   (mix-fmsimp  25.563  2.488  329.628   .167  f1  2.000  1.671  2.000  1.149)
+	   (mix-fmsimp  26.313  2.007  587.330   .242  f1  3.000  1.671  3.000   .472)
+	   (mix-fmsimp  26.563  2.238  548.468   .495  f1  2.000  1.671  1.000   .259)
+	   (mix-fmsimp  27.063  3.238  439.221   .500  f1  3.000  1.260  3.000  1.014)
+	   (mix-fmsimp  28.563  2.493  441.603   .401  f1  3.000  1.671  5.000   .056)
+	   (mix-fmsimp  29.313  2.220  659.255   .500  f1  3.000  1.260  3.000  1.108)
+	   (mix-fmsimp  29.813  1.960  329.628   .500  f1  1.000  1.671  1.000   .944)
+	   (mix-fmsimp  30.063  1.894  440.000   .333  f1  1.000  1.260  4.000   .602)
+	   (mix-fmsimp  30.250  2.453  443.160   .400  f1  1.000  1.260  3.000   .750)
+	   (mix-fmsimp  31.000  1.938  441.168   .333  f1  5.000  1.671  3.000   .522)
+	   (mix-fmsimp  31.250  2.684  246.942   .100  f1  5.000  1.654  1.000  1.020)
+	   (mix-fmsimp  32.250  2.415  325.263   .167  f1  4.000  1.671  3.000   .014)
+	   (mix-fmsimp  33.000  1.901  587.330   .240  f1  4.000  1.671  5.000  1.106)
+	   (mix-fmsimp  33.250  2.149  554.936   .501  f1  2.000  1.260  2.000  1.159)
+	   (mix-fmsimp  33.750  3.137  440.000   .500  f1  2.000  1.671  1.000   .647)
+	   (mix-fmsimp  35.250  2.359  440.000   .400  f1  5.000  1.671  4.000  1.149)
+	   (mix-fmsimp  36.000  2.101  661.109   .501  f1  4.000  1.377  2.000  1.121)
+	   (mix-fmsimp  36.500  1.836  329.628   .500  f1  2.000  1.671  4.000  1.459)
+	   (mix-fmsimp  36.750  1.768  440.000   .250  f1  5.000  1.671  5.000   .601)
+	   (mix-fmsimp  36.938  2.327  442.815   .400  f1  2.000  1.671  3.000   .354)
+	   (mix-fmsimp  37.688  1.813  440.000   .400  f1  4.000  1.671  2.000   .205)
+	   (mix-fmsimp  37.938  2.559  246.712   .100  f1  4.000  1.671  2.000  1.044)
+	   (mix-fmsimp  38.938  2.290  329.628   .167  f1  1.000  1.260  2.000  1.316)
+	   (mix-fmsimp  39.688  1.781  587.330   .240  f1  1.000  1.671  3.000   .524)
+	   (mix-fmsimp  39.938  2.021  554.365   .500  f1  1.000  1.671  2.000   .522)
+	   (mix-fmsimp  40.438  2.998  438.022   .498  f1  3.000  1.260  4.000   .264)
+	   (mix-fmsimp  41.938  2.253  443.810   .403  f1  1.000  1.671  4.000  1.157)
+	   (mix-fmsimp  42.688  1.720  414.691   .319  f1  4.000  1.671  1.000   .612)
+	   (mix-fmsimp  42.938  1.965  659.255   .500  f1  2.000  1.671  2.000   .559)
+	   (mix-fmsimp  43.438  1.690  329.628   .496  f1  5.000  1.671  2.000  1.457)
+	   (mix-fmsimp  43.688  1.630  440.000   .249  f1  2.000  1.671  5.000   .505)
+	   (mix-fmsimp  43.875  2.197  440.000   .400  f1  3.000  1.260  3.000   .843)
+	   (mix-fmsimp  44.625  1.678  440.000   .332  f1  2.000  1.671  5.000  1.165)
+	   (mix-fmsimp  44.875  2.405  246.942   .100  f1  4.000  1.671  3.000   .105)
+	   (mix-fmsimp  45.875  2.160  332.580   .168  f1  1.000  1.260  5.000  1.107)
+	   (mix-fmsimp  46.625  1.646  583.584   .238  f1  4.000  1.673  5.000   .201)
+	   (mix-fmsimp  46.875  1.891  553.184   .492  f1  1.000  1.304  2.000  1.230)
+	   (mix-fmsimp  47.375  2.882  438.012   .489  f1  5.000  1.737  4.000   .024)
+	   (mix-fmsimp  48.875  2.104  440.000   .487  f1  2.000  1.770  2.000   .308)
+	   (mix-fmsimp  49.625  1.590  414.068   .319  f1  4.000  1.866  3.000   .415)
+	   (mix-fmsimp  49.875  1.835  659.255   .467  f1  1.000  1.914  3.000   .477)
+	   (mix-fmsimp  50.375  1.592  333.127   .470  f1  5.000  1.930  2.000   .230)
+	   (mix-fmsimp  50.625  1.509  440.000   .250  f1  5.000  1.963  1.000   .829)
+	   (mix-fmsimp  50.813  2.068  440.000   .400  f1  3.000  1.979  1.000  1.450)
+	   (mix-fmsimp  51.563  1.536  434.964   .330  f1  4.000  1.991  2.000   .308)
+	   (mix-fmsimp  51.813  2.299  246.942   .088  f1  4.000  1.581  5.000  1.149)
+	   (mix-fmsimp  52.813  2.030  329.628   .167  f1  5.000  1.916  5.000  1.234)
+	   (mix-fmsimp  53.563  1.524  590.360   .241  f1  4.000  2.119  4.000   .374)
+	   (mix-fmsimp  53.813  1.761  554.365   .433  f1  3.000  2.168  3.000   .269)
+	   (mix-fmsimp  54.313  2.720  434.908   .425  f1  3.000  2.184  1.000  1.209)
+	   (mix-fmsimp  55.813  1.966  440.000   .426  f1  4.000  2.196  2.000  1.493)
+	   (mix-fmsimp  56.563  1.446  415.305   .316  f1  4.000  2.312  1.000   .753)
+	   (mix-fmsimp  56.813  2.205  369.994   .406  f1  2.000  2.361  1.000   .292)
+	   (mix-fmsimp  57.813  1.668  329.628   .400  f1  4.000  2.377  1.000   .179)
+	   (mix-fmsimp  58.313  1.422  329.628   .394  f1  4.000  2.441  3.000  1.117)
+	   (mix-fmsimp  58.563  1.360  435.856   .250  f1  1.000  1.960  5.000   .811)
+	   (mix-fmsimp  58.750  1.919  440.000   .389  f1  2.000  2.489  3.000   .242)
+	   (mix-fmsimp  59.500  1.405  439.947   .387  f1  3.000  2.501  4.000  1.265)
+	   (mix-fmsimp  59.750  2.173  249.594   .073  f1  2.000  2.550  2.000   .351)
+	   (mix-fmsimp  60.750  1.881  329.628   .200  f1  2.000  2.566  2.000  1.431)
+	   (mix-fmsimp  61.500  1.367  293.665   .240  f1  1.000  2.096  1.000  1.378)
+	   (mix-fmsimp  61.750  1.613  554.365   .363  f1  1.000  2.678  1.000   .201)
+	   (mix-fmsimp  62.250  2.603  433.901   .356  f1  2.000  2.694  5.000   .950)
+	   (mix-fmsimp  63.750  1.809  440.000   .354  f1  4.000  2.727  4.000   .459)
+	   (mix-fmsimp  64.500  1.314  415.305   .320  f1  3.000  2.265  1.000  1.059)
+	   (mix-fmsimp  64.750  2.057  374.139   .341  f1  2.000  2.307  3.000   .054)
+	   (mix-fmsimp  65.750  1.538  329.628   .335  f1  4.000  2.887  3.000  1.281)
+	   (mix-fmsimp  66.250  1.278  329.628   .326  f1  3.000  2.952  4.000   .363)
+	   (mix-fmsimp  66.500  1.211  440.000   .322  f1  5.000  2.405  4.000   .361)
+	   (mix-fmsimp  66.688  1.769  440.000   .319  f1  4.000  2.419  3.000   .190)
+	   (mix-fmsimp  67.438  1.256  437.237   .316  f1  1.000  2.430  2.000  1.121)
+	   (mix-fmsimp  67.688  1.979  246.942   .056  f1  2.000  2.472  4.000  1.172)
+	   (mix-fmsimp  68.688  1.736  330.174   .250  f1  4.000  2.486  3.000   .893)
+	   (mix-fmsimp  69.438  1.213  292.204   .238  f1  5.000  2.732  1.000  1.265)
+	   (mix-fmsimp  69.688  1.462  553.724   .294  f1  3.000  3.189  3.000   .427)
+	   (mix-fmsimp  70.188  2.455  440.000   .292  f1  2.000  2.598  5.000   .489)
+	   (mix-fmsimp  71.688  1.654  440.000   .284  f1  5.000  3.237  2.000  1.299)
+	   (mix-fmsimp  72.438  1.175  415.305   .277  f1  3.000  2.995  4.000   .916)
+	   (mix-fmsimp  72.688  1.933  369.994   .271  f1  1.000  3.382  1.000   .886)
+	   (mix-fmsimp  73.688  1.639  440.000   .046  f1  4.000  3.398  5.000   .993)
+	   (mix-fmsimp  74.438  15.942  329.628   .257  f1  1.000  2.822  1.000   .402)
+	   (mix-fmsimp  74.938  (- 45.394 20)  329.628   .249  f1  1.000  2.864  2.000  1.093)
+	   (mix-fmsimp  75.438  (- 45.063 20)  440.000   .246  f1  3.000  3.543  2.000   .978)
+	   (mix-fmsimp  75.625  (- 45.335 20)  444.508   .244  f1  2.000  2.920  4.000   .563)
+	   (mix-fmsimp  76.375  (- 44.125 20)  445.106   .240  f1  3.000  2.931  2.000   .768)
+	   (mix-fmsimp  76.625  (- 43.875 20)  248.294   .038  f1  2.000  2.973  2.000   .155)
+	   (mix-fmsimp  77.625  (- 43.455 20)  334.084   .234  f1  3.000  2.987  4.000   .047)
+	   (mix-fmsimp  78.375  (- 41.938 20)  292.359   .222  f1  3.000  3.521  5.000  1.140)
+	   (mix-fmsimp  78.625  (- 41.605 20)  554.365   .215  f1  2.000  3.085  4.000   .595)
+	   (mix-fmsimp  79.125  (- 41.769 20)  440.000   .214  f1  3.000  3.780  3.000   .541)
+	   (mix-fmsimp  80.625  (- 39.875 20)  440.000   .200  f1  3.000  3.812  2.000  1.111)
+	   (mix-fmsimp  91.130  (- 29.335 20)  415.305   .111  f1  3.000  3.759  2.000   .490)
+	   
+	   ind)))))
   
   (when with-gui
     (do ((test-ctr 0 (+ 1 test-ctr)))
@@ -21855,33 +21712,32 @@ EDITS: 2
 	      (id2 (mix-float-vector v 21)))
 	  (let ((vals (channel->float-vector 18 10)))
 	    (if (not (mus-arrays-equal? vals (float-vector 0.000 0.000 0.100 0.300 0.600 0.500 0.300 0.000 0.000 0.000)))
-		(snd-display ";mix 3 vs: ~A" vals))
-	    (if (not (mix? id)) (snd-display ";mix 3vs 1 not active?"))
-	    (if (not (mix? id1)) (snd-display ";mix 3vs 2 not active?"))
-	    (if (not (mix? id2)) (snd-display ";mix 3vs 3 not active?"))
-	    (set! (mix-position id) 10)
-	    (set! vals (channel->float-vector 18 10))
+		(snd-display ";mix 3 vs: ~A" vals)))
+	  (if (not (mix? id)) (snd-display ";mix 3vs 1 not active?"))
+	  (if (not (mix? id1)) (snd-display ";mix 3vs 2 not active?"))
+	  (if (not (mix? id2)) (snd-display ";mix 3vs 3 not active?"))
+	  (set! (mix-position id) 10)
+	  (let ((vals (channel->float-vector 18 10)))
 	    (if (not (mus-arrays-equal? vals (float-vector 0.000 0.000 0.000 0.100 0.300 0.500 0.300 0.000 0.000 0.000)))
 		(snd-display ";mix 3 vs then move first: ~A" vals))
-	    (set! (mix-position id2) 30)
-	    (set! vals (channel->float-vector 18 10))
+	    (set! (mix-position id2) 30))
+	  (let ((vals (channel->float-vector 18 10)))
 	    (if (not (mus-arrays-equal? vals (float-vector 0.000 0.000 0.000 0.000 0.100 0.200 0.300 0.000 0.000 0.000)))
-		(snd-display ";mix 3 vs then move 2: ~A" vals))
-	    (scale-by 2.0)
-	    (if (not (mix? id)) (snd-display ";mix 3vs 1 scl not active?"))
-	    (if (not (mix? id1)) (snd-display ";mix 3vs 2 scl not active?"))
-	    (if (not (mix? id2)) (snd-display ";mix 3vs 3 scl not active?"))
-	    (set! vals (channel->float-vector 18 10))
+		(snd-display ";mix 3 vs then move 2: ~A" vals)))
+	  (scale-by 2.0)
+	  (if (not (mix? id)) (snd-display ";mix 3vs 1 scl not active?"))
+	  (if (not (mix? id1)) (snd-display ";mix 3vs 2 scl not active?"))
+	  (if (not (mix? id2)) (snd-display ";mix 3vs 3 scl not active?"))
+	  (let ((vals (channel->float-vector 18 10)))
 	    (if (not (mus-arrays-equal? vals (float-vector 0.000 0.000 0.000 0.000 0.200 0.400 0.600 0.000 0.000 0.000)))
-		(snd-display ";mix 3 vs then move 2 scl: ~A" vals))
-	    (delete-sample 15)
-	    (if (not (mix? id)) (snd-display ";mix 3vs 1 scl del not active?"))
-	    (if (not (mix? id1)) (snd-display ";mix 3vs 2 scl del not active?"))
-	    (if (not (mix? id2)) (snd-display ";mix 3vs 3 scl del not active?"))
-	    (if (not (= (mix-position id) 10)) (snd-display ";mix 3vs etc pos: ~A" (mix-position id)))
-	    (if (not (= (mix-position id1) 21)) (snd-display ";mix 3vs etc pos 1: ~A" (mix-position id1)))
-	    (if (not (= (mix-position id2) 29)) (snd-display ";mix 3vs etc pos 2: ~A" (mix-position id2)))
-	    ))
+		(snd-display ";mix 3 vs then move 2 scl: ~A" vals)))
+	  (delete-sample 15)
+	  (if (not (mix? id)) (snd-display ";mix 3vs 1 scl del not active?"))
+	  (if (not (mix? id1)) (snd-display ";mix 3vs 2 scl del not active?"))
+	  (if (not (mix? id2)) (snd-display ";mix 3vs 3 scl del not active?"))
+	  (if (not (= (mix-position id) 10)) (snd-display ";mix 3vs etc pos: ~A" (mix-position id)))
+	  (if (not (= (mix-position id1) 21)) (snd-display ";mix 3vs etc pos 1: ~A" (mix-position id1)))
+	  (if (not (= (mix-position id2) 29)) (snd-display ";mix 3vs etc pos 2: ~A" (mix-position id2))))
 	(close-sound ind))
       
       (let* ((ind (new-sound "test.snd" :size 15))
@@ -21907,7 +21763,6 @@ EDITS: 2
 	      (snd-display ";return again to mix original index: ~A" vals)))
 	(close-sound ind))
       
-      
       (let ((id (open-sound "oboe.snd")))
 	(make-selection 1000 2000 id 0)
 	(let ((mix-id (car (mix-selection 3000 id 0))))
@@ -22018,8 +21873,9 @@ EDITS: 2
 		(snd-display ";mix 2->1 at 5: ~A ~A" samps v)))
 	  (if (not (mix? tag)) (snd-display ";mix 2->1 at 5 tag: ~A" tag))
 	  (undo))
-	(close-sound ind)
-	(set! ind (new-sound "fmv.snd" 2 22050 mus-ldouble mus-next "mix tests"))
+	(close-sound ind))
+
+      (let ((ind (new-sound "fmv.snd" 2 22050 mus-ldouble mus-next "mix tests")))
 	(insert-silence 0 20 ind 0)
 	(insert-silence 0 20 ind 1)
 	(let ((tag (car (mix "test.snd" 0 #t))))
@@ -22443,7 +22299,7 @@ EDITS: 2
 	
 	(scale-by 0.0)
 	(if (not (mix? id)) (snd-display ";zero mix but no mix?: ~A" (mix? id)))
-	(if (not (mus-arrays-equal? (channel->float-vector 10 10) (float-vector 0 0 0 0 0 0 0 0 0 0)))
+	(if (not (mus-arrays-equal? (channel->float-vector 10 10) (make-float-vector 10)))
 	    (snd-display ";float-vector 1 at 11 scale 0: ~A" (channel->float-vector 10 10)))
 	(undo 2)
 	
@@ -23070,105 +22926,104 @@ EDITS: 2
 	(if (not (= (mix-position id0) 10000)) (snd-display ";pan-mix 1->1 pos 2: ~A" (mix-position id0)))
 	(revert-sound ind))
       
-      (let* ((ids (pan-mix "2a.snd" 100 '(0 0 1 1)))
-	     (id0 (car ids))
-	     (id1 (cadr ids)))
-	(if (not (and (mix? id0) (mix? id1)))
-	    (snd-display ";pan-mix 2->1: ~A ~A" id0 id1))
-	(if (not (= (mix-position id0) (mix-position id1) 100))
-	    (snd-display ";pan-mix 2->1 pos: ~A ~A" (mix-position id0) (mix-position id1)))
-	(if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0))
-	    (snd-display ";pan-mix 2->1 mix amps 3: ~A ~A" (mix-amp id0) (mix-amp id1)))
-	(if (not (feql (mix-amp-env id0) '(0 1 1 0)))
-	    (snd-display ";pan-mix 2->1 ramp env: ~A" (mix-amp-env id0)))
-	(revert-sound ind))
+      (let ((ids (pan-mix "2a.snd" 100 '(0 0 1 1))))
+	(let ((id0 (car ids))
+	      (id1 (cadr ids)))
+	  (if (not (and (mix? id0) (mix? id1)))
+	      (snd-display ";pan-mix 2->1: ~A ~A" id0 id1))
+	  (if (not (= (mix-position id0) (mix-position id1) 100))
+	      (snd-display ";pan-mix 2->1 pos: ~A ~A" (mix-position id0) (mix-position id1)))
+	  (if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0))
+	      (snd-display ";pan-mix 2->1 mix amps 3: ~A ~A" (mix-amp id0) (mix-amp id1)))
+	  (if (not (feql (mix-amp-env id0) '(0 1 1 0)))
+	      (snd-display ";pan-mix 2->1 ramp env: ~A" (mix-amp-env id0)))))
+      (revert-sound ind)
       (close-sound ind))
     
     (let ((ind (new-sound "fmv.snd" 2 22050 mus-ldouble mus-next "pan-mix tests")))
-      (let* ((ids (pan-mix "1a.snd" 100 '(0 0 1 1 2 0)))
-	     (id0 (car ids))
-	     (id1 (cadr ids)))
-	(if (not (and (mix? id0) (mix? id1)))
-	    (snd-display ";pan-mix 1->2: ~A ~A" id0 id1))
-	(if (not (= (mix-position id0) (mix-position id1) 100))
-	    (snd-display ";pan-mix 1->2 pos: ~A ~A" (mix-position id0) (mix-position id1)))
-	(if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
-	    (snd-display ";pan-mix 1->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
-	(if (not (feql (mix-amp-env id0) '(0 1 1 0 2 1)))
-	    (snd-display ";pan-mix 1->2 env 0: ~A" (mix-amp-env id0)))
-	(if (not (feql (mix-amp-env id1) '(0 0 1 1 2 0)))
-	    (snd-display ";pan-mix 1->2 env 1: ~A" (mix-amp-env id1)))
-	(revert-sound ind))
+      (let ((ids (pan-mix "1a.snd" 100 '(0 0 1 1 2 0))))
+	(let ((id0 (car ids))
+	      (id1 (cadr ids)))
+	  (if (not (and (mix? id0) (mix? id1)))
+	      (snd-display ";pan-mix 1->2: ~A ~A" id0 id1))
+	  (if (not (= (mix-position id0) (mix-position id1) 100))
+	      (snd-display ";pan-mix 1->2 pos: ~A ~A" (mix-position id0) (mix-position id1)))
+	  (if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
+	      (snd-display ";pan-mix 1->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
+	  (if (not (feql (mix-amp-env id0) '(0 1 1 0 2 1)))
+	      (snd-display ";pan-mix 1->2 env 0: ~A" (mix-amp-env id0)))
+	  (if (not (feql (mix-amp-env id1) '(0 0 1 1 2 0)))
+	      (snd-display ";pan-mix 1->2 env 1: ~A" (mix-amp-env id1)))))
+      (revert-sound ind)
       
-      (let* ((ids (pan-mix "2a.snd" 100 '(0 0 1 1 2 0)))
-	     (id0 (car ids))
-	     (id1 (cadr ids))
-	     (id2 (caddr ids))
-	     (id3 (cadddr ids)))
-	
-	(if (not (and (mix? id0) (mix? id1) (mix? id2) (mix? id3)))
-	    (snd-display ";pan-mix 2->2: ~A ~A ~A ~A" id0 id1 id2 id3))
-	(if (not (= (mix-position id0) (mix-position id1) (mix-position id2) (mix-position id3) 100))
-	    (snd-display ";pan-mix 2->2 pos: ~A ~A ~A ~A" (mix-position id0) (mix-position id1) (mix-position id2) (mix-position id3)))
-	(if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
-	    (snd-display ";pan-mix 2->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
-	(if (not (feql (mix-amp-env id0) '(0 1 1 0 2 1)))
-	    (snd-display ";pan-mix 2->2 env 0: ~A" (mix-amp-env id0)))
-	(if (not (feql (mix-amp-env id1) '(0 0 1 1 2 0)))
-	    (snd-display ";pan-mix 2->2 env 1: ~A" (mix-amp-env id1)))
-	(if (not (feql (mix-amp-env id2) '(0 1 1 0 2 1)))
-	    (snd-display ";pan-mix 2->2 env 2: ~A" (mix-amp-env id2)))
-	(if (not (feql (mix-amp-env id3) '(0 0 1 1 2 0)))
-	    (snd-display ";pan-mix 2->2 env 3: ~A" (mix-amp-env id3)))
-	(revert-sound ind))
+      (let ((ids (pan-mix "2a.snd" 100 '(0 0 1 1 2 0))))
+	(let ((id0 (car ids))
+	      (id1 (cadr ids))
+	      (id2 (caddr ids))
+	      (id3 (cadddr ids)))
+	  (if (not (and (mix? id0) (mix? id1) (mix? id2) (mix? id3)))
+	      (snd-display ";pan-mix 2->2: ~A ~A ~A ~A" id0 id1 id2 id3))
+	  (if (not (= (mix-position id0) (mix-position id1) (mix-position id2) (mix-position id3) 100))
+	      (snd-display ";pan-mix 2->2 pos: ~A ~A ~A ~A" (mix-position id0) (mix-position id1) (mix-position id2) (mix-position id3)))
+	  (if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
+	      (snd-display ";pan-mix 2->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
+	  (if (not (feql (mix-amp-env id0) '(0 1 1 0 2 1)))
+	      (snd-display ";pan-mix 2->2 env 0: ~A" (mix-amp-env id0)))
+	  (if (not (feql (mix-amp-env id1) '(0 0 1 1 2 0)))
+	      (snd-display ";pan-mix 2->2 env 1: ~A" (mix-amp-env id1)))
+	  (if (not (feql (mix-amp-env id2) '(0 1 1 0 2 1)))
+	      (snd-display ";pan-mix 2->2 env 2: ~A" (mix-amp-env id2)))
+	  (if (not (feql (mix-amp-env id3) '(0 0 1 1 2 0)))
+	      (snd-display ";pan-mix 2->2 env 3: ~A" (mix-amp-env id3)))))
+      (revert-sound ind)
       (close-sound ind))
     
     (let ((ind (new-sound "test.snd" 2 22050 mus-ldouble mus-next "pan-mix-* tests" 1000)))
-      (let* ((ids (pan-mix-float-vector (make-float-vector 100 .3) 100 '(0 0 1 1)))
-	     (id0 (car ids))
-	     (id1 (cadr ids)))
-	(if (not (and (mix? id0) (mix? id1)))
-	    (snd-display ";pan-mix-float-vector 1->2: ~A ~A" id0 id1))
-	(if (not (= (mix-position id0) (mix-position id1) 100))
-	    (snd-display ";pan-mix-float-vector 1->2 pos: ~A ~A" (mix-position id0) (mix-position id1)))
-	(if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
-	    (snd-display ";pan-mix-float-vector 1->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
-	(if (not (feql (mix-amp-env id0) '(0 1 1 0)))
-	    (snd-display ";pan-mix-float-vector 1->2 env 0: ~A" (mix-amp-env id0)))
-	(if (not (feql (mix-amp-env id1) '(0 0 1 1)))
-	    (snd-display ";pan-mix-float-vector 1->2 env 1: ~A" (mix-amp-env id1)))
-	(revert-sound ind))
+      (let ((ids (pan-mix-float-vector (make-float-vector 100 .3) 100 '(0 0 1 1))))
+	(let ((id0 (car ids))
+	      (id1 (cadr ids)))
+	  (if (not (and (mix? id0) (mix? id1)))
+	      (snd-display ";pan-mix-float-vector 1->2: ~A ~A" id0 id1))
+	  (if (not (= (mix-position id0) (mix-position id1) 100))
+	      (snd-display ";pan-mix-float-vector 1->2 pos: ~A ~A" (mix-position id0) (mix-position id1)))
+	  (if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
+	      (snd-display ";pan-mix-float-vector 1->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
+	  (if (not (feql (mix-amp-env id0) '(0 1 1 0)))
+	      (snd-display ";pan-mix-float-vector 1->2 env 0: ~A" (mix-amp-env id0)))
+	  (if (not (feql (mix-amp-env id1) '(0 0 1 1)))
+	      (snd-display ";pan-mix-float-vector 1->2 env 1: ~A" (mix-amp-env id1)))))
+      (revert-sound ind)
       
-      (let* ((ids (pan-mix-region (make-region 0 50 ind 0) 100 '(0 0 1 1)))
-	     (id0 (car ids))
-	     (id1 (cadr ids)))
-	(if (not (and (mix? id0) (mix? id1)))
-	    (snd-display ";pan-mix-region 1->2: ~A ~A" id0 id1))
-	(if (not (= (mix-position id0) (mix-position id1) 100))
-	    (snd-display ";pan-mix-region 1->2 pos: ~A ~A" (mix-position id0) (mix-position id1)))
-	(if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
-	    (snd-display ";pan-mix-region 1->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
-	(if (not (feql (mix-amp-env id0) '(0 1 1 0)))
-	    (snd-display ";pan-mix-region 1->2 env 0: ~A" (mix-amp-env id0)))
-	(if (not (feql (mix-amp-env id1) '(0 0 1 1)))
-	    (snd-display ";pan-mix-region 1->2 env 1: ~A" (mix-amp-env id1)))
-	(revert-sound ind))
+      (let ((ids (pan-mix-region (make-region 0 50 ind 0) 100 '(0 0 1 1))))
+	(let ((id0 (car ids))
+	      (id1 (cadr ids)))
+	  (if (not (and (mix? id0) (mix? id1)))
+	      (snd-display ";pan-mix-region 1->2: ~A ~A" id0 id1))
+	  (if (not (= (mix-position id0) (mix-position id1) 100))
+	      (snd-display ";pan-mix-region 1->2 pos: ~A ~A" (mix-position id0) (mix-position id1)))
+	  (if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
+	      (snd-display ";pan-mix-region 1->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
+	  (if (not (feql (mix-amp-env id0) '(0 1 1 0)))
+	      (snd-display ";pan-mix-region 1->2 env 0: ~A" (mix-amp-env id0)))
+	  (if (not (feql (mix-amp-env id1) '(0 0 1 1)))
+	      (snd-display ";pan-mix-region 1->2 env 1: ~A" (mix-amp-env id1)))))
+      (revert-sound ind)
       
       (select-all)
-      (let* ((ids (pan-mix-selection 100 '(0 0 1 1)))
-	     (id0 (car ids))
-	     (id1 (cadr ids)))
-	(if (not (and (mix? id0) (mix? id1)))
-	    (snd-display ";pan-mix-selection 1->2: ~A ~A" id0 id1))
-	(if (not (= (mix-position id0) (mix-position id1) 100))
-	    (snd-display ";pan-mix-selection 1->2 pos: ~A ~A" (mix-position id0) (mix-position id1)))
-	(if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
-	    (snd-display ";pan-mix-selection 1->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
-	(if (not (feql (mix-amp-env id0) '(0 1 1 0)))
-	    (snd-display ";pan-mix-selection 1->2 env 0: ~A" (mix-amp-env id0)))
-	(if (not (feql (mix-amp-env id1) '(0 0 1 1)))
-	    (snd-display ";pan-mix-selection 1->2 env 1: ~A" (mix-amp-env id1)))
-	(revert-sound ind))
+      (let ((ids (pan-mix-selection 100 '(0 0 1 1))))
+	(let ((id0 (car ids))
+	      (id1 (cadr ids)))
+	  (if (not (and (mix? id0) (mix? id1)))
+	      (snd-display ";pan-mix-selection 1->2: ~A ~A" id0 id1))
+	  (if (not (= (mix-position id0) (mix-position id1) 100))
+	      (snd-display ";pan-mix-selection 1->2 pos: ~A ~A" (mix-position id0) (mix-position id1)))
+	  (if (or (fneq (mix-amp id0) 1.0) (fneq (mix-amp id1) 1.0)) 
+	      (snd-display ";pan-mix-selection 1->2 amps: ~A ~A" (mix-amp id0) (mix-amp id1)))
+	  (if (not (feql (mix-amp-env id0) '(0 1 1 0)))
+	      (snd-display ";pan-mix-selection 1->2 env 0: ~A" (mix-amp-env id0)))
+	  (if (not (feql (mix-amp-env id1) '(0 0 1 1)))
+	      (snd-display ";pan-mix-selection 1->2 env 1: ~A" (mix-amp-env id1)))))
+      (revert-sound ind)
       (close-sound ind))
     
     ;; copy mix
@@ -23214,20 +23069,19 @@ EDITS: 2
 
 (define (snd_test_10)
   
-  (define maxval 0.0)
   (define (data-max beg end)
-    (set! maxval 0.0)
-    (apply for-each 
-	   (lambda (snd chn)
-	     (set! maxval (max maxval (float-vector-peak (samples beg (- end beg) snd chn)))))
-	   (all-chans))
-    maxval)
+    (let ((maxval 0.0))
+      (apply for-each 
+	     (lambda (snd chn)
+	       (set! maxval (max maxval (float-vector-peak (samples beg (- end beg) snd chn)))))
+	     (all-chans))
+      maxval))
   
   (define (data-max2 snd)
-    (set! maxval 0.0)
-    (do ((i 0 (+ i 1)))
-	((= i (chans snd)) maxval)
-      (set! maxval (max maxval (float-vector-peak (samples 0 9 snd i))))))
+    (let ((maxval 0.0))
+      (do ((i 0 (+ i 1)))
+	  ((= i (chans snd)) maxval)
+	(set! maxval (max maxval (float-vector-peak (samples 0 9 snd i)))))))
 
   (define (data-max1 snd chn)
     (float-vector-peak (samples 0 9 snd chn)))
@@ -23288,8 +23142,9 @@ EDITS: 2
 	  (set! (vc 8) (mix-float-vector v0 3000 ind1))
 	  (set! (vc 9) (mix-float-vector v0 4000 ind1))))
       (close-sound ind0)
-      (close-sound ind1)
-      (set! ind0 (new-sound "fmv.snd" 1 22050 mus-bshort mus-aifc "this is a comment"))
+      (close-sound ind1))
+
+    (let ((ind0 (new-sound "fmv.snd" 1 22050 mus-bshort mus-aifc "this is a comment")))
       (insert-samples 0 10 (make-vector 10 1.0) ind0)
       (time (env-sound '(0 0 1 1) 0 10 1.0 ind0))
       (do ((i 0 (+ i 1))) ((= i 10)) (if (fneq (sample i) (* i .1111)) (snd-display ";1 env-sound[~D]: ~A?" i (sample i))))
@@ -23335,9 +23190,9 @@ EDITS: 2
 	(if (or (fneq (sample 0) 0.125) (fneq (sample 1) .25) (fneq (sample 2) .25) (fneq (sample 5) 0.0))
 	    (snd-display ";filter-sound direct: ~A?" (samples 0 8)))
 	(revert-sound))
-      (close-sound ind0)
+      (close-sound ind0))
       
-      (set! ind0 (new-sound "fmv.snd" 2 22050 mus-bshort mus-aifc "this is a comment"))
+    (let ((ind0 (new-sound "fmv.snd" 2 22050 mus-bshort mus-aifc "this is a comment")))
       (let ((v0 (make-vector 10 1.0))
 	    (ind1 (new-sound "fmv1.snd" 1 22050 mus-bshort mus-aifc "this is a comment")))
 	(set! (sync ind0) 123)
@@ -23380,9 +23235,9 @@ EDITS: 2
 	  (if (fneq (sample i ind1 0) 0.5) (snd-display ";ind1:0 1 filter-sound[~D]: ~A?" i (sample i ind1 0))))
 	
 	(close-sound ind1))
-      (close-sound ind0)
+      (close-sound ind0))
       
-      (set! ind0 (new-sound "fmv.snd" 1 22050 mus-bshort mus-aifc "this is a comment"))
+    (let ((ind0 (new-sound "fmv.snd" 1 22050 mus-bshort mus-aifc "this is a comment")))
       (let ((v0 (make-float-vector 10)))
 	(fill! v0 0.1)
 	(let ((old5 (sample 5 ind0)))
@@ -23399,10 +23254,10 @@ EDITS: 2
 	(env-sound '(0 0 1 2) 10 10 .05 ind0)
 	(set! v0 (channel->float-vector 10 10))
 	(if (or (fneq (v0 3) 0.133) (fneq (v0 8) .196)) (snd-display ";env-sound 05: ~A" v0)))
-      
-      (close-sound ind0)
-      (set! ind0 (new-sound "fmv.snd" 2 22050 mus-bshort mus-aifc "this is a comment"))
-      (set! ind1 (new-sound "fmv1.snd" 1 22050 mus-ldouble mus-next "this is a comment"))
+      (close-sound ind0))
+
+    (let ((ind0 (new-sound "fmv.snd" 2 22050 mus-bshort mus-aifc "this is a comment"))
+	  (ind1 (new-sound "fmv1.snd" 1 22050 mus-ldouble mus-next "this is a comment")))
       (let ((v0 (make-vector 10 1.0)))
 	(insert-samples 0 10 v0 ind0 0) 
 	(fill! v0 0.1)
@@ -23422,9 +23277,9 @@ EDITS: 2
 	(let ((val (data-max2 ind0)))
 	  (if (fneq val 1.0) (snd-display ";scan-across-sound-chans: ~A?" val))))
       (close-sound ind0)
-      (close-sound ind1)
+      (close-sound ind1))
       
-      (set! ind0 (new-sound "fmv.snd" 2 22050 mus-bshort mus-aifc "this is a comment"))
+    (let ((ind0 (new-sound "fmv.snd" 2 22050 mus-bshort mus-aifc "this is a comment")))
       (mix "oboe.snd")
       (let ((m1 (add-mark 100)))
 	(delete-sample 10)
@@ -23442,514 +23297,513 @@ EDITS: 2
 			  (= (mark-sample m2) 200)))
 		(snd-display ";save-sound mark2: ~A" (mark-sample m2)))
 	    (if (mark? m3) (snd-display ";save-sound mark3: ~A" m3)))))
-      (close-sound ind0)
-      
-      (let ((fd (open-sound "oboe.snd"))
-	    (m1 (add-mark 123))
-	    (sync-val (+ 1 (mark-sync-max))))
-	(if (not (mark? m1)) (snd-display ";mark?"))
-	(if (not (= (mark-sample m1) 123)) (snd-display ";add-mark: ~A? " (mark-sample m1)))
-	(set! (mark-property :hiho m1) 123)
-	(if (not (= (mark-property :hiho m1) 123)) (snd-display ";mark-property: ~A" (mark-property :hiho m1)))
-	(if (mark-property :not-there m1) (snd-display ";mark-not-property: ~A" (mark-property :not-there m1)))
-	(if (not (eq? (without-errors (mark-sample (integer->mark 12345678))) 'no-such-mark)) 
-	    (snd-display ";mark-sample err: ~A?" (without-errors (mark-sample 12345678))))
-	(if (not (eq? (without-errors (add-mark 123 123)) 'no-such-sound)) 
-	    (snd-display ";add-mark err: ~A?" (without-errors (add-mark 123 123))))
-	(let ((m2 (without-errors (add-mark 12345 fd 0))))
-	  (if (eq? m2 'no-such-mark) (snd-display ";add-mark failed?"))
-	  (if (not (= (mark-sample m2) 12345)) (snd-display ";add-mark 0 0: ~A?" (mark-sample m2)))
-	  (if (not (= (mark-sync m2) 0)) (snd-display ";init mark-sync: ~A?" (mark-sync m2)))
-	  (set! (mark-sync m2) sync-val)
-	  (if (not (= (mark-sync m2) sync-val)) (snd-display ";set-mark-sync (~A): ~A?" sync-val (mark-sync m2)))
-	  (let* ((syncs (syncd-marks sync-val))
-		 (chans (marks fd 0))
-		 (samps (map mark-sample chans)))
-	    (if (not (equal? syncs (list m2))) (snd-display ";syncd-marks: ~A?" syncs))
-	    (if (not (equal? chans (list m1 m2))) (snd-display ";marks: ~A?" chans))
-	    (if (not (equal? samps (list (mark-sample m1) (mark-sample m2)))) (snd-display ";map samps: ~A?" samps))
-	    (delete-samples 200 100 fd 0)
-	    (set! chans (marks fd))
-	    (set! samps (map mark-sample (car chans)))
-	    (if (not (equal? samps (list (mark-sample m1 0) (- (mark-sample m2 0) 100)))) (snd-display ";map samps: ~A?" samps))
-	    (let ((descr (describe-mark m2)))
-	      (if (not (list? descr))
-		  (snd-display ";describe-mark: ~A?" descr)))
-	    (set! (mark-sync m1) (mark-sync m2))
-	    (move-syncd-marks sync-val 100)
-	    (set! chans (marks fd))
-	    (set! samps (map mark-sample (car chans)))
-	    (if (not (equal? samps (list (+ (mark-sample m1 0) 100) (mark-sample m2 0)))) (snd-display ";syncd move samps: ~A?" samps))
-	    (set! (cursor) 500)
-	    (set! (mark-sync m1) #t)
-	    (if (not (= (mark-sync m1) 1)) (snd-display ";mark-sync via bool: ~A" (mark-sync m1)))
-	    (delete-mark m1)
-	    (set! chans (marks fd 0))
-	    (if (not (equal? chans (list m2))) (snd-display ";delete-mark? ~A" chans))
-	    (undo)
-	    (set! chans (marks fd 0))
-	    (if (not (equal? chans (list m1 m2))) (snd-display ";delete-mark then undo? ~A" chans))
-	    (redo)
-	    (if (not (string=? (mark-name m2) "")) (snd-display ";init mark-name: ~A?" (mark-name m2)))
-	    (set! (mark-name m2) "hiho!")
-	    (if (not (string=? (mark-name m2) "hiho!")) (snd-display ";set-mark-name: ~A?" (mark-name m2)))
-	    (undo)
-	    (if (not (string=? (mark-name m2) "")) (snd-display ";undo mark-name: ~A?" (mark-name m2)))
-	    (redo)
-	    (if (not (string=? (mark-name m2) "hiho!")) (snd-display ";redo mark-name: ~A?" (mark-name m2)))
-
-	    (let ((m3 (find-mark "hiho!"))
-		  (m4 (find-mark (mark-sample m2))))
-	      (let ((m5 (find-mark "not-a-mark"))
-		    (m6 (find-mark 123456787)))
-		(let ((m7 (mark-name->id "hiho!")))
-		  (if (not (and (equal? m2 m3) (equal? m4 m7) (equal? m2 m4))) (snd-display ";find-mark: ~A ~A ~A ~A?" m2 m3 m4 m7)))
-		(if (or (not (equal? m5 m6)) m5) (snd-display ";find-not-a-mark: ~A ~A?" m5 m6)))
-	      (set! (mark-sample m2) 2000)
-	      (set! m1 (add-mark 1000))
-	      (set! m3 (add-mark 3000))
-	      (set! m4 (add-mark 4000))
-	      (insert-samples 2500 500 (make-float-vector 500) fd 0)
-	      (set! samps (map mark-sample (marks fd 0)))
-	      (if (not (equal? samps '(1000 2000 3500 4500))) (snd-display ";insert ripple: ~A?" samps))
-	      (set! (mark-sample m3) 300)
-	      (set! (cursor) 500)
-	      (let ((sd (open-sound "4.aiff")))
-		(set! m3 (add-mark 1000 sd 2))
-		(set! m4 (add-mark 1000 sd 3))
-		(if (not (equal? (mark-home m3) (list sd 2))) (snd-display ";marks->sound 4: ~A?" (mark-home m3)))
-		(close-sound sd)))
-
-	    (let ((file (save-marks fd)))
-	      (if (not (equal? file (string-append cwd "oboe.marks")))
-		  (snd-display ";save-marks -> ~A?" file)))
-	    (let ((file (save-marks fd "hiho.marks")))
-	      (if (not (equal? file "hiho.marks"))
-		  (snd-display ";save-marks with arg -> ~A?" file))
-	      (if (not (zero? (system (format #f "diff hiho.marks \"~Aoboe.marks\"" cwd))))
-		  (snd-display ";save marks differs")))
-	    (close-sound fd)
-	    (let ((s1 (open-sound "oboe.snd"))
-		  (s2 (open-sound "oboe.snd")))
-	      (add-mark 123 s1 0)
-	      (add-mark 321 s2 0)
-	      (set! *with-verbose-cursor* #t)
-	      (if (file-exists? "s61.scm") (delete-file "s61.scm"))
-	      (save-state "s61.scm")
-	      (set! *with-verbose-cursor* #f)
-	      (close-sound s1)
-	      (close-sound s2))
-	    (load (string-append cwd "s61.scm"))
-	    (if (not *with-verbose-cursor*) (snd-display ";save-state with-verbose-cursor?"))
-	    (let ((s1 (find-sound "oboe.snd" 0))
-		  (s2 (find-sound "oboe.snd" 1)))
-	      (if (not (and (sound? s1) (sound? s2)))
-		  (snd-display ";can't re-open sounds? ~A ~A" s1 s2)
-		  (let ((m1 (marks s1))
-			(m2 (marks s2)))
-		    (if (not (and (pair? m1) (null? (cdr m1))
-				  (pair? m2) (null? (cdr m2))
-				  (pair? (car m1)) (null? (cdar m1))
-				  (pair? (car m2)) (null? (cdar m2))))
-			(snd-display ";save-marks via save-state to: ~A ~A" m1 m2)
-			(let ((samp1 (mark-sample (caar m1)))
-			      (samp2 (mark-sample (caar m2))))
-			  (if (not (and (= samp1 123)
-					(= samp2 321)))
-			      (snd-display ";save-marks via save-state positions: ~A ~A" samp1 samp2))))))
-	      (if (sound? s1) (close-sound s1))
-	      (if (sound? s2) (close-sound s2)))
-	    (let ((fd (open-sound "pistol.snd")))
-	      (let ((file (save-marks)))
-		(if (string? file)
-		    (snd-display ";save-marks no marks -> ~A?" file)))
-	      (close-sound fd))
-	    (let ((fd (open-sound "oboe.snd")))
-	      (load (string-append cwd "oboe.marks"))
-	      (let ((mlst (marks fd 0)))
-		(if (not (= (length mlst) 4)) 
-		    (snd-display ";restore oboe.marks: ~A, marks: ~A" (file->string "oboe.marks") (marks fd 0))))
-	      (close-sound fd))
-	    (let ((fd (open-sound "oboe.snd")))
-	      (add-mark 1000)
-	      (add-mark 2500)
-	      (add-mark (- (framples) 4000))
-	      (let ((ms (marks fd 0)))
-		(src-sound -.5)
-		(if (not (equal? (marks fd 0) (reverse (marks fd 0 0))))
-		    (snd-display ";src rev marks: ~A ~A ~A" ms (marks fd 0) (reverse (marks fd 0 0))))
-		(let ((ms1 (map mark-sample (marks fd 0))))
-		  (if (not (equal? ms1 '(7998 96654 99654))) ; off-by-1 somewhere...
-		      (snd-display ";src rev mark locs: ~A" ms1))))
-	      (close-sound fd))
-	    (let ((fd (open-sound "4.aiff")))
-	      (add-mark 1000 fd 0)
-	      (add-mark 2000 fd 1)
-	      (add-mark 3000 fd 2)
-	      (add-mark 4000 fd 3)
-	      (if (null? (marks)) (snd-display ";marks (no args): ~A" (marks)))
-	      (save-marks fd)
-	      (close-sound fd)
-	      (set! fd (open-sound "4.aiff"))
-	      (load (string-append cwd "4.marks"))
-	      (delete-file "4.marks")
-	      (do ((i 0 (+ i 1)))
-		  ((= i 4))
-		(let ((mlst (marks fd i)))
-		  (if (not (= (length mlst) 1))
-		      (snd-display ";save-marks[~A]: ~A?" i mlst))
-		  (if (not (= (mark-sample (car mlst)) (* (+ i 1) 1000)))
-		      (snd-display ";save-marks[~A] at ~A?" i (mark-sample (car mlst))))))
-	      (close-sound fd))
-	      )))
-      
-      (let ((fd (open-sound "oboe.snd"))
-	    (m1 (add-mark 1234)))
-	(set! (mark-name m1) "1234")
-	(set! (mark-sync m1) 1234)
-	(let ((m2 (copy m1)))
-	  (if (not (mark? m2)) 
-	      (snd-display "; copy mark: ~A?" m2)
-	      (begin
-		(if (not (= (mark-sample m1) (mark-sample m2) 1234))
-		    (snd-display ";copy mark sample: ~A ~A" (mark-sample m1) (mark-sample m2)))
-		(if (not (= (mark-sync m1) (mark-sync m2) 1234))
-		    (snd-display ";copy mark sync: ~A ~A" (mark-sync m1) (mark-sync m2)))
-		(if (not (string=? (mark-name m2) "1234"))
-		    (snd-display ";copy mark name: ~A?" (mark-name m2))))))
-	(close-sound fd))
-      
-      (let* ((ind (open-sound "pistol.snd"))
-	     (samp1 1834)
-	     (samp2 8345)
-	     (m1 (add-mark samp1 ind 0))
-	     (m2 (add-mark samp2)))
-	(set! (mark-sync m1) 123)
-	(set! (mark-sync m2) 100)
-	(if (not (= (mark-sync-max) 1234)) (snd-display ";mark-sync-max: ~A" (mark-sync-max)))
-	(src-sound -1)
-	(if (not (= (mark-sample m1) 39788))
-	    (snd-display ";src -1 m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) 33277))
-	    (snd-display ";src -1 m2 -> ~A" (mark-sample m2)))
-	(undo)
-	(src-sound .5)
-	(if (not (= (mark-sample m1) (* 2 samp1)))
-	    (snd-display ";src .5 m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) (* 2 samp2)))
-	    (snd-display ";src .5 m2 -> ~A" (mark-sample m2)))
-	(undo)
-	(delete-samples 1000 100)
-	(if (not (= (mark-sample m1) (- samp1 100)))
-	    (snd-display ";delete 100 m1 -> ~A" (mark-sample m1)))
-	(insert-silence 1000 100)
-	(if (not (= (mark-sample m1) samp1))
-	    (snd-display ";insert 100 m1 -> ~A" (mark-sample m1)))
-	(revert-sound ind)
-	(delete-samples 2000 100)
-	(if (not (= (mark-sample m1) samp1))
-	    (snd-display ";delete(2) 100 m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) (- samp2 100)))
-	    (snd-display ";delete(2) 100 m2 -> ~A" (mark-sample m2)))
-	(insert-silence 2000 100)
-	(if (not (= (mark-sample m1) samp1))
-	    (snd-display ";insert(2) 100 m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) samp2))
-	    (snd-display ";insert(2) 100 m2 -> ~A" (mark-sample m2)))
-	(revert-sound ind)
-	(delete-samples 10000 100)
-	(if (not (= (mark-sample m1) samp1))
-	    (snd-display ";delete(3) 100 m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) samp2))
-	    (snd-display ";delete(3) 100 m2 -> ~A" (mark-sample m2)))
-	(insert-silence 10000 100)
-	(if (not (= (mark-sample m1) samp1))
-	    (snd-display ";insert(3) 100 m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) samp2))
-	    (snd-display ";insert(3) 100 m2 -> ~A" (mark-sample m2)))
-	(src-sound '(0 .5 1 .5 2 1))
-	(if (not (= (mark-sample m1) (* 2 samp1)))
-	    (snd-display ";src env .5 m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) (* 2 samp2)))
-	    (snd-display ";src env .5 m2 -> ~A" (mark-sample m2)))
-	(undo)
-	(reverse-sound)
-	(if (not (= (mark-sample m1) 39788))
-	    (snd-display ";reverse-sound m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) 33277))
-	    (snd-display ";reverse-sound m2 -> ~A" (mark-sample m2)))
-	(undo)
-	(src-sound '(0 -.5 1 -.5 2 -1))
-	(if (not (= (mark-sample m1) 68598))
-	    (snd-display ";src -env m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) 61160))
-	    (snd-display ";src -env m2 -> ~A" (mark-sample m2)))
-	(revert-sound ind)
-	(src-channel (make-env '(0 .5 1 1) :length 8001) 2000 10000)
-	(if (not (= (mark-sample m1) samp1))
-	    (snd-display ";src-channel(1) m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) 11345))
-	    (snd-display ";src-channel(1) m2 -> ~A" (mark-sample m2)))
+      (close-sound ind0))
+      
+    (let ((fd (open-sound "oboe.snd"))
+	  (m1 (add-mark 123))
+	  (sync-val (+ 1 (mark-sync-max))))
+      (if (not (mark? m1)) (snd-display ";mark?"))
+      (if (not (= (mark-sample m1) 123)) (snd-display ";add-mark: ~A? " (mark-sample m1)))
+      (set! (mark-property :hiho m1) 123)
+      (if (not (= (mark-property :hiho m1) 123)) (snd-display ";mark-property: ~A" (mark-property :hiho m1)))
+      (if (mark-property :not-there m1) (snd-display ";mark-not-property: ~A" (mark-property :not-there m1)))
+      (if (not (eq? (without-errors (mark-sample (integer->mark 12345678))) 'no-such-mark)) 
+	  (snd-display ";mark-sample err: ~A?" (without-errors (mark-sample 12345678))))
+      (if (not (eq? (without-errors (add-mark 123 123)) 'no-such-sound)) 
+	  (snd-display ";add-mark err: ~A?" (without-errors (add-mark 123 123))))
+      (let ((m2 (without-errors (add-mark 12345 fd 0))))
+	(if (eq? m2 'no-such-mark) (snd-display ";add-mark failed?"))
+	(if (not (= (mark-sample m2) 12345)) (snd-display ";add-mark 0 0: ~A?" (mark-sample m2)))
+	(if (not (= (mark-sync m2) 0)) (snd-display ";init mark-sync: ~A?" (mark-sync m2)))
+	(set! (mark-sync m2) sync-val)
+	(if (not (= (mark-sync m2) sync-val)) (snd-display ";set-mark-sync (~A): ~A?" sync-val (mark-sync m2)))
+	
+	(let* ((chans (marks fd 0))
+	       (samps (map mark-sample chans)))
+	  (let ((syncs (syncd-marks sync-val)))
+	    (if (not (equal? syncs (list m2))) (snd-display ";syncd-marks: ~A?" syncs)))
+	  (if (not (equal? chans (list m1 m2))) (snd-display ";marks: ~A?" chans))
+	  (if (not (equal? samps (list (mark-sample m1) (mark-sample m2)))) (snd-display ";map samps: ~A?" samps))
+	  (delete-samples 200 100 fd 0)
+	  (set! chans (marks fd))
+	  (set! samps (map mark-sample (car chans)))
+	  (if (not (equal? samps (list (mark-sample m1 0) (- (mark-sample m2 0) 100)))) (snd-display ";map samps: ~A?" samps))
+	  (let ((descr (describe-mark m2)))
+	    (if (not (list? descr))
+		(snd-display ";describe-mark: ~A?" descr)))
+	  (set! (mark-sync m1) (mark-sync m2))
+	  (move-syncd-marks sync-val 100)
+	  (let ((chans (marks fd)))
+	    (set! samps (map mark-sample (car chans))))
+	  (if (not (equal? samps (list (+ (mark-sample m1 0) 100) (mark-sample m2 0)))) (snd-display ";syncd move samps: ~A?" samps)))
+	(set! (cursor) 500)
+	(set! (mark-sync m1) #t)
+	(if (not (= (mark-sync m1) 1)) (snd-display ";mark-sync via bool: ~A" (mark-sync m1)))
+	(delete-mark m1)
+	(let ((chans (marks fd 0)))
+	  (if (not (equal? chans (list m2))) (snd-display ";delete-mark? ~A" chans)))
 	(undo)
-	(src-channel (make-env '(0 .5 1 1) :length 8001) 0 8000)
-	(if (not (= (mark-sample m1) 3303))
-	    (snd-display ";src-channel(2) m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) samp2))
-	    (snd-display ";src-channel(2) m2 -> ~A" (mark-sample m2)))
+	(let ((chans (marks fd 0)))
+	  (if (not (equal? chans (list m1 m2))) (snd-display ";delete-mark then undo? ~A" chans)))
+	(redo)
+	(if (not (string=? (mark-name m2) "")) (snd-display ";init mark-name: ~A?" (mark-name m2)))
+	(set! (mark-name m2) "hiho!")
+	(if (not (string=? (mark-name m2) "hiho!")) (snd-display ";set-mark-name: ~A?" (mark-name m2)))
 	(undo)
-	(src-channel (make-env '(0 .5 1 1) :length 8001) 10000 8000)
-	(if (not (= (mark-sample m1) samp1))
-	    (snd-display ";src-channel(3) m1 -> ~A" (mark-sample m1)))
-	(if (not (= (mark-sample m2) samp2))
-	    (snd-display ";src-channel(3) m2 -> ~A" (mark-sample m2)))
-	(close-sound ind)
-	(set! ind (open-sound "2.snd"))
-	(set! (sync ind) #t)
-	(let ((m3 (add-mark 1000 ind 0))
-	      (m4 (add-mark 8000 ind 1)))
-	  (swap-channels)
-	  (if (not (and (equal? (mark-home m3) (list ind 1))
-			(equal? (mark-home m4) (list ind 0))))
-	      (snd-display ";swapped mark homes: ~A ~A?" (mark-home m3) (mark-home m4)))
-	  (if (not (and (= (mark-sample m3) 1000)
-			(= (mark-sample m4) 8000)))
-	      (snd-display ";swapped mark samples: ~A ~A?" (mark-sample m3) (mark-sample m4)))
-	  (close-sound ind))
-	(set! ind (open-sound "2.snd"))
-	(set! (sync ind) #t)
-	(let ((m3 (add-mark 1000 ind 0)))
-	  (delete-samples 1000 10 ind 1)
-	  (swap-channels)
-	  (if (not (equal? (mark-home m3) (list ind 1)))
-	      (snd-display ";edited swapped mark home: ~A?" (mark-home m3)))
-	  (if (not (= (mark-sample m3) 1000))
-	      (snd-display ";edited swapped mark sample: ~A" (mark-sample m3)))
-	  (delete-marks))
-	(close-sound ind))
-      
-      (let* ((ind (open-sound "oboe.snd"))
-	     (m1 (add-mark 123 ind 0))
-	     (m2 (add-mark 234 ind 0)))
-	(define-selection-via-marks m1 m2)
-	(let ((sel (selection)))
-	  (if (not (and (selection?)
-			(selection? sel)))
-	      (snd-display ";define-selection-via-marks failed?")
-	      (let ((mc (selection-members)))
-		(if (not (equal? mc (list (list ind 0)))) (snd-display ";selection-members after mark definition: ~A (should be '((~A 0)))" mc ind))
-		(if (not (= (selection-position) 123)) (snd-display ";selection-position 123: ~A" (selection-position)))
-		(if (not (= (selection-framples) 112)) (snd-display ";selection-framples 112: ~A" (selection-framples))))))
-	(set! m1 (add-mark 1000 ind 0))
-	(set! m2 (add-mark 2000 ind 0))
-	(define-selection-via-marks m1 m2)
-	(if (not (selection?))
-	    (snd-display ";define-selection-via-marks repeat failed?")
-	    (let ((mc (selection-members)))
-	      (if (not (equal? mc (list (list ind 0)))) (snd-display ";selection-members after second mark definition: ~A (should be '((~A 0)))" mc ind))
-	      (if (not (= (selection-position) 1000)) (snd-display ";selection-position 1000: ~A" (selection-position)))
-	      (if (not (= (selection-framples) 1001)) (snd-display ";selection-framples 1001: ~A" (selection-framples)))))
-	(set! (selection-member? #t) #f)
-	(if (selection?) (snd-display ";can't clear selection via selection-member?"))
-	(if (selection) (snd-display ";(inactive) selection returns: ~A" (selection)))
-	(set! (selection-member? ind 0) #t)
-	(set! (selection-position ind 0) 2000)
-	(set! (selection-framples ind 0) 1234)
-	(snap-marks)
-	(set! m1 (find-mark 2000 ind 0))
-	(if (not (mark? m1)) (snd-display ";snap-marks start: ~A" (map mark-sample (marks ind 0))))
-	(set! m2 (find-mark 3234))
-	(if (not (mark? m2)) (snd-display ";snap-marks end: ~A" (map mark-sample (marks ind 0))))
-	(set! (selection-position ind 0) (+ (framples ind 0) 1123))
-	(if (not (= (selection-position ind 0) (- (framples ind) 1)))
-	    (snd-display ";selection position past eof: ~A ~A" (selection-position ind 0) (- (framples ind) 1)))
-	(revert-sound ind)
-	(src-sound '(0 .5 1 1.75665))
-	;; trying to hit previous dur on the nose "by accident..."
-	
-	;; try to hit mark_size segfault
-	(as-one-edit
-	 (lambda ()
-	   (add-mark 10)
-	   (mix "oboe.snd")
-	   (do ((i 0 (+ i 1))) ((= i 20)) (scale-channel 1.2) (add-mark (* i 2)))))
-	(scale-channel .5)
-	(close-sound ind)
-	)
-      
-      (let ((ind (open-sound "oboe.snd"))
-	    (mtests 100))
-	(do ((i 0 (+ i 1)))
-	    ((= i mtests))
-	  (let* ((current-marks (marks ind 0))
-		 (current-samples (map mark-sample current-marks)))
-	    
-	    (if (pair? current-marks)
-		(let ((id (current-marks (random (- (length current-marks) 1)))))
-		  (if (not (equal? id (find-mark (mark-sample id)))) 
-		      (snd-display ";~A: two marks at ~A? ~A" i (mark-sample id) (map mark-sample current-marks)))
-		  (if (find-mark "not-a-name") (snd-display ";find-bogus-mark: ~A" (find-mark "not-a-name")))))
-	    
-	    (case (random 15)
-	      ((0) (let ((beg (random (framples)))
-			 (dur (max 1 (random 100))))
-		     (insert-silence beg dur)
-		     (for-each
-		      (lambda (id old-loc)
-			(if (> old-loc beg)
-			    (if (not (mark? id))
-				(snd-display ";insert clobbered mark: ~A" id)
-				(if (not (= (mark-sample id) (+ old-loc dur)))
-				    (snd-display ";insert, mark ~D ~D -> ~D (~D)" id old-loc (mark-sample id) dur)))))
-		      current-marks
-		      current-samples)))
-	      ((1) (if (> (car (edits ind 0)) 0) (undo)))
-	      ((2) (if (> (cadr (edits ind 0)) 0) (redo)))
-	      ((3) 
-	       (scale-channel (if (> (maxamp ind 0) .1) .5 2.0))
-	       (if (not (equal? (marks ind 0) current-marks))
-		   (snd-display ";scaling changed marks: ~A ~A" (marks ind 0) current-marks))
-	       (if (not (equal? (map mark-sample (marks ind 0)) current-samples))
-		   (snd-display ";scaling changed mark locations: ~A ~A" (map mark-sample (marks ind 0)) current-samples)))
-	      ((4) 
-	       (set! (sample (random (- (framples) 1))) .5)
-	       (if (not (equal? (marks ind 0) current-marks))
-		   (snd-display ";set-sample changed marks: ~A ~A" (marks ind 0) current-marks))
-	       (if (not (equal? (map mark-sample (marks ind 0)) current-samples))
-		   (snd-display ";set-sample changed mark locations: ~A ~A" (map mark-sample (marks ind 0)) current-samples)))
-	      ((5) (let* ((beg (random (framples)))
-			  (dur (max 1 (random 100)))
-			  (end (+ beg dur)))
-		     (delete-samples beg dur)
-		     (for-each
-		      (lambda (id old-loc)
-			(cond ((and (< beg old-loc end) (mark? id))
-			       (snd-display ";delete did not clobber mark: ~A ~A [~A ~A]" id old-loc beg end))
-			      ((and (> old-loc end)
-				    (not (= (mark-sample id) (- old-loc dur))))
-			       (snd-display ";delete ripple mark ~D ~D -> ~D (~D)" id old-loc (mark-sample id) dur))
-			      ((and (< old-loc beg)
-				    (not (= (mark-sample id) old-loc)))
-			       (snd-display ";delete but mark before: ~A ~A ~A ~A" id old-loc (mark-sample id) beg))))
-		      current-marks
-		      current-samples)))
-	      ((6) (revert-sound))
-	      ((7) (if (and (pair? current-marks)
-			    (> (length current-marks) 1))
-		       (let ((id (current-marks (random (- (length current-marks) 1)))))
-			 (delete-mark id)
-			 (if (mark? id)
-			     (snd-display ";delete-mark failed? ~A" id))
-			 (if (not (= (length (marks ind 0)) (- (length current-marks) 1)))
-			     (snd-display ";delete-mark list trouble: ~A ~A ~A" id current-marks (marks ind 0))))))
-	      ((8) (let ((rate (if (> (framples) 200000) 2.0 0.5)))
-		     (src-channel rate)
-		     (for-each
-		      (lambda (id old-loc)
-			(if (not (mark? id))
-			    (snd-display ";src-channel clobbered mark: ~A" id)
-			    (if (> (abs (- (/ old-loc rate) (mark-sample id))) 2)
-				(snd-display ";src moved mark: ~A ~A ~A (~A -> ~A)" 
-					     id old-loc (mark-sample id) rate (- (/ old-loc rate) (mark-sample id))))))
-		      current-marks
-		      current-samples)))
-	      ((9) (reverse-channel)
-	       (for-each
-		(lambda (id old-loc)
-		  (if (not (mark? id))
-		      (snd-display ";reverse-channel clobbered mark: ~A" id)
-		      (if (> (abs (- (framples) old-loc (mark-sample id))) 2)
-			  (snd-display ";reverse moved mark: ~A ~A ~A (~A)" 
-				       id old-loc (- (framples) old-loc) (mark-sample id)))))
-		current-marks
-		current-samples))
-	      (else (add-mark (random (- (framples) 1)))))))
-	(close-sound ind))
+	(if (not (string=? (mark-name m2) "")) (snd-display ";undo mark-name: ~A?" (mark-name m2)))
+	(redo)
+	(if (not (string=? (mark-name m2) "hiho!")) (snd-display ";redo mark-name: ~A?" (mark-name m2)))
+	
+	(let ((m3 (find-mark "hiho!"))
+	      (m4 (find-mark (mark-sample m2))))
+	  (let ((m5 (find-mark "not-a-mark"))
+		(m6 (find-mark 123456787)))
+	    (let ((m7 (mark-name->id "hiho!")))
+	      (if (not (and (equal? m2 m3) (equal? m4 m7) (equal? m2 m4))) (snd-display ";find-mark: ~A ~A ~A ~A?" m2 m3 m4 m7)))
+	    (if (or (not (equal? m5 m6)) m5) (snd-display ";find-not-a-mark: ~A ~A?" m5 m6)))
+	  (set! (mark-sample m2) 2000)
+	  (set! m1 (add-mark 1000))
+	  (set! m3 (add-mark 3000))
+	  (set! m4 (add-mark 4000))
+	  (insert-samples 2500 500 (make-float-vector 500) fd 0)
+	  (let ((samps (map mark-sample (marks fd 0))))
+	    (if (not (equal? samps '(1000 2000 3500 4500))) (snd-display ";insert ripple: ~A?" samps)))
+	  (set! (mark-sample m3) 300)
+	  (set! (cursor) 500)
+	  (let ((sd (open-sound "4.aiff")))
+	    (set! m3 (add-mark 1000 sd 2))
+	    (set! m4 (add-mark 1000 sd 3))
+	    (if (not (equal? (mark-home m3) (list sd 2))) (snd-display ";marks->sound 4: ~A?" (mark-home m3)))
+	    (close-sound sd)))
+	
+	(let ((file (save-marks fd)))
+	  (if (not (equal? file (string-append cwd "oboe.marks")))
+	      (snd-display ";save-marks -> ~A?" file)))
+	(let ((file (save-marks fd "hiho.marks")))
+	  (if (not (equal? file "hiho.marks"))
+	      (snd-display ";save-marks with arg -> ~A?" file))
+	  (if (not (zero? (system (format #f "diff hiho.marks \"~Aoboe.marks\"" cwd))))
+	      (snd-display ";save marks differs")))
+	(close-sound fd)
+	(let ((s1 (open-sound "oboe.snd"))
+	      (s2 (open-sound "oboe.snd")))
+	  (add-mark 123 s1 0)
+	  (add-mark 321 s2 0)
+	  (set! *with-verbose-cursor* #t)
+	  (if (file-exists? "s61.scm") (delete-file "s61.scm"))
+	  (save-state "s61.scm")
+	  (set! *with-verbose-cursor* #f)
+	  (close-sound s1)
+	  (close-sound s2))
+	(load (string-append cwd "s61.scm"))
+	(if (not *with-verbose-cursor*) (snd-display ";save-state with-verbose-cursor?"))
+	(let ((s1 (find-sound "oboe.snd" 0))
+	      (s2 (find-sound "oboe.snd" 1)))
+	  (if (not (and (sound? s1) (sound? s2)))
+	      (snd-display ";can't re-open sounds? ~A ~A" s1 s2)
+	      (let ((m1 (marks s1))
+		    (m2 (marks s2)))
+		(if (not (and (pair? m1) (null? (cdr m1))
+			      (pair? m2) (null? (cdr m2))
+			      (pair? (car m1)) (null? (cdar m1))
+			      (pair? (car m2)) (null? (cdar m2))))
+		    (snd-display ";save-marks via save-state to: ~A ~A" m1 m2)
+		    (let ((samp1 (mark-sample (caar m1)))
+			  (samp2 (mark-sample (caar m2))))
+		      (if (not (and (= samp1 123)
+				    (= samp2 321)))
+			  (snd-display ";save-marks via save-state positions: ~A ~A" samp1 samp2))))))
+	  (if (sound? s1) (close-sound s1))
+	  (if (sound? s2) (close-sound s2)))
+	(let ((fd (open-sound "pistol.snd")))
+	  (let ((file (save-marks)))
+	    (if (string? file)
+		(snd-display ";save-marks no marks -> ~A?" file)))
+	  (close-sound fd))
+	(let ((fd (open-sound "oboe.snd")))
+	  (load (string-append cwd "oboe.marks"))
+	  (let ((mlst (marks fd 0)))
+	    (if (not (= (length mlst) 4)) 
+		(snd-display ";restore oboe.marks: ~A, marks: ~A" (file->string "oboe.marks") (marks fd 0))))
+	  (close-sound fd))
+	(let ((fd (open-sound "oboe.snd")))
+	  (add-mark 1000)
+	  (add-mark 2500)
+	  (add-mark (- (framples) 4000))
+	  (let ((ms (marks fd 0)))
+	    (src-sound -.5)
+	    (if (not (equal? (marks fd 0) (reverse (marks fd 0 0))))
+		(snd-display ";src rev marks: ~A ~A ~A" ms (marks fd 0) (reverse (marks fd 0 0))))
+	    (let ((ms1 (map mark-sample (marks fd 0))))
+	      (if (not (equal? ms1 '(7998 96654 99654))) ; off-by-1 somewhere...
+		  (snd-display ";src rev mark locs: ~A" ms1))))
+	  (close-sound fd))
+	(let ((fd (open-sound "4.aiff")))
+	  (add-mark 1000 fd 0)
+	  (add-mark 2000 fd 1)
+	  (add-mark 3000 fd 2)
+	  (add-mark 4000 fd 3)
+	  (if (null? (marks)) (snd-display ";marks (no args): ~A" (marks)))
+	  (save-marks fd)
+	  (close-sound fd))
+	(let ((fd (open-sound "4.aiff")))
+	  (load (string-append cwd "4.marks"))
+	  (delete-file "4.marks")
+	  (do ((i 0 (+ i 1)))
+	      ((= i 4))
+	    (let ((mlst (marks fd i)))
+	      (if (not (= (length mlst) 1))
+		  (snd-display ";save-marks[~A]: ~A?" i mlst))
+	      (if (not (= (mark-sample (car mlst)) (* (+ i 1) 1000)))
+		  (snd-display ";save-marks[~A] at ~A?" i (mark-sample (car mlst))))))
+	  (close-sound fd))
+	))
       
-      (if (and (provided? 'snd-motif) (provided? 'xm)) (mark-sync-color "blue"))
-      (let ((ind (open-sound "oboe.snd")))
-	(let ((m0 (add-mark 4321)))
-	  (delete-sample 100)
-	  (let ((m1 (add-mark 1234)))
-	    (let ((val0 (describe-mark m0))
-		  (val1 (describe-mark m1)))
-	      (if (not (and (equal? ((car val0) 0) m0)
-			    (equal? ((car val0) 2) ind)
-			    (= ((car val0) 5) 0)
-			    (= (val0 1) 4321)
-			    (= (val0 2) 4320)))
-		  (snd-display ";describe-mark m0: ~A" val0))
-	      (if (or (not (equal? ((car val1) 0) m1))
-		      (not (equal? ((car val1) 2) ind))
-		      (not (= ((car val1) 5) 0))
-		      (val1 1)
-		      (not (= (val1 2) 1234)))
-		  (snd-display ";describe-mark m1: ~A" val1))
-	      (delete-mark m0)
-	      (delete-sample 5000)
-	      (set! val0 (describe-mark m0))
-	      (set! val1 (describe-mark m1))
-	      (if (or (not (equal? ((car val0) 0) m0))
-		      (not (equal? ((car val0) 2) ind))
-		      (not (= ((car val0) 5) 0))
-		      (not (= (val0 1) 4321))
-		      (val0 2)
-		      (val0 3))
-		  (snd-display ";describe-mark m0 [1]: ~A" val0))
-	      (if (or (not (equal? ((car val1) 0) m1))
-		      (not (equal? ((car val1) 2) ind))
-		      (not (= ((car val1) 5) 0))
-		      (val1 1)
-		      (not (= (val1 2) 1234))
-		      (not (= (val1 3) 1234)))
-		  (snd-display ";describe-mark m1 [1]: ~A" val1)))))
-	(revert-sound ind)
-	(hook-push draw-mark-hook (lambda (hook) #t))
-	(let ((m0 (add-mark 4321)))
-	  (let ((dur (/ (framples ind) (srate ind))))
-	    (pad-marks (list m0 (add-mark 1234)) .01)
-	    (if (fneq (/ (framples ind) (srate ind)) (+ dur .02))
-		(snd-display ";pad-marks: ~A ~A" dur (/ (framples ind) (srate ind)))))
-	  (if (not (member (mark-sample m0) '(4763 4761) =))
-	      (snd-display ";pad-marks m0 pos: ~A" (mark-sample m0)))
-	  (if (fneq (sample 1235) 0.0) (snd-display ";pad-marks 1235: ~A" (sample 1235))))
-	(close-sound ind))
-      (set! (hook-functions draw-mark-hook) ())
-      (let ((ind (open-sound "oboe.snd")))
-	(if (find-mark 12345) (snd-display ";find-mark when no marks: ~A" (find-mark 12345)))
-	(add-mark 123 ind 0)
-	(delete-sample 0)
-	(let ((m1 (add-mark 23 ind 0)))
-	  (set! (mark-name m1) "23")
-	  (delete-sample 0)
-	  (let ((m00 (find-mark 123 ind 0 0))
-		(m01 (find-mark "23"))
-		(m02 (find-mark 121)))
-	    (if (not m00) (snd-display ";can't find 00th mark"))
-	    (if (not m01) (snd-display ";can't find 01th mark"))
-	    (if (not m02) (snd-display ";can't find 02th mark")))
-	  (delete-mark (find-mark "23"))
-	  (scale-by 2.0)
-	  (set! m1 (add-mark 1234))
-	  (set! (mark-name m1) "23")
-	  (let ((m10 (find-mark "23"))
-		(m11 (find-mark "23" ind 0 1))
-		(m12 (find-mark "23" ind 0 2)))
-	    (if (not m10) (snd-display ";can't find 10th mark")
-		(if (not (= (mark-sample m10) 1234)) (snd-display ";mark 10th: ~A" (mark-sample m10))))
-	    (if (not m11) (snd-display ";can't find 11th mark")
-		(if (not (= (mark-sample m11 1) 23)) (snd-display ";mark 11th: ~A" (mark-sample m11 1))))
-	    (if (mark? m12) (snd-display ";found 12th mark: ~A ~A ~A" m12 (mark-sample m12 2) (mark-name m12))))
-	  (set! (mark-name m1) ""))
+    (let ((fd (open-sound "oboe.snd"))
+	  (m1 (add-mark 1234)))
+      (set! (mark-name m1) "1234")
+      (set! (mark-sync m1) 1234)
+      (let ((m2 (copy m1)))
+	(if (not (mark? m2)) 
+	    (snd-display "; copy mark: ~A?" m2)
+	    (begin
+	      (if (not (= (mark-sample m1) (mark-sample m2) 1234))
+		  (snd-display ";copy mark sample: ~A ~A" (mark-sample m1) (mark-sample m2)))
+	      (if (not (= (mark-sync m1) (mark-sync m2) 1234))
+		  (snd-display ";copy mark sync: ~A ~A" (mark-sync m1) (mark-sync m2)))
+	      (if (not (string=? (mark-name m2) "1234"))
+		  (snd-display ";copy mark name: ~A?" (mark-name m2))))))
+      (close-sound fd))
+    
+    (let* ((ind (open-sound "pistol.snd"))
+	   (samp1 1834)
+	   (samp2 8345)
+	   (m1 (add-mark samp1 ind 0))
+	   (m2 (add-mark samp2)))
+      (set! (mark-sync m1) 123)
+      (set! (mark-sync m2) 100)
+      (if (not (= (mark-sync-max) 1234)) (snd-display ";mark-sync-max: ~A" (mark-sync-max)))
+      (src-sound -1)
+      (if (not (= (mark-sample m1) 39788))
+	  (snd-display ";src -1 m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) 33277))
+	  (snd-display ";src -1 m2 -> ~A" (mark-sample m2)))
+      (undo)
+      (src-sound .5)
+      (if (not (= (mark-sample m1) (* 2 samp1)))
+	  (snd-display ";src .5 m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) (* 2 samp2)))
+	  (snd-display ";src .5 m2 -> ~A" (mark-sample m2)))
+      (undo)
+      (delete-samples 1000 100)
+      (if (not (= (mark-sample m1) (- samp1 100)))
+	  (snd-display ";delete 100 m1 -> ~A" (mark-sample m1)))
+      (insert-silence 1000 100)
+      (if (not (= (mark-sample m1) samp1))
+	  (snd-display ";insert 100 m1 -> ~A" (mark-sample m1)))
+      (revert-sound ind)
+      (delete-samples 2000 100)
+      (if (not (= (mark-sample m1) samp1))
+	  (snd-display ";delete(2) 100 m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) (- samp2 100)))
+	  (snd-display ";delete(2) 100 m2 -> ~A" (mark-sample m2)))
+      (insert-silence 2000 100)
+      (if (not (= (mark-sample m1) samp1))
+	  (snd-display ";insert(2) 100 m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) samp2))
+	  (snd-display ";insert(2) 100 m2 -> ~A" (mark-sample m2)))
+      (revert-sound ind)
+      (delete-samples 10000 100)
+      (if (not (= (mark-sample m1) samp1))
+	  (snd-display ";delete(3) 100 m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) samp2))
+	  (snd-display ";delete(3) 100 m2 -> ~A" (mark-sample m2)))
+      (insert-silence 10000 100)
+      (if (not (= (mark-sample m1) samp1))
+	  (snd-display ";insert(3) 100 m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) samp2))
+	  (snd-display ";insert(3) 100 m2 -> ~A" (mark-sample m2)))
+      (src-sound '(0 .5 1 .5 2 1))
+      (if (not (= (mark-sample m1) (* 2 samp1)))
+	  (snd-display ";src env .5 m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) (* 2 samp2)))
+	  (snd-display ";src env .5 m2 -> ~A" (mark-sample m2)))
+      (undo)
+      (reverse-sound)
+      (if (not (= (mark-sample m1) 39788))
+	  (snd-display ";reverse-sound m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) 33277))
+	  (snd-display ";reverse-sound m2 -> ~A" (mark-sample m2)))
+      (undo)
+      (src-sound '(0 -.5 1 -.5 2 -1))
+      (if (not (= (mark-sample m1) 68598))
+	  (snd-display ";src -env m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) 61160))
+	  (snd-display ";src -env m2 -> ~A" (mark-sample m2)))
+      (revert-sound ind)
+      (src-channel (make-env '(0 .5 1 1) :length 8001) 2000 10000)
+      (if (not (= (mark-sample m1) samp1))
+	  (snd-display ";src-channel(1) m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) 11345))
+	  (snd-display ";src-channel(1) m2 -> ~A" (mark-sample m2)))
+      (undo)
+      (src-channel (make-env '(0 .5 1 1) :length 8001) 0 8000)
+      (if (not (= (mark-sample m1) 3303))
+	  (snd-display ";src-channel(2) m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) samp2))
+	  (snd-display ";src-channel(2) m2 -> ~A" (mark-sample m2)))
+      (undo)
+      (src-channel (make-env '(0 .5 1 1) :length 8001) 10000 8000)
+      (if (not (= (mark-sample m1) samp1))
+	  (snd-display ";src-channel(3) m1 -> ~A" (mark-sample m1)))
+      (if (not (= (mark-sample m2) samp2))
+	  (snd-display ";src-channel(3) m2 -> ~A" (mark-sample m2)))
+      (close-sound ind)
+      (set! ind (open-sound "2.snd"))
+      (set! (sync ind) #t)
+      (let ((m3 (add-mark 1000 ind 0))
+	    (m4 (add-mark 8000 ind 1)))
+	(swap-channels)
+	(if (not (and (equal? (mark-home m3) (list ind 1))
+		      (equal? (mark-home m4) (list ind 0))))
+	    (snd-display ";swapped mark homes: ~A ~A?" (mark-home m3) (mark-home m4)))
+	(if (not (and (= (mark-sample m3) 1000)
+		      (= (mark-sample m4) 8000)))
+	    (snd-display ";swapped mark samples: ~A ~A?" (mark-sample m3) (mark-sample m4)))
 	(close-sound ind))
-      (if (string? sf-dir)
-	  (let ((ind (open-sound (string-append sf-dir "forest.aiff"))))
-	    (mark-loops)
-	    (let ((pos (map mark-sample (marks ind 0))))
-	      (if (not (equal? pos '(24981 144332)))
-		  (snd-display ";forest marked loops: ~A ~A" (marks ind 0) pos)))
-	    (close-sound ind)))
+      (set! ind (open-sound "2.snd"))
+      (set! (sync ind) #t)
+      (let ((m3 (add-mark 1000 ind 0)))
+	(delete-samples 1000 10 ind 1)
+	(swap-channels)
+	(if (not (equal? (mark-home m3) (list ind 1)))
+	    (snd-display ";edited swapped mark home: ~A?" (mark-home m3)))
+	(if (not (= (mark-sample m3) 1000))
+	    (snd-display ";edited swapped mark sample: ~A" (mark-sample m3)))
+	(delete-marks))
+      (close-sound ind))
+    
+    (let* ((ind (open-sound "oboe.snd"))
+	   (m1 (add-mark 123 ind 0))
+	   (m2 (add-mark 234 ind 0)))
+      (define-selection-via-marks m1 m2)
+      (let ((sel (selection)))
+	(if (not (and (selection?)
+		      (selection? sel)))
+	    (snd-display ";define-selection-via-marks failed?")
+	    (let ((mc (selection-members)))
+	      (if (not (equal? mc (list (list ind 0)))) (snd-display ";selection-members after mark definition: ~A (should be '((~A 0)))" mc ind))
+	      (if (not (= (selection-position) 123)) (snd-display ";selection-position 123: ~A" (selection-position)))
+	      (if (not (= (selection-framples) 112)) (snd-display ";selection-framples 112: ~A" (selection-framples))))))
+      (set! m1 (add-mark 1000 ind 0))
+      (set! m2 (add-mark 2000 ind 0))
+      (define-selection-via-marks m1 m2)
+      (if (not (selection?))
+	  (snd-display ";define-selection-via-marks repeat failed?")
+	  (let ((mc (selection-members)))
+	    (if (not (equal? mc (list (list ind 0)))) (snd-display ";selection-members after second mark definition: ~A (should be '((~A 0)))" mc ind))
+	    (if (not (= (selection-position) 1000)) (snd-display ";selection-position 1000: ~A" (selection-position)))
+	    (if (not (= (selection-framples) 1001)) (snd-display ";selection-framples 1001: ~A" (selection-framples)))))
+      (set! (selection-member? #t) #f)
+      (if (selection?) (snd-display ";can't clear selection via selection-member?"))
+      (if (selection) (snd-display ";(inactive) selection returns: ~A" (selection)))
+      (set! (selection-member? ind 0) #t)
+      (set! (selection-position ind 0) 2000)
+      (set! (selection-framples ind 0) 1234)
+      (snap-marks)
+      (set! m1 (find-mark 2000 ind 0))
+      (if (not (mark? m1)) (snd-display ";snap-marks start: ~A" (map mark-sample (marks ind 0))))
+      (set! m2 (find-mark 3234))
+      (if (not (mark? m2)) (snd-display ";snap-marks end: ~A" (map mark-sample (marks ind 0))))
+      (set! (selection-position ind 0) (+ (framples ind 0) 1123))
+      (if (not (= (selection-position ind 0) (- (framples ind) 1)))
+	  (snd-display ";selection position past eof: ~A ~A" (selection-position ind 0) (- (framples ind) 1)))
+      (revert-sound ind)
+      (src-sound '(0 .5 1 1.75665))
+      ;; trying to hit previous dur on the nose "by accident..."
       
-      ))
+      ;; try to hit mark_size segfault
+      (as-one-edit
+       (lambda ()
+	 (add-mark 10)
+	 (mix "oboe.snd")
+	 (do ((i 0 (+ i 1))) ((= i 20)) (scale-channel 1.2) (add-mark (* i 2)))))
+      (scale-channel .5)
+      (close-sound ind))
+    
+    (let ((ind (open-sound "oboe.snd"))
+	  (mtests 100))
+      (do ((i 0 (+ i 1)))
+	  ((= i mtests))
+	(let* ((current-marks (marks ind 0))
+	       (current-samples (map mark-sample current-marks)))
+	  
+	  (if (pair? current-marks)
+	      (let ((id (current-marks (random (- (length current-marks) 1)))))
+		(if (not (equal? id (find-mark (mark-sample id)))) 
+		    (snd-display ";~A: two marks at ~A? ~A" i (mark-sample id) (map mark-sample current-marks)))
+		(if (find-mark "not-a-name") (snd-display ";find-bogus-mark: ~A" (find-mark "not-a-name")))))
+	  
+	  (case (random 15)
+	    ((0) (let ((beg (random (framples)))
+		       (dur (max 1 (random 100))))
+		   (insert-silence beg dur)
+		   (for-each
+		    (lambda (id old-loc)
+		      (if (> old-loc beg)
+			  (if (not (mark? id))
+			      (snd-display ";insert clobbered mark: ~A" id)
+			      (if (not (= (mark-sample id) (+ old-loc dur)))
+				  (snd-display ";insert, mark ~D ~D -> ~D (~D)" id old-loc (mark-sample id) dur)))))
+		    current-marks
+		    current-samples)))
+	    ((1) (if (> (car (edits ind 0)) 0) (undo)))
+	    ((2) (if (> (cadr (edits ind 0)) 0) (redo)))
+	    ((3) 
+	     (scale-channel (if (> (maxamp ind 0) .1) .5 2.0))
+	     (if (not (equal? (marks ind 0) current-marks))
+		 (snd-display ";scaling changed marks: ~A ~A" (marks ind 0) current-marks))
+	     (if (not (equal? (map mark-sample (marks ind 0)) current-samples))
+		 (snd-display ";scaling changed mark locations: ~A ~A" (map mark-sample (marks ind 0)) current-samples)))
+	    ((4) 
+	     (set! (sample (random (- (framples) 1))) .5)
+	     (if (not (equal? (marks ind 0) current-marks))
+		 (snd-display ";set-sample changed marks: ~A ~A" (marks ind 0) current-marks))
+	     (if (not (equal? (map mark-sample (marks ind 0)) current-samples))
+		 (snd-display ";set-sample changed mark locations: ~A ~A" (map mark-sample (marks ind 0)) current-samples)))
+	    ((5) (let* ((beg (random (framples)))
+			(dur (max 1 (random 100)))
+			(end (+ beg dur)))
+		   (delete-samples beg dur)
+		   (for-each
+		    (lambda (id old-loc)
+		      (cond ((and (< beg old-loc end) (mark? id))
+			     (snd-display ";delete did not clobber mark: ~A ~A [~A ~A]" id old-loc beg end))
+			    ((and (> old-loc end)
+				  (not (= (mark-sample id) (- old-loc dur))))
+			     (snd-display ";delete ripple mark ~D ~D -> ~D (~D)" id old-loc (mark-sample id) dur))
+			    ((and (< old-loc beg)
+				  (not (= (mark-sample id) old-loc)))
+			     (snd-display ";delete but mark before: ~A ~A ~A ~A" id old-loc (mark-sample id) beg))))
+		    current-marks
+		    current-samples)))
+	    ((6) (revert-sound))
+	    ((7) (if (and (pair? current-marks)
+			  (> (length current-marks) 1))
+		     (let ((id (current-marks (random (- (length current-marks) 1)))))
+		       (delete-mark id)
+		       (if (mark? id)
+			   (snd-display ";delete-mark failed? ~A" id))
+		       (if (not (= (length (marks ind 0)) (- (length current-marks) 1)))
+			   (snd-display ";delete-mark list trouble: ~A ~A ~A" id current-marks (marks ind 0))))))
+	    ((8) (let ((rate (if (> (framples) 200000) 2.0 0.5)))
+		   (src-channel rate)
+		   (for-each
+		    (lambda (id old-loc)
+		      (if (not (mark? id))
+			  (snd-display ";src-channel clobbered mark: ~A" id)
+			  (if (> (abs (- (/ old-loc rate) (mark-sample id))) 2)
+			      (snd-display ";src moved mark: ~A ~A ~A (~A -> ~A)" 
+					   id old-loc (mark-sample id) rate (- (/ old-loc rate) (mark-sample id))))))
+		    current-marks
+		    current-samples)))
+	    ((9) (reverse-channel)
+	     (for-each
+	      (lambda (id old-loc)
+		(if (not (mark? id))
+		    (snd-display ";reverse-channel clobbered mark: ~A" id)
+		    (if (> (abs (- (framples) old-loc (mark-sample id))) 2)
+			(snd-display ";reverse moved mark: ~A ~A ~A (~A)" 
+				     id old-loc (- (framples) old-loc) (mark-sample id)))))
+	      current-marks
+	      current-samples))
+	    (else (add-mark (random (- (framples) 1)))))))
+      (close-sound ind))
+  
+    (if (and (provided? 'snd-motif) (provided? 'xm)) (mark-sync-color "blue"))
+    (let ((ind (open-sound "oboe.snd")))
+      (let ((m0 (add-mark 4321)))
+	(delete-sample 100)
+	(let ((m1 (add-mark 1234)))
+	  (let ((val0 (describe-mark m0))
+		(val1 (describe-mark m1)))
+	    (if (not (and (equal? ((car val0) 0) m0)
+			  (equal? ((car val0) 2) ind)
+			  (= ((car val0) 5) 0)
+			  (= (val0 1) 4321)
+			  (= (val0 2) 4320)))
+		(snd-display ";describe-mark m0: ~A" val0))
+	    (if (not (and (equal? ((car val1) 0) m1)
+			  (equal? ((car val1) 2) ind)
+			  (= ((car val1) 5) 0)
+			  (not (val1 1))
+			  (= (val1 2) 1234)))
+		(snd-display ";describe-mark m1: ~A" val1))
+	    (delete-mark m0)
+	    (delete-sample 5000)
+	    (set! val0 (describe-mark m0))
+	    (set! val1 (describe-mark m1))
+	    (if (or (not (equal? ((car val0) 0) m0))
+		    (not (equal? ((car val0) 2) ind))
+		    (not (= ((car val0) 5) 0))
+		    (not (= (val0 1) 4321))
+		    (val0 2)
+		    (val0 3))
+		(snd-display ";describe-mark m0 [1]: ~A" val0))
+	    (if (not (and (equal? ((car val1) 0) m1)
+			  (equal? ((car val1) 2) ind)
+			  (= ((car val1) 5) 0)
+			  (not (val1 1))
+			  (= (val1 2) 1234)
+			  (= (val1 3) 1234)))
+		(snd-display ";describe-mark m1 [1]: ~A" val1)))))
+      (revert-sound ind)
+      (hook-push draw-mark-hook (lambda (hook) #t))
+      (let ((m0 (add-mark 4321)))
+	(let ((dur (/ (framples ind) (srate ind))))
+	  (pad-marks (list m0 (add-mark 1234)) .01)
+	  (if (fneq (/ (framples ind) (srate ind)) (+ dur .02))
+	      (snd-display ";pad-marks: ~A ~A" dur (/ (framples ind) (srate ind)))))
+	(if (not (member (mark-sample m0) '(4763 4761) =))
+	    (snd-display ";pad-marks m0 pos: ~A" (mark-sample m0)))
+	(if (fneq (sample 1235) 0.0) (snd-display ";pad-marks 1235: ~A" (sample 1235))))
+      (close-sound ind)))
+  (set! (hook-functions draw-mark-hook) ())
+
+  (let ((ind (open-sound "oboe.snd")))
+    (if (find-mark 12345) (snd-display ";find-mark when no marks: ~A" (find-mark 12345)))
+    (add-mark 123 ind 0)
+    (delete-sample 0)
+    (let ((m1 (add-mark 23 ind 0)))
+      (set! (mark-name m1) "23")
+      (delete-sample 0)
+      (let ((m00 (find-mark 123 ind 0 0))
+	    (m01 (find-mark "23"))
+	    (m02 (find-mark 121)))
+	(if (not m00) (snd-display ";can't find 00th mark"))
+	(if (not m01) (snd-display ";can't find 01th mark"))
+	(if (not m02) (snd-display ";can't find 02th mark")))
+      (delete-mark (find-mark "23"))
+      (scale-by 2.0)
+      (set! m1 (add-mark 1234))
+      (set! (mark-name m1) "23")
+      (let ((m10 (find-mark "23"))
+	    (m11 (find-mark "23" ind 0 1))
+	    (m12 (find-mark "23" ind 0 2)))
+	(if (not m10) (snd-display ";can't find 10th mark")
+	    (if (not (= (mark-sample m10) 1234)) (snd-display ";mark 10th: ~A" (mark-sample m10))))
+	(if (not m11) (snd-display ";can't find 11th mark")
+	    (if (not (= (mark-sample m11 1) 23)) (snd-display ";mark 11th: ~A" (mark-sample m11 1))))
+	(if (mark? m12) (snd-display ";found 12th mark: ~A ~A ~A" m12 (mark-sample m12 2) (mark-name m12))))
+      (set! (mark-name m1) ""))
+    (close-sound ind)
+    (if (string? sf-dir)
+	(let ((ind (open-sound (string-append sf-dir "forest.aiff"))))
+	  (mark-loops)
+	  (let ((pos (map mark-sample (marks ind 0))))
+	    (if (not (equal? pos '(24981 144332)))
+		(snd-display ";forest marked loops: ~A ~A" (marks ind 0) pos)))
+	  (close-sound ind))))
   
   (let ((ind (open-sound "oboe.snd")))
     (add-mark 123)
@@ -23958,8 +23812,9 @@ EDITS: 2
     (add-mark 456 ind 0 "a mark" 2)
     (add-mark 567 ind 0 #f 1)
     (save-marks ind "oboe.marks")
-    (close-sound ind)
-    (set! ind (open-sound "oboe.snd"))
+    (close-sound ind))
+
+  (let ((ind (open-sound "oboe.snd")))
     (add-mark 1 ind 0 "new mark" 1)
     (load (string-append cwd "oboe.marks"))
     (let ((m (find-mark 123 ind 0)))
@@ -24012,10 +23867,10 @@ EDITS: 2
       (add-mark 40 ind1 1 #f 12)
       (add-mark 60 ind1 1 #f 12)
       (save-marks ind1 "test.marks")
-      (close-sound ind)
       (close-sound ind1))
-    
-    (set! ind (open-sound "2a.snd"))
+    (close-sound ind))
+  
+  (let ((ind (open-sound "2a.snd")))
     (load (string-append cwd "test.marks"))
     
     (let ((m1 (find-mark 1 ind 0))
@@ -24071,15 +23926,14 @@ EDITS: 2
     (add-mark 345 ind 0 #f 1)
     (add-mark 456 ind 0 "a mark" 2)
     (add-mark 567 ind 0 #f 1)
-    
     (hook-push output-comment-hook (lambda (hook) (set! (hook 'result) (marks->string (selected-sound)))))
     (save-sound-as "tst.snd")
     (let ((new-file-name (file-name ind)))
       (close-sound ind)
-      (if (file-exists? new-file-name) (delete-file new-file-name)))
-    (set! ind (open-sound "tst.snd"))
+      (if (file-exists? new-file-name) (delete-file new-file-name))))
+  
+  (let ((ind (open-sound "tst.snd")))
     (set! (hook-functions output-comment-hook) ())
-    
     (eval-header ind)
     (let ((ms (marks ind 0)))
       (if (not (= (length ms) 5)) (snd-display ";eval-header + marks->string: ~A" ms))
@@ -24092,11 +23946,11 @@ EDITS: 2
 	(if (not (= (mark-sync (find-mark 456)) 2)) 
 	    (snd-display ";eval mark header sync: ~A" (mark-sync (find-mark 456))))
 	(snd-display ";no mark at 456"))
-    
-    (close-sound ind)
-    (mus-sound-forget "tst.snd")
-    (delete-file "tst.snd"))
+    (close-sound ind))
   
+  (mus-sound-forget "tst.snd")
+  (delete-file "tst.snd")
+
   ;; mark-explode
   (let ((ind (new-sound :size 31)))
     (let ((ctr -1))
@@ -24129,8 +23983,8 @@ EDITS: 2
     (if (file-exists? "mark-3.snd") (snd-display ";mark-explode wrote too many files?"))
     (let ((name (file-name ind)))
       (close-sound ind)
-      (if (file-exists? name) (delete-file name))))
-  )
+      (if (file-exists? name) (delete-file name)))))
+
 
 
 ;;; ---------------- test 11: dialogs ----------------
@@ -24296,20 +24150,25 @@ EDITS: 2
 
 ;;; ---------------- test 12: extensions ----------------
 
+(define (test-remove-if p lst)
+  (cond ((null? lst) ())
+	((p (car lst)) (test-remove-if p (cdr lst)))
+	(else (cons (car lst) (test-remove-if p (cdr lst))))))
+  
 (define (snd_test_12)
 
   (define (test-spectral-difference snd1 snd2 maxok)
 
     (define (spectral-difference snd1 snd2)
-      (let* ((fftlen (expt 2 (ceiling (log (max (framples snd1) (framples snd2)) 2))))
-	     (fdr1 (channel->float-vector 0 fftlen snd1 0))
-	     (fdr2 (channel->float-vector 0 fftlen snd2 0))
-	     (diffs (float-vector-subtract! (snd-spectrum fdr1 blackman2-window fftlen #t)
-					    (snd-spectrum fdr2 blackman2-window fftlen #t)))
-	     (len (length diffs))
-	     (incr (make-one-pole 1.0 -1.0)))
+      (let ((diffs (let* ((fftlen (expt 2 (ceiling (log (max (framples snd1) (framples snd2)) 2))))
+			   (fdr1 (channel->float-vector 0 fftlen snd1 0))
+			   (fdr2 (channel->float-vector 0 fftlen snd2 0)))
+		      (float-vector-subtract! (snd-spectrum fdr1 blackman2-window fftlen #t)
+					      (snd-spectrum fdr2 blackman2-window fftlen #t)))))
 	(float-vector-abs! diffs)
-	(do ((i 0 (+ i 1)))
+	(do ((len (length diffs))
+	     (incr (make-one-pole 1.0 -1.0))
+	     (i 0 (+ i 1)))
 	    ((= i len) (one-pole incr 0.0))
 	  (one-pole incr (float-vector-ref diffs i)))))
 
@@ -24324,12 +24183,6 @@ EDITS: 2
 	(if (> diff maxok)
 	    (snd-display ";translate spectral difference ~A ~A: ~A > ~A?" snd1 snd2 diff maxok)))))
   
-  (define (remove-if p lst)
-    (cond ((null? lst) ())
-	  ((p (car lst)) (remove-if p (cdr lst)))
-	  (else (cons (car lst) (remove-if p (cdr lst))))))
-  
-  
   (if (null? (sound-file-extensions))
       (set! (sound-file-extensions) original-sound-file-extensions))
   
@@ -24374,20 +24227,20 @@ EDITS: 2
 	      ((= open-ctr 32))
 	    (let ((len (length open-files)))
 	      (if (or (= len 0) (> (random 1.0) .5))
-		  (let* ((choice (floor (random sf-dir-len)))
-			 (name (string-append sf-dir (sf-dir-files choice)))
-			 (ht (catch #t (lambda () (mus-sound-header-type name)) (lambda args 0)))
-			 (df (catch #t (lambda () (mus-sound-sample-type name)) (lambda args 0)))
-			 (fd (if (or (= ht mus-raw)
-				     (= ht mus-unknown-header)
-				     (= df mus-unknown-sample))
-				 -1 
-				 (or (catch #t
-				       (lambda () (view-sound name))
-				       (lambda args
-					 (snd-display ";~A ~A ~A" name ht df)
-					 -1))
-				     -1))))
+		  (let ((fd (let* ((name (let ((choice (floor (random sf-dir-len))))
+					   (string-append sf-dir (sf-dir-files choice))))
+				   (ht (catch #t (lambda () (mus-sound-header-type name)) (lambda args 0)))
+				   (df (catch #t (lambda () (mus-sound-sample-type name)) (lambda args 0))))
+			       (if (or (= ht mus-raw)
+				       (= ht mus-unknown-header)
+				       (= df mus-unknown-sample))
+				   -1 
+				   (or (catch #t
+					 (lambda () (view-sound name))
+					 (lambda args
+					   (snd-display ";~A ~A ~A" name ht df)
+					   -1))
+				       -1)))))
 		    (if (not (eqv? fd -1))
 			(begin
 			  (set! open-ctr (+ open-ctr 1))
@@ -24395,7 +24248,7 @@ EDITS: 2
 		  (if (and (> len 0) (> (random 1.0) 0.3))
 		      (let ((fd (open-files (floor (random (* 1.0 (length open-files)))))))
 			(close-sound fd)
-			(set! open-files (remove-if (lambda (a) (equal? a fd)) open-files)))))))
+			(set! open-files (test-remove-if (lambda (a) (equal? a fd)) open-files)))))))
 	  (if (pair? open-files) (for-each close-sound open-files))
 	  (set! open-files ())
 	  
@@ -24511,8 +24364,8 @@ EDITS: 2
 	  (let ()
 	    (mix-click-sets-amp)
 	    (let* ((ind (open-sound "oboe.snd"))
-		   (reg (make-region 1000 2000 ind 0))
-		   (md (car (mix-region reg 0 ind 0 0)))
+		   (md (let ((reg (make-region 1000 2000 ind 0)))
+			 (car (mix-region reg 0 ind 0 0))))
 		   (rd (make-mix-sampler md)))
 	      (set! (mix-property :hi md) "hi")
 	      (if (not (string=? (mix-property :hi md) "hi")) (snd-display ";mix(9)-property: ~A" (mix-property :hi md)))
@@ -24591,80 +24444,80 @@ EDITS: 2
   (define* (ladspa-it library label :rest plugin-parameters)
     ;; (ladspa-it "delay" "delay_5s" .3 .5)
     (init-ladspa)
-    (let* ((descriptor (ladspa-descriptor library label))
-	   (handle (ladspa-instantiate descriptor (srate)))
-	   (block-size 256)
-	   (in-block (make-float-vector block-size))
-	   (out-block (make-float-vector block-size))
-	   (len (framples))
-	   (ra (ladspa-run-adding descriptor handle block-size)))
-      (if ra (snd-display ";ladspa-run-adding: ~A" ra))
-      (ladspa-set-run-adding-gain descriptor handle block-size)
-      (dynamic-wind
-	  (lambda ()
-	    (let ((count 0))
-	      (for-each 
-	       (lambda (port)
-		 (if (= (logand port LADSPA_PORT_CONTROL) 0)
-		     (ladspa-connect-port descriptor handle count (if (not (= (logand port LADSPA_PORT_INPUT) 0)) in-block out-block))
-		     (let ((parameter (make-float-vector 1 (car plugin-parameters))))
-		       (set! plugin-parameters (cdr plugin-parameters))
-		       (ladspa-connect-port descriptor handle count parameter)))
-		 (set! count (+ 1 count)))
-	       (.PortDescriptors descriptor))))
-	  (lambda ()
-	    (ladspa-activate descriptor handle)
-	    (catch #t
-	      (lambda ()
-		(do ((i 0 (+ i block-size)))
-		    ((>= i len))
-		  (set! in-block (channel->float-vector i block-size))
-		  (ladspa-run descriptor handle block-size)
-		  ;; here do something with the data
-		  ))
-	      (lambda args (snd-display ";ladspa-it: ~A" args))))
-	  (lambda ()
-	    (ladspa-deactivate descriptor handle)
-	    (ladspa-cleanup descriptor handle))))))
+    (let ((descriptor (ladspa-descriptor library label))
+	  (block-size 256))
+      (let ((handle (ladspa-instantiate descriptor (srate)))
+	    (in-block (make-float-vector block-size))
+	    (out-block (make-float-vector block-size))
+	    (len (framples)))
+	(let ((ra (ladspa-run-adding descriptor handle block-size)))
+	  (if ra (snd-display ";ladspa-run-adding: ~A" ra)))
+	(ladspa-set-run-adding-gain descriptor handle block-size)
+	(dynamic-wind
+	    (lambda ()
+	      (let ((count 0))
+		(for-each 
+		 (lambda (port)
+		   (if (= (logand port LADSPA_PORT_CONTROL) 0)
+		       (ladspa-connect-port descriptor handle count (if (not (= (logand port LADSPA_PORT_INPUT) 0)) in-block out-block))
+		       (let ((parameter (make-float-vector 1 (car plugin-parameters))))
+			 (set! plugin-parameters (cdr plugin-parameters))
+			 (ladspa-connect-port descriptor handle count parameter)))
+		   (set! count (+ 1 count)))
+		 (.PortDescriptors descriptor))))
+	    (lambda ()
+	      (ladspa-activate descriptor handle)
+	      (catch #t
+		(lambda ()
+		  (do ((i 0 (+ i block-size)))
+		      ((>= i len))
+		    (set! in-block (channel->float-vector i block-size))
+		    (ladspa-run descriptor handle block-size)
+		    ;; here do something with the data
+		    ))
+		(lambda args (snd-display ";ladspa-it: ~A" args))))
+	    (lambda ()
+	      (ladspa-deactivate descriptor handle)
+	      (ladspa-cleanup descriptor handle)))))))
 
 
-(define (snd_test_13)
-  
-  (define ladspa_inited #f)
-  (define clm_buffer_added #f)
+(define snd_test_13
+  (let ((ladspa_inited #f)
+	(clm_buffer_added #f)
+    
+	(test-hooks (lambda ()
+		      (reset-all-hooks)
+		      (for-each 
+		       (lambda (n) 
+			 (if (pair? (hook-functions n))
+			     (snd-display ";~A not empty?" n)))
+		       (snd-hooks))))
+  
+	(test-menus (lambda ()
+		      (if (provided? 'xm)
+			  (for-each-child
+			   (car (menu-widgets))
+			   (lambda (w)
+			     (if (not ((*motif* 'XmIsRowColumn) w))
+				 (let ((option-holder (cadr ((*motif* 'XtGetValues) w (list (*motif* 'XmNsubMenuId) 0)))))
+				   (for-each-child
+				    option-holder
+				    (lambda (menu)
+				      (if (and ((*motif* 'XmIsPushButton) menu)
+					       ((*motif* 'XtIsManaged) menu)
+					       ((*motif* 'XtIsSensitive) menu)
+					       (not (member ((*motif* 'XtName) menu)
+							    '("Exit" "New" 
+							      "Save   C-x C-s" 
+							      "Close  C-x k"
+							      "Close all"
+							      "Save current settings"
+							      "Mixes" "clm" "fm-violin"))))
+					  ((*motif* 'XtCallCallbacks) menu (*motif* 'XmNactivateCallback) (snd-global-state))))))))))
+		      (for-each close-sound (sounds))
+		      (dismiss-all-dialogs))))
+  (lambda () ; snd_test_13
 
-  (define (test-hooks)
-    (reset-all-hooks)
-    (for-each 
-     (lambda (n) 
-       (if (pair? (hook-functions n))
-	   (snd-display ";~A not empty?" n)))
-     (snd-hooks)))
-  
-  (define (test-menus)
-    (if (provided? 'xm)
-	(for-each-child
-	 (car (menu-widgets))
-	 (lambda (w)
-	   (if (not ((*motif* 'XmIsRowColumn) w))
-	       (let ((option-holder (cadr ((*motif* 'XtGetValues) w (list (*motif* 'XmNsubMenuId) 0)))))
-		 (for-each-child
-		  option-holder
-		  (lambda (menu)
-		    (if (and ((*motif* 'XmIsPushButton) menu)
-			     ((*motif* 'XtIsManaged) menu)
-			     ((*motif* 'XtIsSensitive) menu)
-			     (not (member ((*motif* 'XtName) menu)
-					  '("Exit" "New" 
-					    "Save   C-x C-s" 
-					    "Close  C-x k"
-					    "Close all"
-					    "Save current settings"
-					    "Mixes" "clm" "fm-violin"))))
-			((*motif* 'XtCallCallbacks) menu (*motif* 'XmNactivateCallback) (snd-global-state))))))))))
-    (for-each close-sound (sounds))
-    (dismiss-all-dialogs))
-  
   (reset-all-hooks)
 
   (let ((fd (view-sound "oboe.snd")))
@@ -24732,35 +24585,34 @@ EDITS: 2
 		   (lambda args (car args)))))
 	(if (not (eq? tag 'no-such-sample))
 	    (snd-display ";access invalid (bin) transform sample: ~A" tag))))
-    (close-sound fd)
-    (set! *transform-type* fourier-transform)
-    
-    (hook-push after-open-hook
-	       (lambda (hook)
-		 (set! (x-axis-style (hook 'snd) #t) x-axis-in-samples)))
-    (set! fd (open-sound "2.snd"))
-    (close-sound fd)
-    (set! (hook-functions after-open-hook) ())
-    
-    (hook-push after-open-hook
-	       (lambda (hook)
-		 (set! (x-axis-style (hook 'snd) #t) x-axis-as-percentage)))
-    (hook-push initial-graph-hook
-	       (lambda (hook)
-		 (let ((snd (hook 'snd))
-		       (chn (hook 'chn))
-		       (dur (hook 'duration)))
-		   (if (mus-sound-maxamp-exists? (file-name snd))
-		       (let ((max-val ((mus-sound-maxamp (file-name snd)) (+ (* chn 2) 1)))) ; implicit index
-			 (set! (hook 'result) (list 0.0 dur (- max-val) max-val)))
-		       (set! (hook 'result) (list 0.0 dur -1.0 1.0))))))
-    (set! (hook-functions after-open-hook) ())
-    (set! (hook-functions initial-graph-hook) ())
+    (close-sound fd))
+  (set! *transform-type* fourier-transform)
     
-    (hook-push initial-graph-hook
-	       (lambda (hook)
-		 (set! (hook 'result) (list 0.0 (hook 'duration) -1.0 1.0 "a label" -4.0 4.0))))
-    (set! fd (open-sound "2.snd"))
+  (hook-push after-open-hook
+	     (lambda (hook)
+	       (set! (x-axis-style (hook 'snd) #t) x-axis-in-samples)))
+  (close-sound (open-sound "2.snd"))
+  (set! (hook-functions after-open-hook) ())
+    
+  (hook-push after-open-hook
+	     (lambda (hook)
+	       (set! (x-axis-style (hook 'snd) #t) x-axis-as-percentage)))
+  (hook-push initial-graph-hook
+	     (lambda (hook)
+	       (let ((snd (hook 'snd))
+		     (chn (hook 'chn))
+		     (dur (hook 'duration)))
+		 (if (mus-sound-maxamp-exists? (file-name snd))
+		     (let ((max-val ((mus-sound-maxamp (file-name snd)) (+ (* chn 2) 1)))) ; implicit index
+		       (set! (hook 'result) (list 0.0 dur (- max-val) max-val)))
+		     (set! (hook 'result) (list 0.0 dur -1.0 1.0))))))
+  (set! (hook-functions after-open-hook) ())
+  (set! (hook-functions initial-graph-hook) ())
+  
+  (hook-push initial-graph-hook
+	     (lambda (hook)
+	       (set! (hook 'result) (list 0.0 (hook 'duration) -1.0 1.0 "a label" -4.0 4.0))))
+  (let ((fd (open-sound "2.snd")))
     (let ((ax (axis-info)))
       (if (and (pair? ax)
 	       (or (fneq (ax 2) 0.0)
@@ -24785,477 +24637,475 @@ EDITS: 2
     (if (or (fneq (maxamp fd 0) .5)
 	    (fneq (maxamp fd 1) .25))
 	(snd-display ";scale-selection-to with vector: ~A" (maxamp fd #t)))
-    (close-sound fd)
-    
-    (set! fd (open-sound "obtest.snd"))
+    (close-sound fd))
     
-    (let ()
-      (set! (hook-functions close-hook) ())
-      (set! *with-background-processes* #t)
-      (let ((added 0))
-	(hook-push new-widget-hook
-		   (lambda (hook)
-		     (set! added (+ added 1)))))
-      (if (provided? 'snd-motif)
-	  (without-errors
-	   (test-menus)))
+  (let ((fd (open-sound "obtest.snd")))
+    (set! (hook-functions close-hook) ())
+    (set! *with-background-processes* #t)
+    (let ((added 0))
+      (hook-push new-widget-hook
+		 (lambda (hook)
+		   (set! added (+ added 1)))))
+    (if (provided? 'snd-motif)
+	(without-errors
+	 (test-menus)))
+    (dismiss-all-dialogs)
+    (set! (hook-functions close-hook) ())
+    (for-each close-sound (sounds))
+    (if (sound? fd) 
+	(begin 
+	  (snd-display ";close all didn't? ~A ~A ~A ~A ~A" fd (sound? fd) (short-file-name fd) (hook-functions close-hook) (sounds))
+	  (close-sound fd))))
+  
+  (let ((fd (open-sound "obtest.snd")))
+    (set! *with-background-processes* #f)
+    (set! (hook-functions new-widget-hook) ())
+    
+    (when (and (not ladspa_inited)
+	       (provided? 'snd-ladspa)
+	       (file-exists? "/home/bil/test/ladspa/ladspa_sdk/plugins"))
+      (set! ladspa_inited #t)
+      (set! *ladspa-dir* "/home/bil/test/ladspa/ladspa_sdk/plugins")
+      (init-ladspa)
+      (let* ((ptr (ladspa-descriptor "delay" "delay_5s"))
+	     (label (.Label ptr))
+	     (name (.Name ptr))
+	     (copy (.Copyright ptr))
+	     (maker (.Maker ptr))
+	     (props (.Properties ptr))
+	     (id (.UniqueID ptr))
+	     (names (.PortNames ptr))
+	     (hints (.PortRangeHints ptr))
+	     (count (.PortCount ptr))
+	     (descs (.PortDescriptors ptr)))
+	(if (not (string=? label "delay_5s")) 
+	    (snd-display ";ladspa .Label: ~A" label))
+	(if (not (string=? name "Simple Delay Line")) 
+	    (snd-display ";ladspa .Name: ~A" name))
+	(if (not (string=? maker "Richard Furse (LADSPA example plugins)"))
+	    (snd-display ";ladspa .Maker: ~A" maker))
+	(if (not (string=? copy "None"))
+	    (snd-display ";ladspa .Copyright: ~A" copy))
+	(if (not (= id 1043)) (snd-display ";ladspa .UniqueID: ~A" id))
+	(if (not (= count 4)) (snd-display ";ladspa .PortCount: ~A" count))
+	(if (not (= props 4)) (snd-display ";ladspa .Properties: ~A" prop))
+	(if (not (equal? names '("Delay (Seconds)" "Dry/Wet Balance" "Input" "Output")))
+	    (snd-display ";ladspa .PortNames: ~A" names))
+	(if (not (equal? hints '((579 0.0 5.0) (195 0.0 1.0) (0 0.0 0.0) (0 0.0 0.0))))
+	    (snd-display ";ladspa .PortRangeHints: ~A" hints))
+	(if (not (equal? descs '(5 5 9 10)))
+	    (snd-display ";ladspa .PortDescriptors: ~A" descs))
+	(if (not (= (logand (cadr (.PortDescriptors ptr)) LADSPA_PORT_INPUT) 1))
+	    (snd-display ";ladspa port hint: ~A" (logand (cadr (.PortDescriptors ptr)) LADSPA_PORT_INPUT))))
+      (apply-ladspa (make-sampler 0) (list "delay" "delay_5s" .3 .5) 1000 "delayed")
+      (if (not (equal? (analyze-ladspa "delay" "delay_5s")
+		       '("Simple Delay Line" "Richard Furse (LADSPA example plugins)" 
+			 "None" 
+			 ("Dry/Wet Balance" "minimum" 0.0 "maximum" 1.0) 
+			 ("Delay (Seconds)" "minimum" 0.0 "maximum" 5.0))))
+	  (snd-display ";analyze-ladspa: ~A" (analyze-ladspa "delay" "delay_5s")))
+      (ladspa-it "delay" "delay_5s" .3 .5)
+      (if (provided? 'xm)
+	  (let ((w ((menu-widgets) 5)))
+	    (if (and (list? w)
+		     (not (XmIsRowColumn w)))
+		(let ((option-holder (cadr (XtGetValues w (list XmNsubMenuId 0)))))
+		  (for-each-child
+		   option-holder
+		   (lambda (menu)
+		     (if (and (XmIsPushButton menu)
+			      (XtIsSensitive menu)
+			      (string=? (XtName menu) "Plugins"))
+			 (XtCallCallbacks menu XmNactivateCallback (snd-global-state)))))))))
       (dismiss-all-dialogs)
-      (set! (hook-functions close-hook) ())
-      (for-each close-sound (sounds))
-      (if (sound? fd) 
-	  (begin 
-	    (snd-display ";close all didn't? ~A ~A ~A ~A ~A" fd (sound? fd) (short-file-name fd) (hook-functions close-hook) (sounds))
-	    (close-sound fd)))
-      (set! fd (open-sound "obtest.snd"))	  
-      (set! *with-background-processes* #f)
-      (set! (hook-functions new-widget-hook) ())
-      
-      (when (and (not ladspa_inited)
-		 (provided? 'snd-ladspa)
-		 (file-exists? "/home/bil/test/ladspa/ladspa_sdk/plugins"))
-	(set! ladspa_inited #t)
-	(set! *ladspa-dir* "/home/bil/test/ladspa/ladspa_sdk/plugins")
-	(init-ladspa)
-	(let* ((ptr (ladspa-descriptor "delay" "delay_5s"))
-	       (label (.Label ptr))
-	       (name (.Name ptr))
-	       (copy (.Copyright ptr))
-	       (maker (.Maker ptr))
-	       (props (.Properties ptr))
-	       (id (.UniqueID ptr))
-	       (names (.PortNames ptr))
-	       (hints (.PortRangeHints ptr))
-	       (count (.PortCount ptr))
-	       (descs (.PortDescriptors ptr)))
-	  (if (not (string=? label "delay_5s")) 
-	      (snd-display ";ladspa .Label: ~A" label))
-	  (if (not (string=? name "Simple Delay Line")) 
-	      (snd-display ";ladspa .Name: ~A" name))
-	  (if (not (string=? maker "Richard Furse (LADSPA example plugins)"))
-	      (snd-display ";ladspa .Maker: ~A" maker))
-	  (if (not (string=? copy "None"))
-	      (snd-display ";ladspa .Copyright: ~A" copy))
-	  (if (not (= id 1043)) (snd-display ";ladspa .UniqueID: ~A" id))
-	  (if (not (= count 4)) (snd-display ";ladspa .PortCount: ~A" count))
-	  (if (not (= props 4)) (snd-display ";ladspa .Properties: ~A" prop))
-	  (if (not (equal? names '("Delay (Seconds)" "Dry/Wet Balance" "Input" "Output")))
-	      (snd-display ";ladspa .PortNames: ~A" names))
-	  (if (not (equal? hints '((579 0.0 5.0) (195 0.0 1.0) (0 0.0 0.0) (0 0.0 0.0))))
-	      (snd-display ";ladspa .PortRangeHints: ~A" hints))
-	  (if (not (equal? descs '(5 5 9 10)))
-	      (snd-display ";ladspa .PortDescriptors: ~A" descs))
-	  (if (not (= (logand (cadr (.PortDescriptors ptr)) LADSPA_PORT_INPUT) 1))
-	      (snd-display ";ladspa port hint: ~A" (logand (cadr (.PortDescriptors ptr)) LADSPA_PORT_INPUT))))
-	(apply-ladspa (make-sampler 0) (list "delay" "delay_5s" .3 .5) 1000 "delayed")
-	(if (not (equal? (analyze-ladspa "delay" "delay_5s")
-			 '("Simple Delay Line" "Richard Furse (LADSPA example plugins)" 
-			   "None" 
-			   ("Dry/Wet Balance" "minimum" 0.0 "maximum" 1.0) 
-			   ("Delay (Seconds)" "minimum" 0.0 "maximum" 5.0))))
-	    (snd-display ";analyze-ladspa: ~A" (analyze-ladspa "delay" "delay_5s")))
-	(ladspa-it "delay" "delay_5s" .3 .5)
-	(if (provided? 'xm)
-	    (let ((w ((menu-widgets) 5)))
-	      (if (and (list? w)
-		       (not (XmIsRowColumn w)))
-		  (let ((option-holder (cadr (XtGetValues w (list XmNsubMenuId 0)))))
-		    (for-each-child
-		     option-holder
-		     (lambda (menu)
-		       (if (and (XmIsPushButton menu)
-				(XtIsSensitive menu)
-				(string=? (XtName menu) "Plugins"))
-			   (XtCallCallbacks menu XmNactivateCallback (snd-global-state)))))))))
-	(dismiss-all-dialogs)
-	(let ((tag (catch #t 
-		     (lambda () 
-		       (apply-ladspa (make-sampler 0) (list "delay" "delay_4s" .3 .5) 1000 "delayed"))
-		     (lambda args args))))
-	  (if (not (eq? (car tag) 'no-such-plugin))
-	      (snd-display ";apply-ladspa bad plugin: ~A" tag)))
-	(let ((tag (catch #t 
-		     (lambda () 
-		       (apply-ladspa (list (make-sampler 0) (make-sampler 0)) (list "delay" "delay_5s" .3 .5) 1000 "delayed"))
-		     (lambda args args))))
-	  (if (not (eq? (car tag) 'plugin-error))
-	      (snd-display ";apply-ladspa reader mismatch: ~A" tag)))
-	(let ((vals (list-ladspa)))
-	  (if (not (pair? vals))
-	      (snd-display ";ladspa list: ~A" vals))
-	  (let ((descr (analyse-ladspa "delay" "delay_5s")))
-	    (if (not (and (pair? descr)
-			  (string? (car descr))
-			  (string=? (car descr) "Simple Delay Line")))
-		(snd-display ";analyse-ladspa: ~A" descr))))
-	(let ((tag (catch #t 
-		     (lambda () (analyse-ladspa "delay" "delay_no_delay"))
-		     (lambda args (car args)))))
-	  (if (not (eq? tag 'no-such-plugin)) (snd-display ";analyse-ladspa tag: ~A" tag)))
-	(let ((tag (catch #t
-		     (lambda ()
-		       (apply-ladspa (list (make-sampler 0) (make-sampler 0)) (list #f) 1000 "delayed"))
-		     (lambda args (car args)))))
-	  (if (not (eq? tag 'wrong-type-arg)) (snd-display ";apply-ladspa tag: ~A" tag)))
+      (let ((tag (catch #t 
+		   (lambda () 
+		     (apply-ladspa (make-sampler 0) (list "delay" "delay_4s" .3 .5) 1000 "delayed"))
+		   (lambda args args))))
+	(if (not (eq? (car tag) 'no-such-plugin))
+	    (snd-display ";apply-ladspa bad plugin: ~A" tag)))
+      (let ((tag (catch #t 
+		   (lambda () 
+		     (apply-ladspa (list (make-sampler 0) (make-sampler 0)) (list "delay" "delay_5s" .3 .5) 1000 "delayed"))
+		   (lambda args args))))
+	(if (not (eq? (car tag) 'plugin-error))
+	    (snd-display ";apply-ladspa reader mismatch: ~A" tag)))
+      (let ((vals (list-ladspa)))
+	(if (not (pair? vals))
+	    (snd-display ";ladspa list: ~A" vals))
+	(let ((descr (analyse-ladspa "delay" "delay_5s")))
+	  (if (not (and (pair? descr)
+			(string? (car descr))
+			(string=? (car descr) "Simple Delay Line")))
+	      (snd-display ";analyse-ladspa: ~A" descr))))
+      (let ((tag (catch #t 
+		   (lambda () (analyse-ladspa "delay" "delay_no_delay"))
+		   (lambda args (car args)))))
+	(if (not (eq? tag 'no-such-plugin)) (snd-display ";analyse-ladspa tag: ~A" tag)))
+      (let ((tag (catch #t
+		   (lambda ()
+		     (apply-ladspa (list (make-sampler 0) (make-sampler 0)) (list #f) 1000 "delayed"))
+		   (lambda args (car args)))))
+	(if (not (eq? tag 'wrong-type-arg)) (snd-display ";apply-ladspa tag: ~A" tag)))
+      
+      (set! *ladspa-dir* "/home/bil/test/ladspa/vocoder-0.3")
+      (init-ladspa)
+      (if (not (equal? (list-ladspa) '(("vocoder" "vocoder"))))
+	  (snd-display ";list-ladspa vocoder: ~A" (list-ladspa)))
+      (if (not (list? (analyze-ladspa "vocoder" "vocoder")))
+	  (snd-display ";analyze-ladspa vocoder: ~A" (analyze-ladspa "vocoder" "vocoder")))
+      (let ((hi (ladspa-descriptor "vocoder" "vocoder")))
+	(if (not (string=? (.Name hi) "Vocoder"))
+	    (snd-display ";ladspa vocoder name: ~A" (.Name hi))))
+      
+      (let ((snd (open-sound "1a.snd")))
+	(apply-ladspa (list (make-sampler 0) (make-sampler 0)) 
+		      (list "vocoder" "vocoder" 12 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5) 
+		      (framples) "vocoder")
+	(undo)
 	
-	(set! *ladspa-dir* "/home/bil/test/ladspa/vocoder-0.3")
+	(set! *ladspa-dir* "/home/bil/test/ladspa/lib/ladspa")
 	(init-ladspa)
-	(if (not (equal? (list-ladspa) '(("vocoder" "vocoder"))))
-	    (snd-display ";list-ladspa vocoder: ~A" (list-ladspa)))
-	(if (not (list? (analyze-ladspa "vocoder" "vocoder")))
-	    (snd-display ";analyze-ladspa vocoder: ~A" (analyze-ladspa "vocoder" "vocoder")))
-	(let ((hi (ladspa-descriptor "vocoder" "vocoder")))
-	  (if (not (string=? (.Name hi) "Vocoder"))
-	      (snd-display ";ladspa vocoder name: ~A" (.Name hi))))
-	
-	(let ((snd (open-sound "1a.snd")))
-	  (apply-ladspa (list (make-sampler 0) (make-sampler 0)) 
-			(list "vocoder" "vocoder" 12 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5) 
-			(framples) "vocoder")
-	  (undo)
-	  
-	  (set! *ladspa-dir* "/home/bil/test/ladspa/lib/ladspa")
-	  (init-ladspa)
-	  (for-each (lambda (plug) (apply analyse-ladspa plug)) (list-ladspa))
-	  
-	  (if (not (list? (analyse-ladspa "amp_1181" "amp")))
-	      (snd-display ";analyze-ladspa can't find amp_1181"))
-	  
-	  (apply-ladspa (make-sampler 0) (list "amp_1181" "amp" -6) (framples) "amp")
-	  (apply-ladspa (make-sampler 0) (list "amp_1181" "amp" 6) (framples) "amp")
-	  (close-sound snd))
+	(for-each (lambda (plug) (apply analyse-ladspa plug)) (list-ladspa))
 	
-	(let ((snd (open-sound "2a.snd")))
-	  
-	  (let ((tag 
-		 (catch #t
-		   (lambda ()
-		     (apply-ladspa (list (make-sampler 0 snd 0) (make-sampler 0 snd 1)) 
-				   (list "amp_1181" "amp" 6 -6) (framples) "amp"))
-		   (lambda args (car args)))))
-	    (if (not (eq? tag 'plugin-error))
-		(snd-display ";apply-ladspa bad inputs: ~A" tag)))
-	  
-	  (apply-ladspa (list (make-sampler 0 snd 0) (make-sampler 0 snd 0)) 
-			(list "ringmod_1188" "ringmod_2i1o" 1) (framples) "ringmod")
-	  (apply-ladspa #f (list "analogue_osc_1416" "analogueOsc" 2 440.0 0.1 0.0) (framples) "osc")
-	  (apply-ladspa #f (list "sin_cos_1881" "sinCos" 440.0 1.0) (framples) "sincos")
-	  (apply-ladspa (list (make-sampler 0 snd 0) (make-sampler 0 snd 1)) 
-			(list "dj_eq_1901" "dj_eq" -6 0 6) (framples) "djeq")
-	  (close-sound snd)))
-      )
+	(if (not (list? (analyse-ladspa "amp_1181" "amp")))
+	    (snd-display ";analyze-ladspa can't find amp_1181"))
+	
+	(apply-ladspa (make-sampler 0) (list "amp_1181" "amp" -6) (framples) "amp")
+	(apply-ladspa (make-sampler 0) (list "amp_1181" "amp" 6) (framples) "amp")
+	(close-sound snd))
+      
+      (let ((snd (open-sound "2a.snd")))
+	
+	(let ((tag 
+	       (catch #t
+		 (lambda ()
+		   (apply-ladspa (list (make-sampler 0 snd 0) (make-sampler 0 snd 1)) 
+				 (list "amp_1181" "amp" 6 -6) (framples) "amp"))
+		 (lambda args (car args)))))
+	  (if (not (eq? tag 'plugin-error))
+	      (snd-display ";apply-ladspa bad inputs: ~A" tag)))
+	
+	(apply-ladspa (list (make-sampler 0 snd 0) (make-sampler 0 snd 0)) 
+		      (list "ringmod_1188" "ringmod_2i1o" 1) (framples) "ringmod")
+	(apply-ladspa #f (list "analogue_osc_1416" "analogueOsc" 2 440.0 0.1 0.0) (framples) "osc")
+	(apply-ladspa #f (list "sin_cos_1881" "sinCos" 440.0 1.0) (framples) "sincos")
+	(apply-ladspa (list (make-sampler 0 snd 0) (make-sampler 0 snd 1)) 
+		      (list "dj_eq_1901" "dj_eq" -6 0 6) (framples) "djeq")
+	(close-sound snd)))
     
     (revert-sound fd)
-    (close-sound fd)
-    (for-each close-sound (sounds))
-    
-    (test-hooks)
-    (hook-push bad-header-hook (lambda (hook) (set! (hook 'result) #t)))
-    (when with-gui
-      (let ((ind (open-sound "oboe.snd")))
-	(set! (cursor) 2000)
-	(key (char->integer #\u) 4 ind)
-	(key (char->integer #\1) 0 ind)
-	(key (char->integer #\0) 0 ind)
-	(key (char->integer #\0) 0 ind)
-	(key (char->integer #\x) 4 ind)
-	(key (char->integer #\z) 4 ind)
-	(if (not (equal? (edit-fragment) '("smooth-channel 2000 100" "set" 2000 100)))
-	    (snd-display ";C-x C-z fragment: ~A" (edit-fragment)))
-	(if (not (mus-arrays-equal? (channel->float-vector 2010 10) (float-vector 0.064 0.063 0.063 0.062 0.062 0.061 0.060 0.059 0.059 0.058)))
-	    (snd-display ";C-x C-z samps: ~A" (channel->float-vector 2010 10)))
-	(set! (cursor) 0)
-	(select-all)
-	(key (char->integer #\x) 4 ind)
-	(key (char->integer #\o) 0 ind)
-	(key (char->integer #\-) 4 ind)
-	(key (char->integer #\x) 4 ind)
-	(key (char->integer #\o) 0 ind)
-	(key (char->integer #\x) 4 ind)
-	(key (char->integer #\o) 0 ind)
-	(key (char->integer #\x) 4 ind)
-	(key (char->integer #\p) 0 ind)
-	(set! (selection-member? #t) #f)
-	(revert-sound ind)
-	(set! (search-procedure) (lambda (n4) (> n4 .1)))
-	(key (char->integer #\a) 4 ind 0)
-	(if (not (= (cursor ind 0) 0))
-	    (snd-display ";C-a cursor: ~D?" (cursor ind 0)))
-	(key (char->integer #\s) 4 ind 0)
-	(key (char->integer #\s) 4 ind 0)
-	(if (not (= (cursor ind 0) 4423))
-	    (snd-display ";search-procedure C-s C-s cursor: ~D?" (cursor ind 0)))
-	(let ((str (with-output-to-string (lambda () (display (procedure-source (search-procedure)))))))
-	  (if (not (string=? str "(lambda (n4) (> n4 0.1))"))
-	      (snd-display ";search-procedure: ~A?" str)))
-	
-	(set! (search-procedure) (lambda (n) (> n .2)))
-	(set! (cursor ind 0) 0)
-	(key (char->integer #\s) 4 ind 0)
-	(key (char->integer #\s) 4 ind 0)
-	(if (not (= (cursor ind 0) 0))
-	    (snd-display ";search-procedure C-s C-s cursor failed: ~D?" (cursor ind 0)))
-	(let ((str (with-output-to-string (lambda () (display (procedure-source (search-procedure)))))))
-	  (if (not (string=? str "(lambda (n) (> n 0.2))"))
-	      (snd-display ";search-procedure (1): ~A?" str)))
-	
-	(set! (hook-functions (edit-hook ind 0)) ())
-	(hook-push (edit-hook ind 0) (lambda (hook) (set! (hook 'result) #f)))
-	(let ((str (with-output-to-string (lambda () (display (map procedure-source (hook-functions (edit-hook ind 0))))))))
-	  (if (not (string=? str "((lambda (hook) (set! (hook 'result) #f)))"))
-	      (snd-display ";edit-hook: ~A?" str)))
-	(set! (hook-functions (edit-hook ind 0)) ())
-	(set! (hook-functions (after-edit-hook ind 0)) ())
-	(hook-push (after-edit-hook ind 0) (lambda (hook) (set! (hook 'result) #f)))
-	(let ((str (with-output-to-string (lambda () (display (map procedure-source (hook-functions (after-edit-hook ind 0))))))))
-	  (if (not (string=? str "((lambda (hook) (set! (hook 'result) #f)))"))
-	      (snd-display ";after-edit-hook: ~A?" str)))
-	(set! (hook-functions (after-edit-hook ind 0)) ())
-	(set! (hook-functions (undo-hook ind 0)) ())
-	(hook-push (undo-hook ind 0) (lambda (hook) (set! (hook 'result) #f)))
-	(let ((str (with-output-to-string (lambda () (display (map procedure-source (hook-functions (undo-hook ind 0))))))))
-	  (if (not (string=? str "((lambda (hook) (set! (hook 'result) #f)))"))
-	      (snd-display ";undo-hook: ~A?" str)))
-	(set! (hook-functions (undo-hook ind 0)) ())
-	(let ((calls 0))
-	  (hook-push (undo-hook ind 0) (lambda (hook) (set! calls (+ 1 calls))))
-	  (delete-sample 0 ind 0)
-	  (undo 1)
-	  (redo 1)
-	  (revert-sound ind)
-	  (if (not (= calls 3)) (snd-display ";undo-hook called ~A times" calls)))
-	(set! (hook-functions (undo-hook ind 0)) ())
-	(set! (search-procedure) #f)
-	(close-sound ind)
-	))
-    (if (pair? (hook-functions open-raw-sound-hook)) (set! (hook-functions open-raw-sound-hook) ()))
-    (hook-push open-raw-sound-hook (lambda (hook) (set! (hook 'result) (list 1 22050 mus-bshort))))
-    (let ((ind (open-sound "~/sf1/addf8.nh")))
-      (play ind :wait #t)
-      (set! (hook-functions open-raw-sound-hook) ())
-      (if (not (and (= (chans ind) 1)
-		    (= (srate ind) 22050)
-		    (= (sample-type ind) mus-bshort)
-		    (= (framples ind) 23808)))
-	  (snd-display ";open-raw: ~A ~A ~A ~A" 
-		       (chans ind) (srate ind) (sample-type ind) (framples ind)))
+    (close-sound fd))
+  (for-each close-sound (sounds))
+  
+  (test-hooks)
+  (hook-push bad-header-hook (lambda (hook) (set! (hook 'result) #t)))
+  (when with-gui
+    (let ((ind (open-sound "oboe.snd")))
+      (set! (cursor) 2000)
+      (key (char->integer #\u) 4 ind)
+      (key (char->integer #\1) 0 ind)
+      (key (char->integer #\0) 0 ind)
+      (key (char->integer #\0) 0 ind)
+      (key (char->integer #\x) 4 ind)
+      (key (char->integer #\z) 4 ind)
+      (if (not (equal? (edit-fragment) '("smooth-channel 2000 100" "set" 2000 100)))
+	  (snd-display ";C-x C-z fragment: ~A" (edit-fragment)))
+      (if (not (mus-arrays-equal? (channel->float-vector 2010 10) (float-vector 0.064 0.063 0.063 0.062 0.062 0.061 0.060 0.059 0.059 0.058)))
+	  (snd-display ";C-x C-z samps: ~A" (channel->float-vector 2010 10)))
+      (set! (cursor) 0)
+      (select-all)
+      (key (char->integer #\x) 4 ind)
+      (key (char->integer #\o) 0 ind)
+      (key (char->integer #\-) 4 ind)
+      (key (char->integer #\x) 4 ind)
+      (key (char->integer #\o) 0 ind)
+      (key (char->integer #\x) 4 ind)
+      (key (char->integer #\o) 0 ind)
+      (key (char->integer #\x) 4 ind)
+      (key (char->integer #\p) 0 ind)
+      (set! (selection-member? #t) #f)
+      (revert-sound ind)
+      (set! (search-procedure) (lambda (n4) (> n4 .1)))
+      (key (char->integer #\a) 4 ind 0)
+      (if (not (= (cursor ind 0) 0))
+	  (snd-display ";C-a cursor: ~D?" (cursor ind 0)))
+      (key (char->integer #\s) 4 ind 0)
+      (key (char->integer #\s) 4 ind 0)
+      (if (not (= (cursor ind 0) 4423))
+	  (snd-display ";search-procedure C-s C-s cursor: ~D?" (cursor ind 0)))
+      (let ((str (with-output-to-string (lambda () (display (procedure-source (search-procedure)))))))
+	(if (not (string=? str "(lambda (n4) (> n4 0.1))"))
+	    (snd-display ";search-procedure: ~A?" str)))
+      
       (set! (search-procedure) (lambda (n) (> n .2)))
-      (close-sound ind))
-    
-    (let ((save-as-dialog #t)
-	  (save-as-name "hiho")
-	  (save-as-index #f))
-      (set! (hook-functions after-save-as-hook) ())
+      (set! (cursor ind 0) 0)
+      (key (char->integer #\s) 4 ind 0)
+      (key (char->integer #\s) 4 ind 0)
+      (if (not (= (cursor ind 0) 0))
+	  (snd-display ";search-procedure C-s C-s cursor failed: ~D?" (cursor ind 0)))
+      (let ((str (with-output-to-string (lambda () (display (procedure-source (search-procedure)))))))
+	(if (not (string=? str "(lambda (n) (> n 0.2))"))
+	    (snd-display ";search-procedure (1): ~A?" str)))
+      
+      (set! (hook-functions (edit-hook ind 0)) ())
+      (hook-push (edit-hook ind 0) (lambda (hook) (set! (hook 'result) #f)))
+      (let ((str (with-output-to-string (lambda () (display (map procedure-source (hook-functions (edit-hook ind 0))))))))
+	(if (not (string=? str "((lambda (hook) (set! (hook 'result) #f)))"))
+	    (snd-display ";edit-hook: ~A?" str)))
+      (set! (hook-functions (edit-hook ind 0)) ())
+      (set! (hook-functions (after-edit-hook ind 0)) ())
+      (hook-push (after-edit-hook ind 0) (lambda (hook) (set! (hook 'result) #f)))
+      (let ((str (with-output-to-string (lambda () (display (map procedure-source (hook-functions (after-edit-hook ind 0))))))))
+	(if (not (string=? str "((lambda (hook) (set! (hook 'result) #f)))"))
+	    (snd-display ";after-edit-hook: ~A?" str)))
+      (set! (hook-functions (after-edit-hook ind 0)) ())
+      (set! (hook-functions (undo-hook ind 0)) ())
+      (hook-push (undo-hook ind 0) (lambda (hook) (set! (hook 'result) #f)))
+      (let ((str (with-output-to-string (lambda () (display (map procedure-source (hook-functions (undo-hook ind 0))))))))
+	(if (not (string=? str "((lambda (hook) (set! (hook 'result) #f)))"))
+	    (snd-display ";undo-hook: ~A?" str)))
+      (set! (hook-functions (undo-hook ind 0)) ())
+      (let ((calls 0))
+	(hook-push (undo-hook ind 0) (lambda (hook) (set! calls (+ 1 calls))))
+	(delete-sample 0 ind 0)
+	(undo 1)
+	(redo 1)
+	(revert-sound ind)
+	(if (not (= calls 3)) (snd-display ";undo-hook called ~A times" calls)))
+      (set! (hook-functions (undo-hook ind 0)) ())
+      (set! (search-procedure) #f)
+      (close-sound ind)))
+
+  (if (pair? (hook-functions open-raw-sound-hook)) (set! (hook-functions open-raw-sound-hook) ()))
+  (hook-push open-raw-sound-hook (lambda (hook) (set! (hook 'result) (list 1 22050 mus-bshort))))
+  (let ((ind (open-sound "~/sf1/addf8.nh")))
+    (play ind :wait #t)
+    (set! (hook-functions open-raw-sound-hook) ())
+    (if (not (and (= (chans ind) 1)
+		  (= (srate ind) 22050)
+		  (= (sample-type ind) mus-bshort)
+		  (= (framples ind) 23808)))
+	(snd-display ";open-raw: ~A ~A ~A ~A" 
+		     (chans ind) (srate ind) (sample-type ind) (framples ind)))
+    (set! (search-procedure) (lambda (n) (> n .2)))
+    (close-sound ind))
+  
+  (let ((save-as-name "hiho"))
+    (set! (hook-functions after-save-as-hook) ())
+    (let ((save-as-dialog #t))
       (hook-push after-save-as-hook 
 		 (lambda (hook)
 		   (let ((ind (hook 'snd))
 			 (name (hook 'name))
 			 (dial (hook 'dialog)))
-		     (set! save-as-index ind)
 		     (set! save-as-name name)
 		     (set! save-as-dialog dial))))
       (let ((ind (open-sound "oboe.snd")))
 	(save-sound-as "test.snd" ind :header-type mus-raw)
-	(close-sound ind)
-	(set! (hook-functions open-raw-sound-hook) ())
-	(set! (hook-functions after-save-as-hook) ())
-	(if save-as-dialog (snd-display ";after-save-as-hook dialog: ~A" save-as-dialog))
-	(if (not (equal? ind save-as-index)) (snd-display ";after-save-as-hook index: ~A ~A" ind save-as-index))
-	(if (not (or (string=? (string-append home-dir "/cl/test.snd") save-as-name) 
-		     (string=? (string-append home-dir "/snd-16/test.snd") save-as-name)))
-	    (snd-display ";after-save-as-hook name: ~A (~A)" save-as-name (string-append home-dir "/cl/test.snd")))
-	(hook-push open-raw-sound-hook 
-		   (lambda (hook)
-		     (let ((file (hook 'name))
-			   (choice (hook 'state)))
-		       (if (not (string=? (substring file (- (length file) 8)) "test.snd"))
-			   (snd-display ";open-raw-sound-hook file: ~A?" (substring file (- (length file) 8))))
-		       (if choice
-			   (snd-display ";open-raw-sound-hook choice: ~A?" choice))
-		       (set! (hook 'result) (list 2 44100 mus-mulaw)))))
-	(set! ind (open-sound "test.snd"))
-	(if (not (and (= (header-type ind) mus-raw)
-		      (= (sample-type ind) mus-mulaw)
-		      (= (chans ind) 2)
-		      (= (srate ind) 44100)
-		      (= (framples ind) 50828)))
-	    (snd-display ";open-raw-sound-hook 1: ~A ~A ~A ~A ~A" 
-			 (header-type ind) (sample-type ind) (chans ind) (srate ind) (framples ind)))
-	(close-sound ind)
-	(hook-append open-raw-sound-hook
-		     (lambda (hook)
-		       (if (not (equal? (hook 'name) "/home/bil/cl/test.snd"))
-			   (snd-display ";open-raw-sound-hook 2: ~A" (hook 'name)))
-		       (set! (hook 'result) (list 1 22050 mus-lint))))
-	
-	(set! ind (open-sound "test.snd"))
-	(if (not (and (= (header-type ind) mus-raw)
-		      (= (sample-type ind) mus-lint)
-		      (= (chans ind) 1)
-		      (= (srate ind) 22050)
-		      (= (framples ind) 25414))) ;(/ 50828 2)
-	    (snd-display ";open-raw-sound-hook 3: ~A ~A ~A ~A ~A" 
-			 (header-type ind) (sample-type ind) (chans ind) (srate ind) (framples ind)))
-	(close-sound ind)
-	(set! (hook-functions open-raw-sound-hook) ())
-	(hook-push open-raw-sound-hook 
-		   (lambda (hook)
-		     (set! (hook 'result) (list 2))))
-	(set! ind (open-sound "test.snd"))
-	(if (not (and (= (header-type ind) mus-raw)
-		      (= (sample-type ind) mus-lint)
-		      (= (chans ind) 2)
-		      (= (srate ind) 22050)))
-	    (snd-display ";open-raw-sound-hook 4: ~A ~A ~A ~A"
-			 (header-type ind) (sample-type ind) (chans ind) (srate ind)))
-	(close-sound ind)
-	(set! (hook-functions open-raw-sound-hook) ())
-	(hook-push open-raw-sound-hook 
-		   (lambda (hook)
-		     (set! (hook 'result) (list 1 22050 mus-bshort 120 320))))
-	(set! ind (open-sound "test.snd"))
-	(if (not (and (= (header-type ind) mus-raw)
-		      (= (sample-type ind) mus-bshort)
-		      (= (chans ind) 1)
-		      (= (srate ind) 22050)
-		      (= (data-location ind) 120)
-		      (= (data-size ind) 320)
-		      (= (framples ind) 160)))
-	    (snd-display ";open-raw-sound-hook 5: ~A ~A ~A ~A ~A ~A ~A" 
-			 (header-type ind) (sample-type ind) (chans ind) (srate ind)
-			 (data-location ind) (data-size ind) (/ (framples ind) 2)))
-	(close-sound ind)
-	(set! (hook-functions open-raw-sound-hook) ())))
+	(close-sound ind))
+      (set! (hook-functions open-raw-sound-hook) ())
+      (set! (hook-functions after-save-as-hook) ())
+      (if save-as-dialog (snd-display ";after-save-as-hook dialog: ~A" save-as-dialog)))
+    (if (not (or (string=? (string-append home-dir "/cl/test.snd") save-as-name) 
+		 (string=? (string-append home-dir "/snd-16/test.snd") save-as-name)))
+	(snd-display ";after-save-as-hook name: ~A (~A)" save-as-name (string-append home-dir "/cl/test.snd"))))
+  (hook-push open-raw-sound-hook 
+	     (lambda (hook)
+	       (let ((file (hook 'name))
+		     (choice (hook 'state)))
+		 (if (not (string=? (substring file (- (length file) 8)) "test.snd"))
+		     (snd-display ";open-raw-sound-hook file: ~A?" (substring file (- (length file) 8))))
+		 (if choice
+		     (snd-display ";open-raw-sound-hook choice: ~A?" choice))
+		 (set! (hook 'result) (list 2 44100 mus-mulaw)))))
+  
+  (let ((ind (open-sound "test.snd")))
+    (if (not (and (= (header-type ind) mus-raw)
+		  (= (sample-type ind) mus-mulaw)
+		  (= (chans ind) 2)
+		  (= (srate ind) 44100)
+		  (= (framples ind) 50828)))
+	(snd-display ";open-raw-sound-hook 1: ~A ~A ~A ~A ~A" 
+		     (header-type ind) (sample-type ind) (chans ind) (srate ind) (framples ind)))
+    (close-sound ind))
+  
+  (hook-append open-raw-sound-hook
+	       (lambda (hook)
+		 (if (not (equal? (hook 'name) "/home/bil/cl/test.snd"))
+		     (snd-display ";open-raw-sound-hook 2: ~A" (hook 'name)))
+		 (set! (hook 'result) (list 1 22050 mus-lint))))
+  
+  (let ((ind (open-sound "test.snd")))
+    (if (not (and (= (header-type ind) mus-raw)
+		  (= (sample-type ind) mus-lint)
+		  (= (chans ind) 1)
+		  (= (srate ind) 22050)
+		  (= (framples ind) 25414))) ;(/ 50828 2)
+	(snd-display ";open-raw-sound-hook 3: ~A ~A ~A ~A ~A" 
+		     (header-type ind) (sample-type ind) (chans ind) (srate ind) (framples ind)))
+    (close-sound ind))
+  
+  (set! (hook-functions open-raw-sound-hook) ())
+  (hook-push open-raw-sound-hook 
+	     (lambda (hook)
+	       (set! (hook 'result) (list 2))))
+  
+  (let ((ind (open-sound "test.snd")))
+    (if (not (and (= (header-type ind) mus-raw)
+		  (= (sample-type ind) mus-lint)
+		  (= (chans ind) 2)
+		  (= (srate ind) 22050)))
+	(snd-display ";open-raw-sound-hook 4: ~A ~A ~A ~A"
+		     (header-type ind) (sample-type ind) (chans ind) (srate ind)))
+    (close-sound ind))
+  
+  (set! (hook-functions open-raw-sound-hook) ())
+  (hook-push open-raw-sound-hook 
+	     (lambda (hook)
+	       (set! (hook 'result) (list 1 22050 mus-bshort 120 320))))
+  (let ((ind (open-sound "test.snd")))
+    (if (not (and (= (header-type ind) mus-raw)
+		  (= (sample-type ind) mus-bshort)
+		  (= (chans ind) 1)
+		  (= (srate ind) 22050)
+		  (= (data-location ind) 120)
+		  (= (data-size ind) 320)
+		  (= (framples ind) 160)))
+	(snd-display ";open-raw-sound-hook 5: ~A ~A ~A ~A ~A ~A ~A" 
+		     (header-type ind) (sample-type ind) (chans ind) (srate ind)
+		     (data-location ind) (data-size ind) (/ (framples ind) 2)))
+    (close-sound ind))
+  (set! (hook-functions open-raw-sound-hook) ())
+  (set! (hook-functions during-open-hook) ())
+    
+  (let ((ind #f))
+    (let ((op #f)
+	  (aop #f)
+	  (dop #f)
+	  (ig #f))
+      (hook-push open-hook 
+		 (lambda (hook)
+		   (let ((filename (hook 'name)))
+		     (if (not (string=? filename (mus-expand-filename "oboe.snd")))
+			 (snd-display ";open-hook: ~A?" filename))
+		     (set! op #t)
+		     (set! (hook 'result) #f))))
+      (hook-push after-open-hook 
+		 (lambda (hook)
+		   (set! aop (hook 'snd))))
+      (hook-push during-open-hook 
+		 (lambda (hook)
+		   (let ((filename (hook 'name))
+			 (reason (hook 'reason)))
+		     (set! dop #t)
+		     (if (not (string=? filename (mus-expand-filename "oboe.snd")))
+			 (snd-display ";during-open-hook filename: ~A?" filename))
+		     (if (not (= reason 1))
+			 (snd-display ";during-open-hook reason: ~A?" reason)))))
+      (hook-push initial-graph-hook
+		 (lambda (hook)
+		   (if (not (= (hook 'chn) 0))
+		       (snd-display ";initial-graph-hook (channel): ~A not 0?" (hook 'chn)))
+		   (set! ig #t)
+		   (set! (hook 'result) #f)))
+      (set! ind (open-sound "oboe.snd"))
+      (if (not op) (snd-display ";open-hook not called?"))
+      (if (not dop) (snd-display ";during-open-hook not called?"))
+      (when (and with-gui (not ig)) (snd-display ";initial-graph-hook not called?"))
+      (if (not (sound? aop)) (snd-display ";after-open-hook not called?"))
+      (if (not (equal? aop ind)) (snd-display ";after-open-hook ~A but ind: ~A?" aop ind)))
+    
+    (select-all)
+    (set! (hook-functions open-hook) ())
     (set! (hook-functions during-open-hook) ())
+    (set! (hook-functions after-open-hook) ())
+    (set! (hook-functions initial-graph-hook) ())
     
-    (let ((ind #f)
-	  (other #f))
-      (let ((op #f)
-	    (aop #f)
-	    (dop #f)
-	    (ig #f))
-	(hook-push open-hook 
-		   (lambda (hook)
-		     (let ((filename (hook 'name)))
-		       (if (not (string=? filename (mus-expand-filename "oboe.snd")))
-			   (snd-display ";open-hook: ~A?" filename))
-		       (set! op #t)
-		       (set! (hook 'result) #f))))
-	(hook-push after-open-hook 
-		   (lambda (hook)
-		     (set! aop (hook 'snd))))
-	(hook-push during-open-hook 
-		   (lambda (hook)
-		     (let ((filename (hook 'name))
-			   (reason (hook 'reason)))
-		       (set! dop #t)
-		       (if (not (string=? filename (mus-expand-filename "oboe.snd")))
-			   (snd-display ";during-open-hook filename: ~A?" filename))
-		       (if (not (= reason 1))
-			   (snd-display ";during-open-hook reason: ~A?" reason)))))
-	(hook-push initial-graph-hook
-		   (lambda (hook)
-		     (if (not (= (hook 'chn) 0))
-			 (snd-display ";initial-graph-hook (channel): ~A not 0?" (hook 'chn)))
-		     (set! ig #t)
-		     (set! (hook 'result) #f)))
-	(set! ind (open-sound "oboe.snd"))
-	(if (not op) (snd-display ";open-hook not called?"))
-	(if (not dop) (snd-display ";during-open-hook not called?"))
-	(when (and with-gui (not ig)) (snd-display ";initial-graph-hook not called?"))
-	(if (not (sound? aop)) (snd-display ";after-open-hook not called?"))
-	(if (not (equal? aop ind)) (snd-display ";after-open-hook ~A but ind: ~A?" aop ind)))
-
-      (select-all)
-      (set! (hook-functions open-hook) ())
-      (set! (hook-functions during-open-hook) ())
-      (set! (hook-functions after-open-hook) ())
-      (set! (hook-functions initial-graph-hook) ())
-      
-      (hook-push open-hook (lambda (hook) (set! (hook 'result) #t)))
-      (let ((pistol (open-sound "pistol.snd")))
-	(if pistol
-	    (begin
-	      (snd-display ";open-hook #t, but open-sound -> ~A" pistol)
-	      (if (sound? pistol) (close-sound pistol)))))
-      (set! (hook-functions open-hook) ())
-      
-      (let ((gr #f)
-	    (agr #f)
-	    (gbf #f)
-	    (abf #f))
-	(set! (hook-functions before-transform-hook) ())
-	(set! (hook-functions after-transform-hook) ())
-	(set! (hook-functions after-graph-hook) ())
-	(set! (hook-functions graph-hook) ())
-	(hook-push graph-hook
-		   (lambda (hook)
-		     (let ((snd (hook 'snd))
-			   (chn (hook 'chn)))
-		       (if (not (equal? snd ind))
-			   (snd-display ";graph-hook: ~A not ~A?" snd ind))
-		       (if (not (= chn 0))
-			   (snd-display ";graph-hook (channel): ~A not 0?" chn)))
-		     (set! gr #t)
-		     (set! (hook 'result) #f)))
-	(hook-push after-graph-hook
-		   (lambda (hook)
-		     (let ((snd (hook 'snd))
-			   (chn (hook 'chn)))
-		       (if (not (equal? snd ind))
-			   (snd-display ";after-graph-hook: ~A not ~A?" snd ind))
-		       (if (not (= chn 0))
-			   (snd-display ";after-graph-hook (channel): ~A not 0?" chn)))
-		     (set! agr #t)))
-	(hook-push before-transform-hook
-		   (lambda (hook)
-		     (set! gbf #t)
-		     (set! (hook 'result) (cursor))))
-	(hook-push after-transform-hook
-		   (lambda (hook)
-		     (let ((snd (hook 'snd))
-			   (chn (hook 'chn)))
-		       (set! abf #t)
-		       (if (and (transform-graph? snd chn) 
-				(= (transform-graph-type snd chn) graph-once))
-			   (status-report 
-			    (number->string (/ (* 2.0 (float-vector-peak (transform->float-vector snd chn)))
-					       (transform-size snd chn)))
-			    snd)
-			   (set! (hook 'result) #f)))))
-	(set! (transform-graph? ind 0) #t)
-	(set! (time-graph? ind 0) #t)
-	(update-time-graph ind 0)
-	(update-transform-graph ind 0)
-	
-	(if (and (not gr)
-		 (provided? 'snd-motif) 
-		 (provided? 'xm))
-	    (with-let (sublet *motif*)
-	      (do ((i 0 (+ i 1))
-		   (happy #f)
-		   (app (car (main-widgets))))
-		  ((or happy (= i 1000)))
-		(let ((msk (XtAppPending app)))
-		  (if (= (logand msk (logior XtIMXEvent XtIMAlternateInput)) 0)
-		      (set! happy #t)
-		      (XtDispatchEvent (XtAppNextEvent app)))))))
-	
-	(when with-gui
-	  (if (not (or gr (provided? 'snd-gtk)))
-	      (snd-display ";graph-hook not called? ~A ~A ~A ~A" (time-graph? ind) (short-file-name ind) ind (sounds)))
-	  (if (not (or agr (provided? 'snd-gtk))) 
-	      (snd-display ";after-graph-hook not called?"))
+    (hook-push open-hook (lambda (hook) (set! (hook 'result) #t)))
+    (let ((pistol (open-sound "pistol.snd")))
+      (if pistol
+	  (begin
+	    (snd-display ";open-hook #t, but open-sound -> ~A" pistol)
+	    (if (sound? pistol) (close-sound pistol)))))
+    (set! (hook-functions open-hook) ())
+    
+    (let ((gr #f)
+	  (agr #f)
+	  (gbf #f)
+	  (abf #f))
+      (set! (hook-functions before-transform-hook) ())
+      (set! (hook-functions after-transform-hook) ())
+      (set! (hook-functions after-graph-hook) ())
+      (set! (hook-functions graph-hook) ())
+      (hook-push graph-hook
+		 (lambda (hook)
+		   (let ((snd (hook 'snd))
+			 (chn (hook 'chn)))
+		     (if (not (equal? snd ind))
+			 (snd-display ";graph-hook: ~A not ~A?" snd ind))
+		     (if (not (= chn 0))
+			 (snd-display ";graph-hook (channel): ~A not 0?" chn)))
+		   (set! gr #t)
+		   (set! (hook 'result) #f)))
+      (hook-push after-graph-hook
+		 (lambda (hook)
+		   (let ((snd (hook 'snd))
+			 (chn (hook 'chn)))
+		     (if (not (equal? snd ind))
+			 (snd-display ";after-graph-hook: ~A not ~A?" snd ind))
+		     (if (not (= chn 0))
+			 (snd-display ";after-graph-hook (channel): ~A not 0?" chn)))
+		   (set! agr #t)))
+      (hook-push before-transform-hook
+		 (lambda (hook)
+		   (set! gbf #t)
+		   (set! (hook 'result) (cursor))))
+      (hook-push after-transform-hook
+		 (lambda (hook)
+		   (let ((snd (hook 'snd))
+			 (chn (hook 'chn)))
+		     (set! abf #t)
+		     (if (and (transform-graph? snd chn) 
+			      (= (transform-graph-type snd chn) graph-once))
+			 (status-report 
+			  (number->string (/ (* 2.0 (float-vector-peak (transform->float-vector snd chn)))
+					     (transform-size snd chn)))
+			  snd)
+			 (set! (hook 'result) #f)))))
+      (set! (transform-graph? ind 0) #t)
+      (set! (time-graph? ind 0) #t)
+      (update-time-graph ind 0)
+      (update-transform-graph ind 0)
+      
+      (if (and (not gr)
+	       (provided? 'snd-motif) 
+	       (provided? 'xm))
+	  (with-let (sublet *motif*)
+	    (do ((i 0 (+ i 1))
+		 (happy #f)
+		 (app (car (main-widgets))))
+		((or happy (= i 1000)))
+	      (let ((msk (XtAppPending app)))
+		(if (= (logand msk (logior XtIMXEvent XtIMAlternateInput)) 0)
+		    (set! happy #t)
+		    (XtDispatchEvent (XtAppNextEvent app)))))))
+      
+      (when with-gui
+	(if (not (or gr (provided? 'snd-gtk)))
+	    (snd-display ";graph-hook not called? ~A ~A ~A ~A" (time-graph? ind) (short-file-name ind) ind (sounds)))
+	(if (not (or agr (provided? 'snd-gtk))) 
+	    (snd-display ";after-graph-hook not called?"))
 	(if (not gbf) 
 	    (snd-display ";before-transform-hook not called?"))
 	(if (not (or abf (provided? 'snd-gtk)))
 	    (snd-display ";after-transform-hook not called?")))
-	(set! (hook-functions before-transform-hook) ())
-	(set! (transform-graph? ind 0) #f)
-	(set! (hook-functions graph-hook) ())
-	(set! (hook-functions after-graph-hook) ()))
-      
-      (set! other (open-sound "pistol.snd"))
-      
+      (set! (hook-functions before-transform-hook) ())
+      (set! (transform-graph? ind 0) #f)
+      (set! (hook-functions graph-hook) ())
+      (set! (hook-functions after-graph-hook) ()))
+    
+    (let ((other (open-sound "pistol.snd")))
       (let ((sl #f))
 	(hook-push select-sound-hook
 		   (lambda (hook)
@@ -25330,16 +25180,14 @@ EDITS: 2
 	(play "4.aiff")
 	(set! (hook-functions start-playing-hook) ())
 	
-	(let ((ss #f)
-	      (old-reg *selection-creates-region*))
-	  (set! *selection-creates-region* #t)
-	  (hook-push stop-playing-selection-hook (lambda (hook) (set! ss #t)))
-	  (let ((reg (select-all)))
-	    (play (selection) :wait #t)
-	    (if (region? reg) (play reg :wait #t))
-	    (if (not ss) (snd-display ";stop-playing-selection-hook: ~A" ss)))
-	  (set! (hook-functions stop-playing-selection-hook) ())
-	  (set! *selection-creates-region* old-reg))
+	(let ((ss #f))
+	  (let-temporarily ((*selection-creates-region* #t))
+	    (hook-push stop-playing-selection-hook (lambda (hook) (set! ss #t)))
+	    (let ((reg (select-all)))
+	      (play (selection) :wait #t)
+	      (if (region? reg) (play reg :wait #t))
+	      (if (not ss) (snd-display ";stop-playing-selection-hook: ~A" ss)))
+	    (set! (hook-functions stop-playing-selection-hook) ())))
 	
 	(let ((pl (make-player ind 0)))
 	  (free-player pl)
@@ -25470,161 +25318,161 @@ EDITS: 2
 	(close-sound ind)
 	(if (not cl) (snd-display ";close-hook not called?")))
       (set! (hook-functions close-hook) ())
-      (close-sound other))
-    
-    (if (not (provided? 'alsa))
-	(let ((in1 (open-sound "oboe.snd"))
-	      (in2 (open-sound "2.snd")))
-	  (set! (sync in1) 1)
-	  (set! (sync in2) 1)
-	  (play :with-sync #t :wait #t)
-	  (close-sound in1)
-	  (close-sound in2)))
-    
-    (let* ((ind (open-sound "oboe.snd"))
-	   (edit-hook-ctr 0)
-	   (after-edit-hook-ctr 0)
-	   (all-tests (list (list 'apply-controls (lambda () 
-						    (set! (amp-control ind 0) .5) 
-						    (apply-controls ind) 
-						    (set! (amp-control ind 0) 1.0)))
-			    (list 'clm-channel (lambda () 
-						 (clm-channel (make-two-zero 1 -1))))
-			    (list 'convolve-selection-with (lambda () 
-							     (let ((reg (select-all ind 0))) 
-							       (convolve-selection-with "1a.snd" .5) 
-							       (if (region? reg) (forget-region reg)))))
-			    (list 'convolve-with (lambda () 
-						   (convolve-with "1a.snd" 0.5 ind 0)))
-			    (list 'delete-mix (lambda () 
-						(let ((mx (mix-float-vector (make-float-vector 3 .2) 123))) 
-						  (if (mix? mx) (set! (mix-amp mx) 0.0)))))
-			    (list 'delete-sample (lambda () 
-						   (delete-sample 123 ind 0)))
-			    (list 'delete-samples (lambda () 
-						    (delete-samples 123 123 ind 0)))
-			    (list 'delete-selection (lambda () 
-						      (let ((reg (select-all ind 0))) 
-							(delete-selection) 
-							(if (region? reg) (forget-region reg)))))
-			    (list 'env-channel (lambda () 
-						 (env-channel '(0 0 1 1))))
-			    (list 'env-selection (lambda () 
-						   (let ((reg (select-all ind 0))) 
-						     (env-selection '(0 0 1 1) 1.0) 
-						     (if (region? reg) (forget-region reg)))))
-			    (list 'env-sound (lambda () 
-					       (env-sound '(0 0 1 1))))
-			    (list 'filter-sound (lambda () 
-						  (filter-sound '(0 1 1 0) 1024)))
-			    (list 'filter-selection (lambda () 
-						      (let ((reg (select-all ind 0))) 
-							(filter-selection '(0 0 1 1) 6) 
-							(if (region? reg) (forget-region reg)))))
-			    (list 'insert-region (lambda () 
-						   (let ((reg (make-region 0 100 ind 0))) 
-						     (insert-region reg 123 ind 0) 
-						     (if (region? reg) (forget-region reg)))))
-			    (list 'insert-sample (lambda () 
-						   (insert-sample 123 .5 ind 0)))
-			    (list 'insert-samples (lambda () 
-						    (insert-samples 123 3 (make-float-vector 3 1.0) ind 0)))
-			    (list 'insert-selection (lambda () 
-						      (let ((reg (select-all ind 0))) 
-							(insert-selection 120 ind 0) 
-							(if (region? reg) (forget-region reg)))))
-			    (list 'insert-silence (lambda () 
-						    (insert-silence 123 456 ind 0)))
-			    (list 'insert-sound (lambda () 
-						  (insert-sound "1a.snd" 123)))
-			    (list 'map-channel (lambda () 
-						 (map-channel (lambda (y) (+ y .2)))))
-			    (list 'map-channel (lambda () 
-						 (map-channel (lambda (y) (+ y .2)))))
-			    (list 'mix (lambda () 
-					 (mix "1a.snd" 123)))
-			    (list 'mix-amp (lambda () 
-					     (let ((mx (mix-float-vector (make-float-vector 3 1.0) 123))) 
-					       (if (mix? mx) (set! (mix-amp mx) .123)))))
-			    (list 'mix-amp-env (lambda () 
-						 (let ((mx (mix-float-vector (make-float-vector 3 1.0) 123))) 
-						   (if (mix? mx) (set! (mix-amp-env mx) '(0 0 1 1))))))
-			    (list 'mix-position (lambda () 
-						  (let ((mx (mix-float-vector (make-float-vector 3 1.0) 123))) 
-						    (if (mix? mx) (set! (mix-position mx) 123)))))
-			    (list 'mix-speed (lambda () 
+      (close-sound other)))
+  
+  (if (not (provided? 'alsa))
+      (let ((in1 (open-sound "oboe.snd"))
+	    (in2 (open-sound "2.snd")))
+	(set! (sync in1) 1)
+	(set! (sync in2) 1)
+	(play :with-sync #t :wait #t)
+	(close-sound in1)
+	(close-sound in2)))
+  
+  (let* ((ind (open-sound "oboe.snd"))
+	 (all-tests (list (list 'apply-controls (lambda () 
+						  (set! (amp-control ind 0) .5) 
+						  (apply-controls ind) 
+						  (set! (amp-control ind 0) 1.0)))
+			  (list 'clm-channel (lambda () 
+					       (clm-channel (make-two-zero 1 -1))))
+			  (list 'convolve-selection-with (lambda () 
+							   (let ((reg (select-all ind 0))) 
+							     (convolve-selection-with "1a.snd" .5) 
+							     (if (region? reg) (forget-region reg)))))
+			  (list 'convolve-with (lambda () 
+						 (convolve-with "1a.snd" 0.5 ind 0)))
+			  (list 'delete-mix (lambda () 
+					      (let ((mx (mix-float-vector (make-float-vector 3 .2) 123))) 
+						(if (mix? mx) (set! (mix-amp mx) 0.0)))))
+			  (list 'delete-sample (lambda () 
+						 (delete-sample 123 ind 0)))
+			  (list 'delete-samples (lambda () 
+						  (delete-samples 123 123 ind 0)))
+			  (list 'delete-selection (lambda () 
+						    (let ((reg (select-all ind 0))) 
+						      (delete-selection) 
+						      (if (region? reg) (forget-region reg)))))
+			  (list 'env-channel (lambda () 
+					       (env-channel '(0 0 1 1))))
+			  (list 'env-selection (lambda () 
+						 (let ((reg (select-all ind 0))) 
+						   (env-selection '(0 0 1 1) 1.0) 
+						   (if (region? reg) (forget-region reg)))))
+			  (list 'env-sound (lambda () 
+					     (env-sound '(0 0 1 1))))
+			  (list 'filter-sound (lambda () 
+						(filter-sound '(0 1 1 0) 1024)))
+			  (list 'filter-selection (lambda () 
+						    (let ((reg (select-all ind 0))) 
+						      (filter-selection '(0 0 1 1) 6) 
+						      (if (region? reg) (forget-region reg)))))
+			  (list 'insert-region (lambda () 
+						 (let ((reg (make-region 0 100 ind 0))) 
+						   (insert-region reg 123 ind 0) 
+						   (if (region? reg) (forget-region reg)))))
+			  (list 'insert-sample (lambda () 
+						 (insert-sample 123 .5 ind 0)))
+			  (list 'insert-samples (lambda () 
+						  (insert-samples 123 3 (make-float-vector 3 1.0) ind 0)))
+			  (list 'insert-selection (lambda () 
+						    (let ((reg (select-all ind 0))) 
+						      (insert-selection 120 ind 0) 
+						      (if (region? reg) (forget-region reg)))))
+			  (list 'insert-silence (lambda () 
+						  (insert-silence 123 456 ind 0)))
+			  (list 'insert-sound (lambda () 
+						(insert-sound "1a.snd" 123)))
+			  (list 'map-channel (lambda () 
+					       (map-channel (lambda (y) (+ y .2)))))
+			  (list 'map-channel (lambda () 
+					       (map-channel (lambda (y) (+ y .2)))))
+			  (list 'mix (lambda () 
+				       (mix "1a.snd" 123)))
+			  (list 'mix-amp (lambda () 
+					   (let ((mx (mix-float-vector (make-float-vector 3 1.0) 123))) 
+					     (if (mix? mx) (set! (mix-amp mx) .123)))))
+			  (list 'mix-amp-env (lambda () 
 					       (let ((mx (mix-float-vector (make-float-vector 3 1.0) 123))) 
-						 (if (mix? mx) (set! (mix-speed mx) .123)))))
-			    (list 'mix-region (lambda () 
-						(let ((reg (make-region 0 100 ind 0))) 
-						  (mix-region reg 123 ind 0) 
-						  (if (region? reg) (forget-region reg)))))
-			    (list 'mix-selection (lambda () 
-						   (let ((reg (select-all ind 0))) 
-						     (mix-selection 1234 ind 0) 
-						     (if (region? reg) (forget-region reg)))))
-			    (list 'mix-float-vector (lambda () 
-					     (mix-float-vector (make-float-vector 10 .3) 123)))
-			    (list 'pad-channel (lambda () 
-						 (pad-channel 123 456 ind 0)))
-			    (list 'ramp-channel (lambda () 
-						  (ramp-channel 0.0 0.5 123 456)))
-			    (list 'reverse-channel (lambda () 
-						     (reverse-channel 123 456 ind 0)))
-			    (list 'reverse-sound (lambda () 
-						   (reverse-sound ind 0)))
-			    (list 'reverse-selection (lambda () 
-						       (let ((reg (select-all ind 0))) 
-							 (reverse-selection) 
-							 (if (region? reg) (forget-region reg)))))
-			    (list 'scale-by (lambda () 
-					      (scale-by 2.0)))
-			    (list 'scale-channel (lambda () 
-						   (scale-channel .5 123 456 ind 0)))
-			    (list 'scale-selection-by (lambda () 
-							(let ((reg (select-all ind 0)))
-							  (scale-selection-by 2.0) 
-							  (if (region? reg) (forget-region reg)))))
-			    (list 'scale-selection-to (lambda () 
-							(let ((reg (select-all ind 0)))
-							  (scale-selection-to 0.5) 
-							  (if (region? reg) (forget-region reg)))))
-			    (list 'scale-to (lambda () 
-					      (scale-to 0.4)))
-			    (list 'scale-sound-to (lambda () 
-						    (scale-sound-to 0.5)))
-			    (list 'smooth-channel (lambda () 
-						    (smooth-channel 123 456 ind 0)))
-			    (list 'smooth-sound (lambda ()
-						  (smooth-sound 123 456 ind 0)))
-			    (list 'smooth-selection (lambda () 
-						      (let ((reg (select-all ind 0))) 
-							(smooth-selection)
+						 (if (mix? mx) (set! (mix-amp-env mx) '(0 0 1 1))))))
+			  (list 'mix-position (lambda () 
+						(let ((mx (mix-float-vector (make-float-vector 3 1.0) 123))) 
+						  (if (mix? mx) (set! (mix-position mx) 123)))))
+			  (list 'mix-speed (lambda () 
+					     (let ((mx (mix-float-vector (make-float-vector 3 1.0) 123))) 
+					       (if (mix? mx) (set! (mix-speed mx) .123)))))
+			  (list 'mix-region (lambda () 
+					      (let ((reg (make-region 0 100 ind 0))) 
+						(mix-region reg 123 ind 0) 
+						(if (region? reg) (forget-region reg)))))
+			  (list 'mix-selection (lambda () 
+						 (let ((reg (select-all ind 0))) 
+						   (mix-selection 1234 ind 0) 
+						   (if (region? reg) (forget-region reg)))))
+			  (list 'mix-float-vector (lambda () 
+						    (mix-float-vector (make-float-vector 10 .3) 123)))
+			  (list 'pad-channel (lambda () 
+					       (pad-channel 123 456 ind 0)))
+			  (list 'ramp-channel (lambda () 
+						(ramp-channel 0.0 0.5 123 456)))
+			  (list 'reverse-channel (lambda () 
+						   (reverse-channel 123 456 ind 0)))
+			  (list 'reverse-sound (lambda () 
+						 (reverse-sound ind 0)))
+			  (list 'reverse-selection (lambda () 
+						     (let ((reg (select-all ind 0))) 
+						       (reverse-selection) 
+						       (if (region? reg) (forget-region reg)))))
+			  (list 'scale-by (lambda () 
+					    (scale-by 2.0)))
+			  (list 'scale-channel (lambda () 
+						 (scale-channel .5 123 456 ind 0)))
+			  (list 'scale-selection-by (lambda () 
+						      (let ((reg (select-all ind 0)))
+							(scale-selection-by 2.0) 
 							(if (region? reg) (forget-region reg)))))
-			    (list 'src-channel (lambda ()
-						 (src-channel .5 123 456 ind 0)))
-			    (list 'src-sound (lambda () 
-					       (src-sound '(0 0.5 1 1))))
-			    (list 'src-selection (lambda () 
-						   (let ((reg (select-all ind 0))) 
-						     (src-selection 0.5) 
-						     (if (region? reg) (forget-region reg)))))
-			    (list 'swap-channels (lambda () 
-						   (let ((ind1 (open-sound "1a.snd"))) 
-						     (swap-channels ind 0 ind1 0)
-						     (close-sound ind1))))
-			    (list 'float-vector->channel (lambda () 
-						  (float-vector->channel (make-float-vector 3) 123 3 ind 0)))
-			    (list 'xramp-channel (lambda () 
-						   (xramp-channel .5 1.0 32.0 123 456 ind 0))))))
-      
-      (if (and (provided? 'snd-motif)
-	       (provided? 'xm))
-	  (let ((edp ((*motif* 'XtParent) ((channel-widgets ind 0) 7))))
-	    ((*motif* 'XtUnmanageChild) edp) 
-	    ((*motif* 'XtVaSetValues) edp (list (*motif* 'XmNpaneMinimum) 100)) 
-	    ((*motif* 'XtManageChild) edp)))
-      
+			  (list 'scale-selection-to (lambda () 
+						      (let ((reg (select-all ind 0)))
+							(scale-selection-to 0.5) 
+							(if (region? reg) (forget-region reg)))))
+			  (list 'scale-to (lambda () 
+					    (scale-to 0.4)))
+			  (list 'scale-sound-to (lambda () 
+						  (scale-sound-to 0.5)))
+			  (list 'smooth-channel (lambda () 
+						  (smooth-channel 123 456 ind 0)))
+			  (list 'smooth-sound (lambda ()
+						(smooth-sound 123 456 ind 0)))
+			  (list 'smooth-selection (lambda () 
+						    (let ((reg (select-all ind 0))) 
+						      (smooth-selection)
+						      (if (region? reg) (forget-region reg)))))
+			  (list 'src-channel (lambda ()
+					       (src-channel .5 123 456 ind 0)))
+			  (list 'src-sound (lambda () 
+					     (src-sound '(0 0.5 1 1))))
+			  (list 'src-selection (lambda () 
+						 (let ((reg (select-all ind 0))) 
+						   (src-selection 0.5) 
+						   (if (region? reg) (forget-region reg)))))
+			  (list 'swap-channels (lambda () 
+						 (let ((ind1 (open-sound "1a.snd"))) 
+						   (swap-channels ind 0 ind1 0)
+						   (close-sound ind1))))
+			  (list 'float-vector->channel (lambda () 
+							 (float-vector->channel (make-float-vector 3) 123 3 ind 0)))
+			  (list 'xramp-channel (lambda () 
+						 (xramp-channel .5 1.0 32.0 123 456 ind 0))))))
+    
+    (if (and (provided? 'snd-motif)
+	     (provided? 'xm))
+	(let ((edp ((*motif* 'XtParent) ((channel-widgets ind 0) 7))))
+	  ((*motif* 'XtUnmanageChild) edp) 
+	  ((*motif* 'XtVaSetValues) edp (list (*motif* 'XmNpaneMinimum) 100)) 
+	  ((*motif* 'XtManageChild) edp)))
+    
+    (let ((edit-hook-ctr 0)
+	  (after-edit-hook-ctr 0))
       (hook-push (edit-hook ind 0) 
 		 (lambda (hook) 
 		   (set! edit-hook-ctr (+ 1 edit-hook-ctr)) 
@@ -25668,165 +25516,160 @@ EDITS: 2
 	 (set! edit-hook-ctr 0)
 	 (set! after-edit-hook-ctr 0)
 	 (revert-sound ind))
-       all-tests)
-      
-      (if (and (provided? 'snd-motif)
-	       (provided? 'xm))
-	  (let ((edp ((*motif* 'XtParent) ((channel-widgets ind 0) 7))))
-	    ((*motif* 'XtUnmanageChild) edp) 
-	    ((*motif* 'XtVaSetValues) edp (list (*motif* 'XmNpaneMinimum) 1))  ; not 0 here -- Xt warnings
-	    ((*motif* 'XtManageChild) edp)))
-      
-      (close-sound ind))
+       all-tests))
     
-    (hook-push mouse-enter-text-hook
-	       (lambda (hook)
-		 (focus-widget (hook 'widget))))
-    (hook-push mouse-leave-text-hook
-	       (lambda (hook)
-		 (focus-widget (hook 'widget))))
-    (describe-hook mouse-enter-text-hook)
-    (reset-all-hooks)
-    
-    (let ((ind (open-sound "oboe.snd")))
-      (scale-by 2.0)
-      (hook-push (edit-hook ind 0) (lambda (hook) (set! (hook 'result) #t)))
-      (mix-float-vector (make-float-vector 10 .1) 0)
-      (if (not (= (edit-position ind 0) 1)) (snd-display ";mix-float-vector: blocked edit: ~A" (edit-position ind 0)))
-      (if (not (null? (mixes ind 0))) (snd-display ";mix-float-vector edit-hook: mixes: ~A" (mixes ind 0)))
-      (mix "pistol.snd" 1000)
-      (if (not (= (edit-position ind 0) 1)) (snd-display ";mix: blocked edit: ~A" (edit-position ind 0)))
-      (if (not (null? (mixes ind 0))) (snd-display ";mix edit-hook: mixes: ~A" (mixes ind 0)))
-      (set! (hook-functions (edit-hook ind 0)) ())
-      (let ((mx (mix-float-vector (make-float-vector 10 .1) 1000)))
-	(when (mix? mx) ; might be no-gui case
-	  (if (not (= (edit-position ind 0) 2)) (snd-display ";mix-float-vector: unblocked edit: ~A" (edit-position ind 0)))
-	  (if (not (equal? (mixes ind 0) (list mx))) (snd-display ";mix-float-vector un edit-hook: mixes: ~A" (mixes ind 0)))
-	  (hook-push (edit-hook ind 0) (lambda (hook) (set! (hook 'result) #t)))
-	  (set! (mix-amp mx) 2.0)
-	  (if (not (= (edit-position ind 0) 2)) (snd-display ";mix amp: blocked edit: ~A" (edit-position ind 0)))
-	  (if (fneq (mix-amp mx) 1.0) (snd-display ";mix amp: blocked edit: ~A" (mix-amp mx)))
-	  (set! (mix-amp-env mx) '(0 0 1 1 2 0))
-	  (if (not (= (edit-position ind 0) 2)) (snd-display ";mix amp env: blocked edit: ~A" (edit-position ind 0)))
-	  (if (pair? (mix-amp-env mx)) (snd-display ";mix amp env: blocked edit: ~A" (mix-amp-env mx)))
-	  (set! (mix-speed mx) 2.0)
-	  (if (not (= (edit-position ind 0) 2)) (snd-display ";mix speed: blocked edit: ~A" (edit-position ind 0)))
-	  (if (fneq (mix-speed mx) 1.0) (snd-display ";mix speed: blocked edit: ~A" (mix-speed mx)))
-	  (set! (mix-position mx) 2000)
-	  (if (not (= (edit-position ind 0) 2)) (snd-display ";mix position: blocked edit: ~A" (edit-position ind 0)))
-	  (if (not (= (mix-position mx) 1000)) (snd-display ";mix position: blocked edit: ~A" (mix-position mx)))
-	  (mix-float-vector (make-float-vector 10 .2) 0)
-	  (if (not (= (edit-position ind 0) 2)) (snd-display ";mix-float-vector 1: blocked edit: ~A" (edit-position ind 0)))
-	  (if (not (equal? (mixes ind 0) (list mx))) (snd-display ";mix-float-vector 1 edit-hook: mixes: ~A" (mixes ind 0)))
-	  ))
-      (close-sound ind))
-    
-    (let ((ind (open-sound "oboe.snd")))
-      (if (pair? (hook-functions (edit-hook ind 0))) (snd-display ";edit-hook not cleared at close?"))
-      (if (pair? (hook-functions (after-edit-hook ind 0))) (snd-display ";after-edit-hook not cleared at close?"))
-      (close-sound ind))
-    
-    (reset-all-hooks)
-    
-    ;; before|after-save-as-hook
-    (let ((hook-called #f))
-      (hook-push before-save-as-hook ; from docs
-		 (lambda (hook)
-		   (let ((index (hook 'snd))
-			 (filename (hook 'name))
-			 (sr (hook 'sampling-rate))
-			 (type (hook 'header-type))
-			 (dformat (hook 'sample-type))
-			 (comment (hook 'comment)))
-		     (if (not (= sr (srate index)))
-			 (let ((chns (chans index)))
-			   (do ((i 0 (+ i 1)))
-			       ((= i chns))
-			     (src-channel (* 1.0 (/ (srate index) sr)) 0 #f index i))
-			   (save-sound-as filename index :header-type type :sample-type dformat :srate sr :comment comment) 
-			   ;; hook won't be invoked recursively
-			   (do ((i 0 (+ i 1)))
-			       ((= i chns))
-			     (undo 1 index i))
-			   (set! hook-called #t)
-			   (set! (hook 'result) #t))))))
-      (let ((ind (open-sound "2.snd")))
-	(save-sound-as "test.snd" :srate 44100)
-	(if (not (= (edit-position ind 0) 0)) (snd-display ";before-save-as-hook undo: ~A" (edit-position ind 0)))
-	(if (not hook-called) (snd-display ";before-save-as-hook not called?"))
-	(close-sound ind)
-	(set! ind (open-sound "test.snd"))
-	(if (not (= (srate ind) 44100)) (snd-display ";before-save-as-hook src: ~A" (srate ind)))
-	(close-sound ind))
-      (set! (hook-functions before-save-as-hook) ()))
+    (if (and (provided? 'snd-motif)
+	     (provided? 'xm))
+	(let ((edp ((*motif* 'XtParent) ((channel-widgets ind 0) 7))))
+	  ((*motif* 'XtUnmanageChild) edp) 
+	  ((*motif* 'XtVaSetValues) edp (list (*motif* 'XmNpaneMinimum) 1))  ; not 0 here -- Xt warnings
+	  ((*motif* 'XtManageChild) edp)))
     
-    (let ((need-save-as-undo #f))
-      (hook-push before-save-as-hook
-		 (lambda (hook)
-		   (let ((index (hook 'snd))
-			 ;(filename (hook 'name))
-			 ;(selection (hook 'selection))
-			 (sr (hook 'sampling-rate))
-			 ;(type (hook 'header-type))
-			 ;(dformat (hook 'sample-type))
-			 ;(comment (hook 'comment))
-			 )
-		     (set! need-save-as-undo #f)
-		     (if (not (= sr (srate index)))
-			 (begin
-			   (src-sound (* 1.0 (/ (srate index) sr)) 1.0 index)
-			   (set! need-save-as-undo #t))))))
-      (hook-push after-save-as-hook
-		 (lambda (hook)
-		   (if need-save-as-undo (undo)))))
-    (let ((ind (open-sound "oboe.snd")))
+    (close-sound ind))
+  
+  (hook-push mouse-enter-text-hook
+	     (lambda (hook)
+	       (focus-widget (hook 'widget))))
+  (hook-push mouse-leave-text-hook
+	     (lambda (hook)
+	       (focus-widget (hook 'widget))))
+  (describe-hook mouse-enter-text-hook)
+  (reset-all-hooks)
+  
+  (let ((ind (open-sound "oboe.snd")))
+    (scale-by 2.0)
+    (hook-push (edit-hook ind 0) (lambda (hook) (set! (hook 'result) #t)))
+    (mix-float-vector (make-float-vector 10 .1) 0)
+    (if (not (= (edit-position ind 0) 1)) (snd-display ";mix-float-vector: blocked edit: ~A" (edit-position ind 0)))
+    (if (not (null? (mixes ind 0))) (snd-display ";mix-float-vector edit-hook: mixes: ~A" (mixes ind 0)))
+    (mix "pistol.snd" 1000)
+    (if (not (= (edit-position ind 0) 1)) (snd-display ";mix: blocked edit: ~A" (edit-position ind 0)))
+    (if (not (null? (mixes ind 0))) (snd-display ";mix edit-hook: mixes: ~A" (mixes ind 0)))
+    (set! (hook-functions (edit-hook ind 0)) ())
+    (let ((mx (mix-float-vector (make-float-vector 10 .1) 1000)))
+      (when (mix? mx) ; might be no-gui case
+	(if (not (= (edit-position ind 0) 2)) (snd-display ";mix-float-vector: unblocked edit: ~A" (edit-position ind 0)))
+	(if (not (equal? (mixes ind 0) (list mx))) (snd-display ";mix-float-vector un edit-hook: mixes: ~A" (mixes ind 0)))
+	(hook-push (edit-hook ind 0) (lambda (hook) (set! (hook 'result) #t)))
+	(set! (mix-amp mx) 2.0)
+	(if (not (= (edit-position ind 0) 2)) (snd-display ";mix amp: blocked edit: ~A" (edit-position ind 0)))
+	(if (fneq (mix-amp mx) 1.0) (snd-display ";mix amp: blocked edit: ~A" (mix-amp mx)))
+	(set! (mix-amp-env mx) '(0 0 1 1 2 0))
+	(if (not (= (edit-position ind 0) 2)) (snd-display ";mix amp env: blocked edit: ~A" (edit-position ind 0)))
+	(if (pair? (mix-amp-env mx)) (snd-display ";mix amp env: blocked edit: ~A" (mix-amp-env mx)))
+	(set! (mix-speed mx) 2.0)
+	(if (not (= (edit-position ind 0) 2)) (snd-display ";mix speed: blocked edit: ~A" (edit-position ind 0)))
+	(if (fneq (mix-speed mx) 1.0) (snd-display ";mix speed: blocked edit: ~A" (mix-speed mx)))
+	(set! (mix-position mx) 2000)
+	(if (not (= (edit-position ind 0) 2)) (snd-display ";mix position: blocked edit: ~A" (edit-position ind 0)))
+	(if (not (= (mix-position mx) 1000)) (snd-display ";mix position: blocked edit: ~A" (mix-position mx)))
+	(mix-float-vector (make-float-vector 10 .2) 0)
+	(if (not (= (edit-position ind 0) 2)) (snd-display ";mix-float-vector 1: blocked edit: ~A" (edit-position ind 0)))
+	(if (not (equal? (mixes ind 0) (list mx))) (snd-display ";mix-float-vector 1 edit-hook: mixes: ~A" (mixes ind 0)))
+	))
+    (close-sound ind))
+  
+  (let ((ind (open-sound "oboe.snd")))
+    (if (pair? (hook-functions (edit-hook ind 0))) (snd-display ";edit-hook not cleared at close?"))
+    (if (pair? (hook-functions (after-edit-hook ind 0))) (snd-display ";after-edit-hook not cleared at close?"))
+    (close-sound ind))
+  
+  (reset-all-hooks)
+  
+  ;; before|after-save-as-hook
+  (let ((hook-called #f))
+    (hook-push before-save-as-hook ; from docs
+	       (lambda (hook)
+		 (let ((index (hook 'snd))
+		       (filename (hook 'name))
+		       (sr (hook 'sampling-rate))
+		       (type (hook 'header-type))
+		       (dformat (hook 'sample-type))
+		       (comment (hook 'comment)))
+		   (if (not (= sr (srate index)))
+		       (let ((chns (chans index)))
+			 (do ((i 0 (+ i 1)))
+			     ((= i chns))
+			   (src-channel (* 1.0 (/ (srate index) sr)) 0 #f index i))
+			 (save-sound-as filename index :header-type type :sample-type dformat :srate sr :comment comment) 
+			 ;; hook won't be invoked recursively
+			 (do ((i 0 (+ i 1)))
+			     ((= i chns))
+			   (undo 1 index i))
+			 (set! hook-called #t)
+			 (set! (hook 'result) #t))))))
+    (let ((ind (open-sound "2.snd")))
       (save-sound-as "test.snd" :srate 44100)
-      (if (not (= (edit-position ind 0) 0)) (snd-display ";after-save-as-hook undo: ~A" (edit-position ind 0)))
+      (if (not (= (edit-position ind 0) 0)) (snd-display ";before-save-as-hook undo: ~A" (edit-position ind 0)))
+      (if (not hook-called) (snd-display ";before-save-as-hook not called?"))
       (close-sound ind)
       (set! ind (open-sound "test.snd"))
-      (if (not (= (srate ind) 44100)) (snd-display ";before|after-save-as-hook src: ~A" (srate ind)))
+      (if (not (= (srate ind) 44100)) (snd-display ";before-save-as-hook src: ~A" (srate ind)))
       (close-sound ind))
-    (set! (hook-functions before-save-as-hook) ())
-    (set! (hook-functions after-save-as-hook) ())
-    
-    (let ((old-clip *clipping*)
-	  (old-mus-clip (mus-clipping)))
-      (set! *clipping* #t)
-      (set! (mus-clipping) #t)
-      (set! (hook-functions clip-hook) ())
-      
-      (let ((index (new-sound "test.snd" 1 22050 mus-ldouble mus-next "clip-hook test" 10)))
-	(map-channel (lambda (y) (mus-random 0.999))) ; -amp to amp
-	(set! (sample 2) 1.0001)
-	(set! (sample 4) -1.0)
-	(set! (sample 6) 1.5)
-	(set! (sample 8) -1.5)
-	(let ((hook-called 0)
-	      (vals (channel->float-vector 0 10 index)))
-	  (hook-push clip-hook (lambda (hook)
-				 (let ((val (hook 'val)))
-				   (if (and (fneq val 1.0)
-					    (fneq val 1.5)
-					    (fneq val -1.5))
-				       (snd-display ";clip-hook called upon: ~A" val))
-				   (set! hook-called (+ 1 hook-called))
-				   (set! (hook 'result) 0.0))))
-	  (save-sound index)
-	  (set! (hook-functions clip-hook) ())
-	  (if (not (= hook-called 3)) (snd-display ";clip-hook called ~A times" hook-called))
-	  (close-sound index)
-	  (set! index (open-sound "test.snd"))
-	  (let ((new-vals (channel->float-vector 0 10 index))
-		(fixed-vals (copy vals)))
-	    (set! (fixed-vals 2) 0.0)
-	    (set! (fixed-vals 6) 0.0)
-	    (set! (fixed-vals 8) 0.0)
-	    (if (not (mus-arrays-equal? fixed-vals new-vals))
-		(snd-display ";clip-hook results:~%    ~A~%    ~A~%    ~A" new-vals fixed-vals vals)))
-	  (close-sound index)))
-      (set! *clipping* old-clip)
-      (set! (mus-clipping) old-mus-clip))
-    ))
+    (set! (hook-functions before-save-as-hook) ()))
+  
+  (let ((need-save-as-undo #f))
+    (hook-push before-save-as-hook
+	       (lambda (hook)
+		 (let ((index (hook 'snd))
+					;(filename (hook 'name))
+					;(selection (hook 'selection))
+		       (sr (hook 'sampling-rate))
+					;(type (hook 'header-type))
+					;(dformat (hook 'sample-type))
+					;(comment (hook 'comment))
+		       )
+		   (set! need-save-as-undo #f)
+		   (if (not (= sr (srate index)))
+		       (begin
+			 (src-sound (* 1.0 (/ (srate index) sr)) 1.0 index)
+			 (set! need-save-as-undo #t))))))
+    (hook-push after-save-as-hook
+	       (lambda (hook)
+		 (if need-save-as-undo (undo)))))
+  (let ((ind (open-sound "oboe.snd")))
+    (save-sound-as "test.snd" :srate 44100)
+    (if (not (= (edit-position ind 0) 0)) (snd-display ";after-save-as-hook undo: ~A" (edit-position ind 0)))
+    (close-sound ind)
+    (set! ind (open-sound "test.snd"))
+    (if (not (= (srate ind) 44100)) (snd-display ";before|after-save-as-hook src: ~A" (srate ind)))
+    (close-sound ind))
+  (set! (hook-functions before-save-as-hook) ())
+  (set! (hook-functions after-save-as-hook) ())
+  
+  (let-temporarily ((*clipping* #t)
+		    ((mus-clipping) #t))
+    (set! (hook-functions clip-hook) ())
+    (let ((index (new-sound "test.snd" 1 22050 mus-ldouble mus-next "clip-hook test" 10)))
+      (map-channel (lambda (y) (mus-random 0.999))) ; -amp to amp
+      (set! (sample 2) 1.0001)
+      (set! (sample 4) -1.0)
+      (set! (sample 6) 1.5)
+      (set! (sample 8) -1.5)
+      (let ((hook-called 0)
+	    (vals (channel->float-vector 0 10 index)))
+	(hook-push clip-hook (lambda (hook)
+			       (let ((val (hook 'val)))
+				 (if (and (fneq val 1.0)
+					  (fneq val 1.5)
+					  (fneq val -1.5))
+				     (snd-display ";clip-hook called upon: ~A" val))
+				 (set! hook-called (+ 1 hook-called))
+				 (set! (hook 'result) 0.0))))
+	(save-sound index)
+	(set! (hook-functions clip-hook) ())
+	(if (not (= hook-called 3)) (snd-display ";clip-hook called ~A times" hook-called))
+	(close-sound index)
+	(set! index (open-sound "test.snd"))
+	(let ((new-vals (channel->float-vector 0 10 index))
+	      (fixed-vals (copy vals)))
+	  (set! (fixed-vals 2) 0.0)
+	  (set! (fixed-vals 6) 0.0)
+	  (set! (fixed-vals 8) 0.0)
+	  (if (not (mus-arrays-equal? fixed-vals new-vals))
+	      (snd-display ";clip-hook results:~%    ~A~%    ~A~%    ~A" new-vals fixed-vals vals)))
+	(close-sound index))))
+  )))
 
 
 
@@ -25839,16 +25682,14 @@ EDITS: 2
   (let ((documentation "make-region with error checks"))
     (lambda (snd) ; used in test_15 also
       (let ((len (framples snd))
-	    (old-choice *selection-creates-region*)
 	    (beg 1000)
 	    (end 2000))
-	(set! *selection-creates-region* #t)
-	(if (> len 1)
-	    (make-selection (if (< end len)
-				(values beg end)
-				(values (if (< beg len) beg 0) (- len 1)))
-			    snd))
-	(set! *selection-creates-region* old-choice)))))
+	(let-temporarily ((*selection-creates-region* #t))
+	  (if (> len 1)
+	      (make-selection (if (< end len)
+				  (values beg end)
+				  (values (if (< beg len) beg 0) (- len 1)))
+			      snd)))))))
   
 (define (flatten lst)
   (cond ((null? lst) ())
@@ -25878,127 +25719,96 @@ EDITS: 2
 					 (reverse (sounds)))
 					(list sndlist chnlist))))))
 	  (snd-display ";test-channel ~A: ~A ~A?" name val (apply map func (all-chans))))))
-
-  (let* ((duration (lambda (ind) 
-		     (/ (framples ind) (srate ind))))
-	 (cur-dir-files (remove-if 
-			 (lambda (file) 
-			   (<= (catch #t 
-				 (lambda () 
-				   (let ((len (mus-sound-framples file))
-					 (chns (mus-sound-chans file)))
-				     (if (or (> len 80000)
-					     (> chns 2))
-					 -1 len)))
-				 (lambda args 0))
-			       0))
-			 (sound-files-in-directory ".")))
-	 (cur-dir-len (length cur-dir-files))
-	 (stereo-files ())
-	 (quad-files ())
-	 (mono-files ())
-	 (octo-files ())
-	 (open-files ())
-	 (s8-snd (if (file-exists? "s8.snd") "s8.snd" "oboe.snd"))
-	 (open-ctr 0))
-
-    (define* (clone-sound-as new-name snd)
-      ;; copies any edit-sounds to save-dir!
-      (let* ((tmpf (snd-tempnam))
-	     (scm (string-append (substring tmpf 0 (- (length tmpf) 3)) "scm")))
-	(let ((oldsnd (or snd (selected-sound))))
-	  (if (not (string? *save-dir*)) (set! *save-dir* "/tmp"))
-	  (save-edit-history scm oldsnd)
-	  (copy-file (file-name oldsnd) new-name))
-	(set! sfile (open-sound new-name))
-	(load scm)
-	(delete-file scm)
-	sfile))
-    
-    
-    (hook-push after-open-hook (lambda (hook)
-				 (set! (hook 'result) (make-player (hook 'snd) 0))))
-    (do ((i 0 (+ i 1)))
-	((= i cur-dir-len))
-      (let* ((name (cur-dir-files i))
-	     (ht (mus-sound-header-type name))
-	     (df (mus-sound-sample-type name))
-	     (len (mus-sound-framples name))
-	     (chans (mus-sound-chans name)))
-	(if (not (or (= ht mus-raw)
-		     (= len 0)
-		     (= df -1)))
-	    (case chans
-	      ((1) (set! mono-files (cons name mono-files)))
-	      ((2) (set! stereo-files (cons name stereo-files)))
-	      ((4) (set! quad-files (cons name quad-files)))
-	      ((8) (set! octo-files (cons name octo-files)))))))
-    
-    (do ((test-ctr 0 (+ 1 test-ctr)))
-	((= test-ctr tests))
-      (if (> (length open-files) 8)
-	  (begin
-	    (for-each close-sound open-files)
-	    (set! open-files ()))
-	  (if (> test-ctr 0)
-	      (for-each
-	       (lambda (snd)
-		 (let ((mxpos (edit-position snd 0))
-		       (chns (chans snd)))
-		   (if (> chns 1)
-		       (do ((chn 1 (+ chn 1)))
-			   ((= chn chns))
-			 (set! mxpos (+ mxpos (edit-position snd chn)))))
-		   (if (or (> mxpos 100) (> chns 4))
-		       (begin
-			 (snd-display ";revert ~A at ~A" (file-name snd) mxpos)
-			 (revert-sound snd)))))
-	       (sounds))))
-      (log-mem test-ctr)
-      
-      (if (> 10 test-ctr 0)  ; this creates too many leftover save-state sound files
-	  (let ((files (length (sounds))))
-	    (if (file-exists? "s61.scm") (delete-file "s61.scm"))
+  
+  (define* (clone-sound-as new-name snd)
+    ;; copies any edit-sounds to save-dir!
+    (let ((scm (let ((tmpf (snd-tempnam)))
+		 (string-append (substring tmpf 0 (- (length tmpf) 3)) "scm"))))
+      (let ((oldsnd (or snd (selected-sound))))
+	(if (not (string? *save-dir*)) (set! *save-dir* "/tmp"))
+	(save-edit-history scm oldsnd)
+	(copy-file (file-name oldsnd) new-name))
+      (set! sfile (open-sound new-name))
+      (load scm)
+      (delete-file scm)
+      sfile))
+  
+  (hook-push after-open-hook (lambda (hook)
+			       (set! (hook 'result) (make-player (hook 'snd) 0))))
+  (do ((open-files ())
+       (cur-dir-files (test-remove-if 
+		       (lambda (file)
+			 (catch #t
+			   (lambda ()
+			     (not (and (<= 0 (mus-sound-framples file) 80000)
+				       (<= 1 (mus-sound-chans file) 2))))
+			   (lambda args #t)))
+		       (sound-files-in-directory ".")))
+       (test-ctr 0 (+ 1 test-ctr)))
+      ((= test-ctr tests))
+    (if (> (length open-files) 8)
+	(begin
+	  (for-each close-sound open-files)
+	  (set! open-files ()))
+	(if (> test-ctr 0)
 	    (for-each
-	     (lambda (s)
-	       (if (> (chans s) 4)
-		   (begin
-		     (set! open-files (remove-if (lambda (a) (= a s)) open-files))
-		     (close-sound s))))
-	     (sounds))
-	    (save-state "s61.scm")
-	    (for-each close-sound (sounds))
-	    (for-each forget-region (regions))
-	    (catch #t
-		   (lambda ()
-		     (load (string-append cwd "s61.scm")))
-		   (lambda args args))
-	    (if (not (= (length (sounds)) files))
-		(snd-display ";save state restart from ~A to ~A sounds?" files (length (sounds))))
-	    (set! open-files (sounds))))
-      
-      (let* ((name (cur-dir-files (random cur-dir-len)))
-	     (fd (if (or (= (mus-sound-header-type name) mus-raw) 
-			 (= (mus-sound-sample-type name) -1))
-		     -1 
-		     (view-sound name))))
-	(if (and (number? fd)
-		 (not (= fd -1)))
-	    (set! open-files (cons fd open-files))))
-      
-      (set! open-ctr (length open-files))
-      (if (= open-ctr 0)
-	  (let ((fd (view-sound "1a.snd")))
-	    (set! open-ctr 1)
-	    (set! open-files (cons fd open-files))))
-      
-      (let ((choose-fd (lambda () 
-			 (if (zero? test-ctr) ; I think randomness here is messing up my timing comparisons
-			     (or (find-sound "1a.snd") (open-sound "1a.snd"))
-			     ((sounds) (random (length (sounds))))))))
-	(let* ((curfd (choose-fd))
-	       (curloc (max 0 (min 1200 (framples curfd 0))))
-	       (old-marks (length (marks curfd 0))))
+	     (lambda (snd)
+	       (let ((mxpos (edit-position snd 0))
+		     (chns (chans snd)))
+		 (if (> chns 1)
+		     (do ((chn 1 (+ chn 1)))
+			 ((= chn chns))
+		       (set! mxpos (+ mxpos (edit-position snd chn)))))
+		 (if (or (> mxpos 100) (> chns 4))
+		     (begin
+		       (snd-display ";revert ~A at ~A" (file-name snd) mxpos)
+		       (revert-sound snd)))))
+	     (sounds))))
+    (log-mem test-ctr)
+    
+    (if (> 10 test-ctr 0)  ; this creates too many leftover save-state sound files
+	(let ((files (length (sounds))))
+	  (if (file-exists? "s61.scm") (delete-file "s61.scm"))
+	  (for-each
+	   (lambda (s)
+	     (if (> (chans s) 4)
+		 (begin
+		   (set! open-files (test-remove-if (lambda (a) (= a s)) open-files))
+		   (close-sound s))))
+	   (sounds))
+	  (save-state "s61.scm")
+	  (for-each close-sound (sounds))
+	  (for-each forget-region (regions))
+	  (catch #t
+	    (lambda ()
+	      (load (string-append cwd "s61.scm")))
+	    (lambda args args))
+	  (if (not (= (length (sounds)) files))
+	      (snd-display ";save state restart from ~A to ~A sounds?" files (length (sounds))))
+	  (set! open-files (sounds))))
+    
+    (let ((fd (let ((name (cur-dir-files (random (length cur-dir-files)))))
+		(if (or (= (mus-sound-header-type name) mus-raw) 
+			(= (mus-sound-sample-type name) -1))
+		    -1 
+		    (view-sound name)))))
+      (if (and (number? fd)
+	       (not (= fd -1)))
+	  (set! open-files (cons fd open-files))))
+    
+    (if (null? open-files)
+	(set! open-files (list (view-sound "1a.snd"))))
+    
+    (let ((choose-fd (lambda () 
+		       (if (zero? test-ctr) ; I think randomness here is messing up my timing comparisons
+			   (or (find-sound "1a.snd") (open-sound "1a.snd"))
+			   ((sounds) (random (length (sounds))))))))
+      (let ((curfd (choose-fd)))
+	(let ((curloc (max 0 (min 1200 (framples curfd 0))))
+	      (old-marks (length (marks curfd 0)))
+	      (duration (lambda (ind) 
+			  (/ (framples ind) (srate ind)))))
+	  
 	  (if (> (duration curfd) 0.0)
 	      (begin
 		(set! (x-bounds curfd) (list 0.0 (min (duration curfd) 1.0)))
@@ -26022,23 +25832,23 @@ EDITS: 2
 	  (if (>= curloc (framples curfd 0)) (set! curloc 0))
 	  (let ((id (catch #t (lambda () (add-mark curloc curfd)) (lambda args -1))))
 	    (when (and (number? id) (not (= id -1)))
+	      (let ((cl (mark-sample id))
+		    (new-marks (length (marks curfd 0))))
+		(if (not (= cl curloc)) (snd-display ";mark ~A is not ~A?" cl curloc))
+		(if (not (= new-marks (+ 1 old-marks))) (snd-display ";marks ~A ~A?" new-marks old-marks)))
+	      (let ((new-id (find-mark curloc curfd)))
+		(if (not (and (mark? new-id)
+			      (= id new-id)))
+		    (snd-display ";find-mark (by sample): ~A ~A (~A for ~A ~A)?" 
+				 id new-id curloc (mark-sample id) (mark-sample new-id))))
+	      (set! (mark-name id) "hiho")
+	      (let ((new-id (find-mark "hiho" curfd)))
+		(if (not (and (mark? new-id)
+			      (= id new-id)))
+		    (snd-display ";find-mark (by name): ~A ~A?" id new-id)))
+	      (if (not (string=? (mark-name id) "hiho")) (snd-display ";mark name: ~A?" (mark-name id)))
+	      (set! (mark-sample id) (max 0 (- curloc 100)))
 	      (let ((cl (mark-sample id)))
-		(let ((new-marks (length (marks curfd 0))))
-		  (if (not (= cl curloc)) (snd-display ";mark ~A is not ~A?" cl curloc))
-		  (if (not (= new-marks (+ 1 old-marks))) (snd-display ";marks ~A ~A?" new-marks old-marks)))
-		(let ((new-id (find-mark curloc curfd)))
-		  (if (not (and (mark? new-id)
-				(= id new-id)))
-		      (snd-display ";find-mark (by sample): ~A ~A (~A for ~A ~A)?" 
-				   id new-id curloc (mark-sample id) (mark-sample new-id))))
-		(set! (mark-name id) "hiho")
-		(let ((new-id (find-mark "hiho" curfd)))
-		  (if (not (and (mark? new-id)
-				(= id new-id)))
-		      (snd-display ";find-mark (by name): ~A ~A?" id new-id)))
-		(if (not (string=? (mark-name id) "hiho")) (snd-display ";mark name: ~A?" (mark-name id)))
-		(set! (mark-sample id) (max 0 (- curloc 100)))
-		(set! cl (mark-sample id))
 		(if (not (= cl (max 0 (- curloc 100)))) (snd-display ";set mark ~A is not ~A?" cl curloc))
 		(delete-mark id)))
 	    (if (> (duration curfd) 1.2) (set! (x-bounds curfd) '(1.0 1.1)))
@@ -26055,196 +25865,196 @@ EDITS: 2
 		    (set! (y-bounds curfd) '(-1.0 1.0))
 		    (if (or (> (length (marks curfd 0)) 0)
 			    (not (= new-marks (+ old-marks 3))))
-			(snd-display ";delete marks: ~A ~A?" new-marks old-marks)))))
-	    ))
-	
-	(revert-sound)
-	(let-temporarily ((*selection-creates-region* #t))
-	  (let ((reg (select-all)))
-	    (without-errors
-	     (if (and (region? reg) 
-		      (selection?))
-		 (let ((r1 (region-rms (car (regions))))
-		       (r2 (selection-rms)))
-		   (if (fneq r1 r2)
-		       (snd-display ";region rms: ~A?" r1)))))))
-	
-	(without-errors (if (region? (cadr (regions))) (play (cadr (regions)) :wait #t)))
-	(without-errors (mix-region (car (regions))))
-	(if (< (framples) 100000) (play :wait #t))
-	(scale-to .1 (choose-fd))
-	(scale-by 2.0 (choose-fd))
-	(save-controls)
-	(set! (amp-control) .5)
-	(test-panel amp-control 'amp-control)
-	(restore-controls)
-	(status-report "hi")
-	
-	(without-errors
-	 (begin
-	   (let ((cfd (choose-fd)))
-	     (safe-make-selection cfd)
-	     (src-selection .5)
-	     (undo 1 cfd))
-	   (let ((cfd (choose-fd)))
-	     (safe-make-selection cfd)
-	     (src-selection -1.5)
-	     (undo 1 cfd))
-	   (let ((cfd (choose-fd)))
-	     (safe-make-selection cfd)
-	     (scale-selection-by .5)
-	     (undo 1 cfd))
-	   (let ((cfd (choose-fd)))
-	     (safe-make-selection cfd)
-	     (env-selection '(0 0 1 1 2 0))
-	     (undo 1 cfd))
-	   (let ((cfd (choose-fd)))
-	     (safe-make-selection cfd)
-	     (scale-selection-to .5)
-	     (reverse-selection)
-	     (undo 2 cfd))
-	   (if (> (length (regions)) 2) (forget-region ((regions) 2)))))
-	(for-each revert-sound open-files)
-	
-	(without-errors
-	 (let ((cfd (car open-files)))
-	   (set! (sync cfd) 1)
-	   (if (pair? (cdr open-files)) (set! (sync (cadr open-files)) 1))
+			(snd-display ";delete marks: ~A ~A?" new-marks old-marks))))))))
+      
+      (revert-sound)
+      (let-temporarily ((*selection-creates-region* #t))
+	(let ((reg (select-all)))
+	  (without-errors
+	   (if (and (region? reg) 
+		    (selection?))
+	       (let ((r1 (region-rms (car (regions))))
+		     (r2 (selection-rms)))
+		 (if (fneq r1 r2)
+		     (snd-display ";region rms: ~A?" r1)))))))
+      
+      (without-errors (if (region? (cadr (regions))) (play (cadr (regions)) :wait #t)))
+      (without-errors (mix-region (car (regions))))
+      (if (< (framples) 100000) (play :wait #t))
+      (scale-to .1 (choose-fd))
+      (scale-by 2.0 (choose-fd))
+      (save-controls)
+      (set! (amp-control) .5)
+      (test-panel amp-control 'amp-control)
+      (restore-controls)
+      (status-report "hi")
+      
+      (without-errors
+       (begin
+	 (let ((cfd (choose-fd)))
 	   (safe-make-selection cfd)
 	   (src-selection .5)
-	   (undo 1 cfd)
+	   (undo 1 cfd))
+	 (let ((cfd (choose-fd)))
 	   (safe-make-selection cfd)
 	   (src-selection -1.5)
-	   (undo 1 cfd)
-	   (safe-make-selection cfd)
-	   (env-selection '(0 0 1 1 2 0))
-	   (undo 1 cfd)
+	   (undo 1 cfd))
+	 (let ((cfd (choose-fd)))
 	   (safe-make-selection cfd)
-	   (reverse-selection)
-	   (undo 1 cfd)
-	   (safe-make-selection cfd)
-	   (filter-selection '(0 0 .1 1 1 0) 40)
-	   (undo 1 cfd)
-	   (safe-make-selection cfd)
-	   (convolve-selection-with "oboe.snd")
-	   (undo 1 cfd)
+	   (scale-selection-by .5)
+	   (undo 1 cfd))
+	 (let ((cfd (choose-fd)))
 	   (safe-make-selection cfd)
-	   (smooth-selection)
-	   (undo 1 cfd)
+	   (env-selection '(0 0 1 1 2 0))
+	   (undo 1 cfd))
+	 (let ((cfd (choose-fd)))
 	   (safe-make-selection cfd)
-	   (scale-selection-by .5)
-	   (undo 1 cfd)
 	   (scale-selection-to .5)
 	   (reverse-selection)
-	   (undo 2)
-	   (src-selection '(0 .5 1 1))
-	   (undo)
-	   (revert-sound cfd)
-	   (if (pair? (cdr open-files)) (revert-sound (cadr open-files)))))
-	
-	(when (> 10000 (framples) 1)
-	  (make-region 0 (framples))
-	  (convolve-selection-with "fyow.snd" .5)
-	  (play :wait #t)
-	  (convolve-with "fyow.snd" .25))
-	(insert-sound "oboe.snd")
-	(set! (hook-functions graph-hook) ())
-	(set! (hook-functions after-transform-hook) ())
-	(for-each revert-sound open-files)
-	
-	(let ((ind (choose-fd)))
-	  (select-sound ind)
-	  (for-each
-	   (lambda (func func1)
-	     (pad-channel 0 100 ind 0)
-	     (func 0)
-	     (pad-channel 0 100 ind 0)
-	     (func1 0)
-	     (revert-sound ind)
-	     (if (> (chans ind) 1)
-		 (begin
-		   (pad-channel 0 100 ind 1)
-		   (func 0)
-		   (pad-channel 0 100 ind 1)
-		   (func1 0)
-		   (revert-sound ind)))
-	     (delete-samples 0 1000 ind 0)
-	     (func (* 2 (framples ind 0)))
-	     (delete-samples 0 10000 ind 0)
-	     (func1 (* 2 (framples ind 0)))
-	     (revert-sound ind)
-	     (if (> (chans ind) 1)
-		 (begin
-		   (delete-samples 0 1000 ind 1)
-		   (func (* 2 (framples ind 1)))
-		   (delete-samples 0 10000 ind 1)
-		   (func1 (* 2 (framples ind 1)))
-		   (revert-sound ind))))
-	   (list (lambda (beg) (insert-sound "2a.snd" beg))
-		 (lambda (beg) (reverse-sound))
-		 (lambda (beg) (if (< (framples ind) 10000) (convolve-with "2a.snd" 0.5) (scale-by 2.0)))
-		 (lambda (beg) (env-sound '(0 0 1 1 2 0)))
-		 (lambda (beg) (smooth-sound)))
-	   (list (lambda (beg) (insert-sound "4a.snd" beg))
-		 (lambda (beg) (reverse-sound))
-		 (lambda (beg) (src-sound 2.0))
-		 (lambda (beg) (env-sound '(0 0 1 1)))
-		 (lambda (beg) (insert-silence beg 100)))))
-	
-	(let ((ind (open-sound "z.snd")))
-	  (if (not (= (framples ind) 0)) (snd-display ";framples z.snd ~A" (framples ind)))
-	  (if (samples) (snd-display ";samples of empty file (z): ~A" (samples)))
-	  (if (channel->float-vector) (snd-display ";channel->float-vector of empty file (z): ~A" (channel->float-vector)))
-	  (if (fneq (maxamp ind) 0.0) (snd-display ";maxamp z.snd ~A" (maxamp ind)))
-	  (if (fneq (sample 100 ind) 0.0) (snd-display ";sample 100 z.snd ~A" (sample 100 ind)))
-	  (scale-by 2.0)
-	  (if (not (= (edit-position ind 0) 0)) (snd-display ";scale z: ~A" (edit-position ind 0)))
-	  (env-sound '(0 0 1 1))
-	  (if (not (= (edit-position ind 0) 0)) (snd-display ";env z: ~A" (edit-position ind 0)))
-	  (smooth-sound)
-	  (if (not (= (edit-position ind 0) 0)) (snd-display ";smooth z: ~A" (edit-position ind 0)))
-	  (reverse-sound)
-	  (if (not (= (edit-position ind 0) 0)) (snd-display ";reverse z: ~A" (edit-position ind 0)))
-	  (src-sound 2.0)
-	  (if (not (= (edit-position ind 0) 0)) (snd-display ";src z: ~A" (edit-position ind 0)))
-	  (insert-sound "z.snd")
-	  (if (not (= (edit-position ind 0) 0)) (snd-display ";insert z: ~A" (edit-position ind 0)))
-	  (mix "z.snd")
-	  (if (not (= (edit-position ind 0) 0)) (snd-display ";mix z: ~A" (edit-position ind 0)))
-	  (filter-sound (make-one-zero :a0 2.0 :a1 0.0))
-	  (if (not (= (edit-position ind 0) 0)) (snd-display ";filter z: ~A" (edit-position ind 0)))
-	  (if (not (= (mus-sound-duration "z.snd") 0.0)) (snd-display ";duration z.snd: ~A" (mus-sound-duration "z.snd")))
-	  (catch 'IO-error
-	    (lambda () (convolve-with "z.snd" 1.0))
-	    (lambda args args))
-	  (if (not (= (edit-position ind 0) 0)) (snd-display ";convolve z: ~A" (edit-position ind 0)))
-	  (let ((matches (count-matches (lambda (y) (> y .1)))))
-	    (if (and (integer? matches) (> matches 0))
-		(snd-display ";count z: ~A" matches)))
-	  (let* ((reader (make-sampler 0))
-		 (val (next-sample reader))
-		 (str (format #f "~A" reader)))
-	    (if (fneq val 0.0) (snd-display ";sampler z.snd: ~A" val))
-	    (if (not (string? str)) (snd-display ";z.snd reader: ~A" str)))
-	  (if (not (equal? (cursor-position) '(0 0))) (snd-display ";cursor-position z: ~A" (cursor-position)))
-	  (if (not (= (cursor) 0)) (snd-display ";cursor z: ~A" (cursor)))
-	  (let ((outer (make-player ind 0)))
-	    (let ((pl (make-player ind 0)))
-	      (add-player pl)
-	      (start-playing 1 22050 #f))
-	    (revert-sound ind)
-	    (set! (transform-graph? ind 0) #t)
-	    (hook-push lisp-graph-hook display-energy)
-	    (set! (x-bounds) (list 0.0 .01))
-	    (set! (sample 0) 0.5)
-	    (set! (x-bounds) (list 0.0 .001))
-	    (close-sound ind)
-	    (let ((tag (catch #t (lambda () (add-player outer)) (lambda args (car args)))))
-	      (if (not (eq? tag 'no-such-player))
-		  (snd-display ";dangling player: ~A" tag)))))
-	(if (channel-amp-envs "z.snd" 0 100)
-	    (snd-display ";channel-amp-envs of empty file: ~A" (channel-amp-envs "z.snd" 0 100)))
-	
+	   (undo 2 cfd))
+	 (if (> (length (regions)) 2) (forget-region ((regions) 2)))))
+      (for-each revert-sound open-files)
+      
+      (without-errors
+       (let ((cfd (car open-files)))
+	 (set! (sync cfd) 1)
+	 (if (pair? (cdr open-files)) (set! (sync (cadr open-files)) 1))
+	 (safe-make-selection cfd)
+	 (src-selection .5)
+	 (undo 1 cfd)
+	 (safe-make-selection cfd)
+	 (src-selection -1.5)
+	 (undo 1 cfd)
+	 (safe-make-selection cfd)
+	 (env-selection '(0 0 1 1 2 0))
+	 (undo 1 cfd)
+	 (safe-make-selection cfd)
+	 (reverse-selection)
+	 (undo 1 cfd)
+	 (safe-make-selection cfd)
+	 (filter-selection '(0 0 .1 1 1 0) 40)
+	 (undo 1 cfd)
+	 (safe-make-selection cfd)
+	 (convolve-selection-with "oboe.snd")
+	 (undo 1 cfd)
+	 (safe-make-selection cfd)
+	 (smooth-selection)
+	 (undo 1 cfd)
+	 (safe-make-selection cfd)
+	 (scale-selection-by .5)
+	 (undo 1 cfd)
+	 (scale-selection-to .5)
+	 (reverse-selection)
+	 (undo 2)
+	 (src-selection '(0 .5 1 1))
+	 (undo)
+	 (revert-sound cfd)
+	 (if (pair? (cdr open-files)) (revert-sound (cadr open-files)))))
+      
+      (when (> 10000 (framples) 1)
+	(make-region 0 (framples))
+	(convolve-selection-with "fyow.snd" .5)
+	(play :wait #t)
+	(convolve-with "fyow.snd" .25))
+      (insert-sound "oboe.snd")
+      (set! (hook-functions graph-hook) ())
+      (set! (hook-functions after-transform-hook) ())
+      (for-each revert-sound open-files)
+      
+      (let ((ind (choose-fd)))
+	(select-sound ind)
+	(for-each
+	 (lambda (func func1)
+	   (pad-channel 0 100 ind 0)
+	   (func 0)
+	   (pad-channel 0 100 ind 0)
+	   (func1 0)
+	   (revert-sound ind)
+	   (if (> (chans ind) 1)
+	       (begin
+		 (pad-channel 0 100 ind 1)
+		 (func 0)
+		 (pad-channel 0 100 ind 1)
+		 (func1 0)
+		 (revert-sound ind)))
+	   (delete-samples 0 1000 ind 0)
+	   (func (* 2 (framples ind 0)))
+	   (delete-samples 0 10000 ind 0)
+	   (func1 (* 2 (framples ind 0)))
+	   (revert-sound ind)
+	   (if (> (chans ind) 1)
+	       (begin
+		 (delete-samples 0 1000 ind 1)
+		 (func (* 2 (framples ind 1)))
+		 (delete-samples 0 10000 ind 1)
+		 (func1 (* 2 (framples ind 1)))
+		 (revert-sound ind))))
+	 (list (lambda (beg) (insert-sound "2a.snd" beg))
+	       (lambda (beg) (reverse-sound))
+	       (lambda (beg) (if (< (framples ind) 10000) (convolve-with "2a.snd" 0.5) (scale-by 2.0)))
+	       (lambda (beg) (env-sound '(0 0 1 1 2 0)))
+	       (lambda (beg) (smooth-sound)))
+	 (list (lambda (beg) (insert-sound "4a.snd" beg))
+	       (lambda (beg) (reverse-sound))
+	       (lambda (beg) (src-sound 2.0))
+	       (lambda (beg) (env-sound '(0 0 1 1)))
+	       (lambda (beg) (insert-silence beg 100)))))
+      
+      (let ((ind (open-sound "z.snd")))
+	(if (not (= (framples ind) 0)) (snd-display ";framples z.snd ~A" (framples ind)))
+	(if (samples) (snd-display ";samples of empty file (z): ~A" (samples)))
+	(if (channel->float-vector) (snd-display ";channel->float-vector of empty file (z): ~A" (channel->float-vector)))
+	(if (fneq (maxamp ind) 0.0) (snd-display ";maxamp z.snd ~A" (maxamp ind)))
+	(if (fneq (sample 100 ind) 0.0) (snd-display ";sample 100 z.snd ~A" (sample 100 ind)))
+	(scale-by 2.0)
+	(if (not (= (edit-position ind 0) 0)) (snd-display ";scale z: ~A" (edit-position ind 0)))
+	(env-sound '(0 0 1 1))
+	(if (not (= (edit-position ind 0) 0)) (snd-display ";env z: ~A" (edit-position ind 0)))
+	(smooth-sound)
+	(if (not (= (edit-position ind 0) 0)) (snd-display ";smooth z: ~A" (edit-position ind 0)))
+	(reverse-sound)
+	(if (not (= (edit-position ind 0) 0)) (snd-display ";reverse z: ~A" (edit-position ind 0)))
+	(src-sound 2.0)
+	(if (not (= (edit-position ind 0) 0)) (snd-display ";src z: ~A" (edit-position ind 0)))
+	(insert-sound "z.snd")
+	(if (not (= (edit-position ind 0) 0)) (snd-display ";insert z: ~A" (edit-position ind 0)))
+	(mix "z.snd")
+	(if (not (= (edit-position ind 0) 0)) (snd-display ";mix z: ~A" (edit-position ind 0)))
+	(filter-sound (make-one-zero :a0 2.0 :a1 0.0))
+	(if (not (= (edit-position ind 0) 0)) (snd-display ";filter z: ~A" (edit-position ind 0)))
+	(if (not (= (mus-sound-duration "z.snd") 0.0)) (snd-display ";duration z.snd: ~A" (mus-sound-duration "z.snd")))
+	(catch 'IO-error
+	  (lambda () (convolve-with "z.snd" 1.0))
+	  (lambda args args))
+	(if (not (= (edit-position ind 0) 0)) (snd-display ";convolve z: ~A" (edit-position ind 0)))
+	(let ((matches (count-matches (lambda (y) (> y .1)))))
+	  (if (and (integer? matches) (> matches 0))
+	      (snd-display ";count z: ~A" matches)))
+	(let* ((reader (make-sampler 0))
+	       (val (next-sample reader))
+	       (str (format #f "~A" reader)))
+	  (if (fneq val 0.0) (snd-display ";sampler z.snd: ~A" val))
+	  (if (not (string? str)) (snd-display ";z.snd reader: ~A" str)))
+	(if (not (equal? (cursor-position) '(0 0))) (snd-display ";cursor-position z: ~A" (cursor-position)))
+	(if (not (= (cursor) 0)) (snd-display ";cursor z: ~A" (cursor)))
+	(let ((outer (make-player ind 0)))
+	  (let ((pl (make-player ind 0)))
+	    (add-player pl)
+	    (start-playing 1 22050 #f))
+	  (revert-sound ind)
+	  (set! (transform-graph? ind 0) #t)
+	  (hook-push lisp-graph-hook display-energy)
+	  (set! (x-bounds) (list 0.0 .01))
+	  (set! (sample 0) 0.5)
+	  (set! (x-bounds) (list 0.0 .001))
+	  (close-sound ind)
+	  (let ((tag (catch #t (lambda () (add-player outer)) (lambda args (car args)))))
+	    (if (not (eq? tag 'no-such-player))
+		(snd-display ";dangling player: ~A" tag)))))
+      (if (channel-amp-envs "z.snd" 0 100)
+	  (snd-display ";channel-amp-envs of empty file: ~A" (channel-amp-envs "z.snd" 0 100)))
+      
+      (let ((s8-snd (if (file-exists? "s8.snd") "s8.snd" "oboe.snd")))
 	(let ((zz (view-sound "z.snd")))
 	  (select-sound zz)
 	  (mix "4.aiff")
@@ -26252,23 +26062,20 @@ EDITS: 2
 	  (add-mark 1200)
 	  (delete-marks)
 	  (revert-sound zz)
-	  
-	  (let ((editctr (edit-position zz))
-		(old-selection-choice *selection-creates-region*))
-	    (set! *selection-creates-region* #t)
-	    (if (not (= (edit-position) 0)) (snd-display ";revert-sound edit-position: ~A" (edit-position)))
-	    (as-one-edit 
-	     (lambda ()
-	       (mix s8-snd 24000)
-	       (let ((reg (select-all)))
-		 (if (selection?) 
-		     (begin
-		       (filter-selection '(0 0 .2 1 .5 0 1 0) 40)
-		       (delete-selection)
-		       (mix-region reg))))))
-	    (if (not (= (edit-position) 1)) (snd-display ";as-one-edit mix zz: ~A -> ~A" editctr (edit-position)))
-	    (set! *selection-creates-region* old-selection-choice))
-	  (close-sound zz))
+	  (let ((editctr (edit-position zz)))
+	    (let-temporarily ((*selection-creates-region* #t))
+	      (if (not (= (edit-position) 0)) (snd-display ";revert-sound edit-position: ~A" (edit-position)))
+	      (as-one-edit 
+	       (lambda ()
+		 (mix s8-snd 24000)
+		 (let ((reg (select-all)))
+		   (if (selection?) 
+		       (begin
+			 (filter-selection '(0 0 .2 1 .5 0 1 0) 40)
+			 (delete-selection)
+			 (mix-region reg))))))
+	      (if (not (= (edit-position) 1)) (snd-display ";as-one-edit mix zz: ~A -> ~A" editctr (edit-position)))
+	      (close-sound zz))))
 	(let ((s8 (view-sound s8-snd)))
 	  (select-sound s8)
 	  (if (= (channels s8) 8)
@@ -26292,400 +26099,396 @@ EDITS: 2
 		     (insert-region reg 80000)))))
 	    (if (not (= (edit-position) (+ 1 editctr))) (snd-display ";as-one-edit s8: ~A -> ~A" editctr (edit-position))))
 	  (revert-sound s8)
-	  (close-sound s8))
-	
-	(let ((cfd (choose-fd)))
-	  (if (> (chans cfd) 1)
-	      (let ((uval (random 3)))
-		(set! (channel-style cfd) uval)
-		(if (not (= uval (channel-style cfd))) (snd-display ";channel-style: ~A ~A?" uval (channel-style cfd)))))
-	  (when (< (framples cfd) 200000)
-	    (src-sound 2.5 1.0 cfd)
-	    (src-sound -2.5 1.0 cfd)
-	    (src-sound .5 1.0 cfd)
-	    (revert-sound cfd)
-	    (src-sound -.5 1.0 cfd)
-	    (src-sound '(0 .5 1 1.5) 1.0 cfd)
-	    (if (> (framples cfd) 0) (src-sound (make-env '(0 .5 1 1.5) :length (framples cfd)) 1.0 cfd))
-	    (revert-sound cfd)
-	    (filter-sound '(0 1 .2 0 .5 1 1 0) 20 cfd)
-	    (filter-sound '(0 0 .1 0 .11 1 .12 0 1 0) 2048 cfd)
-	    (env-sound '(0 0 .5 1 1 0) 0 (framples cfd) 1.0 cfd)
-	    (insert-sample 1200 .1 cfd)
-	    (if (fneq (sample 1200 cfd) .1) (snd-display ";insert-sample(looped): ~A?" (sample 1200 cfd))))
-	  (revert-sound cfd))
-	
-	(let ((cfd (open-sound "obtest.snd")))
-	  (select-sound cfd)
-	  (let ((cfd2 (open-sound "pistol.snd")))
-	    (select-sound cfd2)
-	    ;; now run apply a few times
-	    (set! (amp-control) .5) 
-	    (set! (speed-control) 2.0) 
-	    (test-panel speed-control 'speed-control)
-	    (apply-controls) 
-	    (if (< (framples) 100000) (play :wait #t))
-	    
-	    (if (fneq (reverb-control-decay cfd) *reverb-control-decay*)
-		(snd-display ";reverb-control-decay local: ~A, global: ~A" (reverb-control-decay cfd) *reverb-control-decay*))
-	    (set! (reverb-control?) #t)
-	    (set! (reverb-control-scale) .2) 
-	    (test-panel reverb-control-scale 'reverb-control-scale)
-	    (test-panel reverb-control-length 'reverb-control-length)
-	    (test-panel reverb-control-lowpass 'reverb-control-lowpass)
-	    (test-panel reverb-control-feedback 'reverb-control-feedback)
-	    (apply-controls) 
-	    (if (< (framples) 100000) (play :wait #t))
-	    (set! (contrast-control?) #t)
-	    (set! (contrast-control) .5) 
-	    (test-panel contrast-control 'contrast-control)
-	    (test-panel contrast-control-amp 'contrast-control-amp)
-	    (apply-controls) 
+	  (close-sound s8)))
+      
+      (let ((cfd (choose-fd)))
+	(if (> (chans cfd) 1)
+	    (let ((uval (random 3)))
+	      (set! (channel-style cfd) uval)
+	      (if (not (= uval (channel-style cfd))) (snd-display ";channel-style: ~A ~A?" uval (channel-style cfd)))))
+	(when (< (framples cfd) 200000)
+	  (src-sound 2.5 1.0 cfd)
+	  (src-sound -2.5 1.0 cfd)
+	  (src-sound .5 1.0 cfd)
+	  (revert-sound cfd)
+	  (src-sound -.5 1.0 cfd)
+	  (src-sound '(0 .5 1 1.5) 1.0 cfd)
+	  (if (> (framples cfd) 0) (src-sound (make-env '(0 .5 1 1.5) :length (framples cfd)) 1.0 cfd))
+	  (revert-sound cfd)
+	  (filter-sound '(0 1 .2 0 .5 1 1 0) 20 cfd)
+	  (filter-sound '(0 0 .1 0 .11 1 .12 0 1 0) 2048 cfd)
+	  (env-sound '(0 0 .5 1 1 0) 0 (framples cfd) 1.0 cfd)
+	  (insert-sample 1200 .1 cfd)
+	  (if (fneq (sample 1200 cfd) .1) (snd-display ";insert-sample(looped): ~A?" (sample 1200 cfd))))
+	(revert-sound cfd))
+      
+      (let ((cfd (open-sound "obtest.snd")))
+	(select-sound cfd)
+	(let ((cfd2 (open-sound "pistol.snd")))
+	  (select-sound cfd2)
+	  ;; now run apply a few times
+	  (set! (amp-control) .5) 
+	  (set! (speed-control) 2.0) 
+	  (test-panel speed-control 'speed-control)
+	  (apply-controls) 
+	  (if (< (framples) 100000) (play :wait #t))
+	  
+	  (if (fneq (reverb-control-decay cfd) *reverb-control-decay*)
+	      (snd-display ";reverb-control-decay local: ~A, global: ~A" (reverb-control-decay cfd) *reverb-control-decay*))
+	  (set! (reverb-control?) #t)
+	  (set! (reverb-control-scale) .2) 
+	  (test-panel reverb-control-scale 'reverb-control-scale)
+	  (test-panel reverb-control-length 'reverb-control-length)
+	  (test-panel reverb-control-lowpass 'reverb-control-lowpass)
+	  (test-panel reverb-control-feedback 'reverb-control-feedback)
+	  (apply-controls) 
+	  (if (< (framples) 100000) (play :wait #t))
+	  (set! (contrast-control?) #t)
+	  (set! (contrast-control) .5) 
+	  (test-panel contrast-control 'contrast-control)
+	  (test-panel contrast-control-amp 'contrast-control-amp)
+	  (apply-controls) 
 					;	      (if (< (framples) 100000) (play :wait #t))
-	    (set! (expand-control?) #t)
-	    (set! (expand-control) 2.5) 
-	    (test-panel expand-control 'expand-control)
-	    (test-panel expand-control-length 'expand-control-length)
-	    (test-panel expand-control-hop 'expand-control-hop)
-	    (test-panel expand-control-ramp 'expand-control-ramp)
-	    (apply-controls) 
+	  (set! (expand-control?) #t)
+	  (set! (expand-control) 2.5) 
+	  (test-panel expand-control 'expand-control)
+	  (test-panel expand-control-length 'expand-control-length)
+	  (test-panel expand-control-hop 'expand-control-hop)
+	  (test-panel expand-control-ramp 'expand-control-ramp)
+	  (apply-controls) 
 					;	      (if (< (framples) 100000) (play :wait #t))
-	    (set! (filter-control?) #t)
-	    (set! *filter-control-order* 40) 
-	    (test-panel filter-control-order 'filter-control-order)
-	    (set! (filter-control-envelope) '(0 0 .1 1 .2 0 1 0)) 
-	    (apply-controls) 
+	  (set! (filter-control?) #t)
+	  (set! *filter-control-order* 40) 
+	  (test-panel filter-control-order 'filter-control-order)
+	  (set! (filter-control-envelope) '(0 0 .1 1 .2 0 1 0)) 
+	  (apply-controls) 
 					;	      (if (< (framples) 100000) (play :wait #t))
-	    (set! (amp-control) 1.5) 
-	    (test-panel amp-control 'amp-control)
-	    (apply-controls) 
+	  (set! (amp-control) 1.5) 
+	  (test-panel amp-control 'amp-control)
+	  (apply-controls) 
 					;	      (if (< (framples) 100000) (play :wait #t))
-	    (swap-channels cfd 0 cfd2 0)
-	    (set! (amp-control #t) .75)
-	    (test-panel amp-control 'amp-control)
-	    (if (> (abs (- (amp-control cfd2) .75)) .05) (snd-display ";set-amp .75 #t -> ~A?" (amp-control cfd2)))
-	    (set! (contrast-control-amp #t) .75)
-	    (if (fneq (contrast-control-amp cfd2) .75) (snd-display ";set-contrast-control-amp .75 #t -> ~A?" (contrast-control-amp cfd2)))
-	    (set! (contrast-control-bounds cfd2) (list 2.0 3.0))
-	    (if (not (feql (contrast-control-bounds cfd2) '(2.0 3.0))) 
-		(snd-display ";cfd2 contrast-control-bounds: ~A" (contrast-control-bounds cfd2)))
-	    (set! (expand-control-length #t) .025)
-	    (if (fneq (expand-control-length cfd2) .025) (snd-display ";set-expand-control-length .025 #t -> ~A?" (expand-control-length cfd2)))
-	    (set! (expand-control-hop #t) .025)
-	    (if (fneq (expand-control-hop cfd2) .025) (snd-display ";set-expand-control-hop .025 #t -> ~A?" (expand-control-hop cfd2)))
-	    (set! (expand-control-jitter #t) .025)
-	    (if (fneq (expand-control-jitter cfd2) .025) (snd-display ";set-expand-control-jitter .025 #t -> ~A?" (expand-control-jitter cfd2)))
-	    (set! (expand-control-ramp #t) .025)
-	    (if (fneq (expand-control-ramp cfd2) .025) (snd-display ";set-expand-control-ramp .025 #t -> ~A?" (expand-control-ramp cfd2)))
-	    (let ((clone (clone-sound-as "/tmp/cloned.snd" cfd2)))
-	      (if (not (= (framples cfd2) (framples clone)))
-		  (snd-display ";clone framples: ~A ~A" (framples cfd2) (framples clone)))
-	      (close-sound clone))
-	    (delete-file "/tmp/cloned.snd")
-	    (mus-sound-forget "/tmp/cloned.snd")
-	    (close-sound cfd2)
-	    (close-sound cfd)))
-	(hook-push (edit-hook) (lambda (hook) (set! (hook 'result) #f)))
-	(let ((editctr (edit-position)))
-	  (as-one-edit (lambda () (set! (sample 200) .2) (set! (sample 300) .3)))
-	  (if (not (= (edit-position) (+ 1 editctr))) (snd-display ";as-one-edit: ~A -> ~A" editctr (edit-position)))
-	  (as-one-edit (lambda () #f))
-	  (if (not (= (edit-position) (+ 1 editctr))) (snd-display ";as-one-edit nil: ~A -> ~A" editctr (edit-position))))
-	(delete-sample 250)
-	(hook-push (undo-hook) (lambda (hook) (set! (hook 'result) #f)))
-	(undo)
-	(delete-sample 250)
-	(undo)
-	(as-one-edit (lambda () (set! (sample 20) .2) (set! (sample 30) .3)))
-	(undo 1)
-	(as-one-edit (lambda () (set! (sample 2) .2) (as-one-edit (lambda () (set! (sample 3) .3)))))
-	(undo 2)
-	(set! (hook-functions (undo-hook)) ())
-	(set! (hook-functions (edit-hook)) ())
-	(hook-push snd-warning-hook 
-		   (lambda (hook)
-		     (let ((msg (hook 'message)))
-		       (if (not (string=? msg "hiho")) (snd-display ";snd-warning-hook: ~A?" msg))
-		       (set! (hook 'result) #t))))
-	(snd-warning "hiho")
-	(set! (hook-functions snd-error-hook) ())
-	(set! (hook-functions snd-warning-hook) ())
-	(hook-push name-click-hook 
-		   (lambda (hook) 
-		     (set! (hook 'result) #t)))
-	(redo 1)
-	(set! (hook-functions name-click-hook) ())
-	(set! (transform-graph?) #t)
-	(test-channel transform-graph? 'transform-graph?)
-	(test-channel time-graph? 'time-graph?)
-	(test-channel lisp-graph? 'lisp-graph?)
-	(test-channel framples 'framples)
-	(test-channel cursor 'cursor)
-	(test-channel cursor-size 'cursor-size)
-	(test-channel cursor-style 'cursor-style)
-	(test-channel tracking-cursor-style 'tracking-cursor-style)
-	(test-channel left-sample 'left-sample)
-	(test-channel right-sample 'right-sample)
-	(test-channel squelch-update 'squelch-update)
-	(test-channel x-zoom-slider 'x-zoom-slider)
-	(test-channel y-zoom-slider 'y-zoom-slider)
-	(test-channel x-position-slider 'x-position-slider)
-	(test-channel y-position-slider 'y-position-slider)
-	(test-channel edit-position 'edit-position)
-	(test-channel maxamp 'maxamp)
-	(test-channel edit-hook 'edit-hook)
-	(test-channel after-edit-hook 'after-edit-hook)
-	(test-channel undo-hook 'undo-hook)
-	(if (<= tests 2)
-	    (set! *transform-type*
-		  (add-transform "histogram" "bins" 0.0 1.0 
-				 (lambda (len fd)
-				   (let ((v (make-float-vector len))
-					 (steps (/ len 16))
-					 (step (/ 1.0 len)))
-				     (fill! v 0.0)
-				     (do ((i 0 (+ i 1)))
-					 ((= i len) v)
-				       (let ((bin (round (* 16.0 (abs (next-sample fd))))))
-					 (if (< bin steps)
-					     (float-vector-offset! (make-shared-vector v (list steps) bin) step)))))))))
-	(set! (x-bounds) '(.1 .2))
-	(set! *transform-type* fourier-transform)
-	(set! (x-bounds) '(.1 .2))
-	(hook-push lisp-graph-hook display-energy)
-	(set! (hook-functions graph-hook) ())
-	(if (= (channels) 2)
-	    (begin
-	      (hook-push graph-hook display-correlation)
-	      (set! (x-bounds) '(.1 .12))
-	      (set! (x-bounds) '(.1 .2))
-	      (hook-remove graph-hook display-correlation)))
-	(set! (lisp-graph?) #f)
-	(map-channel 
-	 (let ((buffer (make-delay 128))
-	       (gen (make-moving-average 128))
-	       (current-sample 0)
-	       (chan-samples (framples)))
-	   (set! (mus-feedback gen) 1.0)
-	   (lambda (y)
-	     (let ((old-y (delay buffer y)))
-	       (set! current-sample (+ 1 current-sample))
-	       (and (> (moving-average gen (* y y)) .01)
-		    (if (not (= current-sample chan-samples))
-			old-y
-			;; at end return trailing samples as long as it looks like sound
-			(let ((temp-buffer (make-delay 128)))
-			  (do ((i 0 (+ i 1))
-			       (fy (delay buffer 0.0) (delay buffer 0.0)))
-			      ((= i 128) 
-			       (mus-data temp-buffer))
-			    (delay temp-buffer (if (> (moving-average gen 0.0) .01) fy 0.0)))))))))
-	 0 20)
-	
-	(let ((maxval1 (+ (maxamp) .01)))
-	  (if (not (every-sample? (lambda (y) (< y maxval1)))) 
-	      (let ((res (scan-channel (lambda (y) (>= y maxval1)))))
-		(snd-display ";~A, every-sample: ~A ~A [~A: ~A]?" (short-file-name) maxval1 res (cursor) (sample (cursor)))
-		(do ((i 0 (+ i 1)))
-		    ((= i (edit-position)))
-		  (snd-display ";~D: ~A ~A" i (maxamp #f 0 i) (edit-fragment i))))))
-	
-	(map-channel (echo .5 .75) 0 60000)
-	(set! (hook-functions after-transform-hook) ())
-	(set! (hook-functions lisp-graph-hook) ())
-	
-	(hook-push lisp-graph-hook 
-		   (lambda (hook)
-		     (if (> (random 1.0) .5) 
-			 (graph (float-vector 0 1 2)) 
-			 (graph (list (float-vector 0 1 2) (float-vector 3 2 0))))))
-	
+	  (swap-channels cfd 0 cfd2 0)
+	  (set! (amp-control #t) .75)
+	  (test-panel amp-control 'amp-control)
+	  (if (> (abs (- (amp-control cfd2) .75)) .05) (snd-display ";set-amp .75 #t -> ~A?" (amp-control cfd2)))
+	  (set! (contrast-control-amp #t) .75)
+	  (if (fneq (contrast-control-amp cfd2) .75) (snd-display ";set-contrast-control-amp .75 #t -> ~A?" (contrast-control-amp cfd2)))
+	  (set! (contrast-control-bounds cfd2) (list 2.0 3.0))
+	  (if (not (feql (contrast-control-bounds cfd2) '(2.0 3.0))) 
+	      (snd-display ";cfd2 contrast-control-bounds: ~A" (contrast-control-bounds cfd2)))
+	  (set! (expand-control-length #t) .025)
+	  (if (fneq (expand-control-length cfd2) .025) (snd-display ";set-expand-control-length .025 #t -> ~A?" (expand-control-length cfd2)))
+	  (set! (expand-control-hop #t) .025)
+	  (if (fneq (expand-control-hop cfd2) .025) (snd-display ";set-expand-control-hop .025 #t -> ~A?" (expand-control-hop cfd2)))
+	  (set! (expand-control-jitter #t) .025)
+	  (if (fneq (expand-control-jitter cfd2) .025) (snd-display ";set-expand-control-jitter .025 #t -> ~A?" (expand-control-jitter cfd2)))
+	  (set! (expand-control-ramp #t) .025)
+	  (if (fneq (expand-control-ramp cfd2) .025) (snd-display ";set-expand-control-ramp .025 #t -> ~A?" (expand-control-ramp cfd2)))
+	  (let ((clone (clone-sound-as "/tmp/cloned.snd" cfd2)))
+	    (if (not (= (framples cfd2) (framples clone)))
+		(snd-display ";clone framples: ~A ~A" (framples cfd2) (framples clone)))
+	    (close-sound clone))
+	  (delete-file "/tmp/cloned.snd")
+	  (mus-sound-forget "/tmp/cloned.snd")
+	  (close-sound cfd2)
+	  (close-sound cfd)))
+      (hook-push (edit-hook) (lambda (hook) (set! (hook 'result) #f)))
+      (let ((editctr (edit-position)))
+	(as-one-edit (lambda () (set! (sample 200) .2) (set! (sample 300) .3)))
+	(if (not (= (edit-position) (+ 1 editctr))) (snd-display ";as-one-edit: ~A -> ~A" editctr (edit-position)))
+	(as-one-edit (lambda () #f))
+	(if (not (= (edit-position) (+ 1 editctr))) (snd-display ";as-one-edit nil: ~A -> ~A" editctr (edit-position))))
+      (delete-sample 250)
+      (hook-push (undo-hook) (lambda (hook) (set! (hook 'result) #f)))
+      (undo)
+      (delete-sample 250)
+      (undo)
+      (as-one-edit (lambda () (set! (sample 20) .2) (set! (sample 30) .3)))
+      (undo 1)
+      (as-one-edit (lambda () (set! (sample 2) .2) (as-one-edit (lambda () (set! (sample 3) .3)))))
+      (undo 2)
+      (set! (hook-functions (undo-hook)) ())
+      (set! (hook-functions (edit-hook)) ())
+      (hook-push snd-warning-hook 
+		 (lambda (hook)
+		   (let ((msg (hook 'message)))
+		     (if (not (string=? msg "hiho")) (snd-display ";snd-warning-hook: ~A?" msg))
+		     (set! (hook 'result) #t))))
+      (snd-warning "hiho")
+      (set! (hook-functions snd-error-hook) ())
+      (set! (hook-functions snd-warning-hook) ())
+      (hook-push name-click-hook 
+		 (lambda (hook) 
+		   (set! (hook 'result) #t)))
+      (redo 1)
+      (set! (hook-functions name-click-hook) ())
+      (set! (transform-graph?) #t)
+      (test-channel transform-graph? 'transform-graph?)
+      (test-channel time-graph? 'time-graph?)
+      (test-channel lisp-graph? 'lisp-graph?)
+      (test-channel framples 'framples)
+      (test-channel cursor 'cursor)
+      (test-channel cursor-size 'cursor-size)
+      (test-channel cursor-style 'cursor-style)
+      (test-channel tracking-cursor-style 'tracking-cursor-style)
+      (test-channel left-sample 'left-sample)
+      (test-channel right-sample 'right-sample)
+      (test-channel squelch-update 'squelch-update)
+      (test-channel x-zoom-slider 'x-zoom-slider)
+      (test-channel y-zoom-slider 'y-zoom-slider)
+      (test-channel x-position-slider 'x-position-slider)
+      (test-channel y-position-slider 'y-position-slider)
+      (test-channel edit-position 'edit-position)
+      (test-channel maxamp 'maxamp)
+      (test-channel edit-hook 'edit-hook)
+      (test-channel after-edit-hook 'after-edit-hook)
+      (test-channel undo-hook 'undo-hook)
+      (if (<= tests 2)
+	  (set! *transform-type*
+		(add-transform "histogram" "bins" 0.0 1.0 
+			       (lambda (len fd)
+				 (let ((v (make-float-vector len))
+				       (steps (/ len 16))
+				       (step (/ 1.0 len)))
+				   (fill! v 0.0)
+				   (do ((i 0 (+ i 1)))
+				       ((= i len) v)
+				     (let ((bin (round (* 16.0 (abs (next-sample fd))))))
+				       (if (< bin steps)
+					   (float-vector-offset! (make-shared-vector v (list steps) bin) step)))))))))
+      (set! (x-bounds) '(.1 .2))
+      (set! *transform-type* fourier-transform)
+      (set! (x-bounds) '(.1 .2))
+      (hook-push lisp-graph-hook display-energy)
+      (set! (hook-functions graph-hook) ())
+      (if (= (channels) 2)
+	  (begin
+	    (hook-push graph-hook display-correlation)
+	    (set! (x-bounds) '(.1 .12))
+	    (set! (x-bounds) '(.1 .2))
+	    (hook-remove graph-hook display-correlation)))
+      (set! (lisp-graph?) #f)
+      (let ((mapf (let ((buffer (make-delay 128))
+			(gen (make-moving-average 128))
+			(current-sample 0)
+			(chan-samples (framples)))
+		    (set! (mus-feedback gen) 1.0)
+		    (lambda (y)
+		      (let ((old-y (delay buffer y)))
+			(set! current-sample (+ 1 current-sample))
+			(and (> (moving-average gen (* y y)) .01)
+			     (if (not (= current-sample chan-samples))
+				 old-y
+				 ;; at end return trailing samples as long as it looks like sound
+				 (let ((temp-buffer (make-delay 128)))
+				   (do ((i 0 (+ i 1))
+					(fy (delay buffer 0.0) (delay buffer 0.0)))
+				       ((= i 128) 
+					(mus-data temp-buffer))
+				     (delay temp-buffer (if (> (moving-average gen 0.0) .01) fy 0.0)))))))))))
+	(map-channel mapf 0 20))
+      
+      (let ((maxval1 (+ (maxamp) .01)))
+	(if (not (every-sample? (lambda (y) (< y maxval1)))) 
+	    (let ((res (scan-channel (lambda (y) (>= y maxval1)))))
+	      (snd-display ";~A, every-sample: ~A ~A [~A: ~A]?" (short-file-name) maxval1 res (cursor) (sample (cursor)))
+	      (do ((i 0 (+ i 1)))
+		  ((= i (edit-position)))
+		(snd-display ";~D: ~A ~A" i (maxamp #f 0 i) (edit-fragment i))))))
+      
+      (map-channel (echo .5 .75) 0 60000)
+      (set! (hook-functions after-transform-hook) ())
+      (set! (hook-functions lisp-graph-hook) ())
+      
+      (hook-push lisp-graph-hook 
+		 (lambda (hook)
+		   (graph (if (> (random 1.0) .5) 
+			      (float-vector 0 1 2)
+			      (list (float-vector 0 1 2) (float-vector 3 2 0))))))
+      
+      (for-each
+       (lambda (snd)
+	 (set! (sync snd) (random 3))
+	 (update-lisp-graph snd))
+       (sounds))
+      (hook-push graph-hook superimpose-ffts)
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
 	(for-each
 	 (lambda (snd)
-	   (set! (sync snd) (random 3))
-	   (update-lisp-graph snd))
-	 (sounds))
-	(hook-push graph-hook superimpose-ffts)
-	(do ((i 0 (+ i 1)))
-	    ((= i 10))
-	  (for-each
-	   (lambda (snd)
-	     (if (> (framples snd) 0)
-		 (let* ((dur (floor (/ (framples snd) (srate snd))))
-			(start (max 0.0 (min (- dur .1) (random dur)))))
-		   (if (> dur 0.0) 
-		       (set! (x-bounds snd 0) (list start (min (+ start .1) dur))))))
-	     (update-time-graph snd)
-	     (update-lisp-graph snd)
-	     (update-transform-graph snd))
-	   (sounds)))
-	(set! (hook-functions graph-hook) ())
-	(set! (hook-functions lisp-graph-hook) ())
-	
-	;; new variable settings 
-	(letrec ((reset-vars
-		  (lambda (lst)
-		    (when (pair? lst)
-		      (let* ((name ((car lst) 0))
-			     (index (and ((car lst) 2) (choose-fd)))
-			     (getfnc ((car lst) 1))
-			     (setfnc (lambda (val snd) (set! (getfnc snd) val)))
-			     (setfnc-1 (lambda (val) (set! (getfnc) val)))
-			     (minval ((car lst) 3))
-			     (maxval ((car lst) 4)))
-			(cond (index (setfnc (or (not minval)
-						 (if (rational? minval)
-						     (if (eq? name #t)
-							 (floor (expt 2 (min 31 (ceiling (log (+ minval (floor (random (- maxval minval)))) 2)))))
-							 (+ minval (floor (random (- maxval minval)))))
-						     (+ minval (random (- maxval minval)))))
-					     index))
-			      ((not minval) 
-			       (setfnc-1 #t))
-			      ((not (rational? minval))
-			       (setfnc-1 (+ minval (random (- maxval minval)))))
-			      ((eq? name #t)
-			       (setfnc-1 (floor (expt 2 (min 31 (ceiling (log (+ minval (floor (random (- maxval minval)))) 2)))))))
-			      (else
-			       (setfnc-1 (+ minval (floor (random (- maxval minval)))))))
-			(reset-vars (cdr lst)))))))
-	  (reset-vars 
-	   (list
-	    (list 'amp-control amp-control #t .1 1.0)
+	   (if (> (framples snd) 0)
+	       (let* ((dur (floor (/ (framples snd) (srate snd))))
+		      (start (max 0.0 (min (- dur .1) (random dur)))))
+		 (if (> dur 0.0) 
+		     (set! (x-bounds snd 0) (list start (min (+ start .1) dur))))))
+	   (update-time-graph snd)
+	   (update-lisp-graph snd)
+	   (update-transform-graph snd))
+	 (sounds)))
+      (set! (hook-functions graph-hook) ())
+      (set! (hook-functions lisp-graph-hook) ())
+      
+      ;; new variable settings 
+      (letrec ((reset-vars
+		(lambda (lst)
+		  (when (pair? lst)
+		    (let* ((name ((car lst) 0))
+			   (index (and ((car lst) 2) (choose-fd)))
+			   (getfnc ((car lst) 1))
+			   (setfnc (lambda (val snd) (set! (getfnc snd) val)))
+			   (setfnc-1 (lambda (val) (set! (getfnc) val)))
+			   (minval ((car lst) 3))
+			   (maxval ((car lst) 4))
+			   (fncval (or (not minval)
+				       (if (rational? minval)
+					   (if (eq? name #t)
+					       (floor (expt 2 (min 31 (ceiling (log (+ minval (floor (random (- maxval minval)))) 2)))))
+					       (+ minval (floor (random (- maxval minval)))))
+					   (+ minval (random (- maxval minval)))))))
+		      (cond (index (setfnc fncval index))
+			    ((not minval) 
+			     (setfnc-1 #t))
+			    ((not (rational? minval))
+			     (setfnc-1 (+ minval (random (- maxval minval)))))
+			    ((eq? name #t)
+			     (setfnc-1 (floor (expt 2 (min 31 (ceiling (log (+ minval (floor (random (- maxval minval)))) 2)))))))
+			    (else
+			     (setfnc-1 (+ minval (floor (random (- maxval minval)))))))
+		      (reset-vars (cdr lst)))))))
+	(reset-vars 
+	 (list
+	  (list 'amp-control amp-control #t .1 1.0)
 					;(list 'ask-before-overwrite ask-before-overwrite #f #f #t)
-	    (list 'auto-resize auto-resize #f #f #t)
-	    (list 'auto-update auto-update #f #f #t)
-	    (list 'channel-style channel-style #f 0 2)
-	    (list 'color-cutoff color-cutoff #f 0.0 0.2)
-	    (list 'color-inverted color-inverted #f #f #t)
-	    (list 'color-scale color-scale #f 0.1 1000.0)
-	    (list 'contrast-control contrast-control #t 0.0 1.0)
-	    (list 'contrast-control-amp contrast-control-amp #t 0.0 1.0)
-	    (list 'contrast-control? contrast-control? #t #f #t)
-	    (list 'auto-update-interval auto-update-interval #f 60.0 120.0)
-	    (list 'cursor-update-interval cursor-update-interval #f 0.05 .1)
-	    (list 'cursor-location-offset cursor-location-offset #f 0 1024)
-	    (list 'with-tracking-cursor with-tracking-cursor #f #f #t)
-	    (list 'cursor-size cursor-size #f 15 25)
-	    (list 'cursor-style cursor-style #f cursor-cross cursor-line)
-	    (list 'tracking-cursor-style tracking-cursor-style #f cursor-line cursor-cross)
-	    (list 'clipping clipping #f #f #t)
+	  (list 'auto-resize auto-resize #f #f #t)
+	  (list 'auto-update auto-update #f #f #t)
+	  (list 'channel-style channel-style #f 0 2)
+	  (list 'color-cutoff color-cutoff #f 0.0 0.2)
+	  (list 'color-inverted color-inverted #f #f #t)
+	  (list 'color-scale color-scale #f 0.1 1000.0)
+	  (list 'contrast-control contrast-control #t 0.0 1.0)
+	  (list 'contrast-control-amp contrast-control-amp #t 0.0 1.0)
+	  (list 'contrast-control? contrast-control? #t #f #t)
+	  (list 'auto-update-interval auto-update-interval #f 60.0 120.0)
+	  (list 'cursor-update-interval cursor-update-interval #f 0.05 .1)
+	  (list 'cursor-location-offset cursor-location-offset #f 0 1024)
+	  (list 'with-tracking-cursor with-tracking-cursor #f #f #t)
+	  (list 'cursor-size cursor-size #f 15 25)
+	  (list 'cursor-style cursor-style #f cursor-cross cursor-line)
+	  (list 'tracking-cursor-style tracking-cursor-style #f cursor-line cursor-cross)
+	  (list 'clipping clipping #f #f #t)
 					;(list 'default-output-chans default-output-chans #f 1 8)
 					;(list 'default-output-sample-type default-output-sample-type #f 1 12)
 					;(list 'default-output-srate default-output-srate #f 22050 44100)
 					;(list 'default-output-header-type default-output-header-type #f 0 2)
-	    (list 'dot-size dot-size #f 1 10)
-	    (list 'enved-base enved-base #f 0.01  100.0)
-	    (list 'enved-clip? enved-clip? #f #f #t)
-	    (list 'enved-in-dB enved-in-dB #f #f #t)
-	    (list 'enved-style enved-style #f envelope-linear envelope-exponential)
-	    (list 'enved-power enved-power #f 3.0 3.5)
-	    (list 'enved-target enved-target #f 0 2)
-	    (list 'enved-wave? enved-wave? #f #f #t)
-	    (list 'expand-control expand-control #t 0.1 5.0)
-	    (list 'expand-control-hop expand-control-hop #t 0.01 0.5)
-	    (list 'expand-control-jitter expand-control-jitter #t 0.01 0.5)
-	    (list 'expand-control-length expand-control-length #t 0.1 0.25)
-	    (list 'expand-control-ramp expand-control-ramp #t 0.1 0.4)
-	    (list 'expand-control? expand-control? #t #f #t)
-	    (list 'fft-window-alpha fft-window-alpha #f 0.0  1.0)
-	    (list 'fft-window-beta fft-window-beta #f 0.0  1.0)
-	    (list 'fft-log-frequency fft-log-frequency #f #f #t)
-	    (list 'fft-log-magnitude fft-log-magnitude #f #f #t)
-	    (list 'fft-with-phases fft-with-phases #f #f #t)
-	    (list 'transform-size transform-size #f 16 (if (<= tests 10) 4096 128))
-	    (list 'transform-graph-type transform-graph-type #f graph-once graph-as-spectrogram)
-	    (list 'fft-window fft-window #f 0 dolph-chebyshev-window)
-	    (list 'transform-graph? transform-graph? #t #f #t)
-	    (list 'filter-control-in-dB filter-control-in-dB #t #f #t)
-	    (list 'filter-control-in-hz filter-control-in-hz #t #f #t)
-	    (list 'filter-control-order filter-control-order #t 2 (if (<= tests 10) 400 40))
-	    (list 'filter-control? filter-control? #t #f #t)
+	  (list 'dot-size dot-size #f 1 10)
+	  (list 'enved-base enved-base #f 0.01  100.0)
+	  (list 'enved-clip? enved-clip? #f #f #t)
+	  (list 'enved-in-dB enved-in-dB #f #f #t)
+	  (list 'enved-style enved-style #f envelope-linear envelope-exponential)
+	  (list 'enved-power enved-power #f 3.0 3.5)
+	  (list 'enved-target enved-target #f 0 2)
+	  (list 'enved-wave? enved-wave? #f #f #t)
+	  (list 'expand-control expand-control #t 0.1 5.0)
+	  (list 'expand-control-hop expand-control-hop #t 0.01 0.5)
+	  (list 'expand-control-jitter expand-control-jitter #t 0.01 0.5)
+	  (list 'expand-control-length expand-control-length #t 0.1 0.25)
+	  (list 'expand-control-ramp expand-control-ramp #t 0.1 0.4)
+	  (list 'expand-control? expand-control? #t #f #t)
+	  (list 'fft-window-alpha fft-window-alpha #f 0.0  1.0)
+	  (list 'fft-window-beta fft-window-beta #f 0.0  1.0)
+	  (list 'fft-log-frequency fft-log-frequency #f #f #t)
+	  (list 'fft-log-magnitude fft-log-magnitude #f #f #t)
+	  (list 'fft-with-phases fft-with-phases #f #f #t)
+	  (list 'transform-size transform-size #f 16 (if (<= tests 10) 4096 128))
+	  (list 'transform-graph-type transform-graph-type #f graph-once graph-as-spectrogram)
+	  (list 'fft-window fft-window #f 0 dolph-chebyshev-window)
+	  (list 'transform-graph? transform-graph? #t #f #t)
+	  (list 'filter-control-in-dB filter-control-in-dB #t #f #t)
+	  (list 'filter-control-in-hz filter-control-in-hz #t #f #t)
+	  (list 'filter-control-order filter-control-order #t 2 (if (<= tests 10) 400 40))
+	  (list 'filter-control? filter-control? #t #f #t)
 					;	      (list 'graph-cursor graph-cursor #f 0 35)
-	    (list 'time-graph-style time-graph-style #f 0 4)
-	    (list 'lisp-graph-style lisp-graph-style #f 0 4)
-	    (list 'transform-graph-style transform-graph-style #f 0 4)
-	    (list 'graphs-horizontal graphs-horizontal #f #f #t)
-	    (list 'max-transform-peaks max-transform-peaks #f 1 100)
-	    (list 'max-regions max-regions #f 1 32)
-	    (list 'min-dB min-dB #f -120.0 -30.0)
-	    (list 'log-freq-start log-freq-start #f 50.0 5.0)
-	    (list 'selection-creates-region selection-creates-region #f #f #t)
-	    (list 'transform-normalization transform-normalization #f dont-normalize normalize-globally)
-	    (list 'play-arrow-size play-arrow-size #f 2 32)
-	    (list 'print-length print-length #f 2 32)
-	    (list 'region-graph-style region-graph-style #f graph-lines graph-lollipops)
-	    (list 'reverb-control-decay reverb-control-decay #f 0.0 2.0)
-	    (list 'reverb-control-feedback reverb-control-feedback #t 1.00 1.1)
-	    (list 'reverb-control-length reverb-control-length #t 1.0 2.0)
-	    (list 'reverb-control-lowpass reverb-control-lowpass #t 0.2 0.99)
-	    (list 'reverb-control-scale reverb-control-scale #t 0.0 0.2)
-	    (list 'reverb-control? reverb-control? #t #f #t)
-	    (list 'show-axes show-axes #f 0 2)
-	    (list 'show-transform-peaks show-transform-peaks #f #f #t)
-	    (list 'show-indices show-indices #f #f #t)
-	    (list 'show-marks show-marks #f #f #t)
-	    (list 'show-mix-waveforms show-mix-waveforms #t #f #t)
-	    (list 'show-selection-transform show-selection-transform #f #f #t)
-	    (list 'show-y-zero show-y-zero #f #f #t)
-	    (list 'show-grid show-grid #f #f #t)
-	    (list 'grid-density grid-density 1.0 0.1 4.0)
-	    (list 'show-sonogram-cursor show-sonogram-cursor #f #f #t)
-	    (list 'sinc-width sinc-width #f 4 100)
-	    (list 'spectrum-end spectrum-end #f 0.5 0.8)
-	    (list 'spectro-hop spectro-hop #f 2 20)
-	    (list 'spectrum-start spectrum-start #f 0.0 0.1)
-	    (list 'spectro-x-angle spectro-x-angle #f 0.0 90.0)
-	    (list 'spectro-x-scale spectro-x-scale #f 0.1 2.0)
-	    (list 'spectro-y-angle spectro-y-angle #f 0.0 90.0)
-	    (list 'spectro-y-scale spectro-y-scale #f 0.1 2.0)
-	    (list 'spectro-z-angle spectro-z-angle #f 0.0 359.0)
-	    (list 'spectro-z-scale spectro-z-scale #f 0.1 0.2)
-	    (list 'speed-control speed-control #t 0.1 5.0)
-	    (list 'speed-control-style speed-control-style #f 0 2)
-	    (list 'speed-control-tones speed-control-tones #f 2 100)
-	    (list 'sync sync #t 0 5)
-	    (list 'sync-style sync-style #f 0 3)
-	    (list 'with-verbose-cursor with-verbose-cursor #f #f #t)
-	    (list 'wavelet-type wavelet-type #f 0 10)
-	    (list 'time-graph? time-graph? #t #f #t)
-	    (list 'x-axis-style x-axis-style #f 0 2)
-	    (list 'beats-per-minute beats-per-minute #f 60.0 120.0)
-	    (list 'beats-per-measure beats-per-measure #f 4 120)
-	    (list 'zero-pad zero-pad #f 0 2)
-	    (list 'zoom-focus-style zoom-focus-style #f 0 3))))
-	
-	(if (not (equal? *transform-type* fourier-transform))
-	    (begin
-	      (set! (transform-graph? #t #t) #f)
-	      (set! *transform-size* (min *transform-size* 128))))
-	))
+	  (list 'time-graph-style time-graph-style #f 0 4)
+	  (list 'lisp-graph-style lisp-graph-style #f 0 4)
+	  (list 'transform-graph-style transform-graph-style #f 0 4)
+	  (list 'graphs-horizontal graphs-horizontal #f #f #t)
+	  (list 'max-transform-peaks max-transform-peaks #f 1 100)
+	  (list 'max-regions max-regions #f 1 32)
+	  (list 'min-dB min-dB #f -120.0 -30.0)
+	  (list 'log-freq-start log-freq-start #f 50.0 5.0)
+	  (list 'selection-creates-region selection-creates-region #f #f #t)
+	  (list 'transform-normalization transform-normalization #f dont-normalize normalize-globally)
+	  (list 'play-arrow-size play-arrow-size #f 2 32)
+	  (list 'print-length print-length #f 2 32)
+	  (list 'region-graph-style region-graph-style #f graph-lines graph-lollipops)
+	  (list 'reverb-control-decay reverb-control-decay #f 0.0 2.0)
+	  (list 'reverb-control-feedback reverb-control-feedback #t 1.00 1.1)
+	  (list 'reverb-control-length reverb-control-length #t 1.0 2.0)
+	  (list 'reverb-control-lowpass reverb-control-lowpass #t 0.2 0.99)
+	  (list 'reverb-control-scale reverb-control-scale #t 0.0 0.2)
+	  (list 'reverb-control? reverb-control? #t #f #t)
+	  (list 'show-axes show-axes #f 0 2)
+	  (list 'show-transform-peaks show-transform-peaks #f #f #t)
+	  (list 'show-indices show-indices #f #f #t)
+	  (list 'show-marks show-marks #f #f #t)
+	  (list 'show-mix-waveforms show-mix-waveforms #t #f #t)
+	  (list 'show-selection-transform show-selection-transform #f #f #t)
+	  (list 'show-y-zero show-y-zero #f #f #t)
+	  (list 'show-grid show-grid #f #f #t)
+	  (list 'grid-density grid-density 1.0 0.1 4.0)
+	  (list 'show-sonogram-cursor show-sonogram-cursor #f #f #t)
+	  (list 'sinc-width sinc-width #f 4 100)
+	  (list 'spectrum-end spectrum-end #f 0.5 0.8)
+	  (list 'spectro-hop spectro-hop #f 2 20)
+	  (list 'spectrum-start spectrum-start #f 0.0 0.1)
+	  (list 'spectro-x-angle spectro-x-angle #f 0.0 90.0)
+	  (list 'spectro-x-scale spectro-x-scale #f 0.1 2.0)
+	  (list 'spectro-y-angle spectro-y-angle #f 0.0 90.0)
+	  (list 'spectro-y-scale spectro-y-scale #f 0.1 2.0)
+	  (list 'spectro-z-angle spectro-z-angle #f 0.0 359.0)
+	  (list 'spectro-z-scale spectro-z-scale #f 0.1 0.2)
+	  (list 'speed-control speed-control #t 0.1 5.0)
+	  (list 'speed-control-style speed-control-style #f 0 2)
+	  (list 'speed-control-tones speed-control-tones #f 2 100)
+	  (list 'sync sync #t 0 5)
+	  (list 'sync-style sync-style #f 0 3)
+	  (list 'with-verbose-cursor with-verbose-cursor #f #f #t)
+	  (list 'wavelet-type wavelet-type #f 0 10)
+	  (list 'time-graph? time-graph? #t #f #t)
+	  (list 'x-axis-style x-axis-style #f 0 2)
+	  (list 'beats-per-minute beats-per-minute #f 60.0 120.0)
+	  (list 'beats-per-measure beats-per-measure #f 4 120)
+	  (list 'zero-pad zero-pad #f 0 2)
+	  (list 'zoom-focus-style zoom-focus-style #f 0 3))))
+      
+      (if (not (equal? *transform-type* fourier-transform))
+	  (begin
+	    (set! (transform-graph? #t #t) #f)
+	    (set! *transform-size* (min *transform-size* 128)))))
     (set! *sinc-width* 10)
     (if (pair? open-files) (for-each close-sound open-files))
     (set! *sync-style* sync-none)
-    (set! open-files ())
-    (set! (mus-rand-seed) 1234)
-    (if (not (= (mus-rand-seed) 1234)) (snd-display ";mus-rand-seed: ~A (1234)!" (mus-rand-seed)))
-    (let ((val (mus-random 1.0))
-	  (val1 (mus-random 1.0)))
-      (if (or (fneq val -0.7828) 
-	      (fneq val1 -0.8804))
-	  (snd-display ";mus-random: ~A ~A?" val val1))
-      (if (= (mus-rand-seed) 1234) (snd-display ";mus-rand-seed: ~A!" (mus-rand-seed))))
-    (set! (mus-rand-seed) 1234)
-    (let ((val (mus-random 1.0))
-	  (val1 (mus-random 1.0)))
-      (if (or (fneq val -0.7828) 
-	      (fneq val1 -0.8804))
-	  (snd-display ";mus-random repeated: ~A ~A?" val val1)))
-    (set! (hook-functions after-open-hook) ())
-    (set! (hook-functions close-hook) ())
-    (set! (hook-functions open-hook) ())
-    
-    (set! *clipping* #f)
-    (for-each close-sound (sounds))
-    )
-  )
+    (set! open-files ()))
+  (set! (mus-rand-seed) 1234)
+  (if (not (= (mus-rand-seed) 1234)) (snd-display ";mus-rand-seed: ~A (1234)!" (mus-rand-seed)))
+  (let ((val (mus-random 1.0))
+	(val1 (mus-random 1.0)))
+    (if (or (fneq val -0.7828) 
+	    (fneq val1 -0.8804))
+	(snd-display ";mus-random: ~A ~A?" val val1))
+    (if (= (mus-rand-seed) 1234) (snd-display ";mus-rand-seed: ~A!" (mus-rand-seed))))
+  (set! (mus-rand-seed) 1234)
+  (let ((val (mus-random 1.0))
+	(val1 (mus-random 1.0)))
+    (if (or (fneq val -0.7828) 
+	    (fneq val1 -0.8804))
+	(snd-display ";mus-random repeated: ~A ~A?" val val1)))
+  (set! (hook-functions after-open-hook) ())
+  (set! (hook-functions close-hook) ())
+  (set! (hook-functions open-hook) ())
+  
+  (set! *clipping* #f)
+  (for-each close-sound (sounds)))
 
 
 
@@ -26748,62 +26551,59 @@ EDITS: 2
 			   ))
   
   (define (test-history-channel func name new-value snd1 snd2 snd3)
-    (define test-equal
-      (lambda (nv new-value)
-	(if (and (number? nv)
-		 (not (rational? nv)))
-	    (not (fneq nv new-value))
-	    (equal? nv new-value))))
-    (if (not (or (equal? (flatten (func #t #t)) (apply map func (all-chans)))
-		 (equal? (flatten (func #t #t)) (apply map func (all-chans-reversed)))))
-	(snd-display ";test-history-channel ~A[0]: ~A ~A?" name (flatten (func #t #t)) (apply map func (all-chans))))
-    (let ((old-value (func)))
-      (func snd1 0)
-      (set! (func snd1 0) new-value)
-      (let ((nv (func snd1 0)))
-	(if (not (test-equal nv new-value))
-	    (snd-display ";test-history-channel set-~A[1]: ~A ~A?" name new-value (func snd1 0))))
-      (set! (func snd3 2) new-value)
-      (let ((nv (func snd3 2)))
-	(if (not (test-equal nv new-value))
-	    (snd-display ";test-history-channel set-~A[2]: ~A ~A?" name new-value (func snd3 2))))
-      (if (not (test-equal old-value new-value))
-	  (let ((nv (func snd3 1)))
-	    (if (test-equal nv new-value)
-		(snd-display ";test-history-channel set-~A[3]: ~A ~A?" name new-value (func snd3 1)))))
-      (set! (func snd2 #t) new-value)
-      (let ((nv (func snd2 1)))
-	(if (not (test-equal nv new-value))
-	    (snd-display ";test-history-channel set-~A[4]: ~A ~A?" name new-value (func snd2 1))))
-      (set! (func) new-value)
-      (if (not (let chan-equal? ((vals (flatten (func #t #t)))
-				 (new-value new-value))
-		 (cond ((null? vals))
-		       ((pair? vals)
-			(and (chan-equal? (car vals) new-value)
-			     (chan-equal? (cdr vals) new-value)))
-		       (else (test-equal vals new-value)))))
-	  (snd-display ";test-history-channel ~A[5]: ~A ~A?" name (flatten (func #t #t))
-		       (apply map func (all-chans))))
-      (set! (func) old-value)
-      ))
+    (let ((test-equal (lambda (nv new-value)
+			(if (and (number? nv)
+				 (not (rational? nv)))
+			    (not (fneq nv new-value))
+			    (equal? nv new-value)))))
+      (if (not (or (equal? (flatten (func #t #t)) (apply map func (all-chans)))
+		   (equal? (flatten (func #t #t)) (apply map func (all-chans-reversed)))))
+	  (snd-display ";test-history-channel ~A[0]: ~A ~A?" name (flatten (func #t #t)) (apply map func (all-chans))))
+      (let ((old-value (func)))
+	(func snd1 0)
+	(set! (func snd1 0) new-value)
+	(let ((nv (func snd1 0)))
+	  (if (not (test-equal nv new-value))
+	      (snd-display ";test-history-channel set-~A[1]: ~A ~A?" name new-value (func snd1 0))))
+	(set! (func snd3 2) new-value)
+	(let ((nv (func snd3 2)))
+	  (if (not (test-equal nv new-value))
+	      (snd-display ";test-history-channel set-~A[2]: ~A ~A?" name new-value (func snd3 2))))
+	(if (not (test-equal old-value new-value))
+	    (let ((nv (func snd3 1)))
+	      (if (test-equal nv new-value)
+		  (snd-display ";test-history-channel set-~A[3]: ~A ~A?" name new-value (func snd3 1)))))
+	(set! (func snd2 #t) new-value)
+	(let ((nv (func snd2 1)))
+	  (if (not (test-equal nv new-value))
+	      (snd-display ";test-history-channel set-~A[4]: ~A ~A?" name new-value (func snd2 1))))
+	(set! (func) new-value)
+	(if (not (let chan-equal? ((vals (flatten (func #t #t)))
+				   (new-value new-value))
+		   (cond ((null? vals))
+			 ((pair? vals)
+			  (and (chan-equal? (car vals) new-value)
+			       (chan-equal? (cdr vals) new-value)))
+			 (else (test-equal vals new-value)))))
+	    (snd-display ";test-history-channel ~A[5]: ~A ~A?" name (flatten (func #t #t))
+			 (apply map func (all-chans))))
+	(set! (func) old-value))))
   
   ;; test src-* 
   
   (define (freq-peak beg ind size)
     (define (interpolated-peak-offset la ca ra)
-      (let* ((pk (+ .001 (max la ca ra)))
-	     (logla (log (/ (max la .0000001) pk) 10))
-	     (logca (log (/ (max ca .0000001) pk) 10))
-	     (logra (log (/ (max ra .0000001) pk) 10)))
-	(/ (* 0.5 (- logla logra))
-	   (- (+ logla logra)
-	      (* 2 logca)))))
-    (let* ((data (channel->float-vector beg size ind 0))
-	   (spectr (snd-spectrum data blackman2-window size)))
-      (let ((peak0 0.0)
-	    (pk0loc 0)
-	    (size2 (/ size 2)))
+      (let ((pk (+ .001 (max la ca ra))))
+	(let ((logla (log (/ (max la .0000001) pk) 10))
+	      (logca (log (/ (max ca .0000001) pk) 10))
+	      (logra (log (/ (max ra .0000001) pk) 10)))
+	  (/ (* 0.5 (- logla logra))
+	     (- (+ logla logra)
+		(* 2 logca))))))
+    (let ((spectr (snd-spectrum (channel->float-vector beg size ind 0) blackman2-window size))
+	  (peak0 0.0)
+	  (pk0loc 0)
+	  (size2 (/ size 2)))
       (do ((i 0 (+ i 1)))
 	  ((= i size2) 
 	   (list (/ (* (+ pk0loc
@@ -26819,7 +26619,7 @@ EDITS: 2
 	(if (> (spectr i) peak0)
 	    (begin
 	      (set! peak0 (spectr i))
-	      (set! pk0loc i)))))))
+	      (set! pk0loc i))))))
   
   (define (test-selection ind beg len scaler)
     (set! (selection-member? ind 0) #t)
@@ -26902,19 +26702,18 @@ EDITS: 2
 	      (snd-display ";all-chans(2): ~A?" (all-chans)))
 	  (if (not (string=? (finfo "oboe.snd") "oboe.snd: chans: 1, srate: 22050, Sun/Next, big endian short (16 bits), len: 2.305"))
 	      (snd-display ";finfo: ~A?" (finfo "oboe.snd")))
-	  (close-sound s2i)
-	  (close-sound obi)
-	  (if (not (equal? (all-chans) '(() ()))) (snd-display ";all-chans(0): ~A?" (all-chans)))
-	  (set! obi (open-sound "oboe.snd"))
-	  (set! (cursor obi) 1000)
-	  (let ((tick (locate-zero .001)))
-	    (if (not (= tick 1050)) 
-		(snd-display ";locate-zero: ~A = ~A (second try: ~A)?" tick (sample tick) (locate-zero .001))))
-	  (hook-push graph-hook auto-dot)
-	  (hook-push graph-hook superimpose-ffts)
-	  (set! (transform-graph? obi 0) #t)
-					;(update-graphs)
-	  (set! s2i (open-sound (car (match-sound-files (lambda (file) (= (mus-sound-chans file) 2))))))
+	  (close-sound s2i))
+	(close-sound obi)
+	(if (not (equal? (all-chans) '(() ()))) (snd-display ";all-chans(0): ~A?" (all-chans)))
+	(set! obi (open-sound "oboe.snd"))
+	(set! (cursor obi) 1000)
+	(let ((tick (locate-zero .001)))
+	  (if (not (= tick 1050)) 
+	      (snd-display ";locate-zero: ~A = ~A (second try: ~A)?" tick (sample tick) (locate-zero .001))))
+	(hook-push graph-hook auto-dot)
+	(hook-push graph-hook superimpose-ffts)
+	(set! (transform-graph? obi 0) #t)
+	(let ((s2i (open-sound (car (match-sound-files (lambda (file) (= (mus-sound-chans file) 2)))))))
 	  (if (not (= (chans s2i) 2)) (snd-display ";match 2 got ~A with ~A chans" (short-file-name s2i) (chans s2i)))
 					;(update-graphs)
 	  (hook-remove graph-hook auto-dot)
@@ -26925,25 +26724,25 @@ EDITS: 2
 	    (first-mark-in-window-at-left)
 	    (if (> (abs (- (left-sample obi 0) 100)) 1) (snd-display ";mark-in-window: ~A ~A?" (left-sample obi 0) (mark-sample m1)))
 	    (delete-mark m1))
-	  (close-sound s2i)
-	  (safe-make-selection obi)
-	  (delete-selection-and-smooth)
-	  (if (not (equal? (edit-fragment 0 obi 0) '("" "init" 0 50828))) 
-	      (snd-display ";edit-fragment(0): ~S?" (edit-fragment 0 obi 0)))
-	  (if (not (equal? (edit-fragment 1 obi 0) '("delete-samples 1000 1001" "delete" 1000 1001))) 
-	      (snd-display ";edit-fragment(1): ~S?" (edit-fragment 1 obi 0)))
-	  (if (not (equal? (edit-fragment 2 obi 0) '("delete-selection-and-smooth" "set" 968 64))) 
-	      (snd-display ";edit-fragment(2): ~S?" (edit-fragment 2 obi 0)))
-	  
-	  (let ((maxa (maxamp obi)))
-	    (normalized-mix "pistol.snd" 1000 0 obi 0)
-	    (let ((nmaxa (maxamp obi)))
-	      (if (fneq maxa nmaxa) (snd-display ";normalized-mix: ~A ~A?" maxa nmaxa)))
-	    (revert-sound obi))
-	  (set! s2i (open-sound (car (match-sound-files (lambda (file) 
-							  (and (= (mus-sound-chans file) 2)
-							       (not (= (mus-sound-header-type file) mus-raw))
-							       (> (mus-sound-framples file) 1000)))))))
+	  (close-sound s2i))
+	(safe-make-selection obi)
+	(delete-selection-and-smooth)
+	(if (not (equal? (edit-fragment 0 obi 0) '("" "init" 0 50828))) 
+	    (snd-display ";edit-fragment(0): ~S?" (edit-fragment 0 obi 0)))
+	(if (not (equal? (edit-fragment 1 obi 0) '("delete-samples 1000 1001" "delete" 1000 1001))) 
+	    (snd-display ";edit-fragment(1): ~S?" (edit-fragment 1 obi 0)))
+	(if (not (equal? (edit-fragment 2 obi 0) '("delete-selection-and-smooth" "set" 968 64))) 
+	    (snd-display ";edit-fragment(2): ~S?" (edit-fragment 2 obi 0)))
+	
+	(let ((maxa (maxamp obi)))
+	  (normalized-mix "pistol.snd" 1000 0 obi 0)
+	  (let ((nmaxa (maxamp obi)))
+	    (if (fneq maxa nmaxa) (snd-display ";normalized-mix: ~A ~A?" maxa nmaxa)))
+	  (revert-sound obi))
+	(let ((s2i (open-sound (car (match-sound-files (lambda (file) 
+							 (and (= (mus-sound-chans file) 2)
+							      (not (= (mus-sound-header-type file) mus-raw))
+							      (> (mus-sound-framples file) 1000))))))))
 	  (if (not (= (chans s2i) 2)) (snd-display ";match 2+1000 got ~A with ~A chans" (short-file-name s2i) (chans s2i)))
 	  (let ((o1 (sample 1000 obi 0))
 		(s1 (sample 1000 s2i 0))
@@ -26992,22 +26791,22 @@ EDITS: 2
 	  (revert-sound obi)
 	  (set! (sync obi) 3)
 	  (set! (sync s2i) 3)
-	  (let* ((half-way (floor (* 0.5 (framples obi))))
-		 (o1 (sample half-way obi 0))
-		 (s1 (sample half-way s2i 0))
-		 (s2 (sample half-way s2i 1)))
-	    (place-sound obi s2i '(0 .5 1 .5))
-	    (let ((s21 (sample half-way s2i 0))
-		  (s22 (sample half-way s2i 1)))
-	      (revert-sound s2i)
-	      (place-sound obi s2i 45.0)
-	      (let ((s31 (sample half-way s2i 0))
-		    (s32 (sample half-way s2i 1)))
-		(if (or (fneq (+ s1 (* 0.5 o1)) s21)
-			(fneq (+ s2 (* 0.5 o1)) s22)
-			(fneq s21 s31)
-			(fneq s22 s32))
-		    (snd-display ";place: ~A " (list o1 s1 s2 s21 s22 s31 s32))))))
+	  (let ((half-way (floor (* 0.5 (framples obi)))))
+	    (let ((o1 (sample half-way obi 0))
+		  (s1 (sample half-way s2i 0))
+		  (s2 (sample half-way s2i 1)))
+	      (place-sound obi s2i '(0 .5 1 .5))
+	      (let ((s21 (sample half-way s2i 0))
+		    (s22 (sample half-way s2i 1)))
+		(revert-sound s2i)
+		(place-sound obi s2i 45.0)
+		(let ((s31 (sample half-way s2i 0))
+		      (s32 (sample half-way s2i 1)))
+		  (if (or (fneq (+ s1 (* 0.5 o1)) s21)
+			  (fneq (+ s2 (* 0.5 o1)) s22)
+			  (fneq s21 s31)
+			  (fneq s22 s32))
+		      (snd-display ";place: ~A " (list o1 s1 s2 s21 s22 s31 s32)))))))
 	  (revert-sound s2i)
 	  (revert-sound obi)
 	  (set! (sync obi) 0)
@@ -27043,116 +26842,115 @@ EDITS: 2
 			  (fneq s2 (sample 1000 s2i 0)))
 		      (snd-display ";swap-selection-channels: ~A?" (list s1 s2 (sample 1000 s2i 0) (sample 1000 s2i 1)))))))
 	  (revert-sound s2i)
-	  (close-sound s2i)
-	  
-	  (set! obi (open-sound "oboe.snd"))
-	  (select-all)
-	  (for-each forget-region (regions))
-	  (if (not (null? (regions))) (snd-display ";no regions? ~A" (regions)))
-	  (let ((id (make-region 100 200 obi 0)))
-	    (if (not (equal? (regions) (list id))) (snd-display ";make-region regions: ~A?" (regions))))
+	  (close-sound s2i)))
 	  
-	  (revert-sound obi)
-	  (let ((oldlen (framples obi)))
-	    (env-sound-interp '(0 0 1 1 2 0) 2.0 obi 0)
-	    (let ((newlen (framples obi)))
-	      (if (> (abs (- (* 2 oldlen) newlen)) 3)
-		  (snd-display ";env-sound-interp: ~A ~A?" oldlen newlen))))
+      (let ((obi (open-sound "oboe.snd")))
+	(select-all)
+	(for-each forget-region (regions))
+	(if (not (null? (regions))) (snd-display ";no regions? ~A" (regions)))
+	(let ((id (make-region 100 200 obi 0)))
+	  (if (not (equal? (regions) (list id))) (snd-display ";make-region regions: ~A?" (regions))))
+	
+	(revert-sound obi)
+	(let ((oldlen (framples obi)))
+	  (env-sound-interp '(0 0 1 1 2 0) 2.0 obi 0)
+	  (let ((newlen (framples obi)))
+	    (if (> (abs (- (* 2 oldlen) newlen)) 3)
+		(snd-display ";env-sound-interp: ~A ~A?" oldlen newlen))))
+	
+	(revert-sound obi)
+	(granulated-sound-interp '(0 0 1 .1 2 1) 1.0 0.2 '(0 0 1 1 2 0))
+	(if (not (= (edit-position obi 0) 1)) (snd-display ";granulated-sound-interp no-op 1?"))
+	(if (< (maxamp obi 0) .15) (snd-display ";granulated-sound-interp 1 maxamp: ~A" (maxamp obi 0)))
+	(if (> (abs (- (framples obi 0) 50828)) 1000) (snd-display ";granulated-sound-interp 1 framples: ~A" (framples obi 0)))
+	(revert-sound obi)
+	(granulated-sound-interp '(0 0 1 1) 2.0)
+	(if (not (= (edit-position obi 0) 1)) (snd-display ";granulated-sound-interp no-op 2?"))
+	(if (< (maxamp obi 0) .145) (snd-display ";granulated-sound-interp 2 maxamp: ~A" (maxamp obi 0)))
+	(if (> (abs (- (framples obi 0) 101656)) 1000) (snd-display ";granulated-sound-interp 2 framples: ~A" (framples obi 0)))
+	(revert-sound obi)
+	(granulated-sound-interp '(0 0 1 .1 2 1) 1.0 0.2 '(0 0 1 1 2 0) 0.02)
+	(if (not (= (edit-position obi 0) 1)) (snd-display ";granulated-sound-interp no-op 3?"))
+	(if (< (maxamp obi 0) .2) (snd-display ";granulated-sound-interp 3 maxamp: ~A" (maxamp obi 0)))
+	(if (> (abs (- (framples obi 0) 50828)) 1000) (snd-display ";granulated-sound-interp 3 framples: ~A" (framples obi 0)))
+	
+	(close-sound obi))
+	
+      (let-temporarily ((*clm-srate* 22050))
+	(let ((ind (new-sound "test.snd" :size 20)))
+	  (set! *print-length* (max *print-length* 20))
+	  (offset-channel 1.0)
+	  (env-sound '(0 0 1 1))
+	  (let ((osc (make-oscil :frequency 1000.0 :initial-phase (+ pi (/ pi 2))))
+		(reader (make-sound-interp 0 ind 0)) 
+		(len (- (framples ind 0) 1)))
+	    (map-channel (lambda (val) 
+			   (sound-interp reader (* len (+ 0.5 (* 0.5 (oscil osc)))))))
+	    (if (not (mus-arrays-equal? (channel->float-vector) (float-vector 0.000 0.020 0.079 0.172 0.291 0.427 0.569 0.706 0.825 0.919 
+									      0.979 1.000 0.981 0.923 0.831 0.712 0.576 0.434 0.298 0.177)))
+		(snd-display ";sound-interp: ~A" (channel->float-vector))))
+	  (undo)
 	  
-	  (revert-sound obi)
-	  (granulated-sound-interp '(0 0 1 .1 2 1) 1.0 0.2 '(0 0 1 1 2 0))
-	  (if (not (= (edit-position obi 0) 1)) (snd-display ";granulated-sound-interp no-op 1?"))
-	  (if (< (maxamp obi 0) .15) (snd-display ";granulated-sound-interp 1 maxamp: ~A" (maxamp obi 0)))
-	  (if (> (abs (- (framples obi 0) 50828)) 1000) (snd-display ";granulated-sound-interp 1 framples: ~A" (framples obi 0)))
-	  (revert-sound obi)
-	  (granulated-sound-interp '(0 0 1 1) 2.0)
-	  (if (not (= (edit-position obi 0) 1)) (snd-display ";granulated-sound-interp no-op 2?"))
-	  (if (< (maxamp obi 0) .145) (snd-display ";granulated-sound-interp 2 maxamp: ~A" (maxamp obi 0)))
-	  (if (> (abs (- (framples obi 0) 101656)) 1000) (snd-display ";granulated-sound-interp 2 framples: ~A" (framples obi 0)))
-	  (revert-sound obi)
-	  (granulated-sound-interp '(0 0 1 .1 2 1) 1.0 0.2 '(0 0 1 1 2 0) 0.02)
-	  (if (not (= (edit-position obi 0) 1)) (snd-display ";granulated-sound-interp no-op 3?"))
-	  (if (< (maxamp obi 0) .2) (snd-display ";granulated-sound-interp 3 maxamp: ~A" (maxamp obi 0)))
-	  (if (> (abs (- (framples obi 0) 50828)) 1000) (snd-display ";granulated-sound-interp 3 framples: ~A" (framples obi 0)))
+	  (let ((osc (make-oscil :frequency 0.5 :initial-phase (+ pi (/ pi 2))))
+		(reader (make-sound-interp 0 ind 0))
+		(len (- (framples ind 0) 1)))
+	    (map-channel (lambda (val) 
+			   (sound-interp reader (* len (+ 0.5 (* 0.5 (oscil osc))))))))
+	  (undo)
 	  
-	  (close-sound obi)
-	  )
-	
-	(let-temporarily ((*clm-srate* 22050))
-	  (let ((ind (new-sound "test.snd" :size 20)))
-	    (set! *print-length* (max *print-length* 20))
-	    (offset-channel 1.0)
-	    (env-sound '(0 0 1 1))
-	    (let ((osc (make-oscil :frequency 1000.0 :initial-phase (+ pi (/ pi 2))))
-		  (reader (make-sound-interp 0 ind 0)) 
-		  (len (- (framples ind 0) 1)))
-	      (map-channel (lambda (val) 
-			     (sound-interp reader (* len (+ 0.5 (* 0.5 (oscil osc)))))))
-	      (if (not (mus-arrays-equal? (channel->float-vector) (float-vector 0.000 0.020 0.079 0.172 0.291 0.427 0.569 0.706 0.825 0.919 
-								     0.979 1.000 0.981 0.923 0.831 0.712 0.576 0.434 0.298 0.177)))
-		  (snd-display ";sound-interp: ~A" (channel->float-vector))))
-	    (undo)
-	    
-	    (let ((osc (make-oscil :frequency 0.5 :initial-phase (+ pi (/ pi 2))))
-		  (reader (make-sound-interp 0 ind 0))
-		  (len (- (framples ind 0) 1)))
-	      (map-channel (lambda (val) 
-			     (sound-interp reader (* len (+ 0.5 (* 0.5 (oscil osc))))))))
-	    (undo)
-	    
-	    (env-sound-interp '(0 0 1 1))
-	    (if (not (mus-arrays-equal? (channel->float-vector) (float-vector 0.000 0.053 0.105 0.158 0.211 0.263 0.316 0.368 0.421 0.474 
-								   0.526 0.579 0.632 0.684 0.737 0.789 0.842 0.895 0.947 1.000)))
-		(snd-display ";env-sound-interp no change: ~A" (channel->float-vector)))
-	    (undo)
-	    (env-sound-interp '(0 0 1 .95 2 0) 2.0)
-	    (if (not (mus-arrays-equal? (channel->float-vector) (float-vector 0.000 0.050 0.100 0.150 0.200 0.250 0.300 0.350 0.400 0.450 
-								   0.500 0.550 0.600 0.650 0.700 0.750 0.800 0.850 0.900 0.950
-								   1.000 0.950 0.900 0.850 0.800 0.750 0.700 0.650 0.600 0.550 
-								   0.500 0.450 0.400 0.350 0.300 0.250 0.200 0.150 0.100 0.050)))
-		(snd-display ";env-sound-interp twice len and back: ~A" (channel->float-vector)))
-	    (revert-sound ind)
-	    (set! (sample 10) .5)
-	    (remove-clicks)
-	    (if (fneq (sample 10) 0.0) (snd-display ";remove-clicks: ~A" (channel->float-vector)))
-	    (undo)
-	    (let ((vals (scan-channel (search-for-click))))
-	      (if (not (= vals 11))
-		  (snd-display ";search-for-click: ~A" vals)))
-	    (close-sound ind)))
-	
-	(let ((ind1 (new-sound :size 20 :comment "new-sound for sound-via-sound"))
-	      (ind2 (new-sound :size 20 :comment "second new-sound for sound-via-sound")))
-	  (let ((val -0.05)) (map-channel (lambda (y) (set! val (+ val .05))) 0 20 ind1))
-	  (let ((val 1.1)) (map-channel (lambda (y) (set! val (- val .1))) 0 20 ind2))
-	  (select-sound ind1)
-	  (sound-via-sound ind1 ind2)
-	  (let ((vals (channel->float-vector 0 20 ind1)))
-	    (if (not (mus-arrays-equal? vals (float-vector 0.95 0.90 0.85 0.80 0.75 0.70 0.65 0.60 0.55 0.50 0.45 0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05 0.00)))
-		(snd-display ";sound-via-sound: ~A" vals)))
-	  (let ((new-file-name (file-name ind2)))
-	    (close-sound ind2)
-	    (if (file-exists? new-file-name) (delete-file new-file-name)))
-	  (revert-sound ind1)
-	  (let ((val -.5)) (map-channel (lambda (y) (set! val (+ val .05)))))
-	  (let ((val (scan-channel (zero+))))
-	    (if (not (eqv? val 10))
-		(snd-display ";zero+: ~A" val)))
-	  (set! (sample 8) .8)
-	  (let ((val (scan-channel (next-peak))))
-	    (if (not (eqv? val 9))
-		(snd-display ";next-peak: ~A" val)))
-	  (let ((val (scan-channel (search-for-click))))
-	    (if (not (eqv? val 9))
-		(snd-display ";search-for-click: ~A" val)))
-	  (if (not (= (find-click 0) 8)) (snd-display ";find-click: ~A" (find-click 0)))
-	  (let ((new-file-name (file-name ind1)))
-	    (close-sound ind1)
-	    (if (file-exists? new-file-name) (delete-file new-file-name))))
-	
-	(let* ((id (open-sound "oboe.snd"))
-	       (fr (framples id 0))
-	       (mx (maxamp id 0)))
+	  (env-sound-interp '(0 0 1 1))
+	  (if (not (mus-arrays-equal? (channel->float-vector) (float-vector 0.000 0.053 0.105 0.158 0.211 0.263 0.316 0.368 0.421 0.474 
+									    0.526 0.579 0.632 0.684 0.737 0.789 0.842 0.895 0.947 1.000)))
+	      (snd-display ";env-sound-interp no change: ~A" (channel->float-vector)))
+	  (undo)
+	  (env-sound-interp '(0 0 1 .95 2 0) 2.0)
+	  (if (not (mus-arrays-equal? (channel->float-vector) (float-vector 0.000 0.050 0.100 0.150 0.200 0.250 0.300 0.350 0.400 0.450 
+									    0.500 0.550 0.600 0.650 0.700 0.750 0.800 0.850 0.900 0.950
+									    1.000 0.950 0.900 0.850 0.800 0.750 0.700 0.650 0.600 0.550 
+									    0.500 0.450 0.400 0.350 0.300 0.250 0.200 0.150 0.100 0.050)))
+	      (snd-display ";env-sound-interp twice len and back: ~A" (channel->float-vector)))
+	  (revert-sound ind)
+	  (set! (sample 10) .5)
+	  (remove-clicks)
+	  (if (fneq (sample 10) 0.0) (snd-display ";remove-clicks: ~A" (channel->float-vector)))
+	  (undo)
+	  (let ((vals (scan-channel (search-for-click))))
+	    (if (not (= vals 11))
+		(snd-display ";search-for-click: ~A" vals)))
+	  (close-sound ind)))
+      
+      (let ((ind1 (new-sound :size 20 :comment "new-sound for sound-via-sound"))
+	    (ind2 (new-sound :size 20 :comment "second new-sound for sound-via-sound")))
+	(let ((val -0.05)) (map-channel (lambda (y) (set! val (+ val .05))) 0 20 ind1))
+	(let ((val 1.1)) (map-channel (lambda (y) (set! val (- val .1))) 0 20 ind2))
+	(select-sound ind1)
+	(sound-via-sound ind1 ind2)
+	(let ((vals (channel->float-vector 0 20 ind1)))
+	  (if (not (mus-arrays-equal? vals (float-vector 0.95 0.90 0.85 0.80 0.75 0.70 0.65 0.60 0.55 0.50 0.45 0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05 0.00)))
+	      (snd-display ";sound-via-sound: ~A" vals)))
+	(let ((new-file-name (file-name ind2)))
+	  (close-sound ind2)
+	  (if (file-exists? new-file-name) (delete-file new-file-name)))
+	(revert-sound ind1)
+	(let ((val -.5)) (map-channel (lambda (y) (set! val (+ val .05)))))
+	(let ((val (scan-channel (zero+))))
+	  (if (not (eqv? val 10))
+	      (snd-display ";zero+: ~A" val)))
+	(set! (sample 8) .8)
+	(let ((val (scan-channel (next-peak))))
+	  (if (not (eqv? val 9))
+	      (snd-display ";next-peak: ~A" val)))
+	(let ((val (scan-channel (search-for-click))))
+	  (if (not (eqv? val 9))
+	      (snd-display ";search-for-click: ~A" val)))
+	(if (not (= (find-click 0) 8)) (snd-display ";find-click: ~A" (find-click 0)))
+	(let ((new-file-name (file-name ind1)))
+	  (close-sound ind1)
+	  (if (file-exists? new-file-name) (delete-file new-file-name))))
+      
+      (let ((id (open-sound "oboe.snd")))
+	(let ((fr (framples id 0))
+	      (mx (maxamp id 0)))
 	  (set! (framples id 0) 25000)
 	  (if (not (= (framples id 0) 25000)) (snd-display ";set-framples 25000: ~A?" (framples id 0)))
 	  (if (not (= (edit-position id 0) 1)) (snd-display ";set-framples 25000 edit: ~A?" (edit-position id 0)))
@@ -27191,13 +26989,13 @@ EDITS: 2
 	  (if (fneq (y-zoom-slider id 0) .5) (snd-display ";set y-zoom-slider: ~A?" (y-zoom-slider id 0)))
 	  (let ((vals (channel-amp-envs "oboe.snd" 0 10)))
 	    (if (not (and (mus-arrays-equal? (car vals)
-				  (float-vector -4.8828125e-4 -0.104156494140625 -0.125213623046875 -0.1356201171875 -0.138916015625 
-						-0.14093017578125 -0.14093017578125 -0.131439208984375 -0.11248779296875 -0.080047607421875))
+					     (float-vector -4.8828125e-4 -0.104156494140625 -0.125213623046875 -0.1356201171875 -0.138916015625 
+							   -0.14093017578125 -0.14093017578125 -0.131439208984375 -0.11248779296875 -0.080047607421875))
 			  (mus-arrays-equal? (cadr vals)
-				  (float-vector 0.0 0.10955810546875 0.130706787109375 0.14068603515625 0.141204833984375 0.147247314453125 
-						0.145904541015625 0.140289306640625 0.126861572265625 0.08172607421875))))
+					     (float-vector 0.0 0.10955810546875 0.130706787109375 0.14068603515625 0.141204833984375 0.147247314453125 
+							   0.145904541015625 0.140289306640625 0.126861572265625 0.08172607421875))))
 		(snd-display ";channel-amp-envs: ~A?" vals)))
-	  
+	
 	  (let ((len (length (channel-properties id 0))))
 	    (if (channel-property 'hiho id 0)
 		(snd-display ";channel-property 'hiho: ~A?" (channel-property 'hiho id 0)))
@@ -27233,991 +27031,986 @@ EDITS: 2
 	  (let ((tag (catch #t (lambda () (map-channel (lambda (y) (copy "hiho")))) (lambda args args))))
 	    (if (not (memq (car tag) '(bad-type wrong-type-arg))) (snd-display ";map-channel bad val: ~A" tag)))
 	  
-	  (close-sound id))
-	
-	(let ((ind (open-sound "oboe.snd")))
-	  (if (not (null? (edit-properties ind 0 0)))
-	      (snd-display ";initial edit-properties: ~A?" (edit-properties ind 0 0)))
-	  (let ((tag (catch #t
-		       (lambda () (edit-properties ind 0 123))
-		       (lambda args (car args)))))
-	    (if (not (eq? tag 'no-such-edit))
-		(snd-display ";edit-properties of non-existent edit: ~A" tag)))
-	  (let ((tag (catch #t
-		       (lambda () (edit-properties ind 1 0))
-		       (lambda args (car args)))))
-	    (if (not (eq? tag 'no-such-channel))
-		(snd-display ";edit-properties of non-existent channel: ~A" tag)))
-	  (if (edit-property 'test-key ind 0 0)
-	      (snd-display ";edit-property never set: ~A?" (edit-property ind 0 0)))
-	  (set! (edit-property 'test-key ind 0 0) 3210)
-	  (let ((val (edit-property 'test-key ind 0 0)))
-	    (if (not (eqv? val 3210))
-		(snd-display ";edit-property 0: ~A" val)))
-	  (pad-channel 0 10 ind 0)
-	  (let ((val (edit-property 'test-key ind 0 0)))
-	    (if (not (eqv? val 3210))
-		(snd-display ";edit-property look back to 0: ~A" val)))
-	  (let ((val (edit-property 'test-key ind 0 1)))
-	    (if val (snd-display ";edit-property current: ~A?" val)))
-	  (undo)
-	  (let ((val (edit-property 'test-key ind 0 0)))
-	    (if (not (eqv? val 3210))
-		(snd-display ";edit-property go back to 0: ~A" val)))
-	  (close-sound ind)
-	  (set! ind (open-sound "oboe.snd"))
-	  (if (edit-property 'test-key ind 0 0)
-	      (snd-display ";edit-property not cleared: ~A?" (edit-property ind 0 0)))
-	  (pad-channel 0 10 ind 0)
-	  (set! (edit-property 'test-key ind 0 1) 'hiho)
-	  (undo)
-	  (pad-channel 0 10 ind 0)
-	  (let ((val (edit-property 'test-key ind 0 1)))
-	    (if val (snd-display ";edit-property not erased upon re-edit: ~A?" val)))
-	  (close-sound ind))
-	
-	(let ((id (open-sound "oboe.snd")))
-	  (prefix-it 1000 id)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\b) 4 id)
-	  (let ((left (left-sample id)))
-	    (if (not (= left 1000)) (snd-display ";u1000: ~A" left)))
-	  (prefix-it 0 id)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\b) 4 id)
-	  (let ((left (left-sample id)))
-	    (if (not (= left 0)) (snd-display ";u0: ~A" left)))
-	  (set! (cursor id) 1234)
-	  (prefix-it 0 id)
-	  (key (char->integer #\f) 4 id)
-	  (let ((cr (cursor id)))
-	    (if (not (= cr 1234)) (snd-display ";0f: ~A" cr)))
-	  (prefix-it 100 id)
-	  (key (char->integer #\f) 4 id)
-	  (let ((cr (cursor id)))
-	    (if (not (= cr 1334)) (snd-display ";100f: ~A" cr)))
-	  (prefix-it -100 id)
-	  (key (char->integer #\f) 4 id)
-	  (let ((cr (cursor id)))
-	    (if (not (= cr 1234)) (snd-display ";-100f: ~A" cr)))
-	  (prefix-it 1 id)
-	  (key (char->integer #\f) 4 id)
-	  (let ((cr (cursor id)))
-	    (if (not (= cr 1235)) (snd-display ";1f: ~A" cr)))
-	  (prefix-it 1000 id)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\p) 4 id)
-	  (let ((left (left-sample id))
-		(right (right-sample id)))
-	    (if (> (abs (- right left 1000)) 2) (snd-display ";1000xp: ~A:~A" left right)))
-	  (prefix-it 1 id)
-	  (key (char->integer #\.) 0 id)
-	  (key (char->integer #\2) 0 id)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\p) 4 id)
-	  (let ((left (left-sample id))
-		(right (right-sample id)))
-	    (if (> (abs (- right left (* 22050 1.2))) 2) (snd-display ";1.2xp: ~A:~A" left right)))
-	  
-	  (prefix-uit 1000 id)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\b) 4 id)
-	  (let ((left (left-sample id)))
-	    (if (not (member left '(1000 1001) =)) (snd-display ";uu1000: ~A" left)))
-	  (prefix-uit 0 id)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\b) 4 id)
-	  (let ((left (left-sample id)))
-	    (if (not (= left 0)) (snd-display ";uu0: ~A" left)))
-	  (set! (cursor id) 1234)
-	  (prefix-uit 0 id)
-	  (key (char->integer #\f) 4 id)
-	  (let ((cr (cursor id)))
-	    (if (not (= cr 1234)) (snd-display ";u0f: ~A" cr)))
-	  (prefix-uit 100 id)
-	  (key (char->integer #\f) 4 id)
-	  (let ((cr (cursor id)))
-	    (if (not (= cr 1334)) (snd-display ";u100f: ~A" cr)))
-	  (prefix-uit -100 id)
-	  (key (char->integer #\f) 4 id)
-	  (let ((cr (cursor id)))
-	    (if (not (= cr 1234)) (snd-display ";u-100f: ~A" cr)))
-	  (prefix-uit 1 id)
-	  (key (char->integer #\f) 4 id)
-	  (let ((cr (cursor id)))
-	    (if (not (= cr 1235)) (snd-display ";u1f: ~A" cr)))
-	  (prefix-uit 1000 id)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\p) 4 id)
-	  (let ((left (left-sample id))
-		(right (right-sample id)))
-	    (if (> (abs (- right left 1000)) 2) (snd-display ";u1000xp: ~A:~A" left right)))
-	  (prefix-uit 1 id)
-	  (key (char->integer #\.) 0 id)
-	  (key (char->integer #\2) 0 id)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\p) 4 id)
-	  (let ((left (left-sample id))
-		(right (right-sample id)))
-	    (if (> (abs (- right left (* 22050 1.2))) 2) (snd-display ";u1.2xp: ~A:~A" left right)))
-	  (close-sound id))
-	(let ((id (open-sound (car (match-sound-files (lambda (file) 
-							(and (>= (mus-sound-chans file) 2)
-							     (not (= (mus-sound-header-type file) mus-raw))
-							     (> (mus-sound-framples file) 1000))))))))
-	  (set! (sync id) 1)
-	  (select-sound id)
-	  (make-region 200 500 id)
-	  (select-channel 1)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\v) 0 id)
-	  (let ((x0 (x-bounds id 0))
-		(x1 (x-bounds id 1)))
-	    (if (or (fneq (car x0) (car x1)) 
-		    (fneq (cadr x0) (cadr x1)))
-		(snd-display ";C-X v: ~A ~A?" x0 x1)))
-	  (key (char->integer #\u) 4 id)
-	  (key (char->integer #\1) 0 id)
-	  (key (char->integer #\x) 4 id)
-	  (key (char->integer #\q) 0 id)
-	  (close-sound id))
-	
-	(let ((snd3 (open-sound "4.aiff")))
-	  (let ((snd1 (open-sound "oboe.snd"))
-		(snd2 (or (open-sound "2.snd") (open-sound "4.aiff"))))
-	    (let tests-1 ((f funcs)
-			  (fn func-names)
-			  (nv new-values))
-	      (if (pair? f)
-		  (begin
-		    (test-history-channel (car f) (car fn) (car nv) snd1 snd2 snd3)
-		    (tests-1 (cdr f) (cdr fn) (cdr nv)))))
-	    (close-sound snd1)
-	    (close-sound snd2))
-	  
-	  (set! (time-graph-style snd3 #t) graph-filled)
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (= (time-graph-style snd3 i) graph-filled)) 
-		(snd-display ";set time-graph-style ~A ~A: ~A" snd3 i (time-graph-style snd3 i))))
-	  (set! (time-graph-style snd3 2) graph-lines)
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (or (= i 2)
-			 (= (time-graph-style snd3 i) graph-filled)))
-		(snd-display ";set (2) time-graph-style ~A ~A: ~A" snd3 i (time-graph-style snd3 i))))
-	  (if (not (= (time-graph-style snd3 2) graph-lines)) 
-	      (snd-display ";set time-graph-style (2): ~A" (time-graph-style snd3 2)))
-	  (set! (time-graph-style snd3 #t) graph-dots)
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (= (time-graph-style snd3 i) graph-dots)) 
-		(snd-display ";set time-graph-style (all): ~A" (time-graph-style snd3 i))))
-	  (set! *graph-style* graph-dots-and-lines)
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (= (time-graph-style snd3 i) graph-dots-and-lines)) 
-		(snd-display ";set time-graph-style (dal): ~A" (time-graph-style snd3 i))))
-	  
-	  (set! (lisp-graph-style snd3 #t) graph-filled)
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (= (lisp-graph-style snd3 i) graph-filled)) 
-		(snd-display ";set lisp-graph-style ~A ~A: ~A" snd3 i (lisp-graph-style snd3 i))))
-	  (set! (lisp-graph-style snd3 2) graph-lines)
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (or (= i 2)
-			 (= (lisp-graph-style snd3 i) graph-filled)))
-		(snd-display ";set (2) lisp-graph-style ~A ~A: ~A" snd3 i (lisp-graph-style snd3 i))))
-	  (if (not (= (lisp-graph-style snd3 2) graph-lines)) 
-	      (snd-display ";set lisp-graph-style (2): ~A" (lisp-graph-style snd3 2)))
-	  (set! (lisp-graph-style snd3 #t) graph-lines)
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (= (time-graph-style snd3 i) graph-dots-and-lines)) 
-		(snd-display ";set lisp -> time-graph-style (dal): ~A" (time-graph-style snd3 i))))
-	  
-	  (set! (transform-graph-style snd3 #t) graph-filled)
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (= (transform-graph-style snd3 i) graph-filled)) 
-		(snd-display ";set transform-graph-style ~A ~A: ~A" snd3 i (transform-graph-style snd3 i))))
-	  (set! (transform-graph-style snd3 2) graph-lines)
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (or (= i 2)
-			 (= (transform-graph-style snd3 i) graph-filled)))
-		(snd-display ";set (2) transform-graph-style ~A ~A: ~A" snd3 i (transform-graph-style snd3 i))))
-	  (if (not (= (transform-graph-style snd3 2) graph-lines)) 
-	      (snd-display ";set transform-graph-style (2): ~A" (transform-graph-style snd3 2)))
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (= (time-graph-style snd3 i) graph-dots-and-lines)) 
-		(snd-display ";set fft and lisp -> time-graph-style (dal): ~A" (time-graph-style snd3 i))))
-	  (do ((i 0 (+ i 1))) ((= i 4)) 
-	    (if (not (= (lisp-graph-style snd3 i) graph-lines)) 
-		(snd-display ";set fft and lisp -> lisp-graph-style (dal): ~A" (lisp-graph-style snd3 i))))
-	  
-	  (close-sound snd3))
+	  (close-sound id)))
 	
-	(let ((snd2 (open-sound "2.snd")))
-	  (if (sound? snd2)
-	      (play-with-amps snd2 0.2 0.1))
+      (let ((ind (open-sound "oboe.snd")))
+	(if (not (null? (edit-properties ind 0 0)))
+	    (snd-display ";initial edit-properties: ~A?" (edit-properties ind 0 0)))
+	(let ((tag (catch #t
+		     (lambda () (edit-properties ind 0 123))
+		     (lambda args (car args)))))
+	  (if (not (eq? tag 'no-such-edit))
+	      (snd-display ";edit-properties of non-existent edit: ~A" tag)))
+	(let ((tag (catch #t
+		     (lambda () (edit-properties ind 1 0))
+		     (lambda args (car args)))))
+	  (if (not (eq? tag 'no-such-channel))
+	      (snd-display ";edit-properties of non-existent channel: ~A" tag)))
+	(if (edit-property 'test-key ind 0 0)
+	    (snd-display ";edit-property never set: ~A?" (edit-property ind 0 0)))
+	(set! (edit-property 'test-key ind 0 0) 3210)
+	(let ((val (edit-property 'test-key ind 0 0)))
+	  (if (not (eqv? val 3210))
+	      (snd-display ";edit-property 0: ~A" val)))
+	(pad-channel 0 10 ind 0)
+	(let ((val (edit-property 'test-key ind 0 0)))
+	  (if (not (eqv? val 3210))
+	      (snd-display ";edit-property look back to 0: ~A" val)))
+	(let ((val (edit-property 'test-key ind 0 1)))
+	  (if val (snd-display ";edit-property current: ~A?" val)))
+	(undo)
+	(let ((val (edit-property 'test-key ind 0 0)))
+	  (if (not (eqv? val 3210))
+	      (snd-display ";edit-property go back to 0: ~A" val)))
+	(close-sound ind))
+      (let ((ind (open-sound "oboe.snd")))
+	(if (edit-property 'test-key ind 0 0)
+	    (snd-display ";edit-property not cleared: ~A?" (edit-property ind 0 0)))
+	(pad-channel 0 10 ind 0)
+	(set! (edit-property 'test-key ind 0 1) 'hiho)
+	(undo)
+	(pad-channel 0 10 ind 0)
+	(let ((val (edit-property 'test-key ind 0 1)))
+	  (if val (snd-display ";edit-property not erased upon re-edit: ~A?" val)))
+	(close-sound ind))
+      
+      (let ((id (open-sound "oboe.snd")))
+	(prefix-it 1000 id)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\b) 4 id)
+	(let ((left (left-sample id)))
+	  (if (not (= left 1000)) (snd-display ";u1000: ~A" left)))
+	(prefix-it 0 id)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\b) 4 id)
+	(let ((left (left-sample id)))
+	  (if (not (= left 0)) (snd-display ";u0: ~A" left)))
+	(set! (cursor id) 1234)
+	(prefix-it 0 id)
+	(key (char->integer #\f) 4 id)
+	(let ((cr (cursor id)))
+	  (if (not (= cr 1234)) (snd-display ";0f: ~A" cr)))
+	(prefix-it 100 id)
+	(key (char->integer #\f) 4 id)
+	(let ((cr (cursor id)))
+	  (if (not (= cr 1334)) (snd-display ";100f: ~A" cr)))
+	(prefix-it -100 id)
+	(key (char->integer #\f) 4 id)
+	(let ((cr (cursor id)))
+	  (if (not (= cr 1234)) (snd-display ";-100f: ~A" cr)))
+	(prefix-it 1 id)
+	(key (char->integer #\f) 4 id)
+	(let ((cr (cursor id)))
+	  (if (not (= cr 1235)) (snd-display ";1f: ~A" cr)))
+	(prefix-it 1000 id)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\p) 4 id)
+	(let ((left (left-sample id))
+	      (right (right-sample id)))
+	  (if (> (abs (- right left 1000)) 2) (snd-display ";1000xp: ~A:~A" left right)))
+	(prefix-it 1 id)
+	(key (char->integer #\.) 0 id)
+	(key (char->integer #\2) 0 id)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\p) 4 id)
+	(let ((left (left-sample id))
+	      (right (right-sample id)))
+	  (if (> (abs (- right left (* 22050 1.2))) 2) (snd-display ";1.2xp: ~A:~A" left right)))
+	
+	(prefix-uit 1000 id)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\b) 4 id)
+	(let ((left (left-sample id)))
+	  (if (not (member left '(1000 1001) =)) (snd-display ";uu1000: ~A" left)))
+	(prefix-uit 0 id)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\b) 4 id)
+	(let ((left (left-sample id)))
+	  (if (not (= left 0)) (snd-display ";uu0: ~A" left)))
+	(set! (cursor id) 1234)
+	(prefix-uit 0 id)
+	(key (char->integer #\f) 4 id)
+	(let ((cr (cursor id)))
+	  (if (not (= cr 1234)) (snd-display ";u0f: ~A" cr)))
+	(prefix-uit 100 id)
+	(key (char->integer #\f) 4 id)
+	(let ((cr (cursor id)))
+	  (if (not (= cr 1334)) (snd-display ";u100f: ~A" cr)))
+	(prefix-uit -100 id)
+	(key (char->integer #\f) 4 id)
+	(let ((cr (cursor id)))
+	  (if (not (= cr 1234)) (snd-display ";u-100f: ~A" cr)))
+	(prefix-uit 1 id)
+	(key (char->integer #\f) 4 id)
+	(let ((cr (cursor id)))
+	  (if (not (= cr 1235)) (snd-display ";u1f: ~A" cr)))
+	(prefix-uit 1000 id)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\p) 4 id)
+	(let ((left (left-sample id))
+	      (right (right-sample id)))
+	  (if (> (abs (- right left 1000)) 2) (snd-display ";u1000xp: ~A:~A" left right)))
+	(prefix-uit 1 id)
+	(key (char->integer #\.) 0 id)
+	(key (char->integer #\2) 0 id)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\p) 4 id)
+	(let ((left (left-sample id))
+	      (right (right-sample id)))
+	  (if (> (abs (- right left (* 22050 1.2))) 2) (snd-display ";u1.2xp: ~A:~A" left right)))
+	(close-sound id))
+      (let ((id (open-sound (car (match-sound-files (lambda (file) 
+						      (and (>= (mus-sound-chans file) 2)
+							   (not (= (mus-sound-header-type file) mus-raw))
+							   (> (mus-sound-framples file) 1000))))))))
+	(set! (sync id) 1)
+	(select-sound id)
+	(make-region 200 500 id)
+	(select-channel 1)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\v) 0 id)
+	(let ((x0 (x-bounds id 0))
+	      (x1 (x-bounds id 1)))
+	  (if (or (fneq (car x0) (car x1)) 
+		  (fneq (cadr x0) (cadr x1)))
+	      (snd-display ";C-X v: ~A ~A?" x0 x1)))
+	(key (char->integer #\u) 4 id)
+	(key (char->integer #\1) 0 id)
+	(key (char->integer #\x) 4 id)
+	(key (char->integer #\q) 0 id)
+	(close-sound id))
+      
+      (let ((snd3 (open-sound "4.aiff")))
+	(let ((snd1 (open-sound "oboe.snd"))
+	      (snd2 (or (open-sound "2.snd") (open-sound "4.aiff"))))
+	  (let tests-1 ((f funcs)
+			(fn func-names)
+			(nv new-values))
+	    (if (pair? f)
+		(begin
+		  (test-history-channel (car f) (car fn) (car nv) snd1 snd2 snd3)
+		  (tests-1 (cdr f) (cdr fn) (cdr nv)))))
+	  (close-sound snd1)
 	  (close-sound snd2))
 	
-	(let-temporarily ((*with-background-processes* #f))
-	  (let* ((ind (open-sound "1a.snd"))
-		 (player (make-player ind 0))
-		 (len (framples ind 0))
-		 (e (make-env '(0 0 1 1) :length (+ 1 (floor (* 1.0 (/ len *dac-size*))))))
-		 (samp 0))
-	    (add-player player 0 -1 -1 
-			(lambda (reason) 
-			  (set! (hook-functions play-hook) ())
-			  (close-sound ind)))
-	    (hook-push play-hook 
-		       (lambda (hook)
-			 (set! (amp-control player) (env e))
-			 (if (fneq (amp-control ind) 1.0) (snd-display ";amp-control snd: ~A" (amp-control ind)))
-			 (if (> (abs (- (amp-control player) (* 1.0 (/ samp len)))) 1.0)
-			     (snd-display ";amp-control player: ~A ~A" (amp-control player) (* 1.0 (/ samp len))))
-			 (set! samp (+ samp *dac-size*))))
-	    (start-playing 1 (srate ind)))
-	  (if (find-sound "1a.snd") (snd-display ";stop proc didn't close?")))
-	
-	(let ((ind (open-sound "pistol.snd")))
-	  (if (selection-member? ind 0) 
-	      (snd-display ";initial selection-member? ~A ~A?" 
-			   (selection-member? ind 0)
-			   (selection?)))
-	  (set! (selection-member? ind 0) #t)
-	  (if (not (and (selection-member? ind 0)
-			(selection-member? ind)))
-	      (snd-display ";selection-member? ~A ~A ~A?" 
-			   (selection-member? ind 0)
-			   (selection-member? ind)
-			   (selection?)))
-	  (if (not (= (selection-framples) 1))
-	      (snd-display ";initial selection-framples: ~A?" (selection-framples)))
-	  (set! (selection-framples) 1200)
-	  (if (not (= (selection-framples) 1200))
-	      (snd-display ";selection-framples: 1200 ~A?" (selection-framples)))
-	  (delete-selection)
-	  (if (selection?) (snd-display ";selection active after cut?"))
-	  (undo)
-	  (if (not (selection?)) (snd-display ";selection inactive after undo?"))
-	  (if (not (and (selection-member? ind 0)
-			(selection-member? ind)))
-	      (snd-display ";selection-member? after undo ~A ~A ~A?" 
-			   (selection-member? ind 0)
-			   (selection-member? ind)
-			   (selection?)))
-	  (if (not (and (= (selection-framples) 1200)
-			(= (selection-position) 0)))
-	      (snd-display ";selection after undo: '(0 1200) '(~A ~A)?" 
-			   (selection-position) 
-			   (selection-framples)))
-	  (set! (selection-position) 1000)
-	  (if (not (and (= (selection-framples) 200)
-			(= (selection-position) 1000)))
-	      (snd-display ";selection after reposition: '(1000 200) '(~A ~A)?" 
+	(set! (time-graph-style snd3 #t) graph-filled)
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (= (time-graph-style snd3 i) graph-filled)) 
+	      (snd-display ";set time-graph-style ~A ~A: ~A" snd3 i (time-graph-style snd3 i))))
+	(set! (time-graph-style snd3 2) graph-lines)
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (or (= i 2)
+		       (= (time-graph-style snd3 i) graph-filled)))
+	      (snd-display ";set (2) time-graph-style ~A ~A: ~A" snd3 i (time-graph-style snd3 i))))
+	(if (not (= (time-graph-style snd3 2) graph-lines)) 
+	    (snd-display ";set time-graph-style (2): ~A" (time-graph-style snd3 2)))
+	(set! (time-graph-style snd3 #t) graph-dots)
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (= (time-graph-style snd3 i) graph-dots)) 
+	      (snd-display ";set time-graph-style (all): ~A" (time-graph-style snd3 i))))
+	(set! *graph-style* graph-dots-and-lines)
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (= (time-graph-style snd3 i) graph-dots-and-lines)) 
+	      (snd-display ";set time-graph-style (dal): ~A" (time-graph-style snd3 i))))
+	
+	(set! (lisp-graph-style snd3 #t) graph-filled)
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (= (lisp-graph-style snd3 i) graph-filled)) 
+	      (snd-display ";set lisp-graph-style ~A ~A: ~A" snd3 i (lisp-graph-style snd3 i))))
+	(set! (lisp-graph-style snd3 2) graph-lines)
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (or (= i 2)
+		       (= (lisp-graph-style snd3 i) graph-filled)))
+	      (snd-display ";set (2) lisp-graph-style ~A ~A: ~A" snd3 i (lisp-graph-style snd3 i))))
+	(if (not (= (lisp-graph-style snd3 2) graph-lines)) 
+	    (snd-display ";set lisp-graph-style (2): ~A" (lisp-graph-style snd3 2)))
+	(set! (lisp-graph-style snd3 #t) graph-lines)
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (= (time-graph-style snd3 i) graph-dots-and-lines)) 
+	      (snd-display ";set lisp -> time-graph-style (dal): ~A" (time-graph-style snd3 i))))
+	
+	(set! (transform-graph-style snd3 #t) graph-filled)
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (= (transform-graph-style snd3 i) graph-filled)) 
+	      (snd-display ";set transform-graph-style ~A ~A: ~A" snd3 i (transform-graph-style snd3 i))))
+	(set! (transform-graph-style snd3 2) graph-lines)
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (or (= i 2)
+		       (= (transform-graph-style snd3 i) graph-filled)))
+	      (snd-display ";set (2) transform-graph-style ~A ~A: ~A" snd3 i (transform-graph-style snd3 i))))
+	(if (not (= (transform-graph-style snd3 2) graph-lines)) 
+	    (snd-display ";set transform-graph-style (2): ~A" (transform-graph-style snd3 2)))
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (= (time-graph-style snd3 i) graph-dots-and-lines)) 
+	      (snd-display ";set fft and lisp -> time-graph-style (dal): ~A" (time-graph-style snd3 i))))
+	(do ((i 0 (+ i 1))) ((= i 4)) 
+	  (if (not (= (lisp-graph-style snd3 i) graph-lines)) 
+	      (snd-display ";set fft and lisp -> lisp-graph-style (dal): ~A" (lisp-graph-style snd3 i))))
+	
+	(close-sound snd3))
+      
+      (let ((snd2 (open-sound "2.snd")))
+	(if (sound? snd2)
+	    (play-with-amps snd2 0.2 0.1))
+	(close-sound snd2))
+      
+      (let-temporarily ((*with-background-processes* #f))
+	(let* ((ind (open-sound "1a.snd"))
+	       (player (make-player ind 0))
+	       (len (framples ind 0))
+	       (e (make-env '(0 0 1 1) :length (+ 1 (floor (* 1.0 (/ len *dac-size*))))))
+	       (samp 0))
+	  (add-player player 0 -1 -1 
+		      (lambda (reason) 
+			(set! (hook-functions play-hook) ())
+			(close-sound ind)))
+	  (hook-push play-hook 
+		     (lambda (hook)
+		       (set! (amp-control player) (env e))
+		       (if (fneq (amp-control ind) 1.0) (snd-display ";amp-control snd: ~A" (amp-control ind)))
+		       (if (> (abs (- (amp-control player) (* 1.0 (/ samp len)))) 1.0)
+			   (snd-display ";amp-control player: ~A ~A" (amp-control player) (* 1.0 (/ samp len))))
+		       (set! samp (+ samp *dac-size*))))
+	  (start-playing 1 (srate ind)))
+	(if (find-sound "1a.snd") (snd-display ";stop proc didn't close?")))
+      
+      (let ((ind (open-sound "pistol.snd")))
+	(if (selection-member? ind 0) 
+	    (snd-display ";initial selection-member? ~A ~A?" 
+			 (selection-member? ind 0)
+			 (selection?)))
+	(set! (selection-member? ind 0) #t)
+	(if (not (and (selection-member? ind 0)
+		      (selection-member? ind)))
+	    (snd-display ";selection-member? ~A ~A ~A?" 
+			 (selection-member? ind 0)
+			 (selection-member? ind)
+			 (selection?)))
+	(if (not (= (selection-framples) 1))
+	    (snd-display ";initial selection-framples: ~A?" (selection-framples)))
+	(set! (selection-framples) 1200)
+	(if (not (= (selection-framples) 1200))
+	    (snd-display ";selection-framples: 1200 ~A?" (selection-framples)))
+	(delete-selection)
+	(if (selection?) (snd-display ";selection active after cut?"))
+	(undo)
+	(if (not (selection?)) (snd-display ";selection inactive after undo?"))
+	(if (not (and (selection-member? ind 0)
+		      (selection-member? ind)))
+	    (snd-display ";selection-member? after undo ~A ~A ~A?" 
+			 (selection-member? ind 0)
+			 (selection-member? ind)
+			 (selection?)))
+	(if (not (and (= (selection-framples) 1200)
+		      (= (selection-position) 0)))
+	    (snd-display ";selection after undo: '(0 1200) '(~A ~A)?" 
+			 (selection-position) 
+			 (selection-framples)))
+	(set! (selection-position) 1000)
+	(if (not (and (= (selection-framples) 200)
+		      (= (selection-position) 1000)))
+	    (snd-display ";selection after reposition: '(1000 200) '(~A ~A)?" 
+			 (selection-position) 
+			 (selection-framples)))
+	(reverse-selection)
+	(if (not (and (= (selection-framples) 200)
+		      (= (selection-position) 1000)))
+	    (snd-display ";selection after reverse: '(1000 200) '(~A ~A)?" 
+			 (selection-position) 
+			 (selection-framples)))
+	
+	(let ((old-framples (framples ind)))
+	  (src-selection .5)
+	  (if (or (> (abs (- (framples ind) 200 old-framples)) 5)
+		  (> (abs (- (selection-framples) 400)) 5))
+	      (snd-display ";selection after src .5: '(1000 400) '(~A ~A)?" 
 			   (selection-position) 
 			   (selection-framples)))
-	  (reverse-selection)
-	  (if (not (and (= (selection-framples) 200)
-			(= (selection-position) 1000)))
-	      (snd-display ";selection after reverse: '(1000 200) '(~A ~A)?" 
+	  (undo)
+	  (redo)
+	  (if (or (> (abs (- (framples ind) 200 old-framples)) 5)
+		  (> (abs (- (selection-framples) 400)) 5))
+	      (snd-display ";selection after src .5 with undo/redo: '(1000 400) '(~A ~A)?" 
 			   (selection-position) 
 			   (selection-framples)))
-	  
-	  (let ((old-framples (framples ind)))
-	    (src-selection .5)
-	    (if (or (> (abs (- (framples ind) 200 old-framples)) 5)
-		    (> (abs (- (selection-framples) 400)) 5))
-		(snd-display ";selection after src .5: '(1000 400) '(~A ~A)?" 
-			     (selection-position) 
-			     (selection-framples)))
-	    (undo)
-	    (redo)
-	    (if (or (> (abs (- (framples ind) 200 old-framples)) 5)
-		    (> (abs (- (selection-framples) 400)) 5))
-		(snd-display ";selection after src .5 with undo/redo: '(1000 400) '(~A ~A)?" 
-			     (selection-position) 
-			     (selection-framples)))
-	    (undo 3))
-	  (close-sound ind))
+	  (undo 3))
+	(close-sound ind))
+      
+      (set! *clm-srate* 22050)
+      (let ((ind (new-sound "test.snd" 1 22050 mus-ldouble mus-next "src-* tests" 10000))
+	    (osc (make-oscil 500))
+	    (f3neq (lambda (a b) (> (abs (- a b)) 10)))
+	    (f4neq (lambda (a b) (> (abs (- a b)) 1)))
+	    (f5neq (lambda (a b) (> (abs (- a b)) (* .05 (max a b))))))
+	
+	;; src-duration tests
+	(if (or (fneq (src-duration '(0 1 1 2)) 0.693147180559945)
+		(fneq (src-duration '(0 2 1 1)) (src-duration '(0 1 1 2)))
+		(fneq (src-duration '(0 1 .5 2)) (src-duration '(0 1 1 2)))
+		(fneq (src-duration '(.5 1 .75 2)) (src-duration '(0 1 1 2))))
+	    (snd-display ";src-duration test1 ~A ~A ~A ~A"
+			 (src-duration '(0 1 1 2))
+			 (src-duration '(0 2 1 1))
+			 (src-duration '(0 1 .5 2))
+			 (src-duration '(.5 1 .75 2))))
+	(if (or (fneq (src-duration '(0 1 1 0.5)) 1.38629436111989)
+		(fneq (src-duration '(0 0.5 1 1)) (src-duration '(0 1 1 0.5)))
+		(fneq (src-duration '(0 1 .5 0.5)) (src-duration '(0 1 1 0.5)))
+		(fneq (src-duration '(.5 1 .75 0.5)) (src-duration '(0 1 1 0.5))))
+	    (snd-display ";src-duration test2 ~A ~A ~A ~A"
+			 (src-duration '(0 1 1 0.5))
+			 (src-duration '(0 0.5 1 1))
+			 (src-duration '(0 1 .5 0.5))
+			 (src-duration '(.5 1 .75 0.5))))
+	(if (or (fneq (src-duration '(0 1 1 1)) 1.0)
+		(fneq (src-duration '(0 2 1 2)) 0.5))
+	    (snd-display ";src-duration test3: ~A ~A" (src-duration '(0 1 1 1)) (src-duration '(0 2 1 2))))
+	(if (fneq (src-duration '(0 .5 .5 3 .6 1 .7 .1 .8 1.5 1 1)) 1.02474349685432)
+	    (snd-display ";src-duration test4 ~A" (src-duration '(0 .5 .5 3 .6 1 .7 .1 .8 1.5 1 1))))
+	(if (fneq (src-duration '(0 1 1 2 2 1)) 0.693147180559945)
+	    (snd-display ";src-duration test5: ~A" (src-duration '(0 1 1 2 2 1))))
+	(if (fneq (src-duration '(0 1 1 1)) 1.0)
+	    (snd-display ";src-duration test6: ~A" (src-duration '(0 1 1 1))))
+	(if (fneq (src-duration '(0 2 1 2)) 0.5)
+	    (snd-display ";src-duration test7: ~A" (src-duration '(0 2 1 2))))
+	(if (fneq (src-duration '(0 0.5 2 0.5)) 2.0)
+	    (snd-display ";src-duration test8: ~A" (src-duration '(0 0.5 2 0.5))))
+	
+	(if (fneq (src-duration (src-fit-envelope '(0 1 1 2) 2.0)) 2.0)
+	    (snd-display ";src-fit-envelope 2.0: ~A" (src-duration (src-fit-envelope '(0 1 1 2) 2.0))))
+	(if (fneq (src-duration (src-fit-envelope '(0 1 1 2) 0.5)) 0.5)
+	    (snd-display ";src-fit-envelope 0.5: ~A" (src-duration (src-fit-envelope '(0 1 1 2) 0.5))))
+	
+	
+	(if (fneq (fm-parallel-component 100 100.0 '(100.0 300.0 400.0) '(1.0 0.5 0.25) () () #t) 0.69287)
+	    (snd-display ";fm-parallel-component 100: ~A" (fm-parallel-component 100 100.0 '(100.0 300.0 400.0) '(1.0 0.5 0.25) () () #t)))
+	(if (fneq (fm-parallel-component 500 100.0 '(100.0 300.0 400.0) '(1.0 0.5 0.25) () () #t) 0.17047)
+	    (snd-display ";fm-parallel-component 500: ~A" (fm-parallel-component 500 100.0 '(100.0 300.0 400.0) '(1.0 0.5 0.25) () () #t)))
+	
+	(if (fneq (cheby-hka 3 0.25 (float-vector 0 0 0 0 1.0 1.0)) -0.0732421875)
+	    (snd-display ";cheby-hka 0: ~A" (cheby-hka 3 0.25 (float-vector 0 0 0 0 1.0 1.0))))
+	(if (fneq (cheby-hka 2 0.25 (float-vector 0 0 0 0 1.0 1.0)) -0.234375)
+	    (snd-display ";cheby-hka 1: ~A" (cheby-hka 2 0.25 (float-vector 0 0 0 0 1.0 1.0))))
+	(if (fneq (cheby-hka 1 0.25 (float-vector 0 0 0 0 1.0 1.0)) 1.025390625)
+	    (snd-display ";cheby-hka 2: ~A" (cheby-hka 1 0.25 (float-vector 0 0 0 0 1.0 1.0))))
+	(if (fneq (cheby-hka 0 0.25 (float-vector 0 0 0 0 1.0 1.0)) 1.5234375)
+	    (snd-display ";cheby-hka 3: ~A" (cheby-hka 0 0.25 (float-vector 0 0 0 0 1.0 1.0))))
+	
+	(map-channel (lambda (y) (* .5 (oscil osc))))
+	(let ((vals (freq-peak 0 ind 8192)))
+	  (if (or (f4neq (car vals) 500.0)
+		  (fneq (cadr vals) 1.0))
+	      (snd-display ";src no-test: ~A" vals)))
+	(for-each
+	 (lambda (sr dur)
+	   (src-sound sr 1.0 ind 0)
+	   (if (fneq (/ (framples ind 0) 10000.0) dur) (snd-display ";src-sound ~A: ~A (~A)" sr (/ (framples ind 0) 10000.0) dur))
+	   (let ((vals (freq-peak 0 ind 8192)))
+	     (if (or (f4neq (car vals) (* 500 sr))
+		     (fneq (cadr vals) 1.0))
+		 (snd-display ";src ~A freq: ~A" sr vals)))
+	   (undo))
+	 '(2.0 0.5 5.0 0.2)
+	 '(0.5 2.0 0.2 5.0))
+	(for-each
+	 (lambda (e f0 f1)
+	   (src-sound e 1.0 ind 0)
+	   (if (fneq (/ (framples ind 0) 10000.0) (src-duration e))
+	       (snd-display ";src-sound (env) ~A: ~A (~A)" 
+			    e (/ (framples ind 0) 10000.0) (src-duration e)))
+	   (let ((vals (freq-peak 0 ind 256)))
+	     (if (f5neq (car vals) f0)
+		 (snd-display ";src (env) 0 ~A freq: ~A" f0 vals)))
+	   (let ((vals (freq-peak (- (floor (* (src-duration e) 10000.0)) 256) ind 256)))
+	     (if (f5neq (car vals) f1)
+		 (snd-display ";src (env) 1 ~A freq: ~A" f1 vals)))
+	   (undo))
+	 '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2))
+	 '(500.0 1000.0 500.0 250.0 250.0)
+	 '(1000.0 500.0 500.0 500.0 1000.0))
+	(for-each
+	 (lambda (e f0 f1)
+	   (src-sound (make-env e :length (framples)) 1.0 ind 0)
+	   (if (fneq (/ (framples ind 0) 10000.0) (src-duration e))
+	       (snd-display ";src-sound (make-env) ~A: ~A (~A)" 
+			    e (/ (framples ind 0) 10000.0) (src-duration e)))
+	   (let ((vals (freq-peak 0 ind 256)))
+	     (if (f5neq (car vals) f0)
+		 (snd-display ";src (make-env) 0 ~A freq: ~A" f0 vals)))
+	   (let ((vals (freq-peak (- (floor (* (src-duration e) 10000.0)) 256) ind 256)))
+	     (if (f5neq (car vals) f1)
+		 (snd-display ";src (env) 1 ~A freq: ~A" f1 vals)))
+	   (undo))
+	 '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2))
+	 '(500.0 1000.0 500.0 250.0 250.0)
+	 '(1000.0 500.0 500.0 500.0 1000.0))
 	
-	(set! *clm-srate* 22050)
-	(let ((ind (new-sound "test.snd" 1 22050 mus-ldouble mus-next "src-* tests" 10000))
-	      (osc (make-oscil 500)))
-	  
-	  (define f3neq (lambda (a b) (> (abs (- a b)) 10)))
-	  (define f4neq (lambda (a b) (> (abs (- a b)) 1)))
-	  (define f5neq (lambda (a b) (> (abs (- a b)) (* .05 (max a b)))))
-	  
-	  ;; src-duration tests
-	  (if (or (fneq (src-duration '(0 1 1 2)) 0.693147180559945)
-		  (fneq (src-duration '(0 2 1 1)) (src-duration '(0 1 1 2)))
-		  (fneq (src-duration '(0 1 .5 2)) (src-duration '(0 1 1 2)))
-		  (fneq (src-duration '(.5 1 .75 2)) (src-duration '(0 1 1 2))))
-	      (snd-display ";src-duration test1 ~A ~A ~A ~A"
-			   (src-duration '(0 1 1 2))
-			   (src-duration '(0 2 1 1))
-			   (src-duration '(0 1 .5 2))
-			   (src-duration '(.5 1 .75 2))))
-	  (if (or (fneq (src-duration '(0 1 1 0.5)) 1.38629436111989)
-		  (fneq (src-duration '(0 0.5 1 1)) (src-duration '(0 1 1 0.5)))
-		  (fneq (src-duration '(0 1 .5 0.5)) (src-duration '(0 1 1 0.5)))
-		  (fneq (src-duration '(.5 1 .75 0.5)) (src-duration '(0 1 1 0.5))))
-	      (snd-display ";src-duration test2 ~A ~A ~A ~A"
-			   (src-duration '(0 1 1 0.5))
-			   (src-duration '(0 0.5 1 1))
-			   (src-duration '(0 1 .5 0.5))
-			   (src-duration '(.5 1 .75 0.5))))
-	  (if (or (fneq (src-duration '(0 1 1 1)) 1.0)
-		  (fneq (src-duration '(0 2 1 2)) 0.5))
-	      (snd-display ";src-duration test3: ~A ~A" (src-duration '(0 1 1 1)) (src-duration '(0 2 1 2))))
-	  (if (fneq (src-duration '(0 .5 .5 3 .6 1 .7 .1 .8 1.5 1 1)) 1.02474349685432)
-	      (snd-display ";src-duration test4 ~A" (src-duration '(0 .5 .5 3 .6 1 .7 .1 .8 1.5 1 1))))
-	  (if (fneq (src-duration '(0 1 1 2 2 1)) 0.693147180559945)
-	      (snd-display ";src-duration test5: ~A" (src-duration '(0 1 1 2 2 1))))
-	  (if (fneq (src-duration '(0 1 1 1)) 1.0)
-	      (snd-display ";src-duration test6: ~A" (src-duration '(0 1 1 1))))
-	  (if (fneq (src-duration '(0 2 1 2)) 0.5)
-	      (snd-display ";src-duration test7: ~A" (src-duration '(0 2 1 2))))
-	  (if (fneq (src-duration '(0 0.5 2 0.5)) 2.0)
-	      (snd-display ";src-duration test8: ~A" (src-duration '(0 0.5 2 0.5))))
-	  
-	  (if (fneq (src-duration (src-fit-envelope '(0 1 1 2) 2.0)) 2.0)
-	      (snd-display ";src-fit-envelope 2.0: ~A" (src-duration (src-fit-envelope '(0 1 1 2) 2.0))))
-	  (if (fneq (src-duration (src-fit-envelope '(0 1 1 2) 0.5)) 0.5)
-	      (snd-display ";src-fit-envelope 0.5: ~A" (src-duration (src-fit-envelope '(0 1 1 2) 0.5))))
-	  
-	  
-	  (if (fneq (fm-parallel-component 100 100.0 '(100.0 300.0 400.0) '(1.0 0.5 0.25) () () #t) 0.69287)
-	      (snd-display ";fm-parallel-component 100: ~A" (fm-parallel-component 100 100.0 '(100.0 300.0 400.0) '(1.0 0.5 0.25) () () #t)))
-	  (if (fneq (fm-parallel-component 500 100.0 '(100.0 300.0 400.0) '(1.0 0.5 0.25) () () #t) 0.17047)
-	      (snd-display ";fm-parallel-component 500: ~A" (fm-parallel-component 500 100.0 '(100.0 300.0 400.0) '(1.0 0.5 0.25) () () #t)))
-	  
-	  (if (fneq (cheby-hka 3 0.25 (float-vector 0 0 0 0 1.0 1.0)) -0.0732421875)
-	      (snd-display ";cheby-hka 0: ~A" (cheby-hka 3 0.25 (float-vector 0 0 0 0 1.0 1.0))))
-	  (if (fneq (cheby-hka 2 0.25 (float-vector 0 0 0 0 1.0 1.0)) -0.234375)
-	      (snd-display ";cheby-hka 1: ~A" (cheby-hka 2 0.25 (float-vector 0 0 0 0 1.0 1.0))))
-	  (if (fneq (cheby-hka 1 0.25 (float-vector 0 0 0 0 1.0 1.0)) 1.025390625)
-	      (snd-display ";cheby-hka 2: ~A" (cheby-hka 1 0.25 (float-vector 0 0 0 0 1.0 1.0))))
-	  (if (fneq (cheby-hka 0 0.25 (float-vector 0 0 0 0 1.0 1.0)) 1.5234375)
-	      (snd-display ";cheby-hka 3: ~A" (cheby-hka 0 0.25 (float-vector 0 0 0 0 1.0 1.0))))
-	  
-	  (map-channel (lambda (y) (* .5 (oscil osc))))
-	  (let ((vals (freq-peak 0 ind 8192)))
-	    (if (or (f4neq (car vals) 500.0)
-		    (fneq (cadr vals) 1.0))
-		(snd-display ";src no-test: ~A" vals)))
-	  (for-each
-	   (lambda (sr dur)
-	     (src-sound sr 1.0 ind 0)
-	     (if (fneq (/ (framples ind 0) 10000.0) dur) (snd-display ";src-sound ~A: ~A (~A)" sr (/ (framples ind 0) 10000.0) dur))
-	     (let ((vals (freq-peak 0 ind 8192)))
-	       (if (or (f4neq (car vals) (* 500 sr))
-		       (fneq (cadr vals) 1.0))
-		   (snd-display ";src ~A freq: ~A" sr vals)))
-	     (undo))
-	   '(2.0 0.5 5.0 0.2)
-	   '(0.5 2.0 0.2 5.0))
-	  (for-each
-	   (lambda (e f0 f1)
-	     (src-sound e 1.0 ind 0)
-	     (if (fneq (/ (framples ind 0) 10000.0) (src-duration e))
-		 (snd-display ";src-sound (env) ~A: ~A (~A)" 
-			      e (/ (framples ind 0) 10000.0) (src-duration e)))
-	     (let ((vals (freq-peak 0 ind 256)))
-	       (if (f5neq (car vals) f0)
-		   (snd-display ";src (env) 0 ~A freq: ~A" f0 vals)))
-	     (let ((vals (freq-peak (- (floor (* (src-duration e) 10000.0)) 256) ind 256)))
-	       (if (f5neq (car vals) f1)
-		   (snd-display ";src (env) 1 ~A freq: ~A" f1 vals)))
-	     (undo))
-	   '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2))
-	   '(500.0 1000.0 500.0 250.0 250.0)
-	   '(1000.0 500.0 500.0 500.0 1000.0))
-	  (for-each
-	   (lambda (e f0 f1)
-	     (src-sound (make-env e :length (framples)) 1.0 ind 0)
-	     (if (fneq (/ (framples ind 0) 10000.0) (src-duration e))
-		 (snd-display ";src-sound (make-env) ~A: ~A (~A)" 
-			      e (/ (framples ind 0) 10000.0) (src-duration e)))
-	     (let ((vals (freq-peak 0 ind 256)))
-	       (if (f5neq (car vals) f0)
-		   (snd-display ";src (make-env) 0 ~A freq: ~A" f0 vals)))
-	     (let ((vals (freq-peak (- (floor (* (src-duration e) 10000.0)) 256) ind 256)))
-	       (if (f5neq (car vals) f1)
-		   (snd-display ";src (env) 1 ~A freq: ~A" f1 vals)))
-	     (undo))
-	   '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2))
-	   '(500.0 1000.0 500.0 250.0 250.0)
-	   '(1000.0 500.0 500.0 500.0 1000.0))
-	  
-	  (for-each
-	   (lambda (sr dur)
-	     (src-channel sr)
-	     (if (fneq (/ (framples ind 0) 10000.0) dur) (snd-display ";src-channel ~A: ~A (~A)" sr (/ (framples ind 0) 10000.0) dur))
-	     (let ((vals (freq-peak 0 ind 8192)))
-	       (if (or (f4neq (car vals) (* 500 sr))
-		       (fneq (cadr vals) 1.0))
-		   (snd-display ";src ~A freq: ~A" sr vals)))
-	     (undo))
-	   '(2.0 0.5 5.0 0.2)
-	   '(0.5 2.0 0.2 5.0))
-	  (for-each
-	   (lambda (e f0 f1)
-	     (src-channel e)
-	     (if (fneq (/ (framples ind 0) 10000.0) (src-duration e))
-		 (snd-display ";src-channel (env) ~A: ~A (~A)" 
-			      e (/ (framples ind 0) 10000.0) (src-duration e)))
-	     (let ((vals (freq-peak 0 ind 256)))
-	       (if (f5neq (car vals) f0)
-		   (snd-display ";src-channel (env f0) ~A: ~A" f0 vals)))
-	     (let ((vals (freq-peak (- (floor (* (src-duration e) 10000.0)) 256) ind 256)))
-	       (if (f5neq (car vals) f1)
-		   (snd-display ";src-channel (env f1) ~A: ~A" f1 vals)))
-	     (undo))
-	   '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2))
-	   '(500.0 1000.0 500.0 250.0 250.0)
-	   '(1000.0 500.0 500.0 500.0 1000.0))
-	  
-	  (for-each
-	   (lambda (sr dur)
-	     (src-channel sr 1000 2500)
-	     (if (f4neq (framples ind 0) (+ 7500 (* dur 2500))) 
-		 (snd-display ";src-channel section: ~A ~A" (framples) (+ 7500 (* dur 2500))))
-	     (let ((vals (freq-peak 0 ind 512)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-channel section 0 ~A freq: ~A" sr vals)))
-	     (let ((vals (freq-peak (- (+ 7500 (floor (* dur 2500))) 512) ind 512)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-channel section 8000 ~A freq: ~A" sr vals)))
-	     (let ((vals (freq-peak 1000 ind 512)))
-	       (if (f5neq (car vals) (* sr 500.0))
-		   (snd-display ";src-channel section ~A freq: ~A" sr vals)))
-	     (undo))
-	   '(2.0 0.5 5.0 0.2)
-	   '(0.5 2.0 0.2 5.0))
-	  
-	  (for-each
-	   (lambda (e)
-	     (src-channel (make-env e :length 2500) 1000 2500)
-	     (if (f3neq (framples ind 0) (+ 7500 (* (src-duration e) 2500)))
-		 (snd-display ";src-channel section (make-env duration) ~A: ~A (~A ~A)" 
-			      e (src-duration e) (framples) (+ 7500 (* (src-duration e) 2500))))
-	     (let ((vals (freq-peak 0 ind 256)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-channel section (make-env e) ~A: ~A" e vals)))
-	     (let ((vals (freq-peak (- (+ 7500 (floor (* (src-duration e) 2500))) 256) ind 256)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-channel section (make-env e) ~A: ~A" e vals)))
-	     (undo))
-	   '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2)))
-	  
-	  (make-selection 1000 3500 ind 0)
-	  (for-each
-	   (lambda (sr dur)
-	     (src-selection sr)
-	     (if (f3neq (framples ind 0) (+ 7500 (* dur 2500))) 
-		 (snd-display ";src-selection section: ~A ~A" (framples) (+ 7500 (* dur 2500))))
-	     (let ((vals (freq-peak 0 ind 512)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-selection section 0 ~A freq: ~A" sr vals)))
-	     (let ((vals (freq-peak (- (+ 7500 (floor (* dur 2500))) 512) ind 512)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-selection section 8000 ~A freq: ~A" sr vals)))
-	     (let ((vals (freq-peak 1000 ind 512)))
-	       (if (f5neq (car vals) (* sr 500.0))
-		   (snd-display ";src-selection section ~A freq: ~A" sr vals)))
-	     (undo))
-	   '(2.0 0.5 5.0 0.2)
-	   '(0.5 2.0 0.2 5.0))
-	  
-	  (for-each
-	   (lambda (e)
-	     (src-selection (make-env e :length 2500))
-	     (if (f3neq (framples ind 0) (+ 7500 (* (src-duration e) 2500)))
-		 (snd-display ";src-selection section (make-env duration) ~A: ~A (~A ~A)" 
-			      e (src-duration e) (framples) (+ 7500 (* (src-duration e) 2500))))
-	     (let ((vals (freq-peak 0 ind 256)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-selection section (make-env e) ~A: ~A" e vals)))
-	     (let ((vals (freq-peak (- (+ 7500 (floor (* (src-duration e) 2500))) 256) ind 256)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-selection section (make-env e) ~A: ~A" e vals)))
-	     (undo))
-	   '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2)))
-	  
-	  (for-each
-	   (lambda (e)
-	     (src-selection e)
-	     (if (f3neq (framples ind 0) (+ 7500 (* (src-duration e) 2500)))
-		 (snd-display ";src-selection section (env duration) ~A: ~A (~A ~A)" 
-			      e (src-duration e) (framples) (+ 7500 (* (src-duration e) 2500))))
-	     (let ((vals (freq-peak 0 ind 256)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-selection section (env e) ~A: ~A" e vals)))
-	     (let ((vals (freq-peak (- (+ 7500 (floor (* (src-duration e) 2500))) 256) ind 256)))
-	       (if (f5neq (car vals) 500.0)
-		   (snd-display ";src-selection section (env f1) ~A: ~A" e vals)))
-	     (undo))
-	   '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2)))
-	  
-	  (close-sound ind))
+	(for-each
+	 (lambda (sr dur)
+	   (src-channel sr)
+	   (if (fneq (/ (framples ind 0) 10000.0) dur) (snd-display ";src-channel ~A: ~A (~A)" sr (/ (framples ind 0) 10000.0) dur))
+	   (let ((vals (freq-peak 0 ind 8192)))
+	     (if (or (f4neq (car vals) (* 500 sr))
+		     (fneq (cadr vals) 1.0))
+		 (snd-display ";src ~A freq: ~A" sr vals)))
+	   (undo))
+	 '(2.0 0.5 5.0 0.2)
+	 '(0.5 2.0 0.2 5.0))
+	(for-each
+	 (lambda (e f0 f1)
+	   (src-channel e)
+	   (if (fneq (/ (framples ind 0) 10000.0) (src-duration e))
+	       (snd-display ";src-channel (env) ~A: ~A (~A)" 
+			    e (/ (framples ind 0) 10000.0) (src-duration e)))
+	   (let ((vals (freq-peak 0 ind 256)))
+	     (if (f5neq (car vals) f0)
+		 (snd-display ";src-channel (env f0) ~A: ~A" f0 vals)))
+	   (let ((vals (freq-peak (- (floor (* (src-duration e) 10000.0)) 256) ind 256)))
+	     (if (f5neq (car vals) f1)
+		 (snd-display ";src-channel (env f1) ~A: ~A" f1 vals)))
+	   (undo))
+	 '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2))
+	 '(500.0 1000.0 500.0 250.0 250.0)
+	 '(1000.0 500.0 500.0 500.0 1000.0))
 	
-	(set! *print-length* (max *print-length* 12))
-	(let ((ind (new-sound "hi.snd")))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10)) 
-	    (set! (sample i ind) (* i .1)))
-	  (select-all ind)
-	  (set! (sample 10 ind) 1.0)
-	  (smooth-selection)
-	  (if (not (mus-arrays-equal? (float-vector-subseq (channel->float-vector 0 11 ind) 0 9) (float-vector-subseq (smoother 0.0 1.0) 0 9)))
-	      (snd-display ";smooth-selection: ~A ~A?" (channel->float-vector 0 11 ind) (smoother 0.0 1.0)))
-	  (revert-sound)
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10)) 
-	    (set! (sample i ind) (- 1.0 (* i .1))))
-	  (select-all ind)
-	  (set! (sample 10 ind) 0.0)
-	  (smooth-selection)
-	  (if (not (mus-arrays-equal? (float-vector-subseq (channel->float-vector 0 11 ind) 0 9) (float-vector-subseq (smoother 1.0 0.0) 0 9)))
-	      (snd-display ";smooth-selection back: ~A ~A?" (channel->float-vector 0 11 ind) (smoother 1.0 0.0)))
-	  (close-sound ind))
+	(for-each
+	 (lambda (sr dur)
+	   (src-channel sr 1000 2500)
+	   (if (f4neq (framples ind 0) (+ 7500 (* dur 2500))) 
+	       (snd-display ";src-channel section: ~A ~A" (framples) (+ 7500 (* dur 2500))))
+	   (let ((vals (freq-peak 0 ind 512)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-channel section 0 ~A freq: ~A" sr vals)))
+	   (let ((vals (freq-peak (- (+ 7500 (floor (* dur 2500))) 512) ind 512)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-channel section 8000 ~A freq: ~A" sr vals)))
+	   (let ((vals (freq-peak 1000 ind 512)))
+	     (if (f5neq (car vals) (* sr 500.0))
+		 (snd-display ";src-channel section ~A freq: ~A" sr vals)))
+	   (undo))
+	 '(2.0 0.5 5.0 0.2)
+	 '(0.5 2.0 0.2 5.0))
 	
-	(let ((ind (new-sound "hi.snd")))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10)) 
-	    (set! (sample i ind) (* i .1)))
-	  (set! (sample 10 ind) 1.0)
-	  (smooth-sound 0 10 ind)
-	  (if (not (mus-arrays-equal? (float-vector-subseq (channel->float-vector 0 11 ind) 0 9) (float-vector-subseq (smoother 0.0 1.0) 0 9)))
-	      (snd-display ";smooth-sound: ~A ~A?" (channel->float-vector 0 11 ind) (smoother 0.0 1.0)))
-	  (revert-sound)
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10)) 
-	    (set! (sample i ind) (- 1.0 (* i .1))))
-	  (set! (sample 10 ind) 0.0)
-	  (smooth-sound 0 10 ind)
-	  (if (not (mus-arrays-equal? (float-vector-subseq (channel->float-vector 0 11 ind) 0 9) (float-vector-subseq (smoother 1.0 0.0) 0 9)))
-	      (snd-display ";smooth-sound back: ~A ~A?" (channel->float-vector 0 11 ind) (smoother 1.0 0.0)))
-	  (close-sound ind))
-	(if (file-exists? "hi.snd") (delete-file "hi.snd"))
-	
-	(let* ((ind (open-sound "oboe.snd"))
-	       (len (framples ind)))
-	  (set! (cursor ind) 1200)
-	  (key (char->integer #\u) 4 ind)
-	  (key (char->integer #\1) 0 ind)
-	  (key (char->integer #\0) 0 ind)
-	  (key (char->integer #\0) 0 ind)
-	  (key (char->integer #\o) 4 ind)
-	  (if (not (= (framples ind) (+ 100 len)))
-	      (snd-display ";C-o len: ~A? " (framples)))
-	  (let ((data (channel->float-vector 1200 100 ind)))
-	    (if (fneq (float-vector-peak data) 0.0) (snd-display ";C-o: ~A?" (float-vector-peak data))))
-	  (revert-sound ind)
-	  (set! (cursor ind) 1200)
-	  (key (char->integer #\u) 4 ind)
-	  (key (char->integer #\1) 0 ind)
-	  (key (char->integer #\0) 0 ind)
-	  (key (char->integer #\0) 0 ind)
-	  (key (char->integer #\z) 4 ind)
-	  (if (not (= (framples ind) len))
-	      (snd-display ";C-z len: ~A? " (framples)))
-	  (let ((data (channel->float-vector 1200 100 ind)))
-	    (if (fneq (float-vector-peak data) 0.0) (snd-display ";C-z: ~A?" (float-vector-peak data))))
-	  (set! (cursor ind) 0)
-	  (key (char->integer #\u) 4 ind)
-	  (key (char->integer #\3) 0 ind)
-	  (key (char->integer #\.) 0 ind)
-	  (key (char->integer #\0) 0 ind)
-	  (key (char->integer #\z) 4 ind)
-	  (if (fneq (maxamp ind 0) 0.0) (snd-display ";C-z full: ~A" (maxamp)))
-	  (revert-sound ind)
-	  (set! (cursor ind) 1200)
-	  (key (char->integer #\u) 4 ind)
-	  (key (char->integer #\1) 0 ind)
-	  (key (char->integer #\.) 0 ind)
-	  (key (char->integer #\0) 0 ind)
-	  (key (char->integer #\o) 4 ind)
-	  (if (not (= (framples ind) (+ (srate ind) len)))
-	      (snd-display ";C-o 1.0 len: ~A? " (framples)))
-	  (let ((data (channel->float-vector 1200 (srate ind) ind)))
-	    (if (fneq (float-vector-peak data) 0.0) (snd-display ";C-o 1.0: ~A?" (float-vector-peak data))))
-	  (revert-sound ind)
-	  (set! (cursor ind) 1200)
-	  (key (char->integer #\u) 4 ind)
-	  (key (char->integer #\1) 0 ind)
-	  (key (char->integer #\.) 0 ind)
-	  (key (char->integer #\0) 0 ind)
-	  (key (char->integer #\z) 4 ind)
-	  (if (not (= (framples ind) len))
-	      (snd-display ";C-z 1.0 len: ~A? " (framples)))
-	  (let ((data (channel->float-vector 1200 (srate ind) ind)))
-	    (if (fneq (float-vector-peak data) 0.0) (snd-display ";C-z 1.0: ~A?" (float-vector-peak data))))
-	  (close-sound ind))
+	(for-each
+	 (lambda (e)
+	   (src-channel (make-env e :length 2500) 1000 2500)
+	   (if (f3neq (framples ind 0) (+ 7500 (* (src-duration e) 2500)))
+	       (snd-display ";src-channel section (make-env duration) ~A: ~A (~A ~A)" 
+			    e (src-duration e) (framples) (+ 7500 (* (src-duration e) 2500))))
+	   (let ((vals (freq-peak 0 ind 256)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-channel section (make-env e) ~A: ~A" e vals)))
+	   (let ((vals (freq-peak (- (+ 7500 (floor (* (src-duration e) 2500))) 256) ind 256)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-channel section (make-env e) ~A: ~A" e vals)))
+	   (undo))
+	 '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2)))
+	
+	(make-selection 1000 3500 ind 0)
+	(for-each
+	 (lambda (sr dur)
+	   (src-selection sr)
+	   (if (f3neq (framples ind 0) (+ 7500 (* dur 2500))) 
+	       (snd-display ";src-selection section: ~A ~A" (framples) (+ 7500 (* dur 2500))))
+	   (let ((vals (freq-peak 0 ind 512)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-selection section 0 ~A freq: ~A" sr vals)))
+	   (let ((vals (freq-peak (- (+ 7500 (floor (* dur 2500))) 512) ind 512)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-selection section 8000 ~A freq: ~A" sr vals)))
+	   (let ((vals (freq-peak 1000 ind 512)))
+	     (if (f5neq (car vals) (* sr 500.0))
+		 (snd-display ";src-selection section ~A freq: ~A" sr vals)))
+	   (undo))
+	 '(2.0 0.5 5.0 0.2)
+	 '(0.5 2.0 0.2 5.0))
 	
-	(let ((ind (open-sound "2.snd")))
-	  (set! (sync ind) 1)
-	  (key (char->integer #\>) 4)
-	  (key (char->integer #\space) 4)
-	  (key (char->integer #\<) 4)
-	  (if (not (and (selection-member? ind 0)
-			(selection-member? ind 1)
-			(= (selection-position ind 0) 0)
-			(= (selection-position ind 1) 0)
-			(= (selection-framples ind 0) (framples ind 0))
-			(= (selection-framples ind 1) (framples ind 1))))
-	      (snd-display ";sync selection via <-: ~A ~A ~A ~A ~A ~A"
-			   (selection-member? ind 0) (selection-member? ind 1)
-			   (selection-position ind 0) (selection-position ind 1)
-			   (selection-framples ind 0) (selection-framples ind 1)))
-	  (key (char->integer #\space) 4)
-	  (key (char->integer #\>) 4)
-	  (if (not (and (selection-member? ind 0)
-			(selection-member? ind 1)
-			(= (selection-position ind 0) 0)
-			(= (selection-position ind 1) 0)
-			(= (selection-framples ind 0) (framples ind 0))
-			(= (selection-framples ind 1) (framples ind 1))))
-	      (snd-display ";sync selection via ->: ~A ~A ~A ~A ~A ~A"
-			   (selection-member? ind 0) (selection-member? ind 1)
-			   (selection-position ind 0) (selection-position ind 1)
-			   (selection-framples ind 0) (selection-framples ind 1)))
-	  (set! (cursor ind 1) 0)
-	  (set! (cursor ind 0) 1000)
-	  (if (not (= (cursor ind 1) 1000)) (snd-display ";syncd cursors: ~A ~A" (cursor ind 0) (cursor ind 1)))
-	  (close-sound ind))
+	(for-each
+	 (lambda (e)
+	   (src-selection (make-env e :length 2500))
+	   (if (f3neq (framples ind 0) (+ 7500 (* (src-duration e) 2500)))
+	       (snd-display ";src-selection section (make-env duration) ~A: ~A (~A ~A)" 
+			    e (src-duration e) (framples) (+ 7500 (* (src-duration e) 2500))))
+	   (let ((vals (freq-peak 0 ind 256)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-selection section (make-env e) ~A: ~A" e vals)))
+	   (let ((vals (freq-peak (- (+ 7500 (floor (* (src-duration e) 2500))) 256) ind 256)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-selection section (make-env e) ~A: ~A" e vals)))
+	   (undo))
+	 '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2)))
 	
-	(let ((ind (open-sound "2a.snd")))
-	  (let ((reg (make-region 100 200 ind #t)))
-	    (if (not (= (region-chans reg) 2))
-		(snd-display ";make-region #t for chan in 2a.snd: ~A chans" (region-chans reg)))
-	    (mix-region reg 1000)
-	    (if (not (and (= (edit-position ind 0) 1)
-			  (= (edit-position ind 1) 0)))
-		(snd-display ";mix-region default mix: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
-	    (undo)
-	    (set! (sync ind) 1)
-	    (mix-region reg 1000)
-	    (if (not (and (= (edit-position ind 0) 1)
-			  (= (edit-position ind 1) 1)))
-		(snd-display ";mix-region sync mix: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
-	    (undo)
-	    (set! (sync ind) 0)
-	    (mix-region reg 1000 ind 1)
-	    (if (not (and (= (edit-position ind 0) 0)
-			  (= (edit-position ind 1) 1)))
-		(snd-display ";mix-region mix -> chan 1: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
-	    (revert-sound ind))
-	  
-	  (set! (selection-member? #t #t) #f)
-	  (set! (selection-member? ind 0) #t)
-	  (set! (selection-member? ind 1) #t)
-	  (set! (selection-position ind 0) 1000)
-	  (set! (selection-position ind 1) 1000)
-	  (set! (selection-framples ind 0) 100)
-	  (set! (selection-framples ind 1) 100)
-	  (if (not (= (selection-chans) 2))
-	      (snd-display ";laboriously make 2 chan selection: ~A" (selection-chans)))
-	  
-	  (mix-selection 100)
+	(for-each
+	 (lambda (e)
+	   (src-selection e)
+	   (if (f3neq (framples ind 0) (+ 7500 (* (src-duration e) 2500)))
+	       (snd-display ";src-selection section (env duration) ~A: ~A (~A ~A)" 
+			    e (src-duration e) (framples) (+ 7500 (* (src-duration e) 2500))))
+	   (let ((vals (freq-peak 0 ind 256)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-selection section (env e) ~A: ~A" e vals)))
+	   (let ((vals (freq-peak (- (+ 7500 (floor (* (src-duration e) 2500))) 256) ind 256)))
+	     (if (f5neq (car vals) 500.0)
+		 (snd-display ";src-selection section (env f1) ~A: ~A" e vals)))
+	   (undo))
+	 '((0 1 1 2) (0 2 1 1) (0 1 1 2 2 1) (0 0.5 1 1) (0 0.5 1 2)))
+	
+	(close-sound ind))
+      
+      (set! *print-length* (max *print-length* 12))
+      (let ((ind (new-sound "hi.snd")))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10)) 
+	  (set! (sample i ind) (* i .1)))
+	(select-all ind)
+	(set! (sample 10 ind) 1.0)
+	(smooth-selection)
+	(if (not (mus-arrays-equal? (float-vector-subseq (channel->float-vector 0 11 ind) 0 9) (float-vector-subseq (smoother 0.0 1.0) 0 9)))
+	    (snd-display ";smooth-selection: ~A ~A?" (channel->float-vector 0 11 ind) (smoother 0.0 1.0)))
+	(revert-sound)
+	(do ((i 0 (+ i 1)))
+	    ((= i 10)) 
+	  (set! (sample i ind) (- 1.0 (* i .1))))
+	(select-all ind)
+	(set! (sample 10 ind) 0.0)
+	(smooth-selection)
+	(if (not (mus-arrays-equal? (float-vector-subseq (channel->float-vector 0 11 ind) 0 9) (float-vector-subseq (smoother 1.0 0.0) 0 9)))
+	    (snd-display ";smooth-selection back: ~A ~A?" (channel->float-vector 0 11 ind) (smoother 1.0 0.0)))
+	(close-sound ind))
+      
+      (let ((ind (new-sound "hi.snd")))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10)) 
+	  (set! (sample i ind) (* i .1)))
+	(set! (sample 10 ind) 1.0)
+	(smooth-sound 0 10 ind)
+	(if (not (mus-arrays-equal? (float-vector-subseq (channel->float-vector 0 11 ind) 0 9) (float-vector-subseq (smoother 0.0 1.0) 0 9)))
+	    (snd-display ";smooth-sound: ~A ~A?" (channel->float-vector 0 11 ind) (smoother 0.0 1.0)))
+	(revert-sound)
+	(do ((i 0 (+ i 1)))
+	    ((= i 10)) 
+	  (set! (sample i ind) (- 1.0 (* i .1))))
+	(set! (sample 10 ind) 0.0)
+	(smooth-sound 0 10 ind)
+	(if (not (mus-arrays-equal? (float-vector-subseq (channel->float-vector 0 11 ind) 0 9) (float-vector-subseq (smoother 1.0 0.0) 0 9)))
+	    (snd-display ";smooth-sound back: ~A ~A?" (channel->float-vector 0 11 ind) (smoother 1.0 0.0)))
+	(close-sound ind))
+      (if (file-exists? "hi.snd") (delete-file "hi.snd"))
+      
+      (let* ((ind (open-sound "oboe.snd"))
+	     (len (framples ind)))
+	(set! (cursor ind) 1200)
+	(key (char->integer #\u) 4 ind)
+	(key (char->integer #\1) 0 ind)
+	(key (char->integer #\0) 0 ind)
+	(key (char->integer #\0) 0 ind)
+	(key (char->integer #\o) 4 ind)
+	(if (not (= (framples ind) (+ 100 len)))
+	    (snd-display ";C-o len: ~A? " (framples)))
+	(let ((data (channel->float-vector 1200 100 ind)))
+	  (if (fneq (float-vector-peak data) 0.0) (snd-display ";C-o: ~A?" (float-vector-peak data))))
+	(revert-sound ind)
+	(set! (cursor ind) 1200)
+	(key (char->integer #\u) 4 ind)
+	(key (char->integer #\1) 0 ind)
+	(key (char->integer #\0) 0 ind)
+	(key (char->integer #\0) 0 ind)
+	(key (char->integer #\z) 4 ind)
+	(if (not (= (framples ind) len))
+	    (snd-display ";C-z len: ~A? " (framples)))
+	(let ((data (channel->float-vector 1200 100 ind)))
+	  (if (fneq (float-vector-peak data) 0.0) (snd-display ";C-z: ~A?" (float-vector-peak data))))
+	(set! (cursor ind) 0)
+	(key (char->integer #\u) 4 ind)
+	(key (char->integer #\3) 0 ind)
+	(key (char->integer #\.) 0 ind)
+	(key (char->integer #\0) 0 ind)
+	(key (char->integer #\z) 4 ind)
+	(if (fneq (maxamp ind 0) 0.0) (snd-display ";C-z full: ~A" (maxamp)))
+	(revert-sound ind)
+	(set! (cursor ind) 1200)
+	(key (char->integer #\u) 4 ind)
+	(key (char->integer #\1) 0 ind)
+	(key (char->integer #\.) 0 ind)
+	(key (char->integer #\0) 0 ind)
+	(key (char->integer #\o) 4 ind)
+	(if (not (= (framples ind) (+ (srate ind) len)))
+	    (snd-display ";C-o 1.0 len: ~A? " (framples)))
+	(let ((data (channel->float-vector 1200 (srate ind) ind)))
+	  (if (fneq (float-vector-peak data) 0.0) (snd-display ";C-o 1.0: ~A?" (float-vector-peak data))))
+	(revert-sound ind)
+	(set! (cursor ind) 1200)
+	(key (char->integer #\u) 4 ind)
+	(key (char->integer #\1) 0 ind)
+	(key (char->integer #\.) 0 ind)
+	(key (char->integer #\0) 0 ind)
+	(key (char->integer #\z) 4 ind)
+	(if (not (= (framples ind) len))
+	    (snd-display ";C-z 1.0 len: ~A? " (framples)))
+	(let ((data (channel->float-vector 1200 (srate ind) ind)))
+	  (if (fneq (float-vector-peak data) 0.0) (snd-display ";C-z 1.0: ~A?" (float-vector-peak data))))
+	(close-sound ind))
+      
+      (let ((ind (open-sound "2.snd")))
+	(set! (sync ind) 1)
+	(key (char->integer #\>) 4)
+	(key (char->integer #\space) 4)
+	(key (char->integer #\<) 4)
+	(if (not (and (selection-member? ind 0)
+		      (selection-member? ind 1)
+		      (= (selection-position ind 0) 0)
+		      (= (selection-position ind 1) 0)
+		      (= (selection-framples ind 0) (framples ind 0))
+		      (= (selection-framples ind 1) (framples ind 1))))
+	    (snd-display ";sync selection via <-: ~A ~A ~A ~A ~A ~A"
+			 (selection-member? ind 0) (selection-member? ind 1)
+			 (selection-position ind 0) (selection-position ind 1)
+			 (selection-framples ind 0) (selection-framples ind 1)))
+	(key (char->integer #\space) 4)
+	(key (char->integer #\>) 4)
+	(if (not (and (selection-member? ind 0)
+		      (selection-member? ind 1)
+		      (= (selection-position ind 0) 0)
+		      (= (selection-position ind 1) 0)
+		      (= (selection-framples ind 0) (framples ind 0))
+		      (= (selection-framples ind 1) (framples ind 1))))
+	    (snd-display ";sync selection via ->: ~A ~A ~A ~A ~A ~A"
+			 (selection-member? ind 0) (selection-member? ind 1)
+			 (selection-position ind 0) (selection-position ind 1)
+			 (selection-framples ind 0) (selection-framples ind 1)))
+	(set! (cursor ind 1) 0)
+	(set! (cursor ind 0) 1000)
+	(if (not (= (cursor ind 1) 1000)) (snd-display ";syncd cursors: ~A ~A" (cursor ind 0) (cursor ind 1)))
+	(close-sound ind))
+      
+      (let ((ind (open-sound "2a.snd")))
+	(let ((reg (make-region 100 200 ind #t)))
+	  (if (not (= (region-chans reg) 2))
+	      (snd-display ";make-region #t for chan in 2a.snd: ~A chans" (region-chans reg)))
+	  (mix-region reg 1000)
 	  (if (not (and (= (edit-position ind 0) 1)
 			(= (edit-position ind 1) 0)))
-	      (snd-display ";mix-selection default mix: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
+	      (snd-display ";mix-region default mix: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
 	  (undo)
 	  (set! (sync ind) 1)
-	  (mix-selection 100)
+	  (mix-region reg 1000)
 	  (if (not (and (= (edit-position ind 0) 1)
 			(= (edit-position ind 1) 1)))
-	      (snd-display ";mix-selection sync mix: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
+	      (snd-display ";mix-region sync mix: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
 	  (undo)
 	  (set! (sync ind) 0)
-	  (mix-selection 100 ind 1)
+	  (mix-region reg 1000 ind 1)
 	  (if (not (and (= (edit-position ind 0) 0)
 			(= (edit-position ind 1) 1)))
-	      (snd-display ";mix-selection mix -> chan 1: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
-	  
-	  (close-sound ind))
+	      (snd-display ";mix-region mix -> chan 1: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
+	  (revert-sound ind))
 	
-	(let ((ind (open-sound "oboe.snd")))
-	  (test-selection ind 1200 100 2.0)
-	  (test-selection ind 600 1200 2.0)
-	  (test-selection ind 0 100 2.0)
-	  (test-selection ind 22500 28327 0.5)
-	  (test-selection ind 0 50828 0.5)
-	  
-	  (test-selection-to ind 1200 100 1.0)
-	  (test-selection-to ind 600 1200 0.1)
-	  (test-selection-to ind 0 100 0.5)
-	  (test-selection-to ind 22500 28327 2.0)
-	  (test-selection-to ind 0 50828 0.5)
-	  
-	  (revert-sound ind)
-	  (make-selection 1200 1200)
-	  (if (not (selection?)) (snd-display ";no selection from 1 samp region?"))
-	  (if (not (= (selection-framples) 1)) (snd-display ";1 samp selection: ~A samps?" (selection-framples)))
-	  (scale-selection-to 1.0)
-	  (if (fneq (sample 1200 ind 0) 1.0) (snd-display ";scale 1 samp selection: ~A?" (sample 1200 ind 0)))
-	  
-	  (revert-sound ind)
-	  (let ((id (make-region 500 1000)))
-	    (src-selection .5)
-	    (if (> (abs (- (region-framples id) 500)) 1) (snd-display ";region-framples after src-selection: ~A?" (region-framples id)))
-	    (let ((reg-mix-id (car (mix-region id 1500 ind 0))))
-	      (if (not (= (mix-length reg-mix-id) (region-framples id)))
-		  (snd-display ";mix-region: ~A != ~A?" (region-framples id) (mix-length reg-mix-id)))
-	      (if (not (equal? (mix-home reg-mix-id) (list ind 0 #f 0)))
-		  (snd-display ";mix-region mix-home ~A (~A 0 #f 0)?" (mix-home reg-mix-id) ind))
-	      (let ((sel-mix-id (car (mix-selection 2500 ind 0))))
-		(if (not (= (selection-framples) (mix-length sel-mix-id)))
-		    (snd-display ";mix-selection framples: ~A != ~A?" (selection-framples) (mix-length sel-mix-id)))
-		(if (> (abs (- (* 2 (mix-length reg-mix-id)) (mix-length sel-mix-id))) 3)
-		    (snd-display ";mix selection and region: ~A ~A (~A ~A)?" 
-				 (mix-length reg-mix-id) (mix-length sel-mix-id) (region-framples id) (selection-framples)))
-		(if (not (equal? (mix-home sel-mix-id) (list ind 0 #f 0)))
-		    (snd-display ";mix-selection mix-home: ~A (~A 0 #f 0)?" (mix-home sel-mix-id) ind)))))
-	  (insert-selection 3000 ind 0)
-	  (insert-selection 3000 ind)
-	  (mix-selection 3000 ind)
-	  (delete-selection)
-	  (revert-sound ind)
-	  (close-sound ind))
+	(set! (selection-member? #t #t) #f)
+	(set! (selection-member? ind 0) #t)
+	(set! (selection-member? ind 1) #t)
+	(set! (selection-position ind 0) 1000)
+	(set! (selection-position ind 1) 1000)
+	(set! (selection-framples ind 0) 100)
+	(set! (selection-framples ind 1) 100)
+	(if (not (= (selection-chans) 2))
+	    (snd-display ";laboriously make 2 chan selection: ~A" (selection-chans)))
 	
-	(if (file-exists? "storm.snd")
-	    (let ((ind (open-sound "storm.snd")))
-	      (set! *sinc-width* 10)
-	      (time (src-sound 1.3))
-	      (time (env-sound '(0 0 1 1 2 0)))
-	      (time (filter-sound '(0 1 .2 0 .5 1 1 0) 20))      ; FIR direct form
-	      (time (filter-sound '(0 0 .1 0 .11 1 .12 0 1 0) 2048)) ; convolution
-	      (revert-sound ind)
-	      (region->float-vector (make-region 0 123000 ind 0) 0 10 0 (make-float-vector 10)) ; force copy branch to execute
-	      (do ((i 0 (+ i 1))) ((= i 4)) (ramp-channel 0.0 1.0))
-	      (close-sound ind)))
+	(mix-selection 100)
+	(if (not (and (= (edit-position ind 0) 1)
+		      (= (edit-position ind 1) 0)))
+	    (snd-display ";mix-selection default mix: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
+	(undo)
+	(set! (sync ind) 1)
+	(mix-selection 100)
+	(if (not (and (= (edit-position ind 0) 1)
+		      (= (edit-position ind 1) 1)))
+	    (snd-display ";mix-selection sync mix: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
+	(undo)
+	(set! (sync ind) 0)
+	(mix-selection 100 ind 1)
+	(if (not (and (= (edit-position ind 0) 0)
+		      (= (edit-position ind 1) 1)))
+	    (snd-display ";mix-selection mix -> chan 1: ~A ~A" (edit-position ind 0) (edit-position ind 1)))
 	
-	(if (file-exists? "1a.snd")
-	    (let ((ind1 (open-sound "1a.snd")))
-	      (time (rubber-sound 1.25))
-	      (close-sound ind1)))
-	(gc)
-	(let* ((oboe (open-sound "oboe.snd"))
-	       (a4 (open-sound "4.aiff"))
-	       (sr (srate oboe))
+	(close-sound ind))
+      
+      (let ((ind (open-sound "oboe.snd")))
+	(test-selection ind 1200 100 2.0)
+	(test-selection ind 600 1200 2.0)
+	(test-selection ind 0 100 2.0)
+	(test-selection ind 22500 28327 0.5)
+	(test-selection ind 0 50828 0.5)
+	
+	(test-selection-to ind 1200 100 1.0)
+	(test-selection-to ind 600 1200 0.1)
+	(test-selection-to ind 0 100 0.5)
+	(test-selection-to ind 22500 28327 2.0)
+	(test-selection-to ind 0 50828 0.5)
+	
+	(revert-sound ind)
+	(make-selection 1200 1200)
+	(if (not (selection?)) (snd-display ";no selection from 1 samp region?"))
+	(if (not (= (selection-framples) 1)) (snd-display ";1 samp selection: ~A samps?" (selection-framples)))
+	(scale-selection-to 1.0)
+	(if (fneq (sample 1200 ind 0) 1.0) (snd-display ";scale 1 samp selection: ~A?" (sample 1200 ind 0)))
+	
+	(revert-sound ind)
+	(let ((id (make-region 500 1000)))
+	  (src-selection .5)
+	  (if (> (abs (- (region-framples id) 500)) 1) (snd-display ";region-framples after src-selection: ~A?" (region-framples id)))
+	  (let ((reg-mix-id (car (mix-region id 1500 ind 0))))
+	    (if (not (= (mix-length reg-mix-id) (region-framples id)))
+		(snd-display ";mix-region: ~A != ~A?" (region-framples id) (mix-length reg-mix-id)))
+	    (if (not (equal? (mix-home reg-mix-id) (list ind 0 #f 0)))
+		(snd-display ";mix-region mix-home ~A (~A 0 #f 0)?" (mix-home reg-mix-id) ind))
+	    (let ((sel-mix-id (car (mix-selection 2500 ind 0))))
+	      (if (not (= (selection-framples) (mix-length sel-mix-id)))
+		  (snd-display ";mix-selection framples: ~A != ~A?" (selection-framples) (mix-length sel-mix-id)))
+	      (if (> (abs (- (* 2 (mix-length reg-mix-id)) (mix-length sel-mix-id))) 3)
+		  (snd-display ";mix selection and region: ~A ~A (~A ~A)?" 
+			       (mix-length reg-mix-id) (mix-length sel-mix-id) (region-framples id) (selection-framples)))
+	      (if (not (equal? (mix-home sel-mix-id) (list ind 0 #f 0)))
+		  (snd-display ";mix-selection mix-home: ~A (~A 0 #f 0)?" (mix-home sel-mix-id) ind)))))
+	(insert-selection 3000 ind 0)
+	(insert-selection 3000 ind)
+	(mix-selection 3000 ind)
+	(delete-selection)
+	(revert-sound ind)
+	(close-sound ind))
+      
+      (if (file-exists? "storm.snd")
+	  (let ((ind (open-sound "storm.snd")))
+	    (set! *sinc-width* 10)
+	    (time (src-sound 1.3))
+	    (time (env-sound '(0 0 1 1 2 0)))
+	    (time (filter-sound '(0 1 .2 0 .5 1 1 0) 20))      ; FIR direct form
+	    (time (filter-sound '(0 0 .1 0 .11 1 .12 0 1 0) 2048)) ; convolution
+	    (revert-sound ind)
+	    (region->float-vector (make-region 0 123000 ind 0) 0 10 0 (make-float-vector 10)) ; force copy branch to execute
+	    (do ((i 0 (+ i 1))) ((= i 4)) (ramp-channel 0.0 1.0))
+	    (close-sound ind)))
+      
+      (if (file-exists? "1a.snd")
+	  (let ((ind1 (open-sound "1a.snd")))
+	    (time (rubber-sound 1.25))
+	    (close-sound ind1)))
+      (gc)
+      (let* ((oboe (open-sound "oboe.snd"))
+	     (a4 (open-sound "4.aiff"))
+	     (sr (srate oboe))
 					;(fr (framples oboe 0))
 					;(typ (header-type oboe))
 					;(frm (sample-type oboe))
 					;(loc (data-location oboe))
 					;(com (comment oboe))
-	       )
-	  (save-sound-as "test.aif" oboe :header-type mus-aifc)
-	  (let ((oboe-aif (open-sound "test.aif")))
-	    (if (not (= (header-type oboe-aif) mus-aifc)) (snd-display ";oboe-aif header: ~A?" (mus-header-type-name (header-type oboe-aif))))
-	    (set! (srate oboe-aif) (* sr 2.0))
-	    (if (fneq (* sr 2.0) (srate oboe-aif)) (snd-display ";set! srate: ~A ~A" (* sr 2.0) (srate oboe-aif)))
-	    (set! (header-type oboe-aif) mus-next)
-	    (if (not (= (header-type oboe-aif) mus-next)) (snd-display ";set! header: ~A?" (mus-header-type-name (header-type oboe-aif))))
-	    (set! (data-location oboe-aif) 28)
-	    (if (not (= (data-location oboe-aif) 28)) (snd-display ";set! data-location: ~A?" (data-location oboe-aif)))
-	    (set! (sample-type oboe-aif) mus-mulaw)
-	    (if (not (= (sample-type oboe-aif) mus-mulaw)) (snd-display ";set! format: ~A?" (mus-sample-type-name (sample-type oboe-aif))))
-	    (save-sound-as "test.aif" oboe-aif 22050 mus-bshort mus-aifc 0)
-	    (close-sound oboe-aif)
-	    (delete-file "test.aif")
-	    (set! (selected-sound) a4)
-	    (if (not (equal? (selected-sound) a4)) (snd-display ";set! selected-sound: ~A ~A?" (selected-sound) a4))
-	    (set! (selected-channel) 2)
-	    (if (not (= (selected-channel a4) 2)) (snd-display ";set! selected-channel: ~A?" (selected-channel a4)))
-	    (set! (selected-channel a4) 3)
-	    (if (not (= (selected-channel a4) 3)) (snd-display ";set! selected-channel a4: ~A?" (selected-channel a4)))
-	    (close-sound a4)
-	    (close-sound oboe)))
-	
-	(let ((v1 (envelope-interp 1.0 '(0 0 2.0 1.0))))
-	  (if (fneq v1 0.5) (snd-display ";envelope-interp(1): ~F (0.5)?" v1)))
-	(let ((v2 (envelope-interp 1.0 '(0 0.0 1 1.0 2 0.0))))
-	  (if (fneq v2 1.0) (snd-display ";envelope-interp(2): ~F (1.0)?" v2)))
-	(let ((v3 (envelope-interp 2.0 '(0 0.0 1 1.0))))
-	  (if (fneq v3 1.0) (snd-display ";envelope-interp(3): ~F (1.0)?" v3)))
-	(let ((v4 (envelope-interp 0.0 '(1 .5 2 0))))
-	  (if (fneq v4 0.5) (snd-display ";envelope-interp(4): ~F (0.5)?" v4)))
-	
-	(let ((v1 (envelope-interp 0.0 '(-1 0  0 1  1 -1))))
-	  (if (fneq v1 1.0) (snd-display ";envelope-interp(1a): ~A" v1)))
-	(let ((v2 (envelope-interp -0.5 '(-1 0  0 1  1 -1))))
-	  (if (fneq v2 0.5) (snd-display ";envelope-interp(2a): ~A" v2)))
-	(let ((v3 (envelope-interp -0.5 '(-1 -1  0 1  1 -1))))
-	  (if (fneq v3 0.0) (snd-display ";envelope-interp(3a): ~A" v3)))
-	(let ((v4 (envelope-interp -0.5 '(-1 -1  1 1))))
-	  (if (fneq v4 -0.5) (snd-display ";envelope-interp(4a): ~A" v4)))
-	(let ((v5 (envelope-interp -1.5 '(-1 -1  1 1))))
-	  (if (fneq v5 -1.0) (snd-display ";envelope-interp(5a): ~A" v5)))
-	(let ((v6 (envelope-interp 1.5 '(-1 -1  1 1))))
-	  (if (fneq v6 1.0) (snd-display ";envelope-interp(6a): ~A" v6)))
-	
-	(let ((v1 (multiply-envelopes '(0.0 0.0 2.0 0.5) '(0.0 0.0 1.0 2.0 2.0 1.0)))
-	      (v2 (window-envelope 1.0 3.0 '(0.0 0.0 5.0 1.0))))
-	  (if (not (feql v1 '(0.0 0.0 0.5 0.5 1.0 0.5))) (snd-display ";multiply-envelopes: ~A?" v1))
-	  (if (not (feql v2 '(1.0 0.2 3.0 0.6))) (snd-display ";window-envelope: ~A?" v2)))
-	
-	(if (fneq (envelope-interp .1 '(0 0 1 1)) 0.1) 
-	    (snd-display ";envelope-interp .1 -> ~A?" (envelope-interp .1 '(0 0 1 1))))
-	(if (fneq (envelope-interp .1 '(0 0 1 1) 32.0) 0.01336172) 
-	    (snd-display ";envelope-interp .013 -> ~A?" (envelope-interp .1 '(0 0 1 1) 32.0)))
-	(if (fneq (envelope-interp .1 '(0 0 1 1) .012) 0.36177473) 
-	    (snd-display ";envelope-interp .361 -> ~A?" (envelope-interp .1 '(0 0 1 1) .012))) 
-	(if (fneq (envelope-interp .3 '(0 0 .5 1 1 0)) .6)
-	    (snd-display ";envelope-interp .3 '(0 0 .5 1 1 0)) -> ~A" (envelope-interp .3 '(0 0 .5 1 1 0))))
-	
-	(if (fneq (envelope-interp .9 '(0 0 1 1)) 0.9) 
-	    (snd-display ";envelope-interp .9 -> ~A?" (envelope-interp .9 '(0 0 1 1))))
-	(if (fneq (envelope-interp .9 '(0 0 1 1) 32.0) 0.698) 
-	    (snd-display ";envelope-interp .698 -> ~A?" (envelope-interp .9 '(0 0 1 1) 32.0)))
-	(if (fneq (envelope-interp .9 '(0 0 1 1) .012) 0.993) 
-	    (snd-display ";envelope-interp .993 -> ~A?" (envelope-interp .9 '(0 0 1 1) .012))) 
-	
-	(if (fneq (envelope-interp 1.1 '(0 0 1 0 2 1)) 0.1) 
-	    (snd-display ";envelope-interp .1 (2) -> ~A?" (envelope-interp 1.1 '(0 0 1 0 2 1))))
-	(if (fneq (envelope-interp 1.1 '(0 0 1 0 2 1) 32.0) 0.01336172) 
-	    (snd-display ";envelope-interp .013 (2) -> ~A?" (envelope-interp 1.1 '(0 0 1 0 2 1) 32.0)))
-	(if (fneq (envelope-interp 1.1 '(0 0 1 0 2 1) .012) 0.36177473) 
-	    (snd-display ";envelope-interp .361 (2) -> ~A?" (envelope-interp 1.1 '(0 0 1 0 2 1) .012))) 
-	
-	(if (fneq (envelope-interp 1.9 '(0 0 1 0 2 1)) 0.9) 
-	    (snd-display ";envelope-interp .9 (2) -> ~A?" (envelope-interp 1.9 '(0 0 1 0 2 1))))
-	(if (fneq (envelope-interp 1.9 '(0 0 1 0 2 1) 32.0) 0.698) 
-	    (snd-display ";envelope-interp .698 (2) -> ~A?" (envelope-interp 1.9 '(0 0 1 0 2 1) 32.0)))
-	(if (fneq (envelope-interp 1.9 '(0 0 1 0 2 1) .012) 0.993) 
-	    (snd-display ";envelope-interp .993 (2) -> ~A?" (envelope-interp 1.9 '(0 0 1 0 2 1) .012))) 
-	
-	(if (fneq (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1)) 0.1) 
-	    (snd-display ";envelope-interp .1 (3) -> ~A?" (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1))))
-	(if (fneq (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1) 32.0) 0.01336172) 
-	    (snd-display ";envelope-interp .013 (3) -> ~A?" (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1) 32.0)))
-	(if (fneq (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1) .012) 0.36177473) 
-	    (snd-display ";envelope-interp .361 (3) -> ~A?" (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1) .012))) 
-	
-	(if (fneq (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1)) 0.9) 
-	    (snd-display ";envelope-interp .9 (3) -> ~A?" (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1))))
-	(if (fneq (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1) 32.0) 0.698) 
-	    (snd-display ";envelope-interp .698 (3) -> ~A?" (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1) 32.0)))
-	(if (fneq (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1) .012) 0.993) 
-	    (snd-display ";envelope-interp .993 (3) -> ~A?" (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1) .012))) 
-	
-	(if (not (feql (window-envelope 1.0 3.0 '(0.0 0.0 5.0 1.0)) '(1.0 0.2 3.0 0.6))) 
-	    (snd-display ";window-envelope: ~A?" (window-envelope 1.0 3.0 '(0.0 0.0 5.0 1.0))))
-	(if (not (feql (multiply-envelopes '(0 0 1 1) '(0 0 1 1 2 0)) '(0 0 0.5 0.5 1 0))) 
-	    (snd-display ";multiply-envelopes: ~A?" (multiply-envelopes '(0 0 1 1) '(0 0 1 1 2 0))))
-	(if (fneq (max-envelope '(0 0 1 1 2 3 4 0)) 3.0)
-	    (snd-display ";max-envelope: ~A?" (max-envelope '(0 0 1 1 2 3 4 0))))
-	(if (fneq (max-envelope '(0 1)) 1.0)
-	    (snd-display ";1 max-envelope: ~A?" (max-envelope '(0 1))))
-	(if (fneq (max-envelope '(0 1 1 1 2 2)) 2.0)
-	    (snd-display ";2 max-envelope: ~A?" (max-envelope '(0 1 1 1 2 2))))
-	(if (fneq (max-envelope '(0 -1 1 -2)) -1.0)
-	    (snd-display ";3 max-envelope: ~A?" (max-envelope '(0 -1 1 -2))))
-	(if (fneq (max-envelope '(0 -2 1 -1)) -1.0)
-	    (snd-display ";4 max-envelope: ~A?" (max-envelope '(0 -2 1 -1))))
-	(if (fneq (min-envelope '(0 0 1 1 2 3 4 0)) 0.0)
-	    (snd-display ";min-envelope: ~A?" (min-envelope '(0 0 1 1 2 3 4 0))))
-	(if (fneq (min-envelope '(0 1)) 1.0)
-	    (snd-display ";1 min-envelope: ~A?" (min-envelope '(0 1))))
-	(if (fneq (min-envelope '(0 1 1 1 2 2)) 1.0)
-	    (snd-display ";2 min-envelope: ~A?" (min-envelope '(0 1 1 1 2 2))))
-	(if (fneq (min-envelope '(0 -1 1 -2)) -2.0)
-	    (snd-display ";3 min-envelope: ~A?" (min-envelope '(0 -1 1 -2))))
-	(if (fneq (min-envelope '(0 -2 1 -1)) -2.0)
-	    (snd-display ";4 min-envelope: ~A?" (min-envelope '(0 -2 1 -1))))
-	(if (fneq (integrate-envelope '(0 0 1 1)) 0.5) 
-	    (snd-display ";integrate-envelope: ~A?" (integrate-envelope '(0 0 1 1))))
-	(if (fneq (integrate-envelope '(0 1 1 1)) 1.0) 
-	    (snd-display ";integrate-envelope: ~A?" (integrate-envelope '(0 1 1 1))))
-	(if (fneq (integrate-envelope '(0 0 1 1 2 .5)) 1.25) 
-	    (snd-display ";integrate-envelope: ~A?" (integrate-envelope '(0 0 1 1 2 .5))))
-	(if (not (feql (stretch-envelope '(0 0 1 1) .1 .2) '(0 0 0.2 0.1 1.0 1))) 
-	    (snd-display ";stretch-envelope att: ~A?" (stretch-envelope '(0 0 1 1) .1 .2)))
-	(if (not (feql (stretch-envelope '(0 0 1 1 2 0) .1 .2 1.5 1.6) '(0 0 0.2 0.1 1.1 1 1.6 0.5 2.0 0))) 
-	    (snd-display ";stretch-envelope dec: ~A?" (stretch-envelope '(0 0 1 1 2 0) .1 .2 1.5 1.6)))
-	(if (not (feql (add-envelopes '(0 0 1 1 2 0) '(0 0 1 1)) '(0 0 0.5 1.5 1 1)))
-	    (snd-display ";add-envelopes: ~A" (add-envelopes '(0 0 1 1 2 0) '(0 0 1 1))))
-	(if (not (feql (scale-envelope '(0 0 1 1) 2) '(0 0 1 2)))
-	    (snd-display ";scale-envelope: ~A" (scale-envelope '(0 0 1 1) 2)))
-	(if (not (feql (scale-envelope '(0 0 1 1) 2 1) '(0 1 1 3)))
-	    (snd-display ";scale-envelope off: ~A" (scale-envelope '(0 0 1 1) 2 1)))
-	(if (not (feql (reverse-envelope '(0 0 1 1)) '(0 1 1 0)))
-	    (snd-display ";reverse-envelope ramp: ~A" (reverse-envelope '(0 0 1 1))))
-	(if (not (feql (reverse-envelope '(0 0 .5 1 2 0)) '(0 0 1.5 1 2 0)))
-	    (snd-display ";reverse-envelope ramp 2: ~A" (reverse-envelope '(0 0 .5 1 2 0))))
-	(if (not (feql (reverse-envelope '(0 0 .5 1 2 1)) '(0 1 1.5 1 2 0)))
-	    (snd-display ";reverse-envelope ramp 2: ~A" (reverse-envelope '(0 0 .5 1 2 1))))
-	(if (not (feql (concatenate-envelopes '(0 0 1 1) '(0 1 1 0)) '(0.0 0 1.0 1 2.0 0)))
-	    (snd-display ";concatenate-envelopes: ~A" (concatenate-envelopes '(0 0 1 1) '(0 1 1 0))))
-	(if (not (feql (concatenate-envelopes '(0 0 1 1.5) '(0 1 1 0)) '(0.0 0 1.0 1.5 1.01 1 2.01 0)))
-	    (snd-display ";concatenate-envelopes: ~A" (concatenate-envelopes '(0 0 1 1.5) '(0 1 1 0))))
-	(if (not (feql (repeat-envelope '(0 0 1 100) 2) '(0 0 1 100 1.01 0 2.01 100)))
-	    (snd-display ";repeat-envelope 0: ~A" (repeat-envelope '(0 0 1 100) 2)))
-	(if (not (feql (repeat-envelope '(0 0 1.5 1 2 0) 2) '(0 0 1.5 1 2.0 0 3.5 1 4.0 0)))
-	    (snd-display ";repeat-envelope 1: ~A" (repeat-envelope '(0 0 1.5 1 2 0) 2)))
-	(if (not (feql (repeat-envelope '(0 0 1.5 1 2 0) 2 #f #t) '(0.0 0 0.75 1 1.0 0 1.75 1 2.0 0)))
-	    (snd-display ";repeat-envelope 2: ~A" (repeat-envelope '(0 0 1.5 1 2 0) 2 #f #t)))
-	(if (not (feql (repeat-envelope '(0 0 1.5 1 2 0) 2 #t) '(0 0 1.5 1 2.0 0 2.5 1 4.0 0)))
-	    (snd-display ";repeat-envelope 3: ~A" (repeat-envelope '(0 0 1.5 1 2 0) 2 #t)))
-	(if (not (feql (repeat-envelope '(0 0 1.5 1 2 0) 3) '(0 0 1.5 1 2.0 0 3.5 1 4.0 0 5.5 1 6.0 0)))
-	    (snd-display ";repeat-envelope 4: ~A" (repeat-envelope '(0 0 1.5 1 2 0) 3)))
-	(if (not (feql (normalize-envelope '(0 0 1 1.5 2.0 1.0)) '(0 0.0 1 1.0 2.0 0.667)))
-	    (snd-display ";normalize-envelope: ~A" (normalize-envelope '(0 0 1 1.5 2.0 1.0))))
-	(if (not (feql (normalize-envelope '(0 0 1 .5 2 -.8)) '(0 0.0 1 0.625 2 -1.0)))
-	    (snd-display ";normalize-envelope: ~A" (normalize-envelope '(0 0 1 .5 2 -.8))))
-	
-	(let ((val (envelope-exp '(0 0 1 1) 2.0 10)))
-	  (if (not (feql val '(0.000 0.000 0.100 0.010 0.200 0.040 0.300 0.090 0.400 0.160 
-				     0.500 0.250 0.600 0.360 0.700 0.490 0.800 0.640 0.900 0.810 1.000 1.000)))
-	      (snd-display ";envelope-exp: ~A" val))
-	  (set! val (envelope-exp '(0 0 1 1 2 0) 1.0 10))
-	  (if (not (feql val '(0.000 0.000 0.200 0.200 0.400 0.400 0.600 0.600 0.800 0.800 
-				     1.000 1.000 1.200 0.800 1.400 0.600 1.600 0.400 1.800 0.200 2.000 0.000)))
-	      (snd-display ";envelope exp 2: ~A" val)))
-	
-	(let ((ind (new-sound "fmv.snd")))
-	  (float-vector->channel (make-float-vector 20 1.0))
-	  (if (selection?) (set! (selection-member? #t) #f))
-	  (make-selection 5 9 ind 0)
-	  (scale-selection-to 0.5)
-	  (insert-selection 15 ind)
-	  (if (not (= (framples ind) 25)) (snd-display ";insert-selection 5: ~A" (framples ind)))
-	  (if (not (mus-arrays-equal? (channel->float-vector 0 25) (float-vector 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 
-								      1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5
-								      1.0 1.0 1.0 1.0 1.0)))
-	      (snd-display ";insert-selection: ~A" (channel->float-vector 0 25)))
-	  (mix-selection 1 ind 0) ; this is being confused by clipping settings
-	  (if (not (mus-arrays-equal? (channel->float-vector 0 10 ind 0) (float-vector 1.000 1.500 1.500 1.500 1.500 1.000 0.500 0.500 0.500 0.500)))
-	      (snd-display ";mix-selection vals: ~A" (channel->float-vector 0 10 ind 0)))
-	  (close-sound ind))
-	
-	(let ((ind (new-sound "fmv.snd"))
-	      (old-size *transform-size*)
-	      (old-type *transform-type*)
-	      (old-norm *transform-normalization*)
-	      (old-grf *transform-graph-type*))
+	     )
+	(save-sound-as "test.aif" oboe :header-type mus-aifc)
+	(let ((oboe-aif (open-sound "test.aif")))
+	  (if (not (= (header-type oboe-aif) mus-aifc)) (snd-display ";oboe-aif header: ~A?" (mus-header-type-name (header-type oboe-aif))))
+	  (set! (srate oboe-aif) (* sr 2.0))
+	  (if (fneq (* sr 2.0) (srate oboe-aif)) (snd-display ";set! srate: ~A ~A" (* sr 2.0) (srate oboe-aif)))
+	  (set! (header-type oboe-aif) mus-next)
+	  (if (not (= (header-type oboe-aif) mus-next)) (snd-display ";set! header: ~A?" (mus-header-type-name (header-type oboe-aif))))
+	  (set! (data-location oboe-aif) 28)
+	  (if (not (= (data-location oboe-aif) 28)) (snd-display ";set! data-location: ~A?" (data-location oboe-aif)))
+	  (set! (sample-type oboe-aif) mus-mulaw)
+	  (if (not (= (sample-type oboe-aif) mus-mulaw)) (snd-display ";set! format: ~A?" (mus-sample-type-name (sample-type oboe-aif))))
+	  (save-sound-as "test.aif" oboe-aif 22050 mus-bshort mus-aifc 0)
+	  (close-sound oboe-aif)
+	  (delete-file "test.aif")
+	  (set! (selected-sound) a4)
+	  (if (not (equal? (selected-sound) a4)) (snd-display ";set! selected-sound: ~A ~A?" (selected-sound) a4))
+	  (set! (selected-channel) 2)
+	  (if (not (= (selected-channel a4) 2)) (snd-display ";set! selected-channel: ~A?" (selected-channel a4)))
+	  (set! (selected-channel a4) 3)
+	  (if (not (= (selected-channel a4) 3)) (snd-display ";set! selected-channel a4: ~A?" (selected-channel a4)))
+	  (close-sound a4)
+	  (close-sound oboe)))
+      
+      (let ((v1 (envelope-interp 1.0 '(0 0 2.0 1.0))))
+	(if (fneq v1 0.5) (snd-display ";envelope-interp(1): ~F (0.5)?" v1)))
+      (let ((v2 (envelope-interp 1.0 '(0 0.0 1 1.0 2 0.0))))
+	(if (fneq v2 1.0) (snd-display ";envelope-interp(2): ~F (1.0)?" v2)))
+      (let ((v3 (envelope-interp 2.0 '(0 0.0 1 1.0))))
+	(if (fneq v3 1.0) (snd-display ";envelope-interp(3): ~F (1.0)?" v3)))
+      (let ((v4 (envelope-interp 0.0 '(1 .5 2 0))))
+	(if (fneq v4 0.5) (snd-display ";envelope-interp(4): ~F (0.5)?" v4)))
+      
+      (let ((v1 (envelope-interp 0.0 '(-1 0  0 1  1 -1))))
+	(if (fneq v1 1.0) (snd-display ";envelope-interp(1a): ~A" v1)))
+      (let ((v2 (envelope-interp -0.5 '(-1 0  0 1  1 -1))))
+	(if (fneq v2 0.5) (snd-display ";envelope-interp(2a): ~A" v2)))
+      (let ((v3 (envelope-interp -0.5 '(-1 -1  0 1  1 -1))))
+	(if (fneq v3 0.0) (snd-display ";envelope-interp(3a): ~A" v3)))
+      (let ((v4 (envelope-interp -0.5 '(-1 -1  1 1))))
+	(if (fneq v4 -0.5) (snd-display ";envelope-interp(4a): ~A" v4)))
+      (let ((v5 (envelope-interp -1.5 '(-1 -1  1 1))))
+	(if (fneq v5 -1.0) (snd-display ";envelope-interp(5a): ~A" v5)))
+      (let ((v6 (envelope-interp 1.5 '(-1 -1  1 1))))
+	(if (fneq v6 1.0) (snd-display ";envelope-interp(6a): ~A" v6)))
+      
+      (let ((v1 (multiply-envelopes '(0.0 0.0 2.0 0.5) '(0.0 0.0 1.0 2.0 2.0 1.0)))
+	    (v2 (window-envelope 1.0 3.0 '(0.0 0.0 5.0 1.0))))
+	(if (not (feql v1 '(0.0 0.0 0.5 0.5 1.0 0.5))) (snd-display ";multiply-envelopes: ~A?" v1))
+	(if (not (feql v2 '(1.0 0.2 3.0 0.6))) (snd-display ";window-envelope: ~A?" v2)))
+      
+      (if (fneq (envelope-interp .1 '(0 0 1 1)) 0.1) 
+	  (snd-display ";envelope-interp .1 -> ~A?" (envelope-interp .1 '(0 0 1 1))))
+      (if (fneq (envelope-interp .1 '(0 0 1 1) 32.0) 0.01336172) 
+	  (snd-display ";envelope-interp .013 -> ~A?" (envelope-interp .1 '(0 0 1 1) 32.0)))
+      (if (fneq (envelope-interp .1 '(0 0 1 1) .012) 0.36177473) 
+	  (snd-display ";envelope-interp .361 -> ~A?" (envelope-interp .1 '(0 0 1 1) .012))) 
+      (if (fneq (envelope-interp .3 '(0 0 .5 1 1 0)) .6)
+	  (snd-display ";envelope-interp .3 '(0 0 .5 1 1 0)) -> ~A" (envelope-interp .3 '(0 0 .5 1 1 0))))
+      
+      (if (fneq (envelope-interp .9 '(0 0 1 1)) 0.9) 
+	  (snd-display ";envelope-interp .9 -> ~A?" (envelope-interp .9 '(0 0 1 1))))
+      (if (fneq (envelope-interp .9 '(0 0 1 1) 32.0) 0.698) 
+	  (snd-display ";envelope-interp .698 -> ~A?" (envelope-interp .9 '(0 0 1 1) 32.0)))
+      (if (fneq (envelope-interp .9 '(0 0 1 1) .012) 0.993) 
+	  (snd-display ";envelope-interp .993 -> ~A?" (envelope-interp .9 '(0 0 1 1) .012))) 
+      
+      (if (fneq (envelope-interp 1.1 '(0 0 1 0 2 1)) 0.1) 
+	  (snd-display ";envelope-interp .1 (2) -> ~A?" (envelope-interp 1.1 '(0 0 1 0 2 1))))
+      (if (fneq (envelope-interp 1.1 '(0 0 1 0 2 1) 32.0) 0.01336172) 
+	  (snd-display ";envelope-interp .013 (2) -> ~A?" (envelope-interp 1.1 '(0 0 1 0 2 1) 32.0)))
+      (if (fneq (envelope-interp 1.1 '(0 0 1 0 2 1) .012) 0.36177473) 
+	  (snd-display ";envelope-interp .361 (2) -> ~A?" (envelope-interp 1.1 '(0 0 1 0 2 1) .012))) 
+      
+      (if (fneq (envelope-interp 1.9 '(0 0 1 0 2 1)) 0.9) 
+	  (snd-display ";envelope-interp .9 (2) -> ~A?" (envelope-interp 1.9 '(0 0 1 0 2 1))))
+      (if (fneq (envelope-interp 1.9 '(0 0 1 0 2 1) 32.0) 0.698) 
+	  (snd-display ";envelope-interp .698 (2) -> ~A?" (envelope-interp 1.9 '(0 0 1 0 2 1) 32.0)))
+      (if (fneq (envelope-interp 1.9 '(0 0 1 0 2 1) .012) 0.993) 
+	  (snd-display ";envelope-interp .993 (2) -> ~A?" (envelope-interp 1.9 '(0 0 1 0 2 1) .012))) 
+      
+      (if (fneq (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1)) 0.1) 
+	  (snd-display ";envelope-interp .1 (3) -> ~A?" (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1))))
+      (if (fneq (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1) 32.0) 0.01336172) 
+	  (snd-display ";envelope-interp .013 (3) -> ~A?" (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1) 32.0)))
+      (if (fneq (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1) .012) 0.36177473) 
+	  (snd-display ";envelope-interp .361 (3) -> ~A?" (envelope-interp 1.1 '(0 0 0.5 1 1 0 2 1) .012))) 
+      
+      (if (fneq (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1)) 0.9) 
+	  (snd-display ";envelope-interp .9 (3) -> ~A?" (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1))))
+      (if (fneq (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1) 32.0) 0.698) 
+	  (snd-display ";envelope-interp .698 (3) -> ~A?" (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1) 32.0)))
+      (if (fneq (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1) .012) 0.993) 
+	  (snd-display ";envelope-interp .993 (3) -> ~A?" (envelope-interp 1.9 '(0 0 0.5 1 1 0 2 1) .012))) 
+      
+      (if (not (feql (window-envelope 1.0 3.0 '(0.0 0.0 5.0 1.0)) '(1.0 0.2 3.0 0.6))) 
+	  (snd-display ";window-envelope: ~A?" (window-envelope 1.0 3.0 '(0.0 0.0 5.0 1.0))))
+      (if (not (feql (multiply-envelopes '(0 0 1 1) '(0 0 1 1 2 0)) '(0 0 0.5 0.5 1 0))) 
+	  (snd-display ";multiply-envelopes: ~A?" (multiply-envelopes '(0 0 1 1) '(0 0 1 1 2 0))))
+      (if (fneq (max-envelope '(0 0 1 1 2 3 4 0)) 3.0)
+	  (snd-display ";max-envelope: ~A?" (max-envelope '(0 0 1 1 2 3 4 0))))
+      (if (fneq (max-envelope '(0 1)) 1.0)
+	  (snd-display ";1 max-envelope: ~A?" (max-envelope '(0 1))))
+      (if (fneq (max-envelope '(0 1 1 1 2 2)) 2.0)
+	  (snd-display ";2 max-envelope: ~A?" (max-envelope '(0 1 1 1 2 2))))
+      (if (fneq (max-envelope '(0 -1 1 -2)) -1.0)
+	  (snd-display ";3 max-envelope: ~A?" (max-envelope '(0 -1 1 -2))))
+      (if (fneq (max-envelope '(0 -2 1 -1)) -1.0)
+	  (snd-display ";4 max-envelope: ~A?" (max-envelope '(0 -2 1 -1))))
+      (if (fneq (min-envelope '(0 0 1 1 2 3 4 0)) 0.0)
+	  (snd-display ";min-envelope: ~A?" (min-envelope '(0 0 1 1 2 3 4 0))))
+      (if (fneq (min-envelope '(0 1)) 1.0)
+	  (snd-display ";1 min-envelope: ~A?" (min-envelope '(0 1))))
+      (if (fneq (min-envelope '(0 1 1 1 2 2)) 1.0)
+	  (snd-display ";2 min-envelope: ~A?" (min-envelope '(0 1 1 1 2 2))))
+      (if (fneq (min-envelope '(0 -1 1 -2)) -2.0)
+	  (snd-display ";3 min-envelope: ~A?" (min-envelope '(0 -1 1 -2))))
+      (if (fneq (min-envelope '(0 -2 1 -1)) -2.0)
+	  (snd-display ";4 min-envelope: ~A?" (min-envelope '(0 -2 1 -1))))
+      (if (fneq (integrate-envelope '(0 0 1 1)) 0.5) 
+	  (snd-display ";integrate-envelope: ~A?" (integrate-envelope '(0 0 1 1))))
+      (if (fneq (integrate-envelope '(0 1 1 1)) 1.0) 
+	  (snd-display ";integrate-envelope: ~A?" (integrate-envelope '(0 1 1 1))))
+      (if (fneq (integrate-envelope '(0 0 1 1 2 .5)) 1.25) 
+	  (snd-display ";integrate-envelope: ~A?" (integrate-envelope '(0 0 1 1 2 .5))))
+      (if (not (feql (stretch-envelope '(0 0 1 1) .1 .2) '(0 0 0.2 0.1 1.0 1))) 
+	  (snd-display ";stretch-envelope att: ~A?" (stretch-envelope '(0 0 1 1) .1 .2)))
+      (if (not (feql (stretch-envelope '(0 0 1 1 2 0) .1 .2 1.5 1.6) '(0 0 0.2 0.1 1.1 1 1.6 0.5 2.0 0))) 
+	  (snd-display ";stretch-envelope dec: ~A?" (stretch-envelope '(0 0 1 1 2 0) .1 .2 1.5 1.6)))
+      (if (not (feql (add-envelopes '(0 0 1 1 2 0) '(0 0 1 1)) '(0 0 0.5 1.5 1 1)))
+	  (snd-display ";add-envelopes: ~A" (add-envelopes '(0 0 1 1 2 0) '(0 0 1 1))))
+      (if (not (feql (scale-envelope '(0 0 1 1) 2) '(0 0 1 2)))
+	  (snd-display ";scale-envelope: ~A" (scale-envelope '(0 0 1 1) 2)))
+      (if (not (feql (scale-envelope '(0 0 1 1) 2 1) '(0 1 1 3)))
+	  (snd-display ";scale-envelope off: ~A" (scale-envelope '(0 0 1 1) 2 1)))
+      (if (not (feql (reverse-envelope '(0 0 1 1)) '(0 1 1 0)))
+	  (snd-display ";reverse-envelope ramp: ~A" (reverse-envelope '(0 0 1 1))))
+      (if (not (feql (reverse-envelope '(0 0 .5 1 2 0)) '(0 0 1.5 1 2 0)))
+	  (snd-display ";reverse-envelope ramp 2: ~A" (reverse-envelope '(0 0 .5 1 2 0))))
+      (if (not (feql (reverse-envelope '(0 0 .5 1 2 1)) '(0 1 1.5 1 2 0)))
+	  (snd-display ";reverse-envelope ramp 2: ~A" (reverse-envelope '(0 0 .5 1 2 1))))
+      (if (not (feql (concatenate-envelopes '(0 0 1 1) '(0 1 1 0)) '(0.0 0 1.0 1 2.0 0)))
+	  (snd-display ";concatenate-envelopes: ~A" (concatenate-envelopes '(0 0 1 1) '(0 1 1 0))))
+      (if (not (feql (concatenate-envelopes '(0 0 1 1.5) '(0 1 1 0)) '(0.0 0 1.0 1.5 1.01 1 2.01 0)))
+	  (snd-display ";concatenate-envelopes: ~A" (concatenate-envelopes '(0 0 1 1.5) '(0 1 1 0))))
+      (if (not (feql (repeat-envelope '(0 0 1 100) 2) '(0 0 1 100 1.01 0 2.01 100)))
+	  (snd-display ";repeat-envelope 0: ~A" (repeat-envelope '(0 0 1 100) 2)))
+      (if (not (feql (repeat-envelope '(0 0 1.5 1 2 0) 2) '(0 0 1.5 1 2.0 0 3.5 1 4.0 0)))
+	  (snd-display ";repeat-envelope 1: ~A" (repeat-envelope '(0 0 1.5 1 2 0) 2)))
+      (if (not (feql (repeat-envelope '(0 0 1.5 1 2 0) 2 #f #t) '(0.0 0 0.75 1 1.0 0 1.75 1 2.0 0)))
+	  (snd-display ";repeat-envelope 2: ~A" (repeat-envelope '(0 0 1.5 1 2 0) 2 #f #t)))
+      (if (not (feql (repeat-envelope '(0 0 1.5 1 2 0) 2 #t) '(0 0 1.5 1 2.0 0 2.5 1 4.0 0)))
+	  (snd-display ";repeat-envelope 3: ~A" (repeat-envelope '(0 0 1.5 1 2 0) 2 #t)))
+      (if (not (feql (repeat-envelope '(0 0 1.5 1 2 0) 3) '(0 0 1.5 1 2.0 0 3.5 1 4.0 0 5.5 1 6.0 0)))
+	  (snd-display ";repeat-envelope 4: ~A" (repeat-envelope '(0 0 1.5 1 2 0) 3)))
+      (if (not (feql (normalize-envelope '(0 0 1 1.5 2.0 1.0)) '(0 0.0 1 1.0 2.0 0.667)))
+	  (snd-display ";normalize-envelope: ~A" (normalize-envelope '(0 0 1 1.5 2.0 1.0))))
+      (if (not (feql (normalize-envelope '(0 0 1 .5 2 -.8)) '(0 0.0 1 0.625 2 -1.0)))
+	  (snd-display ";normalize-envelope: ~A" (normalize-envelope '(0 0 1 .5 2 -.8))))
+      
+      (let ((val (envelope-exp '(0 0 1 1) 2.0 10)))
+	(if (not (feql val '(0.000 0.000 0.100 0.010 0.200 0.040 0.300 0.090 0.400 0.160 
+				   0.500 0.250 0.600 0.360 0.700 0.490 0.800 0.640 0.900 0.810 1.000 1.000)))
+	    (snd-display ";envelope-exp: ~A" val))
+	(set! val (envelope-exp '(0 0 1 1 2 0) 1.0 10))
+	(if (not (feql val '(0.000 0.000 0.200 0.200 0.400 0.400 0.600 0.600 0.800 0.800 
+				   1.000 1.000 1.200 0.800 1.400 0.600 1.600 0.400 1.800 0.200 2.000 0.000)))
+	    (snd-display ";envelope exp 2: ~A" val)))
+      
+      (let ((ind (new-sound "fmv.snd")))
+	(float-vector->channel (make-float-vector 20 1.0))
+	(if (selection?) (set! (selection-member? #t) #f))
+	(make-selection 5 9 ind 0)
+	(scale-selection-to 0.5)
+	(insert-selection 15 ind)
+	(if (not (= (framples ind) 25)) (snd-display ";insert-selection 5: ~A" (framples ind)))
+	(if (not (mus-arrays-equal? (channel->float-vector 0 25) (float-vector 1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5 
+									       1.0 1.0 1.0 1.0 1.0 0.5 0.5 0.5 0.5 0.5
+									       1.0 1.0 1.0 1.0 1.0)))
+	    (snd-display ";insert-selection: ~A" (channel->float-vector 0 25)))
+	(mix-selection 1 ind 0) ; this is being confused by clipping settings
+	(if (not (mus-arrays-equal? (channel->float-vector 0 10 ind 0) (float-vector 1.000 1.500 1.500 1.500 1.500 1.000 0.500 0.500 0.500 0.500)))
+	    (snd-display ";mix-selection vals: ~A" (channel->float-vector 0 10 ind 0)))
+	(close-sound ind))
+      
+      (let ((ind (new-sound "fmv.snd")))
+	(let-temporarily ((*transform-size* 256)
+			  (*transform-type* fourier-transform)
+			  (*transform-normalization* normalize-by-channel)
+			  (*transform-graph-type* graph-once)
+			  (*zero-pad* 0))
 	  (let ((v (make-float-vector 2000)))
 	    (let ((e (make-env (list 0.0 0.0 1.0 (* 2000 0.2 pi)) :length 2001)))
 	      (fill-float-vector v (sin (env e))))
 	    (float-vector->channel v 0 2000 ind 0))
-	  (set! *transform-size* 256)
-	  (set! *transform-type* fourier-transform)
-	  (set! *transform-normalization* normalize-by-channel)
-	  (set! *transform-graph-type* graph-once)
-	  (set! *zero-pad* 0)
 	  (set! (transform-graph?) #t)
 	  (make-selection 0 200)
 	  (set! *show-selection-transform* #t)
 	  (set! (selection-framples) 300)
 	  (update-transform-graph)
-	  (let* ((data (transform->float-vector))
-		 (peak (float-vector-peak data))
-		 (val (transform-sample 0)))
-	    (if (= peak 0.0) (snd-display ";transform selection peak: ~A" peak))
-	    (if (fneq val (data 0)) (snd-display ";transform-sample: ~A, data: ~A" val (data 0)))
-	    (if (and (>= (length data) 64)
-		     (> (* .5 peak) (data 51)))
-		(snd-display ";transform selection at 51: ~A, peak: ~A" (data 51) peak)))
+	  (let ((data (transform->float-vector)))
+	    (let ((peak (float-vector-peak data))
+		  (val (transform-sample 0)))
+	      (if (= peak 0.0) (snd-display ";transform selection peak: ~A" peak))
+	      (if (fneq val (data 0)) (snd-display ";transform-sample: ~A, data: ~A" val (data 0)))
+	      (if (and (>= (length data) 64)
+		       (> (* .5 peak) (data 51)))
+		  (snd-display ";transform selection at 51: ~A, peak: ~A" (data 51) peak))))
 	  (for-each
 	   (lambda (pad)
 	     (set! *zero-pad* pad)
@@ -28231,22 +28024,16 @@ EDITS: 2
 	  (set! *zero-pad* 100000)
 	  (if (> *zero-pad* 1000)
 	      (snd-display ";zero-pad: ~A" *zero-pad*))
-	  (set! *zero-pad* 0)
-	  (set! *transform-size* old-size)
-	  (set! *transform-type* (if (integer? old-type) (integer->transform old-type) old-type))
-	  (set! *transform-normalization* old-norm)
-	  (set! *transform-graph-type* old-grf)
-	  (close-sound ind))
-	
-	(let ((ind (open-sound "storm.snd"))
-	      (maxes (float-vector 0.8387 0.5169 0.3318 0.2564 0.1982 0.1532)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 5))
-	    (if (fneq (maxamp) (maxes i)) (snd-display ";enving storm ~D: ~A ~A" i (maxes i) (maxamp)))
-	    (env-sound '(0 0 1 1 2 0))
-	    (if (fneq (maxamp) (maxes (+ i 1))) (snd-display ";enving storm ~D: ~A ~A" (+ i 1) (maxes (+ i 1)) (maxamp))))
-	  (close-sound ind))
-	))
+	  (close-sound ind)))
+      
+      (let ((ind (open-sound "storm.snd"))
+	    (maxes (float-vector 0.8387 0.5169 0.3318 0.2564 0.1982 0.1532)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 5))
+	  (if (fneq (maxamp) (maxes i)) (snd-display ";enving storm ~D: ~A ~A" i (maxes i) (maxamp)))
+	  (env-sound '(0 0 1 1 2 0))
+	  (if (fneq (maxamp) (maxes (+ i 1))) (snd-display ";enving storm ~D: ~A ~A" (+ i 1) (maxes (+ i 1)) (maxamp))))
+	(close-sound ind)))
     
     ;; --------------------------------------------------------------------------------
     ;; length as generic function:
@@ -28414,366 +28201,365 @@ EDITS: 2
 			 (set! (edit-position s c) (- i 1))
 			 (set! unhappy #t)))))))))
     
-    (let* ((snds (sounds))
-	   (cursnd (snds (random (length snds))))
+    (let* ((cursnd (let ((snds (sounds))) (snds (random (length snds)))))
 	   (curchn (random (chans cursnd)))
-	   (chan-list (all-chans))
-	   (cur-maxamps (apply map maxamp chan-list))
-	   (cur-edits (apply map edit-position chan-list))
-	   (cur-framples (apply map framples chan-list))
-	   (cur-amp (maxamp cursnd curchn))
-	   (cur-edit (edit-position cursnd curchn))
-	   (cur-frame (framples cursnd curchn)))
-
-      (case choice
-	;; scale-channel
-	((0) (let* ((scaler (if (< (maxamp cursnd curchn) 1.0) (+ 1.0 (random 1.0)) (+ 0.5 (random 0.5))))
-		    (cur-loc (random cur-frame))
-		    (cur-samp (sample cur-loc cursnd curchn)))
-	       (scale-channel scaler 0 (framples cursnd curchn) cursnd curchn)
-	       (if (not (or (= (edit-position cursnd curchn) (+ 1 cur-edit)) 
-			    (= (edit-position cursnd curchn) cur-edit)))
-		   (snd-display ";scale-channel ~A[~A] edit pos: ~A ~A" (short-file-name cursnd) curchn (edit-position cursnd curchn) cur-edit))
-	       (if (not (= (framples cursnd curchn) cur-frame))
-		   (snd-display ";scale-channel ~A[~A] framples: ~A ~A" (short-file-name cursnd) curchn (framples cursnd curchn) cur-frame))
-	       (if (fneq (maxamp cursnd curchn) (* scaler cur-amp))
-		   (snd-display ";scale-channel ~A[~A] maxamp: ~A ~A (~A, scaler: ~A)" 
-				(short-file-name cursnd) curchn (maxamp cursnd curchn) (* scaler cur-amp)
-				(abs (- (maxamp cursnd curchn) (* scaler cur-amp)))
-				scaler))
-	       (if (fneq (sample cur-loc cursnd curchn) (* scaler cur-samp))
-		   (snd-display ";scale-channel ~A[~A] cur-samp: ~A ~A" (short-file-name cursnd) curchn (sample cur-loc cursnd curchn) (* scaler cur-samp)))
-	       (for-each
-		(lambda (s c amp ed fr)
-		  (if (not (and (equal? s cursnd)
-				(= c curchn)))
-		      (begin
-			(if (not (= (edit-position s c) ed))
-			    (snd-display ";scale-channel ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
-			(if (not (= (framples s c) fr))
-			    (snd-display ";scale-channel ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
-			(if (fneq (maxamp s c) amp)
-			    (snd-display ";scale-channel ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))))
-		(car chan-list)
-		(cadr chan-list)
-		cur-maxamps
-		cur-edits
-		cur-framples)))
-	
-	;; scale-by
-	((1) (let* ((maxscl (apply max cur-maxamps))
-		    (scaler (if (< maxscl 1.0) (+ 1.0 (random 1.0)) (+ 0.5 (random 0.5)))))
-	       (scale-by scaler cursnd curchn)
-	       (for-each
-		(lambda (s c amp ed fr)
-		  (if (or (and (= (sync cursnd) 0) 
-			       (not (and (equal? s cursnd)
-					 (= c curchn))))
-			  (not (= (sync s) (sync cursnd))))
-		      (begin
-			(if (not (= (edit-position s c) ed))
-			    (snd-display ";scale-by ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
-			(if (not (= (framples s c) fr))
-			    (snd-display ";scale-by ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
-			(if (fneq (maxamp s c) amp)
-			    (snd-display ";scale-by ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))
-		      (begin
-			(if (not (or (= (edit-position s c) (+ 1 ed))
-				     (= (edit-position s c) ed)))
-			    (snd-display ";scale-by ~A[~A] edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
-			(if (not (= (framples s c) fr))
-			    (snd-display ";scale-by ~A[~A] framples: ~A ~A" (short-file-name s) c (framples s c) fr))
-			(if (fneq (maxamp s c) (* scaler amp))
-			    (snd-display ";scale-by ~A[~A] maxamp: ~A ~A" (short-file-name s) c (maxamp s c) (* scaler amp))))))
-		(car chan-list)
-		(cadr chan-list)
-		cur-maxamps
-		cur-edits
-		cur-framples)))
-	
-	;; scale-sound-by
-	((4) (let* ((maxscl (apply max cur-maxamps))
-		    (scaler (if (< maxscl 1.0) (+ 1.0 (random 1.0)) (+ 0.5 (random 0.5)))))
-	       (scale-sound-by scaler 1000 1000 cursnd)
-	       (for-each
-		(lambda (s c amp ed fr)
-		  (if (equal? s cursnd)
-		      (begin
-			(if (not (or (= (edit-position s c) (+ 1 ed)) 
-				     (= (edit-position s c) ed)))
-			    (snd-display ";scale-sound-by ~A[~A] edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
-			(if (not (= (framples s c) fr))
-			    (snd-display ";scale-sound-by ~A[~A] framples: ~A ~A" (short-file-name s) c (framples s c) fr)))
-		      (begin
-			(if (not (= (edit-position s c) ed))
-			    (snd-display ";scale-sound-by ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
-			(if (not (= (framples s c) fr))
-			    (snd-display ";scale-sound-by ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
-			(if (fneq (maxamp s c) amp)
-			    (snd-display ";scale-sound-by ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))))
-		(car chan-list)
-		(cadr chan-list)
-		cur-maxamps
-		cur-edits
-		cur-framples)))
-	
-	((5) (let ((pos (edit-position cursnd curchn)))
-	       (if (> pos 0)
-		   (undo (random pos) cursnd curchn))))
-	
-	((6) (let ((len (framples cursnd curchn)))
-	       (if (> len 10000)
-		   (let ((beg (random (floor (/ len 2)))))
-		     (delete-samples beg (+ 10 (random 100)) cursnd curchn)))))
-	
-	((7) (let ((beg (random (+ (framples cursnd curchn) 100)))
-		   (dur (+ 10 (random 100))))
-	       (set! (samples beg dur cursnd curchn) (make-float-vector dur 1.0))))
-	
-	((8) (let ((beg (random (+ (framples cursnd curchn) 100)))
-		   (dur (+ 10 (random 100))))
-	       (insert-samples beg dur (make-float-vector dur 1.0) cursnd curchn)))
-	
-	((9) (add-mark (random (framples cursnd curchn)) cursnd curchn))
-	
-	((10) (let ((beg (random (+ (framples cursnd curchn) 100))))
-		(mix-float-vector (make-float-vector (+ 10 (random 100)) (random 1.0)) beg cursnd curchn)))
-	
-	((11) (let ((beg (random (+ (framples cursnd curchn) 100))))
-		(pad-channel beg (+ 10 (random 100)) cursnd curchn)))
-	
-	((13) (let ((beg (random (- (framples cursnd curchn) 100))))
-		(scale-channel .5 beg (+ 10 (random 100)) cursnd curchn)))
-	
-	((14) (let ((beg (random (- (framples cursnd curchn) 200))))
-		(scale-channel .5 beg (+ 10 (random 100)) cursnd curchn)
-		(scale-channel .5 (+ beg 10) (+ 10 (random 100)) cursnd curchn)))
-	
-	((15) (let ((beg (random (- (framples cursnd curchn) 200))))
-		(scale-channel .5 beg (+ 10 (random 100)) cursnd curchn)
-		(scale-channel 2.0 beg (+ 10 (random 100)) cursnd curchn)))
-	
-	((16) (let ((beg (random (- (framples cursnd curchn) 200))))
-		(pad-channel beg (+ 10 (random 100)) cursnd curchn)
-		(pad-channel (+ beg 10) (+ 10 (random 100)) cursnd curchn)))
-	
-	((17) (let ((beg (random (- (framples cursnd curchn) 200))))
-		(pad-channel beg (+ 10 (random 100)) cursnd curchn)
-		(pad-channel beg (+ 10 (random 100)) cursnd curchn)))
-	
-	((18) (let ((beg (random (- (framples cursnd curchn) 200))))
-		(delete-sample beg cursnd curchn)
-		(delete-sample (+ beg (random 100)) cursnd curchn)))
-	
-	((19) (let ((beg (random (+ (framples cursnd curchn) 200))))
-		(set! (sample beg cursnd curchn) .1)
-		(set! (sample (+ beg (random 100)) cursnd curchn) .2)))
-	
-	((20) (let ((beg (random (- (framples cursnd curchn) 200))))
-		(ramp-channel (- (random 2.0) 1.0) (- (random 2.0) 1.0) beg (+ 10 (random 100)) cursnd curchn)))
-	
-	((12) (let* ((pts (+ 1 (random 8)))
-		     (e (let ((e1 ())
-			      (x 0.0)
-			      (y 0.0))
-			  (do ((i 0 (+ i 1)))
-			      ((= i pts))
-			    (set! e1 (cons x e1))
-			    (if (> (random 3) 0)
-				(set! y (mus-random 1.0)))
-			    (set! e1 (cons y e1))
-			    (set! x (+ x .01 (random 1.0))))
-			  (reverse e1)))
-		     (beg (random (- (framples cursnd curchn) 300)))
-		     (dur (+ 80 (random 200)))
-		     (reader0 (make-sampler beg cursnd curchn)))
-		(env-channel e beg dur cursnd curchn)
-		(let ((reader1 (make-sampler beg cursnd curchn))
-		      (en (make-env e :length dur)))
-		  (do ((i 0 (+ i 1)))
-		      ((= i dur))
-		    (let* ((e0 (env en))
-			   (val00 (reader0))
-			   (val0 (* e0 val00))
-			   (val1 (reader1)))
-		      (if (> (abs (- val0 val1)) .005)
-			  (begin
-			    (if (file-exists? "baddy.scm") (delete-file "baddy.scm"))
-			    (save-state "baddy.scm")
-			    (snd-display ";read env off by ~A: ~%    (~A) at ~A: ~%    ~A ~A (~A ~A) [~A ~A]:~%    ~A" 
-					 (abs (- val0 val1))
-					 e i val0 val1
-					 reader0 reader1 e0 val00
-					 (safe-display-edits cursnd curchn))
-			    (error 'mus-error))))))))
-	
-	;; env-channel
-	((2) 
-	 (let ((pts (+ 1 (random 6))))
-	   (if (undo-env cursnd curchn)
-	       (begin
-		 (set! cur-maxamps (apply map maxamp chan-list))
-		 (set! cur-edits (apply map edit-position chan-list))
-		 (set! cur-framples (apply map framples chan-list))
-		 (set! cur-amp (maxamp cursnd curchn))
-		 (set! cur-edit (edit-position cursnd curchn))
-		 (set! cur-frame (framples cursnd curchn))))
-	   (let ((e (let ((e1 ())
-			  (x 0.0)
-			  (y 0.0))
-		      (do ((i 0 (+ i 1)))
-			  ((= i pts))
-			(set! e1 (cons x e1))
-			(if (> (random 3) 0)
-			    (set! y (mus-random 1.0)))
-			(set! e1 (cons y e1))
-			(set! x (+ x .01 (random 1.0))))
-		      (reverse e1))))
-	     (env-channel e 0 (framples cursnd curchn) cursnd curchn))) ; can be a no-op
-	 (if (not (or (= (edit-position cursnd curchn) (+ 1 cur-edit))
-		      (= (edit-position cursnd curchn) cur-edit)))
-	     (snd-display ";env-channel ~A[~A] edit pos: ~A ~A" (short-file-name cursnd) curchn (edit-position cursnd curchn) cur-edit))
-	 (if (not (= (framples cursnd curchn) cur-frame))
-	     (snd-display ";env-channel ~A[~A] framples: ~A ~A" (short-file-name cursnd) curchn (framples cursnd curchn) cur-frame))
-	 (for-each
-	  (lambda (s c amp ed fr)
-	    (if (not (and (equal? s cursnd)
-			  (= c curchn)))
-		(begin
-		  (if (not (= (edit-position s c) ed))
-		      (snd-display ";env-channel ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
-		  (if (not (= (framples s c) fr))
-		      (snd-display ";env-channel ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
-		  (if (fneq (maxamp s c) amp)
-		      (snd-display ";env-channel ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))))
-	  (car chan-list)
-	  (cadr chan-list)
-	  cur-maxamps
-	  cur-edits
-	  cur-framples))
-	
-	;; env-sound
-	((3) (let* ((pts (+ 1 (random 6)))
-		    (recalc #f)
-		    (e (let ((e1 ())
-			     (x 0.0)
-			     (y 0.0))
-			 (do ((i 0 (+ i 1)))
-			     ((= i pts))
-			   (set! e1 (cons x e1))
-			   (if (> (random 3) 0)
-			       (set! y (mus-random 1.0)))
-			   (set! e1 (cons y e1))
-			   (set! x (+ x .01 (random 1.0))))
-			 (reverse e1)))
-		    (end (apply min cur-framples)) ; env-sound can lengthen a shorter sound if syncd+multichannel
-		    (beg (random (floor (/ end 2)))))
-	       (for-each
-		(lambda (s c)
-		  (if (and (or (not (= (sync cursnd) 0))
-			       (and (equal? s cursnd) (= c curchn)))
-			   (= (sync s) (sync cursnd)))
-		      (let ((val (undo-env s c)))
-			(set! recalc (or recalc val)))))
-		(car chan-list)
-		(cadr chan-list))
-	       (if recalc
-		   (begin
-		     (set! cur-maxamps (apply map maxamp chan-list))
-		     (set! cur-edits (apply map edit-position chan-list))
-		     (set! cur-framples (apply map framples chan-list))
-		     (set! cur-amp (maxamp cursnd curchn))
-		     (set! cur-edit (edit-position cursnd curchn))
-		     (set! cur-frame (framples cursnd curchn))))
-	       (env-sound e beg (max pts (- end beg)) 1.0 cursnd curchn) ; dur here, not end point
-	       (for-each
-		(lambda (s c amp ed fr)
-		  (if (or (and (= (sync cursnd) 0) 
-			       (not (and (equal? s cursnd)
-					 (= c curchn))))
-			  (not (= (sync s) (sync cursnd))))
-		      (begin
-			(if (not (= (edit-position s c) ed))
-			    (snd-display ";env-sound ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
-			(if (not (= (framples s c) fr))
-			    (snd-display ";env-sound ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
-			(if (fneq (maxamp s c) amp)
-			    (snd-display ";env-sound ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))
-		      (begin
-			(if (not (or (= (edit-position s c) (+ 1 ed))
-				     (= (edit-position s c) ed)))
-			    (snd-display ";env-sound ~A[~A] edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
-			(if (not (= (framples s c) fr))
-			    (snd-display ";env-sound ~A[~A] framples: ~A ~A" (short-file-name s) c (framples s c) fr)))))
-		(car chan-list)
-		(cadr chan-list)
-		cur-maxamps
-		cur-edits
-		cur-framples)))
-	)))
+	   (chan-list (all-chans)))
+      (let ((cur-maxamps (apply map maxamp chan-list))
+	    (cur-edits (apply map edit-position chan-list))
+	    (cur-framples (apply map framples chan-list))
+	    (cur-amp (maxamp cursnd curchn))
+	    (cur-edit (edit-position cursnd curchn))
+	    (cur-frame (framples cursnd curchn)))
+	
+	(case choice
+	  ;; scale-channel
+	  ((0) (let* ((scaler (if (< (maxamp cursnd curchn) 1.0) (+ 1.0 (random 1.0)) (+ 0.5 (random 0.5))))
+		      (cur-loc (random cur-frame))
+		      (cur-samp (sample cur-loc cursnd curchn)))
+		 (scale-channel scaler 0 (framples cursnd curchn) cursnd curchn)
+		 (if (not (or (= (edit-position cursnd curchn) (+ 1 cur-edit)) 
+			      (= (edit-position cursnd curchn) cur-edit)))
+		     (snd-display ";scale-channel ~A[~A] edit pos: ~A ~A" (short-file-name cursnd) curchn (edit-position cursnd curchn) cur-edit))
+		 (if (not (= (framples cursnd curchn) cur-frame))
+		     (snd-display ";scale-channel ~A[~A] framples: ~A ~A" (short-file-name cursnd) curchn (framples cursnd curchn) cur-frame))
+		 (if (fneq (maxamp cursnd curchn) (* scaler cur-amp))
+		     (snd-display ";scale-channel ~A[~A] maxamp: ~A ~A (~A, scaler: ~A)" 
+				  (short-file-name cursnd) curchn (maxamp cursnd curchn) (* scaler cur-amp)
+				  (abs (- (maxamp cursnd curchn) (* scaler cur-amp)))
+				  scaler))
+		 (if (fneq (sample cur-loc cursnd curchn) (* scaler cur-samp))
+		     (snd-display ";scale-channel ~A[~A] cur-samp: ~A ~A" (short-file-name cursnd) curchn (sample cur-loc cursnd curchn) (* scaler cur-samp)))
+		 (for-each
+		  (lambda (s c amp ed fr)
+		    (if (not (and (equal? s cursnd)
+				  (= c curchn)))
+			(begin
+			  (if (not (= (edit-position s c) ed))
+			      (snd-display ";scale-channel ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
+			  (if (not (= (framples s c) fr))
+			      (snd-display ";scale-channel ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
+			  (if (fneq (maxamp s c) amp)
+			      (snd-display ";scale-channel ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))))
+		  (car chan-list)
+		  (cadr chan-list)
+		  cur-maxamps
+		  cur-edits
+		  cur-framples)))
+	  
+	  ;; scale-by
+	  ((1) (let ((scaler (let ((maxscl (apply max cur-maxamps)))
+			       (if (< maxscl 1.0) (+ 1.0 (random 1.0)) (+ 0.5 (random 0.5))))))
+		 (scale-by scaler cursnd curchn)
+		 (for-each
+		  (lambda (s c amp ed fr)
+		    (if (or (and (= (sync cursnd) 0) 
+				 (not (and (equal? s cursnd)
+					   (= c curchn))))
+			    (not (= (sync s) (sync cursnd))))
+			(begin
+			  (if (not (= (edit-position s c) ed))
+			      (snd-display ";scale-by ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
+			  (if (not (= (framples s c) fr))
+			      (snd-display ";scale-by ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
+			  (if (fneq (maxamp s c) amp)
+			      (snd-display ";scale-by ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))
+			(begin
+			  (if (not (or (= (edit-position s c) (+ 1 ed))
+				       (= (edit-position s c) ed)))
+			      (snd-display ";scale-by ~A[~A] edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
+			  (if (not (= (framples s c) fr))
+			      (snd-display ";scale-by ~A[~A] framples: ~A ~A" (short-file-name s) c (framples s c) fr))
+			  (if (fneq (maxamp s c) (* scaler amp))
+			      (snd-display ";scale-by ~A[~A] maxamp: ~A ~A" (short-file-name s) c (maxamp s c) (* scaler amp))))))
+		  (car chan-list)
+		  (cadr chan-list)
+		  cur-maxamps
+		  cur-edits
+		  cur-framples)))
+	  
+	  ;; scale-sound-by
+	  ((4) (let ((scaler (let ((maxscl (apply max cur-maxamps)))
+			       (if (< maxscl 1.0) (+ 1.0 (random 1.0)) (+ 0.5 (random 0.5))))))
+		 (scale-sound-by scaler 1000 1000 cursnd)
+		 (for-each
+		  (lambda (s c amp ed fr)
+		    (if (equal? s cursnd)
+			(begin
+			  (if (not (or (= (edit-position s c) (+ 1 ed)) 
+				       (= (edit-position s c) ed)))
+			      (snd-display ";scale-sound-by ~A[~A] edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
+			  (if (not (= (framples s c) fr))
+			      (snd-display ";scale-sound-by ~A[~A] framples: ~A ~A" (short-file-name s) c (framples s c) fr)))
+			(begin
+			  (if (not (= (edit-position s c) ed))
+			      (snd-display ";scale-sound-by ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
+			  (if (not (= (framples s c) fr))
+			      (snd-display ";scale-sound-by ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
+			  (if (fneq (maxamp s c) amp)
+			      (snd-display ";scale-sound-by ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))))
+		  (car chan-list)
+		  (cadr chan-list)
+		  cur-maxamps
+		  cur-edits
+		  cur-framples)))
+	  
+	  ((5) (let ((pos (edit-position cursnd curchn)))
+		 (if (> pos 0)
+		     (undo (random pos) cursnd curchn))))
+	  
+	  ((6) (let ((len (framples cursnd curchn)))
+		 (if (> len 10000)
+		     (let ((beg (random (floor (/ len 2)))))
+		       (delete-samples beg (+ 10 (random 100)) cursnd curchn)))))
+	  
+	  ((7) (let ((beg (random (+ (framples cursnd curchn) 100)))
+		     (dur (+ 10 (random 100))))
+		 (set! (samples beg dur cursnd curchn) (make-float-vector dur 1.0))))
+	  
+	  ((8) (let ((beg (random (+ (framples cursnd curchn) 100)))
+		     (dur (+ 10 (random 100))))
+		 (insert-samples beg dur (make-float-vector dur 1.0) cursnd curchn)))
+	  
+	  ((9) (add-mark (random (framples cursnd curchn)) cursnd curchn))
+	  
+	  ((10) (let ((beg (random (+ (framples cursnd curchn) 100))))
+		  (mix-float-vector (make-float-vector (+ 10 (random 100)) (random 1.0)) beg cursnd curchn)))
+	  
+	  ((11) (let ((beg (random (+ (framples cursnd curchn) 100))))
+		  (pad-channel beg (+ 10 (random 100)) cursnd curchn)))
+	  
+	  ((13) (let ((beg (random (- (framples cursnd curchn) 100))))
+		  (scale-channel .5 beg (+ 10 (random 100)) cursnd curchn)))
+	  
+	  ((14) (let ((beg (random (- (framples cursnd curchn) 200))))
+		  (scale-channel .5 beg (+ 10 (random 100)) cursnd curchn)
+		  (scale-channel .5 (+ beg 10) (+ 10 (random 100)) cursnd curchn)))
+	  
+	  ((15) (let ((beg (random (- (framples cursnd curchn) 200))))
+		  (scale-channel .5 beg (+ 10 (random 100)) cursnd curchn)
+		  (scale-channel 2.0 beg (+ 10 (random 100)) cursnd curchn)))
+	  
+	  ((16) (let ((beg (random (- (framples cursnd curchn) 200))))
+		  (pad-channel beg (+ 10 (random 100)) cursnd curchn)
+		  (pad-channel (+ beg 10) (+ 10 (random 100)) cursnd curchn)))
+	  
+	  ((17) (let ((beg (random (- (framples cursnd curchn) 200))))
+		  (pad-channel beg (+ 10 (random 100)) cursnd curchn)
+		  (pad-channel beg (+ 10 (random 100)) cursnd curchn)))
+	  
+	  ((18) (let ((beg (random (- (framples cursnd curchn) 200))))
+		  (delete-sample beg cursnd curchn)
+		  (delete-sample (+ beg (random 100)) cursnd curchn)))
+	  
+	  ((19) (let ((beg (random (+ (framples cursnd curchn) 200))))
+		  (set! (sample beg cursnd curchn) .1)
+		  (set! (sample (+ beg (random 100)) cursnd curchn) .2)))
+	  
+	  ((20) (let ((beg (random (- (framples cursnd curchn) 200))))
+		  (ramp-channel (- (random 2.0) 1.0) (- (random 2.0) 1.0) beg (+ 10 (random 100)) cursnd curchn)))
+	  
+	  ((12) (let* ((e (let ((e1 ())
+				(x 0.0)
+				(y 0.0)
+				(pts (+ 1 (random 8))))
+			    (do ((i 0 (+ i 1)))
+				((= i pts))
+			      (set! e1 (cons x e1))
+			      (if (> (random 3) 0)
+				  (set! y (mus-random 1.0)))
+			      (set! e1 (cons y e1))
+			      (set! x (+ x .01 (random 1.0))))
+			    (reverse e1)))
+		       (beg (random (- (framples cursnd curchn) 300)))
+		       (dur (+ 80 (random 200)))
+		       (reader0 (make-sampler beg cursnd curchn)))
+		  (env-channel e beg dur cursnd curchn)
+		  (let ((reader1 (make-sampler beg cursnd curchn))
+			(en (make-env e :length dur)))
+		    (do ((i 0 (+ i 1)))
+			((= i dur))
+		      (let* ((e0 (env en))
+			     (val00 (reader0))
+			     (val0 (* e0 val00))
+			     (val1 (reader1)))
+			(if (> (abs (- val0 val1)) .005)
+			    (begin
+			      (if (file-exists? "baddy.scm") (delete-file "baddy.scm"))
+			      (save-state "baddy.scm")
+			      (snd-display ";read env off by ~A: ~%    (~A) at ~A: ~%    ~A ~A (~A ~A) [~A ~A]:~%    ~A" 
+					   (abs (- val0 val1))
+					   e i val0 val1
+					   reader0 reader1 e0 val00
+					   (safe-display-edits cursnd curchn))
+			      (error 'mus-error))))))))
+	  
+	  ;; env-channel
+	  ((2) 
+	   (let ((pts (+ 1 (random 6))))
+	     (if (undo-env cursnd curchn)
+		 (begin
+		   (set! cur-maxamps (apply map maxamp chan-list))
+		   (set! cur-edits (apply map edit-position chan-list))
+		   (set! cur-framples (apply map framples chan-list))
+		   (set! cur-amp (maxamp cursnd curchn))
+		   (set! cur-edit (edit-position cursnd curchn))
+		   (set! cur-frame (framples cursnd curchn))))
+	     (let ((e (let ((e1 ())
+			    (x 0.0)
+			    (y 0.0))
+			(do ((i 0 (+ i 1)))
+			    ((= i pts))
+			  (set! e1 (cons x e1))
+			  (if (> (random 3) 0)
+			      (set! y (mus-random 1.0)))
+			  (set! e1 (cons y e1))
+			  (set! x (+ x .01 (random 1.0))))
+			(reverse e1))))
+	       (env-channel e 0 (framples cursnd curchn) cursnd curchn))) ; can be a no-op
+	   (if (not (or (= (edit-position cursnd curchn) (+ 1 cur-edit))
+			(= (edit-position cursnd curchn) cur-edit)))
+	       (snd-display ";env-channel ~A[~A] edit pos: ~A ~A" (short-file-name cursnd) curchn (edit-position cursnd curchn) cur-edit))
+	   (if (not (= (framples cursnd curchn) cur-frame))
+	       (snd-display ";env-channel ~A[~A] framples: ~A ~A" (short-file-name cursnd) curchn (framples cursnd curchn) cur-frame))
+	   (for-each
+	    (lambda (s c amp ed fr)
+	      (if (not (and (equal? s cursnd)
+			    (= c curchn)))
+		  (begin
+		    (if (not (= (edit-position s c) ed))
+			(snd-display ";env-channel ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
+		    (if (not (= (framples s c) fr))
+			(snd-display ";env-channel ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
+		    (if (fneq (maxamp s c) amp)
+			(snd-display ";env-channel ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))))
+	    (car chan-list)
+	    (cadr chan-list)
+	    cur-maxamps
+	    cur-edits
+	    cur-framples))
+	  
+	  ;; env-sound
+	  ((3) (let* ((pts (+ 1 (random 6)))
+		      (recalc #f)
+		      (e (let ((e1 ())
+			       (x 0.0)
+			       (y 0.0))
+			   (do ((i 0 (+ i 1)))
+			       ((= i pts))
+			     (set! e1 (cons x e1))
+			     (if (> (random 3) 0)
+				 (set! y (mus-random 1.0)))
+			     (set! e1 (cons y e1))
+			     (set! x (+ x .01 (random 1.0))))
+			   (reverse e1)))
+		      (end (apply min cur-framples)) ; env-sound can lengthen a shorter sound if syncd+multichannel
+		      (beg (random (floor (/ end 2)))))
+		 (for-each
+		  (lambda (s c)
+		    (if (and (or (not (= (sync cursnd) 0))
+				 (and (equal? s cursnd) (= c curchn)))
+			     (= (sync s) (sync cursnd)))
+			(let ((val (undo-env s c)))
+			  (if (not recalc) (set! recalc val)))))
+		  (car chan-list)
+		  (cadr chan-list))
+		 (if recalc
+		     (begin
+		       (set! cur-maxamps (apply map maxamp chan-list))
+		       (set! cur-edits (apply map edit-position chan-list))
+		       (set! cur-framples (apply map framples chan-list))
+		       (set! cur-amp (maxamp cursnd curchn))
+		       (set! cur-edit (edit-position cursnd curchn))
+		       (set! cur-frame (framples cursnd curchn))))
+		 (env-sound e beg (max pts (- end beg)) 1.0 cursnd curchn) ; dur here, not end point
+		 (for-each
+		  (lambda (s c amp ed fr)
+		    (if (or (and (= (sync cursnd) 0) 
+				 (not (and (equal? s cursnd)
+					   (= c curchn))))
+			    (not (= (sync s) (sync cursnd))))
+			(begin
+			  (if (not (= (edit-position s c) ed))
+			      (snd-display ";env-sound ~A[~A] wrong edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
+			  (if (not (= (framples s c) fr))
+			      (snd-display ";env-sound ~A[~A] wrong framples: ~A ~A" (short-file-name s) c (framples s c) fr))
+			  (if (fneq (maxamp s c) amp)
+			      (snd-display ";env-sound ~A[~A] wrong maxamp: ~A ~A" (short-file-name s) c (maxamp s c) amp)))
+			(begin
+			  (if (not (or (= (edit-position s c) (+ 1 ed))
+				       (= (edit-position s c) ed)))
+			      (snd-display ";env-sound ~A[~A] edit pos: ~A ~A" (short-file-name s) c (edit-position s c) ed))
+			  (if (not (= (framples s c) fr))
+			      (snd-display ";env-sound ~A[~A] framples: ~A ~A" (short-file-name s) c (framples s c) fr)))))
+		  (car chan-list)
+		  (cadr chan-list)
+		  cur-maxamps
+		  cur-edits
+		  cur-framples)))
+	  ))))
   
   (define (amp-envs-equal? snd chn pos0 pos1 df)
-    (let* ((env0 (channel-amp-envs snd chn pos0))
-	   (len0 (and (pair? env0) (= (length env0) 2) (length (cadr env0))))
-	   (env1 (channel-amp-envs snd chn pos1))
-	   (len1 (and (pair? env1) (= (length env1) 2) (length (cadr env1))))
-	   (happy #t))
-      (and len0 len1
-	  (let* ((minlen (min len0 len1))
-		 (minlen1 (- minlen 1))
-		 (inc0 (/ len0 minlen))
-		 (inc1 (/ len1 minlen))
-		 (e0 (cadr env0))
-		 (e1 (cadr env1)))
-	    (if (not (and (integer? inc0) 
-			  (integer? inc1)))
-		(begin
-		  (snd-display ";lens: ~A ~A" len0 len1)
-		  #f)
-		(do ((i 0 (+ i 1)))
-		    ((or (not happy) (= i minlen1))
-		     happy)
-		  (let ((max0 -1.0)
-			(max1 -1.0))
-		    (if (= inc0 1)
-			(set! max0 (e0 i))
-			(do ((j 0 (+ j 1))
-			     (j1 (* inc0 i) (+ j1 1)))
-			    ((= j inc0))
-			  (set! max0 (max max0 (e0 j1)))))
-		    (if (= inc1 1)
-			(set! max1 (e1 i))
-			(do ((j 0 (+ j 1))
-			     (j1 (* inc1 i) (+ j1 1)))
-			    ((= j inc1))
-			  (set! max1 (max max1 (e1 j1)))))
-		    (if (> (abs (- max0 max1)) df)
-			(begin
-			  (snd-display ";amp-env ~A: ~A ~A" i max0 max1)
-			  (set! happy #f))))))))))
+    (let ((env0 (channel-amp-envs snd chn pos0))
+	  (env1 (channel-amp-envs snd chn pos1)))
+      (let ((len0 (and (pair? env0) (= (length env0) 2) (length (cadr env0))))
+	    (len1 (and (pair? env1) (= (length env1) 2) (length (cadr env1))))
+	    (happy #t))
+	(and len0 len1
+	     (let ((minlen (min len0 len1)))
+	       (let ((minlen1 (- minlen 1))
+		     (inc0 (/ len0 minlen))
+		     (inc1 (/ len1 minlen))
+		     (e0 (cadr env0))
+		     (e1 (cadr env1)))
+		 (if (not (and (integer? inc0) 
+			       (integer? inc1)))
+		     (begin
+		       (snd-display ";lens: ~A ~A" len0 len1)
+		       #f)
+		     (do ((i 0 (+ i 1)))
+			 ((or (not happy) (= i minlen1))
+			  happy)
+		       (let ((max0 -1.0)
+			     (max1 -1.0))
+			 (if (= inc0 1)
+			     (set! max0 (e0 i))
+			     (do ((j 0 (+ j 1))
+				  (j1 (* inc0 i) (+ j1 1)))
+				 ((= j inc0))
+			       (set! max0 (max max0 (e0 j1)))))
+			 (if (= inc1 1)
+			     (set! max1 (e1 i))
+			     (do ((j 0 (+ j 1))
+				  (j1 (* inc1 i) (+ j1 1)))
+				 ((= j inc1))
+			       (set! max1 (max max1 (e1 j1)))))
+			 (if (> (abs (- max0 max1)) df)
+			     (begin
+			       (snd-display ";amp-env ~A: ~A ~A" i max0 max1)
+			       (set! happy #f))))))))))))
   
   (define* (edit-difference s1 c1 e1 e2 (offset 0))
-    (let* ((N (framples s1 c1 e1))
-	   (d1 (samples 0 N s1 c1 e1))
-	   (d2 (samples 0 N s1 c1 e2)))
-      (float-vector-subtract! d1 d2)
-      (let ((diffs (float-vector-peak-and-location d1)))
-	(and (> (car diffs) 0.0)
-	     diffs))))
+    (let ((N (framples s1 c1 e1)))
+      (let ((d1 (samples 0 N s1 c1 e1))
+	    (d2 (samples 0 N s1 c1 e2)))
+	(float-vector-subtract! d1 d2)
+	(let ((diffs (float-vector-peak-and-location d1)))
+	  (and (> (car diffs) 0.0)
+	       diffs)))))
   
   (define* (edit-distance s1 c1 e1 e2 (offset 0))
-    (let* ((incr (make-one-pole 1.0 -1.0))
-	   (N (framples s1 c1 e1))
-	   (d1 (samples 0 N s1 c1 e1))
-	   (d2 (samples 0 N s1 c1 e2)))
-      (float-vector-multiply! d1 d1)
-      (float-vector-multiply! d2 d2)
-      (float-vector-subtract! d1 d2)
-      (float-vector-abs! d1)
-      (do ((i 0 (+ i 1)))
-	  ((= i N))
-	(one-pole incr (float-vector-ref d1 i)))
-      (sqrt (one-pole incr 0.0))))
+    (let ((N (framples s1 c1 e1)))
+      (let ((incr (make-one-pole 1.0 -1.0))
+	    (d1 (samples 0 N s1 c1 e1))
+	    (d2 (samples 0 N s1 c1 e2)))
+	(float-vector-multiply! d1 d1)
+	(float-vector-multiply! d2 d2)
+	(float-vector-subtract! d1 d2)
+	(float-vector-abs! d1)
+	(do ((i 0 (+ i 1)))
+	    ((= i N))
+	  (one-pole incr (float-vector-ref d1 i)))
+	(sqrt (one-pole incr 0.0)))))
   
   (define (check-edit-tree-1 expected-tree expected-vals name line) 
     (define (mus-arrays-equal?-at v0 v1)
@@ -28992,23 +28778,30 @@ EDITS: 2
       (reverse-channel 0 123 oboe 0)
       (if (not (= (edit-position oboe) 10))
 	  (snd-display ";oboe reverse-channel? ~A ~A" (edit-position oboe) (edit-fragment)))
-      (let* ((rd (make-sampler 0))
-	     (sr (make-src :srate 2.0 :input (lambda (dir) (read-sample rd)))))
+      (let ((sr (make-src :srate 2.0 
+			  :input (let ((rd (make-sampler 0)))
+				   (lambda (dir) 
+				     (read-sample rd))))))
 	(clm-channel sr 0 12345 oboe 0)
 	(if (not (= (edit-position oboe) 11))
 	    (snd-display ";oboe clm-channel src? ~A ~A" (edit-position oboe) (edit-fragment))))
-      (let* ((rd (make-sampler 0))
-	     (sr (make-granulate :expansion 2.0 :input (lambda (dir) (read-sample rd)))))
+      (let ((sr (make-granulate :expansion 2.0 
+				:input (let ((rd (make-sampler 0)))
+					 (lambda (dir) 
+					   (read-sample rd))))))
 	(clm-channel sr 0 12345 oboe 0)
 	(if (not (= (edit-position oboe) 12))
 	    (snd-display ";oboe clm-channel granulate? ~A ~A" (edit-position oboe) (edit-fragment))))
-      (let* ((rd (make-sampler 0))
-	     (sr (make-convolve :input (lambda (dir) (read-sample rd)) :filter (float-vector 1.0 0.0 0.0 0.0))))
+      (let ((sr (make-convolve :input (let ((rd (make-sampler 0)))
+					(lambda (dir) 
+					  (read-sample rd)))
+			       :filter (float-vector 1.0 0.0 0.0 0.0))))
 	(clm-channel sr 0 12345 oboe 0)
 	(if (not (= (edit-position oboe) 13))
 	    (snd-display ";oboe clm-channel convolve? ~A ~A" (edit-position oboe) (edit-fragment))))
-      (let* ((rd (make-sampler 0))
-	     (sr (make-phase-vocoder :input (lambda (dir) (read-sample rd)))))
+      (let ((sr (make-phase-vocoder :input (let ((rd (make-sampler 0)))
+					     (lambda (dir) 
+					       (read-sample rd))))))
 	(clm-channel sr 0 12345 oboe 0)
 	(if (not (= (edit-position oboe) 14))
 	    (snd-display ";oboe clm-channel phase-vocoder? ~A ~A" (edit-position oboe) (edit-fragment))))
@@ -29154,19 +28947,19 @@ EDITS: 2
 	(close-sound ind))
       
       (set! *x-axis-style* x-axis-as-percentage)
-      (let* ((ind (open-sound "2.snd"))
-	     (fr (framples))
-	     (m0 (maxamp ind 0))
-	     (m1 (maxamp ind 1)))
-	(set! (sync ind) 64)
-	(insert-sound "2.snd")
-	(insert-sound "2.snd")
-	(if (not (= (framples) (* 3 fr))) (snd-display ";2.snd 3x = ~A ~A" fr (framples)))
-	(if (not (= (framples ind 0) (framples ind 1))) (snd-display ";insert sync'd: ~A ~A" (framples ind 0) (framples ind 1)))
-	(swap-channels)
-	(if (or (fneq m0 (maxamp ind 1)) (fneq m1 (maxamp ind 0)))
-	    (snd-display ";swapped: ~A ~A -> ~A ~A" m0 m1 (maxamp ind 0) (maxamp ind 1)))
-	(close-sound ind))
+      (let ((ind (open-sound "2.snd")))
+	(let ((fr (framples))
+	      (m0 (maxamp ind 0))
+	      (m1 (maxamp ind 1)))
+	  (set! (sync ind) 64)
+	  (insert-sound "2.snd")
+	  (insert-sound "2.snd")
+	  (if (not (= (framples) (* 3 fr))) (snd-display ";2.snd 3x = ~A ~A" fr (framples)))
+	  (if (not (= (framples ind 0) (framples ind 1))) (snd-display ";insert sync'd: ~A ~A" (framples ind 0) (framples ind 1)))
+	  (swap-channels)
+	  (if (or (fneq m0 (maxamp ind 1)) (fneq m1 (maxamp ind 0)))
+	      (snd-display ";swapped: ~A ~A -> ~A ~A" m0 m1 (maxamp ind 0) (maxamp ind 1)))
+	  (close-sound ind)))
       (set! *x-axis-style* x-axis-in-seconds)
       (let ((new-snd (mono-files->stereo "test.snd" "oboe.snd" "pistol.snd")))
 	(if (not (= (channels new-snd) 2)) (snd-display ";mono-files->stereo not stereo? ~A" (channels new-snd)))
@@ -29221,15 +29014,15 @@ EDITS: 2
 					      (if (> (length args) 2)
 						  (caddr args)
 						  (selected-sound))))
-		      (lambda args (apply env-channel 
-					  (make-env :envelope '(0 0 1 1) 
-						    :length (if (and (> (length args) 1)
-								     (number? (cadr args)))
-								(cadr args)
-								(framples (if (> (length args) 2)
-									      (caddr args)
-									      (selected-sound)))))
-					  args)))
+		      (lambda args 
+			(let ((e (make-env :envelope '(0 0 1 1) 
+					   :length (if (and (> (length args) 1)
+							    (number? (cadr args)))
+						       (cadr args)
+						       (framples (if (> (length args) 2)
+								     (caddr args)
+								     (selected-sound)))))))
+			  (apply env-channel e args))))
 	(funcs-equal? "src-sound"
 		      (lambda args (src-sound 2.0 1.0 (and (> (length args) 2) (caddr args))))
 		      (lambda args (apply src-channel 2.0 args)))
@@ -29246,27 +29039,25 @@ EDITS: 2
 	(close-sound oboe1))
       
       (let ((ind (open-sound "oboe.snd"))
-	    (ind1 (new-sound "test.snd"))
-	    (old-save-dir *save-dir*))
-	(set! *save-dir* #f)
-	(map-channel (lambda (y) 0.5) 0 100 ind1 0)
-	(save-sound ind1)
-	(close-sound ind1)
-	(insert-sound "test.snd" 12345)
-	(let ((vals (channel->float-vector 12295 200 ind 0)))
-	  (if (file-exists? "hiho.scm") (delete-file "hiho.scm"))
-	  (save-state "hiho.scm")
-	  (close-sound ind)
-	  (for-each forget-region (regions))
-	  (load (string-append cwd "hiho.scm"))
-	  (set! ind (find-sound "oboe.snd"))
-	  (if (not (sound? ind))
-	      (snd-display ";save hiho failed?")
-	      (let ((new-vals (channel->float-vector 12295 200 ind 0)))
-		(if (not (mus-arrays-equal? vals new-vals))
-		    (snd-display ";save state hiho vals: ~A ~A" vals new-vals))))
-	  (close-sound ind))
-	(set! *save-dir* old-save-dir))
+	    (ind1 (new-sound "test.snd")))
+	(let-temporarily ((*save-dir* #f))
+	  (map-channel (lambda (y) 0.5) 0 100 ind1 0)
+	  (save-sound ind1)
+	  (close-sound ind1)
+	  (insert-sound "test.snd" 12345)
+	  (let ((vals (channel->float-vector 12295 200 ind 0)))
+	    (if (file-exists? "hiho.scm") (delete-file "hiho.scm"))
+	    (save-state "hiho.scm")
+	    (close-sound ind)
+	    (for-each forget-region (regions))
+	    (load (string-append cwd "hiho.scm"))
+	    (set! ind (find-sound "oboe.snd"))
+	    (if (not (sound? ind))
+		(snd-display ";save hiho failed?")
+		(let ((new-vals (channel->float-vector 12295 200 ind 0)))
+		  (if (not (mus-arrays-equal? vals new-vals))
+		      (snd-display ";save state hiho vals: ~A ~A" vals new-vals))))
+	    (close-sound ind))))
       
       (let ((ind (new-sound "test.snd")))
 	(map-channel (lambda (y) (random 1.0)) 0 10)
@@ -29826,8 +29617,7 @@ EDITS: 2
 				       val)))))
 		  (undo 2)))
 	      '(0    0    1000 1000 4000 5000 6000 5000)
-	      '(1000 6000 1000 4000 2000 1000 1000 5000)))
-	   (when (= dur 10000)
+	      '(1000 6000 1000 4000 2000 1000 1000 5000))
 	     (for-each 
 	      (lambda (env-beg env-dur scl-beg scl-dur)
 		(let ((eend (+ env-beg env-dur 1))
@@ -29925,125 +29715,125 @@ EDITS: 2
 	   ))
        '(10 10000))
       
-      (let ((ind (new-sound "fmv.snd" 1 22050 mus-ldouble mus-next "envd edit trees"))
-	    (vals (make-float-vector 10000)))
-	(select-sound ind)
-	(select-channel 0)
-	(check-edit-tree '((0 0 0 0 0.0 0.0 0.0 1) (1 -2 0 0 0.0 0.0 0.0 0)) (make-float-vector 1) "initial new-sound")
-	(fill! vals 1.0)
-	(set! (samples 0 10000) vals)
-	(check-edit-tree '((0 1 0 9999 1.0 0.0 0.0 0) (10000 -2 0 0 0.0 0.0 0.0 0)) vals "envd set first samps to one")
-	(env-sound '(0 0 1 1))
-	(let ((e (make-env '(0 0 1 1) :length 10000)))
-	  (fill-float-vector vals (env e)))
-	(check-edit-tree '((0 1 0 9999 1.0 0.0 1.00010001915507e-4 4) (10000 -2 0 0 0.0 0.0 0.0 0))
-			 vals "env frag '(0 0 1 1)")
-	(delete-samples 1000 1000)
-	(let ((v1 (make-float-vector 9000)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 1000))
-	    (set! (v1 i) (vals i)))
-	  (do ((i 1000 (+ i 1))
-	       (j 2000 (+ j 1)))
-	      ((= i 9000))
-	    (set! (v1 i) (vals j)))
-	  (check-edit-tree '((0 1 0 999 1.0 0.0 1.00010001915507e-4 4) (1000 1 2000 9999 1.0 0.200020000338554 1.00010001915507e-4 4) (9000 -2 0 0 0.0 0.0 0.0 0))
-			   v1 "env frag del"))
-	(undo 1)
-	(delete-samples 9000 1000)
-	(insert-samples 3000 1000 (make-float-vector 1000))
-	(do ((i 9999 (- i 1)))
-	    ((< i 4000))
-	  (set! (vals i) (vals (- i 1000))))
-	(fill! vals 0.0 3000 4000)
-	(check-edit-tree '((0 1 0 2999 1.0 0.0 1.00010001915507e-4 4) (3000 2 0 999 1.0 0.0 0.0 0) 
-			   (4000 1 3000 8999 1.0 0.300029993057251 1.00010001915507e-4 4) (10000 -2 0 0 0.0 0.0 0.0 0))
-			 vals "envd ins/del")
-	(delete-samples 0 1000)
-	(insert-samples 0 1000 (make-float-vector 1000))
-	(fill! vals 0.0 0 1000)
-	(check-edit-tree '((0 3 0 999 1.0 0.0 0.0 0) (1000 1 1000 2999 1.0 0.100010000169277 1.00010001915507e-4 4) 
-			   (3000 2 0 999 1.0 0.0 0.0 0) (4000 1 3000 8999 1.0 0.300029993057251 1.00010001915507e-4 4) (10000 -2 0 0 0.0 0.0 0.0 0))
-			 vals "envd predel")
-	(scale-by 0.5)
-	(float-vector-scale! vals 0.5)
-	(check-edit-tree '((0 3 0 999 0.5 0.0 0.0 0) (1000 1 1000 2999 0.5 0.100010000169277 1.00010001915507e-4 4) 
-			   (3000 2 0 999 0.5 0.0 0.0 0) (4000 1 3000 8999 0.5 0.300029993057251 1.00010001915507e-4 4) (10000 -2 0 0 0.0 0.0 0.0 0))
-			 vals "envd scl")
-	(reverse-channel)
-	(do ((i 0 (+ i 1))
-	     (j 9999 (- j 1)))
-	    ((= i 5000))
-	  (let ((temp (vals i)))
-	    (set! (vals i) (vals j))
-	    (set! (vals j) temp)))
-	(check-edit-tree '((0 4 0 9999 1.0 0.0 0.0 0) (10000 -2 0 0 0.0 0.0 0.0 0))
-			 vals "envd rev")
-	
-	(revert-sound ind)
-	(set! vals (make-float-vector 100000))
-	(fill! vals 1.0)
-	(float-vector->channel vals 0 100000)
-	(env-channel (make-env '(0 0 1 1 2 0) :length 10000) 30000 10000)
-	(let ((e (make-env '(0 0 1 1 2 0) :length 10000)))
-	  (do ((i 30000 (+ i 1)))
-	      ((= i 40000))
-	    (float-vector-set! vals i (env e))))
-	(check-edit-tree '((0 1 0 29999 1.0 0.0 0.0 0) (30000 1 30000 34999 1.0 0.0 1.99999994947575e-4 4)
-			   (35000 1 35000 39999 1.0 1.0 -2.00040012714453e-4 4) (40000 1 40000 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
-			 vals "partial env")
-	(scale-channel .5 10000 10000)
-	(env-channel (make-env '(0 0 1 1 2 0) :length 10000) 30000 10000) ; env over env
-	(let ((e (make-env '(0 0 1 1 2 0) :length 10000)))
-	  (do ((i 30000 (+ i 1)))
-	      ((= i 40000))
-	    (float-vector-set! vals i (* (float-vector-ref vals i) (env e)))))
-	(do ((i 10000 (+ i 1)))
-	    ((= i 20000))
-	  (float-vector-set! vals i (* (float-vector-ref vals i) 0.5)))
-	(check-edit-tree '((0 1 0 9999 1.0 0.0 0.0 0) (10000 1 10000 19999 0.5 0.0 0.0 0) (20000 1 20000 29999 1.0 0.0 0.0 0) (30000 1 30000 34999 1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
-			 vals "env over env")
-	(env-channel (make-env '(0 0 1 1 2 0) :length 10000) 5000 10000) ; env over scl
-	(let ((e (make-env '(0 0 1 1 2 0) :length 10000)))
-	  (do ((i 5000 (+ i 1)))
-	      ((= i 15000))
-	    (float-vector-set! vals i (* (float-vector-ref vals i) (env e)))))
-	(check-edit-tree '((0 1 0 4999 1.0 0.0 0.0 0) (5000 1 5000 9999 1.0 0.0 1.99999994947575e-4 4) (10000 1 10000 14999 0.5 1.0 -2.00040012714453e-4 4) (15000 1 15000 19999 0.5 0.0 0.0 0) (20000 1 20000 29999 1.0 0.0 0.0 0) (30000 1 30000 34999 1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
-			 vals "env over scl")
-	(ramp-channel .5 -.5 25000 1000)
-	(let ((e (make-env '(0 .5 1 -.5) :length 1000)))
-	  (do ((i 25000 (+ i 1)))
-	      ((= i 26000))
-	    (float-vector-set! vals i (* (float-vector-ref vals i) (env e)))))
-	(check-edit-tree '((0 1 0 4999 1.0 0.0 0.0 0) (5000 1 5000 9999 1.0 0.0 1.99999994947575e-4 4) (10000 1 10000 14999 0.5 1.0 -2.00040012714453e-4 4) (15000 1 15000 19999 0.5 0.0 0.0 0) (20000 1 20000 24999 1.0 0.0 0.0 0) (25000 1 25000 25999 1.0 0.5 -0.00100100098643452 4) (26000 1 26000 29999 1.0 0.0 0.0 0) (30000 1 30000 34999 1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
-			 vals "ramp")
-	(scale-by -1.0)
-	(float-vector-scale! vals -1.0)
-	(check-edit-tree '((0 1 0 4999 -1.0 0.0 0.0 0) (5000 1 5000 9999 -1.0 0.0 1.99999994947575e-4 4) (10000 1 10000 14999 -0.5 1.0 -2.00040012714453e-4 4) (15000 1 15000 19999 -0.5 0.0 0.0 0) (20000 1 20000 24999 -1.0 0.0 0.0 0) (25000 1 25000 25999 -1.0 0.5 -0.00100100098643452 4) (26000 1 26000 29999 -1.0 0.0 0.0 0) (30000 1 30000 34999 -1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 -1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 99999 -1.0 0.0 0.0 0) (100000 -2 0 0 -0.0 0.0 0.0 0))
-			 vals "invert")
-	(let ((reader (make-sampler 0 ind 0 1 (- (edit-position) 1))))
-	  (map-channel (lambda (y)
-			 (+ (next-sample reader) y)))
-	  (check-edit-tree '((0 2 0 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
-			   (make-float-vector 100000) "invert and add")
-	  (if (fneq (maxamp) 0.0) (snd-display ";invert-and-add maxamp: ~A" (maxamp))))
-	
-	(undo 1)
-	(ramp-channel -1.0 1.0 50000 30000)
-	(let ((e (make-env '(0 -1.0 1 1.0) :length 30000)))
-	  (do ((i 50000 (+ i 1)))
-	      ((= i 80000))
-	    (float-vector-set! vals i (* (float-vector-ref vals i) (env e)))))
-	(check-edit-tree '((0 1 0 4999 -1.0 0.0 0.0 0) (5000 1 5000 9999 -1.0 0.0 1.99999994947575e-4 4) (10000 1 10000 14999 -0.5 1.0 -2.00040012714453e-4 4) (15000 1 15000 19999 -0.5 0.0 0.0 0) (20000 1 20000 24999 -1.0 0.0 0.0 0) (25000 1 25000 25999 -1.0 0.5 -0.00100100098643452 4) (26000 1 26000 29999 -1.0 0.0 0.0 0) (30000 1 30000 34999 -1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 -1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 49999 -1.0 0.0 0.0 0) (50000 1 50000 79999 -1.0 -1.0 6.66688865749165e-5 4) (80000 1 80000 99999 -1.0 0.0 0.0 0) (100000 -2 0 0 -0.0 0.0 0.0 0))
-			 vals "ramp")
-	(env-sound '(0 0 1 1))
-	(reverse-channel)
-	(delete-samples 1 99999)
-	(if (fneq (sample 0) -1.0) (snd-display ";sample at end: ~A" (sample 0)))
-	(if (not (= (framples) 1)) (snd-display ";length at end: ~A" (framples)))
-	(check-edit-tree '((0 2 0 0 1.0 0.0 0.0 0) (1 -2 0 0 0.0 0.0 0.0 0))
-			 (make-float-vector 1 -1.0) "at end")
-	(close-sound ind))
+      (let ((ind (new-sound "fmv.snd" 1 22050 mus-ldouble mus-next "envd edit trees")))
+	(let ((vals (make-float-vector 10000)))
+	  (select-sound ind)
+	  (select-channel 0)
+	  (check-edit-tree '((0 0 0 0 0.0 0.0 0.0 1) (1 -2 0 0 0.0 0.0 0.0 0)) (make-float-vector 1) "initial new-sound")
+	  (fill! vals 1.0)
+	  (set! (samples 0 10000) vals)
+	  (check-edit-tree '((0 1 0 9999 1.0 0.0 0.0 0) (10000 -2 0 0 0.0 0.0 0.0 0)) vals "envd set first samps to one")
+	  (env-sound '(0 0 1 1))
+	  (let ((e (make-env '(0 0 1 1) :length 10000)))
+	    (fill-float-vector vals (env e)))
+	  (check-edit-tree '((0 1 0 9999 1.0 0.0 1.00010001915507e-4 4) (10000 -2 0 0 0.0 0.0 0.0 0))
+			   vals "env frag '(0 0 1 1)")
+	  (delete-samples 1000 1000)
+	  (let ((v1 (make-float-vector 9000)))
+	    (do ((i 0 (+ i 1)))
+		((= i 1000))
+	      (set! (v1 i) (vals i)))
+	    (do ((i 1000 (+ i 1))
+		 (j 2000 (+ j 1)))
+		((= i 9000))
+	      (set! (v1 i) (vals j)))
+	    (check-edit-tree '((0 1 0 999 1.0 0.0 1.00010001915507e-4 4) (1000 1 2000 9999 1.0 0.200020000338554 1.00010001915507e-4 4) (9000 -2 0 0 0.0 0.0 0.0 0))
+			     v1 "env frag del"))
+	  (undo 1)
+	  (delete-samples 9000 1000)
+	  (insert-samples 3000 1000 (make-float-vector 1000))
+	  (do ((i 9999 (- i 1)))
+	      ((< i 4000))
+	    (set! (vals i) (vals (- i 1000))))
+	  (fill! vals 0.0 3000 4000)
+	  (check-edit-tree '((0 1 0 2999 1.0 0.0 1.00010001915507e-4 4) (3000 2 0 999 1.0 0.0 0.0 0) 
+			     (4000 1 3000 8999 1.0 0.300029993057251 1.00010001915507e-4 4) (10000 -2 0 0 0.0 0.0 0.0 0))
+			   vals "envd ins/del")
+	  (delete-samples 0 1000)
+	  (insert-samples 0 1000 (make-float-vector 1000))
+	  (fill! vals 0.0 0 1000)
+	  (check-edit-tree '((0 3 0 999 1.0 0.0 0.0 0) (1000 1 1000 2999 1.0 0.100010000169277 1.00010001915507e-4 4) 
+			     (3000 2 0 999 1.0 0.0 0.0 0) (4000 1 3000 8999 1.0 0.300029993057251 1.00010001915507e-4 4) (10000 -2 0 0 0.0 0.0 0.0 0))
+			   vals "envd predel")
+	  (scale-by 0.5)
+	  (float-vector-scale! vals 0.5)
+	  (check-edit-tree '((0 3 0 999 0.5 0.0 0.0 0) (1000 1 1000 2999 0.5 0.100010000169277 1.00010001915507e-4 4) 
+			     (3000 2 0 999 0.5 0.0 0.0 0) (4000 1 3000 8999 0.5 0.300029993057251 1.00010001915507e-4 4) (10000 -2 0 0 0.0 0.0 0.0 0))
+			   vals "envd scl")
+	  (reverse-channel)
+	  (do ((i 0 (+ i 1))
+	       (j 9999 (- j 1)))
+	      ((= i 5000))
+	    (let ((temp (vals i)))
+	      (set! (vals i) (vals j))
+	      (set! (vals j) temp)))
+	  (check-edit-tree '((0 4 0 9999 1.0 0.0 0.0 0) (10000 -2 0 0 0.0 0.0 0.0 0))
+			   vals "envd rev")
+	  
+	  (revert-sound ind))
+	(let ((vals (make-float-vector 100000)))
+	  (fill! vals 1.0)
+	  (float-vector->channel vals 0 100000)
+	  (env-channel (make-env '(0 0 1 1 2 0) :length 10000) 30000 10000)
+	  (let ((e (make-env '(0 0 1 1 2 0) :length 10000)))
+	    (do ((i 30000 (+ i 1)))
+		((= i 40000))
+	      (float-vector-set! vals i (env e))))
+	  (check-edit-tree '((0 1 0 29999 1.0 0.0 0.0 0) (30000 1 30000 34999 1.0 0.0 1.99999994947575e-4 4)
+			     (35000 1 35000 39999 1.0 1.0 -2.00040012714453e-4 4) (40000 1 40000 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
+			   vals "partial env")
+	  (scale-channel .5 10000 10000)
+	  (env-channel (make-env '(0 0 1 1 2 0) :length 10000) 30000 10000) ; env over env
+	  (let ((e (make-env '(0 0 1 1 2 0) :length 10000)))
+	    (do ((i 30000 (+ i 1)))
+		((= i 40000))
+	      (float-vector-set! vals i (* (float-vector-ref vals i) (env e)))))
+	  (do ((i 10000 (+ i 1)))
+	      ((= i 20000))
+	    (float-vector-set! vals i (* (float-vector-ref vals i) 0.5)))
+	  (check-edit-tree '((0 1 0 9999 1.0 0.0 0.0 0) (10000 1 10000 19999 0.5 0.0 0.0 0) (20000 1 20000 29999 1.0 0.0 0.0 0) (30000 1 30000 34999 1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
+			   vals "env over env")
+	  (env-channel (make-env '(0 0 1 1 2 0) :length 10000) 5000 10000) ; env over scl
+	  (let ((e (make-env '(0 0 1 1 2 0) :length 10000)))
+	    (do ((i 5000 (+ i 1)))
+		((= i 15000))
+	      (float-vector-set! vals i (* (float-vector-ref vals i) (env e)))))
+	  (check-edit-tree '((0 1 0 4999 1.0 0.0 0.0 0) (5000 1 5000 9999 1.0 0.0 1.99999994947575e-4 4) (10000 1 10000 14999 0.5 1.0 -2.00040012714453e-4 4) (15000 1 15000 19999 0.5 0.0 0.0 0) (20000 1 20000 29999 1.0 0.0 0.0 0) (30000 1 30000 34999 1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
+			   vals "env over scl")
+	  (ramp-channel .5 -.5 25000 1000)
+	  (let ((e (make-env '(0 .5 1 -.5) :length 1000)))
+	    (do ((i 25000 (+ i 1)))
+		((= i 26000))
+	      (float-vector-set! vals i (* (float-vector-ref vals i) (env e)))))
+	  (check-edit-tree '((0 1 0 4999 1.0 0.0 0.0 0) (5000 1 5000 9999 1.0 0.0 1.99999994947575e-4 4) (10000 1 10000 14999 0.5 1.0 -2.00040012714453e-4 4) (15000 1 15000 19999 0.5 0.0 0.0 0) (20000 1 20000 24999 1.0 0.0 0.0 0) (25000 1 25000 25999 1.0 0.5 -0.00100100098643452 4) (26000 1 26000 29999 1.0 0.0 0.0 0) (30000 1 30000 34999 1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
+			   vals "ramp")
+	  (scale-by -1.0)
+	  (float-vector-scale! vals -1.0)
+	  (check-edit-tree '((0 1 0 4999 -1.0 0.0 0.0 0) (5000 1 5000 9999 -1.0 0.0 1.99999994947575e-4 4) (10000 1 10000 14999 -0.5 1.0 -2.00040012714453e-4 4) (15000 1 15000 19999 -0.5 0.0 0.0 0) (20000 1 20000 24999 -1.0 0.0 0.0 0) (25000 1 25000 25999 -1.0 0.5 -0.00100100098643452 4) (26000 1 26000 29999 -1.0 0.0 0.0 0) (30000 1 30000 34999 -1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 -1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 99999 -1.0 0.0 0.0 0) (100000 -2 0 0 -0.0 0.0 0.0 0))
+			   vals "invert")
+	  (let ((reader (make-sampler 0 ind 0 1 (- (edit-position) 1))))
+	    (map-channel (lambda (y)
+			   (+ (next-sample reader) y)))
+	    (check-edit-tree '((0 2 0 99999 1.0 0.0 0.0 0) (100000 -2 0 0 0.0 0.0 0.0 0))
+			     (make-float-vector 100000) "invert and add")
+	    (if (fneq (maxamp) 0.0) (snd-display ";invert-and-add maxamp: ~A" (maxamp))))
+	  
+	  (undo 1)
+	  (ramp-channel -1.0 1.0 50000 30000)
+	  (let ((e (make-env '(0 -1.0 1 1.0) :length 30000)))
+	    (do ((i 50000 (+ i 1)))
+		((= i 80000))
+	      (float-vector-set! vals i (* (float-vector-ref vals i) (env e)))))
+	  (check-edit-tree '((0 1 0 4999 -1.0 0.0 0.0 0) (5000 1 5000 9999 -1.0 0.0 1.99999994947575e-4 4) (10000 1 10000 14999 -0.5 1.0 -2.00040012714453e-4 4) (15000 1 15000 19999 -0.5 0.0 0.0 0) (20000 1 20000 24999 -1.0 0.0 0.0 0) (25000 1 25000 25999 -1.0 0.5 -0.00100100098643452 4) (26000 1 26000 29999 -1.0 0.0 0.0 0) (30000 1 30000 34999 -1.0 0.0 1.99999994947575e-4 6) (35000 1 35000 39999 -1.0 1.0 -2.00040012714453e-4 6) (40000 1 40000 49999 -1.0 0.0 0.0 0) (50000 1 50000 79999 -1.0 -1.0 6.66688865749165e-5 4) (80000 1 80000 99999 -1.0 0.0 0.0 0) (100000 -2 0 0 -0.0 0.0 0.0 0))
+			   vals "ramp")
+	  (env-sound '(0 0 1 1))
+	  (reverse-channel)
+	  (delete-samples 1 99999)
+	  (if (fneq (sample 0) -1.0) (snd-display ";sample at end: ~A" (sample 0)))
+	  (if (not (= (framples) 1)) (snd-display ";length at end: ~A" (framples)))
+	  (check-edit-tree '((0 2 0 0 1.0 0.0 0.0 0) (1 -2 0 0 0.0 0.0 0.0 0))
+			   (make-float-vector 1 -1.0) "at end")
+	(close-sound ind)))
       
       ;; a special case that catches the round-off problem
       (let ((ind (open-sound "oboe.snd")))
@@ -30080,10 +29870,9 @@ EDITS: 2
 	(ramp-channel 0.5 1.0) ; val = 0.5 + (20000/50828)*0.5
 	(ramp-channel 0.0 0.5) ; val * (20000/50828)*0.5
 	(ramp-channel 0.1 0.4) ; val * (0.1 + (20000/50828)*0.3)
-	(let* ((val (sample 20000))
-	       (ratio (/ 20000.0 50828))
-	       (val2 (* (+ 0.5 (* 0.5 ratio)) 0.5 ratio))
-	       (val3 (* val2 (+ 0.1 (* ratio 0.3)))))
+	(let ((val (sample 20000))
+	      (val3 (let ((ratio (/ 20000.0 50828)))
+		      (* (+ 0.5 (* 0.5 ratio)) 0.5 ratio (+ 0.1 (* ratio 0.3))))))
 	  (if (fneq val val3)
 	      (snd-display ";ramp-channels piled up (2): ~A ~A" val val3)))
 	
@@ -30242,45 +30031,45 @@ EDITS: 2
 	(if (pair? (cadddr data))
 	    (snd-display ";away: ~{~A ~}" (map (lambda (a) (if (< a .005) (copy "   0.0") (format #f "~6,2F" a))) (cadddr data)))))
       
-      (when (and all-args with-big-file)
-	(let ((ind (view-sound big-file-name)))
-	  (catch #t
-	    (lambda ()
-	      (set! (squelch-update ind) #t)
-	      (set! *selection-creates-region* #f)
-	      (let ((times (map
-			    (lambda (function)
-			      (let ((start (real-time)))
-				(function)
-				(update-time-graph)
-				(revert-sound)
-				(- (real-time) start)))
-			    (list (lambda () 
-				    (let ((ma (maxamp)))
-				      (scale-channel 2.0)
-				      (if (fneq (maxamp) (* 2 ma)) (snd-display ";bigger scale max: ~A ~A" ma (maxamp)))))
-				  (lambda () 
-				    (let ((ma (maxamp)))
-				      (env-channel '(0 0 1 1))
-				      (if (fneq (maxamp) ma) (snd-display ";bigger env max: ~A ~A" ma (maxamp)))))
-				  (lambda () (pad-channel 0 2000))
-				  (lambda () (pad-channel 1336909605 297671280))
-				  (lambda () (insert-silence (+ (framples ind) 100) 100))
-				  (lambda () (float-vector->channel (make-float-vector 1000 .1) 0 1000))
-				  (lambda () (float-vector->channel (make-float-vector 1000 .1) (/ (framples ind) 2) 1000))
-				  (lambda () (float-vector->channel (make-float-vector 1000 .1) (- (framples ind) 2000) 1000))
-				  (lambda () (mix "pistol.snd" 12345))
-				  (lambda () (delete-samples 10 200))
-				  (lambda () (delete-samples 1336909605 297671280))
-				  (lambda () (delete-samples (- (framples ind) 100) 10))
-				  ))))
-		(set! (squelch-update ind) #f)
-		(snd-display ";big:  ~{~6,2F~}" times)
-		))
-	    (lambda args (set! (squelch-update) #f)))
-	  (close-sound ind)))
-      
       (when with-big-file
+	(when all-args
+	  (let ((ind (view-sound big-file-name)))
+	    (catch #t
+	      (lambda ()
+		(set! (squelch-update ind) #t)
+		(set! *selection-creates-region* #f)
+		(let ((times (map
+			      (lambda (function)
+				(let ((start (real-time)))
+				  (function)
+				  (update-time-graph)
+				  (revert-sound)
+				  (- (real-time) start)))
+			      (list (lambda () 
+				      (let ((ma (maxamp)))
+					(scale-channel 2.0)
+					(if (fneq (maxamp) (* 2 ma)) (snd-display ";bigger scale max: ~A ~A" ma (maxamp)))))
+				    (lambda () 
+				      (let ((ma (maxamp)))
+					(env-channel '(0 0 1 1))
+					(if (fneq (maxamp) ma) (snd-display ";bigger env max: ~A ~A" ma (maxamp)))))
+				    (lambda () (pad-channel 0 2000))
+				    (lambda () (pad-channel 1336909605 297671280))
+				    (lambda () (insert-silence (+ (framples ind) 100) 100))
+				    (lambda () (float-vector->channel (make-float-vector 1000 .1) 0 1000))
+				    (lambda () (float-vector->channel (make-float-vector 1000 .1) (/ (framples ind) 2) 1000))
+				    (lambda () (float-vector->channel (make-float-vector 1000 .1) (- (framples ind) 2000) 1000))
+				    (lambda () (mix "pistol.snd" 12345))
+				    (lambda () (delete-samples 10 200))
+				    (lambda () (delete-samples 1336909605 297671280))
+				    (lambda () (delete-samples (- (framples ind) 100) 10))
+				    ))))
+		  (set! (squelch-update ind) #f)
+		  (snd-display ";big:  ~{~6,2F~}" times)
+		  ))
+	      (lambda args (set! (squelch-update) #f)))
+	    (close-sound ind)))
+
 	(letrec ((fieql
 		  (lambda (a b)
 		    (if (null? a)
@@ -30297,8 +30086,7 @@ EDITS: 2
 	  
 	  (let ((ind (open-sound big-file-name)))
 	    (let ((old-vals #f))
-	      (let ((maxa 0.0)
-		    (vals (make-float-vector 100)))
+	      (let ((vals (make-float-vector 100)))
 		(if (= big-file-framples 0)
 		    (set! big-file-framples (framples ind)))
 		(select-sound ind)
@@ -30307,10 +30095,10 @@ EDITS: 2
 		(if (not (fieql (edit-tree) (list (list 0 0 0 (- big-file-framples 1) 1.0 0.0 0.0 0) (list big-file-framples -2 0 0 0.0 0.0 0.0 0))))
 		    (snd-display ";bigger initial tree: ~A" (edit-tree)))
 		(fill! vals 1.0)
-		(set! maxa (maxamp))
-		(scale-channel 0.5)
-		(set! old-vals (channel->float-vector (- (* (floor *clm-srate*) 50000) 50) 200))
-		(if (fneq (maxamp) (* 0.5 maxa)) (snd-display ";bigger scale: ~A ~A" maxa (maxamp))))
+		(let ((maxa (maxamp)))
+		  (scale-channel 0.5)
+		  (set! old-vals (channel->float-vector (- (* (floor *clm-srate*) 50000) 50) 200))
+		  (if (fneq (maxamp) (* 0.5 maxa)) (snd-display ";bigger scale: ~A ~A" maxa (maxamp)))))
 	      (set! (samples (* (floor *clm-srate*) 50000) 100) vals)
 	      (if (not (fieql (edit-tree) (list (list 0 0 0 2204999999 0.5 0.0 0.0 0) 
 						(list 2205000000 1 0 99 1.0 0.0 0.0 0) 
@@ -30505,8 +30293,8 @@ EDITS: 2
 	   (undo 1 ind 0))
 	 '(2.0 1.5 3.0 3.14)
 	 '(0.008 0.01 0.015 0.025))
-	(close-sound ind)
-	(set! ind (open-sound "oboe.snd"))
+	(close-sound ind))
+      (let ((ind (open-sound "oboe.snd")))
 	(let ((orig-max (maxamp ind 0)))
 	  (for-each
 	   (lambda (sr df)
@@ -31354,7 +31142,7 @@ EDITS: 1
 	    (lambda (snd i)
 	      (filter-channel (float-vector .1 .2 .1 .1 .1 .1 .1 .2 .1 .1) 10))
 	    (lambda (snd i)
-	      (filter-channel (float-vector .1 .1 .1 .1 .1 .1 .1 .1 .1 .1) 10))
+	      (filter-channel (make-float-vector 10 .1) 10))
 	    (lambda (snd i)
 	      (clm-channel (make-two-zero .5 .5)))
 	    (lambda (snd i)
@@ -31432,10 +31220,10 @@ EDITS: 1
 	    (if (and (pair? diff) (> (car diff) .0001)) (snd-display ";edpos src 1 diff: ~A" diff)))
 	  (if (= (edit-position ind 0) (+ edpos 2)) 
 	      (snd-display ";edpos src copy opted out?")
-	      (undo))
+	      (undo)))
 	  
-	  (set! edpos (edit-position ind 0))
-	  (let ((len (framples ind 0)))
+	(let ((edpos (edit-position ind 0))
+	      (len (framples ind 0)))
 	    (src-channel 0.5)
 	    
 	    (scale-channel 1.0 0 #f ind 0 edpos)
@@ -31486,21 +31274,21 @@ EDITS: 1
 		(snd-display ";clm len edpos: ~A ~A" len (framples ind 0)))
 	    (undo))
 	  
-	  ;; dur of 0 is ignored no matter what -- else I have a million special cases
-	  ;;   -> insert 0 at other edpos, delete 0, change 0 (x|ramp-channel) (map? etc)
-	  
-	  (revert-sound ind)
-	  (close-sound ind)
-	  
-	  ;; -------- reach back with partial edit
-	  (set! ind (new-sound "fmv.snd" :size 10))
-	  (as-one-edit
-	   (lambda ()
-	     (do ((i 0 (+ i 1)))
-		 ((= i 10))
-	       (set! (sample i) (* i .01)))))
-	  (set! edpos (edit-position ind 0))
-	  
+	;; dur of 0 is ignored no matter what -- else I have a million special cases
+	;;   -> insert 0 at other edpos, delete 0, change 0 (x|ramp-channel) (map? etc)
+	
+	(revert-sound ind)
+	(close-sound ind))
+	
+	;; -------- reach back with partial edit
+      (let ((ind (new-sound "fmv.snd" :size 10)))
+	(as-one-edit
+	 (lambda ()
+	   (do ((i 0 (+ i 1)))
+	       ((= i 10))
+	     (set! (sample i) (* i .01)))))
+
+	(let ((edpos (edit-position ind 0)))
 	  (pad-channel 0 10 ind 0)
 	  (pad-channel 20 10 ind 0)
 	  (set! (samples 0 10 ind 0) (make-float-vector 10 .5))
@@ -31720,7 +31508,7 @@ EDITS: 1
 	(undo)
 	(set! (amp-control ind) 2.0)
 	(apply-controls ind 1 5)
-	(if (not (mus-arrays-equal? (channel->float-vector 0 5) (float-vector 0.4 0.4 0.4 0.4 0.4)))
+	(if (not (mus-arrays-equal? (channel->float-vector 0 5) (make-float-vector 5 0.4)))
 	    (snd-display ";apply controls from 5: ~A" (channel->float-vector)))
 	(if (ffneq (sample 5) .8) (snd-display ";apply-controls at 5: ~A" (sample 5)))
 	(let ((tag (catch 'no-such-edit
@@ -31758,7 +31546,7 @@ EDITS: 1
 	  (map-channel (lambda (y) (set! (data 0) y) data)))
 	(if (not (= (framples ind 0) 101656))
 	    (snd-display ";map-channel oboe -> float-vector: ~A" (framples ind 0))
-	    (if (not (mus-arrays-equal? (channel->float-vector 0 10) (float-vector 0.000 0.000 -0.000 0.000 -0.000 0.000 -0.000 0.000 -0.000 0.0)))
+	    (if (not (mus-arrays-equal? (channel->float-vector 0 10) (make-float-vector 10)))
 		(snd-display ";map-channel float-vector result: ~A" (channel->float-vector 0 10))))
 	(revert-sound)
 	(close-sound ind))
@@ -31979,12 +31767,12 @@ EDITS: 1
 	    (if (not (vmus-arrays-equal? v (float-vector 0.0 0.02056010532402247 0.05 0.07720130317537323 0.1 0.1238094543862298 0.15 0.1758514952493174 
 					      0.2 0.2245876821803736 0.25 0.2753688942389073 0.3 0.3249295824364337 0.35 0.3751591614371849 
 					      0.4 0.4250776763951197 0.45 0.4750983986223486 0.5 0.5251191208495776 0.55 0.5750480002850203 
-					      0.6000000000000001 0.6251857364939857 0.65 0.6749656459425423 0.7000000000000001 0.7252971884488815 
-					      0.75 0.7748042296887507 0.8 0.8255720997331736 0.8500000000000001 0.8742119340573964 0.9 
-					      0.9274509253698831 0.9500000000000001 0.9590869443463733 0.9500000000000001 0.9274509253698828 
-					      0.9 0.8742119340573966 0.8500000000000001 0.8255720997331734 0.8 0.7748042296887506 0.75 
-					      0.7252971884488812 0.7000000000000001 0.6749656459425423 0.65 0.6251857364939858 
-					      0.6000000000000001 0.5750480002850203 0.55 0.5251191208495776 0.5 0.4750983986223486 
+					      0.60000000 0.6251857364939857 0.65 0.6749656459425423 0.70000000 0.7252971884488815 
+					      0.75 0.7748042296887507 0.8 0.8255720997331736 0.85000000 0.8742119340573964 0.9 
+					      0.9274509253698831 0.95000000 0.9590869443463733 0.95000000 0.9274509253698828 
+					      0.9 0.8742119340573966 0.85000000 0.8255720997331734 0.8 0.7748042296887506 0.75 
+					      0.7252971884488812 0.70000000 0.6749656459425423 0.65 0.6251857364939858 
+					      0.60000000 0.5750480002850203 0.55 0.5251191208495776 0.5 0.4750983986223486 
 					      0.45 0.4250776763951198 0.4 0.3751591614371849 0.35 0.3249295824364337 0.3
 					      0.2753688942389073 0.25 0.2245876821803736 0.2 0.1758514952493173 0.15 0.1238094543862298
 					      0.1 0.07720130317537324 0.05 0.02056010532402247 0.0 -0.004445073550837984 0.0)))
@@ -32195,29 +31983,6 @@ EDITS: 1
 
 (define (snd_test_18)
   
-  (define hilbert-transform-via-fft 
-    (let ((documentation "same as FIR version but use FFT and change phases by hand"))
-      (lambda* (snd chn)
-	(let* ((size (framples snd chn))
-	       (len (expt 2 (ceiling (log size 2.0))))
-	       (rl (make-float-vector len))
-	       (im (make-float-vector len))
-	       (rd (make-sampler 0 snd chn))
-	       (pi2 (* 0.5 pi)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i size))
-	    (set! (rl i) (rd)))
-	  (mus-fft rl im len)
-	  (rectangular->polar rl im)
-	  (float-vector-offset! im (- pi2))
-	  (do ((i (/ len 2) (+ i 1)))
-	      ((= i len))
-	    (float-vector-set! im i (+ (float-vector-ref im i) pi)))
-	  (polar->rectangular rl im)
-	  (mus-fft rl im len -1)
-	  (float-vector-scale! rl (/ 1.0 len))
-	  (float-vector->channel rl 0 len snd chn #f "hilbert-transform-via-fft")))))
-  
   ;; echoes with each echo at a new pitch via ssb-am etc
   
 #|
@@ -32467,17 +32232,17 @@ EDITS: 1
       (if (file-exists? "t1.scm") (delete-file "t1.scm"))
       (save-state "t1.scm")
       (close-sound ind)
-      (close-sound ind1)
-      (for-each forget-region (regions))
-      (load (string-append cwd "t1.scm"))
-      (set! ind (find-sound "fmv.snd"))
-      (set! ind1 (find-sound "fmv1.snd"))
+      (close-sound ind1))
+    (for-each forget-region (regions))
+    (load (string-append cwd "t1.scm"))
+    (let ((ind (find-sound "fmv.snd"))
+	  (ind1 (find-sound "fmv1.snd")))
       (if (not (and (sound? ind)
 		    (sound? ind1)))
 	  (snd-display ";save-state(2) restored but no sound? ~A ~A" ind ind1))
       (close-sound ind)
-      (close-sound ind1)
-      (delete-file "t1.scm"))
+      (close-sound ind1))
+    (delete-file "t1.scm")
     
     (let ((ind (open-sound "oboe.snd")))
       (let-temporarily ((*eps-file* "hiho.eps")
@@ -32542,94 +32307,78 @@ EDITS: 1
 	(delete-file "s61.scm")
 	(close-sound ind)))
     
-    (let ((ind (open-sound "oboe.snd"))
-	  (old-tiny-font *tiny-font*)
-	  (old-peaks-font *peaks-font*)
-	  (old-bold-peaks-font *bold-peaks-font*)
-	  (old-amp (amp-control-bounds))
-	  (old-speed (speed-control-bounds))
-	  (old-contrast (contrast-control-bounds))
-	  (old-revlen (reverb-control-length-bounds))
-	  (old-revscl (reverb-control-scale-bounds)))
-      (set! *tiny-font* "8x13")
-      (set! *peaks-font* "8x13")
-      (set! *bold-peaks-font* "8x13")
-      (set! (amp-control-bounds) (list 0.0 2.5))
-      (set! (speed-control-bounds) (list 1.0 2.5))
-      (set! (reverb-control-scale-bounds) (list 0.0 2.5))
-      (set! (reverb-control-length-bounds) (list 0.0 2.5))
-      (set! (contrast-control-bounds) (list 0.0 2.5))
-      (save-state "s61.scm")
-      (close-sound ind)
-      (for-each forget-region (regions))
-      (load (string-append cwd "s61.scm"))
-      (if (not (string=? *tiny-font* "8x13")) (snd-display ";save tiny-font: ~A" *tiny-font*))
-      (if (not (string=? *peaks-font* "8x13")) (snd-display ";save peaks-font: ~A" *peaks-font*))
-      (if (not (string=? *bold-peaks-font* "8x13")) (snd-display ";save bold-peaks-font: ~A" *bold-peaks-font*))
-      (if (not (feql (amp-control-bounds) '(0 2.5))) 
-	  (snd-display ";save amp-control-bounds: ~A" (amp-control-bounds)))
-      (if (not (feql (speed-control-bounds) '(1.0 2.5))) 
-	  (snd-display ";save speed-control-bounds: ~A" (speed-control-bounds)))
-      (if (not (feql (contrast-control-bounds) '(0 2.5))) 
-	  (snd-display ";save contrast-control-bounds: ~A" (contrast-control-bounds)))
-      (if (not (feql (reverb-control-scale-bounds) '(0 2.5))) 
-	  (snd-display ";save reverb-control-scale-bounds: ~A" (reverb-control-scale-bounds)))
-      (if (not (feql (reverb-control-length-bounds) '(0 2.5))) 
-	  (snd-display ";save reverb-control-length-bounds: ~A" (reverb-control-length-bounds)))
-      (set! *tiny-font* old-tiny-font)
-      (set! *peaks-font* old-peaks-font)
-      (set! *bold-peaks-font* old-bold-peaks-font)
-      (set! (amp-control-bounds) old-amp)
-      (set! (speed-control-bounds) old-speed)
-      (set! (contrast-control-bounds) old-contrast)
-      (set! (reverb-control-scale-bounds) old-revscl)
-      (set! (reverb-control-length-bounds) old-revlen)
-      (delete-file "s61.scm")
-      (close-sound ind))
+    (let ((ind (open-sound "oboe.snd")))
+      (let-temporarily ((*tiny-font* "8x13")
+			(*peaks-font* "8x13")
+			(*bold-peaks-font* "8x13")
+			((amp-control-bounds) (list 0.0 2.5))
+			((speed-control-bounds) (list 1.0 2.5))
+			((reverb-control-scale-bounds) (list 0.0 2.5))
+			((reverb-control-length-bounds) (list 0.0 2.5))
+			((contrast-control-bounds) (list 0.0 2.5)))
+	(save-state "s61.scm")
+	(close-sound ind)
+	(for-each forget-region (regions))
+	(load (string-append cwd "s61.scm"))
+	(if (not (string=? *tiny-font* "8x13")) (snd-display ";save tiny-font: ~A" *tiny-font*))
+	(if (not (string=? *peaks-font* "8x13")) (snd-display ";save peaks-font: ~A" *peaks-font*))
+	(if (not (string=? *bold-peaks-font* "8x13")) (snd-display ";save bold-peaks-font: ~A" *bold-peaks-font*))
+	(if (not (feql (amp-control-bounds) '(0 2.5))) 
+	    (snd-display ";save amp-control-bounds: ~A" (amp-control-bounds)))
+	(if (not (feql (speed-control-bounds) '(1.0 2.5))) 
+	    (snd-display ";save speed-control-bounds: ~A" (speed-control-bounds)))
+	(if (not (feql (contrast-control-bounds) '(0 2.5))) 
+	    (snd-display ";save contrast-control-bounds: ~A" (contrast-control-bounds)))
+	(if (not (feql (reverb-control-scale-bounds) '(0 2.5))) 
+	    (snd-display ";save reverb-control-scale-bounds: ~A" (reverb-control-scale-bounds)))
+	(if (not (feql (reverb-control-length-bounds) '(0 2.5))) 
+	    (snd-display ";save reverb-control-length-bounds: ~A" (reverb-control-length-bounds)))
+	(delete-file "s61.scm")
+	(close-sound ind)))
     
-    (let* ((ind (open-sound "oboe.snd"))
-	   (funcs (list transform-graph-type time-graph-type show-axes transform-normalization
-			graph-style x-axis-style spectro-x-scale transform-size fft-window
-			dot-size max-transform-peaks with-verbose-cursor zero-pad min-dB spectro-hop spectrum-end
-			cursor-size cursor-style))
-	   (func-names (list 'transform-graph-type 'time-graph-type 'show-axes 'transform-normalization
-			     'graph-style 'x-axis-style 'spectro-x-scale 'transform-size 'fft-window
-			     'dot-size 'max-transform-peaks 'with-verbose-cursor 'zero-pad 'min-dB 'spectro-hop 'spectrum-end
-			     'cursor-size 'cursor-style))
-	   (old-globals (map (lambda (func) (func)) funcs))
-	   (new-globals (list graph-as-sonogram graph-as-wavogram show-all-axes normalize-by-sound
-			      graph-dots x-axis-in-samples 0.1 32 bartlett-window
-			      4 10 #t 1 -90 12 .1 15 cursor-cross))
-	   (new-locals (list graph-once graph-once show-x-axis normalize-by-channel
-			     graph-lines x-axis-in-seconds 1.0 256 blackman2-window
-			     1 100 #f 0 -60 4 1.0 25 cursor-line)))
-      (for-each (lambda (func func-name global local)
-		  (set! (func) global)
-		  (set! (func ind 0) local))
-		funcs func-names new-globals new-locals)
-      (set! *zoom-focus-style* zoom-focus-right)
-      (set! *channel-style* channels-combined)
-      (set! (channel-style ind) channels-separate)
-      (if (file-exists? "s61.scm") (delete-file "s61.scm"))
-      (save-state "s61.scm")
-      (close-sound ind)
-      (for-each forget-region (regions))
-      (load (string-append cwd "s61.scm"))
-      (set! ind (find-sound "oboe.snd"))
-      (when with-gui
+    (let ((ind (open-sound "oboe.snd"))
+	  (funcs (list transform-graph-type time-graph-type show-axes transform-normalization
+		       graph-style x-axis-style spectro-x-scale transform-size fft-window
+		       dot-size max-transform-peaks with-verbose-cursor zero-pad min-dB spectro-hop spectrum-end
+		       cursor-size cursor-style)))
+      (let ((func-names (list 'transform-graph-type 'time-graph-type 'show-axes 'transform-normalization
+			      'graph-style 'x-axis-style 'spectro-x-scale 'transform-size 'fft-window
+			      'dot-size 'max-transform-peaks 'with-verbose-cursor 'zero-pad 'min-dB 'spectro-hop 'spectrum-end
+			      'cursor-size 'cursor-style))
+	    (old-globals (map (lambda (func) (func)) funcs))
+	    (new-globals (list graph-as-sonogram graph-as-wavogram show-all-axes normalize-by-sound
+			       graph-dots x-axis-in-samples 0.1 32 bartlett-window
+			       4 10 #t 1 -90 12 .1 15 cursor-cross))
+	    (new-locals (list graph-once graph-once show-x-axis normalize-by-channel
+			      graph-lines x-axis-in-seconds 1.0 256 blackman2-window
+			      1 100 #f 0 -60 4 1.0 25 cursor-line)))
 	(for-each (lambda (func func-name global local)
-		    (if (not (and (local-eq? (func) global)
-				  (local-eq? (func ind 0) local)))
-			(snd-display "; save ~A reversed: ~A [~A] ~A [~A]" 
-				     func-name (func) global (func ind 0) local)))
-		  funcs func-names new-globals new-locals))
-      (if (not (= (channel-style ind) channels-separate))
-	  (snd-display ";save channel-style reversed: ~A ~A" *channel-style* (channel-style ind)))
-      (for-each (lambda (func val) (set! (func) val)) funcs old-globals)
-      (close-sound ind)
-      (set! *zoom-focus-style* zoom-focus-active)
-      (set! *channel-style* channels-separate)
-      (delete-file "s61.scm"))
+		    (set! (func) global)
+		    (set! (func ind 0) local))
+		  funcs func-names new-globals new-locals)
+	(set! *zoom-focus-style* zoom-focus-right)
+	(set! *channel-style* channels-combined)
+	(set! (channel-style ind) channels-separate)
+	(if (file-exists? "s61.scm") (delete-file "s61.scm"))
+	(save-state "s61.scm")
+	(close-sound ind)
+	(for-each forget-region (regions))
+	(load (string-append cwd "s61.scm"))
+	(set! ind (find-sound "oboe.snd"))
+	(when with-gui
+	  (for-each (lambda (func func-name global local)
+		      (if (not (and (local-eq? (func) global)
+				    (local-eq? (func ind 0) local)))
+			  (snd-display "; save ~A reversed: ~A [~A] ~A [~A]" 
+				       func-name (func) global (func ind 0) local)))
+		    funcs func-names new-globals new-locals))
+	(if (not (= (channel-style ind) channels-separate))
+	    (snd-display ";save channel-style reversed: ~A ~A" *channel-style* (channel-style ind)))
+	(for-each (lambda (func val) (set! (func) val)) funcs old-globals)
+	(close-sound ind)
+	(set! *zoom-focus-style* zoom-focus-active)
+	(set! *channel-style* channels-separate)
+	(delete-file "s61.scm")))
     
     (let ((ind0 (open-sound "oboe.snd"))
 	  (ind1 (open-sound "oboe.snd")))
@@ -32642,10 +32391,10 @@ EDITS: 1
       (if (file-exists? "s61.scm") (delete-file "s61.scm"))
       (save-state "s61.scm")
       (close-sound ind0)
-      (close-sound ind1)
-      (load (string-append cwd "s61.scm"))
-      (set! ind0 (find-sound "oboe.snd" 0))
-      (set! ind1 (find-sound "oboe.snd" 1))
+      (close-sound ind1))
+    (load (string-append cwd "s61.scm"))
+    (let ((ind0 (find-sound "oboe.snd" 0))
+	  (ind1 (find-sound "oboe.snd" 1)))
       (if (not (and ind0 ind1)) (snd-display ";saved 2oboes, found: ~A" (map short-file-name (sounds))))
       (if (not (find-mark 123 ind0)) (snd-display ";saved 2oboes mark 0?"))
       (if (find-mark 123 ind1) (snd-display ";saved 2oboes mark 1->0?"))
@@ -33316,7 +33065,29 @@ EDITS: 1
 					      -0.500 -0.000 0.500 -0.000 -0.500 -0.000 0.500 0.000 -0.500 0.000 0.500 
 					      0.000 -0.500 0.000 0.500 -0.000 -0.500 -0.000 0.500 -0.000 -0.500)))
 	      (snd-display ";fft-env-data: ~A" vals)))
-	(hilbert-transform-via-fft)
+	(let ((hilbert-transform-via-fft
+	       (let ((documentation "same as FIR version but use FFT and change phases by hand"))
+		 (lambda* (snd chn)
+		   (let* ((size (framples snd chn))
+			  (len (expt 2 (ceiling (log size 2.0)))))
+		     (let ((rl (make-float-vector len))
+			   (im (make-float-vector len))
+			   (pi2 (* 0.5 pi)))
+		       (do ((rd (make-sampler 0 snd chn))
+			    (i 0 (+ i 1)))
+			   ((= i size))
+			 (set! (rl i) (rd)))
+		       (mus-fft rl im len)
+		       (rectangular->polar rl im)
+		       (float-vector-offset! im (- pi2))
+		       (do ((i (/ len 2) (+ i 1)))
+			   ((= i len))
+			 (float-vector-set! im i (+ (float-vector-ref im i) pi)))
+		       (polar->rectangular rl im)
+		       (mus-fft rl im len -1)
+		       (float-vector-scale! rl (/ 1.0 len))
+		       (float-vector->channel rl 0 len snd chn #f "hilbert-transform-via-fft")))))))
+	  (hilbert-transform-via-fft))
 	(let ((vals (channel->float-vector))
 	      (nvals (float-vector -0.500 -0.000 0.500 -0.000 -0.500 0.000 0.500 0.000 -0.500 0.000 0.500 
 				    0.000 -0.500 -0.000 0.500 -0.000 -0.500 -0.000 0.500 -0.000 -0.500 0.000 
@@ -33789,23 +33560,23 @@ EDITS: 1
   
   (define (bes-j0-1 x)				;returns J0(x) for any real x
     (if (< (abs x) 8.0)			;direct rational function fit
-	(let* ((y (* x x))
-	       (ans1 (+ 57568490574.0000 (* y (- (* y (+ 651619640.7 (* y (- (* y (+ 77392.33017 (* y -184.9052456))) 11214424.18)))) 13362590354.0))))
-	       (ans2 (+ 57568490411.0 
-			(* y (+ 1029532985.0 
-				(* y (+ 9494680.718
-					(* y (+ 59272.64853
-						(* y (+ 267.8532712 y)))))))))))
-	  (/ ans1 ans2))
+	(let ((y (* x x)))
+	  (let ((ans1 (+ 57568490574.0000 (* y (- (* y (+ 651619640.7 (* y (- (* y (+ 77392.33017 (* y -184.9052456))) 11214424.18)))) 13362590354.0))))
+		(ans2 (+ 57568490411.0 
+			 (* y (+ 1029532985.0 
+				 (* y (+ 9494680.718
+					 (* y (+ 59272.64853
+						 (* y (+ 267.8532712 y)))))))))))
+	    (/ ans1 ans2)))
 	(let* ((ax (abs x))
 	       (z (/ 8.0 ax))
-	       (y (* z z))
-	       (xx (- ax 0.785398164))
-	       (ans1 (+ 1.0 (* y (- (* y (+ 2.734510407e-05 (* y (- (* y 2.093887211e-07) 2.073370639e-06)))) 0.001098628627))))
-	       (ans2 (- (* y (+ 0.0001 (* y (- (* y (+ 7.621095160999999e-07 (* y -9.34945152e-08))) 6.911147651000001e-06)))) 0.0156)))
-	  (* (sqrt (/ 0.636619772 ax))
-	     (- (* ans1 (cos xx))
-		(* z (sin xx) ans2))))))
+	       (y (* z z)))
+	  (let ((xx (- ax 0.785398164))
+		(ans1 (+ 1.0 (* y (- (* y (+ 2.734510407e-05 (* y (- (* y 2.093887211e-07) 2.073370639e-06)))) 0.001098628627))))
+		(ans2 (- (* y (+ 0.0001 (* y (- (* y (+ 7.621095160999999e-07 (* y -9.34945152e-08))) 6.911147651000001e-06)))) 0.0156)))
+	    (* (sqrt (/ 0.636619772 ax))
+	       (- (* ans1 (cos xx))
+		  (* z (sin xx) ans2)))))))
   
   (define (test-j0)
     (for-each 
@@ -33823,24 +33594,24 @@ EDITS: 1
   (define (bes-j1-1 x)				;returns J1(x) for any real x
     (define (signum x) (if (= x 0.0) 0 (if (< x 0.0) -1 1)))
     (if (< (abs x) 8.0)
-	(let* ((y (* x x))
-	       (ans1 (* x (+ 72362614232.0000 (* y (- (* y (+ 242396853.1 (* y (- (* y (+ 15704.4826 (* y -30.16036606))) 2972611.439)))) 7895059235.0)))))
-	       (ans2 (+ 144725228442.0 
-			(* y (+ 2300535178.0 
-				(* y (+ 18583304.74
-					(* y (+ 99447.43394
-						(* y (+ 376.9991397 y)))))))))))
-	  (/ ans1 ans2))
+	(let ((y (* x x)))
+	  (let ((ans1 (* x (+ 72362614232.0000 (* y (- (* y (+ 242396853.1 (* y (- (* y (+ 15704.4826 (* y -30.16036606))) 2972611.439)))) 7895059235.0)))))
+		(ans2 (+ 144725228442.0 
+			 (* y (+ 2300535178.0 
+				 (* y (+ 18583304.74
+					 (* y (+ 99447.43394
+						 (* y (+ 376.9991397 y)))))))))))
+	    (/ ans1 ans2)))
 	(let* ((ax (abs x))
 	       (z (/ 8.0 ax))
-	       (y (* z z))
-	       (xx (- ax 2.356194491))
-	       (ans1 (+ 1.0 (* y (+ 0.00183105 (* y (- (* y (+ 2.457520174e-06 (* y -2.40337019e-07))) 3.516396496e-05))))))
-	       (ans2 (+ 0.0469 (* y (- (* y (+ 8.449199096000001e-06 (* y (- (* y 1.05787412e-07) 8.8228987e-07)))) 0.0002002690873)))))
-	  (* (signum x)
-	     (sqrt (/ 0.636619772 ax))
-	     (- (* ans1 (cos xx))
-		(* z (sin xx) ans2))))))
+	       (y (* z z)))
+	  (let ((xx (- ax 2.356194491))
+		(ans1 (+ 1.0 (* y (+ 0.00183105 (* y (- (* y (+ 2.457520174e-06 (* y -2.40337019e-07))) 3.516396496e-05))))))
+		(ans2 (+ 0.0469 (* y (- (* y (+ 8.449199096000001e-06 (* y (- (* y 1.05787412e-07) 8.8228987e-07)))) 0.0002002690873)))))
+	    (* (signum x)
+	       (sqrt (/ 0.636619772 ax))
+	       (- (* ans1 (cos xx))
+		  (* z (sin xx) ans2)))))))
   
   (define (test-j1)
     (for-each 
@@ -33856,52 +33627,52 @@ EDITS: 1
   
   (define (test-jn)
     (define (bes-jn-1 nn x)				;return Jn(x) for any integer n, real x
-      (let* ((n (abs nn))
-	     (besn (cond ((= n 0) (bes-j0-1 x))
-			 ((= n 1) (bes-j1-1 x))
-			 ((= x 0.0) 0.0)
-			 (else
-			  (let ((iacc 40)
-				(ans 0.0000)
-				(bigno 1.0e10)
-				(bigni 1.0e-10))
-			    (if (> (abs x) n)
-				(do ((tox (/ 2.0 (abs x)))
-				     (bjm (bes-j0-1 (abs x)))
-				     (bj (bes-j1-1 (abs x)))
-				     (j 1 (+ j 1))
-				     (bjp 0.0))
-				    ((= j n) (set! ans bj))
-				  (set! bjp (- (* j tox bj) bjm))
-				  (set! bjm bj)
-				  (set! bj bjp))
-				(let ((tox (/ 2.0 (abs x)))
-				      (m (* 2 (floor (/ (+ n (sqrt (* iacc n))) 2))))
-				      (jsum 0)
-				      (bjm 0.0000)
-				      (sum 0.0000)
-				      (bjp 0.0000)
-				      (bj 1.0000))
-				  (do ((j m (- j 1)))
-				      ((= j 0))
-				    (set! bjm (- (* j tox bj) bjp))
-				    (set! bjp bj)
-				    (set! bj bjm)
-				    (if (> (abs bj) bigno)
-					(begin
-					  (set! bj (* bj bigni))
-					  (set! bjp (* bjp bigni))
-					  (set! ans (* ans bigni))
-					  (set! sum (* sum bigni))))
-				    (if (not (= 0 jsum))
-					(set! sum (+ sum bj)))
-				    (set! jsum (- 1 jsum))
-				    (if (= j n) (set! ans bjp)))
-				  (set! sum (- (* 2.0 sum) bj))
-				  (set! ans (/ ans sum))))
-			    (if (and (< x 0.0) (odd? n))
-				(- ans)
-				ans))))))
+      (let ((besn (let ((n (abs nn)))
+		    (cond ((= n 0) (bes-j0-1 x))
+			  ((= n 1) (bes-j1-1 x))
+			  ((= x 0.0) 0.0)
+			  (else
+			   (let ((iacc 40)
+				 (ans 0.0000)
+				 (bigno 1.0e10)
+				 (bigni 1.0e-10))
+			     (if (> (abs x) n)
+				 (do ((tox (/ 2.0 (abs x)))
+				      (bjm (bes-j0-1 (abs x)))
+				      (bj (bes-j1-1 (abs x)))
+				      (j 1 (+ j 1))
+				      (bjp 0.0))
+				     ((= j n) (set! ans bj))
+				   (set! bjp (- (* j tox bj) bjm))
+				   (set! bjm bj)
+				   (set! bj bjp))
+				 (let ((tox (/ 2.0 (abs x)))
+				       (m (* 2 (floor (/ (+ n (sqrt (* iacc n))) 2))))
+				       (jsum 0)
+				       (bjm 0.0000)
+				       (sum 0.0000)
+				       (bjp 0.0000)
+				       (bj 1.0000))
+				   (do ((j m (- j 1)))
+				       ((= j 0))
+				     (set! bjm (- (* j tox bj) bjp))
+				     (set! bjp bj)
+				     (set! bj bjm)
+				     (if (> (abs bj) bigno)
+					 (begin
+					   (set! bj (* bj bigni))
+					   (set! bjp (* bjp bigni))
+					   (set! ans (* ans bigni))
+					   (set! sum (* sum bigni))))
+				     (if (not (= 0 jsum))
+					 (set! sum (+ sum bj)))
+				     (set! jsum (- 1 jsum))
+				     (if (= j n) (set! ans bjp)))
+				   (set! sum (- (* 2.0 sum) bj))
+				   (set! ans (/ ans sum))))
+			     (if (and (< x 0.0) (odd? n))
+				 (- ans)
+				 ans)))))))
 	(if (and (< nn 0)
 		 (odd? nn))
 	    (- besn)
@@ -33918,20 +33689,20 @@ EDITS: 1
   
   (define (bes-y0-1 x)				;Bessel function Y0(x)
     (if (< x 8.0)
-	(let* ((y (* x x))
-	       (ans1 (- (* y (+ 7062834065.0 (* y (- (* y (+ 10879881.29 (* y (- (* y 228.4622733) 86327.92757)))) 512359803.6)))) 2957821389.0000))
-	       (ans2 (+ 40076544269.0
-			(* y (+ 745249964.8
-				(* y (+ 7189466.438
-					(* y (+ 47447.26470
-						(* y (+ 226.1030244 y)))))))))))
-	  (+ (/ ans1 ans2) (* 0.636619772 (bes-j0 x) (log x))))
-	(let* ((z (/ 8.0 x))
-	       (y (* z z))
-	       (xx (- x 0.785398164))
-	       (ans1 (+ 1.0 (* y (- (* y (+ 2.734510407e-05 (* y (- (* y 2.093887211e-07) 2.073370639e-06)))) 0.001098628627))))
-	       (ans2 (- (* y (+ 0.0001 (* y (- (* y (+ 7.621095160999999e-07 (* y -9.34945152e-08))) 6.911147651000001e-06)))) 0.0156))
-	       (ans (+ (* ans1 (sin xx)) (* z (cos xx) ans2))))
+	(let ((y (* x x)))
+	  (let ((ans1 (- (* y (+ 7062834065.0 (* y (- (* y (+ 10879881.29 (* y (- (* y 228.4622733) 86327.92757)))) 512359803.6)))) 2957821389.0000))
+		(ans2 (+ 40076544269.0
+			 (* y (+ 745249964.8
+				 (* y (+ 7189466.438
+					 (* y (+ 47447.26470
+						 (* y (+ 226.1030244 y)))))))))))
+	    (+ (/ ans1 ans2) (* 0.636619772 (bes-j0 x) (log x)))))
+	(let ((ans (let* ((z (/ 8.0 x))
+			  (y (* z z)))
+		     (let ((xx (- x 0.785398164))
+			   (ans1 (+ 1.0 (* y (- (* y (+ 2.734510407e-05 (* y (- (* y 2.093887211e-07) 2.073370639e-06)))) 0.001098628627))))
+			   (ans2 (- (* y (+ 0.0001 (* y (- (* y (+ 7.621095160999999e-07 (* y -9.34945152e-08))) 6.911147651000001e-06)))) 0.0156)))
+		       (+ (* ans1 (sin xx)) (* z (cos xx) ans2))))))
 	  (* (sqrt (/ 0.636619772 x)) ans))))
   
   (define (test-y0)
@@ -33950,21 +33721,21 @@ EDITS: 1
     (if (= x 0.0)
 	(real-part (log 0.0)) ; -inf.0
 	(if (< x 8.0)
-	    (let* ((y (* x x))
-		   (ans1 (* x (- (* y (+ 1275274390000.0000 (* y (- (* y (+ 734926455.1 (* y (- (* y 8511.937935) 4237922.726)))) 51534381390.0)))) 4900604943000.0000)))
-		   (ans2 (+ 0.2499580570e14
-			    (* y (+ 0.4244419664e12
-				    (* y (+ 0.3733650367e10
-					    (* y (+ 0.2245904002e8
-						    (* y (+ 0.1020426050e6
-							    (* y (+ 0.3549632885e3 y)))))))))))))
-	      (+ (/ ans1 ans2) (* 0.636619772 (- (* (bes-j1 x) (log x)) (/ 1.0 x)))))
+	    (let ((y (* x x)))
+	      (let ((ans1 (* x (- (* y (+ 1275274390000.0000 (* y (- (* y (+ 734926455.1 (* y (- (* y 8511.937935) 4237922.726)))) 51534381390.0)))) 4900604943000.0000)))
+		    (ans2 (+ 0.2499580570e14
+			     (* y (+ 0.4244419664e12
+				     (* y (+ 0.3733650367e10
+					     (* y (+ 0.2245904002e8
+						     (* y (+ 0.1020426050e6
+							     (* y (+ 0.3549632885e3 y)))))))))))))
+		(+ (/ ans1 ans2) (* 0.636619772 (- (* (bes-j1 x) (log x)) (/ 1.0 x))))))
 	    (let* ((z (/ 8.0 x))
-		   (y (* z z))
-		   (xx (- x 2.356194491))
-		   (ans1 (+ 1.0 (* y (+ 0.00183105 (* y (- (* y (+ 2.457520174e-06 (* y -2.40337019e-07))) 3.516396496e-05))))))
-		   (ans2 (+ 0.0469 (* y (- (* y (+ 8.449199096000001e-06 (* y (- (* y 1.05787412e-07) 8.8228987e-07)))) 0.000200269087)))))
-	      (* (sqrt (/ 0.636619772 x)) (+ (* ans1 (sin xx)) (* z (cos xx) ans2)))))))
+		   (y (* z z)))
+	      (let ((xx (- x 2.356194491))
+		    (ans1 (+ 1.0 (* y (+ 0.00183105 (* y (- (* y (+ 2.457520174e-06 (* y -2.40337019e-07))) 3.516396496e-05))))))
+		    (ans2 (+ 0.0469 (* y (- (* y (+ 8.449199096000001e-06 (* y (- (* y 1.05787412e-07) 8.8228987e-07)))) 0.000200269087)))))
+		(* (sqrt (/ 0.636619772 x)) (+ (* ans1 (sin xx)) (* z (cos xx) ans2))))))))
 
   (define (test-y1)
     (for-each 
@@ -34041,12 +33812,12 @@ EDITS: 1
 					  (* y (+ 0.2658733e-1
 						  (* y (+ 0.301532e-2
 							  (* y 0.32411e-3))))))))))))))
-	(let* ((ax (abs x))
-	       (y (/ 3.75 ax))
-	       (ans1 (+ 0.02282967 (* y (- (* y (+ 0.01787654 (* y -0.00420059))) 0.02895312))))
-	       (ans2 (+ 0.39894228 (* y (- (* y (- (* y (+ 0.00163801 (* y (- (* y ans1) 0.01031555)))) 0.00362018)) 0.03988024))))
-	       (sign (if (< x 0.0) -1.0 1.0)))
-	  (/ (* (exp ax) ans2 sign) (sqrt ax)))))
+	(let ((ax (abs x)))
+	  (let ((ans2 (let* ((y (/ 3.75 ax))
+			     (ans1 (+ 0.02282967 (* y (- (* y (+ 0.01787654 (* y -0.00420059))) 0.02895312)))))
+			(+ 0.39894228 (* y (- (* y (- (* y (+ 0.00163801 (* y (- (* y ans1) 0.01031555)))) 0.00362018)) 0.03988024)))))
+		(sign (if (< x 0.0) -1.0 1.0)))
+	    (/ (* (exp ax) ans2 sign) (sqrt ax))))))
   
   (define (test-i1)
     (if (fneq (bes-i1 1.0) 0.565159) (snd-display ";bes-i1 1.0: ~A" (bes-i1 1.0)))
@@ -34060,15 +33831,14 @@ EDITS: 1
 	    ((= n 1) (bes-i1 x))
 	    ((= x 0.0) 0.0)
 	    (else
-	     (let* ((iacc 40)
-		    (bigno 10000000000.0000)
-		    (bigni 0.0000)
-		    (ans 0.0000)
-		    (tox (/ 2.0 (abs x)))
-		    (bip 0.0000)
-		    (bi 1.0000)
-		    (m (* 2 (+ n (truncate (sqrt (* iacc n))))))
-		    (bim 0.0000))
+	     (let ((bigno 10000000000.0000)
+		   (bigni 0.0000)
+		   (ans 0.0000)
+		   (tox (/ 2.0 (abs x)))
+		   (bip 0.0000)
+		   (bi 1.0000)
+		   (m (* 2 (+ n (truncate (sqrt (* 40 n)))))) ; iacc=40
+		   (bim 0.0000))
 	       (do ((j m (- j 1)))
 		   ((= j 0))
 		 (set! bim (+ bip (* j tox bi)))
@@ -34084,7 +33854,7 @@ EDITS: 1
 		   (set! ans (- ans)))
 	       (* ans (/ (bes-i0 x) bi))))))
     
-    (when (not (provided? 'solaris))
+    (unless (provided? 'solaris)
       (if (fneq (bes-in 1 1.0) 0.565159) (snd-display ";bes-in 1 1.0: ~A" (bes-in 1 1.0)))
       (if (fneq (bes-in 2 1.0) 0.13574767) (snd-display ";bes-in 2 1.0: ~A" (bes-in 2 1.0)))
       (if (fneq (bes-in 3 1.0) 0.02216842) (snd-display ";bes-in 3 1.0: ~A" (bes-in 3 1.0)))
@@ -34177,16 +33947,16 @@ EDITS: 1
   
   (define (test-lgamma)
     (define (gammln x)			;Ln(gamma(x)), x>0 
-      (let* ((stp 2.5066282746310005e0)
-	     (tmp (+ x 5.5))
-	     (tmp1 (- tmp (* (+ x 0.5) (log tmp))))
-	     (ser (+ 1.000000000190015
-		     (/ 76.18009172947146 (+ x 1.0))
-		     (/ -86.50532032941677 (+ x 2.0))
-		     (/ 24.01409824083091 (+ x 3.0))
-		     (/ -1.231739572450155 (+ x 4))
-		     (/ 0.1208650973866179e-2 (+ x 5.0))
-		     (/ -0.5395239384953e-5 (+ x 6.0)))))
+      (let ((stp 2.5066282746310005e0)
+	    (tmp1 (let ((tmp (+ x 5.5)))
+		    (- tmp (* (+ x 0.5) (log tmp)))))
+	    (ser (+ 1.000000000190015
+		    (/ 76.18009172947146 (+ x 1.0))
+		    (/ -86.50532032941677 (+ x 2.0))
+		    (/ 24.01409824083091 (+ x 3.0))
+		    (/ -1.231739572450155 (+ x 4))
+		    (/ 0.1208650973866179e-2 (+ x 5.0))
+		    (/ -0.5395239384953e-5 (+ x 6.0)))))
 	(- (log (/ (* stp ser) x)) tmp1)))
     (do ((i 0 (+ i 1)))
 	((= i 10))
@@ -34208,86 +33978,85 @@ EDITS: 1
 			 (erfc val))))))
   
   (define (inverse-haar f)
-    (let* ((n (length f))
-	   (g (make-float-vector n))
-	   (s2 (sqrt 2.0))
-	   (v (/ 1.0 (sqrt n))))
-      (set! (f 0) (* (f 0) v))
-      (do ((m 2 (* m 2)))
-	  ((> m n))
-	(do ((mh (/ m 2))
-	     (j 0 (+ j 2))
-	     (k 0 (+ k 1)))
-	    ((= j m)
-	     (do ((i (- m 1) (- i 1)))
-		 ((< i 0))
-	       (set! (f i) (g i)))
-	     (set! v (* v s2)))
-	  (let ((x (f k))
-		(y (* (f (+ mh k)) v)))
-	    (set! (g j) (+ x y))
-	    (set! (g (+ j 1)) (- x y)))))
-      f))
+    (let ((n (length f)))
+      (let ((g (make-float-vector n))
+	    (s2 (sqrt 2.0))
+	    (v (/ 1.0 (sqrt n))))
+	(set! (f 0) (* (f 0) v))
+	(do ((m 2 (* m 2)))
+	    ((> m n))
+	  (do ((mh (/ m 2))
+	       (j 0 (+ j 2))
+	       (k 0 (+ k 1)))
+	      ((= j m)
+	       (do ((i (- m 1) (- i 1)))
+		   ((< i 0))
+		 (set! (f i) (g i)))
+	       (set! v (* v s2)))
+	    (let ((x (f k))
+		  (y (* (f (+ mh k)) v)))
+	      (set! (g j) (+ x y))
+	      (set! (g (+ j 1)) (- x y)))))
+	f)))
   
   (define (wavelet data n isign wf cc)
-    (let* ((cc-size (length cc))
-	   (ccr (make-float-vector cc-size))
-	   (sig -1.0))
-      (do ((i 0 (+ i 1))
-	   (j (- cc-size 1) (- j 1)))
-	  ((= i cc-size))
-	(set! (ccr j) (* sig (cc i)))
-	(set! sig (- sig)))
-      (if (>= n 4)
-	  (if (>= isign 0)
-	      (do ((nn n (/ nn 2)))
-		  ((< nn 4))
-		(wf data nn isign cc ccr))
-	      (do ((nn 4 (* nn 2)))
-		  ((> nn n))
-		(wf data nn isign cc ccr))))))
+    (let ((cc-size (length cc)))
+      (let ((ccr (make-float-vector cc-size))
+	    (sig -1.0))
+	(do ((i 0 (+ i 1))
+	     (j (- cc-size 1) (- j 1)))
+	    ((= i cc-size))
+	  (set! (ccr j) (* sig (cc i)))
+	  (set! sig (- sig)))
+	(if (>= n 4)
+	    (if (>= isign 0)
+		(do ((nn n (/ nn 2)))
+		    ((< nn 4))
+		  (wf data nn isign cc ccr))
+		(do ((nn 4 (* nn 2)))
+		    ((> nn n))
+		  (wf data nn isign cc ccr)))))))
   
   (define (pwt data n isign cc cr)
-    (let* ((data1 (make-float-vector n))
-	   (n1 (- n 1))
-	   (ncof (length cc))
-	   (nmod (* ncof n))
-	   (nh (floor (/ n 2)))
-	   (joff (- (floor (/ ncof 2))))
-	   (ioff joff))
-      (if (>= isign 0)
-	  (do ((ii 0 (+ 1 ii))
-	       (i 1 (+ i 2)))
-	      ((> i n))
-	    (let ((ni (+ i nmod ioff))
-		  (nj (+ i nmod joff))
-		  (ii+nh (+ ii nh)))
-	      (do ((k 1 (+ k 1)))
-		  ((> k ncof))
-		(let ((jf (logand n1 (+ ni k))) ;gad wotta kludge...
-		      (jr (logand n1 (+ nj k))))
-		  (set! (data1 ii) (+ (data1 ii)
-				      (* (cc (- k 1)) 
-					 (data jf))))
-		  (set! (data1 ii+nh) (+ (data1 ii+nh)
-					 (* (cr (- k 1)) 
-					    (data jr))))))))
-	  (do ((ii 0 (+ 1 ii))
-	       (i 1 (+ i 2)))
-	      ((> i n))
-	    (let ((ai (data ii))
-		  (ai1 (data (+ ii nh)))
-		  (ni (+ i nmod ioff))
-		  (nj (+ i nmod joff)))
-	      (do ((k 1 (+ k 1)))
-		  ((> k ncof))
-		(let ((jf (logand n1 (+ ni k)))
-		      (jr (logand n1 (+ nj k))))
-		  (set! (data1 jf) (+ (data1 jf) 
+    (let* ((ncof (length cc))
+	   (joff (- (floor (/ ncof 2)))))
+      (let ((data1 (make-float-vector n))
+	    (n1 (- n 1))
+	    (nmod (* ncof n))
+	    (nh (floor (/ n 2))))
+	(if (>= isign 0)
+	    (do ((ii 0 (+ 1 ii))
+		 (i 1 (+ i 2)))
+		((> i n))
+	      (let ((ni (+ i nmod joff))
+		    (nj (+ i nmod joff))
+		    (ii+nh (+ ii nh)))
+		(do ((k 1 (+ k 1)))
+		    ((> k ncof))
+		  (let ((jf (logand n1 (+ ni k))) ;gad wotta kludge...
+			(jr (logand n1 (+ nj k))))
+		    (set! (data1 ii) (+ (data1 ii)
+					(* (cc (- k 1)) 
+					   (data jf))))
+		    (set! (data1 ii+nh) (+ (data1 ii+nh)
+					   (* (cr (- k 1)) 
+					      (data jr))))))))
+	    (do ((ii 0 (+ 1 ii))
+		 (i 1 (+ i 2)))
+		((> i n))
+	      (let ((ai (data ii))
+		    (ai1 (data (+ ii nh)))
+		    (ni (+ i nmod joff))
+		    (nj (+ i nmod joff)))
+		(do ((k 1 (+ k 1)))
+		    ((> k ncof))
+		  (let ((jf (logand n1 (+ ni k)))
+			(jr (logand n1 (+ nj k))))
+		    (set! (data1 jf) (+ (data1 jf) 
 					(* ai (cc (- k 1)))))
-		  (set! (data1 jr) (+ (data1 jr)
+		    (set! (data1 jr) (+ (data1 jr)
 					(* ai1 (cr (- k 1))))))))))
-      (copy data1 data)))
+	(copy data1 data))))
   
   (define (corr x y N M)
     ;; correlation from Orfanidis
@@ -34302,43 +34071,43 @@ EDITS: 1
   
   ;; this returns the same results as the fft-based version below, modulo float-vector lengths
   (define (cross-correlate-1 snd0 chn0 snd1 chn1)
-    (let* ((len0 (framples snd0 chn0))
-	   (len1 (framples snd1 chn1))
-	   (clen (min len0 len1))
-	   (dlen (max len0 len1))
-	   (corr (make-float-vector clen))
-	   (data0 (channel->float-vector 0 dlen snd0 chn0))
-	   (data1 (channel->float-vector 0 dlen snd1 chn1)))
-      (do ((lag 0 (+ 1 lag)))
-	  ((= lag clen) corr)
-	(let ((mdata (float-vector-multiply! (copy data0) data1))
-	      (sum (make-one-pole 1.0 -1.0)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i dlen))
-	    (one-pole sum (float-vector-ref mdata i)))
-	  (set! (corr lag) (one-pole sum 0.0))
-	  (let ((orig (data0 0)))
-	    (float-vector-move! data0 0 1)
-	    (set! (data0 (- dlen 1)) orig))))))
-  
+    (let ((len0 (framples snd0 chn0))
+	  (len1 (framples snd1 chn1)))
+      (let ((clen (min len0 len1))
+	    (dlen (max len0 len1)))
+	(let ((corr (make-float-vector clen))
+	      (data0 (channel->float-vector 0 dlen snd0 chn0))
+	      (data1 (channel->float-vector 0 dlen snd1 chn1)))
+	  (do ((lag 0 (+ 1 lag)))
+	      ((= lag clen) corr)
+	    (let ((mdata (float-vector-multiply! (copy data0) data1))
+		  (sum (make-one-pole 1.0 -1.0)))
+	      (do ((i 0 (+ i 1)))
+		  ((= i dlen))
+		(one-pole sum (float-vector-ref mdata i)))
+	      (set! (corr lag) (one-pole sum 0.0))
+	      (let ((orig (data0 0)))
+		(float-vector-move! data0 0 1)
+		(set! (data0 (- dlen 1)) orig))))))))
+    
   (define (cross-correlate-2 snd0 chn0 snd1 chn1)
     (let* ((fftlen (expt 2 (ceiling (log (max (framples snd0 chn0) (framples snd1 chn1)) 2))))
-	   (fftscale (/ 1.0 fftlen))
-	   (rl1 (channel->float-vector 0 fftlen snd1 chn1))
-	   (rl2 (channel->float-vector 0 fftlen snd0 chn0))
-	   (im1 (make-float-vector fftlen))
-	   (im2 (make-float-vector fftlen)))
-      (fft rl1 im1 1)
-      (fft rl2 im2 1)
-      (let ((tmprl (copy rl1))
-	     (tmpim (copy im1)))
-	(float-vector-multiply! tmprl rl2)     ; (* tempr1 tempr2)
-	(float-vector-multiply! tmpim im2)     ; (* tempi1 tempi2)
-	(float-vector-multiply! im2 rl1)       ; (* tempr1 tempi2)
-	(float-vector-multiply! rl2 im1)       ; (* tempr2 tempi1)
-	(float-vector-add! tmprl tmpim)        ; add the first two
-	(float-vector-subtract! im2 rl2)       ; subtract the fourth from the third
-	(float-vector-scale! (fft tmprl im2 -1) fftscale))))
+	   (fftscale (/ 1.0 fftlen)))
+      (let ((rl1 (channel->float-vector 0 fftlen snd1 chn1))
+	    (rl2 (channel->float-vector 0 fftlen snd0 chn0))
+	    (im1 (make-float-vector fftlen))
+	    (im2 (make-float-vector fftlen)))
+	(fft rl1 im1 1)
+	(fft rl2 im2 1)
+	(let ((tmprl (copy rl1))
+	      (tmpim (copy im1)))
+	  (float-vector-multiply! tmprl rl2)     ; (* tempr1 tempr2)
+	  (float-vector-multiply! tmpim im2)     ; (* tempi1 tempi2)
+	  (float-vector-multiply! im2 rl1)       ; (* tempr1 tempi2)
+	  (float-vector-multiply! rl2 im1)       ; (* tempr2 tempi1)
+	  (float-vector-add! tmprl tmpim)        ; add the first two
+	  (float-vector-subtract! im2 rl2)       ; subtract the fourth from the third
+	  (float-vector-scale! (fft tmprl im2 -1) fftscale)))))
   
   (define (cross-correlate-3 rl1 rl2 fftlen)
     (let ((fftscale (/ 1.0 fftlen))
@@ -34358,1417 +34127,1357 @@ EDITS: 1
   
   (define* (automorph a b c d snd chn)
     (let* ((len (framples snd chn))
-	   (fftlen (expt 2 (ceiling (log len 2))))
-	   (fftlen2 (/ fftlen 2))
-	   (fftscale (/ 1.0 fftlen))
-	   (rl (channel->float-vector 0 fftlen snd chn))
-	   (im (make-float-vector fftlen))
-	   (c1 #f))
-      (fft rl im 1)
-      (float-vector-scale! rl fftscale)
-      (float-vector-scale! im fftscale)
-      ;; handle 0 case by itself
-      (set! c1 (complex (rl 0) (im 0)))
-      (set! c1 (/ (+ (* a c1) b) (+ (* c c1) d)))
-      (set! (rl 0) (real-part c1))
-      (set! (im 0) (imag-part c1))
-	
-      (do ((i 1 (+ i 1))
-	   (k (- fftlen 1) (- k 1)))
-	  ((= i fftlen2))
-	(set! c1 (complex (float-vector-ref rl i) (float-vector-ref im i)))
+	   (fftlen (expt 2 (ceiling (log len 2)))))
+      (let ((fftlen2 (/ fftlen 2))
+	    (rl (channel->float-vector 0 fftlen snd chn))
+	    (im (make-float-vector fftlen))
+	    (c1 #f))
+	(fft rl im 1)
+	(let ((fftscale (/ 1.0 fftlen)))
+	  (float-vector-scale! rl fftscale)
+	  (float-vector-scale! im fftscale))
+	;; handle 0 case by itself
+	(set! c1 (complex (rl 0) (im 0)))
 	(set! c1 (/ (+ (* a c1) b) (+ (* c c1) d)))
-	(float-vector-set! rl k (float-vector-set! rl i (real-part c1)))
-	(float-vector-set! im k (- (float-vector-set! im i (imag-part c1)))))
-
-      (fft rl im -1)
-      (float-vector->channel rl 0 len snd chn #f (format #f "automorph ~A ~A ~A ~A" a b c d))))
-  
-  
-  (let* ((daub4 (float-vector 0.4829629131445341 0.8365163037378079 0.2241438680420134 -0.1294095225512604))
-	 (daub6 (float-vector 0.332670552950 0.806891509311 0.459877502118 -0.135011020010 -0.085441273882 0.035226291886))
-	 (daub8 (float-vector 0.230377813309 0.714846570553 0.630880767930 -0.027983769417 -0.187034811719 0.030841381836
-		     0.032883011667 -0.010597401785))
-	 (daub10 (float-vector 0.160102397974 0.603829269797 0.724308528438 0.138428145901 -0.242294887066 -0.032244869585
-		      0.077571493840 -0.006241490213 -0.012580751999 0.003335725285))
-	 (daub12 (float-vector 0.111540743350 0.494623890398 0.751133908021 0.315250351709 -0.226264693965 -0.129766867567
-		      0.097501605587 0.027522865530 -0.031582039317 0.000553842201 0.004777257511 -0.001077301085))
-	 (daub14 (float-vector 0.077852054085 0.396539319482 0.729132090846 0.469782287405 -0.143906003929 -0.224036184994
-		      0.071309219267 0.080612609151 -0.038029936935 -0.016574541631 0.012550998556 0.000429577973
-		      -0.001801640704 0.000353713800))
-	 (daub16 (float-vector 0.054415842243 0.312871590914 0.675630736297 0.585354683654 -0.015829105256 -0.284015542962
-		      0.000472484574 0.128747426620 -0.017369301002 -0.044088253931 0.013981027917 0.008746094047
-		      -0.004870352993 -0.000391740373 0.000675449406 -0.000117476784))
-	 (daub18 (float-vector 0.038077947364 0.243834674613 0.604823123690 0.657288078051 0.133197385825 -0.293273783279
-		      -0.096840783223 0.148540749338 0.030725681479 -0.067632829061 0.000250947115 0.022361662124
-		      -0.004723204758 -0.004281503682 0.001847646883 0.000230385764 -0.000251963189 0.000039347320))
-	 (daub20 (float-vector 0.026670057901 0.188176800077 0.527201188931 0.688459039453 0.281172343661 -0.249846424327
-		      -0.195946274377 0.127369340336 0.093057364604 -0.071394147166 -0.029457536822 0.033212674059
-		      0.003606553567 -0.010733175483 0.001395351747 0.001992405295 -0.000685856695 -0.000116466855
-		      0.000093588670 -0.000013264203))
-	 (SQRT2 1.41421356237309504880168872420969808)
-	 (SQRT2*3 (* SQRT2 3))
-	 (Battle-Lemarie (float-vector (* SQRT2 -0.002) (* SQRT2 -0.003) (* SQRT2  0.006) (* SQRT2  0.006) (* SQRT2 -0.013)
-			      (* SQRT2 -0.012) (* SQRT2  0.030) (* SQRT2  0.023) (* SQRT2 -0.078) (* SQRT2 -0.035)
-			      (* SQRT2  0.307) (* SQRT2  0.542) (* SQRT2  0.307) (* SQRT2 -0.035) (* SQRT2 -0.078)
-			      (* SQRT2  0.023) (* SQRT2  0.030) (* SQRT2 -0.012) (* SQRT2 -0.013) (* SQRT2  0.006)
-			      (* SQRT2  0.006) (* SQRT2 -0.003) (* SQRT2 -0.002) 0.0))
-	 (Burt-Adelson (float-vector (* SQRT2 (/ -1.0 20.0)) (* SQRT2 (/ 5.0 20.0)) (* SQRT2 (/ 12.0 20.0))
-			    (* SQRT2 (/ 5.0 20.0)) (* SQRT2 (/ -1.0 20.0)) 0.0))
-	 (Beylkin (float-vector 0.099305765374353 0.424215360812961 0.699825214056600 0.449718251149468
-		       -.110927598348234 -.264497231446384 0.026900308803690 0.155538731877093
-		       -.017520746266529 -.088543630622924 0.019679866044322 0.042916387274192
-		       -.017460408696028 -.014365807968852 0.010040411844631 .0014842347824723
-		       -.002736031626258 .0006404853285212))
-	 (SQRT15 3.87298334620741688517927)
-	 (coif2 (float-vector (/ (* SQRT2 (- SQRT15 3)) 32.0) (/ (* SQRT2 (- 1 SQRT15)) 32.0) (/ (* SQRT2 (- 6 (* 2 SQRT15))) 32.0)
-		     (/ (* SQRT2 (+ (* 2 SQRT15) 6)) 32.0) (/ (* SQRT2 (+ SQRT15 13)) 32.0) (/ (* SQRT2 (- 9 SQRT15)) 32.0)))
-	 (coif4 (float-vector 0.0011945726958388 	-0.01284557955324 0.024804330519353 0.050023519962135 -0.15535722285996
-		     -0.071638282295294 0.57046500145033 0.75033630585287 0.28061165190244 -0.0074103835186718
-		     -0.014611552521451 -0.0013587990591632))
-	 (coif6 (float-vector -0.0016918510194918 -0.00348787621998426 0.019191160680044 0.021671094636352 -0.098507213321468
-		     -0.056997424478478 0.45678712217269 0.78931940900416 0.38055713085151 -0.070438748794943 
-		     -0.056514193868065 0.036409962612716 0.0087601307091635 -0.011194759273835 -0.0019213354141368
-		     0.0020413809772660 0.00044583039753204 -0.00021625727664696))
-	 (sym2 (float-vector (* SQRT2 -0.125) (* SQRT2  0.25) (* SQRT2  0.75) (* SQRT2  0.25) (* SQRT2 -0.125)))
-	 (sym3 (float-vector (/ (* SQRT2 1.0) 8.0) (/ SQRT2*3 8.0) (/ SQRT2*3 8.0) (/ (* SQRT2 1.0) 8.0)))
-	 (sym4 (float-vector (/ SQRT2*3 128.0) (/ (* SQRT2  -6.0) 128.0) (/ (* SQRT2 -16.0) 128.0)
-		    (/ (* SQRT2  38.0) 128.0) (/ (* SQRT2  90.0) 128.0) (/ (* SQRT2  38.0) 128.0)
-		    (/ (* SQRT2 -16.0) 128.0) (/ (* SQRT2  -6.0) 128.0) (/ SQRT2*3 128.0) 0.0))
-	 (sym5 (float-vector (/ SQRT2*3 64.0) (/ (* SQRT2 -9.0) 64.0) (/ (* SQRT2 -7.0) 64.0) (/ (* SQRT2 45.0) 64.0)
-		    (/ (* SQRT2 45.0) 64.0) (/ (* SQRT2 -7.0) 64.0) (/ (* SQRT2 -9.0) 64.0) (/ SQRT2*3 64.0)))
-	 (sym6 (float-vector (/ (* SQRT2   -35.0) 16384.0) (/ (* SQRT2  -105.0) 16384.0) (/ (* SQRT2  -195.0) 16384.0)
-		    (/ (* SQRT2   865.0) 16384.0) (/ (* SQRT2   363.0) 16384.0) (/ (* SQRT2 -3489.0) 16384.0)
-		    (/ (* SQRT2  -307.0) 16384.0) (/ (* SQRT2 11025.0) 16384.0) (/ (* SQRT2 11025.0) 16384.0)
-		    (/ (* SQRT2  -307.0) 16384.0) (/ (* SQRT2 -3489.0) 16384.0) (/ (* SQRT2   363.0) 16384.0)
-		    (/ (* SQRT2   865.0) 16384.0) (/ (* SQRT2  -195.0) 16384.0) (/ (* SQRT2  -105.0) 16384.0)
-		    (/ (* SQRT2   -35.0) 16384.0))))
-    (define wts (list 
-		 daub4 daub6 daub8 daub10 daub12 daub14 daub16 daub18 daub20
-		 Battle-Lemarie Burt-Adelson Beylkin coif2 coif4 coif6
-		 sym2 sym3 sym4 sym5 sym6))
-    
-    
-    (if (defined? 'bes-j0) ; dependent on mus-config.h HAVE_SPECIAL_FUNCTIONS
-	(begin
-	  (test-j0)
-	  (test-j1)
-	  (test-jn)
-	  (test-y0)
-	  (test-y1)
-	  (test-yn)
-	  (test-k0)
-	  (test-k1)
-	  (test-kn)
-	  (test-i0)
-	  (test-i1)
-	  (test-in)
-	  (test-erf)
-	  (test-lgamma)))
-    
-    (do ((clmtest 0 (+ 1 clmtest))) ((= clmtest tests))
-      (log-mem clmtest)
-      (let ((d0 #f) (d1 #f) (fn #f))
+	(set! (rl 0) (real-part c1))
+	(set! (im 0) (imag-part c1))
 	
-	(let ((index (open-sound "oboe.snd")))
-	  ;; check small transform cases
-	  (set! (transform-graph?) #t)
-	  (for-each 
-	   (lambda (transform)
-	     (set! *transform-type* transform)
-	     (for-each
-	      (lambda (size)
-		(catch #t
-		       (lambda ()
-			 (set! *transform-size* size)
-			 (update-transform-graph))
-		       (lambda args args)))
-	      '(8 7 -7 4 3 2 1 0)))
-	   (list fourier-transform wavelet-transform autocorrelation walsh-transform cepstrum haar-transform))
-	  (close-sound index))
-	
-	;; -------- fft
+	(do ((i 1 (+ i 1))
+	     (k (- fftlen 1) (- k 1)))
+	    ((= i fftlen2))
+	  (set! c1 (complex (float-vector-ref rl i) (float-vector-ref im i)))
+	  (set! c1 (/ (+ (* a c1) b) (+ (* c c1) d)))
+	  (float-vector-set! rl k (float-vector-set! rl i (real-part c1)))
+	  (float-vector-set! im k (- (float-vector-set! im i (imag-part c1)))))
 	
-	(set! d0 (make-float-vector 16))
-	(set! (d0 0) 1.0)
-	(snd-transform fourier-transform d0 0)
+	(fft rl im -1)
+	(float-vector->channel rl 0 len snd chn #f (format #f "automorph ~A ~A ~A ~A" a b c d)))))
+  
+  (if (defined? 'bes-j0) ; dependent on mus-config.h HAVE_SPECIAL_FUNCTIONS
+      (begin
+	(test-j0)
+	(test-j1)
+	(test-jn)
+	(test-y0)
+	(test-y1)
+	(test-yn)
+	(test-k0)
+	(test-k1)
+	(test-kn)
+	(test-i0)
+	(test-i1)
+	(test-in)
+	(test-erf)
+	(test-lgamma)))
+  
+  (do ((clmtest 0 (+ 1 clmtest))) ((= clmtest tests))
+    (log-mem clmtest)
+    
+    (let ((index (open-sound "oboe.snd")))
+      ;; check small transform cases
+      (set! (transform-graph?) #t)
+      (for-each 
+       (lambda (transform)
+	 (set! *transform-type* transform)
+	 (for-each
+	  (lambda (size)
+	    (catch #t
+	      (lambda ()
+		(set! *transform-size* size)
+		(update-transform-graph))
+	      (lambda args args)))
+	  '(8 7 -7 4 3 2 1 0)))
+       (list fourier-transform wavelet-transform autocorrelation walsh-transform cepstrum haar-transform))
+      (close-sound index))
+    
+    ;; -------- fft
+    
+    (let ((d0 (make-float-vector 16)))
+      (set! (d0 0) 1.0)
+      (snd-transform fourier-transform d0 0)
+      (do ((i 0 (+ i 1)))
+	  ((= i 16))
+	(if (fneq (d0 i) 1.0)
+	    (snd-display ";fourier (1.0) [~D]: ~A?" i (d0 i)))))
+    
+    (let ((d0 (make-float-vector 19)))
+      (set! (d0 0) 1.0)
+      (snd-transform fourier-transform d0 0)
+      (let ((happy #t))
 	(do ((i 0 (+ i 1)))
-	    ((= i 16))
+	    ((or (not happy) (= i 16)))
 	  (if (fneq (d0 i) 1.0)
-	      (snd-display ";fourier (1.0) [~D]: ~A?" i (d0 i))))
-	
-	(set! d0 (make-float-vector 19))
-	(set! (d0 0) 1.0)
-	(snd-transform fourier-transform d0 0)
-	(let ((happy #t))
-	  (do ((i 0 (+ i 1)))
-	      ((or (not happy) (= i 16)))
-	    (if (fneq (d0 i) 1.0)
-		(begin
-		  (snd-display ";fourier (1.0) [~D]: ~A?" i (d0 i))
-		  (set! happy #f)))))
-	
-	(snd-transform fourier-transform d0 0)
-	(if (and (fneq (d0 0) 256.0)
-		 (fneq (d0 0) 361.0)) ; fftw funny length 
-	    (snd-display ";fourier (256.0): ~A?" (d0 0)))
-	(let ((happy #t))
-	  (do ((i 1 (+ i 1)))
-	      ((or (not happy) (= i 16)))
-	    (if (fneq (d0 i) 0.0)
-		(begin
-		  (snd-display ";fourier (0.0) [~D]: ~A?" i (d0 i))
-		  (set! happy #f)))))
-	
-	(let ((r0 (make-float-vector 8))
-	      (i0 (make-float-vector 8))
-	      (r1 (make-float-vector 8))
-	      (i1 (make-float-vector 8))
-	      (r2 (make-float-vector 8))
-	      (i2 (make-float-vector 8)))
-	  (set! (r0 1) .5)
-	  (set! (r1 3) .75)
-	  (set! (r2 1) .25) ; 1/2
-	  (set! (r2 3) .25) ; 1/3
-	  (mus-fft r0 i0)
-	  (mus-fft r1 i1)
-	  (mus-fft r2 i2)
-	  (float-vector-scale! r0 .5)
-	  (float-vector-scale! i0 .5)
-	  (float-vector-scale! r1 .3333)
-	  (float-vector-scale! i1 .3333)
-	  (float-vector-add! r0 r1)
-	  (float-vector-add! i0 i1)
-	  (if (not (and (mus-arrays-equal? r0 r2)
-			(mus-arrays-equal? i0 i2)))
-	      (snd-display ";fft additions/scaling: ~A ~A: ~A ~A" r2 i2 r0 i0)))
-	
-	(set! d0 (make-float-vector 8))
-	(set! d1 (make-float-vector 8))
-	(set! (d0 2) 1.0)
-	(mus-fft d0 d1 8 1)
-	(if (not (and (mus-arrays-equal? d0 (float-vector 1.000 0.000 -1.000 0.000 1.000 0.000 -1.000 0.000))
-		      (mus-arrays-equal? d1 (float-vector 0.000 1.000 0.000 -1.000 0.000 1.000 0.000 -1.000))))
-	    (snd-display ";mus-fft 1: ~A ~A?" d0 d1))
-	(mus-fft d0 d1 8 -1)
-	(if (not (and (mus-arrays-equal? d0 (float-vector 0.000 0.000 8.000 0.000 0.000 0.000 0.000 0.000))
-		      (mus-arrays-equal? d1 (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000))))
-	    (snd-display ";mus-fft -1: ~A ~A?" d0 d1))
-	
-	(fill! d0 1.0)
-	(fill! d1 0.0)
-	(mus-fft d0 d1 8)
-	(if (not (and (mus-arrays-equal? d0 (float-vector 8.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000))
-		      (mus-arrays-equal? d1 (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000))))
-	    (snd-display ";mus-fft 2: ~A ~A?" d0 d1))
-	(mus-fft d0 d1 8 -1)
-	(if (not (and (mus-arrays-equal? d0 (float-vector 8.000 8.000 8.000 8.000 8.000 8.000 8.000 8.000))
-		      (mus-arrays-equal? d1 (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000))))
-	    (snd-display ";mus-fft -2: ~A ~A?" d0 d1))
-	
-	(fill! d1 0.0)
-	(fill-float-vector d0 (random 1.0))
-	(set! fn (copy d0))
+	      (begin
+		(snd-display ";fourier (1.0) [~D]: ~A?" i (d0 i))
+		(set! happy #f)))))
+      
+      (snd-transform fourier-transform d0 0)
+      (if (and (fneq (d0 0) 256.0)
+	       (fneq (d0 0) 361.0)) ; fftw funny length 
+	  (snd-display ";fourier (256.0): ~A?" (d0 0)))
+      (let ((happy #t))
+	(do ((i 1 (+ i 1)))
+	    ((or (not happy) (= i 16)))
+	  (if (fneq (d0 i) 0.0)
+	      (begin
+		(snd-display ";fourier (0.0) [~D]: ~A?" i (d0 i))
+		(set! happy #f))))))
+    
+    (let ((r0 (make-float-vector 8))
+	  (i0 (make-float-vector 8))
+	  (r1 (make-float-vector 8))
+	  (i1 (make-float-vector 8))
+	  (r2 (make-float-vector 8))
+	  (i2 (make-float-vector 8)))
+      (set! (r0 1) .5)
+      (set! (r1 3) .75)
+      (set! (r2 1) .25) ; 1/2
+      (set! (r2 3) .25) ; 1/3
+      (mus-fft r0 i0)
+      (mus-fft r1 i1)
+      (mus-fft r2 i2)
+      (float-vector-scale! r0 .5)
+      (float-vector-scale! i0 .5)
+      (float-vector-scale! r1 .3333)
+      (float-vector-scale! i1 .3333)
+      (float-vector-add! r0 r1)
+      (float-vector-add! i0 i1)
+      (if (not (and (mus-arrays-equal? r0 r2)
+		    (mus-arrays-equal? i0 i2)))
+	  (snd-display ";fft additions/scaling: ~A ~A: ~A ~A" r2 i2 r0 i0)))
+    
+    (let ((d0 (make-float-vector 8))
+	  (d1 (make-float-vector 8)))
+      (set! (d0 2) 1.0)
+      (mus-fft d0 d1 8 1)
+      (if (not (and (mus-arrays-equal? d0 (float-vector 1.000 0.000 -1.000 0.000 1.000 0.000 -1.000 0.000))
+		    (mus-arrays-equal? d1 (float-vector 0.000 1.000 0.000 -1.000 0.000 1.000 0.000 -1.000))))
+	  (snd-display ";mus-fft 1: ~A ~A?" d0 d1))
+      (mus-fft d0 d1 8 -1)
+      (if (not (and (mus-arrays-equal? d0 (float-vector 0.000 0.000 8.000 0.000 0.000 0.000 0.000 0.000))
+		    (mus-arrays-equal? d1 (float-vector 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000))))
+	  (snd-display ";mus-fft -1: ~A ~A?" d0 d1))
+      
+      (fill! d0 1.0)
+      (fill! d1 0.0)
+      (mus-fft d0 d1 8)
+      (if (not (and (mus-arrays-equal? d0 (float-vector 8.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000))
+		    (mus-arrays-equal? d1 (make-float-vector 8))))
+	  (snd-display ";mus-fft 2: ~A ~A?" d0 d1))
+      (mus-fft d0 d1 8 -1)
+      (if (not (and (mus-arrays-equal? d0 (make-float-vector 8 8.0))
+		    (mus-arrays-equal? d1 (make-float-vector 8))))
+	  (snd-display ";mus-fft -2: ~A ~A?" d0 d1))
+      
+      (fill! d1 0.0)
+      (fill-float-vector d0 (random 1.0))
+      (let ((fn (copy d0)))
 	(mus-fft d0 d1 8)
 	(mus-fft d0 d1 8 -1)
 	(float-vector-scale! d0 (/ 1.0 8.0))
 	(if (not (mus-arrays-equal? d0 fn))
-	    (snd-display ";mus-fft 3: ~A ~A?" d0 fn))
-	
-	(let ((d0 (make-float-vector 8))
-	      (d1 (make-float-vector 8)))
+	    (snd-display ";mus-fft 3: ~A ~A?" d0 fn)))
+      
+      (let ((d0 (make-float-vector 8))
+	    (d1 (make-float-vector 8)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 8))
+	  (set! (d0 i) (- 1.0 (random 2.0)))
+	  (set! (d1 i) (- 1.0 (random 2.0))))
+	(let ((save-d0 (copy d0))
+	      (save-d1 (copy d1))
+	      (reversed-d0 (make-float-vector 8))
+	      (reversed-d1 (make-float-vector 8)))
 	  (do ((i 0 (+ i 1)))
 	      ((= i 8))
-	    (set! (d0 i) (- 1.0 (random 2.0)))
-	    (set! (d1 i) (- 1.0 (random 2.0))))
-	  (let ((save-d0 (copy d0))
-		(save-d1 (copy d1))
-		(reversed-d0 (make-float-vector 8))
-		(reversed-d1 (make-float-vector 8)))
-	    (do ((i 0 (+ i 1)))
-		((= i 8))
-	      (set! (reversed-d0 i) (d0 (- 7 i)))
-	      (set! (reversed-d1 i) (d1 (- 7 i))))
-	    (mus-fft d0 d1 8)
-	    (mus-fft d0 d1 8)
-	    (float-vector-scale! d0 .125)
-	    (float-vector-scale! d1 .125)
-	    (do ((i 0 (+ i 1))) ; one sample rotation here
-		((= i 7))
-	      (if (fneq (d0 (+ i 1)) (reversed-d0 i))
-		  (snd-display ";mus-fft d0 reversed: ~A ~A" d0 reversed-d0))
-	      (if (fneq (d1 (+ i 1)) (reversed-d1 i))
-		  (snd-display ";mus-fft d1 reversed: ~A ~A" d1 reversed-d1)))
-	    (mus-fft d0 d1 8)
-	    (mus-fft d0 d1 8)
-	    (float-vector-scale! d0 .125)
-	    (float-vector-scale! d1 .125)
-	    (if (not (mus-arrays-equal? d0 save-d0))
-		(snd-display ";mus-fft d0 saved: ~A ~A" d0 save-d0))
-	    (if (not (mus-arrays-equal? d1 save-d1))
-		(snd-display ";mus-fft d1 saved: ~A ~A" d1 save-d1))))
-	
-	(for-each 
-	 (lambda (size)
-	   (let ((dcopy #f))
-	     (set! d0 (make-float-vector size))
-	     (set! (d0 0) 1.0)
-	     (set! dcopy (copy d0))
-	     (set! d1 (snd-spectrum d0 rectangular-window size))
-	     (if (not (mus-arrays-equal? d0 dcopy)) (snd-display ";snd-spectrum not in-place? ~A ~A" d0 dcopy)))
+	    (set! (reversed-d0 i) (d0 (- 7 i)))
+	    (set! (reversed-d1 i) (d1 (- 7 i))))
+	  (mus-fft d0 d1 8)
+	  (mus-fft d0 d1 8)
+	  (float-vector-scale! d0 .125)
+	  (float-vector-scale! d1 .125)
+	  (do ((i 0 (+ i 1))) ; one sample rotation here
+	      ((= i 7))
+	    (if (fneq (d0 (+ i 1)) (reversed-d0 i))
+		(snd-display ";mus-fft d0 reversed: ~A ~A" d0 reversed-d0))
+	    (if (fneq (d1 (+ i 1)) (reversed-d1 i))
+		(snd-display ";mus-fft d1 reversed: ~A ~A" d1 reversed-d1)))
+	  (mus-fft d0 d1 8)
+	  (mus-fft d0 d1 8)
+	  (float-vector-scale! d0 .125)
+	  (float-vector-scale! d1 .125)
+	  (if (not (mus-arrays-equal? d0 save-d0))
+	      (snd-display ";mus-fft d0 saved: ~A ~A" d0 save-d0))
+	  (if (not (mus-arrays-equal? d1 save-d1))
+	      (snd-display ";mus-fft d1 saved: ~A ~A" d1 save-d1)))))
+    
+    (for-each 
+     (lambda (size)
+       (let ((d0 (make-float-vector size)))
+	 (set! (d0 0) 1.0)
+	 (let ((dcopy (copy d0))
+	       (d1 (snd-spectrum d0 rectangular-window size)))
+	   (if (not (mus-arrays-equal? d0 dcopy)) (snd-display ";snd-spectrum not in-place? ~A ~A" d0 dcopy))
 	   (let ((happy #t))
 	     (do ((i 0 (+ i 1)))
 		 ((or (not happy) (= i (/ size 2))))
 	       (if (fneq (d1 i) 1.0)
 		   (begin
 		     (snd-display ";snd-spectrum (1.0) [~D: ~D]: ~A?" i size (d1 i))
-		     (set! happy #f)))))
-	   
-	   (set! d0 (make-float-vector size 1.0))
-	   (set! d1 (snd-spectrum d0 rectangular-window))
-	   (if (fneq (d1 0) 1.0)
-	       (snd-display ";snd-spectrum back (1.0 ~D): ~A?" size (d1 0)))
-	   (let ((happy #t))
-	     (do ((i 1 (+ i 1)))
-		 ((or (not happy) (= i (/ size 2))))
-	       (if (fneq (d1 i) 0.0)
-		   (begin
-		     (snd-display ";snd-spectrum (0.0) [~D: ~D]: ~A?" i size (d1 i))
-		     (set! happy #f)))))
-	   
-	   (set! d0 (make-float-vector size))
-	   (set! (d0 0) 1.0)
-	   (set! d1 (snd-spectrum d0 rectangular-window size #f)) ; dB (0.0 = max)
-	   (let ((happy #t))
-	     (do ((i 0 (+ i 1)))
-		 ((or (not happy) (= i (/ size 2))))
-	       (if (fneq (d1 i) 0.0)
-		   (begin
-		     (snd-display ";snd-spectrum dB (0.0) [~D: ~D]: ~A?" i size (d1 i))
-		     (set! happy #f)))))
-	   
-	   (set! d0 (make-float-vector size 1.0))
-	   (set! d1 (snd-spectrum d0 rectangular-window size #f))
-	   (if (fneq (d1 0) 0.0)
-	       (snd-display ";snd-spectrum dB back (0.0 ~D): ~A?" size (d1 0)))
-	   (let ((happy #t))
-	     (do ((i 1 (+ i 1)))
-		 ((or (not happy) (= i (/ size 2))))
-	       (if (fneq (d1 i) -90.0) ; currently ignores min-dB (snd-sig.c 5023)
-		   (begin
-		     (snd-display ";snd-spectrum dB (1.0) [~D: ~D]: ~A?" i size (d1 i))
-		     (set! happy #f)))))
-	   
-	   (let ((dcopy #f))
-	     (set! d0 (make-float-vector size))
-	     (set! (d0 0) 1.0)
-	     (set! dcopy (copy d0))
-	     (set! d1 (snd-spectrum d0 rectangular-window size #t 1.0 #t)) ; in-place 
-	     (if (mus-arrays-equal? d0 dcopy) (snd-display ";snd-spectrum in-place? ~A ~A" d0 dcopy))
-	     (if (not (mus-arrays-equal? d0 d1)) (snd-display ";snd-spectrum returns in-place? ~A ~A" d0 d1)))
+		     (set! happy #f)))))))
+       
+       (let ((d1 (snd-spectrum (make-float-vector size 1.0) rectangular-window)))
+	 (if (fneq (d1 0) 1.0)
+	     (snd-display ";snd-spectrum back (1.0 ~D): ~A?" size (d1 0)))
+	 (let ((happy #t))
+	   (do ((i 1 (+ i 1)))
+	       ((or (not happy) (= i (/ size 2))))
+	     (if (fneq (d1 i) 0.0)
+		 (begin
+		   (snd-display ";snd-spectrum (0.0) [~D: ~D]: ~A?" i size (d1 i))
+		   (set! happy #f))))))
+       
+       (let* ((d0 (make-float-vector size))
+	      (d1 (snd-spectrum d0 rectangular-window size #f))) ; dB (0.0 = max)
+	 (set! (d0 0) 1.0)
+	 (let ((happy #t))
+	   (do ((i 0 (+ i 1)))
+	       ((or (not happy) (= i (/ size 2))))
+	     (if (fneq (d1 i) 0.0)
+		 (begin
+		   (snd-display ";snd-spectrum dB (0.0) [~D: ~D]: ~A?" i size (d1 i))
+		   (set! happy #f))))))
+       
+       (let ((d1 (snd-spectrum (make-float-vector size 1.0) rectangular-window size #f)))
+	 (if (fneq (d1 0) 0.0)
+	     (snd-display ";snd-spectrum dB back (0.0 ~D): ~A?" size (d1 0)))
+	 (let ((happy #t))
+	   (do ((i 1 (+ i 1)))
+	       ((or (not happy) (= i (/ size 2))))
+	     (if (fneq (d1 i) -90.0) ; currently ignores min-dB (snd-sig.c 5023)
+		 (begin
+		   (snd-display ";snd-spectrum dB (1.0) [~D: ~D]: ~A?" i size (d1 i))
+		   (set! happy #f))))))
+       
+       (let ((d0 (make-float-vector size)))
+	 (set! (d0 0) 1.0)
+	 (let ((dcopy (copy d0))
+	       (d1 (snd-spectrum d0 rectangular-window size #t 1.0 #t))) ; in-place 
+	   (if (mus-arrays-equal? d0 dcopy) (snd-display ";snd-spectrum in-place? ~A ~A" d0 dcopy))
+	   (if (not (mus-arrays-equal? d0 d1)) (snd-display ";snd-spectrum returns in-place? ~A ~A" d0 d1))
 	   (let ((happy #t))
 	     (do ((i 0 (+ i 1)))
 		 ((or (not happy) (= i (/ size 2))))
 	       (if (fneq (d1 i) 1.0)
 		   (begin
 		     (snd-display ";snd-spectrum (1.0 #t) [~D: ~D]: ~A?" i size (d1 i))
-		     (set! happy #f)))))
-	   
-	   (let ((dcopy #f))
-	     (set! d0 (make-float-vector size))
-	     (set! (d0 0) 1.0)
-	     (set! dcopy (copy d0))
-	     (set! d1 (snd-spectrum d0 rectangular-window size #f 1.0 #t)) ; in-place dB
-	     (if (mus-arrays-equal? d0 dcopy) (snd-display ";snd-spectrum dB in-place? ~A ~A" d0 dcopy))
-	     (if (not (mus-arrays-equal? d0 d1)) (snd-display ";snd-spectrum dB returns in-place? ~A ~A" d0 d1)))
+		     (set! happy #f)))))))
+       
+       (let ((d0 (make-float-vector size)))
+	 (set! (d0 0) 1.0)
+	 (let ((dcopy (copy d0))
+	       (d1 (snd-spectrum d0 rectangular-window size #f 1.0 #t))) ; in-place dB
+	   (if (mus-arrays-equal? d0 dcopy) (snd-display ";snd-spectrum dB in-place? ~A ~A" d0 dcopy))
+	   (if (not (mus-arrays-equal? d0 d1)) (snd-display ";snd-spectrum dB returns in-place? ~A ~A" d0 d1))
 	   (let ((happy #t))
 	     (do ((i 0 (+ i 1)))
 		 ((or (not happy) (= i (/ size 2))))
 	       (if (fneq (d1 i) 0.0)
 		   (begin
 		     (snd-display ";snd-spectrum dB (1.0 #t) [~D: ~D]: ~A?" i size (d1 i))
-		     (set! happy #f)))))
-	   
-	   (set! d0 (make-float-vector size 1.0))
-	   (set! d1 (snd-spectrum d0 rectangular-window size #t 0.0 #f #f)) ; linear (in-place) not normalized
-	   (if (fneq (d1 0) size) (snd-display ";snd-spectrum no norm 0: ~A" d1))
-	   (let ((happy #t))
-	     (do ((i 1 (+ i 1)))
-		 ((or (not happy) (= i (/ size 2))))
-	       (if (fneq (d1 i) 0.0)
-		   (begin
-		     (snd-display ";snd-spectrum no norm (0.0) [~D: ~D]: ~A?" i size (d1 i))
-		     (set! happy #f)))))
-	   
-	   (set! d0 (make-float-vector size 1.0))
-	   (set! d1 (snd-spectrum d0 blackman2-window size))
-	   (if (not (or (mus-arrays-equal? d1 (float-vector 1.000 0.721 0.293 0.091))
-			(mus-arrays-equal? d1 (float-vector 1.000 0.647 0.173 0.037 0.024 0.016 0.011 0.005))))
-	       (snd-display ";blackman2 snd-spectrum: ~A~%" d1))
-	   
-	   (set! d0 (make-float-vector size 1.0))
-	   (set! d1 (snd-spectrum d0 gaussian-window size #t 0.5))
-	   (if (not (or (mus-arrays-equal? d1 (float-vector 1.000 0.900 0.646 0.328))
-			(mus-arrays-equal? d1 (float-vector 1.000 0.870 0.585 0.329 0.177 0.101 0.059 0.028))))
-	       (snd-display ";gaussian 0.5 snd-spectrum: ~A~%" d1))
-	   
-	   (set! d0 (make-float-vector size 1.0))
-	   (set! d1 (snd-spectrum d0 gaussian-window size #t 0.85))
-	   (if (not (or (mus-arrays-equal? d1 (float-vector 1.000 0.924 0.707 0.383))
-			(mus-arrays-equal? d1 (float-vector 1.000 0.964 0.865 0.725 0.566 0.409 0.263 0.128))))
-	       (snd-display ";gaussian 0.85 snd-spectrum: ~A~%" d1))
-	   
-	   )
+		     (set! happy #f)))))))
+       
+       (let ((d1 (snd-spectrum (make-float-vector size 1.0) rectangular-window size #t 0.0 #f #f))) ; linear (in-place) not normalized
+	 (if (fneq (d1 0) size) (snd-display ";snd-spectrum no norm 0: ~A" d1))
+	 (let ((happy #t))
+	   (do ((i 1 (+ i 1)))
+	       ((or (not happy) (= i (/ size 2))))
+	     (if (fneq (d1 i) 0.0)
+		 (begin
+		   (snd-display ";snd-spectrum no norm (0.0) [~D: ~D]: ~A?" i size (d1 i))
+		   (set! happy #f))))))
+       
+       (let ((d1 (snd-spectrum (make-float-vector size 1.0) blackman2-window size)))
+	 (if (not (or (mus-arrays-equal? d1 (float-vector 1.000 0.721 0.293 0.091))
+		      (mus-arrays-equal? d1 (float-vector 1.000 0.647 0.173 0.037 0.024 0.016 0.011 0.005))))
+	     (snd-display ";blackman2 snd-spectrum: ~A~%" d1)))
+       
+       (let ((d1 (snd-spectrum (make-float-vector size 1.0) gaussian-window size #t 0.5)))
+	 (if (not (or (mus-arrays-equal? d1 (float-vector 1.000 0.900 0.646 0.328))
+		      (mus-arrays-equal? d1 (float-vector 1.000 0.870 0.585 0.329 0.177 0.101 0.059 0.028))))
+	     (snd-display ";gaussian 0.5 snd-spectrum: ~A~%" d1)))
+       
+       (let ((d1 (snd-spectrum (make-float-vector size 1.0) gaussian-window size #t 0.85)))
+	 (if (not (or (mus-arrays-equal? d1 (float-vector 1.000 0.924 0.707 0.383))
+		      (mus-arrays-equal? d1 (float-vector 1.000 0.964 0.865 0.725 0.566 0.409 0.263 0.128))))
+	     (snd-display ";gaussian 0.85 snd-spectrum: ~A~%" d1))))
+     
+     '(8 16))
+    
+    (for-each
+     (lambda (len)
+       (let ((rl (make-float-vector len))
+	     (xrl (make-float-vector len))
+	     (len2 (/ len 2)))
+	 (fill! rl 1.0)
+	 (fill! xrl 1.0)
+	 (snd-transform fourier-transform rl)
+	 (snd-transform fourier-transform xrl #t)
+	 (let ((happy #t))
+	   (do ((i 0 (+ i 1)))
+	       ((or (not happy) (= i len2)))
+	     (if (fneq (rl i) (xrl i))
+		 (begin
+		   (snd-display ";flat fft: ~A at ~A: ~A ~A" len i (rl i) (xrl i))
+		   (set! happy #f)))))
+	 (if (fneq (rl 0) (* len len)) (snd-display ";snd-transform ~A at 0: ~A" len (rl 0)))
+	 (set! (rl 0) 0.0)
+	 (if (> (float-vector-peak rl) .001) (snd-display ";snd-transform ~A impulse: ~A" len (float-vector-peak rl)))))
+     '(16 128 512 1024))
+    
+    (for-each
+     (lambda (len)
+       (let ((rl (make-float-vector len))
+	     (xrl (make-float-vector len))
+	     (len2 (/ len 2)))
+	 (set! (rl len2) 1.0)
+	 (set! (xrl len2) 1.0)
+	 (snd-transform fourier-transform rl)
+	 (snd-transform fourier-transform xrl #t)
+	 (let ((happy #t))
+	   (do ((i 0 (+ i 1)))
+	       ((or (not happy) (= i len2)))
+	     (if (fneq (rl i) (xrl i))
+		 (begin
+		   (snd-display ";impulse fft: ~A at ~A: ~A ~A" len i (rl i) (xrl i))
+		   (set! happy #f)))))
+	 (if (fneq (rl 0) 1.0) (snd-display ";flat ~A at 0: ~A" len (rl 0)))))
+     '(16 128 512 1024))
+    
+    (for-each
+     (lambda (len)
+       (let ((rl (make-float-vector len))
+	     (xrl (make-float-vector len)))
+	 (do ((i 0 (+ i 1)))
+	     ((= i len))
+	   (float-vector-set! rl i (random 1.0)))
+	 (copy rl xrl)
+	 (snd-transform fourier-transform rl)
+	 (float-vector-scale! rl (/ 1.0 len))
+	 (snd-transform fourier-transform xrl #t)
+	 (float-vector-scale! xrl (/ 1.0 len))
+	 (if (not (mus-arrays-equal? rl xrl))
+	     (snd-display ";random fft: ~A: ~A ~A" len rl xrl))))
+     '(16 128 512 1024 4096))
+    
+    (for-each
+     (lambda (len)
+       (let ((rl (make-float-vector len))
+	     (xrl (make-float-vector len)))
+	 (let ((g (make-oscil (/ 220500.0 len))))
+	   (do ((i 0 (+ i 1)))
+	       ((= i len))
+	     (float-vector-set! rl i (oscil g))))
+	 (copy rl xrl)
+	 (snd-transform fourier-transform rl)
+	 (float-vector-scale! rl (/ 1.0 len))
+	 (snd-transform fourier-transform xrl #t)
+	 (float-vector-scale! xrl (/ 1.0 len))
+	 (if (not (mus-arrays-equal? rl xrl))
+	     (snd-display ";random fft: ~A: ~A ~A" len rl xrl))))
+     '(16 128 512 1024 4096))
+    
+    ;; -------- autocorrelation
+    
+    (let ((rl (make-float-vector 16)))
+      (set! (rl 0) 1.0)
+      (autocorrelate rl)
+      (if (not (mus-arrays-equal? rl (float-vector 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+	  (snd-display ";autocorrelate 1: ~A" rl)))
+    
+    (let ((rl (make-float-vector 16)))
+      (set! (rl 0) 1.0)
+      (set! (rl 1) -1.0)
+      (autocorrelate rl)
+      (if (not (mus-arrays-equal? rl (float-vector 2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+	  (snd-display ";autocorrelate 1 -1: ~A" rl)))
+    
+    (let ((rl (make-float-vector 16)))
+      (set! (rl 0) 1.0)
+      (set! (rl 4) -1.0)
+      (autocorrelate rl)
+      (if (not (mus-arrays-equal? rl (float-vector 2 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0)))
+	  (snd-display ";autocorrelate 1 0 0 0 -1: ~A" rl)))
+    
+    (let ((rl (make-float-vector 16))
+	  (rl1 (make-float-vector 16)))
+      (do ((i 0 (+ i 1)))
+	  ((= i 8))
+	(set! (rl i) (- 8.0 i)))
+      (copy rl rl1)
+      (let ((nr (float-vector-subseq (corr rl rl 16 16) 0 15)))
+	(autocorrelate rl1)
+	(if (not (mus-arrays-equal? rl1 nr))
+	    (snd-display ";autocorrelate/corr (ramp):~%;  ~A~%;  ~A" rl1 nr))))
+    
+    (let ((rl (make-float-vector 16))
+	  (rl1 (make-float-vector 16)))
+      (do ((i 0 (+ i 1)))
+	  ((= i 8))
+	(set! (rl i) (- 1.0 (random 2.0))))
+      (copy rl rl1)
+      (let ((nr (float-vector-subseq (corr rl rl 16 16) 0 15)))
+	(autocorrelate rl1)
+	(if (not (mus-arrays-equal? rl1 nr))
+	    (snd-display ";autocorrelate/corr:~%;  ~A~%;  ~A" rl1 nr))))
+    
+    (let ((ind0 (new-sound "test.snd" :size 16))
+	  (ind1 (new-sound "fmv.snd" :size 16)))
+      (set! (sample 3 ind0 0) .75)
+      (set! (sample 6 ind1 0) -.5)
+      (let ((data0 (cross-correlate-1 ind0 0 ind1 0))
+	    (data1 (cross-correlate-2 ind0 0 ind1 0)))
+	(if (not (mus-arrays-equal? data0 data1))
+	    (snd-display ";cross-correlate: ~A ~A" data0 data1)))
+      (set! (sample 3 ind0 0) 0.0)
+      (set! (sample 8 ind0 0) 1.0)
+      (let ((data0 (cross-correlate-1 ind0 0 ind1 0))
+	    (data1 (cross-correlate-2 ind0 0 ind1 0)))
+	(if (not (mus-arrays-equal? data0 data1))
+	    (snd-display ";cross-correlate 1: ~A ~A" data0 data1)))
+      (close-sound ind0)
+      (close-sound ind1))
+    
+    (let ((v1 (make-float-vector 16))
+	  (v2 (make-float-vector 16))
+	  (v3 (make-float-vector 16))
+	  (v4 (make-float-vector 16)))
+      (set! (v1 0) 1.0)  
+      (set! (v2 3) 1.0)  
+      (set! (v3 0) 1.0)  
+      (set! (v4 3) 1.0)
+      (set! v1 (cross-correlate-3 v1 v2 16))
+      (set! v3 (correlate v3 v4))
+      (if (not (mus-arrays-equal? v1 v3))
+	  (snd-display ";correlate 16:~%;  ~A~%;  ~A" v1 v3)))
+    
+    (let ((v1 (make-float-vector 128))
+	  (v2 (make-float-vector 128))
+	  (v3 (make-float-vector 128))
+	  (v4 (make-float-vector 128)))
+      (set! (v1 0) 1.0)  
+      (set! (v2 32) 1.0)  
+      (set! (v3 0) 1.0)  
+      (set! (v4 32) 1.0)
+      (set! v1 (cross-correlate-3 v1 v2 128))
+      (set! v3 (correlate v3 v4))
+      (if (not (mus-arrays-equal? v1 v3))
+	  (snd-display ";correlate 128:~%;  ~A~%;  ~A" v1 v3)))
+    
+    (let ((v1 (make-float-vector 128))
+	  (v2 (make-float-vector 128))
+	  (v3 #f)
+	  (v4 #f))
+      (do ((i 0 (+ i 1)))
+	  ((= i 128))
+	(float-vector-set! v1 i (mus-random 5.0))
+	(float-vector-set! v2 i (mus-random 0.5)))
+      (set! v3 (copy v1))
+      (set! v4 (copy v2))
+      (set! v1 (cross-correlate-3 v1 v2 128))
+      (set! v3 (correlate v3 v4))
+      (if (not (mus-arrays-equal? v1 v3))
+	  (snd-display ";correlate 128 at random:~%;  ~A~%;  ~A" v1 v3)))
+    
+    (let ((v1 (make-float-vector 16))
+	  (v2 (make-float-vector 16)))
+      (set! (v1 3) 1.0)  
+      (set! (v2 3) 1.0)  
+      (set! v1 (correlate v1 (copy v1)))
+      (set! v2 (autocorrelate v2))
+      (if (not (mus-arrays-equal? v1 v2))
+	  (snd-display ";auto/correlate 16:~%;  ~A~%;  ~A" v1 v2)))
+    
+    (for-each
+     (lambda (len)
+       (let ((rl (make-float-vector len))
+	     (rla (make-float-vector len))
+	     (xim (make-float-vector len))
+	     (xrl (make-float-vector len))
+	     (len2 (/ len 2)))
+	 (set! (rl 0) 1.0)
+	 (set! (rl 4) 1.0)
+	 (snd-transform autocorrelation rl 0) ; this is exactly the same as (autocorrelate rl)
+	 (if (fneq (rl 0) 2.0) (snd-display ";autocorrelation ~A 0: ~A" len (rl 0)))
+	 (if (fneq (rl 4) 1.0) (snd-display ";autocorrelation ~A 4: ~A" len (rl 4)))
 	 
-	 '(8 16))
-	
-	(for-each
-	 (lambda (len)
-	   (let ((rl (make-float-vector len))
-		 (xrl (make-float-vector len))
-		 (len2 (/ len 2)))
-	     (fill! rl 1.0)
-	     (fill! xrl 1.0)
-	     (snd-transform fourier-transform rl)
-	     (snd-transform fourier-transform xrl #t)
-	     (let ((happy #t))
-	       (do ((i 0 (+ i 1)))
-		   ((or (not happy) (= i len2)))
-		 (if (fneq (rl i) (xrl i))
-		     (begin
-		       (snd-display ";flat fft: ~A at ~A: ~A ~A" len i (rl i) (xrl i))
-		       (set! happy #f)))))
-	     (if (fneq (rl 0) (* len len)) (snd-display ";snd-transform ~A at 0: ~A" len (rl 0)))
-	     (set! (rl 0) 0.0)
-	     (if (> (float-vector-peak rl) .001) (snd-display ";snd-transform ~A impulse: ~A" len (float-vector-peak rl)))))
-	 '(16 128 512 1024))
-	
-	(for-each
-	 (lambda (len)
-	   (let ((rl (make-float-vector len))
-		 (xrl (make-float-vector len))
-		 (len2 (/ len 2)))
-	     (set! (rl len2) 1.0)
-	     (set! (xrl len2) 1.0)
-	     (snd-transform fourier-transform rl)
-	     (snd-transform fourier-transform xrl #t)
-	     (let ((happy #t))
-	       (do ((i 0 (+ i 1)))
-		   ((or (not happy) (= i len2)))
-		 (if (fneq (rl i) (xrl i))
-		     (begin
-		       (snd-display ";impulse fft: ~A at ~A: ~A ~A" len i (rl i) (xrl i))
-		       (set! happy #f)))))
-	     (if (fneq (rl 0) 1.0) (snd-display ";flat ~A at 0: ~A" len (rl 0)))))
-	 '(16 128 512 1024))
-	
-	(for-each
-	 (lambda (len)
-	   (let ((rl (make-float-vector len))
-		 (xrl (make-float-vector len)))
-	     (do ((i 0 (+ i 1)))
-		 ((= i len))
-	       (float-vector-set! rl i (random 1.0)))
-	     (copy rl xrl)
-	     (snd-transform fourier-transform rl)
-	     (float-vector-scale! rl (/ 1.0 len))
-	     (snd-transform fourier-transform xrl #t)
-	     (float-vector-scale! xrl (/ 1.0 len))
-	     (if (not (mus-arrays-equal? rl xrl))
-		 (snd-display ";random fft: ~A: ~A ~A" len rl xrl))))
-	 '(16 128 512 1024 4096))
-	
-	(for-each
-	 (lambda (len)
-	   (let ((rl (make-float-vector len))
-		 (xrl (make-float-vector len)))
-	     (let ((g (make-oscil (/ 220500.0 len))))
-	       (do ((i 0 (+ i 1)))
-		   ((= i len))
-		 (float-vector-set! rl i (oscil g))))
-	     (copy rl xrl)
-	     (snd-transform fourier-transform rl)
-	     (float-vector-scale! rl (/ 1.0 len))
-	     (snd-transform fourier-transform xrl #t)
-	     (float-vector-scale! xrl (/ 1.0 len))
-	     (if (not (mus-arrays-equal? rl xrl))
-		 (snd-display ";random fft: ~A: ~A ~A" len rl xrl))))
-	 '(16 128 512 1024 4096))
-	
-	;; -------- autocorrelation
-	
-	(let ((rl (make-float-vector 16)))
-	  (set! (rl 0) 1.0)
-	  (autocorrelate rl)
-	  (if (not (mus-arrays-equal? rl (float-vector 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
-	      (snd-display ";autocorrelate 1: ~A" rl)))
-	
-	(let ((rl (make-float-vector 16)))
-	  (set! (rl 0) 1.0)
-	  (set! (rl 1) -1.0)
-	  (autocorrelate rl)
-	  (if (not (mus-arrays-equal? rl (float-vector 2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
-	      (snd-display ";autocorrelate 1 -1: ~A" rl)))
-	
-	(let ((rl (make-float-vector 16)))
-	  (set! (rl 0) 1.0)
-	  (set! (rl 4) -1.0)
-	  (autocorrelate rl)
-	  (if (not (mus-arrays-equal? rl (float-vector 2 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0)))
-	      (snd-display ";autocorrelate 1 0 0 0 -1: ~A" rl)))
-	
-	(let ((rl (make-float-vector 16))
-	      (rl1 (make-float-vector 16)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 8))
-	    (set! (rl i) (- 8.0 i)))
-	  (copy rl rl1)
-	  (let ((nr (float-vector-subseq (corr rl rl 16 16) 0 15)))
-	    (autocorrelate rl1)
-	    (if (not (mus-arrays-equal? rl1 nr))
-		(snd-display ";autocorrelate/corr (ramp):~%;  ~A~%;  ~A" rl1 nr))))
-	
-	(let ((rl (make-float-vector 16))
-	      (rl1 (make-float-vector 16)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 8))
-	    (set! (rl i) (- 1.0 (random 2.0))))
-	  (copy rl rl1)
-	  (let ((nr (float-vector-subseq (corr rl rl 16 16) 0 15)))
-	    (autocorrelate rl1)
-	    (if (not (mus-arrays-equal? rl1 nr))
-		(snd-display ";autocorrelate/corr:~%;  ~A~%;  ~A" rl1 nr))))
-	
-	(let ((ind0 (new-sound "test.snd" :size 16))
-	      (ind1 (new-sound "fmv.snd" :size 16)))
-	  (set! (sample 3 ind0 0) .75)
-	  (set! (sample 6 ind1 0) -.5)
-	  (let ((data0 (cross-correlate-1 ind0 0 ind1 0))
-		(data1 (cross-correlate-2 ind0 0 ind1 0)))
-	    (if (not (mus-arrays-equal? data0 data1))
-		(snd-display ";cross-correlate: ~A ~A" data0 data1)))
-	  (set! (sample 3 ind0 0) 0.0)
-	  (set! (sample 8 ind0 0) 1.0)
-	  (let ((data0 (cross-correlate-1 ind0 0 ind1 0))
-		(data1 (cross-correlate-2 ind0 0 ind1 0)))
-	    (if (not (mus-arrays-equal? data0 data1))
-		(snd-display ";cross-correlate 1: ~A ~A" data0 data1)))
-	  (close-sound ind0)
-	  (close-sound ind1))
-	
-	(let ((v1 (make-float-vector 16))
-	      (v2 (make-float-vector 16))
-	      (v3 (make-float-vector 16))
-	      (v4 (make-float-vector 16)))
-	  (set! (v1 0) 1.0)  
-	  (set! (v2 3) 1.0)  
-	  (set! (v3 0) 1.0)  
-	  (set! (v4 3) 1.0)
-	  (set! v1 (cross-correlate-3 v1 v2 16))
-	  (set! v3 (correlate v3 v4))
-	  (if (not (mus-arrays-equal? v1 v3))
-	      (snd-display ";correlate 16:~%;  ~A~%;  ~A" v1 v3)))
-	
-	(let ((v1 (make-float-vector 128))
-	      (v2 (make-float-vector 128))
-	      (v3 (make-float-vector 128))
-	      (v4 (make-float-vector 128)))
-	  (set! (v1 0) 1.0)  
-	  (set! (v2 32) 1.0)  
-	  (set! (v3 0) 1.0)  
-	  (set! (v4 32) 1.0)
-	  (set! v1 (cross-correlate-3 v1 v2 128))
-	  (set! v3 (correlate v3 v4))
-	  (if (not (mus-arrays-equal? v1 v3))
-	      (snd-display ";correlate 128:~%;  ~A~%;  ~A" v1 v3)))
-	
-	(let ((v1 (make-float-vector 128))
-	      (v2 (make-float-vector 128))
-	      (v3 #f)
-	      (v4 #f))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 128))
-	    (float-vector-set! v1 i (mus-random 5.0))
-	    (float-vector-set! v2 i (mus-random 0.5)))
-	  (set! v3 (copy v1))
-	  (set! v4 (copy v2))
-	  (set! v1 (cross-correlate-3 v1 v2 128))
-	  (set! v3 (correlate v3 v4))
-	  (if (not (mus-arrays-equal? v1 v3))
-	      (snd-display ";correlate 128 at random:~%;  ~A~%;  ~A" v1 v3)))
-	
-	(let ((v1 (make-float-vector 16))
-	      (v2 (make-float-vector 16)))
-	  (set! (v1 3) 1.0)  
-	  (set! (v2 3) 1.0)  
-	  (set! v1 (correlate v1 (copy v1)))
-	  (set! v2 (autocorrelate v2))
-	  (if (not (mus-arrays-equal? v1 v2))
-	      (snd-display ";auto/correlate 16:~%;  ~A~%;  ~A" v1 v2)))
-	
-	(for-each
-	 (lambda (len)
-	   (let ((rl (make-float-vector len))
-		 (rla (make-float-vector len))
-		 (xim (make-float-vector len))
-		 (xrl (make-float-vector len))
-		 (len2 (/ len 2)))
-	     (set! (rl 0) 1.0)
-	     (set! (rl 4) 1.0)
-	     (snd-transform autocorrelation rl 0) ; this is exactly the same as (autocorrelate rl)
-	     (if (fneq (rl 0) 2.0) (snd-display ";autocorrelation ~A 0: ~A" len (rl 0)))
-	     (if (fneq (rl 4) 1.0) (snd-display ";autocorrelation ~A 4: ~A" len (rl 4)))
-	     
-	     (set! (rla 0) 1.0)
-	     (set! (rla 4) 1.0)
-	     (autocorrelate rla)
-	     (if (fneq (rla 0) 2.0) (snd-display ";autocorrelate ~A 0: ~A" len (rla 0)))
-	     (if (fneq (rla 4) 1.0) (snd-display ";autocorrelate ~A 4: ~A" len (rla 4)))
-	     
-	     (set! (xrl 0) 1.0)
-	     (set! (xrl 4) 1.0)
-	     (mus-fft xrl xim len 1)
-	     (do ((i 0 (+ i 1)))
-		 ((= i len))
-	       (set! (xrl i) (+ (* (xrl i) (xrl i)) (* (xim i) (xim i)))))
-	     (float-vector-scale! xim 0.0)
-	     (mus-fft xrl xim len -1)
-	     (float-vector-scale! xrl (/ 1.0 len))
-	     
-	     (let ((happy #t))
-	       (do ((i 0 (+ i 1)))
-		   ((or (not happy) (= i len2)))
-		 (if (fneq (rl i) (xrl i))
-		     (begin
-		       (snd-display ";mus-fft? ~A at ~A: ~A ~A" len i (rl i) (xrl i))
-		       (set! happy #f)))))
-	     (set! (rl 0) 0.0)
-	     (set! (rl 4) 0.0)
-	     (fill! rl 0.0 len2 len)
-	     (if (> (float-vector-peak rl) .001) (snd-display ";autocorrelate peak: ~A" (float-vector-peak rl)))))
-	 '(16 64 256 512))
-	
-	(for-each
-	 (lambda (len)
-	   (let ((rl (make-float-vector len))
-		 (xim (make-float-vector len))
-		 (xrl (make-float-vector len))
-		 (len2 (/ len 2)))
-	     (let ((ones (max 2 (random len2))))
-	       (do ((i 0 (+ i 1)))
-		   ((= i ones))
-		 (let ((val (random 1.0))
-		       (ind (random len)))
-		   (set! (rl ind) val)
-		   (set! (xrl ind) val))))
-	     (snd-transform autocorrelation rl 0)
-	     (mus-fft xrl xim len 1)
-	     (set! (xrl 0) (* (xrl 0) (xrl 0)))
-	     (set! (xrl len2) (* (xrl len2) (xrl len2)))
-	     (do ((i 1 (+ i 1))
-		  (j (- len 1) (- j 1)))
-		 ((= i len2))
-	       (set! (xrl i) (+ (* (xrl i) (xrl i)) (* (xim j) (xim j))))
-	       (set! (xrl j) (xrl i)))
-	     (float-vector-scale! xim 0.0)
-	     (mus-fft xrl xim len -1)
-	     (float-vector-scale! xrl (/ 1.0 len))
-	     (let ((happy #t))
-	       (do ((i 0 (+ i 1)))
-		   ((or (not happy) (= i len2)))
-		 (if (fneq (rl i) (xrl i))
-		     (begin
-		       (snd-display ";random ~A at ~A: ~A ~A" len i (rl i) (xrl i))
-		       (set! happy #f)))))))
-	 '(16 64 256 512))
-	
-	;; -------- cepstrum
-	
-	;; these values from Octave real(ifft(log(abs(fft(x)))))
-	(let ((rl (make-float-vector 16))
-	      (lst '( 0.423618  0.259318 -0.048365  1.140571  -0.811856  -0.994098  -0.998613 -2.453642
-				-0.438549  -1.520463  -0.312065  -0.724707    1.154010    1.466936   0.110463  -1.520854)))
-	  (do ((i 0 (+ i 1))) ((= i 16)) (set! (rl i) (lst i)))
-	  (let ((nrl (float-vector-scale! (snd-transform cepstrum rl 0) 1.399)))
-	    (if (not (mus-arrays-equal? nrl (float-vector  1.3994950   0.1416877   0.0952407   0.0052814  -0.0613192   0.0082986  -0.0233993
-				       -0.0476585   0.0259498  -0.0476585  -0.0233993   0.0082986  -0.0613192   0.0052814
-				       0.0952407   0.1416877)))
-		(snd-display ";cepstrum 16: ~A" nrl))))
-	
-	(let ((rl (make-float-vector 16)))
-	  (do ((i 0 (+ i 1))) ((= i 16)) (set! (rl i) i))
-	  (let ((nrl (float-vector-scale! (snd-transform cepstrum rl 0) 2.72)))
-	    (if (not (mus-arrays-equal? nrl (float-vector 2.720 0.452 0.203 0.122 0.082 0.061 0.048 0.041 0.039 0.041 0.048 0.061 0.082 0.122 0.203 0.452)))
-		(snd-display ";cepstrum 16 by ones: ~A" nrl))))
-	
-	(for-each
-	 (lambda (len)
-	   (let ((rl (make-float-vector len))
-		 (xim (make-float-vector len))
-		 (xrl (make-float-vector len)))
-	     (set! (rl 0) 1.0)
-	     (set! (rl 4) 1.0)
-	     (snd-transform cepstrum rl 0)
-	     (set! (xrl 0) 1.0)
-	     (set! (xrl 4) 1.0)
-	     (mus-fft xrl xim len 1)
-	     (do ((i 0 (+ i 1)))
-		 ((= i len))
-	       (let ((val (+ (* (xrl i) (xrl i)) (* (xim i) (xim i)))))
-		 (set! val (if (> val .0000001) (log (sqrt val)) -10.0))
-		 (set! (xrl i) val)))
-	     (float-vector-scale! xim 0.0)
-	     (mus-fft xrl xim len -1)
-	     (float-vector-scale! xrl (/ 1.0 (float-vector-peak xrl)))
-	     (if (not (mus-arrays-equal? rl xrl))
-		 (snd-display ";mus-fft?? ~A: ~A ~A" len rl xrl))))
-	 '(16 64 256 512))
-	
-	
-	;; -------- walsh
-	
-	(set! d0 (make-float-vector 8))
-	(set! (d0 0) 1.0)
-	(snd-transform walsh-transform d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000)))
-	    (snd-display ";walsh 1: ~A" d0))
-	(snd-transform walsh-transform d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 8.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
-	    (snd-display ";walsh -1: ~A" d0))
-	
-	(set! d0 (make-float-vector 8))
-	(set! (d0 1) 1.0)
-	(snd-transform walsh-transform d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 1.000 -1.000 1.000 -1.000 1.000 -1.000 1.000 -1.000)))
-	    (snd-display ";walsh 2: ~A" d0))
-	(snd-transform walsh-transform d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 0.000 8.000 0.000 0.000 0.000 0.000 0.000 0.000)))
-	    (snd-display ";walsh -2: ~A" d0))
-	
-	(set! d0 (make-float-vector 8))
-	(set! (d0 1) 1.0)
-	(set! (d0 0) 0.5)
-	(snd-transform walsh-transform d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 1.500 -0.500 1.500 -0.500 1.500 -0.500 1.500 -0.500)))
-	    (snd-display ";walsh 3: ~A" d0))
-	(snd-transform walsh-transform d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 4.000 8.000 0.000 0.000 0.000 0.000 0.000 0.000)))
-	    (snd-display ";walsh -3: ~A" d0))
-	
-	(set! d0 (make-float-vector 8))
-	(fill-float-vector d0 (random 1.0))
-	(set! d1 (copy d0))
+	 (set! (rla 0) 1.0)
+	 (set! (rla 4) 1.0)
+	 (autocorrelate rla)
+	 (if (fneq (rla 0) 2.0) (snd-display ";autocorrelate ~A 0: ~A" len (rla 0)))
+	 (if (fneq (rla 4) 1.0) (snd-display ";autocorrelate ~A 4: ~A" len (rla 4)))
+	 
+	 (set! (xrl 0) 1.0)
+	 (set! (xrl 4) 1.0)
+	 (mus-fft xrl xim len 1)
+	 (do ((i 0 (+ i 1)))
+	     ((= i len))
+	   (set! (xrl i) (+ (* (xrl i) (xrl i)) (* (xim i) (xim i)))))
+	 (float-vector-scale! xim 0.0)
+	 (mus-fft xrl xim len -1)
+	 (float-vector-scale! xrl (/ 1.0 len))
+	 
+	 (let ((happy #t))
+	   (do ((i 0 (+ i 1)))
+	       ((or (not happy) (= i len2)))
+	     (if (fneq (rl i) (xrl i))
+		 (begin
+		   (snd-display ";mus-fft? ~A at ~A: ~A ~A" len i (rl i) (xrl i))
+		   (set! happy #f)))))
+	 (set! (rl 0) 0.0)
+	 (set! (rl 4) 0.0)
+	 (fill! rl 0.0 len2 len)
+	 (if (> (float-vector-peak rl) .001) (snd-display ";autocorrelate peak: ~A" (float-vector-peak rl)))))
+     '(16 64 256 512))
+    
+    (for-each
+     (lambda (len)
+       (let ((rl (make-float-vector len))
+	     (xim (make-float-vector len))
+	     (xrl (make-float-vector len))
+	     (len2 (/ len 2)))
+	 (let ((ones (max 2 (random len2))))
+	   (do ((i 0 (+ i 1)))
+	       ((= i ones))
+	     (let ((val (random 1.0))
+		   (ind (random len)))
+	       (set! (rl ind) val)
+	       (set! (xrl ind) val))))
+	 (snd-transform autocorrelation rl 0)
+	 (mus-fft xrl xim len 1)
+	 (set! (xrl 0) (* (xrl 0) (xrl 0)))
+	 (set! (xrl len2) (* (xrl len2) (xrl len2)))
+	 (do ((i 1 (+ i 1))
+	      (j (- len 1) (- j 1)))
+	     ((= i len2))
+	   (set! (xrl i) (+ (* (xrl i) (xrl i)) (* (xim j) (xim j))))
+	   (set! (xrl j) (xrl i)))
+	 (float-vector-scale! xim 0.0)
+	 (mus-fft xrl xim len -1)
+	 (float-vector-scale! xrl (/ 1.0 len))
+	 (let ((happy #t))
+	   (do ((i 0 (+ i 1)))
+	       ((or (not happy) (= i len2)))
+	     (if (fneq (rl i) (xrl i))
+		 (begin
+		   (snd-display ";random ~A at ~A: ~A ~A" len i (rl i) (xrl i))
+		   (set! happy #f)))))))
+     '(16 64 256 512))
+    
+    ;; -------- cepstrum
+    
+    ;; these values from Octave real(ifft(log(abs(fft(x)))))
+    (let ((rl (make-float-vector 16))
+	  (lst '( 0.423618  0.259318 -0.048365  1.140571  -0.811856  -0.994098  -0.998613 -2.453642
+			    -0.438549  -1.520463  -0.312065  -0.724707    1.154010    1.466936   0.110463  -1.520854)))
+      (do ((i 0 (+ i 1))) ((= i 16)) (set! (rl i) (lst i)))
+      (let ((nrl (float-vector-scale! (snd-transform cepstrum rl 0) 1.399)))
+	(if (not (mus-arrays-equal? nrl (float-vector  1.3994950   0.1416877   0.0952407   0.0052814  -0.0613192   0.0082986  -0.0233993
+						       -0.0476585   0.0259498  -0.0476585  -0.0233993   0.0082986  -0.0613192   0.0052814
+						       0.0952407   0.1416877)))
+	    (snd-display ";cepstrum 16: ~A" nrl))))
+    
+    (let ((rl (make-float-vector 16)))
+      (do ((i 0 (+ i 1))) ((= i 16)) (set! (rl i) i))
+      (let ((nrl (float-vector-scale! (snd-transform cepstrum rl 0) 2.72)))
+	(if (not (mus-arrays-equal? nrl (float-vector 2.720 0.452 0.203 0.122 0.082 0.061 0.048 0.041 0.039 0.041 0.048 0.061 0.082 0.122 0.203 0.452)))
+	    (snd-display ";cepstrum 16 by ones: ~A" nrl))))
+    
+    (for-each
+     (lambda (len)
+       (let ((rl (make-float-vector len))
+	     (xim (make-float-vector len))
+	     (xrl (make-float-vector len)))
+	 (set! (rl 0) 1.0)
+	 (set! (rl 4) 1.0)
+	 (snd-transform cepstrum rl 0)
+	 (set! (xrl 0) 1.0)
+	 (set! (xrl 4) 1.0)
+	 (mus-fft xrl xim len 1)
+	 (do ((i 0 (+ i 1)))
+	     ((= i len))
+	   (let ((val (+ (* (xrl i) (xrl i)) (* (xim i) (xim i)))))
+	     (set! val (if (> val .0000001) (log (sqrt val)) -10.0))
+	     (set! (xrl i) val)))
+	 (float-vector-scale! xim 0.0)
+	 (mus-fft xrl xim len -1)
+	 (float-vector-scale! xrl (/ 1.0 (float-vector-peak xrl)))
+	 (if (not (mus-arrays-equal? rl xrl))
+	     (snd-display ";mus-fft?? ~A: ~A ~A" len rl xrl))))
+     '(16 64 256 512))
+    
+    
+    ;; -------- walsh
+    
+    (let ((d0 (make-float-vector 8)))
+      (set! (d0 0) 1.0)
+      (snd-transform walsh-transform d0)
+      (if (not (mus-arrays-equal? d0 (make-float-vector 8 1.0)))
+	  (snd-display ";walsh 1: ~A" d0))
+      (snd-transform walsh-transform d0)
+      (if (not (mus-arrays-equal? d0 (float-vector 8.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
+	  (snd-display ";walsh -1: ~A" d0)))
+    
+    (let ((d0 (make-float-vector 8)))
+      (set! (d0 1) 1.0)
+      (snd-transform walsh-transform d0)
+      (if (not (mus-arrays-equal? d0 (float-vector 1.000 -1.000 1.000 -1.000 1.000 -1.000 1.000 -1.000)))
+	  (snd-display ";walsh 2: ~A" d0))
+      (snd-transform walsh-transform d0)
+      (if (not (mus-arrays-equal? d0 (float-vector 0.000 8.000 0.000 0.000 0.000 0.000 0.000 0.000)))
+	  (snd-display ";walsh -2: ~A" d0)))
+    
+    (let ((d0 (make-float-vector 8)))
+      (set! (d0 1) 1.0)
+      (set! (d0 0) 0.5)
+      (snd-transform walsh-transform d0)
+      (if (not (mus-arrays-equal? d0 (float-vector 1.500 -0.500 1.500 -0.500 1.500 -0.500 1.500 -0.500)))
+	  (snd-display ";walsh 3: ~A" d0))
+      (snd-transform walsh-transform d0)
+      (if (not (mus-arrays-equal? d0 (float-vector 4.000 8.000 0.000 0.000 0.000 0.000 0.000 0.000)))
+	  (snd-display ";walsh -3: ~A" d0)))
+    
+    (let ((d0 (make-float-vector 8)))
+      (fill-float-vector d0 (random 1.0))
+      (let ((d1 (copy d0)))
 	(snd-transform walsh-transform d0)
 	(snd-transform walsh-transform d0)
 	(float-vector-scale! d0 (/ 1.0 8.0))
 	(if (not (mus-arrays-equal? d0 d1))
-	    (snd-display ";walsh 4: ~A ~A" d0 d1))
-	
-	(set! d0 (float-vector 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1))
-	(set! d1 (snd-transform walsh-transform d0))
-	(if (not (mus-arrays-equal? d1 (float-vector 4.00 4.00 4.00 -4.00 4.00 4.00 4.00 -4.00 4.00 4.00 4.00 -4.00 -4.00 -4.00 -4.00 4.00)))
-	    (snd-display ";walsh 5: ~A" d1))
-	
-	(set! d0 (float-vector 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0))
-	(set! d1 (snd-transform walsh-transform d0))
-	(if (not (mus-arrays-equal? d1 (float-vector 0.000 2.000 2.000 0.000 0.000 2.000 2.000 0.000 0.000 2.000 2.000 0.000 0.000 2.000 2.000 0.000)))
-	    (snd-display ";walsh 6: ~A" d1))
-	
-	(set! d0 (float-vector 0.174 -0.880 -0.555 -0.879 0.038 0.696 -0.612 0.006 -0.613 0.334 -0.111 -0.821 0.130 0.030 -0.229 0.170))
-	(set! d1 (snd-transform walsh-transform d0))
-	(if (not (mus-arrays-equal? d1 (float-vector -3.122 -0.434 2.940 -0.468 -3.580 2.716 -0.178 -1.386 -0.902 0.638 1.196 1.848 -0.956 2.592 -1.046 2.926)))
-	    (snd-display ";walsh 7: ~A" d1))
-	
-	
-	;; -------- haar
-	
-	(set! d0 (make-float-vector 8))
-	(set! (d0 2) 1.0)
-	(snd-transform haar-transform d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 0.354 0.354 -0.500 0.000 0.000 0.707 0.000 0.000)))
-	    (snd-display ";haar 1: ~A" d0))
-	(inverse-haar d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 0.000 0.000 1.000 0.000 0.000 0.000 0.000 0.000)))
-	    (snd-display ";inverse haar 1: ~A" d0))
-	
-	(set! d0 (make-float-vector 8))
-	(set! (d0 0) 1.0)
-	(snd-transform haar-transform d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 0.354 0.354 0.500 0.000 0.707 0.000 0.000 0.000)))
-	    (snd-display ";haar 2: ~A" d0))
-	(inverse-haar d0)
-	(if (not (mus-arrays-equal? d0 (float-vector 1.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
-	    (snd-display ";inverse haar 2: ~A" d0))
-	
-	(set! d0 (snd-transform haar-transform (float-vector -0.483 0.174 -0.880 -0.555 -0.879 0.038 0.696 -0.612)))
-	(if (not (mus-arrays-equal? d0 (float-vector -0.884 -0.349 0.563 -0.462 -0.465 -0.230 -0.648 0.925)))
-	    (snd-display ";haar 3: ~A" d0))
-	
-	;; from "A Primer on Wavelets"
-	(let ((sq2 (sqrt 2.0)))
-	  (set! d0 (snd-transform haar-transform (float-vector 4 6 10 12 8 6 5 5)))
-	  (if (not (mus-arrays-equal? d0 (float-vector (* 14 sq2) (* 2 sq2) -6 2 (- sq2) (- sq2) sq2 0)))
-	      (snd-display ";haar 4: ~A" d0))
-	  
-	  (set! d0 (snd-transform haar-transform (float-vector 2 4 6 8 10 12 14 16)))
-	  (if (not (mus-arrays-equal? d0 (float-vector (* 18 sq2) (* -8 sq2) -4 -4 (- sq2) (- sq2) (- sq2) (- sq2))))
-	      (snd-display ";haar 5: ~A" d0)))
-	
-	(set! d0 (make-float-vector 8))
-	(set! d1 (make-float-vector 8))
-	(do ((i 0 (+ i 1)))
-	    ((= i 8))
-	  (float-vector-set! d0 i (random 1.0)))
-	(copy d0 d1)
-	(snd-transform haar-transform d0)
-	(inverse-haar d0)
-	(if (not (mus-arrays-equal? d0 d1))
-	    (snd-display ";inverse haar 6: ~A ~A" d0 d1))
-	
-	
+	    (snd-display ";walsh 4: ~A ~A" d0 d1))))
+    
+    (let ((d1 (snd-transform walsh-transform (float-vector 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1))))
+      (if (not (mus-arrays-equal? d1 (float-vector 4.00 4.00 4.00 -4.00 4.00 4.00 4.00 -4.00 4.00 4.00 4.00 -4.00 -4.00 -4.00 -4.00 4.00)))
+	  (snd-display ";walsh 5: ~A" d1)))
+    
+    (let ((d1 (snd-transform walsh-transform (float-vector 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0))))
+      (if (not (mus-arrays-equal? d1 (float-vector 0.000 2.000 2.000 0.000 0.000 2.000 2.000 0.000 0.000 2.000 2.000 0.000 0.000 2.000 2.000 0.000)))
+	  (snd-display ";walsh 6: ~A" d1)))
+    
+    (let ((d1 (snd-transform walsh-transform 
+			     (float-vector 0.174 -0.880 -0.555 -0.879 0.038 0.696 -0.612 0.006 -0.613 0.334 -0.111 -0.821 0.130 0.030 -0.229 0.170))))
+      (if (not (mus-arrays-equal? d1 (float-vector -3.122 -0.434 2.940 -0.468 -3.580 2.716 -0.178 -1.386 -0.902 0.638 1.196 1.848 -0.956 2.592 -1.046 2.926)))
+	  (snd-display ";walsh 7: ~A" d1)))
+    
+    
+    ;; -------- haar
+    
+    (let ((d0 (make-float-vector 8)))
+      (set! (d0 2) 1.0)
+      (snd-transform haar-transform d0)
+      (if (not (mus-arrays-equal? d0 (float-vector 0.354 0.354 -0.500 0.000 0.000 0.707 0.000 0.000)))
+	  (snd-display ";haar 1: ~A" d0))
+      (inverse-haar d0)
+      (if (not (mus-arrays-equal? d0 (float-vector 0.000 0.000 1.000 0.000 0.000 0.000 0.000 0.000)))
+	  (snd-display ";inverse haar 1: ~A" d0)))
+    
+    (let ((d0 (make-float-vector 8)))
+      (set! (d0 0) 1.0)
+      (snd-transform haar-transform d0)
+      (if (not (mus-arrays-equal? d0 (float-vector 0.354 0.354 0.500 0.000 0.707 0.000 0.000 0.000)))
+	  (snd-display ";haar 2: ~A" d0))
+      (inverse-haar d0)
+      (if (not (mus-arrays-equal? d0 (float-vector 1.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
+	  (snd-display ";inverse haar 2: ~A" d0)))
+    
+    (let ((d0 (snd-transform haar-transform (float-vector -0.483 0.174 -0.880 -0.555 -0.879 0.038 0.696 -0.612))))
+      (if (not (mus-arrays-equal? d0 (float-vector -0.884 -0.349 0.563 -0.462 -0.465 -0.230 -0.648 0.925)))
+	  (snd-display ";haar 3: ~A" d0)))
+    
+    ;; from "A Primer on Wavelets"
+    (let ((sq2 (sqrt 2.0))
+	  (d0 (snd-transform haar-transform (float-vector 4 6 10 12 8 6 5 5))))
+      (if (not (mus-arrays-equal? d0 (float-vector (* 14 sq2) (* 2 sq2) -6 2 (- sq2) (- sq2) sq2 0)))
+	  (snd-display ";haar 4: ~A" d0))
+      
+      (set! d0 (snd-transform haar-transform (float-vector 2 4 6 8 10 12 14 16)))
+      (if (not (mus-arrays-equal? d0 (float-vector (* 18 sq2) (* -8 sq2) -4 -4 (- sq2) (- sq2) (- sq2) (- sq2))))
+	  (snd-display ";haar 5: ~A" d0)))
+    
+    (let ((d0 (make-float-vector 8))
+	  (d1 (make-float-vector 8)))
+      (do ((i 0 (+ i 1)))
+	  ((= i 8))
+	(float-vector-set! d0 i (random 1.0)))
+      (copy d0 d1)
+      (snd-transform haar-transform d0)
+      (inverse-haar d0)
+      (if (not (mus-arrays-equal? d0 d1))
+	  (snd-display ";inverse haar 6: ~A ~A" d0 d1)))
+    
+    
+    (let* ((SQRT2 1.41421356237309504880168872420969808)
+	   (SQRT2*3 (* SQRT2 3)))
+      (let ((daub4 (float-vector 0.4829629131445341 0.8365163037378079 0.2241438680420134 -0.1294095225512604))
+	    (daub6 (float-vector 0.332670552950 0.806891509311 0.459877502118 -0.135011020010 -0.085441273882 0.035226291886))
+	    (daub8 (float-vector 0.230377813309 0.714846570553 0.630880767930 -0.027983769417 -0.187034811719 0.030841381836
+				 0.032883011667 -0.010597401785))
+	    (daub10 (float-vector 0.160102397974 0.603829269797 0.724308528438 0.138428145901 -0.242294887066 -0.032244869585
+				  0.077571493840 -0.006241490213 -0.012580751999 0.003335725285))
+	    (daub12 (float-vector 0.111540743350 0.494623890398 0.751133908021 0.315250351709 -0.226264693965 -0.129766867567
+				  0.097501605587 0.027522865530 -0.031582039317 0.000553842201 0.004777257511 -0.001077301085))
+	    (daub14 (float-vector 0.077852054085 0.396539319482 0.729132090846 0.469782287405 -0.143906003929 -0.224036184994
+				  0.071309219267 0.080612609151 -0.038029936935 -0.016574541631 0.012550998556 0.000429577973
+				  -0.001801640704 0.000353713800))
+	    (daub16 (float-vector 0.054415842243 0.312871590914 0.675630736297 0.585354683654 -0.015829105256 -0.284015542962
+				  0.000472484574 0.128747426620 -0.017369301002 -0.044088253931 0.013981027917 0.008746094047
+				  -0.004870352993 -0.000391740373 0.000675449406 -0.000117476784))
+	    (daub18 (float-vector 0.038077947364 0.243834674613 0.604823123690 0.657288078051 0.133197385825 -0.293273783279
+				  -0.096840783223 0.148540749338 0.030725681479 -0.067632829061 0.000250947115 0.022361662124
+				  -0.004723204758 -0.004281503682 0.001847646883 0.000230385764 -0.000251963189 0.000039347320))
+	    (daub20 (float-vector 0.026670057901 0.188176800077 0.527201188931 0.688459039453 0.281172343661 -0.249846424327
+				  -0.195946274377 0.127369340336 0.093057364604 -0.071394147166 -0.029457536822 0.033212674059
+				  0.003606553567 -0.010733175483 0.001395351747 0.001992405295 -0.000685856695 -0.000116466855
+				  0.000093588670 -0.000013264203))
+	    (Battle-Lemarie (float-vector (* SQRT2 -0.002) (* SQRT2 -0.003) (* SQRT2  0.006) (* SQRT2  0.006) (* SQRT2 -0.013)
+					  (* SQRT2 -0.012) (* SQRT2  0.030) (* SQRT2  0.023) (* SQRT2 -0.078) (* SQRT2 -0.035)
+					  (* SQRT2  0.307) (* SQRT2  0.542) (* SQRT2  0.307) (* SQRT2 -0.035) (* SQRT2 -0.078)
+					  (* SQRT2  0.023) (* SQRT2  0.030) (* SQRT2 -0.012) (* SQRT2 -0.013) (* SQRT2  0.006)
+					  (* SQRT2  0.006) (* SQRT2 -0.003) (* SQRT2 -0.002) 0.0))
+	    (Burt-Adelson (float-vector (* SQRT2 (/ -1.0 20.0)) (* SQRT2 (/ 5.0 20.0)) (* SQRT2 (/ 12.0 20.0))
+					(* SQRT2 (/ 5.0 20.0)) (* SQRT2 (/ -1.0 20.0)) 0.0))
+	    (Beylkin (float-vector 0.099305765374353 0.424215360812961 0.699825214056600 0.449718251149468
+				   -.110927598348234 -.264497231446384 0.026900308803690 0.155538731877093
+				   -.017520746266529 -.088543630622924 0.019679866044322 0.042916387274192
+				   -.017460408696028 -.014365807968852 0.010040411844631 .0014842347824723
+				   -.002736031626258 .0006404853285212))
+	    (coif2 (let ((SQRT15 3.87298334620741688517927))
+		     (float-vector (/ (* SQRT2 (- SQRT15 3)) 32.0) (/ (* SQRT2 (- 1 SQRT15)) 32.0) (/ (* SQRT2 (- 6 (* 2 SQRT15))) 32.0)
+				   (/ (* SQRT2 (+ (* 2 SQRT15) 6)) 32.0) (/ (* SQRT2 (+ SQRT15 13)) 32.0) (/ (* SQRT2 (- 9 SQRT15)) 32.0))))
+	    (coif4 (float-vector 0.0011945726958388 	-0.01284557955324 0.024804330519353 0.050023519962135 -0.15535722285996
+				 -0.071638282295294 0.57046500145033 0.75033630585287 0.28061165190244 -0.0074103835186718
+				 -0.014611552521451 -0.0013587990591632))
+	    (coif6 (float-vector -0.0016918510194918 -0.00348787621998426 0.019191160680044 0.021671094636352 -0.098507213321468
+				 -0.056997424478478 0.45678712217269 0.78931940900416 0.38055713085151 -0.070438748794943 
+				 -0.056514193868065 0.036409962612716 0.0087601307091635 -0.011194759273835 -0.0019213354141368
+				 0.0020413809772660 0.00044583039753204 -0.00021625727664696))
+	    (sym2 (float-vector (* SQRT2 -0.125) (* SQRT2  0.25) (* SQRT2  0.75) (* SQRT2  0.25) (* SQRT2 -0.125)))
+	    (sym3 (float-vector (/ (* SQRT2 1.0) 8.0) (/ SQRT2*3 8.0) (/ SQRT2*3 8.0) (/ (* SQRT2 1.0) 8.0)))
+	    (sym4 (float-vector (/ SQRT2*3 128.0) (/ (* SQRT2  -6.0) 128.0) (/ (* SQRT2 -16.0) 128.0)
+				(/ (* SQRT2  38.0) 128.0) (/ (* SQRT2  90.0) 128.0) (/ (* SQRT2  38.0) 128.0)
+				(/ (* SQRT2 -16.0) 128.0) (/ (* SQRT2  -6.0) 128.0) (/ SQRT2*3 128.0) 0.0))
+	    (sym5 (float-vector (/ SQRT2*3 64.0) (/ (* SQRT2 -9.0) 64.0) (/ (* SQRT2 -7.0) 64.0) (/ (* SQRT2 45.0) 64.0)
+				(/ (* SQRT2 45.0) 64.0) (/ (* SQRT2 -7.0) 64.0) (/ (* SQRT2 -9.0) 64.0) (/ SQRT2*3 64.0)))
+	    (sym6 (float-vector (/ (* SQRT2   -35.0) 16384.0) (/ (* SQRT2  -105.0) 16384.0) (/ (* SQRT2  -195.0) 16384.0)
+				(/ (* SQRT2   865.0) 16384.0) (/ (* SQRT2   363.0) 16384.0) (/ (* SQRT2 -3489.0) 16384.0)
+				(/ (* SQRT2  -307.0) 16384.0) (/ (* SQRT2 11025.0) 16384.0) (/ (* SQRT2 11025.0) 16384.0)
+				(/ (* SQRT2  -307.0) 16384.0) (/ (* SQRT2 -3489.0) 16384.0) (/ (* SQRT2   363.0) 16384.0)
+				(/ (* SQRT2   865.0) 16384.0) (/ (* SQRT2  -195.0) 16384.0) (/ (* SQRT2  -105.0) 16384.0)
+				(/ (* SQRT2   -35.0) 16384.0))))
 	;; --------- wavelet
 	
 	;; test against fxt output
-	(set! d0 (snd-transform wavelet-transform (float-vector 1 1 0 0 0 0 0 0) 0)) ;"daub4"
-	(if (not (mus-arrays-equal? d0 (float-vector 0.625 0.375 -0.217 1.083 -0.354 0.000 0.000 0.354)))
-	    (snd-display ";fxt wavelet 1: ~A" d0))
-	
-	(for-each 
-	 (lambda (size)
-	   (do ((i 0 (+ i 1)))
-	       ((= i 20))
-	     (let ((d1 (make-float-vector size))
-		   (d2 (make-float-vector size)))
-	       (set! (d1 2) 1.0)
-	       (set! (d2 2) 1.0)
-	       (wavelet d1 size 0 pwt (wts i))
-	       (snd-transform wavelet-transform d2 i)
-	       (if (not (mus-arrays-equal? d1 d2))
-		   (snd-display ";wavelet ~D: ~A ~A" i d1 d2))
-	       (wavelet d2 size -1 pwt (wts i))
-	       (fill! d1 0.0)
-	       (set! (d1 2) 1.0)
-	       (if (not (mus-arrays-equal? d1 d2))
-		   (if (memv i '(9 10))
-		       (begin
-			 (set! (d2 2) 0.0)
-			 (if (> (float-vector-peak d2) .1)
-			     (snd-display ";inverse wavelet ~D: ~A ~A" i d1 d2)))
-		       (if (> i 14)
-			   (let ((pk (d2 2)))
-			     (set! (d2 2) 0.0)
-			     (if (> (float-vector-peak d2) pk)
-				 (snd-display ";inverse wavelet ~D: ~A ~A" i d1 d2)))
-			   (snd-display ";inverse wavelet ~D: ~A ~A" i d1 d2))))))
-	   (do ((i 0 (+ i 1)))
-	       ((= i 9))
-	     (let ((d1 #f)
-		   (d2 (make-float-vector size)))
-	       (fill-float-vector d2 (random 1.0))
-	       (set! d1 (copy d2))
-	       (snd-transform wavelet-transform d2 i)
-	       (wavelet d2 size -1 pwt (wts i))
-	       (if (not (mus-arrays-equal? d1 d2))
-		   (snd-display ";random wavelet ~D: ~A ~A" i d1 d2)))))
-	 '(16 64))
-	
-	(set! *max-transform-peaks* 100)
-	(let ((ind (open-sound "oboe.snd")))
-	  (let ((ftype (add-transform "low-pass" "filtered" 0.0 1.0
-				      (lambda (len fd)
-					(let ((flt (make-fir-filter :order 8 
-								    :xcoeffs (let ((v1 (make-float-vector 8)))
-									       (fill! v1 .0125)
-									       v1)))
-					      (v (make-float-vector len)))
-					  (fill-float-vector v (fir-filter flt (read-sample fd))))))))
-	    (if (not (transform? ftype)) (snd-display ";transform added: ~A?" ftype))
-	    (set! *transform-normalization* dont-normalize)
-	    (set! (transform-type ind 0) ftype))
-	  (set! (transform-size ind 0) 16)
-	  (set! (transform-graph-type ind 0) graph-once)
-	  (set! (transform-graph? ind 0) #t)
-	  (set! (cursor ind 0) 12000)
-	  (if (file-exists? "s61.scm") (delete-file "s61.scm"))
-	  (save-state "s61.scm")
-	  (delete-file "s61.scm") ; added transform needs to be saved somehow?
-	  (close-sound ind))
-	
-	(let ((ind (open-sound "oboe.snd"))
-	      (ftype (add-transform "abs-it" "absit" 0.0 1.0
-				    (lambda (len fd)
-				      (let ((v (make-float-vector len)))
-					(fill-float-vector v (read-sample fd)))))))
-	  (set! *transform-normalization* dont-normalize)
-	  (set! (transform-type ind 0) ftype)
-	  (set! (transform-size ind 0) 256)
-	  (set! (transform-graph-type ind 0) graph-once)
-	  (set! (transform-graph? ind 0) #t)
-	  (set! (cursor ind 0) 12000)
-	  (let ((samps (transform->float-vector ind 0))
-		(orig (channel->float-vector (left-sample ind 0) 256))
-		(happy #t))
-	    (do ((i 0 (+ i 1)))
-		((or (not happy) (= i 256)))
-	      (if (fneq (samps i) (orig i))
-		  (begin
-		    (snd-display ";add-transform same (~A): ~D ~A ~A" ftype i (samps i) (orig i))
-		    (set! happy #f)))))
-	  (set! (dot-size ind 0) 60)
-	  (set! (graph-style ind 0) graph-lollipops)
-	  (set! (x-bounds) (list 2.579 2.580))
-	  (update-time-graph)
-	  (delete-transform ftype)
-	  (if (transform? ftype) (snd-display ";transform deleted: ~A" ftype))
-	  (if (transform? -1) (snd-display ";transform? -1"))
-	  (if (transform? (integer->transform 123)) (snd-display ";transform? 123"))
-	  (if (not (equal? (transform-type ind 0) fourier-transform)) 
-	      (snd-display ";after delete-transform ~A -> ~A" ftype (transform-type ind 0)))
-	  (close-sound ind))
-	
-	(when (defined? 'bignum-fft)
-
-	  (define* (vectors-equal? v1 v2 (error 1e-30))
-	    (let ((len (length v1)))
-	      (and (= (length v2) len)
-		   (let ((happy #t))
-		     (do ((i 0 (+ i 1)))
-			 ((or (= i len) (not happy)) happy)
-		       (set! happy (< (magnitude (- (vector-ref v1 i) (vector-ref v2 i))) error)))))))
-	  
-	  (define* (bignum-vector :rest args)
-	    (let* ((len (length args))
-		   (v (make-vector len)))
-	      (do ((i 0 (+ i 1))
-		   (arg args (cdr arg)))
-		  ((= i len) v)
-		(vector-set! v i (if (bignum? (car arg)) (car arg) (bignum (number->string (car arg))))))))
-	  
-	  ;; -------- -1 -1 at 1
-	  (let ((rl (make-vector 8))
-		(im (make-vector 8)))
-	    (do ((i 0 (+ i 1))) 
-		((= i 8)) 
-	      (set! (rl i) (bignum "0.0")) 
-	      (set! (im i) (bignum "0.0")))
-	    (set! (rl 1) (bignum "-1.0"))
-	    (set! (im 1) (bignum "-1.0"))
-	    (bignum-fft rl im 8) ; third arg is size
-	    (let ((crl (bignum-vector -1.000 0.000 1.000 (sqrt (bignum "2")) 1.000 0.000 -1.000 (- (sqrt (bignum "2")))))
-		  (cim (bignum-vector -1.000 (- (sqrt (bignum "2"))) -1.000 0.000 1.000 (sqrt (bignum "2")) 1.000 0.000)))
-	      (if (not (and (vectors-equal? rl crl)
-			    (vectors-equal? im cim)))
-		  (snd-display ";big-fft -1 -1 at 1:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim)))
-	    (bignum-fft rl im 8 -1)
-	    (let ((crl (bignum-vector 0.0 -8.0 0.0 0.0 0.0 0.0 0.0 0.0))
-		  (cim (bignum-vector 0.0 -8.0 0.0 0.0 0.0 0.0 0.0 0.0)))
-	      (if (not (and (vectors-equal? rl crl)
-			    (vectors-equal? im cim)))
-		  (snd-display ";big-fft -1 -1 at 1 inverse:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))
-	      (set! (rl 1) (bignum "-1.0"))
-	      (set! (im 1) (bignum "-1.0"))
-	      (do ((i 0 (+ i 1)))
-		  ((= i 4))
-		(bignum-fft rl im 8))
-	      (set! (crl 1) (bignum "-64.0"))
-	      (set! (cim 1) (bignum "-64.0"))
-	      (if (not (and (vectors-equal? rl crl)
-			    (vectors-equal? im cim)))
-		  (snd-display ";big-fft -1 -1 at 1 rotate:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
-	  
-	  ;; -------- -1 1 at 3
-	  (let ((rl (make-vector 8))
-		(im (make-vector 8)))
-	    (do ((i 0 (+ i 1))) 
-		((= i 8)) 
-	      (set! (rl i) (bignum "0.0")) 
-	      (set! (im i) (bignum "0.0")))
-	    (set! (rl 3) (bignum "-1.0"))
-	    (set! (im 3) (bignum "1.0"))
-	    (bignum-fft rl im 8)
-	    (let ((crl (bignum-vector -1.000 0.000 1.000 (- (sqrt (bignum "2"))) 1.000 0.000 -1.000 (sqrt (bignum "2"))))
-		  (cim (bignum-vector 1.000 (- (sqrt (bignum "2"))) 1.000 0.000 -1.000 (sqrt (bignum "2")) -1.000 0.000)))
-	      (if (not (and (vectors-equal? rl crl)
-			    (vectors-equal? im cim)))
-		  (snd-display ";big-fft -1 1 at 3:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
-	  
-	  ;; -------- 1 0 at 0 with bignum arg to make-vector (so it should copy)
-	  (let ((rl (make-vector 8 (bignum "0.0")))
-		(im (make-vector 8 (bignum "0.0"))))
-	    (set! (rl 0) (bignum "1.0"))
-	    (bignum-fft rl im 8)
-	    (let ((crl (bignum-vector 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0))
-		  (cim (bignum-vector 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
-	      (if (not (and (vectors-equal? rl crl)
-			    (vectors-equal? im cim)))
-		  (snd-display ";big-fft 1 0 at 0 (and copied fill):~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
-	  
-	  ;; -------- cos/sin
-	  (let ((rl (make-vector 64))
-		(im (make-vector 64)))
-	    (do ((i 0 (+ i 1))) 
-		((= i 64)) 
-	      (set! (rl i) (bignum "0.0")) 
-	      (set! (im i) (bignum "0.0")))
-	    (set! (rl 1) (bignum "1.0"))
-	    
-	    (bignum-fft rl im 64 -1)
-	    (let ((happy #t))
-	      (do ((i 0 (+ i 1)))
-		  ((or (= i 64) (not happy)))
-		(let ((cerr (magnitude (- (vector-ref rl i) (cos (/ (* 2 pi i) 64)))))
-		      (serr (magnitude (- (vector-ref im i) (sin (/ (* -2 pi i) 64))))))
-		  (set! happy (and (< cerr 1e-30)
-				   (< serr 1e-30)))
-		  (if (not happy)
-		      (snd-display ";big fft 1 at 0 (sin/cos) differs by ~A in ~A at ~A (~A ~A)~%"
-				   (max cerr serr)
-				   (if (> cerr serr) "cos" "sin")
-				   i
-				   (if (> cerr serr)
-				       (cos (/ (* 2 pi i) 64))
-				       (sin (/ (* -2 pi i) 64)))
-				   (vector-ref (if (> cerr serr) rl im) i))))))
-	    
-	    (bignum-fft rl im 64)
-	    (let ((crl (make-vector 64 (bignum "0.0")))
-		  (cim (make-vector 64 (bignum "0.0"))))
-	      (set! (crl 1) (bignum "64"))
-	      (if (not (and (vectors-equal? rl crl)
-			    (vectors-equal? im cim)))
-		  (snd-display ";big-fft 1 at 0 fill cos/sin inverse:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
-	  
-	  ;; -------- random 
-	  (let ((rl (make-vector 64))
-		(im (make-vector 64))
-		(crl (make-vector 64))
-		(cim (make-vector 64)))
-	    (let ((rs (random-state (bignum "12345678"))))
-	      (do ((i 0 (+ i 1))) 
-		  ((= i 64)) 
-		(set! (rl i) (random (bignum "1.0") rs))
-		(set! (crl i) (+ (vector-ref rl i) 0.0)) ; try to force a copy
-		(set! (im i) (random (bignum "1.0") rs))
-		(set! (cim i) (+ (vector-ref im i) 0.0))))
-	    
-	    (bignum-fft rl im 64 1)
-	    (if (or (vectors-equal? rl crl)
-		    (vectors-equal? im cim))
-		(snd-display ";big-fft random not copied?:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))
-	    
-	    (bignum-fft rl im 64 -1)
-	    (do ((i 0 (+ i 1)))
-		((= i 64))
-	      (set! (rl i) (/ (vector-ref rl i) 64.0))
-	      (set! (im i) (/ (vector-ref im i) 64.0)))
-	    (if (not (and (vectors-equal? rl crl)
-			  (vectors-equal? im cim)))
-		(snd-display ";big-fft random:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
-	
-	
-	(let ((ind1 (open-sound "oboe.snd")))
-	  (set! (time-graph-style ind1 0) graph-lollipops)
-	  (graph->ps "aaa.eps")
-	  (set! (transform-graph? ind1 0) #t)
-	  (set! (transform-graph-type ind1 0) graph-as-sonogram)
-	  (set! *transform-size* 256)
-	  (update-transform-graph)
-	  (when with-gui
-	    (let ((size (transform-framples ind1 0)))
-	      (if (or (number? size)
-		      (not (= (length size) 3)))
-		  (snd-display ";transform-framples of sonogram: ~A" size))))
-	  (graph->ps "aaa.eps")
-	  (if (and (defined? 'integer->colormap)
-		   (integer? *colormap*))
-		(set! *colormap* (integer->colormap *colormap*)))
-	  (let-temporarily ((*colormap* black-and-white-colormap))
-	    (update-transform-graph)
-	    (set! (transform-graph-type ind1 0) graph-as-spectrogram)
-	    (update-transform-graph)
-	    (graph->ps "aaa.eps"))
-	  (close-sound ind1))
-	
-	(let ((ind (new-sound "test.snd" :header-type mus-next :sample-type mus-ldouble)))
-	  (pad-channel 0 1000)
-	  (set! (transform-graph-type ind 0) graph-once)
-	  (set! (show-transform-peaks ind 0) #t)
-	  (set! (fft-log-magnitude ind 0) #t)
-	  (set! (fft-log-frequency ind 0) #f)
-	  (set! (transform-graph? ind 0) #t)
-	  (set! (x-bounds) (list 0.0 .04))
-	  (update-time-graph)
-	  (update-transform-graph)
-	  (close-sound ind))
-	
-	(let ((ind (open-sound "oboe.snd")))
-	  (set! (show-listener) #f)
-	  (set! (window-height) 800)
-	  (set! (lisp-graph? ind 0) #t)
-	  (graph (channel->float-vector 1000 8192 ind 0) "biggy" 0.0 1.0 0.0 1.0 ind 0)
-	  (set! (transform-graph-type ind 0) graph-once)
-	  (set! (show-transform-peaks ind 0) #t)
-	  (set! (fft-log-magnitude ind 0) #t)
-	  (set! (fft-log-frequency ind 0) #f)
-	  (set! (transform-graph? ind 0) #t)
-	  (graph->ps "aaa.eps")
-	  (set! (x-bounds) (list 0.0 1.0))
-	  (set! (max-transform-peaks ind 0) 3)
-	  (update-time-graph)
-	  (update-transform-graph)
-	  (update-lisp-graph)
-	  (scale-by 0.0)
-	  (update-time-graph)
-	  (update-transform-graph)
-	  (undo)
-	  (set! (transform-graph-type ind 0) graph-as-sonogram)
-	  (set! (fft-log-magnitude ind 0) #f)
-	  (update-transform-graph)
-	  (graph->ps "aaa.eps")
-	  (set! *with-gl* #f)
-	  (set! (spectrum-end ind 0) .2)
-	  (set! (transform-graph-type ind 0) graph-as-spectrogram)
-	  (update-transform-graph)
-	  (update-lisp-graph)
-	  (graph->ps "aaa.eps")
-	  (set! (show-listener) #t)
-	  (close-sound ind))
-	
-	(let ((v (dolph 16 2.5)))
-	  (if (not (mus-arrays-equal? v (float-vector 0.097 0.113 0.221 0.366 0.536 0.709 0.860 0.963 1.000 0.963 0.860 0.709 0.536 0.366 0.221 0.113)))
-	      (snd-display ";dolph 16 2.5 (dsp.scm): ~A" v)))
-	
-	(let ((v (make-float-vector 8)))
-	  (let ((v0 (make-float-vector 8)))
-	    (do ((i 0 (+ i 1)))
-		((= i 8))
-	      (set! (v i) (mus-random 1.0))
-	      (set! (v0 i) (float-vector-ref v i)))
-	    (set! v (float-vector-scale! (dht (dht v)) (/ 1.0 8.0)))
-	    (if (not (vmus-arrays-equal? v v0))
-		(snd-display ";dht twice: ~A ~A" v v0)))
-	  (fill! v 0.0)
-	  (set! (v 1) 1.0)
-	  (set! v (dht v))
-	  (if (not (mus-arrays-equal? v (float-vector 1.000 1.414 1.000 0.000 -1.000 -1.414 -1.000 0.000)))
-	      (snd-display ";dht of pulse: ~A" v)))
-	
-	(let ((ind (open-sound "oboe.snd")))
-	  (let ((val1 (car (find-sine 553.0 2000 3000 ind)))
-		(val2 (car (find-sine 620.0 2000 3000 ind))))
-	    (if (or (fneq val1 .03835)
-		    (fneq val2 .0012))
-		(snd-display ";find-sine: ~A ~A" val1 val2)))
-	  (let ((frq (spot-freq 2000 ind 0)))
-	    (if (not (= (round frq) 553))
-		(snd-display ";spot-freq: ~A" frq)))
-	  (down-oct 2)
-	  (let ((frq (spot-freq 2000 ind 0)))
-	    (if (not (member (round frq) '(276 277) =))
-		(snd-display ";spot-freq down oct: ~A" frq)))
-	  (undo)
-	  (zero-phase)
-	  (if (fneq (sample 0) .1472) (snd-display ";zero-phase: ~A" (sample 0)))
-	  (undo)
-	  (rotate-phase (lambda (x) x))
-	  (undo)
-	  (brighten-slightly .5)
-	  (undo)
-	  (spike)
-	  (close-sound ind))
-
-	  (let* ((ind (open-sound "1a.snd"))
-		 (valf (car (find-sine 440.0 0 (framples) ind)))
-		 (valg (* 2 (/ (goertzel 440.0 0 (framples) ind) (framples))))
-		 (valf1 (car (find-sine 100.0 0 (framples) ind)))
-		 (valg1 (* 2 (/ (goertzel 100.0 0 (framples) ind) (framples))))
-		 (valf2 (car (find-sine 440.0 0 (framples) ind)))
-		 (valg2 (* 2 (/ (goertzel 440.0 0 (framples) ind) (framples))))
-		 (valf3 (car (find-sine 437.0 0 (framples) ind)))
-		 (valg3 (* 2 (/ (goertzel 437.0 0 (framples) ind) (framples)))))
-	    (if (fneq valf valg) (snd-display ";goertzel 0: ~A ~A" valf valg))
-	    (if (fneq valf1 valg1) (snd-display ";goertzel 1: ~A ~A" valf1 valg1))
-	    (if (fneq valf2 valg2) (snd-display ";goertzel 2: ~A ~A" valf2 valg2))
-	    (if (fneq valf3 valg3) (snd-display ";goertzel 3: ~A ~A" valf3 valg3))
-	    (close-sound ind))
-	
-	(let ((v (float-vector-polynomial (float-vector 0.0 2.0) (float-vector 1.0 2.0))))
-	  (if (not (mus-arrays-equal? v (float-vector 1.0 5.0)))
-	      (snd-display ";float-vector-polynomial 0: ~A" v)))
-	(let ((v (float-vector-polynomial (float-vector 0 1 2) (float-vector 0 2 1))))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 3.000 8.000)))
-	      (snd-display ";float-vector-polynomial 1: ~A" v)))
-	(let ((v (float-vector-polynomial (float-vector 0 1 2) (float-vector 0 2 1 .5))))
-	  (if (not (mus-arrays-equal? v (float-vector 0.000 3.500 12.000)))
-	      (snd-display ";float-vector-polynomial 2: ~A" v)))
-	(let ((v (float-vector-polynomial (float-vector 0 1 2) (float-vector 1))))
-	  (if (not (mus-arrays-equal? v (float-vector 1 1 1)))
-	      (snd-display ";float-vector-polynomial 3: ~A" v)))
-	(let ((ind (open-sound "pistol.snd")))
-	  (let ((mx (maxamp ind 0)))
-	    (channel-polynomial (float-vector 0.0 2.0) ind 0)
-	    (if (fneq (maxamp) (* mx 2))
-		(snd-display ";channel-polynomial 2: ~A" (maxamp))))
-	  (undo)
-	  (channel-polynomial (float-vector 0.0 0.5 0.25 0.25) ind 0)
-	  (if (fneq (maxamp) .222)
-	      (snd-display ";channel-polynomial 3: ~A" (maxamp)))
-	  (undo)
-	  (channel-polynomial (float-vector 0.0 0.0 1.0) ind 0)
-	  (let ((pos (scan-channel (lambda (y) (< y 0.0)))))
-	    (if pos
-		(snd-display ";channel-polynomial squares: ~A" pos)))
-	  (undo)
-	  (channel-polynomial (float-vector 0.5 1.0) ind 0)
-	  (let ((pos (scan-channel (lambda (y) (< y 0.0)))))
-	    (if pos
-		(snd-display ";channel-polynomial offset: ~A" pos)))
-	  (if (fneq (maxamp) .8575)
-	      (snd-display ";channel-polynomial off mx: ~A" (maxamp)))
-	  (undo)
-	  (spectral-polynomial (float-vector 0.0 1.0) ind 0)
-	  (if (fneq (maxamp) .493)
-	      (snd-display ";spectral-polynomial 0 mx: ~A" (maxamp)))
-	  (if (not (= (framples ind 0) 41623))
-	      (snd-display ";spectral-polynomial 0 len: ~A" (framples)))
-	  (undo)
-	  (spectral-polynomial (float-vector 0.0 0.5 0.5) ind 0)
-	  (if (fneq (maxamp) .493)
-	      (snd-display ";spectral-polynomial 1: ~A" (maxamp)))
-	  (if (not (= (framples ind 0) 83246)) ;(* 2 41623)
-	      (snd-display ";spectral-polynomial 1 len: ~A" (framples)))
-	  (undo)
-	  (spectral-polynomial (float-vector 0.0 0.0 0.0 1.0) ind 0)
-	  (if (fneq (maxamp) .493)
-	      (snd-display ";spectral-polynomial 2: ~A" (maxamp)))
-	  (if (not (= (framples ind 0) 124869)) ;(* 3 41623)
-	      (snd-display ";spectral-polynomial 1 len: ~A" (framples)))
-	  (close-sound ind))
-	
-	(let ((vals (scentroid "oboe.snd")))
-	  (if (or (fneq (vals 0) 1876.085) (fneq (vals 1) 1447.004))
-	      (snd-display ";scentroid: ~A" vals)))
-	
-	(let ((flt (make-fir-filter 3 (float-vector 0.5 0.25 0.125)))
-	      (data (make-float-vector 10))
-	      (undata (make-float-vector 10)))
-	  (set! (data 0) 1.0)
-	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (undata i) (fir-filter flt (data i))))
-	  (let ((fdata (invert-filter (float-vector 0.5 0.25 0.125))))
-	    (set! flt (make-fir-filter (length fdata) fdata))
-	    (do ((i 0 (+ i 1)))
-		((= i 10))
-	      (set! (undata i) (fir-filter flt (undata i))))
-	    (if (not (mus-arrays-equal? undata data))
-		(snd-display ";invert-filter: ~A" undata))))
-	
-	(let ((coeffs (make-float-vector 6)))
+	(let ((d0 (snd-transform wavelet-transform (float-vector 1 1 0 0 0 0 0 0) 0))) ;"daub4"
+	  (if (not (mus-arrays-equal? d0 (float-vector 0.625 0.375 -0.217 1.083 -0.354 0.000 0.000 0.354)))
+	      (snd-display ";fxt wavelet 1: ~A" d0)))
+	
+	(let ((wts (list 
+		    daub4 daub6 daub8 daub10 daub12 daub14 daub16 daub18 daub20
+		    Battle-Lemarie Burt-Adelson Beylkin coif2 coif4 coif6
+		    sym2 sym3 sym4 sym5 sym6)))
+	  (for-each 
+	   (lambda (size)
+	     (do ((i 0 (+ i 1)))
+		 ((= i 20))
+	       (let ((d1 (make-float-vector size))
+		     (d2 (make-float-vector size)))
+		 (set! (d1 2) 1.0)
+		 (set! (d2 2) 1.0)
+		 (wavelet d1 size 0 pwt (wts i))
+		 (snd-transform wavelet-transform d2 i)
+		 (if (not (mus-arrays-equal? d1 d2))
+		     (snd-display ";wavelet ~D: ~A ~A" i d1 d2))
+		 (wavelet d2 size -1 pwt (wts i))
+		 (fill! d1 0.0)
+		 (set! (d1 2) 1.0)
+		 (if (not (mus-arrays-equal? d1 d2))
+		     (if (memv i '(9 10))
+			 (begin
+			   (set! (d2 2) 0.0)
+			   (if (> (float-vector-peak d2) .1)
+			       (snd-display ";inverse wavelet ~D: ~A ~A" i d1 d2)))
+			 (if (> i 14)
+			     (let ((pk (d2 2)))
+			       (set! (d2 2) 0.0)
+			       (if (> (float-vector-peak d2) pk)
+				   (snd-display ";inverse wavelet ~D: ~A ~A" i d1 d2)))
+			     (snd-display ";inverse wavelet ~D: ~A ~A" i d1 d2))))))
+	     (do ((i 0 (+ i 1)))
+		 ((= i 9))
+	       (let ((d1 #f)
+		     (d2 (make-float-vector size)))
+		 (fill-float-vector d2 (random 1.0))
+		 (set! d1 (copy d2))
+		 (snd-transform wavelet-transform d2 i)
+		 (wavelet d2 size -1 pwt (wts i))
+		 (if (not (mus-arrays-equal? d1 d2))
+		     (snd-display ";random wavelet ~D: ~A ~A" i d1 d2)))))
+	   '(16 64)))))
+    
+    (set! *max-transform-peaks* 100)
+    (let ((ind (open-sound "oboe.snd")))
+      (let ((ftype (add-transform "low-pass" "filtered" 0.0 1.0
+				  (lambda (len fd)
+				    (let ((flt (make-fir-filter :order 8 
+								:xcoeffs (let ((v1 (make-float-vector 8)))
+									   (fill! v1 .0125)
+									   v1)))
+					  (v (make-float-vector len)))
+				      (fill-float-vector v (fir-filter flt (read-sample fd))))))))
+	(if (not (transform? ftype)) (snd-display ";transform added: ~A?" ftype))
+	(set! *transform-normalization* dont-normalize)
+	(set! (transform-type ind 0) ftype))
+      (set! (transform-size ind 0) 16)
+      (set! (transform-graph-type ind 0) graph-once)
+      (set! (transform-graph? ind 0) #t)
+      (set! (cursor ind 0) 12000)
+      (if (file-exists? "s61.scm") (delete-file "s61.scm"))
+      (save-state "s61.scm")
+      (delete-file "s61.scm") ; added transform needs to be saved somehow?
+      (close-sound ind))
+    
+    (let ((ind (open-sound "oboe.snd"))
+	  (ftype (add-transform "abs-it" "absit" 0.0 1.0
+				(lambda (len fd)
+				  (let ((v (make-float-vector len)))
+				    (fill-float-vector v (read-sample fd)))))))
+      (set! *transform-normalization* dont-normalize)
+      (set! (transform-type ind 0) ftype)
+      (set! (transform-size ind 0) 256)
+      (set! (transform-graph-type ind 0) graph-once)
+      (set! (transform-graph? ind 0) #t)
+      (set! (cursor ind 0) 12000)
+      (let ((samps (transform->float-vector ind 0))
+	    (orig (channel->float-vector (left-sample ind 0) 256))
+	    (happy #t))
+	(do ((i 0 (+ i 1)))
+	    ((or (not happy) (= i 256)))
+	  (if (fneq (samps i) (orig i))
+	      (begin
+		(snd-display ";add-transform same (~A): ~D ~A ~A" ftype i (samps i) (orig i))
+		(set! happy #f)))))
+      (set! (dot-size ind 0) 60)
+      (set! (graph-style ind 0) graph-lollipops)
+      (set! (x-bounds) (list 2.579 2.580))
+      (update-time-graph)
+      (delete-transform ftype)
+      (if (transform? ftype) (snd-display ";transform deleted: ~A" ftype))
+      (if (transform? -1) (snd-display ";transform? -1"))
+      (if (transform? (integer->transform 123)) (snd-display ";transform? 123"))
+      (if (not (equal? (transform-type ind 0) fourier-transform)) 
+	  (snd-display ";after delete-transform ~A -> ~A" ftype (transform-type ind 0)))
+      (close-sound ind))
+    
+    (when (defined? 'bignum-fft)
+      
+      (define* (vectors-equal? v1 v2 (error 1e-30))
+	(let ((len (length v1)))
+	  (and (= (length v2) len)
+	       (let ((happy #t))
+		 (do ((i 0 (+ i 1)))
+		     ((or (= i len) (not happy)) happy)
+		   (set! happy (< (magnitude (- (vector-ref v1 i) (vector-ref v2 i))) error)))))))
+      
+      (define* (bignum-vector :rest args)
+	(let* ((len (length args))
+	       (v (make-vector len)))
 	  (do ((i 0 (+ i 1))
-	       (top .8 (- top .1)))
-	      ((= i 6))
-	    (set! (coeffs i) (+ top (random .2))))
-	  (let ((flt (make-fir-filter 6 coeffs))
-		(data (make-float-vector 20))
-		(undata (make-float-vector 20)))
-	    (set! (data 0) 1.0)
-	    (do ((i 0 (+ i 1)))
-		((= i 20))
-	      (set! (undata i) (fir-filter flt (data i))))
-	    (let ((fdata (invert-filter coeffs)))
-	      (set! flt (make-fir-filter (length fdata) fdata))
-	      (do ((i 0 (+ i 1)))
-		  ((= i 20))
-		(set! (undata i) (fir-filter flt (undata i))))
-	      (if (not (mus-arrays-equal? undata data))
-		  (snd-display ";invert-filter (6): ~A" undata)))))
-	
-	(let ((flt (make-volterra-filter (float-vector 1.0 .4) (float-vector .3 .2 .1)))
-	      (data (make-float-vector 10))
-	      (x 0.0))
+	       (arg args (cdr arg)))
+	      ((= i len) v)
+	    (vector-set! v i (if (bignum? (car arg)) (car arg) (bignum (number->string (car arg))))))))
+      
+      ;; -------- -1 -1 at 1
+      (let ((rl (make-vector 8))
+	    (im (make-vector 8)))
+	(do ((i 0 (+ i 1))) 
+	    ((= i 8)) 
+	  (set! (rl i) (bignum "0.0")) 
+	  (set! (im i) (bignum "0.0")))
+	(set! (rl 1) (bignum "-1.0"))
+	(set! (im 1) (bignum "-1.0"))
+	(bignum-fft rl im 8) ; third arg is size
+	(let ((crl (bignum-vector -1.000 0.000 1.000 (sqrt (bignum "2")) 1.000 0.000 -1.000 (- (sqrt (bignum "2")))))
+	      (cim (bignum-vector -1.000 (- (sqrt (bignum "2"))) -1.000 0.000 1.000 (sqrt (bignum "2")) 1.000 0.000)))
+	  (if (not (and (vectors-equal? rl crl)
+			(vectors-equal? im cim)))
+	      (snd-display ";big-fft -1 -1 at 1:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim)))
+	(bignum-fft rl im 8 -1)
+	(let ((crl (bignum-vector 0.0 -8.0 0.0 0.0 0.0 0.0 0.0 0.0))
+	      (cim (bignum-vector 0.0 -8.0 0.0 0.0 0.0 0.0 0.0 0.0)))
+	  (if (not (and (vectors-equal? rl crl)
+			(vectors-equal? im cim)))
+	      (snd-display ";big-fft -1 -1 at 1 inverse:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))
+	  (set! (rl 1) (bignum "-1.0"))
+	  (set! (im 1) (bignum "-1.0"))
 	  (do ((i 0 (+ i 1)))
-	      ((= i 10))
-	    (set! (data i) (volterra-filter flt x))
-	    (set! x (if (= i 0) 0.5 0.0)))
-	  (if (not (mus-arrays-equal? data (float-vector 0.000 0.575 0.250 0.025 0.000 0.000 0.000 0.000 0.000 0.000)))
-	      (snd-display ";volterra-filter: ~A" data)))
-	
-	(let ((flt (make-volterra-filter (float-vector 1.0) (float-vector 1.0)))
-	      (data (make-float-vector 10)))
-	  (do ((i 0 (+ i 1))
-	       (x 1.0 0.0))
-	      ((= i 10))
-	    (set! (data i) (volterra-filter flt x)))
-	  (if (not (mus-arrays-equal? data (float-vector 2.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
-	      (snd-display ";volterra-filter x + x^2: ~A" data)))
-	
-	(let ((flt (make-volterra-filter (float-vector 1.0) (float-vector 1.0)))
-	      (data (make-float-vector 10)))
-	  (do ((i 0 (+ i 1))
-	       (x 1.0 (- x 0.1)))
-	      ((= i 10))
-	    (set! (data i) (volterra-filter flt x)))
-	  (if (not (mus-arrays-equal? data (float-vector 2.000 1.710 1.440 1.190 0.960 0.750 0.560 0.390 0.240 0.110)))
-	      (snd-display ";volterra-filter x + x^2 by -0.1: ~A" data)))
-	
-	(let ((flt (make-volterra-filter (float-vector 1.0 0.5) (float-vector 1.0)))
-	      (data (make-float-vector 10)))
-	  (do ((i 0 (+ i 1))
-	       (x 1.0 0.0))
-	      ((= i 10))
-	    (set! (data i) (volterra-filter flt x)))
-	  (if (not (mus-arrays-equal? data (float-vector 2.000 0.500 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
-	      (snd-display ";volterra-filter x + .5x(n-1) + x^2: ~A" data)))
-	
-	(let ((flt (make-volterra-filter (float-vector 1.0 0.5) (float-vector 1.0 0.6)))
-	      (data (make-float-vector 10)))
-	  (do ((i 0 (+ i 1))
-	       (x 0.9 0.0))
-	      ((= i 10))
-	    (set! (data i) (volterra-filter flt x)))
-	  (if (not (mus-arrays-equal? data (float-vector 1.710 0.936 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
-	      (snd-display ";volterra-filter x + .5x(n-1) + x^2 + 0.6: ~A" data)))
-	
-	
-	(let ((ind (new-sound "test.snd" :size 100)))
-	  (let ((gen (make-oscil 440.0)))
-	    (map-channel (lambda (y) (oscil gen))))
-	  (down-oct 2)
-	  (if (not (= (framples) 200)) (snd-display ";down-oct new len: ~A" (framples)))
-	  (let ((r1 (make-sampler 0 ind 0 1 1))
-		(r2 (make-sampler 0 ind 0 1 2)))
-	    (do ((i 0 (+ i 2)))
-		((= i 200))
-	      (let ((val1 (r1))
-		    (val2 (r2))
-		    (val3 (r2)))
-		(if (and (fneq val1 val2)
-			 (fneq val1 val3))
-		    (snd-display ";down-oct: ~A ~A ~A ~A" i val1 val2 val3)))))
-	  
-	  (kalman-filter-channel) ; just make sure it runs
-	  
-	  (close-sound ind))
-	
-	(let ((d0 (make-float-vector 8))
-	      (d1 (make-float-vector 8)))
-	  (set! (d0 2) 1.0)
-	  (let ((vals (fractional-fourier-transform d0 d1 8 1.0)))
-	    (if (not (and (mus-arrays-equal? (car vals) (float-vector 1.000 0.000 -1.000 -0.000 1.000 0.000 -1.000 -0.000))
-			  (mus-arrays-equal? (cadr vals) (float-vector 0.000 1.000 0.000 -1.000 0.000 1.000 0.000 -1.000))))
-		(snd-display ";fractional-fft: ~A?" vals))))
-	
-	(let ((d0 (make-float-vector 8))
-	       (d1 (make-float-vector 8)))
-	  (let ((val (z-transform (vector 0 0 1.0 0 0 0 0 0) 8 (exp (complex 0.0 (* .25 pi))))))
-	    (do ((i 0 (+ i 1)))
-		((= i 8))
-	      (set! (d0 i) (real-part (vector-ref val i)))
-	      (set! (d1 i) (imag-part (vector-ref val i))))
-	    (if (not (and (mus-arrays-equal? d0 (float-vector 1.000 0.000 -1.000 -0.000 1.000 0.000 -1.000 -0.000))
-			  (mus-arrays-equal? d1 (float-vector 0.000 1.000 0.000 -1.000 0.000 1.000 0.000 -1.000))))
-		(snd-display ";z-transform: ~A ~A?" d0 d1))))
-	
-	(let ((v1 (make-float-vector 16)))
-	  (set! (v1 0) 1.0)
-	  (let ((res (z-transform v1 16 0.5)))
-	    (if (not (mus-arrays-equal? res (make-float-vector 16 1.0)))
-		(snd-display ";z 0.5 0=1: ~A" res)))
-	  (let ((res (z-transform v1 16 -1.0)))
-	    (if (not (mus-arrays-equal? res (make-float-vector 16 1.0)))
-		(snd-display ";z -1.0 0=1: ~A" res)))
-	  (set! (v1 0) 0.0)
-	  (set! (v1 1) 1.0)
-	  (let ((res (z-transform v1 16 0.5)))
-	    (if (not (mus-arrays-equal? res (float-vector 1.000 0.500 0.250 0.125 0.062 0.031 0.016 0.008 0.004 0.002 0.001 0.0 0.0 0.0 0.0 0.0)))
-		(snd-display ";z 0.5 1=1: ~A" res)))
-	  (let ((res (z-transform v1 16 2.0)))
-	    (if (not (mus-arrays-equal? res (float-vector 1.0 2.0 4.0 8.0 16.0 32.0 64.0 128.0 256.0 512.0 1024.0 
-				      2048.0 4096.0 8192.0 16384.0 32768.0)))
-		(snd-display ";z 2.0 1=1: ~A" res)))
-	  (set! (v1 2) 1.0)
-	  (let ((res (z-transform v1 16 0.5)))
-	    (if (not (mus-arrays-equal? res (float-vector 2.0 0.75 0.3125 0.140 0.0664 0.0322 0.0158 0.00787 0.0039 0.0019 0 0 0 0 0 0)))
-		(snd-display ";z 0.5 1=1 2=1: ~A" res)))
-	  (let ((res (z-transform v1 16 2.0)))
-	    (if (not (mus-arrays-equal? res (float-vector 2.0 6.0 20.0 72.0 272.0 1056.0 4160.0 16512.0 65792.0 
-				      262656.0 1049600.0 4196352.0 16781312.0 67117056.0 268451840.0 1073774592.0)))
-		(snd-display ";z 2.0 1=1 2=1: ~A" res)))
-	  (do ((i 0 (+ i 1))
-	       (j 1.0 (* j 0.4)))
-	      ((= i 16))
-	    (float-vector-set! v1 i j))
-	  (let ((res (z-transform v1 16 1.0)))
-	    (if (not (mus-arrays-equal? res (make-float-vector 16 (/ 1.0 (- 1.0 0.4))))) ; this is confusing
-		(snd-display ";z 1 0.4g: ~A" res))))
+	      ((= i 4))
+	    (bignum-fft rl im 8))
+	  (set! (crl 1) (bignum "-64.0"))
+	  (set! (cim 1) (bignum "-64.0"))
+	  (if (not (and (vectors-equal? rl crl)
+			(vectors-equal? im cim)))
+	      (snd-display ";big-fft -1 -1 at 1 rotate:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
+      
+      ;; -------- -1 1 at 3
+      (let ((rl (make-vector 8))
+	    (im (make-vector 8)))
+	(do ((i 0 (+ i 1))) 
+	    ((= i 8)) 
+	  (set! (rl i) (bignum "0.0")) 
+	  (set! (im i) (bignum "0.0")))
+	(set! (rl 3) (bignum "-1.0"))
+	(set! (im 3) (bignum "1.0"))
+	(bignum-fft rl im 8)
+	(let ((crl (bignum-vector -1.000 0.000 1.000 (- (sqrt (bignum "2"))) 1.000 0.000 -1.000 (sqrt (bignum "2"))))
+	      (cim (bignum-vector 1.000 (- (sqrt (bignum "2"))) 1.000 0.000 -1.000 (sqrt (bignum "2")) -1.000 0.000)))
+	  (if (not (and (vectors-equal? rl crl)
+			(vectors-equal? im cim)))
+	      (snd-display ";big-fft -1 1 at 3:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
+      
+      ;; -------- 1 0 at 0 with bignum arg to make-vector (so it should copy)
+      (let ((rl (make-vector 8 (bignum "0.0")))
+	    (im (make-vector 8 (bignum "0.0"))))
+	(set! (rl 0) (bignum "1.0"))
+	(bignum-fft rl im 8)
+	(let ((crl (bignum-vector 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0))
+	      (cim (bignum-vector 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
+	  (if (not (and (vectors-equal? rl crl)
+			(vectors-equal? im cim)))
+	      (snd-display ";big-fft 1 0 at 0 (and copied fill):~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
+      
+      ;; -------- cos/sin
+      (let ((rl (make-vector 64))
+	    (im (make-vector 64)))
+	(do ((i 0 (+ i 1))) 
+	    ((= i 64)) 
+	  (set! (rl i) (bignum "0.0")) 
+	  (set! (im i) (bignum "0.0")))
+	(set! (rl 1) (bignum "1.0"))
 	
-	(let ((ind (open-sound "oboe.snd")))
-	  (do ((i 0 (+ i 1))) ((= i 4)) (automorph 0.0+1.0i 0 0 1))
-	  (let ((mxdiff (float-vector-peak (float-vector-subtract! (channel->float-vector 0 #f ind 0 0) (channel->float-vector 0 #f ind 0) ))))
-	    (if (> mxdiff .003) (snd-display ";automorph rotation: ~A" mxdiff)))
-	  
-	  (revert-sound ind)
-	  (periodogram 256)
-	  (if (not (lisp-graph? ind)) (snd-display ";periodogram not graphed?"))
-	  (close-sound ind))
-	))
+	(bignum-fft rl im 64 -1)
+	(let ((happy #t))
+	  (do ((i 0 (+ i 1)))
+	      ((or (= i 64) (not happy)))
+	    (let ((cerr (magnitude (- (vector-ref rl i) (cos (/ (* 2 pi i) 64)))))
+		  (serr (magnitude (- (vector-ref im i) (sin (/ (* -2 pi i) 64))))))
+	      (set! happy (and (< cerr 1e-30)
+			       (< serr 1e-30)))
+	      (if (not happy)
+		  (snd-display ";big fft 1 at 0 (sin/cos) differs by ~A in ~A at ~A (~A ~A)~%"
+			       (max cerr serr)
+			       (if (> cerr serr) "cos" "sin")
+			       i
+			       (if (> cerr serr)
+				   (cos (/ (* 2 pi i) 64))
+				   (sin (/ (* -2 pi i) 64)))
+			       (vector-ref (if (> cerr serr) rl im) i))))))
+	
+	(bignum-fft rl im 64)
+	(let ((crl (make-vector 64 (bignum "0.0")))
+	      (cim (make-vector 64 (bignum "0.0"))))
+	  (set! (crl 1) (bignum "64"))
+	  (if (not (and (vectors-equal? rl crl)
+			(vectors-equal? im cim)))
+	      (snd-display ";big-fft 1 at 0 fill cos/sin inverse:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
+      
+      ;; -------- random 
+      (let ((rl (make-vector 64))
+	    (im (make-vector 64))
+	    (crl (make-vector 64))
+	    (cim (make-vector 64)))
+	(let ((rs (random-state (bignum "12345678"))))
+	  (do ((i 0 (+ i 1))) 
+	      ((= i 64)) 
+	    (set! (rl i) (random (bignum "1.0") rs))
+	    (set! (crl i) (+ (vector-ref rl i) 0.0)) ; try to force a copy
+	    (set! (im i) (random (bignum "1.0") rs))
+	    (set! (cim i) (+ (vector-ref im i) 0.0))))
+	
+	(bignum-fft rl im 64 1)
+	(if (or (vectors-equal? rl crl)
+		(vectors-equal? im cim))
+	    (snd-display ";big-fft random not copied?:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))
+	
+	(bignum-fft rl im 64 -1)
+	(do ((i 0 (+ i 1)))
+	    ((= i 64))
+	  (set! (rl i) (/ (vector-ref rl i) 64.0))
+	  (set! (im i) (/ (vector-ref im i) 64.0)))
+	(if (not (and (vectors-equal? rl crl)
+		      (vectors-equal? im cim)))
+	    (snd-display ";big-fft random:~%rl: ~A~%    ~A~%im: ~A~%    ~A~%" rl crl im cim))))
     
-    (define* (cfft! data n (dir 1))
-      (if (not n) (set! n (length data)))
-      (let ((t0 (complex 0.0 (* pi dir))))
-	(do ((i 0 (+ i 1))
-	     (j 0))
-	    ((= i n))
-	  (if (> j i)
-	      (let ((temp (data j)))
-		(set! (data j) (data i))
-		(set! (data i) temp)))
-	  (do ((m (/ n 2)))
-	      ((not (<= 2 m j))
-	       (set! j (+ j m)))   
-	    (set! j (- j m))
-	    (set! m (/ m 2))))
-	(do ((ipow (floor (log n 2)))
-	     (prev 1)
-	     (lg 0 (+ lg 1))
-	     (mmax 2 (* mmax 2))
-	     (pow (/ n 2) (/ pow 2))
-	     (theta t0 (* theta 0.5)))
-	    ((= lg ipow))
-	  (let ((wpc (exp theta))
-		(wc 1.0))
-	    (do ((ii 0 (+ ii 1)))
-		((= ii prev))
-	      (do ((jj 0 (+ jj 1))
-		   (i ii (+ i mmax))
-		   (j (+ ii prev) (+ j mmax)))
-		  ((>= jj pow))
-		(let ((tc (* wc (data j))))
-		  (set! (data j) (- (data i) tc))
-		  (set! (data i) (+ (data i) tc))))
-	      (set! wc (* wc wpc)))
-	    (set! prev mmax)))
-	data))
     
-    (define* (fft! rl im n (dir 1))
-      (if (not im)
-	  (set! im (make-float-vector (length rl))))
-      (if (not n)
-	  (set! n (length rl)))
+    (let ((ind1 (open-sound "oboe.snd")))
+      (set! (time-graph-style ind1 0) graph-lollipops)
+      (graph->ps "aaa.eps")
+      (set! (transform-graph? ind1 0) #t)
+      (set! (transform-graph-type ind1 0) graph-as-sonogram)
+      (set! *transform-size* 256)
+      (update-transform-graph)
+      (when with-gui
+	(let ((size (transform-framples ind1 0)))
+	  (if (or (number? size)
+		  (not (= (length size) 3)))
+	      (snd-display ";transform-framples of sonogram: ~A" size))))
+      (graph->ps "aaa.eps")
+      (if (and (defined? 'integer->colormap)
+	       (integer? *colormap*))
+	  (set! *colormap* (integer->colormap *colormap*)))
+      (let-temporarily ((*colormap* black-and-white-colormap))
+	(update-transform-graph)
+	(set! (transform-graph-type ind1 0) graph-as-spectrogram)
+	(update-transform-graph)
+	(graph->ps "aaa.eps"))
+      (close-sound ind1))
+    
+    (let ((ind (new-sound "test.snd" :header-type mus-next :sample-type mus-ldouble)))
+      (pad-channel 0 1000)
+      (set! (transform-graph-type ind 0) graph-once)
+      (set! (show-transform-peaks ind 0) #t)
+      (set! (fft-log-magnitude ind 0) #t)
+      (set! (fft-log-frequency ind 0) #f)
+      (set! (transform-graph? ind 0) #t)
+      (set! (x-bounds) (list 0.0 .04))
+      (update-time-graph)
+      (update-transform-graph)
+      (close-sound ind))
+    
+    (let ((ind (open-sound "oboe.snd")))
+      (set! (show-listener) #f)
+      (set! (window-height) 800)
+      (set! (lisp-graph? ind 0) #t)
+      (graph (channel->float-vector 1000 8192 ind 0) "biggy" 0.0 1.0 0.0 1.0 ind 0)
+      (set! (transform-graph-type ind 0) graph-once)
+      (set! (show-transform-peaks ind 0) #t)
+      (set! (fft-log-magnitude ind 0) #t)
+      (set! (fft-log-frequency ind 0) #f)
+      (set! (transform-graph? ind 0) #t)
+      (graph->ps "aaa.eps")
+      (set! (x-bounds) (list 0.0 1.0))
+      (set! (max-transform-peaks ind 0) 3)
+      (update-time-graph)
+      (update-transform-graph)
+      (update-lisp-graph)
+      (scale-by 0.0)
+      (update-time-graph)
+      (update-transform-graph)
+      (undo)
+      (set! (transform-graph-type ind 0) graph-as-sonogram)
+      (set! (fft-log-magnitude ind 0) #f)
+      (update-transform-graph)
+      (graph->ps "aaa.eps")
+      (set! *with-gl* #f)
+      (set! (spectrum-end ind 0) .2)
+      (set! (transform-graph-type ind 0) graph-as-spectrogram)
+      (update-transform-graph)
+      (update-lisp-graph)
+      (graph->ps "aaa.eps")
+      (set! (show-listener) #t)
+      (close-sound ind))
+    
+    (let ((v (dolph 16 2.5)))
+      (if (not (mus-arrays-equal? v (float-vector 0.097 0.113 0.221 0.366 0.536 0.709 0.860 0.963 1.000 0.963 0.860 0.709 0.536 0.366 0.221 0.113)))
+	  (snd-display ";dolph 16 2.5 (dsp.scm): ~A" v)))
+    
+    (let ((v (make-float-vector 8)))
+      (let ((v0 (make-float-vector 8)))
+	(do ((i 0 (+ i 1)))
+	    ((= i 8))
+	  (set! (v i) (mus-random 1.0))
+	  (set! (v0 i) (float-vector-ref v i)))
+	(set! v (float-vector-scale! (dht (dht v)) (/ 1.0 8.0)))
+	(if (not (vmus-arrays-equal? v v0))
+	    (snd-display ";dht twice: ~A ~A" v v0)))
+      (fill! v 0.0)
+      (set! (v 1) 1.0)
+      (set! v (dht v))
+      (if (not (mus-arrays-equal? v (float-vector 1.000 1.414 1.000 0.000 -1.000 -1.414 -1.000 0.000)))
+	  (snd-display ";dht of pulse: ~A" v)))
+    
+    (let ((ind (open-sound "oboe.snd")))
+      (let ((val1 (car (find-sine 553.0 2000 3000 ind)))
+	    (val2 (car (find-sine 620.0 2000 3000 ind))))
+	(if (or (fneq val1 .03835)
+		(fneq val2 .0012))
+	    (snd-display ";find-sine: ~A ~A" val1 val2)))
+      (let ((frq (spot-freq 2000 ind 0)))
+	(if (not (= (round frq) 553))
+	    (snd-display ";spot-freq: ~A" frq)))
+      (down-oct 2)
+      (let ((frq (spot-freq 2000 ind 0)))
+	(if (not (member (round frq) '(276 277) =))
+	    (snd-display ";spot-freq down oct: ~A" frq)))
+      (undo)
+      (zero-phase)
+      (if (fneq (sample 0) .1472) (snd-display ";zero-phase: ~A" (sample 0)))
+      (undo)
+      (rotate-phase (lambda (x) x))
+      (undo)
+      (brighten-slightly .5)
+      (undo)
+      (spike)
+      (close-sound ind))
+    
+    (let* ((ind (open-sound "1a.snd"))
+	   (valf (car (find-sine 440.0 0 (framples) ind)))
+	   (valg (* 2 (/ (goertzel 440.0 0 (framples) ind) (framples))))
+	   (valf1 (car (find-sine 100.0 0 (framples) ind)))
+	   (valg1 (* 2 (/ (goertzel 100.0 0 (framples) ind) (framples))))
+	   (valf2 (car (find-sine 440.0 0 (framples) ind)))
+	   (valg2 (* 2 (/ (goertzel 440.0 0 (framples) ind) (framples))))
+	   (valf3 (car (find-sine 437.0 0 (framples) ind)))
+	   (valg3 (* 2 (/ (goertzel 437.0 0 (framples) ind) (framples)))))
+      (if (fneq valf valg) (snd-display ";goertzel 0: ~A ~A" valf valg))
+      (if (fneq valf1 valg1) (snd-display ";goertzel 1: ~A ~A" valf1 valg1))
+      (if (fneq valf2 valg2) (snd-display ";goertzel 2: ~A ~A" valf2 valg2))
+      (if (fneq valf3 valg3) (snd-display ";goertzel 3: ~A ~A" valf3 valg3))
+      (close-sound ind))
+    
+    (let ((v (float-vector-polynomial (float-vector 0.0 2.0) (float-vector 1.0 2.0))))
+      (if (not (mus-arrays-equal? v (float-vector 1.0 5.0)))
+	  (snd-display ";float-vector-polynomial 0: ~A" v)))
+    (let ((v (float-vector-polynomial (float-vector 0 1 2) (float-vector 0 2 1))))
+      (if (not (mus-arrays-equal? v (float-vector 0.000 3.000 8.000)))
+	  (snd-display ";float-vector-polynomial 1: ~A" v)))
+    (let ((v (float-vector-polynomial (float-vector 0 1 2) (float-vector 0 2 1 .5))))
+      (if (not (mus-arrays-equal? v (float-vector 0.000 3.500 12.000)))
+	  (snd-display ";float-vector-polynomial 2: ~A" v)))
+    (let ((v (float-vector-polynomial (float-vector 0 1 2) (float-vector 1))))
+      (if (not (mus-arrays-equal? v (float-vector 1 1 1)))
+	  (snd-display ";float-vector-polynomial 3: ~A" v)))
+    (let ((ind (open-sound "pistol.snd")))
+      (let ((mx (maxamp ind 0)))
+	(channel-polynomial (float-vector 0.0 2.0) ind 0)
+	(if (fneq (maxamp) (* mx 2))
+	    (snd-display ";channel-polynomial 2: ~A" (maxamp))))
+      (undo)
+      (channel-polynomial (float-vector 0.0 0.5 0.25 0.25) ind 0)
+      (if (fneq (maxamp) .222)
+	  (snd-display ";channel-polynomial 3: ~A" (maxamp)))
+      (undo)
+      (channel-polynomial (float-vector 0.0 0.0 1.0) ind 0)
+      (let ((pos (scan-channel (lambda (y) (< y 0.0)))))
+	(if pos
+	    (snd-display ";channel-polynomial squares: ~A" pos)))
+      (undo)
+      (channel-polynomial (float-vector 0.5 1.0) ind 0)
+      (let ((pos (scan-channel (lambda (y) (< y 0.0)))))
+	(if pos
+	    (snd-display ";channel-polynomial offset: ~A" pos)))
+      (if (fneq (maxamp) .8575)
+	  (snd-display ";channel-polynomial off mx: ~A" (maxamp)))
+      (undo)
+      (spectral-polynomial (float-vector 0.0 1.0) ind 0)
+      (if (fneq (maxamp) .493)
+	  (snd-display ";spectral-polynomial 0 mx: ~A" (maxamp)))
+      (if (not (= (framples ind 0) 41623))
+	  (snd-display ";spectral-polynomial 0 len: ~A" (framples)))
+      (undo)
+      (spectral-polynomial (float-vector 0.0 0.5 0.5) ind 0)
+      (if (fneq (maxamp) .493)
+	  (snd-display ";spectral-polynomial 1: ~A" (maxamp)))
+      (if (not (= (framples ind 0) 83246)) ;(* 2 41623)
+	  (snd-display ";spectral-polynomial 1 len: ~A" (framples)))
+      (undo)
+      (spectral-polynomial (float-vector 0.0 0.0 0.0 1.0) ind 0)
+      (if (fneq (maxamp) .493)
+	  (snd-display ";spectral-polynomial 2: ~A" (maxamp)))
+      (if (not (= (framples ind 0) 124869)) ;(* 3 41623)
+	  (snd-display ";spectral-polynomial 1 len: ~A" (framples)))
+      (close-sound ind))
+    
+    (let ((vals (scentroid "oboe.snd")))
+      (if (or (fneq (vals 0) 1876.085) (fneq (vals 1) 1447.004))
+	  (snd-display ";scentroid: ~A" vals)))
+    
+    (let ((flt (make-fir-filter 3 (float-vector 0.5 0.25 0.125)))
+	  (data (make-float-vector 10))
+	  (undata (make-float-vector 10)))
+      (set! (data 0) 1.0)
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
+	(set! (undata i) (fir-filter flt (data i))))
+      (let ((fdata (invert-filter (float-vector 0.5 0.25 0.125))))
+	(set! flt (make-fir-filter (length fdata) fdata))
+	(do ((i 0 (+ i 1)))
+	    ((= i 10))
+	  (set! (undata i) (fir-filter flt (undata i))))
+	(if (not (mus-arrays-equal? undata data))
+	    (snd-display ";invert-filter: ~A" undata))))
+    
+    (let ((coeffs (make-float-vector 6)))
+      (do ((i 0 (+ i 1))
+	   (top .8 (- top .1)))
+	  ((= i 6))
+	(set! (coeffs i) (+ top (random .2))))
+      (let ((flt (make-fir-filter 6 coeffs))
+	    (data (make-float-vector 20))
+	    (undata (make-float-vector 20)))
+	(set! (data 0) 1.0)
+	(do ((i 0 (+ i 1)))
+	    ((= i 20))
+	  (set! (undata i) (fir-filter flt (data i))))
+	(let ((fdata (invert-filter coeffs)))
+	  (set! flt (make-fir-filter (length fdata) fdata))
+	  (do ((i 0 (+ i 1)))
+	      ((= i 20))
+	    (set! (undata i) (fir-filter flt (undata i))))
+	  (if (not (mus-arrays-equal? undata data))
+	      (snd-display ";invert-filter (6): ~A" undata)))))
+    
+    (let ((flt (make-volterra-filter (float-vector 1.0 .4) (float-vector .3 .2 .1)))
+	  (data (make-float-vector 10))
+	  (x 0.0))
+      (do ((i 0 (+ i 1)))
+	  ((= i 10))
+	(set! (data i) (volterra-filter flt x))
+	(set! x (if (= i 0) 0.5 0.0)))
+      (if (not (mus-arrays-equal? data (float-vector 0.000 0.575 0.250 0.025 0.000 0.000 0.000 0.000 0.000 0.000)))
+	  (snd-display ";volterra-filter: ~A" data)))
+    
+    (let ((flt (make-volterra-filter (float-vector 1.0) (float-vector 1.0)))
+	  (data (make-float-vector 10)))
+      (do ((i 0 (+ i 1))
+	   (x 1.0 0.0))
+	  ((= i 10))
+	(set! (data i) (volterra-filter flt x)))
+      (if (not (mus-arrays-equal? data (float-vector 2.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
+	  (snd-display ";volterra-filter x + x^2: ~A" data)))
+    
+    (let ((flt (make-volterra-filter (float-vector 1.0) (float-vector 1.0)))
+	  (data (make-float-vector 10)))
+      (do ((i 0 (+ i 1))
+	   (x 1.0 (- x 0.1)))
+	  ((= i 10))
+	(set! (data i) (volterra-filter flt x)))
+      (if (not (mus-arrays-equal? data (float-vector 2.000 1.710 1.440 1.190 0.960 0.750 0.560 0.390 0.240 0.110)))
+	  (snd-display ";volterra-filter x + x^2 by -0.1: ~A" data)))
+    
+    (let ((flt (make-volterra-filter (float-vector 1.0 0.5) (float-vector 1.0)))
+	  (data (make-float-vector 10)))
+      (do ((i 0 (+ i 1))
+	   (x 1.0 0.0))
+	  ((= i 10))
+	(set! (data i) (volterra-filter flt x)))
+      (if (not (mus-arrays-equal? data (float-vector 2.000 0.500 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
+	  (snd-display ";volterra-filter x + .5x(n-1) + x^2: ~A" data)))
+    
+    (let ((flt (make-volterra-filter (float-vector 1.0 0.5) (float-vector 1.0 0.6)))
+	  (data (make-float-vector 10)))
+      (do ((i 0 (+ i 1))
+	   (x 0.9 0.0))
+	  ((= i 10))
+	(set! (data i) (volterra-filter flt x)))
+      (if (not (mus-arrays-equal? data (float-vector 1.710 0.936 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000)))
+	  (snd-display ";volterra-filter x + .5x(n-1) + x^2 + 0.6: ~A" data)))
+    
+    
+    (let ((ind (new-sound "test.snd" :size 100)))
+      (let ((gen (make-oscil 440.0)))
+	(map-channel (lambda (y) (oscil gen))))
+      (down-oct 2)
+      (if (not (= (framples) 200)) (snd-display ";down-oct new len: ~A" (framples)))
+      (let ((r1 (make-sampler 0 ind 0 1 1))
+	    (r2 (make-sampler 0 ind 0 1 2)))
+	(do ((i 0 (+ i 2)))
+	    ((= i 200))
+	  (let ((val1 (r1))
+		(val2 (r2))
+		(val3 (r2)))
+	    (if (and (fneq val1 val2)
+		     (fneq val1 val3))
+		(snd-display ";down-oct: ~A ~A ~A ~A" i val1 val2 val3)))))
+      
+      (kalman-filter-channel) ; just make sure it runs
+      
+      (close-sound ind))
+    
+    (let ((d0 (make-float-vector 8))
+	  (d1 (make-float-vector 8)))
+      (set! (d0 2) 1.0)
+      (let ((vals (fractional-fourier-transform d0 d1 8 1.0)))
+	(if (not (and (mus-arrays-equal? (car vals) (float-vector 1.000 0.000 -1.000 -0.000 1.000 0.000 -1.000 -0.000))
+		      (mus-arrays-equal? (cadr vals) (float-vector 0.000 1.000 0.000 -1.000 0.000 1.000 0.000 -1.000))))
+	    (snd-display ";fractional-fft: ~A?" vals))))
+    
+    (let ((d0 (make-float-vector 8))
+	  (d1 (make-float-vector 8)))
+      (let ((val (z-transform (vector 0 0 1.0 0 0 0 0 0) 8 (exp (complex 0.0 (* .25 pi))))))
+	(do ((i 0 (+ i 1)))
+	    ((= i 8))
+	  (set! (d0 i) (real-part (vector-ref val i)))
+	  (set! (d1 i) (imag-part (vector-ref val i))))
+	(if (not (and (mus-arrays-equal? d0 (float-vector 1.000 0.000 -1.000 -0.000 1.000 0.000 -1.000 -0.000))
+		      (mus-arrays-equal? d1 (float-vector 0.000 1.000 0.000 -1.000 0.000 1.000 0.000 -1.000))))
+	    (snd-display ";z-transform: ~A ~A?" d0 d1))))
+    
+    (let ((v1 (make-float-vector 16)))
+      (set! (v1 0) 1.0)
+      (let ((res (z-transform v1 16 0.5)))
+	(if (not (mus-arrays-equal? res (make-float-vector 16 1.0)))
+	    (snd-display ";z 0.5 0=1: ~A" res)))
+      (let ((res (z-transform v1 16 -1.0)))
+	(if (not (mus-arrays-equal? res (make-float-vector 16 1.0)))
+	    (snd-display ";z -1.0 0=1: ~A" res)))
+      (set! (v1 0) 0.0)
+      (set! (v1 1) 1.0)
+      (let ((res (z-transform v1 16 0.5)))
+	(if (not (mus-arrays-equal? res (float-vector 1.000 0.500 0.250 0.125 0.062 0.031 0.016 0.008 0.004 0.002 0.001 0.0 0.0 0.0 0.0 0.0)))
+	    (snd-display ";z 0.5 1=1: ~A" res)))
+      (let ((res (z-transform v1 16 2.0)))
+	(if (not (mus-arrays-equal? res (float-vector 1.0 2.0 4.0 8.0 16.0 32.0 64.0 128.0 256.0 512.0 1024.0 
+						      2048.0 4096.0 8192.0 16384.0 32768.0)))
+	    (snd-display ";z 2.0 1=1: ~A" res)))
+      (set! (v1 2) 1.0)
+      (let ((res (z-transform v1 16 0.5)))
+	(if (not (mus-arrays-equal? res (float-vector 2.0 0.75 0.3125 0.140 0.0664 0.0322 0.0158 0.00787 0.0039 0.0019 0 0 0 0 0 0)))
+	    (snd-display ";z 0.5 1=1 2=1: ~A" res)))
+      (let ((res (z-transform v1 16 2.0)))
+	(if (not (mus-arrays-equal? res (float-vector 2.0 6.0 20.0 72.0 272.0 1056.0 4160.0 16512.0 65792.0 
+						      262656.0 1049600.0 4196352.0 16781312.0 67117056.0 268451840.0 1073774592.0)))
+	    (snd-display ";z 2.0 1=1 2=1: ~A" res)))
+      (do ((i 0 (+ i 1))
+	   (j 1.0 (* j 0.4)))
+	  ((= i 16))
+	(float-vector-set! v1 i j))
+      (let ((res (z-transform v1 16 1.0)))
+	(if (not (mus-arrays-equal? res (make-float-vector 16 (/ 1.0 (- 1.0 0.4))))) ; this is confusing
+	    (snd-display ";z 1 0.4g: ~A" res))))
+    
+    (let ((ind (open-sound "oboe.snd")))
+      (do ((i 0 (+ i 1))) ((= i 4)) (automorph 0.0+1.0i 0 0 1))
+      (let ((mxdiff (float-vector-peak (float-vector-subtract! (channel->float-vector 0 #f ind 0 0) (channel->float-vector 0 #f ind 0) ))))
+	(if (> mxdiff .003) (snd-display ";automorph rotation: ~A" mxdiff)))
+      
+      (revert-sound ind)
+      (periodogram 256)
+      (if (not (lisp-graph? ind)) (snd-display ";periodogram not graphed?"))
+      (close-sound ind)))
+  
+  (define* (cfft! data n (dir 1))
+    (if (not n) (set! n (length data)))
+    (let ((t0 (complex 0.0 (* pi dir))))
       (do ((i 0 (+ i 1))
 	   (j 0))
 	  ((= i n))
 	(if (> j i)
-	    (let ((tempr (rl j))
-		  (tempi (im j)))
-	      (set! (rl j) (rl i))
-	      (set! (im j) (im i))
-	      (set! (rl i) tempr)
-	      (set! (im i) tempi)))
+	    (let ((temp (data j)))
+	      (set! (data j) (data i))
+	      (set! (data i) temp)))
 	(do ((m (/ n 2)))
 	    ((not (<= 2 m j))
-	     (set! j (+ j m)))
+	     (set! j (+ j m)))   
 	  (set! j (- j m))
 	  (set! m (/ m 2))))
       (do ((ipow (floor (log n 2)))
@@ -35776,45 +35485,87 @@ EDITS: 1
 	   (lg 0 (+ lg 1))
 	   (mmax 2 (* mmax 2))
 	   (pow (/ n 2) (/ pow 2))
-	   (theta (* pi dir) (* theta 0.5)))
+	   (theta t0 (* theta 0.5)))
 	  ((= lg ipow))
-	(let ((wpr (cos theta))
-	      (wpi (sin theta))
-	      (wr 1.0)
-	      (wi 0.0))
+	(let ((wpc (exp theta))
+	      (wc 1.0))
 	  (do ((ii 0 (+ ii 1)))
 	      ((= ii prev))
 	    (do ((jj 0 (+ jj 1))
 		 (i ii (+ i mmax))
 		 (j (+ ii prev) (+ j mmax)))
 		((>= jj pow))
-	      (let ((tempr (- (* wr (rl j)) (* wi (im j))))
-		    (tempi (+ (* wr (im j)) (* wi (rl j)))))
-		(set! (rl j) (- (rl i) tempr))
-		(set! (im j) (- (im i) tempi))
-		(set! (rl i) (+ (rl i) tempr))
-		(set! (im i) (+ (im i) tempi))))
-	    (let ((wtemp wr))
-	      (set! wr (- (* wr wpr) (* wi wpi)))
-	      (set! wi (+ (* wi wpr) (* wtemp wpi)))))
+	      (let ((tc (* wc (data j))))
+		(set! (data j) (- (data i) tc))
+		(set! (data i) (+ (data i) tc))))
+	    (set! wc (* wc wpc)))
 	  (set! prev mmax)))
-      rl)
-
-    (do ((i 0 (+ i 1)))
-	((= i 10))
-      (let* ((len (expt 2 (+ 2 (random 8))))
-	     (v0 (make-float-vector len))
-	     (v1 (make-float-vector len))
-	     (v2 (make-vector len)))
+      data))
+  
+  (define* (fft! rl im n (dir 1))
+    (if (not im)
+	(set! im (make-float-vector (length rl))))
+    (if (not n)
+	(set! n (length rl)))
+    (do ((i 0 (+ i 1))
+	 (j 0))
+	((= i n))
+      (if (> j i)
+	  (let ((tempr (rl j))
+		(tempi (im j)))
+	    (set! (rl j) (rl i))
+	    (set! (im j) (im i))
+	    (set! (rl i) tempr)
+	    (set! (im i) tempi)))
+      (do ((m (/ n 2)))
+	  ((not (<= 2 m j))
+	   (set! j (+ j m)))
+	(set! j (- j m))
+	(set! m (/ m 2))))
+    (do ((ipow (floor (log n 2)))
+	 (prev 1)
+	 (lg 0 (+ lg 1))
+	 (mmax 2 (* mmax 2))
+	 (pow (/ n 2) (/ pow 2))
+	 (theta (* pi dir) (* theta 0.5)))
+	((= lg ipow))
+      (let ((wpr (cos theta))
+	    (wpi (sin theta))
+	    (wr 1.0)
+	    (wi 0.0))
+	(do ((ii 0 (+ ii 1)))
+	    ((= ii prev))
+	  (do ((jj 0 (+ jj 1))
+	       (i ii (+ i mmax))
+	       (j (+ ii prev) (+ j mmax)))
+	      ((>= jj pow))
+	    (let ((tempr (- (* wr (rl j)) (* wi (im j))))
+		  (tempi (+ (* wr (im j)) (* wi (rl j)))))
+	      (set! (rl j) (- (rl i) tempr))
+	      (set! (im j) (- (im i) tempi))
+	      (set! (rl i) (+ (rl i) tempr))
+	      (set! (im i) (+ (im i) tempi))))
+	  (let ((wtemp wr))
+	    (set! wr (- (* wr wpr) (* wi wpi)))
+	    (set! wi (+ (* wi wpr) (* wtemp wpi)))))
+	(set! prev mmax)))
+    rl)
+  
+  (do ((i 0 (+ i 1)))
+      ((= i 10))
+    (let ((len (expt 2 (+ 2 (random 8)))))
+      (let ((v0 (make-float-vector len))
+	    (v1 (make-float-vector len))
+	    (v2 (make-vector len)))
 	(do ((k 0 (+ k 1)))
 	    ((= k len))
 	  (float-vector-set! v0 k (mus-random 0.5))
 	  (float-vector-set! v1 k (mus-random 0.5))
 	  (vector-set! v2 k (complex (v0 k) (v1 k))))
+	(mus-fft v0 v1 len 1)
+	(cfft! v2 len 1)
 	(let ((sum 0.0)
 	      (mx 0.0))
-	  (mus-fft v0 v1 len 1)
-	  (cfft! v2 len 1)
 	  (do ((m 0 (+ m 1)))
 	      ((= m len))
 	    (let ((diffr (abs (- (v0 m) (real-part (v2 m)))))
@@ -35823,23 +35574,23 @@ EDITS: 1
 	      (set! mx (max mx diffr diffi))))
 	  (if (or (> mx 1e-6)
 		  (> sum 1e-6))
-	      (snd-display ";cfft! ~A: ~A ~A~%" len mx sum)))))
-    
-    (let ((val (cfft! (cfft! (cfft! (cfft! (vector 0.0 1+i 0.0 0.0)))))))
-      (if (or (> (magnitude (val 0)) 1e-12)
-	      (> (magnitude (val 2)) 1e-12)
-	      (> (magnitude (val 3)) 1e-12)
-	      (fneq 16.0 (real-part (val 1)))
-	      (fneq 16.0 (imag-part (val 1))))
-	  (snd-display ";cfft! 4x: ~A" val)))
-    
-    (do ((i 0 (+ i 1)))
-	((= i 10))
-      (let* ((len (expt 2 (+ 2 (random 8))))
-	     (v0 (make-float-vector len))
-	     (v1 (make-float-vector len))
-	     (v2 (make-float-vector len))
-	     (v3 (make-float-vector len)))
+	      (snd-display ";cfft! ~A: ~A ~A~%" len mx sum))))))
+  
+  (let ((val (cfft! (cfft! (cfft! (cfft! (vector 0.0 1+i 0.0 0.0)))))))
+    (if (or (> (magnitude (val 0)) 1e-12)
+	    (> (magnitude (val 2)) 1e-12)
+	    (> (magnitude (val 3)) 1e-12)
+	    (fneq 16.0 (real-part (val 1)))
+	    (fneq 16.0 (imag-part (val 1))))
+	(snd-display ";cfft! 4x: ~A" val)))
+  
+  (do ((i 0 (+ i 1)))
+      ((= i 10))
+    (let ((len (expt 2 (+ 2 (random 8)))))
+      (let ((v0 (make-float-vector len))
+	    (v1 (make-float-vector len))
+	    (v2 (make-float-vector len))
+	    (v3 (make-float-vector len)))
 	(do ((k 0 (+ k 1)))
 	    ((= k len))
 	  (float-vector-set! v0 k (mus-random 0.5))
@@ -35858,8 +35609,7 @@ EDITS: 1
 	      (set! mx (max mx diffr diffi))))
 	  (if (or (> mx 1e-6)
 		  (> sum 1e-6))
-	      (snd-display ";fft! ~A: ~A ~A~%" len mx sum)))))
-    ))
+	      (snd-display ";fft! ~A: ~A ~A~%" len mx sum)))))))
 
 
 
@@ -35884,22 +35634,22 @@ EDITS: 1
     (let ((comments (or (channel-property 'comments snd chn) ())))
       (for-each
        (lambda (comment)
-	 (let* ((samp (car comment))
-		(text (cadr comment))
-		(text-width (* 6 (length text)))
-		(ls (left-sample snd chn))
-		(rs (right-sample snd chn)))
-	   (if (< ls samp rs)
-	       (let ((xpos (x->position (/ samp (srate))))
-		     (ypos (y->position (sample samp))))
-		 (catch #t
-			(lambda ()
-			  (let ((cr (make-cairo (car (channel-widgets snd chn)))))
-			    (draw-line xpos 20 xpos (- ypos 4) snd chn time-graph cr)
-			    (draw-string text (- xpos (/ text-width 2)) 18 snd chn time-graph cr)
-			    (free-cairo cr)))
-			(lambda args
-			  (snd-display ";draw error: ~A" args)))))))
+	 (let ((text (cadr comment)))
+	   (let ((samp (car comment))
+		 (text-width (* 6 (length text)))
+		 (ls (left-sample snd chn))
+		 (rs (right-sample snd chn)))
+	     (if (< ls samp rs)
+		 (let ((xpos (x->position (/ samp (srate))))
+		       (ypos (y->position (sample samp))))
+		   (catch #t
+		     (lambda ()
+		       (let ((cr (make-cairo (car (channel-widgets snd chn)))))
+			 (draw-line xpos 20 xpos (- ypos 4) snd chn time-graph cr)
+			 (draw-string text (- xpos (/ text-width 2)) 18 snd chn time-graph cr)
+			 (free-cairo cr)))
+		     (lambda args
+		       (snd-display ";draw error: ~A" args))))))))
        comments)))
   
   (define display-samps-in-red 
@@ -35916,17 +35666,15 @@ EDITS: 1
 		(let ((data (make-graph-data snd chn)))
 		  (when data
 		    (if (float-vector? data)                      ;the simple, one-sided graph case
-			(let* ((samps (- (min right 2000)
-					 (max left 1000)))
-			       (offset (max 0 (- 1000 left)))
-			       (new-data (float-vector-subseq data offset (+ offset samps)))
-			       (cr (make-cairo (car (channel-widgets snd chn)))))
+			(let ((new-data (let ((samps (- (min right 2000) (max left 1000)))
+					      (offset (max 0 (- 1000 left))))
+					  (float-vector-subseq data offset (+ offset samps))))
+			      (cr (make-cairo (car (channel-widgets snd chn)))))
 			  (set! (foreground-color snd chn) red)
 			  (graph-data new-data snd chn copy-context (max 1000 left) (min 2000 right) graph-lines cr)
 			  (free-cairo cr)
 			  (set! (foreground-color snd chn) old-color))
 			(let* ((low-data (car data))     ;the two-sided envelope graph case
-			       (high-data (cadr data))
 			       ;; we need to place the red portion correctly in the current graph
 			       ;; so the following is getting the "bin" numbers associated with 
 			       ;; samples 1000 and 2000
@@ -35935,7 +35683,7 @@ EDITS: 1
 			       (left-bin (round (/ (* size (max 0 (- 1000 left))) samps)))
 			       (right-bin (round (/ (* size (- (min 2000 right) left)) samps)))
 			       (new-low-data (float-vector-subseq low-data left-bin right-bin))
-			       (new-high-data (float-vector-subseq high-data left-bin right-bin))
+			       (new-high-data (float-vector-subseq (cadr data) left-bin right-bin))
 			       (cr (make-cairo (car (channel-widgets snd chn)))))
 			  (set! (foreground-color snd chn) red)
 			  (graph-data 
@@ -36655,81 +36403,80 @@ EDITS: 1
       (undo)
       (close-sound snd))
     
-    (let ((ind1 (open-sound "now.snd"))
-	  (ind2 (open-sound "oboe.snd")))
-      (let ((val (channel-mean ind1 0)))
-	(if (fneq val 5.02560673308833e-5) (snd-display ";channel-mean: ~A" val)))
-      (let ((val (channel-total-energy ind1 0)))
-	(if (fneq val 50.7153476262465) (snd-display ";channel-total-energy: ~A" val)))
-      (let ((val (channel-average-power ind1 0)))
-	(if (fneq val 0.00155078578803922) (snd-display ";channel-average-power: ~A" val)))
-      (let ((val (channel-rms ind1 0)))
-	(if (fneq val 0.039380017623653) (snd-display ";channel-rms: ~A" val)))
-      (let ((val (channel-norm ind1 0)))
-	(if (fneq val 7.12147088923675) (snd-display ";channel-norm: ~A" val)))
-      (let ((val (channel-variance ind1 0)))
-	(if (fneq val 50.7153476237207) (snd-display ";channel-variance: ~A" val)))
-      (let ((val (channel-lp 2 ind1 0)))
-	(if (fneq val 7.12147088923675) (snd-display ";channel-lp 2: ~A" val)))
-      (let ((val (channel-lp 1 ind1 0)))
-	(if (fneq val 775.966033935547) (snd-display ";channel-lp 1: ~A" val)))
-      (let ((val (channel2-inner-product ind1 0 ind2 0)))
-	(if (fneq val 1.52892031334341) (snd-display ";channel2-inner-product: ~A" val)))
-      (let ((val (channel2-angle ind1 0 ind2 0)))
-	(if (fneq val 1.55485084385627) (snd-display ";channel2-angle: ~A" val)))
-      (let ((val (channel2-orthogonal? ind1 0 ind2 0)))
-	(if val (snd-display ";channel2-orthogonal: ~A" val)))
-      (let ((val (channel2-coefficient-of-projection ind1 0 ind2 0)))
-	(if (fneq val 0.0301470932351876) (snd-display ";channel2-coefficient-of-projection: ~A" val)))
-      (close-sound ind1)
-      (set! ind1 (open-sound "oboe.snd"))
-      (scale-by .99 ind1 0)
-      (let ((dist (channel-distance ind1 0 ind2 0)))
-	(if (fneq dist .1346) (snd-display ";channel-distance: ~A" dist)))
-      
-      (close-sound ind1)
+    (let ((ind2 (open-sound "oboe.snd")))
+      (let ((ind1 (open-sound "now.snd")))
+	(let ((val (channel-mean ind1 0)))
+	  (if (fneq val 5.02560673308833e-5) (snd-display ";channel-mean: ~A" val)))
+	(let ((val (channel-total-energy ind1 0)))
+	  (if (fneq val 50.7153476262465) (snd-display ";channel-total-energy: ~A" val)))
+	(let ((val (channel-average-power ind1 0)))
+	  (if (fneq val 0.00155078578803922) (snd-display ";channel-average-power: ~A" val)))
+	(let ((val (channel-rms ind1 0)))
+	  (if (fneq val 0.039380017623653) (snd-display ";channel-rms: ~A" val)))
+	(let ((val (channel-norm ind1 0)))
+	  (if (fneq val 7.12147088923675) (snd-display ";channel-norm: ~A" val)))
+	(let ((val (channel-variance ind1 0)))
+	  (if (fneq val 50.7153476237207) (snd-display ";channel-variance: ~A" val)))
+	(let ((val (channel-lp 2 ind1 0)))
+	  (if (fneq val 7.12147088923675) (snd-display ";channel-lp 2: ~A" val)))
+	(let ((val (channel-lp 1 ind1 0)))
+	  (if (fneq val 775.966033935547) (snd-display ";channel-lp 1: ~A" val)))
+	(let ((val (channel2-inner-product ind1 0 ind2 0)))
+	  (if (fneq val 1.52892031334341) (snd-display ";channel2-inner-product: ~A" val)))
+	(let ((val (channel2-angle ind1 0 ind2 0)))
+	  (if (fneq val 1.55485084385627) (snd-display ";channel2-angle: ~A" val)))
+	(let ((val (channel2-orthogonal? ind1 0 ind2 0)))
+	  (if val (snd-display ";channel2-orthogonal: ~A" val)))
+	(let ((val (channel2-coefficient-of-projection ind1 0 ind2 0)))
+	  (if (fneq val 0.0301470932351876) (snd-display ";channel2-coefficient-of-projection: ~A" val)))
+	(close-sound ind1))
+      (let ((ind1 (open-sound "oboe.snd")))
+	(scale-by .99 ind1 0)
+	(let ((dist (channel-distance ind1 0 ind2 0)))
+	  (if (fneq dist .1346) (snd-display ";channel-distance: ~A" dist)))
+	(close-sound ind1))
       (close-sound ind2))
     
     (let ((loboe  (string-append (getcwd) "/oboe.snd"))
 	  (ltest  (string-append (getcwd) "/test.snd")))
       (copy-file loboe ltest)
       (mus-sound-forget ltest)
-      (let* ((ind (open-sound ltest))
-	     (mx (maxamp ind 0))
-	     (chns (chans ind))
-	     (sr (srate ind))
-	     (fr (framples ind 0)))
-	(if (not (and (= (chans ind) (mus-sound-chans loboe))
-		      (= (srate ind) (mus-sound-srate loboe))
-		      (= (framples ind) (mus-sound-framples loboe))))
-	    (snd-display ";copy oboe -> test seems to have failed? ~A ~A ~A"
-			 (chans ind) (srate ind) (framples ind))
-	    (with-local-hook
-	     update-hook
-	     (list (lambda (orig-ind)
-		     (lambda (new-ind)
-		       (set! ind new-ind))))
-	     (lambda ()
-	       (do ((i 0 (+ i 1)))
-		   ((= i 10))
-		 (let ((v (channel->float-vector)))
-		   (if (not (float-vector? v))
-		       (snd-display ";channel->float-vector of oboe copy is null??")
-		       (array->file ltest v fr sr chns)))
-		 (update-sound ind)
-		 (let ((mx1 (maxamp ind 0)))
-		   (if (fneq mx mx1)
-		       (snd-display ";update-sound looped maxamp: ~A ~A ~A ~A ~A (~A)" i ind (framples ind) mx1 mx (/ mx1 mx))))
-		 (if (not (= (chans ind) chns)) (snd-display ";update-sound looped chans: ~A ~A" chns (chans ind)))
-		 (if (not (= (srate ind) sr)) (snd-display ";update-sound looped srate: ~A ~A" sr (srate ind)))
-		 (if (not (= (framples ind) fr)) (snd-display ";update-sound looped framples: ~A ~A" fr (framples ind 0))))
-	       (let ((old-ind (open-sound "oboe.snd")))
-		 (let ((mxdiff (float-vector-peak (float-vector-subtract! (channel->float-vector 0 #f ind 0 0) (channel->float-vector 0 #f old-ind 0)))))
-		   (if (fneq mxdiff 0.0) 
-		       (snd-display ";update-sound looped overall max diff: ~A, sounds: ~A, ind: ~A, old-ind: ~A, rd: ~A" 
-				    mxdiff (sounds) ind old-ind home)))
-		 (close-sound old-ind)))))
-	(close-sound ind)))
+      (let ((ind (open-sound ltest)))
+	(let ((mx (maxamp ind 0))
+	      (chns (chans ind))
+	      (sr (srate ind))
+	      (fr (framples ind 0)))
+	  (if (not (and (= (chans ind) (mus-sound-chans loboe))
+			(= (srate ind) (mus-sound-srate loboe))
+			(= (framples ind) (mus-sound-framples loboe))))
+	      (snd-display ";copy oboe -> test seems to have failed? ~A ~A ~A"
+			   (chans ind) (srate ind) (framples ind))
+	      (with-local-hook
+	       update-hook
+	       (list (lambda (orig-ind)
+		       (lambda (new-ind)
+			 (set! ind new-ind))))
+	       (lambda ()
+		 (do ((i 0 (+ i 1)))
+		     ((= i 10))
+		   (let ((v (channel->float-vector)))
+		     (if (not (float-vector? v))
+			 (snd-display ";channel->float-vector of oboe copy is null??")
+			 (array->file ltest v fr sr chns)))
+		   (update-sound ind)
+		   (let ((mx1 (maxamp ind 0)))
+		     (if (fneq mx mx1)
+			 (snd-display ";update-sound looped maxamp: ~A ~A ~A ~A ~A (~A)" i ind (framples ind) mx1 mx (/ mx1 mx))))
+		   (if (not (= (chans ind) chns)) (snd-display ";update-sound looped chans: ~A ~A" chns (chans ind)))
+		   (if (not (= (srate ind) sr)) (snd-display ";update-sound looped srate: ~A ~A" sr (srate ind)))
+		   (if (not (= (framples ind) fr)) (snd-display ";update-sound looped framples: ~A ~A" fr (framples ind 0))))
+		 (let ((old-ind (open-sound "oboe.snd")))
+		   (let ((mxdiff (float-vector-peak (float-vector-subtract! (channel->float-vector 0 #f ind 0 0) (channel->float-vector 0 #f old-ind 0)))))
+		     (if (fneq mxdiff 0.0) 
+			 (snd-display ";update-sound looped overall max diff: ~A, sounds: ~A, ind: ~A, old-ind: ~A, rd: ~A" 
+				      mxdiff (sounds) ind old-ind home)))
+		   (close-sound old-ind)))))
+	  (close-sound ind))))
     
     (if (file-exists? "test.snd") (delete-file "test.snd"))
     (let ((ind (open-sound "oboe.snd")))
@@ -37134,11 +36881,11 @@ EDITS: 1
 	    ((= i 4) fv)
 	  (float-vector-set! fv i (+ (* s1 s2) (* (- 1.0 s1) s3))))))
     
-    (test (fv1 1 2 3) (float-vector 2.0 2.0 2.0 2.0))
-    (test (fv1 2 3 4) (float-vector 2.0 2.0 2.0 2.0))
-    (test (fv1 1.0 2.0 3.0) (float-vector 2.0 2.0 2.0 2.0))
-    (test (fv1 2.0 3.0 4.0) (float-vector 2.0 2.0 2.0 2.0))
-    (test (fv1 1/2 5/4 3/4) (float-vector 1.0 1.0 1.0 1.0))
+    (test (fv1 1 2 3) (make-float-vector 4 2.0))
+    (test (fv1 2 3 4) (make-float-vector 4 2.0))
+    (test (fv1 1.0 2.0 3.0) (make-float-vector 4 2.0))
+    (test (fv1 2.0 3.0 4.0) (make-float-vector 4 2.0))
+    (test (fv1 1/2 5/4 3/4) (make-float-vector 4 1.0))
     
     (test 
      (catch #t 
@@ -37397,7 +37144,7 @@ EDITS: 1
 	(do ((i 0 (+ i 1)))
 	    ((= i 4) fv)
 	  (float-vector-set! fv i (+ s3 s1 s2)))))
-    (test (fv27) (float-vector 7.0 7.0 7.0 7.0))
+    (test (fv27) (make-float-vector 4 7.0))
     
     (define (fv28)
       (let ((fv (make-float-vector 4))
@@ -37406,7 +37153,7 @@ EDITS: 1
 	(do ((i 0 (+ i 1)))
 	    ((= i 4) fv)
 	  (float-vector-set! fv i (+ 4.0 s1 s2)))))
-    (test (fv28) (float-vector 7.0 7.0 7.0 7.0))
+    (test (fv28) (make-float-vector 4 7.0))
     
     (define (fv29)
       (let ((fv (make-float-vector 4))
@@ -37415,7 +37162,7 @@ EDITS: 1
 	(do ((i 0 (+ i 1)))
 	    ((= i 4) fv)
 	  (float-vector-set! fv i (+ s1 s2 4.0)))))
-    (test (fv29) (float-vector 7.0 7.0 7.0 7.0))
+    (test (fv29) (make-float-vector 4 7.0))
     
     (define (fv30)
       (let ((fv (make-float-vector 4))
@@ -37593,7 +37340,7 @@ EDITS: 1
 	(do ((i 0 (+ i 1)))
 	    ((= i 4) fv)
 	  (float-vector-set! fv i (polynomial g0 x)))))
-    (test (fv44) (float-vector 7.0 7.0 7.0 7.0))
+    (test (fv44) (make-float-vector 4 7.0))
     
     (define (fv45)
       (let ((g0 (make-float-vector 3 1.0))
@@ -37604,14 +37351,6 @@ EDITS: 1
 	  (float-vector-set! fv i (polynomial g0 (* 2.0 (oscil x)))))))
     (test (fv45) (float-vector 1.0 1.36463818124426 1.87831605881756 2.516406739173554))
     
-    (define (fv46)
-      (let ((g0 (make-float-vector 4 1.0))
-	    (fv (make-float-vector 4)))
-	(do ((i 0 (+ i 1)))
-	    ((= i 4) fv)
-	  (float-vector-set! fv i (float-vector-ref g0 i)))))
-    (test (fv46) (float-vector 1.0 1.0 1.0 1.0))
-    
     (define (fv47)
       (let ((g0 (make-oscil 1000))
 	    (fv (make-float-vector 4))
@@ -37655,7 +37394,7 @@ EDITS: 1
 	(do ((i 0 (+ i 1)))
 	    ((= i 4) fv)
 	  (float-vector-set! fv (vector-ref iv i) 1.0))))
-    (test (fv50) (float-vector 1.0 1.0 1.0 1.0))
+    (test (fv50) (make-float-vector 4 1.0))
 
     (define (fv51)
       (let ((fv (make-float-vector 4))
@@ -37961,11 +37700,11 @@ EDITS: 1
 	(do ((i 0 (+ i 1)))
 	    ((= i 4) fv)
 	  (set! (fv i) (g0 i)))))
-    (test (fv86) (float-vector 1.0 1.0 1.0 1.0))
+    (test (fv86) (make-float-vector 4 1.0))
 
     (define (fv87)
       (do ((fv1 (make-float-vector 4 1.5))
-	   (fv2 (make-float-vector 4 0.0))
+	   (fv2 (make-float-vector 4))
 	   (i 0 (+ i 1))
 	   (j 0 (+ j 1)))
 	  ((= i 4) fv2)
@@ -38081,14 +37820,6 @@ EDITS: 1
 	(float-vector-set! fv i ((if (odd? i) + -) i 10.0))))
     (test (fv95a) (float-vector -10.0 11.0 -8.0 13.0))
 
-    (define (fv95b)
-      (do ((fv (make-float-vector 4))
-	   (i 0 (+ i 1))
-	   (x 0 (+ x 1)))
-	  ((= i 4) (and (positive? x) fv))
-	(float-vector-set! fv i ((if (not (odd? i)) + -) i 10.0))))
-    (test (fv95b) (float-vector 10.0 -9.0 12.0 -7.0))
-
     (define (fv96)
       (do ((fv (make-float-vector 4))
 	   (fv1 (make-float-vector 4))
@@ -38155,7 +37886,7 @@ EDITS: 1
 	    ((= i n))
 	  (do ((j 0 (+ j 1))
 	       (k i (+ k 1)))
-	      ((= j n))
+	      ((= j n) k)
 	    (float-vector-set! fv i (+ (float-vector-ref fv i) 1.0))))))
     (fv103) ; just run without overflow
 
@@ -38286,7 +38017,7 @@ EDITS: 1
 	    ((= i 4) fv)
 	  (let ((x (g0 i)))
 	    (set! (fv i) x)))))
-    (test (fv115) (float-vector 1.0 1.0 1.0 1.0))
+    (test (fv115) (make-float-vector 4 1.0))
     
     (define (fv116)
       (let ((fv (make-float-vector 4))
@@ -38370,13 +38101,8 @@ EDITS: 1
     
     (define (fv125)
       (let ((gen (make-delay 5)))
-	(do ((i 0 (+ i 1)))
-	    ((= i 3))
-	  (float-vector-set! (mus-data gen) i 0.3))
-	(let ((fv (make-float-vector 5)))
-	  (do ((i 0 (+ i 1)))
-	      ((= i 5) fv)
-	    (float-vector-set! fv i (float-vector-ref (mus-data gen) i))))))
+	(fill! (mus-data gen) 0.3)
+	(copy (mus-data gen) (make-float-vector 5) 0 3)))
     (test (fv125) (float-vector 0.3 0.3 0.3 0.0 0.0))
 
     (define (fv126)
@@ -38895,101 +38621,101 @@ EDITS: 1
     (test (fv163) (float-vector (sin 0.0) (sin 0.25) (sin 0.5) (sin 0.75)))
 
     (define (fv164) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 1.0 2.0 3.0)))))
-    (test (fv164) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv164) (make-float-vector 4 6.0))
     
     (define (fv165) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 4.5 3/2)))))
-    (test (fv165) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv165) (make-float-vector 4 6.0))
     
     (define (fv166) (let ((x 1/2) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 1 x)))))
-    (test (fv166) (float-vector 1.5 1.5 1.5 1.5))
+    (test (fv166) (make-float-vector 4 1.5))
     
     (define (fv167) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) 6.0))))
-    (test (fv167) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv167) (make-float-vector 4 6.0))
     
     (define (fv168) (let ((x 1.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x 5.0)))))
-    (test (fv168) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv168) (make-float-vector 4 6.0))
     
     (define (fv169) (let ((x 1.0) (y 5.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x y)))))
-    (test (fv169) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv169) (make-float-vector 4 6.0))
     
     (define (fv170) (let ((x 1.0) (y 6.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x y -1.0)))))
-    (test (fv170) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv170) (make-float-vector 4 6.0))
     
     (define (fv171) (let ((x 1.0) (y 6.0) (z -1.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x y z)))))
-    (test (fv171) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv171) (make-float-vector 4 6.0))
     
     (define (fv172) (let ((x 1.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x -1.0 6.0)))))
-    (test (fv172) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv172) (make-float-vector 4 6.0))
     
     (define (fv173) (let ((x 3.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x (abs x))))))
-    (test (fv173) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv173) (make-float-vector 4 6.0))
     
     (define (fv174) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x 2 (abs x))))))
-    (test (fv174) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv174) (make-float-vector 4 6.0))
     
     (define (fv175) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 2.0 2 (abs x))))))
-    (test (fv175) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv175) (make-float-vector 4 6.0))
     
     (define (fv176) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 2.0 (abs x) (abs x))))))
-    (test (fv176) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv176) (make-float-vector 4 6.0))
     
     (define (fv177) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ (abs x) (abs x) (abs x))))))
-    (test (fv177) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv177) (make-float-vector 4 6.0))
     
     (define (fv178) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ (abs x) x (abs x))))))
-    (test (fv178) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv178) (make-float-vector 4 6.0))
     
     (define (fv178c) (let ((x 2.0) (y 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ (abs x) x y)))))
-    (test (fv178c) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv178c) (make-float-vector 4 6.0))
     
     
     (define (fv179) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* 1.0 2.0 3.0)))))
-    (test (fv179) (float-vector 6.0 6.0 6.0 6.0))
+    (test (fv179) (make-float-vector 4 6.0))
     
     (define (fv180) (let ((x 1.0) (y 6.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x y -1.0)))))
-    (test (fv180) (float-vector -6.0 -6.0 -6.0 -6.0))
+    (test (fv180) (make-float-vector 4 -6.0))
     
     (define (fv181) (let ((x 1.0) (y 6.0) (z -1.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x y z)))))
-    (test (fv181) (float-vector -6.0 -6.0 -6.0 -6.0))
+    (test (fv181) (make-float-vector 4 -6.0))
     
     (define (fv182) (let ((x 1.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x -1.0 6.0)))))
-    (test (fv182) (float-vector -6.0 -6.0 -6.0 -6.0))
+    (test (fv182) (make-float-vector 4 -6.0))
     
     (define (fv183) (let ((x 3.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x (abs x))))))
-    (test (fv183) (float-vector 9.0 9.0 9.0 9.0))
+    (test (fv183) (make-float-vector 4 9.0))
     
     (define (fv184) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x 2 (abs x))))))
-    (test (fv184) (float-vector 8.0 8.0 8.0 8.0))
+    (test (fv184) (make-float-vector 4 8.0))
     
     (define (fv185) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* 2.0 2 (abs x))))))
-    (test (fv185) (float-vector 8.0 8.0 8.0 8.0))
+    (test (fv185) (make-float-vector 4 8.0))
     
     (define (fv186) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* 2.0 (abs x) (abs x))))))
-    (test (fv186) (float-vector 8.0 8.0 8.0 8.0))
+    (test (fv186) (make-float-vector 4 8.0))
     
     (define (fv187) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* (abs x) (abs x) (abs x))))))
-    (test (fv187) (float-vector 8.0 8.0 8.0 8.0))
+    (test (fv187) (make-float-vector 4 8.0))
     
     (define (fv188) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* (abs x) x (abs x))))))
-    (test (fv188) (float-vector 8.0 8.0 8.0 8.0))
+    (test (fv188) (make-float-vector 4 8.0))
     
     (define (fv188c) (let ((x 2.0) (y 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* (abs x) x y)))))
-    (test (fv188c) (float-vector 8.0 8.0 8.0 8.0))
+    (test (fv188c) (make-float-vector 4 8.0))
     
     (define (fv189) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* 4.5 3/2)))))
-    (test (fv189) (float-vector 6.75 6.75 6.75 6.75))
+    (test (fv189) (make-float-vector 4 6.75))
     
     (define (fv190) (let ((x 1/2) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) x))))
-    (test (fv190) (float-vector 0.5 0.5 0.5 0.5))
+    (test (fv190) (make-float-vector 4 0.5))
     
     (define (fv192) (let ((x 1.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x 5.0)))))
-    (test (fv192) (float-vector 5.0 5.0 5.0 5.0))
+    (test (fv192) (make-float-vector 4 5.0))
     
     (define (fv193) (let ((x 1.0) (y 5.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x y)))))
-    (test (fv193) (float-vector 5.0 5.0 5.0 5.0))
+    (test (fv193) (make-float-vector 4 5.0))
 
     (define (fvi164) (let ((fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 1 2 3)))))
-    (test (fvi164) (int-vector 6 6 6 6))
+    (test (fvi164) (make-int-vector 4 6))
     
     (define (fvi165) (let ((fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 4.5 3/2)))))
     (test (catch #t fvi165 (lambda args 'error)) 'error)
@@ -38998,156 +38724,156 @@ EDITS: 1
     (test (catch #t fvi166 (lambda args 'error))'error)
     
     (define (fvi167) (let ((fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) 6))))
-    (test (fvi167) (int-vector 6 6 6 6))
+    (test (fvi167) (make-int-vector 4 6))
     
     (define (fvi168) (let ((x 1) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x 5)))))
-    (test (fvi168) (int-vector 6 6 6 6))
+    (test (fvi168) (make-int-vector 4 6))
     
     (define (fvi169) (let ((x 1) (y 5) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x y)))))
-    (test (fvi169) (int-vector 6 6 6 6))
+    (test (fvi169) (make-int-vector 4 6))
     
     (define (fvi170) (let ((x 1) (y 6) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x y -1)))))
-    (test (fvi170) (int-vector 6 6 6 6))
+    (test (fvi170) (make-int-vector 4 6))
     
     (define (fvi171) (let ((x 1) (y 6) (z -1) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x y z)))))
-    (test (fvi171) (int-vector 6 6 6 6))
+    (test (fvi171) (make-int-vector 4 6))
     
     (define (fvi172) (let ((x 1) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x -1 6)))))
-    (test (fvi172) (int-vector 6 6 6 6))
+    (test (fvi172) (make-int-vector 4 6))
     
     (define (fvi173) (let ((x 3) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x (abs x))))))
-    (test (fvi173) (int-vector 6 6 6 6))
+    (test (fvi173) (make-int-vector 4 6))
     
     (define (fvi174) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x 2 (abs x))))))
-    (test (fvi174) (int-vector 6 6 6 6))
+    (test (fvi174) (make-int-vector 4 6))
     
     (define (fvi175) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 2 2 (abs x))))))
-    (test (fvi175) (int-vector 6 6 6 6))
+    (test (fvi175) (make-int-vector 4 6))
     
     (define (fvi176) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 2 (abs x) (abs x))))))
-    (test (fvi176) (int-vector 6 6 6 6))
+    (test (fvi176) (make-int-vector 4 6))
     
     (define (fvi177) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ (abs x) (abs x) (abs x))))))
-    (test (fvi177) (int-vector 6 6 6 6))
+    (test (fvi177) (make-int-vector 4 6))
     
     (define (fvi178) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ (abs x) x (abs x))))))
-    (test (fvi178) (int-vector 6 6 6 6))
+    (test (fvi178) (make-int-vector 4 6))
     
     (define (fvk178) (let ((x 2) (y 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ (abs x) x y)))))
-    (test (fvk178) (int-vector 6 6 6 6))
+    (test (fvk178) (make-int-vector 4 6))
     
     
     (define (fvi179) (let ((fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* 1 2 3)))))
-    (test (fvi179) (int-vector 6 6 6 6))
+    (test (fvi179) (make-int-vector 4 6))
     
     (define (fvi180) (let ((x 1) (y 6) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x y -1)))))
-    (test (fvi180) (int-vector -6 -6 -6 -6))
+    (test (fvi180) (make-int-vector 4 -6))
     
     (define (fvi181) (let ((x 1) (y 6) (z -1) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x y z)))))
-    (test (fvi181) (int-vector -6 -6 -6 -6))
+    (test (fvi181) (make-int-vector 4 -6))
     
     (define (fvi182) (let ((x 1) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x -1 6)))))
-    (test (fvi182) (int-vector -6 -6 -6 -6))
+    (test (fvi182) (make-int-vector 4 -6))
     
     (define (fvi183) (let ((x 3) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x (abs x))))))
     (test (fvi183) (int-vector 9 9 9 9))
     
     (define (fvi184) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x 2 (abs x))))))
-    (test (fvi184) (int-vector 8 8 8 8))
+    (test (fvi184) (make-int-vector 4 8))
     
     (define (fvi185) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* 2 2 (abs x))))))
-    (test (fvi185) (int-vector 8 8 8 8))
+    (test (fvi185) (make-int-vector 4 8))
     
     (define (fvi186) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* 2 (abs x) (abs x))))))
-    (test (fvi186) (int-vector 8 8 8 8))
+    (test (fvi186) (make-int-vector 4 8))
     
     (define (fvi187) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* (abs x) (abs x) (abs x))))))
-    (test (fvi187) (int-vector 8 8 8 8))
+    (test (fvi187) (make-int-vector 4 8))
     
     (define (fvi188) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* (abs x) x (abs x))))))
-    (test (fvi188) (int-vector 8 8 8 8))
+    (test (fvi188) (make-int-vector 4 8))
     
     (define (fvk188) (let ((x 2) (y 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* (abs x) x y)))))
-    (test (fvk188) (int-vector 8 8 8 8))
+    (test (fvk188) (make-int-vector 4 8))
     
     (define (fvi191) (let ((fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* 6)))))
-    (test (fvi191) (int-vector 6 6 6 6))
+    (test (fvi191) (make-int-vector 4 6))
     
     (define (fvi192) (let ((x 1) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x 5)))))
-    (test (fvi192) (int-vector 5 5 5 5))
+    (test (fvi192) (make-int-vector 4 5))
     
     (define (fvi193) (let ((x 1) (y 5) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (* x y)))))
-    (test (fvi193) (int-vector 5 5 5 5))
+    (test (fvi193) (make-int-vector 4 5))
     
     
     (define (fv194) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 1.0 2.0 3.0 4.0)))))
-    (test (fv194) (float-vector 10.0 10.0 10.0 10.0))
+    (test (fv194) (make-float-vector 4 10.0))
     
     (define (fv195) (let ((x 1.0) (y 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ x y (+ x 2.0) 4.0)))))
-    (test (fv195) (float-vector 10.0 10.0 10.0 10.0))
+    (test (fv195) (make-float-vector 4 10.0))
     
     (define (fv196) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 1.0 2.0 3.0 4.0 5.0)))))
-    (test (fv196) (float-vector 15.0 15.0 15.0 15.0))
+    (test (fv196) (make-float-vector 4 15.0))
     
     (define (fv197) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ 1.0 2.0 3.0 4.0 5.0 6.0)))))
-    (test (fv197) (float-vector 21.0 21.0 21.0 21.0))
+    (test (fv197) (make-float-vector 4 21.0))
     
     (define (fv198) (let ((fv (make-float-vector 4))
 			  (a 1.0) (b 2.0) (c 4.0))
 		      (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (+ a b 3.0 c a c b c a b c a b c a b c a b c a b c)))))
-    (test (fv198) (float-vector 56.0 56.0 56.0 56.0))
+    (test (fv198) (make-float-vector 4 56.0))
     
 
     (define (fv164b) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 1.0 2.0 3.0)))))
-    (test (fv164b) (float-vector -4.0 -4.0 -4.0 -4.0))
+    (test (fv164b) (make-float-vector 4 -4.0))
     
     (define (fv165b) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 4.5 3/2)))))
-    (test (fv165b) (float-vector 3.0 3.0 3.0 3.0))
+    (test (fv165b) (make-float-vector 4 3.0))
     
     (define (fv166b) (let ((x 1/2) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 1 x)))))
-    (test (fv166b) (float-vector .5 .5 .5 .5))
+    (test (fv166b) (make-float-vector 4 .5))
     
     (define (fv167b) (let ((fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 6.0)))))
-    (test (fv167b) (float-vector -6.0 -6.0 -6.0 -6.0))
+    (test (fv167b) (make-float-vector 4 -6.0))
     
     (define (fv168b) (let ((x 1.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x 5.0)))))
-    (test (fv168b) (float-vector -4.0 -4.0 -4.0 -4.0))
+    (test (fv168b) (make-float-vector 4 -4.0))
     
     (define (fv169b) (let ((x 1.0) (y 5.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x y)))))
-    (test (fv169b) (float-vector -4.0 -4.0 -4.0 -4.0))
+    (test (fv169b) (make-float-vector 4 -4.0))
     
     (define (fv170b) (let ((x 1.0) (y 6.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x y -1.0)))))
-    (test (fv170b) (float-vector -4.0 -4.0 -4.0 -4.0))
+    (test (fv170b) (make-float-vector 4 -4.0))
     
     (define (fv171b) (let ((x 1.0) (y 6.0) (z -1.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x y z)))))
-    (test (fv171b) (float-vector -4.0 -4.0 -4.0 -4.0))
+    (test (fv171b) (make-float-vector 4 -4.0))
     
     (define (fv172b) (let ((x 1.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x -1.0 6.0)))))
-    (test (fv172b) (float-vector -4.0 -4.0 -4.0 -4.0))
+    (test (fv172b) (make-float-vector 4 -4.0))
     
     (define (fv173b) (let ((x 3.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x (abs x))))))
-    (test (fv173b) (float-vector 0.0 0.0 0.0 0.0))
+    (test (fv173b) (make-float-vector 4))
     
     (define (fv174b) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x 2 (abs x))))))
-    (test (fv174b) (float-vector -2.0 -2.0 -2.0 -2.0))
+    (test (fv174b) (make-float-vector 4 -2.0))
     
     (define (fv175b) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 2.0 2 (abs x))))))
-    (test (fv175b) (float-vector -2.0 -2.0 -2.0 -2.0))
+    (test (fv175b) (make-float-vector 4 -2.0))
     
     (define (fv176b) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 2.0 (abs x) (abs x))))))
-    (test (fv176b) (float-vector -2.0 -2.0 -2.0 -2.0))
+    (test (fv176b) (make-float-vector 4 -2.0))
     
     (define (fv177b) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- (abs x) (abs x) (abs x))))))
-    (test (fv177b) (float-vector -2.0 -2.0 -2.0 -2.0))
+    (test (fv177b) (make-float-vector 4 -2.0))
     
     (define (fv178b) (let ((x 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- (abs x) x (abs x))))))
-    (test (fv178b) (float-vector -2.0 -2.0 -2.0 -2.0))
+    (test (fv178b) (make-float-vector 4 -2.0))
     
     (define (fv178bb) (let ((x 2.0) (y 2.0) (fv (make-float-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- (abs x) x y)))))
-    (test (fv178bb) (float-vector -2.0 -2.0 -2.0 -2.0))
+    (test (fv178bb) (make-float-vector 4 -2.0))
     
     (define (fvi164a) (let ((fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 1 2 3)))))
-    (test (fvi164a) (int-vector -4 -4 -4 -4))
+    (test (fvi164a) (make-int-vector 4 -4))
     
     (define (fvi165a) (let ((fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 4.5 3/2)))))
     (test (catch #t fvi165a (lambda args 'error)) 'error)
@@ -39156,40 +38882,40 @@ EDITS: 1
     (test (catch #t fvi166a (lambda args 'error))'error)
     
     (define (fvi167a) (let ((fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) -6))))
-    (test (fvi167a) (int-vector -6 -6 -6 -6))
+    (test (fvi167a) (make-int-vector 4 -6))
     
     (define (fvi168a) (let ((x 1) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x 5)))))
-    (test (fvi168a) (int-vector -4 -4 -4 -4))
+    (test (fvi168a) (make-int-vector 4 -4))
     
     (define (fvi169a) (let ((x 1) (y 5) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x y)))))
-    (test (fvi169a) (int-vector -4 -4 -4 -4))
+    (test (fvi169a) (make-int-vector 4 -4))
     
     (define (fvi170a) (let ((x 1) (y 6) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x y -1)))))
-    (test (fvi170a) (int-vector -4 -4 -4 -4))
+    (test (fvi170a) (make-int-vector 4 -4))
     
     (define (fvi171a) (let ((x 1) (y 6) (z -1) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x y z)))))
-    (test (fvi171a) (int-vector -4 -4 -4 -4))
+    (test (fvi171a) (make-int-vector 4 -4))
     
     (define (fvi173a) (let ((x 3) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x (abs x))))))
     (test (fvi173a) (int-vector 0 0 0 0))
     
     (define (fvi174a) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- x 2 (abs x))))))
-    (test (fvi174a) (int-vector -2 -2 -2 -2))
+    (test (fvi174a) (make-int-vector 4 -2))
     
     (define (fvi175a) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 2 2 (abs x))))))
-    (test (fvi175a) (int-vector -2 -2 -2 -2))
+    (test (fvi175a) (make-int-vector 4 -2))
     
     (define (fvi176a) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- 2 (abs x) (abs x))))))
-    (test (fvi176a) (int-vector -2 -2 -2 -2))
+    (test (fvi176a) (make-int-vector 4 -2))
     
     (define (fvi177a) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- (abs x) (abs x) (abs x))))))
-    (test (fvi177a) (int-vector -2 -2 -2 -2))
+    (test (fvi177a) (make-int-vector 4 -2))
     
     (define (fvi178a) (let ((x 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- (abs x) x (abs x))))))
-    (test (fvi178a) (int-vector -2 -2 -2 -2))
+    (test (fvi178a) (make-int-vector 4 -2))
     
     (define (fvi178aa) (let ((x 2) (y 2) (fv (make-int-vector 4))) (do ((i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- (abs x) x y)))))
-    (test (fvi178aa) (int-vector -2 -2 -2 -2))
+    (test (fvi178aa) (make-int-vector 4 -2))
 
     )
   
@@ -39673,16 +39399,16 @@ EDITS: 1
 	(outa i (oscil o)))))
   
   (define (step-src)
-    (let* ((rd (make-sampler 0))
-	   (o (make-oscil 2205.0))
-	   (s (make-src :srate 0.0 :input rd))
-	   (incr (+ 2.0 (oscil o)))	  
-	   (tempfile (with-sound ((snd-tempnam) :srate (srate) :to-snd #f :comment "step-src")
-		       (do ((samp 0 (+ samp 1)))
-			   ((sampler-at-end? rd))
-			 (outa samp (src s incr))
-			 (if (= (modulo samp 2205) 0)
-			     (set! incr (+ 2.0 (oscil o))))))))
+    (let ((tempfile (with-sound ((snd-tempnam) :srate (srate) :to-snd #f :comment "step-src")
+		      (let ((o (make-oscil 2205.0))
+			    (rd (make-sampler 0)))	     
+			(do ((s (make-src :srate 0.0 :input rd))
+			     (incr (+ 2.0 (oscil o)))
+			     (samp 0 (+ samp 1)))
+			    ((sampler-at-end? rd))
+			  (outa samp (src s incr))
+			  (if (= (modulo samp 2205) 0)
+			      (set! incr (+ 2.0 (oscil o)))))))))
       (set-samples 0 (- (mus-sound-framples tempfile) 1) tempfile #f #f #t "step-src" 0 #f #t)))
   
   (define* (clm-reverb-sound reverb-amount reverb (reverb-data ()) snd)
@@ -39728,58 +39454,57 @@ EDITS: 1
   (definstrument (dloc-sinewave start-time duration freq amp 
 				(amp-env '(0 1 1 1))
 				(path (make-path :path '(-10 10 0 5 10 10))))
-    (let* ((vals (make-dlocsig :start-time start-time
-			       :duration duration
-			       :path path))
-	   (dloc (car vals))
-	   (beg (cadr vals))
-	   (end (caddr vals)))
-      (let ((osc (make-oscil :frequency freq))
-	    (aenv (make-env :envelope amp-env :scaler amp :duration duration)))
-	   (do ((i beg (+ i 1)))
-	       ((= i end))
-	     (dlocsig dloc i (* (env aenv) (oscil osc)))))))
+    (let ((vals (make-dlocsig :start-time start-time
+			      :duration duration
+			      :path path)))
+      (let ((dloc (car vals))
+	    (beg (cadr vals))
+	    (end (caddr vals)))
+	(let ((osc (make-oscil :frequency freq))
+	      (aenv (make-env :envelope amp-env :scaler amp :duration duration)))
+	  (do ((i beg (+ i 1)))
+	      ((= i end))
+	    (dlocsig dloc i (* (env aenv) (oscil osc))))))))
   
   (definstrument (dlocsig-sinewave-1 start-time duration freq amp 
 				     (amp-env '(0 1 1 1))
 				     (path (make-path :path '(-10 10 0 5 10 10)))
 				     (decode amplitude-panning)
 				     initdly)
-    (let* ((vals (make-dlocsig :start-time start-time
-			       :duration duration
-			       :render-using decode
-			       :initial-delay initdly
-			       :path path))
-	   (dloc (car vals))
-	   (beg (cadr vals))
-	   (end (caddr vals)))
-      (let ((osc (make-oscil :frequency freq))
-	    (aenv (make-env :envelope amp-env :scaler amp :duration duration)))
-	   (do ((i beg (+ i 1)))
-	       ((= i end))
-	     (dlocsig dloc i (* (env aenv) (oscil osc)))))))
+    (let ((vals (make-dlocsig :start-time start-time
+			      :duration duration
+			      :render-using decode
+			      :initial-delay initdly
+			      :path path)))
+      (let ((dloc (car vals))
+	    (beg (cadr vals))
+	    (end (caddr vals)))
+	(let ((osc (make-oscil :frequency freq))
+	      (aenv (make-env :envelope amp-env :scaler amp :duration duration)))
+	  (do ((i beg (+ i 1)))
+	      ((= i end))
+	    (dlocsig dloc i (* (env aenv) (oscil osc))))))))
   
   (define (mix-move-sound start-time file path)
-    (let* ((duration (mus-sound-duration file))
-	   (rd (make-sampler 0 file))
+    (let* ((rd (make-sampler 0 file))
 	   (start (round (* *clm-srate* start-time)))
 	   (tmp-sound (with-temp-sound (:channels 4 :srate (mus-sound-srate file))
-				       (let* ((vals (make-dlocsig :start-time 0
-								  :duration duration
-								  :path path))
-					      (dloc (car vals))
-					      (beg (cadr vals))
-					      (end (caddr vals)))
-					    (do ((i beg (+ i 1)))
-						((= i end))
-					      (dlocsig dloc i (read-sample rd)))))))
+				       (let ((vals (make-dlocsig :start-time 0
+								 :duration (mus-sound-duration file)
+								 :path path)))
+					 (let ((dloc (car vals))
+					       (beg (cadr vals))
+					       (end (caddr vals)))
+					   (do ((i beg (+ i 1)))
+					       ((= i end))
+					     (dlocsig dloc i (read-sample rd))))))))
       (mix tmp-sound start #t #f #f *with-mix-tags* #t)))
   
   (definstrument (defopt-simp beg dur (frequency 440.0) (amplitude 0.1))
     (let ((os (make-oscil frequency))
 	  (end (+ beg dur)))
-       (do ((i beg (+ i 1))) ((= i end))
-	 (outa i (* amplitude (oscil os))))))
+      (do ((i beg (+ i 1))) ((= i end))
+	(outa i (* amplitude (oscil os))))))
   
   (definstrument (jcrev2)
     (let ((allpass11 (make-all-pass -0.700 0.700 1051))
@@ -39800,7 +39525,7 @@ EDITS: 1
 	  (comb42 (make-comb 0.697 5801))
 	  (outdel12 (make-delay (seconds->samples .01)))
 	  (len (floor (+ (framples *reverb*) *clm-srate*))))
-
+      
       (let ((combs1 (make-comb-bank (vector comb11 comb21 comb31 comb41)))
 	    (combs2 (make-comb-bank (vector comb12 comb22 comb32 comb42)))
 	    (allpasses1 (make-all-pass-bank (vector allpass11 allpass21 allpass31)))
@@ -39815,33 +39540,33 @@ EDITS: 1
   
   (definstrument (floc-simp beg dur (amp 0.5) (freq 440.0) (ramp 2.0) (rfreq 1.0) offset)
     (let ((os (make-pulse-train freq amp))
-	   (floc (make-flocsig :reverb-amount 0.1
-			       :frequency rfreq
-			       :amplitude ramp
-			       :offset offset))
-	   (start (seconds->samples beg))
-	   (end (seconds->samples (+ beg dur))))
-	 (do ((i start (+ i 1))) 
-	     ((= i end))
-	   (flocsig floc i (pulse-train os)))))
+	  (floc (make-flocsig :reverb-amount 0.1
+			      :frequency rfreq
+			      :amplitude ramp
+			      :offset offset))
+	  (start (seconds->samples beg))
+	  (end (seconds->samples (+ beg dur))))
+      (do ((i start (+ i 1))) 
+	  ((= i end))
+	(flocsig floc i (pulse-train os)))))
   
   (dismiss-all-dialogs)
   
   (do ((clmtest 0 (+ 1 clmtest))) ((= clmtest tests)) 
     (log-mem clmtest)
-
-;    (set! *clm-notehook* (lambda args (display args) (newline)))
-
+    
+					;    (set! *clm-notehook* (lambda args (display args) (newline)))
+    
     ;; check clm output for bad zero case
     (for-each
      (lambda (type)
-       (let* ((ind (find-sound 
+       (let ((mx (maxamp
+		  (find-sound 
 		    (with-sound (:sample-type type :srate 22050)
 		      (fm-violin 0 .1 440 .1)
 		      (fm-violin 10 .1 440 .1)
 		      (fm-violin 100 .1 440 .1)
-		      (fm-violin 250 .1 440 .1))))
-	      (mx (maxamp ind)))
+		      (fm-violin 250 .1 440 .1))))))
 	 (if (ffneq mx .1) ; mus-byte -> 0.093
 	     (snd-display ";max: ~A, format: ~A" mx (mus-sample-type->string type)))))
      (list mus-bshort   mus-lshort   mus-mulaw   mus-alaw   mus-byte  
@@ -39925,11 +39650,11 @@ EDITS: 1
       (delete-file "test1.snd"))
     
     (with-sound (:srate 22050 :channels 2 :output "test1.snd" :reverb jc-reverb) 
-		(if (not (= (mus-sound-srate (mus-file-name *output*)) 22050))
-		    (snd-display ";srate file *output*: ~A" (mus-sound-srate (mus-file-name *output*))))
-		(if (not (= (mus-sound-srate (mus-file-name *reverb*)) 22050))
-		    (snd-display ";srate file *reverb*: ~A" (mus-sound-srate (mus-file-name *reverb*))))
-		(fm-violin 0 .1 440 .1 :degree 45.0))
+      (if (not (= (mus-sound-srate (mus-file-name *output*)) 22050))
+	  (snd-display ";srate file *output*: ~A" (mus-sound-srate (mus-file-name *output*))))
+      (if (not (= (mus-sound-srate (mus-file-name *reverb*)) 22050))
+	  (snd-display ";srate file *reverb*: ~A" (mus-sound-srate (mus-file-name *reverb*))))
+      (fm-violin 0 .1 440 .1 :degree 45.0))
     (let ((ind (find-sound "test1.snd")))
       (if (not ind) (snd-display ";with-sound (2): ~A" (map file-name (sounds)))
 	  (if (> (framples ind) 24256) (snd-display ";with-sound reverbed framples (2): ~A" (framples ind))))
@@ -39942,7 +39667,7 @@ EDITS: 1
 	(if (fneq mx .5) (snd-display ";with-sound scaled-to: ~A" (maxamp)))
 	(if (not (string=? (comment ind) "Snd+Run!")) (snd-display ";with-sound comment: ~A (~A)" (comment ind) (mus-sound-comment "test.snd"))))
       (close-sound ind))
-
+    
     (with-sound (:scaled-to .9 :channels 2) (fm-violin 0 .1 440 1.5 :degree 90))
     (let ((ind (find-sound "test.snd")))
       (if (not ind) (snd-display ";with-sound: ~A" (map file-name (sounds))))
@@ -39996,16 +39721,16 @@ EDITS: 1
       (close-sound ind))
     
     (with-sound ()
-		 (do ((i 0 (+ i 1)))
-		     ((= i 3))
-		   (let ((gen (make-oscil 440.0))
-			 (e (make-env (float-vector 0.0 0.0 1.0 1.0 2.0 0.0) 0.1 1.0))
-			 (beg (* i 50000))
-			 (end (+ 44100 (* i 50000))))
-		     (do ((k beg (+ k 1)))
-			 ((= k end))
-		       (outa k (* (env e) (oscil gen)))))))
-
+      (do ((i 0 (+ i 1)))
+	  ((= i 3))
+	(let ((gen (make-oscil 440.0))
+	      (e (make-env (float-vector 0.0 0.0 1.0 1.0 2.0 0.0) 0.1 1.0))
+	      (beg (* i 50000))
+	      (end (+ 44100 (* i 50000))))
+	  (do ((k beg (+ k 1)))
+	      ((= k end))
+	    (outa k (* (env e) (oscil gen)))))))
+    
     (let ((ind (find-sound "test.snd")))
       (if (> (abs (- (framples ind) 144100)) 2)
 	  (snd-display ";with-sound make-oscil framples: ~A" (framples)))
@@ -40029,11 +39754,11 @@ EDITS: 1
       (set! (var 'one) 321)
       (set! (var 'two) "hiho")
       (if (not (= (var 'one) 321)) (snd-display ";st1-one (321): ~A" (var 'one)))
-      (if (not (string=? (var 'two) "hiho")) (snd-display ";st1-two (hiho): ~A" (var 'two)))
-      (set! var (make-st1))
+      (if (not (string=? (var 'two) "hiho")) (snd-display ";st1-two (hiho): ~A" (var 'two))))
+    (let ((var (make-st1)))
       (if (fneq (var 'one) 0.0) (snd-display ";st1-one #f: ~A" (var 'one)))
-      (if (fneq (var 'two) 0.0) (snd-display ";st1-two #f: ~A" (var 'two)))
-      (set! var (make-st1 :two 3))
+      (if (fneq (var 'two) 0.0) (snd-display ";st1-two #f: ~A" (var 'two))))
+    (let ((var (make-st1 :two 3)))
       (if (fneq (var 'one) 0.0) (snd-display ";st1-one #f (def): ~A" (var 'one)))  
       (if (not (= (var 'two) 3)) (snd-display ";st1-two (3): ~A" (var 'two))))
     
@@ -40045,11 +39770,11 @@ EDITS: 1
       (set! (var 'one) 321)
       (set! (var 'two) "hiho")
       (if (not (= (var 'one) 321)) (snd-display ";st2-one (321): ~A" (var 'one)))
-      (if (not (string=? (var 'two) "hiho")) (snd-display ";st2-two (hiho): ~A" (var 'two)))
-      (set! var (make-st2))
+      (if (not (string=? (var 'two) "hiho")) (snd-display ";st2-two (hiho): ~A" (var 'two))))
+    (let ((var (make-st2)))
       (if (not (= (var 'one) 11)) (snd-display ";st2-one 11: ~A" (var 'one)))
-      (if (not (= (var 'two) 22)) (snd-display ";st2-two 22: ~A" (var 'two)))
-      (set! var (make-st2 :two 3))
+      (if (not (= (var 'two) 22)) (snd-display ";st2-two 22: ~A" (var 'two))))
+    (let ((var (make-st2 :two 3)))
       (if (not (= (var 'one) 11)) (snd-display ";st2-one 11 (def): ~A" (var 'one)))  
       (if (not (= (var 'two) 3)) (snd-display ";st2-two (3): ~A" (var 'two))))
     
@@ -40070,7 +39795,7 @@ EDITS: 1
       (if (fneq (gad 'flt1) 1.0) (snd-display ";defgenerator flt1: ~A" (gad 'flt1)))
       (if (not (= (gad 'i) 0)) (snd-display ";defgenerator i: ~A" (gad 'i)))
       (if (not (= (gad 'i1) 123)) (snd-display ";defgenerator i1: ~A" (gad 'i1))))
-
+    
     (let ()
       (defgenerator (g1 :methods (list (cons 'g1-method (lambda (g) 440)))))
       (let ((g (make-g1)))
@@ -40078,13 +39803,13 @@ EDITS: 1
 	    (format () ";not g1: ~A~%" (reverse (map values g))))
 	(if (not (= ((g 'g1-method) g) 440))
 	    (format () ";g1-method: ~A~%" ((g 'g1-method) g)))))
-
+    
     (if (file-exists? "test.snd") (delete-file "test.snd"))
     (set! *clm-srate* 22050)
     (set! *default-output-srate* 22050)
     (let ((outer (with-sound () 
-			     (sound-let ((a () (fm-violin 0 .1 440 .1))) 
-					(mus-file-mix *output* a)))))
+		   (sound-let ((a () (fm-violin 0 .1 440 .1))) 
+			      (mus-file-mix *output* a)))))
       (if (not (string=? outer "test.snd"))
 	  (snd-display ";with-sound returns: ~A" outer))
       (let ((ind (find-sound outer)))
@@ -40095,11 +39820,11 @@ EDITS: 1
     
     (if (file-exists? "test.snd") (delete-file "test.snd"))
     (let ((outer (with-sound () 
-			     (sound-let ((a () (fm-violin 0 .1 440 .1))
-					 (b 100))
-					(mus-file-mix *output* a b)
-					(sound-let ((c (:channels 1 :output "temp.snd") (fm-violin 0 .1 110.0 .1)))
-						   (mus-file-mix *output* c))))))
+		   (sound-let ((a () (fm-violin 0 .1 440 .1))
+			       (b 100))
+			      (mus-file-mix *output* a b)
+			      (sound-let ((c (:channels 1 :output "temp.snd") (fm-violin 0 .1 110.0 .1)))
+					 (mus-file-mix *output* c))))))
       (if (not (string=? outer "test.snd"))
 	  (snd-display ";with-sound (2) returns: ~A" outer))
       (let ((ind (find-sound outer)))
@@ -40151,7 +39876,7 @@ EDITS: 1
       (if (<= (maxamp ind) .16) (snd-display ";freeverb 3.0 global 0.5: ~A" (maxamp ind)))
       (close-sound ind)
       (delete-file "test1.snd"))
-
+    
     (set! *clm-srate* 22050)
     (set! *default-output-srate* 22050)
     
@@ -40180,158 +39905,158 @@ EDITS: 1
       ;;   we currently get away with it because it is normalized out of existence
       ;;   the .5 business in the bassdr2 works because it is like adding abs(sin)
       (with-sound (:reverb nrev :play #f)
-		  (drone  .000  4.000  115.000  (* .25 .500) solid bassdr2  .100  .500
-			  .030  45.000 1  .010 10)
-		  (drone  .000  4.000  229.000  (* .25 .500) solid tenordr  .100  .500
-			  .030  45.000 1  .010 11)
-		  (drone  .000  4.000  229.500  (* .25 .500) solid tenordr  .100  .500
-			  .030  45.000 1  .010 9)
-		  (canter  .000  2.100 918  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  2.100  .300 688.5  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  2.400  .040 826.2  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  2.440  .560 459  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.000  .040 408  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.040  .040 619.65  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.080  .040 408  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.120  .040 688.5  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.160  .290 459  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.450  .150 516.375  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.600  .040 826.2  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.640  .040 573.75  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.680  .040 619.65  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.720  .180 573.75  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.900  .040 688.5  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )
-		  (canter  3.940  .260 459  (* .25 .700)  45.000 1  .050 ampf ranf skwf
-			   .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
-			   ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4  )))
+	(drone  .000  4.000  115.000  (* .25 .500) solid bassdr2  .100  .500
+		.030  45.000 1  .010 10)
+	(drone  .000  4.000  229.000  (* .25 .500) solid tenordr  .100  .500
+		.030  45.000 1  .010 11)
+	(drone  .000  4.000  229.500  (* .25 .500) solid tenordr  .100  .500
+		.030  45.000 1  .010 9)
+	(canter  .000  2.100 918  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  2.100  .300 688.5  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  2.400  .040 826.2  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  2.440  .560 459  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.000  .040 408  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.040  .040 619.65  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.080  .040 408  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.120  .040 688.5  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.160  .290 459  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.450  .150 516.375  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.600  .040 826.2  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.640  .040 573.75  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.680  .040 619.65  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.720  .180 573.75  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.900  .040 688.5  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)
+	(canter  3.940  .260 459  (* .25 .700)  45.000 1  .050 ampf ranf skwf
+		 .050  .010 10 index  .005  .005 amp1 ind1 fmt1 amp2
+		 ind2 fmt2 amp3 ind3 fmt3 amp4 ind4 fmt4)))
     
     (with-sound (:srate 22050 :play #f) 
-		(fm-violin 0 .01 440 .1 :noise-amount 0.0)
-		(pluck 0.05 .01 330 .1 .95 .95)
-		(maraca .1 .1)
-		(big-maraca .2 .5 .25 0.95 0.9985 .03125 '(2300 5600 8100) '(0.96 0.995 0.995) .01)
-		(fm-bell 0.3 1.0 220.0 .5 
-			 '(0 0 .1000 1 10 .6000 25 .3000 50 .1500 90 .1000 100 0 )
-			 '(0 1 2 1.1000 25 .7500 75 .5000 100 .2000 )
-			 1.0)
-		(singer .4 .1 (list (list .4 ehh.shp test.glt 523.0 .8 0.0 .01) (list .6 oo.shp test.glt 523.0 .7 .1 .01)))
-		(stereo-flute .6 .2 440 .55 :flow-envelope '(0 0 1 1 2 1 3 0))
-		(fofins 1 .3 270 .4 .001 730 .6 1090 .3 2440 .1)
-		(bow 1.2 .3 400 0.5 :vb 0.15 :fb 0.1 :inharm 0.25)
-		(pqw-vox 1.5 1 300 300 .1 '(0 0 50 1 100 0) '(0 0 100 0) 0 '(0 L 100 L) '(.33 .33 .33) '((1 1 2 .5) (1 .5 2 .5 3 1) (1 1 4 .5)))
-		(fm-noise 2 0.5 500 0.25 '(0 0 25 1 75 1 100 0) 0.1 0.1  1000 '(0 0 100 1) 0.1 0.1 10 1000 '(0 0 100 1) 0 0  100 500 '(0 0 100 1) 0 0)
-		(bes-fm 2.5 .5 440 5.0 1.0 8.0)
-		(chain-dsps 3 0.5 '(0 0 1 .1 2 0) (make-oscil 440))
-		(chain-dsps 3.5 1.0 '(0 0 1 1 2 0) (make-one-zero .5) (make-readin "oboe.snd"))
-		(vox 4 2 170 .4 '(0 0 25 1 75 1 100 0) '(0 0 5 .5 10 0 100 1) .1 '(0 E 25 AE 35 ER 65 ER 75 I 100 UH) 
-		     '(.8 .15 .05) '(.005 .0125 .025) .05 .1)
-		(p 5.0 :duration .5 :keyNum 36 :strike-velocity .5 :amp .4 :DryPedalResonanceFactor .25)
+      (fm-violin 0 .01 440 .1 :noise-amount 0.0)
+      (pluck 0.05 .01 330 .1 .95 .95)
+      (maraca .1 .1)
+      (big-maraca .2 .5 .25 0.95 0.9985 .03125 '(2300 5600 8100) '(0.96 0.995 0.995) .01)
+      (fm-bell 0.3 1.0 220.0 .5 
+	       '(0 0 .1000 1 10 .6000 25 .3000 50 .1500 90 .1000 100 0)
+	       '(0 1 2 1.1000 25 .7500 75 .5000 100 .2000)
+	       1.0)
+      (singer .4 .1 (list (list .4 ehh.shp test.glt 523.0 .8 0.0 .01) (list .6 oo.shp test.glt 523.0 .7 .1 .01)))
+      (stereo-flute .6 .2 440 .55 :flow-envelope '(0 0 1 1 2 1 3 0))
+      (fofins 1 .3 270 .4 .001 730 .6 1090 .3 2440 .1)
+      (bow 1.2 .3 400 0.5 :vb 0.15 :fb 0.1 :inharm 0.25)
+      (pqw-vox 1.5 1 300 300 .1 '(0 0 50 1 100 0) '(0 0 100 0) 0 '(0 L 100 L) '(.33 .33 .33) '((1 1 2 .5) (1 .5 2 .5 3 1) (1 1 4 .5)))
+      (fm-noise 2 0.5 500 0.25 '(0 0 25 1 75 1 100 0) 0.1 0.1  1000 '(0 0 100 1) 0.1 0.1 10 1000 '(0 0 100 1) 0 0  100 500 '(0 0 100 1) 0 0)
+      (bes-fm 2.5 .5 440 5.0 1.0 8.0)
+      (chain-dsps 3 0.5 '(0 0 1 .1 2 0) (make-oscil 440))
+      (chain-dsps 3.5 1.0 '(0 0 1 1 2 0) (make-one-zero .5) (make-readin "oboe.snd"))
+      (vox 4 2 170 .4 '(0 0 25 1 75 1 100 0) '(0 0 5 .5 10 0 100 1) .1 '(0 E 25 AE 35 ER 65 ER 75 I 100 UH) 
+	   '(.8 .15 .05) '(.005 .0125 .025) .05 .1)
+      (p 5.0 :duration .5 :keyNum 36 :strike-velocity .5 :amp .4 :DryPedalResonanceFactor .25)
 					;(bobwhite 5.5)
-		(scissor 2.0) 
-		(plucky 3.25 .3 440 .2 1.0)
-		(bowstr 3.75 .3 220 .2 1.0)
-		(brass 4.2 .3 440 .2 1.0)
-		(clarinet 5.75 .3 440 .2 1.0)
-		(flute 6 .3 440 .2 1.0)
-		(fm-trumpet 6.5 .25)
-		(touch-tone 6.75 '(7 2 3 4 9 7 1))
-		(pins 7.0 1.0 "now.snd" 1.0 :time-scaler 2.0)
-		
-		(let ((locust '(0 0 40 1 95 1 100 .5))
-		      (bug_hi '(0 1 25 .7 75 .78 100 1))
-		      (amp    '(0 0 25 1 75 .7 100 0)))
-		  (fm-insect 7      1.699  4142.627  .015 amp 60 -16.707 locust 500.866 bug_hi  .346  .500)
-		  (fm-insect 7.195   .233  4126.284  .030 amp 60 -12.142 locust 649.490 bug_hi  .407  .500)
-		  (fm-insect 7.217  2.057  3930.258  .045 amp 60 -3.011  locust 562.087 bug_hi  .591  .500)
-		  (fm-insect 9.100  1.500   900.627  .06  amp 40 -16.707 locust 300.866 bug_hi  .346  .500)
-		  (fm-insect 10.000  1.500   900.627  .06  amp 40 -16.707 locust 300.866 bug_hi  .046  .500)
-		  (fm-insect 10.450  1.500   900.627  .09  amp 40 -16.707 locust 300.866 bug_hi  .006  .500)
-		  (fm-insect 10.950  1.500   900.627  .12  amp 40 -10.707 locust 300.866 bug_hi  .346  .500)
-		  (fm-insect 11.300  1.500   900.627  .09  amp 40 -20.707 locust 300.866 bug_hi  .246  .500))
-		
-		(fm-drum 7.5 1.5 55 .3 5 #f)
-		(fm-drum 8 1.5 66 .3 4 #t)
-		(gong 9 3 261.61 .6)
-		(attract 10 .25 .5 2.0)
-		(pqw 11 .5 200 1000 .2 '(0 0 25 1 100 0) '(0 1 100 0) '(2 .1 3 .3 6 .5))
-		
-		(zn 10 1 100 .1 20 100 .995) 
-		(zn 11.5 1 100 .1 100 20 .995)
-		(zc 11 1 100 .1 20 100 .95) 
-		(zc 12.5 1 100 .1 100 20 .95)
-		(za 13 1 100 .1 20 100 .95 .95) 
-		(za 14.5 1 100 .1 100 20 .95 .95)
-		
-		(tubebell 12 2 440 .2)
-		(wurley 12.5 .25 440 .2)
-		(rhodey 12.75 .25 440 .2)
-		(hammondoid 13 .25 440 .2)
-		(metal 13.5 .25 440 .2)
-		(reson 14.0 1.0 440 .1 2 '(0 0 100 1) '(0 0 100 1) .1 .1 .1 5 .01 5 .01 0 1.0 0.01
-		       '(((0 0 100 1) 1200 .5 .1 .1 0 1.0 .1 .1)
-			 ((0 1 100 0) 2400 .5 .1 .1 0 1.0 .1 .1)))
-		(cellon 14.5 1 220 .1 
-			'(0 0 25 1 75 1 100 0) 
-			'(0 0 25 1 75 1 100 0) .75 1.0 0 0 0 0 1 0 0 220 
-			'(0 0 25 1 75 1 100 0) 0 0 0 0 
-			'(0 0 100 0) 0 0 0 0 '(0 0 100 0))
-		(clm-expsrc 14.75 2.5 "oboe.snd" 2.0 1.0 1.0)
-		(scratch 15.0 "now.snd" 1.5 '(0.0 .5 .25 1.0))
-		(two-tab 15 1 440 .1)
-		(exp-snd "fyow.snd" 15 1.5 1 '(0 1 1 3) 0.4 .15 '(0 2 1 .5) 0.05)
-		(exp-snd "oboe.snd" 16 1 1 '(0 1 1 3) 0.4 .15 '(0 2 1 .5) 0.2)
-		(gran-synth 15.5 1 300 .0189 .03 .4)
-		(spectra 16 1 440.0 .1 '(1.0 .4 2.0 .2 3.0 .2 4.0 .1 6.0 .1) '(0.0 0.0 1.0 1.0 5.0 0.9 12.0 0.5 25.0 0.25 100.0 0.0))
-		(lbj-piano 16.5 1 440.0 .2)
-		(resflt 17 1.0 0 0 0 #f .1 200 230 10 '(0 0 50 1 100 0) '(0 0 100 1) 500 .995 .1 1000 .995 .1 2000 .995 .1)
-		(resflt 17.5 1.0 1 10000 .01 '(0 0 50 1 100 0) 0 0 0 0 #f #f 500 .995 .1 1000 .995 .1 2000 .995 .1)
-		(bes-fm 18 1 440 10.0 1.0 4.0)
-		
-		(green3 19 2.0 440 .5 '(0 0 1 1 2 1 3 0) 100 .2 .02)
-		(green4 21 2.0 440 .5 '(0 0 1 1 2 1 3 0) 440 100 100 10)
-		
-		(fir+comb 20 2 10000 .001 200)
-		(fir+comb 22 2 1000 .0005 400)
-		(fir+comb 24 2 3000 .001 300)
-		(fir+comb 26 2 3000 .0005 1000)
-		
-		(sndwarp 28 1.0 "pistol.snd")
-		(expandn 29 .5 "oboe.snd" .2)
-		(expandn 30 2 "2.snd" 1.0 '(0.0 1.0 1.0 4.0 2.0 1.0))
-		(let ((ampf '(0 0 1 1 2 1 3 0))) 
-		  (fm-voice 0 1 300 .8 3 1 ampf ampf ampf ampf ampf ampf ampf 1 0 0 .25 1 .01 ampf .01))
-		(graphEq "oboe.snd")
-		)
+      (scissor 2.0) 
+      (plucky 3.25 .3 440 .2 1.0)
+      (bowstr 3.75 .3 220 .2 1.0)
+      (brass 4.2 .3 440 .2 1.0)
+      (clarinet 5.75 .3 440 .2 1.0)
+      (flute 6 .3 440 .2 1.0)
+      (fm-trumpet 6.5 .25)
+      (touch-tone 6.75 '(7 2 3 4 9 7 1))
+      (pins 7.0 1.0 "now.snd" 1.0 :time-scaler 2.0)
+      
+      (let ((locust '(0 0 40 1 95 1 100 .5))
+	    (bug_hi '(0 1 25 .7 75 .78 100 1))
+	    (amp    '(0 0 25 1 75 .7 100 0)))
+	(fm-insect 7      1.699  4142.627  .015 amp 60 -16.707 locust 500.866 bug_hi  .346  .500)
+	(fm-insect 7.195   .233  4126.284  .030 amp 60 -12.142 locust 649.490 bug_hi  .407  .500)
+	(fm-insect 7.217  2.057  3930.258  .045 amp 60 -3.011  locust 562.087 bug_hi  .591  .500)
+	(fm-insect 9.100  1.500   900.627  .06  amp 40 -16.707 locust 300.866 bug_hi  .346  .500)
+	(fm-insect 10.000  1.500   900.627  .06  amp 40 -16.707 locust 300.866 bug_hi  .046  .500)
+	(fm-insect 10.450  1.500   900.627  .09  amp 40 -16.707 locust 300.866 bug_hi  .006  .500)
+	(fm-insect 10.950  1.500   900.627  .12  amp 40 -10.707 locust 300.866 bug_hi  .346  .500)
+	(fm-insect 11.300  1.500   900.627  .09  amp 40 -20.707 locust 300.866 bug_hi  .246  .500))
+      
+      (fm-drum 7.5 1.5 55 .3 5 #f)
+      (fm-drum 8 1.5 66 .3 4 #t)
+      (gong 9 3 261.61 .6)
+      (attract 10 .25 .5 2.0)
+      (pqw 11 .5 200 1000 .2 '(0 0 25 1 100 0) '(0 1 100 0) '(2 .1 3 .3 6 .5))
+      
+      (zn 10 1 100 .1 20 100 .995) 
+      (zn 11.5 1 100 .1 100 20 .995)
+      (zc 11 1 100 .1 20 100 .95) 
+      (zc 12.5 1 100 .1 100 20 .95)
+      (za 13 1 100 .1 20 100 .95 .95) 
+      (za 14.5 1 100 .1 100 20 .95 .95)
+      
+      (tubebell 12 2 440 .2)
+      (wurley 12.5 .25 440 .2)
+      (rhodey 12.75 .25 440 .2)
+      (hammondoid 13 .25 440 .2)
+      (metal 13.5 .25 440 .2)
+      (reson 14.0 1.0 440 .1 2 '(0 0 100 1) '(0 0 100 1) .1 .1 .1 5 .01 5 .01 0 1.0 0.01
+	     '(((0 0 100 1) 1200 .5 .1 .1 0 1.0 .1 .1)
+	       ((0 1 100 0) 2400 .5 .1 .1 0 1.0 .1 .1)))
+      (cellon 14.5 1 220 .1 
+	      '(0 0 25 1 75 1 100 0) 
+	      '(0 0 25 1 75 1 100 0) .75 1.0 0 0 0 0 1 0 0 220 
+	      '(0 0 25 1 75 1 100 0) 0 0 0 0 
+	      '(0 0 100 0) 0 0 0 0 '(0 0 100 0))
+      (clm-expsrc 14.75 2.5 "oboe.snd" 2.0 1.0 1.0)
+      (scratch 15.0 "now.snd" 1.5 '(0.0 .5 .25 1.0))
+      (two-tab 15 1 440 .1)
+      (exp-snd "fyow.snd" 15 1.5 1 '(0 1 1 3) 0.4 .15 '(0 2 1 .5) 0.05)
+      (exp-snd "oboe.snd" 16 1 1 '(0 1 1 3) 0.4 .15 '(0 2 1 .5) 0.2)
+      (gran-synth 15.5 1 300 .0189 .03 .4)
+      (spectra 16 1 440.0 .1 '(1.0 .4 2.0 .2 3.0 .2 4.0 .1 6.0 .1) '(0.0 0.0 1.0 1.0 5.0 0.9 12.0 0.5 25.0 0.25 100.0 0.0))
+      (lbj-piano 16.5 1 440.0 .2)
+      (resflt 17 1.0 0 0 0 #f .1 200 230 10 '(0 0 50 1 100 0) '(0 0 100 1) 500 .995 .1 1000 .995 .1 2000 .995 .1)
+      (resflt 17.5 1.0 1 10000 .01 '(0 0 50 1 100 0) 0 0 0 0 #f #f 500 .995 .1 1000 .995 .1 2000 .995 .1)
+      (bes-fm 18 1 440 10.0 1.0 4.0)
+      
+      (green3 19 2.0 440 .5 '(0 0 1 1 2 1 3 0) 100 .2 .02)
+      (green4 21 2.0 440 .5 '(0 0 1 1 2 1 3 0) 440 100 100 10)
+      
+      (fir+comb 20 2 10000 .001 200)
+      (fir+comb 22 2 1000 .0005 400)
+      (fir+comb 24 2 3000 .001 300)
+      (fir+comb 26 2 3000 .0005 1000)
+      
+      (sndwarp 28 1.0 "pistol.snd")
+      (expandn 29 .5 "oboe.snd" .2)
+      (expandn 30 2 "2.snd" 1.0 '(0.0 1.0 1.0 4.0 2.0 1.0))
+      (let ((ampf '(0 0 1 1 2 1 3 0))) 
+	(fm-voice 0 1 300 .8 3 1 ampf ampf ampf ampf ampf ampf ampf 1 0 0 .25 1 .01 ampf .01))
+      (graphEq "oboe.snd")
+      )
     
     (with-sound (:channels 4) (expandn 0 .1 "4.aiff" 1 :expand 4))
     (with-sound (:channels 4 :reverb jc-reverb) (expandn 0 .1 "4.aiff" 1 :expand 4))
@@ -40341,43 +40066,43 @@ EDITS: 1
     
     
     (with-sound (:channels 2 :statistics #t)
-		(fullmix "pistol.snd")
-		(fullmix "oboe.snd" 1 2 0 (list (list .1 (make-env '(0 0 1 1) :duration 2 :scaler .5)))))
+      (fullmix "pistol.snd")
+      (fullmix "oboe.snd" 1 2 0 (list (list .1 (make-env '(0 0 1 1) :duration 2 :scaler .5)))))
     (let ((ind (find-sound "test.snd")))
       (if (sound? ind) (close-sound ind)))
     
     (with-sound (:channels 2) 
-		(fullmix "4.aiff" 0.0 0.1 36.4 '((0.0 0.0) (0.0 0.0) (1.0 0.0) (0.0 1.0))))
+      (fullmix "4.aiff" 0.0 0.1 36.4 '((0.0 0.0) (0.0 0.0) (1.0 0.0) (0.0 1.0))))
     (let ((ind (find-sound "test.snd")))
       (if (fneq (maxamp) 0.8865) (snd-display ";4->2(0) fullmix: ~A" (maxamp)))
       (close-sound ind))
     
     (with-sound (:channels 1) 
-		(fullmix "4.aiff" 0.0 0.1 36.4 '((1.0) (0.0) (0.0) (0.0))))
+      (fullmix "4.aiff" 0.0 0.1 36.4 '((1.0) (0.0) (0.0) (0.0))))
     (let ((ind (find-sound "test.snd")))
       (if (fneq (maxamp) 0.221649169921875) (snd-display ";4->1(0) fullmix: ~A" (maxamp)))
       (close-sound ind))
     
     (with-sound (:channels 1) 
-		(fullmix "4.aiff" 0.0 0.1 36.4 '((0.0) (1.0) (0.0) (0.0))))
+      (fullmix "4.aiff" 0.0 0.1 36.4 '((0.0) (1.0) (0.0) (0.0))))
     (let ((ind (find-sound "test.snd")))
       (if (fneq (maxamp) 0.44329833984375) (snd-display ";4->1(1) fullmix: ~A" (maxamp)))
       (close-sound ind))
     
     (with-sound (:channels 1) 
-		(fullmix "4.aiff" 0.0 0.1 36.4 '((0.0) (0.0) (1.0) (0.0))))
+      (fullmix "4.aiff" 0.0 0.1 36.4 '((0.0) (0.0) (1.0) (0.0))))
     (let ((ind (find-sound "test.snd")))
       (if (fneq (maxamp) 0.664947509765625) (snd-display ";4->1(2) fullmix: ~A" (maxamp)))
       (close-sound ind))
     
     (with-sound (:channels 1) 
-		(fullmix "4.aiff" 0.0 0.1 36.4 '((0.0) (0.0) (0.0) (1.0))))
+      (fullmix "4.aiff" 0.0 0.1 36.4 '((0.0) (0.0) (0.0) (1.0))))
     (let ((ind (find-sound "test.snd")))
       (if (fneq (maxamp) 0.8865966796875) (snd-display ";4->1(3) fullmix: ~A" (maxamp)))
       (close-sound ind))
     
     (with-sound (:channels 2) 
-		(fullmix "4.aiff" 0.0 0.1 36.4 '((0.0 0.0) (0.0 0.0) (1.0 0.0) (0.0 1.0))))
+      (fullmix "4.aiff" 0.0 0.1 36.4 '((0.0 0.0) (0.0 0.0) (1.0 0.0) (0.0 1.0))))
     (let* ((ind (find-sound "test.snd"))
 	   (mxs (maxamp ind #t)))
       (if (or (fneq (car mxs) 0.664947509765625)
@@ -40386,7 +40111,7 @@ EDITS: 1
       (close-sound ind))
     
     (with-sound (:channels 2) 
-		(fullmix "4.aiff" 0.0 0.1 36.4 '((0.0 0.0) (0.0 0.0) (0.0 1.0) (1.0 0.0))))
+      (fullmix "4.aiff" 0.0 0.1 36.4 '((0.0 0.0) (0.0 0.0) (0.0 1.0) (1.0 0.0))))
     (let* ((ind (find-sound "test.snd"))
 	   (mxs (maxamp ind #t)))
       (if (or (fneq (car mxs) 0.8865966796875)
@@ -40395,45 +40120,45 @@ EDITS: 1
       (close-sound ind))
     
     (with-sound (:channels 2 :reverb nrev) 
-		(fullmix "pistol.snd" 0.0 2.0 0.25 #f 2.0 0.1)
-		(fullmix "pistol.snd" 1.0 2.0 0.25 0.2 2.0 0.1)
-		(fullmix "2a.snd" #f #f #f '((0.5 0.0) (0.0 0.75)))
-		(fullmix "oboe.snd" #f #f #f (list (list (list 0 0 1 1 2 0) 0.5)))
-		(fullmix "oboe.snd" 3 2 0 (list (list .1 (make-env '(0 0 1 1) :duration 2 :scaler .5)))))
+      (fullmix "pistol.snd" 0.0 2.0 0.25 #f 2.0 0.1)
+      (fullmix "pistol.snd" 1.0 2.0 0.25 0.2 2.0 0.1)
+      (fullmix "2a.snd" #f #f #f '((0.5 0.0) (0.0 0.75)))
+      (fullmix "oboe.snd" #f #f #f (list (list (list 0 0 1 1 2 0) 0.5)))
+      (fullmix "oboe.snd" 3 2 0 (list (list .1 (make-env '(0 0 1 1) :duration 2 :scaler .5)))))
     
     
     (load "fullmix.scm") ; this is also in clm-ins.scm so we need a separate set of tests
     
     (with-sound (:channels 2 :statistics #t)
-		(fullmix "pistol.snd")
-		(fullmix "oboe.snd" 1 2 0 (list (list .1 (make-env '(0 0 1 1) :duration 2 :scaler .5)))))
+      (fullmix "pistol.snd")
+      (fullmix "oboe.snd" 1 2 0 (list (list .1 (make-env '(0 0 1 1) :duration 2 :scaler .5)))))
     (let ((ind (find-sound "test.snd")))
       (if (sound? ind) (close-sound ind) (snd-display ";fullmix.scm no output?")))
     
     (with-sound (:channels 2) 
-		(fullmix "4.aiff" 0.0 0.1 36.4 '((0.0 0.0) (0.0 0.0) (1.0 0.0) (0.0 1.0))))
+      (fullmix "4.aiff" 0.0 0.1 36.4 '((0.0 0.0) (0.0 0.0) (1.0 0.0) (0.0 1.0))))
     (let ((ind (find-sound "test.snd")))
       (if (fneq (maxamp) 0.8865) (snd-display ";4->2(0) fullmix.scm: ~A" (maxamp)))
       (close-sound ind))
     
     (with-sound (:channels 1) 
-		(fullmix "4.aiff" 0.0 0.1 36.4 '((1.0) (0.0) (0.0) (0.0))))
+      (fullmix "4.aiff" 0.0 0.1 36.4 '((1.0) (0.0) (0.0) (0.0))))
     (let ((ind (find-sound "test.snd")))
       (if (fneq (maxamp) 0.221649169921875) (snd-display ";4->1(0) fullmix.scm: ~A" (maxamp)))
       (close-sound ind))
     
     (with-sound (:statistics #t :scaled-to .5 :srate 44100 :channels 1) 
-		(cnvrev "oboe.snd" "fyow.snd"))
+      (cnvrev "oboe.snd" "fyow.snd"))
     (let ((ind (find-sound "test.snd")))
       (if (sound? ind) (close-sound ind) (snd-display ";cnvrev no output?")))
     
     
     (with-sound ()
-		(sound-let ((temp-1 () (fm-violin 0 1 440 .1))
-			    (temp-2 () (fm-violin 0 2 660 .1 :base 32.0)
-				    (fm-violin .125 .5 880 .1)))
-			   (mus-file-mix *output* temp-1 0) 
-			   (mus-file-mix *output* temp-2 22050)))
+      (sound-let ((temp-1 () (fm-violin 0 1 440 .1))
+		  (temp-2 () (fm-violin 0 2 660 .1 :base 32.0)
+			  (fm-violin .125 .5 880 .1)))
+		 (mus-file-mix *output* temp-1 0) 
+		 (mus-file-mix *output* temp-2 22050)))
     (let ((ind (find-sound "test.snd")))
       (if (not (sound? ind)) (snd-display ";with-sound+sound-lets init: no test.snd?"))
       (if (not (>= 0.2 (maxamp ind) 0.15)) (snd-display ";with-mix+sound-lets maxamp: ~A" (maxamp ind)))
@@ -40471,58 +40196,58 @@ EDITS: 1
     (play-sines '((425 .05) (450 .01) (470 .01) (546 .02) (667 .01) (789 .034) (910 .032)))
     
     (with-sound (:channels 2 :reverb jc-reverb :reverb-channels 1 :statistics #t)
-		(grani 0 1 .5 "oboe.snd" :grain-envelope '(0 0 0.2 0.2 0.5 1 0.8 0.2 1 0))
-		(grani 0 4 1 "oboe.snd")
-
-		(grani 0 4 1 "oboe.snd" :grains 10)
-		(grani 0 4 1 "oboe.snd" 
-		       :grain-start 0.11 
-		       :amp-envelope '(0 1 1 1) :grain-density 8
-		       :grain-envelope '(0 0 0.2 0.2 0.5 1 0.8 0.2 1 0)
-		       :grain-envelope-end '(0 0 0.01 1 0.99 1 1 0)
-		       :grain-envelope-transition '(0 0 0.4 1 0.8 0 1 0))
-		(grani 0 3 1 "oboe.snd" 
-		       :grain-start 0.1 
-		       :amp-envelope '(0 1 1 1) :grain-density 20
-		       :grain-duration '(0 0.003 0.2 0.01 1 0.3))
-		(grani 0 3 1 "oboe.snd" 
-		       :grain-start 0.1 
-		       :amp-envelope '(0 1 1 1) :grain-density 20
-		       :grain-duration '(0 0.003 0.2 0.01 1 0.3)
-		       :grain-duration-limit 0.02)
-		(grani 0 2 1 "oboe.snd" 
-		       :amp-envelope '(0 1 1 1) :grain-density 40
-		       :grain-start '(0 0.1 0.3 0.1 1 0.6))
-		(grani 0 2 1 "oboe.snd" 
-		       :amp-envelope '(0 1 1 1) :grain-density 40
-		       :grain-start '(0 0.1 0.3 0.1 1 0.6)
-		       :grain-start-spread 0.01)
-		(grani 0 2.6 1 "oboe.snd" 
-		       :grain-start 0.1 :grain-start-spread 0.01
-		       :amp-envelope '(0 1 1 1) :grain-density 40
-		       :srate '(0 0 0.2 0 0.6 5 1 5))
-		(grani 0 2.6 1 "oboe.snd" 
-		       :grain-start 0.1 :grain-start-spread 0.01
-		       :amp-envelope '(0 1 1 1) :grain-density 40
-		       :srate-base 2
-		       :srate '(0 0 0.2 0 0.6 -1 1 -1))
-		(grani 0 2.6 1 "oboe.snd" 
-		       :grain-start 0.1 :grain-start-spread 0.01
-		       :amp-envelope '(0 1 1 1) :grain-density 40
-		       :srate-linear #t
-		       :srate (list 0 1 0.2 1 0.6 (expt 2 5/12) 1 (expt 2 5/12)))
-		(grani 0 2 1 "oboe.snd" 
-		       :grain-start 0.1 :grain-start-spread 0.01
-		       :amp-envelope '(0 1 1 1) :grain-density 40
-		       :grain-duration '(0 0.02 1 0.1) 
-		       :grain-duration-spread '(0 0 0.5 0.1 1 0)
-		       :where-to grani-to-grain-duration ; from grani.scm
-		       :where-bins (float-vector 0 0.05 1))
-		(grani 0 2 1 "oboe.snd" 
-		       :grain-start 0.1 :grain-start-spread 0.01
-		       :amp-envelope '(0 1 1 1) :grain-density 40
-		       :grain-degree '(0 0 1 90)
-		       :grain-degree-spread 10))
+      (grani 0 1 .5 "oboe.snd" :grain-envelope '(0 0 0.2 0.2 0.5 1 0.8 0.2 1 0))
+      (grani 0 4 1 "oboe.snd")
+      
+      (grani 0 4 1 "oboe.snd" :grains 10)
+      (grani 0 4 1 "oboe.snd" 
+	     :grain-start 0.11 
+	     :amp-envelope '(0 1 1 1) :grain-density 8
+	     :grain-envelope '(0 0 0.2 0.2 0.5 1 0.8 0.2 1 0)
+	     :grain-envelope-end '(0 0 0.01 1 0.99 1 1 0)
+	     :grain-envelope-transition '(0 0 0.4 1 0.8 0 1 0))
+      (grani 0 3 1 "oboe.snd" 
+	     :grain-start 0.1 
+	     :amp-envelope '(0 1 1 1) :grain-density 20
+	     :grain-duration '(0 0.003 0.2 0.01 1 0.3))
+      (grani 0 3 1 "oboe.snd" 
+	     :grain-start 0.1 
+	     :amp-envelope '(0 1 1 1) :grain-density 20
+	     :grain-duration '(0 0.003 0.2 0.01 1 0.3)
+	     :grain-duration-limit 0.02)
+      (grani 0 2 1 "oboe.snd" 
+	     :amp-envelope '(0 1 1 1) :grain-density 40
+	     :grain-start '(0 0.1 0.3 0.1 1 0.6))
+      (grani 0 2 1 "oboe.snd" 
+	     :amp-envelope '(0 1 1 1) :grain-density 40
+	     :grain-start '(0 0.1 0.3 0.1 1 0.6)
+	     :grain-start-spread 0.01)
+      (grani 0 2.6 1 "oboe.snd" 
+	     :grain-start 0.1 :grain-start-spread 0.01
+	     :amp-envelope '(0 1 1 1) :grain-density 40
+	     :srate '(0 0 0.2 0 0.6 5 1 5))
+      (grani 0 2.6 1 "oboe.snd" 
+	     :grain-start 0.1 :grain-start-spread 0.01
+	     :amp-envelope '(0 1 1 1) :grain-density 40
+	     :srate-base 2
+	     :srate '(0 0 0.2 0 0.6 -1 1 -1))
+      (grani 0 2.6 1 "oboe.snd" 
+	     :grain-start 0.1 :grain-start-spread 0.01
+	     :amp-envelope '(0 1 1 1) :grain-density 40
+	     :srate-linear #t
+	     :srate (list 0 1 0.2 1 0.6 (expt 2 5/12) 1 (expt 2 5/12)))
+      (grani 0 2 1 "oboe.snd" 
+	     :grain-start 0.1 :grain-start-spread 0.01
+	     :amp-envelope '(0 1 1 1) :grain-density 40
+	     :grain-duration '(0 0.02 1 0.1) 
+	     :grain-duration-spread '(0 0 0.5 0.1 1 0)
+	     :where-to grani-to-grain-duration ; from grani.scm
+	     :where-bins (float-vector 0 0.05 1))
+      (grani 0 2 1 "oboe.snd" 
+	     :grain-start 0.1 :grain-start-spread 0.01
+	     :amp-envelope '(0 1 1 1) :grain-density 40
+	     :grain-degree '(0 0 1 90)
+	     :grain-degree-spread 10))
     
     (let ((ind (open-sound "oboe.snd")))
       (with-sound ("test1.snd" :to-snd #f) (fm-violin 0 .1 440 .1))
@@ -40657,20 +40382,20 @@ EDITS: 1
     (set! *clm-reverb-data* ()))
   
   (with-sound (:reverb jl-reverb)
-	      (attract 0 1 0.1 2.0)
-	      (expfil 0 2 .2 .01 .1 "oboe.snd" "fyow.snd")
-	      (fm-violin 0 .1 660 .1 :reverb-amount .1)
-	      (anoi "oboe.snd" 1 1)
-	      (let* ((ind (open-sound "oboe.snd"))
-		     (ind1 (open-sound "now.snd"))
-		     (zp (make-zipper (make-env '(0 0 1 1) :length 22050)
-				      0.05
-				      (make-env (list 0 (* *clm-srate* 0.05)) :length 22050)))
-		     (reader0 (make-sampler 0 ind 0))
-		     (reader1 (make-sampler 0 ind1 0)))
-		 (do ((i 0 (+ i 1))) ((= i 22050)) (outa i (zipper zp reader0 reader1)))
-		(close-sound ind)
-		(close-sound ind1)))
+    (attract 0 1 0.1 2.0)
+    (expfil 0 2 .2 .01 .1 "oboe.snd" "fyow.snd")
+    (fm-violin 0 .1 660 .1 :reverb-amount .1)
+    (anoi "oboe.snd" 1 1)
+    (let* ((ind (open-sound "oboe.snd"))
+	   (ind1 (open-sound "now.snd"))
+	   (zp (make-zipper (make-env '(0 0 1 1) :length 22050)
+			    0.05
+			    (make-env (list 0 (* *clm-srate* 0.05)) :length 22050)))
+	   (reader0 (make-sampler 0 ind 0))
+	   (reader1 (make-sampler 0 ind1 0)))
+      (do ((i 0 (+ i 1))) ((= i 22050)) (outa i (zipper zp reader0 reader1)))
+      (close-sound ind)
+      (close-sound ind1)))
   
   (zip-sound 1 1 "fyow.snd" "now.snd" '(0 0 1 1) .05)
   (zip-sound 2 3 "mb.snd" "fyow.snd" '(0 0 1.0 0 1.5 1.0 3.0 1.0) .025)
@@ -40689,130 +40414,130 @@ EDITS: 1
   (for-each close-sound (sounds))
   
   (with-sound (:play #f :srate 22050)
-	      (simple-ssb 0 .2 440 .1)
-	      (simple-nsin .6 .2 .1)
-	      (simple-ncos 0.7 .2 440 .1)
-	      (simple-nrxysin .6 .2 .1)
-	      (simple-nrxycos 0.7 .2 440 .1)
-	      (simple-osc 0.75 .2 440 .1)
-	      (simple-asy 1.25 .2 .1)
-	      (simple-saw 1.5 .2 .1)
-	      (simple-tri 1.75 .2 .1)
-	      (simple-pul 2.0 .2 .1)
-	      (simple-sqr 2.25 .2 .1)
-	      (simple-oz 2.75 .2 440.0 .1)
-	      (simple-op 3.0 .2 440.0 .1)
-	      (simple-tz 3.25 .2 440.0 .1)
-	      (simple-tp 3.5 .2 440.0 .1)
-	      (simple-frm 3.75 .2 440.0 .1)
-	      (simple-firm 3.875 .2 440.0 .1)
-	      (simple-firm2 4.0 .2 440.0 .1)
-	      (simple-poly 4.25 .2 440.0 .1)
-	      (simple-polyw 4.5 .2 440.0 .1)
-	      (simple-dly 4.75 .2 440.0 .1)
-	      (simple-cmb 5.0 .2 440.0 .1)
-	      (simple-filtered-cmb 5.125 .2 440.0 .1)
-	      (simple-not 5.25 .2 440.0 .1)
-	      (simple-alp 5.5 .2 440.0 .1)
-	      (simple-ave 5.75 .2 440.0 .1)
-	      (simple-tab 6.0 .2 440.0 .1)
-	      (simple-flt 6.25 .2 440.0 .1)
-	      (simple-fir 6.5 .2 440.0 .1)
-	      (simple-iir 6.5 .2 440.0 .3)
-	      (simple-ran 7.0 .2 440.0 .1)
-	      (simple-ri 7.25 .2 440.0 .1)
-	      (simple-env 7.5 .2 440.0 .1)
-	      (simple-amb 7.75 .2 440.0 .1)
-	      (simple-fof 8 1 270 .1 .001 730 .6 1090 .3 2440 .1) ;"Ahh"
-	      (simple-fof 9 4 270 .1 0.005 730 .6 1090 .3 2440 .1 '(0 0 40 0 75 .2 100 1) 
-			  '(0 0 .5 1 3 .5 10 .2 20 .1 50 .1 60 .2 85 1 100 0))
-	      (simple-fof 9 4 648 .1 0.005 730 .6 1090 .3 2440 .1 '(0 0 40 0 75 .2 100 1) 
-			  '(0 0 .5 .5 3 .25 6 .1 10 .1 50 .1 60 .2 85 1 100 0))
-	      (simple-fof 9 4 135 .1 0.005 730 .6 1090 .3 2440 .1 '(0 0 40 0 75 .2 100 1) 
-			  '(0 0 1 3 3 1 6 .2 10 .1 50 .1 60 .2 85 1 100 0))
-	      
-	      (simple-src-f 13  .45 1.0 2.0 "oboe.snd")
-	      (simple-rd 13.5 .45 .75 "oboe.snd")
-	      (simple-rd-start 13.65 .25 .75 "oboe.snd" 0 0)
-	      (simple-rd-start 13.8 .25 .75 "oboe.snd" 0 12345)
-	      (simple-rd-start 13.9 .25 .75 "oboe.snd" 0 12345678)
-	      (simple-cnv 14.0 .45 .75 "oboe.snd")
-	      (simple-cnf 14.5 .45 .75 "oboe.snd")
-	      (simple-lrg 15.0 .45 .75 "oboe.snd")
-	      (simple-cn2 15.5 .45 .4 "oboe.snd")
-	      (simple-src 16  .45 1.0 2.0 "oboe.snd")
-	      (simple-sr2 16.5 .45 1.0 2.0 "oboe.snd")
-	      (simple-sr2a 16.75 .45 1.0 2.0 "oboe.snd")
-	      (simple-rndist 17.0 .2 440.0 .1)
-	      (simple-ridist 17.25 .2 440.0 .1)
-	      (simple-sro 17.5 .45 .1 .5 440)
-	      (simple-grn 18 .2 .1 1.0 440)
-	      (simple-pvoc 18.25 .2 .4 256 "oboe.snd")
-	      (simple-ina 18.5 .45 1 "oboe.snd")
-	      (simple-rdf 19 .45 1 "oboe.snd")
-	      (simple-f2s 19.5 .45 1 "oboe.snd")
-	      (simple-loc 20 .2 440 .1)
-	      (simple-dloc 20.1 .2 440 .1)
-	      (simple-out 20.25 .2 440 .1)	
-	      (simple-fm 20 1 440 .1 2 1.0)
-	      (simple-dup 20.5 .2 440 .1)
-	      (simple-du1 20.75 .2 440 .1)
-	      (simple-grn-f1 21 .45 .1 2 440)
-	      (simple-grn-f2 21.5 .45 1 2 "oboe.snd")
-	      (simple-grn-f3 22 .45 1 2 "oboe.snd")
-	      (simple-grn-f4 22.5 .45 1 2 "oboe.snd")
-	      (simple-grn-f5 23 .45 1 2 "oboe.snd")
-	      (simple-multiarr 23.5 .5 440 .1))
+    (simple-ssb 0 .2 440 .1)
+    (simple-nsin .6 .2 .1)
+    (simple-ncos 0.7 .2 440 .1)
+    (simple-nrxysin .6 .2 .1)
+    (simple-nrxycos 0.7 .2 440 .1)
+    (simple-osc 0.75 .2 440 .1)
+    (simple-asy 1.25 .2 .1)
+    (simple-saw 1.5 .2 .1)
+    (simple-tri 1.75 .2 .1)
+    (simple-pul 2.0 .2 .1)
+    (simple-sqr 2.25 .2 .1)
+    (simple-oz 2.75 .2 440.0 .1)
+    (simple-op 3.0 .2 440.0 .1)
+    (simple-tz 3.25 .2 440.0 .1)
+    (simple-tp 3.5 .2 440.0 .1)
+    (simple-frm 3.75 .2 440.0 .1)
+    (simple-firm 3.875 .2 440.0 .1)
+    (simple-firm2 4.0 .2 440.0 .1)
+    (simple-poly 4.25 .2 440.0 .1)
+    (simple-polyw 4.5 .2 440.0 .1)
+    (simple-dly 4.75 .2 440.0 .1)
+    (simple-cmb 5.0 .2 440.0 .1)
+    (simple-filtered-cmb 5.125 .2 440.0 .1)
+    (simple-not 5.25 .2 440.0 .1)
+    (simple-alp 5.5 .2 440.0 .1)
+    (simple-ave 5.75 .2 440.0 .1)
+    (simple-tab 6.0 .2 440.0 .1)
+    (simple-flt 6.25 .2 440.0 .1)
+    (simple-fir 6.5 .2 440.0 .1)
+    (simple-iir 6.5 .2 440.0 .3)
+    (simple-ran 7.0 .2 440.0 .1)
+    (simple-ri 7.25 .2 440.0 .1)
+    (simple-env 7.5 .2 440.0 .1)
+    (simple-amb 7.75 .2 440.0 .1)
+    (simple-fof 8 1 270 .1 .001 730 .6 1090 .3 2440 .1) ;"Ahh"
+    (simple-fof 9 4 270 .1 0.005 730 .6 1090 .3 2440 .1 '(0 0 40 0 75 .2 100 1) 
+		'(0 0 .5 1 3 .5 10 .2 20 .1 50 .1 60 .2 85 1 100 0))
+    (simple-fof 9 4 648 .1 0.005 730 .6 1090 .3 2440 .1 '(0 0 40 0 75 .2 100 1) 
+		'(0 0 .5 .5 3 .25 6 .1 10 .1 50 .1 60 .2 85 1 100 0))
+    (simple-fof 9 4 135 .1 0.005 730 .6 1090 .3 2440 .1 '(0 0 40 0 75 .2 100 1) 
+		'(0 0 1 3 3 1 6 .2 10 .1 50 .1 60 .2 85 1 100 0))
+    
+    (simple-src-f 13  .45 1.0 2.0 "oboe.snd")
+    (simple-rd 13.5 .45 .75 "oboe.snd")
+    (simple-rd-start 13.65 .25 .75 "oboe.snd" 0 0)
+    (simple-rd-start 13.8 .25 .75 "oboe.snd" 0 12345)
+    (simple-rd-start 13.9 .25 .75 "oboe.snd" 0 12345678)
+    (simple-cnv 14.0 .45 .75 "oboe.snd")
+    (simple-cnf 14.5 .45 .75 "oboe.snd")
+    (simple-lrg 15.0 .45 .75 "oboe.snd")
+    (simple-cn2 15.5 .45 .4 "oboe.snd")
+    (simple-src 16  .45 1.0 2.0 "oboe.snd")
+    (simple-sr2 16.5 .45 1.0 2.0 "oboe.snd")
+    (simple-sr2a 16.75 .45 1.0 2.0 "oboe.snd")
+    (simple-rndist 17.0 .2 440.0 .1)
+    (simple-ridist 17.25 .2 440.0 .1)
+    (simple-sro 17.5 .45 .1 .5 440)
+    (simple-grn 18 .2 .1 1.0 440)
+    (simple-pvoc 18.25 .2 .4 256 "oboe.snd")
+    (simple-ina 18.5 .45 1 "oboe.snd")
+    (simple-rdf 19 .45 1 "oboe.snd")
+    (simple-f2s 19.5 .45 1 "oboe.snd")
+    (simple-loc 20 .2 440 .1)
+    (simple-dloc 20.1 .2 440 .1)
+    (simple-out 20.25 .2 440 .1)	
+    (simple-fm 20 1 440 .1 2 1.0)
+    (simple-dup 20.5 .2 440 .1)
+    (simple-du1 20.75 .2 440 .1)
+    (simple-grn-f1 21 .45 .1 2 440)
+    (simple-grn-f2 21.5 .45 1 2 "oboe.snd")
+    (simple-grn-f3 22 .45 1 2 "oboe.snd")
+    (simple-grn-f4 22.5 .45 1 2 "oboe.snd")
+    (simple-grn-f5 23 .45 1 2 "oboe.snd")
+    (simple-multiarr 23.5 .5 440 .1))
   
   
   (with-sound (:channels 4 :play #f :srate 22050) (simple-dloc-4 0 2 440 .5))
   
   (with-sound (:play #f :srate 22050)
-	      (sample-desc 0 .2 440 .1)
-	      (sample-mdat .25 .2 440 .1)
-	      (sample-xtab .5 .2 440 .1)
-	      (sample-xts .75 .2 440 .1)
-	      (sample-srl2 1 .2 .2 .5 880)
-	      (sample-srll 1.25 .2 .1 .5 1760)
-	      (sample-srl3 1.5 .2 .1 .5 880)
-	      (sample-grn2 1.75 .2 .1 .5 880)
-	      (sample-grn3 2 .45 1 1 "oboe.snd")
-	      
-	      (sample-cnv 2.5 .45 1 1 "oboe.snd")
-	      (sample-cnv1 3.0 .45 1 1 "oboe.snd")
-	      (sample-pvoc1 3.5 .45 1 512 "oboe.snd")
-	      (sample-pvoc2 4.0 .45 1 512 "oboe.snd")
-	      (sample-pvoc3 4.5 .001 1 512 "oboe.snd")
-	      (sample-osc 5.25 .2 440 .1)
-	      (if all-args (sample-ardcl 5.5 .2 440 .1))
-	      (sample-flt 6 .2 440 .1)
-	      (sample-arrintp 6.25 .2 440 .1)
-	      (sample-arrfile 6.75 .2 440 .15)
-	      (sample-pvoc5 7.25 .2 .1 256 "oboe.snd" 440.0)
-	      )
+    (sample-desc 0 .2 440 .1)
+    (sample-mdat .25 .2 440 .1)
+    (sample-xtab .5 .2 440 .1)
+    (sample-xts .75 .2 440 .1)
+    (sample-srl2 1 .2 .2 .5 880)
+    (sample-srll 1.25 .2 .1 .5 1760)
+    (sample-srl3 1.5 .2 .1 .5 880)
+    (sample-grn2 1.75 .2 .1 .5 880)
+    (sample-grn3 2 .45 1 1 "oboe.snd")
+    
+    (sample-cnv 2.5 .45 1 1 "oboe.snd")
+    (sample-cnv1 3.0 .45 1 1 "oboe.snd")
+    (sample-pvoc1 3.5 .45 1 512 "oboe.snd")
+    (sample-pvoc2 4.0 .45 1 512 "oboe.snd")
+    (sample-pvoc3 4.5 .001 1 512 "oboe.snd")
+    (sample-osc 5.25 .2 440 .1)
+    (if all-args (sample-ardcl 5.5 .2 440 .1))
+    (sample-flt 6 .2 440 .1)
+    (sample-arrintp 6.25 .2 440 .1)
+    (sample-arrfile 6.75 .2 440 .15)
+    (sample-pvoc5 7.25 .2 .1 256 "oboe.snd" 440.0)
+    )
   
   (let* ((file (with-sound (:clipped #f :sample-type mus-lfloat :header-type mus-next)
-			   (fm-violin 0 .1 440 pi)))
+		 (fm-violin 0 .1 440 pi)))
 	 (ind (find-sound file))
 	 (mx (maxamp ind)))
     (if (fneq mx pi) (snd-display ";clipped #f: ~A" mx))
     (close-sound ind)
     (set! file (with-sound (:clipped #t :sample-type mus-lfloat :header-type mus-next)
-			   (fm-violin 0 .1 440 pi)))
+		 (fm-violin 0 .1 440 pi)))
     (set! ind (find-sound file))
     (set! mx (maxamp ind))
     (if (fneq mx 1.0) (snd-display ";clipped #t: ~A" mx))
     
     (close-sound ind)
     (set! file (with-sound (:sample-type mus-lfloat :header-type mus-next :scaled-by .1 :clipped #f)
-			   (fm-violin 0 .1 440 pi)))
+		 (fm-violin 0 .1 440 pi)))
     (set! ind (find-sound file))
     (set! mx (maxamp ind))
     (if (fneq mx .314159) (snd-display ";scaled-by ~A" mx))
     
     (close-sound ind)
     (set! file (with-sound (:sample-type mus-lfloat :header-type mus-next :scaled-to .1 :clipped #f)
-			   (fm-violin 0 .1 440 pi)))
+		 (fm-violin 0 .1 440 pi)))
     (set! ind (find-sound file))
     (set! mx (maxamp ind))
     (if (fneq mx .1) (snd-display ";scaled-to ~A" mx))
@@ -40861,7 +40586,8 @@ EDITS: 1
     (if (> (abs (- (framples) 24602)) 100) (snd-display ";step-src framples: ~A (~A)" (framples) (edits)))
     (close-sound ind))
   
-  (let* ((file (with-sound (:channels 3)
+  (let ((ind (find-sound
+	     (with-sound (:channels 3)
 		 (let ((rg (make-rmsgain))
 		       (rg1 (make-rmsgain 40))
 		       (rg2 (make-rmsgain 2))
@@ -40876,8 +40602,7 @@ EDITS: 1
 		       (outb i (balance rg1 sig (env e1)))
 		       (outc i (balance rg2 (* .1 (oscil o)) (env e2)))))
 		   (if (fneq (gain-avg rg) 0.98402) (snd-display ";rmsgain gain-avg: ~A" (gain-avg rg)))
-		   (if (not (= (rg2 'avgc) 10000)) (snd-display ";rmsgain count: ~A" (rg2 'avgc))))))
-	 (ind (find-sound file)))
+		   (if (not (= (rg2 'avgc) 10000)) (snd-display ";rmsgain count: ~A" (rg2 'avgc))))))))
     (if (sound? ind)
 	(close-sound ind)
 	(snd-display ";with-sound balance?")))
@@ -40892,8 +40617,8 @@ EDITS: 1
   ;; dlocsig tests
   (if (not (provided? 'snd-dlocsig.scm))
       (catch #t 
-	     (lambda () (load "dlocsig.scm"))
-	     (lambda args (snd-display ";load dlocsig: ~A" args))))
+	(lambda () (load "dlocsig.scm"))
+	(lambda args (snd-display ";load dlocsig: ~A" args))))
   (if (not (defined? 'make-spiral-path))
       (snd-display ";make-spiral-path is not defined, dlocsig is ~Aloaded"
 		   (if (provided? 'snd-dlocsig.scm) "" "not "))
@@ -40902,7 +40627,7 @@ EDITS: 1
 	(let ((file (new-sound "tmp.snd" 4 22050 mus-ldouble mus-next)))
 	  (mix-move-sound 0 "oboe.snd" (make-spiral-path :turns 3))
 	  (close-sound file))
-
+	
 	(let ((path (make-path '((-10 10) (0.5 0.5) (10 10)) :3d #f)))
 	  (if (not (equal? path '(open-bezier-path () () () () () () () () () ((-10 10) (0.5 0.5) (10 10)) #f #f () () () () () () () 0.01 #f #f #f)))
 	      (snd-display "dlocsig path 1: ~A~%" path)))
@@ -40921,7 +40646,7 @@ EDITS: 1
 	(let ((path (make-spiral-path :total-angle 360 :distance '(0 10 1 30 2 10))))
 	  (if (not (equal? path '(spiral-path () () () () () () () () () () #f #f 0.0 360 18/5 () (0 10 1 30 2 10) (0 0 1 0) (0 1 1 1))))
 	      (snd-display "dlocsig path 6: ~A~%" path)))
-
+	
 	(with-sound (:channels 2) (dloc-sinewave 0 1.0 440 .5 :path (make-path '((-10 10) (0.5 0.5) (10 10)) :3d #f)))
 	(with-sound (:channels 4) (dloc-sinewave 0 1.0 440 .5 :path (make-path '((-10 10) (0.5 0.5) (10 10)) :3d #f)))
 	(with-sound (:channels 8) (dloc-sinewave 0 1.0 440 .5 :path (make-path '((-10 10) (0.5 0.5) (10 10)) :3d #f)))
@@ -40999,98 +40724,98 @@ EDITS: 1
     
     (let* ((index (new-sound "test.snd" :channels 1)) ; our overall output file
 	   (vs1 (mix "violins.snd"))
-	   (cs1 (mix "cellos.snd"))
-	   (vs (and (pair? vs1) (car vs1)))
-	   (cs (and (pair? cs1) (car cs1))))
-      
-      (mus-close violins)
-      (mus-close cellos)
-      
-      (if (mix? vs)
-	  (let ((vsr (make-mix-sampler vs))
-		(csr (make-mix-sampler cs))
-		(fsr (make-sampler 0 index)))
-	    
-	    (do ((i 0 (+ i 1)))
-		((= i 1000))
-	      (let ((v (vsr))
-		    (c (csr))
-		    (f (fsr)))
-		(if (fneq f (+ c v))
-		    (snd-display ";multi temp output: ~A != ~A + ~A" f v c))))
-	    
-	    (free-sampler vsr)
-	    (free-sampler csr)
-	    (free-sampler fsr)))
-      
-      (close-sound index)
-      (if (file-exists? "violins.snd") (delete-file "violins.snd"))  
-      (if (file-exists? "cellos.snd") (delete-file "cellos.snd"))))
-  
-    (let ((v1 (with-sound ((make-float-vector 2210)) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-      (if (fneq (float-vector-peak v1) .1) (snd-display ";with-sound -> float-vector fm-violin maxamp (opt): ~A" (float-vector-peak v1)))
-      (let ((v2 (with-sound ((make-float-vector 2210)) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-	(if (fneq (float-vector-peak v2) .1) (snd-display ";with-sound -> float-vector fm-violin maxamp: ~A" (float-vector-peak v2)))
-	(if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound -> float-vector v1 v2 not equal?")))
-      (sound-let ((tmp () (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)))
-		 (let ((v3 (make-float-vector 2210)))
-		   (file->array tmp 0 0 2205 v3)
-		   (if (not (mus-arrays-equal? v1 v3)) (snd-display ";with-sound -> float-vector v1 v3 not equal?"))))
-      (with-sound (v1)
-	(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)
-	(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
-      (if (fneq (float-vector-peak v1) .2) (snd-display ";with-sound -> float-vector fm-violin maxamp (opt 2): ~A" (float-vector-peak v1))))
-  
-    (let ((v1 (with-sound ((make-float-vector '(1 2210))) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-      (if (fneq (maxamp v1) .1) (snd-display ";with-sound -> vector2 fm-violin maxamp (opt): ~A" (maxamp v1)))
-      (let ((v2 (with-sound ((make-float-vector '(1 2210))) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-	(if (fneq (maxamp v2) .1) (snd-display ";with-sound -> vector2 fm-violin maxamp: ~A" (maxamp v2)))
-	(if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound -> vector2 v1 v2 not equal?")))
-      (with-sound (v1)
-	(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)
-	(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
-      (if (fneq (maxamp v1) .2) (snd-display ";with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1))))
-  
-    (set! (locsig-type) mus-interp-linear)
-    (let ((v1 (with-sound ((make-float-vector '(2 2210)))
-			  (if (not (= (mus-channels *output*) 2)) (snd-display ";with-sound *output* chans: ~A" (mus-channels *output*)))
-			  (fm-violin 0 .1 440 .1 :degree 45 :random-vibrato-amplitude 0.0))))
-      (when (fneq (maxamp v1) .05) 
-	(snd-display ";with-sound -> vector2 fm-violin maxamp (1 opt): ~A" (maxamp v1)))
-      (let ((v2 (with-sound ((make-float-vector '(2 2210))) 
-			    (fm-violin 0 .1 440 .1 :degree 45 :random-vibrato-amplitude 0.0))))
-	(when (fneq (maxamp v2) .05)
-	  (snd-display ";with-sound -> vector2 fm-violin maxamp (2): ~A" (maxamp v2)))
-	(if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound (2 chans) -> vector2 v1 v2 not equal?")))
-      (with-sound (v1)
-	(fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
-	(fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0))
-      (if (fneq (maxamp v1) .2) (snd-display ";with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1))))
-  
-    (let ((v1 (with-sound ((make-float-vector 2210) :scaled-to .3) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-      (if (fneq (float-vector-peak v1) .3) 
-	  (snd-display ";with-sound -> float-vector fm-violin maxamp (opt, scaled-to): ~A" (float-vector-peak v1)))
-      (let ((v2 (with-sound ((make-float-vector 2210) :scaled-to .3) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-	(if (fneq (float-vector-peak v2) .3) 
-	    (snd-display ";with-sound -> float-vector fm-violin maxamp scaled-to: ~A" (float-vector-peak v2)))
-	(if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound (scaled-to) -> float-vector v1 v2 not equal?")))
-      (with-sound (v1 :scaled-by 2.0)
-	(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)
-	(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
-      (if (fneq (float-vector-peak v1) .4) (snd-display ";with-sound -> float-vector fm-violin maxamp (opt 2 scaled-by): ~A" (float-vector-peak v1))))
-  
-    (let ((v1 (with-sound ((make-float-vector '(1 2210)) :scaled-to .5) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-      (if (fneq (maxamp v1) .5) 
-	  (snd-display ";with-sound -> vector2 fm-violin maxamp (opt, scaled-to): ~A" (maxamp v1)))
-      (let ((v2 (with-sound ((make-float-vector '(1 2210)) :scaled-to .5) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-	(if (fneq (maxamp v2) .5) 
-	    (snd-display ";with-sound -> vector2 fm-violin maxamp scaled-to: ~A" (maxamp v2)))
-	(if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound scaled-to -> vector2 v1 v2 not equal?")))
-      (with-sound (v1 :scaled-by 0.5)
-	(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)
-	(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
-      (if (fneq (maxamp v1) .1) 
-	  (snd-display ";with-sound -> vector2 fm-violin maxamp (opt 2 scaled-by): ~A" (maxamp v1))))
+	   (cs1 (mix "cellos.snd")))
+      (let ((vs (and (pair? vs1) (car vs1)))
+	    (cs (and (pair? cs1) (car cs1))))
+	
+	(mus-close violins)
+	(mus-close cellos)
+	
+	(if (mix? vs)
+	    (let ((vsr (make-mix-sampler vs))
+		  (csr (make-mix-sampler cs))
+		  (fsr (make-sampler 0 index)))
+	      
+	      (do ((i 0 (+ i 1)))
+		  ((= i 1000))
+		(let ((v (vsr))
+		      (c (csr))
+		      (f (fsr)))
+		  (if (fneq f (+ c v))
+		      (snd-display ";multi temp output: ~A != ~A + ~A" f v c))))
+	      
+	      (free-sampler vsr)
+	      (free-sampler csr)
+	      (free-sampler fsr)))
+	
+	(close-sound index)
+	(if (file-exists? "violins.snd") (delete-file "violins.snd"))  
+	(if (file-exists? "cellos.snd") (delete-file "cellos.snd")))))
+  
+  (let ((v1 (with-sound ((make-float-vector 2210)) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+    (if (fneq (float-vector-peak v1) .1) (snd-display ";with-sound -> float-vector fm-violin maxamp (opt): ~A" (float-vector-peak v1)))
+    (let ((v2 (with-sound ((make-float-vector 2210)) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+      (if (fneq (float-vector-peak v2) .1) (snd-display ";with-sound -> float-vector fm-violin maxamp: ~A" (float-vector-peak v2)))
+      (if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound -> float-vector v1 v2 not equal?")))
+    (sound-let ((tmp () (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)))
+	       (let ((v3 (make-float-vector 2210)))
+		 (file->array tmp 0 0 2205 v3)
+		 (if (not (mus-arrays-equal? v1 v3)) (snd-display ";with-sound -> float-vector v1 v3 not equal?"))))
+    (with-sound (v1)
+      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)
+      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
+    (if (fneq (float-vector-peak v1) .2) (snd-display ";with-sound -> float-vector fm-violin maxamp (opt 2): ~A" (float-vector-peak v1))))
+  
+  (let ((v1 (with-sound ((make-float-vector '(1 2210))) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+    (if (fneq (maxamp v1) .1) (snd-display ";with-sound -> vector2 fm-violin maxamp (opt): ~A" (maxamp v1)))
+    (let ((v2 (with-sound ((make-float-vector '(1 2210))) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+      (if (fneq (maxamp v2) .1) (snd-display ";with-sound -> vector2 fm-violin maxamp: ~A" (maxamp v2)))
+      (if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound -> vector2 v1 v2 not equal?")))
+    (with-sound (v1)
+      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)
+      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
+    (if (fneq (maxamp v1) .2) (snd-display ";with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1))))
+  
+  (set! (locsig-type) mus-interp-linear)
+  (let ((v1 (with-sound ((make-float-vector '(2 2210)))
+	      (if (not (= (mus-channels *output*) 2)) (snd-display ";with-sound *output* chans: ~A" (mus-channels *output*)))
+	      (fm-violin 0 .1 440 .1 :degree 45 :random-vibrato-amplitude 0.0))))
+    (when (fneq (maxamp v1) .05) 
+      (snd-display ";with-sound -> vector2 fm-violin maxamp (1 opt): ~A" (maxamp v1)))
+    (let ((v2 (with-sound ((make-float-vector '(2 2210))) 
+		(fm-violin 0 .1 440 .1 :degree 45 :random-vibrato-amplitude 0.0))))
+      (when (fneq (maxamp v2) .05)
+	(snd-display ";with-sound -> vector2 fm-violin maxamp (2): ~A" (maxamp v2)))
+      (if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound (2 chans) -> vector2 v1 v2 not equal?")))
+    (with-sound (v1)
+      (fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
+      (fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0))
+    (if (fneq (maxamp v1) .2) (snd-display ";with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1))))
+  
+  (let ((v1 (with-sound ((make-float-vector 2210) :scaled-to .3) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+    (if (fneq (float-vector-peak v1) .3) 
+	(snd-display ";with-sound -> float-vector fm-violin maxamp (opt, scaled-to): ~A" (float-vector-peak v1)))
+    (let ((v2 (with-sound ((make-float-vector 2210) :scaled-to .3) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+      (if (fneq (float-vector-peak v2) .3) 
+	  (snd-display ";with-sound -> float-vector fm-violin maxamp scaled-to: ~A" (float-vector-peak v2)))
+      (if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound (scaled-to) -> float-vector v1 v2 not equal?")))
+    (with-sound (v1 :scaled-by 2.0)
+      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)
+      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
+    (if (fneq (float-vector-peak v1) .4) (snd-display ";with-sound -> float-vector fm-violin maxamp (opt 2 scaled-by): ~A" (float-vector-peak v1))))
+  
+  (let ((v1 (with-sound ((make-float-vector '(1 2210)) :scaled-to .5) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+    (if (fneq (maxamp v1) .5) 
+	(snd-display ";with-sound -> vector2 fm-violin maxamp (opt, scaled-to): ~A" (maxamp v1)))
+    (let ((v2 (with-sound ((make-float-vector '(1 2210)) :scaled-to .5) (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+      (if (fneq (maxamp v2) .5) 
+	  (snd-display ";with-sound -> vector2 fm-violin maxamp scaled-to: ~A" (maxamp v2)))
+      (if (not (mus-arrays-equal? v1 v2)) (snd-display ";with-sound scaled-to -> vector2 v1 v2 not equal?")))
+    (with-sound (v1 :scaled-by 0.5)
+      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)
+      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
+    (if (fneq (maxamp v1) .1) 
+	(snd-display ";with-sound -> vector2 fm-violin maxamp (opt 2 scaled-by): ~A" (maxamp v1))))
   
   (let ((stats-string ""))
     (with-sound ((make-float-vector 2210) :statistics (lambda (str) (set! stats-string str)))
@@ -41117,10 +40842,10 @@ EDITS: 1
 	(snd-display ";with-sound to float-vector stats: [~A]" stats-string))
     
     (with-sound ((make-float-vector '(4 2210)) :channels 4 :statistics (lambda (str) (set! stats-string str)))
-		(fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
-		(fm-violin 0 .1 440 .2 :degree 90 :random-vibrato-amplitude 0.0)
-		(fm-violin 0 .1 440 .3 :degree 180 :random-vibrato-amplitude 0.0)
-		(fm-violin 0 .1 440 .4 :degree 270 :random-vibrato-amplitude 0.0))
+      (fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
+      (fm-violin 0 .1 440 .2 :degree 90 :random-vibrato-amplitude 0.0)
+      (fm-violin 0 .1 440 .3 :degree 180 :random-vibrato-amplitude 0.0)
+      (fm-violin 0 .1 440 .4 :degree 270 :random-vibrato-amplitude 0.0))
     )
   
   (for-each
@@ -41128,234 +40853,234 @@ EDITS: 1
      
      ;; testing overwrites here -- just hope we don't crash...
      (let ((v1 (with-sound ((make-float-vector 20) :channels 1)
-			   (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+		 (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
        (if (fneq (v1 0) 0.0) (snd-display ";overwrite float-vector with-sound: ~A (~A)" (v1 0) (float-vector-peak v1))))
      
      (let ((v1 (with-sound ((make-float-vector 20) 4)
-			   (fm-violin 0 .1 440 .1 :degree 45 :random-vibrato-amplitude 0.0))))
+		 (fm-violin 0 .1 440 .1 :degree 45 :random-vibrato-amplitude 0.0))))
        (if (fneq (v1 0) 0.0) (snd-display ";overwrite float-vector with-sound (4): ~A (~A)" (v1 0) (float-vector-peak v1))))
      
      (let ((v1 (with-sound ((make-float-vector '(4 20)) :channels 4)
-			   (fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
-			   (fm-violin 0 .1 440 .2 :degree 90 :random-vibrato-amplitude 0.0)
-			   (fm-violin 0 .1 440 .3 :degree 180 :random-vibrato-amplitude 0.0)
-			   (fm-violin 0 .1 440 .4 :degree 270 :random-vibrato-amplitude 0.0))))
+		 (fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
+		 (fm-violin 0 .1 440 .2 :degree 90 :random-vibrato-amplitude 0.0)
+		 (fm-violin 0 .1 440 .3 :degree 180 :random-vibrato-amplitude 0.0)
+		 (fm-violin 0 .1 440 .4 :degree 270 :random-vibrato-amplitude 0.0))))
        (do ((i 0 (+ i 1))) ((= i 4))
 	 (if (fneq (v1 i 0) 0.0) (snd-display ";overwrite sd ~D with-sound: ~A" i (v1 i 0)))))
      
      (let ((v1 (with-sound ((make-float-vector '(2 20)) 4)
-			   (fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
-			   (fm-violin 0 .1 440 .2 :degree 90 :random-vibrato-amplitude 0.0)
-			   (fm-violin 0 .1 440 .3 :degree 180 :random-vibrato-amplitude 0.0)
-			   (fm-violin 0 .1 440 .4 :degree 270 :random-vibrato-amplitude 0.0))))
+		 (fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
+		 (fm-violin 0 .1 440 .2 :degree 90 :random-vibrato-amplitude 0.0)
+		 (fm-violin 0 .1 440 .3 :degree 180 :random-vibrato-amplitude 0.0)
+		 (fm-violin 0 .1 440 .4 :degree 270 :random-vibrato-amplitude 0.0))))
        (do ((i 0 (+ i 1))) ((= i 2))
 	 (if (fneq (v1 i 0) 0.0) (snd-display ";overwrite sd (2) ~D with-sound: ~A" i (v1 i 0)))))
      
      (let ((v1 (with-sound ((make-float-vector '(4 20)) :channels 1)
-			   (fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
-			   (fm-violin 0 .1 440 .2 :degree 90 :random-vibrato-amplitude 0.0)
-			   (fm-violin 0 .1 440 .3 :degree 180 :random-vibrato-amplitude 0.0)
-			   (fm-violin 0 .1 440 .4 :degree 270 :random-vibrato-amplitude 0.0))))
+		 (fm-violin 0 .1 440 .1 :degree 0 :random-vibrato-amplitude 0.0)
+		 (fm-violin 0 .1 440 .2 :degree 90 :random-vibrato-amplitude 0.0)
+		 (fm-violin 0 .1 440 .3 :degree 180 :random-vibrato-amplitude 0.0)
+		 (fm-violin 0 .1 440 .4 :degree 270 :random-vibrato-amplitude 0.0))))
        (do ((i 0 (+ i 1))) ((= i 4))
 	 (if (fneq (v1 i 0) 0.0) (snd-display ";overwrite sd (4) ~D with-sound: ~A" i (v1 i 0)))))
      )
    '(0 3 6))
   
   ;; reverb cases parallel to above
-    (let ((v1 (with-sound ((make-float-vector 44100) :reverb jc-reverb)
-			  (if (not (= (mus-length *output*) 44100)) (snd-display ";ws mus-length float-vector: ~A" (mus-length *output*)))
-			  (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0 :reverb-amount 0.9))))
-      (let ((v4 (with-sound ((make-float-vector 44100)) 
-		  (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-	(if (mus-arrays-equal? v1 v4) (snd-display ";reverb output not written to float-vector?")))
-      (if (< (float-vector-peak v1) .28)
-	  (snd-display ";rev with-sound -> float-vector fm-violin maxamp (opt): ~A" (float-vector-peak v1)))
-      (let ((v2 (with-sound ((make-float-vector 44100) :reverb jc-reverb) (fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
-	(if (< (float-vector-peak v2) .28) 
-	    (snd-display ";rev with-sound -> float-vector fm-violin maxamp: ~A" (float-vector-peak v2))))
-      (with-sound (v1 :channels 1 :reverb jc-reverb)
+  (let ((v1 (with-sound ((make-float-vector 44100) :reverb jc-reverb)
+	      (if (not (= (mus-length *output*) 44100)) (snd-display ";ws mus-length float-vector: ~A" (mus-length *output*)))
+	      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0 :reverb-amount 0.9))))
+    (let ((v4 (with-sound ((make-float-vector 44100)) 
+		(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+      (if (mus-arrays-equal? v1 v4) (snd-display ";reverb output not written to float-vector?")))
+    (if (< (float-vector-peak v1) .28)
+	(snd-display ";rev with-sound -> float-vector fm-violin maxamp (opt): ~A" (float-vector-peak v1)))
+    (let ((v2 (with-sound ((make-float-vector 44100) :reverb jc-reverb) (fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
+      (if (< (float-vector-peak v2) .28) 
+	  (snd-display ";rev with-sound -> float-vector fm-violin maxamp: ~A" (float-vector-peak v2))))
+    (with-sound (v1 :channels 1 :reverb jc-reverb)
+      (fm-violin 0 .1 440 .1 :reverb-amount 0.9)
+      (fm-violin 0 .1 440 .1 :reverb-amount 0.9))
+    (if (< (float-vector-peak v1) .28) 
+	(snd-display ";rev with-sound -> float-vector fm-violin maxamp (opt 2): ~A" (float-vector-peak v1))))
+  
+  (let ((v1 (with-sound ((make-float-vector '(1 44100)) :reverb jc-reverb) 
+	      (if (not (= (mus-length *output*) 44100)) (snd-display ";ws mus-length sd: ~A" (mus-length *output*)))
+	      (fm-violin 0 .1 440 .1 :reverb-amount 0.9 :random-vibrato-amplitude 0.0))))
+    (let ((v4 (with-sound ((make-float-vector '(1 44100))) 
+		(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+      (if (mus-arrays-equal? v1 v4) (snd-display ";reverb output not written to sd?")))
+    (if (< (maxamp v1) .23) 
+	(snd-display ";rev with-sound -> vector2 fm-violin maxamp (opt): ~A" (maxamp v1)))
+    (let ((v2 (with-sound ((make-float-vector '(1 44100)) :reverb jc-reverb) (fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
+      (if (< (maxamp v2) .23) 
+	  (snd-display ";rev with-sound -> vector2 fm-violin maxamp: ~A" (maxamp v2))))
+    (with-sound (v1 :reverb jc-reverb)
+      (fm-violin 0 .1 440 .1 :reverb-amount 0.9)
+      (fm-violin 0 .1 440 .1 :reverb-amount 0.9))
+    (if (< (maxamp v1) .52) 
+	(snd-display ";with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1))))
+  
+  (set! (locsig-type) mus-interp-linear)
+  (let ((v1 (with-sound ((make-float-vector '(2 44100)) :reverb jc-reverb)
+	      (if (not (= (mus-channels *output*) 2)) 
+		  (snd-display ";rev with-sound *output* chans: ~A" (mus-channels *output*)))
+	      (fm-violin 0 .1 440 .1 :degree 45 :reverb-amount 0.9))))
+    (when (< (maxamp v1) .23) 
+      (snd-display ";rev with-sound -> vector2 fm-violin maxamp (1 opt): ~A" (maxamp v1))
+      (snd-display ";rev with-sound -> vector2 fm-violin maxamp (2 opt): ~A" (maxamp v1)))
+    
+    (let ((v2 (with-sound ((make-float-vector '(2 44100)) :reverb jc-reverb) 
+		(fm-violin 0 .1 440 .1 :degree 45 :reverb-amount 0.9))))
+      (when (< (maxamp v2) .23) 
+	(snd-display ";rev with-sound -> vector2 fm-violin maxamp (2): ~A" (maxamp v2))
+	(snd-display ";rev with-sound -> vector2 fm-violin maxamp (2 2): ~A" (maxamp v2))))
+    (with-sound (v1 :reverb jc-reverb)
+      (fm-violin 0 .1 440 .1 :degree 0 :reverb-amount 0.9)
+      (fm-violin 0 .1 440 .1 :degree 0 :reverb-amount 0.9))
+    (if (< (maxamp v1) .5) 
+	(snd-display ";rev with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1))))
+  
+  (let ((v1 (with-sound ((make-float-vector 44100) :revfile (make-float-vector 44100) :reverb jc-reverb)
+	      (if (not (= (mus-length *output*) 44100)) (snd-display ";1 ws mus-length float-vector: ~A" (mus-length *output*)))
+	      (if (not (= (mus-length *reverb*) 44100)) (snd-display ";1 ws mus-length float-vector rev: ~A" (mus-length *reverb*)))
+	      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0 :reverb-amount 0.9))))
+    (let ((v4 (with-sound ((make-float-vector 44100)) 
+		(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+      (if (mus-arrays-equal? v1 v4) (snd-display ";1 reverb output not written to float-vector?")))
+    (if (< (float-vector-peak v1) .28)
+	(snd-display ";1 rev with-sound -> float-vector fm-violin maxamp (opt): ~A" (float-vector-peak v1)))
+    (let ((v2 (with-sound ((make-float-vector 44100) :revfile (make-float-vector 44100) :reverb jc-reverb) 
+		(fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
+      (if (< (float-vector-peak v2) .28) 
+	  (snd-display ";1 rev with-sound -> float-vector fm-violin maxamp: ~A" (float-vector-peak v2)))
+      (with-sound (v1 :revfile v2 :channels 1 :reverb jc-reverb)
 	(fm-violin 0 .1 440 .1 :reverb-amount 0.9)
 	(fm-violin 0 .1 440 .1 :reverb-amount 0.9))
       (if (< (float-vector-peak v1) .28) 
-	  (snd-display ";rev with-sound -> float-vector fm-violin maxamp (opt 2): ~A" (float-vector-peak v1))))
-  
-    (let ((v1 (with-sound ((make-float-vector '(1 44100)) :reverb jc-reverb) 
-			  (if (not (= (mus-length *output*) 44100)) (snd-display ";ws mus-length sd: ~A" (mus-length *output*)))
-			  (fm-violin 0 .1 440 .1 :reverb-amount 0.9 :random-vibrato-amplitude 0.0))))
-      (let ((v4 (with-sound ((make-float-vector '(1 44100))) 
-		  (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-	(if (mus-arrays-equal? v1 v4) (snd-display ";reverb output not written to sd?")))
-      (if (< (maxamp v1) .23) 
-	  (snd-display ";rev with-sound -> vector2 fm-violin maxamp (opt): ~A" (maxamp v1)))
-      (let ((v2 (with-sound ((make-float-vector '(1 44100)) :reverb jc-reverb) (fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
-	(if (< (maxamp v2) .23) 
-	    (snd-display ";rev with-sound -> vector2 fm-violin maxamp: ~A" (maxamp v2))))
-      (with-sound (v1 :reverb jc-reverb)
+	  (snd-display ";1 rev with-sound -> float-vector fm-violin maxamp (opt 2): ~A" (float-vector-peak v1)))))
+  
+  (let ((v1 (with-sound ((make-float-vector '(1 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
+	      (if (not (= (mus-length *output*) 44100)) (snd-display ";ws mus-length sd: ~A" (mus-length *output*)))
+	      (fm-violin 0 .1 440 .1 :reverb-amount 0.9 :random-vibrato-amplitude 0.0))))
+    (let ((v4 (with-sound ((make-float-vector '(1 44100))) 
+		(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+      (if (mus-arrays-equal? v1 v4) (snd-display ";2 reverb output not written to sd?")))
+    (if (< (maxamp v1) .28) 
+	(snd-display ";2 rev with-sound -> vector2 fm-violin maxamp (opt): ~A" (maxamp v1)))
+    (let ((v2 (with-sound ((make-float-vector '(1 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
+		(fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
+      (if (< (maxamp v2) .28) 
+	  (snd-display ";2 rev with-sound -> vector2 fm-violin maxamp: ~A" (maxamp v2)))
+      (with-sound (v1 :revfile v2 :reverb jc-reverb)
 	(fm-violin 0 .1 440 .1 :reverb-amount 0.9)
 	(fm-violin 0 .1 440 .1 :reverb-amount 0.9))
-      (if (< (maxamp v1) .52) 
-	  (snd-display ";with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1))))
-  
-    (set! (locsig-type) mus-interp-linear)
-    (let ((v1 (with-sound ((make-float-vector '(2 44100)) :reverb jc-reverb)
-			  (if (not (= (mus-channels *output*) 2)) 
-			      (snd-display ";rev with-sound *output* chans: ~A" (mus-channels *output*)))
-			  (fm-violin 0 .1 440 .1 :degree 45 :reverb-amount 0.9))))
-      (when (< (maxamp v1) .23) 
-	(snd-display ";rev with-sound -> vector2 fm-violin maxamp (1 opt): ~A" (maxamp v1))
-	(snd-display ";rev with-sound -> vector2 fm-violin maxamp (2 opt): ~A" (maxamp v1)))
-
-      (let ((v2 (with-sound ((make-float-vector '(2 44100)) :reverb jc-reverb) 
-			    (fm-violin 0 .1 440 .1 :degree 45 :reverb-amount 0.9))))
-	(when (< (maxamp v2) .23) 
-	  (snd-display ";rev with-sound -> vector2 fm-violin maxamp (2): ~A" (maxamp v2))
-	  (snd-display ";rev with-sound -> vector2 fm-violin maxamp (2 2): ~A" (maxamp v2))))
-      (with-sound (v1 :reverb jc-reverb)
+      (if (< (maxamp v1) .5) 
+	  (snd-display ";2 with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1)))))
+  
+  (let ((v1 (with-sound ((make-float-vector '(1 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
+	      (if (not (= (mus-length *output*) 44100)) (snd-display ";ws mus-length sd: ~A" (mus-length *output*)))
+	      (fm-violin 0 .1 440 .1 :reverb-amount 0.9 :random-vibrato-amplitude 0.0))))
+    (let ((v4 (with-sound ((make-float-vector '(1 44100)))
+		(fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
+      (if (mus-arrays-equal? v1 v4) (snd-display ";2 reverb output not written to sd?")))
+    (if (< (maxamp v1) .28) 
+	(snd-display ";2 rev with-sound -> vector2 fm-violin maxamp (opt): ~A" (maxamp v1)))
+    (let ((v2 (with-sound ((make-float-vector '(1 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
+		(fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
+      (if (< (maxamp v2) .28) 
+	  (snd-display ";2 rev with-sound -> vector2 fm-violin maxamp: ~A" (maxamp v2)))
+      (with-sound (v1 :revfile v2 :reverb jc-reverb)
+	(fm-violin 0 .1 440 .1 :reverb-amount 0.9)
+	(fm-violin 0 .1 440 .1 :reverb-amount 0.9))
+      (if (< (maxamp v1) .5) 
+	  (snd-display ";2 with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1)))))
+  
+  (set! (locsig-type) mus-interp-linear)
+  (let ((v1 (with-sound ((make-float-vector '(2 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb)
+	      (if (not (= (mus-channels *output*) 2)) 
+		  (snd-display ";3 rev with-sound *output* chans: ~A" (mus-channels *output*)))
+	      (fm-violin 0 .1 440 .1 :degree 45 :reverb-amount 0.9))))
+    (when (< (maxamp v1) .23) 
+      (snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (1 opt): ~A" (maxamp v1))
+      (snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (2 opt): ~A" (maxamp v1)))
+    (let ((v2 (with-sound ((make-float-vector '(2 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
+		(fm-violin 0 .1 440 .1 :degree 45 :reverb-amount 0.9))))
+      (when (< (maxamp v2) .23) 
+	(snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (2): ~A" (maxamp v2))
+	(snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (2 2): ~A" (maxamp v2)))
+      (with-sound (v1 :revfile v2 :reverb jc-reverb)
 	(fm-violin 0 .1 440 .1 :degree 0 :reverb-amount 0.9)
 	(fm-violin 0 .1 440 .1 :degree 0 :reverb-amount 0.9))
-      (if (< (maxamp v1) .5) 
-	  (snd-display ";rev with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1))))
-  
-    (let ((v1 (with-sound ((make-float-vector 44100) :revfile (make-float-vector 44100) :reverb jc-reverb)
-			  (if (not (= (mus-length *output*) 44100)) (snd-display ";1 ws mus-length float-vector: ~A" (mus-length *output*)))
-			  (if (not (= (mus-length *reverb*) 44100)) (snd-display ";1 ws mus-length float-vector rev: ~A" (mus-length *reverb*)))
-			  (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0 :reverb-amount 0.9))))
-      (let ((v4 (with-sound ((make-float-vector 44100)) 
-		  (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-	(if (mus-arrays-equal? v1 v4) (snd-display ";1 reverb output not written to float-vector?")))
-      (if (< (float-vector-peak v1) .28)
-	  (snd-display ";1 rev with-sound -> float-vector fm-violin maxamp (opt): ~A" (float-vector-peak v1)))
-      (let ((v2 (with-sound ((make-float-vector 44100) :revfile (make-float-vector 44100) :reverb jc-reverb) 
-			    (fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
-	(if (< (float-vector-peak v2) .28) 
-	    (snd-display ";1 rev with-sound -> float-vector fm-violin maxamp: ~A" (float-vector-peak v2)))
-	(with-sound (v1 :revfile v2 :channels 1 :reverb jc-reverb)
-		    (fm-violin 0 .1 440 .1 :reverb-amount 0.9)
-		    (fm-violin 0 .1 440 .1 :reverb-amount 0.9))
-	(if (< (float-vector-peak v1) .28) 
-	    (snd-display ";1 rev with-sound -> float-vector fm-violin maxamp (opt 2): ~A" (float-vector-peak v1)))))
-  
-    (let ((v1 (with-sound ((make-float-vector '(1 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
-			  (if (not (= (mus-length *output*) 44100)) (snd-display ";ws mus-length sd: ~A" (mus-length *output*)))
-			  (fm-violin 0 .1 440 .1 :reverb-amount 0.9 :random-vibrato-amplitude 0.0))))
-      (let ((v4 (with-sound ((make-float-vector '(1 44100))) 
-		  (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-	(if (mus-arrays-equal? v1 v4) (snd-display ";2 reverb output not written to sd?")))
-      (if (< (maxamp v1) .28) 
-	  (snd-display ";2 rev with-sound -> vector2 fm-violin maxamp (opt): ~A" (maxamp v1)))
-      (let ((v2 (with-sound ((make-float-vector '(1 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
-			    (fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
-	(if (< (maxamp v2) .28) 
-	    (snd-display ";2 rev with-sound -> vector2 fm-violin maxamp: ~A" (maxamp v2)))
-	(with-sound (v1 :revfile v2 :reverb jc-reverb)
-		    (fm-violin 0 .1 440 .1 :reverb-amount 0.9)
-		    (fm-violin 0 .1 440 .1 :reverb-amount 0.9))
-	(if (< (maxamp v1) .5) 
-	    (snd-display ";2 with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1)))))
-
-    (let ((v1 (with-sound ((make-float-vector '(1 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
-			  (if (not (= (mus-length *output*) 44100)) (snd-display ";ws mus-length sd: ~A" (mus-length *output*)))
-			  (fm-violin 0 .1 440 .1 :reverb-amount 0.9 :random-vibrato-amplitude 0.0))))
-      (let ((v4 (with-sound ((make-float-vector '(1 44100)))
-		  (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))))
-	(if (mus-arrays-equal? v1 v4) (snd-display ";2 reverb output not written to sd?")))
-      (if (< (maxamp v1) .28) 
-	  (snd-display ";2 rev with-sound -> vector2 fm-violin maxamp (opt): ~A" (maxamp v1)))
-      (let ((v2 (with-sound ((make-float-vector '(1 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
-			    (fm-violin 0 .1 440 .1 :reverb-amount 0.9))))
-	(if (< (maxamp v2) .28) 
-	    (snd-display ";2 rev with-sound -> vector2 fm-violin maxamp: ~A" (maxamp v2)))
-	(with-sound (v1 :revfile v2 :reverb jc-reverb)
-		    (fm-violin 0 .1 440 .1 :reverb-amount 0.9)
-		    (fm-violin 0 .1 440 .1 :reverb-amount 0.9))
-	(if (< (maxamp v1) .5) 
-	    (snd-display ";2 with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1)))))
+      (if (< (maxamp v1) .55) 
+	  (snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1)))))
   
-    (set! (locsig-type) mus-interp-linear)
-    (let ((v1 (with-sound ((make-float-vector '(2 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb)
-			  (if (not (= (mus-channels *output*) 2)) 
-			      (snd-display ";3 rev with-sound *output* chans: ~A" (mus-channels *output*)))
-			  (fm-violin 0 .1 440 .1 :degree 45 :reverb-amount 0.9))))
-      (when (< (maxamp v1) .23) 
-	(snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (1 opt): ~A" (maxamp v1))
-	(snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (2 opt): ~A" (maxamp v1)))
-      (let ((v2 (with-sound ((make-float-vector '(2 44100)) :revfile (make-float-vector '(1 44100)) :reverb jc-reverb) 
-			    (fm-violin 0 .1 440 .1 :degree 45 :reverb-amount 0.9))))
-	(when (< (maxamp v2) .23) 
-	  (snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (2): ~A" (maxamp v2))
-	  (snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (2 2): ~A" (maxamp v2)))
-	(with-sound (v1 :revfile v2 :reverb jc-reverb)
-		    (fm-violin 0 .1 440 .1 :degree 0 :reverb-amount 0.9)
-		    (fm-violin 0 .1 440 .1 :degree 0 :reverb-amount 0.9))
-	(if (< (maxamp v1) .55) 
-	    (snd-display ";3 rev with-sound -> vector2 fm-violin maxamp (opt 2): ~A" (maxamp v1)))))
-  
-    (for-each
-     (lambda (n)
-       (let ((v2 (with-sound ((make-float-vector 400))
-		   (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0))))
-	 (if (fneq (float-vector-peak v2) 0.1) (snd-display ";outa tests 2 ~A: ~A" n (float-vector-peak v2))))
-       (let ((v3 (with-sound ((make-float-vector 400))
-		   (simple-outn 0 .01 440 0.0 .5 0.0 0.0 0.0 0.0))))
-	 (if (fneq (float-vector-peak v3) 0.0) (snd-display ";outa tests 3 ~A: ~A" n (float-vector-peak v3))))
-       (let ((v4 (with-sound ((make-float-vector 4410) :reverb jc-reverb)
-		   (simple-outn 0 .01 440 0.2 0.0 0.0 0.0 0.05 0.0))))
-	 (if (fneq (float-vector-peak v4) 0.2) (snd-display ";outa tests 4 ~A: ~A" n (float-vector-peak v4))))
-       (let ((v5 (with-sound ((make-float-vector 4410) :reverb simple-in-rev :reverb-data '(0.0 1.0 1.0 0.0))
-		   (simple-outn 0 .01 440 0.0 0.0 0.0 0.0 0.5 0.0))))
-	 (if (fneq (float-vector-peak v5) 0.5) (snd-display ";outa tests 5 ~A: ~A" n (float-vector-peak v5))))
-       (let ((v6 (with-sound ((make-float-vector 400))
-		   (simple-outn 0 .01 440 0.5 0.0 0.0 0.0 0.0 0.0)
-		   (simple-outn 0 .01 440 0.2 0.0 0.0 0.0 0.0 0.0))))
-	 (if (fneq (float-vector-peak v6) 0.7) (snd-display ";outa tests 11 ~A: ~A" n (float-vector-peak v6))))
-       (let* ((sd1 (with-sound ((make-float-vector '(1 4410)))
-		    (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0)))
-	      (mx1 (maxamp sd1)))
-	 (if (fneq mx1 .1) (snd-display ";outa tests 6 ~A: ~A" n mx1)))
-       (let* ((sd3 (with-sound ((make-float-vector '(2 4410)))
-		    (simple-outn 0 .01 440 0.0 0.0 .3 .4 0.0 0.0)))
-	      (mx3 (maxamp sd3)))
-	 (if (fneq mx3 0.0) (snd-display ";outa tests 8 ~A: ~A" n mx3)))
-       (let* ((sd4 (with-sound ((make-float-vector '(4 4410)) :reverb simple-in-rev :reverb-channels 2 :reverb-data '(0.0 1.0 1.0 1.0))
-		    (simple-outn 0 .01 440 0.0 0.0 0.0 0.0 0.5 0.25)))
-	      (mx4 (maxamp sd4)))
-	 (if (fneq mx4 0.5) (snd-display ";outa tests 9 ~A: ~A" n mx4)))
-       (let* ((sd5 (with-sound ((make-float-vector '(4 4410)) :reverb simple-in-rev :reverb-channels 1 :reverb-data '(0.0 1.0 1.0 1.0))
-		    (simple-outn 0 .01 440 0.0 0.0 0.0 0.0 0.5 0.25)))
-	      (mx5 (maxamp sd5)))
-	 (if (fneq mx5 0.5) (snd-display ";outa tests 10 ~A: ~A" n mx5)))
-       (let* ((sd6 (with-sound ((make-float-vector '(4 4410)))
-		    (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0)
-		    (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0)))
-	      (mx6 (maxamp sd6)))
-	 (if (fneq mx6 .8) (snd-display ";outa tests 12 ~A: ~A" n mx6)))
-       (let ((v1 (with-sound ((make-float-vector 4410))
-		   (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0))))
-	 (if (fneq (float-vector-peak v1) 0.1) (snd-display ";outa tests 1 ~A: ~A" n (float-vector-peak v1)))
-	 (with-sound (v1 :continue-old-file #t)
+  (for-each
+   (lambda (n)
+     (let ((v2 (with-sound ((make-float-vector 400))
+		 (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0))))
+       (if (fneq (float-vector-peak v2) 0.1) (snd-display ";outa tests 2 ~A: ~A" n (float-vector-peak v2))))
+     (let ((v3 (with-sound ((make-float-vector 400))
+		 (simple-outn 0 .01 440 0.0 .5 0.0 0.0 0.0 0.0))))
+       (if (fneq (float-vector-peak v3) 0.0) (snd-display ";outa tests 3 ~A: ~A" n (float-vector-peak v3))))
+     (let ((v4 (with-sound ((make-float-vector 4410) :reverb jc-reverb)
+		 (simple-outn 0 .01 440 0.2 0.0 0.0 0.0 0.05 0.0))))
+       (if (fneq (float-vector-peak v4) 0.2) (snd-display ";outa tests 4 ~A: ~A" n (float-vector-peak v4))))
+     (let ((v5 (with-sound ((make-float-vector 4410) :reverb simple-in-rev :reverb-data '(0.0 1.0 1.0 0.0))
+		 (simple-outn 0 .01 440 0.0 0.0 0.0 0.0 0.5 0.0))))
+       (if (fneq (float-vector-peak v5) 0.5) (snd-display ";outa tests 5 ~A: ~A" n (float-vector-peak v5))))
+     (let ((v6 (with-sound ((make-float-vector 400))
+		 (simple-outn 0 .01 440 0.5 0.0 0.0 0.0 0.0 0.0)
+		 (simple-outn 0 .01 440 0.2 0.0 0.0 0.0 0.0 0.0))))
+       (if (fneq (float-vector-peak v6) 0.7) (snd-display ";outa tests 11 ~A: ~A" n (float-vector-peak v6))))
+     (let ((mx1 (maxamp
+		 (with-sound ((make-float-vector '(1 4410)))
+		   (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0)))))
+       (if (fneq mx1 .1) (snd-display ";outa tests 6 ~A: ~A" n mx1)))
+     (let ((mx3 (maxamp
+		 (with-sound ((make-float-vector '(2 4410)))
+		   (simple-outn 0 .01 440 0.0 0.0 .3 .4 0.0 0.0)))))
+       (if (fneq mx3 0.0) (snd-display ";outa tests 8 ~A: ~A" n mx3)))
+     (let ((mx4 (maxamp 
+		 (with-sound ((make-float-vector '(4 4410)) :reverb simple-in-rev :reverb-channels 2 :reverb-data '(0.0 1.0 1.0 1.0))
+		   (simple-outn 0 .01 440 0.0 0.0 0.0 0.0 0.5 0.25)))))
+       (if (fneq mx4 0.5) (snd-display ";outa tests 9 ~A: ~A" n mx4)))
+     (let ((mx5 (maxamp
+		 (with-sound ((make-float-vector '(4 4410)) :reverb simple-in-rev :reverb-channels 1 :reverb-data '(0.0 1.0 1.0 1.0))
+		   (simple-outn 0 .01 440 0.0 0.0 0.0 0.0 0.5 0.25)))))
+       (if (fneq mx5 0.5) (snd-display ";outa tests 10 ~A: ~A" n mx5)))
+     (let ((mx6 (maxamp
+		  (with-sound ((make-float-vector '(4 4410)))
+		   (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0)
+		   (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0)))))
+       (if (fneq mx6 .8) (snd-display ";outa tests 12 ~A: ~A" n mx6)))
+     (let ((v1 (with-sound ((make-float-vector 4410))
+		 (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0))))
+       (if (fneq (float-vector-peak v1) 0.1) (snd-display ";outa tests 1 ~A: ~A" n (float-vector-peak v1)))
+       (with-sound (v1 :continue-old-file #t)
+	 (simple-outn 0 .1 440 .1 .2 .3 .4 0.0 0.0))
+       (if (fneq (float-vector-peak v1) 0.2) (snd-display ";outa tests 13 ~A: ~A" n (float-vector-peak v1)))
+       (let ((sd2 (with-sound ((make-float-vector '(4 4410)))
+		    (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0))))
+	 (let ((mx2 (maxamp sd2)))
+	   (if (fneq mx2 .4) (snd-display ";outa tests 7 ~A: ~A" n mx2)))
+	 (with-sound (sd2 :continue-old-file #t)
 	   (simple-outn 0 .1 440 .1 .2 .3 .4 0.0 0.0))
-	 (if (fneq (float-vector-peak v1) 0.2) (snd-display ";outa tests 13 ~A: ~A" n (float-vector-peak v1)))
-	 (let ((sd2 (with-sound ((make-float-vector '(4 4410)))
-		      (simple-outn 0 .01 440 .1 .2 .3 .4 0.0 0.0))))
-	   (let ((mx2 (maxamp sd2)))
-	     (if (fneq mx2 .4) (snd-display ";outa tests 7 ~A: ~A" n mx2)))
-	   (with-sound (sd2 :continue-old-file #t)
-	     (simple-outn 0 .1 440 .1 .2 .3 .4 0.0 0.0))
-	   (let ((mx7 (maxamp sd2)))
-	     (if (fneq mx7 .8) (snd-display ";outa tests 14 ~A: ~A" n mx7))))))
-       '(0 6))
-  
-  (let* ((file (with-sound ()
-			   (fm-violin 0 .1 880 .1 :random-vibrato-amplitude 0.0)
-			   (let ((v1 (with-temp-sound (:output (make-float-vector 2210))
-						      (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)))
-				 (sd1 (with-temp-sound (:output (make-float-vector '(1 2210)))
-						       (fm-violin 0 .1 660 .1 :random-vibrato-amplitude 0.0))))
-			     (do ((i 0 (+ i 1)))
-				 ((= i 2205))
-			       (outa i (+ (v1 i) (sd1 0 i)))))
-			   (fm-violin 0 .1 220.0 .1 :random-vibrato-amplitude 0.0)))
-	 (ind (find-sound file)))
+	 (let ((mx7 (maxamp sd2)))
+	   (if (fneq mx7 .8) (snd-display ";outa tests 14 ~A: ~A" n mx7))))))
+   '(0 6))
+  
+  (let ((ind (find-sound
+	      (with-sound ()
+		 (fm-violin 0 .1 880 .1 :random-vibrato-amplitude 0.0)
+		 (let ((v1 (with-temp-sound (:output (make-float-vector 2210))
+					    (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0)))
+		       (sd1 (with-temp-sound (:output (make-float-vector '(1 2210)))
+					     (fm-violin 0 .1 660 .1 :random-vibrato-amplitude 0.0))))
+		   (do ((i 0 (+ i 1)))
+		       ((= i 2205))
+		     (outa i (+ (v1 i) (sd1 0 i)))))
+		 (fm-violin 0 .1 220.0 .1 :random-vibrato-amplitude 0.0)))))
     (if (not (sound? ind))
 	(snd-display ";can't find mixed with-sound output")
 	(let ((mx (maxamp ind 0)))
@@ -41364,20 +41089,20 @@ EDITS: 1
 	      (snd-display ";mixed with-sound: ~A" (channel->float-vector 1000 10)))
 	  (close-sound ind))))
   
-  (let* ((file (with-sound ()
-			   (fm-violin 0 .1 880 .1 :random-vibrato-amplitude 0.0)
-			   (sound-let ((v1 (:output (make-float-vector 2210))
-					   (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
-				       (sd1 (:output (make-float-vector '(1 2210)))
-					    (fm-violin 0 .1 660 .1 :random-vibrato-amplitude 0.0))
-				       (fs1 ()
-					    (fm-violin 0 .1 110 .1 :random-vibrato-amplitude 0.0)))
-				      (mus-file-mix *output* fs1)
-				      (do ((i 0 (+ i 1)))
-					  ((= i 2205))
-					(outa i (+ (v1 i) (sd1 0 i)))))
-			   (fm-violin 0 .1 220.0 .1 :random-vibrato-amplitude 0.0)))
-	 (ind (find-sound file)))
+  (let ((ind (find-sound
+	       (with-sound ()
+		 (fm-violin 0 .1 880 .1 :random-vibrato-amplitude 0.0)
+		 (sound-let ((v1 (:output (make-float-vector 2210))
+				 (fm-violin 0 .1 440 .1 :random-vibrato-amplitude 0.0))
+			     (sd1 (:output (make-float-vector '(1 2210)))
+				  (fm-violin 0 .1 660 .1 :random-vibrato-amplitude 0.0))
+			     (fs1 ()
+				  (fm-violin 0 .1 110 .1 :random-vibrato-amplitude 0.0)))
+			    (mus-file-mix *output* fs1)
+			    (do ((i 0 (+ i 1)))
+				((= i 2205))
+			      (outa i (+ (v1 i) (sd1 0 i)))))
+		 (fm-violin 0 .1 220.0 .1 :random-vibrato-amplitude 0.0)))))
     (if (not (sound? ind))
 	(snd-display ";can't find mixed with-sound sound-let output")
 	(let ((mx (maxamp ind 0)))
@@ -41387,8 +41112,7 @@ EDITS: 1
 	  (close-sound ind))))
   
   
-  (let* ((res (with-mixed-sound () (fm-violin 0 .1 440 .1)))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-mixed-sound () (fm-violin 0 .1 440 .1)))))
     (if (not (sound? snd)) (snd-display ";with-mixed-sound (1): ~A?" res))
     (let ((mxs (mixes snd 0))
 	  (info (sound-property 'with-mixed-sound-info snd)))
@@ -41402,10 +41126,9 @@ EDITS: 1
 	(snd-display ";with-mixed-sound (1) 0: ~A" (maxamp snd)))
     (close-sound snd))
   
-  (let* ((res (with-mixed-sound (:srate 44100) 
-				(fm-violin 0 .1 440 .1) 
-				(fm-violin 1 .1 660 .1)))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-mixed-sound (:srate 44100) 
+					   (fm-violin 0 .1 440 .1) 
+					   (fm-violin 1 .1 660 .1)))))
     (if (not (sound? snd)) (snd-display ";with-mixed-sound (2): ~A?" res))
     (let ((mxs (mixes snd 0))
 	  (info (sound-property 'with-mixed-sound-info snd)))
@@ -41425,23 +41148,21 @@ EDITS: 1
 	  (snd-display ";with-mixed-sound 0 (2): ~A ~A" (framples snd) (maxamp snd)))
       (close-sound snd)))
   
-  (let* ((res (with-mixed-sound (:channels 2 :srate 44100) 
-				(fm-violin 0 .1 440 .1 :degree 0) 
-				(fm-violin 1 .1 660 .1 :degree 45)))
-	 (snd (find-sound res))
-	 (mxs (mixes snd))
-	 (info (sound-property 'with-mixed-sound-info snd)))
-    (if (not (and (= (length mxs) 2)
-		  (= (length (car mxs)) 2)
-		  (= (length info) 2)
-		  (equal? (caar info) (caar mxs))))
-	(snd-display ";with-mixed-sound (3) 1: ~A ~A" mxs info))
-    (close-sound snd))
+  (let ((snd (find-sound (with-mixed-sound (:channels 2 :srate 44100) 
+					   (fm-violin 0 .1 440 .1 :degree 0) 
+					   (fm-violin 1 .1 660 .1 :degree 45)))))
+    (let ((mxs (mixes snd))
+	  (info (sound-property 'with-mixed-sound-info snd)))
+      (if (not (and (= (length mxs) 2)
+		    (= (length (car mxs)) 2)
+		    (= (length info) 2)
+		    (equal? (caar info) (caar mxs))))
+	  (snd-display ";with-mixed-sound (3) 1: ~A ~A" mxs info))
+      (close-sound snd)))
   
-  (let* ((res (with-marked-sound () 
-				 (fm-violin 0 .1 440 .1) 
-				 (fm-violin 1 .1 660 .1)))
-	 (snd (find-sound res))
+  (let* ((snd (find-sound (with-marked-sound () 
+					     (fm-violin 0 .1 440 .1) 
+					     (fm-violin 1 .1 660 .1))))
 	 (mxs (marks snd 0)))
     (if (not (= (length mxs) 2))
 	(snd-display ";with-marked-sound marks: ~A " mxs)
@@ -41459,256 +41180,231 @@ EDITS: 1
   
   ;; generators.scm
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-ercos 100 :r 1.0)))
-			     (do ((i 0 (+ i 1)))
-				 ((= i 10000))
-			       (outa i (ercos gen))))))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			    (let ((gen (make-ercos 100 :r 1.0)))
+			      (do ((i 0 (+ i 1)))
+				  ((= i 10000))
+				(outa i (ercos gen))))))))
     (if (not (sound? snd)) (snd-display ";ercos: ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";ercos max: ~A" (maxamp snd))))
-  
-  (let* ((res (with-sound (:clipped #f)  
-			  (let ((gen (make-ercos 100 :r 0.1)))
-			    (with-let gen
-			      (let ((g (curlet))
-				    (t-env (make-env '(0 .1 1 2) :length 20000))
-				    (poly-coeffs (mus-data osc)))
-				(do ((i 0 (+ i 1)))
-				    ((= i 20000))
-				  (set! r (env t-env))
-				  (set! cosh-t (cosh r))
-				  (float-vector-set! poly-coeffs 0 cosh-t)
-				  (let ((exp-t (exp (- r))))
-				    (set! offset (/ (- 1.0 exp-t) (* 2.0 exp-t)))
-				    (set! scaler (* (sinh r) offset)))
-				  (outa i (ercos g))))))))
-	 (snd (find-sound res)))
+    
+  (let ((snd (find-sound (with-sound (:clipped #f)  
+			   (let ((gen (make-ercos 100 :r 0.1)))
+			     (with-let gen
+			       (let ((g (curlet))
+				     (t-env (make-env '(0 .1 1 2) :length 20000))
+				     (poly-coeffs (mus-data osc)))
+				 (do ((i 0 (+ i 1)))
+				     ((= i 20000))
+				   (set! r (env t-env))
+				   (set! cosh-t (cosh r))
+				   (float-vector-set! poly-coeffs 0 cosh-t)
+				   (let ((exp-t (exp (- r))))
+				     (set! offset (/ (- 1.0 exp-t) (* 2.0 exp-t)))
+				     (set! scaler (* (sinh r) offset)))
+				   (outa i (ercos g))))))))))
     (if (not (sound? snd)) (snd-display ";ercos 1: ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";ercos 1 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-erssb 1000.0 0.1 1.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-erssb 1000.0 0.1 1.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
-			       (outa i (erssb gen))))))
-	 (snd (find-sound res)))
+			       (outa i (erssb gen))))))))
     (if (not (sound? snd)) (snd-display ";erssb: ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";erssb max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-noddsin 100 :n 10)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-noddsin 100 :n 10)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (noddsin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (noddsin gen))))))))
     (if (not (sound? snd)) (snd-display ";noddsin: ~A" snd))
     (if (ffneq (maxamp snd) 1.0) (snd-display ";noddsin max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-noddcos 100 :n 10)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-noddcos 100 :n 10)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (noddcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (noddcos gen))))))))
     (if (not (sound? snd)) (snd-display ";noddcos: ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";noddcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-noddssb 1000.0 0.1 5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-noddssb 1000.0 0.1 5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (noddssb gen))))))
-	 (snd (find-sound res)))
+			       (outa i (noddssb gen))))))))
     (if (not (sound? snd)) (snd-display ";noddssb: ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";noddssb max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f) 
-			  (let ((gen (make-asyfm 2000.0 :ratio .1))) 
+  (let ((snd (find-sound (with-sound (:clipped #f) 
+			   (let ((gen (make-asyfm 2000.0 :ratio .1))) 
 			     (do ((i 0 (+ i 1)))
 				 ((= i 1000))
-			       (outa i (asyfm-J gen))))))
-	 (snd (find-sound res)))
+			       (outa i (asyfm-J gen))))))))
     (if (not (sound? snd)) (snd-display ";asyfm-J ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";asyfm-J max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f) 
-			  (let ((gen (make-asyfm 2000.0 :ratio .1 :index 1))
-				(r-env (make-env '(0 -4 1 -1) :length 20000)))
+  (let ((snd (find-sound (with-sound (:clipped #f) 
+			   (let ((gen (make-asyfm 2000.0 :ratio .1 :index 1))
+				 (r-env (make-env '(0 -4 1 -1) :length 20000)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
 			       (set! (gen 'r) (env r-env))
-			       (outa i (asyfm-J gen))))))
-	 (snd (find-sound res)))
+			       (outa i (asyfm-J gen))))))))
     (if (not (sound? snd)) (snd-display ";asyfm-J1 ~A" snd))
     (if (ffneq (maxamp snd) 1.0) (snd-display ";asyfm-J1 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f) 
-			  (let ((gen (make-asyfm 2000.0 :ratio .1))) 
+  (let ((snd (find-sound (with-sound (:clipped #f) 
+			   (let ((gen (make-asyfm 2000.0 :ratio .1))) 
 			     (do ((i 0 (+ i 1)))
 				 ((= i 1000))
-			       (outa i (asyfm-I gen))))))
-	 (snd (find-sound res)))
+			       (outa i (asyfm-I gen))))))))
     (if (not (sound? snd)) (snd-display ";asyfm-I ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";asyfm-I max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f :statistics #t)
-			  (let ((gen (make-nrcos 400.0 :n 5 :r 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f :statistics #t)
+			   (let ((gen (make-nrcos 400.0 :n 5 :r 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (nrcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nrcos gen))))))))
     (if (not (sound? snd)) (snd-display ";nrcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";nrcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((samps 44100)
-				(gen (make-noid 100.0 3 'min-peak)))
-			    (do ((i 0 (+ i 1)))
-				((= i samps))
-			      (outa i (noid gen))))))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((samps 44100)
+				 (gen (make-noid 100.0 3 'min-peak)))
+			     (do ((i 0 (+ i 1)))
+				 ((= i samps))
+			       (outa i (noid gen))))))))
     (if (not (sound? snd)) (snd-display ";noid ~A" snd))
     (if (ffneq (maxamp snd) 0.6599) (snd-display ";noid min-peak max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((samps 44100)
-				(gen (make-noid 100.0 3 'max-peak)))
-			    (do ((i 0 (+ i 1)))
-				((= i samps))
-			      (outa i (noid gen))))))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((samps 44100)
+				 (gen (make-noid 100.0 3 'max-peak)))
+			     (do ((i 0 (+ i 1)))
+				 ((= i samps))
+			       (outa i (noid gen))))))))
     (if (not (sound? snd)) (snd-display ";noid ~A" snd))
     (if (ffneq (maxamp snd) 1.0) (snd-display ";noid max-peak max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nrcos 100 :n 15 :r 0.5))
-				(indr (make-env '(0 -1 1 1) :length 40000 :scaler 0.9999)))
-			    (let ((set-nrcos-scaler (procedure-setter (gen 'mus-scaler))))
-			     (do ((i 0 (+ i 1)))
-				 ((= i 40000))
-			       (set-nrcos-scaler gen (env indr))
-			       (outa i (nrcos gen)))))))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nrcos 100 :n 15 :r 0.5))
+				 (indr (make-env '(0 -1 1 1) :length 40000 :scaler 0.9999)))
+			     (let ((set-nrcos-scaler (procedure-setter (gen 'mus-scaler))))
+			       (do ((i 0 (+ i 1)))
+				   ((= i 40000))
+				 (set-nrcos-scaler gen (env indr))
+				 (outa i (nrcos gen)))))))))
     (if (not (sound? snd)) (snd-display ";nrcos with scaler ~A" snd))
-    ;(if (fneq (maxamp snd) 1.0) (snd-display ";nrcos with scaler max: ~A" (maxamp snd)))
+					;(if (fneq (maxamp snd) 1.0) (snd-display ";nrcos with scaler max: ~A" (maxamp snd)))
     ;; this is not a new problem -- was the scaler supposed to fix maxamp?
     )
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-ncos2 100.0 :n 10)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-ncos2 100.0 :n 10)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
-			       (outa i (ncos2 gen))))))
-	 (snd (find-sound res)))
+			       (outa i (ncos2 gen))))))))
     (if (not (sound? snd)) (snd-display ";ncos2 ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";ncos2 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-ncos4 100.0 :n 10)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-ncos4 100.0 :n 10)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
-			       (outa i (ncos4 gen))))))
-	 (snd (find-sound res)))
+			       (outa i (ncos4 gen))))))))
     (if (not (sound? snd)) (snd-display ";ncos4 ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";ncos4 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-npcos 100.0 :n 10)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-npcos 100.0 :n 10)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
-			       (outa i (npcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (npcos gen))))))))
     (if (not (sound? snd)) (snd-display ";npcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";npcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-n1cos 100.0 :n 10)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-n1cos 100.0 :n 10)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
-			       (outa i (n1cos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (n1cos gen))))))))
     (if (not (sound? snd)) (snd-display ";n1cos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";n1cos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rcos 100.0 :r 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rcos 100.0 :r 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
-			       (outa i (rcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rcos gen))))))))
     (if (not (sound? snd)) (snd-display ";rcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";rcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-bess 100.0 :n 0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-bess 100.0 :n 0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 1000))
-			       (outa i (bess gen))))))
-	 (snd (find-sound res)))
+			       (outa i (bess gen))))))))
     (if (not (sound? snd)) (snd-display ";bess ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";bess max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen1 (make-bess 400.0 :n 1))
-				(gen2 (make-bess 400.0 :n 1))
-				(vol (make-env '(0 0 1 1 9 1 10 0) :scaler 2.0 :length 20000)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen1 (make-bess 400.0 :n 1))
+				 (gen2 (make-bess 400.0 :n 1))
+				 (vol (make-env '(0 0 1 1 9 1 10 0) :scaler 2.0 :length 20000)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
-			       (outa i (bess gen1 (* (env vol) (bess gen2 0.0))))))))
-	 (snd (find-sound res)))
+			       (outa i (bess gen1 (* (env vol) (bess gen2 0.0))))))))))
     (if (not (sound? snd)) (snd-display ";bess 1 ~A" snd))
     (if (ffneq (maxamp snd) 1.0) (snd-display ";bess 1 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen1 (make-bess 400.0 :n 1))
-				(gen2 (make-oscil 400.0))
-				(vol (make-env '(0 1 1 0) :scaler 1.0 :length 20000)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen1 (make-bess 400.0 :n 1))
+				 (gen2 (make-oscil 400.0))
+				 (vol (make-env '(0 1 1 0) :scaler 1.0 :length 20000)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
-			       (outa i (bess gen1 (* (env vol) (oscil gen2 0.0))))))))
-	 (snd (find-sound res)))
+			       (outa i (bess gen1 (* (env vol) (oscil gen2 0.0))))))))))
     (if (not (sound? snd)) (snd-display ";bess 2 ~A" snd))
     (if (ffneq (maxamp snd) 1.0) (snd-display ";bess 2 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-eoddcos 400.0 :r 1.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-eoddcos 400.0 :r 1.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (eoddcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (eoddcos gen))))))))
     (if (not (sound? snd)) (snd-display ";eoddcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";eoddcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-eoddcos 400.0 :r 0.0))
-				(a-env (make-env '(0 0 1 1) :length 10000)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-eoddcos 400.0 :r 0.0))
+				 (a-env (make-env '(0 0 1 1) :length 10000)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
 			       (set! (gen 'r) (env a-env))
-			       (outa i (eoddcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (eoddcos gen))))))))
     (if (not (sound? snd)) (snd-display ";eoddcos 1 ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";eoddcos 1 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen1 (make-eoddcos 400.0 :r 0.0))
-				(gen2 (make-oscil 400.0))
-				(a-env (make-env '(0 0 1 1) :length 10000)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen1 (make-eoddcos 400.0 :r 0.0))
+				 (gen2 (make-oscil 400.0))
+				 (a-env (make-env '(0 0 1 1) :length 10000)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
 			       (set! (gen1 'r) (env a-env))
-			       (outa i (eoddcos gen1 (* .1 (oscil gen2))))))))
-	 (snd (find-sound res)))
+			       (outa i (eoddcos gen1 (* .1 (oscil gen2))))))))))
     (if (not (sound? snd)) (snd-display ";eoddcos 2 ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";eoddcos 2 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nssb 2000.0 0.05 3)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nssb 2000.0 0.05 3)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (* .3 (nssb gen)))))))
-	 (snd (find-sound res)))
+			       (outa i (* .3 (nssb gen)))))))))
     (if (not (sound? snd)) (snd-display ";nssb ~A" snd))
     (if (fneq (maxamp snd) 0.3) (snd-display ";nssb max: ~A" (maxamp snd))))
   
@@ -41744,368 +41440,329 @@ EDITS: 1
     
     (test-nssb-1)
     (test-nssb-1))
-
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nrssb 2000.0 0.05 3 0.5)))
+  
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nrssb 2000.0 0.05 3 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (nrssb gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nrssb gen))))))))
     (if (not (sound? snd)) (snd-display ";nrssb ~A" snd))
     (if (fneq (maxamp snd) 0.777) (snd-display ";nrssb max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rkcos 440.0 :r 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rkcos 440.0 :r 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rkcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rkcos gen))))))))
     (if (not (sound? snd)) (snd-display ";rkcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";rkcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rk!cos 440.0 :r 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rk!cos 440.0 :r 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rk!cos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rk!cos gen))))))))
     (if (not (sound? snd)) (snd-display ";rk!cos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";rk!cos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-r2k!cos 440.0 :r 0.5 :k 3.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-r2k!cos 440.0 :r 0.5 :k 3.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (r2k!cos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (r2k!cos gen))))))))
     (if (not (sound? snd)) (snd-display ";r2k!cos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";r2k!cos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-k2sin 440.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-k2sin 440.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (k2sin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (k2sin gen))))))))
     (if (not (sound? snd)) (snd-display ";k2sin ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";k2sin max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-k2cos 440.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-k2cos 440.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (k2cos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (k2cos gen))))))))
     (if (not (sound? snd)) (snd-display ";k2cos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";k2cos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-k2ssb 1000.0 0.1)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-k2ssb 1000.0 0.1)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (k2ssb gen))))))
-	 (snd (find-sound res)))
+			       (outa i (k2ssb gen))))))))
     (if (not (sound? snd)) (snd-display ";k2ssb ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";k2ssb max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rssb 1000 0.1 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rssb 1000 0.1 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rssb gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rssb gen))))))))
     (if (not (sound? snd)) (snd-display ";rssb ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";rssb max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-dblsum 100 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-dblsum 100 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (* .47 (dblsum gen))))))) ; k starts at 0, so maxamp would be 2 except something else is wrong
-	 (snd (find-sound res)))
+			       (outa i (* .47 (dblsum gen))))))))) ; k starts at 0, so maxamp would be 2 except something else is wrong
     (if (not (sound? snd)) (snd-display ";dblsum ~A" snd))
     (if (> (maxamp snd) 1.0) (snd-display ";dblsum max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nkssb 1000.0 0.1 5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nkssb 1000.0 0.1 5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (nkssb gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nkssb gen))))))))
     (if (not (sound? snd)) (snd-display ";nkssb ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";nkssb max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nkssb 1000.0 0.1 5))
-				(vib (make-polywave 5.0 (list 1 (hz->radians 50.0))  mus-chebyshev-second-kind)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nkssb 1000.0 0.1 5))
+				 (vib (make-polywave 5.0 (list 1 (hz->radians 50.0))  mus-chebyshev-second-kind)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 30000))
-			       (outa i (nkssb gen (polywave vib)))))))
-	 (snd (find-sound res)))
+			       (outa i (nkssb gen (polywave vib)))))))))
     (if (not (sound? snd)) (snd-display ";nkssb 1 ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";nkssb 1 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nkssb 1000.0 0.1 5))
-				(move (make-env '(0 1 1 -1) :length 30000))
-				(vib (make-polywave 5.0 (list 1 (hz->radians 50.0)) mus-chebyshev-second-kind)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nkssb 1000.0 0.1 5))
+				 (move (make-env '(0 1 1 -1) :length 30000))
+				 (vib (make-polywave 5.0 (list 1 (hz->radians 50.0)) mus-chebyshev-second-kind)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 30000))
-			       (outa i (nkssb-interp gen (polywave vib) (env move)))))))
-	 (snd (find-sound res)))
+			       (outa i (nkssb-interp gen (polywave vib) (env move)))))))))
     (if (not (sound? snd)) (snd-display ";nkssb 2 ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";nkssb 2 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rkoddssb 1000.0 0.1 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rkoddssb 1000.0 0.1 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rkoddssb gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rkoddssb gen))))))))
     (if (not (sound? snd)) (snd-display ";rkoddssb ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";rkoddssb max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-krksin 440.0 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-krksin 440.0 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (krksin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (krksin gen))))))))
     (if (not (sound? snd)) (snd-display ";krksin ~A" snd)))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-abcos 100.0 0.5 0.25)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-abcos 100.0 0.5 0.25)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (abcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (abcos gen))))))))
     (if (not (sound? snd)) (snd-display ";abcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";abcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f :statistics #t)
-			  (let ((gen (make-absin 100.0 0.5 0.25)))
+  (let ((snd (find-sound (with-sound (:clipped #f :statistics #t)
+			   (let ((gen (make-absin 100.0 0.5 0.25)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (absin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (absin gen))))))))
     (if (not (sound? snd)) (snd-display ";absin ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";absin max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-r2k2cos 100.0 1.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-r2k2cos 100.0 1.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (r2k2cos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (r2k2cos gen))))))))
     (if (not (sound? snd)) (snd-display ";r2k2cos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";r2k2cos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-jjcos 100.0 :a 1.0 :r 1.0 :k 1)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-jjcos 100.0 :a 1.0 :r 1.0 :k 1)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (jjcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (jjcos gen))))))))
     (if (not (sound? snd)) (snd-display ";jjcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";jjcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-j0evencos 100.0 1.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-j0evencos 100.0 1.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (j0evencos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (j0evencos gen))))))))
     (if (not (sound? snd)) (snd-display ";j0evencos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";j0evencos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rksin 100.0 :r 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rksin 100.0 :r 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rksin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rksin gen))))))))
     (if (not (sound? snd)) (snd-display ";rksin ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";rksin max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rkssb 1000.0 0.1 :r 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rkssb 1000.0 0.1 :r 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rkssb gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rkssb gen))))))))
     (if (not (sound? snd)) (snd-display ";rkssb ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";rkssb max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rk!ssb 1000.0 0.1 :r 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rk!ssb 1000.0 0.1 :r 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rk!ssb gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rk!ssb gen))))))))
     (if (not (sound? snd)) (snd-display ";rk!ssb ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";rk!ssb max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-jpcos 100.0 :a 1.0 :r 0.99 :k 1)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-jpcos 100.0 :a 1.0 :r 0.99 :k 1)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (jpcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (jpcos gen))))))))
     (if (not (sound? snd)) (snd-display ";jpcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";jpcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-j2cos 100.0 :r 1.0 :n 0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-j2cos 100.0 :r 1.0 :n 0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (j2cos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (j2cos gen))))))))
     (if (not (sound? snd)) (snd-display ";j2cos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";j2cos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nxysin 300 1/3 3)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nxysin 300 1/3 3)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (nxysin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nxysin gen))))))))
     (if (not (sound? snd)) (snd-display ";nxysin ~A" snd)))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nxycos 300 1/3 3)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nxycos 300 1/3 3)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (nxycos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nxycos gen))))))))
     (if (not (sound? snd)) (snd-display ";nxycos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";nxycos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nxy1cos 300 1/3 3)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nxy1cos 300 1/3 3)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (nxy1cos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nxy1cos gen))))))))
     (if (not (sound? snd)) (snd-display ";nxy1cos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";nxy1cos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nxy1sin 300 1/3 3)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nxy1sin 300 1/3 3)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (nxy1sin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nxy1sin gen))))))))
     (if (not (sound? snd)) (snd-display ";nxy1sin ~A" snd))
     (if (fneq (maxamp snd) 0.951) (snd-display ";nxy1sin max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f :statistics #t)
-			  (let ((gen (make-nrxysin 1000 0.1 5 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f :statistics #t)
+			   (let ((gen (make-nrxysin 1000 0.1 5 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 2000))
-			       (outa i (nrxysin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nrxysin gen))))))))
     (if (not (sound? snd)) (snd-display ";nrxysin ~A" snd))
     (if (fneq (maxamp snd) 0.985) (snd-display ";nrxysin max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nrxycos 1000 0.1 5 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nrxycos 1000 0.1 5 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 2000))
-			       (outa i (nrxycos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nrxycos gen))))))))
     (if (not (sound? snd)) (snd-display ";nrxycos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";nrxycos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-nrxycos 1000 0.1 15 0.5))
-				(indr (make-env '(0 -1 1 1) :length 40000 :scaler 0.9999)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-nrxycos 1000 0.1 15 0.5))
+				 (indr (make-env '(0 -1 1 1) :length 40000 :scaler 0.9999)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 40000))
 			       (set! (mus-scaler gen) (env indr)) 
-			       (outa i (nrxycos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nrxycos gen))))))))
     (if (not (sound? snd)) (snd-display ";nrxycos with scaler ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";nrxycos with scaler max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((black4 (make-blackman 440.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((black4 (make-blackman 440.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (blackman black4 0.0))))))
-	 (snd (find-sound res)))
+			       (outa i (blackman black4 0.0))))))))
     (if (not (sound? snd)) (snd-display ";blackman ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";blackman max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((black4 (make-sinc-train 440.0 10)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((black4 (make-sinc-train 440.0 10)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (sinc-train black4 0.0))))))
-	 (snd (find-sound res)))
+			       (outa i (sinc-train black4 0.0))))))))
     (if (not (sound? snd)) (snd-display ";sinc-train ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";sinc-train max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-k3sin 100.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-k3sin 100.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (k3sin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (k3sin gen))))))))
     (if (not (sound? snd)) (snd-display ";k3sin ~A" snd))
     (if (ffneq (maxamp snd) 1.0) (snd-display ";k3sin max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f :statistics #t)
-			  (let ((gen (make-izcos 100.0 1.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f :statistics #t)
+			   (let ((gen (make-izcos 100.0 1.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 30000))
-			       (outa i (izcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (izcos gen))))))))
     (if (not (sound? snd)) (snd-display ";izcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";izcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rxysin 1000 0.1 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rxysin 1000 0.1 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (* .5 (rxysin gen)))))))
-	 (snd (find-sound res)))
+			       (outa i (* .5 (rxysin gen)))))))))
     (if (not (sound? snd)) (snd-display ";rxysin ~A" snd))
     (if (> (maxamp snd) 1.0) (snd-display ";rxysin max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rxycos 1000 0.1 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rxycos 1000 0.1 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rxycos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rxycos gen))))))))
     (if (not (sound? snd)) (snd-display ";rxycos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";rxycos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f :srate 44100)
-			  (let ((gen (make-safe-rxycos 1000 0.1 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f :srate 44100)
+			   (let ((gen (make-safe-rxycos 1000 0.1 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (safe-rxycos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (safe-rxycos gen))))))))
     (if (not (sound? snd)) (snd-display ";safe-rxycos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";safe-rxycos max: ~A" (maxamp snd))))
   
   (let* ((base-r 0.0)
 	 (end-r 0.0)
-	 (res (with-sound (:clipped #f :channels 2 :srate 44100)
-			  (let ((gen1 (make-safe-rxycos 1000 1 0.99))
-				(gen2 (make-safe-rxycos 1000 1 0.99))
-				(frqf (make-env '(0 0 1 1) :length 10000 :scaler (hz->radians 1000))))
-			    (let ((set-freq (procedure-setter (gen2 'mus-frequency))))
-			      (set! base-r (gen1 'r))
-			      (do ((i 0 (+ i 1)))
-				  ((= i 10000))
-				(let ((fm (env frqf)))
-				  (set-freq gen2 (+ 1000 (radians->hz fm)))
-				  (outa i (safe-rxycos gen1 fm)))
-				(outb i (safe-rxycos gen2 0.0))
-				(set! end-r (clamp-rxycos-r gen2 0.0)))))))
-	 (snd (find-sound res)))
+	 (snd (find-sound (with-sound (:clipped #f :channels 2 :srate 44100)
+		(let ((gen1 (make-safe-rxycos 1000 1 0.99))
+		      (gen2 (make-safe-rxycos 1000 1 0.99))
+		      (frqf (make-env '(0 0 1 1) :length 10000 :scaler (hz->radians 1000))))
+		  (let ((set-freq (procedure-setter (gen2 'mus-frequency))))
+		    (set! base-r (gen1 'r))
+		    (do ((i 0 (+ i 1)))
+			((= i 10000))
+		      (let ((fm (env frqf)))
+			(set-freq gen2 (+ 1000 (radians->hz fm)))
+			(outa i (safe-rxycos gen1 fm)))
+		      (outb i (safe-rxycos gen2 0.0))
+		      (set! end-r (clamp-rxycos-r gen2 0.0)))))))))
     (if (not (sound? snd)) (snd-display ";safe-rxycos 1 ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";safe-rxycos 1 max: ~A" (maxamp snd)))
     (if (fneq base-r .588) (snd-display ";safe-rxycos-r 1 base: ~A" base-r))
@@ -42113,145 +41770,131 @@ EDITS: 1
   
   (let* ((base-r 0.0)
 	 (end-r 0.0)
-	 (res (with-sound (:clipped #f :channels 2 :srate 44100)
-			  (let ((gen1 (make-safe-rxycos 1000 .1 0.99))
-				(gen2 (make-safe-rxycos 1000 .1 0.99))
-				(frqf (make-env '(0 0 1 1) :length 10000 :scaler (hz->radians 1000))))
-			    (let ((set-freq (procedure-setter (gen2 'mus-frequency))))
-			      (set! base-r (gen1 'r))
-			      (do ((i 0 (+ i 1)))
-				  ((= i 10000))
-				(let ((fm (env frqf)))
-				  (set-freq gen2 (+ 1000 (radians->hz fm)))
-				  (outa i (safe-rxycos gen1 fm)))
-				(outb i (safe-rxycos gen2 0.0))
-				(set! end-r (clamp-rxycos-r gen2 0.0)))))))
-	 (snd (find-sound res)))
+	 (snd (find-sound (with-sound (:clipped #f :channels 2 :srate 44100)
+		(let ((gen1 (make-safe-rxycos 1000 .1 0.99))
+		      (gen2 (make-safe-rxycos 1000 .1 0.99))
+		      (frqf (make-env '(0 0 1 1) :length 10000 :scaler (hz->radians 1000))))
+		  (let ((set-freq (procedure-setter (gen2 'mus-frequency))))
+		    (set! base-r (gen1 'r))
+		    (do ((i 0 (+ i 1)))
+			((= i 10000))
+		      (let ((fm (env frqf)))
+			(set-freq gen2 (+ 1000 (radians->hz fm)))
+			(outa i (safe-rxycos gen1 fm)))
+		      (outb i (safe-rxycos gen2 0.0))
+		      (set! end-r (clamp-rxycos-r gen2 0.0)))))))))
     (if (not (sound? snd)) (snd-display ";safe-rxycos 2 ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";safe-rxycos 2 max: ~A" (maxamp snd)))
     (if (fneq base-r .951) (snd-display ";safe-rxycos-r 2 base: ~A" base-r))
     (if (fneq end-r .896) (snd-display ";safe-rxycos-r 2 end: ~A" end-r)))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rxyk!sin 1000 0.1 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rxyk!sin 1000 0.1 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rxyk!sin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rxyk!sin gen))))))))
     (if (not (sound? snd)) (snd-display ";rxyk!sin ~A" snd))
     (if (fneq (maxamp snd) 0.992) (snd-display ";rxyk!sin max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-rxyk!cos 1000 0.1 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-rxyk!cos 1000 0.1 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (rxyk!cos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (rxyk!cos gen))))))))
     (if (not (sound? snd)) (snd-display ";rxyk!cos ~A" snd))
     (if (ffneq (maxamp snd) 1.0) (snd-display ";rxyk!cos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f :statistics #t :play #f)
-			  (let ((gen (make-nsincos 100.0 3)))
+  (let ((snd (find-sound (with-sound (:clipped #f :statistics #t :play #f)
+			   (let ((gen (make-nsincos 100.0 3)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 20000))
-			       (outa i (nsincos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nsincos gen))))))))
     (if (not (sound? snd)) (snd-display ";nsincos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";nsincos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f :play #f)
-			  (let ((gen (make-nchoosekcos 2000.0 0.05 10)))
+  (let ((snd (find-sound (with-sound (:clipped #f :play #f)
+			   (let ((gen (make-nchoosekcos 2000.0 0.05 10)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 30000))
-			       (outa i (nchoosekcos gen))))))
-	 (snd (find-sound res)))
+			       (outa i (nchoosekcos gen))))))))
     (if (not (sound? snd)) (snd-display ";nchoosekcos ~A" snd))
     (if (ffneq (maxamp snd) 1.0) (snd-display ";nchoosekcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound ()
-			  (let ((gen (make-adjustable-square-wave 100 .2 .5)))
+  (let ((snd (find-sound (with-sound ()
+			   (let ((gen (make-adjustable-square-wave 100 .2 .5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 200))
-			       (outa i (adjustable-square-wave gen))))))
-	 (snd (find-sound res)))
+			       (outa i (adjustable-square-wave gen))))))))
     (if (not (sound? snd)) (snd-display ";adj sq ~A" snd))
     (if (fneq (maxamp snd) 0.5) (snd-display ";adj sq max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound ()
-			  (let ((gen (make-adjustable-triangle-wave 100 .2 .5)))
+  (let ((snd (find-sound (with-sound ()
+			   (let ((gen (make-adjustable-triangle-wave 100 .2 .5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 22050))
-			       (outa i (adjustable-triangle-wave gen))))))
-	 (snd (find-sound res)))
+			       (outa i (adjustable-triangle-wave gen))))))))
     (if (not (sound? snd)) (snd-display ";adj tri ~A" snd))
     (if (ffneq (maxamp snd) 0.5) (snd-display ";adj tri max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound ()
-			  (let ((gen (make-adjustable-sawtooth-wave 100 .2 .5)))
+  (let ((snd (find-sound (with-sound ()
+			   (let ((gen (make-adjustable-sawtooth-wave 100 .2 .5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 22050))
-			       (outa i (adjustable-sawtooth-wave gen))))))
-	 (snd (find-sound res)))
+			       (outa i (adjustable-sawtooth-wave gen))))))))
     (if (not (sound? snd)) (snd-display ";adj saw ~A" snd))
     (if (ffneq (maxamp snd) 0.5) (snd-display ";adj saw max: ~A" (maxamp snd))))
   
   (with-sound (:clipped #f) ; at least run the thing -- not sure how to test this automatically
-	      (let ((gen (make-pink-noise 12)))
-		       (do ((i 0 (+ i 1)))
-			   ((= i 44100))
-			 (outa i (pink-noise gen)))))
+    (let ((gen (make-pink-noise 12)))
+      (do ((i 0 (+ i 1)))
+	  ((= i 44100))
+	(outa i (pink-noise gen)))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-brown-noise 100.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-brown-noise 100.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (brown-noise gen))))))
-	 (snd (find-sound res)))
+			       (outa i (brown-noise gen))))))))
     (if (not (sound? snd)) (snd-display ";brown-noise ~A" snd))
     (if (< (maxamp snd) 0.01) (snd-display ";brown-noise max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-green-noise 100.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-green-noise 100.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (green-noise gen))))))
-	 (snd (find-sound res)))
+			       (outa i (green-noise gen))))))))
     (if (not (sound? snd)) (snd-display ";green-noise ~A" snd))
     (if (not (<= 0.01 (maxamp snd) 1.0)) (snd-display ";green-noise max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-green-noise 100.0 0.1 -0.1 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-green-noise 100.0 0.1 -0.1 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (green-noise gen))))))
-	 (snd (find-sound res)))
+			       (outa i (green-noise gen))))))))
     (if (not (sound? snd)) (snd-display ";green-noise .5 ~A" snd))
     (if (not (<= 0.01 (maxamp snd) 0.5)) (snd-display ";green-noise .5 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-green-noise-interp 100.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-green-noise-interp 100.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (green-noise-interp gen))))))
-	 (snd (find-sound res)))
+			       (outa i (green-noise-interp gen))))))))
     (if (not (sound? snd)) (snd-display ";green-noise-interp ~A" snd))
     (if (not (<= 0.01 (maxamp snd) 1.0))  (snd-display ";green-noise-interp max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-green-noise-interp 100.0 0.1 -0.1 0.5)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-green-noise-interp 100.0 0.1 -0.1 0.5)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (green-noise-interp gen))))))
-	 (snd (find-sound res)))
+			       (outa i (green-noise-interp gen))))))))
     (if (not (sound? snd)) (snd-display ";green-noise-interp .5 ~A" snd))
     (if (not (<= 0.01 (maxamp snd) 0.5))  (snd-display ";green-noise-interp .5 max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen (make-tanhsin 440.0 2.0)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen (make-tanhsin 440.0 2.0)))
 			     (do ((i 0 (+ i 1)))
 				 ((= i 10000))
-			       (outa i (tanhsin gen))))))
-	 (snd (find-sound res)))
+			       (outa i (tanhsin gen))))))))
     (if (not (sound? snd)) (snd-display ";tanhsin ~A" snd))
     (if (> (abs (- 1.0 (maxamp snd))) 0.1) (snd-display ";tanhsin max: ~A" (maxamp snd))))
   
@@ -42277,76 +41920,69 @@ EDITS: 1
 	(if (not (>= 443.0 pitch 439.0))
 	    (snd-display ";moving-pitch 1a: ~A" pitch)))))
   
-  (let ((val (make-vector 3))
-	(frq 0.0))
+  (let ((val (make-vector 3)))
     (set! (val 0) (make-nrcos 100))  
     (set! (val 1) (make-nrcos 200))  
     (set! (val 2) (make-nrcos 300))
-    (set! frq (mus-frequency (vector-ref val 1)))
-    (if (fneq frq 200.0) (snd-display ";defgen vect freq: ~A" frq)))
+    (let ((frq (mus-frequency (vector-ref val 1))))
+      (if (fneq frq 200.0) (snd-display ";defgen vect freq: ~A" frq))))
   
-  (let ((val (make-vector 3))
-	(frq 0.0))
+  (let ((val (make-vector 3)))
     (set! (val 0) (make-nrcos 100))  
     (set! (val 1) (make-nrcos 200))  
     (set! (val 2) (make-nrcos 300))
-    (set! frq (+ (mus-frequency (vector-ref val 0))
-		 (mus-frequency (vector-ref val 1))
-		 (mus-frequency (vector-ref val 2))))
-    (if (fneq frq 600.0) (snd-display ";defgen vect freq 1: ~A" frq)))
+    (let ((frq (+ (mus-frequency (vector-ref val 0))
+		  (mus-frequency (vector-ref val 1))
+		  (mus-frequency (vector-ref val 2)))))
+      (if (fneq frq 600.0) (snd-display ";defgen vect freq 1: ~A" frq))))
   
-  (let ((val (make-vector 3))
-	(frq 0.0))
+  (let ((val (make-vector 3)))
     (set! (val 0) (make-nrcos 100))  
     (set! (val 1) (make-nrcos 200))  
     (set! (val 2) (make-nrcos 300))
     (set! (mus-frequency (vector-ref val 1)) 500.0)
-    (set! frq (mus-frequency (vector-ref val 1)))
-    (if (fneq frq 500.0) (snd-display ";defgen set freq: ~A ~A" frq (mus-frequency (vector-ref val 1)))))
+    (let ((frq (mus-frequency (vector-ref val 1))))
+      (if (fneq frq 500.0) (snd-display ";defgen set freq: ~A ~A" frq (mus-frequency (vector-ref val 1))))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((v (make-vector 2 #f)))
-			    (set! (v 0) (make-nrcos 440 10 .5))    
-			    (set! (v 1) (make-nrcos 440 10 .5))    
-			    (do ((i 0 (+ i 1)))
-				((= i 1000))
-			      (outa i (nrcos (vector-ref v 0) 0.0))))))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((v (make-vector 2 #f)))
+			     (set! (v 0) (make-nrcos 440 10 .5))    
+			     (set! (v 1) (make-nrcos 440 10 .5))    
+			     (do ((i 0 (+ i 1)))
+				 ((= i 1000))
+			       (outa i (nrcos (vector-ref v 0) 0.0))))))))
     (if (not (sound? snd)) (snd-display ";vect nrcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";vect nrcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((val (make-vector 2)))
-			    (set! (val 0) (make-nrcos 100 1 .1))  
-			    (set! (val 1) (make-nrcos 200 1 .1))  
-			    (do ((i 0 (+ i 1)))
-				((= i 2000))
-			      (outa i (* .5 (+ (nrcos (vector-ref val 0) 0.0)
-					       (nrcos (vector-ref val 1) 0.0))))))))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((val (make-vector 2)))
+			     (set! (val 0) (make-nrcos 100 1 .1))  
+			     (set! (val 1) (make-nrcos 200 1 .1))  
+			     (do ((i 0 (+ i 1)))
+				 ((= i 2000))
+			       (outa i (* .5 (+ (nrcos (vector-ref val 0) 0.0)
+						(nrcos (vector-ref val 1) 0.0))))))))))
     (if (not (sound? snd)) (snd-display ";vect 2 nrcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";vect 2 nrcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((gen1 (make-nrcos 100 1 .1))
-				(gen2 (make-nrcos 200 1 .1)))
-			       (do ((i 0 (+ i 1)))
-				   ((= i 2000))
-				 (outa i (* .5 (+ (nrcos gen1 0.0)
-						  (nrcos gen2 0.0))))))))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((gen1 (make-nrcos 100 1 .1))
+				 (gen2 (make-nrcos 200 1 .1)))
+			     (do ((i 0 (+ i 1)))
+				 ((= i 2000))
+			       (outa i (* .5 (+ (nrcos gen1 0.0)
+						(nrcos gen2 0.0))))))))))
     (if (not (sound? snd)) (snd-display ";no vect 2 nrcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";no vect 2 nrcos max: ~A" (maxamp snd))))
   
-  (let* ((res (with-sound (:clipped #f)
-			  (let ((v (make-vector 2 #f)))
-			    (set! (v 0) (make-nrcos 440 10 .5))    
-			    (set! (v 1) (make-nrcos 440 10 .5))    
-			    (do ((i 0 (+ i 1))) 
-				((= i 2000))
-			      (let ((gen (vector-ref v 0)))
-				(outa i (nrcos gen)))))))
-	 (snd (find-sound res)))
+  (let ((snd (find-sound (with-sound (:clipped #f)
+			   (let ((v (make-vector 2 #f)))
+			     (set! (v 0) (make-nrcos 440 10 .5))    
+			     (set! (v 1) (make-nrcos 440 10 .5))    
+			     (do ((i 0 (+ i 1))) 
+				 ((= i 2000))
+			       (let ((gen (vector-ref v 0)))
+				 (outa i (nrcos gen)))))))))
     (if (not (sound? snd)) (snd-display ";vect let nrcos ~A" snd))
     (if (fneq (maxamp snd) 1.0) (snd-display ";vect let nrcos max: ~A" (maxamp snd))))
   
@@ -42382,8 +42018,7 @@ EDITS: 1
   (calling-all-animals)
   (calling-all-generators)
   
-  (let ()
-    (define gen-list (list make-nssb make-nxysin make-nxycos make-nxy1cos make-nxy1sin make-noddsin make-noddcos make-noddssb make-ncos2 make-npcos
+  (let ((gen-list (list make-nssb make-nxysin make-nxycos make-nxy1cos make-nxy1sin make-noddsin make-noddcos make-noddssb make-ncos2 make-npcos
 			   make-nrsin make-nrcos make-nrssb make-nkssb make-nsincos make-rcos make-rssb make-rxysin make-rxycos
 			   make-rxyk!sin make-rxyk!cos make-ercos make-erssb make-eoddcos make-rkcos make-rksin make-rkssb
 			   make-rk!cos make-rk!ssb make-r2k!cos make-k2sin make-k2cos make-k2ssb make-dblsum make-rkoddssb make-krksin
@@ -42400,7 +42035,7 @@ EDITS: 1
 			   (lambda args
 			     (make-moving-autocorrelation (make-readin "oboe.snd")))
 			   (lambda args
-			     (make-moving-pitch (make-readin "oboe.snd")))))
+			     (make-moving-pitch (make-readin "oboe.snd"))))))
     (for-each
      (lambda (name maker isit run)
        (let ((gen (maker)))
@@ -42512,7 +42147,7 @@ EDITS: 1
 	    (let ((c (str i)))
 	      (string-set! new-str i (if (memv c '(#\\ #\/)) #\_ c))))))
       
-      (define (tagged-p val sym) (or (not val) (and (list? val) (pair? val) (eq? (car val) sym))))
+      (define (tagged-p val sym) (or (not val) (and (pair? val) (eq? (car val) sym))))
       (define (array-p val type) (or (null? val) (and (pair? val) (type (car val)))))
       (define XM_INT  integer?)
       (define (XM_ULONG val)  (and (integer? val) (>= val 0)))
@@ -42546,7 +42181,7 @@ EDITS: 1
       (define (XM_VISUAL val)  (or (tagged-p val 'Visual) (memv val '(0 0.0))))
       (define (XM_WIDGET_CLASS val)  (or (tagged-p val 'WidgetClass) (memv val '(0 0.0))))
       (define (XM_STRING_OR_INT val)  (or (string? val) (integer? val) (not val)))
-      (define (XM_STRING_OR_XMSTRING val)  (or (string? val) (not val) (and (list? val) (pair? val) (eq? (car val) 'XmString)) (memv val '(0 0.0))))
+      (define (XM_STRING_OR_XMSTRING val)  (or (string? val) (not val) (and (pair? val) (eq? (car val) 'XmString)) (memv val '(0 0.0))))
       (define (XM_POSITION val)  (and (integer? val) (< (abs val) 65536)))
       (define XM_SHORT XM_POSITION)
       (define (XM_CALLBACK val)  (or (procedure? val) (not val) (integer? val)))
@@ -43001,14 +42636,12 @@ EDITS: 1
 	(XSetWindowBorderWidth dpy win 10)
 	(XSetWindowBorder dpy win (black-pixel))
 	(XSetWindowBackground dpy win *basic-color*)
-	(let* ((vis (XGetVisualInfo dpy 0 (list 'XVisualInfo 0)))
-	       (depth (.depth (car vis))))
+	(let ((depth (.depth (car (XGetVisualInfo dpy 0 (list 'XVisualInfo 0))))))
 	  (XSetWindowBorderPixmap dpy win (XCreatePixmap dpy win 10 10 depth))
-	  (XSetWindowBackgroundPixmap dpy win (XCreatePixmap dpy win 10 10 depth))
-	  (XSetWindowBorderPixmap dpy win CopyFromParent)
-	  (XSetWindowBackgroundPixmap dpy win ParentRelative)
-					;(segfault)     (XFree (cadr vis))
-	  )
+	  (XSetWindowBackgroundPixmap dpy win (XCreatePixmap dpy win 10 10 depth)))
+	(XSetWindowBorderPixmap dpy win CopyFromParent)
+	(XSetWindowBackgroundPixmap dpy win ParentRelative)
+
 	(let ((hints (XGetWMHints dpy win)))
 	  (if (not (and hints (XWMHints? hints))) (snd-display ";XGetWMHints?"))
 	  (if (not (= (.flags hints) 7)) (snd-display ";flags wmhints: ~A" (.flags hints)))
@@ -43234,11 +42867,10 @@ EDITS: 1
 					;(let ((vals (XReadBitmapFileData "testx.data")))
 					;  (if (not (= (car vals BitmapSuccess))) (snd-display ";XReadBitmapFileData: ~A" vals)))
 		    
-		    (let* ((fid (XLoadFont dpy "cursor"))
-			   (col (XColor))
-			   (col1 (XColor))
-			   (scr (DefaultScreen dpy))
-			   (cmap (DefaultColormap dpy scr)))
+		    (let ((fid (XLoadFont dpy "cursor"))
+			  (col (XColor))
+			  (col1 (XColor))
+			  (cmap (DefaultColormap dpy (DefaultScreen dpy))))
 		      (XAllocNamedColor dpy cmap "blue" col col)
 		      (XAllocNamedColor dpy cmap "green" col1 col1)
 		      (let ((vals (XCreateGlyphCursor dpy fid None XC_dot 0 col col1)))
@@ -43687,9 +43319,9 @@ EDITS: 1
       
       
       ;; ---------------- XM tests ----------------
-      (let* ((label-render-table (cadr (XtVaGetValues (cadr (main-widgets)) (list XmNlabelRenderTable 0))))
-	     (renditions (and label-render-table 
-			      (XmRenderTableGetRenditions label-render-table (XmRenderTableGetTags label-render-table))))
+      (let* ((renditions (let ((label-render-table (cadr (XtVaGetValues (cadr (main-widgets)) (list XmNlabelRenderTable 0)))))
+			   (and label-render-table 
+				(XmRenderTableGetRenditions label-render-table (XmRenderTableGetTags label-render-table)))))
 	     (default-font-name (and renditions
 				     (cadr (XmRenditionRetrieve (car renditions) (list XmNfontName 0)))))
 	     (default-font-info (and (pair? renditions)
@@ -43699,11 +43331,13 @@ EDITS: 1
 	(if (not (= (default-font-info 3) XmFONT_IS_FONT)) (snd-display ";XmRenderTableGetRenditions font type: ~A" default-font-info)))
       
       
-      (let* ((button-render-table (cadr (XtVaGetValues (cadr (main-widgets)) (list XmNbuttonRenderTable 0))))
-	     (default-rendition (and button-render-table 
-				     (XmRenderTableGetRendition button-render-table XmFONTLIST_DEFAULT_TAG)))
-	     (default-font-info (and default-rendition
-				     (XmRenditionRetrieve default-rendition (list XmNfont 0 XmNfontType 0)))))
+      (let ((default-font-info 
+	      (let ((default-rendition 
+		      (let ((button-render-table (cadr (XtVaGetValues (cadr (main-widgets)) (list XmNbuttonRenderTable 0)))))
+			(and button-render-table 
+			     (XmRenderTableGetRendition button-render-table XmFONTLIST_DEFAULT_TAG)))))
+		(and default-rendition
+		     (XmRenditionRetrieve default-rendition (list XmNfont 0 XmNfontType 0))))))
 	(if (and (pair? default-font-info)
 		 (= (default-font-info 3) XmFONT_IS_FONT))
 	    (let ((font (cadr default-font-info))
@@ -43785,11 +43419,7 @@ EDITS: 1
 			    (lambda args (car args)))))
 	    (if (not (eq? tag 'wrong-type-arg)) (snd-display ";XmNinvokeParseProc wrong arity: ~A" tag))))
 	
-	(let* ((fonts (list "fixed"
-			    "-*-times-bold-r-*-*-14-*-*-*-*-*-*-*"
-			    "-*-*-medium-i-*-*-18-*-*-*-*-*-*-*"
-			    "-*-helvetica-*-*-*-*-18-*-*-*-*-*-*-*"))
-	       (tags (list "one" "two" "three" "four"))
+	(let* ((tags (list "one" "two" "three" "four"))
 	       (pixels
 		(let* ((dpy (XtDisplay (cadr (main-widgets))))
 		       (cmap (DefaultColormap dpy (DefaultScreen dpy))))
@@ -43811,22 +43441,24 @@ EDITS: 1
 			   (snd-error (format #f "can't allocate ~A" color))
 			   (.pixel col))))
 		   '("red" "green" "blue" "orange"))))
-	       (rendertable (XmRenderTableAddRenditions #f 
-							(let ((ctr 0))
-							  (map (lambda (r)
-								 (set! ctr (+ ctr 1))
-								 (XmRenditionCreate (cadr (main-widgets))
-										    r
-										    (append
-										     (if (= ctr 1)
-											 (list XmNtabList tablist)
-											 ())
-										     (list XmNrenditionForeground (pixels (- ctr 1))
-											   XmNfontName (fonts (- ctr 1))
-											   XmNfontType XmFONT_IS_FONT))))
-							       tags))
-							(length tags)
-							XmMERGE_NEW)))
+	       (rendertable (let ((taglist (let ((ctr 0)
+						 (fonts (list "fixed"
+							      "-*-times-bold-r-*-*-14-*-*-*-*-*-*-*"
+							      "-*-*-medium-i-*-*-18-*-*-*-*-*-*-*"
+							      "-*-helvetica-*-*-*-*-18-*-*-*-*-*-*-*")))
+					     (map (lambda (r)
+						    (set! ctr (+ ctr 1))
+						    (XmRenditionCreate (cadr (main-widgets))
+								       r
+								       (append
+									(if (= ctr 1)
+									    (list XmNtabList tablist)
+									    ())
+									(list XmNrenditionForeground (pixels (- ctr 1))
+									      XmNfontName (fonts (- ctr 1))
+									      XmNfontType XmFONT_IS_FONT))))
+						  tags))))
+			      (XmRenderTableAddRenditions #f taglist (length tags) XmMERGE_NEW))))
 	  
 	  (if (file-exists? "hiho") (delete-file "hiho"))
 	  (let* ((dpy (XtDisplay (cadr (main-widgets))))
@@ -43972,182 +43604,177 @@ EDITS: 1
 	(if (not (string=? XmNhiho "hiho")) (snd-display ";add-resource XmNhiho: ~A" XmNhiho)))
       
       (open-sound "cardinal.snd")
-      (let*  ((mouse_width 32)
-	      (mouse_height 32)
-	      (mouse_bits (list
-			   #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00
-			   #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00
-			   #x80 #xff #xff #x01 #x80 #x00 #x01 #x01 #x80 #x00 #x01 #x01
-			   #x80 #x00 #x01 #x01 #x80 #x00 #x01 #x01 #x80 #x00 #x01 #x01
-			   #x80 #x00 #x01 #x01 #x80 #xff #xff #x01 #x80 #x00 #x00 #x01
-			   #x80 #x00 #x00 #x01 #x80 #x00 #x00 #x01 #x80 #x00 #x00 #x01
-			   #x80 #x00 #x00 #x01 #x80 #x00 #x00 #x01 #x80 #x00 #x00 #x01
-			   #x80 #x00 #x00 #x01 #x00 #x01 #x80 #x00 #x00 #x01 #x80 #x00
-			   #x00 #x06 #x60 #x00 #x00 #xf8 #x1f #x00 #x00 #x00 #x00 #x00
-			   #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00
-			   #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00))
-	      (rb (list
-		   #x00 #x04 #x10 #x08 #x00 #x10 #x04 #x20 #x00 #x40 #xa5 #xbf
-		   #x00 #x40 #x04 #x20 #x00 #x10 #x10 #x08 #x00 #x04 #x00 #x00))
-	      (iconw ((sound-widgets) 8))
-	      (dpy (XtDisplay iconw))
+      (let ((mouse_width 32)
+	    (mouse_height 32)
+	    (mouse_bits (list
+			 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00
+			 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00
+			 #x80 #xff #xff #x01 #x80 #x00 #x01 #x01 #x80 #x00 #x01 #x01
+			 #x80 #x00 #x01 #x01 #x80 #x00 #x01 #x01 #x80 #x00 #x01 #x01
+			 #x80 #x00 #x01 #x01 #x80 #xff #xff #x01 #x80 #x00 #x00 #x01
+			 #x80 #x00 #x00 #x01 #x80 #x00 #x00 #x01 #x80 #x00 #x00 #x01
+			 #x80 #x00 #x00 #x01 #x80 #x00 #x00 #x01 #x80 #x00 #x00 #x01
+			 #x80 #x00 #x00 #x01 #x00 #x01 #x80 #x00 #x00 #x01 #x80 #x00
+			 #x00 #x06 #x60 #x00 #x00 #xf8 #x1f #x00 #x00 #x00 #x00 #x00
+			 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00
+			 #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00))
+	    (rb (list
+		 #x00 #x04 #x10 #x08 #x00 #x10 #x04 #x20 #x00 #x40 #xa5 #xbf
+		 #x00 #x40 #x04 #x20 #x00 #x10 #x10 #x08 #x00 #x04 #x00 #x00))
+	    (iconw ((sound-widgets) 8)))
+	(let ((dpy (XtDisplay iconw))
 	      (win (XtWindow iconw)))
-	(XCreateBitmapFromData dpy win rb 16 12)
-	(XCreateBitmapFromData dpy win mouse_bits mouse_width mouse_height)
-	(XCreatePixmapFromBitmapData dpy win mouse_bits 32 32 (white-pixel) (black-pixel) 8))
+	  (XCreateBitmapFromData dpy win rb 16 12)
+	  (XCreateBitmapFromData dpy win mouse_bits mouse_width mouse_height)
+	  (XCreatePixmapFromBitmapData dpy win mouse_bits 32 32 (white-pixel) (black-pixel) 8)))
       
       (let* ((grf1 (car (channel-widgets)))
 	     (dpy (XtDisplay grf1))
 	     (win (XtWindow grf1))
-	     (sgc (car (snd-gcs)))
-	     (shell (cadr (main-widgets)))
-	     (vis (DefaultVisual dpy (DefaultScreen dpy)))
-	     (depth (cadr (XtGetValues grf1 (list XmNdepth 0))))
-	     (pix (XCreatePixmap dpy win 10 10 depth))
-	     (rotpix (XCreatePixmap dpy win 10 10 depth)))
-	
-	(XDrawText dpy win sgc 50 50 (list (XTextItem "hi" 2 2 '(Font 0))
-					   (XTextItem "ho" 2 3 '(Font 0))))
-	
-	(let ((cmap (XCreateColormap dpy win vis AllocNone)))
-	  (set! cmap (XCopyColormapAndFree dpy cmap))
-	  (XFreeColormap dpy cmap))
-	(if (XCheckTypedWindowEvent dpy win ExposureMask) 
-	    (snd-display ";XCheckTypedWindowEvent: ~A" (XCheckTypedWindowEvent dpy win ExposureMask)))
-	(if (XCheckTypedEvent dpy ExposureMask) 
-	    (snd-display ";XCheckTypedEvent: ~A" (XCheckTypedEvent dpy ExposureMask)))
-	(XCheckWindowEvent dpy win ExposureMask)
-					;		(if (XCheckIfEvent dpy (lambda (d e data) #f) #f)
-					;		    (snd-display ";XCheckIfEvent: ~A" (XCheckIfEvent dpy (lambda (d e data) #f) #f)))
-	(XCirculateSubwindows dpy win RaiseLowest)
-	(XCirculateSubwindowsUp dpy win)
-	(XCirculateSubwindowsDown dpy win)
-	(let ((wc (XWindowChanges 10 10 100 100 10 win 0)))
-	  (if (not (= (.stack_mode wc) 0)) (snd-display ";stack_mode wc: ~A" (.stack_mode wc)))
-	  (if (not (equal? (.sibling wc) win)) (snd-display ";sibling wc: ~A" (.sibling wc)))
-	  (if (not (= (.x wc) 10)) (snd-display ";x wc: ~A" (.x wc)))
-	  (if (not (= (.y wc) 10)) (snd-display ";y wc: ~A" (.y wc)))
-	  (if (not (= (.width wc) 100)) (snd-display ";width wc: ~A" (.width wc)))
-	  (if (not (= (.height wc) 100)) (snd-display ";height wc: ~A" (.height wc)))
-	  (if (not (= (.border_width wc) 10)) (snd-display ";border_width wc: ~A" (.border_width wc))))
-	(if (defined? 'XpmImage)
-	    (let ((xp (XpmImage 10 10 0 1 0)))
-	      (if (not (= (.cpp xp) 0)) (snd-display ";cpp xp: ~A" (.cpp xp)))
-	      (if (not (= (.ncolors xp) 1)) (snd-display ";ncolors xp: ~A" (.ncolors xp)))))
-
-	(XmObjectAtPoint shell 100 100)
-	(if (not (string=? (XmGetAtomName dpy XA_STRING) "STRING")) (snd-display ";XmGetAtomName: ~A" (XmGetAtomName dpy XA_STRING)))
-	(if (not (XmTargetsAreCompatible dpy (list XA_STRING) 1 (list XA_STRING) 1)) (snd-display ";XmTargetsAreCompatible"))
-	(XmUpdateDisplay grf1)
-	(let ((lines (XmWidgetGetBaselines ((main-widgets) 4))))
-	  (if (not lines) (snd-display ";XmWidgetGetBaselines?"))
-	  (if (< (length lines) 4) (snd-display ";no listener text?? ~A" lines)))
-	(let ((r (XmWidgetGetDisplayRect ((sound-widgets) 8))))
-	  (if (not (XRectangle? r)) (snd-display ";XmWidgetGetDisplayRect: ~A" r)))
-	(XDrawImageString dpy (list 'Window (cadr pix)) sgc 0 10 "hiho" 4)
-	(let ((before (XCreateImage dpy vis depth XYPixmap 0 (XtCalloc (* 121 depth) 1) 10 10 8 0)))
-	  (let ((newimage (XGetSubImage dpy (list 'Window (cadr pix)) 0 0 10 10 AllPlanes XYPixmap before 0 0)))
-	    (XSubImage newimage 0 0 3 3)
-	    (if (not (= (.bytes_per_line newimage) 2)) (snd-display ";bytes_per_line: ~A" (.bytes_per_line newimage)))
-	    (if (not (= (.byte_order newimage) 0)) (snd-display ";byte_order: ~A" (.byte_order newimage)))
-	    (if (not (= (.bitmap_pad newimage) 8)) (snd-display ";bitmap_pad: ~A" (.bitmap_pad newimage)))
-	    (if (not (= (.bitmap_bit_order newimage) 0)) (snd-display ";bitmap_bit_order: ~A" (.bitmap_bit_order newimage)))
-	    (if (not (= (.bitmap_unit newimage) 32)) (snd-display ";bitmap_unit: ~A" (.bitmap_unit newimage)))
-	    (if (not (= (.xoffset newimage) 0)) (snd-display ";xoffset: ~A" (.xoffset newimage))))
-	  (XPutPixel before 1 1 *basic-color*)
-	  (XGetPixel before 1 1)
-	  (XPutImage dpy (list 'Window (cadr rotpix)) sgc before 0 0 0 0 10 10)
-	  (XAddPixel before 1)
-	  (if (> (.bits_per_pixel before) 123) (snd-display ";bits_per_pixel: ~A" (.bits_per_pixel before)))
-	  (XmInstallImage before "before_image")
-	  (XmUninstallImage before)
-	  (XDestroyImage before))
-	(when (defined? 'XpmAttributes)
-	  (let ((i11 (XGetImage dpy (list 'Window (cadr pix)) 0 0 10 10 AllPlanes XYPixmap))
-		(attr (XpmAttributes))
-		(vals (XtGetValues (cadr (main-widgets)) (list XmNcolormap 0 XmNdepth 0))))
-	    (let ((sym (XpmColorSymbol "basiccolor" #f *basic-color*)))
-	      (if (not (string=? (.name sym) "basiccolor")) (snd-display ";.name colorsymbol: ~A" (.name sym)))
-	      (set! (.name sym) "hiho")
-	      (if (not (string=? (.name sym) "hiho")) (snd-display ";set .name colorsymbol: ~A" (.name sym)))
-	      (set! (.visual attr) vis)
-	      (if (not (equal? vis (.visual attr))) (snd-display ";visual xpm attr: ~A" (.visual attr)))
-	      (if (not (list? (.colorsymbols attr))) (snd-display ";.colorsymbols attr: ~A" (.colorsymbols attr)))
-	      (set! (.colorsymbols attr) (list sym))
-	      (set! (.pixel sym) *basic-color*))
-	    (set! (.numsymbols attr) 1)
-	    (if (not (eqv? 1 (.numsymbols attr))) (snd-display ";numsymbols xpm attr: ~A" (.numsymbols attr)))
-	    (set! (.depth attr) (vals 3))
-	    (if (not (equal? (vals 3) (.depth attr))) (snd-display ";depth xpm attr: ~A" (.depth attr)))
-	    (set! (.colormap attr) (vals 1))
-	    (if (not (equal? (vals 1) (.colormap attr))) (snd-display ";colormap xpm attr: ~A" (.colormap attr)))
-	    (set! (.valuemask attr) (logior XpmColorSymbols XpmDepth XpmColormap XpmVisual))
-	    (if (not (= (.valuemask attr) (logior XpmColorSymbols XpmDepth XpmColormap XpmVisual)))
-		(snd-display ";valuemask: ~A" (.valuemask attr)))
-	    (if (not (= (.x_hotspot attr) 0)) (snd-display ";x_hotspot: ~A" (.x_hotspot attr)))
-	    (if (not (= (.y_hotspot attr) 0)) (snd-display ";y_hotspot: ~A" (.y_hotspot attr)))
-	    (if (not (= (.npixels attr) 0)) (snd-display ";npixels: ~A" (.npixels attr)))
-	    (let ((err (XpmCreatePixmapFromData dpy win 
-						(list "16 14 6 1"
-						      " 	c None s None"
-						      ".	c gray50"
-						      "X	c black"
-						      "o	c white"
-						      "O	c yellow"
-						      "-      c ivory2 s basiccolor"
-						      "------.XXX.-----"
-						      "-----X.ooo.X----"
-						      "----..oXXXo..---"
-						      "----XoX...XoX---"
-						      "----XoX.--XoX.--"
-						      "----XoX.--XoX.--"
-						      "---XXXXXXXXXXX--"
-						      "---XOOOOOOOOOX.-"
-						      "---XO.......OX.-"
-						      "---XOOOOOOOOOX.-"
-						      "---XO.......OX.-"
-						      "---XOOOOOOOOOX.-"
-						      "---XXXXXXXXXXX.-"
-						      "----...........-")
-						attr)))
-	      (if (not (and (= (car err) XpmSuccess) 
-			    (Pixmap? (cadr err))))
-		  (snd-display ";XpmCreatePixmapFromData: ~A" err)))
-	    
-	    (let* ((shell (cadr (main-widgets)))
-		   (dpy (XtDisplay shell))
-		   (button (XmCreatePushButton shell "button" ()))
-		   (status-and-whatnot (XpmReadFileToPixmap dpy (XRootWindowOfScreen (XtScreen shell)) "bullet.xpm" #f))
-		   (status (car status-and-whatnot))
-		   (pixmap (cadr status-and-whatnot))
-		   (pixmap1 (caddr status-and-whatnot)))
-	      (if (not (string=? (XpmGetErrorString XpmSuccess) "XpmSuccess")) 
-		  (snd-display ";XpmGetErrorString: ~A" (XpmGetErrorString XpmSuccess)))
-	      (if (not (= status XpmSuccess))
-		  (snd-display "; XpmError ReadFileToPixmap: ~A" (XpmGetErrorString status)))
-	      (XtVaSetValues button (list XmNlabelType XmPIXMAP
-					  XmNlabelPixmap pixmap))
-	      (XpmWriteFileFromPixmap dpy "test.xpm" pixmap pixmap1 #f)
-	      (XpmCreateDataFromPixmap dpy pixmap pixmap1 #f)
-	      (let ((status (XpmReadFileToXpmImage "bullet.xpm"))
-		    (attr (XpmAttributes)))
-		(let ((symb (XpmColorSymbol "Foreground" "green" *basic-color*)))
-		  (if (not (XpmImage? status))
-		      (snd-display "; XpmError ReadFileToXpmImage: ~A ~A" symb (XpmGetErrorString status))))
-		(set! (.valuemask attr) XpmColorSymbols)
-		(XpmCreatePixmapFromXpmImage dpy (XRootWindowOfScreen (XtScreen shell)) status attr)
-		(XpmCreateXpmImageFromPixmap dpy pixmap pixmap1 attr)
-		(for-each
-		 (lambda (func val name)
-		   (set! (func attr) val)
-		   (if (not (equal? (func attr) val)) (snd-display ";attr ~A ~A" name (func attr))))
-		 (list .valuemask .depth .width .x_hotspot .y_hotspot .cpp .npixels .ncolors)
-		 '(0 0 0 0 0 0 0 0)
-		 '(valuemask depth width x_hotspot y_hotspot cpp npixels ncolors))))
-	    (XDestroyImage i11)))
-	
-	(XFreePixmap dpy pix)
-	(XVisualIDFromVisual vis)
+	     (shell (cadr (main-widgets))))
+	(let ((vis (DefaultVisual dpy (DefaultScreen dpy))))
+	  (XDrawText dpy win (car (snd-gcs)) 50 50 (list (XTextItem "hi" 2 2 '(Font 0))
+							 (XTextItem "ho" 2 3 '(Font 0))))
+	  (let ((cmap (XCreateColormap dpy win vis AllocNone)))
+	    (set! cmap (XCopyColormapAndFree dpy cmap))
+	    (XFreeColormap dpy cmap))
+	  (if (XCheckTypedWindowEvent dpy win ExposureMask) 
+	      (snd-display ";XCheckTypedWindowEvent: ~A" (XCheckTypedWindowEvent dpy win ExposureMask)))
+	  (if (XCheckTypedEvent dpy ExposureMask) 
+	      (snd-display ";XCheckTypedEvent: ~A" (XCheckTypedEvent dpy ExposureMask)))
+	  (XCheckWindowEvent dpy win ExposureMask)
+	  (XCirculateSubwindows dpy win RaiseLowest)
+	  (XCirculateSubwindowsUp dpy win)
+	  (XCirculateSubwindowsDown dpy win)
+	  (let ((wc (XWindowChanges 10 10 100 100 10 win 0)))
+	    (if (not (= (.stack_mode wc) 0)) (snd-display ";stack_mode wc: ~A" (.stack_mode wc)))
+	    (if (not (equal? (.sibling wc) win)) (snd-display ";sibling wc: ~A" (.sibling wc)))
+	    (if (not (= (.x wc) 10)) (snd-display ";x wc: ~A" (.x wc)))
+	    (if (not (= (.y wc) 10)) (snd-display ";y wc: ~A" (.y wc)))
+	    (if (not (= (.width wc) 100)) (snd-display ";width wc: ~A" (.width wc)))
+	    (if (not (= (.height wc) 100)) (snd-display ";height wc: ~A" (.height wc)))
+	    (if (not (= (.border_width wc) 10)) (snd-display ";border_width wc: ~A" (.border_width wc))))
+	  (if (defined? 'XpmImage)
+	      (let ((xp (XpmImage 10 10 0 1 0)))
+		(if (not (= (.cpp xp) 0)) (snd-display ";cpp xp: ~A" (.cpp xp)))
+		(if (not (= (.ncolors xp) 1)) (snd-display ";ncolors xp: ~A" (.ncolors xp)))))
+	  
+	  (XmObjectAtPoint shell 100 100)
+	  (if (not (string=? (XmGetAtomName dpy XA_STRING) "STRING")) (snd-display ";XmGetAtomName: ~A" (XmGetAtomName dpy XA_STRING)))
+	  (if (not (XmTargetsAreCompatible dpy (list XA_STRING) 1 (list XA_STRING) 1)) (snd-display ";XmTargetsAreCompatible"))
+	  (XmUpdateDisplay grf1)
+	  (let ((lines (XmWidgetGetBaselines ((main-widgets) 4))))
+	    (if (not lines) (snd-display ";XmWidgetGetBaselines?"))
+	    (if (< (length lines) 4) (snd-display ";no listener text?? ~A" lines)))
+	  (let ((r (XmWidgetGetDisplayRect ((sound-widgets) 8))))
+	    (if (not (XRectangle? r)) (snd-display ";XmWidgetGetDisplayRect: ~A" r)))
+	  
+	  (let ((depth (cadr (XtGetValues grf1 (list XmNdepth 0)))))
+	    (let ((pix (XCreatePixmap dpy win 10 10 depth)))
+	      (XDrawImageString dpy (list 'Window (cadr pix)) (car (snd-gcs)) 0 10 "hiho" 4)
+	      (let ((before (XCreateImage dpy vis depth XYPixmap 0 (XtCalloc (* 121 depth) 1) 10 10 8 0)))
+		(let ((newimage (XGetSubImage dpy (list 'Window (cadr pix)) 0 0 10 10 AllPlanes XYPixmap before 0 0)))
+		  (XSubImage newimage 0 0 3 3)
+		  (if (not (= (.bytes_per_line newimage) 2)) (snd-display ";bytes_per_line: ~A" (.bytes_per_line newimage)))
+		  (if (not (= (.byte_order newimage) 0)) (snd-display ";byte_order: ~A" (.byte_order newimage)))
+		  (if (not (= (.bitmap_pad newimage) 8)) (snd-display ";bitmap_pad: ~A" (.bitmap_pad newimage)))
+		  (if (not (= (.bitmap_bit_order newimage) 0)) (snd-display ";bitmap_bit_order: ~A" (.bitmap_bit_order newimage)))
+		  (if (not (= (.bitmap_unit newimage) 32)) (snd-display ";bitmap_unit: ~A" (.bitmap_unit newimage)))
+		  (if (not (= (.xoffset newimage) 0)) (snd-display ";xoffset: ~A" (.xoffset newimage))))
+		(XPutPixel before 1 1 *basic-color*)
+		(XGetPixel before 1 1)
+		(let ((rotpix (XCreatePixmap dpy win 10 10 depth)))
+		  (XPutImage dpy (list 'Window (cadr rotpix)) (car (snd-gcs)) before 0 0 0 0 10 10))
+		(XAddPixel before 1)
+		(if (> (.bits_per_pixel before) 123) (snd-display ";bits_per_pixel: ~A" (.bits_per_pixel before)))
+		(XmInstallImage before "before_image")
+		(XmUninstallImage before)
+		(XDestroyImage before))
+	      (when (defined? 'XpmAttributes)
+		(let ((i11 (XGetImage dpy (list 'Window (cadr pix)) 0 0 10 10 AllPlanes XYPixmap))
+		      (attr (XpmAttributes))
+		      (vals (XtGetValues (cadr (main-widgets)) (list XmNcolormap 0 XmNdepth 0))))
+		  (let ((sym (XpmColorSymbol "basiccolor" #f *basic-color*)))
+		    (if (not (string=? (.name sym) "basiccolor")) (snd-display ";.name colorsymbol: ~A" (.name sym)))
+		    (set! (.name sym) "hiho")
+		    (if (not (string=? (.name sym) "hiho")) (snd-display ";set .name colorsymbol: ~A" (.name sym)))
+		    (set! (.visual attr) vis)
+		    (if (not (equal? vis (.visual attr))) (snd-display ";visual xpm attr: ~A" (.visual attr)))
+		    (if (not (list? (.colorsymbols attr))) (snd-display ";.colorsymbols attr: ~A" (.colorsymbols attr)))
+		    (set! (.colorsymbols attr) (list sym))
+		    (set! (.pixel sym) *basic-color*))
+		  (set! (.numsymbols attr) 1)
+		  (if (not (eqv? 1 (.numsymbols attr))) (snd-display ";numsymbols xpm attr: ~A" (.numsymbols attr)))
+		  (set! (.depth attr) (vals 3))
+		  (if (not (equal? (vals 3) (.depth attr))) (snd-display ";depth xpm attr: ~A" (.depth attr)))
+		  (set! (.colormap attr) (vals 1))
+		  (if (not (equal? (vals 1) (.colormap attr))) (snd-display ";colormap xpm attr: ~A" (.colormap attr)))
+		  (set! (.valuemask attr) (logior XpmColorSymbols XpmDepth XpmColormap XpmVisual))
+		  (if (not (= (.valuemask attr) (logior XpmColorSymbols XpmDepth XpmColormap XpmVisual)))
+		      (snd-display ";valuemask: ~A" (.valuemask attr)))
+		  (if (not (= (.x_hotspot attr) 0)) (snd-display ";x_hotspot: ~A" (.x_hotspot attr)))
+		  (if (not (= (.y_hotspot attr) 0)) (snd-display ";y_hotspot: ~A" (.y_hotspot attr)))
+		  (if (not (= (.npixels attr) 0)) (snd-display ";npixels: ~A" (.npixels attr)))
+		  (let ((err (XpmCreatePixmapFromData dpy win 
+						      (list "16 14 6 1"
+							    " 	c None s None"
+							    ".	c gray50"
+							    "X	c black"
+							    "o	c white"
+							    "O	c yellow"
+							    "-      c ivory2 s basiccolor"
+							    "------.XXX.-----"
+							    "-----X.ooo.X----"
+							    "----..oXXXo..---"
+							    "----XoX...XoX---"
+							    "----XoX.--XoX.--"
+							    "----XoX.--XoX.--"
+							    "---XXXXXXXXXXX--"
+							    "---XOOOOOOOOOX.-"
+							    "---XO.......OX.-"
+							    "---XOOOOOOOOOX.-"
+							    "---XO.......OX.-"
+							    "---XOOOOOOOOOX.-"
+							    "---XXXXXXXXXXX.-"
+							    "----...........-")
+						      attr)))
+		    (if (not (and (= (car err) XpmSuccess) 
+				  (Pixmap? (cadr err))))
+			(snd-display ";XpmCreatePixmapFromData: ~A" err)))
+		  
+		  (let* ((shell (cadr (main-widgets)))
+			 (dpy (XtDisplay shell))
+			 (status-and-whatnot (XpmReadFileToPixmap dpy (XRootWindowOfScreen (XtScreen shell)) "bullet.xpm" #f)))
+		    (let ((button (XmCreatePushButton shell "button" ()))
+			  (status (car status-and-whatnot))
+			  (pixmap (cadr status-and-whatnot))
+			  (pixmap1 (caddr status-and-whatnot)))
+		      (if (not (string=? (XpmGetErrorString XpmSuccess) "XpmSuccess")) 
+			  (snd-display ";XpmGetErrorString: ~A" (XpmGetErrorString XpmSuccess)))
+		      (if (not (= status XpmSuccess))
+			  (snd-display "; XpmError ReadFileToPixmap: ~A" (XpmGetErrorString status)))
+		      (XtVaSetValues button (list XmNlabelType XmPIXMAP
+						  XmNlabelPixmap pixmap))
+		      (XpmWriteFileFromPixmap dpy "test.xpm" pixmap pixmap1 #f)
+		      (XpmCreateDataFromPixmap dpy pixmap pixmap1 #f)
+		      (let ((status (XpmReadFileToXpmImage "bullet.xpm"))
+			    (attr (XpmAttributes)))
+			(let ((symb (XpmColorSymbol "Foreground" "green" *basic-color*)))
+			  (if (not (XpmImage? status))
+			      (snd-display "; XpmError ReadFileToXpmImage: ~A ~A" symb (XpmGetErrorString status))))
+			(set! (.valuemask attr) XpmColorSymbols)
+			(XpmCreatePixmapFromXpmImage dpy (XRootWindowOfScreen (XtScreen shell)) status attr)
+			(XpmCreateXpmImageFromPixmap dpy pixmap pixmap1 attr)
+			(for-each
+			 (lambda (func val name)
+			   (set! (func attr) val)
+			   (if (not (equal? (func attr) val)) (snd-display ";attr ~A ~A" name (func attr))))
+			 (list .valuemask .depth .width .x_hotspot .y_hotspot .cpp .npixels .ncolors)
+			 '(0 0 0 0 0 0 0 0)
+			 '(valuemask depth width x_hotspot y_hotspot cpp npixels ncolors))))
+		    (XDestroyImage i11))))
+	      (XFreePixmap dpy pix))
+	  (XVisualIDFromVisual vis)))
 	(XGrabServer dpy)
 	(XUngrabServer dpy)
 	(XGrabPointer dpy win #t ButtonPressMask GrabModeSync GrabModeSync (list 'Window None) (list 'Cursor None) (list 'Time CurrentTime))
@@ -44167,14 +43794,11 @@ EDITS: 1
 	(XtGrabButton shell AnyButton AnyModifier #t ButtonPressMask GrabModeSync GrabModeSync (list 'Window None) (list 'Cursor None))
 	(XtUngrabButton shell AnyButton AnyModifier))
       
-      (let* ((sgc (car (snd-gcs)))
-	     (grf1 (car (channel-widgets)))
-	     (dpy (XtDisplay grf1))
-	     (win (XtWindow grf1))
-	     (shl (cadr (main-widgets))))
+      (let ((dpy (XtDisplay (car (channel-widgets))))
+	    (win (XtWindow (car (channel-widgets)))))
 	(let ((wid (XtWindowToWidget dpy win)))
-	  (if (not (equal? wid grf1))
-	      (snd-display ";XtWindowToWidget: ~A ~A" grf1 win)))
+	  (if (not (equal? wid (car (channel-widgets))))
+	      (snd-display ";XtWindowToWidget: ~A ~A" (car (channel-widgets)) win)))
 					; these are causing: X Error of failed request:  BadAccess (attempt to access private resource denied)
 					;	       (if (not (equal? (XGetTransientForHint dpy win) (list 0 #f)))
 					;		   (snd-display ";XGetTransientForHint: ~A" (XGetTransientForHint dpy win)))
@@ -44184,25 +43808,24 @@ EDITS: 1
 	    (snd-display ";XGeometry: ~A" (XGeometry dpy 0 "500x400" "500x400+10+10" 4 7 14 2 2)))
 	(if (< (XEventsQueued dpy QueuedAlready) 0)
 	    (snd-display ";XEventsQueued: ~A" (XEventsQueued dpy QueuedAlready)))
-					;	       (let ((coords (XTranslateCoordinates dpy (XtWindow shl) win 10 10)))
-					;		 (if (not (car coords))
-					;		     (snd-display ";XTranslateCoordinates: ~A" coords)))
-	(let ((coords (XtTranslateCoords shl 10 10)))
-	  (if (not (number? (car coords)))
-	      (snd-display ";XtTranslateCoords: ~A" coords)))
-	(if (not (XmIsVendorShell shl)) (snd-display ";XmIsVendorShell?"))
-	(if (XmIsPrimitive shl) (snd-display ";XmIsPrimitive?"))
-	(if (XmIsManager shl) (snd-display ";XmIsManager?"))
-	(if (XmIsIconGadget shl) (snd-display ";XmIsIconGadget?"))
-	(if (XmIsGadget shl) (snd-display ";XmIsGadget?"))
-	(if (XmIsIconHeader shl) (snd-display ";XmIsHeader?"))
-	(if (XmIsDropTransfer shl) (snd-display ";XmIsDropTransfer?"))
-	(if (XmIsDropSiteManager shl) (snd-display ";XmIsDropSiteManager?"))
-	(if (XmIsDragContext shl) (snd-display ";XmIsDragContext?"))
-	(if (XmIsDragIconObjectClass shl) (snd-display ";XmIsDragIconObjectClass?"))
-	(if (XmIsMessageBox shl) (snd-display ";XmIsMessageBox?"))
-	(if (XmIsScreen shl) (snd-display ";XmIsScreen?"))
-	(if (XmIsDisplay shl) (snd-display ";XmIsDisplay?"))
+
+	(let ((shl (cadr (main-widgets))))
+	  (let ((coords (XtTranslateCoords shl 10 10)))
+	    (if (not (number? (car coords)))
+		(snd-display ";XtTranslateCoords: ~A" coords)))
+	  (if (not (XmIsVendorShell shl)) (snd-display ";XmIsVendorShell?"))
+	  (if (XmIsPrimitive shl) (snd-display ";XmIsPrimitive?"))
+	  (if (XmIsManager shl) (snd-display ";XmIsManager?"))
+	  (if (XmIsIconGadget shl) (snd-display ";XmIsIconGadget?"))
+	  (if (XmIsGadget shl) (snd-display ";XmIsGadget?"))
+	  (if (XmIsIconHeader shl) (snd-display ";XmIsHeader?"))
+	  (if (XmIsDropTransfer shl) (snd-display ";XmIsDropTransfer?"))
+	  (if (XmIsDropSiteManager shl) (snd-display ";XmIsDropSiteManager?"))
+	  (if (XmIsDragContext shl) (snd-display ";XmIsDragContext?"))
+	  (if (XmIsDragIconObjectClass shl) (snd-display ";XmIsDragIconObjectClass?"))
+	  (if (XmIsMessageBox shl) (snd-display ";XmIsMessageBox?"))
+	  (if (XmIsScreen shl) (snd-display ";XmIsScreen?"))
+	  (if (XmIsDisplay shl) (snd-display ";XmIsDisplay?")))
 	
 	(let ((val 0))
 	  (XSetErrorHandler (lambda (dpy e)
@@ -44210,25 +43833,26 @@ EDITS: 1
 	  (XGetAtomName dpy '(Atom 0))
 	  (if (not (= val 5)) (snd-display ";XSetErrorHandler: ~A" val)))
 	
-	(XDrawImageString dpy win sgc 10 10 "hiho" 4)
-	(XDrawRectangle dpy win sgc 0 0 10 10)
-	(XDrawString dpy win sgc 10 10 "hi" 2)
-	(XDrawSegments dpy win sgc (list (XSegment 1 1 2 20) (XSegment 3 3 40 4)) 2)
-	(XDrawRectangles dpy win sgc (list (XRectangle 0 0 10 10) (XRectangle 20 20 30 30)) 2)
-	(XFillRectangles dpy win sgc (list (XRectangle 0 0 10 10) (XRectangle 20 20 30 30)) 2)
-	(XDrawRectangle dpy win sgc 10 10 10 10)
-	(XFillRectangle dpy win sgc 10 10 10 10)
-	(XDrawPoints dpy win sgc (list (XPoint 23 23) (XPoint 109 10)) 2 CoordModeOrigin)
-	(XDrawPoint dpy win sgc 10 10)
-	(XDrawLines dpy win sgc (list (XPoint 23 23) (XPoint 109 10)) 2 CoordModeOrigin)
-	(XDrawLine dpy win sgc 10 10 20 20)
-	(XDrawArcs dpy win sgc (list (XArc 10 10 4 4 0 360) (XArc 20 20 1 23 0 123)) 2)
-	(XFillArcs dpy win sgc (list (XArc 10 10 4 4 0 360) (XArc 20 20 1 23 0 123)) 2)
-	(XDrawArc dpy win sgc 0 0 10 10 45 90)
-	(XFillArc dpy win sgc 0 0 10 10 45 90)
-	(XFillPolygon dpy win sgc (list (XPoint 0 0) (XPoint 0 10) (XPoint 10 10) (XPoint 10 0) (XPoint 0 0)) 5 Convex CoordModeOrigin)
-	(XClearArea dpy win 10 10 20 20 #f)
-	(XClearWindow dpy win))
+	(let ((sgc (car (snd-gcs))))
+	  (XDrawImageString dpy win sgc 10 10 "hiho" 4)
+	  (XDrawRectangle dpy win sgc 0 0 10 10)
+	  (XDrawString dpy win sgc 10 10 "hi" 2)
+	  (XDrawSegments dpy win sgc (list (XSegment 1 1 2 20) (XSegment 3 3 40 4)) 2)
+	  (XDrawRectangles dpy win sgc (list (XRectangle 0 0 10 10) (XRectangle 20 20 30 30)) 2)
+	  (XFillRectangles dpy win sgc (list (XRectangle 0 0 10 10) (XRectangle 20 20 30 30)) 2)
+	  (XDrawRectangle dpy win sgc 10 10 10 10)
+	  (XFillRectangle dpy win sgc 10 10 10 10)
+	  (XDrawPoints dpy win sgc (list (XPoint 23 23) (XPoint 109 10)) 2 CoordModeOrigin)
+	  (XDrawPoint dpy win sgc 10 10)
+	  (XDrawLines dpy win sgc (list (XPoint 23 23) (XPoint 109 10)) 2 CoordModeOrigin)
+	  (XDrawLine dpy win sgc 10 10 20 20)
+	  (XDrawArcs dpy win sgc (list (XArc 10 10 4 4 0 360) (XArc 20 20 1 23 0 123)) 2)
+	  (XFillArcs dpy win sgc (list (XArc 10 10 4 4 0 360) (XArc 20 20 1 23 0 123)) 2)
+	  (XDrawArc dpy win sgc 0 0 10 10 45 90)
+	  (XFillArc dpy win sgc 0 0 10 10 45 90)
+	  (XFillPolygon dpy win sgc (list (XPoint 0 0) (XPoint 0 10) (XPoint 10 10) (XPoint 10 0) (XPoint 0 0)) 5 Convex CoordModeOrigin)
+	  (XClearArea dpy win 10 10 20 20 #f)
+	  (XClearWindow dpy win)))
       
       (close-sound)
       
@@ -44244,9 +43868,7 @@ EDITS: 1
 	  (let ((calls (XtHasCallbacks button XmNactivateCallback)))
 	    (if (not (= calls XtCallbackHasNone))
 		(snd-display ";XtRemoveCallbacks: ~A" calls))))
-	(XtUnmanageChild button)
-					;(XtDestroyWidget button)
-	)
+	(XtUnmanageChild button))
       
       (let ((button (XtCreateManagedWidget "button" xmPushButtonWidgetClass (cadr (main-widgets)) () 0))
 	    (val1 0)
@@ -44264,9 +43886,7 @@ EDITS: 1
 	  (let ((calls (XtHasCallbacks button XmNactivateCallback)))
 	    (if (not (= calls XtCallbackHasNone))
 		(snd-display ";XtRemoveCallbacks: ~A" calls))))
-	(XtUnmanageChild button)
-					;(XtDestroyWidget button)
-	)
+	(XtUnmanageChild button))
       
       (let ((button (XtCreateManagedWidget "button" xmPushButtonWidgetClass (cadr (main-widgets)) () 0))
 	    (val1 0)
@@ -44283,9 +43903,7 @@ EDITS: 1
 	  (let ((calls (XtHasCallbacks button XmNactivateCallback)))
 	    (if (not (= calls XtCallbackHasNone))
 		(snd-display ";XtRemoveCallbacks (add): ~A" calls))))
-	(XtUnmanageChild button)
-					;(XtDestroyWidget button)
-	)
+	(XtUnmanageChild button))
       
       (let* ((frm (add-main-pane "hi" xmFormWidgetClass (list XmNpaneMinimum 120)))
 	     (browsed 0)
@@ -44760,7 +44378,6 @@ EDITS: 1
 	(XmSelectionBoxGetChild (XmCreateSelectionBox shell "selbox" () 0) XmDIALOG_APPLY_BUTTON))
       
       (let* ((frm (add-main-pane "hi" xmFormWidgetClass (list XmNpaneMinimum 120)))
-	     (current-time (list 'Time CurrentTime))
 	     (box (XtCreateManagedWidget "box" xmContainerWidgetClass frm ()))
 	     (tgl (XtCreateManagedWidget "tgl" xmToggleButtonWidgetClass frm
 					 (list XmNleftAttachment      XmATTACH_FORM
@@ -44803,8 +44420,9 @@ EDITS: 1
 					       XmNrightAttachment     XmATTACH_FORM
 					       XmNtopAttachment       XmATTACH_WIDGET
 					       XmNtopWidget           notes
-					       XmNbottomAttachment    XmATTACH_FORM)))
-	     (toggled 0))
+					       XmNbottomAttachment    XmATTACH_FORM))))
+	(let ((current-time (list 'Time CurrentTime))
+	      (toggled 0))
 	(XtCreateManagedWidget "one" xmPushButtonWidgetClass notes ())
 	(XtCreateManagedWidget "two" xmPushButtonWidgetClass notes ())
 	(let ((info (cadr (XmNotebookGetPageInfo notes 1))))
@@ -44812,9 +44430,7 @@ EDITS: 1
 	  (if (.page_widget info) (snd-display ";page_widget: ~A" (.page_widget info)))
 	  (if (.status_area_widget info) (snd-display ";status_area_widget: ~A" (.status_area_widget info)))
 	  (if (not (Widget? (.major_tab_widget info))) (snd-display ";major_tab_widget: ~A" (.major_tab_widget info)))
-	  (if (.minor_tab_widget info) (snd-display ";minor_tab_widget: ~A" (.minor_tab_widget info)))
-					;(segfault)	(XtFree (cadr info))
-	  )
+	  (if (.minor_tab_widget info) (snd-display ";minor_tab_widget: ~A" (.minor_tab_widget info))))
 	
 	(XmSimpleSpinBoxAddItem spn (XmStringCreateLocalized "hiho") 0)
 	(XmSimpleSpinBoxAddItem spn (XmStringCreateLocalized "away") 0)
@@ -44879,8 +44495,7 @@ EDITS: 1
 			(member name '("BigTic" "MedTic" "SmallTic") string=?))
 		   (XtDestroyWidget w))))
 	   children))
-	(XmScaleSetTicks scl 5 2 0 10 5 0)
-	)
+	(XmScaleSetTicks scl 5 2 0 10 5 0)))
       
       (XmSetColorCalculation #f)
       (let* ((dpy (XtDisplay (cadr (main-widgets))))
@@ -45042,14 +44657,14 @@ EDITS: 1
 	       (if (not fonts-dialog)
 		   (set! fonts-dialog new-dialog)
 		   (set! colors-dialog new-dialog))
-	       (let* ((mainform (XtCreateManagedWidget "mainform" xmFormWidgetClass new-dialog
-						       (list XmNleftAttachment   XmATTACH_FORM
-							     XmNrightAttachment  XmATTACH_FORM
-							     XmNtopAttachment    XmATTACH_FORM
-							     XmNbottomAttachment XmATTACH_WIDGET
-							     XmNbottomWidget     (XmMessageBoxGetChild new-dialog XmDIALOG_SEPARATOR)
-							     XmNbackground       *basic-color*)))
-		      (fnts (make-dialog mainform)))
+	       (let ((fnts (make-dialog 
+			    (XtCreateManagedWidget "mainform" xmFormWidgetClass new-dialog
+						   (list XmNleftAttachment   XmATTACH_FORM
+							 XmNrightAttachment  XmATTACH_FORM
+							 XmNtopAttachment    XmATTACH_FORM
+							 XmNbottomAttachment XmATTACH_WIDGET
+							 XmNbottomWidget     (XmMessageBoxGetChild new-dialog XmDIALOG_SEPARATOR)
+							 XmNbackground       *basic-color*)))))
 		 (XtManageChild fnts)
 		 (XtManageChild (or colors-dialog fonts-dialog)))))
 	   
@@ -45168,14 +44783,15 @@ EDITS: 1
 	  
 	  (if (and (defined? 'XmToolTipGetLabel)
 		   (defined? 'XmNtoolTipString))
-	      (let* ((wid1 (XtCreateManagedWidget "wid1" xmPushButtonWidgetClass mainform
+	      (let ((tip (XmToolTipGetLabel 
+			  (XtCreateManagedWidget "wid1" xmPushButtonWidgetClass mainform
 						 (list XmNtoolTipString (XmStringCreateLocalized "tooltip")
 						       XmNtoolTipPostDelay 100
 						       XmNtoolTipPostDuration 500
 						       XmNtoolTipEnable #t
-						       XmNanimate #f)))
-		     (tip (XmToolTipGetLabel wid1)))
-		(if (not (Widget? tip)) (snd-display ";tooltip label: ~A ~A ~A ~A ~A ~A" tip fnttab fntda fntd fntt fnts))))
+						       XmNanimate #f)))))
+		(if (not (Widget? tip)) 
+		    (snd-display ";tooltip label: ~A ~A ~A ~A ~A ~A" tip fnttab fntda fntd fntt fnts))))
 	  
 	  (XtManageChild new-dialog)
 	  (XtUnmanageChild new-dialog)))
@@ -45638,258 +45254,257 @@ EDITS: 1
 	    (snd-display ";XStringToKeysym ~A ~A" key XK_Cancel)))
       
       (let* ((win (XtWindow (cadr (main-widgets))))
-	     (xm-procs-1
-	      (list
-	       XPutBackEvent XNextEvent
-	       XtAppProcessEvent XtAppMainLoop XtAppAddActions XtAppNextEvent XtAppPeekEvent
-	       
-	       XtSetArg XtManageChildren XtManageChild XtUnmanageChildren XtUnmanageChild
-	       XtDispatchEvent XtCallAcceptFocus XtIsSubclass XtIsObject XtIsManaged XtIsRealized
-	       XtIsSensitive XtOwnSelection XtOwnSelectionIncremental XtMakeResizeRequest XtTranslateCoords
-	       XtKeysymToKeycodeList XtParseTranslationTable XtParseAcceleratorTable XtOverrideTranslations XtAugmentTranslations
-	       XtInstallAccelerators XtInstallAllAccelerators XtUninstallTranslations XtAppAddActionHook
-	       XtRemoveActionHook XtGetActionList XtCallActionProc XtRegisterGrabAction XtSetMultiClickTime
-	       XtGetMultiClickTime XtGetActionKeysym XtTranslateKeycode XtTranslateKey XtSetKeyTranslator
-	       XtRegisterCaseConverter XtConvertCase XtAddEventHandler XtRemoveEventHandler XtAddRawEventHandler
-	       XtRemoveRawEventHandler XtInsertEventHandler XtInsertRawEventHandler XtDispatchEventToWidget
-	       XtBuildEventMask XtAddGrab XtRemoveGrab XtAddExposureToRegion XtSetKeyboardFocus
-	       XtGetKeyboardFocusWidget XtLastEventProcessed XtLastTimestampProcessed 
-	       XtAppAddTimeOut XtRemoveTimeOut XtAppAddInput XtRemoveInput XtAppPending
-	       XtRealizeWidget XtUnrealizeWidget XtSetSensitive XtNameToWidget XtWindowToWidget
-	       XtMergeArgLists XtVaCreateArgsList XtDisplay XtDisplayOfObject XtScreen XtScreenOfObject
-	       XtWindow XtWindowOfObject XtName XtSuperclass XtClass XtParent XtAddCallback XtRemoveCallback
-	       XtAddCallbacks XtRemoveCallbacks XtRemoveAllCallbacks XtCallCallbacks
-	       XtHasCallbacks XtCreatePopupShell XtVaCreatePopupShell XtPopup XtPopupSpringLoaded
-	       XtCallbackNone XtCallbackNonexclusive XtCallbackExclusive XtPopdown XtCallbackPopdown
-	       XtCreateWidget XtCreateManagedWidget XtVaCreateWidget XtVaCreateManagedWidget
-	       XtAppCreateShell XtVaAppCreateShell 
-	       XtDisplayToApplicationContext 
-	       XtSetValues XtVaSetValues XtGetValues XtVaGetValues
-	       XtAppSetErrorMsgHandler XtAppSetWarningMsgHandler
-	       XtAppErrorMsg XtAppWarningMsg XtAppSetErrorHandler
-	       XtAppSetWarningHandler XtAppError
-	       XtAppAddWorkProc XtGetGC XtAllocateGC XtDestroyGC XtReleaseGC
-	       XtFindFile XtResolvePathname XtDisownSelection XtGetSelectionValue
-	       XtGetSelectionValues XtAppSetSelectionTimeout XtAppGetSelectionTimeout
-	       XtGetSelectionRequest XtGetSelectionValueIncremental
-	       XtGetSelectionValuesIncremental XtCreateSelectionRequest XtSendSelectionRequest
-	       XtCancelSelectionRequest XtGrabKey XtUngrabKey
-	       XtGrabKeyboard XtUngrabKeyboard XtGrabButton XtUngrabButton XtGrabPointer XtUngrabPointer
-	       XtGetApplicationNameAndClass XtGetDisplays XtToolkitThreadInitialize XtAppLock XtAppUnlock XtIsRectObj XtIsWidget
-	       XtIsComposite XtIsConstraint XtIsShell XtIsOverrideShell XtIsWMShell XtIsVendorShell
-	       XtIsTransientShell XtIsTopLevelShell XtIsApplicationShell XtIsSessionShell XtMapWidget
-	       XtUnmapWidget XLoadQueryFont XQueryFont XGetMotionEvents XDeleteModifiermapEntry
-	       XGetModifierMapping XInsertModifiermapEntry XNewModifiermap XCreateImage XGetImage
-	       XGetSubImage XOpenDisplay XFetchBytes XFetchBuffer XGetAtomName XDisplayName XUniqueContext
-	       XKeysymToString XSynchronize XSetAfterFunction XInternAtom XCopyColormapAndFree XCreateColormap
-	       XCreatePixmapCursor XCreateGlyphCursor XCreateFontCursor XLoadFont XCreateGC XFlushGC
-	       XCreatePixmap XCreateBitmapFromData XCreatePixmapFromBitmapData XCreateSimpleWindow
-	       XGetSelectionOwner XCreateWindow XListInstalledColormaps XListFonts XListFontsWithInfo
-	       XListExtensions XListProperties ;XKeycodeToKeysym 
-	       XLookupKeysym
-	       XGetKeyboardMapping ;XStringToKeysym
-	       XDisplayMotionBufferSize XVisualIDFromVisual XMaxRequestSize XExtendedMaxRequestSize
-	       XRootWindow XDefaultRootWindow XRootWindowOfScreen
-	       XDefaultVisual XDefaultVisualOfScreen XDefaultGC XDefaultGCOfScreen XBlackPixel XWhitePixel
-	       XAllPlanes XBlackPixelOfScreen XWhitePixelOfScreen XNextRequest XLastKnownRequestProcessed
-	       XServerVendor XDisplayString XDefaultColormap XDefaultColormapOfScreen XDisplayOfScreen
-	       XScreenOfDisplay XDefaultScreenOfDisplay XEventMaskOfScreen XScreenNumberOfScreen
-	       XSetErrorHandler XSetIOErrorHandler XListPixmapFormats XListDepths XReconfigureWMWindow
-	       XGetWMProtocols XSetWMProtocols XIconifyWindow XWithdrawWindow XGetCommand XGetWMColormapWindows
-	       XSetTransientForHint XActivateScreenSaver
-	       XAllocColor XAllocColorCells XAllocColorPlanes XAllocNamedColor
-	       XAllowEvents XAutoRepeatOff XAutoRepeatOn XBell XBitmapBitOrder XBitmapPad XBitmapUnit
-	       XCellsOfScreen XChangeActivePointerGrab XChangeGC XChangeKeyboardControl XChangeKeyboardMapping
-	       XChangePointerControl XChangeProperty XChangeWindowAttributes ; XCheckIfEvent
-	       XCheckMaskEvent XCheckTypedEvent XCheckTypedWindowEvent XCheckWindowEvent XCirculateSubwindows
-	       XCirculateSubwindowsDown XCirculateSubwindowsUp XClearArea XClearWindow XCloseDisplay
-	       XConfigureWindow XConnectionNumber XConvertSelection XCopyArea XCopyGC XCopyPlane XDefaultDepth
-	       XDefaultDepthOfScreen XDefaultScreen XDefineCursor XDeleteProperty XDestroyWindow
-	       XDestroySubwindows XDoesBackingStore XDoesSaveUnders XDisableAccessControl XDisplayCells
-	       XDisplayHeight XDisplayHeightMM XDisplayKeycodes XDisplayPlanes XDisplayWidth XDisplayWidthMM
-	       XDrawArc XDrawArcs XDrawImageString XDrawLine XDrawLines XDrawLinesDirect XDrawPoint
-	       XDrawPoints XDrawRectangle XDrawRectangles XDrawSegments XDrawString XDrawText
-	       XEnableAccessControl XEventsQueued XFetchName XFillArc XFillArcs XFillPolygon XFillRectangle
-	       XFillRectangles XFlush XForceScreenSaver XFreeColormap XFreeColors XFreeCursor
-	       XFreeExtensionList XFreeFont XFreeFontInfo XFreeFontNames XFreeFontPath XFreeGC
-	       XFreeModifiermap XFreePixmap XGeometry XGetErrorText XGetFontProperty
-	       XGetGCValues XGCValues XEvent XGetGeometry XGetIconName XGetInputFocus XGetKeyboardControl
-	       XGetPointerControl XGetPointerMapping XGetScreenSaver XGetTransientForHint XGetWindowProperty
-	       XGetWindowAttributes XGrabButton XGrabKey XGrabKeyboard XGrabPointer XGrabServer
-	       XHeightMMOfScreen XHeightOfScreen XIfEvent XImageByteOrder XInstallColormap XKeysymToKeycode
-	       XKillClient XLookupColor XLowerWindow XMapRaised XMapSubwindows XMapWindow XMaskEvent
-	       XMaxCmapsOfScreen XMinCmapsOfScreen XMoveResizeWindow XMoveWindow XNoOp XParseColor
-	       XParseGeometry XPeekEvent XPeekIfEvent XPending XPlanesOfScreen XProtocolRevision
-	       XProtocolVersion XPutImage XQLength XQueryBestCursor XQueryBestSize XQueryBestStipple
-	       XQueryBestTile XQueryColor XQueryColors XQueryExtension XQueryKeymap XQueryPointer
-	       XQueryTextExtents XQueryTree XRaiseWindow XRebindKeysym XRecolorCursor XRefreshKeyboardMapping
-	       XReparentWindow XResetScreenSaver XResizeWindow
-	       XRestackWindows XRotateBuffers XRotateWindowProperties XScreenCount XSelectInput XSendEvent
-	       XSetAccessControl XSetArcMode XSetBackground XSetClipMask XSetClipOrigin XSetClipRectangles
-	       XSetCloseDownMode XSetCommand XSetDashes XSetFillRule XSetFillStyle XSetFont XSetFontPath
-	       XSetForeground XSetFunction XSetGraphicsExposures XSetIconName XSetInputFocus XSetLineAttributes
-	       XSetModifierMapping XSetPlaneMask XSetPointerMapping XSetScreenSaver XSetSelectionOwner
-	       XSetState XSetStipple XSetSubwindowMode XSetTSOrigin XSetTile XSetWindowBackground
-	       XSetWindowBackgroundPixmap XSetWindowBorder XSetWindowBorderPixmap XSetWindowBorderWidth
-	       XSetWindowColormap XStoreBuffer XStoreBytes XStoreColor XStoreColors XStoreName
-	       XStoreNamedColor XSync XTextExtents XTextWidth XTranslateCoordinates XUndefineCursor
-	       XUngrabButton XUngrabKey XUngrabKeyboard XUngrabPointer XUngrabServer XUninstallColormap
-	       XUnloadFont XUnmapSubwindows XUnmapWindow XVendorRelease XWarpPointer XWidthMMOfScreen
-	       XWidthOfScreen XWindowEvent XWriteBitmapFile XSupportsLocale XSetLocaleModifiers XCreateFontSet
-	       XFreeFontSet XFontsOfFontSet XBaseFontNameListOfFontSet XLocaleOfFontSet XContextDependentDrawing
-	       XDirectionalDependentDrawing XContextualDrawing XFilterEvent XAllocIconSize
-	       XAllocStandardColormap XAllocWMHints XClipBox XCreateRegion XDefaultString XDeleteContext
-	       XDestroyRegion XEmptyRegion XEqualRegion ;XFindContext 
-	       XGetIconSizes XGetRGBColormaps
-	       XGetVisualInfo XGetWMHints XIntersectRegion XConvertCase XLookupString
-	       XMatchVisualInfo XOffsetRegion XPointInRegion XPolygonRegion XRectInRegion XSaveContext
-	       XSetRGBColormaps XSetWMHints XSetRegion XShrinkRegion XSubtractRegion
-	       XUnionRectWithRegion XUnionRegion XXorRegion DefaultScreen DefaultRootWindow QLength
-	       ScreenCount ServerVendor ProtocolVersion ProtocolRevision VendorRelease DisplayString
-	       BitmapUnit BitmapBitOrder BitmapPad ImageByteOrder NextRequest LastKnownRequestProcessed
-	       DefaultScreenOfDisplay DisplayOfScreen RootWindowOfScreen BlackPixelOfScreen WhitePixelOfScreen
-	       DefaultColormapOfScreen DefaultDepthOfScreen DefaultGCOfScreen DefaultVisualOfScreen
-	       WidthOfScreen HeightOfScreen WidthMMOfScreen HeightMMOfScreen PlanesOfScreen CellsOfScreen
-	       MinCmapsOfScreen MaxCmapsOfScreen DoesSaveUnders DoesBackingStore EventMaskOfScreen RootWindow
-	       DefaultVisual DefaultGC BlackPixel WhitePixel DisplayWidth DisplayHeight DisplayWidthMM
-	       DisplayHeightMM DisplayPlanes DisplayCells DefaultColormap ScreenOfDisplay DefaultDepth
-	       IsKeypadKey IsPrivateKeypadKey IsCursorKey IsPFKey IsFunctionKey IsMiscFunctionKey
-	       IsModifierKey XmCreateMessageBox XmCreateMessageDialog XmCreateErrorDialog
-	       XmCreateInformationDialog XmCreateQuestionDialog XmCreateWarningDialog XmCreateWorkingDialog
-	       XmCreateTemplateDialog XmMessageBoxGetChild XmCreateArrowButtonGadget XmCreateArrowButton
-	       XmCreateNotebook XmNotebookGetPageInfo 
-	       XmTransferSetParameters XmTransferValue XmCreateComboBox
-	       XmCreateDropDownComboBox XmCreateDropDownList XmComboBoxAddItem XmComboBoxDeletePos
-	       XmComboBoxSelectItem XmComboBoxSetItem XmComboBoxUpdate XmCreateContainer
-	       XmContainerGetItemChildren XmContainerRelayout XmContainerReorder XmContainerCut XmContainerCopy
-	       XmContainerPaste XmContainerCopyLink XmContainerPasteLink XmCreateSpinBox
-	       XmSpinBoxValidatePosition XmCreateSimpleSpinBox XmSimpleSpinBoxAddItem XmSimpleSpinBoxDeletePos
-	       XmSimpleSpinBoxSetItem XmDropSiteRegistered XmTextFieldCopyLink XmTextFieldPasteLink
-	       XmTextGetCenterline XmToggleButtonGadgetSetValue XmCreateIconGadget
-	       XmCreateIconHeader XmObjectAtPoint XmConvertStringToUnits XmCreateGrabShell
-	       XmToggleButtonSetValue XmTextPasteLink XmTextCopyLink XmScaleSetTicks XmInternAtom XmGetAtomName
-	       XmCreatePanedWindow XmCreateBulletinBoard XmCreateBulletinBoardDialog XmCreateCascadeButtonGadget
-	       XmCascadeButtonGadgetHighlight XmAddProtocols XmRemoveProtocols XmAddProtocolCallback
-	       XmRemoveProtocolCallback XmActivateProtocol XmDeactivateProtocol XmSetProtocolHooks
-	       XmCreateCascadeButton XmCascadeButtonHighlight XmCreatePushButtonGadget XmCreatePushButton
-	       XmCreateCommand XmCommandGetChild XmCommandSetValue XmCommandAppendValue XmCommandError
-	       XmCreateCommandDialog XmMenuPosition XmCreateRowColumn XmCreateWorkArea XmCreateRadioBox
-	       XmCreateOptionMenu XmOptionLabelGadget XmOptionButtonGadget XmCreateMenuBar XmCreatePopupMenu
-	       XmCreatePulldownMenu XmGetPostedFromWidget XmGetTearOffControl 
-	       XmScaleSetValue XmScaleGetValue XmCreateScale
-	       XmClipboardStartCopy XmClipboardCopy XmClipboardEndCopy XmClipboardCancelCopy
-	       XmClipboardWithdrawFormat XmClipboardCopyByName XmClipboardUndoCopy XmClipboardLock
-	       XmClipboardUnlock XmClipboardStartRetrieve XmClipboardEndRetrieve XmClipboardRetrieve
-	       XmClipboardInquireCount XmClipboardInquireFormat XmClipboardInquireLength
-	       XmClipboardInquirePendingItems XmClipboardRegisterFormat XmGetXmScreen XmCreateScrollBar
-	       XmScrollBarGetValues XmScrollBarSetValues XmCreateDialogShell 
-	       XmCreateScrolledWindow XmScrollVisible XmGetDragContext XmGetXmDisplay XmSelectionBoxGetChild
-	       XmCreateSelectionBox XmCreateSelectionDialog XmCreatePromptDialog XmDragStart XmDragCancel
-	       XmTargetsAreCompatible XmCreateSeparatorGadget XmCreateDragIcon XmCreateSeparator
-	       XmCreateDrawingArea XmCreateDrawnButton XmDropSiteRegister XmDropSiteUnregister
-	       XmDropSiteStartUpdate XmDropSiteUpdate XmDropSiteEndUpdate XmDropSiteRetrieve
-	       XmDropSiteQueryStackingOrder XmDropSiteConfigureStackingOrder XmDropTransferStart
-	       XmDropTransferAdd XmTextFieldGetString XmTextFieldGetSubstring XmTextFieldGetLastPosition
-	       XmTextFieldSetString XmTextFieldReplace XmTextFieldInsert XmTextFieldSetAddMode
-	       XmTextFieldGetAddMode XmTextFieldGetEditable XmTextFieldSetEditable XmTextFieldGetMaxLength
-	       XmTextFieldSetMaxLength XmTextFieldGetCursorPosition XmTextFieldGetInsertionPosition
-	       XmTextFieldSetCursorPosition XmTextFieldSetInsertionPosition XmTextFieldGetSelectionPosition
-	       XmTextFieldGetSelection XmTextFieldRemove XmTextFieldCopy XmTextFieldCut XmTextFieldPaste
-	       XmTextFieldClearSelection XmTextFieldSetSelection XmTextFieldXYToPos XmTextFieldPosToXY
-	       XmTextFieldShowPosition XmTextFieldSetHighlight XmTextFieldGetBaseline XmCreateTextField
-	       XmFileSelectionBoxGetChild XmFileSelectionDoSearch XmCreateFileSelectionBox
-	       XmCreateFileSelectionDialog XmTextSetHighlight XmCreateScrolledText XmCreateText
-	       XmTextGetSubstring XmTextGetString XmTextGetLastPosition XmTextSetString XmTextReplace
-	       XmTextInsert XmTextSetAddMode XmTextGetAddMode XmTextGetEditable XmTextSetEditable
-	       XmTextGetMaxLength XmTextSetMaxLength XmTextGetTopCharacter XmTextSetTopCharacter
-	       XmTextGetCursorPosition XmTextGetInsertionPosition XmTextSetInsertionPosition
-	       XmTextSetCursorPosition XmTextRemove XmTextCopy XmTextCut XmTextPaste XmTextGetSelection
-	       XmTextSetSelection XmTextClearSelection XmTextGetSelectionPosition XmTextXYToPos XmTextPosToXY
-	       XmTextGetSource XmTextSetSource XmTextShowPosition XmTextScroll XmTextGetBaseline
-	       XmTextDisableRedisplay XmTextEnableRedisplay XmTextFindString XmCreateForm XmCreateFormDialog
-	       XmCreateFrame XmToggleButtonGadgetGetState XmToggleButtonGadgetSetState XmCreateToggleButtonGadget
-	       XmToggleButtonGetState XmToggleButtonSetState XmCreateToggleButton XmCreateLabelGadget
-	       XmCreateLabel XmIsMotifWMRunning XmListAddItem XmListAddItems XmListAddItemsUnselected
-	       XmListAddItemUnselected XmListDeleteItem XmListDeleteItems XmListDeletePositions XmListDeletePos
-	       XmListDeleteItemsPos XmListDeleteAllItems XmListReplaceItems XmListReplaceItemsPos
-	       XmListReplaceItemsUnselected XmListReplaceItemsPosUnselected XmListReplacePositions
-	       XmListSelectItem XmListSelectPos XmListDeselectItem XmListDeselectPos XmListDeselectAllItems
-	       XmListSetPos XmListSetBottomPos XmListSetItem XmListSetBottomItem XmListSetAddMode
-	       XmListItemExists XmListItemPos XmListGetKbdItemPos XmListSetKbdItemPos XmListYToPos
-	       XmListPosToBounds XmListGetMatchPos XmListGetSelectedPos XmListSetHorizPos
-	       XmListUpdateSelectedList XmListPosSelected XmCreateList XmCreateScrolledList XmTranslateKey
-	       XmInstallImage XmUninstallImage XmGetPixmap XmGetPixmapByDepth XmDestroyPixmap XmUpdateDisplay
-	       XmWidgetGetBaselines XmRegisterSegmentEncoding XmMapSegmentEncoding
-	       XmCvtCTToXmString XmCvtXmStringToCT XmConvertUnits
-	       XmCreateSimpleMenuBar XmCreateSimplePopupMenu XmCreateSimplePulldownMenu
-	       XmCreateSimpleOptionMenu XmCreateSimpleRadioBox XmCreateSimpleCheckBox XmVaCreateSimpleMenuBar
-	       XmVaCreateSimplePopupMenu XmVaCreateSimplePulldownMenu XmVaCreateSimpleOptionMenu
-	       XmVaCreateSimpleRadioBox XmVaCreateSimpleCheckBox XmTrackingEvent
-	       XmSetColorCalculation XmGetColorCalculation XmGetColors XmChangeColor XmStringCreate
-	       XmStringCreateLocalized XmStringDirectionCreate XmStringSeparatorCreate
-	       XmStringInitContext
-	       XmStringFreeContext 
-	       XmStringConcatAndFree XmStringIsVoid XmStringPeekNextTriple XmStringGetNextTriple
-	       XmStringComponentCreate XmStringUnparse XmStringParseText XmStringToXmStringTable
-	       XmStringTableToXmString XmStringTableUnparse XmStringTableParseStringArray
-	       XmDirectionToStringDirection XmStringDirectionToDirection XmStringGenerate XmStringPutRendition
-	       XmParseMappingGetValues XmParseMappingFree XmParseTableFree XmStringTableProposeTablist
-	       XmTabSetValue XmTabGetValues XmTabFree XmTabCreate XmTabListTabCount XmTabListRemoveTabs
-	       XmTabListReplacePositions XmTabListGetTab XmTabListCopy XmTabListInsertTabs
+	     (xm-procs 
+	      (let ((xm-procs-1
+		     (list
+		      XPutBackEvent XNextEvent
+		      XtAppProcessEvent XtAppMainLoop XtAppAddActions XtAppNextEvent XtAppPeekEvent
+		      
+		      XtSetArg XtManageChildren XtManageChild XtUnmanageChildren XtUnmanageChild
+		      XtDispatchEvent XtCallAcceptFocus XtIsSubclass XtIsObject XtIsManaged XtIsRealized
+		      XtIsSensitive XtOwnSelection XtOwnSelectionIncremental XtMakeResizeRequest XtTranslateCoords
+		      XtKeysymToKeycodeList XtParseTranslationTable XtParseAcceleratorTable XtOverrideTranslations XtAugmentTranslations
+		      XtInstallAccelerators XtInstallAllAccelerators XtUninstallTranslations XtAppAddActionHook
+		      XtRemoveActionHook XtGetActionList XtCallActionProc XtRegisterGrabAction XtSetMultiClickTime
+		      XtGetMultiClickTime XtGetActionKeysym XtTranslateKeycode XtTranslateKey XtSetKeyTranslator
+		      XtRegisterCaseConverter XtConvertCase XtAddEventHandler XtRemoveEventHandler XtAddRawEventHandler
+		      XtRemoveRawEventHandler XtInsertEventHandler XtInsertRawEventHandler XtDispatchEventToWidget
+		      XtBuildEventMask XtAddGrab XtRemoveGrab XtAddExposureToRegion XtSetKeyboardFocus
+		      XtGetKeyboardFocusWidget XtLastEventProcessed XtLastTimestampProcessed 
+		      XtAppAddTimeOut XtRemoveTimeOut XtAppAddInput XtRemoveInput XtAppPending
+		      XtRealizeWidget XtUnrealizeWidget XtSetSensitive XtNameToWidget XtWindowToWidget
+		      XtMergeArgLists XtVaCreateArgsList XtDisplay XtDisplayOfObject XtScreen XtScreenOfObject
+		      XtWindow XtWindowOfObject XtName XtSuperclass XtClass XtParent XtAddCallback XtRemoveCallback
+		      XtAddCallbacks XtRemoveCallbacks XtRemoveAllCallbacks XtCallCallbacks
+		      XtHasCallbacks XtCreatePopupShell XtVaCreatePopupShell XtPopup XtPopupSpringLoaded
+		      XtCallbackNone XtCallbackNonexclusive XtCallbackExclusive XtPopdown XtCallbackPopdown
+		      XtCreateWidget XtCreateManagedWidget XtVaCreateWidget XtVaCreateManagedWidget
+		      XtAppCreateShell XtVaAppCreateShell 
+		      XtDisplayToApplicationContext 
+		      XtSetValues XtVaSetValues XtGetValues XtVaGetValues
+		      XtAppSetErrorMsgHandler XtAppSetWarningMsgHandler
+		      XtAppErrorMsg XtAppWarningMsg XtAppSetErrorHandler
+		      XtAppSetWarningHandler XtAppError
+		      XtAppAddWorkProc XtGetGC XtAllocateGC XtDestroyGC XtReleaseGC
+		      XtFindFile XtResolvePathname XtDisownSelection XtGetSelectionValue
+		      XtGetSelectionValues XtAppSetSelectionTimeout XtAppGetSelectionTimeout
+		      XtGetSelectionRequest XtGetSelectionValueIncremental
+		      XtGetSelectionValuesIncremental XtCreateSelectionRequest XtSendSelectionRequest
+		      XtCancelSelectionRequest XtGrabKey XtUngrabKey
+		      XtGrabKeyboard XtUngrabKeyboard XtGrabButton XtUngrabButton XtGrabPointer XtUngrabPointer
+		      XtGetApplicationNameAndClass XtGetDisplays XtToolkitThreadInitialize XtAppLock XtAppUnlock XtIsRectObj XtIsWidget
+		      XtIsComposite XtIsConstraint XtIsShell XtIsOverrideShell XtIsWMShell XtIsVendorShell
+		      XtIsTransientShell XtIsTopLevelShell XtIsApplicationShell XtIsSessionShell XtMapWidget
+		      XtUnmapWidget XLoadQueryFont XQueryFont XGetMotionEvents XDeleteModifiermapEntry
+		      XGetModifierMapping XInsertModifiermapEntry XNewModifiermap XCreateImage XGetImage
+		      XGetSubImage XOpenDisplay XFetchBytes XFetchBuffer XGetAtomName XDisplayName XUniqueContext
+		      XKeysymToString XSynchronize XSetAfterFunction XInternAtom XCopyColormapAndFree XCreateColormap
+		      XCreatePixmapCursor XCreateGlyphCursor XCreateFontCursor XLoadFont XCreateGC XFlushGC
+		      XCreatePixmap XCreateBitmapFromData XCreatePixmapFromBitmapData XCreateSimpleWindow
+		      XGetSelectionOwner XCreateWindow XListInstalledColormaps XListFonts XListFontsWithInfo
+		      XListExtensions XListProperties ;XKeycodeToKeysym 
+		      XLookupKeysym
+		      XGetKeyboardMapping ;XStringToKeysym
+		      XDisplayMotionBufferSize XVisualIDFromVisual XMaxRequestSize XExtendedMaxRequestSize
+		      XRootWindow XDefaultRootWindow XRootWindowOfScreen
+		      XDefaultVisual XDefaultVisualOfScreen XDefaultGC XDefaultGCOfScreen XBlackPixel XWhitePixel
+		      XAllPlanes XBlackPixelOfScreen XWhitePixelOfScreen XNextRequest XLastKnownRequestProcessed
+		      XServerVendor XDisplayString XDefaultColormap XDefaultColormapOfScreen XDisplayOfScreen
+		      XScreenOfDisplay XDefaultScreenOfDisplay XEventMaskOfScreen XScreenNumberOfScreen
+		      XSetErrorHandler XSetIOErrorHandler XListPixmapFormats XListDepths XReconfigureWMWindow
+		      XGetWMProtocols XSetWMProtocols XIconifyWindow XWithdrawWindow XGetCommand XGetWMColormapWindows
+		      XSetTransientForHint XActivateScreenSaver
+		      XAllocColor XAllocColorCells XAllocColorPlanes XAllocNamedColor
+		      XAllowEvents XAutoRepeatOff XAutoRepeatOn XBell XBitmapBitOrder XBitmapPad XBitmapUnit
+		      XCellsOfScreen XChangeActivePointerGrab XChangeGC XChangeKeyboardControl XChangeKeyboardMapping
+		      XChangePointerControl XChangeProperty XChangeWindowAttributes ; XCheckIfEvent
+		      XCheckMaskEvent XCheckTypedEvent XCheckTypedWindowEvent XCheckWindowEvent XCirculateSubwindows
+		      XCirculateSubwindowsDown XCirculateSubwindowsUp XClearArea XClearWindow XCloseDisplay
+		      XConfigureWindow XConnectionNumber XConvertSelection XCopyArea XCopyGC XCopyPlane XDefaultDepth
+		      XDefaultDepthOfScreen XDefaultScreen XDefineCursor XDeleteProperty XDestroyWindow
+		      XDestroySubwindows XDoesBackingStore XDoesSaveUnders XDisableAccessControl XDisplayCells
+		      XDisplayHeight XDisplayHeightMM XDisplayKeycodes XDisplayPlanes XDisplayWidth XDisplayWidthMM
+		      XDrawArc XDrawArcs XDrawImageString XDrawLine XDrawLines XDrawLinesDirect XDrawPoint
+		      XDrawPoints XDrawRectangle XDrawRectangles XDrawSegments XDrawString XDrawText
+		      XEnableAccessControl XEventsQueued XFetchName XFillArc XFillArcs XFillPolygon XFillRectangle
+		      XFillRectangles XFlush XForceScreenSaver XFreeColormap XFreeColors XFreeCursor
+		      XFreeExtensionList XFreeFont XFreeFontInfo XFreeFontNames XFreeFontPath XFreeGC
+		      XFreeModifiermap XFreePixmap XGeometry XGetErrorText XGetFontProperty
+		      XGetGCValues XGCValues XEvent XGetGeometry XGetIconName XGetInputFocus XGetKeyboardControl
+		      XGetPointerControl XGetPointerMapping XGetScreenSaver XGetTransientForHint XGetWindowProperty
+		      XGetWindowAttributes XGrabButton XGrabKey XGrabKeyboard XGrabPointer XGrabServer
+		      XHeightMMOfScreen XHeightOfScreen XIfEvent XImageByteOrder XInstallColormap XKeysymToKeycode
+		      XKillClient XLookupColor XLowerWindow XMapRaised XMapSubwindows XMapWindow XMaskEvent
+		      XMaxCmapsOfScreen XMinCmapsOfScreen XMoveResizeWindow XMoveWindow XNoOp XParseColor
+		      XParseGeometry XPeekEvent XPeekIfEvent XPending XPlanesOfScreen XProtocolRevision
+		      XProtocolVersion XPutImage XQLength XQueryBestCursor XQueryBestSize XQueryBestStipple
+		      XQueryBestTile XQueryColor XQueryColors XQueryExtension XQueryKeymap XQueryPointer
+		      XQueryTextExtents XQueryTree XRaiseWindow XRebindKeysym XRecolorCursor XRefreshKeyboardMapping
+		      XReparentWindow XResetScreenSaver XResizeWindow
+		      XRestackWindows XRotateBuffers XRotateWindowProperties XScreenCount XSelectInput XSendEvent
+		      XSetAccessControl XSetArcMode XSetBackground XSetClipMask XSetClipOrigin XSetClipRectangles
+		      XSetCloseDownMode XSetCommand XSetDashes XSetFillRule XSetFillStyle XSetFont XSetFontPath
+		      XSetForeground XSetFunction XSetGraphicsExposures XSetIconName XSetInputFocus XSetLineAttributes
+		      XSetModifierMapping XSetPlaneMask XSetPointerMapping XSetScreenSaver XSetSelectionOwner
+		      XSetState XSetStipple XSetSubwindowMode XSetTSOrigin XSetTile XSetWindowBackground
+		      XSetWindowBackgroundPixmap XSetWindowBorder XSetWindowBorderPixmap XSetWindowBorderWidth
+		      XSetWindowColormap XStoreBuffer XStoreBytes XStoreColor XStoreColors XStoreName
+		      XStoreNamedColor XSync XTextExtents XTextWidth XTranslateCoordinates XUndefineCursor
+		      XUngrabButton XUngrabKey XUngrabKeyboard XUngrabPointer XUngrabServer XUninstallColormap
+		      XUnloadFont XUnmapSubwindows XUnmapWindow XVendorRelease XWarpPointer XWidthMMOfScreen
+		      XWidthOfScreen XWindowEvent XWriteBitmapFile XSupportsLocale XSetLocaleModifiers XCreateFontSet
+		      XFreeFontSet XFontsOfFontSet XBaseFontNameListOfFontSet XLocaleOfFontSet XContextDependentDrawing
+		      XDirectionalDependentDrawing XContextualDrawing XFilterEvent XAllocIconSize
+		      XAllocStandardColormap XAllocWMHints XClipBox XCreateRegion XDefaultString XDeleteContext
+		      XDestroyRegion XEmptyRegion XEqualRegion ;XFindContext 
+		      XGetIconSizes XGetRGBColormaps
+		      XGetVisualInfo XGetWMHints XIntersectRegion XConvertCase XLookupString
+		      XMatchVisualInfo XOffsetRegion XPointInRegion XPolygonRegion XRectInRegion XSaveContext
+		      XSetRGBColormaps XSetWMHints XSetRegion XShrinkRegion XSubtractRegion
+		      XUnionRectWithRegion XUnionRegion XXorRegion DefaultScreen DefaultRootWindow QLength
+		      ScreenCount ServerVendor ProtocolVersion ProtocolRevision VendorRelease DisplayString
+		      BitmapUnit BitmapBitOrder BitmapPad ImageByteOrder NextRequest LastKnownRequestProcessed
+		      DefaultScreenOfDisplay DisplayOfScreen RootWindowOfScreen BlackPixelOfScreen WhitePixelOfScreen
+		      DefaultColormapOfScreen DefaultDepthOfScreen DefaultGCOfScreen DefaultVisualOfScreen
+		      WidthOfScreen HeightOfScreen WidthMMOfScreen HeightMMOfScreen PlanesOfScreen CellsOfScreen
+		      MinCmapsOfScreen MaxCmapsOfScreen DoesSaveUnders DoesBackingStore EventMaskOfScreen RootWindow
+		      DefaultVisual DefaultGC BlackPixel WhitePixel DisplayWidth DisplayHeight DisplayWidthMM
+		      DisplayHeightMM DisplayPlanes DisplayCells DefaultColormap ScreenOfDisplay DefaultDepth
+		      IsKeypadKey IsPrivateKeypadKey IsCursorKey IsPFKey IsFunctionKey IsMiscFunctionKey
+		      IsModifierKey XmCreateMessageBox XmCreateMessageDialog XmCreateErrorDialog
+		      XmCreateInformationDialog XmCreateQuestionDialog XmCreateWarningDialog XmCreateWorkingDialog
+		      XmCreateTemplateDialog XmMessageBoxGetChild XmCreateArrowButtonGadget XmCreateArrowButton
+		      XmCreateNotebook XmNotebookGetPageInfo 
+		      XmTransferSetParameters XmTransferValue XmCreateComboBox
+		      XmCreateDropDownComboBox XmCreateDropDownList XmComboBoxAddItem XmComboBoxDeletePos
+		      XmComboBoxSelectItem XmComboBoxSetItem XmComboBoxUpdate XmCreateContainer
+		      XmContainerGetItemChildren XmContainerRelayout XmContainerReorder XmContainerCut XmContainerCopy
+		      XmContainerPaste XmContainerCopyLink XmContainerPasteLink XmCreateSpinBox
+		      XmSpinBoxValidatePosition XmCreateSimpleSpinBox XmSimpleSpinBoxAddItem XmSimpleSpinBoxDeletePos
+		      XmSimpleSpinBoxSetItem XmDropSiteRegistered XmTextFieldCopyLink XmTextFieldPasteLink
+		      XmTextGetCenterline XmToggleButtonGadgetSetValue XmCreateIconGadget
+		      XmCreateIconHeader XmObjectAtPoint XmConvertStringToUnits XmCreateGrabShell
+		      XmToggleButtonSetValue XmTextPasteLink XmTextCopyLink XmScaleSetTicks XmInternAtom XmGetAtomName
+		      XmCreatePanedWindow XmCreateBulletinBoard XmCreateBulletinBoardDialog XmCreateCascadeButtonGadget
+		      XmCascadeButtonGadgetHighlight XmAddProtocols XmRemoveProtocols XmAddProtocolCallback
+		      XmRemoveProtocolCallback XmActivateProtocol XmDeactivateProtocol XmSetProtocolHooks
+		      XmCreateCascadeButton XmCascadeButtonHighlight XmCreatePushButtonGadget XmCreatePushButton
+		      XmCreateCommand XmCommandGetChild XmCommandSetValue XmCommandAppendValue XmCommandError
+		      XmCreateCommandDialog XmMenuPosition XmCreateRowColumn XmCreateWorkArea XmCreateRadioBox
+		      XmCreateOptionMenu XmOptionLabelGadget XmOptionButtonGadget XmCreateMenuBar XmCreatePopupMenu
+		      XmCreatePulldownMenu XmGetPostedFromWidget XmGetTearOffControl 
+		      XmScaleSetValue XmScaleGetValue XmCreateScale
+		      XmClipboardStartCopy XmClipboardCopy XmClipboardEndCopy XmClipboardCancelCopy
+		      XmClipboardWithdrawFormat XmClipboardCopyByName XmClipboardUndoCopy XmClipboardLock
+		      XmClipboardUnlock XmClipboardStartRetrieve XmClipboardEndRetrieve XmClipboardRetrieve
+		      XmClipboardInquireCount XmClipboardInquireFormat XmClipboardInquireLength
+		      XmClipboardInquirePendingItems XmClipboardRegisterFormat XmGetXmScreen XmCreateScrollBar
+		      XmScrollBarGetValues XmScrollBarSetValues XmCreateDialogShell 
+		      XmCreateScrolledWindow XmScrollVisible XmGetDragContext XmGetXmDisplay XmSelectionBoxGetChild
+		      XmCreateSelectionBox XmCreateSelectionDialog XmCreatePromptDialog XmDragStart XmDragCancel
+		      XmTargetsAreCompatible XmCreateSeparatorGadget XmCreateDragIcon XmCreateSeparator
+		      XmCreateDrawingArea XmCreateDrawnButton XmDropSiteRegister XmDropSiteUnregister
+		      XmDropSiteStartUpdate XmDropSiteUpdate XmDropSiteEndUpdate XmDropSiteRetrieve
+		      XmDropSiteQueryStackingOrder XmDropSiteConfigureStackingOrder XmDropTransferStart
+		      XmDropTransferAdd XmTextFieldGetString XmTextFieldGetSubstring XmTextFieldGetLastPosition
+		      XmTextFieldSetString XmTextFieldReplace XmTextFieldInsert XmTextFieldSetAddMode
+		      XmTextFieldGetAddMode XmTextFieldGetEditable XmTextFieldSetEditable XmTextFieldGetMaxLength
+		      XmTextFieldSetMaxLength XmTextFieldGetCursorPosition XmTextFieldGetInsertionPosition
+		      XmTextFieldSetCursorPosition XmTextFieldSetInsertionPosition XmTextFieldGetSelectionPosition
+		      XmTextFieldGetSelection XmTextFieldRemove XmTextFieldCopy XmTextFieldCut XmTextFieldPaste
+		      XmTextFieldClearSelection XmTextFieldSetSelection XmTextFieldXYToPos XmTextFieldPosToXY
+		      XmTextFieldShowPosition XmTextFieldSetHighlight XmTextFieldGetBaseline XmCreateTextField
+		      XmFileSelectionBoxGetChild XmFileSelectionDoSearch XmCreateFileSelectionBox
+		      XmCreateFileSelectionDialog XmTextSetHighlight XmCreateScrolledText XmCreateText
+		      XmTextGetSubstring XmTextGetString XmTextGetLastPosition XmTextSetString XmTextReplace
+		      XmTextInsert XmTextSetAddMode XmTextGetAddMode XmTextGetEditable XmTextSetEditable
+		      XmTextGetMaxLength XmTextSetMaxLength XmTextGetTopCharacter XmTextSetTopCharacter
+		      XmTextGetCursorPosition XmTextGetInsertionPosition XmTextSetInsertionPosition
+		      XmTextSetCursorPosition XmTextRemove XmTextCopy XmTextCut XmTextPaste XmTextGetSelection
+		      XmTextSetSelection XmTextClearSelection XmTextGetSelectionPosition XmTextXYToPos XmTextPosToXY
+		      XmTextGetSource XmTextSetSource XmTextShowPosition XmTextScroll XmTextGetBaseline
+		      XmTextDisableRedisplay XmTextEnableRedisplay XmTextFindString XmCreateForm XmCreateFormDialog
+		      XmCreateFrame XmToggleButtonGadgetGetState XmToggleButtonGadgetSetState XmCreateToggleButtonGadget
+		      XmToggleButtonGetState XmToggleButtonSetState XmCreateToggleButton XmCreateLabelGadget
+		      XmCreateLabel XmIsMotifWMRunning XmListAddItem XmListAddItems XmListAddItemsUnselected
+		      XmListAddItemUnselected XmListDeleteItem XmListDeleteItems XmListDeletePositions XmListDeletePos
+		      XmListDeleteItemsPos XmListDeleteAllItems XmListReplaceItems XmListReplaceItemsPos
+		      XmListReplaceItemsUnselected XmListReplaceItemsPosUnselected XmListReplacePositions
+		      XmListSelectItem XmListSelectPos XmListDeselectItem XmListDeselectPos XmListDeselectAllItems
+		      XmListSetPos XmListSetBottomPos XmListSetItem XmListSetBottomItem XmListSetAddMode
+		      XmListItemExists XmListItemPos XmListGetKbdItemPos XmListSetKbdItemPos XmListYToPos
+		      XmListPosToBounds XmListGetMatchPos XmListGetSelectedPos XmListSetHorizPos
+		      XmListUpdateSelectedList XmListPosSelected XmCreateList XmCreateScrolledList XmTranslateKey
+		      XmInstallImage XmUninstallImage XmGetPixmap XmGetPixmapByDepth XmDestroyPixmap XmUpdateDisplay
+		      XmWidgetGetBaselines XmRegisterSegmentEncoding XmMapSegmentEncoding
+		      XmCvtCTToXmString XmCvtXmStringToCT XmConvertUnits
+		      XmCreateSimpleMenuBar XmCreateSimplePopupMenu XmCreateSimplePulldownMenu
+		      XmCreateSimpleOptionMenu XmCreateSimpleRadioBox XmCreateSimpleCheckBox XmVaCreateSimpleMenuBar
+		      XmVaCreateSimplePopupMenu XmVaCreateSimplePulldownMenu XmVaCreateSimpleOptionMenu
+		      XmVaCreateSimpleRadioBox XmVaCreateSimpleCheckBox XmTrackingEvent
+		      XmSetColorCalculation XmGetColorCalculation XmGetColors XmChangeColor XmStringCreate
+		      XmStringCreateLocalized XmStringDirectionCreate XmStringSeparatorCreate
+		      XmStringInitContext
+		      XmStringFreeContext 
+		      XmStringConcatAndFree XmStringIsVoid XmStringPeekNextTriple XmStringGetNextTriple
+		      XmStringComponentCreate XmStringUnparse XmStringParseText XmStringToXmStringTable
+		      XmStringTableToXmString XmStringTableUnparse XmStringTableParseStringArray
+		      XmDirectionToStringDirection XmStringDirectionToDirection XmStringGenerate XmStringPutRendition
+		      XmParseMappingGetValues XmParseMappingFree XmParseTableFree XmStringTableProposeTablist
+		      XmTabSetValue XmTabGetValues XmTabFree XmTabCreate XmTabListTabCount XmTabListRemoveTabs
+		      XmTabListReplacePositions XmTabListGetTab XmTabListCopy XmTabListInsertTabs
 					; XmRenderTableCvtFromProp XmRenderTableCvtToProp XmRenditionUpdate XmRenditionRetrieve
-	       XmRenditionFree XmRenditionCreate XmRenderTableGetRenditions XmRenderTableGetRendition
-	       XmRenderTableGetTags XmRenderTableFree XmRenderTableCopy XmRenderTableRemoveRenditions
-	       XmRenderTableAddRenditions 
-	       XmStringEmpty XmStringHasSubstring XmStringFree XmStringBaseline XmStringWidth XmStringHeight
-	       XmStringExtent XmStringLineCount XmStringDraw XmStringDrawImage XmStringDrawUnderline
-	       XmGetDestination XmIsTraversable XmGetVisibility XmGetTabGroup XmGetFocusWidget
-	       XmProcessTraversal XmCreateMenuShell XmIsMessageBox
-	       XmIsArrowButtonGadget XmIsArrowButton XmIsNotebook XmIsComboBox XmIsContainer
-	       XmIsGrabShell XmIsIconGadget XmIsIconHeader XmIsPanedWindow XmIsBulletinBoard XmIsPrimitive
-	       XmIsCascadeButtonGadget XmIsCascadeButton XmIsPushButtonGadget XmIsPushButton XmIsCommand
-	       XmIsRowColumn XmIsScale XmIsScreen XmIsScrollBar XmIsDialogShell XmIsScrolledWindow XmIsDisplay
-	       XmIsSelectionBox XmIsDragContext XmIsSeparatorGadget XmIsDragIconObjectClass
-	       XmIsSeparator XmIsDrawingArea XmIsDrawnButton XmIsDropSiteManager XmIsDropTransfer XmIsTextField
-	       XmIsFileSelectionBox XmIsText XmIsForm XmIsFrame XmIsGadget XmIsToggleButtonGadget
-	       XmIsToggleButton XmIsLabelGadget XmIsLabel XmIsVendorShell XmIsList XmIsManager
-	       XmIsMenuShell XGetPixel XDestroyImage XPutPixel XSubImage XAddPixel
-	       XtAppContext? XtRequestId? XtWorkProcId? XtInputId? XtIntervalId? Screen? XEvent?
-	       XRectangle? XArc? XPoint? XSegment? XColor? Atom? Colormap?
-	       XModifierKeymap? Depth? Display? Drawable? Font? GC? KeySym? Pixel? Pixmap? Region?
-	       Time? Visual? Window? XFontProp? XFontSet? XFontStruct? XGCValues? XImage? XVisualInfo?
-	       XWMHints? XWindowAttributes? XWindowChanges? KeyCode? XContext? XCharStruct? XTextItem?
-	       Widget? XmStringContext? WidgetClass? XmString?
-	       XmToggleButton? XmDrawingArea? XmPushButton? XmTextField? XmFileSelectionBox? XmText?
-	       XmFrame? XmLabel? XmList? XmArrowButton? XmScrollBar? XmCommand? XmScale? XmRowColumn?
-	       XmTab? XmNotebook? XmComboBox? XmContainer? XmIconHeader?
-	       XmGrabShell? XmRendition? XmRenderTable? XmIconGadget? XmTabList? XmParseMapping?
-	       XmPanedWindow? XmScrolledWindow? XmCascadeButton? XmForm? XmBulletinBoard? XmScreen?
-	       XmDialogShell? XmDisplay? XmSelectionBox? XmDragContext? XmDragIconObjectClass? XmSeparator?
-	       XmDropSiteManager? XmDropTransfer? XmVendorShell? XmMessageBox? XmManager?
-	       XmMenuShell? XmLabelGadget? XmPushButtonGadget? XmSeparatorGadget? XmArrowButtonGadget?
-	       XmCascadeButtonGadget? XmToggleButtonGadget? XmDrawnButton? XmPrimitive?
-	       XmTextSource? 
-	       
-	       XButtonEvent? XCirculateEvent? XCirculateRequestEvent? XClientMessageEvent? XColormapEvent?
-	       XConfigureEvent? XConfigureRequestEvent? XCreateWindowEvent? XCrossingEvent? XDeleteProperty
-	       XDestroyWindowEvent? XErrorEvent? XExposeEvent? XFocusChangeEvent? XGraphicsExposeEvent? XGravityEvent?
-	       XIconSize? XKeyEvent? XKeymapEvent? XMapEvent? XMapRequestEvent? XMappingEvent? XMotionEvent?
-	       XNoExposeEvent? XPropertyEvent? XReparentEvent? XResizeRequestEvent? XSelectionClearEvent?
-	       XSelectionEvent? XSelectionRequestEvent? XSetWindowAttributes? XStandardColormap? XUnmapEvent? XVisibilityEvent?
-	       
-	       ))
-	     (xm-procs (if (not (defined? 'XpmImage?))
-			   xm-procs-1
-			   (append xm-procs-1
-				   (list 
-				    XpmCreatePixmapFromData XpmCreateDataFromPixmap XpmReadFileToPixmap
-				    XpmReadPixmapFile XpmWriteFileFromPixmap XpmWritePixmapFile XpmCreatePixmapFromXpmImage
-				    XpmCreateXpmImageFromPixmap XpmAttributes? XpmImage? XpmColorSymbol?))))
+		      XmRenditionFree XmRenditionCreate XmRenderTableGetRenditions XmRenderTableGetRendition
+		      XmRenderTableGetTags XmRenderTableFree XmRenderTableCopy XmRenderTableRemoveRenditions
+		      XmRenderTableAddRenditions 
+		      XmStringEmpty XmStringHasSubstring XmStringFree XmStringBaseline XmStringWidth XmStringHeight
+		      XmStringExtent XmStringLineCount XmStringDraw XmStringDrawImage XmStringDrawUnderline
+		      XmGetDestination XmIsTraversable XmGetVisibility XmGetTabGroup XmGetFocusWidget
+		      XmProcessTraversal XmCreateMenuShell XmIsMessageBox
+		      XmIsArrowButtonGadget XmIsArrowButton XmIsNotebook XmIsComboBox XmIsContainer
+		      XmIsGrabShell XmIsIconGadget XmIsIconHeader XmIsPanedWindow XmIsBulletinBoard XmIsPrimitive
+		      XmIsCascadeButtonGadget XmIsCascadeButton XmIsPushButtonGadget XmIsPushButton XmIsCommand
+		      XmIsRowColumn XmIsScale XmIsScreen XmIsScrollBar XmIsDialogShell XmIsScrolledWindow XmIsDisplay
+		      XmIsSelectionBox XmIsDragContext XmIsSeparatorGadget XmIsDragIconObjectClass
+		      XmIsSeparator XmIsDrawingArea XmIsDrawnButton XmIsDropSiteManager XmIsDropTransfer XmIsTextField
+		      XmIsFileSelectionBox XmIsText XmIsForm XmIsFrame XmIsGadget XmIsToggleButtonGadget
+		      XmIsToggleButton XmIsLabelGadget XmIsLabel XmIsVendorShell XmIsList XmIsManager
+		      XmIsMenuShell XGetPixel XDestroyImage XPutPixel XSubImage XAddPixel
+		      XtAppContext? XtRequestId? XtWorkProcId? XtInputId? XtIntervalId? Screen? XEvent?
+		      XRectangle? XArc? XPoint? XSegment? XColor? Atom? Colormap?
+		      XModifierKeymap? Depth? Display? Drawable? Font? GC? KeySym? Pixel? Pixmap? Region?
+		      Time? Visual? Window? XFontProp? XFontSet? XFontStruct? XGCValues? XImage? XVisualInfo?
+		      XWMHints? XWindowAttributes? XWindowChanges? KeyCode? XContext? XCharStruct? XTextItem?
+		      Widget? XmStringContext? WidgetClass? XmString?
+		      XmToggleButton? XmDrawingArea? XmPushButton? XmTextField? XmFileSelectionBox? XmText?
+		      XmFrame? XmLabel? XmList? XmArrowButton? XmScrollBar? XmCommand? XmScale? XmRowColumn?
+		      XmTab? XmNotebook? XmComboBox? XmContainer? XmIconHeader?
+		      XmGrabShell? XmRendition? XmRenderTable? XmIconGadget? XmTabList? XmParseMapping?
+		      XmPanedWindow? XmScrolledWindow? XmCascadeButton? XmForm? XmBulletinBoard? XmScreen?
+		      XmDialogShell? XmDisplay? XmSelectionBox? XmDragContext? XmDragIconObjectClass? XmSeparator?
+		      XmDropSiteManager? XmDropTransfer? XmVendorShell? XmMessageBox? XmManager?
+		      XmMenuShell? XmLabelGadget? XmPushButtonGadget? XmSeparatorGadget? XmArrowButtonGadget?
+		      XmCascadeButtonGadget? XmToggleButtonGadget? XmDrawnButton? XmPrimitive?
+		      XmTextSource? 
+		      
+		      XButtonEvent? XCirculateEvent? XCirculateRequestEvent? XClientMessageEvent? XColormapEvent?
+		      XConfigureEvent? XConfigureRequestEvent? XCreateWindowEvent? XCrossingEvent? XDeleteProperty
+		      XDestroyWindowEvent? XErrorEvent? XExposeEvent? XFocusChangeEvent? XGraphicsExposeEvent? XGravityEvent?
+		      XIconSize? XKeyEvent? XKeymapEvent? XMapEvent? XMapRequestEvent? XMappingEvent? XMotionEvent?
+		      XNoExposeEvent? XPropertyEvent? XReparentEvent? XResizeRequestEvent? XSelectionClearEvent?
+		      XSelectionEvent? XSelectionRequestEvent? XSetWindowAttributes? XStandardColormap? XUnmapEvent? XVisibilityEvent?)))
+		(if (not (defined? 'XpmImage?))
+		    xm-procs-1
+		    (append xm-procs-1
+			    (list 
+			     XpmCreatePixmapFromData XpmCreateDataFromPixmap XpmReadFileToPixmap
+			     XpmReadPixmapFile XpmWriteFileFromPixmap XpmWritePixmapFile XpmCreatePixmapFromXpmImage
+			     XpmCreateXpmImageFromPixmap XpmAttributes? XpmImage? XpmColorSymbol?)))))
 			   
-	     (xm-procs0 (remove-if (lambda (n) (not (aritable? n 0))) xm-procs))
-	     (xm-procs1 (remove-if (lambda (n) (not (aritable? n 1))) xm-procs))
-	     (xm-procs2 (remove-if (lambda (n) (not (aritable? n 2))) xm-procs))
-	     (xm-procs3 (remove-if (lambda (n) (not (aritable? n 3))) xm-procs))
+	     (xm-procs0 (test-remove-if (lambda (n) (not (aritable? n 0))) xm-procs))
+	     (xm-procs1 (test-remove-if (lambda (n) (not (aritable? n 1))) xm-procs))
+	     (xm-procs2 (test-remove-if (lambda (n) (not (aritable? n 2))) xm-procs))
+	     (xm-procs3 (test-remove-if (lambda (n) (not (aritable? n 3))) xm-procs))
 	     )
 	
 	;; ---------------- 0 Args
@@ -45950,78 +45565,78 @@ EDITS: 1
 		   :channels -1 0 #f #t () #()))
 	    )
 	
-	(let* ((struct-accessors-1 
-		(list  .pixel .red .green .blue .flags .pad .x .y .width .height .angle1 .angle2 .ptr
-		       .x1 .y1 .x2 .y2 .dashes .dash_offset .clip_mask .clip_y_origin .clip_x_origin .graphics_exposures
-		       .subwindow_mode .font .ts_y_origin .ts_x_origin .stipple .tile .arc_mode .fill_rule .fill_style
-		       .join_style .cap_style .line_style .line_width .background .foreground .plane_mask .function .delta
-		       .nchars .chars .name .depth .visual .mwidth .mheight .ndepths .depths .root_depth .root_visual
-		       .default_gc .cmap .white_pixel .black_pixel .max_maps .min_maps .backing_store .save_unders .root_input_mask
-		       .lbearing .rbearing .ascent .descent .attributes .card32 .fid .properties .min_bounds .max_bounds .per_char
-		       .input .initial_state .icon_pixmap .icon_window .icon_x .icon_y .icon_mask .window_group .visualid
-		       .class  .red_mask .green_mask .blue_mask .bits_per_rgb .map_entries .nvisuals .visuals .bits_per_pixel
-		       .background_pixmap .background_pixel .border_pixmap .border_pixel .bit_gravity .win_gravity .backing_planes
-		       .backing_pixel .save_under .event_mask .do_not_propagate_mask .cursor .map_installed .map_state .all_event_masks
-		       .your_event_mask .screen .xoffset .byte_order .bitmap_unit .bitmap_bit_order .bitmap_pad .bytes_per_line
-		       .obdata .sibling .stack_mode .red_max .red_mult .green_max .green_mult .blue_max .blue_mult .base_pixel
-		       .killid .data .min_height .max_height .min_width .max_width .height_inc .width_inc .page_number
-		       .page_widget .status_area_widget .major_tab_widget .minor_tab_widget .source_data .location_data .parm
-		       .parm_format .parm_length .parm_type .transfer_id .destination_data .remaining .item_or_text .auto_selection_type
-		       .new_outline_state .prev_page_number .prev_page_widget .rendition .render_table 
+	(let ((struct-accessors
+	       (let ((struct-accessors-1 
+		      (list  .pixel .red .green .blue .flags .pad .x .y .width .height .angle1 .angle2 .ptr
+			     .x1 .y1 .x2 .y2 .dashes .dash_offset .clip_mask .clip_y_origin .clip_x_origin .graphics_exposures
+			     .subwindow_mode .font .ts_y_origin .ts_x_origin .stipple .tile .arc_mode .fill_rule .fill_style
+			     .join_style .cap_style .line_style .line_width .background .foreground .plane_mask .function .delta
+			     .nchars .chars .name .depth .visual .mwidth .mheight .ndepths .depths .root_depth .root_visual
+			     .default_gc .cmap .white_pixel .black_pixel .max_maps .min_maps .backing_store .save_unders .root_input_mask
+			     .lbearing .rbearing .ascent .descent .attributes .card32 .fid .properties .min_bounds .max_bounds .per_char
+			     .input .initial_state .icon_pixmap .icon_window .icon_x .icon_y .icon_mask .window_group .visualid
+			     .class  .red_mask .green_mask .blue_mask .bits_per_rgb .map_entries .nvisuals .visuals .bits_per_pixel
+			     .background_pixmap .background_pixel .border_pixmap .border_pixel .bit_gravity .win_gravity .backing_planes
+			     .backing_pixel .save_under .event_mask .do_not_propagate_mask .cursor .map_installed .map_state .all_event_masks
+			     .your_event_mask .screen .xoffset .byte_order .bitmap_unit .bitmap_bit_order .bitmap_pad .bytes_per_line
+			     .obdata .sibling .stack_mode .red_max .red_mult .green_max .green_mult .blue_max .blue_mult .base_pixel
+			     .killid .data .min_height .max_height .min_width .max_width .height_inc .width_inc .page_number
+			     .page_widget .status_area_widget .major_tab_widget .minor_tab_widget .source_data .location_data .parm
+			     .parm_format .parm_length .parm_type .transfer_id .destination_data .remaining .item_or_text .auto_selection_type
+			     .new_outline_state .prev_page_number .prev_page_widget .rendition .render_table 
 					;			    .last_page 
-		       .crossed_boundary
-		       .client_data .status .font_name .tag .traversal_destination .dragProtocolStyle .direction .reason
-		       .timeStamp .operation .operations .dropSiteStatus .dropAction .iccHandle .completionStatus .dragContext
-		       .animate .length .click_count .widget .item_position .callbackstruct
-		       .set .item .item_length .selected_items .selected_item_count .selected_item_positions .selection_type
-		       .mask .mask_length .dir .dir_length .pattern .pattern_length .position .currInsert .newInsert .startPos
-		       .endPos .text .request_code .error_code .first_keycode .request .resourceid .format .message_type .new
-		       .property .display .target .requestor .owner .selection .atom .place .value_mask .above .from_configure
-		       .event .override_redirect .border_width .parent .minor_code .major_code .drawable .count .key_vector .focus
-		       .detail .mode .is_hint .button .same_screen .keycode .state .y_root .x_root .root .time .subwindow .window
-		       .send_event .serial .type .value .doit .colormap .menuToPost .postIt))
-	       (struct-accessors (if (not (defined? 'XpmImage?))
-				     struct-accessors-1
-				     (append struct-accessors-1
-					     (list .valuemask .ncolors .cpp .numsymbols .colorsymbols .npixels 
-						   .y_hotspot .x_hotspot .colormap_size))))
-				     
-	       
-	       (struct-accessor-names-1
-		(list  '.pixel '.red '.green '.blue '.flags '.pad '.x '.y '.width '.height '.angle1 '.angle2 '.ptr
-		       '.x1 '.y1 '.x2 '.y2 '.dashes '.dash_offset '.clip_mask '.clip_y_origin '.clip_x_origin '.graphics_exposures
-		       '.subwindow_mode '.font '.ts_y_origin '.ts_x_origin '.stipple '.tile '.arc_mode '.fill_rule '.fill_style
-		       '.join_style '.cap_style '.line_style '.line_width '.background '.foreground '.plane_mask '.function '.delta
-		       '.nchars '.chars '.name '.depth '.visual '.mwidth '.mheight '.ndepths '.depths '.root_depth '.root_visual
-		       '.default_gc '.cmap '.white_pixel '.black_pixel '.max_maps '.min_maps '.backing_store '.save_unders '.root_input_mask
-		       '.lbearing '.rbearing '.ascent '.descent '.attributes '.card32 '.fid '.properties '.min_bounds '.max_bounds '.per_char
-		       '.input '.initial_state '.icon_pixmap '.icon_window '.icon_x '.icon_y '.icon_mask '.window_group '.visualid
-		       '.class  '.red_mask '.green_mask '.blue_mask '.bits_per_rgb '.map_entries '.nvisuals '.visuals '.bits_per_pixel
-		       '.background_pixmap '.background_pixel '.border_pixmap '.border_pixel '.bit_gravity '.win_gravity '.backing_planes
-		       '.backing_pixel '.save_under '.event_mask '.do_not_propagate_mask '.cursor '.map_installed '.map_state '.all_event_masks
-		       '.your_event_mask '.screen '.xoffset '.byte_order '.bitmap_unit '.bitmap_bit_order '.bitmap_pad '.bytes_per_line
-		       '.obdata '.sibling '.stack_mode '.red_max '.red_mult '.green_max '.green_mult '.blue_max '.blue_mult '.base_pixel
-		       '.killid '.data '.min_height '.max_height '.min_width '.max_width '.height_inc '.width_inc '.page_number
-		       '.page_widget '.status_area_widget '.major_tab_widget '.minor_tab_widget '.source_data '.location_data '.parm
-		       '.parm_format '.parm_length '.parm_type '.transfer_id '.destination_data '.remaining '.item_or_text '.auto_selection_type
-		       '.new_outline_state '.prev_page_number '.prev_page_widget '.rendition '.render_table 
+			     .crossed_boundary
+			     .client_data .status .font_name .tag .traversal_destination .dragProtocolStyle .direction .reason
+			     .timeStamp .operation .operations .dropSiteStatus .dropAction .iccHandle .completionStatus .dragContext
+			     .animate .length .click_count .widget .item_position .callbackstruct
+			     .set .item .item_length .selected_items .selected_item_count .selected_item_positions .selection_type
+			     .mask .mask_length .dir .dir_length .pattern .pattern_length .position .currInsert .newInsert .startPos
+			     .endPos .text .request_code .error_code .first_keycode .request .resourceid .format .message_type .new
+			     .property .display .target .requestor .owner .selection .atom .place .value_mask .above .from_configure
+			     .event .override_redirect .border_width .parent .minor_code .major_code .drawable .count .key_vector .focus
+			     .detail .mode .is_hint .button .same_screen .keycode .state .y_root .x_root .root .time .subwindow .window
+			     .send_event .serial .type .value .doit .colormap .menuToPost .postIt)))
+		 (if (not (defined? 'XpmImage?))
+		     struct-accessors-1
+		     (append struct-accessors-1
+			     (list .valuemask .ncolors .cpp .numsymbols .colorsymbols .npixels 
+				   .y_hotspot .x_hotspot .colormap_size)))))
+	       (struct-accessor-names 
+		(let ((struct-accessor-names-1
+		       (list  '.pixel '.red '.green '.blue '.flags '.pad '.x '.y '.width '.height '.angle1 '.angle2 '.ptr
+			      '.x1 '.y1 '.x2 '.y2 '.dashes '.dash_offset '.clip_mask '.clip_y_origin '.clip_x_origin '.graphics_exposures
+			      '.subwindow_mode '.font '.ts_y_origin '.ts_x_origin '.stipple '.tile '.arc_mode '.fill_rule '.fill_style
+			      '.join_style '.cap_style '.line_style '.line_width '.background '.foreground '.plane_mask '.function '.delta
+			      '.nchars '.chars '.name '.depth '.visual '.mwidth '.mheight '.ndepths '.depths '.root_depth '.root_visual
+			      '.default_gc '.cmap '.white_pixel '.black_pixel '.max_maps '.min_maps '.backing_store '.save_unders '.root_input_mask
+			      '.lbearing '.rbearing '.ascent '.descent '.attributes '.card32 '.fid '.properties '.min_bounds '.max_bounds '.per_char
+			      '.input '.initial_state '.icon_pixmap '.icon_window '.icon_x '.icon_y '.icon_mask '.window_group '.visualid
+			      '.class  '.red_mask '.green_mask '.blue_mask '.bits_per_rgb '.map_entries '.nvisuals '.visuals '.bits_per_pixel
+			      '.background_pixmap '.background_pixel '.border_pixmap '.border_pixel '.bit_gravity '.win_gravity '.backing_planes
+			      '.backing_pixel '.save_under '.event_mask '.do_not_propagate_mask '.cursor '.map_installed '.map_state '.all_event_masks
+			      '.your_event_mask '.screen '.xoffset '.byte_order '.bitmap_unit '.bitmap_bit_order '.bitmap_pad '.bytes_per_line
+			      '.obdata '.sibling '.stack_mode '.red_max '.red_mult '.green_max '.green_mult '.blue_max '.blue_mult '.base_pixel
+			      '.killid '.data '.min_height '.max_height '.min_width '.max_width '.height_inc '.width_inc '.page_number
+			      '.page_widget '.status_area_widget '.major_tab_widget '.minor_tab_widget '.source_data '.location_data '.parm
+			      '.parm_format '.parm_length '.parm_type '.transfer_id '.destination_data '.remaining '.item_or_text '.auto_selection_type
+			      '.new_outline_state '.prev_page_number '.prev_page_widget '.rendition '.render_table 
 					;			    '.last_page 
-		       '.crossed_boundary
-		       '.client_data '.status '.font_name '.tag '.traversal_destination '.dragProtocolStyle '.direction '.reason
-		       '.timeStamp '.operation '.operations '.dropSiteStatus '.dropAction '.iccHandle '.completionStatus '.dragContext
-		       '.animate '.length '.click_count '.widget '.item_position '.callbackstruct
-		       '.set '.item '.item_length '.selected_items '.selected_item_count '.selected_item_positions '.selection_type
-		       '.mask '.mask_length '.dir '.dir_length '.pattern '.pattern_length '.position '.currInsert '.newInsert '.startPos
-		       '.endPos '.text '.request_code '.error_code '.first_keycode '.request '.resourceid '.format '.message_type '.new
-		       '.property '.display '.target '.requestor '.owner '.selection '.atom '.place '.value_mask '.above '.from_configure
-		       '.event '.override_redirect '.border_width '.parent '.minor_code '.major_code '.drawable '.count '.key_vector '.focus
-		       '.detail '.mode '.is_hint '.button '.same_screen '.keycode '.state '.y_root '.x_root '.root '.time '.subwindow '.window
-		       '.send_event '.serial '.type '.value '.doit '.colormap '.menuToPost '.postIt))
-	       (struct-accessor-names (if (not (defined? 'XpmImage?))
-					  struct-accessor-names-1
-					  (append struct-accessor-names-1
-						  (list '.valuemask '.ncolors '.cpp
-							'.numsymbols '.colorsymbols '.npixels '.y_hotspot '.x_hotspot '.colormap_size))))
+			      '.crossed_boundary
+			      '.client_data '.status '.font_name '.tag '.traversal_destination '.dragProtocolStyle '.direction '.reason
+			      '.timeStamp '.operation '.operations '.dropSiteStatus '.dropAction '.iccHandle '.completionStatus '.dragContext
+			      '.animate '.length '.click_count '.widget '.item_position '.callbackstruct
+			      '.set '.item '.item_length '.selected_items '.selected_item_count '.selected_item_positions '.selection_type
+			      '.mask '.mask_length '.dir '.dir_length '.pattern '.pattern_length '.position '.currInsert '.newInsert '.startPos
+			      '.endPos '.text '.request_code '.error_code '.first_keycode '.request '.resourceid '.format '.message_type '.new
+			      '.property '.display '.target '.requestor '.owner '.selection '.atom '.place '.value_mask '.above '.from_configure
+			      '.event '.override_redirect '.border_width '.parent '.minor_code '.major_code '.drawable '.count '.key_vector '.focus
+			      '.detail '.mode '.is_hint '.button '.same_screen '.keycode '.state '.y_root '.x_root '.root '.time '.subwindow '.window
+			      '.send_event '.serial '.type '.value '.doit '.colormap '.menuToPost '.postIt)))
+		  (if (not (defined? 'XpmImage?))
+		      struct-accessor-names-1
+		      (append struct-accessor-names-1
+			      (list '.valuemask '.ncolors '.cpp
+				    '.numsymbols '.colorsymbols '.npixels '.y_hotspot '.x_hotspot '.colormap_size)))))
 
 	       (dpy (XtDisplay (cadr (main-widgets))))
 	       (win (XtWindow (cadr (main-widgets)))))
@@ -46230,15 +45845,6 @@ EDITS: 1
   (when with-gui ; to the end!
     (let* ((delay-32 (make-delay 32))
 	   (color-95 (make-color-with-catch .95 .95 .95))
-	   (vector-0 #())
-	   (str-3 "/hiho")
-	   (float-vector-3 (make-float-vector 3))
-	   (float-vector-5 (make-float-vector 5))
-	   (car-main (and with-gui (car (main-widgets))))
-	   (cadr-main (and with-gui (cadr (main-widgets))))
-	   (a-hook (make-hook 'a 'b))
-	   (exts (sound-file-extensions)) ; save across possible set below
-	   
 	   (procs (list 
 		   add-mark add-sound-file-extension add-source-file-extension sound-file-extensions sound-file? 
 		   add-to-main-menu add-to-menu add-transform amp-control ask-about-unsaved-edits
@@ -46431,37 +46037,44 @@ EDITS: 1
 		       phase-vocoder-amp-increments phase-vocoder-amps 
 		       phase-vocoder-freqs phase-vocoder-phase-increments phase-vocoder-phases 
 		       html-dir html-program mus-interp-type widget-position widget-size 
-		       mus-clipping mus-file-clipping mus-header-raw-defaults
-		       ))
-	   
-	   (make-procs (list
-			make-all-pass make-asymmetric-fm make-snd->sample make-moving-average make-moving-max make-moving-norm
-			make-comb make-filtered-comb make-convolve make-delay make-env make-fft-window make-file->frample
-			make-file->sample make-filter make-fir-filter make-formant make-firmant make-frample->file make-granulate
-			make-iir-filter make-locsig make-notch make-one-pole make-one-pole-all-pass make-one-zero make-oscil
-			make-pulse-train make-rand make-rand-interp make-readin make-sample->file make-sawtooth-wave
-			make-nrxysin make-nrxycos make-rxyk!cos make-rxyk!sin make-square-wave 
-			make-src make-ncos make-nsin make-table-lookup make-triangle-wave
-			make-two-pole make-two-zero make-wave-train make-phase-vocoder make-ssb-am make-polyshape make-polywave
-			make-color make-player make-region 
-			))
+		       mus-clipping mus-file-clipping mus-header-raw-defaults))
 	   
-	   (keyargs
-	    (list 
-	     :frequency :initial-phase :wave :cosines :amplitude :ratio :size :a0 :a1 :a2 :b1 :b2 :input 
-	     :srate :file :channel :start :initial-contents :initial-element :scaler :feedforward :feedback 
-	     :max-size :radius :gain :partials :r :a :n :fill-time :order :xcoeffs :ycoeffs :envelope 
-	     :base :duration :offset :end :direction :degree :distance :reverb :output :fft-size :expansion 
-	     :length :hop :ramp :jitter :type :format :comment :channels :filter :revout :width :edit 
-	     :synthesize :analyze :interp :overlap :pitch :distribution :sines :dur))
-	   
-	   (procs0 (remove-if (lambda (n) (not (and (procedure? n) (aritable? n 0)))) procs))
-	   (set-procs0 (remove-if (lambda (n) (not (and (procedure? n) (set-arity-ok n 1)))) set-procs))
-	   (procs1 (remove-if (lambda (n) (not (and (procedure? n) (aritable? n 1)))) procs))
-	   (set-procs1 (remove-if (lambda (n) (not (and (procedure? n) (set-arity-ok n 2)))) set-procs))
-	   (procs2 (remove-if (lambda (n) (not (and (procedure? n) (aritable? n 2)))) procs))
-	   (set-procs2 (remove-if (lambda (n) (not (and (procedure? n) (set-arity-ok n 3)))) set-procs))
-	   )
+	   (procs0 (test-remove-if (lambda (n) (not (and (procedure? n) (aritable? n 0)))) procs))
+	   (set-procs0 (test-remove-if (lambda (n) (not (and (procedure? n) (set-arity-ok n 1)))) set-procs))
+	   (procs1 (test-remove-if (lambda (n) (not (and (procedure? n) (aritable? n 1)))) procs))
+	   (set-procs1 (test-remove-if (lambda (n) (not (and (procedure? n) (set-arity-ok n 2)))) set-procs))
+	   (procs2 (test-remove-if (lambda (n) (not (and (procedure? n) (aritable? n 2)))) procs))
+	   (set-procs2 (test-remove-if (lambda (n) (not (and (procedure? n) (set-arity-ok n 3)))) set-procs)))
+
+      (let ((vector-0 #())
+	    (str-3 "/hiho")
+	    (float-vector-3 (make-float-vector 3))
+	    (float-vector-5 (make-float-vector 5))
+	    (car-main (and with-gui (car (main-widgets))))
+	    (cadr-main (and with-gui (cadr (main-widgets))))
+	    (a-hook (make-hook 'a 'b))
+	    (exts (sound-file-extensions)) ; save across possible set below
+	    
+	    (make-procs (list
+			 make-all-pass make-asymmetric-fm make-snd->sample make-moving-average make-moving-max make-moving-norm
+			 make-comb make-filtered-comb make-convolve make-delay make-env make-fft-window make-file->frample
+			 make-file->sample make-filter make-fir-filter make-formant make-firmant make-frample->file make-granulate
+			 make-iir-filter make-locsig make-notch make-one-pole make-one-pole-all-pass make-one-zero make-oscil
+			 make-pulse-train make-rand make-rand-interp make-readin make-sample->file make-sawtooth-wave
+			 make-nrxysin make-nrxycos make-rxyk!cos make-rxyk!sin make-square-wave 
+			 make-src make-ncos make-nsin make-table-lookup make-triangle-wave
+			 make-two-pole make-two-zero make-wave-train make-phase-vocoder make-ssb-am make-polyshape make-polywave
+			 make-color make-player make-region 
+			 ))
+	    
+	    (keyargs
+	     (list 
+	      :frequency :initial-phase :wave :cosines :amplitude :ratio :size :a0 :a1 :a2 :b1 :b2 :input 
+	      :srate :file :channel :start :initial-contents :initial-element :scaler :feedforward :feedback 
+	      :max-size :radius :gain :partials :r :a :n :fill-time :order :xcoeffs :ycoeffs :envelope 
+	      :base :duration :offset :end :direction :degree :distance :reverb :output :fft-size :expansion 
+	      :length :hop :ramp :jitter :type :format :comment :channels :filter :revout :width :edit 
+	      :synthesize :analyze :interp :overlap :pitch :distribution :sines :dur)))
       
       (reset-all-hooks)
       
@@ -46998,9 +46611,9 @@ EDITS: 1
 			    (snd-display ";[3]: mix procs ~A: ~A (~A)" b tag float-vector-5))))
 		    (list  mix-name mix-position mix-home mix-speed mix-tag-y)
 		    '(mix-name mix-position mix-home mix-speed mix-tag-y))
-	  (close-sound index))
-	(if (sound? (find-sound "oboe.snd"))
-	    (snd-display ";oboe.snd is still open?"))
+	  (close-sound index)
+	  (if (sound? (find-sound "oboe.snd"))
+	      (snd-display ";oboe.snd is still open? ~A ~A ~A" index (find-sound "oboe.snd") (sounds))))
 	
 	(for-each (lambda (n)
 		    (let ((tag
@@ -47096,170 +46709,261 @@ EDITS: 1
 	(set! *ask-about-unsaved-edits* #f)
 	(set! *remember-sound-state* #f)
 	(when (zero? test-errors) 
-	  (check-error-tag 'no-such-envelope (lambda () (set! (enved-envelope) "not-an-env")))
-	  (check-error-tag 'wrong-type-arg (lambda () (envelope-interp 1.0 '(0 0 .5))))
-	  (check-error-tag 'cannot-save (lambda () (save-envelopes "/bad/baddy")))
+	  (for-each (lambda (arg) 
+		      (check-error-tag 'no-such-key arg)) ; check-error-tag calls the function
+		    (vector   
+		     (lambda () (key-binding 12345678 0 #f)) 
+		     (lambda () (key-binding -1 0 #f)) 
+		     (lambda () (key-binding 12 17 #f)) 
+		     (lambda () (key-binding 12 -1 #f))
+		     (lambda () (key-binding 12345678 0)) 
+		     (lambda () (key-binding -1 0)) 
+		     (lambda () (key-binding 12 17)) 
+		     (lambda () (key-binding 12 -1))))
+	  (for-each (lambda (arg)
+		      (check-error-tag 'bad-arity arg))
+		    (vector (lambda () (add-colormap "baddy" (lambda () #f)))
+			    (lambda () (add-colormap "baddy" (lambda (a b c) #f)))
+			    (lambda () (add-to-main-menu "hi" (lambda (a b) #f)))
+			    (lambda () (add-to-menu 1 "hi" (lambda (a b) #f)))
+			    (lambda () (add-transform "hiho" "time" 0 1 (lambda () 1.0)))
+			    (lambda () (bind-key (char->integer #\p) 0 (lambda (a b) (play-often (max 1 a)))))
+			    (lambda () (set! (search-procedure) (lambda (a b c) a)))
+			    (lambda () (set! *zoom-focus-style* (lambda (a) 0)))))
+	  (for-each (lambda (arg)
+		      (check-error-tag 'bad-header arg))
+		    (vector (lambda () (file->array (string-append sf-dir "bad_chans.snd") 0 0 123 (make-float-vector 123)))
+			    (lambda () (make-readin (string-append sf-dir "bad_chans.snd")))
+			    (lambda () (mus-file-mix "oboe.snd" (string-append sf-dir "bad_chans.aifc")))
+			    (lambda () (mus-file-mix (string-append sf-dir "bad_chans.aifc") "oboe.snd"))
+			    (lambda () (mus-sound-maxamp (string-append sf-dir "bad_chans.snd")))
+			    (lambda () (new-sound "fmv.snd" 2 22050 mus-bfloat mus-nist "this is a comment"))
+			    (lambda () (new-sound "hiho" :header-type mus-nist :sample-type mus-bfloat))))
+	  (check-error-tag 'bad-type (lambda () (normalize-partials '(1 2 3))))
+	  (check-error-tag 'bad-type (lambda () (normalize-partials (float-vector 3))))
+	  (check-error-tag 'cannot-print graph->ps)
 	  (check-error-tag 'cannot-save (lambda () (mus-sound-report-cache "/bad/baddy")))
-	  (check-error-tag 'bad-arity (lambda () (set! (search-procedure) (lambda (a b c) a))))
-	  (check-error-tag 'no-such-channel (lambda () (make-sampler 0 "oboe.snd" 1)))
+	  (check-error-tag 'cannot-save (lambda () (save-envelopes "/bad/baddy")))
+	  (check-error-tag 'cannot-save (lambda () (save-state "/bad/baddy")))
+	  (for-each (lambda (arg)
+		      (check-error-tag 'mus-error arg))
+		    (vector (lambda () (make-filter :ycoeffs (make-float-vector 4) :order 12))
+			    (lambda () (make-fir-filter :coeffs (make-float-vector 4) :xcoeffs (make-float-vector 4)))
+			    (lambda () (make-granulate :expansion 32000.0))
+			    (lambda () (make-iir-filter 30 (make-float-vector 3)))
+			    (lambda () (make-iir-filter :coeffs (make-float-vector 4) :ycoeffs (make-float-vector 4)))
+			    (lambda () (make-iir-filter :order 32 :ycoeffs (make-float-vector 4)))
+			    (lambda () (make-locsig 1/0 :channels 2))
+			    (lambda () (make-rand :envelope '(0 0 1 1) :distribution (make-float-vector 10)))
+			    (lambda () (make-rand :envelope '(0 0 1)))
+			    (lambda () (mus-file-mix "oboe.snd" (string-append sf-dir "bad_length.aifc")))
+			    (lambda () (mus-sound-chans (string-append sf-dir "bad_field.nist")))
+			    (lambda () (mus-sound-chans (string-append sf-dir "bad_location.nist")))
+			    (lambda () (mus-xcoeff (make-filter 3 :xcoeffs float-vector-3 :ycoeffs float-vector-3) 4))
+			    (lambda () (mus-ycoeff (make-filter 3 :xcoeffs float-vector-3 :ycoeffs float-vector-3) 4))
+			    (lambda () (set! (mus-offset (make-oscil)) 1))
+			    (lambda () (set! (mus-xcoeff (make-filter 3 :xcoeffs float-vector-3 :ycoeffs float-vector-3) 4) 1.0))
+			    (lambda () (set! (mus-ycoeff (make-filter 3 :xcoeffs float-vector-3 :ycoeffs float-vector-3) 4) 1.0))))
+	  (check-error-tag 'no-data (lambda () (make-polyshape 440.0 :partials (float-vector 1 1 -2 1))))
+	  (check-error-tag 'no-data (lambda () (make-polyshape 440.0 :partials (list 1 1 -2 1))))
+	  (check-error-tag 'no-data (lambda () (make-polyshape 440.0 :partials (list))))
 	  (check-error-tag 'no-such-channel (lambda () (make-sampler 0 "oboe.snd" -1)))
-	  (check-error-tag 'bad-arity (lambda () (bind-key (char->integer #\p) 0 (lambda (a b) (play-often (max 1 a))))))
-	  (check-error-tag 'bad-arity (lambda () (set! *zoom-focus-style* (lambda (a) 0))))
-	  (check-error-tag 'bad-header (lambda () (mus-file-mix "oboe.snd" (string-append sf-dir "bad_chans.aifc"))))
-	  (check-error-tag 'mus-error (lambda () (mus-file-mix "oboe.snd" (string-append sf-dir "bad_length.aifc"))))
-	  (check-error-tag 'bad-header (lambda () (mus-file-mix (string-append sf-dir "bad_chans.aifc") "oboe.snd")))
-	  (check-error-tag 'no-such-sound (lambda () (set! (sound-loop-info 123) '(0 0 1 1))))
-	  (check-error-tag 'bad-header (lambda () (new-sound "fmv.snd" 2 22050 mus-bfloat mus-nist "this is a comment")))
-	  (check-error-tag 'wrong-type-arg (lambda () (player-home 123)))
-	  (check-error-tag 'no-such-file (lambda () (set! *temp-dir* "/hiho")))
-	  (check-error-tag 'no-such-file (lambda () (set! *save-dir* "/hiho")))
-	  (check-error-tag 'out-of-range (lambda () (snd-transform (integer->transform 20) (make-float-vector 4))))
-	  (check-error-tag 'bad-header (lambda () (mus-sound-maxamp (string-append sf-dir "bad_chans.snd"))))
-	  (check-error-tag 'mus-error (lambda () (make-iir-filter :order 32 :ycoeffs (make-float-vector 4))))
-	  (check-error-tag 'mus-error (lambda () (make-iir-filter :coeffs (make-float-vector 4) :ycoeffs (make-float-vector 4))))
-	  (check-error-tag 'mus-error (lambda () (make-fir-filter :coeffs (make-float-vector 4) :xcoeffs (make-float-vector 4))))
-	  (check-error-tag 'out-of-range (lambda () (make-table-lookup :size 123456789)))
-					;		(check-error-tag 'out-of-range (lambda () (make-src :srate -0.5)))
-	  (check-error-tag 'out-of-range (lambda () (make-granulate :ramp -0.5)))
-	  (check-error-tag 'out-of-range (lambda () (make-granulate :ramp 1.5)))
-	  (check-error-tag 'mus-error (lambda () (make-granulate :expansion 32000.0)))
-	  (check-error-tag 'out-of-range (lambda () (new-sound "test.snd" :channels 0)))
-	  (check-error-tag 'out-of-range (lambda () (new-sound "test.snd" :srate 0)))
-	  (check-error-tag 'out-of-range (lambda () (new-sound "test.snd" :size -1)))
-	  (check-error-tag 'out-of-range (lambda () (make-readin "oboe.snd" :size 0)))
-	  (check-error-tag 'out-of-range (lambda () (make-readin "oboe.snd" :size -1)))
-	  (check-error-tag 'out-of-range (lambda () (make-file->sample "oboe.snd" 0)))
-	  (check-error-tag 'out-of-range (lambda () (make-file->sample "oboe.snd" -1)))
-	  (check-error-tag 'out-of-range (lambda () (make-file->frample "oboe.snd" 0)))
-	  (check-error-tag 'out-of-range (lambda () (make-file->frample "oboe.snd" -1)))
-	  (check-error-tag 'out-of-range (lambda () (set! *default-output-sample-type* -1)))
-	  (check-error-tag 'out-of-range (lambda () (set! *default-output-header-type* mus-soundfont)))
-	  (check-error-tag 'mus-error (lambda () (mus-sound-chans (string-append sf-dir "bad_location.nist"))))
-	  (check-error-tag 'mus-error (lambda () (mus-sound-chans (string-append sf-dir "bad_field.nist"))))
-	  (check-error-tag 'mus-error (lambda () (make-locsig 1/0 :channels 2)))
-	  (when (provided? 'snd-motif)
-	    (check-error-tag 'no-such-widget (lambda () (widget-position '(Widget 0)))) ; dubious -- not sure these should be supported
-	    (check-error-tag 'no-such-widget (lambda () (widget-size '(Widget 0))))
-	    (check-error-tag 'no-such-widget (lambda () (widget-text '(Widget 0))))
-	    (check-error-tag 'no-such-widget (lambda () (set! (widget-position '(Widget 0)) (list 0 0))))
-	    (check-error-tag 'no-such-widget (lambda () (set! (widget-size '(Widget 0)) (list 10 10))))
-	    (check-error-tag 'no-such-widget (lambda () (set! (widget-text '(Widget 0)) "hiho"))))
+	  (check-error-tag 'no-such-channel (lambda () (make-sampler 0 "oboe.snd" 1)))
+	  (check-error-tag 'no-such-envelope (lambda () (set! (enved-envelope) "not-an-env")))
+	  (for-each (lambda (arg)
+		      (check-error-tag 'no-such-file arg))
+		    (vector (lambda () (make-sampler 0 "/bad/baddy.snd"))
+			    (lambda () (open-raw-sound "/bad/baddy.snd" 1 22050 mus-lshort))
+			    (lambda () (open-sound "/bad/baddy.snd"))
+			    (lambda () (set! *save-dir* "/hiho"))
+			    (lambda () (set! *temp-dir* "/hiho"))
+			    (lambda () (view-sound "/bad/baddy.snd"))))
+	  (check-error-tag 'no-such-menu (lambda () (add-to-menu 1234 "hi" (lambda () #f))))
 	  (check-error-tag 'no-such-menu (lambda () (main-menu -1)))
 	  (check-error-tag 'no-such-menu (lambda () (main-menu 111)))
-	  (check-error-tag 'out-of-range (lambda () (new-sound "hiho" :header-type 123)))
-	  (check-error-tag 'out-of-range (lambda () (new-sound "hiho" :header-type mus-nist :sample-type 123)))
-	  (check-error-tag 'bad-header (lambda () (new-sound "hiho" :header-type mus-nist :sample-type mus-bfloat)))
-	  (check-error-tag 'out-of-range (lambda () (set! *mus-array-print-length* -1)))
-	  (check-error-tag 'out-of-range (lambda () (set! *print-length* -1)))
-	  (check-error-tag 'out-of-range (lambda () (set! *play-arrow-size* -1)))
-	  (check-error-tag 'out-of-range (lambda () (set! *enved-style* 12)))
-	  (check-error-tag 'out-of-range (lambda () (make-color 1.5 0.0 0.0)))
-	  (check-error-tag 'out-of-range (lambda () (make-color -0.5 0.0 0.0)))
-	  (check-error-tag 'wrong-type-arg (lambda () (make-variable-graph #f)))
-	  (check-error-tag 'cannot-print graph->ps)
+	  (check-error-tag 'no-such-mix (lambda () (mix-properties (integer->mix (+ 1 (mix-sync-max))))))
+	  (check-error-tag 'no-such-mix (lambda () (set! (mix-properties (integer->mix (+ 1 (mix-sync-max)))) '(a 1))))
+	  (check-error-tag 'no-such-region (lambda () (make-region-sampler (integer->region 1234567) 0)))
+	  (check-error-tag 'no-such-sound (lambda () (edit-header-dialog 1234)))
+	  (check-error-tag 'no-such-sound (lambda () (set! (sound-loop-info 123) '(0 0 1 1))))
+	  (for-each (lambda (arg)
+		      (check-error-tag 'out-of-range arg))
+		    (vector (lambda () (dot-product (make-float-vector 3) (make-float-vector 3) -1))
+			    (lambda () (make-color -0.5 0.0 0.0))
+			    (lambda () (make-color 1.5 0.0 0.0))
+			    (lambda () (make-delay 3 :initial-element 0.0 :initial-contents (float-vector .1 .2 .3)))
+			    (lambda () (make-delay 3 :max-size 100 :initial-contents (float-vector .1 .2 .3)))
+			    (lambda () (make-file->frample "oboe.snd" -1))
+			    (lambda () (make-file->frample "oboe.snd" 0))
+			    (lambda () (make-file->sample "oboe.snd" -1))
+			    (lambda () (make-file->sample "oboe.snd" 0))
+			    (lambda () (make-granulate :ramp -0.5))
+			    (lambda () (make-granulate :ramp 1.5))
+			    (lambda () (make-locsig :channels (expt 2 30)))
+			    (lambda () (make-polyshape 440.0 :partials '(1 1) :kind -1))
+			    (lambda () (make-polyshape 440.0 :partials '(1 1) :kind 3))
+			    (lambda () (make-rand :envelope '(0 0 1 1) :size -2))
+			    (lambda () (make-rand :envelope '(0 0 1 1) :size 1234567890))
+			    (lambda () (make-readin "oboe.snd" :size -1))
+			    (lambda () (make-readin "oboe.snd" :size 0))
+			    (lambda () (make-src :width 3000))
+			    (lambda () (make-ssb-am 100 12345678))
+			    (lambda () (make-table-lookup :size 100 :wave (make-float-vector 3)))
+			    (lambda () (make-table-lookup :size 123456789))
+			    (lambda () (make-wave-train :size (expt 2 30)))
+			    (lambda () (make-wave-train :size 100 :wave (make-float-vector 3)))
+			    (lambda () (new-sound "hiho" :header-type 123))
+			    (lambda () (new-sound "hiho" :header-type mus-nist :sample-type 123))
+			    (lambda () (new-sound "test.snd" :channels 0))
+			    (lambda () (new-sound "test.snd" :size -1))
+			    (lambda () (new-sound "test.snd" :srate 0))
+			    (lambda () (partials->polynomial '(1 1) -1))
+			    (lambda () (partials->polynomial '(1 1) 3))
+			    (lambda () (set! *clm-srate* -1000))
+			    (lambda () (set! *clm-srate* 0.0))
+			    (lambda () (set! *default-output-header-type* mus-soundfont))
+			    (lambda () (set! *default-output-sample-type* -1))
+			    (lambda () (set! *enved-style* 12))
+			    (lambda () (set! *mus-array-print-length* -1))
+			    (lambda () (set! *play-arrow-size* -1))
+			    (lambda () (set! *print-length* -1))
+			    (lambda () (set! *transform-type* (integer->transform 123)))
+			    (lambda () (snd-transform (integer->transform 20) (make-float-vector 4)))
+			    (lambda () (src (make-src :input (lambda (dir) 1.0)) 2000000.0))))
+	  (for-each (lambda (arg)
+		      (check-error-tag 'wrong-type-arg arg))
+		    (vector (lambda () (envelope-interp 1.0 '(0 0 .5)))
+			    (lambda () (help-dialog (list 0 1) "hiho"))
+			    (lambda () (info-dialog (list 0 1) "hiho"))
+			    (lambda () (make-variable-graph #f))
+			    (lambda () (normalize-partials ()))
+			    (lambda () (normalize-partials 32))
+			    (lambda () (player-home 123))
+			    (lambda () (set! (mus-header-raw-defaults) (list 44100 2.123 "hi")))
+			    (lambda () (set! (mus-header-raw-defaults) 1234))
+			    (lambda () (set! *ask-about-unsaved-edits* 123))
+			    (lambda () (set! *save-as-dialog-auto-comment* 123))
+			    (lambda () (set! *save-as-dialog-src* 123))
+			    (lambda () (set! *transform-type* (integer->transform -1)))
+			    (lambda () (set! *with-menu-icons* 123))
+			    (lambda () (set! *with-smpte-label* 123))
+			    (lambda () (set! *with-toolbar* 123))
+			    (lambda () (set! *with-tooltips* 123))))
+
+	  (when (provided? 'snd-motif)
+	    (for-each (lambda (arg)
+			(check-error-tag 'no-such-widget arg))
+		      (vector (lambda () (widget-position '(Widget 0)))
+			      (lambda () (widget-size '(Widget 0)))
+			      (lambda () (widget-text '(Widget 0)))
+			      (lambda () (set! (widget-position '(Widget 0)) (list 0 0)))
+			      (lambda () (set! (widget-size '(Widget 0)) (list 10 10)))
+			      (lambda () (set! (widget-text '(Widget 0)) "hiho")))))
 	  (let ((ind (open-sound "oboe.snd"))) 
 	    (set! *selection-creates-region* #t)
 	    (select-all)
-	    (check-error-tag 'mus-error (lambda () (save-selection "sel0.snd" :not-a-key 3)))
-	    (check-error-tag 'wrong-type-arg (lambda () (read-only (list ind))))
-	    (check-error-tag 'wrong-type-arg (lambda () (framples ind '(0))))
-	    (check-error-tag 'wrong-type-arg (lambda () (smooth-sound 0 -10)))
-	    (check-error-tag 'no-such-channel (lambda () (mix-selection 0 ind 123)))
-	    (check-error-tag 'no-such-channel (lambda () (insert-selection 0 ind 123)))
-	    (check-error-tag 'out-of-range (lambda () (set! (channels ind) 0)))
-	    (check-error-tag 'wrong-type-arg (lambda () (set! (channels ind) -1)))
-	    (check-error-tag 'out-of-range (lambda () (set! (channels ind) 12340)))
-	    (check-error-tag 'out-of-range (lambda () (set! (sample-type ind) 12340)))
-	    (check-error-tag 'out-of-range (lambda () (set! (header-type ind) 12340)))
-	    (check-error-tag 'out-of-range (lambda () (set! (srate ind) 0)))
-	    (check-error-tag 'wrong-type-arg (lambda () (set! (data-location ind) -1)))
-	    (check-error-tag 'wrong-type-arg (lambda () (set! (data-size ind) -1)))
-	    (check-error-tag 'no-such-sample (lambda () (set! (sample -1) -1)))
-	    (check-error-tag 'no-such-sample (lambda () (sample -1)))
-	    (check-error-tag 'out-of-range (lambda () (set! (framples) -10)))
-	    (check-error-tag 'out-of-range (lambda () (set! *min-dB* 0.0)))
-	    (check-error-tag 'out-of-range (lambda () (set! (min-dB ind 0) 0.0)))
-	    (check-error-tag 'out-of-range (lambda () (start-playing 1 -22)))
-	    (check-error-tag 'out-of-range (lambda () (start-playing 1 0)))
-	    (check-error-tag 'out-of-range (lambda () (set! (filter-control-envelope ind) (list 0.0 1.0 0.1 -0.1 1.0 0.0))))
-	    (check-error-tag 'out-of-range (lambda () (set! (filter-control-envelope ind) (list 0.0 1.0 0.1 1.1 1.0 0.0))))
-	    (check-error-tag 'env-error (lambda () (filter-sound '(0 0 .1 .1 .05 .1 1 1) 32)))
-	    (check-error-tag 'out-of-range (lambda () (apply-controls ind 123)))
-	    (check-error-tag 'out-of-range (lambda () (set! (speed-control-bounds) (list 0.0 2.0))))
-	    (check-error-tag 'out-of-range (lambda () (set! (expand-control-bounds) (list 0.0 2.0))))
-	    (check-error-tag 'out-of-range (lambda () (set! (speed-control-bounds) (list 2.0 0.0))))
-	    (check-error-tag 'out-of-range (lambda () (set! (expand-control-bounds) (list 2.0 0.0))))
-	    (check-error-tag 'bad-header (lambda () (insert-sound (string-append sf-dir "bad_chans.snd"))))
 	    (check-error-tag 'IO-error (lambda () (convolve-with (string-append sf-dir "bad_chans.snd"))))
-	    (check-error-tag 'cannot-save (lambda () (save-sound-as "hiho.snd" ind -12)))
-	    (check-error-tag 'cannot-save (lambda () (save-sound-as "hiho.snd" ind :header-type mus-next :sample-type -12)))
-	    (check-error-tag 'cannot-save (lambda () (save-sound-as "test.snd" ind :header-type mus-nist :sample-type mus-bdouble)))
-	    (check-error-tag 'cannot-save (lambda () (save-sound-as "test.snd" ind :header-type mus-aifc :sample-type mus-lfloat)))
-	    (check-error-tag 'cannot-save (lambda () (save-sound-as "test.snd" ind :header-type mus-riff :sample-type mus-bshort)))
-	    (check-error-tag 'cannot-save (lambda () (save-sound-as "test.snd" ind :header-type mus-voc :sample-type mus-bshort)))
-	    (check-error-tag 'cannot-save (lambda () (save-selection "test.snd" 22050 mus-bshort mus-riff)))
-	    (check-error-tag 'cannot-save (lambda () (save-selection "test.snd" 22050 mus-bshort mus-voc)))
-	    (check-error-tag 'out-of-range (lambda () (src-channel (make-env '(0 0 1 1) :length 11))))
-	    (check-error-tag 'out-of-range (lambda () (src-channel (make-env '(0 1 1 0) :length 11))))
-	    (check-error-tag 'out-of-range (lambda () (src-channel (make-env '(0 1 1 -1) :length 11))))
-	    (check-error-tag 'out-of-range (lambda () (src-channel (make-env '(0 -1 1 1) :length 11))))
-	    (check-error-tag 'out-of-range (lambda () (src-sound (make-env '(0 0 1 1) :length 11))))
-	    (check-error-tag 'out-of-range (lambda () (src-sound (make-env '(0 1 1 0) :length 11))))
-	    (check-error-tag 'out-of-range (lambda () (src-sound (make-env '(0 1 1 -1) :length 11))))
-	    (check-error-tag 'out-of-range (lambda () (src-sound (make-env '(0 -1 1 1) :length 11))))
-	    (check-error-tag 'mus-error (lambda () (make-readin 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
-	    (check-error-tag 'out-of-range (lambda () (filter-sound float-vector-3 32)))
-	    (check-error-tag 'out-of-range (lambda () (filter-sound '(0 0 1 1) 0)))
-	    (check-error-tag 'no-such-sound (lambda () (swap-channels ind 0 12345 0)))
-	    (check-error-tag 'no-such-sample (lambda () (mix-float-vector (float-vector 0.1 0.2 0.3) -1 ind 0 #t)))
-	    (check-error-tag 'out-of-range (lambda () (snd-spectrum (make-float-vector 8) 0 -123)))
-	    (check-error-tag 'out-of-range (lambda () (snd-spectrum (make-float-vector 8) 0 0)))
-	    (check-error-tag 'no-such-file (lambda () (play "/baddy/hiho")))
+	    (check-error-tag 'bad-arity (lambda () (map-channel (lambda (a b c) 1.0))))
+	    (check-error-tag 'bad-arity (lambda () (scan-channel (lambda (a b c) 1.0))))
+	    (check-error-tag 'bad-arity (lambda () (set! (cursor-style ind 0) (lambda (a) 32))))
+	    (check-error-tag 'bad-arity (lambda () (set! (search-procedure) (lambda (a b c) #t))))
+	    (check-error-tag 'bad-header (lambda () (insert-sound (string-append sf-dir "bad_chans.snd"))))
 	    (check-error-tag 'bad-sample-type (lambda () (play (string-append sf-dir "nist-shortpack.wav"))))
-					;		  (check-error-tag 'no-such-channel (lambda () (play ind 0 :channel 123)))
+	    (for-each (lambda (arg)
+			(check-error-tag 'cannot-save arg))
+		      (vector (lambda () (save-selection "test.snd" 22050 mus-bshort mus-riff))
+			      (lambda () (save-selection "test.snd" 22050 mus-bshort mus-voc))
+			      (lambda () (save-sound-as "hiho.snd" ind -12))
+			      (lambda () (save-sound-as "hiho.snd" ind :header-type mus-next :sample-type -12))
+			      (lambda () (save-sound-as "test.snd" ind :header-type mus-aifc :sample-type mus-lfloat))
+			      (lambda () (save-sound-as "test.snd" ind :header-type mus-nist :sample-type mus-bdouble))
+			      (lambda () (save-sound-as "test.snd" ind :header-type mus-riff :sample-type mus-bshort))
+			      (lambda () (save-sound-as "test.snd" ind :header-type mus-voc :sample-type mus-bshort))))
+	    (check-error-tag 'env-error (lambda () (filter-sound '(0 0 .1 .1 .05 .1 1 1) 32)))
+	    (check-error-tag 'mus-error (lambda () (make-readin 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
+	    (check-error-tag 'mus-error (lambda () (save-selection "sel0.snd" :not-a-key 3)))
+	    (check-error-tag 'no-data (lambda () (set! (filter-control-envelope ind) ())))
+	    (for-each (lambda (arg)
+			(check-error-tag 'no-such-axis arg))
+		      (vector (lambda () (axis-info ind 0 1234))
+			      (lambda () (position->x 100 ind 0 1234))
+			      (lambda () (position->y 100 ind 0 1234))
+			      (lambda () (x->position 100 ind 0 1234))
+			      (lambda () (y->position 100 ind 0 1234))))
+	    (check-error-tag 'no-such-channel (lambda () (axis-info ind 1234)))
+	    (check-error-tag 'no-such-channel (lambda () (insert-selection 0 ind 123)))
 	    (check-error-tag 'no-such-channel (lambda () (make-player ind 123)))
-	    (check-error-tag 'no-such-file (lambda () (mix "/baddy/hiho")))
 	    (check-error-tag 'no-such-channel (lambda () (mix "oboe.snd" 0 2)))
-	    (check-error-tag 'no-such-file (lambda () (mix-sound "/baddy/hiho" 0)))
-	    (check-error-tag 'no-such-file (lambda () (insert-sound "/baddy/hiho.snd")))
-	    (check-error-tag 'no-such-file (lambda () (insert-samples 0 10 "/baddy/hiho.snd")))
-	    (check-error-tag 'no-data (lambda () (set! (filter-control-envelope ind) ())))
-	    (check-error-tag 'out-of-range (lambda () (set! (sample-type ind) 123)))
-	    (check-error-tag 'out-of-range (lambda () (set! (header-type ind) 123)))
+	    (check-error-tag 'no-such-channel (lambda () (mix-selection 0 ind 123)))
 	    (check-error-tag 'no-such-channel (lambda () (set! (selected-channel ind) 123)))
-	    (check-error-tag 'bad-arity (lambda () (set! (search-procedure) (lambda (a b c) #t))))
-	    (check-error-tag 'bad-arity (lambda () (map-channel (lambda (a b c) 1.0))))
-	    (check-error-tag 'bad-arity (lambda () (scan-channel (lambda (a b c) 1.0))))
-	    (check-error-tag 'bad-arity (lambda () (set! (cursor-style ind 0) (lambda (a) 32))))
+	    (check-error-tag 'no-such-file (lambda () (insert-samples 0 10 "/baddy/hiho.snd")))
+	    (check-error-tag 'no-such-file (lambda () (insert-sound "/baddy/hiho.snd")))
+	    (check-error-tag 'no-such-file (lambda () (mix "/baddy/hiho")))
+	    (check-error-tag 'no-such-file (lambda () (mix-sound "/baddy/hiho" 0)))
+	    (check-error-tag 'no-such-file (lambda () (play "/baddy/hiho")))
+	    (check-error-tag 'no-such-graphics-context (lambda () (current-font ind 0 1234)))
 	    (check-error-tag 'no-such-graphics-context (lambda () (draw-line 0 0 1 1 ind 0 1234)))
 	    (check-error-tag 'no-such-graphics-context (lambda () (foreground-color ind 0 1234)))
-	    (check-error-tag 'no-such-graphics-context (lambda () (current-font ind 0 1234)))
 	    (check-error-tag 'no-such-graphics-context (lambda () (graph-data (list float-vector-3 float-vector-3) ind 0 1234 0 1 0)))
-	    (check-error-tag 'no-such-axis (lambda () (position->x 100 ind 0 1234)))
-	    (check-error-tag 'no-such-axis (lambda () (position->y 100 ind 0 1234)))
-	    (check-error-tag 'no-such-axis (lambda () (x->position 100 ind 0 1234)))
-	    (check-error-tag 'no-such-axis (lambda () (y->position 100 ind 0 1234)))
-	    (check-error-tag 'no-such-axis (lambda () (axis-info ind 0 1234)))
-	    (check-error-tag 'out-of-range (lambda () (draw-axes (car (channel-widgets)) (car (snd-gcs)) "hiho" 0.0 1.0 -1.0 1.0 x-axis-in-seconds 1234)))
-	    (check-error-tag 'out-of-range (lambda () (draw-axes (car (channel-widgets)) (car (snd-gcs)) "hiho" 0.0 1.0 -1.0 1.0 1234)))
-	    (check-error-tag 'no-such-channel (lambda () (axis-info ind 1234)))
+	    (check-error-tag 'no-such-sample (lambda () (mix-float-vector (float-vector 0.1 0.2 0.3) -1 ind 0 #t)))
+	    (check-error-tag 'no-such-sample (lambda () (sample -1)))
+	    (check-error-tag 'no-such-sample (lambda () (set! (sample -1) -1)))
 	    (check-error-tag 'no-such-sound (lambda () (axis-info 1234)))
+	    (check-error-tag 'no-such-sound (lambda () (swap-channels ind 0 12345 0)))
+	    (for-each (lambda (arg)
+			(check-error-tag 'out-of-range arg))
+		      (vector (lambda () (apply-controls ind 123))
+			      (lambda () (draw-axes (car (channel-widgets)) (car (snd-gcs)) "hiho" 0.0 1.0 -1.0 1.0 1234))
+			      (lambda () (draw-axes (car (channel-widgets)) (car (snd-gcs)) "hiho" 0.0 1.0 -1.0 1.0 x-axis-in-seconds 1234))
+			      (lambda () (filter-sound '(0 0 1 1) 0))
+			      (lambda () (filter-sound float-vector-3 32))
+			      (lambda () (set! (channels ind) 0))
+			      (lambda () (set! (channels ind) 12340))
+			      (lambda () (set! (expand-control-bounds) (list 0.0 2.0)))
+			      (lambda () (set! (expand-control-bounds) (list 2.0 0.0)))
+			      (lambda () (set! (filter-control-envelope ind) (list 0.0 1.0 0.1 -0.1 1.0 0.0)))
+			      (lambda () (set! (filter-control-envelope ind) (list 0.0 1.0 0.1 1.1 1.0 0.0)))
+			      (lambda () (set! (framples) -10))
+			      (lambda () (set! (header-type ind) 123))
+			      (lambda () (set! (header-type ind) 12340))
+			      (lambda () (set! (min-dB ind 0) 0.0))
+			      (lambda () (set! (sample-type ind) 123))
+			      (lambda () (set! (sample-type ind) 12340))
+			      (lambda () (set! (speed-control-bounds) (list 0.0 2.0)))
+			      (lambda () (set! (speed-control-bounds) (list 2.0 0.0)))
+			      (lambda () (set! (srate ind) 0))
+			      (lambda () (set! *min-dB* 0.0))
+			      (lambda () (snd-spectrum (make-float-vector 8) 0 -123))
+			      (lambda () (snd-spectrum (make-float-vector 8) 0 0))
+			      (lambda () (src-channel (make-env '(0 -1 1 1) :length 11)))
+			      (lambda () (src-channel (make-env '(0 0 1 1) :length 11)))
+			      (lambda () (src-channel (make-env '(0 1 1 -1) :length 11)))
+			      (lambda () (src-channel (make-env '(0 1 1 0) :length 11)))
+			      (lambda () (src-sound (make-env '(0 -1 1 1) :length 11)))
+			      (lambda () (src-sound (make-env '(0 0 1 1) :length 11)))
+			      (lambda () (src-sound (make-env '(0 1 1 -1) :length 11)))
+			      (lambda () (src-sound (make-env '(0 1 1 0) :length 11)))
+			      (lambda () (start-playing 1 -22))
+			      (lambda () (start-playing 1 0))))
+	    (for-each (lambda (arg)
+			(check-error-tag 'wrong-type-arg arg))
+		      (vector (lambda () (framples ind '(0)))
+			      (lambda () (read-only (list ind)))
+			      (lambda () (set! (channels ind) -1))
+			      (lambda () (set! (data-location ind) -1))
+			      (lambda () (set! (data-size ind) -1))
+			      (lambda () (smooth-sound 0 -10))))
 	    (set! *time-graph-type* graph-once)
-					;		  (check-error-tag 'out-of-range (lambda () (set! (x-bounds) (list 0 0))))
 	    (check-error-tag 'out-of-range (lambda () (set! (x-bounds) (list .1 -.1))))
-					;		  (check-error-tag 'out-of-range (lambda () (set! (y-bounds) (list .2 .1))))
 	    (check-error-tag 'out-of-range (lambda () (make-region 100 0)))
 	    (check-error-tag 'no-such-sample (lambda () (delete-sample -1)))
 	    (check-error-tag 'no-such-sample (lambda () (delete-sample (* 2 (framples ind)))))
 	    (check-error-tag 'no-such-file (lambda () (play "/bad/baddy.snd")))
 	    (check-error-tag 'no-such-sound (lambda () (play 1234 0)))
-					;		  (check-error-tag 'no-such-channel (lambda () (play ind 0 :channel 1234)))
 	    (if (null? (regions)) (make-region 0 100))
 	    (check-error-tag 'no-such-channel (lambda () (region-sample (car (regions)) 0 1234)))
 	    (check-error-tag 'no-such-channel (lambda () (region-framples (car (regions)) 1234)))
 	    (check-error-tag 'no-such-channel (lambda () (region-position (car (regions)) 1234)))
-					;		  (check-error-tag 'no-such-region (lambda () (region->float-vector #f 0 1)))
-					;		  (check-error-tag 'no-such-channel (lambda () (region->float-vector (car regions) 0 1 1234)))
 	    (check-error-tag 'cannot-save (lambda () (save-sound-as "/bad/baddy.snd")))
 	    (check-error-tag 'no-such-sound (lambda () (transform-sample 0 1 1234)))
 	    (check-error-tag 'no-such-channel (lambda () (transform-sample 0 1 ind 1234)))
@@ -47276,133 +46980,59 @@ EDITS: 1
 	    (check-error-tag 'no-such-mix (lambda () (make-mix-sampler (integer->mix 1234))))
 	    (check-error-tag 'no-such-sound (lambda () (make-region 0 12 1234 #t)))
 	    (set! (read-only ind) #t)
+	    (check-error-tag 'bad-arity (lambda () (play (selected-sound) 0 :stop (lambda () #f))))
 	    (check-error-tag 'cannot-save (lambda () (set! (sound-loop-info ind) '(0 0 1 1))))
-	    (check-error-tag 'no-such-direction (lambda () (make-sampler 0 ind 0 123)))
-	    (check-error-tag 'no-such-direction (lambda () (make-sampler 0 ind 0 0)))
-	    (check-error-tag 'no-such-direction (lambda () (make-sampler 0 ind 0 -2)))
 	    (check-error-tag 'no-data (lambda () (scale-by ())))
 	    (check-error-tag 'no-data (lambda () (scale-to ())))
-	    (check-error-tag 'no-such-sample (lambda () (set! (selection-position ind 0) -999)))
-	    (check-error-tag 'wrong-type-arg (lambda () (set! (selection-framples ind 0) -999)))
-	    (check-error-tag 'wrong-type-arg (lambda () (set! (selection-framples ind 0) 0)))
-	    (check-error-tag 'no-such-edit (lambda () (edit-fragment -1)))
-	    (check-error-tag 'no-such-edit (lambda () (edit-fragment 101 ind 0)))
-	    (check-error-tag 'no-such-edit (lambda () (edit-tree ind 0 -2)))
-	    (check-error-tag 'no-such-edit (lambda () (edit-tree ind 0 101)))
-	    (check-error-tag 'no-such-sample (lambda () (add-mark -1)))
-	    (check-error-tag 'no-such-sample (lambda () (add-mark (* 2 (framples)))))
+	    (check-error-tag 'no-such-auto-delete-choice (lambda () (insert-sound "1a.snd" 0 0 ind 0 0 123)))
+	    (check-error-tag 'no-such-channel (lambda () (filter-channel '(0 0 1 1) 100 #f #f ind 1)))
+	    (check-error-tag 'no-such-channel (lambda () (filter-channel (float-vector 0 0 1 1) 4 #f #f ind 1)))
+	    (check-error-tag 'no-such-direction (lambda () (make-sampler 0 ind 0 -2)))
+	    (check-error-tag 'no-such-direction (lambda () (make-sampler 0 ind 0 0)))
+	    (check-error-tag 'no-such-direction (lambda () (make-sampler 0 ind 0 123)))
+	    (for-each (lambda (arg)
+			(check-error-tag 'no-such-edit arg))
+		      (vector (lambda () (display-edits ind 0 123))
+			      (lambda () (edit-fragment -1))
+			      (lambda () (edit-fragment 101 ind 0))
+			      (lambda () (edit-tree ind 0 -2))
+			      (lambda () (edit-tree ind 0 101))
+			      (lambda () (marks ind 0 123))
+			      (lambda () (save-sound-as "test.snd" :edit-position 123))))
 	    (check-error-tag 'no-such-file (lambda () (convolve-with "/bad/baddy")))
 	    (check-error-tag 'no-such-file (lambda () (mix "/bad/baddy")))
-	    (check-error-tag 'no-such-sound (lambda () (swap-channels ind 0 123)))
-	    (check-error-tag 'out-of-range (lambda () (set! (show-axes ind 0) 123)))
-	    (check-error-tag 'out-of-range (lambda () (set! (show-axes ind 0) -123)))
-	    (check-error-tag 'out-of-range (lambda () (set! (x-axis-style ind 0) 123)))
-	    (check-error-tag 'out-of-range (lambda () (set! (x-axis-style ind 0) -123)))
-	    (check-error-tag 'out-of-range (lambda () (set! (graph-style ind 0) 123)))
-	    (check-error-tag 'out-of-range (lambda () (set! (graph-style ind 0) -123)))
-	    (check-error-tag 'out-of-range (lambda () (env-sound '(0 0 1 1) 0 #f -1.5)))
-	    (check-error-tag 'out-of-range (lambda () (xramp-channel 0.0 1.0 -1.6)))
-	    (check-error-tag 'wrong-type-arg (lambda () (set! (samples 0 2) -1)))
-	    (check-error-tag 'wrong-type-arg (lambda () (left-sample '(0))))
-	    (check-error-tag 'wrong-type-arg (lambda () (amp-control '(0))))
-	    (check-error-tag 'wrong-type-arg (lambda () (sound-loop-info '(0))))
-	    (check-error-tag 'wrong-type-arg (lambda () (add-mark 123 '(0))))
+	    (check-error-tag 'no-such-sample (lambda () (add-mark (* 2 (framples)))))
+	    (check-error-tag 'no-such-sample (lambda () (add-mark -1)))
+	    (check-error-tag 'no-such-sample (lambda () (set! (selection-position ind 0) -999)))
 	    (check-error-tag 'no-such-sound (lambda () (filter-channel '(0 0 1 1) 100 #f #f 1234 0)))
-	    (check-error-tag 'no-such-channel (lambda () (filter-channel '(0 0 1 1) 100 #f #f ind 1)))
-	    (check-error-tag 'no-such-channel (lambda () (filter-channel (float-vector 0 0 1 1) 4 #f #f ind 1)))
-	    (check-error-tag 'out-of-range (lambda () (filter-sound (float-vector 0 0 1 1) 0)))
-	    (check-error-tag 'out-of-range (lambda () (filter-sound (float-vector 0 0 1 1) 10)))
-	    (check-error-tag 'bad-arity (lambda () (play (selected-sound) 0 :stop (lambda () #f))))
-	    (check-error-tag 'out-of-range (lambda () (set! (reverb-control-length-bounds ind) (list .1 .01))))
-	    (check-error-tag 'out-of-range (lambda () (set! (reverb-control-scale-bounds ind) (list .1 .01))))
-	    (check-error-tag 'wrong-type-arg (lambda () (scale-by #f)))
-	    (check-error-tag 'wrong-type-arg (lambda () (src-sound 3.0 1.0 #t)))
-	    (check-error-tag 'wrong-type-arg (lambda () (src-sound 3.0 1.0 ind #t)))
-	    (check-error-tag 'no-such-edit (lambda () (display-edits ind 0 123)))
-	    (check-error-tag 'no-such-edit (lambda () (marks ind 0 123)))
-	    (check-error-tag 'no-such-edit (lambda () (save-sound-as "test.snd" :edit-position 123)))
-	    (check-error-tag 'no-such-auto-delete-choice (lambda () (insert-sound "1a.snd" 0 0 ind 0 0 123)))
+	    (check-error-tag 'no-such-sound (lambda () (swap-channels ind 0 123)))
+	    (for-each (lambda (arg)
+			(check-error-tag 'out-of-range arg))
+		      (vector (lambda () (env-sound '(0 0 1 1) 0 #f -1.5))
+			      (lambda () (filter-sound (float-vector 0 0 1 1) 0))
+			      (lambda () (filter-sound (float-vector 0 0 1 1) 10))
+			      (lambda () (set! (graph-style ind 0) -123))
+			      (lambda () (set! (graph-style ind 0) 123))
+			      (lambda () (set! (reverb-control-length-bounds ind) (list .1 .01)))
+			      (lambda () (set! (reverb-control-scale-bounds ind) (list .1 .01)))
+			      (lambda () (set! (show-axes ind 0) -123))
+			      (lambda () (set! (show-axes ind 0) 123))
+			      (lambda () (set! (x-axis-style ind 0) -123))
+			      (lambda () (set! (x-axis-style ind 0) 123))
+			      (lambda () (xramp-channel 0.0 1.0 -1.6))))
+	    (for-each (lambda (arg)
+			(check-error-tag 'wrong-type-arg arg))
+		      (vector (lambda () (add-mark 123 '(0)))
+			      (lambda () (amp-control '(0)))
+			      (lambda () (left-sample '(0)))
+			      (lambda () (scale-by #f))
+			      (lambda () (set! (samples 0 2) -1))
+			      (lambda () (set! (selection-framples ind 0) -999))
+			      (lambda () (set! (selection-framples ind 0) 0))
+			      (lambda () (sound-loop-info '(0)))
+			      (lambda () (src-sound 3.0 1.0 #t))
+			      (lambda () (src-sound 3.0 1.0 ind #t))))
 	    (close-sound ind))
-	  (check-error-tag 'bad-arity (lambda () (add-transform "hiho" "time" 0 1 (lambda () 1.0))))
-	  (check-error-tag 'cannot-save (lambda () (save-state "/bad/baddy")))
-	  (check-error-tag 'no-such-menu (lambda () (add-to-menu 1234 "hi" (lambda () #f))))
-	  (check-error-tag 'bad-arity (lambda () (add-to-main-menu "hi" (lambda (a b) #f))))
-	  (check-error-tag 'bad-arity (lambda () (add-to-menu 1 "hi" (lambda (a b) #f))))
-	  (check-error-tag 'wrong-type-arg (lambda () (set! *transform-type* (integer->transform -1))))
-	  (check-error-tag 'out-of-range (lambda () (set! *transform-type* (integer->transform 123))))
-	  (check-error-tag 'wrong-type-arg (lambda () (help-dialog (list 0 1) "hiho")))
-	  (check-error-tag 'wrong-type-arg (lambda () (info-dialog (list 0 1) "hiho")))
-	  (check-error-tag 'no-such-sound (lambda () (edit-header-dialog 1234)))
-	  (check-error-tag 'no-such-file (lambda () (open-sound "/bad/baddy.snd")))
-	  (check-error-tag 'no-such-file (lambda () (open-raw-sound "/bad/baddy.snd" 1 22050 mus-lshort)))
-	  (check-error-tag 'no-such-file (lambda () (view-sound "/bad/baddy.snd")))
-	  (check-error-tag 'no-such-file (lambda () (make-sampler 0 "/bad/baddy.snd")))
-	  (check-error-tag 'no-such-region (lambda () (make-region-sampler (integer->region 1234567) 0)))
-	  (check-error-tag 'no-such-key (lambda () (bind-key 12345678 0 #f)))
-	  (check-error-tag 'no-such-key (lambda () (bind-key -1 0 #f)))
-	  (check-error-tag 'no-such-key (lambda () (bind-key 12 17 #f)))
-	  (check-error-tag 'no-such-key (lambda () (bind-key 12 -1 #f)))
-	  (check-error-tag 'no-such-key (lambda () (key-binding 12345678 0)))
-	  (check-error-tag 'no-such-key (lambda () (key-binding -1 0)))
-	  (check-error-tag 'no-such-key (lambda () (key-binding 12 17)))
-	  (check-error-tag 'no-such-key (lambda () (key-binding 12 -1)))
-	  (check-error-tag 'bad-header (lambda () (file->array (string-append sf-dir "bad_chans.snd") 0 0 123 (make-float-vector 123))))
-	  (check-error-tag 'bad-header (lambda () (make-readin (string-append sf-dir "bad_chans.snd"))))
-	  (check-error-tag 'mus-error (lambda () (make-iir-filter 30 (make-float-vector 3))))
-	  (check-error-tag 'out-of-range (lambda () (make-wave-train :size (expt 2 30))))
-	  (check-error-tag 'out-of-range (lambda () (set! *clm-srate* 0.0)))
-	  (check-error-tag 'out-of-range (lambda () (set! *clm-srate* -1000)))
-	  (check-error-tag 'out-of-range (lambda () (dot-product (make-float-vector 3) (make-float-vector 3) -1)))
-	  (check-error-tag 'out-of-range (lambda () (make-delay 3 :initial-element 0.0 :initial-contents (float-vector .1 .2 .3))))
-	  (check-error-tag 'out-of-range (lambda () (make-delay 3 :max-size 100 :initial-contents (float-vector .1 .2 .3))))
-	  (check-error-tag 'out-of-range (lambda () (make-table-lookup :size 100 :wave (make-float-vector 3))))
-	  (check-error-tag 'out-of-range (lambda () (make-wave-train :size 100 :wave (make-float-vector 3))))
-					;		(check-error-tag 'out-of-range (lambda () (make-granulate :max-size (expt 2 30))))
-	  (check-error-tag 'out-of-range (lambda () (make-ssb-am 100 12345678)))
-	  (check-error-tag 'mus-error (lambda () (make-rand :envelope '(0 0 1 1) :distribution (make-float-vector 10))))
-	  (check-error-tag 'mus-error (lambda () (make-rand :envelope '(0 0 1))))
-	  (check-error-tag 'out-of-range (lambda () (make-rand :envelope '(0 0 1 1) :size -2)))
-	  (check-error-tag 'out-of-range (lambda () (make-rand :envelope '(0 0 1 1) :size 1234567890)))
-	  (check-error-tag 'mus-error (lambda () (mus-xcoeff (make-filter 3 :xcoeffs float-vector-3 :ycoeffs float-vector-3) 4)))
-	  (check-error-tag 'mus-error (lambda () (mus-ycoeff (make-filter 3 :xcoeffs float-vector-3 :ycoeffs float-vector-3) 4)))
-	  (check-error-tag 'mus-error (lambda () (set! (mus-xcoeff (make-filter 3 :xcoeffs float-vector-3 :ycoeffs float-vector-3) 4) 1.0)))
-	  (check-error-tag 'mus-error (lambda () (set! (mus-ycoeff (make-filter 3 :xcoeffs float-vector-3 :ycoeffs float-vector-3) 4) 1.0)))
-	  (check-error-tag 'mus-error (lambda () (make-filter :ycoeffs (make-float-vector 4) :order 12)))
-	  (check-error-tag 'mus-error (lambda () (set! (mus-offset (make-oscil)) 1)))
-	  (check-error-tag 'out-of-range (lambda () (make-locsig :channels (expt 2 30))))
-	  (check-error-tag 'out-of-range (lambda () (make-src :width 3000)))
-	  (check-error-tag 'bad-arity (lambda () (add-colormap "baddy" (lambda () #f))))
-	  (check-error-tag 'bad-arity (lambda () (add-colormap "baddy" (lambda (a b c) #f))))
-					;		(check-error-tag 'out-of-range (lambda () (make-phase-vocoder :fft-size (expt 2 30))))
-	  (check-error-tag 'out-of-range (lambda () (src (make-src :input (lambda (dir) 1.0)) 2000000.0)))
-	  (check-error-tag 'out-of-range (lambda () (partials->polynomial '(1 1) -1)))
-	  (check-error-tag 'out-of-range (lambda () (partials->polynomial '(1 1) 3)))
-	  (check-error-tag 'out-of-range (lambda () (make-polyshape 440.0 :partials '(1 1) :kind -1)))
-	  (check-error-tag 'out-of-range (lambda () (make-polyshape 440.0 :partials '(1 1) :kind 3)))
-	  (check-error-tag 'wrong-type-arg (lambda () (normalize-partials 32)))
-	  (check-error-tag 'wrong-type-arg (lambda () (normalize-partials ())))
-	  (check-error-tag 'bad-type (lambda () (normalize-partials '(1 2 3))))
-	  (check-error-tag 'bad-type (lambda () (normalize-partials (float-vector 3))))
-	  
-	  (check-error-tag 'no-data (lambda () (make-polyshape 440.0 :partials (float-vector 1 1 -2 1))))
-	  (check-error-tag 'no-data (lambda () (make-polyshape 440.0 :partials (list 1 1 -2 1))))
-					;(check-error-tag 'wrong-type-arg (lambda () (make-polyshape 440.0 :partials (list 1 1 "hi" 1)))) ; can be 'no-data etc
-					;(check-error-tag 'wrong-type-arg (lambda () (make-polyshape 440.0 :partials (list 1 1 2 "hi"))))
-	  (check-error-tag 'no-data (lambda () (make-polyshape 440.0 :partials (list))))
-	  
-	  (check-error-tag 'wrong-type-arg (lambda () (set! (mus-header-raw-defaults) 1234)))
-	  (check-error-tag 'wrong-type-arg (lambda () (set! (mus-header-raw-defaults) (list 44100 2.123 "hi"))))
-	  
-	  (check-error-tag 'wrong-type-arg (lambda () (set! *with-toolbar* 123)))
-	  (check-error-tag 'wrong-type-arg (lambda () (set! *with-tooltips* 123)))
-	  (check-error-tag 'wrong-type-arg (lambda () (set! *with-menu-icons* 123)))
-	  (check-error-tag 'wrong-type-arg (lambda () (set! *save-as-dialog-src* 123)))
-	  (check-error-tag 'wrong-type-arg (lambda () (set! *save-as-dialog-auto-comment* 123)))
-	  (check-error-tag 'wrong-type-arg (lambda () (set! *with-smpte-label* 123)))
-	  (check-error-tag 'wrong-type-arg (lambda () (set! *ask-about-unsaved-edits* 123)))
-	  
-	  (check-error-tag 'no-such-mix (lambda () (mix-properties (integer->mix (+ 1 (mix-sync-max))))))
-	  (check-error-tag 'no-such-mix (lambda () (set! (mix-properties (integer->mix (+ 1 (mix-sync-max)))) '(a 1))))
 	  )
 	
 	;; xen.h over-optimization regression check
@@ -47514,10 +47144,11 @@ EDITS: 1
 				"" (make-hash-table 256)
 				#<undefined> #<unspecified> #<eof>
 				(random-state 12) (float-vector) (vector)))
-	       (few-args (list 1.5 str-3 (list 0 1) 12 float-vector-3 color-95 #(0 1) 3/4 -1.0 (float-vector) (vector) (list) ""
-			       0+i delay-32 :feedback -1 0 1 'hi (lambda (a) (+ a 1)) -64 #f #t vector-0))
-	       (less-args (if all-args main-args few-args)))
-	  
+	       (less-args (if all-args 
+			      main-args 
+			      (list 1.5 str-3 (list 0 1) 12 float-vector-3 color-95 #(0 1) 3/4 -1.0 (float-vector) (vector) (list) ""
+				    0+i delay-32 :feedback -1 0 1 'hi (lambda (a) (+ a 1)) -64 #f #t vector-0))))
+
 	  ;; ---------------- 1 Arg
 	  (for-each 
 	   (lambda (arg)
@@ -47612,11 +47243,12 @@ EDITS: 1
 	  (set! cadr-main #f)
 	  (set! a-hook #f)
 	  (set! float-vector-5 #f)
-	  )))))
+	  ))))))
 
 
 ;;; ---------------- test 26: s7 ----------------
 
+(define s7test-exits #f)
 (define (snd_test_26)
   (load "s7test.scm"))
 
@@ -47636,7 +47268,8 @@ EDITS: 1
 (set! (test-funcs 12) snd_test_12)
 (if (not (or (provided? 'openbsd)
 	     (provided? 'freebsd)
-	     (provided? 'snd-gtk)))
+	     ;(provided? 'snd-gtk)
+	     ))
     (begin
       (set! (test-funcs 13) snd_test_13)
       (set! (test-funcs 14) snd_test_14)
@@ -47657,12 +47290,67 @@ EDITS: 1
 (set! (test-funcs 25) snd_test_25)
 (set! (test-funcs 26) snd_test_26)
 
+
+(define all-hooks
+  (list after-graph-hook after-lisp-graph-hook lisp-graph-hook before-transform-hook mix-release-hook save-hook mus-error-hook
+	mouse-enter-graph-hook mouse-leave-graph-hook open-raw-sound-hook select-channel-hook after-open-hook close-hook drop-hook update-hook
+	mark-click-hook mark-drag-hook name-click-hook open-hook help-hook before-save-state-hook
+	output-comment-hook play-hook snd-error-hook snd-warning-hook start-playing-hook stop-playing-hook
+	mouse-enter-listener-hook mouse-leave-listener-hook select-sound-hook
+	exit-hook during-open-hook after-transform-hook mouse-enter-label-hook mouse-leave-label-hook initial-graph-hook
+	graph-hook key-press-hook mouse-drag-hook mouse-press-hook enved-hook mouse-click-hook new-widget-hook
+	mark-hook stop-playing-selection-hook after-apply-controls-hook draw-mark-hook
+	bad-header-hook save-state-hook new-sound-hook color-hook orientation-hook listener-click-hook mix-click-hook after-save-state-hook
+	mouse-enter-text-hook mouse-leave-text-hook mix-drag-hook 
+	start-playing-selection-hook after-save-as-hook before-save-as-hook draw-mix-hook
+	before-exit-hook before-close-hook clip-hook))
+
+(define hook-names
+  (list 'after-graph-hook 'after-lisp-graph-hook 'lisp-graph-hook 'before-transform-hook 'mix-release-hook 'save-hook 'mus-error-hook
+	'mouse-enter-graph-hook 'mouse-leave-graph-hook 'open-raw-sound-hook 'select-channel-hook 'after-open-hook 'close-hook 'drop-hook 'update-hook
+	'mark-click-hook 'mark-drag-hook 'name-click-hook 'open-hook 'help-hook 'before-save-state-hook
+	'output-comment-hook 'play-hook 'snd-error-hook 'snd-warning-hook 'start-playing-hook 'stop-playing-hook
+	'mouse-enter-listener-hook 'mouse-leave-listener-hook 'select-sound-hook
+	'exit-hook 'during-open-hook 'after-transform-hook 'mouse-enter-label-hook 'mouse-leave-label-hook 'initial-graph-hook
+	'graph-hook 'key-press-hook 'mouse-drag-hook 'mouse-press-hook 'enved-hook 'mouse-click-hook 'new-widget-hook
+	'mark-hook 'stop-playing-selection-hook 'after-apply-controls-hook 'draw-mark-hook
+	'bad-header-hook 'save-state-hook 'new-sound-hook 'color-hook 'orientation-hook 'listener-click-hook 'mix-click-hook 'after-save-state-hook
+	'mouse-enter-text-hook 'mouse-leave-text-hook 'mix-drag-hook 
+	'start-playing-selection-hook 'after-save-as-hook 'before-save-as-hook 'draw-mix-hook
+	'before-exit-hook 'before-close-hook 'clip-hook))
+
+(define hook-calls (make-vector (length all-hooks) 0))
+
+(define (set-all-hooks)
+  (for-each
+   (let ((ctr 0))
+     (lambda (h)
+       (set! (hook-functions h)
+	     (list
+	      (let ((local-ctr ctr))
+		(lambda (hook)
+		  (set! (hook-calls local-ctr) (+ (hook-calls local-ctr) 1))))))
+       (set! ctr (+ ctr 1))))
+   all-hooks))
+
+(define (report-hook-calls)
+  (let ((not-called ()))
+    (do ((i 0 (+ i 1)))
+	((= i (length all-hooks)))
+      (if (positive? (hook-calls i))
+	  (format *stderr* "~A: ~D~%" (hook-names i) (hook-calls i))
+	  (set! not-called (cons (hook-names i) not-called))))
+    (if (pair? not-called)
+	(format *stderr* "not called: ~{~A~^, ~}~%" not-called))))
+
+
 (cond ((> test-at-random 0)             ; run tests in any random order
        (do ((i 0 (+ i 1)))
 	   ((= i test-at-random))
 	 (set! snd-test (random 23))
 	 (format *stderr* "~%~A: ~A~%" i snd-test)
 	 (before-test-hook snd-test)
+	 (if hooked (set-all-hooks))
 	 ((vector-ref test-funcs snd-test))
 	 (after-test-hook snd-test)))
 
@@ -47670,6 +47358,7 @@ EDITS: 1
 		keep-going
 		(< snd-test 0)))
        (before-test-hook snd-test)
+       (if hooked (set-all-hooks))
        ((vector-ref test-funcs snd-test))
        (after-test-hook snd-test))
 
@@ -47680,10 +47369,19 @@ EDITS: 1
 		    (or full-test
 			(and keep-going (<= snd-test i))))
 	   (before-test-hook i)
+	   (if hooked (set-all-hooks))
 	   ((vector-ref test-funcs i))
 	   (after-test-hook i)))))
 
 
+;;; currently not called:
+;;;    before-exit-hook, mix-drag-hook, mouse-leave-text-hook, mouse-enter-text-hook, mix-click-hook, listener-click-hook, 
+;;;    stop-playing-selection-hook, mouse-click-hook, enved-hook, mouse-press-hook, mouse-drag-hook, key-press-hook, 
+;;;    mouse-leave-label-hook, mouse-enter-label-hook, exit-hook, mouse-leave-listener-hook, mouse-enter-listener-hook, 
+;;;    snd-error-hook, name-click-hook, mark-drag-hook, mark-click-hook, drop-hook, mouse-leave-graph-hook, 
+;;;    mouse-enter-graph-hook, mix-release-hook
+
+
 ;;; ---------------- test all done
 
 (for-each forget-region (regions))
@@ -47707,6 +47405,8 @@ EDITS: 1
 (set! *print-length* 64)
 (format *stderr* "~%;times: ~A~%;total: ~A~%" timings (round (- (real-time) overall-start-time)))
 
+(if hooked (report-hook-calls))
+
 
 ;; #(59 58 114 95 2244 5373 613 134 11680 2892 609 743 868 976 815 1288 3020 197 168 2952 758 1925 4997 6567 846  183 0 242 6696 0))) ; 571
 ;; 
@@ -48014,28 +47714,6 @@ callgrind_annotate --auto=yes callgrind.out.<pid> > hi
   338,359,320  clm.c:run_hilbert [/home/bil/gtk-snd/snd]
   327,141,926  clm.c:fb_many_with_amps_c1_c2 [/home/bil/gtk-snd/snd]
 
-18-Jan-15:
-34,313,456,123
-5,020,772,013  s7.c:eval [/home/bil/motif-snd/snd]
-2,260,969,439  ???:sin [/lib64/libm-2.12.so]
-2,034,364,836  ???:cos [/lib64/libm-2.12.so]
-1,267,013,962  clm.c:fir_ge_20 [/home/bil/motif-snd/snd]
-1,031,565,836  clm.c:mus_src [/home/bil/motif-snd/snd]
-  902,070,908  ???:t2_32 [/home/bil/motif-snd/snd]
-  736,726,776  ???:t2_64 [/home/bil/motif-snd/snd]
-  703,948,457  s7.c:gc [/home/bil/motif-snd/snd]
-  638,189,523  clm.c:mus_phase_vocoder_with_editors [/home/bil/motif-snd/snd]
-  602,023,066  snd-edits.c:channel_local_maxamp [/home/bil/motif-snd/snd]
-  594,199,460  clm.c:fb_one_with_amps_c1_c2 [/home/bil/motif-snd/snd]
-  488,422,860  io.c:mus_read_any_1 [/home/bil/motif-snd/snd]
-  439,946,024  ???:n1_64 [/home/bil/motif-snd/snd]
-  428,393,510  s7.c:eval'2 [/home/bil/motif-snd/snd]
-  414,054,253  vct.c:g_vct_add [/home/bil/motif-snd/snd]
-  365,408,166  clm.c:mus_env_linear [/home/bil/motif-snd/snd]
-  362,204,844  clm.c:mus_src_to_buffer [/home/bil/motif-snd/snd]
-  345,704,896  clm.c:run_hilbert [/home/bil/motif-snd/snd]
-  330,406,288  clm.c:fb_many_with_amps_c1_c2 [/home/bil/motif-snd/snd]
- 
 15-Feb-15:
 33,895,270,323
 5,048,563,075  s7.c:eval [/home/bil/motif-snd/snd]
diff --git a/snd-utils.c b/snd-utils.c
index cc83cd6..411c066 100644
--- a/snd-utils.c
+++ b/snd-utils.c
@@ -354,6 +354,7 @@ static Xen g_file_to_string(Xen name)
 void g_init_utils(void)
 {
 #if HAVE_SCHEME
-  Xen_define_safe_procedure(S_file_to_string, g_file_to_string_w, 1, 0, 0, "file contents as string");
+  Xen_define_typed_procedure(S_file_to_string, g_file_to_string_w, 1, 0, 0, "file contents as string", 
+			     s7_make_circular_signature(s7, 0, 1, s7_make_symbol(s7, "string?")));
 #endif
 }
diff --git a/snd-x1.h b/snd-x1.h
index e4a7876..4de9d74 100644
--- a/snd-x1.h
+++ b/snd-x1.h
@@ -49,7 +49,6 @@ bool color_orientation_dialog_is_active(void);
 Widget make_color_orientation_dialog(bool managed);
 void reflect_spectro(void);
 void set_with_gl(bool val, bool with_dialogs);
-void g_init_gxdraw(void);
 
 
 
@@ -78,7 +77,6 @@ Widget make_text_widget(const char *name, Widget parent, Arg *args, int n);
 Widget make_textfield_widget(const char *name, Widget parent, Arg *args, int n, text_cr_t activatable, int completer);
 void clear_listener(void);
 void set_listener_text_font(void);
-void g_init_gxlistener(void);
 
 
 /* -------- snd-xmenu.c -------- */
@@ -88,7 +86,6 @@ void add_menu_drop(void);
 Widget menu_widget(int which_menu);
 void check_menu_labels(int key, int state, bool extended);
 void reflect_play_selection_stop(void);
-void g_init_gxmenu(void);
 void set_button_label(Widget label, const char *str);
 void add_tooltip(Widget w, const char *tip);
 void post_basic_popup_menu(void *ev);
@@ -147,7 +144,6 @@ void allocate_region_rows(int n);
 void reflect_regions_in_region_browser(void);
 void reflect_no_regions_in_region_browser(void);
 void reflect_region_graph_style(void);
-void g_init_gxregion(void);
 
 
 /* -------- snd-gxbitmaps.c -------- */
@@ -195,7 +191,6 @@ void errors_to_find_text(const char *msg, void *data);
 void find_dialog_stop_label(bool show_stop);
 bool find_dialog_is_active(void);
 void save_find_dialog_state(FILE *fd);
-void g_init_gxfind(void);
 
 
 /* -------- snd-xutils.c -------- */
@@ -279,8 +274,6 @@ void change_channel_style(snd_info *sp, channel_style_t new_style);
 void color_chan_components(color_t color, slider_choice_t which_component);
 void color_unselected_graphs(color_t color);
 
-void g_init_gxchn(void);
-
 
 /* -------- snd-xsnd.c -------- */
 
@@ -328,7 +321,6 @@ void start_progress_report(chan_info *cp);
 void finish_progress_report(chan_info *cp);
 void progress_report(chan_info *cp, mus_float_t pct);
 XmString initial_speed_label(speed_style_t style);
-void g_init_gxsnd(void);
 void make_sound_icons_transparent_again(Pixel old_color, Pixel new_color);
 void reflect_sound_selection(snd_info *sp);
 void make_controls_dialog(void);
@@ -366,7 +358,6 @@ void save_edit_header_dialog_state(FILE *fd);
 void set_open_file_play_button(bool val);
 widget_t make_mix_file_dialog(bool managed);
 widget_t make_insert_file_dialog(bool managed);
-void g_init_gxfile(void);
 void clear_deleted_snd_info(void *dp);
 void reflect_just_sounds(void);
 void save_file_dialog_state(FILE *fd);
@@ -416,7 +407,6 @@ void set_enved_in_dB(bool val);
 bool enved_dialog_is_active(void);
 void set_enved_filter_order(int order);
 void color_enved_waveform(Pixel pix);
-void g_init_gxenv(void);
 
 
 
@@ -434,6 +424,8 @@ void mix_dialog_set_mix(int id);
 
 widget_t make_preferences_dialog(void);
 
+void g_init_motif(void);
+
 #endif
 
 
diff --git a/snd-xen.c b/snd-xen.c
index 91ab46c..f850a95 100644
--- a/snd-xen.c
+++ b/snd-xen.c
@@ -376,7 +376,9 @@ static char *last_file_loaded = NULL;
 static Xen g_snd_s7_error_handler(Xen args)
 {
   s7_pointer msg;
-  msg = s7_car(args);
+  if (s7_is_pair(args))
+    msg = s7_car(args);
+  else msg = args;
   Xen_check_type(Xen_is_string(msg), msg, 1, "_snd_s7_error_handler_", "a string");
 
   if (ss->xen_error_handler)
@@ -2604,7 +2606,7 @@ static char *find_source_file(const char *orig)
   Xen_wrap_2_args(g_dlsym_w, g_dlsym)
 #endif
 #if HAVE_SCHEME
-  Xen_wrap_any_args(g_snd_s7_error_handler_w, g_snd_s7_error_handler);
+  Xen_wrap_1_arg(g_snd_s7_error_handler_w, g_snd_s7_error_handler);
 #endif
 
 Xen_wrap_1_arg(g_snd_print_w, g_snd_print)
@@ -2708,18 +2710,44 @@ Xen_wrap_1_arg(g_snd_warning_w, g_snd_warning)
 void g_xen_initialize(void)
 {
 #if HAVE_SCHEME
-  s7_pointer pl_dr, pl_dir, pl_ss, pl_b, pl_prr;
+  s7_pointer pl_dr, pl_dir, pl_ss, pl_b, s, i, b, r, d, t;
+#if WITH_GMP
+  s7_pointer v;
+#endif
 #if HAVE_GSL_EIGEN_NONSYMMV_WORKSPACE
   s7_pointer pl_pf;
 #endif
+#if HAVE_GSL
+  s7_pointer pl_prr, p;
+  p = s7_make_symbol(s7, "pair?");
+#endif
+  s = s7_make_symbol(s7, "string?");
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  r = s7_make_symbol(s7, "real?");
+  d = s7_make_symbol(s7, "float?");
+#if WITH_GMP
+  v = s7_make_symbol(s7, "vector?");
+#endif
+  t = s7_t(s7);
+  pl_ss = s7_make_signature(s7, 2, s, s);
+  pl_dr = s7_make_circular_signature(s7, 1, 2, d, r);
+#if HAVE_GSL
+  pl_prr = s7_make_signature(s7, 3, p, r, r);
+#endif
+  pl_dir = s7_make_signature(s7, 3, d, i, r);
+  pl_b = s7_make_signature(s7, 1, b);
+#if HAVE_GSL_EIGEN_NONSYMMV_WORKSPACE
+  pl_pf = s7_make_signature(s7, 2, s7_make_symbol(s7, "pair?"), s7_make_symbol(s7, "float-vector?"));
+#endif
 #endif
 
 #if HAVE_RUBY
   rb_gc_disable();
 #endif
 
-  Xen_define_procedure(S_snd_error,   g_snd_error_w,   1, 0, 0, H_snd_error);
-  Xen_define_procedure(S_snd_warning, g_snd_warning_w, 1, 0, 0, H_snd_warning);
+  Xen_define_typed_procedure(S_snd_error,   g_snd_error_w,   1, 0, 0, H_snd_error,   pl_ss);
+  Xen_define_typed_procedure(S_snd_warning, g_snd_warning_w, 1, 0, 0, H_snd_warning, pl_ss);
 
 #if HAVE_SCHEME
   #define H_snd_error_hook S_snd_error_hook " (message): called upon snd_error. \
@@ -2777,7 +2805,6 @@ If it returns " PROC_TRUE ", Snd flushes the warning (it assumes you've reported
   ss->snd_error_hook =   Xen_define_hook(S_snd_error_hook,   "(make-hook 'message)", 1, H_snd_error_hook);
   ss->snd_warning_hook = Xen_define_hook(S_snd_warning_hook, "(make-hook 'message)", 1, H_snd_warning_hook);
 
-
   #define H_clip_hook S_clip_hook " (val) is called each time a sample is about to \
 be clipped upon being written to a sound file.  The hook function can return the new value to \
 be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val')."
@@ -2799,8 +2826,9 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
   add_source_file_extension("marks"); /* from save-marks */
   default_source_file_extensions = source_file_extensions_end;
 
-  Xen_define_procedure("snd-global-state", g_snd_global_state_w, 0, 0, 0, "internal testing function");
-  Xen_define_procedure(S_add_source_file_extension, g_add_source_file_extension_w, 1, 0, 0, H_add_source_file_extension);
+  Xen_define_typed_procedure("snd-global-state", g_snd_global_state_w, 0, 0, 0, "internal testing function", s7_make_signature(s7, 1, t));
+  Xen_define_typed_procedure(S_add_source_file_extension, g_add_source_file_extension_w, 1, 0, 0, H_add_source_file_extension,
+			     s7_make_signature(s7, 2, s, s));
 
   ss->snd_open_file_hook = Xen_define_simple_hook("(make-hook 'reason)", 1);
   Xen_GC_protect(ss->snd_open_file_hook);
@@ -2817,25 +2845,6 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
   gc_protection = Xen_false;
 #endif
 
-#if HAVE_SCHEME
-  {
-    s7_pointer s, i, b, r, d, p;
-    s = s7_make_symbol(s7, "string?");
-    i = s7_make_symbol(s7, "integer?");
-    b = s7_make_symbol(s7, "boolean?");
-    r = s7_make_symbol(s7, "real?");
-    d = s7_make_symbol(s7, "float?");
-    p = s7_make_symbol(s7, "pair?");
-    pl_ss = s7_make_signature(s7, 2, s, s);
-    pl_dr = s7_make_circular_signature(s7, 1, 2, d, r);
-    pl_prr = s7_make_signature(s7, 3, p, r, r);
-    pl_dir = s7_make_signature(s7, 3, d, i, r);
-    pl_b = s7_make_signature(s7, 1, b);
-#if HAVE_GSL_EIGEN_NONSYMMV_WORKSPACE
-    pl_pf = s7_make_signature(s7, 2, s7_make_symbol(s7, "pair?"), s7_make_symbol(s7, "float-vector?"));
-#endif
-  }
-#endif
   Xen_define_typed_procedure(S_snd_print,      g_snd_print_w,     1, 0, 0, H_snd_print, pl_ss);
   Xen_define_typed_procedure("little-endian?", g_little_endian_w, 0, 0, 0, "return " PROC_TRUE " if host is little endian", pl_b);
 
@@ -2857,7 +2866,7 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
   Xen_define_typed_procedure("lgamma", g_lgamma_w, 1, 0, 0, H_lgamma,	pl_dr);
 #endif
 
-  Xen_define_safe_procedure(S_bes_i0, g_i0_w,     1, 0, 0, H_i0);
+  Xen_define_typed_procedure(S_bes_i0, g_i0_w,     1, 0, 0, H_i0,       pl_dr);
 
 #if HAVE_GSL
   Xen_define_typed_procedure(S_bes_i1, g_i1_w,     1, 0, 0, H_i1,	pl_dr);
@@ -2879,7 +2888,7 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
 #endif
 
 #if HAVE_SCHEME && WITH_GMP
-  s7_define_function(s7, "bignum-fft", bignum_fft, 3, 1, false, H_bignum_fft);
+  s7_define_typed_function(s7, "bignum-fft", bignum_fft, 3, 1, false, H_bignum_fft, s7_make_signature(s7, 5, b, v, v, i, i));
 #endif
 
   g_init_base();
@@ -2906,25 +2915,29 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
   g_init_find();
 #if (!USE_NO_GUI)
   g_init_gxcolormaps();
+  g_init_draw();
+  g_init_axis();
+#if USE_MOTIF
+  g_init_motif();
+#else
   g_init_gxfile();
   g_init_gxdraw();
   g_init_gxenv();
   g_init_gxmenu();
-  g_init_axis();
   g_init_gxlistener();
   g_init_gxchn();
-  g_init_draw();
   g_init_gxregion();
   g_init_gxsnd();
   g_init_gxfind();
 #endif
+#endif
 
 #if HAVE_SCHEME && (!_MSC_VER)
-  Xen_define_procedure("dlopen",  g_dlopen_w,  1, 1 ,0, H_dlopen);
-  Xen_define_procedure("dlclose", g_dlclose_w, 1, 0 ,0, H_dlclose);
-  Xen_define_procedure("dlerror", g_dlerror_w, 0, 0 ,0, H_dlerror);
-  Xen_define_procedure("dlinit",  g_dlinit_w,  2, 0 ,0, H_dlinit);
-  Xen_define_procedure("dlsym",   g_dlsym_w,   2, 0 ,0, H_dlsym);
+  Xen_define_typed_procedure("dlopen",  g_dlopen_w,  1, 1 ,0, H_dlopen,   s7_make_signature(s7, 3, t, s, i));
+  Xen_define_typed_procedure("dlclose", g_dlclose_w, 1, 0 ,0, H_dlclose,  s7_make_signature(s7, 2, i, t));
+  Xen_define_typed_procedure("dlerror", g_dlerror_w, 0, 0 ,0, H_dlerror,  s7_make_signature(s7, 1, s));
+  Xen_define_typed_procedure("dlinit",  g_dlinit_w,  2, 0 ,0, H_dlinit,   s7_make_signature(s7, 3, b, t, s));
+  Xen_define_typed_procedure("dlsym",   g_dlsym_w,   2, 0 ,0, H_dlsym,    s7_make_signature(s7, 3, t, t, s));
 
   Xen_define_constant("RTLD_LAZY", RTLD_LAZY, "dlopen flag");
   Xen_define_constant("RTLD_NOW", RTLD_NOW, "dlopen flag");
@@ -2948,7 +2961,8 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
   } 
 
 #if HAVE_SCHEME
-  Xen_define_procedure("_snd_s7_error_handler_", g_snd_s7_error_handler_w,  0, 0, 1, "internal error redirection for snd/s7");
+  Xen_define_typed_procedure("_snd_s7_error_handler_", g_snd_s7_error_handler_w,  0, 1, 0, "internal error redirection for snd/s7",
+			     s7_make_signature(s7, 2, b, s));
 
   Xen_eval_C_string("(define redo-edit redo)");        /* consistency with Ruby */
   Xen_eval_C_string("(define undo-edit undo)");
@@ -3025,7 +3039,7 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
 #endif
 
 #if HAVE_GL
-  Xen_define_procedure("snd-gl-context", g_snd_gl_context_w, 0, 0, 0, "GL Context");
+  Xen_define_typed_procedure("snd-gl-context", g_snd_gl_context_w, 0, 0, 0, "GL Context", s7_make_signature(s7, 1, p));
 #endif
 
 #if USE_MOTIF
diff --git a/snd-xref.c b/snd-xref.c
index a2e428c..11a8813 100644
--- a/snd-xref.c
+++ b/snd-xref.c
@@ -29,235 +29,235 @@ static const char *help_names[HELP_NAMES_SIZE] = {
  "close-sound", "color->list", "color-cutoff", "color-hook", "color-inverted", "color-mixes",
  "color-orientation-dialog", "color-scale", "color?", "colormap", "colormap->integer", "colormap-name",
  "colormap-ref", "colormap-size", "colormap?", "comb", "comb-bank", "comb-bank?",
- "comb?", "combined-data-color", "comment", "complexify", "compute-uniform-circular-string", "concatenate-envelopes",
- "constant?", "continuation?", "continue-frample->file", "continue-sample->file", "contrast-channel", "contrast-control",
- "contrast-control-amp", "contrast-control-bounds", "contrast-control?", "contrast-enhancement", "contrast-sound", "controls->channel",
- "convolution", "convolution reverb", "convolve", "convolve-files", "convolve-selection-with", "convolve-with",
- "convolve?", "copy", "copy-context", "copy-sampler", "correlate", "coverlet",
- "cross-fade (amplitude)", "cross-fade (frequency domain)", "cross-synthesis", "curlet", "current-font", "cursor",
- "cursor-color", "cursor-context", "cursor-location-offset", "cursor-position", "cursor-size", "cursor-style",
- "cursor-update-interval", "cutlet", "cyclic-sequences", "dac-combines-channels", "dac-size", "data-color",
- "data-location", "data-size", "db->linear", "default-output-chans", "default-output-header-type", "default-output-sample-type",
- "default-output-srate", "defgenerator", "define*", "define-constant", "define-envelope", "define-expansion",
- "define-macro", "define-macro*", "define-selection-via-marks", "defined?", "degrees->radians", "delay",
- "delay-channel-mixes", "delay-tick", "delay?", "delete-colormap", "delete-file-filter", "delete-file-sorter",
- "delete-mark", "delete-marks", "delete-sample", "delete-samples", "delete-samples-and-smooth", "delete-selection",
- "delete-selection-and-smooth", "delete-transform", "describe-hook", "describe-mark", "dht", "dialog-widgets",
- "dilambda", "disable-control-panel", "display-bark-fft", "display-correlation", "display-db", "display-edits",
- "display-energy", "dissolve-fade", "dither-channel", "dither-sound", "dolph", "dot-product",
- "dot-size", "down-oct", "draw-axes", "draw-dot", "draw-dots", "draw-line",
- "draw-lines", "draw-mark-hook", "draw-mix-hook", "draw-string", "drone", "drop sites",
- "drop-hook", "during-open-hook", "edit-fragment", "edit-header-dialog", "edit-hook", "edit-list->function",
- "edit-position", "edit-properties", "edit-property", "edit-tree", "edits", "edot-product",
- "effects-hook", "elliptic filters", "env", "env-any", "env-channel", "env-channel-with-base",
- "env-expt-channel", "env-interp", "env-mixes", "env-selection", "env-sound", "env-sound-interp",
- "env-squared-channel", "env?", "enved-base", "enved-clip?", "enved-dialog", "enved-envelope",
- "enved-filter", "enved-filter-order", "enved-hook", "enved-in-dB", "enved-power", "enved-style",
- "enved-target", "enved-wave?", "enved-waveform-color", "envelope-interp", "enveloped-mix", "eoddcos",
- "eoddcos?", "eps-bottom-margin", "eps-file", "eps-left-margin", "eps-size", "ercos",
- "ercos?", "*error-hook*", "erssb", "erssb?", "even-multiple", "even-weight",
- "every-sample?", "exit", "exit-hook", "expand-control", "expand-control-bounds", "expand-control-hop",
- "expand-control-jitter", "expand-control-length", "expand-control-ramp", "expand-control?", "explode-sf2", "exponentially-weighted-moving-average",
- "expsnd", "expsrc", "*features*", "feedback fm", "fft", "fft-cancel",
- "fft-edit", "fft-env-edit", "fft-env-interp", "fft-log-frequency", "fft-log-magnitude", "fft-smoother",
- "fft-squelch", "fft-window", "fft-window-alpha", "fft-window-beta", "fft-with-phases", "file database",
- "file->array", "file->frample", "file->frample?", "file->sample", "file->sample?", "file-name",
- "fill!", "fill-polygon", "fill-rectangle", "filter", "filter-channel", "filter-control-coeffs",
- "filter-control-envelope", "filter-control-in-dB", "filter-control-in-hz", "filter-control-order", "filter-control-waveform-color", "filter-control?",
- "filter-fft", "filter-selection", "filter-selection-and-smooth", "filter-sound", "filter?", "filtered-comb",
- "filtered-comb-bank", "filtered-comb-bank?", "filtered-comb?", "find-dialog", "find-mark", "find-mix",
- "find-sound", "finfo", "finish-progress-report", "fir-filter", "fir-filter?", "firmant",
- "firmant?", "fit-selection-between-marks", "flatten-partials", "float-vector", "float-vector*", "float-vector+",
- "float-vector->channel", "float-vector->list", "float-vector->string", "float-vector-abs!", "float-vector-add!", "float-vector-copy",
- "float-vector-equal?", "float-vector-fill!", "float-vector-length", "float-vector-max", "float-vector-min", "float-vector-move!",
- "float-vector-multiply!", "float-vector-offset!", "float-vector-peak", "float-vector-polynomial", "float-vector-ref", "float-vector-reverse!",
- "float-vector-scale!", "float-vector-set!", "float-vector-subseq", "float-vector-subtract!", "float-vector?", "flocsig",
- "flocsig?", "flute model", "fm-bell", "fm-drum", "fm-noise", "fm-parallel-component",
- "fm-talker", "fm-trumpet", "fm-violin", "fm-voice", "fmssb", "fmssb?",
- "focus-widget", "FOF synthesis", "fofins", "for-each-child", "for-each-sound-file", "Forbidden Planet",
- "foreground-color", "forget-region", "formant", "formant-bank", "formant-bank?", "formant?",
- "format", "fp", "fractional-fourier-transform", "frample->file", "frample->file?", "frample->frample",
- "framples", "free-player", "free-sampler", "freeverb", "fullmix", "funclet",
- "gaussian-distribution", "gc-off", "gc-on", "gensym", "gensym?", "gl-graph->ps",
- "glSpectrogram", "goertzel", "goto-listener-end", "grani", "granulate", "granulate?",
- "granulated-sound-interp", "graph", "graph->ps", "graph-color", "graph-cursor", "graph-data",
- "graph-hook", "graph-style", "graphic equalizer", "graphs-horizontal", "green-noise", "green-noise-interp",
- "green-noise-interp?", "green-noise?", "grid-density", "harmonicizer", "Hartley transform", "hash-table",
- "hash-table*", "hash-table-entries", "hash-table-ref", "hash-table-set!", "hash-table?", "header-type",
- "hello-dentist", "help-dialog", "help-hook", "hide-widget", "highlight-color", "hilbert-transform",
- "hook-functions", "hook-member", "html", "html-dir", "html-program", "hz->radians",
- "iir-filter", "iir-filter?", "in", "in-any", "ina", "inb",
- "info-dialog", "init-ladspa", "initial-beg", "initial-dur", "initial-graph-hook", "inlet",
- "insert-channel", "insert-file-dialog", "insert-region", "insert-sample", "insert-samples", "insert-selection",
- "insert-silence", "insert-sound", "int-vector", "int-vector-ref", "int-vector-set!", "int-vector?",
- "integer->colormap", "integer->mark", "integer->mix", "integer->region", "integer->sound", "integer->transform",
- "integrate-envelope", "invert-filter", "iterate", "iterator-at-end?", "iterator-sequence", "iterator?",
- "izcos", "izcos?", "j0evencos", "j0evencos?", "j0j1cos", "j0j1cos?",
- "j2cos", "j2cos?", "jc-reverb", "jjcos", "jjcos?", "jncos",
- "jncos?", "jpcos", "jpcos?", "just-sounds", "jycos", "jycos?",
- "k2cos", "k2cos?", "k2sin", "k2sin?", "k2ssb", "k2ssb?",
- "k3sin", "k3sin?", "kalman-filter-channel", "key", "key-binding", "key-press-hook",
- "krksin", "krksin?", "ladspa-descriptor", "ladspa-dir", "lambda*", "lbj-piano",
- "left-sample", "let->list", "let-ref", "let-set!", "let?", "linear->db",
- "linear-src-channel", "lint for scheme", "lisp-graph-hook", "lisp-graph-style", "lisp-graph?", "list->float-vector",
- "list->vct", "list-ladspa", "listener-click-hook", "listener-color", "listener-colorized", "listener-font",
- "listener-prompt", "listener-selection", "listener-text-color", "little-endian?", "*load-hook*", "*load-path*",
- "locate-zero", "locsig", "locsig-ref", "locsig-reverb-ref", "locsig-reverb-set!", "locsig-set!",
- "locsig-type", "locsig?", "log-freq-start", "lpc-coeffs", "lpc-predict", "macro?",
- "macroexpand", "main-menu", "main-widgets", "make-abcos", "make-absin", "make-adjustable-sawtooth-wave",
- "make-adjustable-square-wave", "make-adjustable-triangle-wave", "make-all-pass", "make-all-pass-bank", "make-asyfm", "make-asymmetric-fm",
- "make-bandpass", "make-bandstop", "make-bess", "make-biquad", "make-birds", "make-blackman",
- "make-brown-noise", "make-byte-vector", "make-channel-drop-site", "make-color", "make-comb", "make-comb-bank",
- "make-convolve", "make-delay", "make-differentiator", "make-env", "make-eoddcos", "make-ercos",
- "make-erssb", "make-fft-window", "make-file->frample", "make-file->sample", "make-filter", "make-filtered-comb",
- "make-filtered-comb-bank", "make-fir-coeffs", "make-fir-filter", "make-firmant", "make-float-vector", "make-flocsig",
- "make-fmssb", "make-formant", "make-formant-bank", "make-frample->file", "make-granulate", "make-graph-data",
- "make-green-noise", "make-green-noise-interp", "make-hash-table", "make-highpass", "make-hilbert-transform", "make-hook",
- "make-iir-filter", "make-int-vector", "make-iterator", "make-izcos", "make-j0evencos", "make-j0j1cos",
- "make-j2cos", "make-jjcos", "make-jncos", "make-jpcos", "make-jycos", "make-k2cos",
- "make-k2sin", "make-k2ssb", "make-k3sin", "make-krksin", "make-locsig", "make-lowpass",
- "make-mix-sampler", "make-move-sound", "make-moving-autocorrelation", "make-moving-average", "make-moving-fft", "make-moving-max",
- "make-moving-norm", "make-moving-pitch", "make-moving-scentroid", "make-moving-spectrum", "make-n1cos", "make-nchoosekcos",
- "make-ncos", "make-nkssb", "make-noddcos", "make-noddsin", "make-noddssb", "make-noid",
- "make-notch", "make-nrcos", "make-nrsin", "make-nrssb", "make-nrxycos", "make-nrxysin",
- "make-nsin", "make-nsincos", "make-nssb", "make-nxy1cos", "make-nxy1sin", "make-nxycos",
- "make-nxysin", "make-one-pole", "make-one-pole-all-pass", "make-one-zero", "make-oscil", "make-oscil-bank",
- "make-phase-vocoder", "make-pink-noise", "make-pixmap", "make-player", "make-polyoid", "make-polyshape",
- "make-polywave", "make-pulse-train", "make-pulsed-env", "make-r2k!cos", "make-r2k2cos", "make-ramp",
- "make-rand", "make-rand-interp", "make-rcos", "make-readin", "make-region", "make-region-sampler",
- "make-rk!cos", "make-rk!ssb", "make-rkcos", "make-rkoddssb", "make-rksin", "make-rkssb",
- "make-round-interp", "make-rssb", "make-rxycos", "make-rxyk!cos", "make-rxyk!sin", "make-rxysin",
- "make-sample->file", "make-sampler", "make-sawtooth-wave", "make-selection", "make-sinc-train", "make-snd->sample",
- "make-sound-box", "make-spencer-filter", "make-square-wave", "make-src", "make-ssb-am", "make-table-lookup",
- "make-table-lookup-with-env", "make-tanhsin", "make-triangle-wave", "make-two-pole", "make-two-zero", "make-variable-display",
- "make-variable-graph", "make-vct", "make-wave-train", "make-wave-train-with-env", "map-channel", "map-sound-files",
- "maracas", "mark->integer", "mark-click-hook", "mark-click-info", "mark-color", "mark-context",
- "mark-drag-hook", "mark-explode", "mark-home", "mark-hook", "mark-loops", "mark-name",
- "mark-name->id", "mark-properties", "mark-property", "mark-sample", "mark-sync", "mark-sync-color",
- "mark-sync-max", "mark-tag-height", "mark-tag-width", "mark?", "marks", "match-sound-files",
- "max-envelope", "max-regions", "max-transform-peaks", "maxamp", "maxamp-position", "menu-widgets",
- "menus, optional", "min-dB", "mix", "mix->float-vector", "mix->integer", "mix-amp",
- "mix-amp-env", "mix-channel", "mix-click-hook", "mix-click-info", "mix-click-sets-amp", "mix-color",
- "mix-dialog-mix", "mix-drag-hook", "mix-file-dialog", "mix-home", "mix-length", "mix-maxamp",
- "mix-name", "mix-name->id", "mix-position", "mix-properties", "mix-property", "mix-region",
- "mix-release-hook", "mix-sampler?", "mix-selection", "mix-sound", "mix-speed", "mix-sync",
- "mix-sync-max", "mix-tag-height", "mix-tag-width", "mix-tag-y", "mix-vct", "mix-waveform-height",
- "mix?", "mixes", "mono->stereo", "moog-filter", "morally-equal?", "mouse-click-hook",
- "mouse-drag-hook", "mouse-enter-graph-hook", "mouse-enter-label-hook", "mouse-enter-listener-hook", "mouse-enter-text-hook", "mouse-leave-graph-hook",
- "mouse-leave-label-hook", "mouse-leave-listener-hook", "mouse-leave-text-hook", "mouse-press-hook", "move-locsig", "move-mixes",
- "move-sound", "move-sound?", "move-syncd-marks", "moving-autocorrelation", "moving-autocorrelation?", "moving-average",
- "moving-average?", "moving-fft", "moving-fft?", "moving-length", "moving-max", "moving-max?",
- "moving-norm", "moving-norm?", "moving-pitch", "moving-pitch?", "moving-rms", "moving-scentroid",
- "moving-scentroid?", "moving-spectrum", "moving-spectrum?", "moving-sum", "mpg", "mus-alsa-buffer-size",
- "mus-alsa-buffers", "mus-alsa-capture-device", "mus-alsa-device", "mus-alsa-playback-device", "mus-alsa-squelch-warning", "mus-array-print-length",
- "mus-bytes-per-sample", "mus-channel", "mus-channels", "mus-chebyshev-tu-sum", "mus-clipping", "mus-close",
- "mus-copy", "mus-data", "mus-describe", "mus-error-hook", "mus-error-type->string", "mus-expand-filename",
- "mus-feedback", "mus-feedforward", "mus-fft", "mus-file-buffer-size", "mus-file-clipping", "mus-file-mix",
- "mus-file-name", "mus-float-equal-fudge-factor", "mus-frequency", "mus-generator?", "mus-header-raw-defaults", "mus-header-type->string",
- "mus-header-type-name", "mus-hop", "mus-increment", "mus-input?", "mus-interp-type", "mus-interpolate",
- "mus-length", "mus-location", "mus-max-malloc", "mus-max-table-size", "mus-name", "mus-offset",
- "mus-order", "mus-oss-set-buffers", "mus-output?", "mus-phase", "mus-ramp", "mus-rand-seed",
- "mus-random", "mus-reset", "mus-run", "mus-sample-type->string", "mus-sample-type-name", "mus-scaler",
- "mus-sound-chans", "mus-sound-close-input", "mus-sound-close-output", "mus-sound-comment", "mus-sound-data-location", "mus-sound-datum-size",
- "mus-sound-duration", "mus-sound-forget", "mus-sound-framples", "mus-sound-header-type", "mus-sound-length", "mus-sound-loop-info",
- "mus-sound-mark-info", "mus-sound-maxamp", "mus-sound-maxamp-exists?", "mus-sound-open-input", "mus-sound-open-output", "mus-sound-path",
- "mus-sound-preload", "mus-sound-prune", "mus-sound-read", "mus-sound-reopen-output", "mus-sound-report-cache", "mus-sound-sample-type",
- "mus-sound-samples", "mus-sound-seek-frample", "mus-sound-srate", "mus-sound-type-specifier", "mus-sound-write", "mus-sound-write-date",
- "mus-srate", "mus-width", "mus-xcoeff", "mus-xcoeffs", "mus-ycoeff", "mus-ycoeffs",
- "n1cos", "n1cos?", "name-click-hook", "nchoosekcos", "nchoosekcos?", "ncos",
- "ncos2?", "ncos4?", "ncos?", "new-sound", "new-sound-dialog", "new-sound-hook",
- "new-widget-hook", "next-sample", "nkssb", "nkssb-interp", "nkssb?", "noddcos",
- "noddcos?", "noddsin", "noddsin?", "noddssb", "noddssb?", "noid",
- "normalize-channel", "normalize-envelope", "normalize-partials", "normalize-sound", "normalized-mix", "notch",
- "notch-channel", "notch-selection", "notch-sound", "notch?", "npcos?", "nrcos",
- "nrcos?", "nrev", "nrsin", "nrsin?", "nrssb", "nrssb-interp",
- "nrssb?", "nrxycos", "nrxycos?", "nrxysin", "nrxysin?", "nsin",
- "nsin?", "nsincos", "nsincos?", "nssb", "nssb?", "nxy1cos",
- "nxy1cos?", "nxy1sin", "nxy1sin?", "nxycos", "nxycos?", "nxysin",
- "nxysin?", "object->string", "odd-multiple", "odd-weight", "offset-channel", "offset-sound",
- "one-pole", "one-pole-all-pass", "one-pole-all-pass?", "one-pole?", "one-zero", "one-zero?",
- "open-file-dialog", "open-file-dialog-directory", "open-hook", "open-next-file-in-directory", "open-raw-sound", "open-raw-sound-hook",
- "open-sound", "openlet", "openlet?", "orientation-hook", "oscil", "oscil-bank",
- "oscil-bank?", "oscil?", "out-any", "out-bank", "outa", "outlet",
- "*output*", "output-comment-hook", "overlay-rms-env", "owlet", "pad-channel", "pad-marks",
- "pad-sound", "pair-filename", "pair-line-number", "pan-mix", "pan-mix-float-vector", "partials->polynomial",
- "partials->wave", "pausing", "peak-env-dir", "peaks", "peaks-font", "phase-partials->wave",
- "phase-vocoder", "phase-vocoder?", "piano model", "pink-noise", "pink-noise?", "pins",
- "place-sound", "play", "play-arrow-size", "play-between-marks", "play-hook", "play-mixes",
- "play-often", "play-region-forever", "play-sine", "play-sines", "play-syncd-marks", "play-until-c-g",
- "play-with-envs", "player-home", "player?", "players", "playing", "pluck",
- "polar->rectangular", "polynomial", "polynomial operations", "polyoid", "polyoid-env", "polyoid?",
- "polyshape", "polyshape?", "polywave", "polywave?", "port-filename", "port-line-number",
- "position->x", "position->y", "position-color", "power-env", "pqw", "pqw-vox",
- "preferences-dialog", "previous-sample", "print-dialog", "print-length", "procedure-documentation", "procedure-setter",
- "procedure-signature", "procedure-source", "progress-report", "pulse-train", "pulse-train?", "pulsed-env",
- "pulsed-env?", "r2k!cos", "r2k!cos?", "r2k2cos", "r2k2cos?", "radians->degrees",
- "radians->hz", "ramp-channel", "rand", "rand-interp", "rand-interp?", "rand?",
- "random", "random-state", "random-state?", "rcos", "rcos?", "*read-error-hook*",
- "read-hook", "read-mix-sample", "read-only", "read-region-sample", "read-sample", "read-sample-with-direction",
- "reader-cond", "readin", "readin?", "rectangular->magnitudes", "rectangular->polar", "redo",
- "region->integer", "region->vct", "region-chans", "region-framples", "region-graph-style", "region-home",
- "region-maxamp", "region-maxamp-position", "region-play-list", "region-position", "region-rms", "region-sample",
- "region-sampler?", "region-srate", "region?", "regions", "remember-sound-state", "remove-clicks",
- "remove-from-menu", "replace-with-selection", "report-mark-names", "require", "reset-all-hooks", "reset-controls",
- "reset-listener-cursor", "reson", "restore-controls", "*reverb*", "reverb-control-decay", "reverb-control-feedback",
- "reverb-control-length", "reverb-control-length-bounds", "reverb-control-lowpass", "reverb-control-scale", "reverb-control-scale-bounds", "reverb-control?",
- "reverse!", "reverse-by-blocks", "reverse-channel", "reverse-envelope", "reverse-selection", "reverse-sound",
- "revert-sound", "right-sample", "ring-modulate", "rk!cos", "rk!cos?", "rk!ssb",
- "rk!ssb?", "rkcos", "rkcos?", "rkoddssb", "rkoddssb?", "rksin",
- "rksin?", "rkssb", "rkssb?", "rms", "rms, gain, balance gens", "rms-envelope",
- "rootlet", "round-interp", "round-interp?", "rssb", "rssb-interp", "rssb?",
- "rubber-sound", "rxycos", "rxycos?", "rxyk!cos", "rxyk!cos?", "rxyk!sin",
- "rxyk!sin?", "rxysin", "rxysin?", "sample", "sample->file", "sample->file?",
- "sample-type", "sampler-at-end?", "sampler-home", "sampler-position", "sampler?", "samples",
- "samples->seconds", "sash-color", "save-as-dialog-auto-comment", "save-as-dialog-src", "save-controls", "save-dir",
- "save-edit-history", "save-envelopes", "save-hook", "save-listener", "save-mark-properties", "save-marks",
- "save-mix", "save-region", "save-region-dialog", "save-selection", "save-selection-dialog", "save-sound",
- "save-sound-as", "save-sound-dialog", "save-state", "save-state-file", "save-state-hook", "savitzky-golay-filter",
- "sawtooth-wave", "sawtooth-wave?", "scale-by", "scale-channel", "scale-envelope", "scale-mixes",
- "scale-selection-by", "scale-selection-to", "scale-sound", "scale-tempo", "scale-to", "scan-channel",
- "scanned synthesis", "scentroid", "scratch", "script-arg", "script-args", "search-for-click",
- "search-procedure", "seconds->samples", "select-all", "select-channel", "select-channel-hook", "select-sound",
- "select-sound-hook", "selected-channel", "selected-data-color", "selected-graph-color", "selected-sound", "selection",
- "selection->mix", "selection-chans", "selection-color", "selection-context", "selection-creates-region", "selection-framples",
- "selection-maxamp", "selection-maxamp-position", "selection-member?", "selection-members", "selection-position", "selection-rms",
- "selection-srate", "selection?", "set-samples", "short-file-name", "show-axes", "show-controls",
- "show-disk-space", "show-full-duration", "show-full-range", "show-grid", "show-indices", "show-listener",
- "show-marks", "show-mix-waveforms", "show-selection", "show-selection-transform", "show-sonogram-cursor", "show-transform-peaks",
- "show-widget", "show-y-zero", "silence-all-mixes", "silence-mixes", "sinc-train", "sinc-train?",
- "sinc-width", "sine-env-channel", "sine-ramp", "singer", "smooth-channel", "smooth-selection",
- "smooth-sound", "SMS synthesis", "snap-mark-to-beat", "snap-marks", "snap-mix-to-beat", "snd->sample",
- "snd->sample?", "snd-color", "snd-error", "snd-error-hook", "snd-font", "snd-gcs",
- "snd-help", "snd-hooks", "*snd-opened-sound*", "snd-print", "snd-spectrum", "snd-tempnam",
- "snd-url", "snd-urls", "snd-version", "snd-warning", "snd-warning-hook", "sndwarp",
- "sort!", "sound->amp-env", "sound->integer", "sound-file-extensions", "sound-file?", "sound-files-in-directory",
- "sound-interp", "sound-loop-info", "sound-properties", "sound-property", "sound-widgets", "sound?",
- "soundfont-info", "sounds", "sounds->segment-data", "spectra", "spectral interpolation", "spectral-polynomial",
- "spectro-hop", "spectro-x-angle", "spectro-x-scale", "spectro-y-angle", "spectro-y-scale", "spectro-z-angle",
- "spectro-z-scale", "spectrum", "spectrum->coeffs", "spectrum-end", "spectrum-start", "speed-control",
- "speed-control-bounds", "speed-control-style", "speed-control-tones", "spot-freq", "square-wave", "square-wave?",
- "squelch-update", "squelch-vowels", "srate", "src", "src-channel", "src-duration",
- "src-fit-envelope", "src-mixes", "src-selection", "src-sound", "src?", "ssb-am",
- "ssb-am?", "ssb-bank", "ssb-bank-env", "ssb-fm", "start-dac", "start-playing",
- "start-playing-hook", "start-playing-selection-hook", "start-progress-report", "status-report", "stdin-prompt", "stereo->mono",
- "stereo-flute", "stop-player", "stop-playing", "stop-playing-hook", "stop-playing-selection-hook", "stretch-envelope",
- "stretch-sound-via-dft", "string-position", "sublet", "superimpose-ffts", "swap-channels", "swap-selection-channels",
- "symbol->dynamic-value", "symbol->value", "symbol-access", "symbol-table", "sync", "sync-everything",
- "sync-max", "sync-style", "syncd-marks", "syncd-mixes", "syncup", "table-lookup",
- "table-lookup?", "tanhsin", "tanhsin?", "tap", "tap?", "telephone",
- "temp-dir", "text-focus-color", "time-graph-style", "time-graph-type", "time-graph?", "times->samples",
- "tiny-font", "touch-tone", "trace", "tracking-cursor-style", "transform->integer", "transform->vct",
- "transform-dialog", "transform-framples", "transform-graph-style", "transform-graph-type", "transform-graph?", "transform-normalization",
- "transform-sample", "transform-size", "transform-type", "transform?", "transpose-mixes", "triangle-wave",
- "triangle-wave?", "tubebell", "tubular bell", "two-pole", "two-pole?", "two-tab",
- "two-zero", "two-zero?", "unbind-key", "*unbound-variable-hook*", "unclip-channel", "undo",
- "undo-hook", "unlet", "unselect-all", "update-graphs", "update-hook", "update-lisp-graph",
- "update-sound", "update-time-graph", "update-transform-graph", "upon-save-yourself", "user interface extensions", "variable-display",
- "variable-graph?", "varlet", "vct", "vct*", "vct+", "vct->channel",
- "vct->list", "vct->string", "vct->vector", "vct-abs!", "vct-add!", "vct-copy",
- "vct-equal?", "vct-fill!", "vct-length", "vct-max", "vct-min", "vct-move!",
- "vct-multiply!", "vct-offset!", "vct-peak", "vct-ref", "vct-reverse!", "vct-scale!",
- "vct-set!", "vct-subseq", "vct-subtract!", "vct?", "vector->vct", "view-files-amp",
+ "comb?", "combined-data-color", "comment", "complexify", "concatenate-envelopes", "constant?",
+ "continuation?", "continue-frample->file", "continue-sample->file", "contrast-channel", "contrast-control", "contrast-control-amp",
+ "contrast-control-bounds", "contrast-control?", "contrast-enhancement", "contrast-sound", "controls->channel", "convolution",
+ "convolution reverb", "convolve", "convolve-files", "convolve-selection-with", "convolve-with", "convolve?",
+ "copy", "copy-context", "copy-sampler", "correlate", "coverlet", "cross-fade (amplitude)",
+ "cross-fade (frequency domain)", "cross-synthesis", "curlet", "current-font", "cursor", "cursor-color",
+ "cursor-context", "cursor-location-offset", "cursor-position", "cursor-size", "cursor-style", "cursor-update-interval",
+ "cutlet", "cyclic-sequences", "dac-combines-channels", "dac-size", "data-color", "data-location",
+ "data-size", "db->linear", "default-output-chans", "default-output-header-type", "default-output-sample-type", "default-output-srate",
+ "defgenerator", "define*", "define-constant", "define-envelope", "define-expansion", "define-macro",
+ "define-macro*", "define-selection-via-marks", "defined?", "degrees->radians", "delay", "delay-channel-mixes",
+ "delay-tick", "delay?", "delete-colormap", "delete-file-filter", "delete-file-sorter", "delete-mark",
+ "delete-marks", "delete-sample", "delete-samples", "delete-samples-and-smooth", "delete-selection", "delete-selection-and-smooth",
+ "delete-transform", "describe-hook", "describe-mark", "dht", "dialog-widgets", "dilambda",
+ "disable-control-panel", "display-bark-fft", "display-correlation", "display-db", "display-edits", "display-energy",
+ "dissolve-fade", "dither-channel", "dither-sound", "dolph", "dot-product", "dot-size",
+ "down-oct", "draw-axes", "draw-dot", "draw-dots", "draw-line", "draw-lines",
+ "draw-mark-hook", "draw-mix-hook", "draw-string", "drone", "drop sites", "drop-hook",
+ "during-open-hook", "edit-fragment", "edit-header-dialog", "edit-hook", "edit-list->function", "edit-position",
+ "edit-properties", "edit-property", "edit-tree", "edits", "edot-product", "effects-hook",
+ "elliptic filters", "env", "env-any", "env-channel", "env-channel-with-base", "env-expt-channel",
+ "env-interp", "env-mixes", "env-selection", "env-sound", "env-sound-interp", "env-squared-channel",
+ "env?", "enved-base", "enved-clip?", "enved-dialog", "enved-envelope", "enved-filter",
+ "enved-filter-order", "enved-hook", "enved-in-dB", "enved-power", "enved-style", "enved-target",
+ "enved-wave?", "enved-waveform-color", "envelope-interp", "enveloped-mix", "eoddcos", "eoddcos?",
+ "eps-bottom-margin", "eps-file", "eps-left-margin", "eps-size", "ercos", "ercos?",
+ "*error-hook*", "erssb", "erssb?", "even-multiple", "even-weight", "every-sample?",
+ "exit", "exit-hook", "expand-control", "expand-control-bounds", "expand-control-hop", "expand-control-jitter",
+ "expand-control-length", "expand-control-ramp", "expand-control?", "explode-sf2", "exponentially-weighted-moving-average", "expsnd",
+ "expsrc", "*features*", "feedback fm", "fft", "fft-cancel", "fft-edit",
+ "fft-env-edit", "fft-env-interp", "fft-log-frequency", "fft-log-magnitude", "fft-smoother", "fft-squelch",
+ "fft-window", "fft-window-alpha", "fft-window-beta", "fft-with-phases", "file database", "file->array",
+ "file->frample", "file->frample?", "file->sample", "file->sample?", "file-name", "fill!",
+ "fill-polygon", "fill-rectangle", "filter", "filter-channel", "filter-control-coeffs", "filter-control-envelope",
+ "filter-control-in-dB", "filter-control-in-hz", "filter-control-order", "filter-control-waveform-color", "filter-control?", "filter-fft",
+ "filter-selection", "filter-selection-and-smooth", "filter-sound", "filter?", "filtered-comb", "filtered-comb-bank",
+ "filtered-comb-bank?", "filtered-comb?", "find-dialog", "find-mark", "find-mix", "find-sound",
+ "finfo", "finish-progress-report", "fir-filter", "fir-filter?", "firmant", "firmant?",
+ "fit-selection-between-marks", "flatten-partials", "float-vector", "float-vector*", "float-vector+", "float-vector->channel",
+ "float-vector->list", "float-vector->string", "float-vector-abs!", "float-vector-add!", "float-vector-copy", "float-vector-equal?",
+ "float-vector-fill!", "float-vector-length", "float-vector-max", "float-vector-min", "float-vector-move!", "float-vector-multiply!",
+ "float-vector-offset!", "float-vector-peak", "float-vector-polynomial", "float-vector-ref", "float-vector-reverse!", "float-vector-scale!",
+ "float-vector-set!", "float-vector-subseq", "float-vector-subtract!", "float-vector?", "flocsig", "flocsig?",
+ "flute model", "fm-bell", "fm-drum", "fm-noise", "fm-parallel-component", "fm-talker",
+ "fm-trumpet", "fm-violin", "fm-voice", "fmssb", "fmssb?", "focus-widget",
+ "FOF synthesis", "fofins", "for-each-child", "for-each-sound-file", "Forbidden Planet", "foreground-color",
+ "forget-region", "formant", "formant-bank", "formant-bank?", "formant?", "format",
+ "fp", "fractional-fourier-transform", "frample->file", "frample->file?", "frample->frample", "framples",
+ "free-player", "free-sampler", "freeverb", "fullmix", "funclet", "gaussian-distribution",
+ "gc-off", "gc-on", "gensym", "gensym?", "gl-graph->ps", "glSpectrogram",
+ "goertzel", "goto-listener-end", "grani", "granulate", "granulate?", "granulated-sound-interp",
+ "graph", "graph->ps", "graph-color", "graph-cursor", "graph-data", "graph-hook",
+ "graph-style", "graphic equalizer", "graphs-horizontal", "green-noise", "green-noise-interp", "green-noise-interp?",
+ "green-noise?", "grid-density", "harmonicizer", "Hartley transform", "hash-table", "hash-table*",
+ "hash-table-entries", "hash-table-ref", "hash-table-set!", "hash-table?", "header-type", "hello-dentist",
+ "help-dialog", "help-hook", "hide-widget", "highlight-color", "hilbert-transform", "hook-functions",
+ "hook-member", "html", "html-dir", "html-program", "hz->radians", "iir-filter",
+ "iir-filter?", "in", "in-any", "ina", "inb", "info-dialog",
+ "init-ladspa", "initial-beg", "initial-dur", "initial-graph-hook", "inlet", "insert-channel",
+ "insert-file-dialog", "insert-region", "insert-sample", "insert-samples", "insert-selection", "insert-silence",
+ "insert-sound", "int-vector", "int-vector-ref", "int-vector-set!", "int-vector?", "integer->colormap",
+ "integer->mark", "integer->mix", "integer->region", "integer->sound", "integer->transform", "integrate-envelope",
+ "invert-filter", "iterate", "iterator-at-end?", "iterator-sequence", "iterator?", "izcos",
+ "izcos?", "j0evencos", "j0evencos?", "j0j1cos", "j0j1cos?", "j2cos",
+ "j2cos?", "jc-reverb", "jjcos", "jjcos?", "jncos", "jncos?",
+ "jpcos", "jpcos?", "just-sounds", "jycos", "jycos?", "k2cos",
+ "k2cos?", "k2sin", "k2sin?", "k2ssb", "k2ssb?", "k3sin",
+ "k3sin?", "kalman-filter-channel", "key", "key-binding", "key-press-hook", "krksin",
+ "krksin?", "ladspa-descriptor", "ladspa-dir", "lambda*", "lbj-piano", "left-sample",
+ "let->list", "let-ref", "let-set!", "let?", "linear->db", "linear-src-channel",
+ "lint for scheme", "lisp-graph-hook", "lisp-graph-style", "lisp-graph?", "list->float-vector", "list->vct",
+ "list-ladspa", "listener-click-hook", "listener-color", "listener-colorized", "listener-font", "listener-prompt",
+ "listener-selection", "listener-text-color", "little-endian?", "*load-hook*", "*load-path*", "locate-zero",
+ "locsig", "locsig-ref", "locsig-reverb-ref", "locsig-reverb-set!", "locsig-set!", "locsig-type",
+ "locsig?", "log-freq-start", "lpc-coeffs", "lpc-predict", "macro?", "macroexpand",
+ "main-menu", "main-widgets", "make-abcos", "make-absin", "make-adjustable-sawtooth-wave", "make-adjustable-square-wave",
+ "make-adjustable-triangle-wave", "make-all-pass", "make-all-pass-bank", "make-asyfm", "make-asymmetric-fm", "make-bandpass",
+ "make-bandstop", "make-bess", "make-biquad", "make-birds", "make-blackman", "make-brown-noise",
+ "make-byte-vector", "make-channel-drop-site", "make-color", "make-comb", "make-comb-bank", "make-convolve",
+ "make-delay", "make-differentiator", "make-env", "make-eoddcos", "make-ercos", "make-erssb",
+ "make-fft-window", "make-file->frample", "make-file->sample", "make-filter", "make-filtered-comb", "make-filtered-comb-bank",
+ "make-fir-coeffs", "make-fir-filter", "make-firmant", "make-float-vector", "make-flocsig", "make-fmssb",
+ "make-formant", "make-formant-bank", "make-frample->file", "make-granulate", "make-graph-data", "make-green-noise",
+ "make-green-noise-interp", "make-hash-table", "make-highpass", "make-hilbert-transform", "make-hook", "make-iir-filter",
+ "make-int-vector", "make-iterator", "make-izcos", "make-j0evencos", "make-j0j1cos", "make-j2cos",
+ "make-jjcos", "make-jncos", "make-jpcos", "make-jycos", "make-k2cos", "make-k2sin",
+ "make-k2ssb", "make-k3sin", "make-krksin", "make-locsig", "make-lowpass", "make-mix-sampler",
+ "make-move-sound", "make-moving-autocorrelation", "make-moving-average", "make-moving-fft", "make-moving-max", "make-moving-norm",
+ "make-moving-pitch", "make-moving-scentroid", "make-moving-spectrum", "make-n1cos", "make-nchoosekcos", "make-ncos",
+ "make-nkssb", "make-noddcos", "make-noddsin", "make-noddssb", "make-noid", "make-notch",
+ "make-nrcos", "make-nrsin", "make-nrssb", "make-nrxycos", "make-nrxysin", "make-nsin",
+ "make-nsincos", "make-nssb", "make-nxy1cos", "make-nxy1sin", "make-nxycos", "make-nxysin",
+ "make-one-pole", "make-one-pole-all-pass", "make-one-zero", "make-oscil", "make-oscil-bank", "make-phase-vocoder",
+ "make-pink-noise", "make-pixmap", "make-player", "make-polyoid", "make-polyshape", "make-polywave",
+ "make-pulse-train", "make-pulsed-env", "make-r2k!cos", "make-r2k2cos", "make-ramp", "make-rand",
+ "make-rand-interp", "make-rcos", "make-readin", "make-region", "make-region-sampler", "make-rk!cos",
+ "make-rk!ssb", "make-rkcos", "make-rkoddssb", "make-rksin", "make-rkssb", "make-round-interp",
+ "make-rssb", "make-rxycos", "make-rxyk!cos", "make-rxyk!sin", "make-rxysin", "make-sample->file",
+ "make-sampler", "make-sawtooth-wave", "make-selection", "make-sinc-train", "make-snd->sample", "make-sound-box",
+ "make-spencer-filter", "make-square-wave", "make-src", "make-ssb-am", "make-table-lookup", "make-table-lookup-with-env",
+ "make-tanhsin", "make-triangle-wave", "make-two-pole", "make-two-zero", "make-variable-display", "make-variable-graph",
+ "make-vct", "make-wave-train", "make-wave-train-with-env", "map-channel", "map-sound-files", "maracas",
+ "mark->integer", "mark-click-hook", "mark-click-info", "mark-color", "mark-context", "mark-drag-hook",
+ "mark-explode", "mark-home", "mark-hook", "mark-loops", "mark-name", "mark-name->id",
+ "mark-properties", "mark-property", "mark-sample", "mark-sync", "mark-sync-color", "mark-sync-max",
+ "mark-tag-height", "mark-tag-width", "mark?", "marks", "match-sound-files", "max-envelope",
+ "max-regions", "max-transform-peaks", "maxamp", "maxamp-position", "menu-widgets", "menus, optional",
+ "min-dB", "mix", "mix->float-vector", "mix->integer", "mix-amp", "mix-amp-env",
+ "mix-channel", "mix-click-hook", "mix-click-info", "mix-click-sets-amp", "mix-color", "mix-dialog-mix",
+ "mix-drag-hook", "mix-file-dialog", "mix-home", "mix-length", "mix-maxamp", "mix-name",
+ "mix-name->id", "mix-position", "mix-properties", "mix-property", "mix-region", "mix-release-hook",
+ "mix-sampler?", "mix-selection", "mix-sound", "mix-speed", "mix-sync", "mix-sync-max",
+ "mix-tag-height", "mix-tag-width", "mix-tag-y", "mix-vct", "mix-waveform-height", "mix?",
+ "mixes", "mono->stereo", "moog-filter", "morally-equal?", "mouse-click-hook", "mouse-drag-hook",
+ "mouse-enter-graph-hook", "mouse-enter-label-hook", "mouse-enter-listener-hook", "mouse-enter-text-hook", "mouse-leave-graph-hook", "mouse-leave-label-hook",
+ "mouse-leave-listener-hook", "mouse-leave-text-hook", "mouse-press-hook", "move-locsig", "move-mixes", "move-sound",
+ "move-sound?", "move-syncd-marks", "moving-autocorrelation", "moving-autocorrelation?", "moving-average", "moving-average?",
+ "moving-fft", "moving-fft?", "moving-length", "moving-max", "moving-max?", "moving-norm",
+ "moving-norm?", "moving-pitch", "moving-pitch?", "moving-rms", "moving-scentroid", "moving-scentroid?",
+ "moving-spectrum", "moving-spectrum?", "moving-sum", "mpg", "mus-alsa-buffer-size", "mus-alsa-buffers",
+ "mus-alsa-capture-device", "mus-alsa-device", "mus-alsa-playback-device", "mus-alsa-squelch-warning", "mus-array-print-length", "mus-bytes-per-sample",
+ "mus-channel", "mus-channels", "mus-chebyshev-tu-sum", "mus-clipping", "mus-close", "mus-copy",
+ "mus-data", "mus-describe", "mus-error-hook", "mus-error-type->string", "mus-expand-filename", "mus-feedback",
+ "mus-feedforward", "mus-fft", "mus-file-buffer-size", "mus-file-clipping", "mus-file-mix", "mus-file-name",
+ "mus-float-equal-fudge-factor", "mus-frequency", "mus-generator?", "mus-header-raw-defaults", "mus-header-type->string", "mus-header-type-name",
+ "mus-hop", "mus-increment", "mus-input?", "mus-interp-type", "mus-interpolate", "mus-length",
+ "mus-location", "mus-max-malloc", "mus-max-table-size", "mus-name", "mus-offset", "mus-order",
+ "mus-oss-set-buffers", "mus-output?", "mus-phase", "mus-ramp", "mus-rand-seed", "mus-random",
+ "mus-reset", "mus-run", "mus-sample-type->string", "mus-sample-type-name", "mus-scaler", "mus-sound-chans",
+ "mus-sound-close-input", "mus-sound-close-output", "mus-sound-comment", "mus-sound-data-location", "mus-sound-datum-size", "mus-sound-duration",
+ "mus-sound-forget", "mus-sound-framples", "mus-sound-header-type", "mus-sound-length", "mus-sound-loop-info", "mus-sound-mark-info",
+ "mus-sound-maxamp", "mus-sound-maxamp-exists?", "mus-sound-open-input", "mus-sound-open-output", "mus-sound-path", "mus-sound-preload",
+ "mus-sound-prune", "mus-sound-read", "mus-sound-reopen-output", "mus-sound-report-cache", "mus-sound-sample-type", "mus-sound-samples",
+ "mus-sound-seek-frample", "mus-sound-srate", "mus-sound-type-specifier", "mus-sound-write", "mus-sound-write-date", "mus-srate",
+ "mus-width", "mus-xcoeff", "mus-xcoeffs", "mus-ycoeff", "mus-ycoeffs", "n1cos",
+ "n1cos?", "name-click-hook", "nchoosekcos", "nchoosekcos?", "ncos", "ncos2?",
+ "ncos4?", "ncos?", "new-sound", "new-sound-dialog", "new-sound-hook", "new-widget-hook",
+ "next-sample", "nkssb", "nkssb-interp", "nkssb?", "noddcos", "noddcos?",
+ "noddsin", "noddsin?", "noddssb", "noddssb?", "noid", "normalize-channel",
+ "normalize-envelope", "normalize-partials", "normalize-sound", "normalized-mix", "notch", "notch-channel",
+ "notch-selection", "notch-sound", "notch?", "npcos?", "nrcos", "nrcos?",
+ "nrev", "nrsin", "nrsin?", "nrssb", "nrssb-interp", "nrssb?",
+ "nrxycos", "nrxycos?", "nrxysin", "nrxysin?", "nsin", "nsin?",
+ "nsincos", "nsincos?", "nssb", "nssb?", "nxy1cos", "nxy1cos?",
+ "nxy1sin", "nxy1sin?", "nxycos", "nxycos?", "nxysin", "nxysin?",
+ "object->string", "odd-multiple", "odd-weight", "offset-channel", "offset-sound", "one-pole",
+ "one-pole-all-pass", "one-pole-all-pass?", "one-pole?", "one-zero", "one-zero?", "open-file-dialog",
+ "open-file-dialog-directory", "open-hook", "open-next-file-in-directory", "open-raw-sound", "open-raw-sound-hook", "open-sound",
+ "openlet", "openlet?", "orientation-hook", "oscil", "oscil-bank", "oscil-bank?",
+ "oscil?", "out-any", "out-bank", "outa", "outlet", "*output*",
+ "output-comment-hook", "overlay-rms-env", "owlet", "pad-channel", "pad-marks", "pad-sound",
+ "pair-filename", "pair-line-number", "pan-mix", "pan-mix-float-vector", "partials->polynomial", "partials->wave",
+ "pausing", "peak-env-dir", "peaks", "peaks-font", "phase-partials->wave", "phase-vocoder",
+ "phase-vocoder?", "piano model", "pink-noise", "pink-noise?", "pins", "place-sound",
+ "play", "play-arrow-size", "play-between-marks", "play-hook", "play-mixes", "play-often",
+ "play-region-forever", "play-sine", "play-sines", "play-syncd-marks", "play-until-c-g", "play-with-envs",
+ "player-home", "player?", "players", "playing", "pluck", "polar->rectangular",
+ "polynomial", "polynomial operations", "polyoid", "polyoid-env", "polyoid?", "polyshape",
+ "polyshape?", "polywave", "polywave?", "port-filename", "port-line-number", "position->x",
+ "position->y", "position-color", "power-env", "pqw", "pqw-vox", "preferences-dialog",
+ "previous-sample", "print-dialog", "print-length", "procedure-documentation", "procedure-setter", "procedure-signature",
+ "procedure-source", "progress-report", "pulse-train", "pulse-train?", "pulsed-env", "pulsed-env?",
+ "r2k!cos", "r2k!cos?", "r2k2cos", "r2k2cos?", "radians->degrees", "radians->hz",
+ "ramp-channel", "rand", "rand-interp", "rand-interp?", "rand?", "random",
+ "random-state", "random-state?", "rcos", "rcos?", "*read-error-hook*", "read-hook",
+ "read-mix-sample", "read-only", "read-region-sample", "read-sample", "read-sample-with-direction", "reader-cond",
+ "readin", "readin?", "rectangular->magnitudes", "rectangular->polar", "redo", "region->integer",
+ "region->vct", "region-chans", "region-framples", "region-graph-style", "region-home", "region-maxamp",
+ "region-maxamp-position", "region-play-list", "region-position", "region-rms", "region-sample", "region-sampler?",
+ "region-srate", "region?", "regions", "remember-sound-state", "remove-clicks", "remove-from-menu",
+ "replace-with-selection", "report-mark-names", "require", "reset-all-hooks", "reset-controls", "reset-listener-cursor",
+ "reson", "restore-controls", "*reverb*", "reverb-control-decay", "reverb-control-feedback", "reverb-control-length",
+ "reverb-control-length-bounds", "reverb-control-lowpass", "reverb-control-scale", "reverb-control-scale-bounds", "reverb-control?", "reverse!",
+ "reverse-by-blocks", "reverse-channel", "reverse-envelope", "reverse-selection", "reverse-sound", "revert-sound",
+ "right-sample", "ring-modulate", "rk!cos", "rk!cos?", "rk!ssb", "rk!ssb?",
+ "rkcos", "rkcos?", "rkoddssb", "rkoddssb?", "rksin", "rksin?",
+ "rkssb", "rkssb?", "rms", "rms, gain, balance gens", "rms-envelope", "rootlet",
+ "round-interp", "round-interp?", "rssb", "rssb-interp", "rssb?", "rubber-sound",
+ "rxycos", "rxycos?", "rxyk!cos", "rxyk!cos?", "rxyk!sin", "rxyk!sin?",
+ "rxysin", "rxysin?", "sample", "sample->file", "sample->file?", "sample-type",
+ "sampler-at-end?", "sampler-home", "sampler-position", "sampler?", "samples", "samples->seconds",
+ "sash-color", "save-as-dialog-auto-comment", "save-as-dialog-src", "save-controls", "save-dir", "save-edit-history",
+ "save-envelopes", "save-hook", "save-listener", "save-mark-properties", "save-marks", "save-mix",
+ "save-region", "save-region-dialog", "save-selection", "save-selection-dialog", "save-sound", "save-sound-as",
+ "save-sound-dialog", "save-state", "save-state-file", "save-state-hook", "savitzky-golay-filter", "sawtooth-wave",
+ "sawtooth-wave?", "scale-by", "scale-channel", "scale-envelope", "scale-mixes", "scale-selection-by",
+ "scale-selection-to", "scale-sound", "scale-tempo", "scale-to", "scan-channel", "scanned synthesis",
+ "scentroid", "scratch", "script-arg", "script-args", "search-for-click", "search-procedure",
+ "seconds->samples", "select-all", "select-channel", "select-channel-hook", "select-sound", "select-sound-hook",
+ "selected-channel", "selected-data-color", "selected-graph-color", "selected-sound", "selection", "selection->mix",
+ "selection-chans", "selection-color", "selection-context", "selection-creates-region", "selection-framples", "selection-maxamp",
+ "selection-maxamp-position", "selection-member?", "selection-members", "selection-position", "selection-rms", "selection-srate",
+ "selection?", "set-samples", "short-file-name", "show-axes", "show-controls", "show-disk-space",
+ "show-full-duration", "show-full-range", "show-grid", "show-indices", "show-listener", "show-marks",
+ "show-mix-waveforms", "show-selection", "show-selection-transform", "show-sonogram-cursor", "show-transform-peaks", "show-widget",
+ "show-y-zero", "silence-all-mixes", "silence-mixes", "sinc-train", "sinc-train?", "sinc-width",
+ "sine-env-channel", "sine-ramp", "singer", "smooth-channel", "smooth-selection", "smooth-sound",
+ "SMS synthesis", "snap-mark-to-beat", "snap-marks", "snap-mix-to-beat", "snd->sample", "snd->sample?",
+ "snd-color", "snd-error", "snd-error-hook", "snd-font", "snd-gcs", "snd-help",
+ "snd-hooks", "*snd-opened-sound*", "snd-print", "snd-spectrum", "snd-tempnam", "snd-url",
+ "snd-urls", "snd-version", "snd-warning", "snd-warning-hook", "sndwarp", "sort!",
+ "sound->amp-env", "sound->integer", "sound-file-extensions", "sound-file?", "sound-files-in-directory", "sound-interp",
+ "sound-loop-info", "sound-properties", "sound-property", "sound-widgets", "sound?", "soundfont-info",
+ "sounds", "sounds->segment-data", "spectra", "spectral interpolation", "spectral-polynomial", "spectro-hop",
+ "spectro-x-angle", "spectro-x-scale", "spectro-y-angle", "spectro-y-scale", "spectro-z-angle", "spectro-z-scale",
+ "spectrum", "spectrum->coeffs", "spectrum-end", "spectrum-start", "speed-control", "speed-control-bounds",
+ "speed-control-style", "speed-control-tones", "spot-freq", "square-wave", "square-wave?", "squelch-update",
+ "squelch-vowels", "srate", "src", "src-channel", "src-duration", "src-fit-envelope",
+ "src-mixes", "src-selection", "src-sound", "src?", "ssb-am", "ssb-am?",
+ "ssb-bank", "ssb-bank-env", "ssb-fm", "start-dac", "start-playing", "start-playing-hook",
+ "start-playing-selection-hook", "start-progress-report", "status-report", "stdin-prompt", "stereo->mono", "stereo-flute",
+ "stop-player", "stop-playing", "stop-playing-hook", "stop-playing-selection-hook", "stretch-envelope", "stretch-sound-via-dft",
+ "string-position", "sublet", "superimpose-ffts", "swap-channels", "swap-selection-channels", "symbol->dynamic-value",
+ "symbol->value", "symbol-access", "symbol-table", "sync", "sync-everything", "sync-max",
+ "sync-style", "syncd-marks", "syncd-mixes", "syncup", "table-lookup", "table-lookup?",
+ "tanhsin", "tanhsin?", "tap", "tap?", "telephone", "temp-dir",
+ "text-focus-color", "time-graph-style", "time-graph-type", "time-graph?", "times->samples", "tiny-font",
+ "touch-tone", "trace", "tracking-cursor-style", "transform->integer", "transform->vct", "transform-dialog",
+ "transform-framples", "transform-graph-style", "transform-graph-type", "transform-graph?", "transform-normalization", "transform-sample",
+ "transform-size", "transform-type", "transform?", "transpose-mixes", "triangle-wave", "triangle-wave?",
+ "tubebell", "tubular bell", "two-pole", "two-pole?", "two-tab", "two-zero",
+ "two-zero?", "unbind-key", "*unbound-variable-hook*", "unclip-channel", "undo", "undo-hook",
+ "unlet", "unselect-all", "update-graphs", "update-hook", "update-lisp-graph", "update-sound",
+ "update-time-graph", "update-transform-graph", "upon-save-yourself", "user interface extensions", "variable-display", "variable-graph?",
+ "varlet", "vct", "vct*", "vct+", "vct->channel", "vct->list",
+ "vct->string", "vct->vector", "vct-abs!", "vct-add!", "vct-copy", "vct-equal?",
+ "vct-fill!", "vct-length", "vct-max", "vct-min", "vct-move!", "vct-multiply!",
+ "vct-offset!", "vct-peak", "vct-ref", "vct-reverse!", "vct-scale!", "vct-set!",
+ "vct-subseq", "vct-subtract!", "vct?", "vector->vct", "vibrating-uniform-circular-string", "view-files-amp",
  "view-files-amp-env", "view-files-dialog", "view-files-files", "view-files-select-hook", "view-files-selected-files", "view-files-sort",
  "view-files-speed", "view-files-speed-style", "view-mixes-dialog", "view-regions-dialog", "view-sound", "voice physical model",
  "voiced->unvoiced", "volterra-filter", "vox", "wave-train", "wave-train?", "wavelet-type",
@@ -300,235 +300,235 @@ static const char *help_names[HELP_NAMES_SIZE] = {
  "close_sound", "color2list", "color_cutoff", "color_hook", "color_inverted", "color_mixes",
  "color_orientation_dialog", "color_scale", "color?", "colormap", "colormap2integer", "colormap_name",
  "colormap_ref", "colormap_size", "colormap?", "comb", "comb_bank", "comb_bank?",
- "comb?", "combined_data_color", "comment", "complexify", "compute_uniform_circular_string", "concatenate_envelopes",
- "constant?", "continuation?", "continue_frample2file", "continue_sample2file", "contrast_channel", "contrast_control",
- "contrast_control_amp", "contrast_control_bounds", "contrast_control?", "contrast_enhancement", "contrast_sound", "controls2channel",
- "convolution", "convolution_reverb", "convolve", "convolve_files", "convolve_selection_with", "convolve_with",
- "convolve?", "copy", "Copy_context", "copy_sampler", "correlate", "coverlet",
- "cross_fade__amplitude_", "cross_fade__frequency_domain_", "cross_synthesis", "curlet", "current_font", "cursor",
- "cursor_color", "Cursor_context", "cursor_location_offset", "cursor_position", "cursor_size", "cursor_style",
- "cursor_update_interval", "cutlet", "cyclic_sequences", "dac_combines_channels", "dac_size", "data_color",
- "data_location", "data_size", "db2linear", "default_output_chans", "default_output_header_type", "default_output_sample_type",
- "default_output_srate", "defgenerator", "define_", "define_constant", "define_envelope", "define_expansion",
- "define_macro", "define_macro_", "define_selection_via_marks", "defined?", "degrees2radians", "delay",
- "delay_channel_mixes", "delay_tick", "delay?", "delete_colormap", "delete_file_filter", "delete_file_sorter",
- "delete_mark", "delete_marks", "delete_sample", "delete_samples", "delete_samples_and_smooth", "delete_selection",
- "delete_selection_and_smooth", "delete_transform", "describe_hook", "describe_mark", "dht", "dialog_widgets",
- "dilambda", "disable_control_panel", "display_bark_fft", "display_correlation", "display_db", "display_edits",
- "display_energy", "dissolve_fade", "dither_channel", "dither_sound", "dolph", "dot_product",
- "dot_size", "down_oct", "draw_axes", "draw_dot", "draw_dots", "draw_line",
- "draw_lines", "draw_mark_hook", "draw_mix_hook", "draw_string", "drone", "drop_sites",
- "drop_hook", "during_open_hook", "edit_fragment", "edit_header_dialog", "edit_hook", "edit_list2function",
- "edit_position", "edit_properties", "edit_property", "edit_tree", "edits", "edot_product",
- "effects_hook", "elliptic_filters", "env", "env_any", "env_channel", "env_channel_with_base",
- "env_expt_channel", "env_interp", "env_mixes", "env_selection", "env_sound", "env_sound_interp",
- "env_squared_channel", "env?", "enved_base", "enved_clip?", "enved_dialog", "enved_envelope",
- "enved_filter", "enved_filter_order", "enved_hook", "enved_in_dB", "enved_power", "enved_style",
- "enved_target", "enved_wave?", "enved_waveform_color", "envelope_interp", "enveloped_mix", "eoddcos",
- "eoddcos?", "eps_bottom_margin", "eps_file", "eps_left_margin", "eps_size", "ercos",
- "ercos?", "_error_hook_", "erssb", "erssb?", "even_multiple", "even_weight",
- "every_sample?", "exit", "exit_hook", "expand_control", "expand_control_bounds", "expand_control_hop",
- "expand_control_jitter", "expand_control_length", "expand_control_ramp", "expand_control?", "explode_sf2", "exponentially_weighted_moving_average",
- "expsnd", "expsrc", "_features_", "feedback_fm", "fft", "fft_cancel",
- "fft_edit", "fft_env_edit", "fft_env_interp", "fft_log_frequency", "fft_log_magnitude", "fft_smoother",
- "fft_squelch", "fft_window", "fft_window_alpha", "fft_window_beta", "fft_with_phases", "file_database",
- "file2array", "file2frample", "file2frample?", "file2sample", "file2sample?", "file_name",
- "fill!", "fill_polygon", "fill_rectangle", "filter", "filter_channel", "filter_control_coeffs",
- "filter_control_envelope", "filter_control_in_dB", "filter_control_in_hz", "filter_control_order", "filter_control_waveform_color", "filter_control?",
- "filter_fft", "filter_selection", "filter_selection_and_smooth", "filter_sound", "filter?", "filtered_comb",
- "filtered_comb_bank", "filtered_comb_bank?", "filtered_comb?", "find_dialog", "find_mark", "find_mix",
- "find_sound", "finfo", "finish_progress_report", "fir_filter", "fir_filter?", "firmant",
- "firmant?", "fit_selection_between_marks", "flatten_partials", "float_vector", "float-vector_multiply", "float-vector_add",
- "float_vector2channel", "float_vector2list", "float_vector2string", "float_vector_abs!", "float_vector_add!", "float_vector_copy",
- "float_vector_equal?", "float_vector_fill!", "float_vector_length", "float_vector_max", "float_vector_min", "float_vector_move!",
- "float_vector_multiply!", "float_vector_offset!", "float_vector_peak", "float_vector_polynomial", "float_vector_ref", "float_vector_reverse!",
- "float_vector_scale!", "float_vector_set!", "float_vector_subseq", "float_vector_subtract!", "float_vector?", "flocsig",
- "flocsig?", "flute_model", "fm_bell", "fm_drum", "fm_noise", "fm_parallel_component",
- "fm_talker", "fm_trumpet", "fm_violin", "fm_voice", "fmssb", "fmssb?",
- "focus_widget", "FOF_synthesis", "fofins", "for_each_child", "for_each_sound_file", "Forbidden_Planet",
- "foreground_color", "forget_region", "formant", "formant_bank", "formant_bank?", "formant?",
- "format", "fp", "fractional_fourier_transform", "frample2file", "frample2file?", "frample2frample",
- "framples", "free_player", "free_sampler", "freeverb", "fullmix", "funclet",
- "gaussian_distribution", "gc_off", "gc_on", "gensym", "gensym?", "gl_graph2ps",
- "glSpectrogram", "goertzel", "goto_listener_end", "grani", "granulate", "granulate?",
- "granulated_sound_interp", "graph", "graph2ps", "graph_color", "graph_cursor", "graph_data",
- "graph_hook", "graph_style", "graphic_equalizer", "graphs_horizontal", "green_noise", "green_noise_interp",
- "green_noise_interp?", "green_noise?", "grid_density", "harmonicizer", "Hartley_transform", "hash_table",
- "hash_table_", "hash_table_entries", "hash_table_ref", "hash_table_set!", "hash_table?", "header_type",
- "hello_dentist", "help_dialog", "help_hook", "hide_widget", "highlight_color", "hilbert_transform",
- "hook_functions", "hook_member", "html", "html_dir", "html_program", "hz2radians",
- "iir_filter", "iir_filter?", "call_in", "in_any", "ina", "inb",
- "info_dialog", "init_ladspa", "initial_beg", "initial_dur", "initial_graph_hook", "inlet",
- "insert_channel", "insert_file_dialog", "insert_region", "insert_sample", "insert_samples", "insert_selection",
- "insert_silence", "insert_sound", "int_vector", "int_vector_ref", "int_vector_set!", "int_vector?",
- "integer2colormap", "integer2mark", "integer2mix", "integer2region", "integer2sound", "integer2transform",
- "integrate_envelope", "invert_filter", "iterate", "iterator_at_end?", "iterator_sequence", "iterator?",
- "izcos", "izcos?", "j0evencos", "j0evencos?", "j0j1cos", "j0j1cos?",
- "j2cos", "j2cos?", "jc_reverb", "jjcos", "jjcos?", "jncos",
- "jncos?", "jpcos", "jpcos?", "just_sounds", "jycos", "jycos?",
- "k2cos", "k2cos?", "k2sin", "k2sin?", "k2ssb", "k2ssb?",
- "k3sin", "k3sin?", "kalman_filter_channel", "key", "key_binding", "key_press_hook",
- "krksin", "krksin?", "ladspa_descriptor", "ladspa_dir", "lambda_", "lbj_piano",
- "left_sample", "let2list", "let_ref", "let_set!", "let?", "linear2db",
- "linear_src_channel", "lint_for_scheme", "lisp_graph_hook", "lisp_graph_style", "lisp_graph?", "list2float_vector",
- "list2vct", "list_ladspa", "listener_click_hook", "listener_color", "listener_colorized", "listener_font",
- "listener_prompt", "listener_selection", "listener_text_color", "little_endian?", "_load_hook_", "_load_path_",
- "locate_zero", "locsig", "locsig_ref", "locsig_reverb_ref", "locsig_reverb_set!", "locsig_set!",
- "locsig_type", "locsig?", "log_freq_start", "lpc_coeffs", "lpc_predict", "macro?",
- "macroexpand", "main_menu", "main_widgets", "make_abcos", "make_absin", "make_adjustable_sawtooth_wave",
- "make_adjustable_square_wave", "make_adjustable_triangle_wave", "make_all_pass", "make_all_pass_bank", "make_asyfm", "make_asymmetric_fm",
- "make_bandpass", "make_bandstop", "make_bess", "make_biquad", "make_birds", "make_blackman",
- "make_brown_noise", "make_byte_vector", "make_channel_drop_site", "make_color", "make_comb", "make_comb_bank",
- "make_convolve", "make_delay", "make_differentiator", "make_env", "make_eoddcos", "make_ercos",
- "make_erssb", "make_fft_window", "make_file2frample", "make_file2sample", "make_filter", "make_filtered_comb",
- "make_filtered_comb_bank", "make_fir_coeffs", "make_fir_filter", "make_firmant", "make_float_vector", "make_flocsig",
- "make_fmssb", "make_formant", "make_formant_bank", "make_frample2file", "make_granulate", "make_graph_data",
- "make_green_noise", "make_green_noise_interp", "make_hash_table", "make_highpass", "make_hilbert_transform", "make_hook",
- "make_iir_filter", "make_int_vector", "make_iterator", "make_izcos", "make_j0evencos", "make_j0j1cos",
- "make_j2cos", "make_jjcos", "make_jncos", "make_jpcos", "make_jycos", "make_k2cos",
- "make_k2sin", "make_k2ssb", "make_k3sin", "make_krksin", "make_locsig", "make_lowpass",
- "make_mix_sampler", "make_move_sound", "make_moving_autocorrelation", "make_moving_average", "make_moving_fft", "make_moving_max",
- "make_moving_norm", "make_moving_pitch", "make_moving_scentroid", "make_moving_spectrum", "make_n1cos", "make_nchoosekcos",
- "make_ncos", "make_nkssb", "make_noddcos", "make_noddsin", "make_noddssb", "make_noid",
- "make_notch", "make_nrcos", "make_nrsin", "make_nrssb", "make_nrxycos", "make_nrxysin",
- "make_nsin", "make_nsincos", "make_nssb", "make_nxy1cos", "make_nxy1sin", "make_nxycos",
- "make_nxysin", "make_one_pole", "make_one_pole_all_pass", "make_one_zero", "make_oscil", "make_oscil_bank",
- "make_phase_vocoder", "make_pink_noise", "make_pixmap", "make_player", "make_polyoid", "make_polyshape",
- "make_polywave", "make_pulse_train", "make_pulsed_env", "make_r2k!cos", "make_r2k2cos", "make_ramp",
- "make_rand", "make_rand_interp", "make_rcos", "make_readin", "make_region", "make_region_sampler",
- "make_rk!cos", "make_rk!ssb", "make_rkcos", "make_rkoddssb", "make_rksin", "make_rkssb",
- "make_round_interp", "make_rssb", "make_rxycos", "make_rxyk!cos", "make_rxyk!sin", "make_rxysin",
- "make_sample2file", "make_sampler", "make_sawtooth_wave", "make_selection", "make_sinc_train", "make_snd2sample",
- "make_sound_box", "make_spencer_filter", "make_square_wave", "make_src", "make_ssb_am", "make_table_lookup",
- "make_table_lookup_with_env", "make_tanhsin", "make_triangle_wave", "make_two_pole", "make_two_zero", "make_variable_display",
- "make_variable_graph", "make_vct", "make_wave_train", "make_wave_train_with_env", "map_channel", "map_sound_files",
- "maracas", "mark2integer", "mark_click_hook", "mark_click_info", "mark_color", "Mark_context",
- "mark_drag_hook", "mark_explode", "mark_home", "mark_hook", "mark_loops", "mark_name",
- "mark_name2id", "mark_properties", "mark_property", "mark_sample", "mark_sync", "mark_sync_color",
- "mark_sync_max", "mark_tag_height", "mark_tag_width", "mark?", "marks", "match_sound_files",
- "max_envelope", "max_regions", "max_transform_peaks", "maxamp", "maxamp_position", "menu_widgets",
- "menus__optional", "min_dB", "mix", "mix2float_vector", "mix2integer", "mix_amp",
- "mix_amp_env", "mix_channel", "mix_click_hook", "mix_click_info", "mix_click_sets_amp", "mix_color",
- "mix_dialog_mix", "mix_drag_hook", "mix_file_dialog", "mix_home", "mix_length", "mix_maxamp",
- "mix_name", "mix_name2id", "mix_position", "mix_properties", "mix_property", "mix_region",
- "mix_release_hook", "mix_sampler?", "mix_selection", "mix_sound", "mix_speed", "mix_sync",
- "mix_sync_max", "mix_tag_height", "mix_tag_width", "mix_tag_y", "mix_vct", "mix_waveform_height",
- "mix?", "mixes", "mono2stereo", "moog_filter", "morally_equal?", "mouse_click_hook",
- "mouse_drag_hook", "mouse_enter_graph_hook", "mouse_enter_label_hook", "mouse_enter_listener_hook", "mouse_enter_text_hook", "mouse_leave_graph_hook",
- "mouse_leave_label_hook", "mouse_leave_listener_hook", "mouse_leave_text_hook", "mouse_press_hook", "move_locsig", "move_mixes",
- "move_sound", "move_sound?", "move_syncd_marks", "moving_autocorrelation", "moving_autocorrelation?", "moving_average",
- "moving_average?", "moving_fft", "moving_fft?", "moving_length", "moving_max", "moving_max?",
- "moving_norm", "moving_norm?", "moving_pitch", "moving_pitch?", "moving_rms", "moving_scentroid",
- "moving_scentroid?", "moving_spectrum", "moving_spectrum?", "moving_sum", "mpg", "mus_alsa_buffer_size",
- "mus_alsa_buffers", "mus_alsa_capture_device", "mus_alsa_device", "mus_alsa_playback_device", "mus_alsa_squelch_warning", "mus_array_print_length",
- "mus_bytes_per_sample", "mus_channel", "mus_channels", "mus_chebyshev_tu_sum", "mus_clipping", "mus_close",
- "mus_copy", "mus_data", "mus_describe", "mus_error_hook", "mus_error_type2string", "mus_expand_filename",
- "mus_feedback", "mus_feedforward", "mus_fft", "mus_file_buffer_size", "mus_file_clipping", "mus_file_mix",
- "mus_file_name", "mus_float_equal_fudge_factor", "mus_frequency", "mus_generator?", "mus_header_raw_defaults", "mus_header_type2string",
- "mus_header_type_name", "mus_hop", "mus_increment", "mus_input?", "mus_interp_type", "mus_interpolate",
- "mus_length", "mus_location", "mus_max_malloc", "mus_max_table_size", "mus_name", "mus_offset",
- "mus_order", "mus_oss_set_buffers", "mus_output?", "mus_phase", "mus_ramp", "mus_rand_seed",
- "mus_random", "mus_reset", "mus_run", "mus_sample_type2string", "mus_sample_type_name", "mus_scaler",
- "mus_sound_chans", "mus_sound_close_input", "mus_sound_close_output", "mus_sound_comment", "mus_sound_data_location", "mus_sound_datum_size",
- "mus_sound_duration", "mus_sound_forget", "mus_sound_framples", "mus_sound_header_type", "mus_sound_length", "mus_sound_loop_info",
- "mus_sound_mark_info", "mus_sound_maxamp", "mus_sound_maxamp_exists?", "mus_sound_open_input", "mus_sound_open_output", "mus_sound_path",
- "mus_sound_preload", "mus_sound_prune", "mus_sound_read", "mus_sound_reopen_output", "mus_sound_report_cache", "mus_sound_sample_type",
- "mus_sound_samples", "mus_sound_seek_frample", "mus_sound_srate", "mus_sound_type_specifier", "mus_sound_write", "mus_sound_write_date",
- "mus_srate", "mus_width", "mus_xcoeff", "mus_xcoeffs", "mus_ycoeff", "mus_ycoeffs",
- "n1cos", "n1cos?", "name_click_hook", "nchoosekcos", "nchoosekcos?", "ncos",
- "ncos2?", "ncos4?", "ncos?", "new_sound", "new_sound_dialog", "new_sound_hook",
- "new_widget_hook", "next_sample", "nkssb", "nkssb_interp", "nkssb?", "noddcos",
- "noddcos?", "noddsin", "noddsin?", "noddssb", "noddssb?", "noid",
- "normalize_channel", "normalize_envelope", "normalize_partials", "normalize_sound", "normalized_mix", "notch",
- "notch_channel", "notch_selection", "notch_sound", "notch?", "npcos?", "nrcos",
- "nrcos?", "nrev", "nrsin", "nrsin?", "nrssb", "nrssb_interp",
- "nrssb?", "nrxycos", "nrxycos?", "nrxysin", "nrxysin?", "nsin",
- "nsin?", "nsincos", "nsincos?", "nssb", "nssb?", "nxy1cos",
- "nxy1cos?", "nxy1sin", "nxy1sin?", "nxycos", "nxycos?", "nxysin",
- "nxysin?", "object2string", "odd_multiple", "odd_weight", "offset_channel", "offset_sound",
- "one_pole", "one_pole_all_pass", "one_pole_all_pass?", "one_pole?", "one_zero", "one_zero?",
- "open_file_dialog", "open_file_dialog_directory", "open_hook", "open_next_file_in_directory", "open_raw_sound", "open_raw_sound_hook",
- "open_sound", "openlet", "openlet?", "orientation_hook", "oscil", "oscil_bank",
- "oscil_bank?", "oscil?", "out_any", "out_bank", "outa", "outlet",
- "_output_", "output_comment_hook", "overlay_rms_env", "owlet", "pad_channel", "pad_marks",
- "pad_sound", "pair_filename", "pair_line_number", "pan_mix", "pan_mix_float_vector", "partials2polynomial",
- "partials2wave", "pausing", "peak_env_dir", "peaks", "peaks_font", "phase_partials2wave",
- "phase_vocoder", "phase_vocoder?", "piano_model", "pink_noise", "pink_noise?", "pins",
- "place_sound", "play", "play_arrow_size", "play_between_marks", "play_hook", "play_mixes",
- "play_often", "play_region_forever", "play_sine", "play_sines", "play_syncd_marks", "play_until_c_g",
- "play_with_envs", "player_home", "player?", "players", "playing", "pluck",
- "polar2rectangular", "polynomial", "polynomial_operations", "polyoid", "polyoid_env", "polyoid?",
- "polyshape", "polyshape?", "polywave", "polywave?", "port_filename", "port_line_number",
- "position2x", "position2y", "position_color", "power_env", "pqw", "pqw_vox",
- "preferences_dialog", "previous_sample", "print_dialog", "print_length", "procedure_documentation", "procedure_setter",
- "procedure_signature", "procedure_source", "progress_report", "pulse_train", "pulse_train?", "pulsed_env",
- "pulsed_env?", "r2k!cos", "r2k!cos?", "r2k2cos", "r2k2cos?", "radians2degrees",
- "radians2hz", "ramp_channel", "rand", "rand_interp", "rand_interp?", "rand?",
- "random", "random_state", "random_state?", "rcos", "rcos?", "_read_error_hook_",
- "read_hook", "read_mix_sample", "read_only", "read_region_sample", "read_sample", "read_sample_with_direction",
- "reader_cond", "readin", "readin?", "rectangular2magnitudes", "rectangular2polar", "redo_edit",
- "region2integer", "region2vct", "region_chans", "region_framples", "region_graph_style", "region_home",
- "region_maxamp", "region_maxamp_position", "region_play_list", "region_position", "region_rms", "region_sample",
- "region_sampler?", "region_srate", "region?", "regions", "remember_sound_state", "remove_clicks",
- "remove_from_menu", "replace_with_selection", "report_mark_names", "require", "reset_all_hooks", "reset_controls",
- "reset_listener_cursor", "reson", "restore_controls", "_reverb_", "reverb_control_decay", "reverb_control_feedback",
- "reverb_control_length", "reverb_control_length_bounds", "reverb_control_lowpass", "reverb_control_scale", "reverb_control_scale_bounds", "reverb_control?",
- "reverse!", "reverse_by_blocks", "reverse_channel", "reverse_envelope", "reverse_selection", "reverse_sound",
- "revert_sound", "right_sample", "ring_modulate", "rk!cos", "rk!cos?", "rk!ssb",
- "rk!ssb?", "rkcos", "rkcos?", "rkoddssb", "rkoddssb?", "rksin",
- "rksin?", "rkssb", "rkssb?", "rms", "rms__gain__balance_gens", "rms_envelope",
- "rootlet", "round_interp", "round_interp?", "rssb", "rssb_interp", "rssb?",
- "rubber_sound", "rxycos", "rxycos?", "rxyk!cos", "rxyk!cos?", "rxyk!sin",
- "rxyk!sin?", "rxysin", "rxysin?", "sample", "sample2file", "sample2file?",
- "sample_type", "sampler_at_end?", "sampler_home", "sampler_position", "sampler?", "samples",
- "samples2seconds", "sash_color", "save_as_dialog_auto_comment", "save_as_dialog_src", "save_controls", "save_dir",
- "save_edit_history", "save_envelopes", "save_hook", "save_listener", "save_mark_properties", "save_marks",
- "save_mix", "save_region", "save_region_dialog", "save_selection", "save_selection_dialog", "save_sound",
- "save_sound_as", "save_sound_dialog", "save_state", "save_state_file", "save_state_hook", "savitzky_golay_filter",
- "sawtooth_wave", "sawtooth_wave?", "scale_by", "scale_channel", "scale_envelope", "scale_mixes",
- "scale_selection_by", "scale_selection_to", "scale_sound", "scale_tempo", "scale_to", "scan_channel",
- "scanned_synthesis", "scentroid", "scratch", "script_arg", "script_args", "search_for_click",
- "search_procedure", "seconds2samples", "select_all", "select_channel", "select_channel_hook", "select_sound",
- "select_sound_hook", "selected_channel", "selected_data_color", "selected_graph_color", "selected_sound", "selection",
- "selection2mix", "selection_chans", "selection_color", "Selection_context", "selection_creates_region", "selection_framples",
- "selection_maxamp", "selection_maxamp_position", "selection_member?", "selection_members", "selection_position", "selection_rms",
- "selection_srate", "selection?", "set_samples", "short_file_name", "show_axes", "show_controls",
- "show_disk_space", "show_full_duration", "show_full_range", "show_grid", "show_indices", "show_listener",
- "show_marks", "show_mix_waveforms", "show_selection", "show_selection_transform", "show_sonogram_cursor", "show_transform_peaks",
- "show_widget", "show_y_zero", "silence_all_mixes", "silence_mixes", "sinc_train", "sinc_train?",
- "sinc_width", "sine_env_channel", "sine_ramp", "singer", "smooth_channel", "smooth_selection",
- "smooth_sound", "SMS_synthesis", "snap_mark_to_beat", "snap_marks", "snap_mix_to_beat", "snd2sample",
- "snd2sample?", "snd_color", "snd_error", "snd_error_hook", "snd_font", "snd_gcs",
- "snd_help", "snd_hooks", "_snd_opened_sound_", "snd_print", "snd_spectrum", "snd_tempnam",
- "snd_url", "snd_urls", "snd_version", "snd_warning", "snd_warning_hook", "sndwarp",
- "sort!", "sound2amp_env", "sound2integer", "sound_file_extensions", "sound_file?", "sound_files_in_directory",
- "sound_interp", "sound_loop_info", "sound_properties", "sound_property", "sound_widgets", "sound?",
- "soundfont_info", "sounds", "sounds2segment_data", "spectra", "spectral_interpolation", "spectral_polynomial",
- "spectro_hop", "spectro_x_angle", "spectro_x_scale", "spectro_y_angle", "spectro_y_scale", "spectro_z_angle",
- "spectro_z_scale", "spectrum", "spectrum2coeffs", "spectrum_end", "spectrum_start", "speed_control",
- "speed_control_bounds", "speed_control_style", "speed_control_tones", "spot_freq", "square_wave", "square_wave?",
- "squelch_update", "squelch_vowels", "srate", "src", "src_channel", "src_duration",
- "src_fit_envelope", "src_mixes", "src_selection", "src_sound", "src?", "ssb_am",
- "ssb_am?", "ssb_bank", "ssb_bank_env", "ssb_fm", "start_dac", "start_playing",
- "start_playing_hook", "start_playing_selection_hook", "start_progress_report", "status_report", "stdin_prompt", "stereo2mono",
- "stereo_flute", "stop_player", "stop_playing", "stop_playing_hook", "stop_playing_selection_hook", "stretch_envelope",
- "stretch_sound_via_dft", "string_position", "sublet", "superimpose_ffts", "swap_channels", "swap_selection_channels",
- "symbol2dynamic_value", "symbol2value", "symbol_access", "symbol_table", "sync", "sync_everything",
- "sync_max", "sync_style", "syncd_marks", "syncd_mixes", "syncup", "table_lookup",
- "table_lookup?", "tanhsin", "tanhsin?", "tap", "tap?", "telephone",
- "temp_dir", "text_focus_color", "time_graph_style", "time_graph_type", "time_graph?", "times2samples",
- "tiny_font", "touch_tone", "trace", "tracking_cursor_style", "transform2integer", "transform2vct",
- "transform_dialog", "transform_framples", "transform_graph_style", "transform_graph_type", "transform_graph?", "transform_normalization",
- "transform_sample", "transform_size", "transform_type", "transform?", "transpose_mixes", "triangle_wave",
- "triangle_wave?", "tubebell", "tubular_bell", "two_pole", "two_pole?", "two_tab",
- "two_zero", "two_zero?", "unbind_key", "_unbound_variable_hook_", "unclip_channel", "undo",
- "undo_hook", "unlet", "unselect_all", "update_graphs", "update_hook", "update_lisp_graph",
- "update_sound", "update_time_graph", "update_transform_graph", "upon_save_yourself", "user_interface_extensions", "variable_display",
- "variable_graph?", "varlet", "vct", "vct_", "vct_", "vct2channel",
- "vct2list", "vct2string", "vct2vector", "vct_abs!", "vct_add!", "vct_copy",
- "vct_equal?", "vct_fill!", "vct_length", "vct_max", "vct_min", "vct_move!",
- "vct_multiply!", "vct_offset!", "vct_peak", "vct_ref", "vct_reverse!", "vct_scale!",
- "vct_set!", "vct_subseq", "vct_subtract!", "vct?", "vector2vct", "view_files_amp",
+ "comb?", "combined_data_color", "comment", "complexify", "concatenate_envelopes", "constant?",
+ "continuation?", "continue_frample2file", "continue_sample2file", "contrast_channel", "contrast_control", "contrast_control_amp",
+ "contrast_control_bounds", "contrast_control?", "contrast_enhancement", "contrast_sound", "controls2channel", "convolution",
+ "convolution_reverb", "convolve", "convolve_files", "convolve_selection_with", "convolve_with", "convolve?",
+ "copy", "Copy_context", "copy_sampler", "correlate", "coverlet", "cross_fade__amplitude_",
+ "cross_fade__frequency_domain_", "cross_synthesis", "curlet", "current_font", "cursor", "cursor_color",
+ "Cursor_context", "cursor_location_offset", "cursor_position", "cursor_size", "cursor_style", "cursor_update_interval",
+ "cutlet", "cyclic_sequences", "dac_combines_channels", "dac_size", "data_color", "data_location",
+ "data_size", "db2linear", "default_output_chans", "default_output_header_type", "default_output_sample_type", "default_output_srate",
+ "defgenerator", "define_", "define_constant", "define_envelope", "define_expansion", "define_macro",
+ "define_macro_", "define_selection_via_marks", "defined?", "degrees2radians", "delay", "delay_channel_mixes",
+ "delay_tick", "delay?", "delete_colormap", "delete_file_filter", "delete_file_sorter", "delete_mark",
+ "delete_marks", "delete_sample", "delete_samples", "delete_samples_and_smooth", "delete_selection", "delete_selection_and_smooth",
+ "delete_transform", "describe_hook", "describe_mark", "dht", "dialog_widgets", "dilambda",
+ "disable_control_panel", "display_bark_fft", "display_correlation", "display_db", "display_edits", "display_energy",
+ "dissolve_fade", "dither_channel", "dither_sound", "dolph", "dot_product", "dot_size",
+ "down_oct", "draw_axes", "draw_dot", "draw_dots", "draw_line", "draw_lines",
+ "draw_mark_hook", "draw_mix_hook", "draw_string", "drone", "drop_sites", "drop_hook",
+ "during_open_hook", "edit_fragment", "edit_header_dialog", "edit_hook", "edit_list2function", "edit_position",
+ "edit_properties", "edit_property", "edit_tree", "edits", "edot_product", "effects_hook",
+ "elliptic_filters", "env", "env_any", "env_channel", "env_channel_with_base", "env_expt_channel",
+ "env_interp", "env_mixes", "env_selection", "env_sound", "env_sound_interp", "env_squared_channel",
+ "env?", "enved_base", "enved_clip?", "enved_dialog", "enved_envelope", "enved_filter",
+ "enved_filter_order", "enved_hook", "enved_in_dB", "enved_power", "enved_style", "enved_target",
+ "enved_wave?", "enved_waveform_color", "envelope_interp", "enveloped_mix", "eoddcos", "eoddcos?",
+ "eps_bottom_margin", "eps_file", "eps_left_margin", "eps_size", "ercos", "ercos?",
+ "_error_hook_", "erssb", "erssb?", "even_multiple", "even_weight", "every_sample?",
+ "exit", "exit_hook", "expand_control", "expand_control_bounds", "expand_control_hop", "expand_control_jitter",
+ "expand_control_length", "expand_control_ramp", "expand_control?", "explode_sf2", "exponentially_weighted_moving_average", "expsnd",
+ "expsrc", "_features_", "feedback_fm", "fft", "fft_cancel", "fft_edit",
+ "fft_env_edit", "fft_env_interp", "fft_log_frequency", "fft_log_magnitude", "fft_smoother", "fft_squelch",
+ "fft_window", "fft_window_alpha", "fft_window_beta", "fft_with_phases", "file_database", "file2array",
+ "file2frample", "file2frample?", "file2sample", "file2sample?", "file_name", "fill!",
+ "fill_polygon", "fill_rectangle", "filter", "filter_channel", "filter_control_coeffs", "filter_control_envelope",
+ "filter_control_in_dB", "filter_control_in_hz", "filter_control_order", "filter_control_waveform_color", "filter_control?", "filter_fft",
+ "filter_selection", "filter_selection_and_smooth", "filter_sound", "filter?", "filtered_comb", "filtered_comb_bank",
+ "filtered_comb_bank?", "filtered_comb?", "find_dialog", "find_mark", "find_mix", "find_sound",
+ "finfo", "finish_progress_report", "fir_filter", "fir_filter?", "firmant", "firmant?",
+ "fit_selection_between_marks", "flatten_partials", "float_vector", "float-vector_multiply", "float-vector_add", "float_vector2channel",
+ "float_vector2list", "float_vector2string", "float_vector_abs!", "float_vector_add!", "float_vector_copy", "float_vector_equal?",
+ "float_vector_fill!", "float_vector_length", "float_vector_max", "float_vector_min", "float_vector_move!", "float_vector_multiply!",
+ "float_vector_offset!", "float_vector_peak", "float_vector_polynomial", "float_vector_ref", "float_vector_reverse!", "float_vector_scale!",
+ "float_vector_set!", "float_vector_subseq", "float_vector_subtract!", "float_vector?", "flocsig", "flocsig?",
+ "flute_model", "fm_bell", "fm_drum", "fm_noise", "fm_parallel_component", "fm_talker",
+ "fm_trumpet", "fm_violin", "fm_voice", "fmssb", "fmssb?", "focus_widget",
+ "FOF_synthesis", "fofins", "for_each_child", "for_each_sound_file", "Forbidden_Planet", "foreground_color",
+ "forget_region", "formant", "formant_bank", "formant_bank?", "formant?", "format",
+ "fp", "fractional_fourier_transform", "frample2file", "frample2file?", "frample2frample", "framples",
+ "free_player", "free_sampler", "freeverb", "fullmix", "funclet", "gaussian_distribution",
+ "gc_off", "gc_on", "gensym", "gensym?", "gl_graph2ps", "glSpectrogram",
+ "goertzel", "goto_listener_end", "grani", "granulate", "granulate?", "granulated_sound_interp",
+ "graph", "graph2ps", "graph_color", "graph_cursor", "graph_data", "graph_hook",
+ "graph_style", "graphic_equalizer", "graphs_horizontal", "green_noise", "green_noise_interp", "green_noise_interp?",
+ "green_noise?", "grid_density", "harmonicizer", "Hartley_transform", "hash_table", "hash_table_",
+ "hash_table_entries", "hash_table_ref", "hash_table_set!", "hash_table?", "header_type", "hello_dentist",
+ "help_dialog", "help_hook", "hide_widget", "highlight_color", "hilbert_transform", "hook_functions",
+ "hook_member", "html", "html_dir", "html_program", "hz2radians", "iir_filter",
+ "iir_filter?", "call_in", "in_any", "ina", "inb", "info_dialog",
+ "init_ladspa", "initial_beg", "initial_dur", "initial_graph_hook", "inlet", "insert_channel",
+ "insert_file_dialog", "insert_region", "insert_sample", "insert_samples", "insert_selection", "insert_silence",
+ "insert_sound", "int_vector", "int_vector_ref", "int_vector_set!", "int_vector?", "integer2colormap",
+ "integer2mark", "integer2mix", "integer2region", "integer2sound", "integer2transform", "integrate_envelope",
+ "invert_filter", "iterate", "iterator_at_end?", "iterator_sequence", "iterator?", "izcos",
+ "izcos?", "j0evencos", "j0evencos?", "j0j1cos", "j0j1cos?", "j2cos",
+ "j2cos?", "jc_reverb", "jjcos", "jjcos?", "jncos", "jncos?",
+ "jpcos", "jpcos?", "just_sounds", "jycos", "jycos?", "k2cos",
+ "k2cos?", "k2sin", "k2sin?", "k2ssb", "k2ssb?", "k3sin",
+ "k3sin?", "kalman_filter_channel", "key", "key_binding", "key_press_hook", "krksin",
+ "krksin?", "ladspa_descriptor", "ladspa_dir", "lambda_", "lbj_piano", "left_sample",
+ "let2list", "let_ref", "let_set!", "let?", "linear2db", "linear_src_channel",
+ "lint_for_scheme", "lisp_graph_hook", "lisp_graph_style", "lisp_graph?", "list2float_vector", "list2vct",
+ "list_ladspa", "listener_click_hook", "listener_color", "listener_colorized", "listener_font", "listener_prompt",
+ "listener_selection", "listener_text_color", "little_endian?", "_load_hook_", "_load_path_", "locate_zero",
+ "locsig", "locsig_ref", "locsig_reverb_ref", "locsig_reverb_set!", "locsig_set!", "locsig_type",
+ "locsig?", "log_freq_start", "lpc_coeffs", "lpc_predict", "macro?", "macroexpand",
+ "main_menu", "main_widgets", "make_abcos", "make_absin", "make_adjustable_sawtooth_wave", "make_adjustable_square_wave",
+ "make_adjustable_triangle_wave", "make_all_pass", "make_all_pass_bank", "make_asyfm", "make_asymmetric_fm", "make_bandpass",
+ "make_bandstop", "make_bess", "make_biquad", "make_birds", "make_blackman", "make_brown_noise",
+ "make_byte_vector", "make_channel_drop_site", "make_color", "make_comb", "make_comb_bank", "make_convolve",
+ "make_delay", "make_differentiator", "make_env", "make_eoddcos", "make_ercos", "make_erssb",
+ "make_fft_window", "make_file2frample", "make_file2sample", "make_filter", "make_filtered_comb", "make_filtered_comb_bank",
+ "make_fir_coeffs", "make_fir_filter", "make_firmant", "make_float_vector", "make_flocsig", "make_fmssb",
+ "make_formant", "make_formant_bank", "make_frample2file", "make_granulate", "make_graph_data", "make_green_noise",
+ "make_green_noise_interp", "make_hash_table", "make_highpass", "make_hilbert_transform", "make_hook", "make_iir_filter",
+ "make_int_vector", "make_iterator", "make_izcos", "make_j0evencos", "make_j0j1cos", "make_j2cos",
+ "make_jjcos", "make_jncos", "make_jpcos", "make_jycos", "make_k2cos", "make_k2sin",
+ "make_k2ssb", "make_k3sin", "make_krksin", "make_locsig", "make_lowpass", "make_mix_sampler",
+ "make_move_sound", "make_moving_autocorrelation", "make_moving_average", "make_moving_fft", "make_moving_max", "make_moving_norm",
+ "make_moving_pitch", "make_moving_scentroid", "make_moving_spectrum", "make_n1cos", "make_nchoosekcos", "make_ncos",
+ "make_nkssb", "make_noddcos", "make_noddsin", "make_noddssb", "make_noid", "make_notch",
+ "make_nrcos", "make_nrsin", "make_nrssb", "make_nrxycos", "make_nrxysin", "make_nsin",
+ "make_nsincos", "make_nssb", "make_nxy1cos", "make_nxy1sin", "make_nxycos", "make_nxysin",
+ "make_one_pole", "make_one_pole_all_pass", "make_one_zero", "make_oscil", "make_oscil_bank", "make_phase_vocoder",
+ "make_pink_noise", "make_pixmap", "make_player", "make_polyoid", "make_polyshape", "make_polywave",
+ "make_pulse_train", "make_pulsed_env", "make_r2k!cos", "make_r2k2cos", "make_ramp", "make_rand",
+ "make_rand_interp", "make_rcos", "make_readin", "make_region", "make_region_sampler", "make_rk!cos",
+ "make_rk!ssb", "make_rkcos", "make_rkoddssb", "make_rksin", "make_rkssb", "make_round_interp",
+ "make_rssb", "make_rxycos", "make_rxyk!cos", "make_rxyk!sin", "make_rxysin", "make_sample2file",
+ "make_sampler", "make_sawtooth_wave", "make_selection", "make_sinc_train", "make_snd2sample", "make_sound_box",
+ "make_spencer_filter", "make_square_wave", "make_src", "make_ssb_am", "make_table_lookup", "make_table_lookup_with_env",
+ "make_tanhsin", "make_triangle_wave", "make_two_pole", "make_two_zero", "make_variable_display", "make_variable_graph",
+ "make_vct", "make_wave_train", "make_wave_train_with_env", "map_channel", "map_sound_files", "maracas",
+ "mark2integer", "mark_click_hook", "mark_click_info", "mark_color", "Mark_context", "mark_drag_hook",
+ "mark_explode", "mark_home", "mark_hook", "mark_loops", "mark_name", "mark_name2id",
+ "mark_properties", "mark_property", "mark_sample", "mark_sync", "mark_sync_color", "mark_sync_max",
+ "mark_tag_height", "mark_tag_width", "mark?", "marks", "match_sound_files", "max_envelope",
+ "max_regions", "max_transform_peaks", "maxamp", "maxamp_position", "menu_widgets", "menus__optional",
+ "min_dB", "mix", "mix2float_vector", "mix2integer", "mix_amp", "mix_amp_env",
+ "mix_channel", "mix_click_hook", "mix_click_info", "mix_click_sets_amp", "mix_color", "mix_dialog_mix",
+ "mix_drag_hook", "mix_file_dialog", "mix_home", "mix_length", "mix_maxamp", "mix_name",
+ "mix_name2id", "mix_position", "mix_properties", "mix_property", "mix_region", "mix_release_hook",
+ "mix_sampler?", "mix_selection", "mix_sound", "mix_speed", "mix_sync", "mix_sync_max",
+ "mix_tag_height", "mix_tag_width", "mix_tag_y", "mix_vct", "mix_waveform_height", "mix?",
+ "mixes", "mono2stereo", "moog_filter", "morally_equal?", "mouse_click_hook", "mouse_drag_hook",
+ "mouse_enter_graph_hook", "mouse_enter_label_hook", "mouse_enter_listener_hook", "mouse_enter_text_hook", "mouse_leave_graph_hook", "mouse_leave_label_hook",
+ "mouse_leave_listener_hook", "mouse_leave_text_hook", "mouse_press_hook", "move_locsig", "move_mixes", "move_sound",
+ "move_sound?", "move_syncd_marks", "moving_autocorrelation", "moving_autocorrelation?", "moving_average", "moving_average?",
+ "moving_fft", "moving_fft?", "moving_length", "moving_max", "moving_max?", "moving_norm",
+ "moving_norm?", "moving_pitch", "moving_pitch?", "moving_rms", "moving_scentroid", "moving_scentroid?",
+ "moving_spectrum", "moving_spectrum?", "moving_sum", "mpg", "mus_alsa_buffer_size", "mus_alsa_buffers",
+ "mus_alsa_capture_device", "mus_alsa_device", "mus_alsa_playback_device", "mus_alsa_squelch_warning", "mus_array_print_length", "mus_bytes_per_sample",
+ "mus_channel", "mus_channels", "mus_chebyshev_tu_sum", "mus_clipping", "mus_close", "mus_copy",
+ "mus_data", "mus_describe", "mus_error_hook", "mus_error_type2string", "mus_expand_filename", "mus_feedback",
+ "mus_feedforward", "mus_fft", "mus_file_buffer_size", "mus_file_clipping", "mus_file_mix", "mus_file_name",
+ "mus_float_equal_fudge_factor", "mus_frequency", "mus_generator?", "mus_header_raw_defaults", "mus_header_type2string", "mus_header_type_name",
+ "mus_hop", "mus_increment", "mus_input?", "mus_interp_type", "mus_interpolate", "mus_length",
+ "mus_location", "mus_max_malloc", "mus_max_table_size", "mus_name", "mus_offset", "mus_order",
+ "mus_oss_set_buffers", "mus_output?", "mus_phase", "mus_ramp", "mus_rand_seed", "mus_random",
+ "mus_reset", "mus_run", "mus_sample_type2string", "mus_sample_type_name", "mus_scaler", "mus_sound_chans",
+ "mus_sound_close_input", "mus_sound_close_output", "mus_sound_comment", "mus_sound_data_location", "mus_sound_datum_size", "mus_sound_duration",
+ "mus_sound_forget", "mus_sound_framples", "mus_sound_header_type", "mus_sound_length", "mus_sound_loop_info", "mus_sound_mark_info",
+ "mus_sound_maxamp", "mus_sound_maxamp_exists?", "mus_sound_open_input", "mus_sound_open_output", "mus_sound_path", "mus_sound_preload",
+ "mus_sound_prune", "mus_sound_read", "mus_sound_reopen_output", "mus_sound_report_cache", "mus_sound_sample_type", "mus_sound_samples",
+ "mus_sound_seek_frample", "mus_sound_srate", "mus_sound_type_specifier", "mus_sound_write", "mus_sound_write_date", "mus_srate",
+ "mus_width", "mus_xcoeff", "mus_xcoeffs", "mus_ycoeff", "mus_ycoeffs", "n1cos",
+ "n1cos?", "name_click_hook", "nchoosekcos", "nchoosekcos?", "ncos", "ncos2?",
+ "ncos4?", "ncos?", "new_sound", "new_sound_dialog", "new_sound_hook", "new_widget_hook",
+ "next_sample", "nkssb", "nkssb_interp", "nkssb?", "noddcos", "noddcos?",
+ "noddsin", "noddsin?", "noddssb", "noddssb?", "noid", "normalize_channel",
+ "normalize_envelope", "normalize_partials", "normalize_sound", "normalized_mix", "notch", "notch_channel",
+ "notch_selection", "notch_sound", "notch?", "npcos?", "nrcos", "nrcos?",
+ "nrev", "nrsin", "nrsin?", "nrssb", "nrssb_interp", "nrssb?",
+ "nrxycos", "nrxycos?", "nrxysin", "nrxysin?", "nsin", "nsin?",
+ "nsincos", "nsincos?", "nssb", "nssb?", "nxy1cos", "nxy1cos?",
+ "nxy1sin", "nxy1sin?", "nxycos", "nxycos?", "nxysin", "nxysin?",
+ "object2string", "odd_multiple", "odd_weight", "offset_channel", "offset_sound", "one_pole",
+ "one_pole_all_pass", "one_pole_all_pass?", "one_pole?", "one_zero", "one_zero?", "open_file_dialog",
+ "open_file_dialog_directory", "open_hook", "open_next_file_in_directory", "open_raw_sound", "open_raw_sound_hook", "open_sound",
+ "openlet", "openlet?", "orientation_hook", "oscil", "oscil_bank", "oscil_bank?",
+ "oscil?", "out_any", "out_bank", "outa", "outlet", "_output_",
+ "output_comment_hook", "overlay_rms_env", "owlet", "pad_channel", "pad_marks", "pad_sound",
+ "pair_filename", "pair_line_number", "pan_mix", "pan_mix_float_vector", "partials2polynomial", "partials2wave",
+ "pausing", "peak_env_dir", "peaks", "peaks_font", "phase_partials2wave", "phase_vocoder",
+ "phase_vocoder?", "piano_model", "pink_noise", "pink_noise?", "pins", "place_sound",
+ "play", "play_arrow_size", "play_between_marks", "play_hook", "play_mixes", "play_often",
+ "play_region_forever", "play_sine", "play_sines", "play_syncd_marks", "play_until_c_g", "play_with_envs",
+ "player_home", "player?", "players", "playing", "pluck", "polar2rectangular",
+ "polynomial", "polynomial_operations", "polyoid", "polyoid_env", "polyoid?", "polyshape",
+ "polyshape?", "polywave", "polywave?", "port_filename", "port_line_number", "position2x",
+ "position2y", "position_color", "power_env", "pqw", "pqw_vox", "preferences_dialog",
+ "previous_sample", "print_dialog", "print_length", "procedure_documentation", "procedure_setter", "procedure_signature",
+ "procedure_source", "progress_report", "pulse_train", "pulse_train?", "pulsed_env", "pulsed_env?",
+ "r2k!cos", "r2k!cos?", "r2k2cos", "r2k2cos?", "radians2degrees", "radians2hz",
+ "ramp_channel", "rand", "rand_interp", "rand_interp?", "rand?", "random",
+ "random_state", "random_state?", "rcos", "rcos?", "_read_error_hook_", "read_hook",
+ "read_mix_sample", "read_only", "read_region_sample", "read_sample", "read_sample_with_direction", "reader_cond",
+ "readin", "readin?", "rectangular2magnitudes", "rectangular2polar", "redo_edit", "region2integer",
+ "region2vct", "region_chans", "region_framples", "region_graph_style", "region_home", "region_maxamp",
+ "region_maxamp_position", "region_play_list", "region_position", "region_rms", "region_sample", "region_sampler?",
+ "region_srate", "region?", "regions", "remember_sound_state", "remove_clicks", "remove_from_menu",
+ "replace_with_selection", "report_mark_names", "require", "reset_all_hooks", "reset_controls", "reset_listener_cursor",
+ "reson", "restore_controls", "_reverb_", "reverb_control_decay", "reverb_control_feedback", "reverb_control_length",
+ "reverb_control_length_bounds", "reverb_control_lowpass", "reverb_control_scale", "reverb_control_scale_bounds", "reverb_control?", "reverse!",
+ "reverse_by_blocks", "reverse_channel", "reverse_envelope", "reverse_selection", "reverse_sound", "revert_sound",
+ "right_sample", "ring_modulate", "rk!cos", "rk!cos?", "rk!ssb", "rk!ssb?",
+ "rkcos", "rkcos?", "rkoddssb", "rkoddssb?", "rksin", "rksin?",
+ "rkssb", "rkssb?", "rms", "rms__gain__balance_gens", "rms_envelope", "rootlet",
+ "round_interp", "round_interp?", "rssb", "rssb_interp", "rssb?", "rubber_sound",
+ "rxycos", "rxycos?", "rxyk!cos", "rxyk!cos?", "rxyk!sin", "rxyk!sin?",
+ "rxysin", "rxysin?", "sample", "sample2file", "sample2file?", "sample_type",
+ "sampler_at_end?", "sampler_home", "sampler_position", "sampler?", "samples", "samples2seconds",
+ "sash_color", "save_as_dialog_auto_comment", "save_as_dialog_src", "save_controls", "save_dir", "save_edit_history",
+ "save_envelopes", "save_hook", "save_listener", "save_mark_properties", "save_marks", "save_mix",
+ "save_region", "save_region_dialog", "save_selection", "save_selection_dialog", "save_sound", "save_sound_as",
+ "save_sound_dialog", "save_state", "save_state_file", "save_state_hook", "savitzky_golay_filter", "sawtooth_wave",
+ "sawtooth_wave?", "scale_by", "scale_channel", "scale_envelope", "scale_mixes", "scale_selection_by",
+ "scale_selection_to", "scale_sound", "scale_tempo", "scale_to", "scan_channel", "scanned_synthesis",
+ "scentroid", "scratch", "script_arg", "script_args", "search_for_click", "search_procedure",
+ "seconds2samples", "select_all", "select_channel", "select_channel_hook", "select_sound", "select_sound_hook",
+ "selected_channel", "selected_data_color", "selected_graph_color", "selected_sound", "selection", "selection2mix",
+ "selection_chans", "selection_color", "Selection_context", "selection_creates_region", "selection_framples", "selection_maxamp",
+ "selection_maxamp_position", "selection_member?", "selection_members", "selection_position", "selection_rms", "selection_srate",
+ "selection?", "set_samples", "short_file_name", "show_axes", "show_controls", "show_disk_space",
+ "show_full_duration", "show_full_range", "show_grid", "show_indices", "show_listener", "show_marks",
+ "show_mix_waveforms", "show_selection", "show_selection_transform", "show_sonogram_cursor", "show_transform_peaks", "show_widget",
+ "show_y_zero", "silence_all_mixes", "silence_mixes", "sinc_train", "sinc_train?", "sinc_width",
+ "sine_env_channel", "sine_ramp", "singer", "smooth_channel", "smooth_selection", "smooth_sound",
+ "SMS_synthesis", "snap_mark_to_beat", "snap_marks", "snap_mix_to_beat", "snd2sample", "snd2sample?",
+ "snd_color", "snd_error", "snd_error_hook", "snd_font", "snd_gcs", "snd_help",
+ "snd_hooks", "_snd_opened_sound_", "snd_print", "snd_spectrum", "snd_tempnam", "snd_url",
+ "snd_urls", "snd_version", "snd_warning", "snd_warning_hook", "sndwarp", "sort!",
+ "sound2amp_env", "sound2integer", "sound_file_extensions", "sound_file?", "sound_files_in_directory", "sound_interp",
+ "sound_loop_info", "sound_properties", "sound_property", "sound_widgets", "sound?", "soundfont_info",
+ "sounds", "sounds2segment_data", "spectra", "spectral_interpolation", "spectral_polynomial", "spectro_hop",
+ "spectro_x_angle", "spectro_x_scale", "spectro_y_angle", "spectro_y_scale", "spectro_z_angle", "spectro_z_scale",
+ "spectrum", "spectrum2coeffs", "spectrum_end", "spectrum_start", "speed_control", "speed_control_bounds",
+ "speed_control_style", "speed_control_tones", "spot_freq", "square_wave", "square_wave?", "squelch_update",
+ "squelch_vowels", "srate", "src", "src_channel", "src_duration", "src_fit_envelope",
+ "src_mixes", "src_selection", "src_sound", "src?", "ssb_am", "ssb_am?",
+ "ssb_bank", "ssb_bank_env", "ssb_fm", "start_dac", "start_playing", "start_playing_hook",
+ "start_playing_selection_hook", "start_progress_report", "status_report", "stdin_prompt", "stereo2mono", "stereo_flute",
+ "stop_player", "stop_playing", "stop_playing_hook", "stop_playing_selection_hook", "stretch_envelope", "stretch_sound_via_dft",
+ "string_position", "sublet", "superimpose_ffts", "swap_channels", "swap_selection_channels", "symbol2dynamic_value",
+ "symbol2value", "symbol_access", "symbol_table", "sync", "sync_everything", "sync_max",
+ "sync_style", "syncd_marks", "syncd_mixes", "syncup", "table_lookup", "table_lookup?",
+ "tanhsin", "tanhsin?", "tap", "tap?", "telephone", "temp_dir",
+ "text_focus_color", "time_graph_style", "time_graph_type", "time_graph?", "times2samples", "tiny_font",
+ "touch_tone", "trace", "tracking_cursor_style", "transform2integer", "transform2vct", "transform_dialog",
+ "transform_framples", "transform_graph_style", "transform_graph_type", "transform_graph?", "transform_normalization", "transform_sample",
+ "transform_size", "transform_type", "transform?", "transpose_mixes", "triangle_wave", "triangle_wave?",
+ "tubebell", "tubular_bell", "two_pole", "two_pole?", "two_tab", "two_zero",
+ "two_zero?", "unbind_key", "_unbound_variable_hook_", "unclip_channel", "undo", "undo_hook",
+ "unlet", "unselect_all", "update_graphs", "update_hook", "update_lisp_graph", "update_sound",
+ "update_time_graph", "update_transform_graph", "upon_save_yourself", "user_interface_extensions", "variable_display", "variable_graph?",
+ "varlet", "vct", "vct_", "vct_", "vct2channel", "vct2list",
+ "vct2string", "vct2vector", "vct_abs!", "vct_add!", "vct_copy", "vct_equal?",
+ "vct_fill!", "vct_length", "vct_max", "vct_min", "vct_move!", "vct_multiply!",
+ "vct_offset!", "vct_peak", "vct_ref", "vct_reverse!", "vct_scale!", "vct_set!",
+ "vct_subseq", "vct_subtract!", "vct?", "vector2vct", "vibrating_uniform_circular_string", "view_files_amp",
  "view_files_amp_env", "view_files_dialog", "view_files_files", "view_files_select_hook", "view_files_selected_files", "view_files_sort",
  "view_files_speed", "view_files_speed_style", "view_mixes_dialog", "view_regions_dialog", "view_sound", "voice_physical_model",
  "voiced2unvoiced", "volterra_filter", "vox", "wave_train", "wave_train?", "wavelet_type",
@@ -587,349 +587,349 @@ static const char *help_urls[HELP_NAMES_SIZE] = {
  "extsnd.html#colorp", "extsnd.html#colormap", "extsnd.html#colormaptointeger", "extsnd.html#colormapname",
  "extsnd.html#colormapref", "extsnd.html#colormapsize", "extsnd.html#colormapp", "sndclm.html#comb",
  "sndclm.html#combbank", "sndclm.html#combbankp", "sndclm.html#comb?", "extsnd.html#combineddatacolor",
- "extsnd.html#comment", "sndscm.html#complexify", "sndscm.html#computeuniformcircularstring", "sndscm.html#concatenateenvelopes",
- "s7.html#constantp", "s7.html#continuationp", "sndclm.html#continue-frampletofile", "sndclm.html#continue-sampletofile",
- "sndscm.html#contrastchannel", "extsnd.html#contrastcontrol", "extsnd.html#contrastcontrolamp", "extsnd.html#contrastcontrolbounds",
- "extsnd.html#contrastcontrolp", "sndclm.html#contrast-enhancement", "sndscm.html#contrastsound", "extsnd.html#controlstochannel",
- "sndclm.html#convolution", "extsnd.html#convolvewith", "sndclm.html#convolve", "sndclm.html#convolvefiles",
- "extsnd.html#convolveselectionwith", "extsnd.html#convolvewith", "sndclm.html#convolve?", "s7.html#s7copy",
- "extsnd.html#copycontext", "extsnd.html#copysampler", "sndclm.html#correlate", "s7.html#coverlet",
- "sndscm.html#mixdoc", "sndscm.html#fadedoc", "sndscm.html#crosssynthesis", "s7.html#curlet",
- "extsnd.html#currentfont", "extsnd.html#cursor", "extsnd.html#cursorcolor", "extsnd.html#cursorcontext",
- "extsnd.html#cursorlocationoffset", "extsnd.html#cursorposition", "extsnd.html#cursorsize", "extsnd.html#cursorstyle",
- "extsnd.html#cursorupdateinterval", "s7.html#cutlet", "s7.html#cyclicsequences", "extsnd.html#dacfolding",
- "extsnd.html#dacsize", "extsnd.html#datacolor", "extsnd.html#datalocation", "extsnd.html#datasize",
- "sndclm.html#dbtolinear", "extsnd.html#defaultoutputchans", "extsnd.html#defaultoutputheadertype", "extsnd.html#defaultoutputsampletype",
- "extsnd.html#defaultoutputsrate", "sndclm.html#defgenerator", "s7.html#definestar", "s7.html#defineconstant",
- "extsnd.html#defineenvelope", "s7.html#expansion", "s7.html#definemacro", "s7.html#definemacrostar",
- "sndscm.html#defineselectionviamarks", "s7.html#definedp", "sndclm.html#degreestoradians", "sndclm.html#delay",
- "sndscm.html#delaychannelmixes", "sndclm.html#delaytick", "sndclm.html#delay?", "extsnd.html#deletecolormap",
- "extsnd.html#deletefilefilter", "extsnd.html#deletefilesorter", "extsnd.html#deletemark", "extsnd.html#deletemarks",
- "extsnd.html#deletesample", "extsnd.html#deletesamples", "extsnd.html#deletesamplesandsmooth", "extsnd.html#deleteselection",
- "extsnd.html#deleteselectionandsmooth", "extsnd.html#deletetransform", "sndscm.html#describehook", "sndscm.html#describemark",
- "sndscm.html#dht", "extsnd.html#dialogwidgets", "s7.html#dilambda", "sndscm.html#disablecontrolpanel",
- "sndscm.html#displaybarkfft", "sndscm.html#displaycorrelation", "sndscm.html#displaydb", "extsnd.html#displayedits",
- "sndscm.html#displayenergy", "sndscm.html#dissolvefade", "sndscm.html#ditherchannel", "sndscm.html#dithersound",
- "sndscm.html#dolph", "sndclm.html#dot-product", "extsnd.html#dotsize", "sndscm.html#downoct",
- "extsnd.html#drawaxes", "extsnd.html#drawdot", "extsnd.html#drawdots", "extsnd.html#drawline",
- "extsnd.html#drawlines", "extsnd.html#drawmarkhook", "extsnd.html#drawmixhook", "extsnd.html#drawstring",
- "sndscm.html#drone", "sndscm.html#makedropsite", "extsnd.html#drophook", "extsnd.html#duringopenhook",
- "extsnd.html#editfragment", "extsnd.html#editheaderdialog", "extsnd.html#edithook", "extsnd.html#editlisttofunction",
- "extsnd.html#editposition", "extsnd.html#editproperties", "extsnd.html#editproperty", "extsnd.html#edittree",
- "extsnd.html#edits", "sndclm.html#edot-product", "extsnd.html#effectshook", "sndscm.html#analogfilterdoc",
- "sndclm.html#env", "sndclm.html#env-any", "extsnd.html#envchannel", "extsnd.html#envchannelwithbase",
- "sndscm.html#envexptchannel", "sndclm.html#env-interp", "sndscm.html#envmixes", "extsnd.html#envselection",
- "extsnd.html#envsound", "sndscm.html#envsoundinterp", "sndscm.html#envsquaredchannel", "sndclm.html#env?",
- "extsnd.html#envedbase", "extsnd.html#envedclipping", "extsnd.html#enveddialog", "extsnd.html#envedenvelope",
- "extsnd.html#filterenv", "extsnd.html#filterenvorder", "extsnd.html#envedhook", "extsnd.html#envedin-dB",
- "extsnd.html#envedpower", "extsnd.html#envedstyle", "extsnd.html#envedtarget", "extsnd.html#envedwaving",
- "extsnd.html#envedwaveformcolor", "sndclm.html#envelopeinterp", "sndscm.html#envelopedmix", "sndclm.html#eoddcos",
- "sndclm.html#eoddcos?", "extsnd.html#epsbottommargin", "extsnd.html#epsfile", "extsnd.html#epsleftmargin",
- "extsnd.html#epssize", "sndclm.html#ercos", "sndclm.html#ercos?", "s7.html#errorhook",
- "sndclm.html#erssb", "sndclm.html#erssb?", "sndclm.html#evenmultiple", "sndclm.html#evenweight",
- "sndscm.html#everysample", "extsnd.html#exit", "extsnd.html#exithook", "extsnd.html#expandcontrol",
- "extsnd.html#expandcontrolbounds", "extsnd.html#expandcontrolhop", "extsnd.html#expandcontroljitter", "extsnd.html#expandcontrollength",
- "extsnd.html#expandcontrolramp", "extsnd.html#expandcontrolp", "sndscm.html#explodesf2", "sndclm.html#exponentially-weighted-moving-average",
- "sndscm.html#expsnd", "sndscm.html#expsrc", "s7.html#featureslist", "sndscm.html#cellon",
- "extsnd.html#fft", "sndscm.html#fftcancel", "sndscm.html#fftedit", "sndscm.html#fftenvedit",
- "sndscm.html#fftenvinterp", "extsnd.html#fftlogfrequency", "extsnd.html#fftlogmagnitude", "sndscm.html#fftsmoother",
- "sndscm.html#fftsquelch", "extsnd.html#fftwindow", "extsnd.html#fftalpha", "extsnd.html#fftbeta",
- "extsnd.html#fftwithphases", "sndscm.html#nbdoc", "sndclm.html#filetoarray", "sndclm.html#filetoframple",
- "sndclm.html#filetoframple?", "sndclm.html#filetosample", "sndclm.html#filetosample?", "extsnd.html#filename",
- "s7.html#fillb", "extsnd.html#fillpolygon", "extsnd.html#fillrectangle", "sndclm.html#filter",
- "extsnd.html#filterchannel", "extsnd.html#filtercontrolcoeffs", "extsnd.html#filtercontrolenvelope", "extsnd.html#filtercontrolindB",
- "extsnd.html#filtercontrolinhz", "extsnd.html#filtercontrolorder", "extsnd.html#filterwaveformcolor", "extsnd.html#filtercontrolp",
- "sndscm.html#filterfft", "extsnd.html#filterselection", "sndscm.html#filterselectionandsmooth", "extsnd.html#filtersound",
- "sndclm.html#filter?", "sndclm.html#filtered-comb", "sndclm.html#filteredcombbank", "sndclm.html#filteredcombbankp",
- "sndclm.html#filtered-comb?", "extsnd.html#finddialog", "extsnd.html#findmark", "sndscm.html#findmix",
- "extsnd.html#findsound", "sndscm.html#finfo", "extsnd.html#finishprogressreport", "sndclm.html#fir-filter",
- "sndclm.html#fir-filter?", "sndclm.html#firmant", "sndclm.html#firmant?", "sndscm.html#fitselectionbetweenmarks",
- "sndscm.html#flattenpartials", "extsnd.html#fv", "extsnd.html#fvtimes", "extsnd.html#fvplus",
- "extsnd.html#fvtochannel", "extsnd.html#fvtolist", "extsnd.html#fvtostring", "extsnd.html#fvabs",
- "extsnd.html#fvadd", "extsnd.html#fvcopy", "extsnd.html#fvequal", "extsnd.html#fvfill",
- "extsnd.html#fvlength", "extsnd.html#fvmax", "extsnd.html#fvmin", "extsnd.html#fvmove",
- "extsnd.html#fvmultiply", "extsnd.html#fvoffset", "extsnd.html#fvpeak", "sndscm.html#vctpolynomial",
- "extsnd.html#fvref", "extsnd.html#fvreverse", "extsnd.html#fvscale", "extsnd.html#fvset",
- "extsnd.html#fvsubseq", "extsnd.html#fvsubtract", "extsnd.html#fvp", "sndclm.html#flocsig",
- "sndclm.html#flocsig?", "sndscm.html#stereoflute", "sndscm.html#fmbell", "sndscm.html#fmdrum",
- "sndscm.html#fmnoise", "sndscm.html#fmparallelcomponent", "sndscm.html#fmvox", "sndscm.html#fmtrumpet",
- "sndscm.html#vdoc", "sndscm.html#fmvoice", "sndclm.html#fmssb", "sndclm.html#fmssb?",
- "extsnd.html#focuswidget", "sndscm.html#fofins", "sndscm.html#fofins", "sndscm.html#foreachchild",
- "sndscm.html#foreachsoundfile", "sndscm.html#fp", "extsnd.html#foregroundcolor", "extsnd.html#forgetregion",
- "sndclm.html#formant", "sndclm.html#formantbank", "sndclm.html#formantbankp", "sndclm.html#formant?",
- "s7.html#format", "sndscm.html#fp", "sndscm.html#fractionalfouriertransform", "sndclm.html#frampletofile",
- "sndclm.html#frampletofile?", "sndclm.html#frampletoframple", "extsnd.html#framples", "extsnd.html#freeplayer",
- "extsnd.html#freesampler", "sndscm.html#freeverb", "sndscm.html#fullmix", "s7.html#funclet",
- "sndscm.html#gaussiandistribution", "extsnd.html#gcoff", "extsnd.html#gcon", "s7.html#gensym",
- "s7.html#gensym?", "extsnd.html#glgraphtops", "extsnd.html#glspectrogram", "sndscm.html#goertzel",
- "extsnd.html#gotolistenerend", "sndscm.html#grani", "sndclm.html#granulate", "sndclm.html#granulate?",
- "sndscm.html#granulatedsoundinterp", "extsnd.html#graph", "extsnd.html#graphtops", "extsnd.html#graphcolor",
- "extsnd.html#graphcursor", "extsnd.html#graphdata", "extsnd.html#graphhook", "extsnd.html#graphstyle",
- "sndscm.html#grapheq", "extsnd.html#graphshorizontal", "sndclm.html#green-noise", "sndclm.html#green-noise-interp",
- "sndclm.html#green-noise-interp?", "sndclm.html#green-noise?", "extsnd.html#griddensity", "sndscm.html#harmonicizer",
- "sndscm.html#dht", "s7.html#hashtable", "s7.html#hashtablestar", "s7.html#hashtableentries",
- "s7.html#hashtableref", "s7.html#hashtableset", "s7.html#hashtablep", "extsnd.html#headertype",
- "sndscm.html#hellodentist", "extsnd.html#helpdialog", "extsnd.html#helphook", "extsnd.html#hidewidget",
- "extsnd.html#highlightcolor", "sndscm.html#hilberttransform", "s7.html#hookfunctions", "sndscm.html#hookmember",
- "sndscm.html#html", "extsnd.html#htmldir", "extsnd.html#htmlprogram", "sndclm.html#hztoradians",
- "sndclm.html#iir-filter", "sndclm.html#iir-filter?", "extsnd.html#gin", "sndclm.html#in-any",
- "sndclm.html#ina", "sndclm.html#inb", "extsnd.html#infodialog", "grfsnd.html#initladspa",
- "extsnd.html#initialbeg", "extsnd.html#initialdur", "extsnd.html#initialgraphhook", "s7.html#inlet",
- "sndscm.html#insertchannel", "extsnd.html#insertfiledialog", "extsnd.html#insertregion", "extsnd.html#insertsample",
- "extsnd.html#insertsamples", "extsnd.html#insertselection", "extsnd.html#insertsilence", "extsnd.html#insertsound",
- "s7.html#intvector", "s7.html#intvectorref", "s7.html#intvectorset", "s7.html#intvectorp",
- "extsnd.html#integertocolormap", "extsnd.html#integertomark", "extsnd.html#integertomix", "extsnd.html#integertoregion",
- "extsnd.html#integertosound", "extsnd.html#integertotransform", "sndscm.html#integrateenvelope", "sndscm.html#invertfilter",
- "s7.html#iterate", "s7.html#iteratoratend", "s7.html#iteratorsequence", "s7.html#iteratorp",
- "sndclm.html#izcos", "sndclm.html#izcos?", "sndclm.html#j0evencos", "sndclm.html#j0evencos?",
- "sndclm.html#j0j1cos", "sndclm.html#j0j1cos?", "sndclm.html#j2cos", "sndclm.html#j2cos?",
- "sndscm.html#jcreverb", "sndclm.html#jjcos", "sndclm.html#jjcos?", "sndclm.html#jncos",
- "sndclm.html#jncos?", "sndclm.html#jpcos", "sndclm.html#jpcos?", "extsnd.html#justsounds",
- "sndclm.html#jycos", "sndclm.html#jycos?", "sndclm.html#k2cos", "sndclm.html#k2cos?",
- "sndclm.html#k2sin", "sndclm.html#k2sin?", "sndclm.html#k2ssb", "sndclm.html#k2ssb?",
- "sndclm.html#k3sin", "sndclm.html#k3sin?", "sndscm.html#kalmanfilterchannel", "extsnd.html#key",
- "extsnd.html#keybinding", "extsnd.html#keypresshook", "sndclm.html#krksin", "sndclm.html#krksin?",
- "grfsnd.html#ladspadescriptor", "extsnd.html#ladspadir", "s7.html#lambdastar", "sndscm.html#lbjpiano",
- "extsnd.html#leftsample", "s7.html#lettolist", "s7.html#letref", "s7.html#letset",
- "s7.html#letp", "sndclm.html#lineartodb", "sndscm.html#linearsrcchannel", "sndscm.html#lintdoc",
- "extsnd.html#lispgraphhook", "extsnd.html#lispgraphstyle", "extsnd.html#lispgraphp", "extsnd.html#listtofv",
- "extsnd.html#listtovct", "grfsnd.html#listladspa", "extsnd.html#listenerclickhook", "extsnd.html#listenercolor",
- "extsnd.html#listenercolorized", "extsnd.html#listenerfont", "extsnd.html#listenerprompt", "extsnd.html#listenerselection",
- "extsnd.html#listenertextcolor", "extsnd.html#littleendianp", "s7.html#loadhook", "s7.html#loadpath",
- "sndscm.html#locatezero", "sndclm.html#locsig", "sndclm.html#locsig-ref", "sndclm.html#locsig-reverb-ref",
- "sndclm.html#locsig-reverb-set!", "sndclm.html#locsig-set!", "sndclm.html#locsig-type", "sndclm.html#locsig?",
- "extsnd.html#logfreqstart", "sndscm.html#lpccoeffs", "sndscm.html#lpcpredict", "s7.html#macrop",
- "s7.html#macroexpand", "extsnd.html#mainmenu", "extsnd.html#mainwidgets", "sndclm.html#make-abcos",
- "sndclm.html#make-absin", "sndclm.html#make-adjustable-sawtooth-wave", "sndclm.html#make-adjustable-square-wave", "sndclm.html#make-adjustable-triangle-wave",
- "sndclm.html#make-all-pass", "sndclm.html#makeallpassbank", "sndclm.html#make-asyfm", "sndclm.html#make-asymmetric-fm",
- "sndscm.html#makebandpass", "sndscm.html#makebandstop", "sndclm.html#make-bess", "sndscm.html#makebiquad",
- "sndscm.html#makebirds", "sndclm.html#make-blackman", "sndclm.html#make-brown-noise", "s7.html#makebytevector",
- "sndscm.html#makedropsite", "extsnd.html#makecolor", "sndclm.html#make-comb", "sndclm.html#makecombbank",
- "sndclm.html#make-convolve", "sndclm.html#make-delay", "sndscm.html#makedifferentiator", "sndclm.html#make-env",
- "sndclm.html#make-eoddcos", "sndclm.html#make-ercos", "sndclm.html#make-erssb", "sndclm.html#make-fft-window",
- "sndclm.html#make-filetoframple", "sndclm.html#make-filetosample", "sndclm.html#make-filter", "sndclm.html#make-filtered-comb",
- "sndclm.html#makefilteredcombbank", "sndclm.html#make-fir-coeffs", "sndclm.html#make-fir-filter", "sndclm.html#make-firmant",
- "extsnd.html#makefv", "sndclm.html#make-flocsig", "sndclm.html#make-fmssb", "sndclm.html#make-formant",
- "sndclm.html#makeformantbank", "sndclm.html#make-frampletofile", "sndclm.html#make-granulate", "extsnd.html#makegraphdata",
- "sndclm.html#make-green-noise", "sndclm.html#make-green-noise-interp", "s7.html#makehashtable", "sndscm.html#makehighpass",
- "sndscm.html#makehilberttransform", "s7.html#makehook", "sndclm.html#make-iir-filter", "s7.html#makeintvector",
- "s7.html#makeiterator", "sndclm.html#make-izcos", "sndclm.html#make-j0evencos", "sndclm.html#make-j0j1cos",
- "sndclm.html#make-j2cos", "sndclm.html#make-jjcos", "sndclm.html#make-jncos", "sndclm.html#make-jpcos",
- "sndclm.html#make-jycos", "sndclm.html#make-k2cos", "sndclm.html#make-k2sin", "sndclm.html#make-k2ssb",
- "sndclm.html#make-k3sin", "sndclm.html#make-krksin", "sndclm.html#make-locsig", "sndscm.html#makelowpass",
- "extsnd.html#makemixsampler", "sndclm.html#make-move-sound", "sndclm.html#make-moving-autocorrelation", "sndclm.html#make-moving-average",
- "sndclm.html#make-moving-fft", "sndclm.html#make-moving-max", "sndclm.html#make-moving-norm", "sndclm.html#make-moving-pitch",
- "sndclm.html#make-moving-scentroid", "sndclm.html#make-moving-spectrum", "sndclm.html#make-n1cos", "sndclm.html#make-nchoosekcos",
- "sndclm.html#make-ncos", "sndclm.html#make-nkssb", "sndclm.html#make-noddcos", "sndclm.html#make-noddsin",
- "sndclm.html#make-noddssb", "sndclm.html#make-noid", "sndclm.html#make-notch", "sndclm.html#make-nrcos",
- "sndclm.html#make-nrsin", "sndclm.html#make-nrssb", "sndclm.html#make-nrxycos", "sndclm.html#make-nrxysin",
- "sndclm.html#make-nsin", "sndclm.html#make-nsincos", "sndclm.html#make-nssb", "sndclm.html#make-nxy1cos",
- "sndclm.html#make-nxy1sin", "sndclm.html#make-nxycos", "sndclm.html#make-nxysin", "sndclm.html#make-one-pole",
- "sndclm.html#make-one-pole-all-pass", "sndclm.html#make-one-zero", "sndclm.html#make-oscil", "sndclm.html#make-oscil-bank",
- "sndclm.html#make-phase-vocoder", "sndclm.html#make-pink-noise", "sndscm.html#makepixmap", "extsnd.html#makeplayer",
- "sndclm.html#make-polyoid", "sndclm.html#make-polyshape", "sndclm.html#make-polywave", "sndclm.html#make-pulse-train",
- "sndclm.html#make-pulsed-env", "sndclm.html#make-r2k!cos", "sndclm.html#make-r2k2cos", "sndscm.html#makeramp",
- "sndclm.html#make-rand", "sndclm.html#make-rand-interp", "sndclm.html#make-rcos", "sndclm.html#make-readin",
- "extsnd.html#makeregion", "extsnd.html#makeregionsampler", "sndclm.html#make-rk!cos", "sndclm.html#make-rk!ssb",
- "sndclm.html#make-rkcos", "sndclm.html#make-rkoddssb", "sndclm.html#make-rksin", "sndclm.html#make-rkssb",
- "sndclm.html#make-round-interp", "sndclm.html#make-rssb", "sndclm.html#make-rxycos", "sndclm.html#make-rxyk!cos",
- "sndclm.html#make-rxyk!sin", "sndclm.html#make-rxysin", "sndclm.html#make-sampletofile", "extsnd.html#makesampler",
- "sndclm.html#make-sawtooth-wave", "sndscm.html#makeselection", "sndclm.html#make-sinc-train", "extsnd.html#makesndtosample",
- "sndscm.html#makesoundbox", "sndscm.html#makespencerfilter", "sndclm.html#make-square-wave", "sndclm.html#make-src",
- "sndclm.html#make-ssb-am", "sndclm.html#make-table-lookup", "sndclm.html#make-table-lookup-with-env", "sndclm.html#make-tanhsin",
- "sndclm.html#make-triangle-wave", "sndclm.html#make-two-pole", "sndclm.html#make-two-zero", "sndscm.html#makevariabledisplay",
- "extsnd.html#makevariablegraph", "extsnd.html#makevct", "sndclm.html#make-wave-train", "sndclm.html#make-wave-train-with-env",
- "extsnd.html#mapchannel", "sndscm.html#mapsoundfiles", "sndscm.html#maracadoc", "extsnd.html#marktointeger",
- "extsnd.html#markclickhook", "sndscm.html#markclickinfo", "extsnd.html#markcolor", "extsnd.html#markcontext",
- "extsnd.html#markdraghook", "sndscm.html#markexplode", "extsnd.html#markhome", "extsnd.html#markhook",
- "sndscm.html#markloops", "extsnd.html#markname", "sndscm.html#marknametoid", "extsnd.html#markproperties",
- "extsnd.html#markproperty", "extsnd.html#marksample", "extsnd.html#marksync", "sndscm.html#marksynccolor",
- "extsnd.html#marksyncmax", "extsnd.html#marktagheight", "extsnd.html#marktagwidth", "extsnd.html#markp",
- "extsnd.html#emarks", "sndscm.html#matchsoundfiles", "sndscm.html#maxenvelope", "extsnd.html#maxregions",
- "extsnd.html#maxfftpeaks", "extsnd.html#maxamp", "extsnd.html#maxampposition", "extsnd.html#menuwidgets",
- "sndscm.html#menusdoc", "extsnd.html#mindb", "extsnd.html#mix", "sndscm.html#mixtovct",
- "extsnd.html#mixtointeger", "extsnd.html#mixamp", "extsnd.html#mixampenv", "sndscm.html#mixchannel",
- "extsnd.html#mixclickhook", "sndscm.html#mixclickinfo", "sndscm.html#mixclicksetsamp", "extsnd.html#mixcolor",
- "extsnd.html#mixdialogmix", "extsnd.html#mixdraghook", "extsnd.html#mixfiledialog", "extsnd.html#mixhome",
- "extsnd.html#mixlength", "sndscm.html#mixmaxamp", "extsnd.html#mixname", "sndscm.html#mixnametoid",
- "extsnd.html#mixposition", "extsnd.html#mixproperties", "extsnd.html#mixproperty", "extsnd.html#mixregion",
- "extsnd.html#mixreleasehook", "extsnd.html#mixsamplerQ", "extsnd.html#mixselection", "sndscm.html#mixsound",
- "extsnd.html#mixspeed", "extsnd.html#mixsync", "extsnd.html#mixsyncmax", "extsnd.html#mixtagheight",
- "extsnd.html#mixtagwidth", "extsnd.html#mixtagy", "extsnd.html#mixvct", "extsnd.html#mixwaveformheight",
- "extsnd.html#mixp", "extsnd.html#mixes", "sndscm.html#monotostereo", "sndscm.html#moogfilter",
- "s7.html#morallyequalp", "extsnd.html#mouseclickhook", "extsnd.html#mousedraghook", "extsnd.html#mouseentergraphhook",
- "extsnd.html#mouseenterlabelhook", "extsnd.html#mouseenterlistenerhook", "extsnd.html#mouseentertexthook", "extsnd.html#mouseleavegraphhook",
- "extsnd.html#mouseleavelabelhook", "extsnd.html#mousleavelistenerhook", "extsnd.html#mousleavetexthook", "extsnd.html#mousepresshook",
- "sndclm.html#move-locsig", "sndscm.html#movemixes", "sndclm.html#move-sound", "sndclm.html#move-sound?",
- "sndscm.html#movesyncdmarks", "sndclm.html#moving-autocorrelation", "sndclm.html#moving-autocorrelation?", "sndclm.html#moving-average",
- "sndclm.html#moving-average?", "sndclm.html#moving-fft", "sndclm.html#moving-fft?", "sndclm.html#moving-length",
- "sndclm.html#moving-max", "sndclm.html#moving-max?", "sndclm.html#moving-norm", "sndclm.html#moving-norm?",
- "sndclm.html#moving-pitch", "sndclm.html#moving-pitch?", "sndclm.html#moving-rms", "sndclm.html#moving-scentroid",
- "sndclm.html#moving-scentroid?", "sndclm.html#moving-spectrum", "sndclm.html#moving-spectrum?", "sndclm.html#moving-sum",
- "sndscm.html#mpg", "extsnd.html#musalsabuffersize", "extsnd.html#musalsabuffers", "extsnd.html#musalsacapturedevice",
- "extsnd.html#musalsadevice", "extsnd.html#musalsaplaybackdevice", "extsnd.html#musalsasquelchwarning", "sndclm.html#musarrayprintlength",
- "extsnd.html#musbytespersample", "sndclm.html#mus-channel", "sndclm.html#mus-channels", "sndclm.html#mus-chebyshev-tu-sum",
- "extsnd.html#musclipping", "sndclm.html#mus-close", "sndclm.html#mus-copy", "sndclm.html#mus-data",
- "sndclm.html#mus-describe", "extsnd.html#muserrorhook", "extsnd.html#muserrortypetostring", "extsnd.html#musexpandfilename",
- "sndclm.html#mus-feedback", "sndclm.html#mus-feedforward", "sndclm.html#fft", "sndclm.html#musfilebuffersize",
- "extsnd.html#musfileclipping", "sndscm.html#musfilemix", "sndclm.html#mus-file-name", "sndclm.html#musfloatequalfudgefactor",
- "sndclm.html#mus-frequency", "sndclm.html#musgeneratorp", "extsnd.html#musheaderrawdefaults", "extsnd.html#musheadertypetostring",
- "extsnd.html#musheadertypename", "sndclm.html#mus-hop", "sndclm.html#mus-increment", "sndclm.html#mus-input?",
- "sndclm.html#mus-interp-type", "sndclm.html#mus-interpolate", "sndclm.html#mus-length", "sndclm.html#mus-location",
- "extsnd.html#musmaxmalloc", "extsnd.html#musmaxtablesize", "sndclm.html#mus-name", "sndclm.html#mus-offset",
- "sndclm.html#mus-order", "extsnd.html#musosssetbuffers", "sndclm.html#mus-output?", "sndclm.html#mus-phase",
- "sndclm.html#mus-ramp", "sndclm.html#mus-rand-seed", "sndclm.html#mus-random", "sndclm.html#mus-reset",
- "sndclm.html#mus-run", "extsnd.html#mussampletypetostring", "extsnd.html#mussampletypename", "sndclm.html#mus-scaler",
- "extsnd.html#mussoundchans", "extsnd.html#mussoundcloseinput", "extsnd.html#mussoundcloseoutput", "extsnd.html#mussoundcomment",
- "extsnd.html#mussounddatalocation", "extsnd.html#mussounddatumsize", "extsnd.html#mussoundduration", "extsnd.html#mussoundforget",
- "extsnd.html#mussoundframples", "extsnd.html#mussoundheadertype", "extsnd.html#mussoundlength", "extsnd.html#mussoundloopinfo",
- "extsnd.html#mussoundmarkinfo", "extsnd.html#mussoundmaxamp", "extsnd.html#mussoundmaxampexists", "extsnd.html#mussoundopeninput",
- "extsnd.html#mussoundopenoutput", "extsnd.html#mussoundpath", "extsnd.html#mussoundpreload", "extsnd.html#mussoundprune",
- "extsnd.html#mussoundread", "extsnd.html#mussoundreopenoutput", "extsnd.html#mussoundreportcache", "extsnd.html#mussoundsampletype",
- "extsnd.html#mussoundsamples", "extsnd.html#mussoundseekframple", "extsnd.html#mussoundsrate", "extsnd.html#mussoundtypespecifier",
- "extsnd.html#mussoundwrite", "extsnd.html#mussoundwritedate", "sndclm.html#mussrate", "sndclm.html#mus-width",
- "sndclm.html#mus-xcoeff", "sndclm.html#mus-xcoeffs", "sndclm.html#mus-ycoeff", "sndclm.html#mus-ycoeffs",
- "sndclm.html#n1cos", "sndclm.html#n1cos?", "extsnd.html#nameclickhook", "sndclm.html#nchoosekcos",
- "sndclm.html#nchoosekcos?", "sndclm.html#ncos", "sndclm.html#ncos2?", "sndclm.html#ncos4?",
- "sndclm.html#ncos?", "extsnd.html#newsound", "extsnd.html#newsounddialog", "extsnd.html#newsoundhook",
- "extsnd.html#newwidgethook", "extsnd.html#nextsample", "sndclm.html#nkssb", "sndclm.html#nkssbinterp",
- "sndclm.html#nkssb?", "sndclm.html#noddcos", "sndclm.html#noddcos?", "sndclm.html#noddsin",
- "sndclm.html#noddsin?", "sndclm.html#noddssb", "sndclm.html#noddssb?", "sndclm.html#noid",
- "extsnd.html#normalizechannel", "sndscm.html#normalizeenvelope", "sndclm.html#normalizepartials", "sndscm.html#normalizesound",
- "sndscm.html#normalizedmix", "sndclm.html#notch", "sndscm.html#notchchannel", "sndscm.html#notchselection",
- "sndscm.html#notchsound", "sndclm.html#notch?", "sndclm.html#npcos?", "sndclm.html#nrcos",
- "sndclm.html#nrcos?", "sndscm.html#nrev", "sndclm.html#nrsin", "sndclm.html#nrsin?",
- "sndclm.html#nrssb", "sndclm.html#nrssbinterp", "sndclm.html#nrssb?", "sndclm.html#nrxycos",
- "sndclm.html#nrxycos?", "sndclm.html#nrxysin", "sndclm.html#nrxysin?", "sndclm.html#nsin",
- "sndclm.html#nsin?", "sndclm.html#nsincos", "sndclm.html#nsincos?", "sndclm.html#nssb",
- "sndclm.html#nssb?", "sndclm.html#nxy1cos", "sndclm.html#nxy1cos?", "sndclm.html#nxy1sin",
- "sndclm.html#nxy1sin?", "sndclm.html#nxycos", "sndclm.html#nxycos?", "sndclm.html#nxysin",
- "sndclm.html#nxysin?", "s7.html#objecttostring", "sndclm.html#oddmultiple", "sndclm.html#oddweight",
- "sndscm.html#offsetchannel", "sndscm.html#offsetsound", "sndclm.html#one-pole", "sndclm.html#one-pole-all-pass",
- "sndclm.html#one-pole-all-pass?", "sndclm.html#one-pole?", "sndclm.html#one-zero", "sndclm.html#one-zero?",
- "extsnd.html#openfiledialog", "extsnd.html#openfiledialogdirectory", "extsnd.html#openhook", "sndscm.html#opennextfileindirectory",
- "extsnd.html#openrawsound", "extsnd.html#openrawsoundhook", "extsnd.html#opensound", "s7.html#openlet",
- "s7.html#openletp", "extsnd.html#orientationhook", "sndclm.html#oscil", "sndclm.html#oscil-bank",
- "sndclm.html#oscil-bank?", "sndclm.html#oscil?", "sndclm.html#out-any", "sndclm.html#outbank",
- "sndclm.html#outa", "s7.html#outlet", "sndclm.html#*output*", "extsnd.html#outputcommenthook",
- "sndscm.html#overlayrmsenv", "s7.html#owlet", "extsnd.html#padchannel", "sndscm.html#padmarks",
- "sndscm.html#padsound", "s7.html#pairfilename", "s7.html#pairlinenumber", "sndscm.html#panmix",
- "sndscm.html#panmixvct", "sndclm.html#partialstopolynomial", "sndclm.html#partialstowave", "extsnd.html#pausing",
- "extsnd.html#peakenvdir", "extsnd.html#peaks", "extsnd.html#peaksfont", "sndclm.html#phase-partialstowave",
- "sndclm.html#phase-vocoder", "sndclm.html#phase-vocoder?", "sndscm.html#pianodoc", "sndclm.html#pink-noise",
- "sndclm.html#pink-noise?", "sndscm.html#pins", "sndscm.html#placesound", "extsnd.html#play",
- "extsnd.html#playarrowsize", "sndscm.html#playbetweenmarks", "extsnd.html#playhook", "sndscm.html#playmixes",
- "sndscm.html#playoften", "sndscm.html#playregionforever", "sndscm.html#playsine", "sndscm.html#playsines",
- "sndscm.html#playsyncdmarks", "sndscm.html#playuntilcg", "sndscm.html#playwithenvs", "extsnd.html#playerhome",
- "extsnd.html#playerQ", "extsnd.html#players", "extsnd.html#playing", "sndscm.html#pluck",
- "sndclm.html#polartorectangular", "sndclm.html#polynomial", "sndscm.html#polydoc", "sndclm.html#polyoid",
- "sndclm.html#polyoidenv", "sndclm.html#polyoid?", "sndclm.html#polyshape", "sndclm.html#polyshape?",
- "sndclm.html#polywave", "sndclm.html#polywave?", "s7.html#portfilename", "s7.html#portlinenumber",
- "extsnd.html#positiontox", "extsnd.html#positiontoy", "extsnd.html#positioncolor", "sndscm.html#powerenv",
- "sndscm.html#pqw", "sndscm.html#pqwvox", "extsnd.html#preferencesdialog", "extsnd.html#previoussample",
- "extsnd.html#printdialog", "extsnd.html#printlength", "s7.html#proceduredocumentation", "s7.html#proceduresetter",
- "s7.html#proceduresignature", "s7.html#proceduresource", "extsnd.html#progressreport", "sndclm.html#pulse-train",
- "sndclm.html#pulse-train?", "sndclm.html#pulsedenv", "sndclm.html#pulsedenv?", "sndclm.html#r2k!cos",
- "sndclm.html#r2k!cos?", "sndclm.html#r2k2cos", "sndclm.html#r2k2cos?", "sndclm.html#radianstodegrees",
- "sndclm.html#radianstohz", "extsnd.html#rampchannel", "sndclm.html#rand", "sndclm.html#rand-interp",
- "sndclm.html#rand-interp?", "sndclm.html#rand?", "s7.html#random", "s7.html#randomstate",
- "s7.html#randomstatep", "sndclm.html#rcos", "sndclm.html#rcos?", "s7.html#readerrorhook",
- "extsnd.html#readhook", "extsnd.html#readmixsample", "extsnd.html#readonly", "extsnd.html#readregionsample",
- "extsnd.html#readsample", "extsnd.html#readsamplewithdirection", "s7.html#readercond", "sndclm.html#readin",
- "sndclm.html#readin?", "sndclm.html#rectangulartomagnitudes", "sndclm.html#rectangulartopolar", "extsnd.html#redo",
- "extsnd.html#regiontointeger", "extsnd.html#regiontovct", "extsnd.html#regionchans", "extsnd.html#regionframples",
- "extsnd.html#regiongraphstyle", "extsnd.html#regionhome", "extsnd.html#regionmaxamp", "extsnd.html#regionmaxampposition",
- "sndscm.html#regionplaylist", "extsnd.html#regionposition", "sndscm.html#regionrms", "extsnd.html#regionsample",
- "extsnd.html#regionsamplerQ", "extsnd.html#regionsrate", "extsnd.html#regionok", "extsnd.html#eregions",
- "extsnd.html#remembersoundstate", "sndscm.html#removeclicks", "extsnd.html#removefrommenu", "sndscm.html#replacewithselection",
- "sndscm.html#reportmarknames", "s7.html#requires7", "sndscm.html#resetallhooks", "extsnd.html#resetcontrols",
- "extsnd.html#resetlistenercursor", "sndscm.html#reson", "extsnd.html#restorecontrols", "sndclm.html#*reverb*",
- "extsnd.html#reverbdecay", "extsnd.html#reverbcontrolfeedback", "extsnd.html#reverbcontrollength", "extsnd.html#reverbcontrollengthbounds",
- "extsnd.html#reverbcontrollowpass", "extsnd.html#reverbcontrolscale", "extsnd.html#reverbcontrolscalebounds", "extsnd.html#reverbcontrolp",
- "s7.html#reverseb", "sndscm.html#reversebyblocks", "extsnd.html#reversechannel", "sndscm.html#reverseenvelope",
- "extsnd.html#reverseselection", "extsnd.html#reversesound", "extsnd.html#revertsound", "extsnd.html#rightsample",
- "sndclm.html#ring-modulate", "sndclm.html#rk!cos", "sndclm.html#rk!cos?", "sndclm.html#rk!ssb",
- "sndclm.html#rk!ssb?", "sndclm.html#rkcos", "sndclm.html#rkcos?", "sndclm.html#rkoddssb",
- "sndclm.html#rkoddssb?", "sndclm.html#rksin", "sndclm.html#rksin?", "sndclm.html#rkssb",
- "sndclm.html#rkssb?", "sndscm.html#rmsgain", "sndscm.html#rmsgain", "sndscm.html#rmsenvelope",
- "s7.html#rootlet", "sndclm.html#round-interp", "sndclm.html#round-interp?", "sndclm.html#rssb",
- "sndclm.html#rssbinterp", "sndclm.html#rssb?", "sndscm.html#rubbersound", "sndclm.html#rxycos",
- "sndclm.html#rxycos?", "sndclm.html#rxyk!cos", "sndclm.html#rxyk!cos?", "sndclm.html#rxyk!sin",
- "sndclm.html#rxyk!sin?", "sndclm.html#rxysin", "sndclm.html#rxysin?", "extsnd.html#sample",
- "sndclm.html#sampletofile", "sndclm.html#sampletofile?", "extsnd.html#sampletype", "extsnd.html#sampleratendQ",
- "extsnd.html#samplerhome", "extsnd.html#samplerposition", "extsnd.html#samplerQ", "extsnd.html#samples",
- "sndclm.html#samplestoseconds", "extsnd.html#sashcolor", "extsnd.html#saveasdialogautocomment", "extsnd.html#saveasdialogsrc",
- "extsnd.html#savecontrols", "extsnd.html#savedir", "extsnd.html#saveedithistory", "extsnd.html#saveenvelopes",
- "extsnd.html#savehook", "extsnd.html#savelistener", "sndscm.html#savemarkproperties", "extsnd.html#savemarks",
- "extsnd.html#savemix", "extsnd.html#saveregion", "extsnd.html#saveregiondialog", "extsnd.html#saveselection",
- "extsnd.html#saveselectiondialog", "extsnd.html#savesound", "extsnd.html#savesoundas", "extsnd.html#savesounddialog",
- "extsnd.html#savestate", "extsnd.html#savestatefile", "extsnd.html#savestatehook", "sndscm.html#sgfilter",
- "sndclm.html#sawtooth-wave", "sndclm.html#sawtooth-wave?", "extsnd.html#scaleby", "extsnd.html#scalechannel",
- "sndscm.html#scaleenvelope", "sndscm.html#scalemixes", "extsnd.html#scaleselectionby", "extsnd.html#scaleselectionto",
- "sndscm.html#scalesound", "sndscm.html#scaletempo", "extsnd.html#scaleto", "extsnd.html#scanchannel",
- "sndscm.html#dspdocscanned", "sndscm.html#scentroid", "sndscm.html#scratch", "extsnd.html#scriptarg",
- "extsnd.html#scriptargs", "sndscm.html#searchforclick", "extsnd.html#searchprocedure", "sndclm.html#secondstosamples",
- "extsnd.html#selectall", "extsnd.html#selectchannel", "extsnd.html#selectchannelhook", "extsnd.html#selectsound",
- "extsnd.html#selectsoundhook", "extsnd.html#selectedchannel", "extsnd.html#selecteddatacolor", "extsnd.html#selectedgraphcolor",
- "extsnd.html#selectedsound", "extsnd.html#selection", "extsnd.html#selectiontomix", "extsnd.html#selectionchans",
- "extsnd.html#selectioncolor", "extsnd.html#selectioncontext", "extsnd.html#selectioncreatesregion", "extsnd.html#selectionframples",
- "extsnd.html#selectionmaxamp", "extsnd.html#selectionmaxampposition", "extsnd.html#selectionmember", "sndscm.html#selectionmembers",
- "extsnd.html#selectionposition", "sndscm.html#selectionrms", "extsnd.html#selectionsrate", "extsnd.html#selectionok",
- "extsnd.html#setsamples", "extsnd.html#shortfilename", "extsnd.html#showaxes", "extsnd.html#showcontrols",
- "sndscm.html#showdiskspace", "extsnd.html#showfullduration", "extsnd.html#showfullrange", "extsnd.html#showgrid",
- "extsnd.html#showindices", "extsnd.html#showlistener", "extsnd.html#showmarks", "extsnd.html#showmixwaveforms",
- "extsnd.html#showselection", "extsnd.html#showselectiontransform", "extsnd.html#showsonogramcursor", "extsnd.html#showtransformpeaks",
- "extsnd.html#showwidget", "extsnd.html#showyzero", "sndscm.html#silenceallmixes", "sndscm.html#silencemixes",
- "sndclm.html#sinc-train", "sndclm.html#sinc-train?", "extsnd.html#sincwidth", "sndscm.html#sineenvchannel",
- "sndscm.html#sineramp", "sndscm.html#singerdoc", "extsnd.html#smoothchannel", "extsnd.html#smoothselection",
- "extsnd.html#smoothsound", "sndscm.html#pins", "sndscm.html#snapmarktobeat", "sndscm.html#snapmarks",
- "sndscm.html#snapmixtobeat", "extsnd.html#sndtosample", "extsnd.html#sndtosamplep", "extsnd.html#sndcolor",
- "extsnd.html#snderror", "extsnd.html#snderrorhook", "extsnd.html#sndfont", "extsnd.html#sndgcs",
- "extsnd.html#sndhelp", "sndscm.html#sndscmhooks", "extsnd.html#sndopenedsound", "extsnd.html#sndprint",
- "extsnd.html#sndspectrum", "extsnd.html#sndtempnam", "extsnd.html#sndurl", "extsnd.html#sndurls",
- "extsnd.html#sndversion", "extsnd.html#sndwarning", "extsnd.html#sndwarninghook", "sndscm.html#sndwarp",
- "s7.html#sortb", "sndscm.html#soundtoamp_env", "extsnd.html#soundtointeger", "extsnd.html#soundfileextensions",
- "extsnd.html#soundfilep", "extsnd.html#soundfilesindirectory", "sndscm.html#soundinterp", "extsnd.html#soundloopinfo",
- "extsnd.html#soundproperties", "extsnd.html#soundproperty", "extsnd.html#soundwidgets", "extsnd.html#soundp",
- "extsnd.html#soundfontinfo", "extsnd.html#sounds", "sndscm.html#soundstosegmentdata", "sndscm.html#spectra",
- "sndscm.html#twotab", "sndscm.html#spectralpolynomial", "extsnd.html#spectrohop", "extsnd.html#spectroxangle",
- "extsnd.html#spectroxscale", "extsnd.html#spectroyangle", "extsnd.html#spectroyscale", "extsnd.html#spectrozangle",
- "extsnd.html#spectrozscale", "sndclm.html#spectrum", "sndscm.html#spectrumtocoeffs", "extsnd.html#spectrumend",
- "extsnd.html#spectrumstart", "extsnd.html#speedcontrol", "extsnd.html#speedcontrolbounds", "extsnd.html#speedstyle",
- "extsnd.html#speedtones", "sndscm.html#spotfreq", "sndclm.html#square-wave", "sndclm.html#square-wave?",
- "extsnd.html#squelchupdate", "sndscm.html#squelchvowels", "extsnd.html#srate", "sndclm.html#src",
- "extsnd.html#srcchannel", "sndscm.html#srcduration", "sndscm.html#srcfitenvelope", "sndscm.html#srcmixes",
- "extsnd.html#srcsoundselection", "extsnd.html#srcsound", "sndclm.html#src?", "sndclm.html#ssb-am",
- "sndclm.html#ssb-am?", "sndscm.html#ssbbank", "sndscm.html#ssbbankenv", "sndscm.html#ssbfm",
- "sndscm.html#startdac", "extsnd.html#startplaying", "extsnd.html#startplayinghook", "extsnd.html#startplayingselectionhook",
- "extsnd.html#startprogressreport", "extsnd.html#statusreport", "extsnd.html#stdinprompt", "sndscm.html#stereotomono",
- "sndscm.html#stereoflute", "extsnd.html#stopplayer", "extsnd.html#stopplaying", "extsnd.html#stopplayinghook",
- "extsnd.html#stopplayingselectionhook", "sndscm.html#stretchenvelope", "sndscm.html#stretchsoundviadft", "s7.html#stringposition",
- "s7.html#sublet", "sndscm.html#superimposeffts", "extsnd.html#swapchannels", "sndscm.html#swapselectionchannels",
- "s7.html#symboltodynamicvalue", "s7.html#symboltovalue", "s7.html#symbolaccess", "s7.html#symboltable",
- "extsnd.html#sync", "sndscm.html#sync-everything", "extsnd.html#syncmax", "extsnd.html#syncstyle",
- "extsnd.html#syncdmarks", "sndscm.html#syncdmixes", "sndscm.html#syncup", "sndclm.html#table-lookup",
- "sndclm.html#table-lookup?", "sndclm.html#tanhsin", "sndclm.html#tanhsin?", "sndclm.html#tap",
- "sndclm.html#tap?", "sndscm.html#telephone", "extsnd.html#tempdir", "extsnd.html#textfocuscolor",
- "extsnd.html#timegraphstyle", "extsnd.html#timegraphtype", "extsnd.html#timegraphp", "sndclm.html#timestosamples",
- "extsnd.html#tinyfont", "sndscm.html#telephone", "s7.html#trace", "extsnd.html#trackingcursorstyle",
- "extsnd.html#transformtointeger", "extsnd.html#transformtovct", "extsnd.html#transformdialog", "extsnd.html#transformframples",
- "extsnd.html#transformgraphstyle", "extsnd.html#transformgraphtype", "extsnd.html#transformgraphp", "extsnd.html#normalizefft",
- "extsnd.html#transformsample", "extsnd.html#transformsize", "extsnd.html#transformtype", "extsnd.html#transformp",
- "sndscm.html#transposemixes", "sndclm.html#triangle-wave", "sndclm.html#triangle-wave?", "sndscm.html#tubebell",
- "sndscm.html#tubebell", "sndclm.html#two-pole", "sndclm.html#two-pole?", "sndscm.html#twotab",
- "sndclm.html#two-zero", "sndclm.html#two-zero?", "extsnd.html#unbindkey", "s7.html#unboundvariablehook",
- "sndscm.html#unclipchannel", "extsnd.html#undo", "extsnd.html#undohook", "s7.html#unlet",
- "extsnd.html#unselectall", "sndscm.html#updategraphs", "extsnd.html#updatehook", "extsnd.html#updatelispgraph",
- "extsnd.html#updatesound", "extsnd.html#updatetimegraph", "extsnd.html#updatetransformgraph", "sndscm.html#uponsaveyourself",
- "sndscm.html#sndmotifdoc", "sndscm.html#variabledisplay", "extsnd.html#variablegraphp", "s7.html#varlet",
- "extsnd.html#vct", "extsnd.html#vcttimes", "extsnd.html#vctplus", "extsnd.html#vcttochannel",
- "extsnd.html#vcttolist", "extsnd.html#vcttostring", "extsnd.html#vcttovector", "extsnd.html#vctabs",
- "extsnd.html#vctadd", "extsnd.html#vctcopy", "extsnd.html#vctequal", "extsnd.html#vctfill",
- "extsnd.html#vctlength", "extsnd.html#vctmax", "extsnd.html#vctmin", "extsnd.html#vctmove",
- "extsnd.html#vctmultiply", "extsnd.html#vctoffset", "extsnd.html#vctpeak", "extsnd.html#vctref",
- "extsnd.html#vctreverse", "extsnd.html#vctscale", "extsnd.html#vctset", "extsnd.html#vctsubseq",
- "extsnd.html#vctsubtract", "extsnd.html#vctp", "extsnd.html#vectortovct", "extsnd.html#viewfilesamp",
+ "extsnd.html#comment", "sndscm.html#complexify", "sndscm.html#concatenateenvelopes", "s7.html#constantp",
+ "s7.html#continuationp", "sndclm.html#continue-frampletofile", "sndclm.html#continue-sampletofile", "sndscm.html#contrastchannel",
+ "extsnd.html#contrastcontrol", "extsnd.html#contrastcontrolamp", "extsnd.html#contrastcontrolbounds", "extsnd.html#contrastcontrolp",
+ "sndclm.html#contrast-enhancement", "sndscm.html#contrastsound", "extsnd.html#controlstochannel", "sndclm.html#convolution",
+ "extsnd.html#convolvewith", "sndclm.html#convolve", "sndclm.html#convolvefiles", "extsnd.html#convolveselectionwith",
+ "extsnd.html#convolvewith", "sndclm.html#convolve?", "s7.html#s7copy", "extsnd.html#copycontext",
+ "extsnd.html#copysampler", "sndclm.html#correlate", "s7.html#coverlet", "sndscm.html#mixdoc",
+ "sndscm.html#fadedoc", "sndscm.html#crosssynthesis", "s7.html#curlet", "extsnd.html#currentfont",
+ "extsnd.html#cursor", "extsnd.html#cursorcolor", "extsnd.html#cursorcontext", "extsnd.html#cursorlocationoffset",
+ "extsnd.html#cursorposition", "extsnd.html#cursorsize", "extsnd.html#cursorstyle", "extsnd.html#cursorupdateinterval",
+ "s7.html#cutlet", "s7.html#cyclicsequences", "extsnd.html#dacfolding", "extsnd.html#dacsize",
+ "extsnd.html#datacolor", "extsnd.html#datalocation", "extsnd.html#datasize", "sndclm.html#dbtolinear",
+ "extsnd.html#defaultoutputchans", "extsnd.html#defaultoutputheadertype", "extsnd.html#defaultoutputsampletype", "extsnd.html#defaultoutputsrate",
+ "sndclm.html#defgenerator", "s7.html#definestar", "s7.html#defineconstant", "extsnd.html#defineenvelope",
+ "s7.html#expansion", "s7.html#definemacro", "s7.html#definemacrostar", "sndscm.html#defineselectionviamarks",
+ "s7.html#definedp", "sndclm.html#degreestoradians", "sndclm.html#delay", "sndscm.html#delaychannelmixes",
+ "sndclm.html#delaytick", "sndclm.html#delay?", "extsnd.html#deletecolormap", "extsnd.html#deletefilefilter",
+ "extsnd.html#deletefilesorter", "extsnd.html#deletemark", "extsnd.html#deletemarks", "extsnd.html#deletesample",
+ "extsnd.html#deletesamples", "extsnd.html#deletesamplesandsmooth", "extsnd.html#deleteselection", "extsnd.html#deleteselectionandsmooth",
+ "extsnd.html#deletetransform", "sndscm.html#describehook", "sndscm.html#describemark", "sndscm.html#dht",
+ "extsnd.html#dialogwidgets", "s7.html#dilambda", "sndscm.html#disablecontrolpanel", "sndscm.html#displaybarkfft",
+ "sndscm.html#displaycorrelation", "sndscm.html#displaydb", "extsnd.html#displayedits", "sndscm.html#displayenergy",
+ "sndscm.html#dissolvefade", "sndscm.html#ditherchannel", "sndscm.html#dithersound", "sndscm.html#dolph",
+ "sndclm.html#dot-product", "extsnd.html#dotsize", "sndscm.html#downoct", "extsnd.html#drawaxes",
+ "extsnd.html#drawdot", "extsnd.html#drawdots", "extsnd.html#drawline", "extsnd.html#drawlines",
+ "extsnd.html#drawmarkhook", "extsnd.html#drawmixhook", "extsnd.html#drawstring", "sndscm.html#drone",
+ "sndscm.html#makedropsite", "extsnd.html#drophook", "extsnd.html#duringopenhook", "extsnd.html#editfragment",
+ "extsnd.html#editheaderdialog", "extsnd.html#edithook", "extsnd.html#editlisttofunction", "extsnd.html#editposition",
+ "extsnd.html#editproperties", "extsnd.html#editproperty", "extsnd.html#edittree", "extsnd.html#edits",
+ "sndclm.html#edot-product", "extsnd.html#effectshook", "sndscm.html#analogfilterdoc", "sndclm.html#env",
+ "sndclm.html#env-any", "extsnd.html#envchannel", "extsnd.html#envchannelwithbase", "sndscm.html#envexptchannel",
+ "sndclm.html#env-interp", "sndscm.html#envmixes", "extsnd.html#envselection", "extsnd.html#envsound",
+ "sndscm.html#envsoundinterp", "sndscm.html#envsquaredchannel", "sndclm.html#env?", "extsnd.html#envedbase",
+ "extsnd.html#envedclipping", "extsnd.html#enveddialog", "extsnd.html#envedenvelope", "extsnd.html#filterenv",
+ "extsnd.html#filterenvorder", "extsnd.html#envedhook", "extsnd.html#envedin-dB", "extsnd.html#envedpower",
+ "extsnd.html#envedstyle", "extsnd.html#envedtarget", "extsnd.html#envedwaving", "extsnd.html#envedwaveformcolor",
+ "sndclm.html#envelopeinterp", "sndscm.html#envelopedmix", "sndclm.html#eoddcos", "sndclm.html#eoddcos?",
+ "extsnd.html#epsbottommargin", "extsnd.html#epsfile", "extsnd.html#epsleftmargin", "extsnd.html#epssize",
+ "sndclm.html#ercos", "sndclm.html#ercos?", "s7.html#errorhook", "sndclm.html#erssb",
+ "sndclm.html#erssb?", "sndclm.html#evenmultiple", "sndclm.html#evenweight", "sndscm.html#everysample",
+ "extsnd.html#exit", "extsnd.html#exithook", "extsnd.html#expandcontrol", "extsnd.html#expandcontrolbounds",
+ "extsnd.html#expandcontrolhop", "extsnd.html#expandcontroljitter", "extsnd.html#expandcontrollength", "extsnd.html#expandcontrolramp",
+ "extsnd.html#expandcontrolp", "sndscm.html#explodesf2", "sndclm.html#exponentially-weighted-moving-average", "sndscm.html#expsnd",
+ "sndscm.html#expsrc", "s7.html#featureslist", "sndscm.html#cellon", "extsnd.html#fft",
+ "sndscm.html#fftcancel", "sndscm.html#fftedit", "sndscm.html#fftenvedit", "sndscm.html#fftenvinterp",
+ "extsnd.html#fftlogfrequency", "extsnd.html#fftlogmagnitude", "sndscm.html#fftsmoother", "sndscm.html#fftsquelch",
+ "extsnd.html#fftwindow", "extsnd.html#fftalpha", "extsnd.html#fftbeta", "extsnd.html#fftwithphases",
+ "sndscm.html#nbdoc", "sndclm.html#filetoarray", "sndclm.html#filetoframple", "sndclm.html#filetoframple?",
+ "sndclm.html#filetosample", "sndclm.html#filetosample?", "extsnd.html#filename", "s7.html#fillb",
+ "extsnd.html#fillpolygon", "extsnd.html#fillrectangle", "sndclm.html#filter", "extsnd.html#filterchannel",
+ "extsnd.html#filtercontrolcoeffs", "extsnd.html#filtercontrolenvelope", "extsnd.html#filtercontrolindB", "extsnd.html#filtercontrolinhz",
+ "extsnd.html#filtercontrolorder", "extsnd.html#filterwaveformcolor", "extsnd.html#filtercontrolp", "sndscm.html#filterfft",
+ "extsnd.html#filterselection", "sndscm.html#filterselectionandsmooth", "extsnd.html#filtersound", "sndclm.html#filter?",
+ "sndclm.html#filtered-comb", "sndclm.html#filteredcombbank", "sndclm.html#filteredcombbankp", "sndclm.html#filtered-comb?",
+ "extsnd.html#finddialog", "extsnd.html#findmark", "sndscm.html#findmix", "extsnd.html#findsound",
+ "sndscm.html#finfo", "extsnd.html#finishprogressreport", "sndclm.html#fir-filter", "sndclm.html#fir-filter?",
+ "sndclm.html#firmant", "sndclm.html#firmant?", "sndscm.html#fitselectionbetweenmarks", "sndscm.html#flattenpartials",
+ "extsnd.html#fv", "extsnd.html#fvtimes", "extsnd.html#fvplus", "extsnd.html#fvtochannel",
+ "extsnd.html#fvtolist", "extsnd.html#fvtostring", "extsnd.html#fvabs", "extsnd.html#fvadd",
+ "extsnd.html#fvcopy", "extsnd.html#fvequal", "extsnd.html#fvfill", "extsnd.html#fvlength",
+ "extsnd.html#fvmax", "extsnd.html#fvmin", "extsnd.html#fvmove", "extsnd.html#fvmultiply",
+ "extsnd.html#fvoffset", "extsnd.html#fvpeak", "sndscm.html#vctpolynomial", "extsnd.html#fvref",
+ "extsnd.html#fvreverse", "extsnd.html#fvscale", "extsnd.html#fvset", "extsnd.html#fvsubseq",
+ "extsnd.html#fvsubtract", "extsnd.html#fvp", "sndclm.html#flocsig", "sndclm.html#flocsig?",
+ "sndscm.html#stereoflute", "sndscm.html#fmbell", "sndscm.html#fmdrum", "sndscm.html#fmnoise",
+ "sndscm.html#fmparallelcomponent", "sndscm.html#fmvox", "sndscm.html#fmtrumpet", "sndscm.html#vdoc",
+ "sndscm.html#fmvoice", "sndclm.html#fmssb", "sndclm.html#fmssb?", "extsnd.html#focuswidget",
+ "sndscm.html#fofins", "sndscm.html#fofins", "sndscm.html#foreachchild", "sndscm.html#foreachsoundfile",
+ "sndscm.html#fp", "extsnd.html#foregroundcolor", "extsnd.html#forgetregion", "sndclm.html#formant",
+ "sndclm.html#formantbank", "sndclm.html#formantbankp", "sndclm.html#formant?", "s7.html#format",
+ "sndscm.html#fp", "sndscm.html#fractionalfouriertransform", "sndclm.html#frampletofile", "sndclm.html#frampletofile?",
+ "sndclm.html#frampletoframple", "extsnd.html#framples", "extsnd.html#freeplayer", "extsnd.html#freesampler",
+ "sndscm.html#freeverb", "sndscm.html#fullmix", "s7.html#funclet", "sndscm.html#gaussiandistribution",
+ "extsnd.html#gcoff", "extsnd.html#gcon", "s7.html#gensym", "s7.html#gensym?",
+ "extsnd.html#glgraphtops", "extsnd.html#glspectrogram", "sndscm.html#goertzel", "extsnd.html#gotolistenerend",
+ "sndscm.html#grani", "sndclm.html#granulate", "sndclm.html#granulate?", "sndscm.html#granulatedsoundinterp",
+ "extsnd.html#graph", "extsnd.html#graphtops", "extsnd.html#graphcolor", "extsnd.html#graphcursor",
+ "extsnd.html#graphdata", "extsnd.html#graphhook", "extsnd.html#graphstyle", "sndscm.html#grapheq",
+ "extsnd.html#graphshorizontal", "sndclm.html#green-noise", "sndclm.html#green-noise-interp", "sndclm.html#green-noise-interp?",
+ "sndclm.html#green-noise?", "extsnd.html#griddensity", "sndscm.html#harmonicizer", "sndscm.html#dht",
+ "s7.html#hashtable", "s7.html#hashtablestar", "s7.html#hashtableentries", "s7.html#hashtableref",
+ "s7.html#hashtableset", "s7.html#hashtablep", "extsnd.html#headertype", "sndscm.html#hellodentist",
+ "extsnd.html#helpdialog", "extsnd.html#helphook", "extsnd.html#hidewidget", "extsnd.html#highlightcolor",
+ "sndscm.html#hilberttransform", "s7.html#hookfunctions", "sndscm.html#hookmember", "sndscm.html#html",
+ "extsnd.html#htmldir", "extsnd.html#htmlprogram", "sndclm.html#hztoradians", "sndclm.html#iir-filter",
+ "sndclm.html#iir-filter?", "extsnd.html#gin", "sndclm.html#in-any", "sndclm.html#ina",
+ "sndclm.html#inb", "extsnd.html#infodialog", "grfsnd.html#initladspa", "extsnd.html#initialbeg",
+ "extsnd.html#initialdur", "extsnd.html#initialgraphhook", "s7.html#inlet", "sndscm.html#insertchannel",
+ "extsnd.html#insertfiledialog", "extsnd.html#insertregion", "extsnd.html#insertsample", "extsnd.html#insertsamples",
+ "extsnd.html#insertselection", "extsnd.html#insertsilence", "extsnd.html#insertsound", "s7.html#intvector",
+ "s7.html#intvectorref", "s7.html#intvectorset", "s7.html#intvectorp", "extsnd.html#integertocolormap",
+ "extsnd.html#integertomark", "extsnd.html#integertomix", "extsnd.html#integertoregion", "extsnd.html#integertosound",
+ "extsnd.html#integertotransform", "sndscm.html#integrateenvelope", "sndscm.html#invertfilter", "s7.html#iterate",
+ "s7.html#iteratoratend", "s7.html#iteratorsequence", "s7.html#iteratorp", "sndclm.html#izcos",
+ "sndclm.html#izcos?", "sndclm.html#j0evencos", "sndclm.html#j0evencos?", "sndclm.html#j0j1cos",
+ "sndclm.html#j0j1cos?", "sndclm.html#j2cos", "sndclm.html#j2cos?", "sndscm.html#jcreverb",
+ "sndclm.html#jjcos", "sndclm.html#jjcos?", "sndclm.html#jncos", "sndclm.html#jncos?",
+ "sndclm.html#jpcos", "sndclm.html#jpcos?", "extsnd.html#justsounds", "sndclm.html#jycos",
+ "sndclm.html#jycos?", "sndclm.html#k2cos", "sndclm.html#k2cos?", "sndclm.html#k2sin",
+ "sndclm.html#k2sin?", "sndclm.html#k2ssb", "sndclm.html#k2ssb?", "sndclm.html#k3sin",
+ "sndclm.html#k3sin?", "sndscm.html#kalmanfilterchannel", "extsnd.html#key", "extsnd.html#keybinding",
+ "extsnd.html#keypresshook", "sndclm.html#krksin", "sndclm.html#krksin?", "grfsnd.html#ladspadescriptor",
+ "extsnd.html#ladspadir", "s7.html#lambdastar", "sndscm.html#lbjpiano", "extsnd.html#leftsample",
+ "s7.html#lettolist", "s7.html#letref", "s7.html#letset", "s7.html#letp",
+ "sndclm.html#lineartodb", "sndscm.html#linearsrcchannel", "sndscm.html#lintdoc", "extsnd.html#lispgraphhook",
+ "extsnd.html#lispgraphstyle", "extsnd.html#lispgraphp", "extsnd.html#listtofv", "extsnd.html#listtovct",
+ "grfsnd.html#listladspa", "extsnd.html#listenerclickhook", "extsnd.html#listenercolor", "extsnd.html#listenercolorized",
+ "extsnd.html#listenerfont", "extsnd.html#listenerprompt", "extsnd.html#listenerselection", "extsnd.html#listenertextcolor",
+ "extsnd.html#littleendianp", "s7.html#loadhook", "s7.html#loadpath", "sndscm.html#locatezero",
+ "sndclm.html#locsig", "sndclm.html#locsig-ref", "sndclm.html#locsig-reverb-ref", "sndclm.html#locsig-reverb-set!",
+ "sndclm.html#locsig-set!", "sndclm.html#locsig-type", "sndclm.html#locsig?", "extsnd.html#logfreqstart",
+ "sndscm.html#lpccoeffs", "sndscm.html#lpcpredict", "s7.html#macrop", "s7.html#macroexpand",
+ "extsnd.html#mainmenu", "extsnd.html#mainwidgets", "sndclm.html#make-abcos", "sndclm.html#make-absin",
+ "sndclm.html#make-adjustable-sawtooth-wave", "sndclm.html#make-adjustable-square-wave", "sndclm.html#make-adjustable-triangle-wave", "sndclm.html#make-all-pass",
+ "sndclm.html#makeallpassbank", "sndclm.html#make-asyfm", "sndclm.html#make-asymmetric-fm", "sndscm.html#makebandpass",
+ "sndscm.html#makebandstop", "sndclm.html#make-bess", "sndscm.html#makebiquad", "sndscm.html#makebirds",
+ "sndclm.html#make-blackman", "sndclm.html#make-brown-noise", "s7.html#makebytevector", "sndscm.html#makedropsite",
+ "extsnd.html#makecolor", "sndclm.html#make-comb", "sndclm.html#makecombbank", "sndclm.html#make-convolve",
+ "sndclm.html#make-delay", "sndscm.html#makedifferentiator", "sndclm.html#make-env", "sndclm.html#make-eoddcos",
+ "sndclm.html#make-ercos", "sndclm.html#make-erssb", "sndclm.html#make-fft-window", "sndclm.html#make-filetoframple",
+ "sndclm.html#make-filetosample", "sndclm.html#make-filter", "sndclm.html#make-filtered-comb", "sndclm.html#makefilteredcombbank",
+ "sndclm.html#make-fir-coeffs", "sndclm.html#make-fir-filter", "sndclm.html#make-firmant", "extsnd.html#makefv",
+ "sndclm.html#make-flocsig", "sndclm.html#make-fmssb", "sndclm.html#make-formant", "sndclm.html#makeformantbank",
+ "sndclm.html#make-frampletofile", "sndclm.html#make-granulate", "extsnd.html#makegraphdata", "sndclm.html#make-green-noise",
+ "sndclm.html#make-green-noise-interp", "s7.html#makehashtable", "sndscm.html#makehighpass", "sndscm.html#makehilberttransform",
+ "s7.html#makehook", "sndclm.html#make-iir-filter", "s7.html#makeintvector", "s7.html#makeiterator",
+ "sndclm.html#make-izcos", "sndclm.html#make-j0evencos", "sndclm.html#make-j0j1cos", "sndclm.html#make-j2cos",
+ "sndclm.html#make-jjcos", "sndclm.html#make-jncos", "sndclm.html#make-jpcos", "sndclm.html#make-jycos",
+ "sndclm.html#make-k2cos", "sndclm.html#make-k2sin", "sndclm.html#make-k2ssb", "sndclm.html#make-k3sin",
+ "sndclm.html#make-krksin", "sndclm.html#make-locsig", "sndscm.html#makelowpass", "extsnd.html#makemixsampler",
+ "sndclm.html#make-move-sound", "sndclm.html#make-moving-autocorrelation", "sndclm.html#make-moving-average", "sndclm.html#make-moving-fft",
+ "sndclm.html#make-moving-max", "sndclm.html#make-moving-norm", "sndclm.html#make-moving-pitch", "sndclm.html#make-moving-scentroid",
+ "sndclm.html#make-moving-spectrum", "sndclm.html#make-n1cos", "sndclm.html#make-nchoosekcos", "sndclm.html#make-ncos",
+ "sndclm.html#make-nkssb", "sndclm.html#make-noddcos", "sndclm.html#make-noddsin", "sndclm.html#make-noddssb",
+ "sndclm.html#make-noid", "sndclm.html#make-notch", "sndclm.html#make-nrcos", "sndclm.html#make-nrsin",
+ "sndclm.html#make-nrssb", "sndclm.html#make-nrxycos", "sndclm.html#make-nrxysin", "sndclm.html#make-nsin",
+ "sndclm.html#make-nsincos", "sndclm.html#make-nssb", "sndclm.html#make-nxy1cos", "sndclm.html#make-nxy1sin",
+ "sndclm.html#make-nxycos", "sndclm.html#make-nxysin", "sndclm.html#make-one-pole", "sndclm.html#make-one-pole-all-pass",
+ "sndclm.html#make-one-zero", "sndclm.html#make-oscil", "sndclm.html#make-oscil-bank", "sndclm.html#make-phase-vocoder",
+ "sndclm.html#make-pink-noise", "sndscm.html#makepixmap", "extsnd.html#makeplayer", "sndclm.html#make-polyoid",
+ "sndclm.html#make-polyshape", "sndclm.html#make-polywave", "sndclm.html#make-pulse-train", "sndclm.html#make-pulsed-env",
+ "sndclm.html#make-r2k!cos", "sndclm.html#make-r2k2cos", "sndscm.html#makeramp", "sndclm.html#make-rand",
+ "sndclm.html#make-rand-interp", "sndclm.html#make-rcos", "sndclm.html#make-readin", "extsnd.html#makeregion",
+ "extsnd.html#makeregionsampler", "sndclm.html#make-rk!cos", "sndclm.html#make-rk!ssb", "sndclm.html#make-rkcos",
+ "sndclm.html#make-rkoddssb", "sndclm.html#make-rksin", "sndclm.html#make-rkssb", "sndclm.html#make-round-interp",
+ "sndclm.html#make-rssb", "sndclm.html#make-rxycos", "sndclm.html#make-rxyk!cos", "sndclm.html#make-rxyk!sin",
+ "sndclm.html#make-rxysin", "sndclm.html#make-sampletofile", "extsnd.html#makesampler", "sndclm.html#make-sawtooth-wave",
+ "sndscm.html#makeselection", "sndclm.html#make-sinc-train", "extsnd.html#makesndtosample", "sndscm.html#makesoundbox",
+ "sndscm.html#makespencerfilter", "sndclm.html#make-square-wave", "sndclm.html#make-src", "sndclm.html#make-ssb-am",
+ "sndclm.html#make-table-lookup", "sndclm.html#make-table-lookup-with-env", "sndclm.html#make-tanhsin", "sndclm.html#make-triangle-wave",
+ "sndclm.html#make-two-pole", "sndclm.html#make-two-zero", "sndscm.html#makevariabledisplay", "extsnd.html#makevariablegraph",
+ "extsnd.html#makevct", "sndclm.html#make-wave-train", "sndclm.html#make-wave-train-with-env", "extsnd.html#mapchannel",
+ "sndscm.html#mapsoundfiles", "sndscm.html#maracadoc", "extsnd.html#marktointeger", "extsnd.html#markclickhook",
+ "sndscm.html#markclickinfo", "extsnd.html#markcolor", "extsnd.html#markcontext", "extsnd.html#markdraghook",
+ "sndscm.html#markexplode", "extsnd.html#markhome", "extsnd.html#markhook", "sndscm.html#markloops",
+ "extsnd.html#markname", "sndscm.html#marknametoid", "extsnd.html#markproperties", "extsnd.html#markproperty",
+ "extsnd.html#marksample", "extsnd.html#marksync", "sndscm.html#marksynccolor", "extsnd.html#marksyncmax",
+ "extsnd.html#marktagheight", "extsnd.html#marktagwidth", "extsnd.html#markp", "extsnd.html#emarks",
+ "sndscm.html#matchsoundfiles", "sndscm.html#maxenvelope", "extsnd.html#maxregions", "extsnd.html#maxfftpeaks",
+ "extsnd.html#maxamp", "extsnd.html#maxampposition", "extsnd.html#menuwidgets", "sndscm.html#menusdoc",
+ "extsnd.html#mindb", "extsnd.html#mix", "sndscm.html#mixtovct", "extsnd.html#mixtointeger",
+ "extsnd.html#mixamp", "extsnd.html#mixampenv", "sndscm.html#mixchannel", "extsnd.html#mixclickhook",
+ "sndscm.html#mixclickinfo", "sndscm.html#mixclicksetsamp", "extsnd.html#mixcolor", "extsnd.html#mixdialogmix",
+ "extsnd.html#mixdraghook", "extsnd.html#mixfiledialog", "extsnd.html#mixhome", "extsnd.html#mixlength",
+ "sndscm.html#mixmaxamp", "extsnd.html#mixname", "sndscm.html#mixnametoid", "extsnd.html#mixposition",
+ "extsnd.html#mixproperties", "extsnd.html#mixproperty", "extsnd.html#mixregion", "extsnd.html#mixreleasehook",
+ "extsnd.html#mixsamplerQ", "extsnd.html#mixselection", "sndscm.html#mixsound", "extsnd.html#mixspeed",
+ "extsnd.html#mixsync", "extsnd.html#mixsyncmax", "extsnd.html#mixtagheight", "extsnd.html#mixtagwidth",
+ "extsnd.html#mixtagy", "extsnd.html#mixvct", "extsnd.html#mixwaveformheight", "extsnd.html#mixp",
+ "extsnd.html#mixes", "sndscm.html#monotostereo", "sndscm.html#moogfilter", "s7.html#morallyequalp",
+ "extsnd.html#mouseclickhook", "extsnd.html#mousedraghook", "extsnd.html#mouseentergraphhook", "extsnd.html#mouseenterlabelhook",
+ "extsnd.html#mouseenterlistenerhook", "extsnd.html#mouseentertexthook", "extsnd.html#mouseleavegraphhook", "extsnd.html#mouseleavelabelhook",
+ "extsnd.html#mousleavelistenerhook", "extsnd.html#mousleavetexthook", "extsnd.html#mousepresshook", "sndclm.html#move-locsig",
+ "sndscm.html#movemixes", "sndclm.html#move-sound", "sndclm.html#move-sound?", "sndscm.html#movesyncdmarks",
+ "sndclm.html#moving-autocorrelation", "sndclm.html#moving-autocorrelation?", "sndclm.html#moving-average", "sndclm.html#moving-average?",
+ "sndclm.html#moving-fft", "sndclm.html#moving-fft?", "sndclm.html#moving-length", "sndclm.html#moving-max",
+ "sndclm.html#moving-max?", "sndclm.html#moving-norm", "sndclm.html#moving-norm?", "sndclm.html#moving-pitch",
+ "sndclm.html#moving-pitch?", "sndclm.html#moving-rms", "sndclm.html#moving-scentroid", "sndclm.html#moving-scentroid?",
+ "sndclm.html#moving-spectrum", "sndclm.html#moving-spectrum?", "sndclm.html#moving-sum", "sndscm.html#mpg",
+ "extsnd.html#musalsabuffersize", "extsnd.html#musalsabuffers", "extsnd.html#musalsacapturedevice", "extsnd.html#musalsadevice",
+ "extsnd.html#musalsaplaybackdevice", "extsnd.html#musalsasquelchwarning", "sndclm.html#musarrayprintlength", "extsnd.html#musbytespersample",
+ "sndclm.html#mus-channel", "sndclm.html#mus-channels", "sndclm.html#mus-chebyshev-tu-sum", "extsnd.html#musclipping",
+ "sndclm.html#mus-close", "sndclm.html#mus-copy", "sndclm.html#mus-data", "sndclm.html#mus-describe",
+ "extsnd.html#muserrorhook", "extsnd.html#muserrortypetostring", "extsnd.html#musexpandfilename", "sndclm.html#mus-feedback",
+ "sndclm.html#mus-feedforward", "sndclm.html#fft", "sndclm.html#musfilebuffersize", "extsnd.html#musfileclipping",
+ "sndscm.html#musfilemix", "sndclm.html#mus-file-name", "sndclm.html#musfloatequalfudgefactor", "sndclm.html#mus-frequency",
+ "sndclm.html#musgeneratorp", "extsnd.html#musheaderrawdefaults", "extsnd.html#musheadertypetostring", "extsnd.html#musheadertypename",
+ "sndclm.html#mus-hop", "sndclm.html#mus-increment", "sndclm.html#mus-input?", "sndclm.html#mus-interp-type",
+ "sndclm.html#mus-interpolate", "sndclm.html#mus-length", "sndclm.html#mus-location", "extsnd.html#musmaxmalloc",
+ "extsnd.html#musmaxtablesize", "sndclm.html#mus-name", "sndclm.html#mus-offset", "sndclm.html#mus-order",
+ "extsnd.html#musosssetbuffers", "sndclm.html#mus-output?", "sndclm.html#mus-phase", "sndclm.html#mus-ramp",
+ "sndclm.html#mus-rand-seed", "sndclm.html#mus-random", "sndclm.html#mus-reset", "sndclm.html#mus-run",
+ "extsnd.html#mussampletypetostring", "extsnd.html#mussampletypename", "sndclm.html#mus-scaler", "extsnd.html#mussoundchans",
+ "extsnd.html#mussoundcloseinput", "extsnd.html#mussoundcloseoutput", "extsnd.html#mussoundcomment", "extsnd.html#mussounddatalocation",
+ "extsnd.html#mussounddatumsize", "extsnd.html#mussoundduration", "extsnd.html#mussoundforget", "extsnd.html#mussoundframples",
+ "extsnd.html#mussoundheadertype", "extsnd.html#mussoundlength", "extsnd.html#mussoundloopinfo", "extsnd.html#mussoundmarkinfo",
+ "extsnd.html#mussoundmaxamp", "extsnd.html#mussoundmaxampexists", "extsnd.html#mussoundopeninput", "extsnd.html#mussoundopenoutput",
+ "extsnd.html#mussoundpath", "extsnd.html#mussoundpreload", "extsnd.html#mussoundprune", "extsnd.html#mussoundread",
+ "extsnd.html#mussoundreopenoutput", "extsnd.html#mussoundreportcache", "extsnd.html#mussoundsampletype", "extsnd.html#mussoundsamples",
+ "extsnd.html#mussoundseekframple", "extsnd.html#mussoundsrate", "extsnd.html#mussoundtypespecifier", "extsnd.html#mussoundwrite",
+ "extsnd.html#mussoundwritedate", "sndclm.html#mussrate", "sndclm.html#mus-width", "sndclm.html#mus-xcoeff",
+ "sndclm.html#mus-xcoeffs", "sndclm.html#mus-ycoeff", "sndclm.html#mus-ycoeffs", "sndclm.html#n1cos",
+ "sndclm.html#n1cos?", "extsnd.html#nameclickhook", "sndclm.html#nchoosekcos", "sndclm.html#nchoosekcos?",
+ "sndclm.html#ncos", "sndclm.html#ncos2?", "sndclm.html#ncos4?", "sndclm.html#ncos?",
+ "extsnd.html#newsound", "extsnd.html#newsounddialog", "extsnd.html#newsoundhook", "extsnd.html#newwidgethook",
+ "extsnd.html#nextsample", "sndclm.html#nkssb", "sndclm.html#nkssbinterp", "sndclm.html#nkssb?",
+ "sndclm.html#noddcos", "sndclm.html#noddcos?", "sndclm.html#noddsin", "sndclm.html#noddsin?",
+ "sndclm.html#noddssb", "sndclm.html#noddssb?", "sndclm.html#noid", "extsnd.html#normalizechannel",
+ "sndscm.html#normalizeenvelope", "sndclm.html#normalizepartials", "sndscm.html#normalizesound", "sndscm.html#normalizedmix",
+ "sndclm.html#notch", "sndscm.html#notchchannel", "sndscm.html#notchselection", "sndscm.html#notchsound",
+ "sndclm.html#notch?", "sndclm.html#npcos?", "sndclm.html#nrcos", "sndclm.html#nrcos?",
+ "sndscm.html#nrev", "sndclm.html#nrsin", "sndclm.html#nrsin?", "sndclm.html#nrssb",
+ "sndclm.html#nrssbinterp", "sndclm.html#nrssb?", "sndclm.html#nrxycos", "sndclm.html#nrxycos?",
+ "sndclm.html#nrxysin", "sndclm.html#nrxysin?", "sndclm.html#nsin", "sndclm.html#nsin?",
+ "sndclm.html#nsincos", "sndclm.html#nsincos?", "sndclm.html#nssb", "sndclm.html#nssb?",
+ "sndclm.html#nxy1cos", "sndclm.html#nxy1cos?", "sndclm.html#nxy1sin", "sndclm.html#nxy1sin?",
+ "sndclm.html#nxycos", "sndclm.html#nxycos?", "sndclm.html#nxysin", "sndclm.html#nxysin?",
+ "s7.html#objecttostring", "sndclm.html#oddmultiple", "sndclm.html#oddweight", "sndscm.html#offsetchannel",
+ "sndscm.html#offsetsound", "sndclm.html#one-pole", "sndclm.html#one-pole-all-pass", "sndclm.html#one-pole-all-pass?",
+ "sndclm.html#one-pole?", "sndclm.html#one-zero", "sndclm.html#one-zero?", "extsnd.html#openfiledialog",
+ "extsnd.html#openfiledialogdirectory", "extsnd.html#openhook", "sndscm.html#opennextfileindirectory", "extsnd.html#openrawsound",
+ "extsnd.html#openrawsoundhook", "extsnd.html#opensound", "s7.html#openlet", "s7.html#openletp",
+ "extsnd.html#orientationhook", "sndclm.html#oscil", "sndclm.html#oscil-bank", "sndclm.html#oscil-bank?",
+ "sndclm.html#oscil?", "sndclm.html#out-any", "sndclm.html#outbank", "sndclm.html#outa",
+ "s7.html#outlet", "sndclm.html#*output*", "extsnd.html#outputcommenthook", "sndscm.html#overlayrmsenv",
+ "s7.html#owlet", "extsnd.html#padchannel", "sndscm.html#padmarks", "sndscm.html#padsound",
+ "s7.html#pairfilename", "s7.html#pairlinenumber", "sndscm.html#panmix", "sndscm.html#panmixvct",
+ "sndclm.html#partialstopolynomial", "sndclm.html#partialstowave", "extsnd.html#pausing", "extsnd.html#peakenvdir",
+ "extsnd.html#peaks", "extsnd.html#peaksfont", "sndclm.html#phase-partialstowave", "sndclm.html#phase-vocoder",
+ "sndclm.html#phase-vocoder?", "sndscm.html#pianodoc", "sndclm.html#pink-noise", "sndclm.html#pink-noise?",
+ "sndscm.html#pins", "sndscm.html#placesound", "extsnd.html#play", "extsnd.html#playarrowsize",
+ "sndscm.html#playbetweenmarks", "extsnd.html#playhook", "sndscm.html#playmixes", "sndscm.html#playoften",
+ "sndscm.html#playregionforever", "sndscm.html#playsine", "sndscm.html#playsines", "sndscm.html#playsyncdmarks",
+ "sndscm.html#playuntilcg", "sndscm.html#playwithenvs", "extsnd.html#playerhome", "extsnd.html#playerQ",
+ "extsnd.html#players", "extsnd.html#playing", "sndscm.html#pluck", "sndclm.html#polartorectangular",
+ "sndclm.html#polynomial", "sndscm.html#polydoc", "sndclm.html#polyoid", "sndclm.html#polyoidenv",
+ "sndclm.html#polyoid?", "sndclm.html#polyshape", "sndclm.html#polyshape?", "sndclm.html#polywave",
+ "sndclm.html#polywave?", "s7.html#portfilename", "s7.html#portlinenumber", "extsnd.html#positiontox",
+ "extsnd.html#positiontoy", "extsnd.html#positioncolor", "sndscm.html#powerenv", "sndscm.html#pqw",
+ "sndscm.html#pqwvox", "extsnd.html#preferencesdialog", "extsnd.html#previoussample", "extsnd.html#printdialog",
+ "extsnd.html#printlength", "s7.html#proceduredocumentation", "s7.html#proceduresetter", "s7.html#proceduresignature",
+ "s7.html#proceduresource", "extsnd.html#progressreport", "sndclm.html#pulse-train", "sndclm.html#pulse-train?",
+ "sndclm.html#pulsedenv", "sndclm.html#pulsedenv?", "sndclm.html#r2k!cos", "sndclm.html#r2k!cos?",
+ "sndclm.html#r2k2cos", "sndclm.html#r2k2cos?", "sndclm.html#radianstodegrees", "sndclm.html#radianstohz",
+ "extsnd.html#rampchannel", "sndclm.html#rand", "sndclm.html#rand-interp", "sndclm.html#rand-interp?",
+ "sndclm.html#rand?", "s7.html#random", "s7.html#randomstate", "s7.html#randomstatep",
+ "sndclm.html#rcos", "sndclm.html#rcos?", "s7.html#readerrorhook", "extsnd.html#readhook",
+ "extsnd.html#readmixsample", "extsnd.html#readonly", "extsnd.html#readregionsample", "extsnd.html#readsample",
+ "extsnd.html#readsamplewithdirection", "s7.html#readercond", "sndclm.html#readin", "sndclm.html#readin?",
+ "sndclm.html#rectangulartomagnitudes", "sndclm.html#rectangulartopolar", "extsnd.html#redo", "extsnd.html#regiontointeger",
+ "extsnd.html#regiontovct", "extsnd.html#regionchans", "extsnd.html#regionframples", "extsnd.html#regiongraphstyle",
+ "extsnd.html#regionhome", "extsnd.html#regionmaxamp", "extsnd.html#regionmaxampposition", "sndscm.html#regionplaylist",
+ "extsnd.html#regionposition", "sndscm.html#regionrms", "extsnd.html#regionsample", "extsnd.html#regionsamplerQ",
+ "extsnd.html#regionsrate", "extsnd.html#regionok", "extsnd.html#eregions", "extsnd.html#remembersoundstate",
+ "sndscm.html#removeclicks", "extsnd.html#removefrommenu", "sndscm.html#replacewithselection", "sndscm.html#reportmarknames",
+ "s7.html#requires7", "sndscm.html#resetallhooks", "extsnd.html#resetcontrols", "extsnd.html#resetlistenercursor",
+ "sndscm.html#reson", "extsnd.html#restorecontrols", "sndclm.html#*reverb*", "extsnd.html#reverbdecay",
+ "extsnd.html#reverbcontrolfeedback", "extsnd.html#reverbcontrollength", "extsnd.html#reverbcontrollengthbounds", "extsnd.html#reverbcontrollowpass",
+ "extsnd.html#reverbcontrolscale", "extsnd.html#reverbcontrolscalebounds", "extsnd.html#reverbcontrolp", "s7.html#reverseb",
+ "sndscm.html#reversebyblocks", "extsnd.html#reversechannel", "sndscm.html#reverseenvelope", "extsnd.html#reverseselection",
+ "extsnd.html#reversesound", "extsnd.html#revertsound", "extsnd.html#rightsample", "sndclm.html#ring-modulate",
+ "sndclm.html#rk!cos", "sndclm.html#rk!cos?", "sndclm.html#rk!ssb", "sndclm.html#rk!ssb?",
+ "sndclm.html#rkcos", "sndclm.html#rkcos?", "sndclm.html#rkoddssb", "sndclm.html#rkoddssb?",
+ "sndclm.html#rksin", "sndclm.html#rksin?", "sndclm.html#rkssb", "sndclm.html#rkssb?",
+ "sndscm.html#rmsgain", "sndscm.html#rmsgain", "sndscm.html#rmsenvelope", "s7.html#rootlet",
+ "sndclm.html#round-interp", "sndclm.html#round-interp?", "sndclm.html#rssb", "sndclm.html#rssbinterp",
+ "sndclm.html#rssb?", "sndscm.html#rubbersound", "sndclm.html#rxycos", "sndclm.html#rxycos?",
+ "sndclm.html#rxyk!cos", "sndclm.html#rxyk!cos?", "sndclm.html#rxyk!sin", "sndclm.html#rxyk!sin?",
+ "sndclm.html#rxysin", "sndclm.html#rxysin?", "extsnd.html#sample", "sndclm.html#sampletofile",
+ "sndclm.html#sampletofile?", "extsnd.html#sampletype", "extsnd.html#sampleratendQ", "extsnd.html#samplerhome",
+ "extsnd.html#samplerposition", "extsnd.html#samplerQ", "extsnd.html#samples", "sndclm.html#samplestoseconds",
+ "extsnd.html#sashcolor", "extsnd.html#saveasdialogautocomment", "extsnd.html#saveasdialogsrc", "extsnd.html#savecontrols",
+ "extsnd.html#savedir", "extsnd.html#saveedithistory", "extsnd.html#saveenvelopes", "extsnd.html#savehook",
+ "extsnd.html#savelistener", "sndscm.html#savemarkproperties", "extsnd.html#savemarks", "extsnd.html#savemix",
+ "extsnd.html#saveregion", "extsnd.html#saveregiondialog", "extsnd.html#saveselection", "extsnd.html#saveselectiondialog",
+ "extsnd.html#savesound", "extsnd.html#savesoundas", "extsnd.html#savesounddialog", "extsnd.html#savestate",
+ "extsnd.html#savestatefile", "extsnd.html#savestatehook", "sndscm.html#sgfilter", "sndclm.html#sawtooth-wave",
+ "sndclm.html#sawtooth-wave?", "extsnd.html#scaleby", "extsnd.html#scalechannel", "sndscm.html#scaleenvelope",
+ "sndscm.html#scalemixes", "extsnd.html#scaleselectionby", "extsnd.html#scaleselectionto", "sndscm.html#scalesound",
+ "sndscm.html#scaletempo", "extsnd.html#scaleto", "extsnd.html#scanchannel", "sndscm.html#dspdocscanned",
+ "sndscm.html#scentroid", "sndscm.html#scratch", "extsnd.html#scriptarg", "extsnd.html#scriptargs",
+ "sndscm.html#searchforclick", "extsnd.html#searchprocedure", "sndclm.html#secondstosamples", "extsnd.html#selectall",
+ "extsnd.html#selectchannel", "extsnd.html#selectchannelhook", "extsnd.html#selectsound", "extsnd.html#selectsoundhook",
+ "extsnd.html#selectedchannel", "extsnd.html#selecteddatacolor", "extsnd.html#selectedgraphcolor", "extsnd.html#selectedsound",
+ "extsnd.html#selection", "extsnd.html#selectiontomix", "extsnd.html#selectionchans", "extsnd.html#selectioncolor",
+ "extsnd.html#selectioncontext", "extsnd.html#selectioncreatesregion", "extsnd.html#selectionframples", "extsnd.html#selectionmaxamp",
+ "extsnd.html#selectionmaxampposition", "extsnd.html#selectionmember", "sndscm.html#selectionmembers", "extsnd.html#selectionposition",
+ "sndscm.html#selectionrms", "extsnd.html#selectionsrate", "extsnd.html#selectionok", "extsnd.html#setsamples",
+ "extsnd.html#shortfilename", "extsnd.html#showaxes", "extsnd.html#showcontrols", "sndscm.html#showdiskspace",
+ "extsnd.html#showfullduration", "extsnd.html#showfullrange", "extsnd.html#showgrid", "extsnd.html#showindices",
+ "extsnd.html#showlistener", "extsnd.html#showmarks", "extsnd.html#showmixwaveforms", "extsnd.html#showselection",
+ "extsnd.html#showselectiontransform", "extsnd.html#showsonogramcursor", "extsnd.html#showtransformpeaks", "extsnd.html#showwidget",
+ "extsnd.html#showyzero", "sndscm.html#silenceallmixes", "sndscm.html#silencemixes", "sndclm.html#sinc-train",
+ "sndclm.html#sinc-train?", "extsnd.html#sincwidth", "sndscm.html#sineenvchannel", "sndscm.html#sineramp",
+ "sndscm.html#singerdoc", "extsnd.html#smoothchannel", "extsnd.html#smoothselection", "extsnd.html#smoothsound",
+ "sndscm.html#pins", "sndscm.html#snapmarktobeat", "sndscm.html#snapmarks", "sndscm.html#snapmixtobeat",
+ "extsnd.html#sndtosample", "extsnd.html#sndtosamplep", "extsnd.html#sndcolor", "extsnd.html#snderror",
+ "extsnd.html#snderrorhook", "extsnd.html#sndfont", "extsnd.html#sndgcs", "extsnd.html#sndhelp",
+ "sndscm.html#sndscmhooks", "extsnd.html#sndopenedsound", "extsnd.html#sndprint", "extsnd.html#sndspectrum",
+ "extsnd.html#sndtempnam", "extsnd.html#sndurl", "extsnd.html#sndurls", "extsnd.html#sndversion",
+ "extsnd.html#sndwarning", "extsnd.html#sndwarninghook", "sndscm.html#sndwarp", "s7.html#sortb",
+ "sndscm.html#soundtoamp_env", "extsnd.html#soundtointeger", "extsnd.html#soundfileextensions", "extsnd.html#soundfilep",
+ "extsnd.html#soundfilesindirectory", "sndscm.html#soundinterp", "extsnd.html#soundloopinfo", "extsnd.html#soundproperties",
+ "extsnd.html#soundproperty", "extsnd.html#soundwidgets", "extsnd.html#soundp", "extsnd.html#soundfontinfo",
+ "extsnd.html#sounds", "sndscm.html#soundstosegmentdata", "sndscm.html#spectra", "sndscm.html#twotab",
+ "sndscm.html#spectralpolynomial", "extsnd.html#spectrohop", "extsnd.html#spectroxangle", "extsnd.html#spectroxscale",
+ "extsnd.html#spectroyangle", "extsnd.html#spectroyscale", "extsnd.html#spectrozangle", "extsnd.html#spectrozscale",
+ "sndclm.html#spectrum", "sndscm.html#spectrumtocoeffs", "extsnd.html#spectrumend", "extsnd.html#spectrumstart",
+ "extsnd.html#speedcontrol", "extsnd.html#speedcontrolbounds", "extsnd.html#speedstyle", "extsnd.html#speedtones",
+ "sndscm.html#spotfreq", "sndclm.html#square-wave", "sndclm.html#square-wave?", "extsnd.html#squelchupdate",
+ "sndscm.html#squelchvowels", "extsnd.html#srate", "sndclm.html#src", "extsnd.html#srcchannel",
+ "sndscm.html#srcduration", "sndscm.html#srcfitenvelope", "sndscm.html#srcmixes", "extsnd.html#srcsoundselection",
+ "extsnd.html#srcsound", "sndclm.html#src?", "sndclm.html#ssb-am", "sndclm.html#ssb-am?",
+ "sndscm.html#ssbbank", "sndscm.html#ssbbankenv", "sndscm.html#ssbfm", "sndscm.html#startdac",
+ "extsnd.html#startplaying", "extsnd.html#startplayinghook", "extsnd.html#startplayingselectionhook", "extsnd.html#startprogressreport",
+ "extsnd.html#statusreport", "extsnd.html#stdinprompt", "sndscm.html#stereotomono", "sndscm.html#stereoflute",
+ "extsnd.html#stopplayer", "extsnd.html#stopplaying", "extsnd.html#stopplayinghook", "extsnd.html#stopplayingselectionhook",
+ "sndscm.html#stretchenvelope", "sndscm.html#stretchsoundviadft", "s7.html#stringposition", "s7.html#sublet",
+ "sndscm.html#superimposeffts", "extsnd.html#swapchannels", "sndscm.html#swapselectionchannels", "s7.html#symboltodynamicvalue",
+ "s7.html#symboltovalue", "s7.html#symbolaccess", "s7.html#symboltable", "extsnd.html#sync",
+ "sndscm.html#sync-everything", "extsnd.html#syncmax", "extsnd.html#syncstyle", "extsnd.html#syncdmarks",
+ "sndscm.html#syncdmixes", "sndscm.html#syncup", "sndclm.html#table-lookup", "sndclm.html#table-lookup?",
+ "sndclm.html#tanhsin", "sndclm.html#tanhsin?", "sndclm.html#tap", "sndclm.html#tap?",
+ "sndscm.html#telephone", "extsnd.html#tempdir", "extsnd.html#textfocuscolor", "extsnd.html#timegraphstyle",
+ "extsnd.html#timegraphtype", "extsnd.html#timegraphp", "sndclm.html#timestosamples", "extsnd.html#tinyfont",
+ "sndscm.html#telephone", "s7.html#trace", "extsnd.html#trackingcursorstyle", "extsnd.html#transformtointeger",
+ "extsnd.html#transformtovct", "extsnd.html#transformdialog", "extsnd.html#transformframples", "extsnd.html#transformgraphstyle",
+ "extsnd.html#transformgraphtype", "extsnd.html#transformgraphp", "extsnd.html#normalizefft", "extsnd.html#transformsample",
+ "extsnd.html#transformsize", "extsnd.html#transformtype", "extsnd.html#transformp", "sndscm.html#transposemixes",
+ "sndclm.html#triangle-wave", "sndclm.html#triangle-wave?", "sndscm.html#tubebell", "sndscm.html#tubebell",
+ "sndclm.html#two-pole", "sndclm.html#two-pole?", "sndscm.html#twotab", "sndclm.html#two-zero",
+ "sndclm.html#two-zero?", "extsnd.html#unbindkey", "s7.html#unboundvariablehook", "sndscm.html#unclipchannel",
+ "extsnd.html#undo", "extsnd.html#undohook", "s7.html#unlet", "extsnd.html#unselectall",
+ "sndscm.html#updategraphs", "extsnd.html#updatehook", "extsnd.html#updatelispgraph", "extsnd.html#updatesound",
+ "extsnd.html#updatetimegraph", "extsnd.html#updatetransformgraph", "sndscm.html#uponsaveyourself", "sndscm.html#sndmotifdoc",
+ "sndscm.html#variabledisplay", "extsnd.html#variablegraphp", "s7.html#varlet", "extsnd.html#vct",
+ "extsnd.html#vcttimes", "extsnd.html#vctplus", "extsnd.html#vcttochannel", "extsnd.html#vcttolist",
+ "extsnd.html#vcttostring", "extsnd.html#vcttovector", "extsnd.html#vctabs", "extsnd.html#vctadd",
+ "extsnd.html#vctcopy", "extsnd.html#vctequal", "extsnd.html#vctfill", "extsnd.html#vctlength",
+ "extsnd.html#vctmax", "extsnd.html#vctmin", "extsnd.html#vctmove", "extsnd.html#vctmultiply",
+ "extsnd.html#vctoffset", "extsnd.html#vctpeak", "extsnd.html#vctref", "extsnd.html#vctreverse",
+ "extsnd.html#vctscale", "extsnd.html#vctset", "extsnd.html#vctsubseq", "extsnd.html#vctsubtract",
+ "extsnd.html#vctp", "extsnd.html#vectortovct", "sndscm.html#vibratinguniformcircularstring", "extsnd.html#viewfilesamp",
  "extsnd.html#viewfilesampenv", "extsnd.html#viewfilesdialog", "extsnd.html#viewfilesfiles", "extsnd.html#viewfilesselecthook",
  "extsnd.html#viewfilesselectedfiles", "extsnd.html#viewfilessort", "extsnd.html#viewfilesspeed", "extsnd.html#viewfilesspeedstyle",
  "extsnd.html#viewmixesdialog", "extsnd.html#viewregionsdialog", "extsnd.html#viewsound", "sndscm.html#singerdoc",
@@ -3728,7 +3728,6 @@ static const char *snd_names[11630] = {
     "c-null?", "libc.scm",
     "c-pointer->string", "libc.scm",
     "c?r", "stuff.scm",
-    "calculate-fit", "dlocsig.scm",
     "california-quail", "animals.scm",
     "california-towhee", "animals.scm",
     "call-with-input-vector", "stuff.scm",
@@ -3913,8 +3912,6 @@ static const char *snd_names[11630] = {
     "common-pauraque", "animals.scm",
     "common-yellowthroat", "animals.scm",
     "compand", "examp.scm",
-    "compute-string", "dsp.scm",
-    "compute-uniform-circular-string", "dsp.scm",
     "concatenate", "stuff.scm",
     "concatenate-envelopes", "env.scm",
     "confstr", "libc.scm",
@@ -4196,6 +4193,7 @@ static const char *snd_names[11630] = {
     "finite?", "r7rs.scm",
     "first", "stuff.scm",
     "first-mark-in-window-at-left", "examp.scm",
+    "fit", "dlocsig.scm",
     "fit-path", "dlocsig.scm",
     "fit-selection-between-marks", "marks.scm",
     "flammulated-owl", "animals.scm",
@@ -7484,6 +7482,8 @@ static const char *snd_names[11630] = {
     "vector-scale!", "poly.scm",
     "verdin", "animals.scm",
     "vermillion-flycatcher", "animals.scm",
+    "vibrating-string", "dsp.scm",
+    "vibrating-uniform-circular-string", "dsp.scm",
     "vibro", "examp.scm",
     "virginia-rail", "animals.scm",
     "voiced->unvoiced", "examp.scm",
diff --git a/snd.h b/snd.h
index 9b41282..e9b0db0 100644
--- a/snd.h
+++ b/snd.h
@@ -53,11 +53,11 @@
 
 #include "snd-strings.h"
 
-#define SND_DATE "15-June-16"
+#define SND_DATE "29-July-16"
 #ifndef SND_VERSION
-#define SND_VERSION "16.6"
+#define SND_VERSION "16.7"
 #endif
 #define SND_MAJOR_VERSION "16"
-#define SND_MINOR_VERSION "6"
+#define SND_MINOR_VERSION "7"
 
 #endif
diff --git a/sndclm.html b/sndclm.html
index 800eccc..0c00479 100644
--- a/sndclm.html
+++ b/sndclm.html
@@ -6308,8 +6308,7 @@ old analog tapes — the reverb slightly precedes the direct signal:
          (comb2 (make-comb 0.733 4999))
          (comb3 (make-comb 0.715 5399))
          (comb4 (make-comb 0.697 5801))
-         (file-dur (mus-sound-framples file))
-         (len (floor (+ *clm-srate* file-dur))) ; *clm-srate* = 1.0 decay dur
+         (len (floor (+ *clm-srate* (mus-sound-framples file))))
          (rd (make-readin file)) ; the direct signal (via sound-let below)
          (d (make-delay dly))    ; this delays the direct signal
          (backup (min 4799 dly)))
@@ -9651,19 +9650,17 @@ via mus-data.
 
 <pre class="indented">
 (let ((rd (make-readin "oboe.snd"))
-      (cur-srate (srate "oboe.snd"))
-      (old-srate *clm-srate*))
-  (set! *clm-srate* cur-srate)
-  (let ((scn (<em class=red>make-moving-pitch</em> rd))
-	(last-pitch 0.0)
-	(pitch 0.0))
-    (do ((i 0 (+ i 1)))
-	((= i 22050))
-      (set! last-pitch pitch)
-      (set! pitch (<em class=red>moving-pitch</em> scn))
-      (if (not (= last-pitch pitch))
-	  (format () "~A: ~A~%" (* 1.0 (/ i cur-srate)) pitch))))
-  (set! *clm-srate* old-srate))
+      (cur-srate (srate "oboe.snd")))
+  (let-temporarily ((*clm-srate* cur-srate))
+    (let ((scn (<em class=red>make-moving-pitch</em> rd))
+	  (last-pitch 0.0)
+	  (pitch 0.0))
+      (do ((i 0 (+ i 1)))
+	  ((= i 22050))
+        (set! last-pitch pitch)
+        (set! pitch (<em class=red>moving-pitch</em> scn))
+        (if (not (= last-pitch pitch))
+	    (format () "~A: ~A~%" (* 1.0 (/ i cur-srate)) pitch))))))
 </pre>
 <div class="separator"></div>
 
@@ -9713,8 +9710,7 @@ hopefully unobtrusively.  Here is an example, including a stereo reverb:
 	 (comb42 (make-comb 0.697 5801))
 	 (outdel12 (make-delay (seconds->samples .01)))
 						       
-	 (file-dur (framples *reverb*))
-	 (len (floor (+ *clm-srate* file-dur))))
+	 (len (floor (+ *clm-srate* (framples *reverb*)))))
     
     (do ((i 0 (+ i 1)))
 	((= i len))
diff --git a/snddiff.scm b/snddiff.scm
index 1acb9e2..c9de21a 100644
--- a/snddiff.scm
+++ b/snddiff.scm
@@ -8,15 +8,15 @@
 
 (define (lag? snd0 chn0 snd1 chn1)
   ;; returns the probable lagtime between the two sounds (negative means second sound is delayed)
-  (let* ((corr (cross-correlate snd0 chn0 snd1 chn1))
-	 (len (length corr))
-	 (lag (cadr (float-vector-peak-and-location corr))))
-    (if (= lag -1)
-	0
-	(if (< lag (/ len 2))
-	    lag
-	    (- lag len)))))
-
+  (let ((corr (cross-correlate snd0 chn0 snd1 chn1)))
+    (let ((len (length corr))
+	  (lag (cadr (float-vector-peak-and-location corr))))
+      (if (= lag -1)
+	  0
+	  (if (< lag (/ len 2))
+	      lag
+	      (- lag len))))))
+  
 
 (define* (snddiff-1 v0 v1 (maxdiff 0.0))
   (let ((diff (float-vector-subtract! (copy v0) v1)))
@@ -90,8 +90,8 @@
 	     (let ((s0 (channel->float-vector 0 #f snd0 chn0))
 		   (s1 (channel->float-vector 0 #f snd1 chn1)))
 	       (or (snddiff-1 s0 s1 0.0)
-		   (let* ((pos (maxamp-position snd0 chn0))
-			  (scl (/ (sample pos snd1 chn1) (sample pos snd0 chn0)))  ; use actual values to keep possible sign difference
+		   (let* ((scl (let ((pos (maxamp-position snd0 chn0)))
+				 (/ (sample pos snd1 chn1) (sample pos snd0 chn0))))  ; use actual values to keep possible sign difference
 			  (diff (snddiff-1 (float-vector-scale! s0 scl) s1)))
 		     (if (eq? diff 'no-difference)
 			 (list 'scale scl)
@@ -101,10 +101,7 @@
 	;; align sounds and  zero out any non-overlapping sections, keeping track of whether they are zero beforehand
 	(let ((lag (lag? snd0 chn0 snd1 chn1))
 	      (pre0 #f)
-	      (pre1 #f)
-	      (post0 #f)
-	      (post1 #f))
-
+	      (pre1 #f))
 	  (if (> lag 0)
 	      (begin
 		(pad-channel 0 lag snd1 chn1)
@@ -120,31 +117,33 @@
 
 	  (set! len0 (framples snd0 chn0))
 	  (set! len1 (framples snd1 chn1))
-	  (if (> len0 len1)
-	      (let ((dur (- len0 len1)))
-		(set! post0 (float-vector-peak (channel->float-vector len1 dur snd0 chn0)))
-		(scale-channel 0.0 len1 dur snd0 chn0))
-	      (if (> len1 len0)
-		  (let ((dur (- len1 len0)))
-		    (set! post1 (float-vector-peak (channel->float-vector len0 dur snd1 chn1)))
-		    (scale-channel 0.0 len0 dur snd1 chn1))))
-
-	  (let ((s0 (channel->float-vector 0 #f snd0 chn0))
-		(s1 (channel->float-vector 0 #f snd1 chn1)))
-	    (or (let ((res (snddiff-1 s0 s1 0.0)))
-		  (and res
-		       (if (> lag 0)
-			   (list 'lag lag res pre0 pre1 post0 post1)
-			   (list res pre0 pre1 post0 post1))))
-		(let* ((pos (maxamp-position snd0 chn0))
-		       (scl (/ (sample pos snd1 chn1) (sample pos snd0 chn0))) ; use actual values to keep possible sign difference
-		       (diff (snddiff-1 (float-vector-scale! s0 scl) s1 0.0001)))
-		  (if (eq? diff 'no-difference)
-		      (list 'scale scl 'lag lag pre0 pre1 post0 post1)
-		      (and (list? diff)
-			   (list 'scale scl 'differences diff 'lag lag pre0 pre1 post0 post1)))))))
-	;; align and zero + scaling didn't find a match
-	)))
+	  (let ((post0 #f)
+		(post1 #f))
+	    (if (> len0 len1)
+		(let ((dur (- len0 len1)))
+		  (set! post0 (float-vector-peak (channel->float-vector len1 dur snd0 chn0)))
+		  (scale-channel 0.0 len1 dur snd0 chn0))
+		(if (> len1 len0)
+		    (let ((dur (- len1 len0)))
+		      (set! post1 (float-vector-peak (channel->float-vector len0 dur snd1 chn1)))
+		      (scale-channel 0.0 len0 dur snd1 chn1))))
+	    
+	    (let ((s0 (channel->float-vector 0 #f snd0 chn0))
+		  (s1 (channel->float-vector 0 #f snd1 chn1)))
+	      (or (let ((res (snddiff-1 s0 s1 0.0)))
+		    (and res
+			 (if (> lag 0)
+			     (list 'lag lag res pre0 pre1 post0 post1)
+			     (list res pre0 pre1 post0 post1))))
+		  (let* ((scl (let ((pos (maxamp-position snd0 chn0)))
+				(/ (sample pos snd1 chn1) (sample pos snd0 chn0)))) ; use actual values to keep possible sign difference
+			 (diff (snddiff-1 (float-vector-scale! s0 scl) s1 0.0001)))
+		    (if (eq? diff 'no-difference)
+			(list 'scale scl 'lag lag pre0 pre1 post0 post1)
+			(and (list? diff)
+			     (list 'scale scl 'differences diff 'lag lag pre0 pre1 post0 post1)))))))
+	  ;; align and zero + scaling didn't find a match
+	  ))))
 
 
 (define (snddiff snd0 chn0 snd1 chn1)
diff --git a/sndlib2xen.c b/sndlib2xen.c
index babdc34..5e2f604 100644
--- a/sndlib2xen.c
+++ b/sndlib2xen.c
@@ -1270,7 +1270,7 @@ void mus_sndlib_xen_initialize(void)
 #endif
 
 #if __APPLE__
-  Xen_define_procedure(S_mus_audio_output_properties_mutable, g_mus_audio_output_properties_mutable_w, 1, 0, 0, H_mus_audio_output_properties_mutable);
+  Xen_define_typed_procedure(S_mus_audio_output_properties_mutable, g_mus_audio_output_properties_mutable_w, 1, 0, 0, H_mus_audio_output_properties_mutable, pl_b);
 #endif
 
   #define H_new_sound_hook S_new_sound_hook "(name): called when a new sound file is being created"
diff --git a/sndscm.html b/sndscm.html
index 58b839a..75c1059 100644
--- a/sndscm.html
+++ b/sndscm.html
@@ -941,15 +941,14 @@ time for perfection...):
 
 <pre class="indented">
 (define* (list-clips snd chn)
-  (let* ((max-clips (count-clips snd chn))
-	 (clip-data (make-vector (* 2 max-clips) 0))
-	 (clip-ctr 0)
-	 (clip-beg 0)
-	 (clip-end 0)
-	 (clip-max-len 0)
-	 (in-clip #f)
-	 (samp 0))
-    (<a class=quiet href="extsnd.html#scanchannel">scan-channel</a>
+  (let ((clip-data (make-vector (* 2 (count-clips snd chn)) 0))
+	(clip-ctr 0)
+	(clip-beg 0)
+	(clip-end 0)
+	(clip-max-len 0)
+	(in-clip #f)
+	(samp 0))
+    (scan-channel
      (lambda (y)
        (if (not (<= -0.9999 y 0.9999))
            (begin
@@ -1665,7 +1664,7 @@ In the Scheme version, there is also an optional trailing vibrato envelope argum
   (fofins 0 4 270 .1 0.005 730 .6 1090 .3 2440 .1 
           '(0 0 .5 1 3 .5 10 .2 20 .1 50 .1 60 .2 85 1 100 0)
 	  '(0 0 40 0 75 .2 100 1) )
-  (fofins 0 4 (* 6/5 540) .1 0.005 730 .6 1090 .3 2440 .1 
+  (fofins 0 4 648 .1 0.005 730 .6 1090 .3 2440 .1 ;648 (* 6/5 540)
           '(0 0 .5 .5 3 .25 6 .1 10 .1 50 .1 60 .2 85 1 100 0)
 	  '(0 0 40 0 75 .2 100 1) )
   (fofins 0 4 135 .1 0.005 730 .6 1090 .3 2440 .1 
@@ -2610,15 +2609,15 @@ An instrument that uses dlocsig is:
 <pre class="indented">
 (define* (sinewave start-time duration freq amp (amp-env '(0 1 1 1))
 		   (path (make-path :path '(-10 10 0 5 10 10))))
-  (let* ((vals (<em class=red>make-dlocsig</em> :start-time start-time :duration duration :path path))
-	 (dloc (car vals))
-	 (beg (cadr vals))
-	 (end (caddr vals)))
-    (let ((osc (<a class=quiet href="sndclm.html#make-oscil">make-oscil</a> freq))
-	  (aenv (<a class=quiet href="sndclm.html#make-env">make-env</a> amp-env :scaler amp :duration duration)))
-      (do ((i beg (+ i 1)))
-          ((= i end))
-	(<em class=red>dlocsig</em> dloc i (* (<a class=quiet href="sndclm.html#env">env</a> aenv) (<a class=quiet href="sndclm.html#oscil">oscil</a> osc)))))))
+  (let ((vals (<em class=red>make-dlocsig</em> :start-time start-time :duration duration :path path)))
+    (let ((dloc (car vals))
+	  (beg (cadr vals))
+	  (end (caddr vals)))
+      (let ((osc (<a class=quiet href="sndclm.html#make-oscil">make-oscil</a> freq))
+	    (aenv (<a class=quiet href="sndclm.html#make-env">make-env</a> amp-env :scaler amp :duration duration)))
+        (do ((i beg (+ i 1)))
+            ((= i end))
+	  (<em class=red>dlocsig</em> dloc i (* (<a class=quiet href="sndclm.html#env">env</a> aenv) (<a class=quiet href="sndclm.html#oscil">oscil</a> osc))))))))
 
 (<a class=quiet href="#wsdoc">with-sound</a> (:channels 2) (sinewave 0 1.0 440 .5 :path (make-path '((-10 10) (0.5 0.5) (10 10)) :3d #f)))
 </pre>
@@ -3682,8 +3681,8 @@ so aliasing is a possibility, and even powers create energy at 0Hz.
 <!-- main-index |dspdocscanned:scanned synthesis -->
 <!-- scanned synthesis -->
 <pre class="indented">
-<em class=def id="computeuniformcircularstring">compute-uniform-circular-string</em> size x0 x1 x2 mass xspring damp
-<em class=emdef>compute-string</em> size x0 x1 x2 masses xsprings esprings damps haptics
+<em class=def id="vibratinguniformcircularstring">vibrating-uniform-circular-string</em> size x0 x1 x2 mass xspring damp
+<em class=emdef>vibrating-string</em> size x0 x1 x2 masses xsprings esprings damps haptics
 </pre>
 
 <p>These functions implement
@@ -3694,18 +3693,18 @@ then
 </p>
 
 <pre class="indented">
-(let* ((size 128)
-       (x0 (make-float-vector size))	   
-       (x1 (make-float-vector size))	   
-       (x2 (make-float-vector size)))
-  (do ((i 0 (+ i 1)))
-      ((= i 12))
-    (let ((val (sin (/ (* 2 pi i) 12.0))))
-      (set! (x1 (- (+ i (/ size 4)) 6)) val)))
-  (do ((i 0 (+ i 1)))
-      ((= i 1024))
-    (<em class=red>compute-uniform-circular-string</em> size x0 x1 x2 1.0 0.1 0.0)
-    (<a class=quiet href="extsnd.html#graph">graph</a> x0 "string" 0 1.0 -10.0 10.0)))
+(let ((size 128))
+  (let ((x0 (make-float-vector size))	   
+        (x1 (make-float-vector size))	   
+        (x2 (make-float-vector size)))
+    (do ((i 0 (+ i 1)))
+        ((= i 12))
+      (let ((val (sin (/ (* 2 pi i) 12.0))))
+        (set! (x1 (- (+ i (/ size 4)) 6)) val)))
+    (do ((i 0 (+ i 1)))
+        ((= i 1024))
+      (<em class=red>vibrating-uniform-circular-string</em> size x0 x1 x2 1.0 0.1 0.0)
+      (<a class=quiet href="extsnd.html#graph">graph</a> x0 "string" 0 1.0 -10.0 10.0))))
 </pre>
 
 
@@ -4245,8 +4244,8 @@ current spectrum value.
 (define brfft
   (let ((documentation "(brfft lofrq hifrq) removes all frequencies between lofrq and hifrq: (brfft 1000.0 2000.0)"))
     (lambda (lofrq hifrq)
-      (let* ((len (<a class=quiet href="extsnd.html#framples">framples</a>))
-	     (fsize (expt 2 (ceiling (log len 2))))
+      (let* ((fsize (let ((len (<a class=quiet href="extsnd.html#framples">framples</a>)))
+                      (expt 2 (ceiling (log len 2)))))
 	     (ctr -1)
 	     (lo (round (/ (* fsize lofrq) (<a class=quiet href="extsnd.html#srate">srate</a>))))
 	     (hi (round (/ (* fsize hifrq) (<a class=quiet href="extsnd.html#srate">srate</a>)))))
@@ -7361,14 +7360,14 @@ a function of the initial-phase ("phi" below) is (very nearly):
 </p>
 
 <pre class="indented">
-  (let* ((a (acos (/ (- (sqrt 33) 1) 8)))
-	 (b (acos (/ (- 1 (sqrt 33)) 8)))
-	 (ap (- (* 2 pi) a))                          ; start location of peak 1 (the peak when phi is 0..pi)
-	 (bp (- (* 2 pi) b))                          ; end location of peak 1 
-	 (ax (+ b (* (- phi pi) (/ (- a b) pi))))     ; same for peak 2 (the peak when phi is pi..2pi)
-	 (bx (+ ap (* phi (/ (- bp ap) pi)))))        ; the 2 peaks move in opposite directions
+(let ((a (acos (/ (- (sqrt 33) 1) 8)))
+      (b (acos (/ (- 1 (sqrt 33)) 8))))
+  (let ((ax (+ b (* (- phi pi) (/ (- a b) pi))))      ; same for peak 2 (the peak when phi is pi..2pi)
+        (bx (let ((ap (- (* 2 pi) a))                 ; start location of peak 1 (the peak when phi is 0..pi)
+	          (bp (- (* 2 pi) b)))                ; end location of peak 1 
+              (+ ap (* phi (/ (- bp ap) pi))))))      ; the 2 peaks move in opposite directions
     (max (abs (+ (sin ax) (sin (+ (* 2 ax) phi))))    ; plug in the 2 locations and
-	 (abs (+ (sin bx) (sin (+ (* 2 bx) phi))))))  ;   return the max 
+         (abs (+ (sin bx) (sin (+ (* 2 bx) phi))))))) ;   return the max 
 </pre>
  
 <!--
@@ -7406,16 +7405,16 @@ We can reduce the peak difference below .00000002 by using:
 </p>
 
 <pre class="indented">
-  (let* ((waver (+ (* .002565 (sin (* 2 phi)))
+  (let ((waver (+ (* .002565 (sin (* 2 phi)))
                    (* .0003645 (sin (* 4 phi)))
                    (* .0001 (sin (* 6 phi)))
                    (* .00004 (sin (* 8 phi)))
                    (* .00002 (sin (* 10 phi)))
                    (* .00001 (sin (* 12 phi)))
-                   (* .0000035 (sin (* 14 phi)))))
-         (ax (- (+ b (* (- phi pi) (/ (- a b) pi))) waver))
-         (bx (- (+ ap (* phi (/ (- bp ap) pi))) waver)))
-    ...)
+                   (* .0000035 (sin (* 14 phi))))))
+    (let ((ax (- (+ b (* (- phi pi) (/ (- a b) pi))) waver))
+          (bx (- (+ ap (* phi (/ (- bp ap) pi))) waver)))
+      ...))
 </pre>
 
 <p>
@@ -7430,9 +7429,9 @@ now being acos(-(sqrt(2/3))):
 <pre class="indented">
   (let* ((a (acos (sqrt 2/3)))
 	 (b (acos (- (sqrt 2/3))))
-	 (ap (- (* 2 pi) a))                              ; start loc peak 1
-	 (bp (- (* 2 pi) b))                              ; end loc
-	 (ax (+ ap (* phi (/ (- bp ap) 2 pi))))           ; peak 1 
+	 (ax (let ((ap (- (* 2 pi) a))                    ; start loc peak 1
+	           (bp (- (* 2 pi) b)))                   ; end loc
+               (+ ap (* phi (/ (- bp ap) 2 pi)))))        ; peak 1 
 	 (bx (- ax pi)))                                  ; peak 2 (the two interleave)
     (max (abs (+ (sin ax) (sin (+ (* 3 ax) phi))))        ; plug in our 2 peak locations
 	 (abs (+ (sin bx) (sin (+ (* 3 bx) phi))))))      ;   and return the max
@@ -8694,20 +8693,20 @@ of harmonics, then the minimum peak amplitude, then (log peak n).
 22    4.540    0.4894  | 16    3.857   0.4869   | 120  11.467  0.5096   | 17    4.719   0.5476
 21    4.443    0.4898  | 15    3.738   0.4869   | 121  11.520  0.5096   | 95    12.115  0.5478
 15    3.768    0.4899  | 12    3.362   0.4879   | 128  11.857  0.5097   | 40    7.543   0.5478
-25    4.853    0.4907  | 28    5.089   0.4883   | 256  16.896  0.5098   | 77    10.803  0.5479
-13    3.524    0.4911  | 21    4.448   0.4902   | 96   10.249  0.5099   | 30    6.452   0.5481
-12    3.389    0.4911  | 23    4.662   0.4909   | 125  11.726  0.5099   | 39    7.452   0.5482
-18    4.140    0.4915  | 20    4.358   0.4914   | 102  10.574  0.5099   | 102   12.631  0.5484
+25    4.853    0.4907  | 21    4.422   0.4883   | 256  16.896  0.5098   | 77    10.803  0.5479
+13    3.524    0.4911  | 28    5.089   0.4883   | 96   10.249  0.5099   | 30    6.452   0.5481
+12    3.389    0.4911  | 23    4.655   0.4905   | 125  11.726  0.5099   | 39    7.452   0.5482
+18    4.140    0.4915  | 20    4.356   0.4912   | 102  10.574  0.5099   | 102   12.631  0.5484
 10    3.102    0.4917  | 31    5.419   0.4921   | 104  10.682  0.5100   | 86    11.518  0.5487
-29    5.241    0.4920  | 22    4.581   0.4924   | 123  11.636  0.5100   | 47    8.268   0.5487
+29    5.241    0.4920  | 22    4.578   0.4922   | 123  11.636  0.5100   | 47    8.268   0.5487
 27    5.064    0.4922  | 24    4.786   0.4927   | 111  11.044  0.5100   | 63    9.713   0.5487
-28    5.157    0.4923  | 33    5.603   0.4929   | 100  10.472  0.5100   | 51    8.653   0.5488
-37    5.918    0.4924  | 25    4.887   0.4929   | 88   9.812   0.5100   | 94    12.115  0.5490
-35    5.762    0.4926  | 29    5.263   0.4932   | 116  11.309  0.5103   | 87    11.613  0.5491
+28    5.157    0.4923  | 25    4.886   0.4928   | 100  10.472  0.5100   | 51    8.653   0.5488
+37    5.918    0.4924  | 33    5.603   0.4929   | 88   9.812   0.5100   | 94    12.115  0.5490
+35    5.762    0.4926  | 29    5.262   0.4931   | 116  11.309  0.5103   | 87    11.613  0.5491
 26    4.982    0.4929  | 30    5.353   0.4933   | 122  11.609  0.5104   | 109   13.144  0.5491
 33    5.608    0.4931  | 8     2.791   0.4935   | 109  10.962  0.5104   | 20    5.183   0.5492
-59    7.469    0.4931  | 27    5.089   0.4937   | 94   10.168  0.5105   | 21    5.324   0.5492
-32    5.526    0.4932  | 26    5.006   0.4944   | 103  10.655  0.5105   | 74    10.650  0.5496
+59    7.469    0.4931  | 27    5.087   0.4936   | 94   10.168  0.5105   | 21    5.324   0.5492
+32    5.526    0.4932  | 26    5.003   0.4942   | 103  10.655  0.5105   | 74    10.650  0.5496
 30    5.361    0.4937  | 7     2.618   0.4946   | 105  10.762  0.5105   | 89    11.788  0.5496
 51    6.972    0.4939  | 32    5.563   0.4952   | 83   9.549   0.5106   | 29    6.365   0.5496
 31    5.453    0.4939  | 52    7.080   0.4954   | 93   10.121  0.5107   | 96    12.293  0.5497
@@ -8719,25 +8718,25 @@ of harmonics, then the minimum peak amplitude, then (log peak n).
 39    6.124    0.4946  | 41    6.322   0.4966   | 97   10.354  0.5109   | 33    6.846   0.5502
 93    9.413    0.4947  | 43    6.474   0.4966   | 101  10.578  0.5111   | 37    7.292   0.5502
 41    6.278    0.4947  | 72    8.366   0.4967   | 85   9.691   0.5112   | 31    6.616   0.5502
-60    7.589    0.4950  | 45    6.625   0.4967   | 84   9.634   0.5113   | 97    12.398  0.5503
-38    6.056    0.4951  | 42    6.403   0.4968   | 95   10.275  0.5116   | 27    6.134   0.5503
-69    8.140    0.4952  | 74    8.488   0.4969   | 82   9.531   0.5116   | 41    7.720   0.5504
-49    6.872    0.4952  | 78    8.715   0.4970   | 118  11.484  0.5117   | 36    7.188   0.5504
-73    8.372    0.4952  | 37    6.019   0.4971   | 110  11.084  0.5117   | 16    4.600   0.5504
-58    7.471    0.4953  | 46    6.709   0.4972   | 91   10.063  0.5118   | 108   13.162  0.5505
-82    8.870    0.4953  | 39    6.182   0.4972   | 86   9.779   0.5119   | 122   14.078  0.5505
-48    6.804    0.4953  | 105   10.116  0.4972   | 107  10.937  0.5119   | 43    7.936   0.5507
-81    8.821    0.4954  | 47    6.785   0.4973   | 92   10.124  0.5119   | 54    8.998   0.5508
+82    8.850    0.4948  | 45    6.625   0.4967   | 84   9.634   0.5113   | 97    12.398  0.5503
+81    8.797    0.4948  | 42    6.403   0.4968   | 95   10.275  0.5116   | 27    6.134   0.5503
+60    7.589    0.4950  | 74    8.488   0.4969   | 82   9.531   0.5116   | 41    7.720   0.5504
+38    6.056    0.4951  | 78    8.715   0.4970   | 118  11.484  0.5117   | 36    7.188   0.5504
+69    8.140    0.4952  | 37    6.019   0.4971   | 110  11.084  0.5117   | 16    4.600   0.5504
+49    6.872    0.4952  | 46    6.709   0.4972   | 91   10.063  0.5118   | 108   13.162  0.5505
+73    8.372    0.4952  | 39    6.182   0.4972   | 86   9.779   0.5119   | 122   14.078  0.5505
+58    7.471    0.4953  | 105   10.116  0.4972   | 107  10.937  0.5119   | 43    7.936   0.5507
+48    6.804    0.4953  | 47    6.785   0.4973   | 92   10.124  0.5119   | 54    8.998   0.5508
 103   9.936    0.4954  | 38    6.108   0.4975   | 90   10.013  0.5120   | 52    8.817   0.5509
 64    7.850    0.4955  | 89    9.332   0.4976   | 71   8.877   0.5122   | 66    10.066  0.5512
 56    7.349    0.4955  | 111   10.417  0.4976   | 79   9.381   0.5123   | 70    10.403  0.5513
 42    6.374    0.4956  | 40    6.272   0.4978   | 75   9.137   0.5124   | 106   13.080  0.5513
 63    7.793    0.4956  | 56    7.419   0.4979   | 98   10.481  0.5124   | 45    8.157   0.5514
-40    6.224    0.4956  | 106   10.198  0.4980   | 78   9.336   0.5127   | 62    9.734   0.5514
-83    8.939    0.4957  | 59    7.618   0.4980   | 87   9.875   0.5128   | 12    3.936   0.5514
-67    8.044    0.4959  | 57    7.489   0.4980   | 512  24.510  0.5128   | 34    6.991   0.5515
-76    8.567    0.4960  | 91    9.457   0.4981   | 77   9.278   0.5128   | 85    11.589  0.5515
-85    9.056    0.4960  | 51    7.088   0.4981   | 89   9.998   0.5129   | 125   14.336  0.5515
+83    8.935    0.4956  | 106   10.198  0.4980   | 78   9.336   0.5127   | 62    9.734   0.5514
+40    6.224    0.4956  | 59    7.618   0.4980   | 87   9.875   0.5128   | 12    3.936   0.5514
+85    9.050    0.4958  | 57    7.489   0.4980   | 512  24.510  0.5128   | 34    6.991   0.5515
+67    8.044    0.4959  | 91    9.457   0.4981   | 77   9.278   0.5128   | 85    11.589  0.5515
+76    8.567    0.4960  | 51    7.088   0.4981   | 89   9.998   0.5129   | 125   14.336  0.5515
 92    9.420    0.4960  | 80    8.870   0.4981   | 81   9.529   0.5130   | 88    11.815  0.5515
 75    8.512    0.4960  | 81    8.926   0.4981   | 70   8.849   0.5132   | 64    9.912   0.5515
 55    7.300    0.4961  | 101   9.965   0.4982   | 61   8.247   0.5132   | 46    8.261   0.5515
@@ -8760,23 +8759,23 @@ of harmonics, then the minimum peak amplitude, then (log peak n).
 94    9.544    0.4965  | 102   10.046  0.4988   | 53   7.750   0.5158   | 76    10.919  0.5520
 95    9.595    0.4966  | 85    9.173   0.4989   | 59   8.195   0.5159   | 104   12.987  0.5521
 43    6.475    0.4966  | 114   10.621  0.4989   | 51   7.602   0.5159   | 61    9.674   0.5521
-66    8.012    0.4967  | 61    7.775   0.4989   | 55   7.908   0.5160   | 105   13.058  0.5521
-68    8.131    0.4967  | 125   11.122  0.4989   | 44   7.048   0.5160   | 53    8.953   0.5521
-72    8.368    0.4967  | 70    8.328   0.4989   | 47   7.293   0.5160   | 75    10.845  0.5521
-114   10.518   0.4968  | 36    5.978   0.4990   | 38   6.537   0.5161   | 115   13.732  0.5521
-77    8.656    0.4969  | 98    9.853   0.4990   | 54   7.845   0.5164   | 71    10.523  0.5521
-79    8.767    0.4969  | 63    7.904   0.4990   | 60   8.297   0.5168   | 81    11.319  0.5522
-91    9.407    0.4969  | 107   10.296  0.4990   | 50   7.554   0.5169   | 100   12.717  0.5522
-78    8.713    0.4969  | 103   10.102  0.4990   | 56   8.011   0.5169   | 73    10.689  0.5522
-87    9.201    0.4969  | 118   10.812  0.4990   | 52   7.716   0.5171   | 107   13.202  0.5522
-88    9.256    0.4970  | 115   10.674  0.4990   | 48   7.407   0.5173   | 50    8.676   0.5523
-98    9.767    0.4971  | 58    7.586   0.4990   | 45   7.165   0.5173   | 80    11.248  0.5523
-86    9.154    0.4971  | 128   11.261  0.4990   | 40   6.748   0.5176   | 113   13.613  0.5523
+87    9.188    0.4966  | 61    7.775   0.4989   | 55   7.908   0.5160   | 105   13.058  0.5521
+66    8.012    0.4967  | 125   11.122  0.4989   | 44   7.048   0.5160   | 53    8.953   0.5521
+68    8.131    0.4967  | 70    8.328   0.4989   | 47   7.293   0.5160   | 75    10.845  0.5521
+88    9.243    0.4967  | 36    5.978   0.4990   | 38   6.537   0.5161   | 115   13.732  0.5521
+72    8.368    0.4967  | 98    9.853   0.4990   | 54   7.845   0.5164   | 71    10.523  0.5521
+114   10.518   0.4968  | 63    7.904   0.4990   | 60   8.297   0.5168   | 81    11.319  0.5522
+77    8.656    0.4969  | 107   10.296  0.4990   | 50   7.554   0.5169   | 100   12.717  0.5522
+86    9.145    0.4969  | 103   10.102  0.4990   | 56   8.011   0.5169   | 73    10.689  0.5522
+79    8.767    0.4969  | 118   10.812  0.4990   | 52   7.716   0.5171   | 107   13.202  0.5522
+91    9.407    0.4969  | 115   10.674  0.4990   | 48   7.407   0.5173   | 50    8.676   0.5523
+78    8.713    0.4969  | 58    7.586   0.4990   | 45   7.165   0.5173   | 80    11.248  0.5523
+98    9.767    0.4971  | 128   11.261  0.4990   | 40   6.748   0.5176   | 113   13.613  0.5523
 80    8.832    0.4971  | 53    7.253   0.4990   | 46   7.276   0.5184   | 55    9.146   0.5523
 61    7.718    0.4971  | 94    9.654   0.4991   | 42   6.941   0.5184   | 49    8.583   0.5524
-101   9.922    0.4972  | 69    8.275   0.4991   | 34   6.223   0.5184   | 111   13.484  0.5524
-90    9.369    0.4972  | 92    9.553   0.4991   | 39   6.683   0.5185   | 91    12.084  0.5524
-89    9.320    0.4973  | 120   10.909  0.4991   | 49   7.532   0.5188   | 121   14.145  0.5524
+89    9.316    0.4972  | 69    8.275   0.4991   | 34   6.223   0.5184   | 111   13.484  0.5524
+101   9.922    0.4972  | 92    9.553   0.4991   | 39   6.683   0.5185   | 91    12.084  0.5524
+90    9.369    0.4972  | 120   10.909  0.4991   | 49   7.532   0.5188   | 121   14.145  0.5524
 99    9.827    0.4973  | 113   10.586  0.4991   | 41   6.881   0.5194   | 79    11.178  0.5525
 97    9.734    0.4974  | 96    9.759   0.4991   | 36   6.432   0.5194   | 69    10.373  0.5525
 109   10.316   0.4974  | 66    8.095   0.4992   | 43   7.055   0.5195   | 119   14.019  0.5525
@@ -8788,11 +8787,11 @@ of harmonics, then the minimum peak amplitude, then (log peak n).
 110   10.385   0.4979  | 95    9.717   0.4993   | 26   5.452   0.5206   | 68    10.294  0.5526
 116   10.667   0.4980  | 121   10.965  0.4993   | 31   5.988   0.5212   | 58    9.429   0.5526
 115   10.622   0.4980  | 122   11.011  0.4993   | 24   5.253   0.5220   | 15    4.466   0.5526
-113   10.533   0.4981  | 117   10.783  0.4994   | 30   5.907   0.5222   | 65    10.042  0.5526
-128   11.210   0.4981  | 104   10.169  0.4994   | 23   5.148   0.5226   | 99    12.671  0.5526
-111   10.443   0.4981  | 79    8.865   0.4994   | 21   4.920   0.5233   | 83    11.495  0.5526
-122   10.950   0.4982  | 65    8.042   0.4994   | 27   5.620   0.5238   | 126   14.478  0.5526
-107   10.259   0.4982  | 71    8.407   0.4995   | 28   5.732   0.5240   | 90    12.023  0.5526
+107   10.251   0.4981  | 117   10.783  0.4994   | 30   5.907   0.5222   | 65    10.042  0.5526
+113   10.533   0.4981  | 104   10.169  0.4994   | 23   5.148   0.5226   | 99    12.671  0.5526
+128   11.210   0.4981  | 79    8.865   0.4994   | 21   4.920   0.5233   | 83    11.495  0.5526
+111   10.443   0.4981  | 65    8.042   0.4994   | 27   5.620   0.5238   | 126   14.478  0.5526
+122   10.950   0.4982  | 71    8.407   0.4995   | 28   5.732   0.5240   | 90    12.023  0.5526
 127   11.176   0.4983  | 109   10.414  0.4995   | 25   5.403   0.5241   | 44    8.096   0.5527
 108   10.313   0.4984  | 99    9.928   0.4995   | 22   5.055   0.5242   | 26    6.057   0.5528
 117   10.740   0.4985  | 49    6.989   0.4996   | 18   4.569   0.5257   | 82    11.463  0.5535
@@ -9338,7 +9337,7 @@ piano: <a href="#pianodoc">piano.scm, piano.rb</a>  
 singer: <a href="#singerdoc">singer.scm, singer.rb</a>  
 bowed string: <a href="#straddoc">strad.scm, strad.rb</a>  
 flute: <a href="#clminsdoc">clm-ins.scm</a>  
-string: <a href="#computeuniformcircularstring">compute-string</a>  
+string: <a href="#vibratinguniformcircularstring">vibrating-string</a>  
 plucked string: pluck in clm-ins.scm
 </div>
 
@@ -9380,20 +9379,20 @@ pvoc.scm also contains a few examples of using the CLM phase-vocoder generator:
 <pre class="indented">
 (define test-pv-4
   (lambda (gate)
-    (let* ((reader (<a class=quiet href="extsnd.html#makesampler">make-sampler</a> 0))
-           (pv (<a class=quiet href="sndclm.html#make-phase-vocoder">make-phase-vocoder</a>
-                                  (lambda (dir) (reader))
-				  512 4 128 1.0
-				  #f ;no change to analysis
-				  (lambda (v)
-				    (let ((N (length v)))
-				      (do ((i 0 (+ i 1)))
-					  ((= i N))
-					(if (< ((phase-vocoder-amp-increments v) i) gate)
-					    (set! ((phase-vocoder-amp-increments v) i) 0.0)))
-				      #t))
-				  #f))) ;no change to synthesis
-	  
+    (let ((pv (<a class=quiet href="sndclm.html#make-phase-vocoder">make-phase-vocoder</a>
+                (let ((reader (<a class=quiet href="extsnd.html#makesampler">make-sampler</a> 0)))
+                  (lambda (dir) 
+                    (reader)))
+		512 4 128 1.0
+		#f ;no change to analysis
+		(lambda (v)
+		  (let ((N (length v)))
+		    (do ((i 0 (+ i 1)))
+		        ((= i N))
+		      (if (< ((phase-vocoder-amp-increments v) i) gate)
+		          (set! ((phase-vocoder-amp-increments v) i) 0.0)))
+		    #t))
+	        #f))) ;no change to synthesis
       (<a class=quiet href="extsnd.html#mapchannel">map-channel</a> (lambda (val)
 		  (<a class=quiet href="sndclm.html#phase-vocoder">phase-vocoder</a> pv))))))
 </pre>
@@ -11612,7 +11611,7 @@ The "output" argument can be a vector as well as a filename:
 </p>
 
 <pre class="indented">
-(with-sound (:output (make-float-vector 44100 0.0)) (fm-violin 0 1 440 .1))
+(with-sound (:output (make-float-vector 44100)) (fm-violin 0 1 440 .1))
 </pre>
 
 
@@ -11935,10 +11934,11 @@ an upward ramp and a downward ramp, then zips them together:
     (do ((i 0 (+ i 1))) ((= i 10000)) 
       (set! (data i) (- 1.0 (* i .0001))))
     (float-vector->channel data 0 10000 1)
-    (let* ((dur (<a class=quiet href="extsnd.html#framples">framples</a>))
-	   (zp (<em class=red>make-zipper</em> (<a class=quiet href="sndclm.html#make-env">make-env</a> '(0 0 1 1) :length dur)
-			    0.05
-			    (<a class=quiet href="sndclm.html#make-env">make-env</a> (list 0 (* (<a class=quiet href="extsnd.html#srate">srate</a>) 0.05)) :length dur)))
+    (let ((zp (let ((dur (<a class=quiet href="extsnd.html#framples">framples</a>)))
+                (<em class=red>make-zipper</em> 
+                  (<a class=quiet href="sndclm.html#make-env">make-env</a> '(0 0 1 1) :length dur)
+		  0.05
+		  (<a class=quiet href="sndclm.html#make-env">make-env</a> (list 0 (* (<a class=quiet href="extsnd.html#srate">srate</a>) 0.05)) :length dur))))
 	  (reader0 (<a class=quiet href="extsnd.html#makesampler">make-sampler</a> 0 0 0))
 	  (reader1 (<a class=quiet href="extsnd.html#makesampler">make-sampler</a> 0 1 0)))
       (<a class=quiet href="extsnd.html#mapchannel">map-channel</a> (lambda (val) (<em class=red>zipper</em> zp reader0 reader1))))))
diff --git a/sndwarp.scm b/sndwarp.scm
index bb0e786..148503e 100644
--- a/sndwarp.scm
+++ b/sndwarp.scm
@@ -145,145 +145,144 @@
 
   (define (clmsw-envelope-or-number in)
     (if (number? in) (list 0 in 1 in) in))
-
-  (let* ((beg (seconds->samples begtime))
-	 (end (+ beg (seconds->samples dur)))
-	 (stereo-i (= (mus-sound-chans file) 2))
-	 (stereo-o #f) ; (= (channels  *output*) 2))
+  (let* ((stereo-i (= (mus-sound-chans file) 2))
 	 (f-a (make-readin file :channel 0))
-	 (f-b (and stereo-i (make-readin file :channel 1)))
-	 (fsr (mus-sound-srate file))
-	 ;; (fsize (framples file))
-	 (fdur (mus-sound-duration file))
-	 (loc-env (clmsw-envelope-or-number loc))
-	 (srate-env (clmsw-envelope-or-number srate))
-	 (time-env (clmsw-envelope-or-number stretch))
-	 (wsize-env (clmsw-envelope-or-number wsize))
-	 (rdA (make-src :input (lambda (dir) (readin f-a)) :srate 0.0 :width srcwidth))
-	 (rdB (and stereo-i (make-src :input (lambda (dir) (readin f-b)) :srate 0.0 :width srcwidth)))
-	 (windf (make-oscil))
-	 (wsizef (make-env wsize-env :duration dur))
-	 (ampf (make-env amp-env :scaler amp :duration dur))
-	 (sratef (make-env srate-env :duration dur))
-	 (timef (make-env (if (and time-ptr scale-time-ptr)
-			      (normalize-envelope time-env (- fdur inputbeg))
-			      time-env)
-			  :duration dur))
-	 (locf (make-env loc-env :duration dur))
-	 (writestart 0)
-	 (readstart (round (* fsr inputbeg)))
-	 (eow-flag #f)
-	 (overlap-ratio 0.0)
-	 (overlap-ratio-compl 0.0)
-	 (outa-val 0.0)
-	 (outb-val 0.0))
-    
-    (do ((overlap 0 (+ 1 overlap)))
-	((or eow-flag (= overlap overlaps)))
-      (set! overlap-ratio (/ overlap overlaps))
-      (set! overlap-ratio-compl (- 1 overlap-ratio))
-      (set! eow-flag #f)
-      (set! writestart beg)
-      (set! (mus-location ampf) beg)
-      (set! (mus-location locf) beg)
-      (do ((section 0 (+ 1 section)))
-	  ((or eow-flag (= overlap overlaps)))
-	(set! (mus-location timef) writestart)
-	(set! (mus-location sratef) writestart)
-	(set! (mus-location wsizef) writestart)
-	(set! wsize (env wsizef))
-	(let* ((winlen (if (= overlap 0 section) ; first section of first overlap isn't randomized
-			   wsize
-			   (+ wsize (random randw))))
-	       (winsamps (seconds->samples winlen))
-	       (srate-val (env sratef)))
-	  (let ((time-val (env timef)))
-	    ;; Even for the first section's truncated envelopes, the frequency of the envelope must be as if the envelope were full duration.
-	    (set! (mus-frequency windf) (* .5 (/ fsr winsamps)))
-	    ;; Set windowing oscillator to starting phase and appropriate frequency to provide half-sine envelope over window.
-	    ;; Phase must be altered for first envelope of each overlap stream.
-	    (set! (mus-phase windf) 
-		  (if (and (= section 0)
-			   (not (= overlap 0)))
-		      (* .5 clmsw-2pi overlap-ratio-compl)
-		      0.0))
-	    ;; Either use the absolute time pointer or a scaled increment.
-	    ;; If first section in scaled mode, must initialize section readstart to beginning plus first overlap position.
-	    ;; In both cases, need to alter readstart and length of first section's windows based on phase of overlap
-	    (if time-ptr 
-		;; TIME-PTR mode
-		(if (= section 0)
-		    ;; initial section
-		    (let ((overlap-start 
-			   (if (and window-offset
-				    (not (= overlap 0)))
-			       ;; Csound style - start each overlap series further into the soundfile
-			       (round (* winlen overlap-ratio-compl))
-			       ;; Alternative style - start each overlap series at 0
-			       0))
-			  ;; To match csound version, first section must start reading at 0. Using zero-start-time-ptr 
-			  ;; flag = #f,  however, allows first section to start as determined by time-ptr instead.
-			  (adj-time-val (if zero-start-time-ptr 0.0 time-val)))
-		      (set! readstart (round (* fsr (+ inputbeg overlap-start adj-time-val))))
-		      (if (not (= overlap 0)) (set! winsamps (floor (* winsamps overlap-ratio)))))
-		    ;; remaining sections
-		    (set! readstart (round (* fsr (+ inputbeg time-val)))))
-		;; STRETCH mode
-		(if (= section 0)
-		    ;; initial section
-		    (let ((init-read-start 
-			   (if (and window-offset
-				    (not (= overlap 0)))
-			       ;; Csound style - start each overlap series further into the soundfile
-			       (round (* winlen overlap-ratio-compl))
-			       ;; Alternative style - start each overlap series at 0
-			       0)))
-		      (set! readstart (round (* fsr (+ inputbeg init-read-start))))
-		      (if (not (= overlap 0)) (set! winsamps (floor (* winsamps overlap-ratio)))))
-		    ;; remaining sections
-		    (set! readstart (round (+ readstart (* fsr (/ winlen time-val))))))))
-	  ;; Set readin position and sampling rate
-	  (set! (mus-location f-a) readstart)
-	  (set! (mus-increment rdA) srate-val)
-	  (mus-reset rdA)
-	  (if stereo-i
-	      (begin
-		(set! (mus-location f-b) readstart)
-		(set! (mus-increment rdB) srate-val)
-		(mus-reset rdB)))
-	  ;; Write window out
-	  (do ((k 0 (+ 1 k))
-	       (i writestart (+ i 1)))
-	      ((or eow-flag (= k winsamps)))
-	    (if (> i end)
-		(begin
-		  (set! eow-flag #t)
-		  (set! overlap (+ 1 overlaps)))
-		(let* ((amp-val (env ampf))
-		       (loc-val (env locf))
-		       (win-val (oscil windf))
-		       (sampa (* (src rdA) win-val))
-		       (sampb (if stereo-i (* (src rdB) win-val))))
-		  ;; channel panning
-		  (if stereo-o
-		      (let ((apan (sqrt loc-val))
-			    (bpan (sqrt (- 1 loc-val))))
-			(set! outa-val (* amp-val apan sampa))
-			(set! outb-val (* amp-val bpan (if stereo-i sampb sampa))))
-		      ;; stereo in, mono out
-		      (set! outa-val (* amp-val (if stereo-i
-						    (* (+ sampa sampb) .75)
-						    ;; mono in, mono out
-						    sampa))))
-		  ;; output
-		  (outa i outa-val)
-		  (if stereo-o
-		      (begin
-			(outb i outb-val)	     
-			(if *reverb* (outa i (* rev outa-val) *reverb*)))))))
-	  (if (and (not eow-flag)   ;; For first section, have to backup readstart
-		   (= section 0) 
-		   (> overlap 0) 
-		   (not time-ptr))
-	      (set! readstart (- readstart (round (* fsr winlen overlap-ratio-compl)))))
-	  (set! writestart (+ writestart winsamps)))))))
+	 (f-b (and stereo-i
+		   (make-readin file :channel 1))))
+    (let ((beg (seconds->samples begtime))
+	  (fsr (mus-sound-srate file))
+	  (rdA (make-src :input (lambda (dir) (readin f-a)) :srate 0.0 :width srcwidth))
+	  (rdB (and stereo-i
+		    (make-src :input (lambda (dir) (readin f-b)) :srate 0.0 :width srcwidth)))
+	  (windf (make-oscil))
+	  (wsizef (make-env (clmsw-envelope-or-number wsize) :duration dur))
+	  
+	  (ampf (make-env amp-env :scaler amp :duration dur))
+	  (sratef (make-env (clmsw-envelope-or-number srate) :duration dur))
+	  (timef (let ((time-env (clmsw-envelope-or-number stretch))
+		       (fdur (mus-sound-duration file)))
+		   (make-env
+		    (if (and time-ptr scale-time-ptr)
+			(normalize-envelope time-env (- fdur inputbeg))
+			time-env)
+		    :duration dur)))
+	  (locf (make-env (clmsw-envelope-or-number loc) :duration dur)))
+      (let ((end (+ beg (seconds->samples dur)))
+            (stereo-o #f)
+            (writestart 0)
+            (readstart (round (* fsr inputbeg)))
+            (eow-flag #f)
+            (overlap-ratio 0.0000)
+            (overlap-ratio-compl 0.0000)
+            (outa-val 0.0000)
+            (outb-val 0.0000))
+	
+	(do ((overlap 0 (+ 1 overlap)))
+	    ((or eow-flag (= overlap overlaps)))
+	  (set! overlap-ratio (/ overlap overlaps))
+	  (set! overlap-ratio-compl (- 1 overlap-ratio))
+	  (set! eow-flag #f)
+	  (set! writestart beg)
+	  (set! (mus-location ampf) beg)
+	  (set! (mus-location locf) beg)
+	  (do ((section 0 (+ 1 section)))
+	      ((or eow-flag (= overlap overlaps)))
+	    (set! (mus-location timef) writestart)
+	    (set! (mus-location sratef) writestart)
+	    (set! (mus-location wsizef) writestart)
+	    (set! wsize (env wsizef))
+	    (let* ((winlen (if (= overlap 0 section) ; first section of first overlap isn't randomized
+			       wsize
+			       (+ wsize (random randw))))
+		   (winsamps (seconds->samples winlen))
+		   (srate-val (env sratef)))
+	      (let ((time-val (env timef)))
+		;; Even for the first section's truncated envelopes, the frequency of the envelope must be as if the envelope were full duration.
+		(set! (mus-frequency windf) (* .5 (/ fsr winsamps)))
+		;; Set windowing oscillator to starting phase and appropriate frequency to provide half-sine envelope over window.
+		;; Phase must be altered for first envelope of each overlap stream.
+		(set! (mus-phase windf) 
+		      (if (and (= section 0)
+			       (not (= overlap 0)))
+			  (* .5 clmsw-2pi overlap-ratio-compl)
+			  0.0))
+		;; Either use the absolute time pointer or a scaled increment.
+		;; If first section in scaled mode, must initialize section readstart to beginning plus first overlap position.
+		;; In both cases, need to alter readstart and length of first section's windows based on phase of overlap
+		(if time-ptr 
+		    ;; TIME-PTR mode
+		    (if (= section 0)
+			;; initial section
+			(let ((overlap-start 
+			       (if (and window-offset
+					(not (= overlap 0)))
+				   ;; Csound style - start each overlap series further into the soundfile
+				   (round (* winlen overlap-ratio-compl))
+				   ;; Alternative style - start each overlap series at 0
+				   0))
+			      ;; To match csound version, first section must start reading at 0. Using zero-start-time-ptr 
+			      ;; flag = #f,  however, allows first section to start as determined by time-ptr instead.
+			      (adj-time-val (if zero-start-time-ptr 0.0 time-val)))
+			  (set! readstart (round (* fsr (+ inputbeg overlap-start adj-time-val))))
+			  (if (not (= overlap 0)) (set! winsamps (floor (* winsamps overlap-ratio)))))
+			;; remaining sections
+			(set! readstart (round (* fsr (+ inputbeg time-val)))))
+		    ;; STRETCH mode
+		    (if (= section 0)
+			;; initial section
+			(let ((init-read-start 
+			       (if (and window-offset
+					(not (= overlap 0)))
+				   ;; Csound style - start each overlap series further into the soundfile
+				   (round (* winlen overlap-ratio-compl))
+				   ;; Alternative style - start each overlap series at 0
+				   0)))
+			  (set! readstart (round (* fsr (+ inputbeg init-read-start))))
+			  (if (not (= overlap 0)) (set! winsamps (floor (* winsamps overlap-ratio)))))
+			;; remaining sections
+			(set! readstart (round (+ readstart (* fsr (/ winlen time-val))))))))
+	      ;; Set readin position and sampling rate
+	      (set! (mus-location f-a) readstart)
+	      (set! (mus-increment rdA) srate-val)
+	      (mus-reset rdA)
+	      (if stereo-i
+		  (begin
+		    (set! (mus-location f-b) readstart)
+		    (set! (mus-increment rdB) srate-val)
+		    (mus-reset rdB)))
+	      ;; Write window out
+	      (do ((k 0 (+ 1 k))
+		   (i writestart (+ i 1)))
+		  ((or eow-flag (= k winsamps)))
+		(if (> i end)
+		    (begin
+		      (set! eow-flag #t)
+		      (set! overlap (+ 1 overlaps)))
+		    (let* ((amp-val (env ampf))
+			   (loc-val (env locf))
+			   (win-val (oscil windf))
+			   (sampa (* (src rdA) win-val))
+			   (sampb (if stereo-i (* (src rdB) win-val))))
+		      ;; channel panning
+		      (if stereo-o
+			  (let ((apan (sqrt loc-val))
+				(bpan (sqrt (- 1 loc-val))))
+			    (set! outa-val (* amp-val apan sampa))
+			    (set! outb-val (* amp-val bpan (if stereo-i sampb sampa))))
+			  ;; stereo in, mono out
+			  (set! outa-val (* amp-val (if stereo-i
+							(* (+ sampa sampb) .75)
+							;; mono in, mono out
+							sampa))))
+		      ;; output
+		      (outa i outa-val)
+		      (if stereo-o
+			  (begin
+			    (outb i outb-val)	     
+			    (if *reverb* (outa i (* rev outa-val) *reverb*)))))))
+	      (if (and (not eow-flag)   ;; For first section, have to backup readstart
+		       (= section 0) 
+		       (> overlap 0) 
+		       (not time-ptr))
+		  (set! readstart (- readstart (round (* fsr winlen overlap-ratio-compl)))))
+	      (set! writestart (+ writestart winsamps)))))))))
\ No newline at end of file
diff --git a/special-menu.scm b/special-menu.scm
index 435e558..789045b 100644
--- a/special-menu.scm
+++ b/special-menu.scm
@@ -114,18 +114,16 @@ See the TiMidity home page at http://www.onicos.com/staff/iz/timidity/ for more
 						  (lambda (w c i)
 						    (set! play-panned-file initial-play-panned-file)
 						    ((*motif* 'XtSetValues) (car sliders) (list (*motif* 'XmNvalue) play-panned-file)))))))
-	    (set! sliders
-		  (add-sliders 
-		   play-panned-dialog
-		   (list (list "soundfile number" 0 initial-play-panned-file 25
-			       
-			       (if (provided? 'snd-gtk)
-				   (lambda (w context)
-				     (set! play-panned-file ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
-				   (lambda (w context info)
-				     (set! play-panned-file ((*motif* '.value) info))))
-			       1))))))
-	
+	    (let ((plf (if (provided? 'snd-gtk)
+			   (lambda (w context)
+			     (set! play-panned-file ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
+			   (lambda (w context info)
+			     (set! play-panned-file ((*motif* '.value) info))))))
+	      (set! sliders
+		    (add-sliders 
+		     play-panned-dialog
+		     (list (list "soundfile number" 0 initial-play-panned-file 25 plf 1)))))))
+
         (activate-dialog play-panned-dialog))
       
       (set! play-panned-menu-label (add-to-menu special-menu "Play panned" post-play-panned-dialog))))
@@ -190,16 +188,16 @@ Please see the Web page at bladeenc.mp3.no for details regarding Bladeenc."))
 						    (set! save-as-mp3-wav-file-number
 							  initial-save-as-mp3-wav-file-number)
 						    ((*motif* 'XtSetValues) (car sliders) (list (*motif* 'XmNvalue) save-as-mp3-wav-file-number)))))))
-	    (set! sliders
-		  (add-sliders
-		   save-as-mp3-dialog
-		   (list (list "soundfile number" 0 initial-save-as-mp3-wav-file-number 250
-			       (if (provided? 'snd-gtk)
-				   (lambda (w data)
-				     (set! save-as-mp3-wav-file-number ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
-				   (lambda (w context info)
-				     (set! save-as-mp3-wav-file-number ((*motif* '.value) info))))
-			       1))))))
+	    (let ((plf (if (provided? 'snd-gtk)
+			   (lambda (w data)
+			     (set! save-as-mp3-wav-file-number ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
+			   (lambda (w context info)
+			     (set! save-as-mp3-wav-file-number ((*motif* '.value) info))))))
+	      (set! sliders
+		    (add-sliders
+		     save-as-mp3-dialog
+		     (list (list "soundfile number" 0 initial-save-as-mp3-wav-file-number 250 plf 1)))))))
+
         (activate-dialog save-as-mp3-dialog))
       
       (set! save-as-mp3-menu-label (add-to-menu special-menu "Save as MP3" post-save-as-mp3-dialog))))
@@ -262,16 +260,16 @@ Please see the Web page at www.xiphophorus.org for details regarding the Ogg/Vor
 						    (set! save-as-ogg-wav-file-number
 							  initial-save-as-ogg-wav-file-number)
 						    ((*motif* 'XtSetValues) (car sliders) (list (*motif* 'XmNvalue) save-as-ogg-wav-file-number)))))))
-	    (set! sliders
-		  (add-sliders 
-		   save-as-ogg-dialog
-		   (list (list "soundfile number" 0 initial-save-as-ogg-wav-file-number 250
-			       (if (provided? 'snd-gtk)
-				   (lambda (w data)
-				     (set! save-as-ogg-wav-file-number ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
-				   (lambda (w context info)
-				     (set! save-as-ogg-wav-file-number ((*motif* '.value) info))))
-			       1))))))
+	    (let ((plf (if (provided? 'snd-gtk)
+			   (lambda (w data)
+			     (set! save-as-ogg-wav-file-number ((*gtk* 'gtk_adjustment_get_value) ((*gtk* 'GTK_ADJUSTMENT) w))))
+			   (lambda (w context info)
+			     (set! save-as-ogg-wav-file-number ((*motif* '.value) info))))))
+	      (set! sliders
+		    (add-sliders 
+		     save-as-ogg-dialog
+		     (list (list "soundfile number" 0 initial-save-as-ogg-wav-file-number 250 plf 1)))))))
+
         (activate-dialog save-as-ogg-dialog))
       
       (set! save-as-ogg-menu-label (add-to-menu special-menu "Save as Ogg file" post-save-as-ogg-dialog))))
diff --git a/spokenword.scm b/spokenword.scm
index ef627d9..dda1cec 100644
--- a/spokenword.scm
+++ b/spokenword.scm
@@ -119,19 +119,19 @@
 	     (local-smooth (cursor)))))))))
 
 (define (play-preview)
-  (let* ((in-mark (find-mark "In"))
-         (out-mark (find-mark "Out"))
-         (in-position (if in-mark (mark-sample in-mark) 0))
-         (out-position (if out-mark (mark-sample out-mark) 0)))
-  (define (play-next reason)
-    (if (= reason 0)
-	(play (selected-sound) in-position (+ in-position preview-length))))
-  (if (and
-        (mark? in-mark)
-        (mark? out-mark))
-      (if (< out-position in-position)
-          (play (max 0 (- out-position preview-length)) #f #f #f out-position #f play-next))
-      (play (selected-sound) (cursor) (+ (cursor) preview-length)))))
+  (let ((in-mark (find-mark "In"))
+	(out-mark (find-mark "Out")))
+    (let ((in-position (if (mark? in-mark) (mark-sample in-mark) 0))
+	  (out-position (if (mark? out-mark) (mark-sample out-mark) 0))
+	  (play-next (lambda (reason)
+		       (if (= reason 0)
+			   (play (selected-sound) in-position (+ in-position preview-length))))))
+      (if (and
+	   (mark? in-mark)
+	   (mark? out-mark))
+	  (if (< out-position in-position)
+	      (play (max 0 (- out-position preview-length)) #f #f #f out-position #f play-next))
+	  (play (selected-sound) (cursor) (+ (cursor) preview-length))))))
 
 
 (set! *with-tracking-cursor* :track-and-stay)
diff --git a/stochastic.scm b/stochastic.scm
index 6c195c4..19c2963 100644
--- a/stochastic.scm
+++ b/stochastic.scm
@@ -29,63 +29,71 @@
   ;;      not really that useful
   ;;init-array - initial x and y breakpoints for wave. x values must be 
   ;;             integers and 1 or greater, y values between -1.0 and 1.0
-  (let* ((y 0.0) (dx 0) (prev-dx 0) (dy 0.0)
-	 (j 0.0) (m 0) (dt 0) (output 0.0) 
-	 (oldy 0.0) (xdev 0) (ydev 0)
-	 (beg (seconds->samples start))
+  (let* ((beg (seconds->samples start))
 	 (end (+ beg (seconds->samples dur)))
 	 (d-click (make-env (list 0 1 (- end 100) 1 end 0) :duration dur))
-	 (b (expt 2 (- bits 1))); because we use signed ints - see (- b) below
 	 ;;make float-vector to hold x,y breakpoints
-	 (xy-array (make-float-vector (* (length init-array) 2)))
-	 (xy-array-l (floor (length xy-array)))
-	 )
-    ;;fill xy-array with values from init-array
-    (do ((iy 0 (+ iy 2));;index for reading values from init-array (a 2-dimensional list)
-	 (jy 0 (+ jy 1)));;index for writing to xy-array (a 1-dimensional float-vector)
-	((= iy xy-array-l))
-      (set! (xy-array iy) ((init-array jy) 0))
-      (set! (xy-array (+ iy 1))
-	    ;;convert signed float y values into signed integers 
-	    (floor (* b
-		      ((init-array jy) 1)))))
+	 (xy-array (make-float-vector (* (length init-array) 2))))
+    (let ((y 0.0)
+	  (dx 0)
+	  (prev-dx 0)
+	  (dy 0.0)
+	  (j 0.0)
+	  (m 0)
+	  (dt 0)
+	  (output 0.0)
+	  (oldy 0.0)
+	  (xdev 0)
+	  (ydev 0)
+	  (b (expt 2 (- bits 1)))
+	  (xy-array-l (floor (length xy-array))))
 
-     (do ((i beg (+ i 1)))
-	 ((= i end))
-       (when (= dx dt);;when current sample is a breakpoint
-	 (set! dx (floor (xy-array (modulo m xy-array-l))))
-	 (set! y (xy-array (+ (modulo m xy-array-l) 1)))
-	 (set! prev-dx (floor (xy-array (modulo (- m 2) xy-array-l))))
-	 (set! dy (- y oldy))
-	 (set! oldy y)
-	 ;;straight uniform distribution for y
-	 (set! ydev (round (mus-random (* .01 b ywig))))
-	 ;;gaussian distribution for x
-	 (set! xdev 
-	       (* xstep (round 
-			 (* xwig 
-			    (sqrt (* -2.0 (log (- 1 (random 1.0))))) ; ??
-			    (cos (random 6.283185307179586))))))
-	 (set! (xy-array (modulo m xy-array-l))
-	       ;;mirror stuff for x
-	       (if (>= (round xmax) (+ dx xdev) (round xmin))
-		   (round (+ (* xfb prev-dx) 
-			     (* (- 1 xfb) (+ dx xdev))))
-		   (max (min (round (+ (* xfb prev-dx) 
-				       (* (- 1 xfb) (- dx xdev))))
-			     (round xmax))
-			(round xmin))))
-	 (set! (xy-array (+ (modulo m xy-array-l) 1))
-	       ;;mirror stuff for y 
-	       (if (>= b (+ y ydev) (- b))
-		   (+ y ydev) 
-		   (max (min (- y ydev) b) (- b))))
-	 (set! m (+ m 2))
-	 (set! dt 0))
-       (set! dt (+ dt 1))
-       (set! j (+ j (/ dy dx)));linear interpolation
-       (set! output (/ j b));normalization -1 to 1
-       (outa i (* amp output (env d-click))))))
+      ;;fill xy-array with values from init-array
+      (do ((iy 0 (+ iy 2));;index for reading values from init-array (a 2-dimensional list)
+	   (jy 0 (+ jy 1)));;index for writing to xy-array (a 1-dimensional float-vector)
+	  ((= iy xy-array-l))
+	(set! (xy-array iy) ((init-array jy) 0))
+	(set! (xy-array (+ iy 1))
+	      ;;convert signed float y values into signed integers 
+	      (floor (* b
+			((init-array jy) 1)))))
+      
+      (do ((i beg (+ i 1)))
+	  ((= i end))
+	(when (= dx dt);;when current sample is a breakpoint
+	  (set! dx (floor (xy-array (modulo m xy-array-l))))
+	  (set! y (xy-array (+ (modulo m xy-array-l) 1)))
+	  (set! prev-dx (floor (xy-array (modulo (- m 2) xy-array-l))))
+	  (set! dy (- y oldy))
+	  (set! oldy y)
+	  ;;straight uniform distribution for y
+	  (set! ydev (round (mus-random (* .01 b ywig))))
+	  ;;gaussian distribution for x
+	  (set! xdev 
+		(* xstep (round 
+			  (* xwig 
+			     (sqrt (* -2.0 (log (- 1 (random 1.0))))) ; ??
+			     (cos (random 6.283185307179586))))))
+	  (set! (xy-array (modulo m xy-array-l))
+		;;mirror stuff for x
+		(if (>= (round xmax) (+ dx xdev) (round xmin))
+		    (round (+ (* xfb prev-dx) 
+			      (* (- 1 xfb) (+ dx xdev))))
+		    (max (min (round (+ (* xfb prev-dx) 
+					(* (- 1 xfb) (- dx xdev))))
+			      (round xmax))
+			 (round xmin))))
+	  (set! (xy-array (+ (modulo m xy-array-l) 1))
+		;;mirror stuff for y 
+		(if (>= b (+ y ydev) (- b))
+		    (+ y ydev) 
+		    (max (min (- y ydev) b) (- b))))
+	  (set! m (+ m 2))
+	  (set! dt 0))
+	(set! dt (+ dt 1))
+	(set! j (+ j (/ dy dx)));linear interpolation
+	(set! output (/ j b));normalization -1 to 1
+	(outa i (* amp output (env d-click)))))))
   
 ;(with-sound (:statistics #t)(stochastic 0 10 :xwig .25 :ywig 10.0))
   
\ No newline at end of file
diff --git a/stuff.scm b/stuff.scm
index c674e90..772c29e 100644
--- a/stuff.scm
+++ b/stuff.scm
@@ -360,9 +360,9 @@
 	    (break))))))
 
 (define-macro (do* spec end . body)
-  `(let* (,@(map (lambda (var) 
-		   (list (car var) (cadr var))) 
-		 spec))
+  `(let* ,(map (lambda (var) 
+		 (list (car var) (cadr var))) 
+	       spec)
      (do () ,end
        , at body
        ,@(map (lambda (var) 
@@ -581,31 +581,31 @@ If func approves of one, index-if returns the index that gives that element's po
        (if (not (pair? p))
 	   (make-iterator p)
 	   (let ((len (length p)))
-	     (if (infinite? len)      ; circular list
-		 (make-iterator
-		  (let ((cur p)
-			(iterator? #t))
-		    (lambda ()
-		      (if (memq cur seen-cycles)
-			  #<eof>
-			  (let ((result (car cur)))
-			    (if (memq cur cycles) 
-				(set! seen-cycles (cons cur seen-cycles)))
-			    (set! cur (cdr cur))
-			    result)))))
-		 (if (positive? len)  ; normal list
-		     (make-iterator p)
-		     (make-iterator   ; dotted list
-		      (let ((cur p)
-			    (iterator? #t))
-			(lambda ()
-			  (if (pair? cur)
-			      (let ((result (car cur)))
-				(set! cur (cdr cur))
-				result)
-			      (let ((result cur))
-				(set! cur #<eof>)
-				result))))))))))
+	     (make-iterator
+	      (cond ((infinite? len)      ; circular list
+		     (let ((cur p)
+			   (iterator? #t))
+		       (lambda ()
+			 (if (memq cur seen-cycles)
+			     #<eof>
+			     (let ((result (car cur)))
+			       (if (memq cur cycles) 
+				   (set! seen-cycles (cons cur seen-cycles)))
+			       (set! cur (cdr cur))
+			       result)))))
+		    ((positive? len)      ; normal list
+		     p)
+		    (else 
+		     (let ((cur p)        ; dotted list
+			   (iterator? #t))
+		       (lambda ()
+			 (if (pair? cur)
+			     (let ((result (car cur)))
+			       (set! cur (cdr cur))
+			       result)
+			     (let ((result cur))
+			       (set! cur #<eof>)
+			       result))))))))))
 
      (let ((iter (make-careful-iterator obj))
 	   (iterator? #t))       
@@ -1043,8 +1043,8 @@ Unlike full-find-if, safe-find-if can handle any circularity in the sequences.")
   ;; for arbitrary method combinations: this returns a list of all the methods of a given name
   ;;   in obj's class and the classes it inherits from (see example below)
   (if (symbol? method)
-      (let* ((base-method (obj method))
-	     (methods (if (procedure? base-method) (list base-method) ())))
+      (let ((methods (let ((base-method (obj method)))
+		       (if (procedure? base-method) (list base-method) ()))))
 	(for-each 
 	 (lambda (ancestor)
 	   (let ((next-method (ancestor method)))
@@ -1280,12 +1280,12 @@ Unlike full-find-if, safe-find-if can handle any circularity in the sequences.")
 		  (if (symbol? sym)
 		      `(set! (symbol-access ',sym)
 			     (lambda (s v)  
-			       (let ((,nv ,(if (with-let (sublet e 'sym sym) 
-						 (symbol-access sym))
+			       (let ((,nv ,(if (not (with-let (sublet e 'sym sym) 
+						      (symbol-access sym)))
+					       'v
 					       `(begin (,(procedure-source (with-let (sublet e 'sym sym) 
 									     (symbol-access sym))) 
-							s v))
-					       'v)))
+							s v)))))
 				 (with-let (sublet ,ne ',sym ,nv)
 				   (set! ,place ,value))
 				 ,nv)))
@@ -1419,8 +1419,10 @@ Unlike full-find-if, safe-find-if can handle any circularity in the sequences.")
 		    (set! setters (cons sym setters)))
 		(let ((prev (assq sym accessors)))
 		  (if prev
-		      (set-cdr! prev (append `((set! ,(car bd) (,fname ,v))) (cdr prev)))
-		      (set! accessors (cons (cons sym `((set! ,(car bd) (,fname ,v)))) accessors))))))
+		      (set-cdr! prev (cons (list 'set! (car bd) (list fname v)) (cdr prev)))
+		      (set! accessors (cons (list sym (list 'set! (car bd) (list fname v))) accessors))))))
+		      ;; (append `((set! ,(car bd) (,fname ,v))) (cdr prev)))
+		      ;; (set! accessors (cons (cons sym `((set! ,(car bd) (,fname ,v)))) accessors))))))
 	    syms)
 	   (set! bindings (cons bd bindings))))
        vars)
@@ -1633,8 +1635,8 @@ Unlike full-find-if, safe-find-if can handle any circularity in the sequences.")
 
 
 (define* (subsequence obj (start 0) end)
-  (let* ((len (length obj))
-	 (new-len (- (min len (or end len)) start)))
+  (let ((new-len (let ((len (length obj)))
+		   (- (min len (or end len)) start))))
     (if (negative? new-len)
 	(error 'out-of-range "end: ~A should be greater than start: ~A" end start))
 
@@ -1760,8 +1762,8 @@ Unlike full-find-if, safe-find-if can handle any circularity in the sequences.")
       (set! (*s7* 'print-length) vlp)))
   
   (define (last lst)
-    (let* ((len (length lst))
-	   (end (list-tail lst (if (negative? len) (abs len) (- len 1)))))
+    (let ((end (let ((len (length lst)))
+		 (list-tail lst (if (negative? len) (abs len) (- len 1))))))
       (if (pair? end)
 	  (car end)
 	  end)))
@@ -1946,9 +1948,9 @@ Unlike full-find-if, safe-find-if can handle any circularity in the sequences.")
 	  
 	  ((dynamic-wind)
 	   ;; here we want to ignore the first and last clauses, and report the last of the second
-	   (let* ((p (caddr source))
-		  (body (and (eq? (car p) 'lambda)
-			     (cddr p)))
+	   (let* ((body (let ((p (caddr source)))
+			  (and (eq? (car p) 'lambda)
+			       (cddr p))))
 		  (previous (and body (butlast body)))
 		  (end (and body (last body))))
 	     (if (not body)
diff --git a/tools/gtk-header-diffs b/tools/gtk-header-diffs
index 2869054..7a91d8b 100755
--- a/tools/gtk-header-diffs
+++ b/tools/gtk-header-diffs
@@ -1,7 +1,7 @@
 #!/bin/csh -f
 
-set gtkolddir = /home/bil/test/gtk+-3.21.1
-set gtknewdir = /home/bil/test/gtk+-3.21.2
+set gtkolddir = /home/bil/test/gtk+-3.21.3
+set gtknewdir = /home/bil/test/gtk+-3.21.4
 set pangoolddir = /home/bil/test/pango-1.36.8
 set pangonewdir = /home/bil/test/pango-1.36.8
 set glibolddir = /home/bil/test/glib-2.39.3
diff --git a/tools/make-index.scm b/tools/make-index.scm
index ccaaa78..356aa62 100644
--- a/tools/make-index.scm
+++ b/tools/make-index.scm
@@ -229,66 +229,61 @@
 	(else
 	 (let* ((len (length scheme-name))
 		(var-case (hash-table-ref scheme-variable-names scheme-name))
-		(strlen (if var-case (+ len 1) len))
-		(rb-name (make-string strlen #\space))
-		(i 0)
-		(j 0))
-	   (if var-case
-	       (begin
-		 (set! (rb-name 0) #\$)
-		 (set! j 1))
-	       (if (hash-table-ref scheme-constant-names scheme-name)
-		   (begin
-		     (set! (rb-name 0) (char-upcase (scheme-name 0)))
-		     (set! i 1)
-		     (set! j 1))))
-	   (do ()
-	       ((>= i len))
-	     (let ((c (scheme-name i)))
-	       (if (or (alphanumeric? c)
-		       (memv c '(#\? #\!)))
-		   (begin
-		     (set! (rb-name j) c)
-		     (set! i (+ i 1))
-		     (set! j (+ j 1)))
-		   (if (and (char=? c #\-)
-			    (char=? (scheme-name (+ i 1)) #\>))
-		       (begin
-			 (set! (rb-name j) #\2)
-			 (set! j (+ j 1))
-			 (set! i (+ i 2)))
-		       (begin
-			 (set! (rb-name j) #\_)
-			 (set! i (+ i 1))
-			 (set! j (+ j 1)))))))
-	   (if (= j strlen)
-	       rb-name
-	       (substring rb-name 0 j))))))
+		(strlen (if var-case (+ len 1) len)))
+	   (let ((rb-name (make-string strlen #\space))
+		 (i 0)
+		 (j 0))
+	     (if var-case
+		 (begin
+		   (set! (rb-name 0) #\$)
+		   (set! j 1))
+		 (if (hash-table-ref scheme-constant-names scheme-name)
+		     (begin
+		       (set! (rb-name 0) (char-upcase (scheme-name 0)))
+		       (set! i 1)
+		       (set! j 1))))
+	     (do ()
+		 ((>= i len))
+	       (let ((c (scheme-name i)))
+		 (if (or (alphanumeric? c)
+			 (memv c '(#\? #\!)))
+		     (begin
+		       (set! (rb-name j) c)
+		       (set! i (+ i 1))
+		       (set! j (+ j 1)))
+		     (if (and (char=? c #\-)
+			      (char=? (scheme-name (+ i 1)) #\>))
+			 (begin
+			   (set! (rb-name j) #\2)
+			   (set! j (+ j 1))
+			   (set! i (+ i 2)))
+			 (begin
+			   (set! (rb-name j) #\_)
+			   (set! i (+ i 1))
+			   (set! j (+ j 1)))))))
+	     (if (= j strlen)
+		 rb-name
+		 (substring rb-name 0 j)))))))
 
 (define (clean-up-xref xref file)
   (let* ((len (length xref))
 	 (outstr (make-string (* len 2) #\space)))
     (let ((url-str "")
-	  (j 0)
-	  (need-start #f)
-	  (in-bracket #f)
-	  (in-href #f)
-	  (in-name #f))
+	  (j 0))
       (do ((loc 0))
 	  ((>= loc len))
-	(let* ((leof (or (char-position #\newline xref loc)
-			 len))
-	       (href-normal-start (or (string-position "<a href=" xref loc)
-				      (string-position "<A HREF=" xref loc)))
-	       (href-start (or href-normal-start 
-			       (string-position "<a class=quiet href=" xref loc)
-			       (string-position "<a class=def href=" xref loc)))
-	       (href-len (if href-normal-start 8 20))
-	       (href-end (and (integer? href-start)
-			      (< href-start leof)
-			      (char-position #\> xref (+ href-start 1))))
-	       (href (and (integer? href-end)
-			  (substring xref (+ href-start href-len) href-end))))
+	(let* ((leof (or (char-position #\newline xref loc) len))	    
+	       (href (let* ((href-normal-start (or (string-position "<a href=" xref loc)
+						   (string-position "<A HREF=" xref loc)))
+			    (href-start (or href-normal-start 
+					    (string-position "<a class=quiet href=" xref loc)
+					    (string-position "<a class=def href=" xref loc))))
+		       (let ((href-len (if href-normal-start 8 20))
+			     (href-end (and (integer? href-start)
+					    (< href-start leof)
+					    (char-position #\> xref (+ href-start 1)))))
+			 (and (integer? href-end)
+			      (substring xref (+ href-start href-len) href-end))))))
 	  (set! url-str (string-append url-str
 				       (if href
 					   (if (char=? (href 1) #\#)
@@ -299,7 +294,11 @@
 
       (set! (outstr j) #\")
       (set! j (+ j 1))
-      (do ((i 0 (+ i 1)))
+      (do ((need-start #f)
+	   (in-bracket #f)
+	   (in-href #f)
+	   (in-name #f)
+	   (i 0 (+ i 1)))
 	  ((= i len))
 	(let ((c (xref i)))
 	  (if in-bracket
@@ -840,9 +839,9 @@
   ;; alternate: (autoload sym (lambda (e) (let ((m (load file))) (varlet (rootlet) (cons sym (m sym))))))
   (for-each
    (lambda (sym&file)
-     (let* ((e (car sym&file))
-	    (file (cadr sym&file))
-	    (ce (if (not (defined? e)) (load file) (symbol->value e)))
+     (let* ((file (cadr sym&file))
+	    (ce (let ((e (car sym&file)))
+		  (if (not (defined? e)) (load file) (symbol->value e))))
 	    (flst (or (hash-table-ref names file) ())))
        (for-each
 	(lambda (slot)
@@ -933,86 +932,83 @@
 	      (let* ((dline line)
 		     (compos (string-position "<!-- INDEX" dline))
 		     (indpos (string-position "<!-- main-index" dline))
-		     (xpos (string-position "<TABLE " dline))
-		     (unxpos (string-position "</TABLE>" dline))
 		     (pos (and (not compos) 
 			       (not indpos)
-			       (string-position "<em class=def id=" dline)
-			       ))
-		     (id-pos (string-position " id=" dline))
-		     (tpos (and (not pos) 
-				(string-position "<!-- TOPIC " line))))
-		(if unxpos 
-		    (set! xrefing #f))
+			       (string-position "<em class=def id=" dline))))
+		(let ((xpos (string-position "<TABLE " dline))
+		      (tpos (and (not pos) 
+				 (string-position "<!-- TOPIC " line))))
+		  (if (string-position "</TABLE>" dline)
+		      (set! xrefing #f))
+		  
+		  (let ((id-pos (string-position " id=" dline)))
+		    (if id-pos
+			(let ((sym-name (let ((start (- (char-position #\" dline id-pos) id-pos)))
+					  (string->symbol
+					   (substring dline 
+						      (+ id-pos start 1)
+						      (let ((end-start (+ id-pos start 2)))	   
+							(- (+ id-pos start (char-position #\" dline end-start) 2) end-start)))))))
+			  (if (not (hash-table-ref ids sym-name))
+			      (hash-table-set! ids sym-name 0)
+			      (if (memq sym-name local-ids)
+				  (format () "~S: id ~S is set twice~%" file sym-name)))
+			  (set! local-ids (cons sym-name local-ids)))))
 		
-		(if id-pos
-		    (let* ((start (- (char-position #\" dline id-pos) id-pos)) ; (substring dline id-pos)))
-			   (end-start (+ id-pos start 2))
-			   (name (substring dline 
-					    (+ id-pos start 1)
-					    (- (+ id-pos start (char-position #\" dline end-start) 2) end-start)))
-			   (sym-name (string->symbol name)))
-		      (if (not (hash-table-ref ids sym-name))
-			  (hash-table-set! ids sym-name 0)
-			  (if (memq sym-name local-ids)
-			      (format () "~S: id ~S is set twice~%" file sym-name)))
-		      (set! local-ids (cons sym-name local-ids))))
-		
-		(cond (tpos
-		       (let ((epos (string-position " -->" dline)))
-			 (if (not epos) 
-			     (format () "<!-- TOPIC but no --> for ~A~%" dline)
-			     (set! topic (substring dline (+ tpos 11) epos)))))
-		      (compos
-		       (let ((epos (string-position " -->" dline)))
-			 (if (not epos) 
-			     (format () "<!-- INDEX but no --> for ~A~%" dline)
-			     (when (or (not no-bold)
-				       with-scm)
-			       (set! current-general g)
-			       (set! (generals g) (substring dline (+ compos 11) epos))
-			       (set! (gfiles g) (car file))
-			       (set! (xrefs g) "")
-			       (set! g (+ g 1))))))
-		      (indpos
-		       (let ((epos (string-position " -->" dline)))
-			 (if (not epos) 
-			     (format () "<!-- main-index but no --> for ~A~%" dline)
-			     (when (or (not no-bold)
-				       with-scm)
-			       (set! (names n) (substring dline (+ indpos 16) epos))
-			       (set! (files n) (car file))
-			       (set! n (+ n 1))))))
-		      (xpos
-		       (set! xrefing #t))
-		      (else
-		       (do ()
-			   ((not pos))
-			 (set! dline (substring dline pos))
-			 (let ((epos (or (string-position "</a>" dline) 
-					 (string-position "</em>" dline) 
-					 (string-position "</A>" dline))))
+		  (cond (tpos
+			 (let ((epos (string-position " -->" dline)))
+			   (if (not epos) 
+			       (format () "<!-- TOPIC but no --> for ~A~%" dline)
+			       (set! topic (substring dline (+ tpos 11) epos)))))
+			(compos
+			 (let ((epos (string-position " -->" dline)))
 			   (if (not epos) 
-			       (format () "<a> but no </a> for ~A~%" dline)
-			       (begin
-				 (set! (names n) (string-append (substring dline 0 epos) "</a>"))
+			       (format () "<!-- INDEX but no --> for ~A~%" dline)
+			       (when (or (not no-bold)
+					 with-scm)
+				 (set! current-general g)
+				 (set! (generals g) (substring dline (+ compos 11) epos))
+				 (set! (gfiles g) (car file))
+				 (set! (xrefs g) "")
+				 (set! g (+ g 1))))))
+			(indpos
+			 (let ((epos (string-position " -->" dline)))
+			   (if (not epos) 
+			       (format () "<!-- main-index but no --> for ~A~%" dline)
+			       (when (or (not no-bold)
+					 with-scm)
+				 (set! (names n) (substring dline (+ indpos 16) epos))
 				 (set! (files n) (car file))
-				 (set! (topics n) topic)
-				 (set! n (+ n 1))
-				 (set! dline (substring dline (+ epos 4)))
-				 (set! pos (string-position "<em class=def id=" dline))
-				 ))))))
-		(if (and xrefing
-			 (or (not (char=? (dline 0) #\<))
-			     (string-position "<a href" dline)
-			     (string-position "<a class=quiet href" dline)
-			     (string-position "<a class=def href" dline)))
-		    (set! (xrefs current-general) (string-append (xrefs current-general) dline (format #f "~%"))))
-		(when topic
-		  (let ((hpos (string-position "<hr>" dline)))
-		    (when hpos 
-		      (set! topic #f))))))))))
-    ;; end call-with-input-file loop
+				 (set! n (+ n 1))))))
+			(xpos
+			 (set! xrefing #t))
+			(else
+			 (do ()
+			     ((not pos))
+			   (set! dline (substring dline pos))
+			   (let ((epos (or (string-position "</a>" dline) 
+					   (string-position "</em>" dline) 
+					   (string-position "</A>" dline))))
+			     (if (not epos) 
+				 (format () "<a> but no </a> for ~A~%" dline)
+				 (begin
+				   (set! (names n) (string-append (substring dline 0 epos) "</a>"))
+				   (set! (files n) (car file))
+				   (set! (topics n) topic)
+				   (set! n (+ n 1))
+				   (set! dline (substring dline (+ epos 4)))
+				   (set! pos (string-position "<em class=def id=" dline))))))))
+		  (if (and xrefing
+			   (or (not (char=? (dline 0) #\<))
+			       (string-position "<a href" dline)
+			       (string-position "<a class=quiet href" dline)
+			       (string-position "<a class=def href" dline)))
+		      (set! (xrefs current-general) (string-append (xrefs current-general) dline (format #f "~%"))))
+		  (when topic
+		    (let ((hpos (string-position "<hr>" dline)))
+		      (when hpos 
+			(set! topic #f)))))))))))
+      ;; end call-with-input-file loop
 
     (let ((tnames (make-vector (+ n g)))
 	  (ctr 0))
@@ -1189,16 +1185,16 @@
 			 (ind-sortby (tnames i)))
 		    (let* ((line (substring (ind-name (tnames i)) 8))
 			   (dpos (char-position #\> line))
-			   (url (substring line 1 (- dpos 1)))
-			   (ind (substring line (+ dpos 1) (char-position #\< line)))
-			   (gpos (string-position ">" ind)))
-		      (if gpos 
-			  (set! ind (string-append (substring ind 0 gpos) 
-						   ">" 
-						   (substring ind (+ gpos 4)))))
-		      (when (positive? (length ind))
-			(set! help-names (cons ind help-names))
-			(set! help-urls (cons url help-urls))))))
+			   (ind (substring line (+ dpos 1) (char-position #\< line))))
+		      (let ((url (substring line 1 (- dpos 1)))
+			    (gpos (string-position ">" ind)))
+			(if gpos 
+			    (set! ind (string-append (substring ind 0 gpos) 
+						     ">" 
+						     (substring ind (+ gpos 4)))))
+			(when (positive? (length ind))
+			  (set! help-names (cons ind help-names))
+			  (set! help-urls (cons url help-urls)))))))
 	      
 	      (set! help-names (reverse help-names))
 	      (set! help-urls (reverse help-urls))
@@ -1264,7 +1260,14 @@
 (define (html-check files)
   (let ((name 0)
 	(href 0)
-	(names (make-hash-table 2048)))
+	(names (make-hash-table 2048))
+	(closables (let ((h (make-hash-table)))
+		     (for-each (lambda (c)
+				 (set! (h c) #t))
+			       '(ul tr td table small sub blockquote p details summary
+				 a A i b title pre span h1 h2 h3 code body html
+				 em head h4 sup map smaller bigger th tbody div))
+		     h)))
     (for-each
      (lambda (file)
        (call-with-input-file file
@@ -1395,16 +1398,19 @@
 				      (if (eq? closer 'TABLE) (set! closer 'table))
 				      (cond ((memq closer '(center big font))
 					     (format () "~A[~D]: ~A is obsolete, ~A~%" file linectr closer line))
+
 					    ((eq? closer 'script)
 					     (set! scripting #f))
+
 					    (scripting)
+
 					    ((not (memq closer commands))
 					     (format () "~A[~D]: ~A without start? ~A from [~D:~D] (commands: ~A)~%" 
 						     file linectr closer line (+ start 2) i commands))
-					    ((not (memq closer '(ul tr td table small sub blockquote p details summary
-								 a A i b title pre span h1 h2 h3 code body html
-								 em head h4 sup map smaller bigger th tbody div)))
+
+					    ((not (hash-table-ref closables closer))
 					     (set! commands (remove-all closer commands)))
+
 					    (else 
 					     (if (not (eq? (car commands) closer))
 						 (format () "~A[~D]: ~A -> ~A?~%" file linectr closer commands))
@@ -1456,20 +1462,19 @@
 					       (set! scripting #t))
 					      
 					      ((eq? opener 'img)
-					       (let* ((rest-line (substring line (+ start 4)))
-						      (alt-pos (string-position "alt=" rest-line))
-						      (src-pos (string-position "src=" rest-line)))
-						 (if (not alt-pos)
-						     (format () "~A[~D]: img but no alt: ~A~%" file linectr line))
-						 (if src-pos
-						     (let ((png-pos (string-position ".png" rest-line)))
-						       (if png-pos
-							   (let ((file (substring rest-line (+ src-pos 5) (+ png-pos 4))))
-							     (if (not (file-exists? file))
-								 (format () "~A[~D]: src not found: ~S~%" file linectr file))))))))
+					       (let ((rest-line (substring line (+ start 4))))
+						 (let ((alt-pos (string-position "alt=" rest-line))
+						       (src-pos (string-position "src=" rest-line)))
+						   (if (not alt-pos)
+						       (format () "~A[~D]: img but no alt: ~A~%" file linectr line))
+						   (if src-pos
+						       (let ((png-pos (string-position ".png" rest-line)))
+							 (if png-pos
+							     (let ((file (substring rest-line (+ src-pos 5) (+ png-pos 4))))
+							       (if (not (file-exists? file))
+								   (format () "~A[~D]: src not found: ~S~%" file linectr file)))))))))
 					      
-					      ((and (not (memq opener '(br spacer li hr area 
-									   ul tr td table small sub blockquote)))
+					      ((and (not (memq opener '(br spacer li hr area ul tr td table small sub blockquote)))
 						    (memq opener commands)
 						    (= p-quotes 0))
 					       (format () "~A[~D]: nested ~A? ~A from: ~A~%" file linectr opener line commands))
@@ -1532,11 +1537,9 @@
 		     ) ; if not in-comment...
 		   
 		   ;; search for name
-		   (let* ((dline line)
-			  (pos (string-position "<em class=def id=" dline))
+		   (let ((dline line))
+		     (do ((pos (string-position "<em class=def id=" dline))
 			  (pos-len 18))
-		     
-		     (do ()
 			 ((not pos))
 		       (set! dline (substring dline (+ pos pos-len)))
 		       (let ((epos (or (string-position "</a>" dline) 
@@ -1561,12 +1564,11 @@
 			       (set! dline (substring dline epos))
 			       (set! pos (string-position "<em class=def id=" dline))
 			       (set! pos-len 18))))))
-		   
+		     
 		   ;; search for href
-		   (let* ((dline line)
-			  (pos (string-position " href=" dline)) ; ignore A HREF
+		   (let ((dline line))
+		     (do ((pos (string-position " href=" dline)) ; ignore A HREF
 			  (pos-len 7))
-		     (do ()
 			 ((not pos))
 		       ;; (format () "~A dline: ~A~%" pos dline)
 		       (if (zero? (length dline)) (exit))
@@ -1591,9 +1593,9 @@
 				 
 				 ;; cur-href here is the full link: sndclm.html#make-filetosample for example
 				 ;;   it can also be a bare file name
-				 (let* ((start (char-position #\# cur-href))
-					(name (and (number? start) 
-						   (string->symbol (substring cur-href (+ start 1)))))
+				 (let* ((name (let ((start (char-position #\# cur-href)))
+						(and (number? start) 
+						     (string->symbol (substring cur-href (+ start 1))))))
 					(data (and (symbol? name) 
 						   (hash-table-ref ids name))))
 				   (if name 
@@ -1603,8 +1605,7 @@
 			       (set! href (+ href 1))
 			       (set! dline (substring dline epos))
 			       (set! pos (string-position " href=" dline))
-			       (set! pos-len 7))))))))
-	       )
+			       (set! pos-len 7)))))))))
 	     (if (pair? commands) 
 		 (format () "open directives at end of ~A: ~A~%" file commands))))))
      files)
diff --git a/tools/makegl.scm b/tools/makegl.scm
index ebbaea1..e96e19c 100755
--- a/tools/makegl.scm
+++ b/tools/makegl.scm
@@ -129,16 +129,15 @@
 	    (when (or (char=? ch #\space)
 		      (= i (- len 1)))
 	      (if type
-		  (let ((reftype #f))
+		  (begin
 		    (let ((given-name (substring args (+ 1 sp) (if (= i (- len 1)) (+ i 1) i))))
 		      (case (given-name 0)
 			((#\@) (set! data (cons (list type (substring given-name 1) 'null) data)))
 			((#\#) (set! data (cons (list type (substring given-name 1) 'opt) data)))
 			((#\[)
-			 (set! reftype (deref-type (list type)))
-			 (set! data (cons (list type (substring given-name 1 (- (length given-name) 1)) given-name) data)))
+			 (set! data (cons (list type (substring given-name 1 (- (length given-name) 1)) given-name) data))
+			 (set! type (deref-type (list type))))
 			(else (set! data (cons (list type given-name) data)))))
-		    (if reftype (set! type reftype))
 		    (if (eq? x 'x)
 			(if (not (member type x-types))
 			    (set! x-types (cons type x-types)))
@@ -151,34 +150,34 @@
 	      (set! sp i)))))))
 
 (define (helpify name type args)
-  (let* ((initial (format #f "  #define H_~A \"~A ~A(" name type name))
-	 (line-len (length initial))
-	 (len (length args))
-	 (typed #f)
-	 (help-max 100))
-    (hey initial)
-    (do ((i 0 (+ i 1)))
-	((= i len))
-      (let ((ch (args i)))
-	(if (char=? ch #\space)
-	    (if typed
-		(begin
-		  (heyc ", ")
-		  (set! line-len (+ line-len 2))
-		  (if (> line-len help-max)
-		      (begin
-			(hey "\\~%")
-			(set! line-len 0)))
-		  (set! typed #f))
-		(begin
-		  (set! line-len (+ 1 line-len))
-		  (heyc " ")
-		  (set! typed #t)))
-	    (if (not (memv ch '(#\@ #\#)))
-		(begin
-		  (set! line-len (+ 1 line-len))
-		  (heyc ch))))))
-    (hey ")\"~%")))
+  (let ((initial (format #f "  #define H_~A \"~A ~A(" name type name)))
+    (let ((line-len (length initial))
+	  (len (length args))
+	  (typed #f)
+	  (help-max 100))
+      (hey initial)
+      (do ((i 0 (+ i 1)))
+	  ((= i len))
+	(let ((ch (args i)))
+	  (if (char=? ch #\space)
+	      (if typed
+		  (begin
+		    (heyc ", ")
+		    (set! line-len (+ line-len 2))
+		    (if (> line-len help-max)
+			(begin
+			  (hey "\\~%")
+			  (set! line-len 0)))
+		    (set! typed #f))
+		  (begin
+		    (set! line-len (+ 1 line-len))
+		    (heyc " ")
+		    (set! typed #t)))
+	      (if (not (memv ch '(#\@ #\#)))
+		  (begin
+		    (set! line-len (+ 1 line-len))
+		    (heyc ch))))))
+      (hey ")\"~%"))))
 
 (define direct-types 
   (list (cons "void" #f)
@@ -498,190 +497,185 @@
 
 (hey "~%~%/* ---------------------------------------- functions ---------------------------------------- */~%~%")
 
-(define handle-func
- (lambda (data)
-   (let* ((name (car data))
+(define (handle-func data)
+  (let* ((args (caddr data))
+	 (argslen (length args))
+	 (refargs (ref-args args)))
+    (let ((name (car data))
 	  (return-type (cadr data))
-	  (args (caddr data))
-	  (argslen (length args))
-	  (cargs argslen)
-	  (refargs (ref-args args))
-	  (xgargs (- cargs refargs))
+	  (xgargs (- argslen refargs))
 	  (argstr (cadddr data))
-	  ;(lambda-type (cdr (assoc name names)))
 	  (arg-start 0)
 	  (line-len 0))
-
-     (define (hey-start)
-       ;; start of checked line
-       (set! line-len 0))
-
-     (define (hey-mark)
-       ;; start of checked line
-       (set! arg-start line-len))
-
-     (define (hey-on . args)
-       ;; no cr -- just append
-       (let ((line (apply format #f args)))
-	 (set! line-len (+ line-len (length line)))
-	 (heyc line)))
-
-     (define (hey-ok arg)
-       ;; cr ok after arg
-       (set! line-len (+ line-len (length arg)))
-       (heyc arg)
-       (if (> line-len 120)
-	   (begin
-	     (format gl-file "~%~NC" arg-start #\space)
-	     (set! line-len arg-start))))
-
-     (check-glu name)
-     (if (member name glu-1-2) (hey "#ifdef GLU_VERSION_1_2~%"))
-
-     (if (and (> (length data) 4)
-	      (eq? (data 4) 'if))
-	 (hey "#if HAVE_~A~%" (string-upcase (symbol->string (data 5)))))
-     (hey "static Xen gxg_~A(" name)
-     (if (null? args)
-	 (heyc "void")
-	 (if (>= argslen max-args)
-	     (heyc "Xen arglist")
-	     (let ((previous-arg #f))
-	       (for-each 
-		(lambda (arg)
-		  (let ((argname (cadr arg))
-			;(argtype (car arg))
-			)
-		    (if previous-arg (heyc ", "))
-		    (set! previous-arg #t)
-		    (hey "Xen ~A" argname)))
-		args))))
-     (hey ")~%{~%")
-     (helpify name return-type argstr)
-     (if (> refargs 0)
-	 (for-each
-	  (lambda (arg)
-	    (if (ref-arg? arg)
-		(if (member name need-vals-check)
-		    (hey "  ~A ~A[16];~%" (deref-type arg) (deref-name arg))
-		    (hey "  ~A ~A[1];~%" (deref-type arg) (deref-name arg)))))
-	  args))
-     (if (and (>= argslen max-args)
-	      (> xgargs 0))
+      
+      (define (hey-start)
+	;; start of checked line
+	(set! line-len 0))
+      
+      (define (hey-mark)
+	;; start of checked line
+	(set! arg-start line-len))
+      
+      (define (hey-on . args)
+	;; no cr -- just append
+	(let ((line (apply format #f args)))
+	  (set! line-len (+ line-len (length line)))
+	  (heyc line)))
+      
+      (define (hey-ok arg)
+	;; cr ok after arg
+	(set! line-len (+ line-len (length arg)))
+	(heyc arg)
+	(if (> line-len 120)
+	    (begin
+	      (format gl-file "~%~NC" arg-start #\space)
+	      (set! line-len arg-start))))
+      
+      (check-glu name)
+      (if (member name glu-1-2) (hey "#ifdef GLU_VERSION_1_2~%"))
+      
+      (if (and (> (length data) 4)
+	       (eq? (data 4) 'if))
+	  (hey "#if HAVE_~A~%" (string-upcase (symbol->string (data 5)))))
+      (hey "static Xen gxg_~A(" name)
+      (if (null? args)
+	  (heyc "void")
+	  (if (>= argslen max-args)
+	      (heyc "Xen arglist")
+	      (let ((previous-arg #f))
+		(for-each 
+		 (lambda (arg)
+		   (let ((argname (cadr arg))
+					;(argtype (car arg))
+			 )
+		     (if previous-arg (heyc ", "))
+		     (set! previous-arg #t)
+		     (hey "Xen ~A" argname)))
+		 args))))
+      (hey ")~%{~%")
+      (helpify name return-type argstr)
+      (if (> refargs 0)
+	  (for-each
+	   (lambda (arg)
+	     (if (ref-arg? arg)
+		 (if (member name need-vals-check)
+		     (hey "  ~A ~A[16];~%" (deref-type arg) (deref-name arg))
+		     (hey "  ~A ~A[1];~%" (deref-type arg) (deref-name arg)))))
+	   args))
+      (when (and (>= argslen max-args)
+		 (> xgargs 0))
+	(heyc "  Xen ")
+	(for-each
 	 (let ((previous-arg #f))
-	   (heyc "  Xen ")
-	   (for-each
-	    (lambda (arg)
-	      (if (not (ref-arg? arg)) ;(< (length arg) 3)
-		  (begin
-		    (if previous-arg (heyc ", "))
-		    (set! previous-arg #t)
-		    (hey "~A" (cadr arg)))))
-	    args)
-	   (hey ";~%")
-	   (let ((ctr 0)) ; list-ref counts from 0
-	     (for-each
-	      (lambda (arg)
-		(if (not (ref-arg? arg))
-		    (hey "  ~A = Xen_list_ref(arglist, ~D);~%" (cadr arg) ctr))
-		(set! ctr (+ 1 ctr)))
-	      args))))
-     (if (> argslen 0)
-	 (let ((ctr 1))
-	   (for-each
-	    (lambda (arg)
-	      (let ((argname (cadr arg))
-		    (argtype (car arg)))
-		(if (not (ref-arg? arg))
-		    (if (null-arg? arg)
-			(hey "  Xen_check_type(Xen_is_~A(~A) || Xen_is_false(~A), ~A, ~D, ~S, ~S);~%" 
-			     (no-stars argtype) argname argname argname ctr name argtype)
-			(if (opt-arg? arg)
-			    (begin
-			      (hey "  if (!Xen_is_bound(~A)) ~A = Xen_false; ~%" argname argname)
-			      (hey "  else Xen_check_type(Xen_is_~A(~A), ~A, ~D, ~S, ~S);~%" 
-				   (no-stars argtype) argname argname ctr name argtype))
-			    (hey "  Xen_check_type(Xen_is_~A(~A), ~A, ~D, ~S, ~S);~%"
-				 (no-stars argtype) argname argname ctr name argtype))))
-		(set! ctr (+ 1 ctr))))
-	    args)))
-     (let ((using-result (and (> refargs 0)
-			      (not (string=? return-type "void")))))
-       (if using-result
-	   (begin
-	     (hey "  {~%")
-	     (hey "    Xen result;~%")))
-       (hey-start)
-       (if (string=? return-type "void")
-	   (hey-on "  ")
-	   (hey-on (if (= refargs 0)
-		       "  return(C_to_Xen_~A("
-		       "    result = C_to_Xen_~A(")
-		   (no-stars return-type)))
-
-       (hey-on "~A(" name)
-       (hey-mark)
-       (if (> argslen 0)
-	   (let ((previous-arg #f))
-	     (for-each
-	      (lambda (arg)
-		(let ((argname (cadr arg))
-		      (argtype (car arg)))
-		  (if previous-arg (hey-ok ", "))
-		  (if (and (not previous-arg)
-			   (> (length data) 4)
-			   (eq? (data 4) 'const))
-		      (hey "(const ~A)" argtype))
-		  (set! previous-arg #t)
-		  (if (ref-arg? arg)
-		      (hey-on "~A" (deref-name arg))
-		      (hey-on "Xen_to_C_~A(~A)" (no-stars argtype) argname))))
-	      args)))
-
-       (if (> refargs 0)
-	   (let ((previous-arg using-result))
-	     (if (not (string=? return-type "void")) 
-		 (heyc ")"))
-	     (hey ");~%")
-	     (if using-result (heyc "  "))
-	     (if (member name need-vals-check)
+	   (lambda (arg)
+	     (if (not (ref-arg? arg)) ;(< (length arg) 3)
 		 (begin
-		   (hey "  {~%")
-		   (if (not using-result)
-		       (hey "    Xen result;~%"))
-		   (hey "    int i, vals;~%    ~
+		   (if previous-arg (heyc ", "))
+		   (set! previous-arg #t)
+		   (hey "~A" (cadr arg))))))
+	 args)
+	(hey ";~%")
+	(for-each
+	 (let ((ctr 0)) ; list-ref counts from 0
+	   (lambda (arg)
+	     (if (not (ref-arg? arg))
+		 (hey "  ~A = Xen_list_ref(arglist, ~D);~%" (cadr arg) ctr))
+	     (set! ctr (+ 1 ctr))))
+	 args))
+      (if (> argslen 0)
+	  (let ((ctr 1))
+	    (for-each
+	     (lambda (arg)
+	       (let ((argname (cadr arg))
+		     (argtype (car arg)))
+		 (if (not (ref-arg? arg))
+		     (if (null-arg? arg)
+			 (hey "  Xen_check_type(Xen_is_~A(~A) || Xen_is_false(~A), ~A, ~D, ~S, ~S);~%" 
+			      (no-stars argtype) argname argname argname ctr name argtype)
+			 (if (opt-arg? arg)
+			     (begin
+			       (hey "  if (!Xen_is_bound(~A)) ~A = Xen_false; ~%" argname argname)
+			       (hey "  else Xen_check_type(Xen_is_~A(~A), ~A, ~D, ~S, ~S);~%" 
+				    (no-stars argtype) argname argname ctr name argtype))
+			     (hey "  Xen_check_type(Xen_is_~A(~A), ~A, ~D, ~S, ~S);~%"
+				  (no-stars argtype) argname argname ctr name argtype))))
+		 (set! ctr (+ 1 ctr))))
+	     args)))
+      (let ((using-result (and (> refargs 0)
+			       (not (string=? return-type "void")))))
+	(if using-result
+	    (begin
+	      (hey "  {~%")
+	      (hey "    Xen result;~%")))
+	(hey-start)
+	(if (string=? return-type "void")
+	    (hey-on "  ")
+	    (hey-on (if (= refargs 0)
+			"  return(C_to_Xen_~A("
+			"    result = C_to_Xen_~A(")
+		    (no-stars return-type)))
+	
+	(hey-on "~A(" name)
+	(hey-mark)
+	(if (> argslen 0)
+	    (let ((previous-arg #f))
+	      (for-each
+	       (lambda (arg)
+		 (let ((argname (cadr arg))
+		       (argtype (car arg)))
+		   (if previous-arg (hey-ok ", "))
+		   (if (and (not previous-arg)
+			    (> (length data) 4)
+			    (eq? (data 4) 'const))
+		       (hey "(const ~A)" argtype))
+		   (set! previous-arg #t)
+		   (if (ref-arg? arg)
+		       (hey-on "~A" (deref-name arg))
+		       (hey-on "Xen_to_C_~A(~A)" (no-stars argtype) argname))))
+	       args)))
+	
+	(if (> refargs 0)
+	    (let ((previous-arg using-result))
+	      (if (not (string=? return-type "void")) 
+		  (heyc ")"))
+	      (hey ");~%")
+	      (if using-result (heyc "  "))
+	      (if (member name need-vals-check)
+		  (begin
+		    (hey "  {~%")
+		    (if (not using-result)
+			(hey "    Xen result;~%"))
+		    (hey "    int i, vals;~%    ~
                              vals = how_many_vals(Xen_to_C_GLenum(pname));~%    ~
 		             result = Xen_empty_list;~%    ~
                              for (i = 0; i < vals; i++)~%")
-		   (hey "      result = Xen_cons(C_to_Xen_~A(~A[i]), result);~%" 
-			(no-stars (deref-type (args (- argslen 1))))
-			(deref-name (args (- argslen 1))))
-		   (hey "    return(result);~%")
-		   (hey "  }~%"))
-		 (begin
-		   (hey "  return(Xen_list_~D(" (+ refargs (if using-result 1 0)))
-		   (if using-result (heyc "result"))
-		   (for-each 
-		    (lambda (arg)
-		      (if (ref-arg? arg)
-			  (begin
-			    (if previous-arg (heyc ", "))
-			    (hey "C_to_Xen_~A(~A[0])" (no-stars (deref-type arg)) (deref-name arg))
-			    (set! previous-arg #t))))
-		    args)
-		   (hey "));~%")))
-	     (if using-result (hey "   }~%")))
-	   (if (string=? return-type "void")
-	       (begin
-		 (hey ");~%")
-		 (hey "  return(Xen_false);~%"))
-	       (hey ")));~%")))
-       )
-
-     (hey "}~%")
-     (if (member name glu-1-2) (hey "#endif~%"))
-     (hey "~%")
-     )))
+		    (hey "      result = Xen_cons(C_to_Xen_~A(~A[i]), result);~%" 
+			 (no-stars (deref-type (args (- argslen 1))))
+			 (deref-name (args (- argslen 1))))
+		    (hey "    return(result);~%")
+		    (hey "  }~%"))
+		  (begin
+		    (hey "  return(Xen_list_~D(" (+ refargs (if using-result 1 0)))
+		    (if using-result (heyc "result"))
+		    (for-each 
+		     (lambda (arg)
+		       (if (ref-arg? arg)
+			   (begin
+			     (if previous-arg (heyc ", "))
+			     (hey "C_to_Xen_~A(~A[0])" (no-stars (deref-type arg)) (deref-name arg))
+			     (set! previous-arg #t))))
+		     args)
+		    (hey "));~%")))
+	      (if using-result (hey "   }~%")))
+	    (if (string=? return-type "void")
+		(begin
+		  (hey ");~%")
+		  (hey "  return(Xen_false);~%"))
+		(hey ")));~%"))))
+      
+      (hey "}~%")
+      (if (member name glu-1-2) (hey "#endif~%"))
+      (hey "~%"))))
 
 (hey "#if USE_MOTIF~%")
 (for-each handle-func (reverse x-funcs))
@@ -757,18 +751,27 @@
     (reverse (compress sig))))
 
 (define signatures (make-hash-table))
-(define (make-signatures lst)
+(define (make-signatures lst type)
   (for-each
    (lambda (f)
      (let ((sig (make-signature f)))
        (if (pair? sig)
 	   (let ((count (signatures sig)))
-	     (set! (signatures sig) (if (not (real? count)) 0 (+ count 1)))))))
+	     (if (not count)
+		 (set! (signatures sig) type))))))
    lst))
 
-(make-signatures funcs)
-(make-signatures x-funcs)
-;(format *stderr* "~D entries, ~D funcs~%" (hash-table-entries signatures) (length funcs))
+(make-signatures funcs :gtk)
+(make-signatures x-funcs :motif)
+
+(define gtk-sigs 0)
+(define motif-sigs 0)
+(for-each (lambda (sig)
+	    (if (eq? (cdr sig) :gtk)
+		(set! gtk-sigs (+ gtk-sigs 1))
+		(set! motif-sigs (+ motif-sigs 1))))
+	  signatures)
+;(format *stderr* "~D entries, ~D funcs, ~D ~D~%" (hash-table-entries signatures) (length funcs) gtk-sigs motif-sigs)
 
 (hey "static void define_functions(void)~%")
 (hey "{~%")
@@ -791,13 +794,30 @@
 		 p))
       sig))))
      
-(for-each
- (lambda (sigc)
-   (let ((sig (car sigc)))
-     (hey (sig-name sig))
-     (hey ", ")))
- signatures)
-(hey "pl_unused;~%")
+(let ((ctr 0))
+  (for-each
+   (lambda (sigc)
+     (if (eq? (cdr sigc) :gtk)
+	 (let ((sig (car sigc)))
+	   (hey (sig-name sig))
+	   (set! ctr (+ ctr 1))
+	   (hey (if (< ctr gtk-sigs) ", " ";")))))
+   signatures))
+(hey "~%")
+
+(hey "#if USE_MOTIF~%")
+(hey "static s7_pointer ")
+(let ((ctr 0))
+  (for-each
+   (lambda (sigc)
+     (if (eq? (cdr sigc) :motif)
+	 (let ((sig (car sigc)))
+	   (hey (sig-name sig))
+	   (set! ctr (+ ctr 1))
+	   (hey (if (< ctr motif-sigs) ", " ";")))))
+   signatures))
+(hey "~%")
+(hey "#endif~%~%")
 
 (hey "  s_boolean = s7_make_symbol(s7, \"boolean?\");~%")
 (hey "  s_integer = s7_make_symbol(s7, \"integer?\");~%")
@@ -806,28 +826,55 @@
 
 (for-each
  (lambda (sigc)
-   (let ((sig (car sigc)))
-     (hey "  ")
-     (hey (sig-name sig))
-     (hey " = s7_make_circular_signature(s7, ")
-     (let ((len (length sig)))
-       (hey (number->string (- len 1)))
-       (hey ", ")
-       (hey (number->string len))
-       (hey ", ")
-       (do ((i 0 (+ i 1))
-	    (s sig (cdr s)))
-	   ((= i len))
-	 (let ((typ (car s)))
-	   (hey (case typ
-		  ((integer?) "s_integer")
-		  ((boolean?) "s_boolean")
-		  ((real?) "s_real")
-		  (else "s_any"))))
-	 (if (< i (- len 1)) (hey ", "))))
-     (hey ");~%")))
+   (if (eq? (cdr sigc) :gtk)
+       (let ((sig (car sigc)))
+	 (hey "  ")
+	 (hey (sig-name sig))
+	 (hey " = s7_make_circular_signature(s7, ")
+	 (let ((len (length sig)))
+	   (hey (number->string (- len 1)))
+	   (hey ", ")
+	   (hey (number->string len))
+	   (hey ", ")
+	   (do ((i 0 (+ i 1))
+		(s sig (cdr s)))
+	       ((= i len))
+	     (let ((typ (car s)))
+	       (hey (case typ
+		      ((integer?) "s_integer")
+		      ((boolean?) "s_boolean")
+		      ((real?) "s_real")
+		      (else "s_any"))))
+	     (if (< i (- len 1)) (hey ", "))))
+	 (hey ");~%"))))
  signatures)
-(hey "pl_unused = NULL;~%")
+(hey "~%")
+(hey "#if USE_MOTIF~%")
+(for-each
+ (lambda (sigc)
+   (if (eq? (cdr sigc) :motif)
+       (let ((sig (car sigc)))
+	 (hey "  ")
+	 (hey (sig-name sig))
+	 (hey " = s7_make_circular_signature(s7, ")
+	 (let ((len (length sig)))
+	   (hey (number->string (- len 1)))
+	   (hey ", ")
+	   (hey (number->string len))
+	   (hey ", ")
+	   (do ((i 0 (+ i 1))
+		(s sig (cdr s)))
+	       ((= i len))
+	     (let ((typ (car s)))
+	       (hey (case typ
+		      ((integer?) "s_integer")
+		      ((boolean?) "s_boolean")
+		      ((real?) "s_real")
+		      (else "s_any"))))
+	     (if (< i (- len 1)) (hey ", "))))
+	 (hey ");~%"))))
+ signatures)
+(hey "#endif~%")
 (hey "#endif~%~%")
 
 (hey "#if HAVE_SCHEME~%")
@@ -838,23 +885,22 @@
 (hey "~%")
 
 (define (defun func)
-  (let* ((cargs (length (caddr func)))
-	 (name (car func))
-	 (refargs (+ (ref-args (caddr func)) (opt-args (caddr func))))
-	 (args (- cargs refargs)))
-    (check-glu name)
-    (if (member name glu-1-2) (hey "#ifdef GLU_VERSION_1_2~%"))
-
-    (hey "  gl_define_procedure(~A, gxg_~A_w, ~D, ~D, ~D, H_~A, ~A);~%"
-		     name name
-		     (if (>= cargs max-args) 0 args)
-		     (if (>= cargs max-args) 0 refargs) ; optional ignored
-		     (if (>= cargs max-args) 1 0)
-		     name
-		     (sig-name (make-signature func)))
-
-    (if (member name glu-1-2) (hey "#endif~%"))
-    ))
+  (let ((cargs (length (caddr func)))
+	(refargs (+ (ref-args (caddr func)) (opt-args (caddr func)))))
+    (let ((name (car func))
+	  (args (- cargs refargs)))
+      (check-glu name)
+      (if (member name glu-1-2) (hey "#ifdef GLU_VERSION_1_2~%"))
+      
+      (hey "  gl_define_procedure(~A, gxg_~A_w, ~D, ~D, ~D, H_~A, ~A);~%"
+	   name name
+	   (if (>= cargs max-args) 0 args)
+	   (if (>= cargs max-args) 0 refargs) ; optional ignored
+	   (if (>= cargs max-args) 1 0)
+	   name
+	   (sig-name (make-signature func)))
+      
+      (if (member name glu-1-2) (hey "#endif~%")))))
 
 (hey "#if USE_MOTIF~%")
 (for-each defun (reverse x-funcs))
diff --git a/tools/makexg.scm b/tools/makexg.scm
index d3f9734..7fdef99 100755
--- a/tools/makexg.scm
+++ b/tools/makexg.scm
@@ -1112,34 +1112,34 @@
 
 
 (define (helpify name type args)
-  (let* ((initial (format #f "  #define H_~A \"~A ~A(" name type name))
-	 (line-len (length initial))
-	 (len (length args))
-	 (typed #f)
-	 (help-max 100))
-    (hey initial)
-    (do ((i 0 (+ i 1)))
-	((= i len))
-      (let ((ch (args i)))
-	(if (char=? ch #\space)
-	    (if typed
-		(begin
-		  (heyc ", ")
-		  (set! line-len (+ line-len 2))
-		  (if (> line-len help-max)
-		      (begin
-			(hey "\\~%")
-			(set! line-len 0)))
-		  (set! typed #f))
-		(begin
-		  (set! line-len (+ 1 line-len))
-		  (heyc " ")
-		  (set! typed #t)))
-	    (if (not (memv ch '(#\@ #\#)))
-		(begin
-		  (set! line-len (+ 1 line-len))
-		  (heyc ch))))))
-    (hey ")\"~%")))
+  (let ((initial (format #f "  #define H_~A \"~A ~A(" name type name)))
+    (let ((line-len (length initial))
+	  (len (length args))
+	  (typed #f)
+	  (help-max 100))
+      (hey initial)
+      (do ((i 0 (+ i 1)))
+	  ((= i len))
+	(let ((ch (args i)))
+	  (if (char=? ch #\space)
+	      (if typed
+		  (begin
+		    (heyc ", ")
+		    (set! line-len (+ line-len 2))
+		    (if (> line-len help-max)
+			(begin
+			  (hey "\\~%")
+			  (set! line-len 0)))
+		    (set! typed #f))
+		  (begin
+		    (set! line-len (+ 1 line-len))
+		    (heyc " ")
+		    (set! typed #t)))
+	      (if (not (memv ch '(#\@ #\#)))
+		  (begin
+		    (set! line-len (+ 1 line-len))
+		    (heyc ch))))))
+      (hey ")\"~%"))))
 
 (define (CATOM name)
   (if (hash-table-ref names name)
@@ -1252,13 +1252,13 @@
 (define listable-types ())
 (for-each
  (lambda (type)
-   (let* ((len (length type))
-	  (dereftype (and (char=? (type (- len 1)) #\*)
-			  (not (string=? type "char*")) ; these are surely strings (and set would need Xen_to_C_gchar etc)
-			  (not (string=? type "GError*"))
-			  (not (string=? type "GError**"))
-			  (not (string=? type "gchar*"))
-			  (substring type 0 (- len 1)))))
+   (let ((dereftype (let ((len (length type)))
+		      (and (char=? (type (- len 1)) #\*)
+			   (not (string=? type "char*")) ; these are surely strings (and set would need Xen_to_C_gchar etc)
+			   (not (string=? type "GError*"))
+			   (not (string=? type "GError**"))
+			   (not (string=? type "gchar*"))
+			   (substring type 0 (- len 1))))))
      (if (and dereftype
 	      (assoc dereftype direct-types))
 	 (set! listable-types (cons type listable-types)))))
@@ -1720,8 +1720,8 @@
 
 (hey "~%~%/* ---------------------------------------- callback handlers ---------------------------------------- */~%~%")
 
-(let* ((funcs-done ())
-       (xc (lambda (func)
+(let ((xc (let ((funcs-done ()))
+	    (lambda (func)
 	     (let* ((name (callback-func func))
 		    (type (callback-type func))
 		    (args (callback-args func))
@@ -1808,10 +1808,10 @@
 		 (when (callback-version func)
 		   (hey "#endif~%"))
 		 (hey "~%")
-		 )))))
-    (for-each xc callbacks)
-    )
+		 ))))))
+  (for-each xc callbacks))
 
+  
 (hey "~%static gboolean gxg_func3(GtkWidget *w, GdkEventAny *ev, gpointer data)~%")
 (hey "{~%")
 (hey "  return(Xen_boolean_to_C_bool(Xen_call_with_3_args(Xen_car((Xen)data),~%")
@@ -1984,18 +1984,16 @@
 			((not (= refargs 0))
 			 (hey-on "    result = C_to_Xen_~A(" (no-stars return-type)))
 
-			((eq? spec 'free)
-			 (hey-on "  {~%   ~A result;~%   Xen rtn;~%   result = " return-type))
-
-			((eq? spec 'const-return)
-			 (hey "    return(C_to_Xen_~A((~A)" (no-stars return-type) return-type))
-
-			(else
-			 (if (member name idlers)
-			     (begin
-			       (hey "  xm_unprotect_at(Xen_integer_to_C_int(Xen_caddr(~A)));~%" (cadar args))
-			       (set! idlers (remove-if (lambda (x) (string=? x name)) idlers))))
-			 (hey-on "  return(C_to_Xen_~A(" (no-stars return-type))))))
+			(else 
+			 (case spec
+			   ((free)         (hey-on "  {~%   ~A result;~%   Xen rtn;~%   result = " return-type))
+			   ((const-return) (hey "    return(C_to_Xen_~A((~A)" (no-stars return-type) return-type))
+			   (else
+			    (if (member name idlers)
+				(begin
+				  (hey "  xm_unprotect_at(Xen_integer_to_C_int(Xen_caddr(~A)));~%" (cadar args))
+				  (set! idlers (remove-if (lambda (x) (string=? x name)) idlers))))
+			    (hey-on "  return(C_to_Xen_~A(" (no-stars return-type))))))))
 
 	    (let ((using-loc (or (eq? lambda-type 'GCallback)
 				 (and callback-data
diff --git a/tools/snd.supp b/tools/snd.supp
index 885dc0e..6034068 100644
--- a/tools/snd.supp
+++ b/tools/snd.supp
@@ -4,6 +4,7 @@
 # valgrind --error-limit=no -v --gen-suppressions=no --suppressions=/home/bil/cl/snd.supp --leak-check=yes --leak-resolution=high --show-reachable=no --num-callers=12 snd
 # valgrind --error-limit=no -v --gen-suppressions=no --suppressions=/home/bil/cl/snd.supp --leak-check=yes --show-reachable=no --track-origins=yes --track-fds=yes --read-var-info=yes snd -l snd-test
 # valgrind --error-limit=no -v --gen-suppressions=no --suppressions=/home/bil/cl/snd.supp --leak-check=yes --show-reachable=no --track-origins=yes snd -l snd-test
+# valgrind --error-limit=no -v --gen-suppressions=no --suppressions=/home/bil/cl/snd.supp --leak-check=yes --show-reachable=no --track-origins=yes --leak-check=full --show-leak-kinds=all repl t424.scm
 #
 # --tool=exp-ptrcheck
 #
diff --git a/tools/xgdata.scm b/tools/xgdata.scm
index 77f7b66..e2e74e4 100644
--- a/tools/xgdata.scm
+++ b/tools/xgdata.scm
@@ -1424,9 +1424,9 @@
 (CFNC "void gdk_window_set_modal_hint GdkWindow* window gboolean modal")
 (CFNC "void gdk_window_set_geometry_hints GdkWindow* window GdkGeometry* geometry GdkWindowHints geom_mask")
 ;;; (CFNC-gtk2 "void gdk_set_sm_client_id gchar* sm_client_id")
-(CFNC "void gdk_window_begin_paint_rect GdkWindow* window GdkRectangle* rectangle")
-;;; (CFNC "void gdk_window_begin_paint_region GdkWindow* window GdkRegion* region")
-(CFNC "void gdk_window_end_paint GdkWindow* window")
+;;; 3.21.3 (CFNC "void gdk_window_begin_paint_rect GdkWindow* window GdkRectangle* rectangle")
+;;; 3.21.3 (CFNC "void gdk_window_begin_paint_region GdkWindow* window GdkRegion* region")
+;;; 3.21.3 (CFNC "void gdk_window_end_paint GdkWindow* window")
 (CFNC "void gdk_window_set_title GdkWindow* window gchar* title")
 (CFNC "void gdk_window_set_role GdkWindow* window gchar* role")
 (CFNC "void gdk_window_set_transient_for GdkWindow* window GdkWindow* parent")
@@ -3792,7 +3792,7 @@
 (CFNC "GList* gtk_widget_list_accel_closures GtkWidget* widget") ; FREE (g_list_free)
 (CFNC "gboolean gtk_widget_mnemonic_activate GtkWidget* widget gboolean group_cycling")
 (CFNC "gboolean gtk_widget_event GtkWidget* widget GdkEvent* event")
-(CFNC "gint gtk_widget_send_expose GtkWidget* widget GdkEvent* event")
+;;; 3.21.3 (CFNC "gint gtk_widget_send_expose GtkWidget* widget GdkEvent* event")
 (CFNC "gboolean gtk_widget_activate GtkWidget* widget")
 ;;; 2.91.2 (CFNC "gboolean gtk_widget_set_scroll_adjustments GtkWidget* widget GtkAdjustment* @hadjustment GtkAdjustment* @vadjustment")
 ;;; 3.13.2 (CFNC "void gtk_widget_reparent GtkWidget* widget GtkWidget* new_parent")
@@ -5641,8 +5641,8 @@
 (CFNC "void gtk_menu_shell_set_take_focus GtkMenuShell* menu_shell gboolean take_focus")
 ;;; 3.1.6 (CFNC "GtkWidget* gtk_scrolled_window_get_hscrollbar GtkScrolledWindow* scrolled_window")
 ;;; 3.1.6 (CFNC "GtkWidget* gtk_scrolled_window_get_vscrollbar GtkScrolledWindow* scrolled_window")
-(CFNC "void gtk_size_group_set_ignore_hidden GtkSizeGroup* size_group gboolean ignore_hidden")
-(CFNC "gboolean gtk_size_group_get_ignore_hidden GtkSizeGroup* size_group")
+;;; 3.21.3 (CFNC "void gtk_size_group_set_ignore_hidden GtkSizeGroup* size_group gboolean ignore_hidden")
+;;; 3.21.3 (CFNC "gboolean gtk_size_group_get_ignore_hidden GtkSizeGroup* size_group")
 ;(CFNC "void gtk_stock_set_translate_func gchar* domain GtkTranslateFunc func lambda_data func_info GtkDestroyNotify notify" 'const)
 (CFNC "gboolean gtk_text_iter_forward_visible_line GtkTextIter* iter")
 (CFNC "gboolean gtk_text_iter_backward_visible_line GtkTextIter* iter")
@@ -9417,3 +9417,31 @@
 (CFNC-3.22 "int gdk_monitor_get_refresh_rate GdkMonitor* monitor")
 (CFNC-3.22 "GdkSubpixelLayout gdk_monitor_get_subpixel_layout GdkMonitor* monitor")
 (CFNC-3.22 "gboolean gdk_monitor_is_primary GdkMonitor* monitor")
+
+
+;;; 3.21.3:
+
+;;; GDK_SOURCE_TRACKPOINT "GdkInputSource"
+
+(CCAST-3.22 "GDK_DRAWING_CONTEXT(object)" "GdkDrawingContext*")
+(CCHK-3.22 "GDK_IS_DRAWING_CONTEXT(object)" "GdkDrawingContext*")
+
+(CFNC-3.22 "GdkWindow* gdk_drawing_context_get_window GdkDrawingContext* context")
+(CFNC-3.22 "cairo_region_t* gdk_drawing_context_get_clip GdkDrawingContext* context")
+(CFNC-3.22 "gboolean gdk_drawing_context_is_valid GdkDrawingContext* context")
+(CFNC-3.22 "cairo_t* gdk_drawing_context_get_cairo_context GdkDrawingContext* context")
+(CFNC-3.22 "GdkDrawingContext* gdk_cairo_get_drawing_context cairo_t* cr")
+(CFNC-3.22 "void gtk_scrolled_window_set_max_content_width GtkScrolledWindow* scrolled_window gint width")
+(CFNC-3.22 "gint gtk_scrolled_window_get_max_content_width GtkScrolledWindow* scrolled_window")
+(CFNC-3.22 "void gtk_scrolled_window_set_max_content_height GtkScrolledWindow* scrolled_window gint height")
+(CFNC-3.22 "gint gtk_scrolled_window_get_max_content_height GtkScrolledWindow* scrolled_window")
+
+
+;;; 3.21.4:
+
+(CFNC-3.22 "void gtk_file_chooser_add_choice GtkFileChooser* chooser char* id char* label char** options char** option_labels")
+(CFNC-3.22 "void gtk_file_chooser_remove_choice GtkFileChooser* chooser char* id")
+(CFNC-3.22 "void gtk_file_chooser_set_choice GtkFileChooser* chooser char* id char* option")
+(CFNC-3.22 "char* gtk_file_chooser_get_choice GtkFileChooser* chooser char* id" 'const)
+;;; GVariant *gtk_file_filter_to_gvariant (GtkFileFilter *filter
+;;; GtkFileFilter *gtk_file_filter_new_from_gvariant (GVariant *variant
diff --git a/vct.c b/vct.c
index b11b0bd..8795183 100644
--- a/vct.c
+++ b/vct.c
@@ -1774,7 +1774,7 @@ Xen_wrap_7_args(g_vct_interpolate_w, g_vct_interpolate)
 void mus_vct_init(void)
 {
 #if HAVE_SCHEME
-  s7_pointer pl_ff, pl_rf, pl_fff, pl_fffi, pl_ffr, pl_pf, pl_bffr, pl_ftt, pl_ffiib, pl_ffiif, pl_sf;
+  s7_pointer pl_ff, pl_rf, pl_fff, pl_fffi, pl_ffr, pl_pf, pl_bffr, pl_ftt, pl_ffiib, pl_ffiif, pl_sf, pl_rfvir, pl_rfiir;
 #else
   vct_tag = Xen_make_object_type("Vct", sizeof(vct));
 
@@ -1865,6 +1865,8 @@ void mus_vct_init(void)
     pl_fffi = s7_make_signature(s7, 4, f, f, f, i);
     pl_ffiib = s7_make_signature(s7, 5, f, f, i, i, b);
     pl_ffiif = s7_make_signature(s7, 5, f, f, i, i, f);
+    pl_rfvir = s7_make_signature(s7, 5, r, f, s7_make_symbol(s7, "int-vector?"), i, r);
+    pl_rfiir = s7_make_circular_signature(s7, 4, 5, r, f, i, i, r);
   }
 #endif
 
@@ -1908,8 +1910,8 @@ void mus_vct_init(void)
   Xen_define_procedure(S_vct_to_vector,     g_vct_to_vector_w, 1, 0, 0, H_vct_to_vector);
   Xen_define_procedure(S_make_vct,          g_make_vct_w,      1, 1, 0, H_make_vct);
 #else
-  Xen_define_procedure(S_vct_spatter,       g_vct_spatter_w,   4, 0, 0, H_vct_spatter);
-  Xen_define_procedure(S_vct_interpolate,   g_vct_interpolate_w, 7, 0, 0, H_vct_interpolate);
+  Xen_define_typed_procedure(S_vct_spatter,     g_vct_spatter_w,     4, 0, 0, H_vct_spatter,           pl_rfvir);
+  Xen_define_typed_procedure(S_vct_interpolate, g_vct_interpolate_w, 7, 0, 0, H_vct_interpolate,       pl_rfiir);
 
   s7_pf_set_function(s7_name_to_value(s7, S_vct_add), float_vector_add_pf);
   s7_pf_set_function(s7_name_to_value(s7, S_vct_subtract), float_vector_subtract_pf);
diff --git a/write.scm b/write.scm
index ac3f7b7..9c4a90e 100644
--- a/write.scm
+++ b/write.scm
@@ -174,35 +174,35 @@
 			    (spaces (+ column 6)))
 			(if (not (pair? (car lst)))
 			    (write (car lst) port)
-			    (let* ((has=> (and (pair? (cdar lst))
-					       (eq? (cadar lst) '=>)))
-				   (extras (and (pair? (cdar lst))
-						(pair? (cddar lst))
-						(or (not has=>)
-						    (pair? (cdddar lst)))))
-				   (too-long (> (length (object->string (cdar lst))) 50)))
-			      (write-char #\( port)
-			      (let ((oldlines newlines))
-				(pretty-print-1 (caar lst) port (+ column 7))
-				(if (or extras 
-					(not (= oldlines newlines))
-					too-long)
-				    (spaces (+ column 7))
-				    (if (and (pair? (cdar lst))
-					     (or (not has=>)
-						 (= oldlines newlines)))
-					(write-char #\space port)))
-				(if (and (pair? (cdar lst))
-					 (not extras)
-					 (not too-long))
-				    (begin
-				      (write (cadar lst) port)
-				      (when has=>
-					(write-char #\space port)
-					(write (caddar lst) port)))
-				    (if (not (null? (cdar lst)))
-					(stacked-list (cdar lst) (+ column 7)))))
-			      (write-char #\) port))))
+			    (let ((has=> (and (pair? (cdar lst))
+					      (eq? (cadar lst) '=>))))
+			      (let ((extras (and (pair? (cdar lst))
+						 (pair? (cddar lst))
+						 (or (not has=>)
+						     (pair? (cdddar lst)))))
+				    (too-long (> (length (object->string (cdar lst))) 50)))
+				(write-char #\( port)
+				(let ((oldlines newlines))
+				  (pretty-print-1 (caar lst) port (+ column 7))
+				  (if (or extras 
+					  (not (= oldlines newlines))
+					  too-long)
+				      (spaces (+ column 7))
+				      (if (and (pair? (cdar lst))
+					       (or (not has=>)
+						   (= oldlines newlines)))
+					  (write-char #\space port)))
+				  (if (and (pair? (cdar lst))
+					   (not extras)
+					   (not too-long))
+				      (begin
+					(write (cadar lst) port)
+					(when has=>
+					  (write-char #\space port)
+					  (write (caddar lst) port)))
+				      (if (not (null? (cdar lst)))
+					  (stacked-list (cdar lst) (+ column 7)))))
+			      (write-char #\) port)))))
 		      (write-char #\) port))
 		     
 		     ((or and)
diff --git a/ws.scm b/ws.scm
index 9b8f6b9..bdc14db 100644
--- a/ws.scm
+++ b/ws.scm
@@ -167,7 +167,6 @@
 		 (set! *reverb* reverb-1))))
 
        (let ((start (if statistics (get-internal-real-time)))
-	     (cycles 0)
 	     (revmax #f))
 	 (let ((flush-reverb #f))
 	   (catch 'mus-error
@@ -212,6 +211,7 @@
 	     (mus-close *output*))
 
 	 (let ((snd-output #f)
+	       (cycles 0)
 	       (cur-sync #f))
 	   (if statistics
 	       (set! cycles (* 1.0 (- (get-internal-real-time) start))))
@@ -256,51 +256,53 @@
 			(if revmax (format #f "  rev max: ~,4F~%" revmax) "")
 			cycles)))
 
-	   (when (or scaled-to scaled-by)
-	     (cond (output-to-file
-		    (let* ((scale-output (or snd-output (open-sound output-1)))
-			   (old-sync (sync scale-output)))
-		      (set! (sync scale-output) (+ (sync-max) 1))          ; make sure scaling doesn't follow sync
-		      (if scaled-to
-			  (scale-to scaled-to scale-output)
-			  (scale-by scaled-by scale-output))
-		      (set! (sync scale-output) old-sync)
-		      (save-sound scale-output)
-		      (if (not to-snd) 
-			  (close-sound scale-output))))
-		   
-		   ((float-vector? output-1)
+	   (cond ((not (or scaled-to scaled-by)))
+
+		 (output-to-file
+		  (let* ((scale-output (or snd-output (open-sound output-1)))
+			 (old-sync (sync scale-output)))
+		    (set! (sync scale-output) (+ (sync-max) 1))          ; make sure scaling doesn't follow sync
 		    (if scaled-to
-			(let ((pk (float-vector-peak output-1)))
-			  (if (> pk 0.0)
-			      (float-vector-scale! output-1 (/ scaled-to pk))))
-			(float-vector-scale! output-1 scaled-by)))
-		   
-		   ((not (vector? output-1)))
-		   
-		   (scaled-to
-		    (let ((pk (maxamp output-1)))
-		      (if (> pk 0.0)
-			  (let ((scl (/ scaled-to pk)))
-			    (do ((i 0 (+ i 1)))
-				((= i (length output-1)))
-			      (set! (output-1 i) (* scl (output-1 i))))))))
-		   
-		   (else
-		    (do ((i 0 (+ i 1)))
-			((= i (length output-1)))
-		      (set! (output-1 i) (* scaled-by (output-1 i)))))))
+			(scale-to scaled-to scale-output)
+			(scale-by scaled-by scale-output))
+		    (set! (sync scale-output) old-sync)
+		    (save-sound scale-output)
+		    (if (not to-snd) 
+			(close-sound scale-output))))
+		 
+		 ((float-vector? output-1)
+		  (if scaled-to
+		      (let ((pk (float-vector-peak output-1)))
+			(if (> pk 0.0)
+			    (float-vector-scale! output-1 (/ scaled-to pk))))
+		      (float-vector-scale! output-1 scaled-by)))
+		 
+		 ((not (vector? output-1)))
+		 
+		 (scaled-to
+		  (let ((pk (maxamp output-1)))
+		    (if (> pk 0.0)
+			(let ((scl (/ scaled-to pk)))
+			  (do ((i 0 (+ i 1)))
+			      ((= i (length output-1)))
+			    (set! (output-1 i) (* scl (output-1 i))))))))
+		 
+		 (else
+		  (do ((i 0 (+ i 1)))
+		      ((= i (length output-1)))
+		    (set! (output-1 i) (* scaled-by (output-1 i))))))
 	   
-	   (if (and play output-to-file)
+	   (when output-to-file
+	     (when play
 	       (if to-snd
 		   ((or *clm-player* *default-player*) snd-output)
 		   (*default-player* output-1)))
 
-	   (if (and to-snd output-to-file)
-	       (begin
-		 (update-time-graph snd-output)
-		 (goto-listener-end)
-		 (if (number? cur-sync) (set! (sync snd-output) cur-sync)))))
+	     (when to-snd
+	       (update-time-graph snd-output)
+	       (goto-listener-end)
+	       (if (number? cur-sync) (set! (sync snd-output) cur-sync)))))
+
 	 output-1))
 
      (lambda () 
@@ -633,8 +635,7 @@
 (define (finish-with-sound wsd)
   (if (not (eq? (car wsd) 'with-sound-data))
       (error 'wrong-type-arg (list "finish-with-sound" wsd))
-      (let ((cycles 0)
-	    (output (wsd 1))
+      (let ((output (wsd 1))
 	    (old-srate (wsd 4))
 	    (statistics (wsd 5))
 	    (to-snd (wsd 6))
@@ -657,25 +658,21 @@
 
 	(if (mus-output? *output*)
 	    (mus-close *output*))
-	
-	(if statistics
-	    (set! cycles (/ (- (get-internal-real-time) start) 100)))
 	(if (and to-snd (string? output))
 	    (let ((snd-output (open-sound output)))
 	      (set! (sync snd-output) #t)
 	      (if statistics
-		  (snd-print 
-		   (format #f "~A:~%  maxamp: ~A,~%  compute time: ~A~%"
-			   output
-			   (maxamp snd-output #t)
-			   cycles)))
-		 (if (or scaled-to scaled-by)
-		     (begin
-		       (if scaled-to
-			   (scale-to scaled-to snd-output)
-			   (if scaled-by
-			       (scale-by scaled-by snd-output)))
-		       (save-sound snd-output)))
+		  (snd-print (format #f "~A:~%  maxamp: ~A,~%  compute time: ~A~%"
+				     output
+				     (maxamp snd-output #t)
+				     (/ (- (get-internal-real-time) start) 100))))
+	      (if (or scaled-to scaled-by)
+		  (begin
+		    (if scaled-to
+			(scale-to scaled-to snd-output)
+			(if scaled-by
+			    (scale-by scaled-by snd-output)))
+		    (save-sound snd-output)))
 	      (if play (*default-player* snd-output))
 	      (update-time-graph snd-output)))
 	(set! *clm-srate* old-srate)
@@ -724,21 +721,20 @@ symbol: 'e4 for example.  If 'pythagorean', the frequency calculation uses small
       (if (not (symbol? pitch))
 	  pitch
 	  (let* ((name (string-downcase (symbol->string pitch)))
-		 (base-char (name 0))
-		 (sign-char (and (> (length name) 1)
-				 (not (char-numeric? (name 1)))
-				 (not (char=? (name 1) #\n))
-				 (name 1)))
 		 (octave-char (if (and (> (length name) 1)
 				       (char-numeric? (name 1))) 
 				  (name 1)
 				  (and (> (length name) 2) 
 				       (char-numeric? (name 2))
 				       (name 2))))
-		 (base (modulo (- (+ (char->integer base-char) 5) (char->integer #\a)) 7)) ; c-based (diatonic) octaves
-		 (sign (if (not sign-char) 0 (if (char=? sign-char #\f) -1 1)))
+		 (sign-char (and (> (length name) 1)
+				 (not (char-numeric? (name 1)))
+				 (not (char=? (name 1) #\n))
+				 (name 1)))
 		 (octave (if octave-char (- (char->integer octave-char) (char->integer #\0)) last-octave))
-		 (base-pitch (+ sign (case base ((0) 0) ((1) 2) ((2) 4) ((3) 5) ((4) 7) ((5) 9) ((6) 11))))
+		 (base-pitch (let ((base (modulo (- (+ (char->integer (name 0)) 5) (char->integer #\a)) 7)) ; c-based (diatonic) octaves	   
+				   (sign (if (not sign-char) 0 (if (char=? sign-char #\f) -1 1))))
+			       (+ sign (case base ((0) 0) ((1) 2) ((2) 4) ((3) 5) ((4) 7) ((5) 9) ((6) 11)))))
 		 (et-pitch (+ base-pitch (* 12 octave))))
 	    (set! last-octave octave)
 	    (* main-pitch (if pythagorean
@@ -775,20 +771,20 @@ symbol: 'e4 for example.  If 'pythagorean', the frequency calculation uses small
 	      (list-set! nsym 1 (car old))
 	      (list-set! nsym 0 (list 'quote (car old))))))))
 
-  (let* ((name (if (pair? struct-name) 
-		   (car struct-name) 
-		   struct-name))
-	 (sname (if (string? name) 
-		    name 
-		    (symbol->string name)))
-	 (wrapper (or (and (pair? struct-name)
-			   (or (and (> (length struct-name) 2)
-				    (eq? (struct-name 1) :make-wrapper)
-				    (struct-name 2))
-			       (and (= (length struct-name) 5)
-				    (eq? (struct-name 3) :make-wrapper)
-				    (struct-name 4))))
-		      (lambda (gen) gen)))
+  (let* ((sname (let ((name (if (pair? struct-name) 
+				(car struct-name) 
+				struct-name)))
+		  (if (string? name) 
+		      name 
+		      (symbol->string name))))
+	 (wrapper (let ((wrap (and (pair? struct-name)
+				   (or (and (> (length struct-name) 2)
+					    (eq? (struct-name 1) :make-wrapper)
+					    (struct-name 2))
+				       (and (= (length struct-name) 5)
+					    (eq? (struct-name 3) :make-wrapper)
+					    (struct-name 4))))))
+		    (or wrap (lambda (gen) gen))))
 	 (methods (and (pair? struct-name)
 		       (or (and (> (length struct-name) 2)
 				(eq? (struct-name 1) :methods)
@@ -876,7 +872,7 @@ symbol: 'e4 for example.  If 'pythagorean', the frequency calculation uses small
 
 
 (define (mix-notelists . notelists)
-  ;; assume the second parameter is the begin time in seconds (the 1st is the instrument name)
+  ;; assume the second parameter is the begin time in seconds (the first is the instrument name)
   (sort! 
    (apply append notelists)
    (lambda (note1 note2)
diff --git a/xen.c b/xen.c
index f8f3f23..d9b922e 100644
--- a/xen.c
+++ b/xen.c
@@ -1661,6 +1661,8 @@ Xen_wrap_no_args(g_gc_on_w, g_gc_on)
 
 s7_scheme *s7_xen_initialize(s7_scheme *sc)
 {
+  s7_pointer i, b, p, s;
+
   xen_s7_repl_prompt = xen_strdup("> ");
   if (!sc)
     {
@@ -1685,6 +1687,11 @@ s7_scheme *s7_xen_initialize(s7_scheme *sc)
     }
   else s7 = sc;
 
+  i = s7_make_symbol(s7, "integer?");
+  b = s7_make_symbol(s7, "boolean?");
+  p = s7_make_symbol(s7, "pair?");
+  s = s7_make_symbol(s7, "string?");
+
   xen_false = s7_f(s7);
   xen_true = s7_t(s7);
   xen_nil = s7_nil(s7);
@@ -1692,22 +1699,22 @@ s7_scheme *s7_xen_initialize(s7_scheme *sc)
   xen_zero = s7_make_integer(s7, 0);
   s7_gc_protect(s7, xen_zero);
 
-  Xen_define_safe_procedure("getpid",              g_getpid_w,             0, 0, 0, H_getpid);
+  Xen_define_typed_procedure("getpid",       g_getpid_w,        0, 0, 0, H_getpid,        s7_make_signature(s7, 1, i));
 #if (!WITH_SYSTEM_EXTRAS)
-  Xen_define_safe_procedure("file-exists?",        g_file_exists_p_w,      1, 0, 0, H_file_exists_p);
-  Xen_define_safe_procedure("directory?",          g_is_directory_w,       1, 0, 0, H_is_directory);
-  Xen_define_safe_procedure("delete-file",         g_delete_file_w,        1, 0, 0, H_delete_file);
-  Xen_define_safe_procedure("getenv",              g_s7_getenv_w,          1, 0, 0, H_getenv);
-  Xen_define_safe_procedure("system",              g_system_w,             1, 0, 0, H_system);
+  Xen_define_typed_procedure("file-exists?", g_file_exists_p_w, 1, 0, 0, H_file_exists_p, s7_make_signature(s7, 2, b, s));
+  Xen_define_typed_procedure("directory?",   g_is_directory_w,  1, 0, 0, H_is_directory,  s7_make_signature(s7, 2, b, s));
+  Xen_define_typed_procedure("delete-file",  g_delete_file_w,   1, 0, 0, H_delete_file,   s7_make_signature(s7, 2, b, s));
+  Xen_define_typed_procedure("getenv",       g_s7_getenv_w,     1, 0, 0, H_getenv,        s7_make_signature(s7, 2, s, s));
+  Xen_define_typed_procedure("system",       g_system_w,        1, 0, 0, H_system,        s7_make_signature(s7, 2, i, s));
 #endif
-  Xen_define_safe_procedure("getcwd",              g_getcwd_w,             0, 0, 0, H_getcwd);
-  Xen_define_safe_procedure("strftime",            g_strftime_w,           2, 0, 0, H_strftime);
-  Xen_define_safe_procedure("tmpnam",              g_tmpnam_w,             0, 0, 0, H_tmpnam);
-  Xen_define_safe_procedure("localtime",           g_localtime_w,          1, 0, 0, H_localtime);
-  Xen_define_safe_procedure("current-time",        g_current_time_w,       0, 0, 0, H_current_time);
-  Xen_define_safe_procedure("ftell",               g_ftell_w,              1, 0, 0, "(ftell fd): lseek");
-  Xen_define_safe_procedure(S_gc_off,              g_gc_off_w,             0, 0, 0, H_gc_off);
-  Xen_define_safe_procedure(S_gc_on,               g_gc_on_w,              0, 0, 0, H_gc_on);
+  Xen_define_typed_procedure("getcwd",       g_getcwd_w,        0, 0, 0, H_getcwd,        s7_make_signature(s7, 1, s));
+  Xen_define_typed_procedure("strftime",     g_strftime_w,      2, 0, 0, H_strftime,      s7_make_signature(s7, 3, s, s, p));
+  Xen_define_typed_procedure("tmpnam",       g_tmpnam_w,        0, 0, 0, H_tmpnam,        s7_make_signature(s7, 1, s));
+  Xen_define_typed_procedure("localtime",    g_localtime_w,     1, 0, 0, H_localtime,     s7_make_signature(s7, 2, p, i));
+  Xen_define_typed_procedure("current-time", g_current_time_w,  0, 0, 0, H_current_time,  s7_make_signature(s7, 1, i));
+  Xen_define_typed_procedure("ftell",        g_ftell_w,         1, 0, 0, "(ftell fd): lseek", s7_make_signature(s7, 2, i, i));
+  Xen_define_typed_procedure(S_gc_off,       g_gc_off_w,        0, 0, 0, H_gc_off,        s7_make_signature(s7, 1, b));
+  Xen_define_typed_procedure(S_gc_on,        g_gc_on_w,         0, 0, 0, H_gc_on,         s7_make_signature(s7, 1, b));
 
   Xen_eval_C_string("(define (hook-push hook func) \n\
                        \"(hook-push hook func) adds func to hook's function list\" \n\
@@ -1724,8 +1731,8 @@ s7_scheme *s7_xen_initialize(s7_scheme *sc)
 		                     ((eq? func (car l)) (loop (cdr l) result))\n\
 		                     (else (loop (cdr l) (cons (car l) result)))))))");
 
-  Xen_eval_C_string("(define load-from-path load)");
 #if (!DISABLE_DEPRECATED)
+  Xen_eval_C_string("(define load-from-path load)");
   Xen_eval_C_string("(define (1+ x) \"add 1 to arg\" (+ x 1))");
   Xen_eval_C_string("(define (1- x) \"subtract 1 from arg\" (- x 1))");
 #endif
diff --git a/xg.c b/xg.c
index c1b2b69..a11c9b2 100644
--- a/xg.c
+++ b/xg.c
@@ -200,7 +200,7 @@ static void define_xm_obj(void)
   #define Xg_field_pre "F"
 #endif
 
-static Xen xg_GdkSubpixelLayout_symbol, xg_menu_symbol, xg_gtk_menu_place_on_monitor_symbol, xg_GdkMonitor__symbol, xg_GdkDeviceTool__symbol, xg_GdkAxisFlags_symbol, xg_GdkSeatGrabPrepareFunc_symbol, xg_GdkSeatCapabilities_symbol, xg_GdkGrabStatus_symbol, xg_GtkPopoverConstraint_symbol, xg_GtkShortcutsWindow__symbol, xg_GtkStackSidebar__symbol, xg_GtkSearchEntry__symbol, xg_GtkPopoverMenu__symbol, xg_GtkStyleContext__symbol, xg_GdkGLContext__symbol, xg_GtkGLArea__symbol, xg_GtkPropagationPhase_symbol, xg_GtkEventController__symbol, xg_GtkGestureZoom__symbol, xg_GtkGestureSwipe__symbol, xg_GtkGestureSingle__symbol, xg_GtkGestureRotate__symbol, xg_GtkGestureMultiPress__symbol, xg_GtkGesturePan__symbol, xg_GtkGestureDrag__symbol, xg_GdkEventSequence__symbol, xg_GtkEventSequenceState_symbol, xg_GtkGesture__symbol, xg_GtkPopover__symbol, xg_GtkActionBar__symbol, xg_GtkFlowBox__symbol, xg_GtkFlowBoxChild__symbol, xg_GdkEventType_symbol, xg_GtkSearchBar__symbol, xg_GtkListBox__symbol, xg_GtkListBoxRow__symbol, xg_GtkHeaderBar__symbol, xg_GtkRevealerTransitionType_symbol, xg_GtkRevealer__symbol, xg_GtkStackTransitionType_symbol, xg_GtkStack__symbol, xg_GtkStackSwitcher__symbol, xg_GtkPlacesSidebar__symbol, xg_GtkPlacesOpenFlags_symbol, xg_GtkBaselinePosition_symbol, xg_GdkFullscreenMode_symbol, xg_GtkInputHints_symbol, xg_GtkInputPurpose_symbol, xg_GtkLevelBarMode_symbol, xg_GtkLevelBar__symbol, xg_GtkMenuButton__symbol, xg_GtkColorChooser__symbol, xg_GtkApplicationWindow__symbol, xg_GtkApplication__symbol, xg_GMenuModel__symbol, xg_guint___symbol, xg_GdkModifierIntent_symbol, xg_GtkFontChooser__symbol, xg_GdkScrollDirection_symbol, xg_GtkOverlay__symbol, xg_GtkWidgetPath__symbol, xg_GtkStateFlags_symbol, xg_GdkScreen___symbol, xg_GtkToolShell__symbol, xg_GtkWindowGroup__symbol, xg_GtkInvisible__symbol, xg_GtkOrientable__symbol, xg_GtkCellArea__symbol, xg_GtkBorder__symbol, xg_GtkSwitch__symbol, xg_GtkScrollablePolicy_symbol, xg_GtkScrollable__symbol, xg_GtkGrid__symbol, xg_GdkRGBA__symbol, xg_GtkComboBoxText__symbol, xg_GtkAlign_symbol, xg_GtkContainerClass__symbol, xg_GtkSizeRequestMode_symbol, xg_cairo_region_overlap_t_symbol, xg_cairo_rectangle_int_t__symbol, xg_double__symbol, xg_cairo_rectangle_t__symbol, xg_cairo_device_t__symbol, xg_cairo_bool_t_symbol, xg_cairo_text_cluster_flags_t__symbol, xg_cairo_text_cluster_t___symbol, xg_cairo_glyph_t___symbol, xg_cairo_text_cluster_flags_t_symbol, xg_cairo_text_cluster_t__symbol, xg_cairo_region_t__symbol, xg_GtkMessageDialog__symbol, xg_GdkDevice__symbol, xg_GtkAccessible__symbol, xg_GdkModifierType__symbol, xg_GtkToolPaletteDragTargets_symbol, xg_GtkToolItemGroup__symbol, xg_GtkToolPalette__symbol, xg_GtkSpinner__symbol, xg_GtkEntryBuffer__symbol, xg_GtkMessageType_symbol, xg_GtkInfoBar__symbol, xg_GIcon__symbol, xg_GtkEntryIconPosition_symbol, xg_GFile__symbol, xg_GtkScaleButton__symbol, xg_GtkCalendarDetailFunc_symbol, xg_GtkTooltip__symbol, xg_cairo_rectangle_list_t__symbol, xg_void__symbol, xg_cairo_filter_t_symbol, xg_cairo_extend_t_symbol, xg_cairo_format_t_symbol, xg_cairo_path_t__symbol, xg_cairo_destroy_func_t_symbol, xg_cairo_user_data_key_t__symbol, xg_cairo_text_extents_t__symbol, xg_cairo_font_extents_t__symbol, xg_cairo_font_face_t__symbol, xg_cairo_glyph_t__symbol, xg_cairo_scaled_font_t__symbol, xg_cairo_font_weight_t_symbol, xg_cairo_font_slant_t_symbol, xg_cairo_hint_metrics_t_symbol, xg_cairo_hint_style_t_symbol, xg_cairo_subpixel_order_t_symbol, xg_cairo_status_t_symbol, xg_bool_symbol, xg_cairo_matrix_t__symbol, xg_cairo_line_join_t_symbol, xg_cairo_line_cap_t_symbol, xg_cairo_fill_rule_t_symbol, xg_cairo_antialias_t_symbol, xg_cairo_operator_t_symbol, xg_cairo_pattern_t__symbol, xg_cairo_content_t_symbol, xg_GtkPageSet_symbol, xg_GtkPageRange__symbol, xg_GtkPrintPages_symbol, xg_GtkPrintQuality_symbol, xg_GtkPrintDuplex_symbol, xg_GtkPaperSize__symbol, xg_GtkPageOrientation_symbol, xg_GtkPrintSettingsFunc_symbol, xg_GtkPrintOperationPreview__symbol, xg_GtkPageSetupDoneFunc_symbol, xg_GtkPrintStatus_symbol, xg_GtkPrintOperationAction_symbol, xg_GtkPrintOperationResult_symbol, xg_GtkUnit_symbol, xg_GtkPrintSettings__symbol, xg_GtkPrintOperation__symbol, xg_GtkPageSetup__symbol, xg_GtkPrintContext__symbol, xg_cairo_surface_t__symbol, xg_GtkTreeViewGridLines_symbol, xg_GtkRecentData__symbol, xg_GtkTextBufferDeserializeFunc_symbol, xg_GtkTextBufferSerializeFunc_symbol, xg_time_t_symbol, xg_GtkRecentChooserMenu__symbol, xg_GtkRecentManager__symbol, xg_GtkRecentFilter__symbol, xg_GtkRecentSortFunc_symbol, xg_GtkRecentSortType_symbol, xg_GtkRecentChooser__symbol, xg_GtkLinkButton__symbol, xg_GtkAssistantPageType_symbol, xg_GtkAssistantPageFunc_symbol, xg_GtkAssistant__symbol, xg_GDestroyNotify_symbol, xg_GtkTreeViewSearchPositionFunc_symbol, xg_GtkSensitivityType_symbol, xg_GtkClipboardRichTextReceivedFunc_symbol, xg_GtkMenuBar__symbol, xg_GtkPackDirection_symbol, xg_GtkIconViewDropPosition_symbol, xg_GValue__symbol, xg_GLogFunc_symbol, xg_PangoMatrix__symbol, xg_PangoRenderPart_symbol, xg_PangoRenderer__symbol, xg_GtkClipboardImageReceivedFunc_symbol, xg_GtkMenuToolButton__symbol, xg_GtkFileChooserButton__symbol, xg_PangoScriptIter__symbol, xg_PangoScript_symbol, xg_PangoAttrFilterFunc_symbol, xg_PangoEllipsizeMode_symbol, xg_GtkIconViewForeachFunc_symbol, xg_GtkAboutDialog__symbol, xg_GtkTreeViewRowSeparatorFunc_symbol, xg_GtkCellView__symbol, xg_GtkAccelMap__symbol, xg_GtkClipboardTargetsReceivedFunc_symbol, xg_GtkOrientation_symbol, xg_GtkToolButton__symbol, xg_GtkIconLookupFlags_symbol, xg_GtkIconInfo__symbol, xg_GtkIconTheme__symbol, xg_GtkFileChooser__symbol, xg_GtkCellLayoutDataFunc_symbol, xg_GtkCellLayout__symbol, xg_GtkFileFilterFunc_symbol, xg_GtkFileFilterFlags_symbol, xg_GtkFileFilter__symbol, xg_GSourceFunc_symbol, xg_GtkToggleToolButton__symbol, xg_GtkSeparatorToolItem__symbol, xg_GtkRadioToolButton__symbol, xg_GtkEntryCompletionMatchFunc_symbol, xg_GtkFontButton__symbol, xg_GtkExpander__symbol, xg_GtkComboBox__symbol, xg_GtkTreeModelFilter__symbol, xg_GtkFileChooserAction_symbol, xg_GtkToolItem__symbol, xg_GtkEventBox__symbol, xg_GtkCalendarDisplayOptions_symbol, xg_GdkScreen__symbol, xg_PangoLayoutRun__symbol, xg_PangoLayoutIter__symbol, xg_PangoLayoutLine__symbol, xg_int__symbol, xg_PangoAlignment_symbol, xg_PangoWrapMode_symbol, xg_PangoItem__symbol, xg_PangoGlyphString__symbol, xg_PangoFontMap__symbol, xg_PangoGlyph_symbol, xg_PangoFontFace__symbol, xg_PangoFontFace___symbol, xg_PangoFontFamily__symbol, xg_PangoFontMask_symbol, xg_PangoFontDescription___symbol, xg_PangoCoverageLevel_symbol, xg_PangoCoverage__symbol, xg_PangoFontMetrics__symbol, xg_PangoFontset__symbol, xg_PangoFont__symbol, xg_PangoFontFamily___symbol, xg_PangoLogAttr__symbol, xg_PangoAnalysis__symbol, xg_PangoAttrList___symbol, xg_PangoAttrIterator__symbol, xg_PangoRectangle__symbol, xg_PangoUnderline_symbol, xg_PangoStretch_symbol, xg_PangoVariant_symbol, xg_PangoWeight_symbol, xg_PangoStyle_symbol, xg_guint16_symbol, xg_PangoAttribute__symbol, xg_PangoAttrType_symbol, xg_PangoColor__symbol, xg_GdkGravity_symbol, xg_GtkWindowPosition_symbol, xg_GtkWindowType_symbol, xg_GtkWindow__symbol, xg_GtkTextDirection_symbol, xg_AtkObject__symbol, xg_GtkDirectionType_symbol, xg_GtkAllocation__symbol, xg_GtkViewport__symbol, xg_GtkTreeViewSearchEqualFunc_symbol, xg_GtkTreeViewDropPosition_symbol, xg_GtkTreeViewMappingFunc_symbol, xg_GtkTreeViewColumnDropFunc_symbol, xg_GtkTreeViewColumnSizing_symbol, xg_GtkTreeCellDataFunc_symbol, xg_GtkTreeStore__symbol, xg_GtkTreeIterCompareFunc_symbol, xg_GtkSortType_symbol, xg_GtkTreeSortable__symbol, xg_GtkTreeSelectionForeachFunc_symbol, xg_GtkTreeModel___symbol, xg_GtkTreeSelectionFunc_symbol, xg_GtkSelectionMode_symbol, xg_GtkTreeModelSort__symbol, xg_GtkTreeModelForeachFunc_symbol, xg_GtkTreeModelFlags_symbol, xg_GtkTreeRowReference__symbol, xg_GtkTreeDragDest__symbol, xg_GtkTreeDragSource__symbol, xg_GtkToolbarStyle_symbol, xg_GtkToolbar__symbol, xg_GtkToggleButton__symbol, xg_PangoTabArray__symbol, xg_GtkWrapMode_symbol, xg_GtkTextWindowType_symbol, xg_GtkTextView__symbol, xg_GtkTextTagTableForeach_symbol, xg_GtkTextSearchFlags_symbol, xg_GtkTextCharPredicate_symbol, xg_GtkTextAttributes__symbol, xg_GtkTextMark__symbol, xg_GtkTextChildAnchor__symbol, xg_GtkTextIter__symbol, xg_GtkTextTagTable__symbol, xg_GtkTextBuffer__symbol, xg_GtkStatusbar__symbol, xg_GtkSpinType_symbol, xg_GtkSpinButtonUpdatePolicy_symbol, xg_GtkSpinButton__symbol, xg_GtkSizeGroupMode_symbol, xg_GtkSizeGroup__symbol, xg_GtkSettings__symbol, xg_GtkCornerType_symbol, xg_GtkPolicyType_symbol, xg_GtkScrolledWindow__symbol, xg_GtkScale__symbol, xg_GtkRange__symbol, xg_GtkRadioMenuItem__symbol, xg_GtkRadioButton__symbol, xg_GtkProgressBar__symbol, xg_GtkPaned__symbol, xg_GtkPositionType_symbol, xg_GtkNotebook__symbol, xg_GtkMenuShell__symbol, xg_GtkMenuItem__symbol, xg_GtkMenuPositionFunc_symbol, xg_PangoLanguage__symbol, xg_GtkListStore__symbol, xg_GtkLayout__symbol, xg_GtkJustification_symbol, xg_GtkLabel__symbol, xg_guint16__symbol, xg_GtkIMContextSimple__symbol, xg_GdkEventKey__symbol, xg_PangoAttrList__symbol, xg_GtkIMContext__symbol, xg_GtkImageType_symbol, xg_GtkImage__symbol, xg_GtkShadowType_symbol, xg_GtkFrame__symbol, xg_GtkFixed__symbol, xg_PangoLayout__symbol, xg_GtkEntry__symbol, xg_GtkEditable__symbol, xg_GtkTargetList__symbol, xg_GtkDestDefaults_symbol, xg_etc_symbol, xg_GtkDialog__symbol, xg_GtkCallback_symbol, xg_GtkContainer__symbol, xg_GtkClipboardTextReceivedFunc_symbol, xg_GtkClipboardReceivedFunc_symbol, xg_GtkClipboardClearFunc_symbol, xg_GtkClipboardGetFunc_symbol, xg_GtkTargetEntry__symbol, xg_GtkCheckMenuItem__symbol, xg_GtkCellRendererToggle__symbol, xg_GtkCellRendererText__symbol, xg_GtkCellRendererState_symbol, xg_GtkCellEditable__symbol, xg_GtkCalendar__symbol, xg_GtkReliefStyle_symbol, xg_GtkButton__symbol, xg_GtkPackType_symbol, xg_GtkBox__symbol, xg_GtkBin__symbol, xg_GtkBindingSet__symbol, xg_GtkButtonBox__symbol, xg_GtkButtonBoxStyle_symbol, xg_GtkAspectFrame__symbol, xg_GtkAdjustment__symbol, xg_GtkAccelMapForeach_symbol, xg_GtkAccelLabel__symbol, xg_GtkAccelGroupEntry__symbol, xg_lambda3_symbol, xg_GSList__symbol, xg_GObject__symbol, xg_GtkAccelFlags_symbol, xg_GtkAccelGroup__symbol, xg_GTimeVal__symbol, xg_GdkPixbufAnimationIter__symbol, xg_GdkPixbufAnimation__symbol, xg_GdkInterpType_symbol, xg_double_symbol, xg_gfloat_symbol, xg_guchar_symbol, xg_char___symbol, xg_GdkPixbufDestroyNotify_symbol, xg_GError__symbol, xg_int_symbol, xg_GdkColorspace_symbol, xg_GdkWindowTypeHint_symbol, xg_GdkWindowHints_symbol, xg_GdkGeometry__symbol, xg_GdkWindowEdge_symbol, xg_GdkWMFunction_symbol, xg_GdkWMDecoration_symbol, xg_GdkEventMask_symbol, xg_GdkWindowState_symbol, xg_GdkFilterFunc_symbol, xg_GdkWindowType_symbol, xg_GdkWindowAttr__symbol, xg_GdkVisualType__symbol, xg_gint__symbol, xg_GdkVisualType_symbol, xg_GdkPropMode_symbol, xg_guchar__symbol, xg_PangoContext__symbol, xg_PangoDirection_symbol, xg_GdkKeymapKey__symbol, xg_GdkKeymap__symbol, xg_GdkRectangle__symbol, xg_char__symbol, xg_gchar___symbol, xg_GdkEventFunc_symbol, xg_gdouble_symbol, xg_GList__symbol, xg_guint32_symbol, xg_GdkDragAction_symbol, xg_GdkDragContext__symbol, xg_GdkCursorType_symbol, xg_GdkDisplay__symbol, xg_GdkCursor__symbol, xg_GdkVisual__symbol, xg_GSignalMatchType_symbol, xg_GConnectFlags_symbol, xg_GtkDestroyNotify_symbol, xg_GSignalEmissionHook_symbol, xg_gulong_symbol, xg_GSignalInvocationHint__symbol, xg_GQuark_symbol, xg_guint__symbol, xg_GSignalQuery__symbol, xg_GType__symbol, xg_GSignalCMarshaller_symbol, xg_gpointer_symbol, xg_GSignalAccumulator_symbol, xg_GSignalFlags_symbol, xg_GType_symbol, xg_GClosureNotify_symbol, xg_GCallback_symbol, xg_GNormalizeMode_symbol, xg_glong_symbol, xg_gssize_symbol, xg_gunichar__symbol, xg_void_symbol, xg_GdkSeat__symbol, xg_GtkRecentInfo__symbol, xg_gsize_symbol, xg_guint8__symbol, xg_GdkAtom_symbol, xg_GLogLevelFlags_symbol, xg_GdkPixbuf__symbol, xg_GtkIconView__symbol, xg_GtkEntryCompletion__symbol, xg_GtkFileFilterInfo__symbol, xg_GtkTreeSelection__symbol, xg_GtkCellRenderer__symbol, xg_GtkTreeViewColumn__symbol, xg_GtkTreeView__symbol, xg_gunichar_symbol, xg_GdkAtom__symbol, xg_GtkSelectionData__symbol, xg_GtkClipboard__symbol, xg_GtkTreeIter__symbol, xg_GtkTreePath__symbol, xg_GtkTreeModel__symbol, xg_GdkModifierType_symbol, xg_guint_symbol, xg_gchar__symbol, xg_GtkTextTag__symbol, xg_gboolean_symbol, xg_gint_symbol, xg_GtkMenu__symbol, xg_GdkXEvent__symbol, xg_GtkWidget__symbol, xg_lambda_data_symbol, xg_GClosure__symbol, xg_GtkAccelKey__symbol, xg_GdkEventMotion__symbol, xg_gdouble__symbol, xg_GdkEventAny__symbol, xg_GdkEvent__symbol, xg_GdkWindow__symbol, xg_cairo_t__symbol, xg_cairo_font_options_t__symbol, xg_PangoFontDescription__symbol, xg_idler_symbol, xg_GtkCellRendererPixbuf__symbol, xg_GtkCheckButton__symbol, xg_GtkDrawingArea__symbol, xg_GtkScrollbar__symbol, xg_GtkSeparator__symbol, xg_GtkSeparatorMenuItem__symbol, xg_GdkEventExpose__symbol, xg_GdkEventNoExpose__symbol, xg_GdkEventVisibility__symbol, xg_GdkEventButton__symbol, xg_GdkEventScroll__symbol, xg_GdkEventCrossing__symbol, xg_GdkEventFocus__symbol, xg_GdkEventConfigure__symbol, xg_GdkEventProperty__symbol, xg_GdkEventSelection__symbol, xg_GdkEventProximity__symbol, xg_GdkEventSetting__symbol, xg_GdkEventWindowState__symbol, xg_GdkEventDND__symbol, xg_GtkFileChooserDialog__symbol, xg_GtkFileChooserWidget__symbol, xg_GtkColorButton__symbol, xg_GtkAccelMap_symbol, xg_GtkCellRendererCombo__symbol, xg_GtkCellRendererProgress__symbol, xg_GtkCellRendererAccel__symbol, xg_GtkCellRendererSpin__symbol, xg_GtkRecentChooserDialog__symbol, xg_GtkRecentChooserWidget__symbol, xg_GtkCellRendererSpinner__symbol, xg_gboolean__symbol, xg_GtkFontChooserDialog__symbol, xg_GtkFontChooserWidget__symbol, xg_GtkColorChooserDialog__symbol, xg_GtkColorChooserWidget__symbol, xg_GtkColorWidget__symbol, xg_GtkGestureLongPress__symbol;
+static Xen xg_GdkDrawingContext__symbol, xg_GdkSubpixelLayout_symbol, xg_menu_symbol, xg_gtk_menu_place_on_monitor_symbol, xg_GdkMonitor__symbol, xg_GdkDeviceTool__symbol, xg_GdkAxisFlags_symbol, xg_GdkSeatGrabPrepareFunc_symbol, xg_GdkSeatCapabilities_symbol, xg_GdkGrabStatus_symbol, xg_GtkPopoverConstraint_symbol, xg_GtkShortcutsWindow__symbol, xg_GtkStackSidebar__symbol, xg_GtkSearchEntry__symbol, xg_GtkPopoverMenu__symbol, xg_GtkStyleContext__symbol, xg_GdkGLContext__symbol, xg_GtkGLArea__symbol, xg_GtkPropagationPhase_symbol, xg_GtkEventController__symbol, xg_GtkGestureZoom__symbol, xg_GtkGestureSwipe__symbol, xg_GtkGestureSingle__symbol, xg_GtkGestureRotate__symbol, xg_GtkGestureMultiPress__symbol, xg_GtkGesturePan__symbol, xg_GtkGestureDrag__symbol, xg_GdkEventSequence__symbol, xg_GtkEventSequenceState_symbol, xg_GtkGesture__symbol, xg_GtkPopover__symbol, xg_GtkActionBar__symbol, xg_GtkFlowBox__symbol, xg_GtkFlowBoxChild__symbol, xg_GdkEventType_symbol, xg_GtkSearchBar__symbol, xg_GtkListBox__symbol, xg_GtkListBoxRow__symbol, xg_GtkHeaderBar__symbol, xg_GtkRevealerTransitionType_symbol, xg_GtkRevealer__symbol, xg_GtkStackTransitionType_symbol, xg_GtkStack__symbol, xg_GtkStackSwitcher__symbol, xg_GtkPlacesSidebar__symbol, xg_GtkPlacesOpenFlags_symbol, xg_GtkBaselinePosition_symbol, xg_GdkFullscreenMode_symbol, xg_GtkInputHints_symbol, xg_GtkInputPurpose_symbol, xg_GtkLevelBarMode_symbol, xg_GtkLevelBar__symbol, xg_GtkMenuButton__symbol, xg_GtkColorChooser__symbol, xg_GtkApplicationWindow__symbol, xg_GtkApplication__symbol, xg_GMenuModel__symbol, xg_guint___symbol, xg_GdkModifierIntent_symbol, xg_GtkFontChooser__symbol, xg_GdkScrollDirection_symbol, xg_GtkOverlay__symbol, xg_GtkWidgetPath__symbol, xg_GtkStateFlags_symbol, xg_GdkScreen___symbol, xg_GtkToolShell__symbol, xg_GtkWindowGroup__symbol, xg_GtkInvisible__symbol, xg_GtkOrientable__symbol, xg_GtkCellArea__symbol, xg_GtkBorder__symbol, xg_GtkSwitch__symbol, xg_GtkScrollablePolicy_symbol, xg_GtkScrollable__symbol, xg_GtkGrid__symbol, xg_GdkRGBA__symbol, xg_GtkComboBoxText__symbol, xg_GtkAlign_symbol, xg_GtkContainerClass__symbol, xg_GtkSizeRequestMode_symbol, xg_cairo_region_overlap_t_symbol, xg_cairo_rectangle_int_t__symbol, xg_double__symbol, xg_cairo_rectangle_t__symbol, xg_cairo_device_t__symbol, xg_cairo_bool_t_symbol, xg_cairo_text_cluster_flags_t__symbol, xg_cairo_text_cluster_t___symbol, xg_cairo_glyph_t___symbol, xg_cairo_text_cluster_flags_t_symbol, xg_cairo_text_cluster_t__symbol, xg_cairo_region_t__symbol, xg_GtkMessageDialog__symbol, xg_GdkDevice__symbol, xg_GtkAccessible__symbol, xg_GdkModifierType__symbol, xg_GtkToolPaletteDragTargets_symbol, xg_GtkToolItemGroup__symbol, xg_GtkToolPalette__symbol, xg_GtkSpinner__symbol, xg_GtkEntryBuffer__symbol, xg_GtkMessageType_symbol, xg_GtkInfoBar__symbol, xg_GIcon__symbol, xg_GtkEntryIconPosition_symbol, xg_GFile__symbol, xg_GtkScaleButton__symbol, xg_GtkCalendarDetailFunc_symbol, xg_GtkTooltip__symbol, xg_cairo_rectangle_list_t__symbol, xg_void__symbol, xg_cairo_filter_t_symbol, xg_cairo_extend_t_symbol, xg_cairo_format_t_symbol, xg_cairo_path_t__symbol, xg_cairo_destroy_func_t_symbol, xg_cairo_user_data_key_t__symbol, xg_cairo_text_extents_t__symbol, xg_cairo_font_extents_t__symbol, xg_cairo_font_face_t__symbol, xg_cairo_glyph_t__symbol, xg_cairo_scaled_font_t__symbol, xg_cairo_font_weight_t_symbol, xg_cairo_font_slant_t_symbol, xg_cairo_hint_metrics_t_symbol, xg_cairo_hint_style_t_symbol, xg_cairo_subpixel_order_t_symbol, xg_cairo_status_t_symbol, xg_bool_symbol, xg_cairo_matrix_t__symbol, xg_cairo_line_join_t_symbol, xg_cairo_line_cap_t_symbol, xg_cairo_fill_rule_t_symbol, xg_cairo_antialias_t_symbol, xg_cairo_operator_t_symbol, xg_cairo_pattern_t__symbol, xg_cairo_content_t_symbol, xg_GtkPageSet_symbol, xg_GtkPageRange__symbol, xg_GtkPrintPages_symbol, xg_GtkPrintQuality_symbol, xg_GtkPrintDuplex_symbol, xg_GtkPaperSize__symbol, xg_GtkPageOrientation_symbol, xg_GtkPrintSettingsFunc_symbol, xg_GtkPrintOperationPreview__symbol, xg_GtkPageSetupDoneFunc_symbol, xg_GtkPrintStatus_symbol, xg_GtkPrintOperationAction_symbol, xg_GtkPrintOperationResult_symbol, xg_GtkUnit_symbol, xg_GtkPrintSettings__symbol, xg_GtkPrintOperation__symbol, xg_GtkPageSetup__symbol, xg_GtkPrintContext__symbol, xg_cairo_surface_t__symbol, xg_GtkTreeViewGridLines_symbol, xg_GtkRecentData__symbol, xg_GtkTextBufferDeserializeFunc_symbol, xg_GtkTextBufferSerializeFunc_symbol, xg_time_t_symbol, xg_GtkRecentChooserMenu__symbol, xg_GtkRecentManager__symbol, xg_GtkRecentFilter__symbol, xg_GtkRecentSortFunc_symbol, xg_GtkRecentSortType_symbol, xg_GtkRecentChooser__symbol, xg_GtkLinkButton__symbol, xg_GtkAssistantPageType_symbol, xg_GtkAssistantPageFunc_symbol, xg_GtkAssistant__symbol, xg_GDestroyNotify_symbol, xg_GtkTreeViewSearchPositionFunc_symbol, xg_GtkSensitivityType_symbol, xg_GtkClipboardRichTextReceivedFunc_symbol, xg_GtkMenuBar__symbol, xg_GtkPackDirection_symbol, xg_GtkIconViewDropPosition_symbol, xg_GValue__symbol, xg_GLogFunc_symbol, xg_PangoMatrix__symbol, xg_PangoRenderPart_symbol, xg_PangoRenderer__symbol, xg_GtkClipboardImageReceivedFunc_symbol, xg_GtkMenuToolButton__symbol, xg_GtkFileChooserButton__symbol, xg_PangoScriptIter__symbol, xg_PangoScript_symbol, xg_PangoAttrFilterFunc_symbol, xg_PangoEllipsizeMode_symbol, xg_GtkIconViewForeachFunc_symbol, xg_GtkAboutDialog__symbol, xg_GtkTreeViewRowSeparatorFunc_symbol, xg_GtkCellView__symbol, xg_GtkAccelMap__symbol, xg_GtkClipboardTargetsReceivedFunc_symbol, xg_GtkOrientation_symbol, xg_GtkToolButton__symbol, xg_GtkIconLookupFlags_symbol, xg_GtkIconInfo__symbol, xg_GtkIconTheme__symbol, xg_GtkFileChooser__symbol, xg_GtkCellLayoutDataFunc_symbol, xg_GtkCellLayout__symbol, xg_GtkFileFilterFunc_symbol, xg_GtkFileFilterFlags_symbol, xg_GtkFileFilter__symbol, xg_GSourceFunc_symbol, xg_GtkToggleToolButton__symbol, xg_GtkSeparatorToolItem__symbol, xg_GtkRadioToolButton__symbol, xg_GtkEntryCompletionMatchFunc_symbol, xg_GtkFontButton__symbol, xg_GtkExpander__symbol, xg_GtkComboBox__symbol, xg_GtkTreeModelFilter__symbol, xg_GtkFileChooserAction_symbol, xg_GtkToolItem__symbol, xg_GtkEventBox__symbol, xg_GtkCalendarDisplayOptions_symbol, xg_GdkScreen__symbol, xg_PangoLayoutRun__symbol, xg_PangoLayoutIter__symbol, xg_PangoLayoutLine__symbol, xg_int__symbol, xg_PangoAlignment_symbol, xg_PangoWrapMode_symbol, xg_PangoItem__symbol, xg_PangoGlyphString__symbol, xg_PangoFontMap__symbol, xg_PangoGlyph_symbol, xg_PangoFontFace__symbol, xg_PangoFontFace___symbol, xg_PangoFontFamily__symbol, xg_PangoFontMask_symbol, xg_PangoFontDescription___symbol, xg_PangoCoverageLevel_symbol, xg_PangoCoverage__symbol, xg_PangoFontMetrics__symbol, xg_PangoFontset__symbol, xg_PangoFont__symbol, xg_PangoFontFamily___symbol, xg_PangoLogAttr__symbol, xg_PangoAnalysis__symbol, xg_PangoAttrList___symbol, xg_PangoAttrIterator__symbol, xg_PangoRectangle__symbol, xg_PangoUnderline_symbol, xg_PangoStretch_symbol, xg_PangoVariant_symbol, xg_PangoWeight_symbol, xg_PangoStyle_symbol, xg_guint16_symbol, xg_PangoAttribute__symbol, xg_PangoAttrType_symbol, xg_PangoColor__symbol, xg_GdkGravity_symbol, xg_GtkWindowPosition_symbol, xg_GtkWindowType_symbol, xg_GtkWindow__symbol, xg_GtkTextDirection_symbol, xg_AtkObject__symbol, xg_GtkDirectionType_symbol, xg_GtkAllocation__symbol, xg_GtkViewport__symbol, xg_GtkTreeViewSearchEqualFunc_symbol, xg_GtkTreeViewDropPosition_symbol, xg_GtkTreeViewMappingFunc_symbol, xg_GtkTreeViewColumnDropFunc_symbol, xg_GtkTreeViewColumnSizing_symbol, xg_GtkTreeCellDataFunc_symbol, xg_GtkTreeStore__symbol, xg_GtkTreeIterCompareFunc_symbol, xg_GtkSortType_symbol, xg_GtkTreeSortable__symbol, xg_GtkTreeSelectionForeachFunc_symbol, xg_GtkTreeModel___symbol, xg_GtkTreeSelectionFunc_symbol, xg_GtkSelectionMode_symbol, xg_GtkTreeModelSort__symbol, xg_GtkTreeModelForeachFunc_symbol, xg_GtkTreeModelFlags_symbol, xg_GtkTreeRowReference__symbol, xg_GtkTreeDragDest__symbol, xg_GtkTreeDragSource__symbol, xg_GtkToolbarStyle_symbol, xg_GtkToolbar__symbol, xg_GtkToggleButton__symbol, xg_PangoTabArray__symbol, xg_GtkWrapMode_symbol, xg_GtkTextWindowType_symbol, xg_GtkTextView__symbol, xg_GtkTextTagTableForeach_symbol, xg_GtkTextSearchFlags_symbol, xg_GtkTextCharPredicate_symbol, xg_GtkTextAttributes__symbol, xg_GtkTextMark__symbol, xg_GtkTextChildAnchor__symbol, xg_GtkTextIter__symbol, xg_GtkTextTagTable__symbol, xg_GtkTextBuffer__symbol, xg_GtkStatusbar__symbol, xg_GtkSpinType_symbol, xg_GtkSpinButtonUpdatePolicy_symbol, xg_GtkSpinButton__symbol, xg_GtkSizeGroupMode_symbol, xg_GtkSizeGroup__symbol, xg_GtkSettings__symbol, xg_GtkCornerType_symbol, xg_GtkPolicyType_symbol, xg_GtkScrolledWindow__symbol, xg_GtkScale__symbol, xg_GtkRange__symbol, xg_GtkRadioMenuItem__symbol, xg_GtkRadioButton__symbol, xg_GtkProgressBar__symbol, xg_GtkPaned__symbol, xg_GtkPositionType_symbol, xg_GtkNotebook__symbol, xg_GtkMenuShell__symbol, xg_GtkMenuItem__symbol, xg_GtkMenuPositionFunc_symbol, xg_PangoLanguage__symbol, xg_GtkListStore__symbol, xg_GtkLayout__symbol, xg_GtkJustification_symbol, xg_GtkLabel__symbol, xg_guint16__symbol, xg_GtkIMContextSimple__symbol, xg_GdkEventKey__symbol, xg_PangoAttrList__symbol, xg_GtkIMContext__symbol, xg_GtkImageType_symbol, xg_GtkImage__symbol, xg_GtkShadowType_symbol, xg_GtkFrame__symbol, xg_GtkFixed__symbol, xg_PangoLayout__symbol, xg_GtkEntry__symbol, xg_GtkEditable__symbol, xg_GtkTargetList__symbol, xg_GtkDestDefaults_symbol, xg_etc_symbol, xg_GtkDialog__symbol, xg_GtkCallback_symbol, xg_GtkContainer__symbol, xg_GtkClipboardTextReceivedFunc_symbol, xg_GtkClipboardReceivedFunc_symbol, xg_GtkClipboardClearFunc_symbol, xg_GtkClipboardGetFunc_symbol, xg_GtkTargetEntry__symbol, xg_GtkCheckMenuItem__symbol, xg_GtkCellRendererToggle__symbol, xg_GtkCellRendererText__symbol, xg_GtkCellRendererState_symbol, xg_GtkCellEditable__symbol, xg_GtkCalendar__symbol, xg_GtkReliefStyle_symbol, xg_GtkButton__symbol, xg_GtkPackType_symbol, xg_GtkBox__symbol, xg_GtkBin__symbol, xg_GtkBindingSet__symbol, xg_GtkButtonBox__symbol, xg_GtkButtonBoxStyle_symbol, xg_GtkAspectFrame__symbol, xg_GtkAdjustment__symbol, xg_GtkAccelMapForeach_symbol, xg_GtkAccelLabel__symbol, xg_GtkAccelGroupEntry__symbol, xg_lambda3_symbol, xg_GSList__symbol, xg_GObject__symbol, xg_GtkAccelFlags_symbol, xg_GtkAccelGroup__symbol, xg_GTimeVal__symbol, xg_GdkPixbufAnimationIter__symbol, xg_GdkPixbufAnimation__symbol, xg_GdkInterpType_symbol, xg_double_symbol, xg_gfloat_symbol, xg_guchar_symbol, xg_char___symbol, xg_GdkPixbufDestroyNotify_symbol, xg_GError__symbol, xg_int_symbol, xg_GdkColorspace_symbol, xg_GdkWindowTypeHint_symbol, xg_GdkWindowHints_symbol, xg_GdkGeometry__symbol, xg_GdkWindowEdge_symbol, xg_GdkWMFunction_symbol, xg_GdkWMDecoration_symbol, xg_GdkEventMask_symbol, xg_GdkWindowState_symbol, xg_GdkFilterFunc_symbol, xg_GdkWindowType_symbol, xg_GdkWindowAttr__symbol, xg_GdkVisualType__symbol, xg_gint__symbol, xg_GdkVisualType_symbol, xg_GdkPropMode_symbol, xg_guchar__symbol, xg_PangoContext__symbol, xg_PangoDirection_symbol, xg_GdkKeymapKey__symbol, xg_GdkKeymap__symbol, xg_GdkRectangle__symbol, xg_char__symbol, xg_gchar___symbol, xg_GdkEventFunc_symbol, xg_gdouble_symbol, xg_GList__symbol, xg_guint32_symbol, xg_GdkDragAction_symbol, xg_GdkDragContext__symbol, xg_GdkCursorType_symbol, xg_GdkDisplay__symbol, xg_GdkCursor__symbol, xg_GdkVisual__symbol, xg_GSignalMatchType_symbol, xg_GConnectFlags_symbol, xg_GtkDestroyNotify_symbol, xg_GSignalEmissionHook_symbol, xg_gulong_symbol, xg_GSignalInvocationHint__symbol, xg_GQuark_symbol, xg_guint__symbol, xg_GSignalQuery__symbol, xg_GType__symbol, xg_GSignalCMarshaller_symbol, xg_gpointer_symbol, xg_GSignalAccumulator_symbol, xg_GSignalFlags_symbol, xg_GType_symbol, xg_GClosureNotify_symbol, xg_GCallback_symbol, xg_GNormalizeMode_symbol, xg_glong_symbol, xg_gssize_symbol, xg_gunichar__symbol, xg_void_symbol, xg_GdkSeat__symbol, xg_GtkRecentInfo__symbol, xg_gsize_symbol, xg_guint8__symbol, xg_GdkAtom_symbol, xg_GLogLevelFlags_symbol, xg_GdkPixbuf__symbol, xg_GtkIconView__symbol, xg_GtkEntryCompletion__symbol, xg_GtkFileFilterInfo__symbol, xg_GtkTreeSelection__symbol, xg_GtkCellRenderer__symbol, xg_GtkTreeViewColumn__symbol, xg_GtkTreeView__symbol, xg_gunichar_symbol, xg_GdkAtom__symbol, xg_GtkSelectionData__symbol, xg_GtkClipboard__symbol, xg_GtkTreeIter__symbol, xg_GtkTreePath__symbol, xg_GtkTreeModel__symbol, xg_GdkModifierType_symbol, xg_guint_symbol, xg_gchar__symbol, xg_GtkTextTag__symbol, xg_gboolean_symbol, xg_gint_symbol, xg_GtkMenu__symbol, xg_GdkXEvent__symbol, xg_GtkWidget__symbol, xg_lambda_data_symbol, xg_GClosure__symbol, xg_GtkAccelKey__symbol, xg_GdkEventMotion__symbol, xg_gdouble__symbol, xg_GdkEventAny__symbol, xg_GdkEvent__symbol, xg_GdkWindow__symbol, xg_cairo_t__symbol, xg_cairo_font_options_t__symbol, xg_PangoFontDescription__symbol, xg_idler_symbol, xg_GtkCellRendererPixbuf__symbol, xg_GtkCheckButton__symbol, xg_GtkDrawingArea__symbol, xg_GtkScrollbar__symbol, xg_GtkSeparator__symbol, xg_GtkSeparatorMenuItem__symbol, xg_GdkEventExpose__symbol, xg_GdkEventNoExpose__symbol, xg_GdkEventVisibility__symbol, xg_GdkEventButton__symbol, xg_GdkEventScroll__symbol, xg_GdkEventCrossing__symbol, xg_GdkEventFocus__symbol, xg_GdkEventConfigure__symbol, xg_GdkEventProperty__symbol, xg_GdkEventSelection__symbol, xg_GdkEventProximity__symbol, xg_GdkEventSetting__symbol, xg_GdkEventWindowState__symbol, xg_GdkEventDND__symbol, xg_GtkFileChooserDialog__symbol, xg_GtkFileChooserWidget__symbol, xg_GtkColorButton__symbol, xg_GtkAccelMap_symbol, xg_GtkCellRendererCombo__symbol, xg_GtkCellRendererProgress__symbol, xg_GtkCellRendererAccel__symbol, xg_GtkCellRendererSpin__symbol, xg_GtkRecentChooserDialog__symbol, xg_GtkRecentChooserWidget__symbol, xg_GtkCellRendererSpinner__symbol, xg_gboolean__symbol, xg_GtkFontChooserDialog__symbol, xg_GtkFontChooserWidget__symbol, xg_GtkColorChooserDialog__symbol, xg_GtkColorChooserWidget__symbol, xg_GtkColorWidget__symbol, xg_GtkGestureLongPress__symbol;
 
 #define wrap_for_Xen(Name, Value) Xen_list_2(xg_ ## Name ## _symbol, Xen_wrap_C_pointer(Value))
 #define is_wrapped(Name, Value) (Xen_is_pair(Value) && (Xen_car(Value) == xg_ ## Name ## _symbol))
@@ -966,6 +966,7 @@ Xm_type(menu, menu)
 #define C_to_Xen_GdkSubpixelLayout(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GdkSubpixelLayout(Arg) (GdkSubpixelLayout)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GdkSubpixelLayout(Arg) Xen_is_integer(Arg)
+Xm_type_Ptr(GdkDrawingContext_, GdkDrawingContext*)
 #endif
 
 Xm_type_Ptr(cairo_surface_t_, cairo_surface_t*)
@@ -3343,23 +3344,6 @@ GdkWindowHints geom_mask)"
   return(Xen_false);
 }
 
-static Xen gxg_gdk_window_begin_paint_rect(Xen window, Xen rectangle)
-{
-  #define H_gdk_window_begin_paint_rect "void gdk_window_begin_paint_rect(GdkWindow* window, GdkRectangle* rectangle)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_window_begin_paint_rect", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkRectangle_(rectangle), rectangle, 2, "gdk_window_begin_paint_rect", "GdkRectangle*");
-  gdk_window_begin_paint_rect(Xen_to_C_GdkWindow_(window), Xen_to_C_GdkRectangle_(rectangle));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_window_end_paint(Xen window)
-{
-  #define H_gdk_window_end_paint "void gdk_window_end_paint(GdkWindow* window)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_window_end_paint", "GdkWindow*");
-  gdk_window_end_paint(Xen_to_C_GdkWindow_(window));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_window_set_title(Xen window, Xen title)
 {
   #define H_gdk_window_set_title "void gdk_window_set_title(GdkWindow* window, gchar* title)"
@@ -12280,14 +12264,6 @@ static Xen gxg_gtk_widget_event(Xen widget, Xen event)
   return(C_to_Xen_gboolean(gtk_widget_event(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkEvent_(event))));
 }
 
-static Xen gxg_gtk_widget_send_expose(Xen widget, Xen event)
-{
-  #define H_gtk_widget_send_expose "gint gtk_widget_send_expose(GtkWidget* widget, GdkEvent* event)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_send_expose", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 2, "gtk_widget_send_expose", "GdkEvent*");
-  return(C_to_Xen_gint(gtk_widget_send_expose(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkEvent_(event))));
-}
-
 static Xen gxg_gtk_widget_activate(Xen widget)
 {
   #define H_gtk_widget_activate "gboolean gtk_widget_activate(GtkWidget* widget)"
@@ -19613,23 +19589,6 @@ gboolean take_focus)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_size_group_set_ignore_hidden(Xen size_group, Xen ignore_hidden)
-{
-  #define H_gtk_size_group_set_ignore_hidden "void gtk_size_group_set_ignore_hidden(GtkSizeGroup* size_group, \
-gboolean ignore_hidden)"
-  Xen_check_type(Xen_is_GtkSizeGroup_(size_group), size_group, 1, "gtk_size_group_set_ignore_hidden", "GtkSizeGroup*");
-  Xen_check_type(Xen_is_gboolean(ignore_hidden), ignore_hidden, 2, "gtk_size_group_set_ignore_hidden", "gboolean");
-  gtk_size_group_set_ignore_hidden(Xen_to_C_GtkSizeGroup_(size_group), Xen_to_C_gboolean(ignore_hidden));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_size_group_get_ignore_hidden(Xen size_group)
-{
-  #define H_gtk_size_group_get_ignore_hidden "gboolean gtk_size_group_get_ignore_hidden(GtkSizeGroup* size_group)"
-  Xen_check_type(Xen_is_GtkSizeGroup_(size_group), size_group, 1, "gtk_size_group_get_ignore_hidden", "GtkSizeGroup*");
-  return(C_to_Xen_gboolean(gtk_size_group_get_ignore_hidden(Xen_to_C_GtkSizeGroup_(size_group))));
-}
-
 static Xen gxg_gtk_text_iter_forward_visible_line(Xen iter)
 {
   #define H_gtk_text_iter_forward_visible_line "gboolean gtk_text_iter_forward_visible_line(GtkTextIter* iter)"
@@ -32450,6 +32409,118 @@ static Xen gxg_gdk_monitor_is_primary(Xen monitor)
   return(C_to_Xen_gboolean(gdk_monitor_is_primary(Xen_to_C_GdkMonitor_(monitor))));
 }
 
+static Xen gxg_gdk_drawing_context_get_window(Xen context)
+{
+  #define H_gdk_drawing_context_get_window "GdkWindow* gdk_drawing_context_get_window(GdkDrawingContext* context)"
+  Xen_check_type(Xen_is_GdkDrawingContext_(context), context, 1, "gdk_drawing_context_get_window", "GdkDrawingContext*");
+  return(C_to_Xen_GdkWindow_(gdk_drawing_context_get_window(Xen_to_C_GdkDrawingContext_(context))));
+}
+
+static Xen gxg_gdk_drawing_context_get_clip(Xen context)
+{
+  #define H_gdk_drawing_context_get_clip "cairo_region_t* gdk_drawing_context_get_clip(GdkDrawingContext* context)"
+  Xen_check_type(Xen_is_GdkDrawingContext_(context), context, 1, "gdk_drawing_context_get_clip", "GdkDrawingContext*");
+  return(C_to_Xen_cairo_region_t_(gdk_drawing_context_get_clip(Xen_to_C_GdkDrawingContext_(context))));
+}
+
+static Xen gxg_gdk_drawing_context_is_valid(Xen context)
+{
+  #define H_gdk_drawing_context_is_valid "gboolean gdk_drawing_context_is_valid(GdkDrawingContext* context)"
+  Xen_check_type(Xen_is_GdkDrawingContext_(context), context, 1, "gdk_drawing_context_is_valid", "GdkDrawingContext*");
+  return(C_to_Xen_gboolean(gdk_drawing_context_is_valid(Xen_to_C_GdkDrawingContext_(context))));
+}
+
+static Xen gxg_gdk_drawing_context_get_cairo_context(Xen context)
+{
+  #define H_gdk_drawing_context_get_cairo_context "cairo_t* gdk_drawing_context_get_cairo_context(GdkDrawingContext* context)"
+  Xen_check_type(Xen_is_GdkDrawingContext_(context), context, 1, "gdk_drawing_context_get_cairo_context", "GdkDrawingContext*");
+  return(C_to_Xen_cairo_t_(gdk_drawing_context_get_cairo_context(Xen_to_C_GdkDrawingContext_(context))));
+}
+
+static Xen gxg_gdk_cairo_get_drawing_context(Xen cr)
+{
+  #define H_gdk_cairo_get_drawing_context "GdkDrawingContext* gdk_cairo_get_drawing_context(cairo_t* cr)"
+  Xen_check_type(Xen_is_cairo_t_(cr), cr, 1, "gdk_cairo_get_drawing_context", "cairo_t*");
+  return(C_to_Xen_GdkDrawingContext_(gdk_cairo_get_drawing_context(Xen_to_C_cairo_t_(cr))));
+}
+
+static Xen gxg_gtk_scrolled_window_set_max_content_width(Xen scrolled_window, Xen width)
+{
+  #define H_gtk_scrolled_window_set_max_content_width "void gtk_scrolled_window_set_max_content_width(GtkScrolledWindow* scrolled_window, \
+gint width)"
+  Xen_check_type(Xen_is_GtkScrolledWindow_(scrolled_window), scrolled_window, 1, "gtk_scrolled_window_set_max_content_width", "GtkScrolledWindow*");
+  Xen_check_type(Xen_is_gint(width), width, 2, "gtk_scrolled_window_set_max_content_width", "gint");
+  gtk_scrolled_window_set_max_content_width(Xen_to_C_GtkScrolledWindow_(scrolled_window), Xen_to_C_gint(width));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_scrolled_window_get_max_content_width(Xen scrolled_window)
+{
+  #define H_gtk_scrolled_window_get_max_content_width "gint gtk_scrolled_window_get_max_content_width(GtkScrolledWindow* scrolled_window)"
+  Xen_check_type(Xen_is_GtkScrolledWindow_(scrolled_window), scrolled_window, 1, "gtk_scrolled_window_get_max_content_width", "GtkScrolledWindow*");
+  return(C_to_Xen_gint(gtk_scrolled_window_get_max_content_width(Xen_to_C_GtkScrolledWindow_(scrolled_window))));
+}
+
+static Xen gxg_gtk_scrolled_window_set_max_content_height(Xen scrolled_window, Xen height)
+{
+  #define H_gtk_scrolled_window_set_max_content_height "void gtk_scrolled_window_set_max_content_height(GtkScrolledWindow* scrolled_window, \
+gint height)"
+  Xen_check_type(Xen_is_GtkScrolledWindow_(scrolled_window), scrolled_window, 1, "gtk_scrolled_window_set_max_content_height", "GtkScrolledWindow*");
+  Xen_check_type(Xen_is_gint(height), height, 2, "gtk_scrolled_window_set_max_content_height", "gint");
+  gtk_scrolled_window_set_max_content_height(Xen_to_C_GtkScrolledWindow_(scrolled_window), Xen_to_C_gint(height));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_scrolled_window_get_max_content_height(Xen scrolled_window)
+{
+  #define H_gtk_scrolled_window_get_max_content_height "gint gtk_scrolled_window_get_max_content_height(GtkScrolledWindow* scrolled_window)"
+  Xen_check_type(Xen_is_GtkScrolledWindow_(scrolled_window), scrolled_window, 1, "gtk_scrolled_window_get_max_content_height", "GtkScrolledWindow*");
+  return(C_to_Xen_gint(gtk_scrolled_window_get_max_content_height(Xen_to_C_GtkScrolledWindow_(scrolled_window))));
+}
+
+static Xen gxg_gtk_file_chooser_add_choice(Xen chooser, Xen id, Xen label, Xen options, Xen option_labels)
+{
+  #define H_gtk_file_chooser_add_choice "void gtk_file_chooser_add_choice(GtkFileChooser* chooser, char* id, \
+char* label, char** options, char** option_labels)"
+  Xen_check_type(Xen_is_GtkFileChooser_(chooser), chooser, 1, "gtk_file_chooser_add_choice", "GtkFileChooser*");
+  Xen_check_type(Xen_is_char_(id), id, 2, "gtk_file_chooser_add_choice", "char*");
+  Xen_check_type(Xen_is_char_(label), label, 3, "gtk_file_chooser_add_choice", "char*");
+  Xen_check_type(Xen_is_char__(options), options, 4, "gtk_file_chooser_add_choice", "char**");
+  Xen_check_type(Xen_is_char__(option_labels), option_labels, 5, "gtk_file_chooser_add_choice", "char**");
+  gtk_file_chooser_add_choice(Xen_to_C_GtkFileChooser_(chooser), Xen_to_C_char_(id), Xen_to_C_char_(label), Xen_to_C_char__(options), 
+                              Xen_to_C_char__(option_labels));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_file_chooser_remove_choice(Xen chooser, Xen id)
+{
+  #define H_gtk_file_chooser_remove_choice "void gtk_file_chooser_remove_choice(GtkFileChooser* chooser, \
+char* id)"
+  Xen_check_type(Xen_is_GtkFileChooser_(chooser), chooser, 1, "gtk_file_chooser_remove_choice", "GtkFileChooser*");
+  Xen_check_type(Xen_is_char_(id), id, 2, "gtk_file_chooser_remove_choice", "char*");
+  gtk_file_chooser_remove_choice(Xen_to_C_GtkFileChooser_(chooser), Xen_to_C_char_(id));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_file_chooser_set_choice(Xen chooser, Xen id, Xen option)
+{
+  #define H_gtk_file_chooser_set_choice "void gtk_file_chooser_set_choice(GtkFileChooser* chooser, char* id, \
+char* option)"
+  Xen_check_type(Xen_is_GtkFileChooser_(chooser), chooser, 1, "gtk_file_chooser_set_choice", "GtkFileChooser*");
+  Xen_check_type(Xen_is_char_(id), id, 2, "gtk_file_chooser_set_choice", "char*");
+  Xen_check_type(Xen_is_char_(option), option, 3, "gtk_file_chooser_set_choice", "char*");
+  gtk_file_chooser_set_choice(Xen_to_C_GtkFileChooser_(chooser), Xen_to_C_char_(id), Xen_to_C_char_(option));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_file_chooser_get_choice(Xen chooser, Xen id)
+{
+  #define H_gtk_file_chooser_get_choice "char* gtk_file_chooser_get_choice(GtkFileChooser* chooser, char* id)"
+  Xen_check_type(Xen_is_GtkFileChooser_(chooser), chooser, 1, "gtk_file_chooser_get_choice", "GtkFileChooser*");
+  Xen_check_type(Xen_is_char_(id), id, 2, "gtk_file_chooser_get_choice", "char*");
+  return(C_to_Xen_char_(gtk_file_chooser_get_choice(Xen_to_C_GtkFileChooser_(chooser), (const char*)Xen_to_C_char_(id))));
+}
+
 #endif
 
 static Xen gxg_cairo_create(Xen target)
@@ -35109,6 +35180,7 @@ static Xen gxg_GDK_SEAT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list
 #if GTK_CHECK_VERSION(3, 22, 0)
 static Xen gxg_GDK_DEVICE_TOOL(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkDeviceTool__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GDK_MONITOR(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkMonitor__symbol, Xen_cadr(obj)) : Xen_false);}
+static Xen gxg_GDK_DRAWING_CONTEXT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkDrawingContext__symbol, Xen_cadr(obj)) : Xen_false);}
 #endif
 
 static Xen gxg_GDK_IS_DRAG_CONTEXT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_DRAG_CONTEXT((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
@@ -35326,6 +35398,7 @@ static Xen gxg_GDK_IS_SEAT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped
 #if GTK_CHECK_VERSION(3, 22, 0)
 static Xen gxg_GDK_IS_DEVICE_TOOL(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_DEVICE_TOOL((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GDK_IS_MONITOR(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_MONITOR((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
+static Xen gxg_GDK_IS_DRAWING_CONTEXT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_DRAWING_CONTEXT((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 #endif
 
 
@@ -35976,8 +36049,6 @@ Xen_wrap_6_optional_args(gxg_gdk_window_constrain_size_w, gxg_gdk_window_constra
 Xen_wrap_2_args(gxg_gdk_window_set_type_hint_w, gxg_gdk_window_set_type_hint)
 Xen_wrap_2_args(gxg_gdk_window_set_modal_hint_w, gxg_gdk_window_set_modal_hint)
 Xen_wrap_3_args(gxg_gdk_window_set_geometry_hints_w, gxg_gdk_window_set_geometry_hints)
-Xen_wrap_2_args(gxg_gdk_window_begin_paint_rect_w, gxg_gdk_window_begin_paint_rect)
-Xen_wrap_1_arg(gxg_gdk_window_end_paint_w, gxg_gdk_window_end_paint)
 Xen_wrap_2_args(gxg_gdk_window_set_title_w, gxg_gdk_window_set_title)
 Xen_wrap_2_args(gxg_gdk_window_set_role_w, gxg_gdk_window_set_role)
 Xen_wrap_2_args(gxg_gdk_window_set_transient_for_w, gxg_gdk_window_set_transient_for)
@@ -36900,7 +36971,6 @@ Xen_wrap_4_args(gxg_gtk_widget_remove_accelerator_w, gxg_gtk_widget_remove_accel
 Xen_wrap_1_arg(gxg_gtk_widget_list_accel_closures_w, gxg_gtk_widget_list_accel_closures)
 Xen_wrap_2_args(gxg_gtk_widget_mnemonic_activate_w, gxg_gtk_widget_mnemonic_activate)
 Xen_wrap_2_args(gxg_gtk_widget_event_w, gxg_gtk_widget_event)
-Xen_wrap_2_args(gxg_gtk_widget_send_expose_w, gxg_gtk_widget_send_expose)
 Xen_wrap_1_arg(gxg_gtk_widget_activate_w, gxg_gtk_widget_activate)
 Xen_wrap_3_args(gxg_gtk_widget_intersect_w, gxg_gtk_widget_intersect)
 Xen_wrap_1_arg(gxg_gtk_widget_freeze_child_notify_w, gxg_gtk_widget_freeze_child_notify)
@@ -37717,8 +37787,6 @@ Xen_wrap_1_arg(gxg_gtk_menu_bar_get_child_pack_direction_w, gxg_gtk_menu_bar_get
 Xen_wrap_2_args(gxg_gtk_menu_bar_set_child_pack_direction_w, gxg_gtk_menu_bar_set_child_pack_direction)
 Xen_wrap_1_arg(gxg_gtk_menu_shell_get_take_focus_w, gxg_gtk_menu_shell_get_take_focus)
 Xen_wrap_2_args(gxg_gtk_menu_shell_set_take_focus_w, gxg_gtk_menu_shell_set_take_focus)
-Xen_wrap_2_args(gxg_gtk_size_group_set_ignore_hidden_w, gxg_gtk_size_group_set_ignore_hidden)
-Xen_wrap_1_arg(gxg_gtk_size_group_get_ignore_hidden_w, gxg_gtk_size_group_get_ignore_hidden)
 Xen_wrap_1_arg(gxg_gtk_text_iter_forward_visible_line_w, gxg_gtk_text_iter_forward_visible_line)
 Xen_wrap_1_arg(gxg_gtk_text_iter_backward_visible_line_w, gxg_gtk_text_iter_backward_visible_line)
 Xen_wrap_2_args(gxg_gtk_text_iter_forward_visible_lines_w, gxg_gtk_text_iter_forward_visible_lines)
@@ -39193,6 +39261,19 @@ Xen_wrap_1_arg(gxg_gdk_monitor_get_scale_factor_w, gxg_gdk_monitor_get_scale_fac
 Xen_wrap_1_arg(gxg_gdk_monitor_get_refresh_rate_w, gxg_gdk_monitor_get_refresh_rate)
 Xen_wrap_1_arg(gxg_gdk_monitor_get_subpixel_layout_w, gxg_gdk_monitor_get_subpixel_layout)
 Xen_wrap_1_arg(gxg_gdk_monitor_is_primary_w, gxg_gdk_monitor_is_primary)
+Xen_wrap_1_arg(gxg_gdk_drawing_context_get_window_w, gxg_gdk_drawing_context_get_window)
+Xen_wrap_1_arg(gxg_gdk_drawing_context_get_clip_w, gxg_gdk_drawing_context_get_clip)
+Xen_wrap_1_arg(gxg_gdk_drawing_context_is_valid_w, gxg_gdk_drawing_context_is_valid)
+Xen_wrap_1_arg(gxg_gdk_drawing_context_get_cairo_context_w, gxg_gdk_drawing_context_get_cairo_context)
+Xen_wrap_1_arg(gxg_gdk_cairo_get_drawing_context_w, gxg_gdk_cairo_get_drawing_context)
+Xen_wrap_2_args(gxg_gtk_scrolled_window_set_max_content_width_w, gxg_gtk_scrolled_window_set_max_content_width)
+Xen_wrap_1_arg(gxg_gtk_scrolled_window_get_max_content_width_w, gxg_gtk_scrolled_window_get_max_content_width)
+Xen_wrap_2_args(gxg_gtk_scrolled_window_set_max_content_height_w, gxg_gtk_scrolled_window_set_max_content_height)
+Xen_wrap_1_arg(gxg_gtk_scrolled_window_get_max_content_height_w, gxg_gtk_scrolled_window_get_max_content_height)
+Xen_wrap_5_args(gxg_gtk_file_chooser_add_choice_w, gxg_gtk_file_chooser_add_choice)
+Xen_wrap_2_args(gxg_gtk_file_chooser_remove_choice_w, gxg_gtk_file_chooser_remove_choice)
+Xen_wrap_3_args(gxg_gtk_file_chooser_set_choice_w, gxg_gtk_file_chooser_set_choice)
+Xen_wrap_2_args(gxg_gtk_file_chooser_get_choice_w, gxg_gtk_file_chooser_get_choice)
 #endif
 
 Xen_wrap_1_arg(gxg_cairo_create_w, gxg_cairo_create)
@@ -39704,6 +39785,7 @@ Xen_wrap_1_arg(gxg_GDK_SEAT_w, gxg_GDK_SEAT)
 #if GTK_CHECK_VERSION(3, 22, 0)
 Xen_wrap_1_arg(gxg_GDK_DEVICE_TOOL_w, gxg_GDK_DEVICE_TOOL)
 Xen_wrap_1_arg(gxg_GDK_MONITOR_w, gxg_GDK_MONITOR)
+Xen_wrap_1_arg(gxg_GDK_DRAWING_CONTEXT_w, gxg_GDK_DRAWING_CONTEXT)
 #endif
 
 Xen_wrap_1_arg(gxg_GDK_IS_DRAG_CONTEXT_w, gxg_GDK_IS_DRAG_CONTEXT)
@@ -39921,11 +40003,12 @@ Xen_wrap_1_arg(gxg_GDK_IS_SEAT_w, gxg_GDK_IS_SEAT)
 #if GTK_CHECK_VERSION(3, 22, 0)
 Xen_wrap_1_arg(gxg_GDK_IS_DEVICE_TOOL_w, gxg_GDK_IS_DEVICE_TOOL)
 Xen_wrap_1_arg(gxg_GDK_IS_MONITOR_w, gxg_GDK_IS_MONITOR)
+Xen_wrap_1_arg(gxg_GDK_IS_DRAWING_CONTEXT_w, gxg_GDK_IS_DRAWING_CONTEXT)
 #endif
 
 #if HAVE_SCHEME
 static s7_pointer s_boolean, s_integer, s_real, s_string, s_any, s_pair, s_float, s_gtk_enum_t, s_pair_false;
-static s7_pointer pl_iur, pl_iuisi, pl_pig, pl_iuuui, pl_iuuuui, pl_iuis, pl_iug, pl_ius, pl_iusi, pl_iu, pl_iuui, pl_pi, pl_iui, pl_iuisut, pl_piu, pl_pit, pl_t, pl_tts, pl_tti, pl_g, pl_dust, pl_dut, pl_du, pl_dusr, pl_dus, pl_pr, pl_s, pl_tg, pl_tsb, pl_st, pl_tsu, pl_tsig, pl_ts, pl_tsi, pl_tsiu, pl_tsiiuui, pl_tsiuui, pl_sg, pl_p, pl_gs, pl_ssig, pl_ssi, pl_tusiuiuit, pl_tubu, pl_tuurru, pl_tuurrrrgr, pl_tuurrrrg, pl_tuuur, pl_tusg, pl_tuuuui, pl_tuusb, pl_tugui, pl_turru, pl_tuuugi, pl_tuuuub, pl_tuttti, pl_tuuttti, pl_tuisi, pl_tugb, pl_tugs, pl_tugug, pl_turgs, pl_tubi, pl_tuttigsi, pl_tuiiiiui, pl_tuurb, pl_tuuiiiirrrrg, pl_tuuiiiirrrrgi, pl_tuiggu, pl_turrrb, pl_tuubbi, pl_tuubbig, pl_pt, pl_tuuti, pl_tubbi, pl_tusiu, pl_tuuutti, pl_tuti, pl_tutti, pl_tutui, pl_tutisi, pl_tuuri, pl_tuusit, pl_tuurbr, pl_tuuiu, pl_tugiiu, pl_tuugi, pl_tuit, pl_tusr, pl_tusrt, pl_tusi, pl_turt, pl_tuui, pl_tut, pl_tuur, pl_tuig, pl_tur, pl_tub, pl_tui, pl_tu, pl_tus, pl_tuiiu, pl_tusb, pl_tuuut, pl_tug, pl_tutb, pl_tust, pl_tuub, pl_tuus, pl_tuug, pl_tuibu, pl_tuut, pl_tuuig, pl_tuguig, pl_tuubr, pl_tuuub, pl_tuuiuui, pl_tugu, pl_tuuir, pl_tugr, pl_tugi, pl_tuuui, pl_tuib, pl_tusu, pl_tuusi, pl_tugt, pl_tuis, pl_tuiu, pl_tubiiiu, pl_tusiis, pl_tusiuiu, pl_tusiuibu, pl_tusiiu, pl_tuuug, pl_tusuig, pl_tuuubr, pl_gussitu, pl_gurrsiu, pl_gus, pl_guut, pl_guuut, pl_guiu, pl_guugbuut, pl_pgr, pl_pgu, pl_pgi, pl_gug, pl_pgbi, pl_gu, pl_gugu, pl_pg, pl_gui, pl_psgi, pl_suiig, pl_sug, pl_psgbiiiit, pl_psrrrb, pl_sui, pl_suuub, pl_psu, pl_psb, pl_su, pl_sus, pl_ps, pl_psg, pl_psi, pl_psugt, pl_psut, pl_pur, pl_puuui, pl_puiu, pl_pusiig, pl_pusiigu, pl_pusiiugu, pl_puuiig, pl_puur, pl_puiiui, pl_pugi, pl_puuig, pl_pubi, pl_puiig, pl_puiigi, pl_puigu, pl_puuusuug, pl_pusi, pl_puri, pl_pusub, pl_pust, pl_pub, pl_pu, pl_puutu, pl_pui, pl_pusu, pl_pus, pl_pug, pl_put, pl_pusigu, pl_pusig, pl_puui, pl_pusiiu, pl_big, pl_bi, pl_b, pl_btiib, pl_bti, pl_bt, pl_tb, pl_bsiu, pl_bsiuub, pl_bsu, pl_bsigb, pl_bsiiuusu, pl_bur, pl_buug, pl_buut, pl_buigu, pl_busiu, pl_buuti, pl_buttiiiu, pl_butib, pl_buiuig, pl_buuusuug, pl_buuit, pl_butu, pl_buti, pl_butti, pl_busi, pl_buusib, pl_busib, pl_buuuub, pl_buuub, pl_buttu, pl_busgu, pl_buurbr, pl_buui, pl_buus, pl_buuui, pl_busu, pl_bug, pl_bu, pl_buuubu, pl_bus, pl_bui, pl_buutuuiu, pl_but, pl_bussu, pl_buib, pl_buiu, pl_buiiu, pl_bub, pl_buub, pl_pb, pl_buig, pl_buuiiu, pl_buuig, pl_iiit, pl_iit, pl_i, pl_itiiub, pl_itsub, pl_itstttg, pl_itgiiut, pl_tiu, pl_ti, pl_it, pl_igi, pl_gi, pl_isigutttiiu, pl_isi, pl_isgt, pl_sig, pl_si, pl_is, pl_trrru, pl_bpt;
+static s7_pointer pl_iur, pl_iuisi, pl_pig, pl_iuuui, pl_iuuuui, pl_iuis, pl_iug, pl_ius, pl_iusi, pl_iu, pl_iuui, pl_pi, pl_iui, pl_iuisut, pl_piu, pl_pit, pl_t, pl_tts, pl_tti, pl_dust, pl_dut, pl_du, pl_dusr, pl_dus, pl_pr, pl_s, pl_tsb, pl_st, pl_tsu, pl_tsig, pl_ts, pl_tsi, pl_tsiu, pl_tsiiuui, pl_tsiuui, pl_p, pl_ssig, pl_ssi, pl_tusiuiuit, pl_tussu, pl_tubu, pl_tuurru, pl_tuurrrrgr, pl_tuurrrrg, pl_tuuur, pl_tusg, pl_tuuuui, pl_tuusb, pl_tugui, pl_turru, pl_tuuugi, pl_tuuuub, pl_tuttti, pl_tuuttti, pl_tuisi, pl_tugb, pl_tugs, pl_tugug, pl_turgs, pl_tubi, pl_tuttigsi, pl_tuiiiiui, pl_tuurb, pl_tuuiiiirrrrg, pl_tuuiiiirrrrgi, pl_tuiggu, pl_turrrb, pl_tuubbi, pl_tuubbig, pl_pt, pl_tuuti, pl_tubbi, pl_tusiu, pl_tuuutti, pl_tuti, pl_tutti, pl_tutui, pl_tutisi, pl_tuuri, pl_tuusit, pl_tuurbr, pl_tuuiu, pl_tugiiu, pl_tuugi, pl_tuit, pl_tusr, pl_tusrt, pl_tusi, pl_turt, pl_tuui, pl_tut, pl_tuur, pl_tuig, pl_tur, pl_tub, pl_tui, pl_tu, pl_tus, pl_tuiiu, pl_tusb, pl_tuuut, pl_tug, pl_tutb, pl_tust, pl_tuub, pl_tuus, pl_tuug, pl_tuibu, pl_tuut, pl_tuuig, pl_tuguig, pl_tuubr, pl_tuuub, pl_tuuiuui, pl_tugu, pl_tuuir, pl_tugr, pl_tugi, pl_tuuui, pl_tuib, pl_tusu, pl_tuusi, pl_tugt, pl_tuis, pl_tuiu, pl_tubiiiu, pl_tusiis, pl_tusiuiu, pl_tusiuibu, pl_tusiiu, pl_tuuug, pl_tusuig, pl_tuuubr, pl_psgi, pl_suiig, pl_sug, pl_psgbiiiit, pl_psrrrb, pl_sui, pl_suuub, pl_psu, pl_psb, pl_su, pl_sus, pl_ps, pl_psg, pl_psi, pl_psugt, pl_psut, pl_pur, pl_puuui, pl_puiu, pl_pusiig, pl_pusiigu, pl_pusiiugu, pl_puuiig, pl_puur, pl_puiiui, pl_pugi, pl_puuig, pl_pubi, pl_puiig, pl_puiigi, pl_puigu, pl_puuusuug, pl_pusi, pl_puri, pl_pusub, pl_pust, pl_pub, pl_pu, pl_puutu, pl_pui, pl_pusu, pl_pus, pl_pug, pl_put, pl_pusigu, pl_pusig, pl_puui, pl_pusiiu, pl_igi, pl_gi, pl_g, pl_tg, pl_sg, pl_gs, pl_gussitu, pl_gurrsiu, pl_gus, pl_guut, pl_guuut, pl_guiu, pl_guugbuut, pl_pgr, pl_pgu, pl_pgi, pl_gug, pl_pgbi, pl_gu, pl_gugu, pl_pg, pl_gui, pl_big, pl_bi, pl_b, pl_btiib, pl_bti, pl_bt, pl_tb, pl_bsiu, pl_bsiuub, pl_bsu, pl_bsigb, pl_bsiiuusu, pl_bur, pl_buug, pl_buut, pl_buigu, pl_busiu, pl_buuti, pl_buttiiiu, pl_butib, pl_buiuig, pl_buuusuug, pl_buuit, pl_butu, pl_buti, pl_butti, pl_busi, pl_buusib, pl_busib, pl_buuuub, pl_buuub, pl_buttu, pl_busgu, pl_buurbr, pl_buui, pl_buus, pl_buuui, pl_busu, pl_bug, pl_bu, pl_buuubu, pl_bus, pl_bui, pl_buutuuiu, pl_but, pl_bussu, pl_buib, pl_buiu, pl_buiiu, pl_bub, pl_buub, pl_pb, pl_buig, pl_buuiiu, pl_buuig, pl_iiit, pl_iit, pl_i, pl_itiiub, pl_itsub, pl_itstttg, pl_itgiiut, pl_tiu, pl_ti, pl_it, pl_isigutttiiu, pl_isi, pl_isgt, pl_sig, pl_si, pl_is, pl_trrru, pl_bpt;
 #endif
 
 static void define_functions(void)
@@ -39966,7 +40049,6 @@ static void define_functions(void)
   pl_t = s7_make_circular_signature(s7, 0, 1, s_any);
   pl_tts = s7_make_circular_signature(s7, 2, 3, s_any, s_any, s_string);
   pl_tti = s7_make_circular_signature(s7, 2, 3, s_any, s_any, s_integer);
-  pl_g = s7_make_circular_signature(s7, 0, 1, s_gtk_enum_t);
   pl_dust = s7_make_circular_signature(s7, 3, 4, s_float, s_pair_false, s_string, s_any);
   pl_dut = s7_make_circular_signature(s7, 2, 3, s_float, s_pair_false, s_any);
   pl_du = s7_make_circular_signature(s7, 1, 2, s_float, s_pair_false);
@@ -39974,7 +40056,6 @@ static void define_functions(void)
   pl_dus = s7_make_circular_signature(s7, 2, 3, s_float, s_pair_false, s_string);
   pl_pr = s7_make_circular_signature(s7, 1, 2, s_pair, s_real);
   pl_s = s7_make_circular_signature(s7, 0, 1, s_string);
-  pl_tg = s7_make_circular_signature(s7, 1, 2, s_any, s_gtk_enum_t);
   pl_tsb = s7_make_circular_signature(s7, 2, 3, s_any, s_string, s_boolean);
   pl_st = s7_make_circular_signature(s7, 1, 2, s_string, s_any);
   pl_tsu = s7_make_circular_signature(s7, 2, 3, s_any, s_string, s_pair_false);
@@ -39984,12 +40065,11 @@ static void define_functions(void)
   pl_tsiu = s7_make_circular_signature(s7, 3, 4, s_any, s_string, s_integer, s_pair_false);
   pl_tsiiuui = s7_make_circular_signature(s7, 6, 7, s_any, s_string, s_integer, s_integer, s_pair_false, s_pair_false, s_integer);
   pl_tsiuui = s7_make_circular_signature(s7, 5, 6, s_any, s_string, s_integer, s_pair_false, s_pair_false, s_integer);
-  pl_sg = s7_make_circular_signature(s7, 1, 2, s_string, s_gtk_enum_t);
   pl_p = s7_make_circular_signature(s7, 0, 1, s_pair);
-  pl_gs = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_string);
   pl_ssig = s7_make_circular_signature(s7, 3, 4, s_string, s_string, s_integer, s_gtk_enum_t);
   pl_ssi = s7_make_circular_signature(s7, 2, 3, s_string, s_string, s_integer);
   pl_tusiuiuit = s7_make_circular_signature(s7, 8, 9, s_any, s_pair_false, s_string, s_integer, s_pair_false, s_integer, s_pair_false, s_integer, s_any);
+  pl_tussu = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_string, s_string, s_pair_false);
   pl_tubu = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_boolean, s_pair_false);
   pl_tuurru = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_real, s_real, s_pair_false);
   pl_tuurrrrgr = s7_make_circular_signature(s7, 8, 9, s_any, s_pair_false, s_pair_false, s_real, s_real, s_real, s_real, s_gtk_enum_t, s_real);
@@ -40083,22 +40163,6 @@ static void define_functions(void)
   pl_tuuug = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_pair_false, s_gtk_enum_t);
   pl_tusuig = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_string, s_pair_false, s_integer, s_gtk_enum_t);
   pl_tuuubr = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_pair_false, s_boolean, s_real);
-  pl_gussitu = s7_make_circular_signature(s7, 6, 7, s_gtk_enum_t, s_pair_false, s_string, s_string, s_integer, s_any, s_pair_false);
-  pl_gurrsiu = s7_make_circular_signature(s7, 6, 7, s_gtk_enum_t, s_pair_false, s_real, s_real, s_string, s_integer, s_pair_false);
-  pl_gus = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_string);
-  pl_guut = s7_make_circular_signature(s7, 3, 4, s_gtk_enum_t, s_pair_false, s_pair_false, s_any);
-  pl_guuut = s7_make_circular_signature(s7, 4, 5, s_gtk_enum_t, s_pair_false, s_pair_false, s_pair_false, s_any);
-  pl_guiu = s7_make_circular_signature(s7, 3, 4, s_gtk_enum_t, s_pair_false, s_integer, s_pair_false);
-  pl_guugbuut = s7_make_circular_signature(s7, 7, 8, s_gtk_enum_t, s_pair_false, s_pair_false, s_gtk_enum_t, s_boolean, s_pair_false, s_pair_false, s_any);
-  pl_pgr = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_real);
-  pl_pgu = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_pair_false);
-  pl_pgi = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_integer);
-  pl_gug = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
-  pl_pgbi = s7_make_circular_signature(s7, 3, 4, s_pair, s_gtk_enum_t, s_boolean, s_integer);
-  pl_gu = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_pair_false);
-  pl_gugu = s7_make_circular_signature(s7, 3, 4, s_gtk_enum_t, s_pair_false, s_gtk_enum_t, s_pair_false);
-  pl_pg = s7_make_circular_signature(s7, 1, 2, s_pair, s_gtk_enum_t);
-  pl_gui = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_integer);
   pl_psgi = s7_make_circular_signature(s7, 3, 4, s_pair, s_string, s_gtk_enum_t, s_integer);
   pl_suiig = s7_make_circular_signature(s7, 4, 5, s_string, s_pair_false, s_integer, s_integer, s_gtk_enum_t);
   pl_sug = s7_make_circular_signature(s7, 2, 3, s_string, s_pair_false, s_gtk_enum_t);
@@ -40147,6 +40211,28 @@ static void define_functions(void)
   pl_pusig = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_string, s_integer, s_gtk_enum_t);
   pl_puui = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_pair_false, s_integer);
   pl_pusiiu = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_string, s_integer, s_integer, s_pair_false);
+  pl_igi = s7_make_circular_signature(s7, 2, 3, s_integer, s_gtk_enum_t, s_integer);
+  pl_gi = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_integer);
+  pl_g = s7_make_circular_signature(s7, 0, 1, s_gtk_enum_t);
+  pl_tg = s7_make_circular_signature(s7, 1, 2, s_any, s_gtk_enum_t);
+  pl_sg = s7_make_circular_signature(s7, 1, 2, s_string, s_gtk_enum_t);
+  pl_gs = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_string);
+  pl_gussitu = s7_make_circular_signature(s7, 6, 7, s_gtk_enum_t, s_pair_false, s_string, s_string, s_integer, s_any, s_pair_false);
+  pl_gurrsiu = s7_make_circular_signature(s7, 6, 7, s_gtk_enum_t, s_pair_false, s_real, s_real, s_string, s_integer, s_pair_false);
+  pl_gus = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_string);
+  pl_guut = s7_make_circular_signature(s7, 3, 4, s_gtk_enum_t, s_pair_false, s_pair_false, s_any);
+  pl_guuut = s7_make_circular_signature(s7, 4, 5, s_gtk_enum_t, s_pair_false, s_pair_false, s_pair_false, s_any);
+  pl_guiu = s7_make_circular_signature(s7, 3, 4, s_gtk_enum_t, s_pair_false, s_integer, s_pair_false);
+  pl_guugbuut = s7_make_circular_signature(s7, 7, 8, s_gtk_enum_t, s_pair_false, s_pair_false, s_gtk_enum_t, s_boolean, s_pair_false, s_pair_false, s_any);
+  pl_pgr = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_real);
+  pl_pgu = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_pair_false);
+  pl_pgi = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_integer);
+  pl_gug = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
+  pl_pgbi = s7_make_circular_signature(s7, 3, 4, s_pair, s_gtk_enum_t, s_boolean, s_integer);
+  pl_gu = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_pair_false);
+  pl_gugu = s7_make_circular_signature(s7, 3, 4, s_gtk_enum_t, s_pair_false, s_gtk_enum_t, s_pair_false);
+  pl_pg = s7_make_circular_signature(s7, 1, 2, s_pair, s_gtk_enum_t);
+  pl_gui = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_integer);
   pl_big = s7_make_circular_signature(s7, 2, 3, s_boolean, s_integer, s_gtk_enum_t);
   pl_bi = s7_make_circular_signature(s7, 1, 2, s_boolean, s_integer);
   pl_b = s7_make_circular_signature(s7, 0, 1, s_boolean);
@@ -40212,8 +40298,6 @@ static void define_functions(void)
   pl_tiu = s7_make_circular_signature(s7, 2, 3, s_any, s_integer, s_pair_false);
   pl_ti = s7_make_circular_signature(s7, 1, 2, s_any, s_integer);
   pl_it = s7_make_circular_signature(s7, 1, 2, s_integer, s_any);
-  pl_igi = s7_make_circular_signature(s7, 2, 3, s_integer, s_gtk_enum_t, s_integer);
-  pl_gi = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_integer);
   pl_isigutttiiu = s7_make_circular_signature(s7, 10, 11, s_integer, s_string, s_integer, s_gtk_enum_t, s_pair_false, s_any, s_any, s_any, s_integer, s_integer, s_pair_false);
   pl_isi = s7_make_circular_signature(s7, 2, 3, s_integer, s_string, s_integer);
   pl_isgt = s7_make_circular_signature(s7, 3, 4, s_integer, s_string, s_gtk_enum_t, s_any);
@@ -40424,8 +40508,6 @@ static void define_functions(void)
   Xg_define_procedure(gdk_window_set_type_hint, gxg_gdk_window_set_type_hint_w, 2, 0, 0, H_gdk_window_set_type_hint, pl_tug);
   Xg_define_procedure(gdk_window_set_modal_hint, gxg_gdk_window_set_modal_hint_w, 2, 0, 0, H_gdk_window_set_modal_hint, pl_tub);
   Xg_define_procedure(gdk_window_set_geometry_hints, gxg_gdk_window_set_geometry_hints_w, 3, 0, 0, H_gdk_window_set_geometry_hints, pl_tuug);
-  Xg_define_procedure(gdk_window_begin_paint_rect, gxg_gdk_window_begin_paint_rect_w, 2, 0, 0, H_gdk_window_begin_paint_rect, pl_tu);
-  Xg_define_procedure(gdk_window_end_paint, gxg_gdk_window_end_paint_w, 1, 0, 0, H_gdk_window_end_paint, pl_tu);
   Xg_define_procedure(gdk_window_set_title, gxg_gdk_window_set_title_w, 2, 0, 0, H_gdk_window_set_title, pl_tus);
   Xg_define_procedure(gdk_window_set_role, gxg_gdk_window_set_role_w, 2, 0, 0, H_gdk_window_set_role, pl_tus);
   Xg_define_procedure(gdk_window_set_transient_for, gxg_gdk_window_set_transient_for_w, 2, 0, 0, H_gdk_window_set_transient_for, pl_tu);
@@ -41348,7 +41430,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_widget_list_accel_closures, gxg_gtk_widget_list_accel_closures_w, 1, 0, 0, H_gtk_widget_list_accel_closures, pl_pu);
   Xg_define_procedure(gtk_widget_mnemonic_activate, gxg_gtk_widget_mnemonic_activate_w, 2, 0, 0, H_gtk_widget_mnemonic_activate, pl_bub);
   Xg_define_procedure(gtk_widget_event, gxg_gtk_widget_event_w, 2, 0, 0, H_gtk_widget_event, pl_bu);
-  Xg_define_procedure(gtk_widget_send_expose, gxg_gtk_widget_send_expose_w, 2, 0, 0, H_gtk_widget_send_expose, pl_iu);
   Xg_define_procedure(gtk_widget_activate, gxg_gtk_widget_activate_w, 1, 0, 0, H_gtk_widget_activate, pl_bu);
   Xg_define_procedure(gtk_widget_intersect, gxg_gtk_widget_intersect_w, 3, 0, 0, H_gtk_widget_intersect, pl_bu);
   Xg_define_procedure(gtk_widget_freeze_child_notify, gxg_gtk_widget_freeze_child_notify_w, 1, 0, 0, H_gtk_widget_freeze_child_notify, pl_tu);
@@ -42165,8 +42246,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_menu_bar_set_child_pack_direction, gxg_gtk_menu_bar_set_child_pack_direction_w, 2, 0, 0, H_gtk_menu_bar_set_child_pack_direction, pl_tug);
   Xg_define_procedure(gtk_menu_shell_get_take_focus, gxg_gtk_menu_shell_get_take_focus_w, 1, 0, 0, H_gtk_menu_shell_get_take_focus, pl_bu);
   Xg_define_procedure(gtk_menu_shell_set_take_focus, gxg_gtk_menu_shell_set_take_focus_w, 2, 0, 0, H_gtk_menu_shell_set_take_focus, pl_tub);
-  Xg_define_procedure(gtk_size_group_set_ignore_hidden, gxg_gtk_size_group_set_ignore_hidden_w, 2, 0, 0, H_gtk_size_group_set_ignore_hidden, pl_tub);
-  Xg_define_procedure(gtk_size_group_get_ignore_hidden, gxg_gtk_size_group_get_ignore_hidden_w, 1, 0, 0, H_gtk_size_group_get_ignore_hidden, pl_bu);
   Xg_define_procedure(gtk_text_iter_forward_visible_line, gxg_gtk_text_iter_forward_visible_line_w, 1, 0, 0, H_gtk_text_iter_forward_visible_line, pl_bu);
   Xg_define_procedure(gtk_text_iter_backward_visible_line, gxg_gtk_text_iter_backward_visible_line_w, 1, 0, 0, H_gtk_text_iter_backward_visible_line, pl_bu);
   Xg_define_procedure(gtk_text_iter_forward_visible_lines, gxg_gtk_text_iter_forward_visible_lines_w, 2, 0, 0, H_gtk_text_iter_forward_visible_lines, pl_bui);
@@ -43641,6 +43720,19 @@ static void define_functions(void)
   Xg_define_procedure(gdk_monitor_get_refresh_rate, gxg_gdk_monitor_get_refresh_rate_w, 1, 0, 0, H_gdk_monitor_get_refresh_rate, pl_iu);
   Xg_define_procedure(gdk_monitor_get_subpixel_layout, gxg_gdk_monitor_get_subpixel_layout_w, 1, 0, 0, H_gdk_monitor_get_subpixel_layout, pl_gu);
   Xg_define_procedure(gdk_monitor_is_primary, gxg_gdk_monitor_is_primary_w, 1, 0, 0, H_gdk_monitor_is_primary, pl_bu);
+  Xg_define_procedure(gdk_drawing_context_get_window, gxg_gdk_drawing_context_get_window_w, 1, 0, 0, H_gdk_drawing_context_get_window, pl_pu);
+  Xg_define_procedure(gdk_drawing_context_get_clip, gxg_gdk_drawing_context_get_clip_w, 1, 0, 0, H_gdk_drawing_context_get_clip, pl_pu);
+  Xg_define_procedure(gdk_drawing_context_is_valid, gxg_gdk_drawing_context_is_valid_w, 1, 0, 0, H_gdk_drawing_context_is_valid, pl_bu);
+  Xg_define_procedure(gdk_drawing_context_get_cairo_context, gxg_gdk_drawing_context_get_cairo_context_w, 1, 0, 0, H_gdk_drawing_context_get_cairo_context, pl_pu);
+  Xg_define_procedure(gdk_cairo_get_drawing_context, gxg_gdk_cairo_get_drawing_context_w, 1, 0, 0, H_gdk_cairo_get_drawing_context, pl_pu);
+  Xg_define_procedure(gtk_scrolled_window_set_max_content_width, gxg_gtk_scrolled_window_set_max_content_width_w, 2, 0, 0, H_gtk_scrolled_window_set_max_content_width, pl_tui);
+  Xg_define_procedure(gtk_scrolled_window_get_max_content_width, gxg_gtk_scrolled_window_get_max_content_width_w, 1, 0, 0, H_gtk_scrolled_window_get_max_content_width, pl_iu);
+  Xg_define_procedure(gtk_scrolled_window_set_max_content_height, gxg_gtk_scrolled_window_set_max_content_height_w, 2, 0, 0, H_gtk_scrolled_window_set_max_content_height, pl_tui);
+  Xg_define_procedure(gtk_scrolled_window_get_max_content_height, gxg_gtk_scrolled_window_get_max_content_height_w, 1, 0, 0, H_gtk_scrolled_window_get_max_content_height, pl_iu);
+  Xg_define_procedure(gtk_file_chooser_add_choice, gxg_gtk_file_chooser_add_choice_w, 5, 0, 0, H_gtk_file_chooser_add_choice, pl_tussu);
+  Xg_define_procedure(gtk_file_chooser_remove_choice, gxg_gtk_file_chooser_remove_choice_w, 2, 0, 0, H_gtk_file_chooser_remove_choice, pl_tus);
+  Xg_define_procedure(gtk_file_chooser_set_choice, gxg_gtk_file_chooser_set_choice_w, 3, 0, 0, H_gtk_file_chooser_set_choice, pl_tus);
+  Xg_define_procedure(gtk_file_chooser_get_choice, gxg_gtk_file_chooser_get_choice_w, 2, 0, 0, H_gtk_file_chooser_get_choice, pl_sus);
 #endif
 
   Xg_define_procedure(cairo_create, gxg_cairo_create_w, 1, 0, 0, H_cairo_create, pl_pu);
@@ -44144,6 +44236,7 @@ static void define_functions(void)
 #if GTK_CHECK_VERSION(3, 22, 0)
   Xg_define_procedure(GDK_DEVICE_TOOL, gxg_GDK_DEVICE_TOOL_w, 1, 0, 0, "(GDK_DEVICE_TOOL obj) casts obj to GDK_DEVICE_TOOL", pl_bpt);
   Xg_define_procedure(GDK_MONITOR, gxg_GDK_MONITOR_w, 1, 0, 0, "(GDK_MONITOR obj) casts obj to GDK_MONITOR", pl_bpt);
+  Xg_define_procedure(GDK_DRAWING_CONTEXT, gxg_GDK_DRAWING_CONTEXT_w, 1, 0, 0, "(GDK_DRAWING_CONTEXT obj) casts obj to GDK_DRAWING_CONTEXT", pl_bpt);
 #endif
 
   Xg_define_procedure(c-array->list, c_array_to_xen_list_w, 2, 0, 0, NULL, NULL);
@@ -44550,6 +44643,8 @@ static void define_functions(void)
                       "(GDK_IS_DEVICE_TOOL obj): " PROC_TRUE " if obj is a GDK_IS_DEVICE_TOOL", pl_bt);
   Xg_define_procedure(GDK_IS_MONITOR, gxg_GDK_IS_MONITOR_w, 1, 0, 0,
                       "(GDK_IS_MONITOR obj): " PROC_TRUE " if obj is a GDK_IS_MONITOR", pl_bt);
+  Xg_define_procedure(GDK_IS_DRAWING_CONTEXT, gxg_GDK_IS_DRAWING_CONTEXT_w, 1, 0, 0,
+                      "(GDK_IS_DRAWING_CONTEXT obj): " PROC_TRUE " if obj is a GDK_IS_DRAWING_CONTEXT", pl_bt);
 #endif
 
 }
@@ -45972,6 +46067,7 @@ static void define_atoms(void)
 
 static void define_symbols(void)
 {
+  xg_GdkDrawingContext__symbol = C_string_to_Xen_symbol("GdkDrawingContext_");
   xg_GdkSubpixelLayout_symbol = C_string_to_Xen_symbol("GdkSubpixelLayout");
   xg_menu_symbol = C_string_to_Xen_symbol("menu");
   xg_gtk_menu_place_on_monitor_symbol = C_string_to_Xen_symbol("gtk_menu_place_on_monitor");
@@ -47746,7 +47842,7 @@ void Init_libxg(void)
       #else
         Xen_provide_feature("gtk2");
       #endif
-      Xen_define("xg-version", C_string_to_Xen_string("13-Jun-16"));
+      Xen_define("xg-version", C_string_to_Xen_string("26-Jul-16"));
       xg_already_inited = true;
 #if HAVE_SCHEME
 #if USE_SND
diff --git a/xm-enved.scm b/xm-enved.scm
index c715179..f8012be 100644
--- a/xm-enved.scm
+++ b/xm-enved.scm
@@ -164,17 +164,17 @@
 	    (set! args (append args (list XmNforeground *data-color*))))
 	(let* ((drawer (XtCreateManagedWidget name xmDrawingAreaWidgetClass parent args))
 	       (gc (car (snd-gcs)))
-	       (x0 (car axis-bounds))
-	       (x1 (cadr axis-bounds)) ; too confusing! -- change internally below
-	       (y0 (caddr axis-bounds))
-	       (y1 (cadddr axis-bounds))
 	       (arrow-cursor (XCreateFontCursor (XtDisplay (cadr (main-widgets))) XC_crosshair))
-	       (editor (list (list x0 y0 x1 y0) ; needs to be in user-coordinates (graph size can change)
-			     drawer 
-			     #f  ; axis pixel locs filled in when drawn
-			     (list x0 y0 x1 y1)
-			     (list gc #f)
-			     name)))
+	       (editor (let ((x0 (car axis-bounds))
+			     (x1 (cadr axis-bounds)) ; too confusing! -- change internally below
+			     (y0 (caddr axis-bounds))
+			     (y1 (cadddr axis-bounds)))
+			 (list (list x0 y0 x1 y0) ; needs to be in user-coordinates (graph size can change)
+			       drawer 
+			       #f  ; axis pixel locs filled in when drawn
+			       (list x0 y0 x1 y1)
+			       (list gc #f)
+			       name))))
 	  (XtAddCallback drawer XmNresizeCallback 
 			 (lambda (w context info) 
 			   (set! (editor 2) (apply draw-axes drawer gc name axis-bounds))
@@ -219,7 +219,7 @@
 			     name))
 	       (dragging #f))
 	  
-	  ;; (xe-create-enved "hi" ((sound-widgets 0) 9) () '(0.0 1.0 0.0 1.0))
+	  ;; (xe-create-enved "hi" ((sound-widgets 0) 9) () '(0.0 1.0 0.0 1.0)) -- this doesn't work?
 	  
 	  (define (local-draw-axes wid gc label x0 x1 y0 y1)
 	    (let* ((cr (make-cairo wid))
@@ -232,63 +232,64 @@
 	  (gtk_widget_show drawer)
 	  (gtk_widget_set_size_request drawer -1 200)
 	  
-	  (g_signal_connect_closure_by_id (GPOINTER drawer)
-					  (g_signal_lookup "draw" (G_OBJECT_TYPE (G_OBJECT drawer)))
-					  0 (g_cclosure_new (lambda (w e d)
-							      (set! (editor 2) (apply local-draw-axes drawer gc name axis-bounds))
-							      (xe-redraw editor)
-							      #f)
-							    #f #f)
-					  #f)
-	  (g_signal_connect_closure_by_id (GPOINTER drawer)
-					  (g_signal_lookup "configure_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
-					  0 (g_cclosure_new (lambda (w e d)
-							      (set! (editor 2) (apply local-draw-axes drawer gc name axis-bounds))
-							      (xe-redraw editor)
-							      #f)
-							    #f #f) 
-					  #f)
-	  (g_signal_connect_closure_by_id (GPOINTER drawer)
-					  (g_signal_lookup "button_press_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
-					  0 (g_cclosure_new (lambda (w e d) 
-							      (let ((coords (gdk_event_get_coords (GDK_EVENT e))))
-								(set! dragging #t)
-								(xe-mouse-press editor (cadr coords) (caddr coords)))
-							      #f)
-							    #f #f) 
-					  #f)
-	  (g_signal_connect_closure_by_id (GPOINTER drawer)
-					  (g_signal_lookup "button_release_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
-					  0 (g_cclosure_new (lambda (w e d) 
-							      (set! dragging #f)
-							      (xe-mouse-release editor)
-							      #f)
-							    #f #f)
-					  #f)
-	  (g_signal_connect_closure_by_id (GPOINTER drawer)
-					  (g_signal_lookup "motion_notify_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
-					  0 (g_cclosure_new (lambda (w e d) 
-							      (if dragging
-								  (let ((coords (gdk_event_get_coords (GDK_EVENT e))))
-								    (xe-mouse-drag editor (cadr coords) (caddr coords))))
-							      #f)
-							    #f #f)
-					  #f)
+	  (let ((gf (g_cclosure_new (lambda (w e d)
+				      (set! (editor 2) (apply local-draw-axes drawer gc name axis-bounds))
+				      (xe-redraw editor)
+				      #f)
+				    #f #f)))
+	    (g_signal_connect_closure_by_id (GPOINTER drawer)
+					    (g_signal_lookup "draw" (G_OBJECT_TYPE (G_OBJECT drawer)))
+					    0 gf #f))
+	  (let ((gf (g_cclosure_new (lambda (w e d)
+				      (set! (editor 2) (apply local-draw-axes drawer gc name axis-bounds))
+				      (xe-redraw editor)
+				      #f)
+				    #f #f)))
+
+	    (g_signal_connect_closure_by_id (GPOINTER drawer)
+					    (g_signal_lookup "configure_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
+					    0 gf #f))
+	  (let ((gf (g_cclosure_new (lambda (w e d) 
+				      (let ((coords (gdk_event_get_coords (GDK_EVENT e))))
+					(set! dragging #t)
+					(xe-mouse-press editor (cadr coords) (caddr coords)))
+				      #f)
+				    #f #f)))
+	    (g_signal_connect_closure_by_id (GPOINTER drawer)
+					    (g_signal_lookup "button_press_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
+					    0 gf #f))
+	  (let ((gf (g_cclosure_new (lambda (w e d) 
+				      (set! dragging #f)
+				      (xe-mouse-release editor)
+				      #f)
+				    #f #f)))
+	    (g_signal_connect_closure_by_id (GPOINTER drawer)
+					    (g_signal_lookup "button_release_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
+					    0 gf #f))
+	  (let ((gf (g_cclosure_new (lambda (w e d) 
+				      (if dragging
+					  (let ((coords (gdk_event_get_coords (GDK_EVENT e))))
+					    (xe-mouse-drag editor (cadr coords) (caddr coords))))
+				      #f)
+				    #f #f)))
+	    (g_signal_connect_closure_by_id (GPOINTER drawer)
+					    (g_signal_lookup "motion_notify_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
+					    0 gf #f))
 	  
-	  (g_signal_connect_closure_by_id (GPOINTER drawer)
-					  (g_signal_lookup "enter_notify_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
-					  0 (g_cclosure_new (lambda (w e d)
-							      (gdk_window_set_cursor (gtk_widget_get_window w) arrow-cursor)
-							      #f)
-							    #f #f)
-					  #f)
-	  (g_signal_connect_closure_by_id (GPOINTER drawer)
-					  (g_signal_lookup "leave_notify_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
-					  0 (g_cclosure_new (lambda (w e d)
-							      (gdk_window_set_cursor (gtk_widget_get_window w) old-cursor)
-							      #f)
-							    #f #f)
-					  #f)
+	  (let ((gf (g_cclosure_new (lambda (w e d)
+				      (gdk_window_set_cursor (gtk_widget_get_window w) arrow-cursor)
+				      #f)
+				    #f #f)))
+	    (g_signal_connect_closure_by_id (GPOINTER drawer)
+					    (g_signal_lookup "enter_notify_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
+					    0 gf #f))
+	  (let ((gf (g_cclosure_new (lambda (w e d)
+				      (gdk_window_set_cursor (gtk_widget_get_window w) old-cursor)
+				      #f)
+				    #f #f)))
+	    (g_signal_connect_closure_by_id (GPOINTER drawer)
+					    (g_signal_lookup "leave_notify_event" (G_OBJECT_TYPE (G_OBJECT drawer)))
+					    0 gf #f))
 	  editor))))
 
 (define (xe-redraw drawer)
@@ -342,26 +343,19 @@
 	      (begin
 		((*motif* 'XClearWindow) dpy wn)
 		(draw-axes widget gc name ix0 ix1 iy0 iy1)
-		(let ((lx #f)
-		      (ly #f))
-		  (do ((i 0 (+ i 2)))
-		      ((= i len))
-		    (let ((cx (xe-grfx (cur-env i)))
-			  (cy (xe-grfy (cur-env (+ i 1)))))
-		      ((*motif* 'XFillArc)
-		       dpy wn gc 
-		       (- cx mouse-r)
-		       (- cy mouse-r)
-		       mouse-d mouse-d
-		       0 23040) ; (* 360 64))
-		      (if lx
-			  ((*motif* 'XDrawLine) dpy wn gc lx ly cx cy))
-		      (set! lx cx)
-		      (set! ly cy)))))
+		(do ((lx #f)
+		     (ly #f)
+		     (i 0 (+ i 2)))
+		    ((= i len))
+		  (let ((cx (xe-grfx (cur-env i)))
+			(cy (xe-grfy (cur-env (+ i 1)))))
+		    ((*motif* 'XFillArc) dpy wn gc (- cx mouse-r) (- cy mouse-r) mouse-d mouse-d 0 23040) ; (* 360 64))
+		    (if lx
+			((*motif* 'XDrawLine) dpy wn gc lx ly cx cy))
+		    (set! lx cx)
+		    (set! ly cy))))
 	      ;; *gtk* 
-	      (let ((lx #f)
-		    (ly #f)
-		    (cr ((*gtk* 'gdk_cairo_create) ((*gtk* 'GDK_WINDOW) wn))))
+	      (let ((cr ((*gtk* 'gdk_cairo_create) ((*gtk* 'GDK_WINDOW) wn))))
 		
 		(let ((size (widget-size ((*gtk* 'GTK_WIDGET) widget))))
 		  ((*gtk* 'cairo_push_group) cr)
@@ -373,7 +367,9 @@
 		
 		((*gtk* 'cairo_set_line_width) cr 1.0)
 		((*gtk* 'cairo_set_source_rgb) cr 0.0 0.0 0.0)
-		(do ((i 0 (+ i 2)))
+		(do ((lx #f)
+		     (ly #f)
+		     (i 0 (+ i 2)))
 		    ((= i len))
 		  (let ((cx (xe-grfx (cur-env i)))
 			(cy (xe-grfy (cur-env (+ i 1)))))

-- 
snd packaging



More information about the pkg-multimedia-commits mailing list