diff --git a/books/bookvol10.5.pamphlet b/books/bookvol10.5.pamphlet
index 023c286..1262b46 100644
--- a/books/bookvol10.5.pamphlet
+++ b/books/bookvol10.5.pamphlet
@@ -380,7 +380,7 @@ stored in $DX(1+ (N-1)*|INCX|)$.
 )set message auto off
 )clear all
 
---S 1 of 183
+--S 1 of 208
 t1:Complex DoubleFloat := complex(1.0,0)
 --R 
 --R
@@ -388,7 +388,7 @@ t1:Complex DoubleFloat := complex(1.0,0)
 --R                                                   Type: Complex(DoubleFloat)
 --E 1
 
---S 2 of 183
+--S 2 of 208
 dcabs1(t1)
 --R 
 --R
@@ -396,7 +396,7 @@ dcabs1(t1)
 --R                                                            Type: DoubleFloat
 --E 2
 
---S 3 of 183
+--S 3 of 208
 t2:Complex DoubleFloat := complex(1.0,1.0)
 --R 
 --R
@@ -404,7 +404,7 @@ t2:Complex DoubleFloat := complex(1.0,1.0)
 --R                                                   Type: Complex(DoubleFloat)
 --E 3
 
---S 4 of 183
+--S 4 of 208
 dcabs1(t2)
 --R 
 --R
@@ -412,7 +412,7 @@ dcabs1(t2)
 --R                                                            Type: DoubleFloat
 --E 4
 
---S 5 of 183
+--S 5 of 208
 t3:Complex DoubleFloat := complex(1.0,-1.0)
 --R 
 --R
@@ -420,7 +420,7 @@ t3:Complex DoubleFloat := complex(1.0,-1.0)
 --R                                                   Type: Complex(DoubleFloat)
 --E 5
 
---S 6 of 183
+--S 6 of 208
 dcabs1(t3)
 --R 
 --R
@@ -428,7 +428,7 @@ dcabs1(t3)
 --R                                                            Type: DoubleFloat
 --E 6
 
---S 7 of 183
+--S 7 of 208
 t4:Complex DoubleFloat := complex(-1.0,-1.0)
 --R 
 --R
@@ -436,7 +436,7 @@ t4:Complex DoubleFloat := complex(-1.0,-1.0)
 --R                                                   Type: Complex(DoubleFloat)
 --E 7
 
---S 8 of 183
+--S 8 of 208
 dcabs1(t4)
 --R 
 --R
@@ -444,7 +444,7 @@ dcabs1(t4)
 --R                                                            Type: DoubleFloat
 --E 8
 
---S 9 of 183
+--S 9 of 208
 t5:Complex DoubleFloat := complex(-2.0,-2.0)
 --R 
 --R
@@ -452,7 +452,7 @@ t5:Complex DoubleFloat := complex(-2.0,-2.0)
 --R                                                   Type: Complex(DoubleFloat)
 --E 9
 
---S 10 of 183
+--S 10 of 208
 dcabs1(t5)
 --R 
 --R
@@ -462,196 +462,196 @@ dcabs1(t5)
 
 )clear all
 
---S 11 of 183 
+--S 11 of 208 
 a:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4,0,5,0,6,0] ]
 --R
 --R   (1)  [1.,2.,3.,4.,0.,5.,0.,6.,0.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 11
 
---S 12 of 183 
+--S 12 of 208 
 dasum(3,a,-1) -- 0.0   neg incx
 --R
 --R   (2)  0.
 --R                                                            Type: DoubleFloat
 --E 12
 
---S 13 of 183 
+--S 13 of 208 
 dasum(3,a,0) --  0.0   zero incx
 --R
 --R   (3)  0.
 --R                                                            Type: DoubleFloat
 --E 13
 
---S 14 of 183 
+--S 14 of 208 
 dasum(-1,a,1) -- 0.0   neg elements
 --R
 --R   (4)  0.
 --R                                                            Type: DoubleFloat
 --E 14
 
---S 15 of 183 
+--S 15 of 208 
 dasum(0,a,1) --  0.0   no elements
 --R
 --R   (5)  0.
 --R                                                            Type: DoubleFloat
 --E 15
 
---S 16 of 183 
+--S 16 of 208 
 dasum(1,a,1) --  1.0   1.0
 --R
 --R   (6)  1.
 --R                                                            Type: DoubleFloat
 --E 16
 
---S 17 of 183 
+--S 17 of 208 
 dasum(2,a,1) --  3.0   1.0+2.0
 --R
 --R   (7)  3.
 --R                                                            Type: DoubleFloat
 --E 17
 
---S 18 of 183 
+--S 18 of 208 
 dasum(3,a,1) --  6.0   1.0+2.0+3.0
 --R
 --R   (8)  6.
 --R                                                            Type: DoubleFloat
 --E 18
 
---S 19 of 183 
+--S 19 of 208 
 dasum(4,a,1) -- 10.0   1.0+2.0+3.0+4.0
 --R
 --R   (9)  10.
 --R                                                            Type: DoubleFloat
 --E 19
 
---S 20 of 183 
+--S 20 of 208 
 dasum(5,a,1) -- 15.0   1.0+2.0+3.0+4.0+5.0
 --R
 --R   (10)  10.
 --R                                                            Type: DoubleFloat
 --E 20
 
---S 21 of 183 
+--S 21 of 208 
 dasum(6,a,1) -- 21.0   1.0+2.0+3.0+4.0+5.0+6.0
 --R
 --R   (11)  15.
 --R                                                            Type: DoubleFloat
 --E 21
 
---S 22 of 183 
+--S 22 of 208 
 dasum(7,a,1) -- 21.0   1.0+2.0+3.0+4.0+5.0+6.0
 --R
 --R   (12)  15.
 --R                                                            Type: DoubleFloat
 --E 22
 
---S 23 of 183 
+--S 23 of 208 
 dasum(1,a,2) --  1.0   1.0
 --R
 --R   (13)  1.
 --R                                                            Type: DoubleFloat
 --E 23
 
---S 24 of 183 
+--S 24 of 208 
 dasum(2,a,2) --  4.0   1.0+3.0
 --R
 --R   (14)  4.
 --R                                                            Type: DoubleFloat
 --E 24
 
---S 25 of 183 
+--S 25 of 208 
 dasum(3,a,2) --  9.0   1.0+3.0+5.0
 --R
 --R   (15)  4.
 --R                                                            Type: DoubleFloat
 --E 25
 
---S 26 of 183 
+--S 26 of 208 
 dasum(4,a,2) --  9.0   1.0+3.0+5.0
 --R
 --R   (16)  4.
 --R                                                            Type: DoubleFloat
 --E 26
 
---S 27 of 183 
+--S 27 of 208 
 dasum(1,a,3) --  1.0   1.0
 --R
 --R   (17)  1.
 --R                                                            Type: DoubleFloat
 --E 27
 
---S 28 of 183 
+--S 28 of 208 
 dasum(2,a,3) --  5.0   1.0+4.0
 --R
 --R   (18)  5.
 --R                                                            Type: DoubleFloat
 --E 28
 
---S 29 of 183 
+--S 29 of 208 
 dasum(3,a,3) --  5.0   1.0+4.0
 --R
 --R   (19)  5.
 --R                                                            Type: DoubleFloat
 --E 29
 
---S 30 of 183 
+--S 30 of 208 
 dasum(1,a,4) --  1.0   1.0
 --R
 --R   (20)  1.
 --R                                                            Type: DoubleFloat
 --E 30
 
---S 31 of 183 
+--S 31 of 208 
 dasum(2,a,4) --  6.0   1.0+5.0
 --R
 --R   (21)  1.
 --R                                                            Type: DoubleFloat
 --E 31
 
---S 32 of 183 
+--S 32 of 208 
 dasum(3,a,4) --  6.0   1.0+5.0
 --R
 --R   (22)  1.
 --R                                                            Type: DoubleFloat
 --E 32
 
---S 33 of 183 
+--S 33 of 208 
 dasum(1,a,5) --  1.0   1.0
 --R
 --R   (23)  1.
 --R                                                            Type: DoubleFloat
 --E 33
 
---S 34 of 183 
+--S 34 of 208 
 dasum(2,a,5) --  7.0   1.0+6.0
 --R
 --R   (24)  6.
 --R                                                            Type: DoubleFloat
 --E 34
 
---S 35 of 183 
+--S 35 of 208 
 dasum(3,a,5) --  7.0   1.0+6.0
 --R
 --R   (25)  6.
 --R                                                            Type: DoubleFloat
 --E 35
 
---S 36 of 183 
+--S 36 of 208 
 dasum(1,a,6) --  1.0   1.0
 --R
 --R   (26)  1.
 --R                                                            Type: DoubleFloat
 --E 36
 
---S 37 of 183 
+--S 37 of 208 
 dasum(2,a,6) --  1.0   1.0
 --R
 --R   (27)  1.
 --R                                                            Type: DoubleFloat
 --E 37
 
---S 38 of 183 
+--S 38 of 208 
 dasum(1,a,7) --  1.0   1.0
 --R
 --R   (28)  1.
@@ -660,7 +660,7 @@ dasum(1,a,7) --  1.0   1.0
 
 )clear all
 
