Quadratic roots, full range

Time bar (total: 2.0s)

analyze123.0ms (6.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
25%25%74.9%0.1%0%0%0%4
37.5%37.4%62.4%0.1%0%0%0%5
37.5%37.4%62.4%0.1%0%0%0%6
40%37.4%56.2%0.1%0%6.2%0%7
48.3%45.2%48.4%0.1%0%6.2%0%8
53%48.4%42.9%0.1%0%8.6%0%9
58.1%50.3%36.3%0.1%0%13.3%0%10
66.1%56.8%29.1%0.1%0%14%0%11
70.4%58.8%24.7%0.1%0%16.4%0%12
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample1.7s (83.5%)

Results
651.0ms5076×body256valid
372.0ms1054×body2048valid
199.0ms689×body1024valid
174.0ms396×body4096valid
102.0ms958×body256invalid
86.0ms673×body256infinite
74.0ms368×body512valid
Bogosity

preprocess208.0ms (10.4%)

Algorithm
egg-herbie
Rules
551×fma-def
521×div-sub
451×associate-*r/
297×associate-/r*
274×associate-/l/
Problems
110×No Errors
82×(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
54×(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
10×(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
065779
1178675
2457671
31211671
43360671
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 (neg.f64 a)) c)))) (*.f64 2 (neg.f64 a)))
(/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) (neg.f64 c))))) (*.f64 2 a))
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 (neg.f64 a)) c)))) (*.f64 2 (neg.f64 a))))
(neg.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) (neg.f64 c))))) (*.f64 2 a)))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c)))) (*.f64 2 b))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a)))) (*.f64 2 c))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b)))) (*.f64 2 a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) b) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) b) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 (neg.f64 a)) c)))) (*.f64 2 (neg.f64 a)))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 (neg.f64 a)))))) (neg.f64 (*.f64 a 2)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 4 (*.f64 a c)))) b) (*.f64 a -2))
(*.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 4 c)))) b) a) -1/2)
(*.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 4 c))))) a) 1/2)
(/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
(/.f64 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 a 2))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (*.f64 a 2))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (*.f64 a 2))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (*.f64 a 2))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) (neg.f64 c))))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) (neg.f64 c))))) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 4 (*.f64 a c)))) b) (*.f64 a 2))
(*.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 4 c))))) a) -1/2)
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 (neg.f64 a)) c)))) (*.f64 2 (neg.f64 a))))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) (neg.f64 c))))) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 4 (*.f64 a c)))) b) (*.f64 a 2))
(*.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 4 c))))) a) -1/2)
(neg.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(/.f64 (neg.f64 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (*.f64 a 2))
(/.f64 (neg.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 a 2))
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
(*.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) a) -1/2)
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) (neg.f64 c))))) (*.f64 2 a)))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 (neg.f64 a)))))) (neg.f64 (*.f64 a 2)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 4 (*.f64 a c)))) b) (*.f64 a -2))
(*.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 4 c)))) b) a) -1/2)
(*.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 4 c))))) a) 1/2)
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c)))) (*.f64 2 b))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 c (*.f64 b 4))))) (*.f64 b 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b -4)))) a) (*.f64 b 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 b (*.f64 c -4)))) a) (*.f64 b 2))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a)))) (*.f64 2 c))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 4 c))))) (*.f64 c 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) b) (*.f64 c 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (*.f64 c 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 c 2))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 4 a))))) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a -4)))) c) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c))) c) (*.f64 a 2))
Compiler

Compiled 74 to 39 computations (47.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...