Quadratic roots, full range

Time bar (total: 7.1s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze111.0ms (1.6%)

Memory
3.5MiB live, 42.9MiB allocated
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 19 to 16 computations (15.8% saved)

sample39.0ms (0.6%)

Memory
-1.6MiB live, 14.0MiB allocated
Samples
12.0ms168×0valid
8.0ms48×2valid
6.0ms41×1valid
2.0ms34×0invalid
1.0ms3valid
Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-mult: 7.0ms (33.2% of total)
ival-div: 3.0ms (14.2% of total)
ival-sqrt: 3.0ms (14.2% of total)
ival-sub: 2.0ms (9.5% of total)
adjust: 2.0ms (9.5% of total)
ival-add: 2.0ms (9.5% of total)
ival-neg: 1.0ms (4.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain6.8s (95.9%)

Memory
-42.5MiB live, 3 818.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1060-0-(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))
630-0-(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))
171(-4.421177175861095e-191 4.7209775310393145e+202 -3.247608922724854e-121)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))
20-0-(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))
00-0-a
00-0-#s(literal 4 binary64)
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
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))oflow-rescue990
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))overflow99
(*.f64 (*.f64 #s(literal 4 binary64) a) c)overflow21
(*.f64 b b)overflow82
+.f64(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))cancellation630
/.f64(/.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))u/n170
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))underflow7
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))underflow28
(*.f64 (*.f64 #s(literal 4 binary64) a) c)underflow39
(*.f64 b b)underflow40
sqrt.f64(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))uflow-rescue70
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))underflow7
(*.f64 (*.f64 #s(literal 4 binary64) a) c)underflow39
(*.f64 b b)underflow40
-.f64(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))nan-rescue20
(*.f64 b b)overflow82
(*.f64 (*.f64 #s(literal 4 binary64) a) c)overflow21
/.f64(/.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))o/n10
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))overflow99
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))overflow1
(*.f64 (*.f64 #s(literal 4 binary64) a) c)overflow21
(*.f64 b b)overflow82
Confusion
Predicted +Predicted -
+1300
-20106
Precision
0.8666666666666667
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+13000
-200106
Precision?
0.8666666666666667
Recall?
1.0
Freqs
test
numberfreq
0106
1112
237
31
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
32.24853515625
Average Time
0.12597084045410156
Samples
1.3s15 030×0valid
922.0ms4 410×2valid
515.0ms3 420×1valid
48.0ms180×3valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 1.7s
ival-mult: 546.0ms (32% of total)
ival-sqrt: 257.0ms (15% of total)
ival-div: 224.0ms (13.1% of total)
adjust: 218.0ms (12.8% of total)
ival-sub: 163.0ms (9.5% of total)
ival-add: 160.0ms (9.4% of total)
ival-neg: 95.0ms (5.6% of total)
exact: 21.0ms (1.2% of total)
ival-true: 16.0ms (0.9% of total)
ival-assert: 8.0ms (0.5% of total)

preprocess115.0ms (1.6%)

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

simplify24.0ms (0.3%)

Memory
-6.6MiB 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...