Quadratic roots, narrow range

Time bar (total: 2.4s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze253.0ms (10.4%)

Memory
0.5MiB live, 88.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
0%0%0%100%0%0%0%1
0%0%0%100%0%0%0%2
0%0%0%100%0%0%0%3
0%0%0%100%0%0%0%4
0%0%0%100%0%0%0%5
0%0%0%100%0%0%0%6
0%0%0%100%0%0%0%7
2.3%0%0%100%0%0%0%8
11.3%0%0%100%0%0%0%9
21.1%0%0%100%0%0%0%10
28%0%0%100%0%0%0%11
40.1%0%0%100%0%0%0%12
Compiler

Compiled 41 to 28 computations (31.7% saved)

sample67.0ms (2.8%)

Memory
0.3MiB live, 23.0MiB allocated
Samples
37.0ms187×1valid
9.0ms73×0valid
6.0ms48×0invalid
Precisions
Click to see histograms. Total time spent on operations: 40.0ms
const: 9.0ms (22.2% of total)
ival-mult: 9.0ms (22.2% of total)
adjust: 5.0ms (12.4% of total)
ival-<: 4.0ms (9.9% of total)
ival-div: 3.0ms (7.4% of total)
ival-sub: 3.0ms (7.4% of total)
ival-sqrt: 3.0ms (7.4% of total)
ival-add: 2.0ms (4.9% of total)
ival-and: 1.0ms (2.5% of total)
ival-neg: 1.0ms (2.5% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain2.0s (80.6%)

Memory
11.3MiB live, 1 028.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2352(1.013345254137633e-5 0.0002945469999378134 5.656686782426445e-5)2(7.147505800425122e-7 0.0007168720867580294 0.006384072951841668)(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))
00-0-a
00-0-#s(literal 4 binary64)
00-0-(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))
00-0-(*.f64 (*.f64 #s(literal 4 binary64) a) c)
00-0-(*.f64 b b)
00-0-(*.f64 #s(literal 2 binary64) a)
00-0-c
00-0-#s(literal 2 binary64)
00-0-(neg.f64 b)
00-0-(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))
00-0-(*.f64 #s(literal 4 binary64) a)
00-0-b
00-0-(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))cancellation2359
Confusion
Predicted +Predicted -
+2353
-018
Precision
1.0
Recall
0.9873949579831933
Confusion?
Predicted +Predicted MaybePredicted -
+23530
-0612
Precision?
0.9754098360655737
Recall?
1.0
Freqs
test
numberfreq
021
1235
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
39.569091796875
Average Time
0.15456676483154297
Samples
758.0ms4 512×1valid
142.0ms1 632×0valid
Compiler

Compiled 2 772 to 720 computations (74% saved)

Precisions
Click to see histograms. Total time spent on operations: 587.0ms
ival-mult: 192.0ms (32.7% of total)
adjust: 119.0ms (20.3% of total)
ival-div: 69.0ms (11.8% of total)
ival-sqrt: 69.0ms (11.8% of total)
ival-sub: 50.0ms (8.5% of total)
ival-add: 47.0ms (8% of total)
ival-neg: 26.0ms (4.4% of total)
exact: 6.0ms (1% of total)
ival-true: 5.0ms (0.9% of total)
ival-assert: 2.0ms (0.3% of total)

preprocess122.0ms (5%)

Memory
2.6MiB live, 10.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054158
1162144
2463144
31233144
43210144
56057144
01417
02317
14016
27716
316016
424016
538116
666216
7112916
8224316
9251916
10262916
11268416
12268516
13268516
14269116
0269115
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))
(*.f64 (/.f64 #s(literal 1/2 binary64) a) (-.f64 (sqrt.f64 (fma.f64 (*.f64 #s(literal -4 binary64) c) a (*.f64 b b))) b))
Compiler

Compiled 17 to 14 computations (17.6% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
52.4%
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))
Compiler

Compiled 34 to 28 computations (17.6% saved)

simplify28.0ms (1.2%)

Memory
-7.5MiB live, 18.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01417
12716
24616
35716
46516
56816
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a))
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a #s(literal 4 binary64))))) b) (*.f64 #s(literal 2 binary64) a))

soundness0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Stop Event
fuel
Compiler

Compiled 16 to 13 computations (18.8% saved)

preprocess1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 66 to 54 computations (18.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...