diff options
-rw-r--r-- | src/ChangeLog | 29 | ||||
-rw-r--r-- | src/algebra/syntax.spad.pamphlet | 4 | ||||
-rw-r--r-- | src/interp/c-doc.boot | 2 | ||||
-rw-r--r-- | src/interp/c-util.boot | 6 | ||||
-rw-r--r-- | src/interp/compiler.boot | 12 | ||||
-rw-r--r-- | src/interp/define.boot | 6 | ||||
-rw-r--r-- | src/interp/g-util.boot | 2 | ||||
-rw-r--r-- | src/interp/newaux.lisp | 2 | ||||
-rw-r--r-- | src/interp/parse.boot | 27 | ||||
-rw-r--r-- | src/interp/postpar.boot | 46 | ||||
-rw-r--r-- | src/interp/property.lisp | 5 | ||||
-rw-r--r-- | src/interp/spad-parser.boot | 2 | ||||
-rw-r--r-- | src/interp/spad.lisp | 9 | ||||
-rw-r--r-- | src/share/algebra/browse.daase | 2 | ||||
-rw-r--r-- | src/share/algebra/category.daase | 2 | ||||
-rw-r--r-- | src/share/algebra/compress.daase | 2 | ||||
-rw-r--r-- | src/share/algebra/interp.daase | 4 | ||||
-rw-r--r-- | src/share/algebra/operation.daase | 2 |
18 files changed, 75 insertions, 89 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 8d9f41cc..0762948a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,32 @@ +2011-10-18 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * interp/postpar.boot (displayPreCompilationErrors): Dot not check + for interactive mode. + (postBigFloat): Likewise. + (postDef): Likewise. + (postMDef): Likewise. + (tuple2List): Likewise. + (postReduce): Likewise. + (postQUOTE): Remove. + (postQuot): Likewise. + (postOp): Likewise. + (postTran): Adjust. + * interp/newaux.lisp: Replace %LET with ':='. + * interp/property.lisp: Likewise. + * interp/g-util.boot (getTypeOfSyntax): Likewise. + * interp/define.boot (checkRepresentation): Likewise. + (doIt): Likewise. + * interp/compiler.boot (compSetq): Likewise. + (compRecoverGuard): Likewise. + (compReduce1): Likewise. + * interp/c-util.boot (lhsOfAssignment): Likewise. + (isAlmostSimple): Likewise. + * interp/c-doc.boot (recordAttributeDocumentation): Likewise. + * interp/parse.boot (parseLeftArrow): Remove. + (parseLETD): Likewise. + (parseAssign): Rename from parseLET. + * algebra/syntax.spad.pamphlet (SpadAst): Handle both cases. + 2011-10-17 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/spad-parser.boot (parseSegmentTail): Tidy. diff --git a/src/algebra/syntax.spad.pamphlet b/src/algebra/syntax.spad.pamphlet index bd908bf0..a74815e1 100644 --- a/src/algebra/syntax.spad.pamphlet +++ b/src/algebra/syntax.spad.pamphlet @@ -1766,7 +1766,7 @@ SpadAst(): SpadAstExports() == add x case SequenceAst == isAst(x,'SEQ) autoCoerce(x: %): SequenceAst == x : SequenceAst - x case LetAst == isAst(x,'_%LET) + x case LetAst == isAst(x,'_%LET) or isAst(x,'_:_=) autoCoerce(x: %): LetAst == x : LetAst x case SuchThatAst == isAst(x,'_|) @@ -1806,7 +1806,7 @@ SpadAst(): SpadAstExports() == add op = '_exit => x:ExitAst::OutputForm op = '_return => x:ReturnAst::OutputForm op = 'SEQ => x:SequenceAst::OutputForm - op = '%LET => x:LetAst::OutputForm + op = '%LET or op = '_:_= => x:LetAst::OutputForm op = '_pretend => x:PretendAst::OutputForm op = '_:_: => x:CoerceAst::OutputForm op = '_@ => x:RestrictAst::OutputForm diff --git a/src/interp/c-doc.boot b/src/interp/c-doc.boot index 0b341a16..63473e10 100644 --- a/src/interp/c-doc.boot +++ b/src/interp/c-doc.boot @@ -97,7 +97,7 @@ readForDoc fn == recordSignatureDocumentation(opSig,lineno) == recordDocumentation(rest postTransform opSig,lineno) -recordAttributeDocumentation(['%Attribute,att],lineno) == +recordAttributeDocumentation(['ATTRIBUTE,att],lineno) == name := opOf att upperCase? stringChar(symbolName name,0) => nil recordDocumentation([name,['attribute,:IFCDR postTransform att]],lineno) diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot index 8145cd36..a6931e5c 100644 --- a/src/interp/c-util.boot +++ b/src/interp/c-util.boot @@ -510,7 +510,7 @@ makeCommonEnvironment(e,e') == ++ Return the lexically leftmost location in an assignment for. lhsOfAssignment x == - x is ["%LET",lhs,:.] => lhsOfAssignment lhs + x is [":=",lhs,:.] => lhsOfAssignment lhs x getSuccessEnvironment(a,e) == @@ -793,9 +793,9 @@ isAlmostSimple x == [op,y,:l]:= x op="has" => x op="is" => x - op="%LET" => + op=":=" => ident? y => (setAssignment [x]; y) - (setAssignment [["%LET",g:= genVariable(),:l],["%LET",y,g]]; g) + (setAssignment [[":=",g:= genVariable(),:l],[":=",y,g]]; g) op = "case" and ident? y => x isSideEffectFree op => [op,:mapInto(rest x, function fn)] $assignmentList:= "failed" diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 5a93d546..44dc7d4d 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -780,7 +780,7 @@ compCons1(["CONS",x,y],m,e) == compSetq: (%Instantiation,%Mode,%Env) -> %Maybe %Triple compSetq1: (%Form,%Form,%Mode,%Env) -> %Maybe %Triple -compSetq(["%LET",form,val],m,E) == +compSetq([":=",form,val],m,E) == compSetq1(form,val,m,E) compSetq1(form,val,m,E) == @@ -2078,7 +2078,7 @@ compRecoverGuard(x,t,sn,sm,e) == -- assignment scope (e.g. "%LET") as opposed to local assignment -- because the recovered type may be needed in the body of -- the alternative. - varDef := ["%LET",[":",var',$Type], + varDef := [":=",[":",var',$Type], [["elt",["Foreign","Builtin"],"evalDomain"], [["elt",["Foreign","Builtin"],"CAR"], sn]]] [def,.,e] := compOrCroak(varDef,$EmptyMode,e) @@ -2247,11 +2247,11 @@ compReduce1(form is ["REDUCE",op,.,collectForm],m,e,$formalArgList) == itl := [([.,e]:= compIterator(x,e) or return "failed").0 for x in itl] itl="failed" => return nil b := gensym() -- holds value of the body - [bval,bmode,e] := comp(['%LET,b,body],$EmptyMode,e) or return nil + [bval,bmode,e] := comp([":=",b,body],$EmptyMode,e) or return nil accu := gensym() -- holds value of the accumulator - [move,.,e] := comp(['%LET,accu,b],$EmptyMode,e) or return nil + [move,.,e] := comp([":=",accu,b],$EmptyMode,e) or return nil move.op := '%store -- in reality, we are not defining a new variable - [update,mode,e] := comp(['%LET,accu,[op,accu,b]],m,e) or return nil + [update,mode,e] := comp([":=",accu,[op,accu,b]],m,e) or return nil update.op := '%store -- just update the accumulation variable. nval := id := getIdentity(op,e) => u.expr where @@ -2674,7 +2674,7 @@ for x in [["|", :"compSuchthat"],_ ["is", :"compIs"],_ ["Join", :"compJoin"],_ ["leave", :"compLeave"],_ - ["%LET", :"compSetq"],_ + [":=", :"compSetq"],_ ["MDEF", :"compMacro"],_ ["not", :"compLogicalNot"],_ ["pretend", :"compPretend"],_ diff --git a/src/interp/define.boot b/src/interp/define.boot index 3c73dfb0..05e87331 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -732,7 +732,7 @@ checkRepresentation(addForm,body,env) == -- Locate possible Rep definition for [stmt,:.] in tails body repeat - stmt is ["%LET","Rep",val] => + stmt is [":=","Rep",val] => domainRep ~= nil => stackAndThrow('"You cannot assign to constant domain %1b",["Rep"]) if addForm = val then @@ -766,7 +766,7 @@ checkRepresentation(addForm,body,env) == stackAndThrow('"You cannot specify type for %1b",["Rep"]) -- Now, trick the rest of the compiler into believing that -- `Rep' was defined the Old Way, for lookup purpose. - stmt.op := "%LET" + stmt.op := ":=" stmt.rest := ["Rep",domainRep] $useRepresentationHack := false -- Don't confuse `Rep' and `%'. @@ -2224,7 +2224,7 @@ doIt(item,$predl) == item.op := u.op item.rest := rest u doIt(item,$predl) - item is ["%LET",lhs,rhs,:.] => + item is [":=",lhs,rhs,:.] => compOrCroak(item,$EmptyMode,$e) isnt [code,.,$e] => stackSemanticError(["cannot compile assigned value to",:bright lhs],nil) not (code is ["%LET",lhs',rhs',:.] and lhs' isnt [.,:.]) => diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot index f49a61ec..de1ad58d 100644 --- a/src/interp/g-util.boot +++ b/src/interp/g-util.boot @@ -371,7 +371,7 @@ getTypeOfSyntax t == op = "pretend" => '(PretendAst) op = "::" => '(CoerceAst) op = "@" => '(RestrictAst) - op = "%LET" => '(LetAst) + op = "%LET" or op = ":=" => '(LetAst) op = "|" => '(SuchThatAst) op = ":" => '(ColonAst) op = ":=" => '(LetAst) diff --git a/src/interp/newaux.lisp b/src/interp/newaux.lisp index 3e85eb7d..2d937c33 100644 --- a/src/interp/newaux.lisp +++ b/src/interp/newaux.lisp @@ -127,7 +127,7 @@ (== DEF 122 121) (==> MDEF 122 121) (\| 108 111) ;was 190 190 - (\:- LETD 125 124) (\:= %LET 125 124))) + (\:- 125 124) (\:= 125 124))) (mapcar #'(LAMBDA (J) (MAKENEWOP J `|Nud|)) '((|for| 130 350 (|parseLoop|)) diff --git a/src/interp/parse.boot b/src/interp/parse.boot index f980de7c..8fd23a1c 100644 --- a/src/interp/parse.boot +++ b/src/interp/parse.boot @@ -97,11 +97,6 @@ parseConstruct u == $insideConstructIfTrue: local:= true [first u,:parseTranList rest u] --- ??? This parser is unused at the moment. -parseLeftArrow: %ParseForm -> %Form -parseLeftArrow u == - parseTran ["%LET",:rest u] - parseIs: %ParseForm -> %Form parseIs t == t isnt ["is",a,b] => systemErrorHere ["parseIs",t] @@ -139,19 +134,14 @@ transIs1 u == [h,:v] u -parseLET: %ParseForm -> %Form -parseLET t == - t isnt ["%LET",x,y] => systemErrorHere ["parseLET",t] - p := ["%LET",parseTran x,parseTranCheckForRecord(y,opOf x)] - opOf x = "cons" => ["%LET",transIs p.1,p.2] +parseAssign: %ParseForm -> %Form +parseAssign t == + t isnt [":=",x,y] => systemErrorHere ["parseAssign",t] + p := [":=",parseTran x,parseTranCheckForRecord(y,opOf x)] + opOf x = "cons" => [":=",transIs p.1,p.2] p -parseLETD: %ParseForm -> %Form -parseLETD t == - t isnt ["LETD",x,y] => systemErrorHere ["parseLETD",t] - ["%Decl",parseTran x,parseTran y] - parseColon: %ParseForm -> %Form parseColon u == u isnt [":",:.] => systemErrorHere ["parseColon",u] @@ -355,7 +345,7 @@ makeSimplePredicateOrNil: %ParseForm -> %Form makeSimplePredicateOrNil p == isSimple p => nil u:= isAlmostSimple p => u - wrapSEQExit [["%LET",g:= gensym(),p],g] + wrapSEQExit [[":=",g:= gensym(),p],g] parseWhere: %List %Form -> %Form @@ -378,7 +368,7 @@ transSeq l == l is [x] => decExitLevel x [item,:tail] := l item is ["SEQ",:l,["exit",1,["IF",p,["exit", =2,q],"%noBranch"]]] and - (and/[x is ["%LET",:.] for x in l]) => + (and/[x is [":=",:.] for x in l]) => ["SEQ",:[decExitLevel x for x in l],["exit",1,["IF",decExitLevel p, decExitLevel q,transSeq tail]]] item is ["IF",a,["exit",1,b],"%noBranch"] => @@ -457,8 +447,7 @@ for x in [[":", :"parseColon"],_ ["isnt", :"parseIsnt"],_ ["Join", :"parseJoin"],_ ["leave", :"doParseLeave"],_ - ["%LET", :"parseLET"],_ - ["LETD", :"parseLETD"],_ + [":=", :"parseAssign"],_ ["MDEF", :"parseMDEF"],_ ["or", :"parseOr"],_ ["pretend", :"parsePretend"],_ diff --git a/src/interp/postpar.boot b/src/interp/postpar.boot index aba24540..e4148a8f 100644 --- a/src/interp/postpar.boot +++ b/src/interp/postpar.boot @@ -66,13 +66,10 @@ displayPreCompilationErrors() == errors:= 1<n => '"errors" '"error" - if $InteractiveMode - then sayBrightly ['" Semantic ",errors,'" detected: "] - else - heading:= - $topOp ~= '$topOp => ['" ",$topOp,'" has"] - ['" You have"] - sayBrightly [:heading,'"%b",n,'"%d",'"precompilation ",errors,'":"] + heading:= + $topOp ~= '$topOp => ['" ",$topOp,'" has"] + ['" You have"] + sayBrightly [:heading,'"%b",n,'"%d",'"precompilation ",errors,'":"] if 1<n then (for x in $postStack for i in 1.. repeat sayMath ['" ",i,'"_) ",:x]) else sayMath ['" ",:first $postStack] @@ -83,11 +80,11 @@ postTran x == x isnt [.,:.] => postAtom x op := first x + op is 'QUOTE => x symbol? op and (f:= property(op,'postTran)) => FUNCALL(f,x) op is ["elt",a,b] => u:= postTran [b,:rest x] [postTran op,:rest u] - op ~= (y:= postOp op) => [y,:postTranList rest x] postForm x postTranList: %List %ParseTree -> %List %ParseForm @@ -97,8 +94,7 @@ postTranList x == postBigFloat: %ParseTree -> %ParseTree postBigFloat x == [.,mant,:expon] := x - eltword := if $InteractiveMode then "$elt" else "elt" - postTran [[eltword,$Float,"float"],[",",[",",mant,expon],10]] + postTran [['elt,$Float,"float"],[",",[",",mant,expon],10]] postAdd: %ParseTree -> %ParseForm postAdd x == @@ -122,10 +118,6 @@ postCapsule x == op = "if" => ["CAPSULE",postBlockItem x] checkWarningIndentation() -postQUOTE: %ParseTree -> %ParseForm -postQUOTE x == - x - postColon: %ParseTree -> %ParseForm postColon u == u is [":",x] => [":",postTran x] @@ -157,7 +149,7 @@ postError: %Thing -> %Thing postError msg == BUMPERRORCOUNT 'precompilation xmsg:= - $defOp ~= nil and not $InteractiveMode => [$defOp,'": ",:msg] + $defOp ~= nil => [$defOp,'": ",:msg] msg $postStack:= [xmsg,:$postStack] nil @@ -226,7 +218,7 @@ postDef t == [form,targetType]:= lhs is [":",:.] => rest lhs [lhs,nil] - if not $InteractiveMode and form isnt [.,:.] then form := [form] + if form isnt [.,:.] then form := [form] newLhs:= form isnt [.,:.] => form [op,:argl]:= [(x is [":",a,.] => a; x) for x in form] @@ -253,11 +245,7 @@ postDefArgs argl == postMDef: %ParseTree -> %ParseForm postMDef(t) == [.,lhs,rhs] := t - $InteractiveMode => - lhs := postTran lhs - not ident? lhs => throwKeyedMsg("S2IP0001",nil) - ["MDEF",lhs,nil,nil,postTran rhs] - lhs:= postTran lhs + lhs := postTran lhs [form,targetType]:= lhs is [":",:.] => rest lhs [lhs,nil] @@ -308,10 +296,6 @@ postForm u == x is [.,["%Comma",:y]] => [first x,:y] x -postQuote: %ParseTree -> %ParseForm -postQuote [.,a] == - quote a - postIf: %ParseTree -> %ParseForm postIf t == t isnt ["if",:l] => t @@ -334,13 +318,6 @@ postMapping u == u isnt ["->",source,target] => u ["Mapping",postTran target,:unComma postTran source] -postOp: %ParseTree -> %ParseForm -postOp x == - x=":=" => "%LET" - x=":-" => "LETD" - x="%Attribute" => "ATTRIBUTE" - x - postRepeat: %ParseTree -> %ParseForm postRepeat t == t isnt ["REPEAT",:m,x] => systemErrorHere ["postRepeat",t] @@ -400,8 +377,6 @@ tuple2List l == u:= tuple2List l' a is ["SEGMENT",p,q] => null u => ["construct",postTranSegment(p,q)] - $InteractiveMode => - ["append",["construct",postTranSegment(p,q)],tuple2List l'] ["nconc",["construct",postTranSegment(p,q)],tuple2List l'] null u => ["construct",postTran a] ["cons",postTran a,tuple2List l'] @@ -414,7 +389,7 @@ SEGMENT(a,b) == postReduce: %ParseTree -> %ParseForm postReduce t == t isnt ["%Reduce",op,expr] => systemErrorHere ["postReduce",t] - $InteractiveMode or expr is ["COLLECT",:.] => + expr is ["COLLECT",:.] => ["REDUCE",op,0,postTran expr] postReduce ["%Reduce",op,["COLLECT",["IN",g:= gensym(),expr], ["construct", g]]] @@ -544,7 +519,6 @@ for x in [["with", :"postWith"],_ ["/", :"postSlash"],_ ["construct", :"postConstruct"],_ ["%Block", :"postBlock"],_ - ["QUOTE", :"postQUOTE"],_ ["COLLECT", :"postCollect"],_ [":BF:", :"postBigFloat"],_ ["in", :"postin"],_ diff --git a/src/interp/property.lisp b/src/interp/property.lisp index de9719a4..94163971 100644 --- a/src/interp/property.lisp +++ b/src/interp/property.lisp @@ -63,9 +63,12 @@ (MAKEPROP 'SEGMENT '|Led| '(|..| SEGMENT 401 699 (|P:Seg|))) (MAKEPROP 'SEGMENT '|isSuffix| 'T) (MAKEPROP 'EQUAL1 'CHRYBNAM 'EQ) +(MAKEPROP 'COND '|Nud| '(|if| |if| 130 0)) +(MAKEPROP 'CONS '|Led| '(CONS CONS 1000 1000)) +(MAKEPROP 'APPEND '|Led| '(APPEND APPEND 1000 1000)) (REPEAT (IN X '( - (%LET " := ") + (|:=| " := ") (= "=") (|/| "/") (+ "+") diff --git a/src/interp/spad-parser.boot b/src/interp/spad-parser.boot index 894907b2..0eb18815 100644 --- a/src/interp/spad-parser.boot +++ b/src/interp/spad-parser.boot @@ -383,7 +383,7 @@ parseCategory() == pushReduction('parseCategory,["%Signature",popStack2(),popStack1()]) recordSignatureDocumentation(nthStack 1,g) true - pushReduction('parseCategory,["%Attribute",popStack1()]) + pushReduction('parseCategory,["ATTRIBUTE",popStack1()]) recordAttributeDocumentation(nthStack 1,g) true nil diff --git a/src/interp/spad.lisp b/src/interp/spad.lisp index fc517d67..2de5aaaa 100644 --- a/src/interp/spad.lisp +++ b/src/interp/spad.lisp @@ -340,15 +340,6 @@ (FLAG TEMPGENSYMLIST 'IS-GENSYM) -(MAKEPROP 'COND '|Nud| '(|if| |if| 130 0)) -(MAKEPROP 'CONS '|Led| '(CONS CONS 1000 1000)) -(MAKEPROP 'APPEND '|Led| '(APPEND APPEND 1000 1000)) -(MAKEPROP 'TAG '|Led| '(TAG TAG 122 121)) -(MAKEPROP 'EQUATNUM '|Nud| '(|dummy| |dummy| 0 0)) -(MAKEPROP 'EQUATNUM '|Led| '(|dummy| |dummy| 10000 0)) -(MAKEPROP '%LET '|Led| '(:= %LET 125 124)) -(MAKEPROP 'RARROW '|Led| '(== DEF 122 121)) -(MAKEPROP 'SEGMENT '|Led| '(\.\. SEGMENT 401 699 (|boot-Seg|))) ;; NAME: DECIMAL-LENGTH ;; PURPOSE: Computes number of decimal digits in print representation of x diff --git a/src/share/algebra/browse.daase b/src/share/algebra/browse.daase index e2bbd819..8a8d280d 100644 --- a/src/share/algebra/browse.daase +++ b/src/share/algebra/browse.daase @@ -1,5 +1,5 @@ -(2004998 . 3527714197) +(2004998 . 3527958790) (-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 7991887f..4ce6b2ef 100644 --- a/src/share/algebra/category.daase +++ b/src/share/algebra/category.daase @@ -1,5 +1,5 @@ -(198618 . 3527714200) +(198618 . 3527958793) ((((-765)) . T)) ((((-765)) . T)) ((((-765)) . T)) diff --git a/src/share/algebra/compress.daase b/src/share/algebra/compress.daase index d1933c10..ebbeb1aa 100644 --- a/src/share/algebra/compress.daase +++ b/src/share/algebra/compress.daase @@ -1,5 +1,5 @@ -(30 . 3527714196) +(30 . 3527958789) (3982 |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 977ffe9c..40a86ff1 100644 --- a/src/share/algebra/interp.daase +++ b/src/share/algebra/interp.daase @@ -1,5 +1,5 @@ -(2797332 . 3527714206) +(2797332 . 3527958797) ((-1719 (((-83) (-1 (-83) |#2| |#2|) $) 86 T ELT) (((-83) $) NIL T ELT)) (-1717 (($ (-1 (-83) |#2| |#2|) $) 18 T ELT) (($ $) NIL T ELT)) (-3772 ((|#2| $ (-478) |#2|) NIL T ELT) ((|#2| $ (-1135 (-478)) |#2|) 44 T ELT)) (-2283 (($ $) 80 T ELT)) (-3826 ((|#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)) (-3403 (((-478) (-1 (-83) |#2|) $) 27 T ELT) (((-478) |#2| $) NIL T ELT) (((-478) |#2| $ (-478)) 96 T ELT)) (-2873 (((-578 |#2|) $) 13 T ELT)) (-3502 (($ (-1 (-83) |#2| |#2|) $ $) 64 T ELT) (($ $ $) NIL T ELT)) (-1936 (($ (-1 |#2| |#2|) $) 37 T ELT)) (-3942 (($ (-1 |#2| |#2|) $) NIL T ELT) (($ (-1 |#2| |#2| |#2|) $ $) 60 T ELT)) (-2290 (($ |#2| $ (-478)) NIL T ELT) (($ $ $ (-478)) 67 T ELT)) (-1341 (((-3 |#2| "failed") (-1 (-83) |#2|) $) 29 T ELT)) (-1934 (((-83) (-1 (-83) |#2|) $) 23 T ELT)) (-3784 ((|#2| $ (-478) |#2|) NIL T ELT) ((|#2| $ (-478)) NIL T ELT) (($ $ (-1135 (-478))) 66 T ELT)) (-2291 (($ $ (-478)) 76 T ELT) (($ $ (-1135 (-478))) 75 T ELT)) (-1933 (((-687) (-1 (-83) |#2|) $) 34 T ELT) (((-687) |#2| $) NIL T ELT)) (-1718 (($ $ $ (-478)) 69 T ELT)) (-3384 (($ $) 68 T ELT)) (-3514 (($ (-578 |#2|)) 73 T ELT)) (-3786 (($ $ |#2|) NIL T ELT) (($ |#2| $) NIL T ELT) (($ $ $) 87 T ELT) (($ (-578 $)) 85 T ELT)) (-3930 (((-765) $) 92 T ELT)) (-1935 (((-83) (-1 (-83) |#2|) $) 22 T ELT)) (-3040 (((-83) $ $) 95 T ELT)) (-2669 (((-83) $ $) 99 T ELT))) (((-18 |#1| |#2|) (-10 -7 (-15 -3040 ((-83) |#1| |#1|)) (-15 -3930 ((-765) |#1|)) (-15 -2669 ((-83) |#1| |#1|)) (-15 -1717 (|#1| |#1|)) (-15 -1717 (|#1| (-1 (-83) |#2| |#2|) |#1|)) (-15 -2283 (|#1| |#1|)) (-15 -1718 (|#1| |#1| |#1| (-478))) (-15 -1719 ((-83) |#1|)) (-15 -3502 (|#1| |#1| |#1|)) (-15 -3403 ((-478) |#2| |#1| (-478))) (-15 -3403 ((-478) |#2| |#1|)) (-15 -3403 ((-478) (-1 (-83) |#2|) |#1|)) (-15 -1719 ((-83) (-1 (-83) |#2| |#2|) |#1|)) (-15 -3502 (|#1| (-1 (-83) |#2| |#2|) |#1| |#1|)) (-15 -3772 (|#2| |#1| (-1135 (-478)) |#2|)) (-15 -2290 (|#1| |#1| |#1| (-478))) (-15 -2290 (|#1| |#2| |#1| (-478))) (-15 -2291 (|#1| |#1| (-1135 (-478)))) (-15 -2291 (|#1| |#1| (-478))) (-15 -3942 (|#1| (-1 |#2| |#2| |#2|) |#1| |#1|)) (-15 -3786 (|#1| (-578 |#1|))) (-15 -3786 (|#1| |#1| |#1|)) (-15 -3786 (|#1| |#2| |#1|)) (-15 -3786 (|#1| |#1| |#2|)) (-15 -3784 (|#1| |#1| (-1135 (-478)))) (-15 -3514 (|#1| (-578 |#2|))) (-15 -1341 ((-3 |#2| "failed") (-1 (-83) |#2|) |#1|)) (-15 -3826 (|#2| (-1 |#2| |#2| |#2|) |#1|)) (-15 -3826 (|#2| (-1 |#2| |#2| |#2|) |#1| |#2|)) (-15 -3826 (|#2| (-1 |#2| |#2| |#2|) |#1| |#2| |#2|)) (-15 -3784 (|#2| |#1| (-478))) (-15 -3784 (|#2| |#1| (-478) |#2|)) (-15 -3772 (|#2| |#1| (-478) |#2|)) (-15 -1933 ((-687) |#2| |#1|)) (-15 -2873 ((-578 |#2|) |#1|)) (-15 -1933 ((-687) (-1 (-83) |#2|) |#1|)) (-15 -1934 ((-83) (-1 (-83) |#2|) |#1|)) (-15 -1935 ((-83) (-1 (-83) |#2|) |#1|)) (-15 -1936 (|#1| (-1 |#2| |#2|) |#1|)) (-15 -3942 (|#1| (-1 |#2| |#2|) |#1|)) (-15 -3384 (|#1| |#1|))) (-19 |#2|) (-1118)) (T -18)) NIL @@ -3447,7 +3447,7 @@ NIL ((-3930 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-765)))) (-3362 (*1 *1) (-12 (-4 *1 (-1037 *2)) (-4 *2 (-954)))) (-3362 (*1 *1 *2) (-12 (-5 *2 (-1068 3 *3)) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3361 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-687)))) (-3360 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-687)))) (-3502 (*1 *1 *2) (-12 (-5 *2 (-578 *1)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3502 (*1 *1 *1 *1) (-12 (-4 *1 (-1037 *2)) (-4 *2 (-954)))) (-3738 (*1 *1 *2) (-12 (-5 *2 (-578 *1)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3359 (*1 *2 *1) (-12 (-4 *3 (-954)) (-5 *2 (-578 *1)) (-4 *1 (-1037 *3)))) (-3358 (*1 *2 *1) (-12 (-4 *3 (-954)) (-5 *2 (-578 *1)) (-4 *1 (-1037 *3)))) (-3384 (*1 *1 *1) (-12 (-4 *1 (-1037 *2)) (-4 *2 (-954)))) (-3357 (*1 *2 *1 *3) (-12 (-5 *3 (-578 (-847 *4))) (-4 *1 (-1037 *4)) (-4 *4 (-954)) (-5 *2 (-687)))) (-3871 (*1 *1 *1 *2 *3) (-12 (-5 *2 (-687)) (-5 *3 (-847 *4)) (-4 *1 (-1037 *4)) (-4 *4 (-954)))) (-3690 (*1 *1 *1 *2) (-12 (-5 *2 (-847 *3)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3690 (*1 *1 *1 *2) (-12 (-5 *2 (-578 *3)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3690 (*1 *1 *1 *2) (-12 (-5 *2 (-687)) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3690 (*1 *1 *2) (-12 (-5 *2 (-847 *3)) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3690 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-847 *3)))) (-3356 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3355 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3355 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-578 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3355 (*1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3355 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-847 *3))))) (-3354 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3353 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3353 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-578 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3353 (*1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3353 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-847 *3))))) (-3352 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3351 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3351 (*1 *1 *1 *2) (-12 (-5 *2 (-578 (-578 *3))) (-4 *1 (-1037 *3)) (-4 *3 (-954)))) (-3351 (*1 *1 *2) (-12 (-5 *2 (-578 (-847 *3))) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3351 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-847 *3))))) (-3350 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3349 (*1 *1 *1 *2 *3 *4) (-12 (-5 *2 (-578 (-578 (-847 *5)))) (-5 *3 (-578 (-143))) (-5 *4 (-143)) (-4 *1 (-1037 *5)) (-4 *5 (-954)))) (-3349 (*1 *1 *1 *2 *3 *4) (-12 (-5 *2 (-578 (-578 (-578 *5)))) (-5 *3 (-578 (-143))) (-5 *4 (-143)) (-4 *1 (-1037 *5)) (-4 *5 (-954)))) (-3349 (*1 *1 *1 *2 *3 *3) (-12 (-5 *2 (-578 (-578 (-847 *4)))) (-5 *3 (-83)) (-4 *1 (-1037 *4)) (-4 *4 (-954)))) (-3349 (*1 *1 *1 *2 *3 *3) (-12 (-5 *2 (-578 (-578 (-578 *4)))) (-5 *3 (-83)) (-4 *1 (-1037 *4)) (-4 *4 (-954)))) (-3349 (*1 *1 *2) (-12 (-5 *2 (-578 (-578 (-847 *3)))) (-4 *3 (-954)) (-4 *1 (-1037 *3)))) (-3349 (*1 *1 *2 *3 *3) (-12 (-5 *2 (-578 (-578 (-847 *4)))) (-5 *3 (-83)) (-4 *4 (-954)) (-4 *1 (-1037 *4)))) (-3349 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-578 (-847 *3)))))) (-3348 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-83)))) (-3347 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-847 *3))))) (-3346 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-578 (-578 (-687))))))) (-3345 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-578 (-578 (-847 *3))))))) (-3344 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-578 (-143)))))) (-3343 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-578 (-143))))) (-3342 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-2 (|:| -3834 (-687)) (|:| |curves| (-687)) (|:| |polygons| (-687)) (|:| |constructs| (-687)))))) (-3341 (*1 *1 *1) (-12 (-4 *1 (-1037 *2)) (-4 *2 (-954)))) (-3872 (*1 *2 *1) (-12 (-4 *1 (-1037 *3)) (-4 *3 (-954)) (-5 *2 (-1068 3 *3))))) (-13 (-1005) (-10 -8 (-15 -3362 ($)) (-15 -3362 ($ (-1068 3 |t#1|))) (-15 -3361 ((-687) $)) (-15 -3360 ((-687) $)) (-15 -3502 ($ (-578 $))) (-15 -3502 ($ $ $)) (-15 -3738 ($ (-578 $))) (-15 -3359 ((-578 $) $)) (-15 -3358 ((-578 $) $)) (-15 -3384 ($ $)) (-15 -3357 ((-687) $ (-578 (-847 |t#1|)))) (-15 -3871 ($ $ (-687) (-847 |t#1|))) (-15 -3690 ($ $ (-847 |t#1|))) (-15 -3690 ($ $ (-578 |t#1|))) (-15 -3690 ($ $ (-687))) (-15 -3690 ($ (-847 |t#1|))) (-15 -3690 ((-847 |t#1|) $)) (-15 -3356 ((-83) $)) (-15 -3355 ($ $ (-578 (-847 |t#1|)))) (-15 -3355 ($ $ (-578 (-578 |t#1|)))) (-15 -3355 ($ (-578 (-847 |t#1|)))) (-15 -3355 ((-578 (-847 |t#1|)) $)) (-15 -3354 ((-83) $)) (-15 -3353 ($ $ (-578 (-847 |t#1|)))) (-15 -3353 ($ $ (-578 (-578 |t#1|)))) (-15 -3353 ($ (-578 (-847 |t#1|)))) (-15 -3353 ((-578 (-847 |t#1|)) $)) (-15 -3352 ((-83) $)) (-15 -3351 ($ $ (-578 (-847 |t#1|)))) (-15 -3351 ($ $ (-578 (-578 |t#1|)))) (-15 -3351 ($ (-578 (-847 |t#1|)))) (-15 -3351 ((-578 (-847 |t#1|)) $)) (-15 -3350 ((-83) $)) (-15 -3349 ($ $ (-578 (-578 (-847 |t#1|))) (-578 (-143)) (-143))) (-15 -3349 ($ $ (-578 (-578 (-578 |t#1|))) (-578 (-143)) (-143))) (-15 -3349 ($ $ (-578 (-578 (-847 |t#1|))) (-83) (-83))) (-15 -3349 ($ $ (-578 (-578 (-578 |t#1|))) (-83) (-83))) (-15 -3349 ($ (-578 (-578 (-847 |t#1|))))) (-15 -3349 ($ (-578 (-578 (-847 |t#1|))) (-83) (-83))) (-15 -3349 ((-578 (-578 (-847 |t#1|))) $)) (-15 -3348 ((-83) $)) (-15 -3347 ((-578 (-847 |t#1|)) $)) (-15 -3346 ((-578 (-578 (-578 (-687)))) $)) (-15 -3345 ((-578 (-578 (-578 (-847 |t#1|)))) $)) (-15 -3344 ((-578 (-578 (-143))) $)) (-15 -3343 ((-578 (-143)) $)) (-15 -3342 ((-2 (|:| -3834 (-687)) (|:| |curves| (-687)) (|:| |polygons| (-687)) (|:| |constructs| (-687))) $)) (-15 -3341 ($ $)) (-15 -3872 ((-1068 3 |t#1|) $)) (-15 -3930 ((-765) $)))) (((-72) . T) ((-547 (-765)) . T) ((-1005) . T) ((-1118) . T)) -((-2552 (((-83) $ $) NIL T ELT)) (-3225 (((-1062) $) NIL T ELT)) (-3226 (((-1023) $) NIL T ELT)) (-3930 (((-765) $) 184 T ELT) (($ (-1084)) NIL T ELT) (((-1084) $) 7 T ELT)) (-3550 (((-83) $ (|[\|\|]| (-456))) 19 T ELT) (((-83) $ (|[\|\|]| (-170))) 23 T ELT) (((-83) $ (|[\|\|]| (-612))) 27 T ELT) (((-83) $ (|[\|\|]| (-1179))) 31 T ELT) (((-83) $ (|[\|\|]| (-109))) 35 T ELT) (((-83) $ (|[\|\|]| (-534))) 39 T ELT) (((-83) $ (|[\|\|]| (-104))) 43 T ELT) (((-83) $ (|[\|\|]| (-1019))) 47 T ELT) (((-83) $ (|[\|\|]| (-67))) 51 T ELT) (((-83) $ (|[\|\|]| (-617))) 55 T ELT) (((-83) $ (|[\|\|]| (-450))) 59 T ELT) (((-83) $ (|[\|\|]| (-970))) 63 T ELT) (((-83) $ (|[\|\|]| (-1180))) 67 T ELT) (((-83) $ (|[\|\|]| (-457))) 71 T ELT) (((-83) $ (|[\|\|]| (-1056))) 75 T ELT) (((-83) $ (|[\|\|]| (-125))) 79 T ELT) (((-83) $ (|[\|\|]| (-608))) 83 T ELT) (((-83) $ (|[\|\|]| (-259))) 87 T ELT) (((-83) $ (|[\|\|]| (-941))) 91 T ELT) (((-83) $ (|[\|\|]| (-152))) 95 T ELT) (((-83) $ (|[\|\|]| (-876))) 99 T ELT) (((-83) $ (|[\|\|]| (-977))) 103 T ELT) (((-83) $ (|[\|\|]| (-995))) 107 T ELT) (((-83) $ (|[\|\|]| (-1000))) 111 T ELT) (((-83) $ (|[\|\|]| (-560))) 115 T ELT) (((-83) $ (|[\|\|]| (-1070))) 119 T ELT) (((-83) $ (|[\|\|]| (-127))) 123 T ELT) (((-83) $ (|[\|\|]| (-108))) 127 T ELT) (((-83) $ (|[\|\|]| (-411))) 131 T ELT) (((-83) $ (|[\|\|]| (-522))) 135 T ELT) (((-83) $ (|[\|\|]| (-439))) 139 T ELT) (((-83) $ (|[\|\|]| (-1062))) 143 T ELT) (((-83) $ (|[\|\|]| (-478))) 147 T ELT)) (-1253 (((-83) $ $) NIL T ELT)) (-3556 (((-456) $) 20 T ELT) (((-170) $) 24 T ELT) (((-612) $) 28 T ELT) (((-1179) $) 32 T ELT) (((-109) $) 36 T ELT) (((-534) $) 40 T ELT) (((-104) $) 44 T ELT) (((-1019) $) 48 T ELT) (((-67) $) 52 T ELT) (((-617) $) 56 T ELT) (((-450) $) 60 T ELT) (((-970) $) 64 T ELT) (((-1180) $) 68 T ELT) (((-457) $) 72 T ELT) (((-1056) $) 76 T ELT) (((-125) $) 80 T ELT) (((-608) $) 84 T ELT) (((-259) $) 88 T ELT) (((-941) $) 92 T ELT) (((-152) $) 96 T ELT) (((-876) $) 100 T ELT) (((-977) $) 104 T ELT) (((-995) $) 108 T ELT) (((-1000) $) 112 T ELT) (((-560) $) 116 T ELT) (((-1070) $) 120 T ELT) (((-127) $) 124 T ELT) (((-108) $) 128 T ELT) (((-411) $) 132 T ELT) (((-522) $) 136 T ELT) (((-439) $) 140 T ELT) (((-1062) $) 144 T ELT) (((-478) $) 148 T ELT)) (-3040 (((-83) $ $) NIL T ELT))) +((-2552 (((-83) $ $) NIL T ELT)) (-3225 (((-1062) $) NIL T ELT)) (-3226 (((-1023) $) NIL T ELT)) (-3930 (((-765) $) 185 T ELT) (($ (-1084)) NIL T ELT) (((-1084) $) 7 T ELT)) (-3550 (((-83) $ (|[\|\|]| (-456))) 19 T ELT) (((-83) $ (|[\|\|]| (-170))) 23 T ELT) (((-83) $ (|[\|\|]| (-612))) 27 T ELT) (((-83) $ (|[\|\|]| (-1179))) 31 T ELT) (((-83) $ (|[\|\|]| (-109))) 35 T ELT) (((-83) $ (|[\|\|]| (-534))) 39 T ELT) (((-83) $ (|[\|\|]| (-104))) 43 T ELT) (((-83) $ (|[\|\|]| (-1019))) 47 T ELT) (((-83) $ (|[\|\|]| (-67))) 51 T ELT) (((-83) $ (|[\|\|]| (-617))) 55 T ELT) (((-83) $ (|[\|\|]| (-450))) 59 T ELT) (((-83) $ (|[\|\|]| (-970))) 63 T ELT) (((-83) $ (|[\|\|]| (-1180))) 67 T ELT) (((-83) $ (|[\|\|]| (-457))) 71 T ELT) (((-83) $ (|[\|\|]| (-1056))) 75 T ELT) (((-83) $ (|[\|\|]| (-125))) 79 T ELT) (((-83) $ (|[\|\|]| (-608))) 83 T ELT) (((-83) $ (|[\|\|]| (-259))) 87 T ELT) (((-83) $ (|[\|\|]| (-941))) 91 T ELT) (((-83) $ (|[\|\|]| (-152))) 95 T ELT) (((-83) $ (|[\|\|]| (-876))) 99 T ELT) (((-83) $ (|[\|\|]| (-977))) 103 T ELT) (((-83) $ (|[\|\|]| (-995))) 107 T ELT) (((-83) $ (|[\|\|]| (-1000))) 111 T ELT) (((-83) $ (|[\|\|]| (-560))) 116 T ELT) (((-83) $ (|[\|\|]| (-1070))) 120 T ELT) (((-83) $ (|[\|\|]| (-127))) 124 T ELT) (((-83) $ (|[\|\|]| (-108))) 128 T ELT) (((-83) $ (|[\|\|]| (-411))) 132 T ELT) (((-83) $ (|[\|\|]| (-522))) 136 T ELT) (((-83) $ (|[\|\|]| (-439))) 140 T ELT) (((-83) $ (|[\|\|]| (-1062))) 144 T ELT) (((-83) $ (|[\|\|]| (-478))) 148 T ELT)) (-1253 (((-83) $ $) NIL T ELT)) (-3556 (((-456) $) 20 T ELT) (((-170) $) 24 T ELT) (((-612) $) 28 T ELT) (((-1179) $) 32 T ELT) (((-109) $) 36 T ELT) (((-534) $) 40 T ELT) (((-104) $) 44 T ELT) (((-1019) $) 48 T ELT) (((-67) $) 52 T ELT) (((-617) $) 56 T ELT) (((-450) $) 60 T ELT) (((-970) $) 64 T ELT) (((-1180) $) 68 T ELT) (((-457) $) 72 T ELT) (((-1056) $) 76 T ELT) (((-125) $) 80 T ELT) (((-608) $) 84 T ELT) (((-259) $) 88 T ELT) (((-941) $) 92 T ELT) (((-152) $) 96 T ELT) (((-876) $) 100 T ELT) (((-977) $) 104 T ELT) (((-995) $) 108 T ELT) (((-1000) $) 112 T ELT) (((-560) $) 117 T ELT) (((-1070) $) 121 T ELT) (((-127) $) 125 T ELT) (((-108) $) 129 T ELT) (((-411) $) 133 T ELT) (((-522) $) 137 T ELT) (((-439) $) 141 T ELT) (((-1062) $) 145 T ELT) (((-478) $) 149 T ELT)) (-3040 (((-83) $ $) NIL T ELT))) (((-1038) (-1040)) (T -1038)) NIL ((-3363 (((-578 (-1084)) (-1062)) 9 T ELT))) diff --git a/src/share/algebra/operation.daase b/src/share/algebra/operation.daase index 391678e7..9fccbcda 100644 --- a/src/share/algebra/operation.daase +++ b/src/share/algebra/operation.daase @@ -1,5 +1,5 @@ -(630398 . 3527714198) +(630398 . 3527958791) (((*1 *2 *3 *4) (|partial| -12 (-5 *3 (-1168 *4)) (-4 *4 (-13 (-954) (-575 (-478)))) (-5 *2 (-1168 (-343 (-478)))) (-5 *1 (-1197 *4))))) |