aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/INS-.lsp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-06-22 17:20:38 +0000
committerdos-reis <gdr@axiomatics.org>2010-06-22 17:20:38 +0000
commitb06599402ca23cce8ba7eea03886dc11a5d29af4 (patch)
tree763ae52bb73dfb7f76feb7433b7853056acb9605 /src/algebra/strap/INS-.lsp
parent48d55f8e89cdc22afbf661b823bf059d231b0db4 (diff)
downloadopen-axiom-b06599402ca23cce8ba7eea03886dc11a5d29af4.tar.gz
Group sequence of LETT definitions into LET/LET* expressions where
appropriate. * interp/g-opt.boot (jumpToToplevel?): New. (singleAssignment?): Likewise. (groupVariableDefinitions): Likewise. Use them. (optimizeFunctionDef): Group toplevel variable definitions into a bind expression. * interp/g-util.boot (expandBind): Tidy. * interp/c-util.boot (transformToBackendCode): Refrain from enclosing let-expressions in SEQ if not needed.
Diffstat (limited to 'src/algebra/strap/INS-.lsp')
-rw-r--r--src/algebra/strap/INS-.lsp61
1 files changed, 26 insertions, 35 deletions
diff --git a/src/algebra/strap/INS-.lsp b/src/algebra/strap/INS-.lsp
index f75d7e3c..794d4374 100644
--- a/src/algebra/strap/INS-.lsp
+++ b/src/algebra/strap/INS-.lsp
@@ -194,41 +194,32 @@
(|getShellEntry| $ 76))))
(DEFUN |INS-;symmetricRemainder;3S;27| (|x| |n| $)
- (PROG (|r|)
- (RETURN
- (SEQ (LETT |r| (SPADCALL |x| |n| (|getShellEntry| $ 80))
- |INS-;symmetricRemainder;3S;27|)
- (EXIT (COND
- ((SPADCALL |r| (|spadConstant| $ 10)
- (|getShellEntry| $ 27))
- |r|)
- ('T
- (SEQ (COND
- ((SPADCALL |n| (|spadConstant| $ 10)
- (|getShellEntry| $ 28))
- (SETQ |n|
- (SPADCALL |n| (|getShellEntry| $ 19)))))
- (EXIT (COND
- ((SPADCALL |r| (|spadConstant| $ 10)
- (|getShellEntry| $ 16))
- (COND
- ((SPADCALL
- (SPADCALL 2 |r|
- (|getShellEntry| $ 82))
- |n| (|getShellEntry| $ 16))
- (SPADCALL |r| |n|
- (|getShellEntry| $ 67)))
- ('T |r|)))
- ((NOT (SPADCALL
- (SPADCALL
- (SPADCALL 2 |r|
- (|getShellEntry| $ 82))
- |n| (|getShellEntry| $ 83))
- (|spadConstant| $ 10)
- (|getShellEntry| $ 16)))
- (SPADCALL |r| |n|
- (|getShellEntry| $ 83)))
- ('T |r|)))))))))))
+ (LET ((|r| (SPADCALL |x| |n| (|getShellEntry| $ 80))))
+ (COND
+ ((SPADCALL |r| (|spadConstant| $ 10) (|getShellEntry| $ 27)) |r|)
+ ('T
+ (SEQ (COND
+ ((SPADCALL |n| (|spadConstant| $ 10)
+ (|getShellEntry| $ 28))
+ (SETQ |n| (SPADCALL |n| (|getShellEntry| $ 19)))))
+ (EXIT (COND
+ ((SPADCALL |r| (|spadConstant| $ 10)
+ (|getShellEntry| $ 16))
+ (COND
+ ((SPADCALL
+ (SPADCALL 2 |r| (|getShellEntry| $ 82)) |n|
+ (|getShellEntry| $ 16))
+ (SPADCALL |r| |n| (|getShellEntry| $ 67)))
+ ('T |r|)))
+ ((NOT (SPADCALL
+ (SPADCALL
+ (SPADCALL 2 |r|
+ (|getShellEntry| $ 82))
+ |n| (|getShellEntry| $ 83))
+ (|spadConstant| $ 10)
+ (|getShellEntry| $ 16)))
+ (SPADCALL |r| |n| (|getShellEntry| $ 83)))
+ ('T |r|))))))))
(DEFUN |INS-;invmod;3S;28| (|a| |b| $)
(PROG (|c| |c1| |d| |d1| |q| |r| |r1|)