|
クラスの概要 |
| CommandDDD |
(a / b) / (c / d) -> (a * d) / (b * c)
before
(/)
/ |
(/) (/)
/ | / |
(a) (b) (c) (d)
after
(/)
/ |
(*) (*)
/ | / |
(a) (d) (b) (c)
|
| CommandDDX |
(a / b) / (c + d) -> a / (b * (c + d))
before
(/)
/ |
(/) (+)
/ | / |
(a) (b) (c) (d)
after
(/)
/ |
(a) (*)
/ |
(b) (+)
/ |
(c) (d)
|
| CommandDXD |
(a / b) + (c / d) -> ((a * d) + (b * c)) / (b * d)
before
(+)
/ |
(/) (/)
/ | / |
(a) (b) (c) (d)
after
(/)
/ |
(+) (*)
/ | / |
(*) (*) (b) (d)
/ | / |
(a) (d) (b) (c)
|
| CommandDXX |
(a / b) + (c + d) -> (a + ((c + d) * b)) / b |
| CommandXDD |
(a + b) / (c / d) -> ((a + b) * d) / c
before
(/)
/ |
(+) (/)
/ | / |
(a) (b) (c) (d)
after
(/)
/ |
(*) (c)
/ |
(+) (d)
/ |
(a) (b)
|
| CommandXXD |
(a + b) + (c / d) -> (((a + b) * d) + c) / d
before
(+)
/ |
(+) (/)
/ | / |
(a) (b) (c) (d)
after
(/)
/ |
(+) (d)
/ |
(*) (c)
/ |
(+) (d)
/ |
(a) (b)
|
| OptimizeCommand |
|
| OptimizePattern |
|