Quadratic roots, narrow range

Time bar (total: 6.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze252.0ms (3.9%)

Memory
2.0MiB 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)

sample54.0ms (0.8%)

Memory
4.7MiB live, 20.3MiB allocated
Samples
21.0ms184×0valid
13.0ms76×1valid
6.0ms44×0invalid
Precisions
Click to see histograms. Total time spent on operations: 32.0ms
const: 9.0ms (28.4% of total)
ival-mult: 7.0ms (22.1% of total)
ival-<: 4.0ms (12.6% of total)
adjust: 2.0ms (6.3% of total)
ival-div: 2.0ms (6.3% of total)
ival-sub: 2.0ms (6.3% of total)
ival-sqrt: 2.0ms (6.3% of total)
ival-add: 2.0ms (6.3% of total)
ival-and: 1.0ms (3.2% of total)
ival-neg: 1.0ms (3.2% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain6.1s (93.2%)

Memory
23.7MiB live, 3 614.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2270-6(0.00011380803658570702 1.0728625711197546 91.0178532750711)(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))
10-1(0.0002426979642246273 0.00026828573343315644 7.31445396195583e-5)(-.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 #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))))cancellation22115
Confusion
Predicted +Predicted -
+2217
-028
Precision
1.0
Recall
0.9692982456140351
Confusion?
Predicted +Predicted MaybePredicted -
+22170
-0919
Precision?
0.9620253164556962
Recall?
1.0
Freqs
test
numberfreq
035
1221
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
29.0625
Average Time
0.113525390625
Samples
1.3s15 750×0valid
1.1s7 290×1valid
Compiler

Compiled 10 395 to 2 700 computations (74% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.5s
ival-mult: 519.0ms (35.3% of total)
ival-sqrt: 206.0ms (14% of total)
ival-div: 189.0ms (12.9% of total)
ival-sub: 145.0ms (9.9% of total)
ival-add: 133.0ms (9% of total)
adjust: 130.0ms (8.8% of total)
ival-neg: 100.0ms (6.8% of total)
exact: 22.0ms (1.5% of total)
ival-true: 18.0ms (1.2% of total)
ival-assert: 8.0ms (0.5% of total)

preprocess118.0ms (1.8%)

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
58.1%
(/.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)

simplify20.0ms (0.3%)

Memory
2.3MiB 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.5MiB live, 0.5MiB allocated
Compiler

Compiled 66 to 54 computations (18.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...