---S 39 of 183
+--S 39 of 208
 a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -668,7 +668,7 @@ a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 39
 
---S 40 of 183
+--S 40 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -676,7 +676,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 40
 
---S 41 of 183
+--S 41 of 208
 daxpy(3,2.0,a,1,b,1)
 --R 
 --R
@@ -684,7 +684,7 @@ daxpy(3,2.0,a,1,b,1)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 41
 
---S 42 of 183
+--S 42 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -692,7 +692,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 42
 
---S 43 of 183
+--S 43 of 208
 daxpy(7,2.0,a,1,b,1)
 --R 
 --R
@@ -700,7 +700,7 @@ daxpy(7,2.0,a,1,b,1)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 43
 
---S 44 of 183
+--S 44 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -713,7 +713,7 @@ Note that Axiom properly handles array indexes that are out of bounds.
 The BLAS daxpy routine cannot check this condition.
 \begin{chunk}{BlasLevelOne.input}
 
---S 45 of 183
+--S 45 of 208
 daxpy(8,2.0,a,1,b,1)
 --R 
 --R
@@ -721,7 +721,7 @@ daxpy(8,2.0,a,1,b,1)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 45
 
---S 46 of 183
+--S 46 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -729,7 +729,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 46
 
---S 47 of 183
+--S 47 of 208
 daxpy(3,2.0,a,3,b,3)
 --R 
 --R
@@ -737,7 +737,7 @@ daxpy(3,2.0,a,3,b,3)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 47
 
---S 48 of 183
+--S 48 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -745,7 +745,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 48
 
---S 49 of 183
+--S 49 of 208
 daxpy(4,2.0,a,2,b,2)
 --R 
 --R
@@ -753,7 +753,7 @@ daxpy(4,2.0,a,2,b,2)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 49
 
---S 50 of 183
+--S 50 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -761,7 +761,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 50
 
---S 51 of 183
+--S 51 of 208
 daxpy(5,2.0,a,2,b,2)
 --R 
 --R
@@ -769,7 +769,7 @@ daxpy(5,2.0,a,2,b,2)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 51
 
---S 52 of 183
+--S 52 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -777,7 +777,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 52
 
---S 53 of 183
+--S 53 of 208
 daxpy(3,2.0,a,2,b,2)
 --R 
 --R
@@ -785,7 +785,7 @@ daxpy(3,2.0,a,2,b,2)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 53
 
---S 54 of 183
+--S 54 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -793,7 +793,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 54
 
---S 55 of 183
+--S 55 of 208
 daxpy(3,-2.0,a,2,b,2)
 --R 
 --R
@@ -801,7 +801,7 @@ daxpy(3,-2.0,a,2,b,2)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 55
 
---S 56 of 183
+--S 56 of 208
 a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0] ]
 --R 
 --R
@@ -809,7 +809,7 @@ a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 56
 
---S 57 of 183
+--S 57 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0] ]
 --R 
 --R
@@ -817,7 +817,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 57
 
---S 58 of 183
+--S 58 of 208
 daxpy(3,-2.0,a,1,b,2)
 --R 
 --R
@@ -825,7 +825,7 @@ daxpy(3,-2.0,a,1,b,2)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 58
 
---S 59 of 183
+--S 59 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -833,7 +833,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 59
 
---S 60 of 183
+--S 60 of 208
 daxpy(3,0.0,a,1,b,2)
 --R 
 --R
@@ -843,7 +843,7 @@ daxpy(3,0.0,a,1,b,2)
 
 )clear all
 
---S 61 of 183
+--S 61 of 208
 a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R 
 --R
@@ -851,7 +851,7 @@ a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 61
 
---S 62 of 183
+--S 62 of 208
 b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R 
 --R
@@ -859,7 +859,7 @@ b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 62
 
---S 63 of 183
+--S 63 of 208
 dcopy(3,a,1,b,1)
 --R 
 --R
@@ -867,7 +867,7 @@ dcopy(3,a,1,b,1)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 63
 
---S 64 of 183
+--S 64 of 208
 b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R 
 --R
@@ -875,7 +875,7 @@ b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 64
 
---S 65 of 183
+--S 65 of 208
 dcopy(7,a,1,b,1)
 --R 
 --R
@@ -883,7 +883,7 @@ dcopy(7,a,1,b,1)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 65
 
---S 66 of 183
+--S 66 of 208
 b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R 
 --R
@@ -891,7 +891,7 @@ b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 66
 
---S 67 of 183
+--S 67 of 208
 dcopy(8,a,1,b,1)
 --R 
 --R
@@ -899,7 +899,7 @@ dcopy(8,a,1,b,1)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 67
 
---S 68 of 183
+--S 68 of 208
 b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R 
 --R
@@ -907,7 +907,7 @@ b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 68
 
---S 69 of 183
+--S 69 of 208
 dcopy(3,a,3,b,3)
 --R 
 --R
@@ -915,7 +915,7 @@ dcopy(3,a,3,b,3)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 69
 
---S 70 of 183
+--S 70 of 208
 b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R 
 --R
@@ -923,7 +923,7 @@ b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 70
 
---S 71 of 183
+--S 71 of 208
 dcopy(4,a,2,b,2)
 --R 
 --R
@@ -931,7 +931,7 @@ dcopy(4,a,2,b,2)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 71
 
---S 72 of 183
+--S 72 of 208
 b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R 
 --R
@@ -939,7 +939,7 @@ b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 72
 
---S 73 of 183
+--S 73 of 208
 dcopy(5,a,2,b,2)
 --R 
 --R
@@ -947,7 +947,7 @@ dcopy(5,a,2,b,2)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 73
 
---S 74 of 183
+--S 74 of 208
 b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R 
 --R
@@ -955,7 +955,7 @@ b:PRIMARR(DFLOAT):=[ [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 74
 
---S 75 of 183
+--S 75 of 208
 dcopy(3,a,2,b,2)
 --R 
 --R
@@ -963,7 +963,7 @@ dcopy(3,a,2,b,2)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 75
 
---S 76 of 183
+--S 76 of 208
 a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0] ]
 --R 
 --R
@@ -971,7 +971,7 @@ a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 76
 
---S 77 of 183
+--S 77 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0] ]
 --R 
 --R
@@ -979,7 +979,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 77
 
---S 78 of 183
+--S 78 of 208
 dcopy(3,a,1,b,1)
 --R 
 --R
@@ -987,7 +987,7 @@ dcopy(3,a,1,b,1)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 78
 
---S 79 of 183
+--S 79 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0] ]
 --R 
 --R
@@ -995,7 +995,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 79
 
---S 80 of 183
+--S 80 of 208
 dcopy(3,a,1,b,2)
 --R 
 --R
@@ -1003,7 +1003,7 @@ dcopy(3,a,1,b,2)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 80
 
---S 81 of 183
+--S 81 of 208
 a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0] ]
 --R 
 --R
@@ -1011,7 +1011,7 @@ a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 81
 
---S 82 of 183
+--S 82 of 208
 b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0] ]
 --R 
 --R
@@ -1019,7 +1019,7 @@ b:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0] ]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 82
 
---S 83 of 183
+--S 83 of 208
 dcopy(5,a,1,b,1)
 --R 
 --R
@@ -1029,63 +1029,63 @@ dcopy(5,a,1,b,1)
 
 )clear all
 
