FastMath dist3

Time bar (total: 1.4s)

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)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.1s (81.6%)

Results
808.0ms6515×256valid
205.0ms1721×256infinite
3.0ms11×1024valid
2.0ms512valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 365.0ms
Operation ival-mult, time spent: 196.0ms, 54.0% of total-time
Operation ival-add, time spent: 149.0ms, 41.0% of total-time
Operation const, time spent: 20.0ms, 5.0% of total-time
Bogosity

preprocess252.0ms (18.3%)

Algorithm
egg-herbie
Rules
1546×unsub-neg
978×sub-neg
766×fma-neg
732×associate-+r+
726×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 47 to 25 computations (46.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
Operation ival-mult, time spent: 13.0ms, 53.0% of total-time
Operation ival-add, time spent: 10.0ms, 41.0% of total-time
Operation const, time spent: 2.0ms, 8.0% of total-time

end0.0ms (0%)

Profiling

Loading profile data...