Given's Rotation SVD example

Time bar (total: 2.1s)

analyze279.0ms (13.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%48.6%51.4%0%0%0%0
0%0%48.6%51.4%0%0%0%1
50%24.3%24.3%51.4%0%0%0%2
50%24.3%24.3%51.4%0%0%0%3
62.5%30.4%18.2%51.4%0%0%0%4
62.5%30.4%18.2%51.4%0%0%0%5
68.8%33.4%15.2%51.4%0%0%0%6
68.8%33.4%15.2%51.4%0%0%0%7
71.1%34.6%14.1%51.4%0%0%0%8
71.5%34.8%13.9%51.4%0%0%0%9
72.9%35.4%13.2%51.4%0%0%0%10
73.1%35.6%13.1%51.4%0%0%0%11
73.9%35.9%12.7%51.4%0%0%0%12
Compiler

Compiled 28 to 20 computations (28.6% saved)

sample1.6s (73.8%)

Results
847.0ms6398×body256valid
314.0ms781×body2048valid
204.0ms556×body1024valid
134.0ms269×body4096valid
56.0ms252×body512valid
Bogosity

preprocess278.0ms (13.1%)

Algorithm
egg-herbie
Rules
629×fma-def
320×associate-*r*
251×*-commutative
147×distribute-lft-in
139×associate-+r+
Problems
130×No Errors
69×(sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))
35×(+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))
22×(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
048458
1116442
2216422
3462414
4961414
51523414
62487414
72884414
83297414
93502414
103546414
113669414
123670414
Stop Event
saturated
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 (neg.f64 p)) (neg.f64 p)) (*.f64 x x)))))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (neg.f64 x) (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 (neg.f64 x) (neg.f64 x))))))))
(neg.f64 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 (neg.f64 p)) (neg.f64 p)) (*.f64 x x))))))))
(neg.f64 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (neg.f64 x) (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 (neg.f64 x) (neg.f64 x)))))))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 p (sqrt.f64 (+.f64 (*.f64 (*.f64 4 x) x) (*.f64 p p)))))))
Outputs
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 (fma.f64 (*.f64 4 p) p (*.f64 x x)))) 1/2)))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))))))
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 x x)))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 (fma.f64 (*.f64 4 p) p (*.f64 x x)))) 1/2)))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))))))
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 (neg.f64 p)) (neg.f64 p)) (*.f64 x x)))))))
(sqrt.f64 (+.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 (fma.f64 (*.f64 4 p) p (*.f64 x x)))) 1/2)))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))))))
(sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (neg.f64 x) (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 (neg.f64 x) (neg.f64 x))))))))
(sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 (neg.f64 x) (sqrt.f64 (fma.f64 (*.f64 4 p) p (*.f64 x x)))))))
(sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))))))
(sqrt.f64 (+.f64 1/2 (/.f64 (*.f64 x -1/2) (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p)))))))
(sqrt.f64 (fma.f64 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) -1/2 1/2))
(sqrt.f64 (fma.f64 x (/.f64 -1/2 (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2))
(neg.f64 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (+.f64 (*.f64 (*.f64 4 (neg.f64 p)) (neg.f64 p)) (*.f64 x x))))))))
(neg.f64 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 x (sqrt.f64 (fma.f64 (*.f64 4 (neg.f64 p)) (neg.f64 p) (*.f64 x x))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p)))))))))
(neg.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2)))
(neg.f64 (sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 (neg.f64 x) (sqrt.f64 (+.f64 (*.f64 (*.f64 4 p) p) (*.f64 (neg.f64 x) (neg.f64 x)))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (*.f64 1/2 (/.f64 (neg.f64 x) (sqrt.f64 (fma.f64 (*.f64 4 p) p (*.f64 x x))))))))
(neg.f64 (sqrt.f64 (*.f64 1/2 (-.f64 1 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p)))))))))
(neg.f64 (sqrt.f64 (+.f64 1/2 (/.f64 (*.f64 x -1/2) (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))))))
(neg.f64 (sqrt.f64 (fma.f64 (/.f64 x (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) -1/2 1/2)))
(neg.f64 (sqrt.f64 (fma.f64 x (/.f64 -1/2 (sqrt.f64 (fma.f64 x x (*.f64 4 (*.f64 p p))))) 1/2)))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 p (sqrt.f64 (+.f64 (*.f64 (*.f64 4 x) x) (*.f64 p p)))))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 p (sqrt.f64 (fma.f64 (*.f64 x 4) x (*.f64 p p)))))))
(sqrt.f64 (*.f64 1/2 (+.f64 1 (/.f64 p (sqrt.f64 (fma.f64 x (*.f64 x 4) (*.f64 p p)))))))
(sqrt.f64 (fma.f64 1/2 (/.f64 p (sqrt.f64 (fma.f64 x (*.f64 x 4) (*.f64 p p)))) 1/2))
Symmetry

(abs p)

Compiler

Compiled 97 to 56 computations (42.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...