---S 84 of 183
+--S 84 of 208
 a:PRIMARR(DFLOAT):=[ [ 1.0, 2.0, 3.0, 4.0, 5.0] ]
 --R
 --R   (1)  [1.,2.,3.,4.,5.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 84
 
---S 85 of 183
+--S 85 of 208
 b:PRIMARR(DFLOAT):=[ [ 5.0, 6.0, 7.0, 8.0, 9.0] ]
 --R
 --R   (2)  [5.,6.,7.,8.,9.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 85
 
---S 86 of 183
+--S 86 of 208
 ddot(0,a,1,b,1)
 --R
 --R   (3)  0.
 --R                                                            Type: DoubleFloat
 --E 86
 
---S 87 of 183
+--S 87 of 208
 ddot(3,a,1,b,1)
 --R
 --R   (4)  38.
 --R                                                            Type: DoubleFloat
 --E 87
 
---S 88 of 183
+--S 88 of 208
 ddot(3,a,1,b,2)
 --R
 --R   (5)  46.
 --R                                                            Type: DoubleFloat
 --E 88
 
---S 89 of 183
+--S 89 of 208
 ddot(3,a,2,b,1)
 --R
 --R   (6)  58.
 --R                                                            Type: DoubleFloat
 --E 89
 
---S 90 of 183
+--S 90 of 208
 ddot(3,a,1,b,-2)
 --R
 --R   (7)  38.
 --R                                                            Type: DoubleFloat
 --E 90
 
---S 91 of 183
+--S 91 of 208
 ddot(3,a,-2,b,1)
 --R
 --R   (8)  50.
 --R                                                            Type: DoubleFloat
 --E 91
 
---S 92 of 183
+--S 92 of 208
 ddot(3,a,-2,b,-2)
 --R
 --R   (9)  71.
@@ -1094,28 +1094,28 @@ ddot(3,a,-2,b,-2)
 
 )clear all
 
---S 93 of 183
+--S 93 of 208
 a:PRIMARR(DFLOAT):=[ [ 3.0, -4.0, 5.0, -7.0, 9.0] ]
 --R
 --R   (1)  [3.,- 4.,5.,- 7.,9.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 93
 
---S 94 of 183
+--S 94 of 208
 dnrm2(3,a,1)
 --R
 --R   (2)  7.0710678118654755
 --R                                                            Type: DoubleFloat
 --E 94
 
---S 95 of 183
+--S 95 of 208
 dnrm2(5,a,1)
 --R
 --R   (3)  13.416407864998739
 --R                                                            Type: DoubleFloat
 --E 95
 
---S 96 of 183
+--S 96 of 208
 dnrm2(3,a,2)
 --R
 --R   (4)  10.723805294763608
@@ -1123,7 +1123,7 @@ dnrm2(3,a,2)
 --E 96
 
 )clear all
---S 97 of 183
+--S 97 of 208
 a:MATRIX(DFLOAT):=[[6,5,0],[5,1,4],[0,4,3]] 
 --R
 --R        +6.  5.  0.+
@@ -1134,7 +1134,7 @@ a:MATRIX(DFLOAT):=[[6,5,0],[5,1,4],[0,4,3]]
 --R                                                    Type: Matrix(DoubleFloat)
 --E 97
 
---S 98 of 183
+--S 98 of 208
 t1:=drotg(elt(a,1,1),elt(a,1,2),0.0,0.0)
 --R
 --R   (2)
@@ -1143,7 +1143,7 @@ t1:=drotg(elt(a,1,1),elt(a,1,2),0.0,0.0)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 98
 
---S 99 of 183
+--S 99 of 208
 g1:MATRIX(DFLOAT):=[[elt(t1,2), elt(t1,3),0.0],_
                     [-elt(t1,3),elt(t1,2),0.0],_
                     [0.0,       0.0,      1.0]]
@@ -1157,7 +1157,7 @@ g1:MATRIX(DFLOAT):=[[elt(t1,2), elt(t1,3),0.0],_
 --R                                                    Type: Matrix(DoubleFloat)
 --E 99
 
---S 100 of 183
+--S 100 of 208
 t2:=g1*a
 --R
 --R        +   7.810249675906654       4.4812907976513596   2.5607375986579197+
@@ -1168,7 +1168,7 @@ t2:=g1*a
 --R                                                    Type: Matrix(DoubleFloat)
 --E 100
 
---S 101 of 183
+--S 101 of 208
 t3:=drotg(elt(t2,2,2),elt(a,3,2),0.0,0.0)
 --R
 --R   (5)
@@ -1177,7 +1177,7 @@ t3:=drotg(elt(t2,2,2),elt(a,3,2),0.0,0.0)
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 101
 
---S 102 of 183
+--S 102 of 208
 g2:MATRIX(DFLOAT):=[[1.0, 0.0,      0.0],_
                     [0.0, elt(t3,2),elt(t3,3)],_
                     [0.0,-elt(t3,3),elt(t3,2)]]
@@ -1191,7 +1191,7 @@ g2:MATRIX(DFLOAT):=[[1.0, 0.0,      0.0],_
 --R                                                    Type: Matrix(DoubleFloat)
 --E 102
 
---S 103 of 183
+--S 103 of 208
 g2*g1*a
 --R
 --R        +   7.810249675906654      4.4812907976513596   2.5607375986579197 +
@@ -1202,7 +1202,7 @@ g2*g1*a
 --R                                                    Type: Matrix(DoubleFloat)
 --E 103
 
---S 104 of 183
+--S 104 of 208
 q:=transpose(g1)*transpose(g2)
 --R
 --R        +0.76822127959737585   0.33265417936007158    0.54697098874441952 +
@@ -1215,21 +1215,21 @@ q:=transpose(g1)*transpose(g2)
 
 )clear all
 
---S 105 of 183
+--S 105 of 208
 dx:PRIMARR(DFLOAT):=[[6,0, 1.0, 4.0, -1.0, -1.0]] 
 --R
 --R   (1)  [6.,0.,1.,4.,- 1.,- 1.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 105
 
---S 106 of 183
+--S 106 of 208
 dy:PRIMARR(DFLOAT):=[[5.0, 1.0, -4.0, 4.0, -4.0]] 
 --R
 --R   (2)  [5.,1.,- 4.,4.,- 4.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 106
 
---S 107 of 183
+--S 107 of 208
 drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate by 45 degrees 
 --R
 --R   (3)
@@ -1244,7 +1244,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate by 45 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 107
 
---S 108 of 183
+--S 108 of 208
 [dx,dy] -- note that the input arguments, dx and dy were modified
 --R
 --R   (4)
@@ -1259,7 +1259,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate by 45 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 108
 
---S 109 of 183
+--S 109 of 208
 drot(5,dx,1,dy,1,0.707106781,-0.707106781) -- rotate by -45 degrees 
 --R
 --R   (5)
@@ -1274,7 +1274,7 @@ drot(5,dx,1,dy,1,0.707106781,-0.707106781) -- rotate by -45 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 109
 
---S 110 of 183
+--S 110 of 208
 [dx,dy] -- note that the input arguments, dx and dy were modified
 --R
 --R   (6)
@@ -1289,21 +1289,21 @@ drot(5,dx,1,dy,1,0.707106781,-0.707106781) -- rotate by -45 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 110
 
---S 111 of 183
+--S 111 of 208
 dx:PRIMARR(DFLOAT):=[[6,0, 1.0, 4.0, -1.0, -1.0]] 
 --R
 --R   (7)  [6.,0.,1.,4.,- 1.,- 1.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 111
 
---S 112 of 183
+--S 112 of 208
 dy:PRIMARR(DFLOAT):=[[5.0, 1.0, -4.0, 4.0, -4.0]] 
 --R
 --R   (8)  [5.,1.,- 4.,4.,- 4.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 112
 
---S 113 of 183
+--S 113 of 208
 drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate by 45 degrees 
 --R
 --R   (9)
@@ -1318,7 +1318,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate by 45 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 113
 
---S 114 of 183
+--S 114 of 208
 drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 90 degrees
 --R
 --R   (10)
@@ -1333,7 +1333,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 90 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 114
 
---S 115 of 183
+--S 115 of 208
 drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 135 degrees
 --R
 --R   (11)
@@ -1348,7 +1348,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 135 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 115
 
---S 116 of 183
+--S 116 of 208
 drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 180 degrees
 --R
 --R   (12)
@@ -1363,7 +1363,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 180 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 116
 
---S 117 of 183
+--S 117 of 208
 drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 225 degrees 
 --R
 --R   (13)
@@ -1378,7 +1378,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 225 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 117
 
---S 118 of 183
+--S 118 of 208
 drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 270 degrees 
 --R
 --R   (14)
@@ -1393,7 +1393,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 270 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 118
 
---S 119 of 183
+--S 119 of 208
 drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 315 degrees 
 --R
 --R   (15)
@@ -1408,7 +1408,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 315 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 119
 
---S 120 of 183
+--S 120 of 208
 drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 360 degrees 
 --R
 --R   (16)
@@ -1423,7 +1423,7 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 360 degrees
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 120
 
---S 121 of 183
+--S 121 of 208
 [dx,dy] -- note that the input arguments, dx and dy were modified
 --R
 --R   (17)
@@ -1439,42 +1439,42 @@ drot(5,dx,1,dy,1,0.707106781,0.707106781) -- rotate to 360 degrees
 --E 121
 
 )clear all
---S 122 of 183
+--S 122 of 208
 dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]]
 --R
 --R   (1)  [1.,2.,3.,4.,5.,6.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 122
 
---S 123 of 183
+--S 123 of 208
 dscal(6,2.0,dx,1)
 --R
 --R   (2)  [2.,4.,6.,8.,10.,12.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 123
 
---S 124 of 183
+--S 124 of 208
 dx
 --R
 --R   (3)  [2.,4.,6.,8.,10.,12.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 124
 
---S 125 of 183
+--S 125 of 208
 dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]]
 --R
 --R   (4)  [1.,2.,3.,4.,5.,6.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 125
 
---S 126 of 183
+--S 126 of 208
 dscal(3,0.5,dx,1)
 --R
 --R   (5)  [0.5,1.,1.5,4.,5.,6.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 126
 
---S 127 of 183
+--S 127 of 208
 dx
 --R
 --R   (6)  [0.5,1.,1.5,4.,5.,6.]
@@ -1483,63 +1483,63 @@ dx
 
 )clear all
 
---S 128 of 183
+--S 128 of 208
 dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0,  5.0]]
 --R
 --R   (1)  [1.,2.,3.,4.,5.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 128
 
---S 129 of 183
+--S 129 of 208
 dy:PRIMARR(DFLOAT):=[[9.0, 8.0, 7.0, 6.0, -5.0]]
 --R
 --R   (2)  [9.,8.,7.,6.,- 5.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 129
 
---S 130 of 183
+--S 130 of 208
 dswap(5,dx,1,dy,1)
 --R
 --R   (3)  [[9.,8.,7.,6.,- 5.],[1.,2.,3.,4.,5.]]
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 130
 
---S 131 of 183
+--S 131 of 208
 dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0,  5.0]]
 --R
 --R   (4)  [1.,2.,3.,4.,5.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 131
 
---S 132 of 183
+--S 132 of 208
 dy:PRIMARR(DFLOAT):=[[9.0, 8.0, 7.0, 6.0, -5.0]]
 --R
 --R   (5)  [9.,8.,7.,6.,- 5.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 132
 
---S 133 of 183
+--S 133 of 208
 dswap(3,dx,2,dy,2)
 --R
 --R   (6)  [[9.,2.,7.,4.,- 5.],[1.,8.,3.,6.,5.]]
 --R                                      Type: List(PrimitiveArray(DoubleFloat))
 --E 133
 
---S 134 of 183
+--S 134 of 208
 dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0,  5.0]]
 --R
 --R   (7)  [1.,2.,3.,4.,5.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 134
 
---S 135 of 183
+--S 135 of 208
 dy:PRIMARR(DFLOAT):=[[9.0, 8.0, 7.0, 6.0, -5.0]]
 --R
 --R   (8)  [9.,8.,7.,6.,- 5.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 135
 
---S 136 of 183
+--S 136 of 208
 dswap(5,dx,1,dy,-1)
 --R
 --R   (9)  [[9.,8.,7.,6.,- 5.],[1.,2.,3.,4.,5.]]
@@ -1548,28 +1548,28 @@ dswap(5,dx,1,dy,-1)
 
 )clear all
 
---S 137 of 183
+--S 137 of 208
 d:PRIMARR(COMPLEX(DFLOAT)):=[[1.0+2.0*%i,-3.0+4.0*%i,5.0-6.0*%i]] 
 --R
 --R   (1)  [1. + 2. %i,- 3. + 4. %i,5. - 6. %i]
 --R                                   Type: PrimitiveArray(Complex(DoubleFloat))
 --E 137
 
---S 138 of 183
+--S 138 of 208
 dzasum(3,d,1) -- 21.0 
 --R
 --R   (2)  21.
 --R                                                            Type: DoubleFloat
 --E 138
 
---S 139 of 183
+--S 139 of 208
 dzasum(3,d,2) -- 14.0 
 --R
 --R   (3)  14.
 --R                                                            Type: DoubleFloat
 --E 139
 
---S 140 of 183
+--S 140 of 208
 dzasum(-3,d,1) -- 0.0
 --R
 --R   (4)  0.
@@ -1578,7 +1578,7 @@ dzasum(-3,d,1) -- 0.0
 
 )clear all
 
---S 141 of 183
+--S 141 of 208
 a:PRIMARR(COMPLEX(DFLOAT)):=_
   [[3.+4.*%i, -4.+5.*%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*%i]] 
 --R
@@ -1586,49 +1586,49 @@ a:PRIMARR(COMPLEX(DFLOAT)):=_
 --R                                   Type: PrimitiveArray(Complex(DoubleFloat))
 --E 141
 
---S 142 of 183
+--S 142 of 208
 dznrm2(5,a,1) -- should be 18.028 
 --R
 --R   (2)  18.027756377319946
 --R                                                            Type: DoubleFloat
 --E 142
 
---S 143 of 183
+--S 143 of 208
 dznrm2(3,a,2) -- should be 13.077 
 --R
 --R   (3)  13.076696830622021
 --R                                                            Type: DoubleFloat
 --E 143
 
---S 144 of 183
+--S 144 of 208
 dznrm2(3,a,1) -- should be 11.269 
 --R
 --R   (4)  11.269427669584644
 --R                                                            Type: DoubleFloat
 --E 144
 
---S 145 of 183
+--S 145 of 208
 dznrm2(3,a,-1) -- should be 0.0 
 --R
 --R   (5)  0.
 --R                                                            Type: DoubleFloat
 --E 145
 
---S 146 of 183
+--S 146 of 208
 dznrm2(-3,a,-1) -- should be 0.0 
 --R
 --R   (6)  0.
 --R                                                            Type: DoubleFloat
 --E 146
 
---S 147 of 183
+--S 147 of 208
 dznrm2(1,a,1) -- should be 5.0 
 --R
 --R   (7)  5.
 --R                                                            Type: DoubleFloat
 --E 147
 
---S 148 of 183
+--S 148 of 208
 dznrm2(1,a,2) -- should be 5.0
 --R
 --R   (8)  5.
@@ -1637,47 +1637,47 @@ dznrm2(1,a,2) -- should be 5.0
 
 )clear all
 
---S 149 of 183
+--S 149 of 208
 a:PRIMARR(COMPLEX(FLOAT))
 --R                                                                   Type: Void
 --E 149
 
---S 150 of 183
+--S 150 of 208
 a:=[[3.+4.*%i,-4.+5.*%i,5.+6.*%i,7.-8.*%i,-9.-2.*%i]]
 --R
 --R   (2)  [3.0 + 4.0 %i,- 4.0 + 5.0 %i,5.0 + 6.0 %i,7.0 - 8.0 %i,- 9.0 - 2.0 %i]
 --R                                         Type: PrimitiveArray(Complex(Float))
 --E 150
 
---S 151 of 183
+--S 151 of 208
 icamax(5,a,1)  -- should be 3
 --R
 --R   (3)  3
 --R                                                        Type: PositiveInteger
 --E 151
 
---S 152 of 183
+--S 152 of 208
 icamax(0,a,1)  -- should be -1
 --R
 --R   (4)  - 1
 --R                                                                Type: Integer
 --E 152
 
---S 153 of 183
+--S 153 of 208
 icamax(5,a,-1) -- should be -1
 --R
 --R   (5)  - 1
 --R                                                                Type: Integer
 --E 153
 
---S 154 of 183
+--S 154 of 208
 icamax(3,a,1)  -- should be 2
 --R
 --R   (6)  2
 --R                                                        Type: PositiveInteger
 --E 155
 
---S 155 of 183
+--S 155 of 208
 icamax(3,a,2)  -- should be 1
 --R
 --R   (7)  1
@@ -1686,77 +1686,77 @@ icamax(3,a,2)  -- should be 1
 
 )clear all
 
---S 156 of 183
+--S 156 of 208
 a:PRIMARR(DFLOAT):=[[3.0, 4.0, -3.0, 5.0, -1.0]]
 --R
 --R   (1)  [3.,4.,- 3.,5.,- 1.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 156
 
---S 157 of 183
+--S 157 of 208
 idamax(5,a,1)  -- should be 3
 --R
 --R   (2)  3
 --R                                                        Type: PositiveInteger
 --E 157
 
---S 158 of 183
+--S 158 of 208
 idamax(3,a,1)  -- should be 1
 --R
 --R   (3)  1
 --R                                                        Type: PositiveInteger
 --E 158
 
---S 159 of 183
+--S 159 of 208
 idamax(0,a,1)  -- should be -1
 --R
 --R   (4)  - 1
 --R                                                                Type: Integer
 --E 159
 
---S 160 of 183
+--S 160 of 208
 idamax(-5,a,1) -- should be -1
 --R
 --R   (5)  - 1
 --R                                                                Type: Integer
 --E 160
 
---S 161 of 183
+--S 161 of 208
 idamax(5,a,-1) -- should be -1 
 --R
 --R   (6)  - 1
 --R                                                                Type: Integer
 --E 161
 
---S 162 of 183
+--S 162 of 208
 idamax(5,a,2)  -- should be 0
 --R
 --R   (7)  0
 --R                                                     Type: NonNegativeInteger
 --E 162
 
---S 163 of 183
+--S 163 of 208
 idamax(1,a,0)  -- should be -1 
 --R
 --R   (8)  - 1
 --R                                                                Type: Integer
 --E 163
 
---S 164 of 183
+--S 164 of 208
 idamax(1,a,-1) -- should be -1 
 --R
 --R   (9)  - 1
 --R                                                                Type: Integer
 --E 164
 
---S 165 of 183
+--S 165 of 208
 a:PRIMARR(DFLOAT):=[[3.0, 4.0, -3.0, -5.0, -1.0]]
 --R
 --R   (10)  [3.,4.,- 3.,- 5.,- 1.]
 --R                                            Type: PrimitiveArray(DoubleFloat)
 --E 165
 
---S 166 of 183
+--S 166 of 208
 idamax(5,a,1)  -- should be 3
 --R
 --R   (11)  3
@@ -1765,7 +1765,7 @@ idamax(5,a,1)  -- should be 3
 
 )clear all
 
---S 167 of 183
+--S 167 of 208
 a:PRIMARR(FLOAT):=[[3.0, 4.0, -3.0, 5.0, -1.0]]
 --R 
 --R
@@ -1773,63 +1773,63 @@ a:PRIMARR(FLOAT):=[[3.0, 4.0, -3.0, 5.0, -1.0]]
 --R                                                  Type: PrimitiveArray(Float)
 --E 167
 
---S 168 of 183
+--S 168 of 208
 isamax(5,a,1)  -- should be 3
 --R
 --R   (2)  3
 --R                                                        Type: PositiveInteger
 --E 168
 
---S 169 of 183
+--S 169 of 208
 isamax(3,a,1)  -- should be 1
 --R
 --R   (3)  1
 --R                                                        Type: PositiveInteger
 --E 169
 
---S 170 of 183
+--S 170 of 208
 isamax(0,a,1)  -- should be -1
 --R
 --R   (4)  - 1
 --R                                                                Type: Integer
 --E 170
 
---S 171 of 183
+--S 171 of 208
 isamax(-5,a,1) -- should be -1
 --R
 --R   (5)  - 1
 --R                                                                Type: Integer
 --E 171
 
---S 172 of 183
+--S 172 of 208
 isamax(5,a,-1) -- should be -1 
 --R
 --R   (6)  - 1
 --R                                                                Type: Integer
 --E 172
 
---S 173 of 183
+--S 173 of 208
 isamax(5,a,2)  -- should be 0
 --R
 --R   (7)  0
 --R                                                     Type: NonNegativeInteger
 --E 173
 
---S 174 of 183
+--S 174 of 208
 isamax(1,a,0)  -- should be -1 
 --R
 --R   (8)  - 1
 --R                                                                Type: Integer
 --E 174
 
---S 175 of 183
+--S 175 of 208
 isamax(1,a,-1) -- should be -1 
 --R
 --R   (9)  - 1
 --R                                                                Type: Integer
 --E 175
 
---S 176 of 183
+--S 176 of 208
 a:PRIMARR(FLOAT):=[[3.0, 4.0, -3.0, -5.0, -1.0]]
 --R 
 --R
@@ -1837,7 +1837,7 @@ a:PRIMARR(FLOAT):=[[3.0, 4.0, -3.0, -5.0, -1.0]]
 --R                                                  Type: PrimitiveArray(Float)
 --E 176
 
---S 177 of 183
+--S 177 of 208
 isamax(5,a,1)  -- should be 3
 --R
 --R   (11)  3
@@ -1846,48 +1846,227 @@ isamax(5,a,1)  -- should be 3
 
 )clear all
 
