FastMath test3

Time bar (total: 9.1s)

analyze0.0ms (0%)

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 15 to 10 computations (33.3% saved)

sample8.6s (95.4%)

Results
1.2s7815×0valid-rival
842.0ms7791×0valid-sollya
138.0ms339×1valid-rival
35.0ms337×1valid-sollya
37.0ms102×2valid-rival
11.0ms102×2valid-sollya
120.0ms24×0exit-sollya
10.0ms1exit-sollya
Bogosity

preprocess358.0ms (3.9%)

Algorithm
egg-herbie
Rules
1392×fma-neg
545×fma-define
276×unsub-neg
227×sub-neg
174×cancel-sign-sub
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044439
1134328
2419314
31282308
43219308
54010308
64264308
74286308
84296308
94298308
105496308
115560308
125560308
135560308
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 3 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) d3))
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 d3))
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 3 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3))))
(+.f64 (+.f64 (*.f64 d2 #s(literal 3 binary64)) (*.f64 d2 d1)) (*.f64 d2 d3))
(+.f64 (+.f64 (*.f64 d3 #s(literal 3 binary64)) (*.f64 d3 d2)) (*.f64 d3 d1))
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d3)) (*.f64 d1 d2))
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 #s(literal 3 binary64) d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 (+.f64 #s(literal 3 binary64) d2) d3))
(*.f64 d1 (+.f64 d2 (+.f64 #s(literal 3 binary64) d3)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 #s(literal 3 binary64) d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 (+.f64 #s(literal 3 binary64) d2) d3))
(*.f64 d1 (+.f64 d2 (+.f64 #s(literal 3 binary64) d3)))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 3 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) d3))
(+.f64 (*.f64 (neg.f64 d1) (+.f64 #s(literal 3 binary64) d2)) (*.f64 d1 (neg.f64 d3)))
(*.f64 (neg.f64 d1) (+.f64 (+.f64 #s(literal 3 binary64) d2) d3))
(*.f64 d1 (-.f64 (+.f64 (neg.f64 d2) #s(literal -3 binary64)) d3))
(*.f64 d1 (-.f64 #s(literal -3 binary64) (+.f64 d2 d3)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 d3))
(+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 #s(literal 3 binary64) (neg.f64 d2))))
(*.f64 d1 (+.f64 d3 (-.f64 #s(literal 3 binary64) d2)))
(*.f64 d1 (+.f64 #s(literal 3 binary64) (-.f64 d3 d2)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3)))
(+.f64 (*.f64 d1 (+.f64 #s(literal 3 binary64) d2)) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (+.f64 #s(literal 3 binary64) d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 #s(literal 3 binary64) (-.f64 d2 d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 3 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) d3)))
(+.f64 (*.f64 d1 (+.f64 #s(literal 3 binary64) d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 (+.f64 #s(literal 3 binary64) d2) d3))
(*.f64 d1 (+.f64 d2 (+.f64 #s(literal 3 binary64) d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 d3)))
(neg.f64 (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 #s(literal 3 binary64) (neg.f64 d2)))))
(neg.f64 (*.f64 d1 (+.f64 d3 (-.f64 #s(literal 3 binary64) d2))))
(*.f64 d1 (-.f64 #s(literal -3 binary64) (fma.f64 d2 #s(literal -1 binary64) d3)))
(*.f64 d1 (-.f64 (-.f64 d2 d3) #s(literal 3 binary64)))
(*.f64 d1 (+.f64 d2 (-.f64 #s(literal -3 binary64) d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3))))
(neg.f64 (+.f64 (*.f64 d1 (+.f64 #s(literal 3 binary64) d2)) (*.f64 d1 (neg.f64 d3))))
(neg.f64 (*.f64 d1 (+.f64 (+.f64 #s(literal 3 binary64) d2) (neg.f64 d3))))
(*.f64 d1 (-.f64 #s(literal -3 binary64) (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d3 (-.f64 #s(literal -3 binary64) d2)))
(+.f64 (+.f64 (*.f64 d2 #s(literal 3 binary64)) (*.f64 d2 d1)) (*.f64 d2 d3))
(+.f64 (*.f64 d2 (+.f64 #s(literal 3 binary64) d1)) (*.f64 d2 d3))
(*.f64 d2 (+.f64 (+.f64 d1 #s(literal 3 binary64)) d3))
(*.f64 d2 (+.f64 d1 (+.f64 #s(literal 3 binary64) d3)))
(+.f64 (+.f64 (*.f64 d3 #s(literal 3 binary64)) (*.f64 d3 d2)) (*.f64 d3 d1))
(+.f64 (*.f64 d1 d3) (*.f64 d3 (+.f64 #s(literal 3 binary64) d2)))
(*.f64 d3 (+.f64 d1 (+.f64 #s(literal 3 binary64) d2)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d3)) (*.f64 d1 d2))
(+.f64 (*.f64 d1 (+.f64 #s(literal 3 binary64) d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 (+.f64 #s(literal 3 binary64) d2) d3))
(*.f64 d1 (+.f64 d2 (+.f64 #s(literal 3 binary64) d3)))
Symmetry

(negabs d1)

(sort d2 d3)

Compiler

Compiled 14 to 9 computations (35.7% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.1%
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
Compiler

Compiled 28 to 18 computations (35.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01546
12046
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 3 binary64)) (*.f64 d1 d2)) (*.f64 d1 d3))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 14 to 9 computations (35.7% saved)

preprocess58.0ms (0.6%)

Remove

(sort d2 d3)

(negabs d1)

Compiler

Compiled 188 to 122 computations (35.1% saved)

end0.0ms (0%)

Profiling

Loading profile data...