aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2011-12-19 11:48:03 -0500
committerErik Schnetter <schnetter@gmail.com>2011-12-19 11:48:03 -0500
commitb8e195795f51b4b67834e8a1616fbc95ef499166 (patch)
treeb6d22704e0b752e2e0789221243425bf9d358a38 /Tools
parentf485ed866a3c9497828f07c874d7a29a22632232 (diff)
Optimize sqrt(x)*sqrt(y) and similar expressions
Diffstat (limited to 'Tools')
-rw-r--r--Tools/CodeGen/CodeGenCactus.m5
1 files changed, 5 insertions, 0 deletions
diff --git a/Tools/CodeGen/CodeGenCactus.m b/Tools/CodeGen/CodeGenCactus.m
index c5b6ee8..60b9f9d 100644
--- a/Tools/CodeGen/CodeGenCactus.m
+++ b/Tools/CodeGen/CodeGenCactus.m
@@ -685,6 +685,11 @@ DefFn[
rhs = rhs //. Power[xx_, -1/2] -> INV[sqrt[xx]];
rhs = rhs //. Power[xx_, 0.5] -> sqrt[xx];
rhs = rhs //. Power[xx_, -0.5] -> INV[sqrt[xx]];
+ rhs = rhs //. SQR[x_] SQR[y_] -> SQR[x y];
+ rhs = rhs //. CUB[x_] CUB[y_] -> CUB[x y];
+ rhs = rhs //. QAD[x_] QAD[y_] -> QAD[x y];
+ rhs = rhs //. INV[x_] INV[y_] -> INV[x y];
+ rhs = rhs //. sqrt[x_] sqrt[y_] -> sqrt[x y];
(*
rhs = rhs /. 1/2 -> khalf