Commute and associate

Time bar (total: 1.9s)

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 13 to 10 computations (23.1% saved)

sample1.3s (68.8%)

Memory
41.6MiB live, 1 059.6MiB allocated
Samples
661.0ms4 016×2valid
392.0ms4 236×1valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 785.0ms
ival-add: 503.0ms (64.1% of total)
adjust: 186.0ms (23.7% of total)
ival-sub: 88.0ms (11.2% of total)
ival-true: 5.0ms (0.6% of total)
ival-assert: 3.0ms (0.4% of total)
Bogosity

preprocess594.0ms (31.2%)

Memory
-43.5MiB live, 152.3MiB allocated
Algorithm
egg-herbie
Rules
14 508×accelerator-lowering-fma.f32
14 508×accelerator-lowering-fma.f64
3 456×unsub-neg
2 936×associate-+r+
2 832×+-lowering-+.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
039110
113210
253510
3167010
4252910
5278510
6279610
7280410
8280410
9280410
10280410
11280410
0811
1201
2841
33561
411611
518031
638951
750551
858851
963391
1063731
1163771
1264951
1365041
1465051
1565051
1665051
1773541
1875061
1976581
2077721
2178101
2278101
081941
Stop Event
iter limit
node limit
node limit
Calls
Call 1
Inputs
(- (+ (+ x y) z) (+ x (+ y z)))
Outputs
(- (+ (+ x y) z) (+ x (+ y z)))
#s(literal 0 binary64)
Call 2
Inputs
(- (+ (+ x y) z) (+ x (+ y z)))
(- (+ (+ (neg x) y) z) (+ (neg x) (+ y z)))
(- (+ (+ x (neg y)) z) (+ x (+ (neg y) z)))
(- (+ (+ x y) (neg z)) (+ x (+ y (neg z))))
(neg (- (+ (+ (neg x) y) z) (+ (neg x) (+ y z))))
(neg (- (+ (+ x (neg y)) z) (+ x (+ (neg y) z))))
(neg (- (+ (+ x y) (neg z)) (+ x (+ y (neg z)))))
(- (+ (+ y x) z) (+ y (+ x z)))
(- (+ (+ z y) x) (+ z (+ y x)))
(- (+ (+ x z) y) (+ x (+ z y)))
Outputs
(- (+ (+ x y) z) (+ x (+ y z)))
#s(literal 0 binary64)
(- (+ (+ (neg x) y) z) (+ (neg x) (+ y z)))
#s(literal 0 binary64)
(- (+ (+ x (neg y)) z) (+ x (+ (neg y) z)))
#s(literal 0 binary64)
(- (+ (+ x y) (neg z)) (+ x (+ y (neg z))))
#s(literal 0 binary64)
(neg (- (+ (+ (neg x) y) z) (+ (neg x) (+ y z))))
#s(literal 0 binary64)
(neg (- (+ (+ x (neg y)) z) (+ x (+ (neg y) z))))
#s(literal 0 binary64)
(neg (- (+ (+ x y) (neg z)) (+ x (+ y (neg z)))))
#s(literal 0 binary64)
(- (+ (+ y x) z) (+ y (+ x z)))
#s(literal 0 binary64)
(- (+ (+ z y) x) (+ z (+ y x)))
#s(literal 0 binary64)
(- (+ (+ x z) y) (+ x (+ z y)))
#s(literal 0 binary64)
Symmetry

(abs x)

(abs y)

(abs z)

(negabs x)

(negabs y)

(negabs z)

(sort x y z)

explain0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 32 to 10 computations (68.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...