Expression, p6

Time bar (total: 2.1s)

analyze12.0ms (0.6%)

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

Compiled 25 to 21 computations (16% saved)

sample1.9s (91.8%)

Memory
5.4MiB live, 530.0MiB allocated
Samples
445.0ms8 256×0valid-sollya
385.0ms8 256×0valid-baseline
342.0ms8 256×0valid-rival
Bogosity

preprocess129.0ms (6.2%)

Memory
7.8MiB live, 23.1MiB allocated
Algorithm
egg-herbie
Rules
803×fma-define
756×distribute-rgt-in
716×distribute-lft-in
556×unsub-neg
523×associate--r+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
061616
1159592
2465592
32135592
46380592
57492592
67908592
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 (neg.f64 a) (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 (neg.f64 b) (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 (neg.f64 c) d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 c (neg.f64 d)))) #s(literal 2 binary64))
(neg.f64 (*.f64 (+.f64 (neg.f64 a) (+.f64 b (+.f64 c d))) #s(literal 2 binary64)))
(neg.f64 (*.f64 (+.f64 a (+.f64 (neg.f64 b) (+.f64 c d))) #s(literal 2 binary64)))
(neg.f64 (*.f64 (+.f64 a (+.f64 b (+.f64 (neg.f64 c) d))) #s(literal 2 binary64)))
(neg.f64 (*.f64 (+.f64 a (+.f64 b (+.f64 c (neg.f64 d)))) #s(literal 2 binary64)))
(*.f64 (+.f64 b (+.f64 a (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 c (+.f64 b (+.f64 a d))) #s(literal 2 binary64))
(*.f64 (+.f64 d (+.f64 b (+.f64 c a))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 c (+.f64 b d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 d (+.f64 c b))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 d c))) #s(literal 2 binary64))
Outputs
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 c (+.f64 b d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 c (+.f64 b d))) #s(literal 2 binary64))
(*.f64 (+.f64 (neg.f64 a) (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 (+.f64 (neg.f64 a) b) (+.f64 c d)))
(*.f64 #s(literal 2 binary64) (-.f64 (+.f64 b (+.f64 c d)) a))
(*.f64 #s(literal 2 binary64) (+.f64 c (-.f64 (+.f64 b d) a)))
(*.f64 (-.f64 a (+.f64 c (+.f64 b d))) #s(literal -2 binary64))
(*.f64 (+.f64 a (+.f64 (neg.f64 b) (+.f64 c d))) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 (+.f64 c d) (neg.f64 b))))
(*.f64 #s(literal 2 binary64) (+.f64 a (-.f64 (+.f64 c d) b)))
(*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (-.f64 d b))))
(*.f64 (+.f64 a (+.f64 b (+.f64 (neg.f64 c) d))) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b (+.f64 d (neg.f64 c)))))
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b (-.f64 d c))))
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 d (-.f64 b c))))
(*.f64 (+.f64 a (+.f64 b (+.f64 c (neg.f64 d)))) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b (-.f64 c d))))
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c (-.f64 b d))))
(*.f64 #s(literal -2 binary64) (-.f64 d (+.f64 a (+.f64 b c))))
(*.f64 (-.f64 d (+.f64 a (+.f64 b c))) #s(literal -2 binary64))
(neg.f64 (*.f64 (+.f64 (neg.f64 a) (+.f64 b (+.f64 c d))) #s(literal 2 binary64)))
(*.f64 (+.f64 (+.f64 (neg.f64 a) b) (+.f64 c d)) #s(literal -2 binary64))
(*.f64 (-.f64 (+.f64 b (+.f64 c d)) a) #s(literal -2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 a (+.f64 c (+.f64 b d))))
(neg.f64 (*.f64 (+.f64 a (+.f64 (neg.f64 b) (+.f64 c d))) #s(literal 2 binary64)))
(*.f64 (+.f64 a (+.f64 (+.f64 c d) (neg.f64 b))) #s(literal -2 binary64))
(*.f64 (+.f64 a (-.f64 (+.f64 c d) b)) #s(literal -2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (-.f64 b c) (+.f64 a d)))
(neg.f64 (*.f64 (+.f64 a (+.f64 b (+.f64 (neg.f64 c) d))) #s(literal 2 binary64)))
(*.f64 (+.f64 a (+.f64 b (+.f64 d (neg.f64 c)))) #s(literal -2 binary64))
(*.f64 (+.f64 a (+.f64 b (-.f64 d c))) #s(literal -2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (-.f64 c d) (+.f64 a b)))
(*.f64 #s(literal 2 binary64) (-.f64 c (+.f64 a (+.f64 b d))))
(neg.f64 (*.f64 (+.f64 a (+.f64 b (+.f64 c (neg.f64 d)))) #s(literal 2 binary64)))
(*.f64 (+.f64 a (+.f64 b (-.f64 c d))) #s(literal -2 binary64))
(*.f64 (+.f64 a (+.f64 c (-.f64 b d))) #s(literal -2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 d (+.f64 a (+.f64 b c))))
(*.f64 (+.f64 b (+.f64 a (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 c (+.f64 b d))) #s(literal 2 binary64))
(*.f64 (+.f64 c (+.f64 b (+.f64 a d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 c (+.f64 b d))) #s(literal 2 binary64))
(*.f64 (+.f64 d (+.f64 b (+.f64 c a))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 c (+.f64 b d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 c (+.f64 b d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 d (+.f64 c b))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 c (+.f64 b d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 d c))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
(*.f64 (+.f64 a (+.f64 c (+.f64 b d))) #s(literal 2 binary64))
Symmetry

(sort a b c d)

Compiler

Compiled 13 to 9 computations (30.8% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.6%
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
Compiler

Compiled 26 to 18 computations (30.8% saved)

simplify2.0ms (0.1%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
egg-herbie
Rules
+-commutative
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01637
12037
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))
Outputs
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64))

soundness0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Stop Event
fuel
Compiler

Compiled 13 to 9 computations (30.8% saved)

preprocess27.0ms (1.3%)

Memory
-15.0MiB live, 34.3MiB allocated
Remove

(sort a b c d)

Compiler

Compiled 134 to 92 computations (31.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...