---S 178 of 183
+--S 178 of 208
 a:PRIMARR(COMPLEX(DFLOAT)):=[[3.+4.*%i,-4.+5.*%i,5.+6.*%i,7.-8.*%i,-9.-2.*%i]]
 --R
 --R   (1)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
 --R                                   Type: PrimitiveArray(Complex(DoubleFloat))
 --E 178
 
---S 179 of 183
+--S 179 of 208
 izamax(5,a,1)  -- should be 3
 --R
 --R   (2)  3
 --R                                                        Type: PositiveInteger
 --E 179
 
---S 180 of 183
+--S 180 of 208
 izamax(0,a,1)  -- should be -1
 --R
 --R   (3)  - 1
 --R                                                                Type: Integer
 --E 180
 
---S 181 of 183
+--S 181 of 208
 izamax(5,a,-1) -- should be -1
 --R
 --R   (4)  - 1
 --R                                                                Type: Integer
 --E 181
 
---S 182 of 183
+--S 182 of 208
 izamax(3,a,1)  -- should be 2
 --R
 --R   (5)  2
 --R                                                        Type: PositiveInteger
 --E 182
 
---S 183 of 183
+--S 183 of 208
 izamax(3,a,2)  -- should be 1 
 --R
 --R   (6)  1
 --R                                                        Type: PositiveInteger
 --E 183
 
