quad2p (problem 3.2.1, positive)

Time bar (total: 2.4s)

analyze135.0ms (5.6%)

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
42.6%40.6%54.6%0.1%0%4.7%0%7
51.2%48.4%46%0.1%0%5.5%0%8
54.5%49.9%41.7%0.1%0%8.2%0%9
60.2%53.4%35.3%0.1%0%11.1%0%10
67.6%58.7%28.2%0.1%0%13%0%11
71.4%60.6%24.2%0.1%0%15.1%0%12
Compiler

Compiled 17 to 11 computations (35.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 61.0ms
ival-mult: 19.0ms (31% of total)
ival-sub: 10.0ms (16.3% of total)
ival-sqrt: 10.0ms (16.3% of total)
ival-div: 8.0ms (13% of total)
ival-add: 7.0ms (11.4% of total)
ival-neg: 7.0ms (11.4% of total)
const: 1.0ms (1.6% of total)

sample1.8s (76.5%)

Results
463.0ms5764×256valid
336.0ms1026×2048valid
275.0ms376×512valid
172.0ms708×1024valid
164.0ms382×4096valid
88.0ms1133×256invalid
Precisions
Click to see histograms. Total time spent on operations: 1.0s
ival-sqrt: 374.0ms (36.2% of total)
ival-mult: 227.0ms (22% of total)
ival-div: 137.0ms (13.3% of total)
ival-sub: 103.0ms (10% of total)
ival-neg: 93.0ms (9% of total)
ival-add: 86.0ms (8.3% of total)
const: 12.0ms (1.2% of total)
Bogosity

preprocess236.0ms (9.8%)

Algorithm
egg-herbie
Rules
1003×fma-neg
508×div-sub
395×times-frac
264×fma-define
223×associate-/r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055631
1136579
2281571
3777571
42087571
53954571
64998571
75251571
85344571
95376571
105392571
115392571
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 (neg.f64 a) c)))) (neg.f64 a))
(/.f64 (+.f64 (neg.f64 (neg.f64 b_2)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b_2) (neg.f64 b_2)) (*.f64 a c)))) a)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a (neg.f64 c))))) a)
(neg.f64 (/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 (neg.f64 a) c)))) (neg.f64 a)))
(neg.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 b_2)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b_2) (neg.f64 b_2)) (*.f64 a c)))) a))
(neg.f64 (/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a (neg.f64 c))))) a))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b_2 c)))) b_2)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 c a)))) c)
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 a b_2)))) a)
Outputs
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 (neg.f64 a) c)))) (neg.f64 a))
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (+.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (neg.f64 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 a c))) b_2) (neg.f64 a))
(/.f64 (-.f64 b_2 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 a c)))) a)
(/.f64 (+.f64 (neg.f64 (neg.f64 b_2)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b_2) (neg.f64 b_2)) (*.f64 a c)))) a)
(/.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a (neg.f64 c))))) a)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (+.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 a c))) b_2) a)
(neg.f64 (/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 (neg.f64 a) c)))) (neg.f64 a)))
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (+.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 a c))) b_2) a)
(neg.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 b_2)) (sqrt.f64 (-.f64 (*.f64 (neg.f64 b_2) (neg.f64 b_2)) (*.f64 a c)))) a))
(/.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (neg.f64 a))
(neg.f64 (/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a (neg.f64 c))))) a))
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (+.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (neg.f64 a))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 a c))) b_2) (neg.f64 a))
(/.f64 (-.f64 b_2 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 a c)))) a)
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b_2 c)))) b_2)
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 (neg.f64 b_2) c))) a) b_2)
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b_2 c))) a) b_2)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 c a)))) c)
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) c)
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) c)
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 a b_2)))) a)
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b_2 a)))) a)
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b_2 a))) c) a)
(/.f64 (-.f64 (sqrt.f64 (fma.f64 (neg.f64 b_2) a (*.f64 c c))) c) a)

explain150.0ms (6.3%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1090-0-(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
620-0-(+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
100-0-(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
50-0-(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
00-0-c
00-0-(*.f64 a c)
00-0-b_2
00-0-(neg.f64 b_2)
00-0-a
00-0-(*.f64 b_2 b_2)
Results
35.0ms356×256valid
20.0ms52×2048valid
14.0ms32×512valid
13.0ms28×4096valid
12.0ms44×1024valid
Compiler

Compiled 124 to 32 computations (74.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 51.0ms
ival-mult: 13.0ms (25.5% of total)
ival-sqrt: 12.0ms (23.5% of total)
ival-div: 11.0ms (21.6% of total)
ival-neg: 5.0ms (9.8% of total)
ival-sub: 5.0ms (9.8% of total)
ival-add: 5.0ms (9.8% of total)
const: 1.0ms (2% of total)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
51.1%
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
sub-neg
*-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01757
12853
24153
34853
45253
55353
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
Outputs
(/.f64 (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 15 to 9 computations (40% saved)

preprocess39.0ms (1.6%)

Compiler

Compiled 246 to 90 computations (63.4% saved)

end0.0ms (0%)

Profiling

Loading profile data...