FastMath dist4

Time bar (total: 1.4s)

analyze0.0ms (0%)

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

Compiled 20 to 12 computations (40% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
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.2s (86.6%)

Results
753.0ms5561×256valid
351.0ms2694×256infinite
0.0ms256infinite
Precisions
Click to see histograms. Total time spent on operations: 399.0ms
Operation ival-mult, time spent: 243.0ms, 61.0% of total-time
Operation ival-sub, time spent: 101.0ms, 25.0% of total-time
Operation ival-add, time spent: 47.0ms, 12.0% of total-time
Operation const, time spent: 9.0ms, 2.0% of total-time
Bogosity

preprocess183.0ms (13.4%)

Algorithm
egg-herbie
Rules
1370×sub-neg
1066×fma-define
824×distribute-lft-neg-in
772×fma-neg
690×distribute-rgt-neg-in
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
073984
1289776
2998664
34152644
47106640
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (-.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (neg.f64 d1) d3)) (*.f64 d4 (neg.f64 d1))) (*.f64 (neg.f64 d1) (neg.f64 d1)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 d3))) (*.f64 d4 d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 (neg.f64 d4) d1)) (*.f64 d1 d1))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (neg.f64 d1) d3)) (*.f64 d4 (neg.f64 d1))) (*.f64 (neg.f64 d1) (neg.f64 d1))))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 d3))) (*.f64 d4 d1)) (*.f64 d1 d1)))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 (neg.f64 d4) d1)) (*.f64 d1 d1)))
(-.f64 (+.f64 (-.f64 (*.f64 d2 d1) (*.f64 d2 d3)) (*.f64 d4 d2)) (*.f64 d2 d2))
(-.f64 (+.f64 (-.f64 (*.f64 d3 d2) (*.f64 d3 d1)) (*.f64 d4 d3)) (*.f64 d3 d3))
(-.f64 (+.f64 (-.f64 (*.f64 d4 d2) (*.f64 d4 d3)) (*.f64 d1 d4)) (*.f64 d4 d4))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d3) (*.f64 d1 d2)) (*.f64 d4 d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d4) (*.f64 d1 d3)) (*.f64 d2 d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d4)) (*.f64 d3 d1)) (*.f64 d1 d1))
Outputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d4 d3) (*.f64 d1 (-.f64 d2 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (-.f64 d4 d3)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d4 d3) (*.f64 d1 (-.f64 d2 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (-.f64 d4 d3)))
(-.f64 (+.f64 (-.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (neg.f64 d1) d3)) (*.f64 d4 (neg.f64 d1))) (*.f64 (neg.f64 d1) (neg.f64 d1)))
(-.f64 (+.f64 (*.f64 (neg.f64 d1) (-.f64 d2 d3)) (*.f64 d4 (neg.f64 d1))) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d3 d2)) (*.f64 d1 (-.f64 (neg.f64 d4) d1)))
(*.f64 d1 (+.f64 (-.f64 d3 d2) (-.f64 (neg.f64 d4) d1)))
(*.f64 d1 (-.f64 (neg.f64 (+.f64 d1 d4)) (-.f64 d2 d3)))
(*.f64 d1 (-.f64 (-.f64 d3 d2) (+.f64 d1 d4)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 (neg.f64 d2) d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 (neg.f64 d2) d3) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 (-.f64 (-.f64 d4 d2) d3) d1))
(*.f64 d1 (-.f64 (-.f64 d4 d1) (+.f64 d2 d3)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 d3))) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d2 (neg.f64 d3))) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d2 (neg.f64 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (+.f64 d2 d3) (-.f64 d4 d1)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 (neg.f64 d4) d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d4 (neg.f64 d1))) (*.f64 d1 d1))
(fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 (neg.f64 d4) d1)))
(*.f64 d1 (-.f64 (-.f64 (-.f64 d2 d3) d4) d1))
(*.f64 d1 (-.f64 d2 (+.f64 d3 (+.f64 d1 d4))))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 (neg.f64 d1) d2) (*.f64 (neg.f64 d1) d3)) (*.f64 d4 (neg.f64 d1))) (*.f64 (neg.f64 d1) (neg.f64 d1))))
(neg.f64 (-.f64 (+.f64 (*.f64 (neg.f64 d1) (-.f64 d2 d3)) (*.f64 d4 (neg.f64 d1))) (*.f64 d1 d1)))
(+.f64 (neg.f64 (*.f64 (neg.f64 d1) (+.f64 (-.f64 d2 d3) d4))) (*.f64 d1 d1))
(neg.f64 (*.f64 d1 (+.f64 (-.f64 d3 d2) (-.f64 (neg.f64 d4) d1))))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (+.f64 d1 d4)))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 d1 (neg.f64 d2)) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)))
(neg.f64 (+.f64 (*.f64 d1 (-.f64 (neg.f64 d2) d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1))))
(neg.f64 (fma.f64 d1 (-.f64 (neg.f64 d2) d3) (*.f64 d1 (-.f64 d4 d1))))
(neg.f64 (*.f64 d1 (-.f64 (-.f64 (-.f64 d4 d2) d3) d1)))
(*.f64 d1 (+.f64 d1 (+.f64 d2 (-.f64 d3 d4))))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d3 d4)) d1))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 d3))) (*.f64 d4 d1)) (*.f64 d1 d1)))
(neg.f64 (+.f64 (*.f64 d1 (-.f64 d2 (neg.f64 d3))) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1))))
(neg.f64 (fma.f64 d1 (-.f64 d2 (neg.f64 d3)) (*.f64 d1 (-.f64 d4 d1))))
(neg.f64 (*.f64 d1 (+.f64 (+.f64 d2 d3) (-.f64 d4 d1))))
(*.f64 d1 (-.f64 d1 (+.f64 d4 (+.f64 d2 d3))))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 (neg.f64 d4) d1)) (*.f64 d1 d1)))
(neg.f64 (-.f64 (+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d4 (neg.f64 d1))) (*.f64 d1 d1)))
(neg.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 (neg.f64 d4) d1))))
(neg.f64 (*.f64 d1 (-.f64 (-.f64 (-.f64 d2 d3) d4) d1)))
(*.f64 d1 (+.f64 d1 (+.f64 d3 (-.f64 d4 d2))))
(-.f64 (+.f64 (-.f64 (*.f64 d2 d1) (*.f64 d2 d3)) (*.f64 d4 d2)) (*.f64 d2 d2))
(+.f64 (*.f64 d2 (-.f64 d1 d3)) (-.f64 (*.f64 d2 d4) (*.f64 d2 d2)))
(fma.f64 d2 (-.f64 d1 d3) (*.f64 d2 (-.f64 d4 d2)))
(*.f64 d2 (+.f64 (-.f64 d1 d3) (-.f64 d4 d2)))
(-.f64 (+.f64 (-.f64 (*.f64 d3 d2) (*.f64 d3 d1)) (*.f64 d4 d3)) (*.f64 d3 d3))
(+.f64 (*.f64 d3 (-.f64 d2 d1)) (-.f64 (*.f64 d3 d4) (*.f64 d3 d3)))
(fma.f64 d3 (-.f64 d2 d1) (*.f64 d3 (-.f64 d4 d3)))
(*.f64 d3 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 d3 (+.f64 (-.f64 d2 d1) (-.f64 d4 d3)))
(-.f64 (+.f64 (-.f64 (*.f64 d4 d2) (*.f64 d4 d3)) (*.f64 d1 d4)) (*.f64 d4 d4))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d4 (-.f64 d2 d3))) (*.f64 d4 d4))
(fma.f64 d4 (-.f64 d2 d3) (*.f64 d4 (-.f64 d1 d4)))
(*.f64 d4 (+.f64 (-.f64 d1 d4) (-.f64 d2 d3)))
(*.f64 d4 (+.f64 (-.f64 d2 d3) (-.f64 d1 d4)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d3) (*.f64 d1 d2)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d3 d2)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d3 d2) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (-.f64 d3 d2)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d4) (*.f64 d1 d3)) (*.f64 d2 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d4 d3) (*.f64 d1 (-.f64 d2 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (-.f64 d4 d3)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d4)) (*.f64 d3 d1)) (*.f64 d1 d1))
(-.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(fma.f64 d1 (-.f64 d2 d4) (*.f64 d1 (-.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d4) (-.f64 d3 d1)))
Symmetry

(sort d2 d4)

Compiler

Compiled 58 to 12 computations (79.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
Operation ival-mult, time spent: 7.0ms, 63.0% of total-time
Operation ival-sub, time spent: 3.0ms, 27.0% of total-time
Operation ival-add, time spent: 1.0ms, 9.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

end0.0ms (0%)

Profiling

Loading profile data...