jeff quadratic root 1

Details

Time bar (total: 5.9s)

analyze2.2s (36.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%199.7%-99.7%0%0%0%1
0%0%399.4%-299.4%0%0%0%2
0%0%798.8%-698.8%0%0%0%3
0%0%1597.7%-1497.7%0%0%0%4
0%0%3195.3%-3095.3%0%0%0%5
0%0%6390.6%-6290.6%0%0%0%6
0%0%12781.3%-12681.3%0%0%0%7
0%0%25562.5%-25462.5%0%0%0%8
0%0%51125%-51025%0%0%0%9
0%0%102250.1%-102150.1%0%0%0%10
0%0%204500.1%-204400.1%0%0%0%11
0%0%409000.3%-408900.3%0%0%0%12
Compiler

Compiled 42 to 27 computations (35.7% saved)

sample3.5s (59.7%)

Results
2.5s7543×body256valid
770.0ms2864×body256invalid
267.0ms713×body256infinite
Bogosity

preprocess91.0ms (1.5%)

Algorithm
egg-herbie
Rules
1154×associate-/l*
1146×associate-/r*
1138×div-sub
982×fma-neg
878×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059444
1148396
2414396
3943380
41726380
53260380
67715380
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)) (/.f64 (*.f64 2 c) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))))
(if (>=.f64 a 0) (/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c)))) (*.f64 2 b)) (/.f64 (*.f64 2 c) (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c))))))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a)))) (*.f64 2 c)) (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a))))))
(if (>=.f64 c 0) (/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b)))) (*.f64 2 a)) (/.f64 (*.f64 2 b) (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b))))))
Outputs
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)) (/.f64 (*.f64 2 c) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 a 2)) (/.f64 (*.f64 c 2) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (*.f64 a 2)) (*.f64 (/.f64 2 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) c))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (*.f64 a 2)) (*.f64 c (/.f64 2 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))))
(if (>=.f64 b 0) (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) a)) (*.f64 c (/.f64 2 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))))
(if (>=.f64 b 0) (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) (*.f64 -2 (/.f64 c (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))
(if (>=.f64 b 0) (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a)) (*.f64 c (/.f64 -2 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))
(if (>=.f64 a 0) (/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c)))) (*.f64 2 b)) (/.f64 (*.f64 2 c) (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c))))))
(if (>=.f64 a 0) (/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 c (*.f64 b 4))))) (*.f64 b 2)) (/.f64 (*.f64 c 2) (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 c (*.f64 b 4)))))))
(if (>=.f64 a 0) (/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b -4))))) (*.f64 b 2)) (*.f64 (/.f64 2 (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b -4)))) a)) c))
(if (>=.f64 a 0) (/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (fma.f64 a a (*.f64 b (*.f64 c -4))))) (*.f64 b 2)) (*.f64 (/.f64 c (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 b (*.f64 c -4)))) a)) 2))
(if (>=.f64 a 0) (*.f64 -1/2 (/.f64 (+.f64 a (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a)))) b)) (*.f64 2 (/.f64 c (-.f64 (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a))) a))))
(if (>=.f64 a 0) (*.f64 -1/2 (/.f64 (+.f64 a (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a)))) b)) (/.f64 (*.f64 c -2) (-.f64 a (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a))))))
(if (>=.f64 a 0) (*.f64 -1/2 (/.f64 (+.f64 a (sqrt.f64 (fma.f64 a a (*.f64 b (*.f64 c -4))))) b)) (/.f64 (*.f64 c 2) (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 b (*.f64 c -4)))) a)))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a)))) (*.f64 2 c)) (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a))))))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (*.f64 c 2)) (/.f64 (*.f64 a 2) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (*.f64 c 2)) (*.f64 (/.f64 2 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) a))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (*.f64 c 2)) (/.f64 (*.f64 a 2) (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)))
(if (>=.f64 b 0) (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) c)) (/.f64 (*.f64 a 2) (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)))
(if (>=.f64 b 0) (*.f64 (/.f64 -1/2 c) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (*.f64 2 (/.f64 a (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))))
(if (>=.f64 b 0) (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 c)) (*.f64 a (/.f64 -2 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))
(if (>=.f64 c 0) (/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b)))) (*.f64 2 a)) (/.f64 (*.f64 2 b) (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b))))))
(if (>=.f64 c 0) (/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 4 a))))) (*.f64 a 2)) (/.f64 (*.f64 b 2) (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 4 a)))))))
(if (>=.f64 c 0) (/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a -4))))) (*.f64 a 2)) (/.f64 b (/.f64 (-.f64 (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a -4)))) c) 2)))
(if (>=.f64 c 0) (/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c)))) (*.f64 a 2)) (*.f64 (/.f64 b (-.f64 (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c))) c)) 2))
(if (>=.f64 c 0) (*.f64 -1/2 (/.f64 (+.f64 c (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c)))) a)) (*.f64 2 (/.f64 b (-.f64 (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c))) c))))
(if (>=.f64 c 0) (*.f64 -1/2 (/.f64 (+.f64 c (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c)))) a)) (/.f64 (*.f64 b -2) (-.f64 c (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c))))))
Compiler

Compiled 44 to 29 computations (34.1% saved)

simplify127.0ms (2.1%)

Algorithm
egg-herbie
Rules
3498×fma-def
1224×div-sub
1014×times-frac
746×sub-neg
718×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
026111
15299
212899
330995
455095
598795
6204395
7378795
8500995
9643595
10798295
Stop Event
node limit
Counts
1 → 7
Calls
Call 1
Inputs
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)) (/.f64 (*.f64 2 c) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))))
Outputs
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)) (/.f64 (*.f64 2 c) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 a 2)) (/.f64 2 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) c)))
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (*.f64 a 2)) (/.f64 c (/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) b) 2)))
(if (>=.f64 b 0) (neg.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 -4 c))))) (*.f64 a 2))) (*.f64 (/.f64 c (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 -4 c)))) b)) 2))
(if (>=.f64 b 0) (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) a)) (*.f64 2 (/.f64 c (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))))
(if (>=.f64 b 0) (*.f64 (/.f64 -1/2 a) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))))) (*.f64 c (/.f64 -2 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))))))
(if (>=.f64 b 0) (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) a)) (*.f64 c (/.f64 -2 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))))))

eval3.0ms (0.1%)

Compiler

Compiled 251 to 152 computations (39.4% saved)

prune5.0ms (0.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New437
Fresh011
Picked000
Done000
Total448
Accurracy
73.1%
Counts
8 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
73.1%
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)) (/.f64 (*.f64 2 c) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))))
72.6%
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 a 2)) (/.f64 2 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) c)))
72.9%
(if (>=.f64 b 0) (*.f64 (/.f64 -1/2 a) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))))) (*.f64 c (/.f64 -2 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))))))
73.1%
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)) (/.f64 (*.f64 2 c) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))))
72.6%
(if (>=.f64 b 0) (/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 a 2)) (/.f64 2 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) c)))
72.9%
(if (>=.f64 b 0) (*.f64 (/.f64 -1/2 a) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))))) (*.f64 c (/.f64 -2 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))))))
Compiler

Compiled 238 to 150 computations (37% saved)

localize2.0ms (0%)

Compiler

Compiled 443 to 229 computations (48.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...