aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog17
-rw-r--r--src/algebra/contfrac.spad.pamphlet3
-rw-r--r--src/algebra/cycles.spad.pamphlet1
-rw-r--r--src/algebra/cyclotom.spad.pamphlet2
-rw-r--r--src/algebra/ddfact.spad.pamphlet1
-rw-r--r--src/algebra/fortpak.spad.pamphlet5
-rw-r--r--src/algebra/lingrob.spad.pamphlet8
-rw-r--r--src/algebra/numode.spad.pamphlet3
-rw-r--r--src/algebra/numquad.spad.pamphlet13
-rw-r--r--src/algebra/out.spad.pamphlet9
-rw-r--r--src/algebra/perman.spad.pamphlet11
-rw-r--r--src/algebra/view2D.spad.pamphlet4
-rw-r--r--src/interp/compiler.boot16
-rw-r--r--src/share/algebra/browse.daase2
-rw-r--r--src/share/algebra/category.daase2
-rw-r--r--src/share/algebra/compress.daase2
-rw-r--r--src/share/algebra/interp.daase4
-rw-r--r--src/share/algebra/operation.daase2
18 files changed, 47 insertions, 58 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a4006cc9..f283ff44 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,22 @@
2011-08-13 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * interp/compiler.boot (compRepeatOrCollect): Set $loopKind directly.
+ (complainIfShadowing): Don't complain when collecting.
+ * algebra/contfrac.spad.pamphlet: Remove capsule-level declaration
+ of local variables.
+ * algebra/cycles.spad.pamphlet: Likewise.
+ * algebra/cyclotom.spad.pamphlet: Likewise.
+ * algebra/ddfact.spad.pamphlet: Likewise.
+ * algebra/fortpak.spad.pamphlet: Likewise.
+ * algebra/lingrob.spad.pamphlet: Likewise.
+ * algebra/numode.spad.pamphlet: Likewise.
+ * algebra/numquad.spad.pamphlet: Likewise.
+ * algebra/out.spad.pamphlet: Likewise.
+ * algebra/perman.spad.pamphlet: Likewise.
+ * algebra/view2D.spad.pamphlet: Likewise.
+
+2011-08-13 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* algebra/integer.spad.pamphlet (Integer): Remove attribute infinite.
2011-08-13 Gabriel Dos Reis <gdr@cs.tamu.edu>
diff --git a/src/algebra/contfrac.spad.pamphlet b/src/algebra/contfrac.spad.pamphlet
index c1adc3ea..6b0b598e 100644
--- a/src/algebra/contfrac.spad.pamphlet
+++ b/src/algebra/contfrac.spad.pamphlet
@@ -294,7 +294,6 @@ ContinuedFraction(R): Exports == Implementation where
c, d: %
a: R
q: Q
- n: Integer
0 == (0$R) :: %
1 == (1$R) :: %
@@ -305,7 +304,7 @@ ContinuedFraction(R): Exports == Implementation where
c * d == genFromSequence map(#1 * #2, apx c, apx d)
a * d == genFromSequence map( a * #1, apx d)
q * d == genFromSequence map( q * #1, apx d)
- n * d == genFromSequence map( n * #1, apx d)
+ n: Integer * d == genFromSequence map( n * #1, apx d)
c / d == genFromSequence map(#1 / #2, apx c, rest apx d)
recip c ==(c = 0 => "failed";
genFromSequence map( 1 / #1, rest apx c))
diff --git a/src/algebra/cycles.spad.pamphlet b/src/algebra/cycles.spad.pamphlet
index b8dea37f..f74ba814 100644
--- a/src/algebra/cycles.spad.pamphlet
+++ b/src/algebra/cycles.spad.pamphlet
@@ -252,7 +252,6 @@ EvaluateCycleIndicators(F):T==C where
fn:I->F
pt:PTN
spol:SPOL RN
- i:I
evp(fn, pt)== */[fn i for i in pt::L(PositiveInteger)]
eval(fn,spol)==
diff --git a/src/algebra/cyclotom.spad.pamphlet b/src/algebra/cyclotom.spad.pamphlet
index aa7fba78..631476a2 100644
--- a/src/algebra/cyclotom.spad.pamphlet
+++ b/src/algebra/cyclotom.spad.pamphlet
@@ -43,7 +43,6 @@ CyclotomicPolynomialPackage: public == private where
cyclotomicDecomposition(n:Integer):LSUP ==
x,y,z: SUP
l,ll,m: LSUP
- rr: Integer
g := factors factor(n)$IFP
l := [monomial(1,1) - monomial(1,0)]
--Now, for each prime in the factorization apply recursion
@@ -57,7 +56,6 @@ CyclotomicPolynomialPackage: public == private where
l
cyclotomicFactorization(n:Integer):FR ==
- f : SUP
fr : FR := 1$FR
for f in cyclotomicDecomposition(n) repeat
fr := fr * primeFactor(f,1$Integer)
diff --git a/src/algebra/ddfact.spad.pamphlet b/src/algebra/ddfact.spad.pamphlet
index 80e8b3fd..069ae724 100644
--- a/src/algebra/ddfact.spad.pamphlet
+++ b/src/algebra/ddfact.spad.pamphlet
@@ -148,7 +148,6 @@ DistinctDegreeFactorize(F,FP): C == T
dg:NNI :=0
ddfact:List(fact):=empty()
--evaluation of x**p mod m
- k1:NNI
u:= m
du := degree u
setPoly u
diff --git a/src/algebra/fortpak.spad.pamphlet b/src/algebra/fortpak.spad.pamphlet
index 911ed3d5..05d33441 100644
--- a/src/algebra/fortpak.spad.pamphlet
+++ b/src/algebra/fortpak.spad.pamphlet
@@ -535,7 +535,6 @@ MultiVariableCalculusFunctions(S,F,FLAF,FLAS) : Exports == Implementation where
xlist:List(S) := parts(xflas)
localGradient(v,xlist)
localDivergence(vf:Vector(F),xlist:List(S)):F ==
- i: PI
n: NNI
ans: F
-- Perhaps should report error if two args of min different
@@ -545,7 +544,6 @@ MultiVariableCalculusFunctions(S,F,FLAF,FLAS) : Exports == Implementation where
ans
divergence(vf,xflas) ==
xlist:List(S) := parts(xflas)
- i: PI
n: NNI
ans: F
-- Perhaps should report error if two args of min different
@@ -565,11 +563,9 @@ MultiVariableCalculusFunctions(S,F,FLAF,FLAS) : Exports == Implementation where
-- matrix([[D(vf(i),x) for x in xlist] for i in 1 .. maxIndex(vf)])
jacobian(vf,xflas) ==
xlist:List(S) := parts(xflas)
- i: PI
matrix([[D(vf(i),x) for x in xlist] for i in 1 .. maxIndex(vf)])
bandedHessian(v,xflas,k) ==
xlist:List(S) := parts(xflas)
- j,iw: PI
n: NNI
bandM: Matrix F
n:= #(xlist)
@@ -581,7 +577,6 @@ MultiVariableCalculusFunctions(S,F,FLAF,FLAS) : Exports == Implementation where
bandM
bandedJacobian(vf,xflas,kl,ku) ==
xlist:List(S) := parts(xflas)
- j,iw: PI
n: NNI
bandM: Matrix F
n:= #(xlist)
diff --git a/src/algebra/lingrob.spad.pamphlet b/src/algebra/lingrob.spad.pamphlet
index 95284786..a3018052 100644
--- a/src/algebra/lingrob.spad.pamphlet
+++ b/src/algebra/lingrob.spad.pamphlet
@@ -128,10 +128,10 @@ LinGroebnerPackage(lv,F) : C == T
ofirstmon:=firstmon
orecfmon := recfmon
lm:=zero(2*ndim+1)
- j : Integer
for j in 1..ndim repeat lm(j):=veccoef(j)
lm(ndim+i):=recfmon.mult
lm := reduceRow(linmat, lm, i-1, pivots)
+ j : Integer
if i=ndim1 then j:=ndim1
else
j:=1
@@ -179,11 +179,10 @@ LinGroebnerPackage(lv,F) : C == T
omult := (omult exquo cc)::F
veccoef:VF:=coord(f,algBasis)
lm:=zero(2*ndim+1)
- j : Integer
for j in 1..ndim repeat lm(j) := veccoef(j)
lm(ndim+i):=omult
lm := reduceRow(linmat, lm, i-1, pivots)
- j:=1
+ j: Integer :=1
while lm(j)=0 and j<ndim1 repeat j:=j+1
if j=ndim1 then return
g:HDPoly:=0
@@ -287,11 +286,10 @@ LinGroebnerPackage(lv,F) : C == T
ofirstmon:=firstmon
orecfmon := recfmon
lm:=zero(2*ndim+1)
- j : Integer
for j in 1..ndim repeat lm(j):=veccoef(j)
lm(ndim+i):=recfmon.mult
lm := reduceRow(linmat, lm, i-1, pivots)
- j:=1
+ j: Integer :=1
while lm(j) = 0 and j<ndim1 repeat j:=j+1
if j=ndim1 then
cordlist:List F:=[lm(j) for j in ndim1..ndim1+(#nBasis)]
diff --git a/src/algebra/numode.spad.pamphlet b/src/algebra/numode.spad.pamphlet
index 4a88a636..b602916c 100644
--- a/src/algebra/numode.spad.pamphlet
+++ b/src/algebra/numode.spad.pamphlet
@@ -193,7 +193,6 @@ NumericalOrdinaryDifferentialEquations(): Exports == Implementation where
tiny : NF := 10.0**(-(digits()+1)::I)
m : I := nvar
outlist : L OFORM := [x::E,x::E,x::E]
- i : I
eps := 1.0/eps
for i in 1..m repeat
@@ -263,7 +262,6 @@ NumericalOrdinaryDifferentialEquations(): Exports == Implementation where
errcon : NF := 0.6E-04 --(this is 4/safety)**(1/grow)
hh : NF
errmax : NF
- i : I
m : I := n
--
for i in 1..m repeat
@@ -343,7 +341,6 @@ NumericalOrdinaryDifferentialEquations(): Exports == Implementation where
h6 : NF := h/6.0
xh : NF := x+hh
m : I := n
- i : I
-- first step
for i in 1..m repeat
yt(i) := y(i) + hh*dydx(i)
diff --git a/src/algebra/numquad.spad.pamphlet b/src/algebra/numquad.spad.pamphlet
index c63bf852..6d3c42f3 100644
--- a/src/algebra/numquad.spad.pamphlet
+++ b/src/algebra/numquad.spad.pamphlet
@@ -226,7 +226,6 @@ NumericalQuadrature(): Exports == Implementation where
x1 : F := a
x2 : F := a + hh
io : L OFORM := [x1::E,x2::E]
- i : I
for i in 1..nint repeat
ans := romberg(func,x1,x2,epsrel,epsabs,nmin,nmax)
if (not ans.success) then
@@ -253,7 +252,6 @@ NumericalQuadrature(): Exports == Implementation where
x1 : F := a
x2 : F := a + hh
io : L OFORM := [x1::E,x2::E]
- i : I
for i in 1..nint repeat
ans := simpson(func,x1,x2,epsrel,epsabs,nmin,nmax)
if (not ans.success) then
@@ -275,7 +273,6 @@ NumericalQuadrature(): Exports == Implementation where
sum : F := 0.0
err : F := 0.0
pts : I := 1
- i : I
done : B := true
hh : F := (b-a) / nint
x1 : F := a
@@ -307,10 +304,8 @@ NumericalQuadrature(): Exports == Implementation where
change : F := 0.0
qx1 : F := newsum
table : V F := new((nmax+1)::PI,0.0)
- n : I := 1
pts : I := 1
four : I
- j : I
i : I
if (nmin < 2) then
output("romberg: nmin to small (nmin > 1) nmin = ",nmin::E)
@@ -361,7 +356,6 @@ NumericalQuadrature(): Exports == Implementation where
oldsum : F := 0.0
oldest : F := 0.0
change : F := 0.0
- n : I := 1
pts : I := 1
if (nmin < 2) then
output("simpson: nmin to small (nmin > 1) nmin = ",nmin::E)
@@ -403,7 +397,6 @@ NumericalQuadrature(): Exports == Implementation where
newsum : F := 0.5*(b-a)*(func(a)+func(b))
change : F := 0.0
oldsum : F
- n : I := 1
pts : I := 1
if (nmin < 2) then
output("trapezoidal: nmin to small (nmin > 1) nmin = ",nmin::E)
@@ -447,9 +440,7 @@ NumericalQuadrature(): Exports == Implementation where
qx1 : F := newsum
table : V F := new((nmax+1)::PI,0.0)
four : I
- j : I
i : I
- n : I := 1
pts : I := 1
for n in 1..nmax repeat
oldsum := newsum
@@ -486,7 +477,6 @@ NumericalQuadrature(): Exports == Implementation where
oldsum : F := 0.0
oldest : F := 0.0
change : F := 0.0
- n : I := 1
pts : I := 1
for n in 1..nmax repeat
oldsum := newsum
@@ -514,7 +504,6 @@ NumericalQuadrature(): Exports == Implementation where
change : F := 0.0
pts : I := 1
oldsum : F
- n : I
for n in 1..nmax repeat
oldsum := newsum
newsum := trapopen(func,a,delta,oldsum,pts)
@@ -534,7 +523,6 @@ NumericalQuadrature(): Exports == Implementation where
trapclosed(func,start,h,oldsum,numpoints) ==
x : F := start + 0.5*h
sum : F := 0.0
- i : I
for i in 1..numpoints repeat
sum := sum + func(x)
x := x + h
@@ -546,7 +534,6 @@ NumericalQuadrature(): Exports == Implementation where
ddel : F := 2.0*del
x : F := start + 0.5*del
sum : F := 0.0
- i : I
for i in 1..numpoints repeat
sum := sum + func(x)
x := x + ddel
diff --git a/src/algebra/out.spad.pamphlet b/src/algebra/out.spad.pamphlet
index 57b24451..2ee2b81f 100644
--- a/src/algebra/out.spad.pamphlet
+++ b/src/algebra/out.spad.pamphlet
@@ -204,14 +204,13 @@ DisplayPackage: public == private where
center0: (I,I,S) -> RECLR
- s : S
l : L S
HION : S := "%b"
HIOFF : S := "%d"
NEWLINE : S := "%l"
- bright s == [HION,s,HIOFF]$(L S)
+ bright(s: S) == [HION,s,HIOFF]$(L S)
bright l == cons(HION,append(l,list HIOFF))
newLine() == NEWLINE
@@ -228,7 +227,7 @@ DisplayPackage: public == private where
t : S := copies(1 + (m quo (sayLength fill)),fill)
[t(1..m),t(1..wid-len-m)]$RECLR
- center(s, wid, fill) ==
+ center(s: S, wid: I, fill: S) ==
wid < 1 => ""
len : I := sayLength s
len = wid => s
@@ -244,13 +243,13 @@ DisplayPackage: public == private where
rec : RECLR := center0(len,wid,fill)
cons(rec.lhs,append(l,list rec.rhs))
- say s ==
+ say(s: S) ==
sayBrightly$Lisp s
say l ==
sayBrightly$Lisp l
- sayLength s == #s
+ sayLength(s: S) == #s
sayLength l ==
sum : I := 0
diff --git a/src/algebra/perman.spad.pamphlet b/src/algebra/perman.spad.pamphlet
index 49519edb..b45620a4 100644
--- a/src/algebra/perman.spad.pamphlet
+++ b/src/algebra/perman.spad.pamphlet
@@ -152,7 +152,6 @@ Permanent(n : PositiveInteger, R : Ring with commutative("*")):
x : SM
a,b : R
- i,j,k,l : I
permanent3(x) ==
-- This algorithm is based upon the principle of inclusion-
@@ -214,8 +213,9 @@ Permanent(n : PositiveInteger, R : Ring with commutative("*")):
while j ~= n repeat -- we sum over all subsets of (1,...,n-1)
sgn := -sgn
b := sgn
- if vv.1.j = 1 then k := -1
- else k := 1 -- was that element deleted(k=-1) or added(k=1)?
+ k :=
+ vv.1.j = 1 => -1
+ 1 -- was that element deleted(k=-1) or added(k=1)?
for i in 1..n repeat
w.i := w.i +$R k *$R x(i,j)
b := b *$R w.i
@@ -259,8 +259,9 @@ Permanent(n : PositiveInteger, R : Ring with commutative("*")):
while j ~= n repeat -- we sum over all subsets of (1,...,n-1)
sgn := -sgn
b := sgn
- if vv.1.j = 1 then k := -1
- else k := 1 -- was that element deleted(k=-1) or added(k=1)?
+ k :=
+ vv.1.j = 1 => -1
+ 1 -- was that element deleted(k=-1) or added(k=1)?
c := k * two
for i in 1..n repeat
w.i := w.i +$R c *$R x(i,j)
diff --git a/src/algebra/view2D.spad.pamphlet b/src/algebra/view2D.spad.pamphlet
index c132bcec..5a032a44 100644
--- a/src/algebra/view2D.spad.pamphlet
+++ b/src/algebra/view2D.spad.pamphlet
@@ -307,7 +307,7 @@ GraphImage (): Exports == Implementation where
makeGraph graf ==
doOptions(graf)
- (s := #(graf.llPoints)) = 0 =>
+ (n := #(graf.llPoints)) = 0 =>
error "You are trying to make a graph with no points"
key graf ~= 0 =>
error "You are trying to draw over an existing graph"
@@ -327,7 +327,7 @@ GraphImage (): Exports == Implementation where
sendSF(VIEW,hi(second tonto))$Lisp
sendSF(VIEW,first (graf.unitsField))$Lisp
sendSF(VIEW,second (graf.unitsField))$Lisp
- sendI(VIEW,s)$Lisp -- how many lists of points are being sent
+ sendI(VIEW,n)$Lisp -- how many lists of points are being sent
for aList in graf.llPoints for pColor in graf.pointColors for lColor in graf.lineColors for s in graf.pointSizes repeat
sendI(VIEW,#aList)$Lisp -- how many points in this list
for p in aList repeat
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 9498f917..c85d1e9f 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -2342,27 +2342,26 @@ compRepeatOrCollect(form,m,e) ==
$mayHaveFreeIteratorVariables: local := false
oldEnv := e
aggr := nil
- [repeatOrCollect,:itl,body]:= form
+ [$loopKind,:itl,body]:= form
itl':=
[([x',e]:= compIterator(x,e) or return "failed"; x') for x in itl]
itl'="failed" => nil
targetMode:= first $exitModeStack
bodyMode:=
- repeatOrCollect="COLLECT" =>
+ $loopKind="COLLECT" =>
targetMode = $EmptyMode => (aggr:=["List",$EmptyMode]; $EmptyMode)
[aggr,u] := modeIsAggregateOf('List,targetMode,e) => u
[aggr,u] := modeIsAggregateOf('PrimitiveArray,targetMode,e) =>
- repeatOrCollect := "%CollectV"
+ $loopKind := "%CollectV"
u
[aggr,u] := modeIsAggregateOf('Vector,targetMode,e) =>
- repeatOrCollect := "%CollectV"
+ $loopKind := "%CollectV"
u
stackMessage('"Invalid collect bodytype")
return nil
-- If we're doing a collect, and the type isn't conformable
-- then we've boobed. JHD 26.July.1990
-- ??? we hve a plain old loop; the return type should be Void
- $loopKind := repeatOrCollect
$NoValueMode
[body',m',e'] := compOrCroak(body,bodyMode,e) or return nil
-- Massage the loop body if we have a structured jump.
@@ -2372,11 +2371,11 @@ compRepeatOrCollect(form,m,e) ==
[untilCode,.,e']:= comp($until,$Boolean,e')
itl':= substitute(["UNTIL",untilCode],'$until,itl')
form':=
- repeatOrCollect = "%CollectV" =>
+ $loopKind = "%CollectV" =>
["%CollectV",localReferenceIfThere m',:itl',body']
-- We are phasing out use of LISP macros COLLECT and REPEAT.
- repeatOrCollect = "COLLECT" => ['%collect,:itl',body']
- [repeatOrCollect,:itl',body']
+ $loopKind = "COLLECT" => ['%collect,:itl',body']
+ [$loopKind,:itl',body']
m'' :=
aggr is [c,.] and c in '(List PrimitiveArray Vector) => [c,m']
m'
@@ -2431,6 +2430,7 @@ compIntegerValue(x,e) ==
++ Issue a diagnostic if `x' names a loop variable with a matching
++ declaration or definition in the enclosing scope.
complainIfShadowing(x,e) ==
+ $loopKind = 'COLLECT => nil -- collect loop variables always shadow
if getmode(x,e) ~= nil then
$mayHaveFreeIteratorVariables := true -- bound in compRepeatOrCollect
stackWarning('"loop variable %1b shadows variable from enclosing scope",[x])
diff --git a/src/share/algebra/browse.daase b/src/share/algebra/browse.daase
index 4250d407..9caed1a4 100644
--- a/src/share/algebra/browse.daase
+++ b/src/share/algebra/browse.daase
@@ -1,5 +1,5 @@
-(2276906 . 3522243819)
+(2276906 . 3522279582)
(-18 A S)
((|constructor| (NIL "One-dimensional-array aggregates serves as models for one-dimensional arrays. Categorically,{} these aggregates are finite linear aggregates with the \\spadatt{shallowlyMutable} property,{} that is,{} any component of the array may be changed without affecting the identity of the overall array. Array data structures are typically represented by a fixed area in storage and therefore cannot efficiently grow or shrink on demand as can list structures (see however \\spadtype{FlexibleArray} for a data structure which is a cross between a list and an array). Iteration over,{} and access to,{} elements of arrays is extremely fast (and often can be optimized to open-code). Insertion and deletion however is generally slow since an entirely new data structure must be created for the result.")))
NIL
diff --git a/src/share/algebra/category.daase b/src/share/algebra/category.daase
index 83b287eb..06f5a069 100644
--- a/src/share/algebra/category.daase
+++ b/src/share/algebra/category.daase
@@ -1,5 +1,5 @@
-(205500 . 3522243824)
+(205500 . 3522279586)
((((-877)) . T))
((((-877)) . T))
((((-877)) . T))
diff --git a/src/share/algebra/compress.daase b/src/share/algebra/compress.daase
index 51fa7619..0f2e7368 100644
--- a/src/share/algebra/compress.daase
+++ b/src/share/algebra/compress.daase
@@ -1,5 +1,5 @@
-(30 . 3522243818)
+(30 . 3522279580)
(4428 |Enumeration| |Mapping| |Record| |Union| |ofCategory| |isDomain|
ATTRIBUTE |package| |domain| |category| CATEGORY |nobranch| AND |Join|
|ofType| SIGNATURE "failed" "algebra" |OneDimensionalArrayAggregate&|
diff --git a/src/share/algebra/interp.daase b/src/share/algebra/interp.daase
index 3e616711..03d9885f 100644
--- a/src/share/algebra/interp.daase
+++ b/src/share/algebra/interp.daase
@@ -1,5 +1,5 @@
-(3432426 . 3522243833)
+(3432426 . 3522279595)
((-1935 (((-114) (-1 (-114) |#2| |#2|) $) 86 T ELT) (((-114) $) NIL T ELT)) (-1933 (($ (-1 (-114) |#2| |#2|) $) 18 T ELT) (($ $) NIL T ELT)) (-4218 ((|#2| $ (-558) |#2|) NIL T ELT) ((|#2| $ (-1255 (-558)) |#2|) 44 T ELT)) (-2510 (($ $) 80 T ELT)) (-4272 ((|#2| (-1 |#2| |#2| |#2|) $ |#2| |#2|) 52 T ELT) ((|#2| (-1 |#2| |#2| |#2|) $ |#2|) 50 T ELT) ((|#2| (-1 |#2| |#2| |#2|) $) 49 T ELT)) (-3839 (((-558) (-1 (-114) |#2|) $) 27 T ELT) (((-558) |#2| $) NIL T ELT) (((-558) |#2| $ (-558)) 96 T ELT)) (-3290 (((-661 |#2|) $) 13 T ELT)) (-3938 (($ (-1 (-114) |#2| |#2|) $ $) 64 T ELT) (($ $ $) NIL T ELT)) (-2160 (($ (-1 |#2| |#2|) $) 37 T ELT)) (-4388 (($ (-1 |#2| |#2|) $) NIL T ELT) (($ (-1 |#2| |#2| |#2|) $ $) 60 T ELT)) (-2517 (($ |#2| $ (-558)) NIL T ELT) (($ $ $ (-558)) 67 T ELT)) (-1468 (((-3 |#2| "failed") (-1 (-114) |#2|) $) 29 T ELT)) (-2158 (((-114) (-1 (-114) |#2|) $) 23 T ELT)) (-4230 ((|#2| $ (-558) |#2|) NIL T ELT) ((|#2| $ (-558)) NIL T ELT) (($ $ (-1255 (-558))) 66 T ELT)) (-2518 (($ $ (-558)) 76 T ELT) (($ $ (-1255 (-558))) 75 T ELT)) (-2157 (((-791) (-1 (-114) |#2|) $) 34 T ELT) (((-791) |#2| $) NIL T ELT)) (-1934 (($ $ $ (-558)) 69 T ELT)) (-3820 (($ $) 68 T ELT)) (-3950 (($ (-661 |#2|)) 73 T ELT)) (-4232 (($ $ |#2|) NIL T ELT) (($ |#2| $) NIL T ELT) (($ $ $) 87 T ELT) (($ (-661 $)) 85 T ELT)) (-4376 (((-877) $) 92 T ELT)) (-2159 (((-114) (-1 (-114) |#2|) $) 22 T ELT)) (-3454 (((-114) $ $) 95 T ELT)) (-3086 (((-114) $ $) 99 T ELT)))
(((-18 |#1| |#2|) (-10 -8 (-15 -3454 ((-114) |#1| |#1|)) (-15 -4376 ((-877) |#1|)) (-15 -3086 ((-114) |#1| |#1|)) (-15 -1933 (|#1| |#1|)) (-15 -1933 (|#1| (-1 (-114) |#2| |#2|) |#1|)) (-15 -2510 (|#1| |#1|)) (-15 -1934 (|#1| |#1| |#1| (-558))) (-15 -1935 ((-114) |#1|)) (-15 -3938 (|#1| |#1| |#1|)) (-15 -3839 ((-558) |#2| |#1| (-558))) (-15 -3839 ((-558) |#2| |#1|)) (-15 -3839 ((-558) (-1 (-114) |#2|) |#1|)) (-15 -1935 ((-114) (-1 (-114) |#2| |#2|) |#1|)) (-15 -3938 (|#1| (-1 (-114) |#2| |#2|) |#1| |#1|)) (-15 -4218 (|#2| |#1| (-1255 (-558)) |#2|)) (-15 -2517 (|#1| |#1| |#1| (-558))) (-15 -2517 (|#1| |#2| |#1| (-558))) (-15 -2518 (|#1| |#1| (-1255 (-558)))) (-15 -2518 (|#1| |#1| (-558))) (-15 -4388 (|#1| (-1 |#2| |#2| |#2|) |#1| |#1|)) (-15 -4232 (|#1| (-661 |#1|))) (-15 -4232 (|#1| |#1| |#1|)) (-15 -4232 (|#1| |#2| |#1|)) (-15 -4232 (|#1| |#1| |#2|)) (-15 -4230 (|#1| |#1| (-1255 (-558)))) (-15 -3950 (|#1| (-661 |#2|))) (-15 -1468 ((-3 |#2| "failed") (-1 (-114) |#2|) |#1|)) (-15 -4272 (|#2| (-1 |#2| |#2| |#2|) |#1|)) (-15 -4272 (|#2| (-1 |#2| |#2| |#2|) |#1| |#2|)) (-15 -4272 (|#2| (-1 |#2| |#2| |#2|) |#1| |#2| |#2|)) (-15 -4230 (|#2| |#1| (-558))) (-15 -4230 (|#2| |#1| (-558) |#2|)) (-15 -4218 (|#2| |#1| (-558) |#2|)) (-15 -2157 ((-791) |#2| |#1|)) (-15 -3290 ((-661 |#2|) |#1|)) (-15 -2157 ((-791) (-1 (-114) |#2|) |#1|)) (-15 -2158 ((-114) (-1 (-114) |#2|) |#1|)) (-15 -2159 ((-114) (-1 (-114) |#2|) |#1|)) (-15 -2160 (|#1| (-1 |#2| |#2|) |#1|)) (-15 -4388 (|#1| (-1 |#2| |#2|) |#1|)) (-15 -3820 (|#1| |#1|))) (-19 |#2|) (-1238)) (T -18))
NIL
@@ -2891,7 +2891,7 @@ NIL
(((-711 |#1|) (-13 (-1284) (-1059 |#1|) (-630 (-877)) (-10 -8 (-15 -2585 ($ |#1|)) (-15 -3994 ((-114) $ (|[\|\|]| |#1|))) (-15 -3994 ((-114) $ (|[\|\|]| -2584))) (-15 -4000 (|#1| $)) (-15 -2584 ($) -4382))) (-630 (-877))) (T -711))
((-2585 (*1 *1 *2) (-12 (-5 *1 (-711 *2)) (-4 *2 (-630 (-877))))) (-3994 (*1 *2 *1 *3) (-12 (-5 *3 (|[\|\|]| *4)) (-4 *4 (-630 (-877))) (-5 *2 (-114)) (-5 *1 (-711 *4)))) (-3994 (*1 *2 *1 *3) (-12 (-5 *3 (|[\|\|]| -2584)) (-5 *2 (-114)) (-5 *1 (-711 *4)) (-4 *4 (-630 (-877))))) (-4000 (*1 *2 *1) (-12 (-5 *1 (-711 *2)) (-4 *2 (-630 (-877))))) (-2584 (*1 *1) (-12 (-5 *1 (-711 *2)) (-4 *2 (-630 (-877))))))
(-13 (-1284) (-1059 |#1|) (-630 (-877)) (-10 -8 (-15 -2585 ($ |#1|)) (-15 -3994 ((-114) $ (|[\|\|]| |#1|))) (-15 -3994 ((-114) $ (|[\|\|]| -2584))) (-15 -4000 (|#1| $)) (-15 -2584 ($) -4382)))
-((-2588 ((|#2| |#2| |#4|) 29 T ELT)) (-2591 (((-709 |#2|) |#3| |#4|) 35 T ELT)) (-2589 (((-709 |#2|) |#2| |#4|) 34 T ELT)) (-2586 (((-1288 |#2|) |#2| |#4|) 16 T ELT)) (-2587 ((|#2| |#3| |#4|) 28 T ELT)) (-2592 (((-709 |#2|) |#3| |#4| (-791) (-791)) 47 T ELT)) (-2590 (((-709 |#2|) |#2| |#4| (-791)) 46 T ELT)))
+((-2588 ((|#2| |#2| |#4|) 29 T ELT)) (-2591 (((-709 |#2|) |#3| |#4|) 35 T ELT)) (-2589 (((-709 |#2|) |#2| |#4|) 34 T ELT)) (-2586 (((-1288 |#2|) |#2| |#4|) 16 T ELT)) (-2587 ((|#2| |#3| |#4|) 28 T ELT)) (-2592 (((-709 |#2|) |#3| |#4| (-791) (-791)) 48 T ELT)) (-2590 (((-709 |#2|) |#2| |#4| (-791)) 47 T ELT)))
(((-712 |#1| |#2| |#3| |#4|) (-10 -7 (-15 -2586 ((-1288 |#2|) |#2| |#4|)) (-15 -2587 (|#2| |#3| |#4|)) (-15 -2588 (|#2| |#2| |#4|)) (-15 -2589 ((-709 |#2|) |#2| |#4|)) (-15 -2590 ((-709 |#2|) |#2| |#4| (-791))) (-15 -2591 ((-709 |#2|) |#3| |#4|)) (-15 -2592 ((-709 |#2|) |#3| |#4| (-791) (-791)))) (-1122) (-917 |#1|) (-385 |#2|) (-13 (-385 |#1|) (-10 -7 (-6 -4425)))) (T -712))
((-2592 (*1 *2 *3 *4 *5 *5) (-12 (-5 *5 (-791)) (-4 *6 (-1122)) (-4 *7 (-917 *6)) (-5 *2 (-709 *7)) (-5 *1 (-712 *6 *7 *3 *4)) (-4 *3 (-385 *7)) (-4 *4 (-13 (-385 *6) (-10 -7 (-6 -4425)))))) (-2591 (*1 *2 *3 *4) (-12 (-4 *5 (-1122)) (-4 *6 (-917 *5)) (-5 *2 (-709 *6)) (-5 *1 (-712 *5 *6 *3 *4)) (-4 *3 (-385 *6)) (-4 *4 (-13 (-385 *5) (-10 -7 (-6 -4425)))))) (-2590 (*1 *2 *3 *4 *5) (-12 (-5 *5 (-791)) (-4 *6 (-1122)) (-4 *3 (-917 *6)) (-5 *2 (-709 *3)) (-5 *1 (-712 *6 *3 *7 *4)) (-4 *7 (-385 *3)) (-4 *4 (-13 (-385 *6) (-10 -7 (-6 -4425)))))) (-2589 (*1 *2 *3 *4) (-12 (-4 *5 (-1122)) (-4 *3 (-917 *5)) (-5 *2 (-709 *3)) (-5 *1 (-712 *5 *3 *6 *4)) (-4 *6 (-385 *3)) (-4 *4 (-13 (-385 *5) (-10 -7 (-6 -4425)))))) (-2588 (*1 *2 *2 *3) (-12 (-4 *4 (-1122)) (-4 *2 (-917 *4)) (-5 *1 (-712 *4 *2 *5 *3)) (-4 *5 (-385 *2)) (-4 *3 (-13 (-385 *4) (-10 -7 (-6 -4425)))))) (-2587 (*1 *2 *3 *4) (-12 (-4 *5 (-1122)) (-4 *2 (-917 *5)) (-5 *1 (-712 *5 *2 *3 *4)) (-4 *3 (-385 *2)) (-4 *4 (-13 (-385 *5) (-10 -7 (-6 -4425)))))) (-2586 (*1 *2 *3 *4) (-12 (-4 *5 (-1122)) (-4 *3 (-917 *5)) (-5 *2 (-1288 *3)) (-5 *1 (-712 *5 *3 *6 *4)) (-4 *6 (-385 *3)) (-4 *4 (-13 (-385 *5) (-10 -7 (-6 -4425)))))))
(-10 -7 (-15 -2586 ((-1288 |#2|) |#2| |#4|)) (-15 -2587 (|#2| |#3| |#4|)) (-15 -2588 (|#2| |#2| |#4|)) (-15 -2589 ((-709 |#2|) |#2| |#4|)) (-15 -2590 ((-709 |#2|) |#2| |#4| (-791))) (-15 -2591 ((-709 |#2|) |#3| |#4|)) (-15 -2592 ((-709 |#2|) |#3| |#4| (-791) (-791))))
diff --git a/src/share/algebra/operation.daase b/src/share/algebra/operation.daase
index 80f0b2bf..322538b7 100644
--- a/src/share/algebra/operation.daase
+++ b/src/share/algebra/operation.daase
@@ -1,5 +1,5 @@
-(719417 . 3522243821)
+(719417 . 3522279583)
(((*1 *2 *3 *4)
(|partial| -12 (-5 *3 (-1288 *4)) (-4 *4 (-13 (-1070) (-658 (-558))))
(-5 *2 (-1288 (-419 (-558)))) (-5 *1 (-1317 *4)))))