FastMath dist3

Time bar (total: 5.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 17 to 12 computations (29.4% saved)

sample4.9s (96.3%)

Results
780.0ms8221×0valid-sollya
1.2s8221×0valid-rival
3.0ms29×1valid-sollya
8.0ms29×1valid-rival
2.0ms2valid-rival
0.0ms2valid-sollya
Bogosity

preprocess140.0ms (2.8%)

Algorithm
egg-herbie
Rules
773×unsub-neg
489×sub-neg
383×fma-neg
366×associate-+r+
363×distribute-neg-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
052564
1134453
2431332
31771308
45269308
56536308
67434308
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 (neg.f64 d1) #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 (neg.f64 d3) #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 (neg.f64 d1) #s(literal 32 binary64))))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64))))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 (neg.f64 d3) #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64))))
(+.f64 (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d2)) (*.f64 d2 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d3 d2) (*.f64 (+.f64 d1 #s(literal 5 binary64)) d3)) (*.f64 d3 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 d3) (*.f64 (+.f64 d2 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
Outputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (fma.f64 d1 d2 (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))
(fma.f64 d1 #s(literal 32 binary64) (*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 5 binary64)))))
(*.f64 d1 (+.f64 d3 (+.f64 d2 #s(literal 37 binary64))))
(*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 37 binary64))))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (fma.f64 d1 d2 (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))
(fma.f64 d1 #s(literal 32 binary64) (*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 5 binary64)))))
(*.f64 d1 (+.f64 d3 (+.f64 d2 #s(literal 37 binary64))))
(*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 37 binary64))))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 (neg.f64 d1) #s(literal 32 binary64)))
(+.f64 (fma.f64 (neg.f64 d1) d2 (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 #s(literal 32 binary64) (neg.f64 d1)))
(+.f64 (*.f64 (neg.f64 d1) (+.f64 d2 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal -32 binary64)))
(*.f64 (neg.f64 d1) (+.f64 d2 (+.f64 d3 #s(literal 37 binary64))))
(*.f64 d1 (-.f64 #s(literal -37 binary64) (+.f64 d2 d3)))
(*.f64 d1 (-.f64 (-.f64 #s(literal -37 binary64) d3) d2))
(+.f64 (+.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (*.f64 d1 #s(literal 32 binary64)) (fma.f64 d1 (neg.f64 d2) (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))))
(fma.f64 d1 #s(literal 32 binary64) (*.f64 d1 (+.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d2))))
(*.f64 d1 (+.f64 (neg.f64 d2) (+.f64 d3 #s(literal 37 binary64))))
(*.f64 d1 (+.f64 #s(literal 37 binary64) (-.f64 d3 d2)))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 (neg.f64 d3) #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (*.f64 d1 #s(literal 32 binary64)) (fma.f64 d1 d2 (*.f64 d1 (+.f64 #s(literal 5 binary64) (neg.f64 d3)))))
(fma.f64 d1 #s(literal 32 binary64) (*.f64 d1 (+.f64 d2 (-.f64 #s(literal 5 binary64) d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) #s(literal 37 binary64))))
(*.f64 d1 (+.f64 (-.f64 d2 d3) #s(literal 37 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d1))) (*.f64 (neg.f64 d1) #s(literal 32 binary64))))
(+.f64 (fma.f64 d1 d2 (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))
(fma.f64 d1 #s(literal 32 binary64) (*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 5 binary64)))))
(*.f64 d1 (+.f64 d3 (+.f64 d2 #s(literal 37 binary64))))
(*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 37 binary64))))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64))))
(neg.f64 (+.f64 (*.f64 d1 #s(literal 32 binary64)) (fma.f64 d1 (neg.f64 d2) (*.f64 d1 (+.f64 d3 #s(literal 5 binary64))))))
(-.f64 (*.f64 d1 #s(literal -32 binary64)) (*.f64 d1 (+.f64 (+.f64 d3 #s(literal 5 binary64)) (neg.f64 d2))))
(*.f64 d1 (-.f64 #s(literal -32 binary64) (-.f64 (+.f64 d3 #s(literal 5 binary64)) d2)))
(*.f64 d1 (-.f64 #s(literal -37 binary64) (-.f64 d3 d2)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) #s(literal -37 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 (neg.f64 d3) #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64))))
(neg.f64 (+.f64 (*.f64 d1 #s(literal 32 binary64)) (fma.f64 d1 d2 (*.f64 d1 (+.f64 #s(literal 5 binary64) (neg.f64 d3))))))
(-.f64 (*.f64 d1 #s(literal -32 binary64)) (*.f64 d1 (+.f64 d2 (-.f64 #s(literal 5 binary64) d3))))
(*.f64 d1 (-.f64 #s(literal -32 binary64) (+.f64 d2 (-.f64 #s(literal 5 binary64) d3))))
(*.f64 d1 (+.f64 #s(literal -37 binary64) (-.f64 d3 d2)))
(*.f64 d1 (-.f64 d3 (+.f64 d2 #s(literal 37 binary64))))
(*.f64 d1 (+.f64 (-.f64 d3 d2) #s(literal -37 binary64)))
(+.f64 (+.f64 (*.f64 d2 d1) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d2)) (*.f64 d2 #s(literal 32 binary64)))
(+.f64 (fma.f64 d2 d1 (*.f64 d2 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d2 #s(literal 32 binary64)))
(fma.f64 d2 #s(literal 32 binary64) (*.f64 d2 (+.f64 (+.f64 d3 #s(literal 5 binary64)) d1)))
(*.f64 d2 (+.f64 d1 (+.f64 d3 #s(literal 37 binary64))))
(+.f64 (+.f64 (*.f64 d3 d2) (*.f64 (+.f64 d1 #s(literal 5 binary64)) d3)) (*.f64 d3 #s(literal 32 binary64)))
(+.f64 (fma.f64 d3 d2 (*.f64 d3 (+.f64 d1 #s(literal 5 binary64)))) (*.f64 d3 #s(literal 32 binary64)))
(fma.f64 d3 #s(literal 32 binary64) (*.f64 d3 (+.f64 (+.f64 d1 #s(literal 5 binary64)) d2)))
(*.f64 d3 (+.f64 d2 (+.f64 d1 #s(literal 37 binary64))))
(*.f64 d3 (+.f64 d1 (+.f64 d2 #s(literal 37 binary64))))
(+.f64 (+.f64 (*.f64 d1 d3) (*.f64 (+.f64 d2 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (fma.f64 d1 d2 (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))
(fma.f64 d1 #s(literal 32 binary64) (*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 5 binary64)))))
(*.f64 d1 (+.f64 d3 (+.f64 d2 #s(literal 37 binary64))))
(*.f64 d1 (+.f64 d2 (+.f64 d3 #s(literal 37 binary64))))
Symmetry

(negabs d1)

(sort d2 d3)

Compiler

Compiled 16 to 11 computations (31.3% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

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

Compiled 32 to 22 computations (31.3% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01752
12352
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
Outputs
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 #s(literal 5 binary64)) d1)) (*.f64 d1 #s(literal 32 binary64)))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d3 #s(literal 5 binary64)))) (*.f64 d1 #s(literal 32 binary64)))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 16 to 11 computations (31.3% saved)

preprocess45.0ms (0.9%)

Remove

(negabs d1)

Compiler

Compiled 276 to 190 computations (31.2% saved)

end0.0ms (0%)

Profiling

Loading profile data...