Cubic critical

Time bar (total: 4.7s)

analyze206.0ms (4.3%)

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)

Precisions
Click to see histograms. Total time spent on operations: 106.0ms
Operation ival-mult, time spent: 53.0ms, 50.0% of total-time
Operation ival-sqrt, time spent: 17.0ms, 16.0% of total-time
Operation ival-sub, time spent: 13.0ms, 12.0% of total-time
Operation ival-div, time spent: 8.0ms, 8.0% of total-time
Operation ival-add, time spent: 7.0ms, 7.0% of total-time
Operation ival-neg, time spent: 7.0ms, 7.0% of total-time
Operation const, time spent: 2.0ms, 2.0% of total-time

sample1.9s (39.5%)

Results
1.4s7489×0valid
153.0ms954×0invalid
134.0ms691×0infinite
22.0ms75×1valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 926.0ms
Operation ival-mult, time spent: 287.0ms, 31.0% of total-time
Operation ival-sub, time spent: 174.0ms, 19.0% of total-time
Operation ival-add, time spent: 167.0ms, 18.0% of total-time
Operation ival-sqrt, time spent: 128.0ms, 14.0% of total-time
Operation ival-div, time spent: 82.0ms, 9.0% of total-time
Operation ival-neg, time spent: 58.0ms, 6.0% of total-time
Operation const, time spent: 30.0ms, 3.0% of total-time
Bogosity

preprocess1.5s (31.1%)

Algorithm
egg-herbie
Rules
1524×fma-def
970×distribute-lft-neg-in
798×associate-/r*
710×associate-*l/
678×sub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-b
00-0-(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
00-0-(*.f64 3 a)
00-0-(*.f64 (*.f64 3 a) c)
00-0-(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
00-0-(neg.f64 b)
00-0-c
00-0-(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
00-0-(*.f64 b b)
00-0-3
00-0-(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
00-0-a
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
060779
1173675
2466671
31253671
43566671
57143671
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 (neg.f64 a)) c)))) (*.f64 3 (neg.f64 a)))
(/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) (neg.f64 c))))) (*.f64 3 a))
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 (neg.f64 a)) c)))) (*.f64 3 (neg.f64 a))))
(neg.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)))
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) (neg.f64 c))))) (*.f64 3 a)))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 3 b) c)))) (*.f64 3 b))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 c) a)))) (*.f64 3 c))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 3 a) b)))) (*.f64 3 a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 (neg.f64 a)) c)))) (*.f64 3 (neg.f64 a)))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 3 (neg.f64 a)))))) (*.f64 3 (neg.f64 a)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c)))) b) (*.f64 a -3))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c))))) (*.f64 3 a))
(*.f64 (/.f64 -1/3 a) (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c)))) b))
(/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (*.f64 3 a))
(*.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) a) 1/3)
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) (neg.f64 c))))) (*.f64 3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 a (neg.f64 c)))))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c)))) b) (*.f64 3 a))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c))))) (*.f64 a -3))
(*.f64 (/.f64 1/3 a) (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c)))) b))
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 (neg.f64 a)) c)))) (*.f64 3 (neg.f64 a))))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 a (neg.f64 c)))))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c)))) b) (*.f64 3 a))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c))))) (*.f64 a -3))
(*.f64 (/.f64 1/3 a) (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c)))) b))
(neg.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 b)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)))
(/.f64 (neg.f64 (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
(/.f64 (neg.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))))) (*.f64 3 a))
(*.f64 -1/3 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) a))
(*.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) a) -1/3)
(neg.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) (neg.f64 c))))) (*.f64 3 a)))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 3 (neg.f64 a)))))) (*.f64 3 (neg.f64 a)))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c)))) b) (*.f64 a -3))
(/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c))))) (*.f64 3 a))
(*.f64 (/.f64 -1/3 a) (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 3 c)))) b))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 3 b) c)))) (*.f64 3 b))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 3 (*.f64 b c))))) (*.f64 b 3))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b -3)))) a) (*.f64 b 3))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 b (*.f64 c -3)))) a) (*.f64 b 3))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 c -3) (*.f64 a a))) a) (*.f64 b 3))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 c) a)))) (*.f64 3 c))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 3 c))))) (*.f64 3 c))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 3 c))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 3 a) b)))) (*.f64 3 a))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 3 a))))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 c c (*.f64 -3 (*.f64 b a)))) c) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 c c (*.f64 (*.f64 b a) -3))) c) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 a -3) (*.f64 c c))) c) (*.f64 3 a))
Compiler

Compiled 160 to 86 computations (46.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0s
Operation ival-mult, time spent: 337.0ms, 33.0% of total-time
Operation ival-sub, time spent: 326.0ms, 32.0% of total-time
Operation ival-sqrt, time spent: 170.0ms, 16.0% of total-time
Operation ival-add, time spent: 119.0ms, 12.0% of total-time
Operation ival-div, time spent: 36.0ms, 3.0% of total-time
Operation const, time spent: 26.0ms, 3.0% of total-time
Operation ival-neg, time spent: 18.0ms, 2.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 18 to 12 computations (33.3% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
66.3%
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 3 a))
66.3%
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 38 to 26 computations (31.6% saved)

localize1.1s (24.1%)

Compiler

Compiled 129 to 69 computations (46.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 890.0ms
Operation ival-mult, time spent: 347.0ms, 39.0% of total-time
Operation ival-sub, time spent: 177.0ms, 20.0% of total-time
Operation ival-sqrt, time spent: 153.0ms, 17.0% of total-time
Operation ival-fma, time spent: 83.0ms, 9.0% of total-time
Operation ival-add, time spent: 65.0ms, 7.0% of total-time
Operation ival-div, time spent: 28.0ms, 3.0% of total-time
Operation const, time spent: 26.0ms, 3.0% of total-time
Operation ival-neg, time spent: 11.0ms, 1.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune5.0ms (0.1%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done000
Total022
Accuracy
66.3%
Counts
2 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
66.3%
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 3 a))
66.3%
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 73 to 49 computations (32.9% saved)

regimes16.0ms (0.3%)

Accuracy

Total -0.0b remaining (-0.1%)

Threshold costs -0b (-0.1%)

Counts
2 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 3 a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Calls

5 calls:

4.0ms
a
3.0ms
(*.f64 3 a)
3.0ms
b
3.0ms
c
2.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Results
AccuracySegmentsBranch
66.3%1a
66.3%1b
66.3%1c
66.3%1(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
66.3%1(*.f64 3 a)
Compiler

Compiled 38 to 28 computations (26.3% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
16×+-commutative
16×*-commutative
14×sub-neg
12×neg-mul-1
12×neg-sub0
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01969
13165
25065
36165
46965
57265
Stop Event
done
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
Compiler

Compiled 19 to 13 computations (31.6% saved)

soundness0.0ms (0%)

end0.0ms (0%)

preprocess26.0ms (0.5%)

Compiler

Compiled 78 to 54 computations (30.8% saved)

Profiling

Loading profile data...