Expression, p6

Time bar (total: 3.3s)

analyze1.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 28 to 20 computations (28.6% saved)

sample3.1s (94.2%)

Results
651.0ms8254×0valid-sollya
523.0ms8254×0valid-rival-baseline
576.0ms8251×0valid-rival
Bogosity

preprocess151.0ms (4.5%)

Algorithm
egg-herbie
Rules
803×fma-define
756×distribute-rgt-in
716×distribute-lft-in
696×unsub-neg
523×associate--r+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
061616
1159592
2465592
32135592
46380592
57507592
67923592
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%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

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)

simplify3.0ms (0.1%)

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%)

Stop Event
fuel
Compiler

Compiled 13 to 9 computations (30.8% saved)

preprocess38.0ms (1.2%)

Remove

(sort a b c d)

Compiler

Compiled 134 to 92 computations (31.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...