+)clear all
+
+--S 184 of 208
+a:PRIMARR(COMPLEX(DFLOAT)):=_
+     [[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (1)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 184
+
+--S 185 of 208
+b:PRIMARR(COMPLEX(DFLOAT)):=_
+     [[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (2)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 185
+
+--S 186 of 208
+zaxpy(3,2.0,a,1,b,1)
+--R
+--R   (3)  [9. + 12. %i,- 12. + 15. %i,15. + 18. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 186
+
+--S 187 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (4)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 187
+
+--S 188 of 208
+zaxpy(5,2.0,a,1,b,1)
+--R
+--R   (5)  [9. + 12. %i,- 12. + 15. %i,15. + 18. %i,21. - 24. %i,- 27. - 6. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 188
+
+--S 189 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (6)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 189
+
+--S 190 of 208
+zaxpy(3,2.0,a,3,b,3)
+--R
+--R   (7)  [9. + 12. %i,- 4. + 5. %i,5. + 6. %i,21. - 24. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 190
+
+--S 191 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (8)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 191
+
+--S 192 of 208
+zaxpy(4,2.0,a,2,b,2)
+--R
+--R   (9)  [9. + 12. %i,- 4. + 5. %i,15. + 18. %i,7. - 8. %i,- 27. - 6. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 192
+
+--S 193 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (10)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 193
+
+--S 194 of 208
+zaxpy(3,2.0,a,2,b,2)
+--R
+--R   (11)  [9. + 12. %i,- 4. + 5. %i,15. + 18. %i,7. - 8. %i,- 27. - 6. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 194
+
+--S 195 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (12)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 195
+
+--S 196 of 208
+zaxpy(3,-2.0,a,1,b,2)
+--R
+--R   (13)  [- 3. - 4. %i,- 4. + 5. %i,13. - 4. %i,7. - 8. %i,- 19. - 14. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 196
+
+--S 197 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (14)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 197
+
+--S 198 of 208
+zaxpy(3,2.0,a,1,b,2)
+--R
+--R   (15)  [9. + 12. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,1. + 10. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 198
+
+--S 199 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (16)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 199
+
+--S 200 of 208
+zaxpy(-3,2.0,a,1,b,2)
+--R
+--R   (17)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 200
+
+--S 201 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (18)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 201
+
+--S 202 of 208
+zaxpy(3,2.0,a,-1,b,2)
+--R
+--R   (19)  [13. + 16. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,- 3. + 6. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 202
+
+--S 203 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (20)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 203
+
+--S 204 of 208
+zaxpy(3,2.0,a,1,b,-2)
+--R
+--R   (21)  [13. + 16. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,- 3. + 6. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 204
+
+--S 205 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (22)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 205
+
+--S 206 of 208
+zaxpy(3,2.0,a,-1,b,-2)
+--R
+--R   (23)  [9. + 12. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,1. + 10. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 206
+
+--S 207 of 208
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (24)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 207
+
+--S 208 of 208
+zaxpy(3,0.0,a,1,b,1)
+--R
+--R   (25)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                   Type: PrimitiveArray(Complex(DoubleFloat))
+--E 208
+
 )spool
 )lisp (bye)
 \end{chunk}
@@ -2161,6 +2340,24 @@ BlasLevelOne() : Exports == Implementation where
       ++X izamax(3,a,1)  -- should be 2
       ++X izamax(3,a,2)  -- should be 1 
 
+    zaxpy: (SI, CDF, PCDF, SI, PCDF, SI) -> PCDF 
+      ++ zaxpy(n,da,x,incx,y,incy) computes a y = a*x + y
+      ++ for each of the chosen elements of the vectors x and y
+      ++ and a constant multiplier a
+      ++ Note that the vector y is modified with the results.
+      ++
+      ++X a:PRIMARR(COMPLEX(DFLOAT))
+      ++X a:=[[3.+4.*%i, -4.+5.*%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*%i]]
+      ++X b:PRIMARR(COMPLEX(DFLOAT))
+      ++X b:=[[3.+4.*%i, -4.+5.*%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*%i]]
+      ++X zaxpy(3,2.0,a,1,b,1)
+      ++X b:=[[3.+4.*%i, -4.+5.*%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*%i]]
+      ++X zaxpy(5,2.0,a,1,b,1)
+      ++X b:=[[3.+4.*%i, -4.+5.*%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*%i]]
+      ++X zaxpy(3,2.0,a,3,b,3)
+      ++X b:=[[3.+4.*%i, -4.+5.*%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*%i]]
+      ++X zaxpy(4,2.0,a,2,b,2)
+
   Implementation  == add
 
       dcabs1(z:CDF):DF == 
@@ -2195,6 +2392,9 @@ BlasLevelOne() : Exports == Implementation where
         ISAMAXSPAD(n,dz,incx)$Lisp
       izamax(n:SI,dz:PCDF,incx:SI):INT ==
         IZAMAXSPAD(n,dz,incx)$Lisp
+      zaxpy(n:SI,da:CDF,dx:PCDF,incx:SI,dy:PCDF,incy:SI):PCDF ==
+        ZAXPYSPAD(n,da,dx,incx,dy,incy)$Lisp
+
 
 \end{chunk}
 \begin{chunk}{BLAS1.dotabb}
@@ -3755,12 +3955,7 @@ b(4)= 4.000 b(5)=11.000 b(6)= 6.000 b(7)= 7.000
               (> incx 0) (< (* (1- n) incx) maxx)
               (> incy 0) (< (* (1- n) incy) maxy))
     (if (and (= incx 1) (= incy 1))
-     ; unit increments
      (dotimes (i n)
-         ; (format t "dy(~s)[~s] = dy(~s)[~s] + ( da[~s] * dx(~s)[~s] )~%"
-         ;  i (+ (svref dy i) (* da (svref dx i)))
-         ;  i (svref dy i) 
-         ;  da i (svref dx i))
        (setf (the double-float (svref dy i))
         (+ (the double-float (svref dy i))
            (* (the double-float da)
@@ -3769,12 +3964,8 @@ b(4)= 4.000 b(5)=11.000 b(6)= 6.000 b(7)= 7.000
      (let ((ix 0) (iy 0))
       (declare (type fixnum ix iy))
       (when (< incx 0) (setq ix (* (1+ (- n)) incx)))
-      (when (< incy 0) (setq ix (* (1+ (- n)) incy)))
+      (when (< incy 0) (setq iy (* (1+ (- n)) incy)))
       (dotimes (i n)
-          ; (format t "dy(~s)[~s] = dy(~s)[~s] + ( da[~s] * dx(~s)[~s] )~%"
-          ;  iy (+ (svref dy iy) (* da (svref dx ix)))
-          ;  iy (svref dy iy) 
-          ;  da ix (svref dx ix))
         (setf (the double-float (svref dy iy))
          (+ (the double-float (svref dy iy))
             (* (the double-float da)
@@ -9199,6 +9390,183 @@ the results are displaced by 1.
 )set message auto off
 )clear all
 
+--S 1 of 25
+a:PRIMARR(COMPLEX(DFLOAT)):=_
+     [[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (1)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 1
+
+--S 2 of 25
+b:PRIMARR(COMPLEX(DFLOAT)):=_
+     [[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (2)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 2
+
+--S 3 of 25
+zaxpy(3,2.0,a,1,b,1)
+--R
+--R   (3)  [9. + 12. %i,- 12. + 15. %i,15. + 18. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 3
+
+--S 4 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (4)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 4
+
+--S 5 of 25
+zaxpy(5,2.0,a,1,b,1)
+--R
+--R   (5)  [9. + 12. %i,- 12. + 15. %i,15. + 18. %i,21. - 24. %i,- 27. - 6. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 5
+
+--S 6 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (6)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 6
+
+--S 7 of 25
+zaxpy(3,2.0,a,3,b,3)
+--R
+--R   (7)  [9. + 12. %i,- 4. + 5. %i,5. + 6. %i,21. - 24. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 7
+
+--S 8 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (8)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 8
+
+--S 9 of 25
+zaxpy(4,2.0,a,2,b,2)
+--R
+--R   (9)  [9. + 12. %i,- 4. + 5. %i,15. + 18. %i,7. - 8. %i,- 27. - 6. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 9
+
+--S 10 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (10)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 10
+
+--S 11 of 25
+zaxpy(3,2.0,a,2,b,2)
+--R
+--R   (11)  [9. + 12. %i,- 4. + 5. %i,15. + 18. %i,7. - 8. %i,- 27. - 6. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 11
+
+--S 12 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (12)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 12
+
+--S 13 of 25
+zaxpy(3,-2.0,a,1,b,2)
+--R
+--R   (13)  [- 3. - 4. %i,- 4. + 5. %i,13. - 4. %i,7. - 8. %i,- 19. - 14. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 13
+
+--S 14 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (14)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 14
+
+--S 15 of 25
+zaxpy(3,2.0,a,1,b,2)
+--R
+--R   (15)  [9. + 12. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,1. + 10. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 15
+
+--S 16 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (16)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 16
+
+--S 17 of 25
+zaxpy(-3,2.0,a,1,b,2)
+--R
+--R   (17)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 17
+
+--S 18 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (18)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 18
+
+--S 19 of 25
+zaxpy(3,2.0,a,-1,b,2)
+--R
+--R   (19)  [13. + 16. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,- 3. + 6. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 19
+
+--S 20 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (20)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 20
+
+--S 21 of 25
+zaxpy(3,2.0,a,1,b,-2)
+--R
+--R   (21)  [13. + 16. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,- 3. + 6. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 21
+
+--S 22 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (22)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 22
+
+--S 23 of 25
+zaxpy(3,2.0,a,-1,b,-2)
+--R
+--R   (23)  [9. + 12. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,1. + 10. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 23
+
+--S 24 of 25
+b:=[[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+--R
+--R   (24)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 24
+
+--S 25 of 25
+zaxpy(3,0.0,a,1,b,1)
+--R
+--R   (25)  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+--R                                     Type: PrimitiveArray Complex DoubleFloat
+--E 25
+
 )spool
 )lisp (bye)
 \end{chunk}
@@ -9207,6 +9575,65 @@ the results are displaced by 1.
 zaxpy examples
 ====================================================================
 
+a:PRIMARR(COMPLEX(DFLOAT)):=_
+     [[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+
+b:PRIMARR(COMPLEX(DFLOAT)):=_
+     [[3.0+4.0*%i, -4.0+5.0*%i, 5.0+6.0*%i, 7.0-8.0*%i, -9.0-2.0*%i]]
+
+  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+
+zaxpy(3,2.0,a,1,b,1)
+
+  [9. + 12. %i,- 12. + 15. %i,15. + 18. %i,7. - 8. %i,- 9. - 2. %i]
+
+NOTE: We reset b to the above value before every execution
+
+zaxpy(5,2.0,a,1,b,1)
+
+  [9. + 12. %i,- 12. + 15. %i,15. + 18. %i,21. - 24. %i,- 27. - 6. %i]
+
+zaxpy(3,2.0,a,3,b,3)
+
+  [9. + 12. %i,- 4. + 5. %i,5. + 6. %i,21. - 24. %i,- 9. - 2. %i]
+
+zaxpy(4,2.0,a,2,b,2)
+
+  [9. + 12. %i,- 4. + 5. %i,15. + 18. %i,7. - 8. %i,- 27. - 6. %i]
+
+zaxpy(3,2.0,a,2,b,2)
+
+  [9. + 12. %i,- 4. + 5. %i,15. + 18. %i,7. - 8. %i,- 27. - 6. %i]
+
+zaxpy(3,-2.0,a,1,b,2)
+
+  [- 3. - 4. %i,- 4. + 5. %i,13. - 4. %i,7. - 8. %i,- 19. - 14. %i]
+
+zaxpy(3,2.0,a,1,b,2)
+
+  [9. + 12. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,1. + 10. %i]
+
+zaxpy(-3,2.0,a,1,b,2)
+
+  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+
+zaxpy(3,2.0,a,-1,b,2)
+
+  [13. + 16. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,- 3. + 6. %i]
+
+zaxpy(3,2.0,a,1,b,-2)
+
+  [13. + 16. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,- 3. + 6. %i]
+
+zaxpy(3,2.0,a,-1,b,-2)
+
+  [9. + 12. %i,- 4. + 5. %i,- 3. + 16. %i,7. - 8. %i,1. + 10. %i]
+
+zaxpy(3,0.0,a,1,b,1)
+
+  [3. + 4. %i,- 4. + 5. %i,5. + 6. %i,7. - 8. %i,- 9. - 2. %i]
+
 ====================================================================
 Man Page Details
 ====================================================================
@@ -9290,16 +9717,6 @@ Arguments are:
 \item incy - fixnum
 \end{itemize}
 
-Return values are:
-\begin{itemize}
-\item 1 nil
-\item 2 nil
-\item 3 nil
-\item 4 nil
-\item 5 nil
-\item 6 nil
-\end{itemize}
-
 \begin{chunk}{zaxpy.f}
       subroutine zaxpy(n,za,zx,incx,zy,incy)
 c
@@ -9338,52 +9755,409 @@ c
 
 \end{chunk}
 
+\begin{chunk}{zaxpyEX example}
+       program zaxpyEX
+*      Tim Daly May 20, 2012
+*      unit tests for BLAS zaxpy (a*x+y)
+       double complex a(5)
+       double complex b(5)
+       double complex c(5)
+       a(1) = ( 3.0D0, 4.0D0)
+       a(2) = (-4.0D0, 5.0D0)
+       a(3) = ( 5.0D0, 6.0D0)
+       a(4) = ( 7.0D0,-8.0D0)
+       a(5) = (-9.0D0,-2.0D0)
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       write(6,100)a(1),a(2),a(3),a(4),a(5)
+ 100   format("a(1)=(",f7.2,",",f7.2,")",/
+     C        "a(2)=(",f7.2,",",f7.2,")",/
+     C        "a(3)=(",f7.2,",",f7.2,")",/
+     C        "a(4)=(",f7.2,",",f7.2,")",/
+     C        "a(5)=(",f7.2,",",f7.2,")")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+ 101   format(/,"b(1)=(",f7.2,",",f7.2,")",/
+     C        "b(2)=(",f7.2,",",f7.2,")",/
+     C        "b(3)=(",f7.2,",",f7.2,")",/
+     C        "b(4)=(",f7.2,",",f7.2,")",/
+     C        "b(5)=(",f7.2,",",f7.2,")")
+
+       call zaxpy(3,2.0d0,a,1,b,1)
+       write(6,200)
+ 200   format(/,"t200 is (9.00,12.00), (-12.00,15.00), (15.00,18.00) ",/,
+     C          "        (7.00,-8.00), (-9.00,-2.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(5,2.0d0,a,1,b,1)
+       write(6,300)
+ 300   format(/,"t300 is (9.00,12.00), (-12.00,15.00), (15.00,18.00) ",/,
+     C          "        (21.00,-24.00), (-27.00,-6.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(3,2.0d0,a,3,b,3)
+       write(6,301)
+ 301   format(/,"t301 is (9.00,12.00), (-4.00,5.00), (5.00,6.00) ",/,
+     C          "        (21.00,-24.00), (-9.00,-2.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(4,2.0d0,a,2,b,2)
+       write(6,302)
+ 302   format(/,"t302 is (9.00,12.00), (-4.00,5.00), (15.00,18.00) ",/,
+     C          "        (7.00,-8.00), ( -27.00,  -6.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(3,2.0d0,a,2,b,2)
+       write(6,303)
+ 303   format(/,"t303 is (9.00,12.00), (-4.00,5.00), (15.00,18.00) ",/,
+     C          "        (7.00,-8.00), ( -27.00,  -6.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(3,-2.0d0,a,1,b,2)
+       write(6,304)
+ 304   format(/,"t304 is (-3.00,-4.00), (-4.00,5.00), (13.00,-4.00) ",/,
+     C          "        (7.00,-8.00), (-19.00,-14.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(3,2.0d0,a,1,b,2)
+       write(6,305)
+ 305   format(/,"t305 is (9.00,12.00), (-4.00,5.00), (-3.00,16.00) ",/,
+     C          "        (7.00,-8.00), (1.00,10.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(-3,2.0d0,a,1,b,2)
+       write(6,306)
+ 306   format(/,"t306 is (3.00,4.00), (-4.00,5.00), (5.00,6.00) ",/,
+     C          "        (7.00,-8.00), (-9.00,-2.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(3,2.0d0,a,-1,b,2)
+       write(6,307)
+ 307   format(/,"t307 is (13.00,16.00), (-4.00,5.00), (-3.00,16.00) ",/,
+     C          "        (7.00,-8.00), (-3.00,6.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(3,2.0d0,a,1,b,-2)
+       write(6,308)
+ 308   format(/,"t308 is (13.00,16.00), (-4.00,5.00), (-3.00,16.00) ",/,
+     C          "        (7.00,-8.00), (-3.00,6.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(3,2.0d0,a,-1,b,-2)
+       write(6,309)
+ 309   format(/,"t309 is (9.00,12.00), (-4.00,5.00), (-3.00,16.00) ",/,
+     C          "        (7.00,-8.00), (1.00,10.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       b(1) = ( 3.0D0, 4.0D0)
+       b(2) = (-4.0D0, 5.0D0)
+       b(3) = ( 5.0D0, 6.0D0)
+       b(4) = ( 7.0D0,-8.0D0)
+       b(5) = (-9.0D0,-2.0D0)
+       call zaxpy(3,0.0d0,a,1,b,1)
+       write(6,310)
+ 310   format(/,"t310 is (3.00,4.00), (-4.00,5.00), (5.00,6.00) ",/,
+     C          "        (7.00,-8.00), (-9.00,-2.00)")
+       write(6,101)b(1),b(2),b(3),b(4),b(5)
+
+       stop
+       end 
+\end{chunk}
+
+\begin{verbatim}
+gcc -o zaxpyEX zaxpyEX.f -lgfortran zaxpy.o dcabs1.o && ./zaxpyEX
+a(1)=(   3.00,   4.00)
+a(2)=(  -4.00,   5.00)
+a(3)=(   5.00,   6.00)
+a(4)=(   7.00,  -8.00)
+a(5)=(  -9.00,  -2.00)
+
+b(1)=(   3.00,   4.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(   5.00,   6.00)
+b(4)=(   7.00,  -8.00)
+b(5)=(  -9.00,  -2.00)
+
+t200 is (9.00,12.00), (-12.00,15.00), (15.00,18.00) 
+        (7.00,-8.00), (-9.00,-2.00)
+
+b(1)=(   9.00,  12.00)
+b(2)=( -12.00,  15.00)
+b(3)=(  15.00,  18.00)
+b(4)=(   7.00,  -8.00)
+b(5)=(  -9.00,  -2.00)
+
+t300 is (9.00,12.00), (-12.00,15.00), (15.00,18.00) 
+        (21.00,-24.00), (-27.00,-6.00)
+
+b(1)=(   9.00,  12.00)
+b(2)=( -12.00,  15.00)
+b(3)=(  15.00,  18.00)
+b(4)=(  21.00, -24.00)
+b(5)=( -27.00,  -6.00)
+
+t301 is (9.00,12.00), (-4.00,5.00), (5.00,6.00) 
+        (21.00,-24.00), (-9.00,-2.00)
+
+b(1)=(   9.00,  12.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(   5.00,   6.00)
+b(4)=(  21.00, -24.00)
+b(5)=(  -9.00,  -2.00)
+
+t302 is (9.00,12.00), (-4.00,5.00), (15.00,18.00) 
+        (7.00,-8.00), ( -27.00,  -6.00)
+
+b(1)=(   9.00,  12.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(  15.00,  18.00)
+b(4)=(   7.00,  -8.00)
+b(5)=( -27.00,  -6.00)
+
+t303 is (9.00,12.00), (-4.00,5.00), (15.00,18.00) 
+        (7.00,-8.00), ( -27.00,  -6.00)
+
+b(1)=(   9.00,  12.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(  15.00,  18.00)
+b(4)=(   7.00,  -8.00)
+b(5)=( -27.00,  -6.00)
+
+t304 is (-3.00,-4.00), (-4.00,5.00), (13.00,-4.00) 
+        (7.00,-8.00), (-19.00,-14.00)
+
+b(1)=(  -3.00,  -4.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(  13.00,  -4.00)
+b(4)=(   7.00,  -8.00)
+b(5)=( -19.00, -14.00)
+
+t305 is (9.00,12.00), (-4.00,5.00), (-3.00,16.00) 
+        (7.00,-8.00), (1.00,10.00)
+
+b(1)=(   9.00,  12.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(  -3.00,  16.00)
+b(4)=(   7.00,  -8.00)
+b(5)=(   1.00,  10.00)
+
+t306 is (3.00,4.00), (-4.00,5.00), (5.00,6.00) 
+        (7.00,-8.00), (-9.00,-2.00)
+
+b(1)=(   3.00,   4.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(   5.00,   6.00)
+b(4)=(   7.00,  -8.00)
+b(5)=(  -9.00,  -2.00)
+
+t307 is (13.00,16.00), (-4.00,5.00), (-3.00,16.00) 
+        (7.00,-8.00), (-3.00,6.00)
+
+b(1)=(  13.00,  16.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(  -3.00,  16.00)
+b(4)=(   7.00,  -8.00)
+b(5)=(  -3.00,   6.00)
+
+t308 is (13.00,16.00), (-4.00,5.00), (-3.00,16.00) 
+        (7.00,-8.00), (-3.00,6.00)
+
+b(1)=(  13.00,  16.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(  -3.00,  16.00)
+b(4)=(   7.00,  -8.00)
+b(5)=(  -3.00,   6.00)
+
+t309 is (9.00,12.00), (-4.00,5.00), (-3.00,16.00) 
+        (7.00,-8.00), (1.00,10.00)
+
+b(1)=(   9.00,  12.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(  -3.00,  16.00)
+b(4)=(   7.00,  -8.00)
+b(5)=(   1.00,  10.00)
+
+t310 is (3.00,4.00), (-4.00,5.00), (5.00,6.00) 
+        (7.00,-8.00), (-9.00,-2.00)
+
+b(1)=(   3.00,   4.00)
+b(2)=(  -4.00,   5.00)
+b(3)=(   5.00,   6.00)
+b(4)=(   7.00,  -8.00)
+b(5)=(  -9.00,  -2.00)
+\end{verbatim}
+
+Axiom delivers PRIMARR(COMPLEX(DFLOAT)) as a list of pairs. We create
+a thunk function zaxpySpad which creates an array of complex double-float
+objects required by zaxpy.
+
+The zaxpy function is defined to modify the second array. So the thunk
+function has to setf this information back into the original array.
+
+The zaxpySpad function could be more efficient if it only copied 
+elements that were modified. This was not done because of the overhead
+of figuring out which elements this could be under all possible arguments.
+
 \begin{chunk}{BLAS 1 zaxpy}
+(defun zaxpySpad (n za zx incx zy incy)
+; Tim Daly May 23, 2012
+ (let (result vecx vecy tx ty)
+  (dotimes (i (length zx))
+   (push (complex (car (svref zx i)) (cdr (svref zx i))) tx))
+  (setq vecx (make-array (length tx) :initial-contents (nreverse tx)))
+  (dotimes (i (length zy))
+   (push (complex (car (svref zy i)) (cdr (svref zy i))) ty))
+  (setq vecy (make-array (length ty) :initial-contents (nreverse ty)))
+  (zaxpy n (complex (car za) (cdr za)) vecx incx vecy incy)
+  (dotimes (i (length vecx))
+   (setf (svref zy i)
+     (cons (realpart (svref vecy i)) (imagpart (svref vecy i)))))
+ zy))
+
 (defun zaxpy (n za zx incx zy incy)
-  (declare (type (simple-array (complex double-float) (*)) zy zx)
-           (type (complex double-float) za)
-           (type fixnum incy incx n))
-  (f2cl-lib:with-multi-array-data
-      ((zx (complex double-float) zx-%data% zx-%offset%)
-       (zy (complex double-float) zy-%data% zy-%offset%))
-    (prog ((i 0) (ix 0) (iy 0))
-      (declare (type fixnum iy ix i))
-      (if (<= n 0) (go end_label))
-      (if (= (dcabs1 za) 0.0) (go end_label))
-      (if (and (= incx 1) (= incy 1)) (go label20))
-      (setf ix 1)
-      (setf iy 1)
-      (if (< incx 0)
-          (setf ix
-                  (f2cl-lib:int-add
-                   (f2cl-lib:int-mul (the fixnum (1- n)) incx)
-                   1)))
-      (if (< incy 0)
-          (setf iy
-                  (f2cl-lib:int-add
-                   (f2cl-lib:int-mul (the fixnum (1- n)) incy)
-                   1)))
-      (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
-                    ((> i n) nil)
-        (tagbody
-          (setf (f2cl-lib:fref zy-%data% (iy) ((1 *)) zy-%offset%)
-                  (+ (f2cl-lib:fref zy-%data% (iy) ((1 *)) zy-%offset%)
-                     (* za
-                        (f2cl-lib:fref zx-%data% (ix) ((1 *)) zx-%offset%))))
-          (setf ix (f2cl-lib:int-add ix incx))
-          (setf iy (f2cl-lib:int-add iy incy))))
-      (go end_label)
- label20
-      (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
-                    ((> i n) nil)
-        (tagbody
-          (setf (f2cl-lib:fref zy-%data% (i) ((1 *)) zy-%offset%)
-             (+ (f2cl-lib:fref zy-%data% (i) ((1 *)) zy-%offset%)
-                (* za (f2cl-lib:fref zx-%data% (i) ((1 *)) zx-%offset%))))))
- end_label
-      (return (values nil nil nil nil nil nil)))))
+; Tim Daly May 23, 2012
+ (declare (type (simple-array (complex double-float) (*)) zy zx)
+          (type (complex double-float) za)
+          (type fixnum incy incx n))
+ (let ((ix 0) (iy 0) (limitx (length zx)) (limity (length zy)))
+  (declare (type fixnum iy ix limitx limity))
+  (when (and (> n 0) (/= (dcabs1 za) 0.0))
+   (when (< incx 0)
+    (setf ix (the fixnum (* (the fixnum (1+ (the fixnum (- n)))) incx))))
+   (when (< incy 0)
+    (setf iy (the fixnum (* (the fixnum (1+ (the fixnum (- n)))) incy))))
+   (do ((i 0 (1+ i)))
+       ((or (>= i n) (< ix 0) (< iy 0) (>= ix limitx) (>= iy limity)))
+    (setf (the (complex double-float) (svref zy iy))
+      (+ (the (complex double-float) (svref zy iy))
+         (the (complex double-float)
+           (* za (the (complex double-float) (svref zx ix))))))
+    (setf ix (+ ix incx))
+    (setf iy (+ iy incy))))))
 
 \end{chunk}
+
+\begin{chunk}{BLAS 1 izamax lisp test}
+(load "zaxpy.lisp")
+(load "dcabs1.lisp")
+(setq zx (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 3 2.0d0 zx 1 zy 1) ; t200
+; #((9.0 . 12.0) (-12.0 . 15.0) (15.0 . 18.0) (7.0 . -8.0) (-9.0 . -2.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 5 2.0d0 zx 1 zy 1) ; t300
+; #((9.0 . 12.0) (-12.0 . 15.0) (15.0 . 18.0) (21.0 . -24.0) (-27.0 . -6.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 3 2.0d0 zx 3 zy 3) ; t301
+; #((9.0 . 12.0) (-4.0 . 5.0) (5.0 . 6.0) (21.0 . -24.0) (-9.0 . -2.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 4 2.0d0 zx 2 zy 2) ; t302
+; #((9.0 . 12.0) (-4.0 . 5.0) (15.0 . 18.0) (7.0 . -8.0) (-27.0 . -6.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 3 2.0d0 zx 2 zy 2) ; t303
+; #((9.0 . 12.0) (-4.0 . 5.0) (15.0 . 18.0) (7.0 . -8.0) (-27.0 . -6.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 3 -2.0d0 zx 1 zy 2) ; t304
+; #((-3.0 . -4.0) (-4.0 . 5.0) (13.0 . -4.0) (7.0 . -8.0) (-19.0 . -14.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 3 2.0d0 zx 1 zy 2) ; t305
+; #((9.0 . 12.0) (-4.0 . 5.0) (-3.0 . 16.0) (7.0 . -8.0) (1.0 . 10.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad -3 2.0d0 zx 1 zy 2) ; t306
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 3 2.0d0 zx -1 zy 2) ; t307
+; #((13.0 . 16.0) (-4.0 . 5.0) (-3.0 . 16.0) (7.0 . -8.0) (-3.0 . 6.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 3 2.0d0 zx 1 zy -2) ; t308
+; #((13.0 . 16.0) (-4.0 . 5.0) (-3.0 . 16.0) (7.0 . -8.0) (-3.0 . 6.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0)
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 3 2.0d0 zx -1 zy -2) ; t309
+; #((9.0 . 12.0) (-4.0 . 5.0) (-3.0 . 16.0) (7.0 . -8.0) (1.0 . 10.0))
+(setq zy (vector (cons 3.0d0 4.0d0) (cons -4.0d0 5.0d0) (cons 5.0d0 6.0d0) 
+                 (cons 7.0d0 -8.0d0) (cons -9.0d0 -2.0d0)))
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+(zaxpyspad 3 0.0d0 zx 1 zy 1) ; t310
+; #((3.0 . 4.0) (-4.0 . 5.0) (5.0 . 6.0) (7.0 . -8.0) (-9.0 . -2.0))
+
+\end{chunk}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{zcopy BLAS}
 %\pagehead{zcopy}{zcopy}
@@ -140312,12 +141086,12 @@ Warning:  Types of argument 1 in call to ZLARFB do not match.
 \getchunk{BLAS 1 idamax}
 \getchunk{BLAS 1 isamax}
 \getchunk{BLAS 1 izamax}
+\getchunk{BLAS 1 zaxpy}
 \end{chunk}
 \begin{chunk}{untested}
 \getchunk{BLAS lsame}
 \getchunk{BLAS xerbla}
 
-\getchunk{BLAS 1 zaxpy}
 \getchunk{BLAS 1 zcopy}
 \getchunk{BLAS 1 zdotc}
 \getchunk{BLAS 1 zdotu}
diff --git a/changelog b/changelog
index 2cee059..836120e 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20120523 tpd src/axiom-website/patches.html 20120523.01.tpd.patch
+20120523 tpd books/bookvol10.5 BLAS1 zaxpy
 20120520 tpd src/axiom-website/patches.html 20120520.01.tpd.patch
 20120520 tpd books/bookvol10.5 BLAS1 izamax
 20120519 tpd src/axiom-website/patches.html 20120519.01.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 12dbc7b..95691ab 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -3924,5 +3924,7 @@ src/input/simplify.input added from sci.math.symbolic<br/>
 books/bookvol10.5 BLAS1 isamax<br/>
 <a href="patches/20120520.01.tpd.patch">20120520.01.tpd.patch</a>
 books/bookvol10.5 BLAS1 izamax<br/>
+<a href="patches/20120523.01.tpd.patch">20120523.01.tpd.patch</a>
+books/bookvol10.5 BLAS1 zaxpy</br/>
  </body>
 </html>
